:root{
  --navy:#0b2d45;--navy2:#123f58;--teal:#20aaa7;--teal2:#0f8589;--mint:#79d85d;--lime:#dff3ad;--coral:#ff8978;--off:#f7faf8;--ink:#16384d;--muted:#67808d;--line:#dce9e8;--pale:#edf8f6;--white:#fff;--shadow:0 24px 70px rgba(11,45,69,.10);--shadow2:0 12px 34px rgba(11,45,69,.08)
}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;min-height:100vh;background:linear-gradient(180deg,#fcfffe 0%,#f4faf9 52%,#fbfdfc 100%);color:var(--navy);font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;-webkit-font-smoothing:antialiased}.ambient{position:fixed;z-index:-1;border-radius:50%;filter:blur(90px);opacity:.17;pointer-events:none}.ambient-a{width:460px;height:460px;right:-180px;top:-150px;background:#34c9c0}.ambient-b{width:430px;height:430px;left:-190px;bottom:-120px;background:#96db60}.hidden{display:none!important}button,input{font:inherit}.shell{width:min(1180px,92vw);margin:0 auto}.topbar{position:sticky;top:0;z-index:50;height:86px;padding:9px 5vw;display:flex;align-items:center;justify-content:space-between;background:rgba(251,254,253,.82);border-bottom:1px solid rgba(11,45,69,.06);backdrop-filter:blur(22px)}.brand-button{border:0;background:none;cursor:pointer;padding:0;display:flex}.brand-button img{width:248px;max-width:47vw}.top-actions{display:flex;align-items:center;gap:12px}.free-pill{font-size:10px;font-weight:900;letter-spacing:.13em;color:#158782;background:#e7f8f3;border:1px solid #c7ece2;border-radius:999px;padding:9px 12px}.text-button,.back-button{border:0;background:none;color:var(--navy);font-weight:800;cursor:pointer;padding:10px}.back-button{margin:24px 0 4px;color:#56717e}.primary,.secondary{border-radius:15px;padding:14px 19px;border:1px solid transparent;font-weight:850;cursor:pointer;transition:.2s ease}.primary{background:linear-gradient(135deg,var(--teal2),var(--teal));color:#fff;box-shadow:0 12px 28px rgba(32,170,167,.22)}.primary:hover{transform:translateY(-1px);box-shadow:0 16px 32px rgba(32,170,167,.26)}.secondary{background:rgba(255,255,255,.9);border-color:#bdd6d6;color:var(--navy)}.secondary:hover{background:#fff;border-color:#8fc1c2}.big-button{padding:16px 22px}.compact{padding:9px 13px;border-radius:12px}.centered{display:block;margin:28px auto}.view{animation:fade .35s ease}@keyframes fade{from{opacity:.2;transform:translateY(4px)}to{opacity:1;transform:none}}

/* hero */
.hero-view{min-height:calc(100vh - 86px);display:grid;grid-template-columns:1.02fr .98fr;gap:70px;align-items:center;padding:62px 0 80px}.eyebrow,.eyebrow-text{font-size:11px;letter-spacing:.18em;font-weight:900;color:#587381}.eyebrow{display:flex;gap:10px;align-items:center}.eyebrow span{width:30px;height:2px;background:linear-gradient(90deg,var(--teal),var(--mint))}.hero-copy h1,.activation-copy h2,.dashboard-heading h2,.section-heading h2{font-size:clamp(48px,6vw,82px);line-height:.95;letter-spacing:-.055em;margin:18px 0 24px}.hero-copy h1 em,.activation-copy h2 em,.dashboard-heading h2 em{font-style:normal;color:var(--teal)}.lead{max-width:640px;font-size:19px;line-height:1.68;color:#496675}.hero-cta{display:flex;gap:12px;margin:34px 0 24px}.hero-cta .primary span{padding-left:18px}.proof-row{display:flex;flex-wrap:wrap;gap:20px;color:#647e8a;font-size:13px;font-weight:650}.hero-product{position:relative;min-height:650px;display:grid;place-items:center}.phone-shell{width:min(360px,80vw);background:#111a20;border-radius:46px;padding:10px;box-shadow:0 45px 90px rgba(11,45,69,.24);transform:rotate(2deg);position:relative;z-index:2}.phone-screen{min-height:650px;background:linear-gradient(180deg,#f9fdfc,#eff9f6);border-radius:38px;padding:30px 22px 24px;overflow:hidden}.phone-island{width:108px;height:27px;background:#0e151a;border-radius:999px;position:absolute;top:18px;left:50%;transform:translateX(-50%);z-index:3}.mini-header{display:flex;gap:10px;align-items:center;margin:18px 0 24px}.mini-header img{width:38px;height:38px;border-radius:11px}.mini-header div{display:grid}.mini-header b{font-size:14px}.mini-header small{font-size:9px;letter-spacing:.08em;color:#718894;text-transform:uppercase}.push-preview{background:#fff;border:1px solid #dae9e8;border-radius:27px;padding:25px;box-shadow:var(--shadow2);text-align:center}.push-kicker{font-size:9px;letter-spacing:.18em;font-weight:900;color:#67838d}.push-ring{width:178px;aspect-ratio:1;border-radius:50%;margin:18px auto;background:conic-gradient(var(--mint) 0 40%,var(--teal) 40% 69%,#deeceb 69%);padding:11px}.push-ring>div{height:100%;border-radius:50%;background:#fff;display:grid;place-content:center;gap:2px}.push-ring small,.push-ring span{font-size:10px;color:#718994}.push-ring strong{font-size:35px;letter-spacing:-.045em}.push-preview h3{font-size:21px;margin:4px 0}.push-preview p{font-size:12px;line-height:1.5;color:#647d88;margin:0}.mini-progress{background:#fff;border:1px solid #dfebeb;border-radius:18px;padding:16px;margin:14px 0}.mini-progress span{font-size:9px;letter-spacing:.14em;color:#718b94;font-weight:900}.mini-progress b{float:right;font-size:13px}.mini-progress i{display:block;height:8px;background:#e6efef;border-radius:99px;clear:both;margin-top:12px;overflow:hidden}.mini-progress u{height:100%;display:block;border-radius:inherit;background:linear-gradient(90deg,var(--teal),var(--mint));text-decoration:none}.mini-buttons{display:grid;grid-template-columns:1fr 1fr;gap:8px}.mini-buttons button{border:0;border-radius:12px;padding:13px;font-weight:800;font-size:11px}.mini-buttons button:first-child{background:var(--teal);color:#fff}.mini-buttons button:last-child{background:#fff;border:1px solid #cfe0df;color:var(--navy)}.floating-card{position:absolute;z-index:3;background:rgba(255,255,255,.92);backdrop-filter:blur(12px);border:1px solid #d8e8e7;border-radius:17px;padding:14px 16px;display:flex;gap:10px;align-items:center;box-shadow:var(--shadow2)}.floating-card span{font-size:22px}.floating-card div{display:grid;gap:2px}.floating-card b{font-size:12px}.floating-card small{font-size:9px;color:#728895}.fc-a{left:1%;top:27%}.fc-b{right:-2%;bottom:20%}

/* headings + onboarding */
.content-view{padding-bottom:85px}.section-heading{display:grid;grid-template-columns:auto 1fr;gap:24px;align-items:start;margin:26px 0 36px}.step-mark{width:55px;height:55px;border-radius:18px;background:linear-gradient(135deg,var(--navy),#16777c);color:#fff;display:grid;place-items:center;font-size:15px;font-weight:900;box-shadow:0 12px 28px rgba(11,45,69,.16)}.section-heading span{font-size:11px;letter-spacing:.17em;font-weight:900;color:#64808c}.section-heading h2{font-size:52px;margin:8px 0 12px}.section-heading p{color:#627d88;margin:0;line-height:1.5}.wizard{display:grid;grid-template-columns:1fr 1fr;gap:18px}.form-card,.dash-card{background:rgba(255,255,255,.91);border:1px solid rgba(177,207,206,.58);border-radius:25px;box-shadow:var(--shadow2)}.form-card{padding:25px}.wide-card,.summary-card{grid-column:1/-1}.card-title{display:flex;gap:13px;align-items:flex-start;margin-bottom:18px}.card-title>span{min-width:32px;height:32px;border-radius:10px;background:#e9f7f4;color:#198f8b;display:grid;place-items:center;font-weight:900}.card-title h3{margin:1px 0 4px;font-size:19px}.card-title p{margin:0;color:#6b838d;font-size:12px;line-height:1.45}.choice-row{display:grid;grid-template-columns:repeat(5,1fr);gap:9px}.choice{border:1px solid #d4e4e3;background:#f9fcfb;border-radius:16px;padding:15px 8px;color:var(--navy);cursor:pointer;display:grid;place-items:center;gap:7px;min-height:88px}.choice span{font-size:24px;color:#399f9b}.choice b{font-size:12px}.choice.active,.pace-choice.active{border:2px solid var(--teal);background:linear-gradient(180deg,#f4fffc,#eaf9f5);box-shadow:inset 0 0 0 3px rgba(32,170,167,.06)}.choice-stack{display:grid;gap:8px}.choice-level{border:1px solid #d5e5e4;background:#fbfdfd;border-radius:16px;padding:14px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;color:var(--navy);cursor:pointer;text-align:left}.choice-level.active{border:2px solid var(--teal);background:#f0fbf8}.choice-level div{display:grid;gap:2px}.choice-level small{color:#748a93;font-size:11px}.choice-level strong{font-size:11px;color:#6a828c}.dot{width:12px;height:12px;border-radius:99px}.dot.low{background:#79d85d}.dot.medium{background:#20aaa7}.dot.heavy{background:#ff8978}.pace-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.pace-choice{border:1px solid #d6e6e5;background:#f9fcfb;border-radius:16px;padding:18px 10px;display:grid;place-items:center;gap:5px;cursor:pointer;color:var(--navy)}.pace-choice span{font-size:23px}.pace-choice b{font-size:12px}.pace-choice small{font-size:10px;color:#708891}.field{display:grid;gap:7px;margin-top:15px;color:#607985;font-size:11px;font-weight:800;letter-spacing:.02em}.field span small{font-weight:600}.field input{border:1px solid #cadedd;border-radius:13px;background:#fff;padding:13px 14px;color:var(--navy);outline:none}.field input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(32,170,167,.1)}.time-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.summary-card{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:20px;background:linear-gradient(135deg,#f7fffc,#eef9f3)}.summary-symbol{width:66px;height:66px;border-radius:21px;background:linear-gradient(135deg,var(--navy),#127d80);color:#fff;display:grid;place-items:center;font-size:30px;font-weight:900}.summary-card h3{font-size:26px;margin:5px 0}.summary-card p{margin:0;color:#607c86;font-size:13px}.consent-note{grid-column:2/-1!important;font-size:10px!important;color:#78909a!important;line-height:1.4}

/* activation */
.activation-view{padding-bottom:90px}.activation-layout{display:grid;grid-template-columns:1fr .9fr;gap:80px;align-items:center;min-height:650px}.activation-copy h2{font-size:60px}.activation-copy>p{font-size:17px;line-height:1.65;color:#57717e;max-width:620px}.install-state{margin:25px 0;display:grid;gap:9px}.state-line{display:flex;gap:11px;align-items:center;background:#fff;border:1px solid #dbe8e7;border-radius:14px;padding:13px 15px;font-size:13px}.state-line i{width:22px;height:22px;border-radius:99px;background:#e6f3f1;display:grid;place-items:center;font-style:normal;color:#66808a;font-weight:900}.state-line.done i{background:#dcf7df;color:#29944f}.activate-buttons{display:flex;gap:10px;flex-wrap:wrap}.muted-link{display:block;margin-top:12px;color:#708690}.activation-phone{display:grid;justify-items:center;gap:14px}.notification-demo{width:min(390px,88vw);background:rgba(255,255,255,.96);border:1px solid #d7e4e4;border-radius:28px;padding:19px 20px;box-shadow:0 26px 60px rgba(11,45,69,.15)}.notification-top{display:flex;align-items:center;gap:10px}.notification-top img{width:38px;border-radius:10px}.notification-top div{display:grid}.notification-top b{font-size:13px}.notification-top small{font-size:10px;color:#738992}.notification-demo h3{font-size:21px;margin:18px 0 5px}.notification-demo p{font-size:13px;color:#59747f;margin:0;line-height:1.45}.notification-meta{display:flex;gap:8px;margin-top:16px}.notification-meta span{font-size:10px;background:#eef7f5;border-radius:99px;padding:7px 10px}.tap-arrow{text-transform:uppercase;letter-spacing:.15em;font-size:9px;color:#83969e}.rich-card-demo{width:min(350px,82vw);border-radius:26px;background:linear-gradient(160deg,#0d4258,#0a2d44);padding:25px;color:#fff;box-shadow:0 32px 70px rgba(11,45,69,.25)}.rich-card-demo img{width:190px;filter:brightness(0) invert(1);opacity:.98}.rich-card-demo>span{display:block;margin:28px 0 5px;color:#9de6d5;font-size:9px;letter-spacing:.18em;font-weight:900}.rich-card-demo>strong{display:block;font-size:56px;letter-spacing:-.06em}.rich-card-demo h3{margin:15px 0;font-size:20px}.rich-card-demo button{width:100%;border:0;background:linear-gradient(90deg,#1a9c9d,#64cc70);color:#fff;border-radius:13px;padding:13px;font-weight:850}.demo-progress{height:9px;border-radius:99px;background:rgba(255,255,255,.14);overflow:hidden}.demo-progress i{display:block;width:44%;height:100%;background:linear-gradient(90deg,var(--teal),var(--mint));border-radius:inherit}.ios-guide{background:#fff8e9;border:1px solid #f4dcaa;color:#67512b;border-radius:16px;padding:16px 18px;line-height:1.5;font-size:13px}

/* dashboard */
.dashboard-view{padding:52px 0 90px}.push-arrival{background:linear-gradient(90deg,#eaf9f4,#f5fbea);border:1px solid #cbe9dc;border-radius:18px;padding:14px 16px;display:flex;gap:12px;align-items:center;margin-bottom:18px}.push-arrival>span{font-size:27px}.push-arrival div{flex:1}.push-arrival b{font-size:13px}.push-arrival p{font-size:11px;color:#647c87;margin:3px 0 0}.push-arrival button{border:0;background:none;font-size:22px;color:#67818c;cursor:pointer}.dashboard-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:30px;margin-bottom:25px}.dashboard-heading h2{font-size:54px;margin-top:9px}.dashboard-status{margin-top:20px;background:#fff;border:1px solid #d9e8e7;border-radius:16px;padding:10px 11px;display:flex;gap:10px;align-items:center;box-shadow:var(--shadow2)}.dashboard-status>i{width:11px;height:11px;border-radius:99px;background:#bccbca;box-shadow:0 0 0 5px #f0f4f4}.dashboard-status>i.on{background:#43c96c;box-shadow:0 0 0 5px #e1f8e7}.dashboard-status div{display:grid;min-width:135px}.dashboard-status b{font-size:11px}.dashboard-status small{font-size:9px;color:#758c96}.dash-grid{display:grid;grid-template-columns:1.05fr 1.35fr .9fr;gap:15px}.dash-card{padding:22px}.card-label{font-size:10px;letter-spacing:.14em;font-weight:900;color:#617d88;display:flex;justify-content:space-between}.next-card{grid-row:span 2}.countdown-ring{width:min(260px,88%);aspect-ratio:1;border-radius:50%;margin:24px auto 20px;background:conic-gradient(var(--teal) 0 34%,var(--mint) 34% 68%,#e1eeee 68%);padding:13px}.countdown-ring>div{height:100%;background:#fff;border-radius:50%;display:grid;place-content:center;text-align:center}.countdown-ring small{text-transform:uppercase;letter-spacing:.08em;font-size:9px;color:#79909a}.countdown-ring strong{font-size:44px;letter-spacing:-.05em;margin:2px 0}.countdown-ring span{font-size:11px;color:#68818b}.next-card h3{font-size:20px;margin:12px 0 5px}.next-card>p{color:#65808a;font-size:12px;line-height:1.5}.today-top{display:flex;align-items:baseline;gap:9px;margin:22px 0 12px}.today-top h3{font-size:34px;margin:0;letter-spacing:-.04em}.today-top span{font-size:11px;color:#718892}.progress-track{height:9px;background:#e6efef;border-radius:99px;overflow:hidden}.progress-track i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--teal),var(--mint));border-radius:inherit;transition:.35s}.metric-row{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px}.metric-row>div{background:#f7fbfa;border-radius:15px;padding:12px 8px;text-align:center}.metric-icon{width:25px;height:25px;border-radius:99px;display:grid;place-items:center;margin:0 auto 5px;font-size:11px;font-weight:900}.metric-icon.green{background:#dbf5e2;color:#2f9a52}.metric-icon.mint{background:#e3f6ef;color:#168e83}.metric-icon.gray{background:#edf2f2;color:#82969d}.metric-row b{display:block;font-size:22px}.metric-row small{font-size:9px;color:#778c95}.plan-tags{display:flex;align-items:center;gap:7px;margin:22px 0}.plan-tags span{background:#eaf8f4;border-radius:99px;padding:8px 10px;font-size:10px;font-weight:850}.plan-tags span:nth-child(2){background:none;padding:0;color:#8a9ca2}.plan-detail{display:grid;grid-template-columns:1fr 1fr;gap:8px}.plan-detail div{background:#f8fbfb;border-radius:14px;padding:12px}.plan-detail small{display:block;font-size:8px;letter-spacing:.12em;color:#7b8f98}.plan-detail b{font-size:13px}.plan-card p{color:#6b838d;font-size:10px;line-height:1.5;margin:14px 0 0}.schedule-card{grid-column:2/-1}.schedule-timeline{display:flex;gap:8px;overflow:auto;padding:22px 2px 5px;scrollbar-width:thin}.schedule-slot{min-width:74px;display:grid;justify-items:center;gap:5px;color:#81939a}.schedule-slot i{width:12px;height:12px;border-radius:99px;background:#dbe6e6}.schedule-slot b{font-size:11px;color:#446371}.schedule-slot small{font-size:8px;text-transform:uppercase;letter-spacing:.08em}.schedule-slot.next i{background:#fff;border:3px solid var(--teal);box-shadow:0 0 0 5px rgba(32,170,167,.12)}.schedule-slot.skipped i{background:var(--mint)}.schedule-slot.took i{background:var(--teal)}.schedule-slot.past i{background:#cddada}.action-card{grid-column:1/3}.big-actions{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:16px}.big-actions button{border:0;border-radius:16px;padding:16px;display:flex;gap:10px;align-items:center;text-align:left;cursor:pointer}.big-actions>button>span{width:31px;height:31px;border-radius:99px;display:grid;place-items:center;font-weight:900}.big-actions div{display:grid}.big-actions b{font-size:12px}.big-actions small{font-size:9px;opacity:.72}.skip-action{background:linear-gradient(135deg,#108a8d,#22b4a9);color:#fff}.skip-action>span{background:rgba(255,255,255,.16)}.took-action{background:#effafa;color:var(--navy);border:1px solid #c2e0df!important}.took-action>span{background:#dbf1ef}.rescue-action{background:#fff0eb;color:#a8493d;border:1px solid #ffd3c8!important}.rescue-action>span{background:#ffe0d7}.action-toast{min-height:18px;margin-top:10px;font-size:11px;color:#58747f}.action-toast.show{padding:10px 12px;background:#f2f8f7;border-radius:12px}.coach-card{display:grid;align-content:space-between;background:linear-gradient(150deg,#0d3c52,#0b2d45);color:#fff;overflow:hidden;position:relative}.coach-card:after{content:"";position:absolute;width:180px;height:180px;border-radius:50%;background:linear-gradient(135deg,rgba(32,170,167,.35),rgba(121,216,93,.18));right:-60px;top:-50px;filter:blur(4px)}.coach-art{display:grid;line-height:.85;position:relative;z-index:1;margin-bottom:35px}.coach-art span{font-size:11px;letter-spacing:.18em;color:#8fe0ce}.coach-art b{font-size:37px;letter-spacing:-.06em}.coach-art em{font-family:Georgia,serif;font-size:28px;font-weight:400;color:#bfe58f}.coach-card>div:last-child{position:relative;z-index:1}.coach-card .eyebrow-text{color:#91cfc2}.coach-card h3{font-size:18px;margin:8px 0}.coach-card p{font-size:10px;color:#c5d8dd;line-height:1.5;margin:0}

/* demo/footer */
.demo-view{padding-bottom:90px}.concept-image{width:100%;border-radius:28px;border:1px solid #d9e7e6;box-shadow:var(--shadow);display:block}.demo-view .section-heading{max-width:900px}footer{border-top:1px solid #e1eceb;padding:30px 5vw 42px;display:flex;align-items:center;justify-content:space-between;gap:30px;color:#70858f;font-size:11px}footer img{width:210px}footer p{max-width:620px;text-align:right;line-height:1.5}

@media(max-width:1000px){.hero-view,.activation-layout{grid-template-columns:1fr;gap:35px}.hero-copy{text-align:center}.eyebrow,.hero-cta,.proof-row{justify-content:center}.hero-product{min-height:600px}.fc-a{left:10%}.fc-b{right:8%}.activation-copy{text-align:center}.activation-copy>p{margin-left:auto;margin-right:auto}.activate-buttons{justify-content:center}.muted-link{margin-left:auto;margin-right:auto}.dash-grid{grid-template-columns:1fr 1fr}.next-card{grid-row:auto}.schedule-card,.action-card{grid-column:1/-1}.coach-card{min-height:250px}.wizard{grid-template-columns:1fr}.wide-card,.summary-card{grid-column:auto}.summary-card{grid-template-columns:auto 1fr}.summary-card .primary{grid-column:1/-1}.consent-note{grid-column:1/-1!important}.choice-row{grid-template-columns:repeat(5,1fr)}}
@media(max-width:680px){.topbar{height:72px}.brand-button img{width:188px}.free-pill{display:none}.top-actions .text-button{font-size:11px}.hero-view{min-height:auto;padding:38px 0 64px}.hero-copy h1{font-size:54px}.lead{font-size:16px}.hero-cta{flex-direction:column}.proof-row{display:grid;gap:8px}.hero-product{min-height:570px}.phone-shell{width:315px}.phone-screen{min-height:570px}.fc-a{left:0;top:31%}.fc-b{right:0;bottom:14%}.floating-card{padding:10px 12px}.floating-card b{font-size:10px}.floating-card small{font-size:8px}.section-heading{grid-template-columns:1fr}.section-heading h2{font-size:40px}.choice-row{grid-template-columns:repeat(2,1fr)}.choice-row .choice:last-child{grid-column:1/-1}.pace-grid{grid-template-columns:1fr}.time-grid{grid-template-columns:1fr 1fr}.summary-card{grid-template-columns:1fr;text-align:center}.summary-symbol{margin:auto}.summary-card .primary{grid-column:auto}.activation-copy h2{font-size:44px}.activate-buttons{display:grid}.dashboard-heading{display:block}.dashboard-heading h2{font-size:44px}.dashboard-status{margin-top:0;width:max-content;max-width:100%}.dash-grid{grid-template-columns:1fr}.schedule-card,.action-card{grid-column:auto}.big-actions{grid-template-columns:1fr}.metric-row{gap:5px}.dash-card{padding:19px}.coach-card{min-height:250px}.activation-phone{margin-top:10px}.concept-image{border-radius:18px}footer{flex-direction:column;align-items:flex-start}footer p{text-align:left}.section-heading{margin-top:15px}.time-grid{gap:8px}}
@media(display-mode:standalone){.topbar{padding-top:max(9px,env(safe-area-inset-top));height:calc(76px + env(safe-area-inset-top))}body{padding-bottom:env(safe-area-inset-bottom)}}

/* v0.3 trial + authentication */
.trial-banner{margin:24px 0 0;padding:14px 16px;border:1px solid #cce7e2;background:linear-gradient(135deg,#f0fbf8,#f7fff4);border-radius:16px;display:flex;gap:12px;align-items:center;max-width:650px}.trial-banner b{color:var(--teal2);font-size:14px}.trial-banner span{color:#58727f;font-size:12px;line-height:1.45}.auth-view{padding-bottom:90px}.auth-layout{min-height:620px;display:grid;grid-template-columns:1.1fr .9fr;gap:70px;align-items:center}.auth-copy h2{font-size:clamp(44px,5.6vw,72px);line-height:.96;letter-spacing:-.05em;margin:15px 0 22px}.auth-copy h2 em{font-style:normal;color:var(--teal)}.auth-copy>p{max-width:620px;color:#58727f;font-size:17px;line-height:1.65}.auth-card{background:rgba(255,255,255,.94);border:1px solid #d6e7e5;border-radius:26px;padding:28px;box-shadow:var(--shadow);display:grid;gap:12px}.auth-card h3{font-size:25px;margin:0}.auth-card>p{margin:0 0 4px;color:#69818c;font-size:13px}.auth-card .primary{margin-top:8px}.auth-link{justify-self:start;color:#4f6e79;padding-left:0}.form-message{min-height:19px;font-size:12px;line-height:1.45;color:#5c7480}.form-message.error{color:#b2493f;background:#fff1ed;border:1px solid #ffd7ce;padding:10px 12px;border-radius:11px}.form-message.success{color:#167b72;background:#edf9f5;border:1px solid #cfeae3;padding:10px 12px;border-radius:11px}.success-panel{max-width:720px;margin:100px auto;text-align:center;background:rgba(255,255,255,.94);border:1px solid #d6e7e5;border-radius:30px;padding:54px;box-shadow:var(--shadow)}.success-icon{width:72px;height:72px;border-radius:24px;background:linear-gradient(135deg,var(--teal2),var(--teal));color:#fff;display:grid;place-items:center;margin:0 auto 22px;font-size:25px;font-weight:900}.success-panel h2{font-size:48px;letter-spacing:-.04em;margin:10px 0}.success-panel p{color:#5c7580;font-size:16px;line-height:1.6}.info-strip{margin:24px 0;padding:14px 16px;background:#eff9f6;border-radius:14px;color:#42656f;font-size:13px}.expired-panel .success-icon{background:linear-gradient(135deg,#d96b5b,var(--coral))}.trial-status-bar{margin:24px 0 10px;border:1px solid #cde4e0;background:linear-gradient(135deg,#f1fbf8,#f9fff5);border-radius:15px;padding:11px 14px;display:flex;align-items:center;gap:12px;color:#55727c}.trial-status-bar span{font-size:9px;letter-spacing:.16em;font-weight:900;color:#4e8584}.trial-status-bar b{font-size:12px;color:var(--navy)}.trial-status-bar i{font-style:normal;font-size:10px;color:#7d9198;margin-left:auto}.dashboard-trial{margin-top:22px}.admin-view{padding-bottom:90px}.admin-login-card{max-width:520px;margin:0 auto 60px}.admin-toolbar{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:16px;padding:18px 20px;background:#fff;border:1px solid #d8e7e5;border-radius:18px;box-shadow:var(--shadow2)}.admin-toolbar>div:first-child{display:grid;gap:3px}.admin-toolbar small{color:#718992}.admin-table-wrap{overflow:auto;background:#fff;border:1px solid #d8e7e5;border-radius:22px;box-shadow:var(--shadow2)}.admin-table{width:100%;border-collapse:collapse;min-width:940px}.admin-table th,.admin-table td{text-align:left;padding:14px 15px;border-bottom:1px solid #edf3f2;vertical-align:top;font-size:12px}.admin-table th{font-size:9px;letter-spacing:.13em;color:#718893;background:#f8fbfa}.admin-table td:first-child{display:grid;gap:3px}.admin-table td small{display:block;color:#748a93;margin-top:4px}.status-chip{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.07em;background:#eef4f4;color:#5f7a83}.status-pending{background:#fff5dd;color:#9a6d10}.status-approved{background:#eaf7f6;color:#137d7c}.status-activated{background:#edf8e9;color:#4e8034}.admin-actions{display:flex;gap:7px;flex-wrap:wrap}.danger-text{color:#b14b41}.empty-admin{text-align:center!important;color:#708790;padding:35px!important}.admin-link-box{margin-top:18px;background:#f7fbfa;border:1px solid #d3e5e2;border-radius:18px;padding:16px;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}.admin-link-box input{min-width:0;width:100%;border:1px solid #c9ddda;border-radius:11px;padding:10px;background:#fff;color:#48626e}.admin-link-box small{grid-column:2/-1;color:#6e858e}.admin-login-card{display:grid}.admin-login-card .field{margin-top:0}
@media(max-width:900px){.auth-layout{grid-template-columns:1fr;gap:28px;min-height:auto;padding:40px 0}.auth-copy{text-align:center}.auth-copy>p{margin-left:auto;margin-right:auto}.trial-banner{margin-left:auto;margin-right:auto}.admin-toolbar{align-items:flex-start;flex-direction:column}.admin-link-box{grid-template-columns:1fr}.admin-link-box small{grid-column:auto}.success-panel{margin:55px auto}}
@media(max-width:680px){.trial-banner{align-items:flex-start;flex-direction:column}.auth-card{padding:22px}.success-panel{padding:34px 22px}.success-panel h2{font-size:38px}.trial-status-bar{flex-wrap:wrap}.trial-status-bar i{width:100%;margin-left:0}.top-actions{gap:4px}.top-actions .text-button{padding:8px 5px}.admin-toolbar>div:last-child{display:flex;flex-wrap:wrap}.admin-link-box input{font-size:10px}}

/* v0.4 permanent access */
.trial-status-bar.permanent-access{background:linear-gradient(135deg,#eaf8f2,#f5fff1);border-color:#b9dfcc}.trial-status-bar.permanent-access span{color:#2c8068}.status-permanent{background:#e4f7ee;color:#20735d}.permanent-button{background:linear-gradient(135deg,#147c73,#55b68a)!important;color:#fff!important;border-color:transparent!important}.dashboard-status{flex-wrap:wrap}.dashboard-status #testPush{margin-left:auto}

/* v0.5 — full responsive scaling across desktop, tablet, phone and installed PWA */
html,body{max-width:100%;overflow-x:hidden}img,svg,video,canvas{max-width:100%;height:auto}button,a,input{touch-action:manipulation}button,.primary,.secondary,.text-button,.back-button{min-height:44px}.shell{width:min(1280px,calc(100% - clamp(28px,6vw,84px)))}.hero-copy h1,.activation-copy h2,.dashboard-heading h2,.section-heading h2,.auth-copy h2{overflow-wrap:anywhere}.lead,.section-heading p,.auth-copy>p,.card-title p,.plan-card p,.coach-card p,.form-message{overflow-wrap:anywhere}.admin-link-box input{overflow:hidden;text-overflow:ellipsis}.topbar{padding-left:max(18px,env(safe-area-inset-left));padding-right:max(18px,env(safe-area-inset-right))}.top-actions{min-width:0;flex-wrap:wrap;justify-content:flex-end}.brand-button{min-width:0;flex:0 1 auto}.brand-button img{height:auto}.hero-product,.activation-phone{min-width:0}.phone-shell{max-width:100%}.choice-row,.pace-grid,.time-grid,.summary-card,.dash-grid,.metric-row,.plan-detail,.big-actions{min-width:0}.form-card,.dash-card,.auth-card,.summary-card{min-width:0}.dashboard-status{max-width:100%}.dashboard-status div{min-width:0}.schedule-timeline{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain}.admin-table-wrap{-webkit-overflow-scrolling:touch}.concept-image{height:auto}.activation-phone,.notification-demo,.rich-card-demo{max-width:100%}

/* Laptop / small desktop */
@media (max-width:1200px){
  .shell{width:min(1120px,calc(100% - 40px))}
  .topbar{gap:20px}
  .brand-button img{width:220px}
  .free-pill{font-size:9px;padding:8px 10px}
  .hero-view{gap:42px}
  .dash-grid{grid-template-columns:1fr 1.2fr .9fr}
}

/* Tablet landscape and portrait */
@media (max-width:900px){
  .shell{width:calc(100% - 36px)}
  .free-pill{display:none}
  .topbar{padding-inline:18px}
  .brand-button img{width:205px;max-width:38vw}
  .top-actions{gap:6px}
  .hero-view{padding-top:44px}
  .hero-copy h1{font-size:clamp(52px,9vw,72px)}
  .hero-product{min-height:560px}
  .phone-shell{width:min(340px,70vw)}
  .dashboard-view{padding-top:34px}
  .dashboard-heading{gap:18px}
  .dashboard-heading h2{font-size:clamp(42px,7vw,54px)}
  .dash-grid{grid-template-columns:1fr 1fr}
  .next-card,.today-card,.plan-card,.coach-card{grid-column:auto}
  .schedule-card,.action-card{grid-column:1/-1}
  .choice-row{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}
  .choice-row .choice:last-child{grid-column:auto}
  .admin-table{min-width:760px}
}

/* Phone / compact tablet header becomes two-row to prevent collisions */
@media (max-width:620px){
  .shell{width:calc(100% - 28px)}
  .topbar{height:auto;min-height:92px;padding:10px 14px;display:grid;grid-template-columns:1fr;justify-items:center;gap:4px}
  .brand-button{justify-content:center;width:100%}
  .brand-button img{width:min(210px,70vw);max-width:none}
  .top-actions{width:100%;justify-content:center;gap:2px 6px}
  .top-actions .text-button{padding:7px 8px;font-size:11px;min-height:36px}
  .hero-view{padding:28px 0 50px}
  .hero-copy h1{font-size:clamp(44px,15vw,58px);line-height:.96}
  .lead{font-size:15px;line-height:1.58}
  .trial-banner{max-width:100%}
  .hero-cta{width:100%}
  .hero-cta .primary,.hero-cta .secondary{width:100%}
  .hero-product{min-height:520px}
  .phone-shell{width:min(315px,calc(100vw - 38px));border-radius:40px}
  .phone-screen{min-height:545px;border-radius:33px;padding-inline:18px}
  .floating-card{max-width:46vw}
  .fc-a{left:0}.fc-b{right:0}
  .section-heading{gap:15px;margin-bottom:25px}
  .section-heading h2{font-size:clamp(34px,11vw,44px);line-height:1}
  .section-heading p{font-size:13px}
  .form-card{padding:20px;border-radius:21px}
  .choice-row{grid-template-columns:repeat(2,minmax(0,1fr))}
  .choice-row .choice:last-child{grid-column:1/-1}
  .choice{min-height:82px}
  .summary-card{gap:14px}
  .summary-card h3{font-size:22px}
  .activation-layout{gap:28px}
  .activation-copy h2{font-size:clamp(36px,11vw,46px)}
  .activation-copy>p{font-size:15px}
  .activate-buttons .primary,.activate-buttons .secondary{width:100%}
  .notification-demo{width:100%}
  .rich-card-demo{width:min(350px,100%)}
  .dashboard-view{padding:30px 0 64px}
  .dashboard-heading h2{font-size:clamp(38px,12vw,48px)}
  .dashboard-status{width:100%;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;gap:8px}
  .dashboard-status #testPush{margin-left:0}
  .dash-card{padding:18px;border-radius:21px}
  .countdown-ring{width:min(235px,84vw)}
  .metric-row>div{padding-inline:5px}
  .plan-tags{flex-wrap:wrap}
  .schedule-slot{min-width:68px}
  .big-actions button{min-height:62px}
  .coach-card{min-height:220px}
  footer{padding-inline:18px}
  footer img{width:min(190px,65vw)}
  .auth-layout{padding-top:24px}
  .auth-copy h2{font-size:clamp(36px,11vw,48px)}
  .auth-copy>p{font-size:15px}
  .auth-card{padding:20px;border-radius:22px}
  .success-panel{margin:34px auto;padding:30px 20px;border-radius:24px}
  .success-panel h2{font-size:clamp(32px,10vw,40px)}
  .trial-status-bar{margin-top:16px}
}

/* Small phones: 320–430px */
@media (max-width:430px){
  .shell{width:calc(100% - 22px)}
  .ambient{display:none}
  .topbar{padding-inline:11px}
  .top-actions{column-gap:2px}
  .top-actions .text-button{font-size:10.5px;padding-inline:7px}
  .hero-copy h1{font-size:clamp(40px,14vw,52px)}
  .eyebrow,.eyebrow-text{font-size:9px;letter-spacing:.13em}
  .proof-row{font-size:12px}
  .hero-product{min-height:500px}
  .phone-shell{width:min(300px,calc(100vw - 28px));padding:8px;border-radius:36px;transform:none}
  .phone-screen{min-height:520px;border-radius:29px;padding:28px 15px 20px}
  .push-preview{padding:19px;border-radius:22px}
  .push-ring{width:154px}
  .floating-card{display:none}
  .time-grid{grid-template-columns:1fr}
  .summary-symbol{width:58px;height:58px}
  .summary-card .primary{width:100%}
  .dashboard-status{grid-template-columns:auto minmax(0,1fr)}
  .dashboard-status #testPush,.dashboard-status #managePush{width:100%;margin:0}
  .dashboard-status #testPush{grid-column:1/2}.dashboard-status #managePush{grid-column:2/3}
  .countdown-ring strong{font-size:40px}
  .today-top h3{font-size:30px}
  .metric-row{gap:4px}
  .metric-row b{font-size:20px}
  .big-actions{gap:7px}
  .push-arrival{align-items:flex-start}
  .trial-status-bar{gap:8px}
  .trial-status-bar b{font-size:11px}
  .trial-status-bar i{font-size:9px}
  .admin-toolbar{padding:15px}
  .admin-toolbar>div:last-child{width:100%}
  .admin-toolbar>div:last-child button{flex:1}
  .admin-link-box{padding:13px}
}

/* Admin becomes true responsive cards instead of a sideways table on phones */
@media (max-width:760px){
  .admin-table-wrap{overflow:visible;background:transparent;border:0;box-shadow:none}
  .admin-table{display:block;min-width:0;width:100%;border-collapse:separate}
  .admin-table thead{display:none}
  .admin-table tbody{display:grid;gap:12px}
  .admin-table tr{display:block;background:#fff;border:1px solid #d8e7e5;border-radius:18px;box-shadow:var(--shadow2);overflow:hidden}
  .admin-table td{display:grid;grid-template-columns:92px minmax(0,1fr);gap:10px;padding:10px 13px;border-bottom:1px solid #edf3f2;font-size:12px;overflow-wrap:anywhere}
  .admin-table td:last-child{border-bottom:0}
  .admin-table td::before{font-size:8px;letter-spacing:.11em;font-weight:900;color:#7a9098;text-transform:uppercase;padding-top:2px}
  .admin-table td:nth-child(1)::before{content:"Applicant"}
  .admin-table td:nth-child(2)::before{content:"Status"}
  .admin-table td:nth-child(3)::before{content:"Applied"}
  .admin-table td:nth-child(4)::before{content:"Access"}
  .admin-table td:nth-child(5)::before{content:"Push"}
  .admin-table td:nth-child(6)::before{content:"Actions"}
  .admin-table .admin-actions{min-width:0}
  .admin-table .admin-actions button{flex:1 1 120px}
  .admin-table .empty-admin{display:block!important;text-align:center!important;padding:28px!important}
  .admin-table .empty-admin::before{display:none}
}

/* Very narrow accessibility fallback */
@media (max-width:350px){
  .shell{width:calc(100% - 16px)}
  .top-actions .text-button{font-size:10px;padding-inline:5px}
  .choice-row{grid-template-columns:1fr}
  .choice-row .choice:last-child{grid-column:auto}
  .metric-row{grid-template-columns:1fr 1fr 1fr}
  .metric-row small{font-size:8px}
  .notification-meta{flex-wrap:wrap}
  .rich-card-demo{padding:20px}
}

/* Installed PWA: respect notches/home indicators on every side */
@media (display-mode:standalone){
  body{padding-left:env(safe-area-inset-left);padding-right:env(safe-area-inset-right);padding-bottom:env(safe-area-inset-bottom)}
  .topbar{height:auto;min-height:76px;padding-top:max(10px,env(safe-area-inset-top))}
  @media (max-width:620px){.topbar{min-height:calc(92px + env(safe-area-inset-top))}}
}

/* Short landscape screens */
@media (orientation:landscape) and (max-height:620px) and (max-width:1000px){
  .hero-view{min-height:auto;padding-block:24px}
  .hero-product{min-height:450px}
  .phone-shell{transform:none;width:min(290px,45vw)}
  .phone-screen{min-height:470px}
  .activation-layout{min-height:auto;padding-block:20px}
  .dashboard-view{padding-top:24px}
}

/* Large desktop / 4K: scale without stretching content excessively */
@media (min-width:1600px){
  .shell{width:min(1400px,calc(100% - 120px))}
  .hero-view{gap:90px}
  .hero-copy h1{font-size:86px}
  .lead{font-size:20px}
  .dash-grid{gap:18px}
  .dash-card{padding:25px}
}

/* Touch-first devices get larger interaction areas without changing desktop density */
@media (pointer:coarse){
  button,.primary,.secondary,.text-button,.back-button{min-height:46px}
  .choice,.choice-level,.pace-choice{min-height:52px}
  .admin-actions button{min-height:44px}
}

/* v0.6 — verified device-responsive dashboard fixes */
*,*::before,*::after{box-sizing:border-box}
.dash-grid>*{min-width:0;max-width:100%}
.countdown-ring{max-width:100%}
.today-card,.next-card,.plan-card,.schedule-card,.action-card,.coach-card{overflow:hidden}
.today-top{min-width:0;flex-wrap:wrap}
.today-top h3,.today-top span{min-width:0}
.metric-row>div{min-width:0}
.metric-row small{display:block;overflow-wrap:anywhere}

/* Phones and narrow portrait devices: dashboard is always a single column. */
@media (max-width:760px){
  .dashboard-heading{display:grid;grid-template-columns:1fr;gap:16px}
  .dashboard-status{margin-top:0;width:100%}
  .dash-grid{grid-template-columns:minmax(0,1fr)!important;gap:14px}
  .next-card,.today-card,.plan-card,.schedule-card,.action-card,.coach-card{grid-column:1/-1!important;grid-row:auto!important;width:100%}
  .countdown-ring{width:min(280px,78vw);margin-inline:auto}
  .today-top{justify-content:flex-start}
  .today-top h3{font-size:clamp(32px,11vw,44px)}
  .metric-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .metric-row>div{padding:12px 4px}
  .plan-detail{grid-template-columns:repeat(2,minmax(0,1fr))}
  .schedule-timeline{width:100%;max-width:100%}
}

/* Compact phones: tighter but still full-width and touch-friendly. */
@media (max-width:430px){
  .dashboard-view{padding-top:22px}
  .dashboard-heading h2{font-size:clamp(38px,12.8vw,52px);line-height:.96}
  .dashboard-status{grid-template-columns:18px minmax(0,1fr);padding:12px}
  .dashboard-status #testPush,.dashboard-status #managePush{grid-column:auto;width:100%}
  .dashboard-status #testPush{grid-column:1/2}
  .dashboard-status #managePush{grid-column:2/3}
  .dash-card{padding:18px 17px}
  .countdown-ring{width:min(250px,74vw);padding:12px}
  .countdown-ring strong{font-size:clamp(42px,13vw,54px)}
  .metric-row{gap:5px}
  .metric-row b{font-size:clamp(20px,7vw,28px)}
  .metric-row small{font-size:8.5px}
  .big-actions{grid-template-columns:1fr}
}

/* Very narrow phones keep metrics usable rather than overflowing. */
@media (max-width:350px){
  .countdown-ring{width:min(230px,72vw)}
  .metric-row{grid-template-columns:repeat(3,minmax(0,1fr))}
  .metric-row>div{padding:10px 2px}
  .metric-row small{font-size:7.5px}
}

/* Tablets: two-column dashboard where there is genuinely enough room. */
@media (min-width:761px) and (max-width:1024px){
  .dash-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .next-card,.today-card,.plan-card,.coach-card{grid-column:auto!important}
  .schedule-card,.action-card{grid-column:1/-1!important}
  .countdown-ring{width:min(250px,72%)}
}

/* Phone landscape: two columns are useful, but cards remain contained. */
@media (orientation:landscape) and (min-width:700px) and (max-width:1000px) and (max-height:620px){
  .dash-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important}
  .next-card,.today-card{grid-column:auto!important}
  .plan-card,.schedule-card,.action-card,.coach-card{grid-column:1/-1!important}
  .countdown-ring{width:min(210px,58vw)}
}

/* v0.6 compact reminder controls: balanced two-button row on phones */
@media (max-width:430px){
  .dashboard-status{position:relative;grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;padding:13px 12px}
  .dashboard-status>i{position:absolute;left:16px;top:19px}
  .dashboard-status>div{grid-column:1/-1!important;padding-left:30px;min-height:32px;align-content:center}
  .dashboard-status #testPush{grid-column:1/2!important;width:100%}
  .dashboard-status #managePush{grid-column:2/3!important;width:100%}
}

/* v0.7 — device-independent geometric integrity
   The main countdown is sized from one shared variable so width and height can never diverge. */
:root{--countdown-ring-size:260px}
.countdown-ring{
  inline-size:var(--countdown-ring-size)!important;
  block-size:var(--countdown-ring-size)!important;
  width:var(--countdown-ring-size)!important;
  height:var(--countdown-ring-size)!important;
  min-width:0!important;
  min-height:0!important;
  max-width:100%!important;
  max-height:none!important;
  aspect-ratio:auto!important;
  flex:0 0 var(--countdown-ring-size)!important;
  justify-self:center;
  align-self:center;
  overflow:hidden;
}
.countdown-ring>div{
  inline-size:100%!important;
  block-size:100%!important;
  width:100%!important;
  height:100%!important;
  min-width:0!important;
  min-height:0!important;
  box-sizing:border-box;
  border-radius:50%!important;
}

/* Every circular UI primitive is explicitly square. */
.push-ring,.metric-icon,.dashboard-status>i,.schedule-slot i{
  aspect-ratio:1/1;
  flex:none;
}

/* Phone portrait */
@media (max-width:430px){
  :root{--countdown-ring-size:clamp(210px,64vw,275px)}
  .next-card{display:block}
  .dashboard-view{padding-top:max(28px,env(safe-area-inset-top))}
}

/* Larger phones / narrow portrait */
@media (min-width:431px) and (max-width:760px){
  :root{--countdown-ring-size:clamp(230px,58vw,300px)}
}

/* Tablets */
@media (min-width:761px) and (max-width:1024px){
  :root{--countdown-ring-size:clamp(220px,27vw,270px)}
}

/* Phone landscape */
@media (orientation:landscape) and (min-width:700px) and (max-width:1000px) and (max-height:620px){
  :root{--countdown-ring-size:clamp(185px,24vw,225px)}
}

/* Desktop / laptop */
@media (min-width:1025px){
  :root{--countdown-ring-size:260px}
}

/* Large desktop keeps geometry unchanged instead of enlarging into distortion. */
@media (min-width:1800px){
  :root{--countdown-ring-size:280px}
}


/* v0.8 scheduler reliability diagnostics */
.push-diagnostics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr)) auto;gap:10px;align-items:stretch;margin:12px 0 18px;padding:12px;background:linear-gradient(135deg,#f5fbfa,#fbfff8);border:1px solid #d8e9e5;border-radius:16px}
.push-diagnostics>div{min-width:0;background:#fff;border:1px solid #e4efed;border-radius:12px;padding:10px 12px;display:grid;gap:4px}
.push-diagnostics small{font-size:8px;letter-spacing:.12em;color:#789099;font-weight:800}
.push-diagnostics b{font-size:11px;color:var(--navy);overflow-wrap:anywhere}
.push-diagnostics button{align-self:stretch;white-space:normal}
@media(max-width:900px){.push-diagnostics{grid-template-columns:repeat(2,minmax(0,1fr))}.push-diagnostics button{grid-column:1/-1}}
@media(max-width:430px){.push-diagnostics{grid-template-columns:1fr}.push-diagnostics button{grid-column:auto;width:100%}}


/* v0.8.2 international quit-resource directory */
.resources-view{padding-bottom:64px}.resource-heading{margin-bottom:18px}.resource-intro-panel{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,.8fr);gap:24px;align-items:center;background:linear-gradient(135deg,#0b2d45,#123e56);color:#fff;border-radius:24px;padding:24px 26px;margin:0 0 18px}.resource-intro-panel p{margin:7px 0 0;color:#d4e4e9;line-height:1.6}.resource-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.resource-stats span{display:grid;text-align:center;padding:12px 8px;border:1px solid rgba(255,255,255,.14);border-radius:14px;background:rgba(255,255,255,.06);font-size:10px;letter-spacing:.07em;text-transform:uppercase}.resource-stats strong{font-size:24px;letter-spacing:0;color:#cbed9a}.resource-tools{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:12px;margin:18px 0}.resource-tools label{display:grid;gap:7px;font-size:10px;font-weight:800;letter-spacing:.09em;text-transform:uppercase;color:#58727e}.resource-tools input,.resource-tools select{width:100%;min-height:48px;border:1px solid #d6e5e3;border-radius:14px;background:#fff;color:var(--navy);font:inherit;padding:0 14px;box-sizing:border-box}.resource-disclaimer{background:#f6faf8;border:1px solid #dceae5;border-left:4px solid #86b93e;border-radius:14px;padding:14px 16px;color:#4c6771;font-size:12px;line-height:1.55;margin-bottom:24px}.resource-country{margin:28px 0 34px}.resource-country-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;border-bottom:1px solid #dce8e6;padding-bottom:10px;margin-bottom:12px}.resource-country-head h2{margin:2px 0 0;font-size:clamp(24px,3vw,34px);color:var(--navy)}.resource-country-head b{font-size:10px;color:#789099;text-transform:uppercase;letter-spacing:.08em}.resource-country-kicker{font-size:9px;font-weight:900;letter-spacing:.16em;color:#78a13d}.resource-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px}.resource-card{display:flex;flex-direction:column;min-width:0;min-height:190px;padding:17px 16px;border:1px solid #dce8e6;border-radius:17px;background:#fff;text-decoration:none;color:inherit;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.resource-card h3{margin:8px 0 8px;font-size:15px;line-height:1.25;color:var(--navy)}.resource-card p{margin:0;color:#607a84;font-size:11px;line-height:1.55;flex:1}.resource-topic{align-self:flex-start;font-size:8px;letter-spacing:.09em;text-transform:uppercase;font-weight:900;color:#58812e;background:#eef7df;border-radius:999px;padding:5px 7px}.resource-link{margin-top:14px;font-size:10px;font-weight:900;color:#0f6d73}.resource-card:focus-visible{outline:3px solid #b9d88c;outline-offset:2px}.resource-empty{padding:30px;text-align:center;border:1px dashed #cbded9;border-radius:18px;color:#64808a}.resource-cta{margin-top:38px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px;border-radius:22px;background:linear-gradient(135deg,#eff7ec,#f9fcf6);border:1px solid #dce9d9}.resource-cta h3{margin:5px 0;font-size:24px;color:var(--navy)}.resource-cta p{margin:0;color:#607a84;max-width:680px}.resource-cta button{flex:none}
@media (hover:hover) and (pointer:fine){.resource-card:hover{transform:translateY(-3px);border-color:#a9cdc6;box-shadow:0 12px 28px rgba(9,51,67,.08)}}
@media(max-width:1180px){.resource-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.resource-intro-panel{grid-template-columns:1fr}.resource-tools{grid-template-columns:1fr}.resource-grid{grid-template-columns:1fr 1fr}.resource-country-head{align-items:flex-start}.resource-cta{align-items:flex-start;flex-direction:column}.resource-cta button{width:100%}}
@media(max-width:430px){.resource-grid{grid-template-columns:1fr}.resource-card{min-height:0}.resource-stats strong{font-size:20px}.resource-intro-panel{padding:20px 17px}.resource-country-head b{display:none}}


/* v0.8.4 — Progress & Insights */
.insights-view{padding:44px 0 90px}.insights-heading{display:flex;justify-content:space-between;align-items:end;gap:24px;margin:24px 0 28px}.insights-heading h2{font-size:clamp(44px,5vw,68px);line-height:.95;letter-spacing:-.05em;margin:8px 0 12px}.insights-heading h2 em{font-style:normal;color:var(--teal)}.insights-heading p{margin:0;color:#657d86;max-width:680px}.insight-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:14px}.insight-kpis article{background:rgba(255,255,255,.94);border:1px solid #d7e8e5;border-radius:20px;padding:20px;box-shadow:var(--shadow2);display:grid;gap:5px}.insight-kpis small,.insight-card-head span{font-size:9px;letter-spacing:.14em;font-weight:900;color:#6b8b8a}.insight-kpis strong{font-size:34px;letter-spacing:-.04em;color:var(--navy)}.insight-kpis span{font-size:11px;color:#768b92;line-height:1.4}.insights-grid{display:grid;grid-template-columns:1.25fr .75fr;gap:14px}.insight-card{background:rgba(255,255,255,.96);border:1px solid #d7e8e5;border-radius:24px;padding:22px;box-shadow:var(--shadow2);min-width:0}.insight-wide{grid-column:1/-1}.insight-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px}.insight-card-head h3{font-size:23px;margin:4px 0 0;letter-spacing:-.03em}.insight-card-head>b{font-size:11px;color:#54747b;background:#eef8f6;padding:7px 10px;border-radius:999px}.chart-shell{width:100%;min-height:230px;background:linear-gradient(180deg,#fbfefd,#f5fbf9);border:1px solid #e5efed;border-radius:18px;padding:10px;overflow:hidden}.chart-shell svg{width:100%;height:auto;display:block}.chart-grid{stroke:#dfecea;stroke-width:1}.chart-label{font-size:10px;fill:#759097}.chart-line{stroke-width:3;stroke-linecap:round;stroke-linejoin:round}.target-line{stroke:#a4b4b5;stroke-dasharray:7 6}.actual-line{stroke:#ef846f}.chart-area-line{stroke:#159a91;stroke-width:5;stroke-linecap:round;stroke-linejoin:round}.today-marker{stroke:#ef846f;stroke-width:2;stroke-dasharray:5 5}.today-dot{fill:#ef846f;stroke:#fff;stroke-width:4}.today-label{font-size:11px;font-weight:800;fill:#b65243}.chart-note{font-size:10px;color:#7b9097;margin:10px 3px 0}.milestone-row{display:grid;grid-template-columns:repeat(5,1fr);margin-top:15px;position:relative}.milestone-row:before{content:"";position:absolute;left:4%;right:4%;top:6px;height:2px;background:#e0ebe8}.milestone{position:relative;z-index:1;text-align:center;display:grid;gap:3px;justify-items:center;color:#87999e}.milestone i{width:13px;height:13px;border-radius:50%;background:#d9e7e4;border:3px solid #fff;box-shadow:0 0 0 1px #d2e2df}.milestone.reached i{background:#54b98c}.milestone b{font-size:10px;color:#526c74}.milestone span{font-size:9px}.donut-wrap{display:grid;grid-template-columns:minmax(160px,230px) 1fr;gap:24px;align-items:center}.choice-donut{--skip:0deg;aspect-ratio:1;border-radius:50%;background:conic-gradient(#55b98b 0 var(--skip),#ef846f var(--skip) 360deg);display:grid;place-items:center;position:relative}.choice-donut:after{content:"";position:absolute;inset:22%;background:#fff;border-radius:50%}.choice-donut>div{z-index:1;text-align:center;display:grid}.choice-donut strong{font-size:33px;color:var(--navy)}.choice-donut span{font-size:10px;color:#738a91}.legend-list{display:grid;gap:11px}.legend-list span{display:grid;grid-template-columns:12px 30px 1fr;gap:7px;align-items:center;font-size:12px;color:#627b83}.legend-list i{width:10px;height:10px;border-radius:50%}.legend-skip{background:#55b98b}.legend-took{background:#ef846f}.legend-rescue{background:#e6c765}.hour-chart{height:180px;display:grid;grid-template-columns:repeat(24,1fr);align-items:end;gap:4px;padding:16px 4px 2px;background:linear-gradient(180deg,#fbfefd,#f5fbf9);border:1px solid #e5efed;border-radius:18px}.hour-bar{height:100%;display:grid;grid-template-rows:1fr 18px;align-items:end;gap:4px;min-width:0}.hour-bar i{display:block;min-height:3px;background:#b7d9d3;border-radius:6px 6px 2px 2px}.hour-bar.peak i{background:#ef846f}.hour-bar span{font-size:8px;text-align:center;color:#819499}.plan-history{display:grid;gap:8px}.history-row{display:flex;justify-content:space-between;gap:12px;border-bottom:1px solid #edf3f2;padding:10px 0}.history-row:last-child{border-bottom:0}.history-row>div{display:grid;gap:3px}.history-row>div:last-child{text-align:right}.history-row b{font-size:13px}.history-row span,.history-row small{font-size:10px;color:#7a8f96}.history-status{justify-self:end;width:max-content;font-size:8px;text-transform:uppercase;letter-spacing:.1em;padding:4px 7px;border-radius:999px;background:#eaf7f2;color:#287b67}.history-status.archived{background:#f1f3f3;color:#708288}.plan-control-card{background:linear-gradient(145deg,#fff,#fff8f5);border-color:#f0d9d1}.plan-control-card p{color:#657c84;line-height:1.55}.plan-control-card small{display:block;margin-top:10px;color:#87979c}.danger-button{border:1px solid #e1a79b;background:#fff;color:#a74738;border-radius:12px;padding:12px 16px;font-weight:800;cursor:pointer}.danger-button:hover{background:#fff4f1}.danger-button:disabled{opacity:.55}.chart-tall{min-height:270px}
@media(max-width:900px){.insight-kpis{grid-template-columns:1fr 1fr}.insights-grid{grid-template-columns:1fr}.insight-wide{grid-column:auto}.donut-wrap{grid-template-columns:180px 1fr}.insights-heading{align-items:flex-start}}
@media(max-width:620px){.insights-view{padding-top:24px}.insights-heading{display:grid}.insights-heading h2{font-size:clamp(38px,12vw,48px)}.insight-kpis{grid-template-columns:1fr 1fr;gap:8px}.insight-kpis article{padding:15px}.insight-kpis strong{font-size:27px}.insight-card{padding:17px;border-radius:20px}.insight-card-head{display:grid;gap:8px}.insight-card-head>b{justify-self:start}.donut-wrap{grid-template-columns:1fr}.choice-donut{width:min(210px,70vw);margin:auto}.hour-chart{gap:2px}.hour-bar span{font-size:7px}.milestone span{font-size:8px}.chart-shell{padding:4px}.history-row{display:grid}.history-row>div:last-child{text-align:left}.history-status{justify-self:start}}
@media(max-width:390px){.insight-kpis{grid-template-columns:1fr}.milestone-row{grid-template-columns:repeat(5,minmax(0,1fr))}.milestone b{font-size:9px}.milestone span{font-size:7px}}

/* v0.8.5 — clearer reduction-scheme visualization */
.chart-head-explainer{margin:7px 0 0!important;max-width:720px;color:#73888e;font-size:12px;line-height:1.5}
.chart-key{display:flex;flex-wrap:wrap;gap:18px;margin:-3px 0 11px 2px;color:#617a81;font-size:11px;font-weight:700}
.chart-key span{display:flex;align-items:center;gap:7px}.chart-key i{display:inline-block;width:21px;height:4px;border-radius:99px}.key-target{background:#159a91}.key-today{background:#ef846f}
.reduction-shell{min-height:280px;padding:8px 10px 2px}.chart-area-fill{fill:url(#reductionFill)}.smooth-reduction{stroke-width:4.5}
.axis-tick{font-size:9px;fill:#708b91;font-weight:700}.axis-title{font-size:8px;fill:#7f979b;font-weight:900;letter-spacing:.12em}.axis-mark{stroke:#b9cfcb;stroke-width:1.2}.today-pill{fill:#fff4f1;stroke:#f1c3ba;stroke-width:1}.today-label{font-size:10px;font-weight:900;fill:#b65243}
.chart-explainer{margin:11px 4px 0;padding:11px 13px;border-radius:12px;background:#f2f9f7;color:#657f85;font-size:11px;line-height:1.55}.chart-explainer strong{color:#315b61}.chart-empty{padding:40px 12px;text-align:center;color:#7a9095}
@media(max-width:620px){.chart-head-explainer{font-size:11px}.chart-key{gap:12px}.reduction-shell{min-height:235px}.chart-explainer{font-size:10px}.axis-title{font-size:7px}.axis-tick{font-size:8px}}


/* v0.8.6 Paddle billing */
.billing-view{padding-top:46px}.billing-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:22px;align-items:start}.billing-status-card,.billing-plans-card{background:rgba(255,255,255,.94);border:1px solid rgba(11,45,69,.1);border-radius:24px;padding:28px;box-shadow:0 20px 50px rgba(11,45,69,.08)}.billing-status-card h3,.billing-plans-card h3{font-size:30px;margin:8px 0 10px;color:var(--navy,#0b2d45)}.billing-meta{display:grid;gap:9px;margin:20px 0}.billing-meta span{display:flex;justify-content:space-between;gap:14px;padding:11px 0;border-bottom:1px solid rgba(11,45,69,.08);font-size:14px}.billing-plan-options{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:22px}.billing-plan{min-height:150px;border-radius:20px;padding:20px;text-align:left;display:flex;flex-direction:column;gap:8px;justify-content:center}.billing-plan strong{font-size:24px}.billing-plan small{letter-spacing:.13em}.billing-plan span{font-size:12px;opacity:.78}.billing-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:24px 0 12px}.billing-choices button span{display:block;font-size:12px;opacity:.8;margin-top:3px}.billing-note{display:block;color:#68808c;margin-bottom:14px}.status-paid{background:#dff7e8;color:#166534}.status-past_due{background:#fff0d9;color:#9a5b00}.status-canceled,.status-paused{background:#fde6e6;color:#a33}.admin-table small.billing-small{display:block;margin-top:4px;color:#71848d}
@media(max-width:800px){.billing-layout,.billing-plan-options,.billing-choices{grid-template-columns:1fr}.billing-status-card,.billing-plans-card{padding:20px}.billing-status-card h3,.billing-plans-card h3{font-size:26px}}

.legal-links{margin-top:8px;font-size:.86rem}.legal-links a{color:inherit;text-decoration:underline;text-underline-offset:3px}.legal-links a:hover{opacity:.75}


/* v0.8.11 Apple Watch companion */
.watch-view{padding-top:46px}.watch-layout{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}.watch-card{background:rgba(255,255,255,.95);border:1px solid rgba(11,45,69,.1);border-radius:24px;padding:28px;box-shadow:0 20px 50px rgba(11,45,69,.08)}.watch-card h3{font-size:30px;margin:8px 0 10px;color:var(--navy)}.watch-card>p{color:#617a84;line-height:1.6}.watch-status{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:20px 0;padding:14px 16px;background:#f2faf7;border:1px solid #d4eae3;border-radius:14px}.watch-status b{color:#167b72}.watch-status span{font-size:12px;color:#6a8089}.watch-key-box{display:grid;grid-template-columns:1fr auto;gap:9px;margin:18px 0;padding:16px;background:#f8fbfa;border:1px solid #d8e7e5;border-radius:16px}.watch-key-box label,.watch-key-box small{grid-column:1/-1}.watch-key-box label{font-size:10px;font-weight:900;letter-spacing:.12em;color:#57727c;text-transform:uppercase}.watch-key-box input{min-width:0;width:100%;padding:12px;border:1px solid #c7dcda;border-radius:11px;background:#fff;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#294b59}.watch-key-box small,.watch-card>small{color:#718790;line-height:1.5}.watch-actions{display:grid;gap:10px}.watch-choice-preview{display:grid;gap:9px;margin:20px 0}.watch-choice-preview span{display:block;padding:13px 15px;border:1px solid #d7e7e4;border-radius:13px;background:#f9fcfb;font-weight:800;color:#214a59}.watch-install{display:flex;text-decoration:none;align-items:center;justify-content:center;margin-top:20px}.disabled-link{opacity:.48;cursor:not-allowed;pointer-events:auto}.watch-help{margin-top:22px;padding:20px 22px;border-radius:20px;background:#0b2d45;color:#d9ecea}.watch-help b{display:block;color:#fff;margin-bottom:10px}.watch-help code{display:inline-block;max-width:100%;overflow-wrap:anywhere;background:rgba(255,255,255,.08);padding:4px 7px;border-radius:7px}.watch-help p{margin:10px 0 0;color:#bdd3d5;line-height:1.55}@media(max-width:800px){.watch-layout{grid-template-columns:1fr}.watch-card{padding:20px}.watch-key-box{grid-template-columns:1fr}.watch-key-box .secondary{width:100%}.watch-card h3{font-size:26px}}
