:root{font-family:Inter,system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;color:#181d26;background:#f6f8fa;font-synthesis:none;text-rendering:optimizeLegibility;--ink:#181d26;--muted:#687386;--blue:#1b61c9;--blue-soft:#eaf2ff;--green:#147a58;--green-soft:#e7f5ef;--border:#e0e4ea;--surface:#fff;--shadow:0 2px 12px rgba(24,29,38,.045)}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:#f6f8fa;color:var(--ink);font-size:15px;line-height:1.5}.topbar{height:72px;padding:0 clamp(20px,5vw,76px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--border)}.brand{display:flex;gap:11px;align-items:center;color:var(--ink);text-decoration:none;font-size:17px;font-weight:650;letter-spacing:-.25px}.brand-mark{width:31px;height:31px;border-radius:10px;background:var(--green);color:#fff;display:grid;place-items:center;font-weight:700;font-size:17px}.brand-light{font-weight:450;color:#586174}.topbar-user{display:flex;align-items:center;gap:22px}.user-name{color:#3a4352;font-weight:550}.quiet-link{color:var(--blue);text-decoration:none;font-size:14px}.quiet-link:hover{text-decoration:underline}.inline-form{display:inline-flex;margin:0}.button{border:0;border-radius:10px;padding:10px 16px;font:inherit;font-weight:600;cursor:pointer;transition:background .15s ease,transform .15s ease}.button:hover{transform:translateY(-1px)}.button-primary{background:var(--blue);color:white;box-shadow:0 1px 3px rgba(45,127,249,.18)}.button-primary:hover{background:#164fa8}.button-quiet{background:#f0f3f7;color:#445064;padding:8px 12px}.button-quiet:hover{background:#e6ebf2}.button-wide{width:100%;margin-top:8px;padding:12px 16px}.page-shell{max-width:1120px;margin:0 auto;padding:48px 28px 72px}.site-footer{max-width:1120px;margin:0 auto;padding:0 28px 28px;color:#8992a0;font-size:12px}.eyebrow{color:var(--green);font-size:11px;font-weight:750;letter-spacing:1.2px;margin:0 0 12px}.page-heading{display:flex;justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:30px}.page-heading h1,.auth-intro h1{font-size:clamp(30px,4vw,42px);letter-spacing:-1.4px;line-height:1.12;margin:0 0 12px}.lead{font-size:16px;color:var(--muted);margin:0;max-width:620px}.text-accent{color:var(--blue)}.updated-pill{display:flex;align-items:center;gap:9px;padding:9px 13px;border:1px solid #dcebe4;border-radius:999px;background:#fff;color:#4e685c;font-size:12px;white-space:nowrap}.status-dot,.pending-dot{width:8px;height:8px;border-radius:50%;background:#20a36b;display:inline-block;box-shadow:0 0 0 3px #e6f5ed}.meter-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}.card{background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow)}.meter-card{padding:22px 23px 20px;min-height:235px}.meter-topline{display:flex;align-items:center;justify-content:space-between;gap:10px}.meter-type{font-size:13px;font-weight:650;color:#4a5566}.meter-id{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:11px;color:#7e8795;background:#f3f5f7;border-radius:6px;padding:4px 7px}.reading-value{font-size:36px;font-weight:650;letter-spacing:-1.4px;margin-top:24px;line-height:1.1}.reading-value span{font-size:15px;font-weight:500;letter-spacing:0;color:#667183}.reading-meta{font-size:12px;color:#87909d;margin-top:7px}.usage-row{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;border-top:1px solid #eef0f3;margin-top:20px;padding-top:14px}.usage-label{display:block;font-size:11px;color:#7c8695;margin-bottom:3px}.usage-row strong{font-size:16px;color:#263244}.usage-caption{font-size:10px;color:#9aa2ad;text-align:right}.bar-chart{height:45px;display:flex;align-items:flex-end;gap:4px;margin-top:14px;border-bottom:1px solid #e8ecf0;padding:0 2px}.bar{flex:1;min-width:3px;max-width:18px;border-radius:3px 3px 0 0;background:linear-gradient(180deg,#4aa886,#1b7958);opacity:.82}.chart-caption{display:flex;justify-content:space-between;color:#a0a7b1;font-size:10px;margin-top:4px}.notice-muted{border-radius:10px;background:#f6f8fa;color:#7a8492;padding:10px 12px;margin-top:20px;font-size:12px}.no-reading{display:flex;align-items:center;gap:10px;margin-top:28px;color:#707b8c;font-size:14px}.pending-dot{background:#b2bdcb;box-shadow:0 0 0 3px #f0f2f5}.muted{color:var(--muted)}.small{font-size:12px}.empty-state{text-align:center;padding:60px 24px;max-width:680px;margin:0 auto}.empty-state h2{font-size:22px;margin:14px 0 8px}.empty-icon{font-size:32px;color:var(--green)}.privacy-callout{border:1px solid #dcebe4;background:#f0f8f4;color:#52685d;border-radius:12px;padding:14px 17px;margin-top:24px;font-size:13px}.privacy-callout strong{color:#315d49}.auth-layout{display:grid;grid-template-columns:1fr minmax(340px,440px);gap:clamp(40px,8vw,112px);align-items:center;max-width:1000px;margin:36px auto}.auth-layout-single{display:block;max-width:480px;margin:28px auto}.auth-intro{padding:0 0 20px}.auth-intro .lead{max-width:440px}.trust-note{display:flex;align-items:center;gap:11px;margin-top:34px;color:#697687;font-size:13px}.login-card{padding:32px}.login-card h1,.login-card h2{font-size:25px;letter-spacing:-.6px;margin:0 0 7px}.login-card .muted{margin:0 0 24px;font-size:13px}.stack-form{display:flex;flex-direction:column;gap:9px}.stack-form label{font-size:13px;font-weight:600;color:#394354;margin-top:8px}.stack-form input,.stack-form select{height:44px;width:100%;border:1px solid #cfd6df;border-radius:9px;padding:0 12px;font:inherit;color:var(--ink);background:#fff;outline:none}.stack-form input:focus,.stack-form select:focus{border-color:#4d8ce1;box-shadow:0 0 0 3px rgba(27,97,201,.12)}.form-footnote{border-top:1px solid #edf0f3;margin:22px 0 0;padding-top:16px;color:#808a98;font-size:12px}.alert{padding:11px 13px;border-radius:9px;margin:0 0 16px;font-size:13px}.alert-error{background:#fff1f0;border:1px solid #ffd8d4;color:#9e3027}.alert-success{background:#eef8f2;border:1px solid #cfe8d8;color:#256c48}.admin-section{margin:24px 0}.section-title{display:flex;justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:14px}.section-title h2{font-size:19px;letter-spacing:-.3px;margin:0}.section-title p{font-size:12px;color:var(--muted);margin:4px 0 0}.admin-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.admin-card{padding:20px}.admin-card h3{margin:0 0 14px;font-size:15px}.admin-table{width:100%;border-collapse:collapse;font-size:13px}.admin-table th,.admin-table td{text-align:left;vertical-align:top;border-bottom:1px solid #edf0f3;padding:11px 10px}.admin-table th{color:#738092;font-size:11px;font-weight:650;text-transform:uppercase;letter-spacing:.5px}.tag{display:inline-block;background:#f0f3f7;color:#526074;border-radius:6px;padding:3px 7px;margin:2px;font-size:11px}.admin-form{display:grid;gap:10px}.admin-form label{font-size:12px;font-weight:600;color:#485466}.admin-form input,.admin-form select{height:40px;border:1px solid #cfd6df;border-radius:8px;padding:0 10px;font:inherit;background:#fff}.admin-form .button{margin-top:4px}.empty-inline{padding:16px;color:#838d9a;font-size:13px}.first-login-note{background:#fff8e8;border:1px solid #f3dfae;color:#775b17;padding:12px 14px;border-radius:10px;margin-bottom:18px}@media(max-width:760px){.topbar{height:auto;min-height:64px;padding:12px 18px;gap:10px}.topbar-user{gap:10px}.user-name{display:none}.page-shell{padding:32px 18px 54px}.site-footer{padding:0 18px 24px}.page-heading{display:block}.updated-pill{display:inline-flex;margin-top:18px}.auth-layout{grid-template-columns:1fr;gap:24px;margin:12px auto}.auth-intro h1{font-size:34px}.trust-note{margin-top:18px}.login-card{padding:24px}.admin-table{font-size:12px}.admin-table th,.admin-table td{padding:8px 6px}}@media(max-width:430px){.brand-light{display:none}.topbar-user{gap:7px}.button-quiet{padding:7px 9px}.meter-grid{grid-template-columns:1fr}.meter-card{padding:19px}.page-heading h1{font-size:32px}}
.topbar-nav{display:flex;align-items:center;gap:4px;background:#f2f5f8;border:1px solid var(--border);border-radius:11px;padding:4px}
.nav-tab{display:inline-block;padding:7px 14px;border-radius:8px;color:#4b5565;font-size:13px;font-weight:600;text-decoration:none;white-space:nowrap}
.nav-tab:hover{background:#e8edf3;color:var(--ink)}
.nav-tab-active,.nav-tab-active:hover{background:#fff;color:var(--blue);box-shadow:0 1px 3px rgba(24,29,38,.09)}
@media(max-width:760px){.topbar-nav{padding:3px;gap:2px}.nav-tab{padding:6px 10px;font-size:12px}}
