
:root{--bg:#0d1820;--panel:#14232e;--line:#2b414d;--muted:#9eb2bf;--text:#ecf2f5;--accent:#a9e8c5;--orange:#ffbd78;--red:#ff9292;font-family:system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;color:var(--text);background:var(--bg);font-size:16px;line-height:1.6}*{box-sizing:border-box}body{margin:0}header{border-bottom:1px solid var(--line);padding:20px 4vw;display:flex;justify-content:space-between;align-items:center;gap:12px}.brand{color:var(--text);font-weight:800;letter-spacing:.15em;text-decoration:none}.brand span{font-size:12px;color:var(--muted);display:block;letter-spacing:.12em}.header-right{display:flex;align-items:center;gap:20px}.pill,.eyebrow{font-size:12px;letter-spacing:.12em;font-weight:700;color:var(--accent)}.pill{border:1px solid var(--line);padding:6px 12px;border-radius:30px}main{max-width:1600px;margin:auto;padding:36px 4vw}.title{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px}h1{font-size:clamp(30px,4vw,54px);line-height:1.1;letter-spacing:-.035em;margin:10px 0 12px}h2{font-size:23px;letter-spacing:-.02em;margin:0 0 16px}h3{font-size:19px;margin:0 0 12px}.intro{color:var(--muted);margin:0}.workspace{display:grid;grid-template-columns:330px minmax(0,1fr);gap:30px}.controls section{background:var(--panel);border:1px solid var(--line);padding:22px;margin-bottom:20px;border-radius:10px}.eyebrow{margin:0 0 18px}label{display:block;font-size:14px;color:var(--muted);margin:14px 0 5px}input,select,textarea{width:100%;display:block;font:inherit;background:#0b1720;border:1px solid #405462;border-radius:5px;padding:10px 11px;color:var(--text);margin-top:6px}textarea{min-height:80px;resize:vertical}button{font:inherit;font-size:14px;line-height:1.3;border:1px solid var(--line);color:var(--text);background:#213643;padding:11px 14px;border-radius:5px;cursor:pointer}button:hover{border-color:var(--accent)}button:disabled{opacity:.45;cursor:not-allowed}.primary{background:var(--accent);color:#0b2116;font-weight:700;border-color:var(--accent)}.outline{background:transparent}.full{width:100%;margin-top:18px}.textbtn{border:0;background:transparent;color:var(--accent);padding-left:0;text-align:left}.inputrow{display:flex;gap:8px;align-items:end}.inputrow input{min-width:0}.two{display:grid;grid-template-columns:1fr 1fr;gap:0 12px}.two label{min-width:0;font-size:13px}.hint{font-size:12px;color:var(--muted)}.upload{border:1px dashed #507083;padding:18px 12px;text-align:center;color:var(--text);cursor:pointer}.upload small{display:block;color:var(--muted)}.match{width:100%;text-align:left;margin-top:8px;font-size:14px}.match small{display:block;color:var(--muted)}.selected-item{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding:8px 0;font-size:14px}.selected-item small{display:block;color:var(--muted)}.selected-item button{padding:5px 10px}.results{min-width:0}#notice{font-size:14px;padding:12px 15px;background:#172c35;border-left:3px solid var(--accent);margin-bottom:22px;white-space:pre-line}.error{border-left-color:var(--red)!important;color:var(--red)}.resultbar{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.resultbar h2{margin:0}.resultbar button{margin:3px}.empty{min-height:440px;border:1px solid var(--line);border-radius:10px;padding:45px;background:linear-gradient(135deg,#192f3a,#12212a)}.empty h2{font-size:32px;line-height:1.4}.empty p{max-width:600px;color:var(--muted)}.empty-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-top:40px}.empty-grid b{color:var(--accent);font-size:24px}.card{border:1px solid var(--line);background:var(--panel);padding:24px;border-radius:8px;margin:0 0 22px}.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:14px;margin:20px 0}.kpi{border:1px solid var(--line);padding:16px;border-radius:8px;background:var(--panel)}.kpi span{display:block;font-size:12px;color:var(--muted)}.kpi b{font-size:23px;font-weight:600;display:block;margin-top:6px}.badge{font-size:12px;display:inline-block;padding:4px 8px;border-radius:4px;background:#384035;color:#ffe2a5}.dated{color:var(--orange);background:#35291c;padding:16px;border:1px solid #72522e;border-radius:5px}.scroll{overflow-x:auto}table{width:100%;border-collapse:collapse;font-size:14px}th{text-align:left;font-weight:600;color:var(--muted);font-size:12px}th,td{padding:14px 12px;border-bottom:1px solid var(--line);vertical-align:top}td small{display:block;color:var(--muted)}.chart{width:100%;height:auto;display:block}.chart text{font:12px system-ui;fill:var(--muted)}.chart line{stroke:var(--line)}.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12px}.legend b{display:inline-block;width:8px;height:8px;margin-right:6px}.chart-tabs{display:flex;gap:8px;margin:10px 0;flex-wrap:wrap}.active{border-color:var(--accent);color:var(--accent)}.dossier-head{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}.dossier-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}.evidence{border-top:1px solid var(--line);padding-top:14px}.evidence p{font-size:14px}.evidence label{font-size:12px}.evidence input{display:inline-block;width:auto;margin-right:8px}.evidence a,.sources a{color:var(--accent);overflow-wrap:anywhere;font-size:13px}.riskrow{display:grid;grid-template-columns:1.2fr 1fr 1fr;gap:12px;align-items:center}.riskrow label{margin:0}.riskrow input{max-width:120px}.policy p{font-size:14px}.policy b{color:var(--accent)}.method{border-top:1px solid var(--line);padding:25px 0;margin-top:30px;color:var(--muted);font-size:14px}summary{cursor:pointer;font-weight:600;color:var(--text)}footer{color:var(--muted);font-size:12px;margin-top:20px}dialog{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:10px;width:min(550px,95vw);max-height:90vh}dialog::backdrop{background:#000b}.close{float:right}.sources li{margin:10px 0}.subtle{color:var(--muted);font-size:13px}.allocbar{display:flex;height:24px;border-radius:4px;overflow:hidden;margin:16px 0}.allocbar div{min-width:0}.print-only{display:none}a{color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}@media(max-width:1000px){.workspace{grid-template-columns:280px minmax(0,1fr);gap:18px}.kpis{grid-template-columns:1fr 1fr}.dossier-grid{grid-template-columns:1fr}}@media(max-width:760px){header{padding:15px}.pill{display:none}main{padding:24px 15px}.title{display:block}.title>button{margin-top:20px}.workspace{display:block}.controls{display:grid;grid-template-columns:1fr}.empty{padding:24px;min-height:330px}.empty h2{font-size:25px}.empty-grid{gap:10px}.kpi b{font-size:20px}.card{padding:18px}.header-right button{font-size:12px}.resultbar button{font-size:12px}.riskrow{grid-template-columns:1fr 1fr 1fr}}@media print{@page{size:A4;margin:15mm}*{color:#14232e!important;background:transparent!important;border-color:#bbc8cf!important}header,.title,.controls,#notice,.resultbar,.method,footer,button,dialog,.chart-tabs,.evidence label{display:none!important}body{background:white!important}main{padding:0;max-width:none}.workspace{display:block}.card{break-inside:avoid;padding:14px;margin-bottom:18px}.dossier{break-before:page;break-inside:auto}.dossier-grid{display:block}.evidence{break-inside:avoid}h1{font-size:28px}h2{font-size:20px}.kpi b{font-size:18px}table{font-size:11px}th,td{padding:8px}.print-only{display:block}.chart{max-height:250px}a{color:#145979!important}.scroll{overflow:visible}.sources a{word-break:break-all}.allocbar div{print-color-adjust:exact;background:var(--c)!important}}

.brand span{letter-spacing:.025em;font-weight:500}.brand{letter-spacing:.12em}
[hidden]{display:none!important}
@media print{body{font-size:12px;line-height:1.45}.evidence p,.policy p{font-size:12px}.dossier-grid{column-count:2;column-gap:20px}.evidence{break-inside:avoid}.subtle{font-size:11px}.sources{font-size:11px}}

/* Branded, responsive search-readable site furniture. */
.brand{display:inline-flex;flex-direction:column;align-items:flex-start;letter-spacing:normal}
.brand-logo{width:210px;height:auto;max-width:min(48vw,210px);display:block;margin-bottom:2px}
.brand span{line-height:1.4}
.faq{max-width:900px;border-top:1px solid var(--line);margin:40px 0 16px;padding:30px 0}
.faq>p:not(.eyebrow){color:var(--muted);max-width:750px}
.faq details{border-bottom:1px solid var(--line);padding:14px 0}
.faq summary{font-size:16px}
.faq details p{margin:12px 0 2px;color:var(--muted)}
@media(max-width:760px){.brand-logo{width:165px}.brand span{font-size:10px}.faq{margin-top:26px}}
@media print{.faq{display:none!important}}

/* Optional analytics choice: compact, accessible, independent of research controls. */
.analytics-consent{position:fixed;z-index:1000;bottom:16px;left:16px;right:16px;max-width:580px;margin:0 auto;background:#14232e;border:1px solid #507083;border-radius:10px;padding:16px 18px;box-shadow:0 8px 32px #0009;font-size:14px}
.analytics-consent p{margin:0 0 12px}
.analytics-consent div{display:flex;flex-wrap:wrap;gap:10px}
.analytics-consent button{min-width:120px}
.analytics-preferences{border:0;background:transparent;padding:0;margin-left:8px;color:var(--accent);font-size:12px;text-decoration:underline}
@media print{.analytics-consent,.analytics-preferences{display:none!important}}
