:root{--accent:#2563eb;--accent-strong:#1d4ed8;--bg:#f5f7fb;--bg-gradient:linear-gradient(180deg, #e9eef8 0, #f7f9fc 310px, #f5f7fb 100%);--border:#dce3ee;--border-soft:#e6edf6;--card-shadow:0 12px 30px #0f172a0f;--control-bg:#fff;--control-text:#334155;--input-bg:#fff;--muted:#64748b;--muted-strong:#475569;--panel:#fff;--panel-alt:#fbfdff;--soft-blue:#eff6ff;--soft-green:#dcfce7;--soft-red:#fef2f2;--soft-warn:#fffbeb;--text:#111827;--topbar-bg:#172033;--topbar-border:#0f172a2e;--topbar-shadow:0 18px 45px #1720332e;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;font-family:Aptos Display,Inter,Segoe UI Variable,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}:root[data-theme=dark]{--accent:#60a5fa;--accent-strong:#3b82f6;--bg:#09111f;--bg-gradient:linear-gradient(180deg, #101b2f 0, #0b1323 340px, #09111f 100%);--border:#24324a;--border-soft:#1f2a3d;--card-shadow:0 18px 42px #00000042;--control-bg:#111c2e;--control-text:#dbeafe;--input-bg:#0c1728;--muted:#94a3b8;--muted-strong:#cbd5e1;--panel:#101827;--panel-alt:#0c1423;--soft-blue:#60a5fa26;--soft-green:#22c55e29;--soft-red:#f8717124;--soft-warn:#fbbf2429;--text:#f8fafc;--topbar-bg:#050b14;--topbar-border:#22304a;--topbar-shadow:0 18px 48px #00000057}*{box-sizing:border-box}body{background:var(--bg-gradient);min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}.shell{width:min(1440px,100% - 32px);margin:0 auto;padding:20px 0 36px}.topbar{border:1px solid #0f172a2e;border-color:var(--topbar-border);background:var(--topbar-bg);min-height:86px;box-shadow:var(--topbar-shadow);border-radius:8px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px;padding:18px;display:flex}.eyebrow{color:#506074;letter-spacing:0;text-transform:uppercase;margin:0 0 3px;font-size:.78rem;font-weight:700}h1,h2,h3,p{margin:0}h1{color:var(--text);font-size:1.75rem;line-height:1.2}.topbar h1{color:#f8fafc}.topbar .eyebrow{color:#93c5fd}h2{color:var(--text);font-size:1rem;line-height:1.25}p{color:var(--muted);line-height:1.5}.topbar__actions,.row-actions,.tabs,.link-list,.mini-stats,.footer-links{align-items:center;display:flex}.topbar__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.connection,.last-updated,.pill,.provider{white-space:nowrap;border-radius:999px;align-items:center;min-height:24px;padding:3px 9px;font-size:.78rem;font-weight:700;display:inline-flex}.connection{color:#e2e8f0;background:#ffffff14;border:1px solid #ffffff38}.last-updated{color:#e2e8f0;background:#ffffff14;border:1px solid #ffffff2e}.connection--live,.pill--good{color:#14532d;background:#dcfce7;border-color:#a7f3d0}.connection--error,.pill--warning,.pill--warn{color:#92400e;background:#fffbeb;border-color:#fde68a}.connection--loading,.pill--info{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.pill--blocker,.pill--bad{color:#991b1b;background:#fef2f2;border-color:#fecaca}.icon-button,.tab,.command-button,.link-button{border:1px solid var(--border);min-height:34px;color:var(--control-text);background:var(--control-bg);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;gap:7px;text-decoration:none;transition:border-color .14s,box-shadow .14s,transform .14s;display:inline-flex}.icon-button{width:36px;padding:0}.icon-button:hover,.tab:hover,.command-button:hover,.link-button:hover{border-color:#93c5fd;box-shadow:0 8px 18px #2563eb1f}.tabs{border:1px solid var(--border);background:color-mix(in srgb, var(--panel) 88%, transparent);min-height:48px;box-shadow:var(--card-shadow);border-radius:8px;gap:6px;margin-bottom:16px;padding:6px;overflow-x:auto}.tab{flex:none;padding:0 12px}.tab--active{color:#fff;background:#1d4ed8;border-color:#1d4ed8;box-shadow:0 10px 24px #1d4ed833}.stats-grid{grid-template-columns:repeat(7,minmax(130px,1fr));gap:10px;margin-bottom:16px;display:grid}.stat-card,.surface,.project-card{border:1px solid var(--border);background:var(--panel);box-shadow:var(--card-shadow);border-radius:8px}.stat-card{grid-template-columns:36px 1fr;align-items:center;gap:10px;min-height:92px;padding:14px;display:grid;position:relative;overflow:hidden}.stat-card:before{content:"";background:#2563eb;width:3px;position:absolute;inset:0 auto 0 0}.stat-card__icon{color:#2563eb;background:#eff6ff;border-radius:6px;place-items:center;width:36px;height:36px;display:grid}.stat-card--good .stat-card__icon{color:#15803d;background:#dcfce7}.stat-card--good:before{background:#16a34a}.stat-card--warn .stat-card__icon{color:#b45309;background:#fffbeb}.stat-card--warn:before{background:#f59e0b}.stat-card--bad .stat-card__icon{color:#b91c1c;background:#fef2f2}.stat-card--bad:before{background:#ef4444}.stat-card__value{color:var(--text);font-size:1.45rem;font-weight:800;line-height:1}.stat-card__label{color:var(--muted);margin-top:4px;font-size:.78rem;font-weight:650}.split-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.split-grid--wide{grid-template-columns:minmax(0,1.4fr) minmax(320px,.6fr)}.surface{min-width:0;overflow:hidden}.surface__header{border-bottom:1px solid var(--border-soft);background:var(--panel-alt);justify-content:space-between;align-items:center;gap:12px;min-height:48px;padding:0 16px;display:flex}.surface__header span{color:var(--muted);font-size:.83rem;font-weight:650}.list,.table{display:grid}.list-row,.table-row{border-bottom:1px solid var(--border-soft);align-items:center;gap:12px;min-height:58px;padding:12px 16px;display:grid}.list-row{grid-template-columns:auto 1fr}.table-row{grid-template-columns:96px minmax(0,1fr) 150px auto}.table-row--finding{grid-template-columns:96px minmax(0,1fr) minmax(160px,.45fr) 150px}.list-row:last-child,.table-row:last-child{border-bottom:0}.list-row strong,.table-row strong{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;display:block;overflow:hidden}.list-row p,.table-row p,.project-card p{font-size:.83rem}.table-row code{min-width:0;color:var(--muted-strong);text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.provider{color:#1e40af;background:#eff6ff;border:1px solid #dbeafe;justify-content:center}.row-actions{justify-content:flex-end;gap:6px}.link-button{min-height:30px;color:var(--accent-strong);padding:0 9px;font-size:.8rem}.command-button{color:#fff;background:var(--accent-strong);border-color:var(--accent-strong);min-width:86px;padding:0 10px}.command-button:disabled{cursor:wait;opacity:.65}.project-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.icon-metric{border:1px solid var(--border-soft);background:var(--panel-alt);border-radius:8px;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:7px;min-height:56px;padding:8px;display:grid}.icon-metric>span{width:28px;height:28px;color:var(--accent-strong);background:var(--soft-blue);border-radius:6px;place-items:center;display:grid}.icon-metric strong{min-width:0;color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;line-height:1.1;display:block;overflow:hidden}.icon-metric p{margin-top:3px;font-size:.72rem;font-weight:700}.icon-metric--good>span{color:#15803d;background:var(--soft-green)}.icon-metric--warn>span{color:#b45309;background:var(--soft-warn)}.icon-metric--bad>span{color:#b91c1c;background:var(--soft-red)}.project-layout{gap:12px;display:grid}.project-form{overflow:visible}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:14px;display:grid}.form-grid label{color:var(--control-text);gap:6px;font-size:.8rem;font-weight:700;display:grid}.form-grid input,.form-grid textarea{border:1px solid var(--border);width:100%;color:var(--text);background:var(--input-bg);border-radius:6px;padding:9px 10px}.form-grid input:focus,.form-grid textarea:focus{border-color:var(--accent);outline-offset:0;outline:2px solid #dbeafe}.form-grid__wide,.form-actions{grid-column:1/-1}.form-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.project-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.project-card{border-top:3px solid var(--accent);align-content:start;gap:12px;min-height:202px;padding:16px;display:grid}.project-card:hover{border-color:#bfdbfe;box-shadow:0 16px 36px #1d4ed81f}.project-card--good{border-top-color:#16a34a}.project-card--warn{border-top-color:#f59e0b}.project-card--bad{border-top-color:#ef4444}.project-card__header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.project-detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.detail-strip{background:color-mix(in srgb, var(--panel-alt) 74%, transparent);border-radius:8px;grid-template-columns:24px minmax(0,1fr);align-items:start;gap:7px;min-width:0;padding:8px;display:grid}.detail-strip>span{width:24px;height:24px;color:var(--accent-strong);background:var(--soft-blue);border-radius:6px;place-items:center;display:grid}.detail-strip strong{color:var(--text);font-size:.77rem;display:block}.detail-strip p{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:.76rem;overflow:hidden}.detail-strip--good>span{color:#15803d;background:var(--soft-green)}.detail-strip--warn>span{color:#b45309;background:var(--soft-warn)}.detail-strip--bad>span{color:#b91c1c;background:var(--soft-red)}.mini-stats{flex-wrap:wrap;gap:6px}.mini-stats span{color:var(--muted-strong);background:var(--panel-alt);border-radius:6px;align-items:center;gap:5px;padding:4px 7px;font-size:.78rem;font-weight:650;display:inline-flex}.link-list{flex-wrap:wrap;gap:6px}.service-chip-list{flex-wrap:wrap;gap:6px;display:flex}.service-chip{border:1px solid var(--border-soft);max-width:100%;color:var(--muted-strong);background:var(--control-bg);border-radius:999px;align-items:center;gap:6px;padding:4px 8px;font-size:.76rem;font-weight:750;display:inline-flex}.service-chip svg{color:var(--accent-strong);flex:none}.service-chip--empty{color:var(--muted);background:var(--panel-alt)}.empty-state{min-height:72px;color:var(--muted);align-items:center;gap:8px;padding:14px;font-weight:650;display:flex}.system-notice{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;grid-template-columns:auto 1fr;align-items:start;gap:10px;margin-bottom:16px;padding:12px 14px;display:grid;box-shadow:0 10px 24px #9a341214}.system-notice strong{color:#7c2d12;font-size:.92rem;display:block}.system-notice p{color:#9a3412;margin-top:2px;font-size:.84rem}.error-text{color:#b91c1c}.footer-links{color:#64748b;gap:7px;margin-top:16px;font-size:.8rem}:root[data-theme=dark] .connection--live,:root[data-theme=dark] .pill--good{color:#bbf7d0;background:#22c55e29;border-color:#4ade8073}:root[data-theme=dark] .connection--error,:root[data-theme=dark] .pill--warning,:root[data-theme=dark] .pill--warn{color:#fde68a;background:#fbbf2429;border-color:#fbbf2480}:root[data-theme=dark] .connection--loading,:root[data-theme=dark] .pill--info{color:#bfdbfe;background:#60a5fa26;border-color:#60a5fa80}:root[data-theme=dark] .pill--blocker,:root[data-theme=dark] .pill--bad{color:#fecaca;background:#f8717126;border-color:#f8717180}:root[data-theme=dark] .provider{color:#bfdbfe;background:#60a5fa21;border-color:#60a5fa57}:root[data-theme=dark] .system-notice{color:#fed7aa;background:#9a34122e;border-color:#fb923c5c}:root[data-theme=dark] .system-notice strong,:root[data-theme=dark] .system-notice p{color:#fed7aa}:root[data-theme=dark] .error-text{color:#fca5a5}:root[data-theme=dark] .footer-links{color:var(--muted)}@media (width<=1180px){.stats-grid,.project-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.split-grid,.split-grid--wide{grid-template-columns:1fr}.table-row,.table-row--finding{grid-template-columns:86px minmax(0,1fr)}.table-row>span:nth-last-child(2),.table-row code,.row-actions,.command-button{justify-self:start}}@media (width<=680px){.shell{width:min(100% - 18px,1440px);padding-top:14px}.topbar{flex-direction:column;align-items:flex-start}.topbar__actions{flex-wrap:wrap;justify-content:flex-start;align-items:flex-start}.stats-grid,.project-grid,.project-metrics,.project-detail-grid,.table-row,.table-row--finding,.list-row,.system-notice{grid-template-columns:1fr}.row-actions{justify-content:flex-start}.form-grid{grid-template-columns:1fr}.form-actions{flex-direction:column;align-items:flex-start}}
