:root{font-family:Inter,"Segoe UI",Arial,sans-serif;color:#173044;background:#f3f5f6;font-size:14px;--navy:#102c40;--blue:#155f90;--teal:#126f70;--line:#dae2e6;--muted:#647783;--amber:#9b641e;--red:#9a4841}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,textarea,select{outline-offset:4px}button{cursor:pointer}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button{border:1px solid var(--line);background:white;color:var(--navy);border-radius:7px;padding:9px 13px}button:hover{background:#eaf1f5;border-color:#aec2cc}button:disabled{cursor:not-allowed;opacity:.5}.primary{background:var(--navy);color:white;border-color:var(--navy)}.primary:hover{background:#1d4d67;color:white}.small{font-size:12px;padding:6px 9px}.shell{display:grid;grid-template-columns:234px minmax(0,1fr);min-height:100vh}.sidebar{background:var(--navy);color:#d7e4eb;padding:30px 18px 22px;display:flex;flex-direction:column;position:sticky;top:0;height:100vh}.brand{padding:0 14px 30px}.brand strong{font-size:31px;letter-spacing:4px;color:white}.brand small{display:block;font-size:10px;letter-spacing:1.7px;color:#89b6c6;margin-top:7px}.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:1.4px;padding:12px;color:#87a6b7}.nav{display:grid;gap:4px}.nav button{border:0;background:transparent;color:#c9d9e3;text-align:left;padding:12px 13px;border-radius:6px;display:flex;align-items:center;gap:11px;font-size:13px}.nav button.active{background:#24475d;color:white;box-shadow:inset 3px 0 #8ad4dc}.nav button:hover{background:#1b3c51}.nav svg{width:18px;height:18px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.6}.sidebar-bottom{margin-top:auto;font-size:11px;color:#8eadbc;line-height:1.8;padding:24px 12px 0}.sidebar-bottom strong{color:#cde2e9;font-weight:500}.status-dot{display:inline-block;width:6px;height:6px;background:#85c2c4;border-radius:100%;margin-right:7px}.main{min-width:0}.topbar{height:69px;background:white;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;padding:0 34px;gap:16px}.breadcrumb{font-size:12px;color:var(--muted)}.breadcrumb b{color:var(--navy);font-weight:500}.account{display:flex;gap:12px;align-items:center;font-size:11px}.avatar{width:29px;height:29px;display:grid;place-items:center;border-radius:50%;background:#edf3f6;color:var(--blue);font-weight:600}.workspace{padding:30px 34px 45px;max-width:1570px;margin:0 auto}.page-title{display:flex;justify-content:space-between;gap:20px;align-items:start;margin-bottom:23px}.eyebrow{font-size:10px;text-transform:uppercase;letter-spacing:1.6px;color:var(--teal);font-weight:600;margin-bottom:8px}h1{font-size:28px;letter-spacing:-.7px;font-weight:620;line-height:1.25;margin:0 0 8px}h2{font-size:17px;font-weight:600;letter-spacing:-.2px;margin:0}h3{font-size:15px;line-height:1.5;margin:0 0 7px;font-weight:600}p{line-height:1.65;margin:6px 0 12px}.muted{color:var(--muted)}.subtitle{color:var(--muted);font-size:13px;margin:0}.periods{display:flex;gap:2px;border:1px solid var(--line);background:white;border-radius:7px;padding:3px;flex-shrink:0}.periods button{padding:7px 10px;font-size:12px;border:0;background:transparent;color:var(--muted)}.periods button.active{background:#eaf1f5;color:var(--navy);font-weight:600}.notice{display:flex;align-items:start;gap:12px;background:#f7f0e5;border:1px solid #e9dbbf;border-radius:8px;padding:12px 16px;margin-bottom:21px;color:#795624;font-size:12px;line-height:1.6}.notice.neutral{background:#eaf2f5;color:#365f75;border-color:#d0e1e9}.notice strong{font-weight:600}.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:15px;margin-bottom:24px}.stat{background:white;border:1px solid var(--line);border-radius:9px;padding:18px 19px}.stat-label{font-size:11px;color:var(--muted)}.stat-value{font-size:31px;line-height:1.5;font-weight:600;letter-spacing:-1px}.stat-value em{font-size:13px;font-style:normal;color:var(--muted);letter-spacing:0;margin-left:6px}.stat-foot{font-size:11px;color:var(--muted)}.grid-main{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(260px,1fr);gap:21px;align-items:start}.panel{background:white;border:1px solid var(--line);border-radius:9px;overflow:hidden;margin-bottom:20px}.panel-head{display:flex;justify-content:space-between;align-items:center;padding:19px 21px;border-bottom:1px solid var(--line);gap:12px}.panel-body{padding:20px 21px}.text-link{border:0;padding:0;background:none;color:var(--blue);font-size:11px}.signal-row{width:100%;border:0;border-radius:0;background:white;display:block;text-align:left;padding:18px 21px;border-bottom:1px solid #e6ecef}.signal-row:last-child{border-bottom:0}.signal-row:hover{background:#f7fafb}.row-meta{display:flex;flex-wrap:wrap;gap:7px;align-items:center;font-size:10px;color:var(--muted);margin-bottom:9px}.signal-row h3{font-size:14px;margin-bottom:6px}.signal-row p{font-size:12px;color:#57707e;margin:0;line-height:1.65}.tag{border:1px solid #d4e0e5;background:#f6f9fa;padding:3px 7px;border-radius:4px;font-size:10px;display:inline-block;line-height:1.4;color:#456476}.tag.amber{background:#faf2e5;color:var(--amber);border-color:#ead7b5}.tag.teal{background:#e8f3f1;color:var(--teal);border-color:#cce4df}.tag.red{background:#f8eded;color:var(--red);border-color:#eacccc}.card-bottom{display:flex;gap:10px;align-items:center;margin-top:10px;font-size:10px;color:var(--muted)}.country-row{padding:17px 21px;border-bottom:1px solid #e6ecef}.country-row:last-child{border:0}.country-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.country-heading b{font-size:13px}.country-code{width:28px;height:24px;border:1px solid var(--line);border-radius:4px;font-size:10px;display:inline-grid;place-items:center;margin-right:8px;color:var(--blue)}.country-stats{display:flex;gap:14px;justify-content:space-between;font-size:11px;color:var(--muted)}.country-stats strong{color:#395969}.bar{height:4px;background:#edf1f3;border-radius:4px;margin-top:10px;overflow:hidden}.bar span{display:block;height:4px;background:#72a7b7;width:100%}.section-label{font-size:10px;color:var(--muted);letter-spacing:1px;text-transform:uppercase;margin-bottom:8px}.two-cols{display:grid;grid-template-columns:1fr 1fr;gap:17px}.impact{padding:14px 16px;background:#f4f7f9;border-radius:6px;line-height:1.7;font-size:12px}.impact h4{font-size:11px;letter-spacing:.5px;margin:0 0 7px;color:var(--blue)}.impact p{margin:0}.filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:18px}.filters input{flex:1;min-width:180px}.filters input,.filters select,input,select,textarea{border:1px solid #ccd9df;background:white;border-radius:6px;color:var(--navy);padding:10px 12px}textarea{resize:vertical;min-height:95px;width:100%;line-height:1.6}.tabs{display:flex;gap:5px;border-bottom:1px solid var(--line);margin-bottom:20px}.tabs button{border:0;border-radius:0;background:transparent;color:var(--muted);padding:12px 16px}.tabs button.active{color:var(--blue);box-shadow:inset 0 -2px var(--blue)}.table-wrap{overflow:auto}table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}th{font-size:10px;color:var(--muted);font-weight:500;background:#f8fafb;text-transform:uppercase;letter-spacing:.4px}td,th{padding:13px 16px;border-bottom:1px solid #e7edf0;vertical-align:top}td p{margin:3px 0;font-size:11px;color:var(--muted)}tr:last-child td{border-bottom:0}.empty{padding:30px 22px;color:var(--muted);text-align:center;font-size:13px;line-height:1.8}.cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.scenario{padding:23px 21px}.scenario-number{font-size:10px;letter-spacing:1px;color:var(--teal);margin-bottom:14px}.scenario p,.scenario li{font-size:12px;color:#516c7b;line-height:1.7}.scenario ul{padding-left:18px}.scenario h4{font-size:11px;margin:17px 0 6px}.horizons{display:flex;gap:7px;margin:15px 0}.relations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.relation{padding:19px 21px;background:white;border:1px solid var(--line);border-radius:9px}.relation h3{font-size:14px}.relation p{font-size:12px;color:#56717f}.relation-unknown{border-style:dashed;background:#f7f9fa}.qa-form{padding:22px}.qa-form label{display:block;font-weight:600;font-size:14px;margin-bottom:11px}.qa-footer{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-top:12px;font-size:11px;color:var(--muted)}.suggestions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.suggestions button{font-size:11px;background:#f5f8fa}.answer{padding:23px;font-size:13px;line-height:1.8}.answer h3{margin-top:20px}.answer ol{padding-left:20px}.answer li{padding-bottom:12px}.evidence-link{color:var(--blue);background:#f1f6f9;border:1px solid #d6e4ec;border-radius:5px;font-size:11px;line-height:1.6;text-align:left;margin:4px 3px 4px 0;max-width:100%}.detail-head{display:flex;gap:20px;align-items:start;justify-content:space-between;border-bottom:1px solid var(--line);padding-bottom:18px;margin-bottom:20px}.detail-head h2{font-size:21px;line-height:1.5}.detail-section{margin-top:23px}.detail-section h3{font-size:12px;text-transform:uppercase;letter-spacing:.5px}.detail-section ul{padding-left:18px;color:#486879;font-size:13px;line-height:1.8}.detail-footer{display:flex;gap:10px;flex-wrap:wrap;margin-top:22px;padding-top:18px;border-top:1px solid var(--line)}dialog{border:1px solid var(--line);border-radius:12px;width:min(880px,94vw);max-height:90vh;padding:27px;color:var(--navy);box-shadow:0 20px 80px #102c4040}dialog::backdrop{background:#102c4080}.quote{border-left:3px solid #86b5c5;background:#f3f7f9;padding:15px 18px;margin:10px 0;font-size:14px;line-height:1.7}.key-values{display:grid;grid-template-columns:150px 1fr;font-size:12px;gap:12px;line-height:1.5}.key-values dt{color:var(--muted)}.key-values dd{margin:0;overflow-wrap:anywhere}.login{max-width:390px;margin:12vh auto;padding:30px;background:white;border:1px solid var(--line);border-radius:12px}.login input{width:100%;margin:7px 0 15px}.login label{font-size:12px}.login button{width:100%;margin-top:6px}.loading{padding:20vh 20px;text-align:center;color:var(--muted)}#toast{position:fixed;bottom:25px;left:50%;transform:translateX(-50%);max-width:90vw;border-radius:8px;background:var(--navy);color:white;padding:13px 22px;z-index:10;display:none;box-shadow:0 8px 28px #102c4030}.inline-form{display:flex;gap:10px;flex-wrap:wrap}.inline-form input{min-width:150px;flex:1}.file-note{font-size:11px;line-height:1.7;color:var(--muted);margin-top:22px}.review-note{margin-top:15px}.pending-marker{display:inline-flex;width:6px;height:6px;background:#c08c41;border-radius:50%}.unavailable{color:var(--muted);font-size:22px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
@media(min-width:1450px){.workspace{padding:35px 48px}.topbar{padding:0 48px}.signal-row{padding:22px}.stat{padding:21px}}
@media(max-width:1100px){.shell{grid-template-columns:205px 1fr}.workspace{padding:24px}.topbar{padding:0 24px}.stats{gap:10px}.stat{padding:13px}.grid-main{grid-template-columns:1fr}.cards{grid-template-columns:1fr}.page-title{flex-wrap:wrap}.two-cols{gap:10px}}
@media(max-width:740px){.shell{display:block}.sidebar{position:relative;height:auto;padding:16px}.brand{padding:0 8px 12px}.brand strong{font-size:23px}.brand small,.nav-label,.sidebar-bottom{display:none}.nav{display:flex;overflow:auto}.nav button{white-space:nowrap;padding:10px}.nav svg{display:none}.topbar{height:54px;padding:0 17px}.workspace{padding:22px 16px}.stats{grid-template-columns:1fr 1fr}.two-cols,.relations{grid-template-columns:1fr}h1{font-size:25px}.account>span{display:none}.periods{width:100%;justify-content:space-between}.panel-head{padding:16px}.panel-body{padding:16px}dialog{padding:20px}.key-values{grid-template-columns:1fr;gap:5px}.key-values dd{margin-bottom:9px}}
@media print{.sidebar,.topbar,.periods,.filters,button,.qa-form,.notice,#toast{display:none!important}.shell{display:block}.workspace{padding:0}.panel,.relation{break-inside:avoid}.grid-main,.cards{display:block}.panel{border-color:#aaa}body{background:white;color:black}dialog{position:static;max-height:none;box-shadow:none;width:100%;border:0}.stat{padding:8px}.stat-value{font-size:24px}}
