:root { color-scheme: light; --ink:#17202a; --muted:#64748b; --line:#dbe3ea; --green:#16844b; --green-dark:#0c5b32; --soft:#f4f7f9; --danger:#b42318; }
* { box-sizing: border-box; }
body { margin:0; font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif; color:var(--ink); background:#f7f9fb; line-height:1.45; }
a { color:var(--green-dark); }
.container { width:min(1180px, calc(100% - 2rem)); margin-inline:auto; }
.site-header { background:#fff; border-bottom:1px solid var(--line); }
.header-inner { min-height:64px; display:flex; align-items:center; justify-content:space-between; gap:1rem; }
.brand { font-weight:800; color:var(--ink); text-decoration:none; }
.nav { display:flex; gap:1rem; align-items:center; }
.nav form { margin:0; }
.link-button { padding:0; border:0; background:transparent; color:var(--green-dark); font:inherit; cursor:pointer; }
.main-content { padding-block:2rem 4rem; }
.page-heading { display:flex; justify-content:space-between; gap:1.5rem; align-items:flex-start; margin-bottom:1.25rem; }
h1,h2 { line-height:1.15; }
h1 { margin:.1rem 0 .5rem; font-size:clamp(1.8rem, 4vw, 2.6rem); }
h2 { font-size:1.15rem; }
.eyebrow { margin:0; text-transform:uppercase; letter-spacing:.12em; color:var(--green); font-size:.76rem; font-weight:800; }
.muted { color:var(--muted); }
.panel,.auth-card,.stat-card,.empty-state { background:#fff; border:1px solid var(--line); border-radius:12px; box-shadow:0 8px 24px rgba(15,23,42,.04); }
.panel { padding:1.25rem; margin-bottom:1.25rem; }
.auth-card { width:min(440px,100%); margin:4rem auto; padding:2rem; }
.empty-state { padding:3rem; text-align:center; }
.stack { display:grid; gap:1rem; }
label { display:grid; gap:.35rem; font-weight:650; }
input,select { width:100%; border:1px solid #aebbc7; border-radius:8px; padding:.7rem .8rem; font:inherit; background:#fff; }
input:focus,select:focus { outline:3px solid rgba(22,132,75,.18); border-color:var(--green); }
.button { display:inline-flex; justify-content:center; align-items:center; border:1px solid var(--green); border-radius:8px; padding:.65rem .9rem; color:var(--green-dark); background:#fff; text-decoration:none; font-weight:750; cursor:pointer; }
.button-primary { color:#fff; background:var(--green); }
.alert { border-radius:8px; padding:.75rem 1rem; margin:1rem 0; }
.alert-danger { background:#fff0ef; color:var(--danger); border:1px solid #f6b7b2; }
.alert-success { background:#eaf7ef; color:#0c5b32; border:1px solid #9bd2b3; }
.table-wrap { overflow-x:auto; }
table { width:100%; border-collapse:collapse; font-size:.92rem; }
th,td { padding:.7rem .65rem; border-bottom:1px solid var(--line); text-align:left; vertical-align:top; }
thead th { background:#eaf7ef; color:#123b26; }
tfoot th { border-top:2px solid var(--green-dark); border-bottom:0; }
.number { text-align:right; white-space:nowrap; }
.badge { display:inline-block; padding:.15rem .4rem; border-radius:999px; background:#e9eef3; color:#435161; font-size:.72rem; }
.finding-list { padding-left:1.2rem; }
.finding { margin:.45rem 0; }
.finding-critical { color:var(--danger); }
.stat-grid,.pricing-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:1rem; margin-bottom:1.25rem; }
.stat-card { padding:1.25rem; display:grid; gap:.4rem; }
.stat-card span { color:var(--muted); }
.stat-card strong { font-size:1.8rem; }
.stat-card small,.field-status,.cache-card small { color:var(--muted); font-weight:400; }
.section-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:1rem; margin-bottom:1rem; }
.section-heading h2 { margin:.2rem 0; }
.settings-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; }
.field-wide,.form-actions { grid-column:1/-1; }
.form-actions { display:flex; justify-content:flex-end; }
.checkbox-label { display:flex; flex-direction:row; align-items:center; align-self:end; gap:.65rem; padding:.65rem 0; }
.checkbox-label input { width:auto; }
.rate-comparison,.cache-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:1rem; margin:1rem 0 1.25rem; }
.cache-card { display:grid; gap:.35rem; border:1px solid var(--line); border-radius:10px; padding:1rem; background:var(--soft); }
.cache-fresh { border-color:#9bd2b3; background:#f2fbf6; }
.cache-stale,.cache-error { border-color:#f0b69b; background:#fff8f2; }
.warning { color:#9a3412 !important; }
.refresh-actions { display:flex; flex-wrap:wrap; gap:.75rem; margin-top:1rem; }
@media (max-width: 680px) { .header-inner,.page-heading { align-items:stretch; flex-direction:column; } .nav { flex-wrap:wrap; } }
@media (max-width: 680px) { .settings-grid { grid-template-columns:1fr; } .field-wide,.form-actions { grid-column:auto; } .section-heading { flex-direction:column; } }
