:root{--ink: #16232e;--ink-soft: #4a5a68;--bg: #ffffff;--bg-soft: #f2f6f9;--accent: #0b6e6e;--accent-ink: #ffffff;--warn-bg: #fff6e5;--warn-border: #e6a23c;--bad: #b3402a;--good: #2c7a44;--border: #d7e0e7}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--ink);background:var(--bg-soft);line-height:1.55}a{color:var(--accent)}h1{font-size:1.5rem;margin:0 0 1rem}h2{font-size:1.1rem;margin:0 0 .75rem}.muted{color:var(--ink-soft);font-size:.9em}.topbar{background:var(--bg);border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center;padding:.8rem 1.5rem}.logo{font-weight:800;font-size:1.1rem;color:var(--ink);text-decoration:none}.logo span{color:var(--accent)}.topbar nav a{margin-left:1.25rem;text-decoration:none;color:var(--ink-soft);font-weight:600}.topbar nav a.active{color:var(--accent)}.page{max-width:62rem;margin:0 auto;padding:1.5rem}.page-narrow{max-width:26rem;margin:3rem auto;padding:1.5rem}.card{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:1.25rem 1.5rem;margin-bottom:1.25rem}label{display:block;font-weight:600;font-size:.9rem;margin:.9rem 0 .25rem}input[type=email],input[type=password],input[type=text]{width:100%;font-size:1rem;padding:.55rem .7rem;border:1px solid var(--border);border-radius:8px}button,.btn{font-size:1rem;font-weight:700;padding:.6rem 1.2rem;background:var(--accent);color:var(--accent-ink);border:0;border-radius:8px;cursor:pointer;margin-top:1rem;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:default}button.secondary{background:var(--bg);color:var(--accent);border:1px solid var(--accent)}.error{color:var(--bad);font-weight:600;margin-top:.75rem}.ok{color:var(--good);font-weight:600;margin-top:.75rem}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(15rem,1fr));gap:1.25rem}.score-dial{width:7rem;height:7rem;border-radius:50%;display:flex;flex-direction:column;align-items:center;justify-content:center;border:7px solid var(--border);font-weight:800;margin:0 auto}.score-dial.good{border-color:var(--good);color:var(--good)}.score-dial.warn{border-color:var(--warn-border);color:#9a6b1a}.score-dial.bad{border-color:var(--bad);color:var(--bad)}.score-num{font-size:2.1rem;line-height:1}.score-label{font-size:.75rem}.delta-up{color:var(--good);font-weight:700}.delta-down{color:var(--bad);font-weight:700}.risk-box{background:#fdeeea;border:1px solid var(--bad);border-radius:10px;padding:.9rem 1.25rem;margin-bottom:1.25rem}.risk-box h2{color:var(--bad)}.issues{list-style:none;padding:0;margin:0}.issues li{padding:.55rem 0;border-bottom:1px solid var(--border)}.issues li:last-child{border-bottom:0}.sev{display:inline-block;font-size:.68rem;font-weight:700;text-transform:uppercase;padding:.1rem .5rem;border-radius:999px;margin-right:.45rem;letter-spacing:.04em}.sev-critical{background:var(--bad);color:#fff}.sev-serious{background:#d97706;color:#fff}.sev-moderate{background:#eab308;color:#3a2f00}.sev-minor{background:var(--border);color:var(--ink-soft)}.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:1rem}.tier{background:var(--bg);border:2px solid var(--border);border-radius:12px;padding:1.1rem 1.25rem;cursor:pointer}.tier.selected{border-color:var(--accent)}.tier .price{font-size:1.5rem;font-weight:800}.tier .name{font-weight:700}.banner{background:var(--warn-bg);border:1px solid var(--warn-border);border-radius:10px;padding:.75rem 1.25rem;margin-bottom:1.25rem}
