:root{--font-ui:"Plus Jakarta Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"JetBrains Mono", "SF Mono", Consolas, monospace;--ink-950:#14201a;--ink-900:#1b2b23;--ink-850:#21362c;--ink-800:#2a4437;--ink-700:#3c5c4c;--ink-600:#55786a;--ink-500:#74968a;--ink-400:#97b3a9;--ink-300:#bccec6;--ink-200:#dde6e0;--ink-100:#ebf1ec;--ink-50:#f5f8f5;--signal:#2f4a3b;--signal-bright:#446b56;--signal-dim:#223a2d;--signal-tint:#e4eee7;--lime:#cbe86f;--lime-dim:#aecf4e;--lime-text:#3a4a1f;--amber:#c8781f;--amber-tint:#fbeedc;--green:#3f9d5f;--green-tint:#e3f5e9;--red:#b13a3a;--red-tint:#fbe8e8;--violet:#6e56cf;--violet-tint:#efeafd;--radius-sm:10px;--radius:18px;--radius-lg:24px;--radius-pill:999px;--border:1px solid var(--ink-200);--shadow-xs:0 1px 2px #14201a0a;--shadow-sm:0 1px 3px #14201a0d, 0 1px 2px #14201a0a;--shadow-md:0 8px 24px #14201a14, 0 1px 3px #14201a0d;--shadow-lg:0 20px 48px #14201a24, 0 2px 6px #14201a0f;--ease:cubic-bezier(.2, .6, .2, 1);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg:#fff;--bg-canvas:#e8eee8;--bg-panel:#fff;--bg-raised:#fff;--text:var(--ink-950);--text-muted:var(--ink-500);--sidebar-bg:#fff;--sidebar-text:var(--ink-700);--sidebar-text-active:#fff;--sidebar-border:var(--ink-100)}*{box-sizing:border-box}html,body,#root{height:100%}body{font-family:var(--font-ui);background:var(--bg-canvas);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-size:14px;line-height:1.55}h1,h2,h3,h4{letter-spacing:-.015em;margin:0 0 .5em;font-weight:600}h1{letter-spacing:-.02em;font-size:26px}h2{text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);font-size:13px;font-weight:600}h2.with-icon{align-items:center;gap:7px;display:flex}h2.with-icon svg{opacity:.7;width:14px;height:14px}p{margin:0 0 1em}a{color:var(--signal);transition:color .15s var(--ease);text-decoration:none}a:hover{color:var(--signal-bright);text-decoration:none}.app-outer{justify-content:center;align-items:flex-start;min-height:100vh;padding:22px;display:flex}.app-shell{background:var(--bg-panel);border-radius:var(--radius-lg);width:100%;max-width:1560px;min-height:calc(100vh - 44px);box-shadow:var(--shadow-lg);grid-template-columns:280px 1fr;display:grid;overflow:hidden}.sidebar{background:var(--sidebar-bg);color:var(--sidebar-text);border-right:1px solid var(--sidebar-border);flex-direction:column;padding:24px 18px;display:flex}.sidebar-brand{font-family:var(--font-ui);color:var(--text);letter-spacing:.005em;align-items:center;gap:9px;margin-bottom:22px;padding:4px 6px 0;font-size:17px;font-weight:700;display:flex}.sidebar-brand-mark{background:conic-gradient(var(--lime) 0deg 180deg, var(--signal) 180deg 360deg);width:30px;height:30px;box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0}.sidebar-brand span{color:var(--signal)}.sidebar-tagline{display:none}.sidebar-profile-block{text-align:center;border-bottom:1px solid var(--sidebar-border);flex-direction:column;align-items:center;margin-bottom:14px;padding:4px 8px 22px;display:flex}.sidebar-profile-block .avatar{width:68px;height:68px;box-shadow:var(--shadow-md);margin-bottom:10px;font-size:22px;position:relative}.sidebar-profile-block .avatar:after{content:"";background:var(--lime);border:2.5px solid var(--sidebar-bg);border-radius:50%;width:13px;height:13px;position:absolute;bottom:2px;right:2px}.sidebar-profile-block .name{color:var(--text);font-size:14.5px;font-weight:700}.sidebar-profile-block .role{color:var(--text-muted);margin-top:2px;font-size:12px}.sidebar-nav{flex-direction:column;gap:4px;display:flex}.sidebar-section-label{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-500);padding:14px 10px 6px;font-size:10.5px;font-weight:600}.sidebar a{color:var(--sidebar-text);border-radius:var(--radius-sm);transition:background .15s var(--ease), color .15s var(--ease);align-items:center;gap:12px;padding:11px 14px;font-size:14px;font-weight:500;display:flex;position:relative}.sidebar a svg{opacity:.65;width:17px;height:17px;transition:opacity .15s var(--ease);flex-shrink:0}.sidebar a:hover{background:var(--ink-100);color:var(--text);text-decoration:none}.sidebar a:hover svg{opacity:1}.sidebar a.active{background:var(--signal);color:#fff;box-shadow:var(--shadow-md)}.sidebar a.active svg{opacity:1}.sidebar-footer{margin-top:auto;padding-top:18px}.sidebar-progress{padding:4px 10px 14px}.sidebar-progress .pct{font-size:22px;font-weight:700;font-family:var(--font-mono);color:var(--text)}.sidebar-progress .progress-bar{background:var(--ink-100);height:7px;margin-top:8px}.sidebar-progress .progress-bar>div{background:var(--lime)}.sidebar-progress .caption{color:var(--text-muted);margin-top:6px;font-size:11.5px}.avatar{background:linear-gradient(135deg, var(--signal-bright), var(--signal));color:#fff;width:32px;height:32px;font-size:12.5px;font-weight:700;font-family:var(--font-mono);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;display:flex}.content{max-width:1180px;padding:32px 40px 64px}.page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:28px;display:flex}.page-eyebrow{color:var(--signal);text-transform:uppercase;letter-spacing:.08em;margin-bottom:6px;font-size:11.5px;font-weight:700;display:block}.page-subtitle{color:var(--text-muted);max-width:520px;margin-top:4px;font-size:13.5px}.card{background:var(--bg-raised);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow-wrap:anywhere;min-width:0;transition:box-shadow .2s var(--ease);padding:22px}.card-header{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.grid{gap:18px;display:grid}.grid>*{min-width:0}.grid-2{grid-template-columns:1fr 1fr}.grid-3{grid-template-columns:repeat(3,1fr)}.stat-tile{background:var(--bg-raised);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:transform .18s var(--ease), box-shadow .18s var(--ease);justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 20px;display:flex}.stat-tile:hover{box-shadow:var(--shadow-md);transform:translateY(-1px)}.stat-tile .value{font-family:var(--font-mono);letter-spacing:-.02em;font-size:30px;font-weight:600;line-height:1}.stat-tile .label{color:var(--text-muted);letter-spacing:.01em;margin-top:8px;font-size:12px;font-weight:500}.stat-icon{border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.stat-icon svg{width:19px;height:19px}.stat-icon.signal{background:var(--lime);color:var(--lime-text)}.stat-icon.violet{background:var(--violet-tint);color:var(--violet)}.stat-icon.green{background:var(--green-tint);color:var(--green)}.stat-icon.amber{background:var(--amber-tint);color:var(--amber)}table{border-collapse:collapse;width:100%;font-size:13.5px}th{text-align:left;color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;border-bottom:var(--border);padding:9px 12px;font-size:11px;font-weight:600}td{border-bottom:var(--border);vertical-align:top;overflow-wrap:anywhere;padding:12px}tr:last-child td{border-bottom:none}tbody tr{transition:background .12s var(--ease)}tbody tr:hover{background:var(--bg-canvas)}.row-link{align-items:center;gap:10px;display:flex}.row-icon{background:var(--ink-100);width:30px;height:30px;color:var(--ink-600);font-family:var(--font-mono);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:flex}@media (prefers-color-scheme:dark){.row-icon{background:var(--ink-700);color:var(--ink-300)}}.badge{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 9px;font-size:10.5px;font-weight:600;display:inline-flex}.badge:before{content:"";background:currentColor;border-radius:50%;flex-shrink:0;width:5px;height:5px}.badge-signal{background:var(--signal-tint);color:var(--signal-dim)}.badge-amber{background:var(--amber-tint);color:var(--amber)}.badge-green{background:var(--green-tint);color:var(--green)}.badge-red{background:var(--red-tint);color:var(--red)}.badge-violet{background:var(--violet-tint);color:var(--violet)}.badge-neutral{background:var(--ink-100);color:var(--ink-600)}@media (prefers-color-scheme:dark){.badge-neutral{background:var(--ink-700);color:var(--ink-300)}}button,.btn{font-family:var(--font-ui);border-radius:var(--radius-pill);border:var(--border);background:var(--bg-raised);color:var(--text);cursor:pointer;transition:background .15s var(--ease), border-color .15s var(--ease), box-shadow .15s var(--ease), transform .1s var(--ease);align-items:center;gap:7px;padding:9px 18px;font-size:13.5px;font-weight:600;display:inline-flex}button svg{width:14px;height:14px}button:hover{border-color:var(--ink-300);box-shadow:var(--shadow-xs)}button:active{transform:translateY(1px)}button.primary{background:var(--signal);border-color:var(--signal-dim);color:#fff;box-shadow:var(--shadow-sm)}button.primary:hover{background:var(--signal-dim);box-shadow:var(--shadow-md);border-color:var(--signal-dim)}.icon-btn{border-radius:var(--radius-pill)}button:disabled{opacity:.45;cursor:default;box-shadow:none;transform:none}input,textarea,select{font-family:var(--font-ui);border-radius:var(--radius-sm);border:var(--border);background:var(--bg-raised);color:var(--text);width:100%;transition:border-color .15s var(--ease), box-shadow .15s var(--ease);padding:9px 11px;font-size:13.5px}input:focus,textarea:focus,select:focus{border-color:var(--signal);box-shadow:0 0 0 3px var(--signal-tint);outline:none}label{color:var(--text-muted);letter-spacing:.01em;margin-bottom:5px;font-size:12px;font-weight:600;display:block}.field{margin-bottom:16px}.progress-bar{background:var(--ink-100);border-radius:999px;height:6px;overflow:hidden}@media (prefers-color-scheme:dark){.progress-bar{background:var(--ink-700)}}.progress-bar>div{background:linear-gradient(90deg, var(--signal), var(--signal-bright));height:100%;transition:width .25s var(--ease);border-radius:999px}.muted{color:var(--text-muted)}.mono{font-family:var(--font-mono)}pre.mono{white-space:pre-wrap;overflow-wrap:anywhere;max-width:100%}.section{margin-bottom:32px}.stage-block{border-left:3px solid var(--signal);margin-bottom:22px;padding-left:16px}.stage-block h3{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:10px;font-size:12px;font-weight:700}.empty-state{color:var(--text-muted);text-align:center;border:1px dashed var(--ink-300);border-radius:var(--radius);flex-direction:column;align-items:center;gap:10px;padding:32px 24px;font-size:13.5px;display:flex}.empty-state svg{width:26px;height:26px;color:var(--ink-300)}.icon-btn{padding:7px}@keyframes spin{to{transform:rotate(360deg)}}.spin{animation:.8s linear infinite spin}.divider{background:var(--ink-200);height:1px;margin:18px 0}.tab-bar{background:var(--bg-canvas);border-radius:var(--radius-pill);flex-wrap:wrap;gap:4px;width:fit-content;max-width:100%;margin-bottom:20px;padding:5px;display:flex}.tab-btn{box-shadow:none;color:var(--text-muted);border-radius:var(--radius-pill);background:0 0;border:none;padding:8px 16px;font-size:13px;font-weight:600}.tab-btn:hover{background:var(--bg-raised);box-shadow:none;color:var(--text)}.tab-btn.active{background:var(--signal);color:#fff;box-shadow:var(--shadow-sm)}.tab-panel{min-height:60px}.export-actions{gap:8px;display:flex}.print-only{display:none}@media print{*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important;color-adjust:exact!important}@page{margin:16mm 14mm}body{background:#fff;font-size:11.5px}.app-outer{min-height:0;padding:0;display:block}.app-shell{box-shadow:none;background:#fff;border-radius:0;max-width:none;min-height:0;display:block}.sidebar,.page-header button,.export-actions,.tab-bar,form,.no-print{display:none!important}.content{max-width:none;padding:0}.page-header{border-bottom:2px solid var(--signal);margin-bottom:22px;padding-bottom:14px}.card{box-shadow:none;break-inside:avoid;background:0 0;margin-bottom:22px;padding:0}.print-only .card,.print-report h2{break-inside:avoid}.print-report{margin-bottom:24px}.print-report h2{border-bottom:1px solid var(--ink-200);margin-bottom:12px;padding-bottom:6px;font-size:11px}.print-callout{border-left:3px solid var(--signal);break-inside:avoid;border-radius:10px;margin-bottom:22px;padding:14px 16px;background:var(--signal-tint)!important}table{break-inside:auto}tr{break-inside:avoid}.badge{border:.5px solid #00000014}.print-only{display:block}.print-only .stage-block{break-inside:avoid;margin-bottom:26px}.print-only h3{background:var(--bg-canvas);border-left:none;border-radius:6px;padding:6px 10px;font-size:12.5px}.screen-only{display:none!important}}
