@import url('https://fonts.googleapis.com/css2?family=Fraunces:opsz,wght@9..144,400;9..144,500;9..144,600&family=Inter:wght@400;500;600&family=Space+Grotesk:wght@400;500;600;700&display=swap');
:root{
  --ink-900:#081A26;--ink-800:#0A1F2E;--ink-700:#0E2839;--ink-600:#14384A;
  --emerald:#10C98D;--emerald-700:#0A7357;--emerald-050:#E6FBF4;--teal:#06D6C4;--cyan:#22D3EE;--sky:#38BDF8;--violet:#8B5CF6;--indigo:#6366F1;--pink:#EC4899;--coral:#FB6F92;--amber:#FBBF24;--lime:#84CC16;
  --brass:#B4832A;--brass-400:#C9A24B;--brass-050:#F7EFD9;
  --paper:#EEF2F4;--surface:#FFF;--surface-alt:#F1F4F6;
  --line:#E3E8EB;--line-strong:#CBD4D9;--text:#0E2231;--text-2:#4B5B67;--text-3:#8695A0;
  --b-critical:#E24B4A;--b-weak:#E67E22;--b-mid:#EFB40C;--b-good:#2ECC71;--b-great:#1E9E5A;
  --fd:"Fraunces",Georgia,serif;--fs:"Inter",system-ui,sans-serif;--fn:"Space Grotesk","Inter",sans-serif;
}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);font-family:var(--fs);color:var(--text);-webkit-font-smoothing:antialiased}
.num{font-family:var(--fn);font-variant-numeric:tabular-nums}
.wrap{max-width:640px;margin:32px auto;padding:0 18px}
.wrap-wide{max-width:960px;margin:32px auto;padding:0 18px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:16px;overflow:hidden;box-shadow:0 10px 40px rgba(10,31,46,.08)}
.hero{background:var(--ink-800);color:#EAF1F5;padding:20px 24px}
.hero .brand{display:flex;align-items:center;gap:11px}
.hero .m{width:32px;height:32px;border-radius:8px;background:var(--emerald);color:var(--ink-900);display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:600;font-size:14px}
.hero .name{font-family:var(--fd);font-size:16px;color:#fff}
.pad{padding:26px 24px}
h1,h2,h3{font-family:var(--fd);font-weight:500;letter-spacing:-.01em;margin:0}
.q{font-family:var(--fd);font-size:20px;font-weight:500;line-height:1.3;margin-bottom:16px}
.ey{font-size:12px;letter-spacing:.08em;text-transform:uppercase;color:var(--emerald-700);font-weight:600;margin-bottom:8px}
label{display:block;font-size:13px;color:var(--text-2);margin-bottom:7px;font-weight:500}
input,select,textarea{width:100%;border:1px solid var(--line-strong);border-radius:8px;padding:11px 13px;font-size:15px;color:var(--text);background:var(--surface);font-family:var(--fs);outline:none}
textarea{resize:vertical;line-height:1.45;min-height:44px}
input.num{font-family:var(--fn)}
input:focus,select:focus,textarea:focus{border-color:var(--emerald);box-shadow:0 0 0 3px var(--emerald-050)}
.btn{display:inline-flex;align-items:center;gap:7px;font-size:15px;font-weight:500;border-radius:8px;padding:12px 22px;border:1px solid var(--line-strong);background:var(--surface);color:var(--text);cursor:pointer}
.btn.prim{background:var(--emerald);border-color:var(--emerald);color:#04211B}
.btn.ink{background:var(--ink-800);border-color:var(--ink-800);color:#fff}
.btn:disabled{opacity:.5;cursor:not-allowed}
.seg{display:flex;gap:10px}
.seg .opt{flex:1;text-align:center;padding:14px 10px;border-radius:12px;border:1px solid var(--line);cursor:pointer;background:var(--surface)}
.seg .opt.on{border:2px solid var(--emerald);background:var(--emerald-050);color:var(--emerald-700);font-weight:600}
.seg .opt .v{font-size:12px;color:var(--text-3);font-family:var(--fn);margin-top:3px}
.chip{display:inline-block;font-size:12px;font-weight:500;padding:3px 12px;border-radius:20px}
.c-Kritik{background:#FBE9E9;color:#A32D2D}.c-Zayıf{background:#FBEEE2;color:#B45D0E}
.c-Orta{background:#FCF4D6;color:#8A6A05}.c-İyi{background:#E7F7EE;color:#1E7A45}.c-Çok\ İyi{background:#E1F3E9;color:#166B3A}
.branch{display:flex;align-items:center;gap:11px;background:var(--brass-050);border-radius:8px;padding:11px 14px;font-size:13px;color:var(--text-2);margin-top:10px}
.branch .ic{width:24px;height:24px;flex:none;border-radius:7px;background:var(--brass);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--fn);font-weight:700;font-size:13px}
.qblock{padding:18px 0;border-bottom:1px solid var(--line)}
.qblock.off{opacity:.4}
.qid{font-family:var(--fn);font-size:12px;color:var(--text-3);background:var(--surface-alt);padding:2px 8px;border-radius:5px;margin-right:8px}
.muted{color:var(--text-3);font-size:13px}
.rec{display:flex;gap:11px;padding:12px 0;border-bottom:1px solid var(--line)}
.rec .bar{width:4px;flex:none;border-radius:2px;background:var(--b-weak)}
.right{text-align:right}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-size:12px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);font-weight:600;padding:9px 8px;border-bottom:1px solid var(--line)}
td{padding:11px 8px;border-bottom:1px solid var(--line);vertical-align:middle}
.tune{background:var(--brass-050);border:1px solid #EAD9AE;border-radius:10px;padding:14px 16px;margin-top:8px}
/* admin editor */
.tabs{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:20px;border-bottom:1px solid var(--line)}
.tab{padding:9px 15px;font-size:14px;font-weight:500;color:var(--text-2);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}
.tab.on{color:var(--emerald-700);border-bottom-color:var(--emerald)}
.btn.sm{padding:7px 13px;font-size:13px;border-radius:7px}
.btn.danger{color:var(--b-critical);border-color:#Ebc4c4}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.grid3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px}
.field{margin-bottom:12px}
.field label{margin-bottom:5px}
.field .hint{font-size:11px;color:var(--text-3);margin-top:3px}
.qrow{border:1px solid var(--line);border-radius:10px;padding:12px 14px;margin-bottom:10px}
.qrow.off{opacity:.55}
.qrow .qtop{display:flex;justify-content:space-between;align-items:center;gap:10px}
.editor{background:var(--surface-alt);border:1px solid var(--line);border-radius:10px;padding:16px;margin-top:10px}
.slist{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}
.spill{padding:8px 14px;border:1px solid var(--line-strong);border-radius:8px;cursor:pointer;font-size:14px;background:var(--surface)}
.spill.on{border-color:var(--emerald);background:var(--emerald-050);color:var(--emerald-700);font-weight:600}
.spill.disabled{opacity:.5}
@media(max-width:640px){.grid2,.grid3{grid-template-columns:1fr}}
.authhero{border-radius:12px;overflow:hidden;margin:-6px 0 22px;position:relative}
.authhero img{width:100%;height:158px;object-fit:cover;display:block}
.authhero .cap{position:absolute;left:0;right:0;bottom:0;padding:26px 16px 13px;background:linear-gradient(transparent,rgba(8,26,38,.88));color:#EAF1F5;font-family:var(--fd);font-size:16px;font-weight:500;line-height:1.3}
.subline{color:var(--text-2);font-size:14px;margin:-8px 0 18px}
/* question explanation on the questionnaire */
.why{background:var(--emerald-050);border:1px solid #CDE9E2;border-radius:10px;padding:12px 14px;margin-top:14px;font-size:13.5px;color:var(--text-2);line-height:1.5}
.why .why-h{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--emerald-700);font-weight:600;margin-bottom:4px}
.how{margin-top:10px;font-size:13.5px}
.how summary{cursor:pointer;color:var(--brass);font-weight:500;list-style:none}
.how summary::-webkit-details-marker{display:none}
.how summary::before{content:'▸ ';color:var(--brass)}
.how[open] summary::before{content:'▾ '}
.how>div{color:var(--text-2);line-height:1.5;margin-top:8px;padding-left:2px}
/* results screen */
.pillrow{display:flex;gap:10px;margin:18px 0;flex-wrap:wrap}
.pillar{flex:1 1 120px;background:var(--surface-alt);border-radius:10px;padding:12px 14px;min-width:110px}
.scard{border:1px solid var(--line);border-radius:12px;padding:14px 16px;margin-bottom:12px}
/* roadmap */
.roadmap{list-style:none;counter-reset:rm;padding:0;margin:0}
.roadmap li{counter-increment:rm;display:flex;gap:12px;padding:12px 0;border-top:1px solid var(--line)}
.roadmap li:first-child{border-top:none}
.roadmap li::before{content:counter(rm);flex:none;width:24px;height:24px;border-radius:7px;background:var(--brass);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--fn);font-weight:700;font-size:13px}
.ritem{flex:1;min-width:0}
.ritem .rhead{display:flex;justify-content:space-between;gap:10px;align-items:baseline}
.ritem .rtext{font-weight:500;font-size:14px;color:var(--text);min-width:0}
.ritem .rhow{color:var(--text-2);font-size:13px;line-height:1.5;margin-top:5px}

/* ===================================================================== */
/* CORPORATE QUARTERLY REPORT (results screen + shares look with the PDF) */
/* Ported faithfully from _reportmock.html — scoped under .rep-doc.       */
/* ===================================================================== */
.wrap.rep-mode{max-width:920px}
.card.rep-mode{background:transparent;border:none;box-shadow:none;border-radius:0;overflow:visible}
.rep-doc{
  --rp-page:#FFFFFF;--rp-panel:#F5F8F9;--rp-line:#E3E8EB;--rp-line2:#D2DADE;--rp-rule:#0B1E2B;
  --rp-text:#0E2231;--rp-text2:#4A5A66;--rp-text3:#84959F;--rp-ink:#0B1E2B;--rp-ink2:#16394B;
  --rp-em:#0F9E86;--rp-em700:#0A6E5C;--rp-em050:#E7F5F1;--rp-brass:#B4832A;
  --rp-crit:#E24B4A;--rp-weak:#E67E22;--rp-mid:#EFB40C;--rp-good:#2ECC71;--rp-great:#1E9E5A;
  background:var(--rp-page);border:1px solid var(--rp-line);
  box-shadow:0 1px 2px rgba(11,30,43,.05),0 18px 50px rgba(11,30,43,.09);
  overflow:hidden;color:var(--rp-text);line-height:1.65;font-family:var(--fs)}
.rep-doc h1,.rep-doc h2,.rep-doc h3{font-family:var(--fd);font-weight:500;letter-spacing:-.012em;margin:0}
.rep-num{font-family:var(--fn);font-variant-numeric:tabular-nums}
.rep-pad{padding:38px 52px}
.rep-rule{height:1px;background:var(--rp-line)}
.rep-rule.dk{height:2px;background:var(--rp-rule)}
.rep-eyebrow{font-family:var(--fs);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:var(--rp-text3);font-weight:600}
.rep-chip{display:inline-flex;align-items:center;font-size:11.5px;font-weight:600;padding:3px 11px;border-radius:4px;white-space:nowrap}
.rep-c-crit{background:#FBE9E9;color:#A32D2D}.rep-c-weak{background:#FBEEE2;color:#B45D0E}
.rep-c-mid{background:#FCF4D6;color:#8A6A05}.rep-c-good{background:var(--rp-em050);color:var(--rp-em700)}
.rep-c-great{background:#E1F3E9;color:#166B3A}

/* COVER image band */
.rep-cover{position:relative;height:250px}
.rep-cover>img{width:100%;height:100%;object-fit:cover;object-position:50% 32%;display:block}
.rep-cover .scrim{position:absolute;inset:0;background:linear-gradient(155deg,rgba(11,30,43,.55),rgba(11,30,43,.9))}
.rep-cover .top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:20px 32px}
.rep-cover .top .l{display:flex;align-items:center;gap:9px}
.rep-cover .top .m{width:26px;height:26px;border-radius:6px;background:var(--rp-em);color:#04211B;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-size:12px;font-weight:600}
.rep-cover .top .bn{font-family:var(--fd);font-size:14px;color:#fff}
.rep-cover .top .pd{font-family:var(--fn);font-size:11px;letter-spacing:.14em;color:#B9CBD4;text-transform:uppercase}
.rep-cover .ttl{position:absolute;left:0;right:0;bottom:0;padding:0 32px 24px}
.rep-cover .ttl .ey{font-family:var(--fs);font-size:11px;letter-spacing:.2em;text-transform:uppercase;color:#9FBAC6;font-weight:600}
.rep-cover .ttl h1{color:#fff;font-size:37px;line-height:1.05;margin:7px 0 4px}
.rep-cover .ttl .sub{color:#C7D6DC;font-size:14px}

.rep-metarow{display:flex;flex-wrap:wrap;border-bottom:1px solid var(--rp-line)}
.rep-metarow .cell{flex:1 1 25%;min-width:130px;padding:15px 0 15px 52px;border-right:1px solid var(--rp-line)}
.rep-metarow .cell:last-child{border-right:none}
.rep-metarow .k{font-size:10.5px;letter-spacing:.12em;text-transform:uppercase;color:var(--rp-text3)}
.rep-metarow .v{font-family:var(--fn);font-size:15px;font-weight:500;margin-top:3px}

.rep-exec{display:grid;grid-template-columns:auto 1fr;gap:38px;align-items:center}
.rep-ring{position:relative;width:158px;height:158px;flex:none}
.rep-ring .lbl{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center}
.rep-ring .lbl .n{font-family:var(--fd);font-size:52px;line-height:.9}
.rep-ring .lbl .u{font-size:11px;color:var(--rp-text3);margin-top:3px}
.rep-kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--rp-line);border:1px solid var(--rp-line);margin-top:20px}
.rep-kpi{background:var(--rp-page);padding:14px 16px}
.rep-kpi .k{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--rp-text3)}
.rep-kpi .v{font-family:var(--fn);font-size:26px;font-weight:600;margin:4px 0 8px}
.rep-kpi .tr{height:4px;background:var(--rp-line)}.rep-kpi .fl{height:4px;background:var(--rp-em)}
.rep-verdict h2{font-size:16px;margin-bottom:8px}.rep-verdict p{font-size:14.5px;color:var(--rp-text2);max-width:52ch}

.rep-sh{display:flex;align-items:baseline;gap:14px;margin:0 0 20px}
.rep-sh .no{font-family:var(--fn);font-size:13px;font-weight:700;color:var(--rp-em700)}
.rep-sh h2{font-size:21px}.rep-sh .rl{flex:1;height:1px;background:var(--rp-line);align-self:center}
.rep-srow{padding:18px 0;border-top:1px solid var(--rp-line)}.rep-srow:first-of-type{border-top:none}
.rep-srow .hd{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center}
.rep-srow .nm{font-family:var(--fd);font-size:16px}.rep-srow .sc{font-family:var(--fn);font-size:15px;font-weight:600}
.rep-srow .bar{height:5px;background:var(--rp-line);margin-top:12px}.rep-srow .bar>span{display:block;height:5px}
.rep-srow .fx{font-size:13.5px;color:var(--rp-text2);margin-top:10px;max-width:64ch}.rep-srow .fx b{color:var(--rp-text);font-weight:500}

.rep-rm .it{display:grid;grid-template-columns:34px 1fr auto;gap:16px;align-items:start;padding:16px 0;border-top:1px solid var(--rp-line)}
.rep-rm .it:first-child{border-top:none}
.rep-rm .it .no{font-family:var(--fd);font-size:22px;color:var(--rp-brass)}
.rep-rm .it .t{font-size:15px;font-weight:500}.rep-rm .it .h{font-size:13.5px;color:var(--rp-text2);margin-top:4px;max-width:60ch}
.rep-rm .it .im{font-family:var(--fn);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--rp-text3);text-align:right}

.rep-sector{display:grid;grid-template-columns:200px 1fr;gap:26px;align-items:start}
.rep-sector .ph{border-radius:8px;overflow:hidden;border:1px solid var(--rp-line)}
.rep-sector .ph img{width:100%;height:150px;object-fit:cover;display:block}
.rep-sector .ph .cap{font-size:10.5px;color:var(--rp-text3);padding:7px 9px;background:var(--rp-panel)}
.rep-sec-lead{font-size:14.5px;color:var(--rp-text2);max-width:60ch;margin-bottom:16px}
.rep-macro{display:grid;grid-template-columns:1fr 1fr;gap:12px}
/* Briefing macro card — small trend chart, value in the header, one-line note. */
.rep-mcard{border:1px solid var(--rp-line);border-radius:9px;padding:11px 12px 9px;background:var(--rp-page);display:flex;flex-direction:column;gap:5px}
.rep-mcard .mh{display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.rep-mcard .mh .ml{font-size:12px;font-weight:600;line-height:1.25;color:var(--rp-text)}
.rep-mcard .mh .mv{font-size:15px;font-weight:800;white-space:nowrap;color:var(--rp-em700);font-variant-numeric:tabular-nums}
.rep-mcard .mchart{width:100%;height:auto;display:block}
.rep-mcard .mnote{font-size:11px;line-height:1.45;color:var(--rp-text3)}
@media (max-width:560px){.rep-macro{grid-template-columns:1fr}}
/* Provenance for the macro block — a cited benchmark, not an assertion. */
.rep-macro-cite{margin-top:10px;font-size:11.5px;color:var(--rp-ink3,#8A8C85);line-height:1.6}
.rep-macro-cite .mc-src{font-weight:600;color:var(--rp-ink2,#5E574B);margin-bottom:3px}
.rep-macro-cite .mc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:2px}
.rep-macro-cite .mc-list a{color:inherit;text-decoration:underline;text-underline-offset:2px}
.rep-macro-cite .mc-list a:hover{color:var(--rp-ink,#1A1815)}
@media print{.rep-macro-cite .mc-list a{text-decoration:none}}
.rep-mc{background:var(--rp-page);padding:13px 14px}.rep-mc .mt{font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--rp-text3)}
.rep-mc .mv{font-family:var(--fn);font-size:20px;font-weight:600;margin:3px 0 6px}

/* 04 — AI deep-dive, restyled into the report system */
.rep-ai-note{font-size:12px;color:var(--rp-text3);margin:0 0 18px}
.rep-callout{background:var(--rp-em050);border:1px solid #CDE9E2;border-radius:10px;padding:14px 16px;margin-bottom:20px}
.rep-callout .h{font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--rp-em700);font-weight:600;margin-bottom:5px}
.rep-callout .b{font-size:14px;color:var(--rp-text2);line-height:1.6}
.rep-sub{font-family:var(--fd);font-size:16px;margin:22px 0 10px}
.rep-sug{list-style:none;padding:0;margin:0}
.rep-sug li{display:grid;grid-template-columns:26px 1fr;gap:12px;padding:13px 0;border-top:1px solid var(--rp-line)}
.rep-sug li:first-child{border-top:none}
.rep-sug .n{font-family:var(--fn);font-weight:700;color:var(--rp-em700)}
.rep-sug .t{font-size:14.5px;font-weight:600;color:var(--rp-text)}
.rep-sug .ef{display:inline-block;font-family:var(--fn);font-size:10.5px;font-weight:600;padding:1px 8px;border-radius:4px;background:var(--rp-ink2);color:#fff;margin-left:8px;letter-spacing:.03em}
.rep-sug .d{font-size:13.5px;color:var(--rp-text2);line-height:1.55;margin-top:4px}
.rep-grp{margin-top:12px}.rep-grp .gh{font-family:var(--fn);font-size:11px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;margin-bottom:5px}
.rep-grp .gi{font-size:13.5px;color:var(--rp-text2);line-height:1.5;padding:2px 0}
.rep-bench{padding:5px 0;font-size:13.5px}.rep-bench b{color:var(--rp-text)}
.rep-charts{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:14px;margin-top:12px}
.rep-actions{display:flex;gap:8px;flex-wrap:wrap;padding:0 52px 4px}
.rep-foot{padding:22px 52px 30px;display:flex;justify-content:space-between;gap:20px;flex-wrap:wrap;align-items:center}
.rep-foot .fn{font-size:11px;color:var(--rp-text3);max-width:54ch;line-height:1.5}
.rep-foot .pg{font-family:var(--fn);font-size:11px;color:var(--rp-text3)}
@media(max-width:720px){.rep-pad{padding:26px 22px}.rep-exec{grid-template-columns:1fr;gap:22px;justify-items:center;text-align:center}.rep-verdict p{max-width:none}.rep-sector{grid-template-columns:1fr}.rep-macro{grid-template-columns:1fr}.rep-metarow .cell{padding-left:22px}.rep-actions,.rep-foot{padding-left:22px;padding-right:22px}}
/* question modal + json import */
.mask{position:fixed;inset:0;background:rgba(8,26,38,.55);display:flex;align-items:flex-start;justify-content:center;padding:30px 16px;z-index:80;overflow:auto}
.modal{background:var(--surface);border-radius:14px;width:100%;max-width:660px;box-shadow:0 26px 70px rgba(8,26,38,.45);margin:auto}
.modal .mh{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:15px 20px;border-bottom:1px solid var(--line)}
.modal .mh h3{font-size:16px}
.modal .mx{background:none;border:none;font-size:22px;line-height:1;cursor:pointer;color:var(--text-3);padding:0 4px}
.modal .mb{padding:18px 20px}
.modal .mf{display:flex;gap:8px;align-items:center;flex-wrap:wrap;padding:13px 20px;border-top:1px solid var(--line);background:var(--surface-alt);border-radius:0 0 14px 14px}
.importwrap{border:1px dashed var(--line-strong);border-radius:10px;padding:14px;margin-bottom:16px;background:var(--surface-alt)}
.jsonbox{background:var(--ink-800);color:#CFE3EA;font-family:var(--fn);font-size:12px;border-radius:8px;padding:12px 14px;white-space:pre;overflow:auto;line-height:1.5;max-height:240px}

/* ============================ Brifing report ============================ */
.rep-doc.brief{max-width:900px;margin:0 auto;background:var(--rp-page);color:var(--rp-text);padding:0;border:1px solid var(--rp-line);border-radius:14px;overflow:hidden;font-family:var(--fs)}
.brief .bf-mast{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:22px 34px;border-bottom:1px solid var(--rp-line)}
.brief .bf-brand{display:flex;align-items:center;gap:11px}
.brief .bf-brand .m{width:32px;height:32px;border-radius:8px;background:var(--rp-em);color:#04211B;display:flex;align-items:center;justify-content:center;font-family:var(--fd);font-weight:700;font-size:13px}
.brief .bf-brand .bt b{display:block;font-size:15px;font-weight:700;color:var(--rp-ink)}
.brief .bf-brand .bt span{font-size:10.5px;letter-spacing:.14em;text-transform:uppercase;color:var(--rp-text3)}
.brief .bf-meta{text-align:right;font-size:12px;color:var(--rp-text2);line-height:1.6}
.brief .bf-meta b{color:var(--rp-text)}
.brief .bf-hero{display:grid;grid-template-columns:1fr 190px;gap:34px;align-items:center;padding:34px}
.brief .bf-kick{font-size:11px;font-weight:700;letter-spacing:.16em;text-transform:uppercase;color:var(--rp-brass)}
.brief .bf-hero-txt h1{font-family:var(--fd);font-size:30px;line-height:1.14;letter-spacing:-.01em;margin:10px 0 12px;color:var(--rp-ink);text-wrap:balance;font-weight:600}
.brief .bf-narr{font-size:15px;line-height:1.7;color:var(--rp-text2);max-width:60ch}
.brief .bf-narr p{margin:0}
.brief .bf-score{text-align:center}
.brief .bf-score .ring{display:flex;justify-content:center}
.brief .bf-score .rl{margin-top:6px}
.brief .bf-score .rl b{font-family:var(--fn);font-size:20px;font-weight:700;color:var(--rp-ink)}
.brief .bf-score .rl span{display:block;font-size:11.5px;color:var(--rp-text3)}
.brief .bf-dims{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--rp-line);border-bottom:1px solid var(--rp-line)}
.brief .bf-dim{padding:16px 20px;border-left:1px solid var(--rp-line)}
.brief .bf-dim:first-child{border-left:none}
.brief .bf-dim .k{font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--rp-text3)}
.brief .bf-dim .v{font-family:var(--fn);font-size:30px;font-weight:700;color:var(--rp-ink);margin:2px 0 8px;font-variant-numeric:tabular-nums}
.brief .bf-dim .tr{height:5px;border-radius:3px;background:var(--rp-line);overflow:hidden}
.brief .bf-dim .tr i{display:block;height:100%;border-radius:3px}
.brief .bf-cols{display:grid;grid-template-columns:1fr 1fr;gap:34px;padding:30px 34px}
.brief .bf-sub{font-size:12px;letter-spacing:.14em;text-transform:uppercase;color:var(--rp-em700);font-weight:700;margin:0 0 14px;padding-bottom:8px;border-bottom:1px solid var(--rp-line)}
.brief .bf-sub.sm{margin-top:20px}
.brief .bf-sug{list-style:none;counter-reset:s;padding:0;margin:0;display:flex;flex-direction:column;gap:14px}
.brief .bf-sug li{counter-increment:s;padding-left:34px;position:relative}
.brief .bf-sug li::before{content:counter(s);position:absolute;left:0;top:1px;width:24px;height:24px;border-radius:7px;background:var(--rp-em);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--fn);font-weight:700;font-size:12px}
.brief .bf-sug .t{font-weight:650;font-size:14.5px;color:var(--rp-text)}
.brief .bf-sug .ef{display:inline-block;font-family:var(--fn);font-size:10px;font-weight:600;padding:1px 8px;border-radius:5px;background:var(--rp-ink2);color:#fff;margin-left:8px;letter-spacing:.02em}
.brief .bf-sug .d{font-size:13px;color:var(--rp-text2);line-height:1.55;margin-top:4px}
.brief .bf-road{padding:0 34px 8px}
.brief .bf-foot{display:flex;justify-content:space-between;gap:16px;padding:20px 34px 26px;border-top:1px solid var(--rp-line);color:var(--rp-text3);font-size:11px;line-height:1.5}
.brief .bf-foot .fn{max-width:70ch}
.brief .rep-actions{display:flex;gap:10px;flex-wrap:wrap;padding:0 34px 22px}
.brief .bf-spin{display:flex;align-items:center;gap:12px;padding:20px;border:1px dashed var(--rp-line2);border-radius:10px;background:var(--rp-panel);color:var(--rp-text2);font-size:14px}
.brief .bf-spin .sp{width:20px;height:20px;border-radius:50%;border:2.5px solid var(--rp-line2);border-top-color:var(--rp-em);animation:bfspin .8s linear infinite;flex:none}
@keyframes bfspin{to{transform:rotate(360deg)}}
@media (prefers-reduced-motion:reduce){.brief .bf-spin .sp{animation-duration:2.4s}}
@media (max-width:760px){
  .brief .bf-hero,.brief .bf-cols{grid-template-columns:1fr}
  .brief .rep-macro{grid-template-columns:1fr 1fr}
}
/* The PDF IS this report — print the SAME two-column DOM. Chrome is removed with
   display:none (not visibility, which used to leave blank pages), and every wrapper
   is flattened so the report flows edge-to-edge from the top. */
@media print{
  @page{margin:11mm}
  html,body{background:#fff!important;margin:0!important;padding:0!important}
  /* app chrome that must not print */
  nav,.hero,.topbar,#histlink,#logoutlink,.no-print{display:none!important}
  /* flatten the wrappers so the report isn't boxed/padded/shadowed on paper */
  .wrap,.card,.pad,#view,#app,.container{margin:0!important;padding:0!important;max-width:none!important;width:auto!important;box-shadow:none!important;border:none!important;background:#fff!important}
  .rep-doc.brief{max-width:none!important;margin:0!important;border:none!important;border-radius:0!important;box-shadow:none!important}
  /* keep the on-screen two-column layout */
  .brief .bf-cols{grid-template-columns:1fr 1fr!important;gap:26px}
  .brief .rep-macro{grid-template-columns:1fr 1fr}
  /* don't split a card/row across a page */
  .brief .bf-hero,.brief .rep-srow,.brief .rep-mcard,.brief .bf-dim,.brief .rep-rm .it,.brief .bf-sug li,.brief .rep-grp,.brief .bf-foot{break-inside:avoid}
  *{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}
}
