/* ============================================================================
   SaberGuard SRA Workspace: workspace and report styles
   1. Tokens & base   2. Workspace chrome   3. Forms & sections
   4. Safeguards      5. Risk register       6. Output & readiness
   7. Report (screen preview + print)        8. Responsive   9. Print
   ========================================================================== */

/* 1. Tokens & base ------------------------------------------------------- */
:root{
  --ink:#0b1220;--ink-2:#121c33;--navy:#0f172a;
  --cyan:#2bd9f4;--blue:#3c8cf5;--violet:#8f5cf5;
  --grad:linear-gradient(90deg,var(--cyan) 0%,var(--blue) 50%,var(--violet) 100%);
  --text:#0f172a;--muted:#5b6b7f;--faint:#8b98a9;--line:#e3e8f0;--line-2:#cfd8e3;
  --wash:#f4f6fb;--paper:#ffffff;--tint:#eef4ff;
  --good:#0ca30c;--good-bg:#e6f6e6;--good-ink:#0d5f0d;
  --warn:#fab219;--warn-bg:#fff3d1;--warn-ink:#7a4d00;
  --crit:#d03b3b;--crit-bg:#fce8e8;--crit-ink:#8f1f1f;
  --na:#94a3b8;--na-bg:#eef1f5;--na-ink:#475569;
  --radius:14px;--radius-sm:9px;
  --shadow:0 10px 30px rgba(11,18,32,.08);--shadow-sm:0 2px 8px rgba(11,18,32,.05);
  --font:"Inter","Segoe UI",system-ui,-apple-system,Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}
