@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/inter-400.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/inter-500.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/inter-600.woff2)format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/inter-700.woff2)format("woff2")}:root{--brand:#04451d;--brand-hover:#0b5c28;--brand-pressed:#033514;--accent:#b6f9a3;--accent-soft:#e9fce1;--brand-soft:#eaf2ed;--page:#f5f5f5;--card:#fdfdfd;--subtle:#ededed;--line:#dde0de;--line-strong:#d4d4d4;--ink:#171717;--ink-2:#404040;--mut:#737373;--mut-2:#a3a3a3;--inverse:#171717;--on-dark:#fdfdfd;--on-dark-mut:#a3a3a3;--on-brand-mut:#9dbba8;--warn-sf:#fffbeb;--warn-base:#f59e0b;--warn-solid:#d97706;--warn-tx:#b45309;--neg-sf:#fef2f2;--neg-base:#ef4444;--neg-solid:#dc2626;--neg-tx:#b91c1c;--pos-sf:#f0fdf4;--pos-base:#22c55e;--pos-solid:#16a34a;--pos-tx:#15803d;--info-sf:#eff6ff;--info-base:#3b82f6;--info-solid:#2563eb;--info-tx:#1d4ed8;--r-sm:6px;--r-md:10px;--r-lg:16px;--r-full:9999px;--sh-sm:0 1px 2px 0 #0000000d;--sh:0 1px 3px 0 #0000001a, 0 1px 2px -1px #0000001a;--sh-lg:0 10px 15px -3px #0000001a, 0 4px 6px -4px #0000001a;--sh-2xl:0 25px 50px -12px #00000040;--ease:cubic-bezier(.23, 1, .32, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1)}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--page);color:var(--ink);letter-spacing:-.03em;-webkit-font-smoothing:antialiased;min-height:100vh;font-family:Inter,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px;line-height:1.5;display:flex}button{font-family:inherit}.num{font-variant-numeric:tabular-nums}.ic{fill:currentColor;flex-shrink:0;width:16px;height:16px}:focus-visible{outline:2px solid var(--brand);outline-offset:2px;border-radius:var(--r-sm)}.ovl{letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:600}aside{background:var(--brand);width:232px;color:var(--on-brand-mut);flex-direction:column;flex-shrink:0;height:100vh;display:flex;position:sticky;top:0}.logo{border-bottom:1px solid #fdfdfd1f;align-items:center;gap:10px;padding:22px 20px 18px;display:flex}.logo svg.mark{width:26px;height:26px}.logo h1{color:var(--on-dark);letter-spacing:-.01em;font-size:19px;font-weight:700}.logo .lg span{letter-spacing:.08em;color:var(--on-brand-mut);text-transform:uppercase;margin-top:2px;font-size:10px;font-weight:600;display:block}nav{flex:1;padding:14px 12px}nav .navlabel{letter-spacing:.08em;color:var(--on-brand-mut);text-transform:uppercase;opacity:.8;padding:10px 12px 6px;font-size:10px;font-weight:600}nav a{border-radius:var(--r-full);color:#d9e6dd;cursor:pointer;align-items:center;gap:10px;margin-bottom:2px;padding:8px 12px;font-size:13px;font-weight:500;text-decoration:none;transition:background-color .15s,color .15s;display:flex}nav a .ic{opacity:.85;width:16px;height:16px}nav a.active{background:var(--accent);color:var(--brand);font-weight:600}nav a.active .ic{opacity:1}@media (hover:hover) and (pointer:fine){nav a:not(.active):hover{color:var(--on-dark);background:#fdfdfd14}}.user{border-top:1px solid #fdfdfd1f;padding:14px 16px}.user .row{align-items:center;gap:10px;display:flex}.user .avatar{border-radius:var(--r-full);background:var(--accent);width:32px;height:32px;color:var(--brand);justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}.user p{color:var(--on-dark);font-size:13px;font-weight:600}.user span{color:var(--on-brand-mut);font-size:11px}.rbac{color:#d9e6dd;border-radius:var(--r-full);cursor:pointer;text-align:center;border:1px solid #fdfdfd2e;margin-top:10px;padding:6px 10px;font-size:11px;transition:background-color .15s}.rbac b{color:var(--accent);font-weight:600}@media (hover:hover) and (pointer:fine){.rbac:hover{background:#fdfdfd14}}main{flex:1;min-width:0}header{background:var(--card);border-bottom:1px solid var(--line);z-index:5;flex-wrap:wrap;align-items:center;gap:12px;padding:14px 24px 12px;display:flex;position:sticky;top:0}header .title h2{letter-spacing:-.01em;font-size:24px;font-weight:700}header .divider{background:var(--line);width:1px;height:20px}header .title p{color:var(--mut);margin-top:2px;font-size:12px;font-weight:500}.refresh{color:var(--pos-tx);background:var(--pos-sf);border-radius:var(--r-full);align-items:center;gap:6px;padding:4px 12px;font-size:11.5px;font-weight:600;display:inline-flex}.refresh:before{content:"";background:var(--pos-base);border-radius:50%;width:7px;height:7px}.spacer{flex:1}.seg{background:var(--subtle);border-radius:var(--r-full);gap:2px;padding:3px;display:flex}.seg button{border-radius:var(--r-full);color:var(--mut);cursor:pointer;background:0 0;border:0;padding:6px 14px;font-size:12.5px;font-weight:600;transition:background-color .15s,color .15s}.seg button.on{background:var(--accent);color:var(--brand)}.boardpack{background:var(--brand);color:#fdfdfd;border-radius:var(--r-full);cursor:pointer;transition:background-color .15s ease, transform .12s var(--ease);border:0;align-items:center;gap:8px;padding:9px 18px;font-size:12.5px;font-weight:600;display:inline-flex}.boardpack:hover{background:var(--brand-hover)}.boardpack:active{background:var(--brand-pressed);transform:scale(.97)}.provenance{width:100%;color:var(--mut);flex-wrap:wrap;align-items:center;gap:12px;padding:8px 0 0;font-size:11.5px;font-weight:500;display:flex}.src{letter-spacing:.06em;border-radius:var(--r-full);white-space:nowrap;align-items:center;gap:5px;padding:2px 9px;font-size:10px;font-weight:700;display:inline-flex}.src-core{background:var(--subtle);color:#525252}.src-tru{background:var(--accent-soft);color:var(--brand)}.src-exo{background:var(--info-sf);color:var(--info-tx)}.wrap{width:100%;padding:20px 24px}.impact{background:var(--inverse);border-radius:var(--r-lg);color:var(--on-dark);box-shadow:var(--sh);margin-bottom:16px;padding:16px 20px}.impact .ihd{align-items:baseline;gap:10px;margin-bottom:12px;display:flex}.impact .ihd h3{letter-spacing:.08em;text-transform:uppercase;color:var(--accent);font-size:12px;font-weight:600}.impact .ihd span{color:var(--on-dark-mut);font-size:11.5px;font-weight:500}.impact .ihd .period{color:var(--on-dark);margin-left:auto;font-size:12px;font-weight:600}.igroups{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:6px;display:grid}.igroups .gl{letter-spacing:.08em;text-transform:uppercase;color:var(--on-dark-mut);font-size:10px;font-weight:600}.igroups .gl:first-child{grid-column:1/4}.imetrics{grid-template-columns:repeat(4,1fr);gap:14px;display:grid}.im{border-radius:var(--r-md);background:#262626;padding:12px 14px}.im .k{letter-spacing:.07em;text-transform:uppercase;color:var(--on-dark-mut);font-size:10px;font-weight:600}.im .v{letter-spacing:-.01em;margin-top:4px;font-size:26px;font-weight:700}.im .d{color:var(--on-dark-mut);margin-top:2px;font-size:11.5px;font-weight:500}.im .d b{color:var(--accent);font-weight:600}.im svg{width:100%;height:28px;margin-top:8px;display:block}.im polyline{fill:none;stroke:var(--accent);stroke-width:2px;vector-effect:non-scaling-stroke}.im .fillpath{fill:#b6f9a324;stroke:none}.queue{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);margin-bottom:16px;overflow:hidden}.queue .hd{background:var(--subtle);border-bottom:1px solid var(--line);align-items:center;gap:10px;padding:12px 20px;display:flex}.queue .hd h3{letter-spacing:-.01em;font-size:15px;font-weight:700}.queue .hd span{color:var(--mut);font-size:12px;font-weight:500}.queue .hd .rb{color:var(--info-tx);background:var(--info-sf);border-radius:var(--r-full);margin-left:auto;padding:4px 12px;font-size:11px;font-weight:600}.qrow{border-bottom:1px solid #efefee;grid-template-columns:24px minmax(0,2fr) minmax(0,1fr) 92px 84px 130px;align-items:center;gap:12px;padding:10px 20px;font-size:13px;transition:background-color .15s,opacity .2s;display:grid}.qrow:last-child{border-bottom:0}@media (hover:hover) and (pointer:fine){.qrow:hover{background:#fafafa}}.qrow input{width:16px;height:16px;accent-color:var(--brand);cursor:pointer}.qrow .task{min-width:0}.qrow .who{color:var(--mut);font-size:12px;font-weight:500}.qrow.done{opacity:.45}.qrow.done .task{text-decoration:line-through}.due{font-size:11.5px;font-weight:600}.due.today{color:var(--neg-tx)}.due.wk{color:var(--warn-tx)}.kpis{grid-template-columns:repeat(5,1fr);gap:16px;margin-bottom:16px;display:grid}.kpi{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);padding:14px 18px}.kpi .k{letter-spacing:.07em;text-transform:uppercase;color:var(--mut);align-items:center;gap:6px;font-size:10.5px;font-weight:600;display:flex}.kpi .k .pdot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.pdot.pg{background:var(--brand)}.pdot.pk{background:var(--info-base)}.pdot.pp{background:var(--warn-base)}.kpi .v{letter-spacing:-.01em;margin-top:6px;font-size:24px;font-weight:700}.kpi .d{color:var(--mut);margin-top:3px;font-size:12px;font-weight:500}.kpi .d b.warn{color:var(--neg-tx)}.kpi .d b{font-weight:600}.pillars{gap:12px;margin-bottom:16px;display:flex}.pillars button{border:1px solid var(--line);background:var(--card);border-radius:var(--r-lg);text-align:left;cursor:pointer;box-shadow:var(--sh-sm);flex:1;padding:13px 18px;transition:border-color .15s,box-shadow .15s}.pillars button .pt{letter-spacing:.06em;text-transform:uppercase;color:var(--ink);align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.pillars button .pt .pdot{border-radius:50%;width:8px;height:8px}.pillars button .ps{color:var(--mut);margin-top:4px;font-size:12px;font-weight:500;display:block}.pillars button.on{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand), var(--sh)}@media (hover:hover) and (pointer:fine){.pillars button:not(.on):hover{border-color:var(--line-strong)}}.panel{display:none}.panel.on{animation:panelIn .18s var(--ease);display:block}@keyframes panelIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.cardbox{background:var(--card);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--sh-sm);margin-bottom:16px;transition:box-shadow .24s,border-color .24s;overflow:hidden}.cardbox.lensed{border-color:var(--brand);box-shadow:0 0 0 2px var(--accent), var(--sh)}.cardbox .hd{background:var(--subtle);border-bottom:1px solid var(--line);flex-wrap:wrap;align-items:center;gap:10px;padding:13px 20px;display:flex}.cardbox .hd h3{letter-spacing:-.01em;font-size:15px;font-weight:700}.cardbox .hd span.dim{color:var(--mut);font-size:12px;font-weight:500}.cardbox .hd .cta{color:var(--brand);cursor:pointer;align-items:center;gap:4px;margin-left:auto;font-size:12px;font-weight:600;display:inline-flex}.cardbox .hd .cta:hover{color:var(--brand-hover)}table{border-collapse:collapse;width:100%}th{letter-spacing:.07em;text-transform:uppercase;color:var(--mut);text-align:left;border-bottom:1px solid var(--line);padding:9px 20px;font-size:11px;font-weight:600}td{vertical-align:middle;font-variant-numeric:tabular-nums;border-bottom:1px solid #efefee;padding:11px 20px;font-size:13.5px}td b{font-weight:600}tr:last-child td{border-bottom:0}tbody tr{transition:background-color .15s}@media (hover:hover) and (pointer:fine){tbody tr:hover td{background:#fafafa}}tr.click{cursor:pointer}td .sub{color:var(--mut);margin-top:2px;font-size:12px;font-weight:500;display:block}.chip{border-radius:var(--r-full);white-space:nowrap;padding:3px 11px;font-size:11.5px;font-weight:600;display:inline-block}.c-pass{background:var(--pos-sf);color:var(--pos-tx)}.c-watch{background:var(--warn-sf);color:var(--warn-tx)}.c-sub{background:var(--neg-sf);color:var(--neg-tx)}.c-blue{background:var(--info-sf);color:var(--info-tx)}.c-gold{background:var(--accent-soft);color:var(--brand)}.act{background:var(--brand);color:#fdfdfd;border-radius:var(--r-full);cursor:pointer;white-space:nowrap;transition:background-color .15s ease, transform .12s var(--ease);border:0;padding:7px 14px;font-size:12px;font-weight:600}.act:hover{background:var(--brand-hover)}.act:active{background:var(--brand-pressed);transform:scale(.97)}.act.ghost{background:var(--subtle);color:var(--ink)}.act.ghost:hover{background:#e2e2e2}.act.ghost:active{background:var(--line-strong);transform:scale(.97)}.addvar{border:1px dashed var(--line-strong);width:100%;color:var(--mut);cursor:pointer;background:0 0;border-bottom:0;border-left:0;border-right:0;justify-content:center;align-items:center;gap:7px;padding:11px;font-size:12px;font-weight:600;transition:color .15s,background-color .15s;display:flex}.addvar:hover{color:var(--brand);background:#fafafa}.grid2{grid-template-columns:1.7fr 1fr;gap:16px;display:grid}.grid3{grid-template-columns:1fr 1fr 1fr;gap:16px;display:grid}.bars{padding:16px 20px}.bar{grid-template-columns:150px 1fr 76px;align-items:center;gap:12px;margin-bottom:11px;display:grid}.bar:last-child{margin-bottom:0}.bar .lbl{font-size:12.5px;font-weight:500}.bar .tr{background:var(--subtle);border-radius:var(--r-full);height:12px;overflow:hidden}.bar .fl{border-radius:var(--r-full);background:var(--brand);height:100%}.bar .fl.gold{background:var(--warn-base)}.bar .fl.rust{background:var(--warn-solid)}.bar .fl.red{background:var(--neg-solid)}.bar .val{color:var(--mut);text-align:right;font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.trend{align-items:flex-end;gap:6px;height:76px;padding:16px 20px 6px;display:flex}.trend .tb{background:var(--subtle);border-radius:4px 4px 0 0;flex:1;position:relative}.trend .tb .in{background:var(--brand);border-radius:4px 4px 0 0;position:absolute;bottom:0;left:0;right:0}.tlabels{gap:6px;padding:0 20px 12px;display:flex}.tlabels span{text-align:center;color:var(--mut);flex:1;font-size:10.5px;font-weight:500}.note{color:var(--mut);border-top:1px dashed var(--line);padding:12px 20px;font-size:12px;font-weight:500}.note b{color:var(--ink-2);font-weight:600}.lens-tag{letter-spacing:.07em;text-transform:uppercase;border-radius:var(--r-full);padding:3px 10px;font-size:10px;font-weight:700;transition:background-color .24s,color .24s}.lt-p{background:var(--subtle);color:var(--ink-2)}.lt-t{background:var(--info-sf);color:var(--info-tx)}.lensed .lens-tag{background:var(--accent);color:var(--brand)}#overlay{z-index:40;opacity:0;pointer-events:none;background:#17171780;transition:opacity .2s;position:fixed;inset:0}#overlay.open{opacity:1;pointer-events:auto}#drawer{background:var(--page);z-index:41;width:640px;max-width:94vw;box-shadow:var(--sh-2xl);transition:transform .32s var(--ease-drawer);position:fixed;top:0;bottom:0;right:0;overflow-y:auto;transform:translate(103%)}#drawer.open{transform:none}#drawer .dhd{background:var(--brand);color:var(--on-dark);z-index:2;align-items:flex-start;gap:12px;padding:18px 24px;display:flex;position:sticky;top:0}#drawer .dhd h3{letter-spacing:-.01em;font-size:17px;font-weight:700}#drawer .dhd p{color:var(--on-brand-mut);margin-top:4px;font-size:12px;font-weight:500;line-height:1.45}#drawer .dhd .x{color:var(--on-dark);border-radius:var(--r-full);cursor:pointer;transition:background-color .15s ease, transform .12s var(--ease);background:#fdfdfd1f;border:0;flex-shrink:0;align-items:center;gap:6px;margin-left:auto;padding:7px 13px;font-size:12px;font-weight:600;display:inline-flex}#drawer .dhd .x:hover{background:#fdfdfd33}#drawer .dhd .x:active{transform:scale(.97)}.dbody{padding:18px 24px}.catch{border-radius:var(--r-md);gap:10px;margin-bottom:16px;padding:14px 16px;display:flex}.catch .ic{width:19px;height:19px;margin-top:1px}.catch.neg{background:var(--neg-sf);color:var(--neg-tx);border:1px solid #f5d5d5}.catch.warn{background:var(--warn-sf);color:var(--warn-tx);border:1px solid #f1e3c0}.catch b{font-size:14px;font-weight:700}.catch p{opacity:.92;margin-top:3px;font-size:12.5px;font-weight:500;line-height:1.5}.riskline{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-sm);margin-bottom:16px;padding:16px 18px}.riskline h4{letter-spacing:.07em;text-transform:uppercase;color:var(--mut);margin-bottom:12px;font-size:11px;font-weight:600}.chartwrap{height:110px;position:relative}.chartwrap svg{width:100%;height:100%;position:absolute;inset:0}.chartwrap polyline{fill:none;vector-effect:non-scaling-stroke}.chartwrap .hist{stroke:var(--neg-solid);stroke-width:2px}.chartwrap .proj{stroke:var(--neg-base);stroke-width:2px;stroke-dasharray:5 4;opacity:.85}.chartwrap line{vector-effect:non-scaling-stroke}.mk{white-space:nowrap;font-size:10px;font-weight:600;position:absolute;transform:translate(-50%)}.mk.today{color:var(--mut)}.mk.inflect{color:var(--warn-tx)}.mk.pred{background:var(--neg-sf);color:var(--neg-tx);border-radius:var(--r-full);padding:2px 9px;font-size:10.5px;right:0;transform:none}.pdot-pred{background:var(--neg-base);border:2px solid var(--card);border-radius:50%;width:9px;height:9px;position:absolute;transform:translate(-50%,-50%)}.axis{color:var(--mut);justify-content:space-between;margin-top:8px;font-size:10.5px;font-weight:500;display:flex}.axis .pred{color:var(--neg-tx);font-weight:600}.tl{background:var(--card);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:var(--sh-sm);margin-bottom:16px;overflow:hidden}.tl h4{letter-spacing:.07em;text-transform:uppercase;color:var(--mut);border-bottom:1px solid var(--line);padding:13px 18px;font-size:11px;font-weight:600}.tlrow{border-bottom:1px solid #efefee;align-items:baseline;gap:12px;padding:10px 18px;font-size:12.5px;font-weight:500;display:flex}.tlrow:last-child{border-bottom:0}.tlrow .dt{width:52px;color:var(--mut);font-variant-numeric:tabular-nums;flex-shrink:0;font-size:11px;font-weight:600}.dactions{flex-wrap:wrap;gap:10px;margin-bottom:16px;display:flex}.dnote{color:var(--mut);border:1px dashed var(--line-strong);border-radius:var(--r-md);padding:12px 16px;font-size:12px;font-weight:500}#toast{z-index:60;background:var(--card);color:var(--ink);border:1px solid var(--line);border-radius:var(--r-full);box-shadow:var(--sh-lg);opacity:0;pointer-events:none;max-width:min(620px,90vw);transition:opacity .22s var(--ease), transform .22s var(--ease);align-items:center;gap:9px;padding:11px 20px 11px 14px;font-size:13px;font-weight:600;display:flex;position:fixed;bottom:28px;left:50%;transform:translate(-50%,10px)}#toast.show{opacity:1;transform:translate(-50%)}#toast .ic{width:18px;height:18px;color:var(--brand)}@media (prefers-reduced-motion:reduce){*{transition-duration:1ms!important;animation:none!important}}
