:root{color:#18212f;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#f6f7f9;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:linear-gradient(#ffffffb8,#f6f7f900 280px),#f6f7f9;min-width:320px;margin:0}button,a{font:inherit}a{color:inherit}.app-shell{width:min(1180px,100% - 32px);margin:0 auto;padding:32px 0 48px}.auth-shell{place-items:center;min-height:100vh;padding:24px;display:grid}.auth-panel{background:#fffffff0;border:1px solid #d9dee7;border-radius:8px;flex-direction:column;gap:16px;width:min(420px,100%);padding:24px;display:flex;box-shadow:0 18px 38px #1e2a3b14}.auth-panel h1{letter-spacing:0;margin:0;font-size:1.55rem}.auth-panel p{color:#657082;margin:0;line-height:1.45}.auth-panel label{color:#657082;text-transform:uppercase;flex-direction:column;gap:7px;font-size:.8rem;font-weight:750;display:flex}.auth-panel input{color:#253041;border:1px solid #c9d1dc;border-radius:8px;min-height:42px;padding:0 12px;font-size:1rem}.auth-message{color:#7d5307;background:#fff8e8;border:1px solid #f0d18a;border-radius:8px;padding:10px 12px;font-size:.86rem;font-weight:650}.session-bar{color:#657082;justify-content:flex-end;align-items:center;gap:10px;width:min(1180px,100% - 32px);margin:14px auto -18px;font-size:.84rem;display:flex}.session-bar .table-action-button{align-items:center;gap:6px;display:inline-flex}.topbar{justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:26px;display:flex}.brand-heading{align-items:flex-start;gap:14px;display:flex}.app-icon{color:#2e5b84;background:#fff;border:1px solid #bfd0df;border-radius:8px;flex:none;place-items:center;width:48px;height:48px;display:grid;box-shadow:0 10px 22px #232d3e14}.topbar h1{letter-spacing:0;margin:0;font-size:clamp(2rem,5vw,3.8rem);line-height:.96}.demo-badge{letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;color:#fff;background:#e8a308;border-radius:5px;margin-left:.3em;padding:.1em .45em;font-size:.32em;font-weight:600}.topbar p{color:#657082;max-width:620px;margin:12px 0 0;font-size:1rem;line-height:1.55}.topbar .brand-subtitle,.auth-panel .brand-subtitle{color:#2e5b84;letter-spacing:.08em;text-transform:uppercase;font-size:.82rem;font-weight:750}.topbar .brand-subtitle{margin:8px 0 0}.auth-panel .brand-subtitle{margin-top:-8px}.topbar-actions{flex:none;align-items:center;gap:10px;display:flex}.refresh-button,.site-link{color:#253041;cursor:pointer;background:#fff;border:1px solid #c9d1dc;border-radius:8px;align-items:center;gap:9px;min-height:42px;padding:0 14px;font-size:.92rem;font-weight:650;display:inline-flex;box-shadow:0 10px 24px #232d3e0f}.site-link{text-decoration:none}.refresh-button:disabled{cursor:wait;opacity:.72}.state-banner{border-radius:8px;align-items:center;gap:8px;margin:14px 0;padding:10px 12px;font-size:.84rem;font-weight:700;line-height:1.35;display:flex}.detail-panel>.state-banner{margin:0 20px 16px}.state-banner-warning{color:#7d5307;background:#fff8e8;border:1px solid #f0d18a}.state-banner-loading{color:#2d5279;background:#edf5ff;border:1px solid #b6c9df}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:18px;display:grid}.summary-panel,.project-card,.cost-panel,.openai-panel,.github-panel,.diagnostics-panel{background:#ffffffeb;border:1px solid #d9dee7;border-radius:8px;box-shadow:0 18px 38px #1e2a3b12}.summary-panel{padding:18px}.summary-panel span{color:#657082;text-transform:uppercase;font-size:.78rem;font-weight:700;display:block}.summary-panel strong{margin-top:9px;font-size:1.9rem;line-height:1;display:block}.project-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.project-card{flex-direction:column;min-height:380px;padding:20px;display:flex}.project-card-selected{border-color:#6a8eb5;box-shadow:0 18px 42px #2f527624}.project-card-header{flex-direction:column;align-items:flex-start;gap:8px;min-width:0;display:flex}.project-card h2{letter-spacing:0;margin:0;font-size:1.1rem}.project-card a{color:#657082;overflow-wrap:anywhere;align-items:center;gap:5px;max-width:100%;margin-top:7px;font-size:.86rem;text-decoration:none;display:inline-flex}.project-url-missing{color:#657082;margin:7px 0 0;font-size:.86rem;line-height:1.35}.status-pill{white-space:nowrap;border-radius:999px;flex-shrink:0;align-items:center;gap:6px;width:fit-content;max-width:100%;padding:7px 9px;font-size:.76rem;font-weight:750;line-height:1;display:inline-flex}.status-pill svg{flex:none}.provider-row .status-pill,.compact-row .status-pill{gap:6px;min-width:max-content;padding:7px 9px}:root{--status-healthy-bg:#e7f7ef;--status-healthy-fg:#176c42;--status-warning-bg:#fff4dd;--status-warning-fg:#8a5a08;--status-failed-bg:#fde8e8;--status-failed-fg:#9b1c1c;--status-unknown-bg:#eef1f5;--status-unknown-fg:#526072}.status-healthy{background:var(--status-healthy-bg);color:var(--status-healthy-fg)}.status-warning{background:var(--status-warning-bg);color:var(--status-warning-fg)}.status-failed{background:var(--status-failed-bg);color:var(--status-failed-fg)}.status-unknown{background:var(--status-unknown-bg);color:var(--status-unknown-fg)}.sparkline{color:#3f6ad6;flex-direction:column;gap:4px;display:flex}.project-history{margin:0 0 16px}.project-history h3{color:#657082;text-transform:uppercase;letter-spacing:.03em;margin:0 0 8px;font-size:.75rem;font-weight:750}.project-history .sparkline{margin-bottom:10px}.project-history .sparkline svg{height:34px}.sparkline svg{width:100%;height:auto;display:block;overflow:visible}.sparkline-plot{align-items:stretch;gap:8px;display:flex}.sparkline-plot svg{flex:1 1 0;width:auto;min-width:0}.sparkline-scale{color:#8a94a6;text-align:right;white-space:nowrap;flex-direction:column;justify-content:space-between;font-size:.66rem;font-weight:650;line-height:1;display:flex}.sparkline-scale:only-child{justify-content:center}.sparkline-scale:has(span:only-child){justify-content:center}.sparkline-value,.uptime-strip-summary{color:#657082;margin:0;font-size:.72rem;font-weight:650}.sparkline-empty{color:#8a94a6;margin:0;font-size:.75rem;font-weight:600}.uptime-strip{flex-direction:column;gap:5px;margin:0 0 14px;display:flex}.uptime-strip-svg{width:100%;height:14px;display:block}.uptime-day-up{fill:var(--status-healthy-fg)}.uptime-day-degraded{fill:var(--status-warning-fg)}.uptime-day-down{fill:var(--status-failed-fg)}.uptime-day-no-data{fill:#e4e8ee}.history-panel{flex-direction:column;gap:14px;display:flex}.history-panel .sparkline svg{height:72px}.history-panel h4{color:#657082;text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:.72rem;font-weight:750}.detail-section-wide{grid-column:1/-1}.attention-panel{background:#fff;border:1px solid #e2e6ed;border-radius:8px;margin-bottom:18px;padding-bottom:18px}.attention-panel .compact-list,.attention-panel .attention-footnote{padding:0 20px}.attention-row{width:100%;font:inherit;text-align:left;cursor:pointer;background:0 0;border:none}.attention-row:hover,.attention-row:focus-visible{background:#f5f8ff}.attention-footnote{color:#657082;margin:12px 0 0;font-size:.75rem;font-weight:600}.panel-trend{padding:0 20px 18px}.panel-trend .sparkline svg{height:72px}.panel-trend h3{color:#657082;text-transform:uppercase;letter-spacing:.03em;margin:0 0 8px;font-size:.75rem;font-weight:750}.stale-badge{color:#7a6318;white-space:nowrap;background:#fdf6e3;border:1px solid #e0d3ab;border-radius:999px;flex:none;align-items:center;gap:5px;padding:5px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.table-sync-cell{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.project-card-bottom{flex-direction:column;flex:1;justify-content:flex-end;display:flex}.project-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:18px 0;display:grid}.project-metrics div{border:1px solid #e2e6ed;border-radius:8px;flex-direction:column;justify-content:space-between;min-width:0;min-height:96px;padding:12px;display:flex}.project-metrics dt{color:#657082;text-transform:uppercase;font-size:.75rem;font-weight:750}.project-metrics dd{color:#253041;overflow-wrap:anywhere;min-width:0;margin:12px 0 0;font-size:.94rem;font-weight:700}.project-metrics .status-pill{white-space:normal;text-align:left;gap:5px;padding:7px;font-size:.72rem;line-height:1.25}.project-metrics .status-pill svg{width:13px;height:13px}.provider-list{flex-direction:column;gap:10px;margin-top:0;display:flex}.provider-list-detail .provider-row:first-child{border-top:0;padding-top:0}.provider-row{border-top:1px solid #e5e9ef;grid-template-columns:36px minmax(0,1fr) auto;align-items:center;gap:12px;padding-top:12px;display:grid}.provider-icon{color:#3d5875;background:#eef3f8;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.provider-row strong,.provider-row span:not(.status-pill){display:block}.provider-row strong{font-size:.9rem}.provider-row span:not(.status-pill){color:#657082;margin-top:3px;font-size:.8rem;line-height:1.35}.detail-button{color:#253041;cursor:pointer;background:#fff;border:1px solid #c9d1dc;border-radius:8px;min-height:38px;margin-top:0;font-size:.86rem;font-weight:750}.detail-button[aria-pressed=true]{color:#264d73;background:#eef5fb;border-color:#6a8eb5}.table-action-button{color:#253041;cursor:pointer;background:#fff;border:1px solid #c9d1dc;border-radius:8px;min-height:32px;padding:0 10px;font-size:.78rem;font-weight:750}.dashboard-tabs{flex-wrap:wrap;gap:8px;margin-top:18px;display:flex}.dashboard-tab{color:#253041;cursor:pointer;background:#fff;border:1px solid #c9d1dc;border-radius:8px;min-height:38px;padding:0 12px;font-size:.86rem;font-weight:750}.dashboard-tab[aria-pressed=true]{color:#264d73;background:#eef5fb;border-color:#6a8eb5}.dashboard-tab-panel{min-width:0}.cost-panel{margin-top:18px;overflow:hidden}.openai-panel,.github-panel,.diagnostics-panel{margin-top:18px;overflow-x:auto}.diagnostics-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 20px 18px;display:grid}.diagnostics-summary div{border:1px solid #e2e6ed;border-radius:8px;min-width:0;padding:12px}.diagnostics-summary span{color:#657082;text-transform:uppercase;font-size:.72rem;font-weight:750;display:block}.diagnostics-summary strong{color:#253041;overflow-wrap:anywhere;margin-top:8px;font-size:1rem;display:block}.cost-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:0 20px 18px;display:grid}.openai-summary,.github-summary{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;padding:0 20px 18px;display:grid}.cost-summary div,.openai-summary div,.github-summary div{border:1px solid #e2e6ed;border-radius:8px;min-width:0;padding:12px}.cost-summary-wide{grid-column:span 2}.cost-summary span,.openai-summary span,.github-summary span{color:#657082;text-transform:uppercase;font-size:.72rem;font-weight:750;display:block}.cost-summary strong,.openai-summary strong,.github-summary strong{color:#253041;overflow-wrap:anywhere;margin-top:8px;font-size:1rem;line-height:1.3;display:block}.detail-panel,.settings-panel{background:#ffffffeb;border:1px solid #d9dee7;border-radius:8px;margin-top:18px;overflow:hidden;box-shadow:0 18px 38px #1e2a3b12}.settings-panel,.cost-panel{overflow-x:auto}.domain-block{border-top:1px solid #e3e7ee;padding:20px}.domain-block:first-child{border-top:0}.domain-block table{border:1px solid #e2e6ed;border-radius:8px;margin-top:14px;overflow:hidden}.domain-block .panel-empty{margin:14px 0 0}.domain-summary-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.domain-summary-heading h3{margin:0;font-size:1rem}.domain-summary-grid{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:14px 0 0;display:grid}.domain-summary-grid div{border:1px solid #e2e6ed;border-radius:8px;min-width:0;padding:10px 12px}.domain-summary-grid dt{color:#657082;text-transform:uppercase;font-size:.72rem;font-weight:750}.domain-summary-grid dd{color:#253041;overflow-wrap:anywhere;margin:8px 0 0;font-size:.88rem;font-weight:650}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:0 20px 20px;display:grid}.detail-section{border:1px solid #e2e6ed;border-radius:8px;min-height:160px;padding:14px}.detail-section h3{letter-spacing:0;text-transform:uppercase;color:#657082;margin:0 0 12px;font-size:.86rem}.compact-list{flex-direction:column;gap:10px;display:flex}.compact-row{border-top:1px solid #e5e9ef;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding-top:10px;display:grid}.compact-row:first-child{border-top:0;padding-top:0}.compact-row strong,.compact-row span:not(.status-pill){display:block}.compact-row strong{font-size:.9rem}.compact-row span:not(.status-pill),.empty-state{color:#657082;margin:4px 0 0;font-size:.8rem;line-height:1.4}.empty-state{flex-direction:column;gap:4px;margin:0;display:flex}.empty-state strong{color:#253041;font-size:.86rem}.empty-state span{color:#657082}.empty-dashboard,.project-grid-empty,.panel-empty{background:#ffffffdb;border:1px solid #e2e6ed;border-radius:8px;padding:16px}.empty-dashboard{margin:14px 0 18px}.project-grid-empty{grid-column:1/-1}.panel-empty{margin:0 20px 20px}.section-heading{align-items:center;gap:8px;padding:18px 20px;display:flex}.table-status-cell{align-items:center;gap:8px;min-width:max-content;display:flex}.table-status-cell span:not(.status-pill){color:#657082;font-size:.82rem;font-weight:650}.run-message{color:#3d4756;overflow-wrap:anywhere;max-width:360px;line-height:1.35}table{border-collapse:collapse;width:100%;font-size:.91rem}th,td{text-align:left;border-top:1px solid #e3e7ee;padding:13px 20px}th{color:#657082;text-transform:uppercase;font-size:.75rem}td:last-child,th:last-child{text-align:right}.project-name-cell{vertical-align:top;font-weight:750}@media (width>=1081px) and (width<=1212px){.project-metrics{grid-template-columns:1fr}}@media (width<=1080px){.summary-grid,.project-grid,.diagnostics-summary,.openai-summary,.github-summary,.cost-summary,.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.app-shell{width:min(100% - 24px,1180px);padding-top:22px}.topbar{flex-direction:column}.brand-heading{align-items:center}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.diagnostics-summary,.cost-summary,.openai-summary,.github-summary{grid-template-columns:1fr}.cost-summary-wide{grid-column:auto}.project-grid,.detail-grid{grid-template-columns:1fr}.project-card{min-height:auto}.provider-row{grid-template-columns:36px minmax(0,1fr)}.provider-row .status-pill{grid-column:2}.summary-panel{padding:16px}.summary-panel strong{font-size:1.55rem}th,td{padding:12px}}@media (width<=420px){.summary-grid{gap:10px}.project-metrics{grid-template-columns:1fr}}
