:root { color-scheme: light; --ink:#15191f; --muted:#67717f; --line:#d9e0e8; --paper:#f6f4ef; --white:#fff; --blue:#2f6fed; --teal:#317b78; --red:#9e3836; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font-family:Inter,Arial,sans-serif; }
a { color:inherit; }
.topbar { min-height:72px; display:flex; align-items:center; justify-content:space-between; gap:24px; padding:18px clamp(20px,4vw,56px); border-bottom:1px solid var(--line); background:var(--white); }
.wordmark { font-weight:800; letter-spacing:.16em; }
.product { margin-left:18px; color:var(--muted); font-size:.82rem; }
.account { display:flex; align-items:center; gap:18px; font-size:.82rem; }
.account a { color:var(--muted); }
main { width:min(1220px,calc(100% - 40px)); margin:0 auto; padding:48px 0 80px; }
.heading { display:flex; align-items:end; justify-content:space-between; gap:24px; }
.eyebrow { margin:0 0 8px; color:var(--blue); font:700 .72rem/1.2 monospace; letter-spacing:.09em; text-transform:uppercase; }
h1,h2 { margin:0; font-family:Arial,sans-serif; letter-spacing:-.04em; }
h1 { font-size:clamp(2rem,5vw,4rem); }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 18px; border:1px solid var(--ink); background:var(--ink); color:var(--white); font-weight:700; text-decoration:none; cursor:pointer; }
.button.secondary { background:transparent; color:var(--ink); }
.summary { display:grid; grid-template-columns:repeat(4,1fr); margin-top:32px; border:1px solid var(--line); background:var(--line); gap:1px; }
.summary article { padding:22px; background:var(--white); }
.summary span { display:block; color:var(--muted); font-size:.76rem; text-transform:uppercase; letter-spacing:.06em; }
.summary strong { display:block; margin-top:12px; font-size:2rem; }
.notice { margin:22px 0 10px; color:var(--muted); font-size:.88rem; }
.notice.error { color:var(--red); }
.table-card { border:1px solid var(--line); background:var(--white); }
.table-scroll { overflow:auto; }
table { width:100%; border-collapse:collapse; min-width:860px; }
th,td { padding:15px 16px; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
th { color:var(--muted); background:#eef2f7; font-size:.7rem; letter-spacing:.07em; text-transform:uppercase; }
td { font-size:.86rem; }
tbody tr { cursor:pointer; }
tbody tr:hover { background:#f4f7fc; }
.score { font-size:1rem; font-weight:800; }
.band { display:block; margin-top:4px; color:var(--muted); font-size:.72rem; }
.empty { padding:36px; text-align:center; color:var(--muted); }
dialog { width:min(780px,calc(100% - 32px)); max-height:88vh; padding:0; border:1px solid var(--line); box-shadow:0 28px 80px rgba(15,22,32,.22); }
dialog::backdrop { background:rgba(20,24,31,.58); }
.dialog-head { position:sticky; top:0; display:flex; justify-content:space-between; gap:20px; padding:24px; border-bottom:1px solid var(--line); background:var(--white); }
.close { width:40px; height:40px; border:1px solid var(--line); background:transparent; font-size:1.5rem; cursor:pointer; }
.detail { padding:24px; }
.detail-grid { display:grid; grid-template-columns:repeat(2,1fr); border:1px solid var(--line); }
.detail-grid div { padding:14px; border-right:1px solid var(--line); border-bottom:1px solid var(--line); }
.detail-grid span { display:block; color:var(--muted); font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; }
.detail-grid strong { display:block; margin-top:5px; overflow-wrap:anywhere; }
.detail h3 { margin:26px 0 12px; }
.detail li { margin:9px 0; line-height:1.5; }
.login-page { min-height:100vh; display:grid; place-items:center; padding:24px; }
.login-card { width:min(500px,100%); padding:42px; border:1px solid var(--line); background:var(--white); }
.login-card h1 { margin-bottom:18px; font-size:2.5rem; }
.login-card > p:not(.eyebrow) { color:var(--muted); line-height:1.65; }
.login-card .button { margin-top:18px; }
.error { color:var(--red)!important; }
@media (max-width:720px) { .product,.account span { display:none; } main { width:min(100% - 24px,1220px); padding-top:28px; } .summary { grid-template-columns:1fr 1fr; } .detail-grid { grid-template-columns:1fr; } }
