:root{--c-primary:#042870;--c-primary-hover:#031f56;--c-bg:#f7efe3;--c-surface:#fff;--c-line:#eadcc6;--c-text:#1d2a44;--c-text-2:#5d6678;--c-field-border:#8a7553;--c-gold:#f2b23a;--c-sky:#bfe0f7;--c-sky-2:#6aa6dc;--c-sun-1:#ffe7c2;--c-sun-2:#f9d29c;--c-tint-gold:#fbecd2;--c-tint-sky:#e3f1fb;--c-skeleton:#efe3d0;--c-skeleton-card:#fbf6ee;--c-tint-lilac:#ece6f6;--c-track:#f1e7d8;--c-sun-ink:#6b4a12;--c-on-primary-2:#d9e2f5;--c-danger:#b42318;--c-danger-bg:#fdecea;--c-success:#1f6f43;--c-success-bg:#e6f4ea;--c-sun-halo:#fff4dc;--c-wave-deco:#0b3a96;--c-path-track:#efe0c8;--r-card:20px;--r-ctl:14px;--r-pill:999px;--shadow:0 1px 2px #1d2a440f, 0 4px 16px #1d2a440f;--shadow-float:0 10px 30px #1d2a4424;--r-sheet:28px;--s1:4px;--s2:8px;--s3:12px;--s4:16px;--s5:20px;--s6:24px;--s8:32px;--tabbar-h:68px;--tabbar-gap:12px;--savebar-offset:92px;--col:720px;--col-admin:1040px;--safe-b:env(safe-area-inset-bottom,0px);--font-h1:1.875rem;--font-section:1.125rem;--font-number:1.75rem;--font-body:1rem;--font-label:.875rem;--font-footnote:.75rem;--weight-heading:800;--bz-navy:var(--c-primary);--bz-navy-ink:var(--c-primary);--bz-text:var(--c-text);--bz-muted:var(--c-text-2);--bz-bg:var(--c-bg);--bz-surface:var(--c-surface);--bz-border:var(--c-line);--bz-primary:var(--c-primary);--bz-primary-hover:var(--c-primary-hover);--bz-danger:var(--c-danger);--bz-danger-bg:var(--c-danger-bg);--bz-success:var(--c-success);--bz-success-bg:var(--c-success-bg);--bz-accent-sky:var(--c-primary);--bz-accent-sand:var(--c-tint-gold);--bz-accent-gold:var(--c-gold);--bz-focus:var(--bz-primary);--bz-focus-on-dark:var(--bz-surface);--bz-radius-sm:var(--r-ctl);--bz-radius-md:var(--r-card);--bz-radius-lg:var(--r-card);--bz-space-1:.25rem;--bz-space-2:.5rem;--bz-space-3:.75rem;--bz-space-4:1rem;--bz-space-5:1.5rem;--bz-space-6:2rem;--bz-shadow-card:var(--shadow);--bz-shadow-raised:var(--shadow);--bz-shadow-nav:var(--shadow);--bz-font-h1:var(--font-h1);--bz-font-h2:var(--font-section);--bz-font-body:var(--font-body);--bz-font-caption:var(--font-label);color:var(--bz-text);background:var(--bz-bg);font-variant-numeric:tabular-nums;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;font-family:-apple-system,SF Pro Text,Roboto,PingFang HK,Noto Sans HK,Noto Sans TC,Microsoft JhengHei,system-ui,sans-serif;font-size:100%;line-height:1.65}*{box-sizing:border-box}body{min-width:0;margin:0}#root{flex-direction:column;min-height:100svh;display:flex}main{width:min(100%,32rem);padding:var(--bz-space-5) var(--bz-space-4) var(--bz-space-6);flex:1;margin:0 auto}body,input,button,a,dd,h1,h2,h3{overflow-wrap:anywhere}h1,h2,h3{color:var(--bz-navy-ink);margin:0 0 var(--bz-space-4);line-height:1.4}h1{font-size:var(--bz-font-h1);font-weight:var(--weight-heading)}h2{font-size:var(--bz-font-h2);font-weight:var(--weight-heading)}h3{font-size:var(--bz-font-body);margin-bottom:var(--bz-space-2)}p{margin:0 0 var(--bz-space-4)}p:last-child{margin-bottom:0}a{color:var(--bz-primary);text-underline-offset:.2em}button,input,select{font:inherit}button,.button{max-width:100%;min-height:52px;padding:var(--bz-space-3) var(--bz-space-4);border:.0625rem solid var(--bz-primary);border-radius:var(--bz-radius-sm);background:var(--bz-primary);color:var(--bz-surface);cursor:pointer;text-align:center;justify-content:center;align-items:center;font-weight:600;line-height:1.5;text-decoration:none;display:inline-flex}button:hover,.button:hover{background:var(--bz-primary-hover)}button.secondary,.button.secondary{color:var(--bz-primary);background:var(--bz-surface);border:1.5px solid var(--c-primary)}button.secondary:hover,.button.secondary:hover{background:var(--bz-bg);border-color:var(--bz-primary)}button.danger,.button.danger{color:var(--bz-danger);background:var(--bz-danger-bg);border-color:var(--bz-danger)}button.danger:hover:not(:disabled),.button.danger:hover:not(:disabled){background:var(--c-danger-bg)}button:disabled{color:var(--bz-muted);background:var(--bz-bg);border-color:var(--bz-border);cursor:not-allowed}:focus-visible{outline:.125rem solid var(--bz-focus);outline-offset:.125rem}.topbar :focus-visible{outline-color:var(--bz-focus-on-dark)}input:focus,select:focus{outline:2px solid var(--c-primary);outline-offset:-1px}main:focus{outline:none}label{margin-bottom:var(--bz-space-2);font-weight:600;display:block}input,select{width:100%;min-width:0;min-height:52px;color:var(--c-text);background:var(--c-surface);border:1.5px solid var(--c-field-border);border-radius:var(--r-ctl);padding:.75rem 1rem}input::placeholder{color:var(--c-text-2);opacity:1}input:disabled{color:var(--bz-muted);background:var(--bz-bg)}input[aria-invalid=true]{border-color:var(--bz-danger)}form{margin-bottom:var(--bz-space-5)}.topbar{background:var(--bz-navy);color:var(--bz-surface)}.topbar-inner{max-width:56rem;padding:var(--bz-space-4);justify-content:space-between;align-items:center;gap:var(--bz-space-4);flex-wrap:wrap;margin:0 auto;display:flex}.brand{color:var(--bz-surface);white-space:nowrap;align-items:center;min-height:2.75rem;font-size:1.1rem;font-weight:700;text-decoration:none;display:inline-flex}.brand-short{display:none}.account{align-items:center;gap:var(--bz-space-3);font-size:var(--bz-font-caption);flex-wrap:wrap;min-width:0;display:flex}.account-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:14rem;overflow:hidden}.topbar .secondary{border-color:var(--bz-surface)}.skip-link{background:var(--bz-surface);z-index:1;padding:.75rem;position:absolute;top:.5rem;left:1rem;transform:translateY(-200%)}.skip-link:focus{transform:translateY(0)}.page-intro{margin:0 0 var(--bz-space-5)}.page-intro h1{margin-bottom:var(--bz-space-2)}.eyebrow{font-size:var(--bz-font-caption);color:var(--bz-muted);letter-spacing:.06em;margin-bottom:var(--bz-space-2);font-weight:700}.muted{color:var(--bz-muted)}.small,small{font-size:var(--bz-font-caption)}.panel{background:var(--bz-surface);border:.0625rem solid var(--bz-border);border-radius:var(--bz-radius-md);min-width:0;padding:var(--bz-space-5);box-shadow:var(--bz-shadow-card)}.demo-banner{font-size:var(--bz-font-caption);color:var(--bz-muted);background:var(--bz-surface);border:.0625rem solid var(--bz-border);padding:var(--bz-space-3) var(--bz-space-4);border-radius:var(--bz-radius-sm);margin-bottom:var(--bz-space-5)}.steps{margin:0 0 var(--bz-space-5);gap:var(--bz-space-1);padding:0;list-style:none;display:flex}.steps li{min-width:0;color:var(--bz-muted);align-items:center;gap:var(--bz-space-2);font-size:var(--bz-font-caption);text-align:center;flex-direction:column;flex:1;display:flex}.step-number{border:.0625rem solid var(--bz-muted);border-radius:50%;place-items:center;width:2rem;min-height:2rem;display:grid}.steps li[aria-current=step]{color:var(--bz-navy-ink);font-weight:700}.steps li[aria-current=step] .step-number{color:var(--bz-surface);background:var(--bz-primary);border-color:var(--bz-primary)}.search-controls{gap:var(--bz-space-3);margin-bottom:var(--bz-space-2);flex-wrap:wrap;display:flex}.search-controls input{flex:12rem}.search-controls button{flex:1 0 auto}.actions{align-items:center;gap:var(--bz-space-3);margin-top:var(--bz-space-5);flex-wrap:wrap;display:flex}.actions>*{flex:auto}.notice{border:.0625rem solid;border-radius:var(--bz-radius-sm);padding:var(--bz-space-4);margin:var(--bz-space-4) 0;border-inline-start-width:.25rem}.notice p{margin:var(--bz-space-2) 0 0}.notice button{margin-top:var(--bz-space-3)}.danger{color:var(--bz-danger);background:var(--bz-danger-bg);border-color:var(--bz-danger)}.success{color:var(--bz-success);background:var(--bz-success-bg);border-color:var(--bz-success)}.neutral{color:var(--bz-muted);border-color:var(--bz-muted);background:var(--bz-surface)}.field-error{color:var(--bz-danger);margin:var(--bz-space-2) 0}.empty{padding:var(--bz-space-5);text-align:center;color:var(--bz-muted);background:var(--bz-accent-sand);border-radius:var(--bz-radius-sm)}.people-list{margin:var(--bz-space-4) 0 0;gap:var(--bz-space-3);padding:0;list-style:none;display:grid}button.person-choice{text-align:start;border-color:var(--bz-border);width:100%;color:var(--bz-text);background:var(--bz-surface);flex-direction:column;align-items:flex-start;gap:.2rem;font-weight:400;display:flex}button.person-choice:hover{border-color:var(--bz-primary);background:var(--bz-bg)}.person-name{color:var(--bz-navy-ink);font-weight:700}.person-card{border:.0625rem solid var(--bz-border);border-radius:var(--bz-radius-sm);padding:var(--bz-space-4);margin-bottom:var(--bz-space-5);background:var(--bz-bg)}.facts{margin:var(--bz-space-4) 0}.facts>div{gap:var(--bz-space-3);padding:var(--bz-space-3) 0;border-bottom:.0625rem solid var(--bz-border);grid-template-columns:minmax(0,1fr) minmax(0,2fr);display:grid}.facts dt{color:var(--bz-muted)}.facts dd{margin:0}footer{text-align:center;padding:var(--bz-space-5) var(--bz-space-4);color:var(--bz-muted);font-size:var(--bz-font-caption)}@media (width>=48rem){main{width:min(100%,47rem);padding-top:var(--bz-space-6)}.topbar-inner{padding-inline:var(--bz-space-6)}}@media (width<=25rem){.search-controls{flex-direction:column}.search-controls input,.search-controls button{flex:auto;width:100%}.facts>div{grid-template-columns:minmax(0,1fr);gap:.2rem}.actions{flex-direction:column;align-items:stretch}}[tabindex="-1"]:focus:not(:focus-visible),:is(h1,h2,h3)[tabindex="-1"]:focus{outline:none}.account nav{flex-wrap:wrap;gap:.5rem;display:flex}.account nav a{color:var(--bz-surface);align-items:center;min-height:2.75rem;padding:.5rem;display:inline-flex}.account nav a[aria-current=page]{font-weight:700;text-decoration-thickness:.15em}@media (width<=47.99rem){.topbar-inner{gap:.25rem .75rem;padding:.5rem 1rem}.brand-full{display:none}.brand-short{display:inline}.account{flex-wrap:wrap;flex:auto;justify-content:flex-end;gap:.25rem}.account nav{flex-wrap:wrap;gap:0}.account nav a{white-space:nowrap;padding-inline:.6rem}.account-name{clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.account button{white-space:nowrap;padding-inline:.9rem}}.offline-notice{border-bottom:.125rem solid var(--bz-danger);padding:1rem max(1rem,50% - 35rem)}.install-prompt{margin:var(--bz-space-4) 0 var(--bz-space-5)}.install-steps{gap:var(--bz-space-3);grid-template-columns:repeat(auto-fit,minmax(min(100%,10rem),1fr));margin:0;padding:0;list-style-position:inside;display:grid}.install-steps li{min-width:0;padding:var(--bz-space-4);border:.0625rem solid var(--bz-border);border-radius:var(--bz-radius-sm);background:var(--bz-bg)}.install-steps svg{width:5rem;max-width:100%;height:4rem;color:var(--bz-navy);fill:none;stroke:currentColor;stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round;margin:.75rem auto;display:block}.install-steps text{fill:currentColor;stroke:none;font-size:20px;font-weight:700}.install-message{margin-top:1rem}.update-notice{z-index:2;width:100%;padding:1rem max(1rem, calc((100% - 45rem) / 2)) max(1rem, env(safe-area-inset-bottom));border-top:.125rem solid var(--bz-navy);background:var(--bz-surface);color:var(--bz-text);position:sticky;bottom:0}.update-notice .actions,.install-prompt .actions+.actions{margin-top:.75rem}.password-field{position:relative}.password-field input{padding-right:3rem}.login .password-field .password-eye,.password-field .password-eye{width:2.75rem;height:2.75rem;min-height:2.75rem;color:var(--bz-muted);touch-action:manipulation;background:0 0;border:0;border-radius:50%;place-items:center;margin:0;padding:0;display:grid;position:absolute;top:50%;right:.25rem;transform:translateY(-50%)}.password-field .password-eye:hover:not(:disabled){color:var(--bz-primary);background:0 0}.password-field .password-eye[aria-pressed=true]{color:var(--bz-primary)}.password-field .password-eye:disabled{color:var(--c-text-2);background:0 0}.password-field .password-eye:focus-visible{outline-offset:-.25rem}.password-field .password-eye svg{width:1.25rem;height:1.25rem}.login-forgot{margin:var(--bz-space-3) 0 0;font-size:var(--bz-font-caption)}.login-forgot a{color:var(--bz-primary);font-weight:600}.admin-brand{gap:var(--bz-space-3)}.admin-brand-mark{border-radius:var(--bz-radius-sm);width:2.5rem;height:2.5rem;font-size:var(--bz-font-body);border:1px solid #fff6;flex-shrink:0;place-items:center;display:grid}.admin-brand-copy{line-height:1.2;font-size:var(--bz-font-caption);letter-spacing:.08em;flex-direction:column;display:flex}.admin-brand-copy small{opacity:.85;letter-spacing:.04em;font-size:.7rem;font-weight:600}.steps{-webkit-overflow-scrolling:touch;scrollbar-width:thin;padding-bottom:var(--bz-space-1);overflow-x:auto}.steps li{min-width:3.25rem;position:relative}.step-label{max-width:100%}.steps li.step-far .step-number{opacity:.55}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=30rem){.steps{gap:0}.steps li{flex:0 0 3.5rem}.steps li[aria-current=step]{flex:5.5rem}.steps li.step-near:not([aria-current=step]){flex:0 0 4.25rem}}.admin-gate-actions{align-items:stretch}.admin-gate-actions>*,.admin-gate-actions>*>button{flex:8rem;width:100%;min-height:2.75rem}.admin-gate-actions>div{display:flex}.admin-gate .notice{margin-top:0}.notice.danger{box-shadow:var(--shadow)}.person-card-head{justify-content:space-between;align-items:center;gap:var(--bz-space-3);flex-wrap:wrap;display:flex}.person-card-head h3{margin:0}button.link-button{min-height:2.75rem;padding:0 var(--bz-space-2);color:var(--bz-primary);text-underline-offset:.2em;background:0 0;border:0;font-weight:600;text-decoration:underline}button.link-button:hover{color:var(--bz-primary-hover);background:0 0}.person-choice-cta{color:var(--bz-primary);align-self:flex-end;font-weight:700}.danger-zone{margin-top:var(--bz-space-6);padding-top:var(--bz-space-5);border-top:.0625rem solid var(--bz-border)}.danger-zone h3{color:var(--bz-danger)}.danger-zone button.danger{width:100%}.will-summary{padding:var(--bz-space-3) var(--bz-space-4);background:var(--bz-bg);border-radius:var(--bz-radius-sm)}.reset-confirm-actions{margin-top:var(--bz-space-3);margin-bottom:40svh}.reset-confirm-actions button{width:100%}.me-page{gap:var(--bz-space-4);flex-direction:column;display:flex}.me-page .page-intro,.me-page .page-intro h1{margin:0}.me-back{align-self:flex-start;gap:var(--bz-space-2)}.me-facts{gap:var(--bz-space-3);margin:0;display:grid}.me-facts>div{flex-direction:column;gap:.125rem;display:flex}.me-facts dt{color:var(--bz-muted);font-size:var(--bz-font-caption)}.me-facts dd{margin:0;font-weight:600}.me-signout{margin-top:var(--bz-space-4);padding-top:var(--bz-space-4);border-top:1px solid var(--bz-border)}.me-signout p{margin-top:0}.me-signout>div>button{width:100%}.account nav a{justify-content:center;min-width:2.75rem}main.auth-screen{width:100%;padding:0 0 max(28px, var(--safe-b));margin:0}.auth-hero{background:linear-gradient(180deg, var(--c-sun-1), var(--c-sun-2));height:260px;position:relative;overflow:hidden}.auth-hero .illus{width:100%;height:100%;position:absolute;inset:0}.illus-wide{display:none}.auth-sheet{background:var(--c-bg);border-radius:28px 28px 0 0;width:100%;max-width:440px;margin:-32px auto 0;padding:24px 20px 28px;position:relative}.auth-brand{color:var(--c-text-2);font-size:var(--font-label);align-items:center;gap:10px;font-weight:700;display:flex}.auth-brand b{background:var(--c-primary);width:36px;height:36px;color:var(--c-surface);font-size:var(--font-label);border-radius:12px;flex-shrink:0;place-items:center;font-weight:900;display:grid}.auth-sheet h1{font-size:var(--font-h1);line-height:1.35;font-weight:var(--weight-heading);margin:14px 0 0}.auth-sheet .sub{color:var(--c-text-2);font-size:var(--font-body);margin:2px 0 0}.auth-sheet form{margin:0}.auth-field{margin-top:16px}.auth-field label{font-size:var(--font-label);margin-bottom:6px;font-weight:700}.auth-field input{min-height:52px;line-height:1.5}.auth-field .password-field input{padding-right:56px}.auth-forgot{justify-content:flex-end;margin:0;display:flex}.auth-forgot a,.auth-back,.auth-retry a{min-height:44px;font-size:var(--font-label);align-items:center;font-weight:700;display:inline-flex}.auth-back{gap:4px;text-decoration:none}.auth-back span{font-size:1.375rem;line-height:1}.auth-hint{color:var(--c-text-2);font-size:var(--font-label);margin:6px 0 0}.btn{border-radius:var(--r-ctl);border:0;min-height:52px;padding:12px 22px;font-weight:700}.btn.block{width:100%}.btn.primary{background:var(--c-primary);color:var(--c-surface)}.btn.primary:hover:not(:disabled){background:var(--c-primary-hover)}.btn.secondary{border:1.5px solid var(--c-primary);color:var(--c-primary);background:var(--c-surface)}.btn:disabled{color:var(--c-text-2);background:var(--c-skeleton);cursor:not-allowed}.btn.primary:disabled{color:var(--c-surface);background:var(--c-primary);opacity:.78}.field-error{border-left:4px solid var(--c-danger);border-radius:0 var(--r-ctl) var(--r-ctl) 0;background:var(--c-danger-bg);color:var(--c-danger);align-items:flex-start;gap:8px;margin-top:8px;padding:10px 12px;font-size:.9375rem;line-height:1.5;display:flex}.field-error svg{flex:0 0 20px;margin-top:2px}.auth-field input[aria-invalid=true]{border-color:var(--c-danger);box-shadow:inset 0 0 0 1px var(--c-danger)}.auth-submit{margin-top:20px}.auth-divider{color:var(--c-text-2);font-size:var(--font-label);align-items:center;gap:12px;margin:18px 0;display:flex}.auth-divider:before,.auth-divider:after{content:"";border-top:1px solid var(--c-line);flex:1}.gsi{border-radius:var(--r-pill);color:#1f1f1f;width:100%;min-height:48px;font-family:Roboto,-apple-system,SF Pro Text,PingFang HK,Noto Sans HK,Noto Sans TC,Microsoft JhengHei,system-ui,sans-serif;font-size:var(--font-body);background:#fff;border:1px solid #747775;justify-content:center;align-items:center;gap:12px;padding:10px 16px;font-weight:500;display:flex}.gsi:hover:not(:disabled){background:var(--c-bg)}.gsi:disabled{background:var(--c-skeleton);color:#1f1f1f;cursor:not-allowed;border-color:#747775}.gsi svg{flex:0 0 20px}.auth-demo-note{font-size:var(--font-label);color:var(--c-text-2);margin:16px 0 0}.auth-sheet .notice{border-radius:var(--r-ctl);font-size:var(--font-label);box-shadow:none;border:0;padding:12px 14px}.auth-foot{text-align:center;font-size:var(--font-footnote);color:var(--c-text-2);margin:24px 0 0}.auth-screen-admin{border-radius:var(--r-card);max-width:440px;box-shadow:var(--shadow);background:var(--c-bg);margin:24px auto}.auth-screen-admin .auth-hero{border-radius:var(--r-card) var(--r-card) 0 0;height:160px}.auth-screen-admin .auth-sheet{border-radius:0 0 var(--r-card) var(--r-card);background:var(--c-surface);margin-top:0}@media (width>=1024px){main.auth-screen{padding-bottom:56px}.auth-hero{height:340px}.illus-narrow{display:none}.illus-wide{display:block}.auth-sheet{border-radius:var(--r-sheet);background:var(--c-surface);border:1px solid var(--c-line);box-shadow:var(--shadow-float);margin-top:-120px;padding:32px 36px}.auth-screen-admin .illus-narrow{display:block}.auth-screen-admin .illus-wide{display:none}.auth-screen-admin .auth-sheet{box-shadow:none}}.coach-app{flex-direction:column;min-height:100svh;display:flex}.coach-app .topbar{z-index:5;padding-top:env(safe-area-inset-top,0px);background:color-mix(in srgb, var(--c-bg) 92%, transparent);color:var(--c-primary);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);position:sticky;top:0}.coach-app .topbar-inner{max-width:var(--col);min-height:60px;padding:0 max(20px, env(safe-area-inset-right,0px)) 0 max(20px, env(safe-area-inset-left,0px));flex-wrap:wrap;gap:8px}.coach-app .brand{color:var(--c-primary);white-space:normal;gap:10px;min-height:44px}.coach-brand-mark{width:34px;height:34px;color:var(--c-surface);background:var(--c-primary);border-radius:11px;flex-shrink:0;place-items:center;font-size:.8125rem;font-weight:900;display:grid}.coach-brand-copy{font-size:.9375rem;font-weight:800}.coach-app .account{flex-wrap:nowrap;flex:none;gap:8px}.coach-header-link{border-radius:var(--r-pill);width:44px;height:44px;color:var(--c-primary);background:var(--c-surface);box-shadow:var(--shadow);flex-shrink:0;place-items:center;text-decoration:none;display:grid}.coach-header-link[aria-current=page]{background:var(--c-primary);color:var(--c-surface)}.coach-header-link:hover{background:var(--c-tint-gold);color:var(--c-primary)}.coach-app .topbar :focus-visible{outline:2px solid var(--c-primary);outline-offset:2px}.coach-app .skip-link{z-index:7}.coach-app #coach-main{width:100%;max-width:var(--col);padding:4px 20px calc(7rem + var(--safe-b));min-height:calc(100svh - 60px);margin:0 auto}.coach-app .demo-banner{color:var(--c-text-2);background:0 0;border:0;border-radius:0;margin:0 0 8px;padding:4px 0;font-size:.75rem}.coach-app footer{color:var(--c-text-2);text-align:center;margin-top:32px;padding:0;font-size:.75rem}.coach-nav{left:50%;bottom:calc(12px + var(--safe-b));width:calc(100% - 24px);max-width:calc(var(--col) - 40px);z-index:6;background:var(--c-surface);border-radius:var(--r-pill);min-height:max(68px,4.25rem);box-shadow:var(--shadow-float);grid-template-columns:repeat(4,minmax(0,1fr));padding:6px;display:grid;position:fixed;transform:translate(-50%)}.coach-nav a{text-align:center;min-width:0;min-height:56px;color:var(--c-text-2);border-radius:var(--r-pill);flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px 2px 12px;font-size:.75rem;font-weight:600;line-height:1.4;text-decoration:none;display:flex;position:relative}.coach-nav svg,.coach-header-link svg{flex-shrink:0}.coach-nav a[aria-current=page]{background:var(--c-tint-gold);color:var(--c-primary);font-weight:800}.coach-nav a[aria-current=page]:after{content:"";background:var(--c-primary);border-radius:50%;width:6px;height:6px;position:absolute;bottom:3px;left:50%;transform:translate(-50%)}.coach-nav a:hover{background:var(--c-tint-gold);color:var(--c-primary)}.coach-app h1,.coach-app h2{scroll-margin-top:80px}.coach-preview-control{align-items:center;gap:var(--s2) var(--s4);margin-bottom:var(--s5);flex-wrap:wrap;display:flex}.coach-preview-control label{margin:0;font-size:.875rem}.coach-preview-control select{width:auto}.coach-date{color:var(--c-text-2);margin-bottom:var(--s5);font-size:.875rem}.coach-text-link{align-items:center;gap:var(--s2);min-height:44px;font-weight:600;display:inline-flex}@media (width<=600px){.coach-app .topbar-inner{padding-left:max(16px, env(safe-area-inset-left,0px));padding-right:max(16px, env(safe-area-inset-right,0px))}.coach-app #coach-main{padding-inline:16px}}.coach-sections{gap:var(--bz-space-4);display:grid}.coach-section-heading{align-items:center;gap:var(--bz-space-3);display:flex}.coach-section-number{border-radius:var(--bz-radius-sm);background:var(--bz-bg);width:2rem;height:2rem;color:var(--bz-primary);font-size:var(--bz-font-caption);flex-shrink:0;place-items:center;display:grid}.coach-check{align-items:center;gap:var(--bz-space-3);min-height:3rem;padding:var(--bz-space-2) 0;margin-bottom:0;font-weight:400;display:flex}.coach-check+.coach-check{border-top:1px solid var(--bz-border)}.coach-check input{width:1.25rem;height:1.25rem;min-height:1.25rem;accent-color:var(--bz-primary);flex:0 0 1.25rem}.coach-outcomes{gap:var(--bz-space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.coach-outcomes>div{min-width:0}.coach-outcomes label{min-height:2.75rem;font-size:var(--bz-font-caption);align-items:flex-end;display:flex}.coach-outcomes input{min-height:3.5rem;font-size:var(--bz-font-h1);font-variant-numeric:tabular-nums;font-weight:600}.coach-outcomes input[readonly]{background:var(--bz-bg)}.coach-save{bottom:calc(max(68px, 4.25rem) + 24px + var(--safe-b));z-index:1;background:var(--bz-surface);border:1px solid var(--bz-border);border-radius:var(--bz-radius-md);box-shadow:var(--bz-shadow-raised);padding:var(--bz-space-4);position:sticky}.coach-save button{width:100%}.coach-save .notice{margin:0 0 var(--bz-space-3)}.coach-save [aria-live]:empty{display:none}.coach-period-nav{gap:var(--bz-space-2);margin-bottom:var(--bz-space-5);padding:var(--bz-space-1);background:var(--bz-border);border-radius:var(--bz-radius-md);flex-wrap:wrap;display:flex}.coach-period-nav a{min-height:2.75rem;padding:var(--bz-space-2) var(--bz-space-3);border-radius:var(--bz-radius-sm);color:var(--bz-muted);flex:1;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.coach-period-nav a[aria-current]{color:var(--bz-primary);background:var(--bz-surface);box-shadow:var(--bz-shadow-card);font-weight:700}.coach-phases{gap:var(--bz-space-3);margin-block:var(--bz-space-5);padding:0;list-style:none;display:grid}.coach-phases li{padding:var(--bz-space-4);border:1px solid var(--bz-border);border-radius:var(--bz-radius-sm)}.coach-phases [aria-current]{color:var(--bz-primary);background:var(--bz-bg);border-inline-start:.25rem solid var(--bz-accent-sky);font-weight:700}.coach-script{white-space:pre-wrap;padding:var(--bz-space-4);background:var(--bz-accent-sand);border-radius:var(--bz-radius-sm)}.coach-script-entry+.coach-script-entry{border-top:1px solid var(--bz-border);margin-top:var(--bz-space-5);padding-top:var(--bz-space-5)}@media (width>=48rem){.coach-sections{gap:var(--bz-space-5)}}.coach-cta-row{gap:var(--bz-space-3);margin-top:var(--bz-space-4);flex-direction:column;display:flex}.coach-cta-row .button,.coach-empty-tasks .button{text-align:center}.coach-today{gap:var(--bz-space-4);flex-direction:column;display:flex}.coach-today .button{text-align:center;align-self:stretch}.coach-empty-tasks{gap:var(--bz-space-3);flex-direction:column;display:flex}.coach-save-hint{margin-top:var(--bz-space-2);text-align:center}@media (width>=40rem){.coach-cta-row{flex-flow:wrap}.coach-cta-row .button{flex:12rem}}.coach-app .coach-period-nav{margin-bottom:var(--bz-space-4)}.coach-week-range{color:var(--bz-muted);font-size:var(--bz-font-caption)}.coach-stats{gap:var(--bz-space-2);margin:0 0 var(--bz-space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.coach-stats>div{justify-content:space-between;gap:var(--bz-space-2);min-width:0;padding:var(--bz-space-3);background:var(--bz-bg);border-radius:var(--bz-radius-sm);flex-direction:column;display:flex}.coach-stats dt{font-size:var(--bz-font-caption);color:var(--bz-muted);line-height:1.4}.coach-stats dd{font-size:var(--bz-font-h1);color:var(--bz-navy);font-variant-numeric:tabular-nums;margin:0;font-weight:700;line-height:1.2}.coach-stats dd span{font-size:var(--bz-font-caption);color:var(--bz-muted);font-weight:400}.coach-stats-note{font-size:var(--bz-font-caption)}.coach-page-cta{margin-top:var(--bz-space-4);flex-direction:column;display:flex}.coach-page-cta .button{width:100%}.coach-preview-page>.panel+.panel{margin-top:var(--bz-space-4)}.coach-my90-head .coach-day-count{margin:0 0 var(--bz-space-1);color:var(--bz-navy);font-size:var(--bz-font-h2);font-variant-numeric:tabular-nums}.coach-my90-head .coach-day-count strong{font-size:2rem;line-height:1.2}.coach-my90-head .coach-day-count span{color:var(--bz-muted);font-size:var(--bz-font-body)}.coach-my90-goals{gap:var(--bz-space-4);display:grid}.coach-my90-goals h2{font-size:var(--bz-font-caption);color:var(--bz-muted);margin-bottom:var(--bz-space-1)}.coach-my90-goals p{font-weight:600}.coach-app .coach-phases{margin-block:0 var(--bz-space-4);gap:var(--bz-space-2)}.coach-phases li{align-items:center;gap:var(--bz-space-1) var(--bz-space-3);min-height:2.75rem;padding:var(--bz-space-3) var(--bz-space-4);flex-wrap:wrap;display:flex}.coach-phase-days{color:var(--bz-muted);font-size:var(--bz-font-caption);min-width:6.5rem}.coach-phases [aria-current] .coach-phase-days{color:var(--bz-primary)}.coach-phase-name{flex:1}.coach-phase-badge{font-size:var(--bz-font-caption);color:var(--bz-surface);background:var(--bz-primary);padding:0 var(--bz-space-2);border-radius:999px;font-weight:700}.coach-copy-hint{margin-top:var(--bz-space-2);font-size:var(--bz-font-caption)}.coach-script{-webkit-user-select:text;user-select:text}.coach-task-list{margin:0 0 var(--bz-space-4);padding:0;list-style:none}.coach-task-list li{min-height:2.75rem;padding:var(--bz-space-2) 0;border-bottom:1px solid var(--bz-border);align-items:center;display:flex}.coach-task-list li:first-child{border-top:1px solid var(--bz-border)}@media (width>=48rem){.coach-page-cta{align-items:center}.coach-page-cta .button{width:auto;min-width:16rem}.coach-my90-goals{grid-template-columns:repeat(2,minmax(0,1fr))}}.coach-app .coach-period-nav a:not([aria-current]){color:var(--bz-text)}.dashboard-intro{margin-bottom:20px;padding-top:12px}.dashboard-intro .eyebrow{letter-spacing:0;margin:0;font-size:.875rem;font-weight:700}.dashboard-intro h1{margin:2px 0 0;font-size:1.75rem;line-height:1.35}.greet{isolation:isolate;border-radius:var(--r-card);background:linear-gradient(180deg, var(--c-sun-1), var(--c-sun-2));min-height:184px;margin-top:4px;padding:20px 22px;position:relative;overflow:hidden}.sun{background:var(--c-gold);outline:14px solid var(--c-sun-halo);border-radius:50%;width:60px;height:60px;position:absolute;top:32px;right:30px}.dashboard-waves{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.greet-date,.greet h1,.greet-pill{z-index:1;position:relative}.greet-date{max-width:72%;color:var(--c-sun-ink);margin:0;font-size:.875rem;font-weight:700}.greet h1{max-width:72%;margin:2px 0 0;font-size:1.75rem;line-height:1.35}.greet-pill{border-radius:var(--r-pill);background:var(--c-surface);color:var(--c-primary);margin-top:10px;padding:4px 12px;font-size:.875rem;font-weight:700;display:inline-flex}.dashboard-section{color:var(--c-text);flex-wrap:wrap;align-items:center;gap:8px;margin:24px 0 12px;font-size:1.125rem;font-weight:800;line-height:1.4;display:flex}.dashboard-section small{color:var(--c-text-2);margin-left:auto;font-size:.875rem;font-weight:600}.dashboard-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dashboard-grid .panel{padding:20px}.stat-icon{background:var(--c-tint-gold);width:40px;height:40px;color:var(--c-primary);border-radius:13px;flex-shrink:0;place-items:center;display:grid}.stat-sky .stat-icon{background:var(--c-tint-sky)}.stat-lilac .stat-icon{background:var(--c-tint-lilac)}.stat-content{flex:1;min-width:0}.stat h3{color:var(--c-text-2);margin:12px 0 0;font-size:.875rem;font-weight:600}.stat-value{font-variant-numeric:tabular-nums;color:var(--c-text);margin:0;font-size:1.75rem;font-weight:800;line-height:1.25}.stat-value span{color:var(--c-text-2);font-size:.9375rem;font-weight:500}.stat progress{appearance:none;border-radius:var(--r-pill);background:var(--c-track);border:0;width:100%;height:8px;margin:10px 0 0;display:block;overflow:hidden}.stat progress::-webkit-progress-bar{background:var(--c-track);border-radius:var(--r-pill)}.stat progress::-webkit-progress-value{background:var(--c-primary);border-radius:var(--r-pill)}.stat progress::-moz-progress-bar{background:var(--c-primary);border-radius:var(--r-pill)}.stat-sky progress::-webkit-progress-value{background:var(--c-primary)}.stat-sky progress::-moz-progress-bar{background:var(--c-primary)}.stat-lilac progress::-webkit-progress-value{background:var(--c-primary)}.stat-lilac progress::-moz-progress-bar{background:var(--c-primary)}.stat-unset{color:var(--c-text-2);margin:10px 0 0;font-size:.875rem}.stat-met{color:var(--c-success);align-items:center;gap:4px;margin:8px 0 0;font-size:.875rem;font-weight:700;display:flex}.stat-wide{grid-column:1/-1;align-items:center;gap:14px;display:flex}.stat-wide .stat-heading{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 8px;display:flex}.stat-wide h3{color:var(--c-text);margin:0;font-size:1rem;font-weight:800}.stat-wide .stat-value,.stat-wide .stat-value span{color:var(--c-text-2);font-size:.875rem;font-weight:400}.journey{grid-column:1/-1}.dashboard-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;display:flex}.dashboard-row h3{color:var(--c-text);margin:0;font-size:1rem;font-weight:800}.dashboard-row>span{color:var(--c-text-2);font-size:.875rem}.pathw{height:64px;margin-top:10px;position:relative}.pathw svg{display:block}.path-marker{border:5px solid var(--c-primary);background:var(--c-surface);border-radius:50%;width:18px;height:18px;position:absolute;transform:translate(-50%,-50%)}.path-flag{border-left:2px solid var(--c-primary);width:12px;height:16px;position:absolute;top:0;right:2%}.path-flag:after{content:"";border-left:10px solid var(--c-gold);border-top:4px solid #0000;border-bottom:4px solid #0000;position:absolute;top:1px;left:0}.path-ticks{color:var(--c-text-2);justify-content:space-between;gap:8px;margin-top:4px;font-size:.75rem;display:flex}.dashboard-footnote{color:var(--c-text-2);margin:8px 0 0;font-size:.75rem}.morning{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.m{background:var(--c-surface);border:1px solid var(--c-line);border-radius:var(--r-card);text-align:center;min-width:0;box-shadow:var(--shadow);padding:14px 8px}.morning-circle{border:2px dashed var(--c-field-border);width:44px;height:44px;color:var(--c-text-2);border-radius:50%;place-items:center;margin:0 auto;font-size:.875rem;font-weight:800;display:grid}.m.done .morning-circle{background:var(--c-gold);color:var(--c-text);border:0}.m p{margin:8px 0 0;font-size:.875rem;font-weight:700}.cta{isolation:isolate;border-radius:var(--r-card);background:var(--c-primary);color:var(--c-surface);text-align:left;margin-top:16px;padding:22px;position:relative;overflow:hidden}.cta-decoration{z-index:-1;position:absolute;bottom:0;right:0}.cta h2{color:var(--c-surface);margin:0;font-size:1.25rem;font-weight:800;line-height:1.4}.cta h2,.cta p{max-width:78%}.cta p{color:var(--c-on-primary-2);margin:4px 0 0;font-size:.9375rem}.coach-app .btn{gap:8px;font-size:1.0625rem}.cta .btn{min-height:48px;margin-top:16px;position:relative}.coach-app .btn.gold{background:var(--c-gold);color:var(--c-text)}.coach-app .btn.gold:hover{background:var(--c-sun-2)}.illcard{padding:0;overflow:hidden}.dashboard-art{background:linear-gradient(180deg, var(--c-sun-1), var(--c-sun-2));height:132px;position:relative;overflow:hidden}.art-sun{background:var(--c-gold);border-radius:50%;width:52px;height:52px;position:absolute;top:32px;left:calc(71.4% - 26px)}.art-cloud{width:100%;height:100%;position:absolute;inset:0}.illcard-body,.dashboard-state:not(.illcard),.dashboard-links{padding:20px}.dashboard-state h2{color:var(--c-text);margin:0 0 6px;font-size:1.125rem;font-weight:800}.dashboard-state p{color:var(--c-text-2);margin:0;font-size:1rem}.dashboard-actions{flex-wrap:wrap;gap:10px;margin-top:16px;display:flex}.dashboard-actions.stacked{flex-direction:column}.dashboard-actions .btn svg{flex-shrink:0}.dashboard-state .dashboard-footnote{margin-top:12px;font-size:.75rem}.error-icon{border-radius:var(--r-pill);background:var(--c-danger-bg);width:56px;height:56px;color:var(--c-danger);place-items:center;margin-bottom:14px;display:grid}.dashboard-links a{min-height:56px;color:var(--c-text);align-items:center;gap:12px;padding:6px 0;text-decoration:none;display:flex}.dashboard-links a+a{border-top:1px solid var(--c-line)}.dashboard-links a>span:nth-child(2){flex:1}.dashboard-links svg{flex-shrink:0}.link-icon{border-radius:var(--r-pill);width:44px;height:44px;color:var(--c-primary);flex-shrink:0;place-items:center;display:grid}.link-icon.gold{background:var(--c-tint-gold)}.link-icon.sky{background:var(--c-tint-sky)}.sk{background:var(--c-skeleton);border-radius:10px}.coach-app .skc{background:var(--c-skeleton-card);box-shadow:none;border:0;padding:20px}.skeleton-greet{min-height:184px}.sk-date{width:40%;height:14px}.sk-title{width:70%;height:30px;margin-top:10px}.sk-subtitle{width:55%;height:30px;margin-top:6px}.sk-pill{width:130px;height:28px;margin-top:14px}.sk-section{width:120px;height:20px;margin:28px 0 14px}.sk-icon{width:40px;height:40px}.sk-label{width:60%;height:14px;margin-top:14px}.sk-number{width:45%;height:28px;margin-top:8px}.sk-bar{width:100%;height:8px;margin-top:12px}.skeleton-wide,.skeleton-journey{grid-column:1/-1}.skeleton-wide .sk-label,.skeleton-journey .sk-label{width:40%;height:16px;margin-top:0}.sk-path{width:100%;height:56px;margin-top:14px}.sk-circle{border-radius:50%;width:44px;height:44px;margin:0 auto}.skeleton-morning .sk-label{margin:10px auto 0}@media (width>=1024px){.greet,.skeleton-greet{min-height:200px}.greet h1,.dashboard-intro h1{font-size:1.875rem}}
