:root { --ink:#1a2230; --soft:#5a6b83; --line:#e2e6ee; --accent:#1e5fbf; --bg:#f6f8fb; }
* { box-sizing: border-box; }
body { margin:0; font:15px/1.55 system-ui,"Segoe UI",Roboto,Helvetica,Arial,sans-serif; color:var(--ink); background:var(--bg); }
header { display:flex; align-items:center; justify-content:space-between; gap:16px; padding:14px 26px; background:#fff; border-bottom:1px solid var(--line); }
header h1 { font-size:18px; margin:0; letter-spacing:-.01em; }
main { max-width:960px; margin:26px auto; padding:0 20px; }
.muted { color:var(--soft); }
.err { color:#b0342a; }
.who { font-size:13px; color:var(--soft); margin-right:12px; }
.tag { background:#e7edf7; color:var(--accent); border-radius:999px; padding:2px 8px; font-size:12px; }
.btn { border:1px solid var(--accent); background:var(--accent); color:#fff; border-radius:8px; padding:8px 16px; font-size:14px; cursor:pointer; }
.btn.ghost { background:#fff; color:var(--accent); }
.btn:hover { filter:brightness(1.05); }
.signin { background:#fff; border:1px solid var(--line); border-radius:12px; padding:44px; text-align:center; }
.signin p { color:var(--soft); margin-top:0; }
.card { background:#fff; border:1px solid var(--line); border-radius:12px; overflow:auto; box-shadow:0 1px 2px rgba(20,30,50,.04); }
h2 { font-size:16px; }
h2 .muted { font-weight:400; font-size:13px; }
table { border-collapse:collapse; width:100%; font-variant-numeric:tabular-nums; }
th, td { padding:9px 14px; text-align:left; border-bottom:1px solid var(--line); white-space:nowrap; }
thead th { background:#f0f3f9; color:var(--soft); font-size:12px; text-transform:uppercase; letter-spacing:.03em; }
tbody tr:last-child td { border-bottom:none; }
