:root{--bg:#eafafa;--card:#fff;--ink:#0f2342;--muted:#51637a;--teal:#08a7a7;--blue:#2c67e9;--purple:#7944bc;--green:#2faf7b;--orange:#f28b1d;--danger:#cf3b3b;--shadow:0 22px 55px rgba(12,67,92,.13);--radius:18px}*{box-sizing:border-box}html,body{margin:0;min-height:100%;font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;color:var(--ink)}body{background:radial-gradient(circle at top,#fff 0%,#e9fbfb 36%,#d9f6f5 100%)}.locked{display:none}.login-gate{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;padding:18px;background:radial-gradient(circle at top,#fff 0%,#e9fbfb 45%,#d9f6f5 100%);z-index:100}.login-gate.hide{display:none}.login-card{width:min(470px,100%);background:rgba(255,255,255,.96);border:1px solid rgba(28,104,127,.13);box-shadow:var(--shadow);border-radius:24px;padding:28px;text-align:center}.login-logo{width:min(250px,82%);display:block;margin:0 auto 12px}.fine-print{font-size:13px;color:var(--muted)}.app-shell{max-width:1060px;margin:0 auto;padding:24px 22px 134px}.brand-header{text-align:center;margin:0 auto 16px}.wellness-logo{width:min(260px,75vw);display:block;margin:0 auto 6px}.newwave-logo{width:108px;height:108px;object-fit:contain;display:block;margin:0 auto 8px}.screen{display:none;animation:fade .18s ease}.screen.active{display:block}@keyframes fade{from{opacity:.25;transform:translateY(6px)}to{opacity:1;transform:none}}.hero-card,.score-card,.chart-card,.page-card,.support-card,.quote-card{background:rgba(255,255,255,.94);border:1px solid rgba(28,104,127,.13);box-shadow:var(--shadow);border-radius:var(--radius);padding:26px;margin:14px 0;backdrop-filter:blur(8px)}.date-row{display:flex;align-items:center;gap:12px;color:#087d87;font-weight:900;font-size:18px;margin-bottom:8px}.date-row span{font-size:26px}h1{font-size:42px;line-height:1.03;margin:8px 0 14px;letter-spacing:-.04em}h2{font-size:44px;margin:3px 0 4px;letter-spacing:-.04em}h3{font-size:25px;margin:0 0 14px;letter-spacing:-.025em}p{font-size:18px;line-height:1.45;color:#405167}.sub{color:var(--muted);margin-top:0}button,a.link-btn{font:inherit;border:none;text-decoration:none;cursor:pointer}.primary,.secondary,.danger-btn{width:100%;display:inline-flex;align-items:center;justify-content:center;border-radius:15px;padding:17px 18px;font-weight:900;font-size:18px;margin-top:12px}.primary{color:white;background:linear-gradient(110deg,var(--teal),var(--blue))}.secondary{color:#0f5e72;background:#edfafa}.secondary.compact{padding:12px 14px;font-size:15px}.danger-btn{background:#fff0f0;color:#b42323}.quote-card{background:linear-gradient(135deg,#ffffff,#f2fbff)}blockquote{font-size:25px;line-height:1.35;margin:10px 0;color:#10233f;font-weight:800;letter-spacing:-.02em}.quote-author{font-weight:900;color:#087d87;margin:0}.score-card{display:flex;align-items:center;justify-content:space-between;gap:18px}.label{margin:0;color:#008486;text-transform:uppercase;font-size:14px;font-weight:900;letter-spacing:.08em}.score-ring{width:106px;height:106px;border-radius:50%;display:grid;place-items:center;position:relative;background:conic-gradient(var(--teal) 0deg,#e1eeee 0deg);font-weight:900;color:#07818b;box-shadow:0 10px 25px rgba(0,120,130,.16)}.score-ring:before{content:"";position:absolute;inset:11px;border-radius:50%;background:#fff}.score-ring span{position:relative;font-size:22px}.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.quick-card{background:rgba(255,255,255,.94);border:1px solid rgba(28,104,127,.11);box-shadow:0 14px 35px rgba(12,67,92,.09);border-radius:16px;padding:18px;display:flex;align-items:center;gap:14px;text-align:left;color:var(--ink)}.quick-card span{font-size:30px}.quick-card b{font-size:17px;display:block}.quick-card small{display:block;margin-top:4px;font-size:15px;font-weight:900;color:#0f2342}.section-title{display:flex;align-items:center;gap:12px}.section-title span{font-size:34px}.last7-grid{display:grid;grid-template-columns:230px 1fr;gap:24px;align-items:center}.stat-list p{margin:8px 0;font-size:18px}.stat-list b{font-size:22px;color:#0f2342}form label{display:block;margin:16px 0;font-weight:900;color:#142849;text-align:left}input,select,textarea{display:block;width:100%;border:1px solid #cfe6e8;background:#fbffff;border-radius:14px;padding:14px;margin-top:8px;font-size:17px;color:#142849}input[type=checkbox]{display:inline;width:auto;margin-right:8px}input[type=range]{accent-color:var(--teal);padding:0}output{float:right;color:#087d87;font-size:18px}.divider{height:1px;background:#d8eeee;margin:22px 0}.bar-row{display:grid;grid-template-columns:128px 1fr 42px;gap:10px;align-items:center;margin:17px 0}.bar{height:14px;border-radius:999px;background:#e3f0f0;overflow:hidden}.bar i{display:block;width:0;height:100%;background:linear-gradient(90deg,var(--teal),var(--blue));border-radius:999px}.calendar{display:grid;grid-template-columns:repeat(10,1fr);gap:8px}.day{height:42px;border-radius:12px;background:#edf7f7;display:grid;place-items:center;font-size:13px;font-weight:900;color:#6a8389}.day.alcohol{background:#ffe8b8;color:#7c4d00}.day.drug{background:#ffe0e0;color:#9a2020}.day.both{background:#d9e5ff;color:#284b8f}.legend{font-size:13px}.dot{display:inline-block;width:11px;height:11px;border-radius:50%;margin:0 4px}.dot.alcohol{background:#f7a928}.dot.drug{background:#cf3b3b}.dot.both{background:#5277c7}.list .item,.report-box .item{padding:15px;border-left:5px solid var(--teal);background:#f5fbfb;border-radius:14px;margin:10px 0}.item.warn{border-left-color:var(--orange)}.item.danger{border-left-color:var(--danger)}.item small{display:block;color:var(--muted);margin-top:5px}.note{background:#f7fffd}.crisis{border-color:rgba(207,59,59,.22)}.support-card{text-align:center;background:linear-gradient(135deg,#0c6076,#08a7a7,#2c67e9);color:white}.support-card p,.support-card h1{color:white}.support-logo{width:150px;background:white;border-radius:999px;padding:8px;display:block;margin:0 auto 12px}.admin-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.admin-grid div{background:#f4fbfb;border-radius:16px;padding:18px}.admin-grid b{font-size:34px;display:block}.admin-grid small{font-weight:800;color:var(--muted)}.powered-footer{text-align:center;color:#4d6674;font-size:11px;text-transform:uppercase;letter-spacing:.14em;font-weight:900;margin:26px 0 0;opacity:.75}.bottom-nav{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);width:min(1040px,calc(100% - 28px));display:grid;grid-template-columns:repeat(5,1fr);gap:4px;background:rgba(255,255,255,.95);border:1px solid rgba(28,104,127,.14);box-shadow:0 18px 50px rgba(12,67,92,.13);border-radius:28px;padding:10px;backdrop-filter:blur(14px);z-index:20}.bottom-nav button{background:transparent;color:#42566d;border-radius:18px;padding:10px 4px;font-weight:800}.bottom-nav button span{display:block;font-size:25px}.bottom-nav button.active{background:#e2f6f4;color:#07818b}.menu-fab{position:fixed;right:18px;bottom:96px;border-radius:999px;width:54px;height:54px;background:#0f2342;color:white;font-size:24px;box-shadow:var(--shadow);z-index:30}.more-menu{display:none;position:fixed;right:18px;bottom:158px;background:white;border-radius:18px;box-shadow:var(--shadow);padding:10px;z-index:29;min-width:210px}.more-menu.show{display:block}.more-menu button{display:block;width:100%;padding:12px;border-radius:12px;background:#f4fbfb;color:#0f2342;text-align:left;font-weight:800;margin:4px 0}.toast{position:fixed;left:50%;bottom:100px;transform:translateX(-50%) translateY(18px);background:#10233f;color:white;padding:12px 16px;border-radius:14px;opacity:0;pointer-events:none;transition:.2s;z-index:50}.toast.show{opacity:1;transform:translateX(-50%)}@media(max-width:760px){.app-shell{padding:14px 14px 128px}.wellness-logo{width:min(220px,78vw)}.newwave-logo{width:86px;height:86px}h1{font-size:32px}h2{font-size:34px}h3{font-size:22px}p{font-size:16px}.hero-card,.score-card,.chart-card,.page-card,.support-card,.quote-card{padding:20px;border-radius:17px}blockquote{font-size:21px}.quick-grid{grid-template-columns:1fr 1fr}.quick-card{padding:14px}.quick-card b,.quick-card small{font-size:14px}.last7-grid{grid-template-columns:1fr}.calendar{grid-template-columns:repeat(7,1fr)}.admin-grid{grid-template-columns:1fr 1fr}.bottom-nav{bottom:0;width:100%;border-radius:22px 22px 0 0}.bottom-nav button{font-size:12px}.bottom-nav button span{font-size:21px}.menu-fab{bottom:86px}}