/* Archive — thin, mobile-first. Black on white, editorial. */
:root { --ink:#0A1045; --signal:#D63031; --paper:#F6F8FB; --line:rgba(10,16,69,0.12); --muted:rgba(10,16,69,0.6); }
* { box-sizing:border-box; }
body { margin:0; font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; color:var(--ink); background:#fff; line-height:1.5; }
header { padding:16px 20px; border-bottom:1px solid var(--line); font-size:1.05rem; }
main { padding:20px; max-width:880px; margin:0 auto; }
h1 { font-size:1.6rem; margin:0 0 4px; }
.sub { color:var(--muted); margin:0 0 20px; }
/* login */
.login main { max-width:360px; padding-top:14vh; text-align:center; }
.login form { display:flex; flex-direction:column; gap:12px; margin-top:18px; }
input { padding:13px 14px; border:1px solid var(--line); border-radius:10px; font-size:1rem; width:100%; }
input:focus { outline:none; border-color:var(--signal); }
button { padding:13px; border:0; border-radius:10px; background:var(--signal); color:#fff; font-weight:700; font-size:1rem; cursor:pointer; }
button:active { transform:translateY(1px); }
.err { color:var(--signal); font-weight:600; }
/* dashboard cards — mobile first, 2-up then 3-up */
.cards { display:grid; grid-template-columns:repeat(2,1fr); gap:12px; margin:8px 0 20px; }
@media(min-width:560px){ .cards { grid-template-columns:repeat(3,1fr); } }
.card { border:1px solid var(--line); border-radius:14px; padding:18px; background:var(--paper); }
.fig { font-size:1.8rem; font-weight:800; letter-spacing:-0.02em; }
.lbl { color:var(--muted); font-size:0.85rem; margin-top:2px; }
.hint { color:var(--muted); font-size:0.9rem; }
