[data-cfo-demo]{color-scheme:light;--page:#f9f9f7;--surface:#fcfcfb;--ink:#0b0b0b;--ink-2:#52514e;--ink-muted:#898781;--grid:#e1e0d9;--baseline:#c3c2b7;--border:rgba(11,11,11,0.1);--series-1:#2a78d6;--seq-300:#6da7ec;--seq-450:#2a78d6;--status-good:#0ca30c;--status-warning:#fab219;--status-serious:#ec835a;--status-critical:#d03b3b;--delta-good:#006300;--delta-bad:#d03b3b;--amber-wash:rgba(250,178,25,0.14);--critical-wash:rgba(208,59,59,0.08)}@media (prefers-color-scheme:dark){[data-cfo-demo]:not([data-theme=light]){color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--ink:#ffffff;--ink-2:#c3c2b7;--ink-muted:#898781;--grid:#2c2c2a;--baseline:#383835;--border:rgba(255,255,255,0.1);--series-1:#3987e5;--seq-300:#6da7ec;--seq-450:#3987e5;--delta-good:#0ca30c;--delta-bad:#e66767;--amber-wash:rgba(250,178,25,0.12);--critical-wash:rgba(230,103,103,0.1)}}[data-cfo-demo][data-theme=dark]{color-scheme:dark;--page:#0d0d0d;--surface:#1a1a19;--ink:#ffffff;--ink-2:#c3c2b7;--ink-muted:#898781;--grid:#2c2c2a;--baseline:#383835;--border:rgba(255,255,255,0.1);--series-1:#3987e5;--seq-300:#6da7ec;--seq-450:#3987e5;--delta-good:#0ca30c;--delta-bad:#e66767;--amber-wash:rgba(250,178,25,0.12);--critical-wash:rgba(230,103,103,0.1)}[data-cfo-demo],[data-cfo-demo] *{box-sizing:border-box}[data-cfo-demo]{margin:0;background:var(--page);color:var(--ink);font:14px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}[data-cfo-demo] button{font:inherit}[data-cfo-demo] .shell{max-width:1120px;margin:0 auto;padding:20px 24px 64px}[data-cfo-demo] .topbar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:10px 0 16px}[data-cfo-demo] .topbar h1{font-size:18px;font-weight:650;margin:0 8px 0 0}[data-cfo-demo] .control{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:8px;background:var(--surface);padding:5px 10px;color:var(--ink-2)}[data-cfo-demo] .control b{color:var(--ink);font-weight:600}[data-cfo-demo] .spacer{flex:1}[data-cfo-demo] .badge{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;font-weight:600;font-size:12.5px}[data-cfo-demo] .badge .dot{width:8px;height:8px;border-radius:50%}[data-cfo-demo] .badge.amber{background:var(--amber-wash);color:var(--ink)}[data-cfo-demo] .badge.amber .dot{background:var(--status-warning)}[data-cfo-demo] .badge.red{background:var(--critical-wash);color:var(--ink)}[data-cfo-demo] .badge.red .dot{background:var(--status-critical)}[data-cfo-demo] .badge.green{background:rgba(12,163,12,.1);color:var(--ink)}[data-cfo-demo] .badge.green .dot{background:var(--status-good)}[data-cfo-demo] .quality-banner{background:var(--amber-wash);border:1px solid var(--border);border-radius:10px;padding:10px 14px;margin-bottom:16px;color:var(--ink-2)}[data-cfo-demo] .quality-banner b{color:var(--ink)}[data-cfo-demo] .kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px}[data-cfo-demo] .tile{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:14px 16px;cursor:pointer;text-align:left;position:relative}[data-cfo-demo] .tile:hover{border-color:var(--baseline)}[data-cfo-demo] .tile .label{color:var(--ink-2);font-size:12.5px;display:flex;align-items:center;gap:6px}[data-cfo-demo] .tile .value{font-size:26px;font-weight:650;margin-top:2px}[data-cfo-demo] .tile .sub{display:flex;align-items:center;gap:8px;margin-top:4px;min-height:18px}[data-cfo-demo] .delta{font-size:12.5px;font-weight:650}[data-cfo-demo] .delta.good{color:var(--delta-good)}[data-cfo-demo] .delta.bad{color:var(--delta-bad)}[data-cfo-demo] .delta.flat{color:var(--ink-muted)}[data-cfo-demo] .qdot{width:7px;height:7px;border-radius:50%;display:inline-block}[data-cfo-demo] .qdot.PARTIAL,[data-cfo-demo] .qdot.PROVISIONAL{background:var(--status-warning)}[data-cfo-demo] .qdot.STALE,[data-cfo-demo] .qdot.UNKNOWN,[data-cfo-demo] .qdot.UNRECONCILED{background:var(--status-critical)}[data-cfo-demo] .qdot.CLOSED,[data-cfo-demo] .qdot.COMPLETE{background:var(--status-good)}[data-cfo-demo] .grid{display:grid;grid-template-columns:3fr 2fr;gap:16px;margin-top:16px;align-items:start}@media (max-width:900px){[data-cfo-demo] .grid{grid-template-columns:1fr}}[data-cfo-demo] .card{background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:16px}[data-cfo-demo] .card h2{font-size:14px;font-weight:650;margin:0 0 10px;display:flex;align-items:center;gap:8px}[data-cfo-demo] .card h2 .link{margin-left:auto}[data-cfo-demo] .link{background:none;border:none;color:var(--series-1);cursor:pointer;padding:0;font-weight:600;font-size:13px}[data-cfo-demo] .link:hover{text-decoration:underline}[data-cfo-demo] .stack{display:flex;flex-direction:column;gap:16px}[data-cfo-demo] table{width:100%;border-collapse:collapse}[data-cfo-demo] th{text-align:left;color:var(--ink-muted);font-weight:600;font-size:12px;border-bottom:1px solid var(--grid);padding:4px 8px 6px}[data-cfo-demo] td{padding:7px 8px;border-bottom:1px solid var(--grid)}[data-cfo-demo] tr:last-child td{border-bottom:none}[data-cfo-demo] td.num,[data-cfo-demo] th.num{text-align:right;font-variant-numeric:tabular-nums}[data-cfo-demo] tr.clickable{cursor:pointer}[data-cfo-demo] tr.clickable:hover td{background:color-mix(in oklab,var(--surface) 92%,var(--ink))}[data-cfo-demo] .chip{display:inline-block;border-radius:6px;padding:1px 7px;font-size:12px;font-weight:650}[data-cfo-demo] .chip.unfavorable{background:var(--critical-wash);color:var(--delta-bad)}[data-cfo-demo] .chip.favorable{background:rgba(12,163,12,.1);color:var(--delta-good)}[data-cfo-demo] .chip.neutral{background:var(--amber-wash);color:var(--ink-2)}[data-cfo-demo] .signal{display:flex;gap:10px;padding:9px 0;border-bottom:1px solid var(--grid);align-items:flex-start}[data-cfo-demo] .signal:last-child{border-bottom:none}[data-cfo-demo] .sev{width:20px;text-align:center;font-size:14px;line-height:20px}[data-cfo-demo] .sev.CRITICAL{color:var(--status-critical)}[data-cfo-demo] .sev.SEVERE{color:var(--status-serious)}[data-cfo-demo] .sev.WARNING{color:var(--status-warning)}[data-cfo-demo] .sev.INFO{color:var(--ink-muted)}[data-cfo-demo] .signal .body{flex:1}[data-cfo-demo] .signal .meta{color:var(--ink-muted);font-size:12px;margin-top:2px;display:flex;gap:10px;flex-wrap:wrap}[data-cfo-demo] .btn{border:1px solid var(--border);background:var(--surface);color:var(--ink);border-radius:8px;padding:5px 11px;cursor:pointer;font-weight:600;font-size:13px}[data-cfo-demo] .btn:hover{border-color:var(--baseline)}[data-cfo-demo] .btn.primary{background:var(--series-1);border-color:var(--series-1);color:#fff}[data-cfo-demo] .btn:disabled{opacity:.5;cursor:default}[data-cfo-demo] .brief p{margin:0 0 10px;color:var(--ink)}[data-cfo-demo] .statement{padding:7px 0;border-bottom:1px solid var(--grid);display:flex;gap:8px;align-items:baseline}[data-cfo-demo] .statement:last-child{border-bottom:none}[data-cfo-demo] .statement .evidence-chip{border:1px solid var(--border);background:none;color:var(--ink-muted);border-radius:999px;padding:1px 8px;font-size:11.5px;cursor:pointer;white-space:nowrap}[data-cfo-demo] .statement .evidence-chip:hover{color:var(--series-1);border-color:var(--series-1)}[data-cfo-demo] .action-card{border:1px solid var(--border);border-radius:10px;padding:12px 14px;margin-bottom:10px}[data-cfo-demo] .action-card .impact{color:var(--delta-good);font-weight:650}[data-cfo-demo] .action-card .row{display:flex;align-items:center;gap:10px;margin-top:8px;flex-wrap:wrap}[data-cfo-demo] .state-chip{border-radius:6px;padding:1px 8px;font-size:12px;font-weight:650;background:var(--amber-wash);color:var(--ink-2)}[data-cfo-demo] .overlay{position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:40}[data-cfo-demo] .drawer{position:fixed;top:0;right:0;bottom:0;width:min(560px,94vw);background:var(--surface);border-left:1px solid var(--border);z-index:50;padding:18px 20px;overflow-y:auto}[data-cfo-demo] .drawer h3{margin:0 0 4px;font-size:16px}[data-cfo-demo] .drawer .close{position:absolute;top:12px;right:14px}[data-cfo-demo] .drawer .muted{color:var(--ink-muted);font-size:12.5px}[data-cfo-demo] .modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(480px,92vw);background:var(--surface);border:1px solid var(--border);border-radius:14px;z-index:60;padding:20px}[data-cfo-demo] .modal .actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}[data-cfo-demo] .contrib{margin:8px 0}[data-cfo-demo] .contrib .name{display:flex;justify-content:space-between;font-size:13px;margin-bottom:3px}[data-cfo-demo] .contrib .track{background:none;height:18px;position:relative}[data-cfo-demo] .contrib .bar{height:18px;border-radius:0 4px 4px 0;background:var(--seq-450);min-width:2px}[data-cfo-demo] .contrib.zero .bar{background:var(--grid)}[data-cfo-demo] .chart-wrap{position:relative}[data-cfo-demo] .chart-tooltip{position:absolute;pointer-events:none;background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px;box-shadow:0 4px 14px rgba(0,0,0,.12);font-size:12.5px;z-index:10;min-width:150px}[data-cfo-demo] .chart-tooltip .t-title{color:var(--ink-muted);margin-bottom:4px}[data-cfo-demo] .chart-tooltip .t-row{display:flex;justify-content:space-between;gap:12px}[data-cfo-demo] .chart-tooltip .t-row b{font-variant-numeric:tabular-nums}[data-cfo-demo] input:not([type]),[data-cfo-demo] input[type=date],[data-cfo-demo] input[type=number],[data-cfo-demo] input[type=text]{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:6px 10px}[data-cfo-demo] input::placeholder{color:var(--ink-muted)}[data-cfo-demo] .skeleton{border-radius:12px;background:var(--grid);animation:pulse 1.2s ease-in-out infinite}@keyframes pulse{0%,to{opacity:.55}50%{opacity:1}}[data-cfo-demo] .error-banner{background:var(--critical-wash);border:1px solid var(--border);border-radius:10px;padding:14px 16px;margin-top:20px}[data-cfo-demo] .empty{color:var(--ink-muted);padding:10px 0}[data-cfo-demo] .excluded-note{background:var(--amber-wash);border-radius:8px;padding:8px 12px;margin-top:10px;font-size:12.5px;color:var(--ink-2)}[data-cfo-demo]{overflow-x:hidden;min-width:0}[data-cfo-demo] .shell{max-width:100%;padding:8px 0 48px}[data-cfo-demo] .card,[data-cfo-demo] .drawer{overflow-x:auto}[data-cfo-demo] .kpis{grid-template-columns:repeat(auto-fit,minmax(min(100%,148px),1fr))}[data-cfo-demo] .tile .value{font-size:clamp(18px,4vw,26px)}[data-cfo-demo] .chart-wrap svg{max-width:100%;height:auto}@media (max-width:640px){[data-cfo-demo] .topbar h1{font-size:16px}[data-cfo-demo] .drawer{width:100vw}[data-cfo-demo] .modal{width:min(480px,calc(100vw - 24px));max-height:calc(100dvh - 24px);overflow-y:auto}[data-cfo-demo] table{font-size:12px}}