:root{--bg:#f6f7f9;--surface:#ffffff;--surface-2:#f0f3f6;--text:#17212b;--muted:#657382;--line:#dce3ea;--accent:#1769aa;--accent-strong:#0f4f83;--good-bg:#e7f6ee;--good-text:#14643a;--warn-bg:#fff4d8;--warn-text:#825a00;--bad-bg:#fde8e6;--bad-text:#a4342a;--neutral-bg:#edf1f5;--neutral-text:#465463}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font-family:Arial,Helvetica,sans-serif;letter-spacing:0}button,input{font:inherit}.appShell{width:min(1440px,calc(100% - 32px));margin:0 auto;padding:24px 0 48px}.topBar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:18px}.loginPanel h1,.topBar h1{margin:4px 0 0;font-size:28px;line-height:1.15}.eyebrow{margin:0;color:var(--accent);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.buildTag{margin:6px 0 0;color:var(--muted);font-size:12px}.panelSection{background:var(--surface);border:1px solid var(--line);border-radius:8px;margin:14px 0;overflow:hidden}.sectionHeader{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:16px 18px;border-bottom:1px solid var(--line)}.sectionHeader h2{margin:0;font-size:18px}.sectionHeader p{margin:4px 0 0;color:var(--muted);font-size:13px}.metricGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));grid-gap:1px;gap:1px;background:var(--line);border-bottom:1px solid var(--line)}.metricCard{background:var(--surface);padding:16px;min-width:0}.metricHint,.metricLabel,.muted,small{color:var(--muted)}.metricHint,.metricLabel{font-size:12px}.metricValue{margin-top:6px;font-size:28px;font-weight:750}.lastRun{display:flex;align-items:center;gap:10px;padding:14px 18px;color:var(--muted);font-size:13px}.lastRun strong{color:var(--text)}.noticeBar{margin:0 0 14px;padding:12px 14px;background:var(--good-bg);color:var(--good-text);border:1px solid #bce7cf;border-radius:8px;font-size:14px;font-weight:700}.tableWrap{overflow-x:auto}table{width:100%;min-width:980px;border-collapse:collapse}td,th{padding:12px 14px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top;font-size:13px}th{background:var(--surface-2);color:var(--muted);font-size:12px;font-weight:700}td small,td span,td strong{display:block}td small{margin-top:4px;max-width:420px;line-height:1.35}details summary{cursor:pointer;color:var(--accent);font-weight:700}.tableGroupRow td{background:#fafbfc;color:var(--text);padding-top:14px;padding-bottom:14px}.tableGroupRow small{max-width:none}.detailRow td{padding-top:0;background:#fbfcfd}.detailDisclosure{width:100%}.detailDisclosure summary{width:max-content}.suggestionDetailWide{margin-top:10px;padding:12px;background:var(--surface-2);border:1px solid var(--line);border-radius:7px;color:#344250;line-height:1.45}.suggestionDetailWide dl{display:grid;grid-template-columns:150px minmax(0,1fr);grid-gap:6px 12px;gap:6px 12px;margin:0 0 10px}.suggestionDetailWide dt{color:var(--muted);font-weight:700}.suggestionDetailWide dd{margin:0}.previewText{margin:10px 0;max-width:980px}.suggestionDetailWide ul{margin:10px 0 0;padding-left:18px;word-break:break-word}.reviewActions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line)}.emptyTableCell{color:var(--muted);background:#fbfcfd}.badge{display:inline-flex;align-items:center;min-height:24px;border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;white-space:nowrap}.badgeNeutral{background:var(--neutral-bg);color:var(--neutral-text)}.badgeGood{background:var(--good-bg);color:var(--good-text)}.badgeWarn{background:var(--warn-bg);color:var(--warn-text)}.badgeBad{background:var(--bad-bg);color:var(--bad-text)}.buttonGroup{display:flex;gap:8px;flex-wrap:wrap}.dangerButton,.primaryButton,.secondaryButton,.warningButton{min-height:34px;border-radius:7px;padding:0 12px;border:1px solid transparent;cursor:pointer;font-weight:700;white-space:nowrap}.primaryButton{background:var(--accent);color:#fff}.primaryButton:hover{background:var(--accent-strong)}.secondaryButton{background:#fff;border-color:var(--line);color:var(--text)}.secondaryButton:hover{background:var(--surface-2)}.warningButton{background:var(--warn-bg);border-color:#f2d78f;color:var(--warn-text)}.warningButton:hover{background:#ffe9ad}.dangerButton{background:#fff;border-color:#efb5ae;color:var(--bad-text)}.dangerButton:hover{background:var(--bad-bg)}.emptyState{padding:16px;background:var(--surface-2);border:1px solid var(--line);border-radius:8px;color:var(--muted)}.loginShell{min-height:100vh;display:grid;place-items:center;padding:24px}.loginPanel{width:min(420px,100%);background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:22px}.loginForm{display:grid;grid-gap:12px;gap:12px;margin-top:22px}.loginForm label{display:grid;grid-gap:6px;gap:6px;color:var(--muted);font-size:13px}.loginForm input{height:40px;border:1px solid var(--line);border-radius:7px;padding:0 10px}.errorText{margin:0;color:var(--bad-text);font-size:13px}@media (max-width:980px){.metricGrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:680px){.appShell{width:min(100% - 20px,1440px);padding-top:16px}.lastRun,.sectionHeader,.topBar{align-items:flex-start;flex-direction:column}.metricGrid{grid-template-columns:repeat(2,minmax(0,1fr))}}