body{margin:0;background:var(--wash);color:var(--text);font:15px/1.55 var(--font)}
button,input,textarea,select{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
h1,h2,h3,h4{margin:0;line-height:1.25}
p{margin:0}
[hidden]{display:none!important}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* 2. Workspace chrome ---------------------------------------------------- */
.topbar{position:sticky;top:0;z-index:30;height:66px;background:var(--ink);color:#fff;display:flex;align-items:center;gap:18px;padding:0 24px;border-bottom:1px solid rgba(255,255,255,.08)}
.topbar:before{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;background:var(--grad)}
.brand{display:flex;align-items:center;gap:14px;text-decoration:none;min-width:0}
.brand .logo{height:34px;width:auto;display:block}
.brand-name{font-weight:750;font-size:15px;letter-spacing:-.01em;white-space:nowrap}
.brand-sub{font-size:11.5px;color:#93a4bd;white-space:nowrap}
.top-actions{margin-left:auto;display:flex;gap:8px;align-items:center}
.affiliation{background:#121c33;color:#b6c2d5;font-size:12px;text-align:center;padding:6px 16px;border-bottom:1px solid rgba(255,255,255,.08)}
.btn{border:1px solid var(--line-2);border-radius:10px;background:#fff;color:var(--navy);padding:8px 13px;font-weight:650;font-size:13.5px;display:inline-flex;gap:7px;align-items:center;white-space:nowrap;transition:background .15s,border-color .15s,transform .05s}
.btn:hover{background:#f7f9fc;border-color:#b7c3d3}
.btn:active{transform:translateY(1px)}
.btn.ghost{background:transparent;border-color:rgba(255,255,255,.18);color:#e6ecf5}
.btn.ghost:hover{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.32)}
.btn.primary{background:var(--grad);border:0;color:#08111f;font-weight:750;padding:9px 15px}
.btn.primary:hover{filter:brightness(1.05)}
.btn.subtle{background:var(--tint);border-color:transparent;color:#1d4ed8}
.btn.danger{color:var(--crit-ink);border-color:transparent;background:transparent}
.btn.danger:hover{background:var(--crit-bg)}
.btn.small{padding:6px 10px;font-size:12.5px;border-radius:8px}
.btn[disabled]{opacity:.5;cursor:not-allowed}

.layout{display:grid;grid-template-columns:250px minmax(0,1fr);max-width:1480px;margin:auto}
.sidebar{position:sticky;top:66px;height:calc(100vh - 66px);padding:26px 16px 18px;background:var(--ink-2);color:#c9d3e3;display:flex;flex-direction:column}
.nav-label{text-transform:uppercase;letter-spacing:.14em;font-size:10px;font-weight:750;color:#7b8ba3;margin:0 12px 10px}
.nav{display:flex;flex-direction:column;gap:2px}
.nav a{display:flex;align-items:center;gap:11px;text-decoration:none;padding:9px 12px;border-radius:9px;color:#b6c2d5;font-weight:600;font-size:13.5px}
.nav a:hover{background:rgba(255,255,255,.06);color:#fff}
.nav a.active{background:rgba(60,140,245,.14);color:#fff}
.nav .num{font-size:11px;font-weight:750;color:#6f8098;width:18px}
.nav .dot{margin-left:auto;width:8px;height:8px;border-radius:50%;background:#3b4a63;flex:none}
.nav .dot.partial{background:var(--warn)}
.nav .dot.done{background:var(--good)}
.sidebar-foot{margin-top:auto;display:grid;gap:10px}
.privacy-card{border-radius:12px;padding:13px 14px;background:rgba(43,217,244,.08);border:1px solid rgba(43,217,244,.18);color:#bfe9f2;font-size:12px;line-height:1.5}
.privacy-card strong{display:block;color:#e8fbff;margin-bottom:3px;font-weight:700}
.side-progress{font-size:12px;color:#93a4bd}
.side-progress b{color:#fff;font-weight:700}
.progress{height:7px;border-radius:9px;background:rgba(255,255,255,.1);overflow:hidden;margin-top:6px}
.progress span{display:block;height:100%;width:0;background:var(--grad);transition:width .25s}
.section .progress{background:#e4e9f1}

.main{padding:30px 36px 90px;max-width:1160px;width:100%;margin:auto}

.hero{position:relative;overflow:hidden;background:linear-gradient(135deg,#0b1220 0%,#132140 60%,#1a1f4a 100%);color:#fff;border-radius:20px;padding:34px 36px 30px;box-shadow:var(--shadow)}
.hero:before{content:"";position:absolute;inset:0 0 auto 0;height:3px;background:var(--grad)}
.hero:after{content:"";position:absolute;width:420px;height:420px;right:-160px;top:-200px;border-radius:50%;background:radial-gradient(closest-side,rgba(60,140,245,.28),rgba(60,140,245,0))}
.hero>*{position:relative;z-index:1}
.eyebrow{text-transform:uppercase;letter-spacing:.14em;font-size:11px;font-weight:750;color:var(--cyan)}
.hero h1{font-size:28px;letter-spacing:-.02em;margin:8px 0 8px;max-width:760px}
.hero p{max-width:720px;color:#b9c7dc;font-size:14.5px}
.hero .hero-note{margin-top:10px;font-size:13px;color:#93a4bd}
.hero-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;margin-top:24px}
.metric{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:14px 15px}
.metric b{display:block;font-size:24px;font-weight:750;letter-spacing:-.02em}
.metric span{font-size:11.5px;color:#a9b8cf}
.mobile-progress{display:none}

/* 3. Forms & sections ---------------------------------------------------- */
.section{scroll-margin-top:86px;margin-top:22px;background:var(--paper);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);padding:26px 28px}
.section-head{display:flex;justify-content:space-between;gap:20px;align-items:flex-start;margin-bottom:20px}
.step{font-size:11px;letter-spacing:.12em;text-transform:uppercase;font-weight:750;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.section h2{margin:4px 0 4px;font-size:21px;letter-spacing:-.015em;color:var(--navy)}
.help{color:var(--muted);font-size:13.5px;max-width:760px}
.progress-block{min-width:170px}
.status-grid{margin-top:16px}
textarea.tall{min-height:120px}
.data-table .w18{width:18%}.data-table .w20{width:20%}.data-table .w16{width:16%}.data-table .w36px{width:36px}
.badge{border-radius:99px;background:var(--tint);color:#1d4ed8;font-size:11.5px;font-weight:750;padding:6px 11px;white-space:nowrap}
.badge.ready{background:var(--good-bg);color:var(--good-ink)}
.form-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px 18px}
.form-grid.three{grid-template-columns:repeat(3,1fr)}
.field.full{grid-column:1/-1}
.field label{display:block;font-weight:650;color:#233449;margin-bottom:5px;font-size:13.5px}
.field small{display:block;color:var(--muted);margin:-2px 0 6px;font-size:12px}
.input,textarea,select{width:100%;border:1px solid var(--line-2);border-radius:var(--radius-sm);padding:9px 11px;background:#fff;color:var(--text);outline:none;font-size:14px}
.input:focus,textarea:focus,select:focus{border-color:var(--blue);box-shadow:0 0 0 3px rgba(60,140,245,.15)}
textarea{min-height:88px;resize:vertical;line-height:1.5}
select{appearance:auto}
.filters{display:flex;gap:8px;flex-wrap:wrap}
.filter{border:1px solid var(--line);background:#fff;padding:7px 12px;border-radius:99px;color:var(--muted);font-weight:650;font-size:12.5px}
.filter:hover{border-color:#b7c3d3;color:var(--navy)}
.filter.active{background:var(--navy);color:#fff;border-color:var(--navy)}
.filter .count{opacity:.7;margin-left:4px;font-weight:600}

.data-table{width:100%;border-collapse:collapse}
.data-table th{text-align:left;color:var(--muted);font-size:10.5px;text-transform:uppercase;letter-spacing:.07em;padding:8px;border-bottom:1px solid var(--line)}
.data-table td{padding:8px 6px;border-bottom:1px solid var(--line);vertical-align:top}
.data-table textarea{min-width:150px;min-height:58px}
.data-table .input{min-width:90px}
.table-scroll{overflow:auto}
.empty{text-align:center;padding:24px;color:var(--muted);border:1px dashed var(--line-2);border-radius:10px;font-size:13.5px;margin-top:10px}

/* 4. Safeguards ---------------------------------------------------------- */
.controls{display:grid;gap:12px;margin-top:16px}
.cat-head{display:flex;align-items:baseline;justify-content:space-between;gap:14px;margin:14px 0 2px;padding-bottom:6px;border-bottom:1px solid var(--line)}
.cat-head h3{font-size:15px;color:var(--navy)}
.cat-head span{font-size:12px;color:var(--muted)}
.control-card{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:#fff;transition:border-color .15s}
.control-card:hover{border-color:#c4d0df}
.control-card.has-gap{border-left:3px solid var(--crit)}
.control-card.is-partial{border-left:3px solid var(--warn)}
.control-card.is-met{border-left:3px solid var(--good)}
.control-card.is-na{border-left:3px solid var(--na)}
.control-card.is-alt{border-left:3px solid var(--good)}
.control-card.is-doc{border-left:3px solid var(--na)}
.control-top{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:18px}
.control-id{font-size:11px;font-weight:750;color:#1d4ed8;letter-spacing:.02em}
.control-id .type{color:var(--muted);font-weight:650}
.control-id .type.required{color:var(--crit-ink)}
.control-card h3{font-size:15px;line-height:1.4;margin:4px 0 2px;color:var(--navy)}
.control-card .under{font-size:12px;color:var(--muted);margin-bottom:4px}
.control-card .reg{font-size:13.5px;color:#1f2937;margin:4px 0 6px;line-height:1.5}
.control-card .reg.pending{color:var(--warn-ink);font-style:italic}
.control-card .summary{font-size:12.5px;color:#475569;margin:0 0 2px}
.control-card .summary .lbl{font-weight:650;color:var(--muted)}
.control-card .explain{font-size:12.5px;color:var(--muted);margin-top:4px}
.choices{display:flex;gap:5px;align-items:flex-start;flex-wrap:wrap;justify-content:flex-end}
.choice{border:1px solid var(--line);background:#fff;border-radius:8px;padding:7px 10px;font-size:11.5px;font-weight:750;color:var(--muted)}
.choice:hover{border-color:#b7c3d3;color:var(--navy)}
.choice[data-value="met"].selected{background:var(--good-bg);color:var(--good-ink);border-color:#9fd6a0}
.choice[data-value="partial"].selected{background:var(--warn-bg);color:var(--warn-ink);border-color:#f0cf7a}
.choice[data-value="not-met"].selected{background:var(--crit-bg);color:var(--crit-ink);border-color:#eaa7a7}
.choice[data-value="na"].selected{background:var(--na-bg);color:var(--na-ink);border-color:#c3ccd8}
.choice[data-value="alt"].selected{background:var(--good-bg);color:var(--good-ink);border-color:#9fd6a0}
.choice[data-value="doc"].selected{background:var(--na-bg);color:var(--na-ink);border-color:#c3ccd8}
.control-detail{display:none;grid-template-columns:1fr 1fr;gap:14px;border-top:1px solid var(--line);margin-top:14px;padding-top:14px}
.control-card.open .control-detail{display:grid}
.toggle-detail{border:0;background:none;color:#1d4ed8;font-size:12.5px;font-weight:650;padding:8px 0 0;display:inline-flex;gap:6px;align-items:center}
.toggle-detail .caret{display:inline-block;transition:transform .15s}
.control-card.open .toggle-detail .caret{transform:rotate(180deg)}
.evidence-box{border:1px dashed #b7c3d3;border-radius:9px;background:#f8fafc;padding:10px}
.evidence-box input{max-width:100%;font-size:12px}
.evidence-list{font-size:12px;color:var(--muted);margin-top:6px;display:grid;gap:3px}
.evidence-list .file{display:flex;justify-content:space-between;gap:8px;align-items:center}
.evidence-list .file button{border:0;background:none;color:var(--crit-ink);font-size:12px;font-weight:650;padding:0 4px}


/* Inventory cards and flows (Phase 2) */
.assets{display:grid;gap:12px;margin-top:4px}
.asset-card{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:#fff}
.asset-card.is-unclassified{border-left:3px solid var(--warn)}
.asset-head{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.asset-ref{font-size:12px;font-weight:750;color:#1d4ed8;min-width:22px}
.asset-title{font-weight:650;color:var(--navy)}
.asset-head .spacer{flex:1}
.chip-gap{font-size:11px;font-weight:700;color:var(--warn-ink);background:var(--warn-bg);border-radius:99px;padding:3px 9px}
.asset-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px 14px}
.asset-grid .field.span2{grid-column:span 2}
.asset-grid textarea{min-height:56px}
.checks{display:flex;gap:12px;flex-wrap:wrap;padding-top:6px;font-size:13.5px}
.checks label{display:inline-flex;gap:6px;align-items:center}
.sub-head{margin-top:26px;padding-top:16px;border-top:1px solid var(--line)}
.sub-head h3{font-size:16px;color:var(--navy);margin-bottom:4px}
.flows-table select,.flows-table textarea{min-width:0;font-size:13px;padding:7px 8px}
.flows-table textarea{min-height:46px}
.flows-table td.ref{font-size:12px;font-weight:750;color:#1d4ed8;white-space:nowrap;padding-top:14px}
.flows-table tr.is-bad td{background:var(--warn-bg)}
.data-table .w4{width:4%}.data-table .w10{width:10%}.data-table .w11{width:11%}.data-table .w12{width:12%}
/* Pickers */
.picker{display:grid;gap:6px}
.picker .chips{display:flex;flex-wrap:wrap;gap:6px;font-size:12.5px}
.pick-chip{display:inline-flex;align-items:center;gap:6px;background:var(--tint);color:#1d4ed8;border-radius:99px;padding:4px 10px;font-weight:600}
.pick-remove{border:0;background:none;color:inherit;font-size:14px;line-height:1;padding:0 2px;cursor:pointer}
.picker select{font-size:13px;padding:7px 9px}
.picker .legacy{font-size:12px;color:var(--muted)}
/* Catalog card banners and basis */
.choices-col{display:grid;gap:8px;justify-items:end}
.basis-pick{font-size:12px;color:var(--muted);display:flex;gap:6px;align-items:center}
.basis-pick select{width:auto;font-size:12.5px;padding:6px 8px}
.banner{border-radius:9px;padding:9px 12px;font-size:12.5px;margin-top:8px;line-height:1.5}
.banner.derived{background:var(--na-bg);color:var(--na-ink)}
.banner.duty{background:var(--tint);color:#1e3a5f}
.banner.carried{background:var(--warn-bg);color:var(--warn-ink)}
.banner .btn{margin-left:8px;vertical-align:middle}
.control-card.is-carried{border-left:3px solid var(--warn)}
.warn-text{color:var(--warn-ink)}


/* ePHI flow map: tokens, marks, workspace step and report figure */
.app,.rpt{--m-band:#f3f6fb;--m-surface:#ffffff;--m-ink:#0b1220;--m-muted:#5b6b7f;--m-node:#9aa7b8;--m-edge:#66758a;--m-high:#d03b3b;--m-high-bg:#fce8e8;--m-high-ink:#8f1f1f;--m-med:#c98a00;--m-med-bg:#fff3d1;--m-med-ink:#7a4d00;--m-low:#2f9a3f;--m-low-bg:#e6f6e6;--m-low-ink:#0d5f0d;--m-none:#94a3b8;--m-none-bg:#eef1f5;--m-none-ink:#475569}
.ephi-map{display:block;width:100%;height:auto;font-family:var(--font)}
.ephi-map .band{fill:var(--m-band)}
.ephi-map .col-t{fill:var(--m-ink);font-weight:700;font-size:9.5px;letter-spacing:.1em;text-anchor:middle}
.ephi-map .col-s{fill:var(--m-muted);font-size:8.5px;text-anchor:middle}
.ephi-map .box{fill:var(--m-surface);stroke:var(--m-node);stroke-width:1}
.ephi-map .box.unclassified{stroke-dasharray:3 2;stroke-width:1.2}
.ephi-map .name{fill:var(--m-ink);font-weight:650;font-size:11.5px}
.ephi-map .st{fill:var(--m-muted);font-size:9.5px}
.ephi-map .st.bad{fill:var(--m-high-ink);font-weight:700}
.ephi-map .st.warn{fill:var(--m-med-ink);font-weight:700}
.ephi-map .st.ok{fill:var(--m-muted)}
.ephi-map .div{stroke:var(--m-node);stroke-width:.8;stroke-dasharray:2 2.5}
.ephi-map .cp-l{fill:var(--m-muted);font-size:7.5px;font-weight:700;letter-spacing:.11em}
.ephi-map .cp-n{fill:var(--m-ink);font-weight:600;font-size:9.5px}
.ephi-map .node.r-high > .box{stroke:var(--m-high);stroke-width:2.4}
.ephi-map .node.r-medium > .box{stroke:var(--m-med);stroke-width:2}
.ephi-map .node.r-low > .box{stroke:var(--m-low);stroke-width:1.6}
.ephi-map .node.r-none > .box{stroke:var(--m-none);stroke-width:1.6}
.ephi-map .tag rect{stroke-width:1}
.ephi-map .tag text{font-weight:700;font-size:8.5px;letter-spacing:.02em}
.ephi-map .tag.high rect{fill:var(--m-high-bg);stroke:var(--m-high)} .ephi-map .tag.high text{fill:var(--m-high-ink)}
.ephi-map .tag.medium rect{fill:var(--m-med-bg);stroke:var(--m-med)} .ephi-map .tag.medium text{fill:var(--m-med-ink)}
.ephi-map .tag.low rect{fill:var(--m-low-bg);stroke:var(--m-low)} .ephi-map .tag.low text{fill:var(--m-low-ink)}
.ephi-map .tag.none rect{fill:var(--m-none-bg);stroke:var(--m-none)} .ephi-map .tag.none text{fill:var(--m-none-ink)}
.ephi-map .edge .line{fill:none;stroke:var(--m-edge);stroke-width:1.2}
.ephi-map .edge .tip{fill:var(--m-edge)}
.ephi-map .edge.e-no .line{stroke:var(--m-high);stroke-width:1.8;stroke-dasharray:6 3.5} .ephi-map .edge.e-no .tip{fill:var(--m-high)}
.ephi-map .edge.e-unknown .line{stroke:var(--m-med);stroke-width:2;stroke-dasharray:1 4.5;stroke-linecap:round} .ephi-map .edge.e-unknown .tip{fill:var(--m-med)}
.ephi-map .lab rect{fill:var(--m-surface);stroke:var(--m-node);stroke-width:1}
.ephi-map .lab text{fill:var(--m-ink);font-size:8.5px;font-weight:700;text-anchor:middle}
.ephi-map .lab.e-no rect{stroke:var(--m-high)} .ephi-map .lab.e-no text{fill:var(--m-high-ink)}
.ephi-map .lab.e-unknown rect{stroke:var(--m-med);stroke-dasharray:3 2} .ephi-map .lab.e-unknown text{fill:var(--m-med-ink)}
.lg-yes{stroke:var(--m-edge);stroke-width:1.2}
.lg-no{stroke:var(--m-high);stroke-width:1.8;stroke-dasharray:6 3.5}
.lg-unk{stroke:var(--m-med);stroke-width:2;stroke-dasharray:1 4.5;stroke-linecap:round}
.lg-box{fill:#fff;stroke:var(--m-high);stroke-width:2.4}
.lg-unc{fill:#fff;stroke:var(--m-node);stroke-width:1.2;stroke-dasharray:3 2}
.map-box{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px;overflow-x:auto}
.map-box svg{min-width:600px}
.map-facts{display:flex;flex-wrap:wrap;gap:6px 24px;margin:0 0 12px;font-size:13px;color:var(--muted)}
.map-facts div{display:flex;gap:7px;align-items:baseline}
.map-facts b{color:var(--navy);font-size:19px;font-weight:750}
.map-facts div.flag b{color:var(--crit-ink)}
.map-legend{display:flex;flex-wrap:wrap;gap:6px 16px;font-size:12.5px;color:var(--muted);margin:10px 0 4px}
.map-legend span{display:inline-flex;gap:6px;align-items:center}
.map-attention{margin-top:16px}
.map-attention h3{font-size:15px;color:var(--navy);margin-bottom:6px}
.map-attention ul{list-style:none;margin:0;padding:0}
.map-attention li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:4px 12px;align-items:start;padding:9px 2px;border-top:1px solid var(--line);font-size:13.5px}
.map-attention .next{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.map-attention .score-chip.none{background:var(--crit-bg);color:var(--crit-ink);border:1px dashed var(--crit)}
.rpt .map-fig{margin:4pt 0 0;break-inside:avoid}
.rpt .rpt-map{border:1px solid var(--r-line);border-radius:6px;padding:4pt;background:#fff}
.rpt .rpt-legend.map{gap:6pt 14pt;align-items:center;margin:5pt 0 3pt}
.rpt .rpt-legend.map span{display:inline-flex;gap:5pt;align-items:center}
.rpt .rpt-callout p:last-child{margin-bottom:0}

/* 5. Risk register ------------------------------------------------------- */
.risk-toolbar{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:flex-end}
.risk-toolbar select{width:auto;max-width:360px;padding:8px 10px;font-size:13px}
.risks{display:grid;gap:14px;margin-top:16px}
.risk-card{border:1px solid var(--line);border-radius:12px;padding:16px 18px;background:#fff}
.risk-card.level-high{border-left:3px solid var(--crit)}
.risk-card.level-medium{border-left:3px solid var(--warn)}
.risk-card.level-low{border-left:3px solid var(--good)}
.risk-card.level-none{border-left:3px solid var(--na)}
.risk-head{display:flex;align-items:center;gap:12px;margin-bottom:12px}
.risk-ref{font-size:12px;font-weight:750;color:#1d4ed8;letter-spacing:.02em}
.risk-head .spacer{flex:1}
.risk-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px 14px}
.risk-grid .field.span2{grid-column:span 2}
.risk-grid .field.full{grid-column:1/-1}
.risk-grid textarea{min-height:64px}
.score-chip{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:99px;font-weight:750;font-size:12px;white-space:nowrap}
.score-chip:before{content:"";width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.85}
.score-high{background:var(--crit-bg);color:var(--crit-ink)}
.score-medium{background:var(--warn-bg);color:var(--warn-ink)}
.score-low{background:var(--good-bg);color:var(--good-ink)}
.score-na{background:var(--na-bg);color:var(--na-ink)}

/* 6. Output & readiness -------------------------------------------------- */
.summary-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.summary-card{border:1px solid var(--line);border-radius:11px;padding:14px 15px;background:#fbfcfe}
.summary-card b{font-size:24px;color:var(--navy);display:block;font-weight:750;letter-spacing:-.02em}
.summary-card span{color:var(--muted);font-size:12px}
.checklist{list-style:none;margin:18px 0 0;padding:0;display:grid;gap:6px}
.checklist li{display:flex;gap:10px;align-items:flex-start;font-size:13.5px;padding:9px 12px;border-radius:9px;background:var(--wash)}
.checklist li .mark{flex:none;width:20px;height:20px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}
.checklist li.ok .mark{background:var(--good-bg);color:var(--good-ink)}
.checklist li.todo .mark{background:var(--warn-bg);color:var(--warn-ink)}
.checklist li.todo{color:#233449}
.checklist li.ok{color:var(--muted)}
.notice{padding:13px 15px;border-left:3px solid var(--blue);background:var(--tint);color:#1e3a5f;font-size:12.5px;border-radius:0 9px 9px 0;margin-top:14px;line-height:1.5}
.notice.warn{border-color:var(--warn);background:var(--warn-bg);color:var(--warn-ink)}
.notice.ok{border-color:var(--good);background:var(--good-bg);color:var(--good-ink)}
.output-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
.file-status{font-size:12.5px;color:var(--muted);margin-top:12px}
.footer{text-align:center;color:var(--faint);font-size:12px;margin-top:28px}

/* Report preview shell (screen) */
.report-main{padding:26px 24px 80px;max-width:none}
.report-toolbar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;max-width:8.5in;margin:0 auto 18px}
.report-toolbar .hint{font-size:12.5px;color:var(--muted);flex:1;min-width:240px}
.paper{background:#fff;max-width:8.5in;margin:0 auto;padding:16mm 15mm 18mm;box-shadow:0 20px 60px rgba(11,18,32,.14);border-radius:4px;min-height:11in}
body.report-mode .sidebar{display:none}
body.report-mode .layout{display:block}

/* 7. Report -------------------------------------------------------------- */
.rpt{--r-ink:#111827;--r-muted:#5b6b7f;--r-faint:#8b98a9;--r-line:#d9dee7;--r-line-2:#eceff4;--r-navy:#0b1220;--r-accent:#3c8cf5;--r-tint:#f3f6fb;
  color:var(--r-ink);font-family:var(--font);font-size:10.5pt;line-height:1.45;position:relative;overflow-wrap:anywhere;-webkit-print-color-adjust:exact;print-color-adjust:exact}
.rpt *{-webkit-print-color-adjust:exact;print-color-adjust:exact}
.rpt p{margin:0 0 7pt}
.rpt h2,.rpt h3,.rpt h4{color:var(--r-navy);letter-spacing:-.01em}
.rpt .muted{color:var(--r-muted)}
.rpt .small{font-size:9pt}
.rpt .nowrap{white-space:nowrap}
.rpt .prewrap{white-space:pre-line;overflow-wrap:anywhere}
.rpt .placeholder{color:var(--r-faint);font-style:italic}
.rpt .muted.light{font-weight:500}
.rpt .c4{width:4.5%}.rpt .c5{width:5%}.rpt .c6{width:6%}.rpt .c7{width:7%}.rpt .c8{width:8%}.rpt .c9{width:9%}.rpt .c10{width:10%}.rpt .c11{width:11%}.rpt .c12{width:12%}.rpt .c13{width:13%}.rpt .c14{width:14%}.rpt .c15{width:15%}.rpt .c16{width:16%}.rpt .c18{width:18%}.rpt .c19{width:19%}.rpt .c20{width:20%}.rpt .c22{width:22%}.rpt .c24{width:24%}.rpt .c27{width:27%}.rpt .c28{width:28%}.rpt .c17{width:17%}.rpt .c30{width:30%}.rpt .c32{width:32%}.rpt .c33{width:33%}.rpt .c34{width:34%}.rpt .c35{width:35%}
.rpt-grad{height:5px;background:var(--grad);border-radius:3px}

/* Cover */
.rpt-cover{min-height:225mm;display:flex;flex-direction:column;break-after:page;position:relative}
.rpt-cover-top{display:flex;align-items:center;justify-content:flex-end;gap:20px;margin-top:8mm}
.rpt-cover-top img{height:15mm;width:auto}
.rpt-tag{display:inline-block;border:1.5px solid var(--r-navy);color:var(--r-navy);border-radius:4px;padding:3px 10px;font-size:9pt;font-weight:750;letter-spacing:.14em;text-transform:uppercase}
.rpt-cover-body{margin-top:32mm;flex:1}
.rpt-cover .kicker{font-size:9.5pt;letter-spacing:.16em;text-transform:uppercase;color:var(--r-accent);font-weight:750}
.rpt-cover h1{font-size:30pt;line-height:1.08;letter-spacing:-.025em;color:var(--r-navy);margin:8pt 0 6pt;font-weight:750}
.rpt-cover .subtitle{font-size:12.5pt;color:var(--r-muted);margin:0 0 20mm}
.rpt-cover .org{font-size:19pt;font-weight:700;color:var(--r-navy);letter-spacing:-.015em;margin-bottom:3pt}
.rpt-cover .org-sub{font-size:10.5pt;color:var(--r-muted);margin-bottom:12mm}
.rpt-cover-meta{display:grid;grid-template-columns:repeat(3,1fr);gap:9pt 18pt;border-top:1px solid var(--r-line);padding-top:10pt;max-width:150mm}
.rpt-cover-meta div span{display:block;font-size:8pt;text-transform:uppercase;letter-spacing:.1em;color:var(--r-faint);font-weight:700}
.rpt-cover-meta div b{display:block;font-weight:650;font-size:10.5pt;color:var(--r-ink);margin-top:1pt}
.rpt-cover-meta div small{display:block;font-size:7.5pt;color:var(--r-faint)}
.rpt-cover-foot{border-top:1px solid var(--r-line);padding-top:8pt;display:flex;justify-content:space-between;gap:20pt;font-size:8.5pt;color:var(--r-muted)}
.rpt-cover-foot b{color:var(--r-ink);font-weight:650}
.rpt-cover-foot .handling{text-align:right;max-width:88mm}
.rpt-draft-note{margin-top:8mm;border:1px solid #f0cf7a;background:#fff8e6;color:#7a4d00;border-radius:6px;padding:8pt 10pt;font-size:9pt}
.rpt-draft-note b{display:block;margin-bottom:2pt}

/* Watermark */
.rpt-watermark{display:none;position:fixed;inset:0;z-index:0;pointer-events:none;align-items:center;justify-content:center}
.rpt-watermark span{font-size:120pt;font-weight:800;letter-spacing:.2em;color:rgba(208,59,59,.07);transform:rotate(-30deg)}
.rpt.is-draft .rpt-watermark{display:flex}
.paper .rpt-watermark{position:absolute;top:120mm;height:200mm}

/* Running frame */
.rpt-frame{width:100%;table-layout:fixed;border-collapse:collapse;position:relative;z-index:1}
.rpt-frame>thead{display:table-header-group}
.rpt-frame>tfoot{display:table-footer-group}
.rpt-frame>thead td,.rpt-frame>tfoot td,.rpt-frame>tbody>tr>td{padding:0;vertical-align:top}
.rpt-run-head{display:flex;justify-content:space-between;gap:16pt;font-size:8pt;color:var(--r-muted);border-bottom:1px solid var(--r-line);padding:0 0 5pt;margin-bottom:12pt}
.rpt-run-head b{color:var(--r-navy);font-weight:650}
.rpt-run-foot{display:flex;justify-content:space-between;gap:16pt;font-size:7.5pt;color:var(--r-faint);border-top:1px solid var(--r-line);padding:5pt 0 0;margin-top:14pt}

/* Sections */
.rpt-section{margin-bottom:16pt}
.rpt-section.pb{break-before:page}
.rpt-sec-head{display:flex;align-items:baseline;gap:10pt;border-bottom:2px solid var(--r-navy);padding-bottom:5pt;margin:0 0 10pt;break-after:avoid;break-inside:avoid}
.rpt-sec-head .n{font-size:9pt;font-weight:750;color:var(--r-accent);letter-spacing:.08em;min-width:22pt}
.rpt-sec-head h2{font-size:15.5pt;font-weight:750}
.rpt h3{font-size:11.5pt;margin:12pt 0 5pt;font-weight:700;break-after:avoid}
.rpt h4{font-size:10pt;margin:8pt 0 3pt;font-weight:700;color:#233449;break-after:avoid}
.rpt .lead{font-size:10.5pt;color:#233449}
.rpt-callout{border-left:3px solid var(--r-accent);background:var(--r-tint);padding:7pt 10pt;border-radius:0 5px 5px 0;margin:6pt 0 8pt;font-size:9.5pt}
.rpt-callout.warn{border-color:#fab219;background:#fff8e6;color:#5c3a00}
.rpt-callout.crit{border-color:#d03b3b;background:#fdf0f0;color:#7a1c1c}
.rpt-callout.good{border-color:#0ca30c;background:#eef8ee;color:#0d5f0d}

/* Key/value grids */
.rpt-kv{display:grid;grid-template-columns:repeat(2,1fr);gap:6pt 16pt;margin:4pt 0 8pt}
.rpt-kv.three{grid-template-columns:repeat(3,1fr)}
.rpt-kv div{border-bottom:1px solid var(--r-line-2);padding:3pt 0 4pt;break-inside:avoid}
.rpt-kv span{display:block;font-size:7.5pt;text-transform:uppercase;letter-spacing:.07em;color:var(--r-faint);font-weight:700;overflow-wrap:normal}
.rpt-kv b{font-weight:600;font-size:10pt;display:block}

/* Tables */
.rpt table.tbl{width:100%;table-layout:fixed;border-collapse:collapse;font-size:8.75pt;margin:4pt 0 10pt}
.rpt table.tbl thead{display:table-header-group}
.rpt table.tbl th{text-align:left;font-size:7.5pt;text-transform:uppercase;letter-spacing:.04em;overflow-wrap:normal;color:var(--r-muted);font-weight:700;padding:5pt 6pt;border-bottom:1.5px solid var(--r-navy);background:#fff;vertical-align:bottom}
.rpt table.tbl td{padding:5pt 6pt;border-bottom:1px solid var(--r-line);vertical-align:top;overflow-wrap:anywhere}
.rpt table.tbl tr{break-inside:avoid}
.rpt table.tbl tbody tr:nth-child(even) td{background:#fafbfd}
.rpt table.tbl .id{font-weight:700;color:var(--r-navy);white-space:nowrap}
.rpt table.tbl .cite{color:var(--r-muted);font-size:8pt;white-space:nowrap}
.rpt table.tbl .cite.wrap{white-space:normal}
.rpt table.tbl .id.wrap{white-space:normal}
.rpt table.tbl .sub{display:block;font-size:7.5pt;color:var(--r-muted)}
.rpt table.tbl.rec{font-size:8.25pt}
.rpt table.tbl.rec td,.rpt table.tbl.rec th{padding:3pt 5pt}
.rpt table.tbl td.keep{overflow-wrap:normal}
.rpt table.tbl td.nw{white-space:nowrap}
.rpt .t-crit{color:#8f1f1f;font-weight:700}
.rpt .t-warn{color:#7a4d00;font-weight:700}
.rpt .t-na{color:var(--r-faint)}
.rpt .lc{display:inline-block;width:9.5pt;text-align:center;font-weight:750;font-size:8pt;color:#c9d1dc}
.rpt .lc.on{color:var(--r-navy)}
.rpt table.tbl .chip{white-space:normal;line-height:1.3}
.rpt table.tbl .num{text-align:center;font-variant-numeric:tabular-nums}
.rpt table.tbl .small{font-size:8pt}
.rpt table.tbl td.strong{font-weight:650}
.rpt table.tbl .strong{font-weight:650}
.rpt table.tbl.compact td,.rpt table.tbl.compact th{padding:3.5pt 5pt}
.rpt table.tbl.defs td:first-child{font-weight:700;width:24%}
.rpt table.tbl.status-defs td:first-child{width:30%}
.rpt table.tbl.status-defs .chip{white-space:normal;line-height:1.3}
.rpt .toc{columns:2;column-gap:20pt;font-size:9.5pt;margin:4pt 0 0;padding:0;list-style:none}
.rpt .toc li{display:flex;gap:8pt;padding:3pt 0;border-bottom:1px dotted var(--r-line);break-inside:avoid}
.rpt .toc li .n{color:var(--r-accent);font-weight:750;min-width:18pt}

/* Status chips */
.rpt .chip{display:inline-block;padding:1.5pt 6pt;border-radius:99px;font-size:8pt;font-weight:750;white-space:nowrap;border:1px solid transparent;line-height:1.4}
.rpt .chip.good{background:#e6f6e6;color:#0d5f0d;border-color:#b9e4b9}
.rpt .chip.warn{background:#fff3d1;color:#7a4d00;border-color:#f0d78e}
.rpt .chip.crit{background:#fce8e8;color:#8f1f1f;border-color:#f0b6b6}
.rpt .chip.na{background:#eef1f5;color:#475569;border-color:#d1d9e3}
.rpt .chip.none{background:#fff;color:#8b98a9;border-color:#d1d9e3;border-style:dashed}

/* KPI tiles */
.rpt-kpis{display:grid;grid-template-columns:repeat(5,1fr);gap:7pt;margin:6pt 0 12pt}
.rpt-kpi{border:1px solid var(--r-line);border-radius:6px;padding:8pt 9pt;break-inside:avoid}
.rpt-kpi b{display:block;font-size:17pt;font-weight:750;letter-spacing:-.02em;color:var(--r-navy);line-height:1.1}
.rpt-kpi span{display:block;font-size:7.5pt;text-transform:uppercase;letter-spacing:.06em;color:var(--r-muted);font-weight:700;margin-top:3pt;overflow-wrap:normal}
.rpt-kpi.accent{background:var(--r-navy);border-color:var(--r-navy)}
.rpt-kpi.accent b{color:#fff}
.rpt-kpi.accent span{color:#a9b8cf}
.rpt-kpi small{display:block;font-size:7.5pt;color:var(--r-faint);margin-top:2pt}
.rpt-kpi small.on-dark{color:#a9b8cf}
.rpt-kpis.four{grid-template-columns:repeat(4,1fr)}

/* Two-column blocks */
.rpt-cols{display:grid;grid-template-columns:1fr 1fr;gap:14pt;align-items:start}
.rpt-cols.keep{break-inside:avoid}
.rpt-cols>div{min-width:0}

/* Stacked bars */
.rpt-bars{margin:6pt 0 4pt;break-inside:avoid}
.rpt-bar-row{display:grid;grid-template-columns:118pt 1fr 44pt;gap:8pt;align-items:center;margin-bottom:5pt}
.rpt-bar-row .lbl{font-size:8.75pt;font-weight:650;color:#233449}
.rpt-bar-row .lbl small{display:block;font-weight:500;color:var(--r-faint);font-size:7.5pt}
.rpt-bar{display:flex;height:13pt;border-radius:4px;overflow:hidden;background:#eef1f5;gap:2px}
.rpt-bar span{display:flex;align-items:center;justify-content:center;font-size:7.5pt;font-weight:750;min-width:0;overflow:hidden;color:#fff}
.rpt-bar span.good{background:#0ca30c}
.rpt-bar span.warn{background:#fab219;color:#3d2a00}
.rpt-bar span.crit{background:#d03b3b}
.rpt-bar span.na{background:#94a3b8}
.rpt-bar span.none{background:#eef1f5;color:#8b98a9}
.rpt-bar span.alt{background:#5fbf5f}
.rpt-bar span.doc{background:#c3ccd8;color:#233449}
.rpt-bar-row .pct{font-size:8.5pt;font-weight:700;text-align:right;color:var(--r-navy);white-space:nowrap}
.rpt-legend{display:flex;gap:12pt;flex-wrap:wrap;font-size:8pt;color:var(--r-muted);margin:2pt 0 8pt}
.rpt-legend i{display:inline-block;width:8pt;height:8pt;border-radius:2px;margin-right:4pt;vertical-align:-1pt}
.rpt-legend i.good{background:#0ca30c}.rpt-legend i.alt{background:#5fbf5f}.rpt-legend i.warn{background:#fab219}.rpt-legend i.crit{background:#d03b3b}.rpt-legend i.doc{background:#c3ccd8}.rpt-legend i.na{background:#94a3b8}.rpt-legend i.none{background:#eef1f5;border:1px solid #d1d9e3}
.rpt-legend i.low{background:#e6f6e6;border:1px solid #9fd6a0}.rpt-legend i.medium{background:#fff3d1;border:1px solid #f0cf7a}.rpt-legend i.high{background:#fce8e8;border:1px solid #eaa7a7}

/* Heat map */
.rpt-heat{display:grid;grid-template-columns:auto repeat(5,1fr);gap:2px;font-size:7.5pt;max-width:330pt;margin:6pt 0 4pt;break-inside:avoid}
.rpt-heat .ax{display:flex;align-items:center;justify-content:center;color:var(--r-muted);font-weight:700;padding:2pt 4pt;text-align:center;line-height:1.2}
.rpt-heat .ax.y{writing-mode:vertical-rl;transform:rotate(180deg);grid-row:1/6;font-size:7pt}
.rpt-heat .cell{min-height:30pt;border-radius:3px;padding:3pt 4pt;position:relative;line-height:1.25}
.rpt-heat .cell .s{position:absolute;top:2pt;right:4pt;font-size:6.5pt;color:rgba(0,0,0,.45);font-weight:700}
.rpt-heat .cell .ids{display:block;font-weight:750;color:#111;padding-top:7pt;word-break:break-word}
.rpt-heat .cell.low{background:#dff3df}
.rpt-heat .cell.medium{background:#ffefc4}
.rpt-heat .cell.high{background:#f9d5d5}
.rpt-heat .xlab{grid-column:2/7;text-align:center;color:var(--r-muted);font-weight:700;font-size:7.5pt;padding-top:2pt}

/* Findings */
.rpt-finding{border:1px solid var(--r-line);border-radius:6px;padding:8pt 10pt;margin:0 0 7pt;break-inside:avoid}
.rpt-finding.crit{border-left:3px solid #d03b3b}
.rpt-finding.warn{border-left:3px solid #fab219}
.rpt-finding-head{display:flex;gap:8pt;align-items:baseline;flex-wrap:wrap;margin-bottom:3pt}
.rpt-finding-head .id{font-weight:750;color:var(--r-accent);font-size:9pt}
.rpt-finding-head h4{margin:0;font-size:10pt;flex:1;min-width:160pt}
.rpt-finding-head .cite{font-size:8pt;color:var(--r-muted)}
.rpt-finding .req{font-size:8.75pt;color:var(--r-muted);margin:0 0 5pt}
.rpt-finding dl{margin:0;display:grid;grid-template-columns:86pt 1fr;gap:3pt 8pt;font-size:9pt}
.rpt-finding dt{font-weight:700;color:#233449;font-size:7.5pt;text-transform:uppercase;letter-spacing:.05em;padding-top:1.5pt;overflow-wrap:normal}
.rpt-finding dd{margin:0}

/* Risk detail */
.rpt-risk{border:1px solid var(--r-line);border-radius:6px;padding:8pt 10pt;margin:0 0 7pt;break-inside:avoid}
.rpt-risk.high{border-left:3px solid #d03b3b}.rpt-risk.medium{border-left:3px solid #fab219}.rpt-risk.low{border-left:3px solid #0ca30c}.rpt-risk.none{border-left:3px solid #94a3b8}
.rpt-risk-head{display:flex;gap:8pt;align-items:baseline;flex-wrap:wrap;margin-bottom:4pt}
.rpt-risk-head .id{font-weight:750;color:var(--r-accent);font-size:9pt}
.rpt-risk-head .stmt{flex:1;min-width:200pt;font-weight:650;font-size:10pt}
.rpt-risk dl{margin:0;display:grid;grid-template-columns:86pt 1fr;gap:3pt 8pt;font-size:9pt}
.rpt-risk dt{font-weight:700;color:#233449;font-size:7.5pt;text-transform:uppercase;letter-spacing:.05em;padding-top:1.5pt;overflow-wrap:normal}
.rpt-risk dd{margin:0}

/* Signatures */
.rpt-sign{display:grid;grid-template-columns:repeat(3,1fr);gap:16pt;margin-top:22pt;break-inside:avoid}
.rpt-sign div{font-size:8.5pt;color:var(--r-muted)}
.rpt-sign .line{border-bottom:1px solid var(--r-ink);height:30pt;margin-bottom:4pt}
.rpt-sign b{display:block;color:var(--r-ink);font-size:9.5pt;font-weight:650}
.rpt-sign .role{text-transform:uppercase;letter-spacing:.08em;font-size:7.5pt;font-weight:700;color:var(--r-faint);margin-bottom:8pt}
.rpt-sign .date{margin-top:8pt;border-top:1px solid var(--r-line);padding-top:3pt}
.rpt-statement{border:1px solid var(--r-line);border-radius:6px;padding:10pt 12pt;background:var(--r-tint);font-size:10pt;margin:6pt 0 4pt}

/* Checks list */
.rpt-checks{list-style:none;margin:4pt 0 8pt;padding:0;font-size:9.25pt}
.rpt-checks li{display:flex;gap:8pt;padding:4pt 0;border-bottom:1px solid var(--r-line-2);break-inside:avoid}
.rpt-checks .mk{flex:none;width:14pt;height:14pt;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:8.5pt;font-weight:800}
.rpt-checks .ok .mk{background:#e6f6e6;color:#0d5f0d}
.rpt-checks .todo .mk{background:#fff3d1;color:#7a4d00}

/* 8. Responsive ---------------------------------------------------------- */
@media screen and (max-width:1100px){
  .risk-grid,.asset-grid{grid-template-columns:repeat(2,1fr)}
  .summary-grid{grid-template-columns:repeat(2,1fr)}
}
@media screen and (max-width:900px){
  .topbar{padding:0 14px;gap:12px;height:60px}
  .brand-sub,.top-actions .label{display:none}
  .brand .logo{height:30px}
  .brand>div{display:none}
  .btn{padding:8px 10px}
  .layout{display:block}
  .sidebar{display:none}
  .main{padding:16px 14px 60px}
  .hero{padding:22px 20px;border-radius:16px}
  .hero h1{font-size:22px}
  .hero-grid{grid-template-columns:1fr 1fr}
  .mobile-progress{display:block;margin-top:14px}
  .form-grid,.form-grid.three,.control-detail,.risk-grid,.rpt-cols,.asset-grid{grid-template-columns:1fr}
  .asset-grid .field.span2{grid-column:auto}
  .choices-col{justify-items:start}
  .field.full,.risk-grid .field.span2{grid-column:auto}
  .control-top{grid-template-columns:1fr}
  .choices{justify-content:flex-start}
  .section{padding:18px 16px;border-radius:12px}
  .section-head{flex-direction:column;gap:10px}
  .report-main{padding:14px 10px 60px}
  .paper{padding:20px 16px;min-height:0}
  .rpt-kpis{grid-template-columns:repeat(2,1fr)}
  .rpt-cover-meta{grid-template-columns:1fr 1fr}
  .rpt .toc{columns:1}
  .rpt-sign{grid-template-columns:1fr}
  .rpt-kv,.rpt-kv.three{grid-template-columns:1fr}
  .rpt-heat{max-width:none}
  .rpt table.tbl{font-size:8pt}
}

/* 9. Print --------------------------------------------------------------- */
@media print{
  @page{size:Letter;margin:14mm 14mm 15mm}
  html,body{background:#fff!important;margin:0;padding:0}
  body{font-size:10.5pt}
  .topbar,.sidebar,.no-print,#workspace,.report-toolbar,.footer,.affiliation{display:none!important}
  .layout{display:block;max-width:none}
  #reportMain{display:block!important;padding:0;margin:0;max-width:none}
  .paper{box-shadow:none;border-radius:0;padding:0;max-width:none;min-height:0;margin:0}
  .rpt-section.pb{break-before:page}
  .rpt-cover{min-height:228mm}
  .paper .rpt-watermark{position:fixed;top:0;height:auto}
  a{text-decoration:none;color:inherit}
}
