:root {
  --bg:#07090f; --surface:#111722; --surface-2:#151d2a; --ink:#f4fbff; --muted:#9aa8b8;
  --line:rgba(255,255,255,.09); --teal:#48c8b0; --orange:#ff9a3c; --red:#d54b1a; --blue:#6aa7ff;
  --shadow:0 24px 70px rgba(0,0,0,.38); --radius:22px;
}
*{box-sizing:border-box} html{scroll-behavior:smooth} body{margin:0;color:var(--ink);background:radial-gradient(circle at 12% 0,rgba(72,200,176,.16),transparent 30rem),radial-gradient(circle at 88% 4%,rgba(255,154,60,.13),transparent 28rem),linear-gradient(180deg,#07090f 0%,#0b1018 52%,#07090f 100%);font:15px/1.5 Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
button,input,textarea,select{font:inherit} button{border:0;border-radius:12px;padding:10px 14px;font-weight:850;cursor:pointer;transition:.16s ease} button:hover{filter:brightness(.98);transform:translateY(-1px)}
.primary{border:1px solid rgba(255,154,60,.45);background:linear-gradient(135deg,#170606 0%,#6f0f0f 35%,#d54b1a 68%,#ff9a3c 100%);color:#fff3ea;box-shadow:0 14px 30px rgba(213,75,26,.22)}
.secondary{background:rgba(255,255,255,.05);color:#f4fbff;border:1px solid rgba(255,255,255,.11)} .sample-action{background:linear-gradient(135deg,#064e3b,#0f9f6e 58%,#48c8b0);color:#ecfffb;border:1px solid rgba(72,200,176,.46)} .reset-action{background:linear-gradient(135deg,#2a0a0a,#8f1d12 58%,#d54b1a);color:#fff3ea;border:1px solid rgba(255,92,75,.44)} .print-action{background:linear-gradient(135deg,#082f49 0%,#0b6fae 58%,#38bdf8 100%);color:#effaff;border:1px solid rgba(56,189,248,.46);box-shadow:0 14px 30px rgba(56,189,248,.18)} .icon{width:36px;height:36px;padding:0;border:1px solid var(--line);background:rgba(255,255,255,.06);color:var(--ink);font-size:20px}
.shell{width:min(1440px,calc(100% - 32px));margin:0 auto;padding:28px 0 56px}.hero{display:flex;gap:20px;justify-content:space-between;align-items:flex-start;padding:28px;border:1px solid rgba(255,154,60,.22);border-radius:28px;background:linear-gradient(135deg,rgba(72,200,176,.12),rgba(72,200,176,.03)),linear-gradient(120deg,rgba(23,6,6,.96) 0%,rgba(111,15,15,.92) 42%,rgba(213,75,26,.82) 72%,rgba(255,154,60,.88) 100%);box-shadow:var(--shadow)}
.hero h1{max-width:980px;margin:0 0 10px;font-size:clamp(32px,4.2vw,56px);line-height:1.02;letter-spacing:-.045em}.lede{max-width:920px;margin:0;color:#fff3ea;font-size:18px}.eyebrow{margin:0 0 6px;text-transform:uppercase;letter-spacing:.08em;color:var(--teal);font-size:12px;font-weight:950}.hero-actions,.button-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.notice{margin:18px 0;padding:14px 16px;border:1px solid rgba(255,72,72,.55);border-radius:18px;background:linear-gradient(180deg,rgba(255,72,72,.18),rgba(255,72,72,.07));color:#ff8a8a}.notice strong{color:#ff5b5b}
.app-layout{display:grid;grid-template-columns:286px minmax(0,1fr);gap:18px;align-items:start}.sidebar{position:sticky;top:16px;display:grid;gap:12px}.status-card,.step-nav,.help-card{border:1px solid var(--line);border-radius:20px;background:linear-gradient(180deg,rgba(19,24,35,.96),rgba(14,17,24,.98));box-shadow:0 18px 44px rgba(0,0,0,.28)}.status-card{padding:18px;display:flex;align-items:center;justify-content:space-between}.status-card span{color:var(--muted);font-weight:800}.status-card strong{font-size:34px;letter-spacing:-.05em;color:var(--teal)}.step-nav{padding:10px;display:grid;gap:6px}.step-nav button{display:flex;align-items:center;gap:10px;width:100%;text-align:left;padding:12px;border-radius:14px;color:#e8f6ff;background:transparent;border:1px solid transparent}.step-nav button.is-active{background:linear-gradient(135deg,rgba(72,200,176,.24),rgba(75,142,255,.16));border-color:rgba(72,200,176,.55);color:#fff;box-shadow:0 10px 28px rgba(72,200,176,.16);transform:translateX(3px)}.step-nav span{display:grid;place-items:center;width:28px;height:28px;border-radius:10px;background:linear-gradient(135deg,#10372f,#48c8b0);color:#eafffb;font-size:13px}.step-nav small{display:block;color:var(--muted);font-weight:750}.help-card{padding:16px}.help-card p{margin:6px 0 0;color:var(--muted);font-size:13px}.workspace{min-width:0}.step-page{display:none;margin:0 0 18px;padding:24px;border:1px solid var(--line);border-radius:var(--radius);background:linear-gradient(180deg,rgba(19,24,35,.96),rgba(14,17,24,.98));box-shadow:var(--shadow)}.step-page.is-active{display:block}.section-head{display:flex;gap:16px;justify-content:space-between;align-items:flex-start;margin-bottom:16px}.section-head h2{margin:0 0 6px;font-size:30px;line-height:1.12;letter-spacing:-.025em}.muted{color:var(--muted);margin:0}.guide-box{border:1px solid rgba(72,200,176,.22);border-radius:16px;background:rgba(72,200,176,.08);padding:14px;color:#cff7f1;margin:0 0 14px}.grid{display:grid;gap:12px;margin-bottom:12px}.grid.two{grid-template-columns:repeat(2,1fr)}.grid.three{grid-template-columns:repeat(3,1fr)}label{display:block;font-weight:850;color:#e8f6ff}input,textarea,select{width:100%;margin-top:6px;padding:10px 11px;border:1px solid rgba(255,255,255,.10);border-radius:12px;background:rgba(7,9,15,.72);color:var(--ink);outline:none}input:focus,textarea:focus,select:focus{border-color:rgba(72,200,176,.62);box-shadow:0 0 0 4px rgba(72,200,176,.12)}textarea{min-height:96px;resize:vertical}.cards{display:grid;gap:14px}.card{border:1px solid var(--line);border-radius:20px;background:rgba(17,23,34,.92);padding:16px}.card-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.card-head strong{font-size:20px;letter-spacing:-.02em}.asset-hints{display:grid;grid-template-columns:repeat(6,1fr);gap:10px;margin-bottom:14px}.asset-hints button{text-align:left;background:rgba(72,200,176,.08);border:1px solid rgba(72,200,176,.20);color:#eafffb}.vuln-picker{display:grid;grid-template-columns:1fr 2fr 1fr auto;gap:12px;align-items:end;margin-bottom:14px}.vuln-card{border-left:7px solid var(--orange)}.vuln-card[data-cat="Teknologisk"]{border-left-color:var(--blue)}.vuln-card[data-cat="Menneskelig"]{border-left-color:var(--teal)}.vuln-card[data-cat="Organisatorisk"]{border-left-color:var(--orange)}.pill-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.pill{display:inline-flex;gap:5px;align-items:center;padding:5px 9px;border-radius:999px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.10);color:#d7e7f4;font-size:12px;font-weight:850}.scenario-grid{display:grid;grid-template-columns:1fr;gap:14px}.scenario-card{position:relative;overflow:hidden;border:1px solid rgba(255,255,255,.10);border-radius:20px;background:linear-gradient(180deg,rgba(21,29,42,.96),rgba(12,18,28,.98));padding:16px}.scenario-card:before{content:"";position:absolute;inset:0 0 auto 0;height:5px;background:linear-gradient(90deg,var(--red),var(--orange),var(--teal))}.scenario-card h3{margin:10px 0 8px;font-size:19px;line-height:1.16}.score{display:flex;gap:8px;flex-wrap:wrap}.score span{padding:6px 9px;border-radius:999px;border:1px solid rgba(255,255,255,.22);color:#fff;font-size:12px;font-weight:900}.scenario-card label{margin-top:12px;font-size:13px}.scenario-card textarea{min-height:74px}.empty{border:1px dashed rgba(255,255,255,.16);border-radius:18px;background:rgba(255,255,255,.035);padding:18px;color:var(--muted)}#reportOutput{min-height:560px;max-height:760px;overflow:auto;margin:0;padding:18px;border-radius:18px;background:#0d172a;color:#eaf2ff;white-space:pre-wrap;font:13px/1.55 ui-monospace,SFMono-Regular,Consolas,monospace}.wizard-actions{display:flex;justify-content:space-between;gap:12px;margin-top:12px}
@media(max-width:1080px){.app-layout{grid-template-columns:1fr}.sidebar{position:static}.step-nav{grid-template-columns:repeat(3,1fr)}.asset-hints{grid-template-columns:repeat(3,1fr)}.vuln-picker{grid-template-columns:1fr 1fr}.vuln-picker button{grid-column:1/-1}}@media(max-width:760px){.shell{width:min(100% - 20px,1240px);padding-top:14px}.hero,.section-head{display:block}.hero-actions,.button-row{margin-top:14px}.grid.two,.grid.three,.asset-hints,.step-nav,.vuln-picker{grid-template-columns:1fr}.wizard-actions{display:grid}}
@media print{body{background:#fff;color:#000}.hero,.notice,.sidebar,.wizard-actions,.button-row{display:none!important}.app-layout,.shell{display:block;width:100%;padding:0}.step-page{display:block!important;box-shadow:none;border:0;background:#fff;color:#000;padding:0;margin:0 0 18px}#reportOutput{max-height:none;min-height:0;color:#000;background:#fff;padding:0}.card,.scenario-card{break-inside:avoid;background:#fff;color:#000;border-color:#aaa}}

.scoring-grid{margin-top:14px}.scenario-score-edit{margin-top:12px}.scenario-card details{margin:12px 0;padding:10px 12px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.04)}.scenario-card summary{cursor:pointer;font-weight:900;color:#cff7f1}.scenario-card details p{margin:8px 0 0;color:#cbd8e6;font-size:13px}.risk-matrix-wrap{margin:18px 0 22px}.matrix-shell{padding:16px;border:1px solid rgba(255,255,255,.10);border-radius:22px;background:linear-gradient(180deg,rgba(255,255,255,.055),rgba(255,255,255,.025));overflow:auto}.matrix-title{text-align:center;margin:0 0 10px;color:#dce9f8;font-weight:950;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.matrix-grid-ui{position:relative;min-width:820px;display:grid;grid-template-columns:112px repeat(5,minmax(118px,1fr));gap:4px}.axis-y{position:absolute;left:-14px;top:50%;transform:translate(-50%,-50%) rotate(-90deg);color:#dce9f8;font-weight:950;text-transform:uppercase;letter-spacing:.08em;font-size:12px}.corner,.axis-head,.matrix-cell{border-radius:12px;border:1px solid rgba(255,255,255,.10)}.corner{background:rgba(255,255,255,.04)}.axis-head{display:grid;place-items:center;min-height:58px;padding:7px;text-align:center;background:rgba(7,9,15,.76);font-weight:950;color:#fff}.axis-head small{display:block;margin-top:2px;color:#aebdcc;font-size:11px;font-weight:800;line-height:1.12}.axis-head.row{justify-items:end;text-align:right;padding-right:12px}.matrix-cell{position:relative;min-height:96px;padding:8px;background:#344}.matrix-meta{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}.matrix-meta strong{font-size:12px;line-height:1.1;color:#fff}.matrix-meta span{font-size:13px;font-weight:950;color:rgba(255,255,255,.90)}.matrix-dot{display:inline-grid;place-items:center;width:27px;height:27px;margin:7px 5px 0 0;padding:0;border-radius:999px;background:rgba(7,9,15,.80);border:1px solid rgba(255,255,255,.30);color:#fff;font-size:12px;font-weight:950;box-shadow:0 8px 18px rgba(0,0,0,.22)}.matrix-dot:hover{transform:scale(1.06)}.very-low{background:linear-gradient(135deg,#2f7d32,#72b34b)}.low{background:linear-gradient(135deg,#6eaa3d,#bfd251)}.medium{background:linear-gradient(135deg,#d0b23e,#f1b345)}.high{background:linear-gradient(135deg,#df8a36,#e55d35)}.very-high{background:linear-gradient(135deg,#d6523b,#b93235)}.extreme{background:linear-gradient(135deg,#bd3438,#7b1d2a)}.scenario-card.risk-very-low:before{background:#72b34b}.scenario-card.risk-low:before{background:#bfd251}.scenario-card.risk-medium:before{background:#f1b345}.scenario-card.risk-high:before{background:#e55d35}.scenario-card.risk-very-high:before{background:#b93235}.scenario-card.risk-extreme:before{background:#7b1d2a}@media(max-width:760px){.matrix-grid-ui{min-width:720px}.matrix-shell{padding:10px}.axis-y{display:none}}@media print{.matrix-shell{background:#fff;color:#000;border-color:#aaa}.axis-head,.corner{background:#f4f4f4;color:#000}.axis-head small{color:#333}.matrix-cell{color:#000}.matrix-meta strong,.matrix-meta span{color:#000}.matrix-dot{background:#fff;color:#000;border-color:#444}}
.matrix-dot.is-unselected{opacity:.38;filter:grayscale(.65);border-style:dashed}
.scenario-sentence{margin:10px 0 12px;padding:13px 14px;border:1px solid rgba(72,200,176,.30);border-radius:16px;background:rgba(72,200,176,.09);color:#f4fbff;font-size:16px;font-weight:400}.factor-chain{display:grid;gap:7px;margin:10px 0 12px}.factor-chain span{display:block;padding:8px 10px;border-radius:12px;background:rgba(255,255,255,.055);border:1px solid rgba(255,255,255,.09);color:#cbd8e6;font-size:12px;font-weight:400}
.vuln-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.vuln-picker button{grid-column:1/-1;justify-self:start}.vuln-card .pill:nth-child(2){background:rgba(72,200,176,.12);border-color:rgba(72,200,176,.24);color:#d8fff8}
label,.grid label,.vuln-picker label,.asset-card label,.vuln-card label,.scenario-card label,.scenario-score-edit label{font-weight:400}input,textarea,select,option{font-weight:400!important}
.asset-hints{grid-template-columns:repeat(7,1fr)}
.mitigation-card{border-left:7px solid rgba(72,200,176,.75)}.mitigation-options{display:grid;gap:8px;margin:12px 0}.mitigation-option{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(255,255,255,.045);color:#dce9f8}.mitigation-option input{width:auto;margin:3px 0 0;accent-color:var(--teal)}.mitigation-option span{font-weight:400}.risk-transition,.risk-move{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.risk-transition{margin:10px 0 12px}.risk-transition>span,.risk-move>span{font-weight:900;color:#fff}.risk-badge{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;color:#fff;border:1px solid rgba(255,255,255,.22);font-size:12px;font-weight:900}.risk-move-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:8px;margin:0 0 14px}.risk-move{padding:8px 10px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(7,9,15,.42)}.risk-move strong{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,255,255,.14)}.risk-move small{flex-basis:100%;color:#aebdcc}.matrix-legend{display:flex;gap:10px;align-items:center;justify-content:center;margin:0 0 12px;color:#dce9f8}.legend-dot{width:16px;height:16px;border-radius:50%;display:inline-block;border:2px solid #fff}.matrix-before-after{display:flex;gap:5px;flex-wrap:wrap}.matrix-dot.old-risk{border-color:#fff;background:rgba(7,9,15,.82)}.matrix-dot.new-risk{border-color:#101820;background:#48c8b0;color:#06120f;min-width:34px}.old-risk.legend-dot{background:rgba(7,9,15,.82)}.new-risk.legend-dot{background:#48c8b0}.asset-card [data-k="otherTypeDescription"]{font-weight:400!important}@media(max-width:1080px){.asset-hints{grid-template-columns:repeat(3,1fr)}}@media(max-width:760px){.asset-hints{grid-template-columns:1fr}.risk-move-list{grid-template-columns:1fr}}

.add-action{background:linear-gradient(135deg,#064e3b,#0f9f6e 58%,#48c8b0);color:#ecfffb;border:1px solid rgba(72,200,176,.46);box-shadow:0 14px 30px rgba(72,200,176,.18)}

.is-hidden{display:none!important}

.full-row{grid-column:1/-1}

.matrix-dots{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.matrix-dots .matrix-dot{margin:0}

.score-badge.level-1{background:linear-gradient(135deg,#2f7d32,#1f5d24)}.score-badge.level-2{background:linear-gradient(135deg,#6eaa3d,#bfd251)}.score-badge.level-3{background:linear-gradient(135deg,#d0b23e,#f1b345)}.score-badge.level-4{background:linear-gradient(135deg,#df8a36,#e55d35)}.score-badge.level-5{background:linear-gradient(135deg,#d6523b,#b93235)}

.scenario-select{display:flex;justify-content:center;align-items:center;margin:0 0 6px}.scenario-select input{width:26px;height:26px;margin:0;accent-color:#48c8b0}

.bottom-action-row{display:flex;justify-content:flex-end;margin:16px 0 0;padding-top:14px;border-top:1px solid rgba(255,255,255,.08)}
.button-row .is-active{border-color:rgba(72,200,176,.55);background:linear-gradient(135deg,rgba(72,200,176,.22),rgba(75,142,255,.12));color:#fff}
.print-menu{position:relative;display:inline-flex}.print-menu-list{position:absolute;right:0;top:calc(100% + 8px);z-index:20;min-width:260px;padding:8px;border:1px solid rgba(56,189,248,.32);border-radius:16px;background:linear-gradient(180deg,rgba(9,22,36,.98),rgba(6,14,24,.98));box-shadow:0 18px 44px rgba(0,0,0,.34)}.print-menu-list button{display:block;width:100%;text-align:left;margin:0;padding:11px 12px;color:#effaff;background:transparent;border:1px solid transparent}.print-menu-list button:hover,.print-menu-list button:focus{outline:none;transform:none;background:rgba(56,189,248,.14);border-color:rgba(56,189,248,.28)}
.report-text{background:#fff!important;color:#000!important;border:1px solid #d7dce2!important;border-radius:14px!important;box-shadow:0 12px 32px rgba(0,0,0,.18);font-size:13px;line-height:1.6}
.visual-report{display:grid;gap:18px}.visual-report-document{display:grid;gap:18px;color:var(--ink)}.report-cover{padding:24px;border:1px solid rgba(72,200,176,.28);border-radius:22px;background:linear-gradient(135deg,rgba(72,200,176,.15),rgba(75,142,255,.08));box-shadow:0 16px 40px rgba(0,0,0,.24)}.report-cover h2{margin:0 0 12px;font-size:34px;line-height:1.06;color:#fff;letter-spacing:-.03em}.report-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}.report-meta-grid span{display:block;padding:12px 14px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(7,9,15,.48);color:#e8f6ff;font-weight:750}.report-section{padding:20px;border:1px solid rgba(255,255,255,.08);border-radius:18px;background:rgba(13,23,42,.86);break-inside:avoid;page-break-inside:avoid}.report-section h3{margin:0 0 14px;color:#fff;font-size:24px;letter-spacing:-.02em}.report-section h4{margin:16px 0 10px;color:#cff7f1;font-size:16px}.report-section p{color:#cbd8e6}.report-note{margin-top:12px;padding:12px;border-radius:12px;background:rgba(255,154,60,.08);color:#f7dfc8}.report-mitigation-list{margin:10px 0 12px;padding-left:20px;color:#dce9f8}.report-mitigation-list li{margin:6px 0}.report-matrix{margin-top:8px}.visual-report .matrix-grid-ui{min-width:760px}.visual-report .scenario-card,.visual-report .mitigation-card{break-inside:avoid;page-break-inside:avoid}
@media(max-width:760px){.report-meta-grid{grid-template-columns:1fr}.bottom-action-row{justify-content:stretch}.bottom-action-row button{width:100%}}
@media print{*{print-color-adjust:exact;-webkit-print-color-adjust:exact}body.print-text-report{background:#fff;color:#000}.print-text-report .hero,.print-text-report .notice,.print-text-report .sidebar,.print-text-report .wizard-actions,.print-text-report .button-row,.print-text-report .step-page:not([data-step="5"]),.print-text-report #visualReportOutput{display:none!important}.print-text-report #reportOutput{display:block!important;max-height:none;min-height:0;padding:0!important;border:0!important;box-shadow:none!important;background:#fff!important;color:#000!important}.print-text-report .app-layout,.print-text-report .workspace,.print-text-report .shell,.print-text-report .step-page[data-step="5"]{display:block!important;width:100%;padding:0;margin:0;border:0;box-shadow:none;background:#fff;color:#000}.print-visual-report{background:#07090f;color:var(--ink)}.print-visual-report .hero,.print-visual-report .notice,.print-visual-report .sidebar,.print-visual-report .wizard-actions,.print-visual-report .button-row,.print-visual-report .step-page:not([data-step="5"]),.print-visual-report #reportOutput{display:none!important}.print-visual-report #visualReportOutput{display:grid!important}.print-visual-report .app-layout,.print-visual-report .workspace,.print-visual-report .shell,.print-visual-report .step-page[data-step="5"]{display:block!important;width:100%;padding:0;margin:0;border:0;box-shadow:none;background:#07090f;color:var(--ink)}.print-visual-report .section-head{display:none}.print-visual-report .visual-report-document{display:grid;gap:18px}.print-visual-report .matrix-shell{overflow:visible}.print-visual-report .matrix-grid-ui{min-width:0;grid-template-columns:96px repeat(5,1fr)}.print-visual-report .scenario-card,.print-visual-report .mitigation-card,.print-visual-report .report-section{break-inside:avoid;page-break-inside:avoid}}


.report-meta-stack{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}.report-meta-stack span{display:block;padding:12px 14px;border:1px solid rgba(255,255,255,.09);border-radius:14px;background:rgba(7,9,15,.48);color:#e8f6ff;font-weight:750}

.report-linked-mitigations{margin-top:14px;padding:14px;border:1px solid rgba(72,200,176,.18);border-radius:16px;background:rgba(7,9,15,.34)}.report-linked-mitigations h4{margin:0 0 10px;color:#cff7f1;font-size:16px}

.matrix-shell{padding-left:52px}.axis-y{left:-26px;z-index:3;text-shadow:0 2px 8px rgba(0,0,0,.65)}@media(max-width:760px){.matrix-shell{padding-left:10px}}

/* Dark visual report: keep report colours aligned with the form UI. */
#visualReportOutput,
.visual-report,
.visual-report-document {
  color: var(--ink);
}

.visual-report-document {
  background: transparent;
}

.report-cover,
.report-section,
.visual-report .scenario-card,
.visual-report .mitigation-card {
  border-color: var(--line);
  background: linear-gradient(180deg, rgba(19,24,35,.96), rgba(14,17,24,.98));
  box-shadow: var(--shadow);
}

.report-cover {
  border-color: rgba(72,200,176,.32);
}

.report-section p,
.report-mitigation-list,
.report-mitigation-list li {
  color: #dce9f8;
}

.report-linked-mitigations,
.report-meta-grid span,
.report-meta-stack span {
  border-color: rgba(255,255,255,.09);
  background: rgba(7,9,15,.58);
  color: #e8f6ff;
}

.visual-report .matrix-shell {
  border-color: rgba(255,255,255,.10);
  background: linear-gradient(180deg, rgba(255,255,255,.055), rgba(255,255,255,.025));
}

.risk-badge.unset {
  background: rgba(255,255,255,.07);
  color: #dce9f8;
  border-color: rgba(255,255,255,.18);
}

/* Dark report fields and explicit before/after score labels. */
#reportOutput.report-text,
.report-text {
  background: #0d172a !important;
  color: #eaf2ff !important;
  border: 1px solid rgba(255,255,255,.10) !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.02), 0 12px 32px rgba(0,0,0,.22) !important;
}

.score-context {
  display: inline-flex;
  margin: 12px 0 7px;
  padding: 5px 10px;
  border: 1px solid rgba(72,200,176,.26);
  border-radius: 999px;
  background: rgba(72,200,176,.10);
  color: #cff7f1;
  font-size: 12px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.report-linked-mitigations .score {
  margin-bottom: 12px;
}

/* X-axis label belongs below the risk matrix grid. */
.axis-x {
  margin-top: 10px;
  text-align: center;
  color: #dce9f8;
  font-weight: 950;
  text-transform: uppercase;
  letter-spacing: .08em;
  font-size: 12px;
}

@media print {
  body.print-text-report #reportOutput.report-text,
  body.print-text-report #reportOutput {
    display: block !important;
    max-height: none !important;
    min-height: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    box-shadow: none !important;
    background: #fff !important;
    color: #000 !important;
  }
  body.print-text-report #visualReportOutput { display: none !important; }
  body.print-visual-report #reportOutput { display: none !important; }
  body.print-visual-report #visualReportOutput { display: grid !important; }
  .print-menu-list { display: none !important; }
}
