*{box-sizing:border-box}
:root{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:#18211f;background:#f4f7f4}
body{margin:0;min-height:100vh;background:radial-gradient(circle at 10% 0%,#e1f4e8 0,transparent 34%),#f4f7f4}
.shell{width:min(920px,calc(100% - 32px));margin:0 auto;padding:26px 0 32px}
.topbar,.welcome-row,.code-row,.share-row{display:flex;align-items:center;justify-content:space-between;gap:14px}
.topbar{margin-bottom:36px}
.brand{font-weight:850;font-size:21px;color:#15251d;text-decoration:none;letter-spacing:-.5px}
.brand-mark{display:inline-grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#d6f3df;margin-right:7px}
.tag,.eyebrow,.stat-label{font-size:11px;font-weight:800;letter-spacing:1.3px;text-transform:uppercase;color:#57816a}
.tag{background:#e4f3e8;border:1px solid #d1e9d8;border-radius:99px;padding:9px 13px;letter-spacing:.3px;text-transform:none;font-size:12px}
.panel{background:#fff;border:1px solid #e3ebe5;border-radius:22px;box-shadow:0 12px 36px #193b2410}
.auth-panel{max-width:510px;margin:0 auto;padding:32px}
.intro{text-align:center;margin-bottom:25px}
h1{font-size:clamp(28px,5vw,42px);letter-spacing:-1.5px;line-height:1.08;margin:8px 0 10px}
h2{font-size:23px;letter-spacing:-.6px;margin:7px 0 18px}
.muted{color:#718078;line-height:1.6;font-size:14px}
.tabs{display:grid;grid-template-columns:1fr 1fr;gap:6px;background:#f1f5f2;padding:5px;border-radius:12px;margin:25px 0 20px}
.tab{border:0;background:transparent;border-radius:9px;padding:11px;font-weight:750;color:#718078;cursor:pointer}
.tab.active{background:#fff;color:#183b28;box-shadow:0 2px 8px #173b2510}
form{display:grid;gap:15px}
label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#34463b}
input{width:100%;border:1px solid #dce6df;background:#fff;border-radius:11px;padding:13px 14px;font:inherit;color:#18211f;outline:none}
input:focus{border-color:#47a66c;box-shadow:0 0 0 3px #47a66c1c}
button{font:inherit;cursor:pointer}
.primary,.secondary{border:0;border-radius:11px;padding:13px 17px;font-weight:800}
.primary{background:#176b3a;color:#fff}
.primary:hover{background:#10582e}
.secondary{background:#edf4ef;color:#235438}
form .primary{margin-top:4px}
.message{min-height:22px;font-size:13px;color:#a33b31;line-height:1.5}
.message.success{color:#176b3a}
.fineprint{font-size:11px;color:#89958e;line-height:1.5;text-align:center;margin:12px 0 0}
.hidden{display:none!important}
#dashboardView{display:grid;gap:20px}
.welcome-row{margin-bottom:2px}
.welcome-row h1{font-size:34px}
.welcome-row .muted{margin:0}
.stats{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.stat-card{background:#fff;border:1px solid #e3ebe5;border-radius:19px;padding:23px;display:grid;gap:8px;box-shadow:0 10px 28px #193b2408}
.points-card{background:#e7f6eb;border-color:#d5eadb}
.stat-label{letter-spacing:.8px}
.stat-card strong{font-size:39px;letter-spacing:-1.5px;color:#174b2d}
.stat-note{font-size:12px;color:#728078}
.referral-card{padding:27px}
.referral-card .muted{max-width:650px}
.code-row{justify-content:flex-start;margin:8px 0 12px}
.code-row code{font-size:20px;font-weight:850;letter-spacing:1px;background:#f1f7f2;padding:12px 15px;border-radius:10px;color:#155d31}
.share-row{margin-top:20px}
.share-row input{flex:1;min-width:0}
.share-row .primary{white-space:nowrap}
footer{text-align:center;color:#99a49d;font-size:12px;padding:35px 0 0}
@media(max-width:600px){.shell{width:min(100% - 22px,920px);padding-top:17px}.topbar{margin-bottom:24px}.auth-panel{padding:23px 18px}.stats{grid-template-columns:1fr}.welcome-row{align-items:flex-start}.welcome-row h1{font-size:27px}.share-row{display:grid}.share-row .primary{width:100%}.tag{font-size:10px}}
