:root { color-scheme: light; --ink:#102f29; --muted:#587067; --cream:#f7f4ea; --paper:#fffdf8; --line:#b6c2ba; --accent:#b68436; --danger:#8b2f23; font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
* { box-sizing:border-box; }
body { margin:0; color:var(--ink); background:var(--cream); }
.skip-link { position:absolute; left:1rem; top:-5rem; padding:.7rem 1rem; color:white; background:var(--ink); }
.skip-link:focus { top:1rem; }
.site-header { display:flex; justify-content:space-between; gap:1rem; padding:1rem clamp(1rem,5vw,4rem); border-bottom:1px solid var(--line); background:var(--paper); }
.site-header span { color:var(--muted); }
.shell { width:min(78rem,calc(100% - 2rem)); margin:0 auto; padding:clamp(2rem,4vw,3.5rem) 0; }
.eyebrow { margin:0 0 .75rem; color:var(--accent); font-size:.82rem; font-weight:800; letter-spacing:.18em; text-transform:uppercase; }
h1 { max-width:20ch; margin:0; font-family:Georgia,serif; font-size:clamp(2.6rem,6vw,4.6rem); font-weight:500; line-height:.96; }
.intro { max-width:48rem; margin:1rem 0 2rem; color:var(--muted); font-size:1.15rem; }
.coverage { margin:0 0 1rem; color:var(--muted); font-size:.88rem; }
.metrics { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:1rem; }
.metric,.panel { border:1px solid var(--line); border-radius:.9rem; background:var(--paper); box-shadow:0 .5rem 1.5rem rgb(16 47 41 / 5%); }
.metric { min-height:8rem; padding:1.15rem; }
.metric span,.metric small,.store-card span,.store-card small { display:block; color:var(--muted); }
.metric strong { display:block; margin-top:.75rem; font-size:2rem; }
.metric.unavailable strong { font-size:1.05rem; }
.dashboard-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-top:1rem; }
.panel { padding:1.4rem; }
.panel h2 { margin:0 0 1rem; font-size:1.2rem; }
.rows { margin:0; padding:0; list-style:none; }
.rows li { display:flex; justify-content:space-between; gap:1rem; padding:.75rem 0; border-top:1px solid var(--line); }
.rows li:first-child { border-top:0; }
.action-summary,.store-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.75rem; }
.action-summary article,.store-card { padding:1rem; border-radius:.65rem; background:#e7eee8; }
.action-summary strong,.store-card strong { display:block; margin-top:.3rem; font-size:1.7rem; }
.action-summary .urgent { background:#f2dfbb; }
.notes { margin:0; padding-left:1.2rem; color:var(--muted); }
.notes li + li { margin-top:.6rem; }
.notice { padding:1.15rem 1.25rem; border-left:.3rem solid var(--accent); background:var(--paper); }
.notice.error { border-color:var(--danger); }
.notice h2 { margin:0 0 .35rem; }
.notice p { margin:0; color:var(--muted); }
.sign-out { margin:0 0 1rem; padding:.65rem .9rem; border:1px solid var(--line); border-radius:.45rem; background:var(--paper); color:var(--ink); font:inherit; font-weight:700; cursor:pointer; }
.quiet { color:var(--muted); }
.protected-review { margin-top:1rem; }
.review-list { margin:0; padding:0; list-style:none; }
.review-list li { display:flex; justify-content:space-between; align-items:center; gap:1rem; padding:.8rem 0; border-top:1px solid var(--line); }
.review-list li:first-child { border-top:0; }
.review-list span { display:block; margin-top:.25rem; color:var(--muted); font-size:.85rem; }
.review-list button { padding:.6rem .8rem; border:1px solid var(--ink); border-radius:.4rem; background:var(--ink); color:white; font:inherit; font-weight:700; }
.protected-detail { margin-top:1rem; padding-top:1rem; border-top:2px solid var(--ink); }
.answer-list { display:grid; gap:.7rem; }
.answer-row { padding:.75rem; border:1px solid var(--line); border-radius:.5rem; }
.answer-row dt { font-weight:750; }
.answer-row dd { margin:.35rem 0 0; white-space:normal; }
.protected-detail fieldset { display:grid; gap:.6rem; margin:1rem 0; padding:1rem; border:1px solid var(--line); }
.protected-detail label { display:flex; gap:.5rem; align-items:flex-start; }
.protected-detail label:has(textarea) { display:grid; }
.protected-detail textarea { width:100%; padding:.6rem; font:inherit; }
@media (max-width:50rem) { .metrics { grid-template-columns:repeat(2,minmax(0,1fr)); } .dashboard-grid { grid-template-columns:1fr; } }
@media (max-width:30rem) { .site-header { flex-direction:column; } .metrics { grid-template-columns:1fr; } }
