:root{--ink:#0c2b38;--petrol:#015a5e;--petrol-dark:#00464a;--petrol-hover:#0d7767;--teal:#30c7b5;--orange:#ff6e03;--canvas:#f6f9f8;--mist:#eaf3f1;--line:#d7e4e1;--muted:#5a6e75;--lilac:#8b68c8;--mint:#3cd1ba;--learn-surface:#f5effa;--danger:#a7352c;--success:#267a55;--warning:#9a5a00;--shadow:0 14px 40px rgba(12,43,56,.1);--shadow-soft:0 5px 18px rgba(12,43,56,.065)}*{box-sizing:border-box}body,html{margin:0;min-height:100%;background:var(--canvas);color:var(--ink);font-family:DM Sans,Segoe UI,Arial,sans-serif}body{font-size:15px;line-height:1.55}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.6}a{color:var(--petrol);font-weight:700;text-decoration:none}a,button{transition:background-color .18s,border-color .18s,color .18s,transform .18s,box-shadow .18s}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--teal);outline-offset:3px}h1,h2,h3,p{margin-top:0}.eyebrow{display:block;margin-bottom:7px;color:var(--orange);font-size:11px;font-weight:900;letter-spacing:.15em;text-transform:uppercase}.eyebrow--light{color:#8ff0df}.button{display:inline-flex;min-height:46px;align-items:center;justify-content:center;padding:10px 18px;border:1px solid transparent;border-radius:12px;font-weight:800;text-align:center}.button:hover{transform:translateY(-1px)}.button--primary{background:var(--petrol);color:#fff}.button--primary:hover{background:var(--petrol-hover);box-shadow:0 8px 20px rgba(1,90,94,.18)}.button--secondary{background:#fff;color:var(--petrol);border-color:var(--line)}.button--secondary:hover{border-color:var(--petrol);background:var(--mist)}.button--white{background:#fff;color:var(--petrol)}.button--white:hover{box-shadow:0 9px 25px rgba(0,0,0,.15)}.button--danger{background:var(--danger);color:#fff}.button--quiet-danger{background:#fff5f4;color:var(--danger);border-color:#ecc9c6}.button--full{width:100%}.button--small{min-height:38px;padding:7px 13px;font-size:13px}.text-button{padding:5px 0;border:0;background:transparent;color:var(--petrol);font-weight:800;text-decoration:underline;text-underline-offset:3px}.document-actions{display:flex;flex-wrap:wrap;justify-content:center;gap:12px;margin-top:16px}.portal-brand{display:flex;align-items:center;gap:12px;color:inherit}.portal-brand__mark{position:relative;display:grid;width:47px;height:47px;place-items:center;overflow:hidden;flex:0 0 auto;border-radius:50%;background:var(--petrol)}.portal-brand__mark img{display:block;width:100%;height:100%;max-width:none;object-fit:cover}.portal-brand__mark--sport img{transform:scale(1.21)}.portal-brand__mark--learning img{transform:scale(1.04)}.portal-brand small,.portal-brand strong{display:block}.portal-brand strong{font-size:17px}.portal-brand small{color:#9fb7bd;font-size:10px;font-weight:800;letter-spacing:.13em;text-transform:uppercase}.auth-page{display:grid;grid-template-columns:minmax(420px,1.08fr) minmax(480px,.92fr);min-height:100vh}.auth-story{position:relative;overflow:hidden;display:flex;flex-direction:column;padding:48px clamp(42px,6vw,92px);background:linear-gradient(145deg,var(--ink),var(--petrol-dark) 48%,var(--petrol));color:#fff}.auth-story:after,.auth-story:before{content:"";position:absolute;border:1px solid rgba(48,199,181,.25);border-radius:50%}.auth-story:before{right:-18vw;bottom:-36vw;width:72vw;height:72vw}.auth-story:after{right:8vw;bottom:-20vw;width:43vw;height:43vw;border-color:rgba(255,110,3,.22)}.auth-story .portal-brand{position:relative;z-index:1}.auth-story .portal-brand__mark:after{border-color:var(--ink)}.auth-story__copy{position:relative;z-index:1;margin:auto 0;max-width:660px}.auth-story__copy h2{margin:0 0 22px;font-size:clamp(43px,5vw,76px);line-height:.98;letter-spacing:-.055em}.auth-story__copy p{max-width:550px;color:#c8dbde;font-size:clamp(17px,1.5vw,21px)}.auth-story__steps{position:relative;z-index:1;display:flex;gap:12px;flex-wrap:wrap}.auth-story__steps span{padding:7px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;color:#d7e7e9;font-size:12px;font-weight:700}.auth-panel{display:grid;align-content:center;justify-items:center;padding:46px clamp(28px,6vw,88px);background:#fff}.auth-panel__mobile-brand{display:none}.auth-card{width:min(100%,480px)}.auth-card h1{margin:0 0 9px;font-size:clamp(35px,4vw,48px);line-height:1.05;letter-spacing:-.045em}.auth-intro{margin-bottom:28px;color:var(--muted);font-size:16px}.auth-form{display:grid;gap:17px}.auth-form label{display:grid;gap:7px;color:var(--ink);font-size:13px;font-weight:800}.auth-form label small{color:var(--muted);font-weight:500}.auth-form input:not([type=checkbox]),.auth-form select,.auth-form textarea,.modal select{width:100%;min-height:49px;padding:11px 13px;color:var(--ink);background:#fff;border:1px solid #b9cbc7;border-radius:11px}.auth-form textarea{resize:vertical}.auth-form input::placeholder,.auth-form textarea::placeholder{color:#87979c}.field-row{display:grid;grid-template-columns:1fr 1fr;gap:13px}.optional{color:var(--muted);font-size:11px;font-weight:500}.auth-form__between{display:flex;align-items:center;justify-content:space-between;gap:14px;font-size:12px}.auth-form .check-label{display:flex;align-items:center;gap:7px;color:var(--muted);font-weight:600}.check-label input{width:17px;height:17px;accent-color:var(--petrol)}.auth-divider{display:flex;align-items:center;gap:12px;margin:24px 0;color:#7b8e94;font-size:11px}.auth-divider:after,.auth-divider:before{content:"";height:1px;flex:1 1;background:var(--line)}.auth-back{margin:22px 0 0;text-align:center;color:var(--muted)}.auth-legal{align-self:end;margin:32px 0 0;color:#809197;font-size:11px;text-align:center}.notice{margin-bottom:18px;padding:12px 14px;border-radius:11px;font-weight:650}.notice--success{color:#176143;background:#e8f7ef;border:1px solid #b9e6ce}.notice--error{color:var(--danger);background:#fff0ef;border:1px solid #f1c8c4}.success-panel{display:grid;justify-items:start;gap:9px;padding:24px;background:var(--mist);border-radius:18px}.success-panel>span{display:grid;width:47px;height:47px;place-items:center;border-radius:50%;background:var(--petrol);color:#fff;font-size:21px}.success-panel h2,.success-panel p{margin:0}.success-panel p{margin-bottom:8px;color:var(--muted)}.honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;overflow:hidden!important}.auth-form__between{justify-content:flex-end}.portal-shell{display:grid;grid-template-columns:258px minmax(0,1fr);min-height:100vh}.portal-sidebar{position:sticky;top:0;display:flex;height:100vh;flex-direction:column;padding:28px 19px 19px;background:var(--ink);color:#fff}.portal-sidebar>.portal-brand{padding:0 8px 28px;border-bottom:1px solid rgba(255,255,255,.12)}.portal-sidebar nav{display:grid;gap:5px;margin-top:25px}.portal-sidebar nav a{display:flex;align-items:center;gap:13px;padding:11px 13px;border-radius:12px;color:#c6d7da;font-weight:650}.portal-sidebar nav a>span{display:grid;width:25px;place-items:center;color:#8eb4b4;font-size:19px}.portal-sidebar nav a.active,.portal-sidebar nav a:hover{background:rgba(48,199,181,.14);color:#fff}.portal-sidebar nav a.active{box-shadow:inset 3px 0 0 var(--teal)}.portal-sidebar__help{display:flex;gap:11px;margin-top:auto;padding:16px 11px;background:rgba(255,255,255,.065);border-radius:14px}.portal-sidebar__help>span{display:grid;width:32px;height:32px;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--teal);color:var(--ink);font-weight:900}.portal-sidebar__help a,.portal-sidebar__help strong{display:block}.portal-sidebar__help strong{font-size:12px}.portal-sidebar__help a{color:#a9c9cb;font-size:11px}.portal-sidebar__account{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;margin-top:13px;padding:14px 7px 0;border-top:1px solid rgba(255,255,255,.12)}.portal-sidebar__account small,.portal-sidebar__account strong{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.portal-sidebar__account strong{font-size:12px}.portal-sidebar__account small{color:#9fb7bd;font-size:10px}.portal-sidebar__account button{border:0;background:transparent;color:#aac1c6;font-size:18px}.avatar{display:grid;width:38px;height:38px;place-items:center;overflow:hidden;flex:0 0 auto;border-radius:50%;background:linear-gradient(135deg,var(--teal),var(--petrol));color:#fff;font-size:12px;font-weight:900}.avatar img{width:100%;height:100%;object-fit:cover}.avatar--small{width:32px;height:32px;font-size:10px}.avatar--large{width:72px;height:72px;font-size:20px}.portal-main{min-width:0}.portal-topbar{height:65px;padding:0 clamp(24px,4vw,54px);display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);color:var(--muted);font-size:12px}.status-dot{display:inline-block;width:8px;height:8px;margin-right:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 4px rgba(48,199,181,.12)}.portal-topbar__actions{display:flex;align-items:center;gap:17px}.portal-topbar__actions a{font-size:12px}.mobile-nav{display:none}.portal-page{width:min(1500px,100%);margin:0 auto;padding:38px clamp(22px,4vw,54px) 70px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:30px;margin-bottom:30px}.page-heading h1{margin:0;font-size:clamp(34px,4vw,48px);line-height:1.05;letter-spacing:-.045em}.page-heading p{max-width:700px;margin:9px 0 0;color:var(--muted);font-size:16px}.panel{min-width:0;padding:24px;background:#fff;border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-soft)}.panel__heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px}.panel__heading h2{margin:0;font-size:18px;letter-spacing:-.015em}.panel__heading a{font-size:12px}.portal-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(280px,.8fr);gap:20px}.status-badge{display:inline-flex;width:max-content;align-items:center;padding:5px 9px;border-radius:999px;background:var(--mist);color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.status-badge--success{background:#e7f6ee;color:var(--success)}.status-badge--warning{background:#fff2e3;color:var(--warning)}.status-badge--learning{background:var(--learn-surface);color:#6844aa}.status-badge--danger{background:#fff0ef;color:var(--danger)}.empty-state,.error-state,.loading-state{display:grid;min-height:160px;place-items:center;align-content:center;gap:9px;padding:25px;text-align:center}.loading-state{color:var(--muted)}.spinner{width:27px;height:27px;border:3px solid var(--line);border-top-color:var(--petrol);border-radius:50%;animation:spin .8s linear infinite}.error-state{margin-bottom:20px;border:1px solid #f1c8c4;border-radius:16px;background:#fff6f5;color:var(--danger)}.error-state span{color:#765c5a}.error-state .button{margin-top:4px}.empty-state>span{display:grid;width:50px;height:50px;place-items:center;border-radius:50%;background:var(--mist);color:var(--petrol);font-size:22px}.empty-state strong{font-size:17px}.empty-state p{max-width:420px;margin:0;color:var(--muted)}.empty-state.compact{min-height:190px}@keyframes spin{to{transform:rotate(1turn)}}.welcome-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(250px,.75fr);min-height:285px;margin-bottom:20px;padding:38px clamp(28px,4vw,52px);border-radius:26px;background:linear-gradient(125deg,var(--ink),var(--petrol) 68%,#0b7875);color:#fff;box-shadow:0 18px 46px rgba(12,43,56,.18)}.welcome-hero:after{content:"";position:absolute;right:-90px;bottom:-185px;width:430px;height:430px;border:1px solid rgba(255,255,255,.16);border-radius:50%}.welcome-hero>div:first-child{position:relative;z-index:1;align-self:center}.welcome-hero h1{margin:0 0 8px;font-size:clamp(38px,5vw,62px);line-height:1;letter-spacing:-.055em}.welcome-hero p{max-width:620px;margin-bottom:25px;color:#d2e3e5;font-size:17px}.welcome-hero__actions{display:flex;align-items:center;gap:19px}.text-link-light{color:#fff;font-size:13px}.hero-orbit{position:relative;z-index:1;display:grid;place-items:center}.hero-orbit:after,.hero-orbit:before{content:"";position:absolute;border:1px solid rgba(255,255,255,.18);border-radius:50%}.hero-orbit:before{width:220px;height:220px}.hero-orbit:after{width:145px;height:145px;border-color:rgba(48,199,181,.48)}.hero-orbit span{position:absolute;font-size:11px;font-weight:900;letter-spacing:.15em}.hero-orbit span:first-child{top:28px;color:var(--teal)}.hero-orbit span:nth-child(2){right:5px;color:#fff}.hero-orbit span:nth-child(3){bottom:28px;color:#ff9c51}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:20px}.summary-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:19px;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft);color:var(--ink)}.summary-card:hover{transform:translateY(-2px);box-shadow:var(--shadow)}.summary-card__icon{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;background:var(--mist);color:var(--petrol);font-size:22px}.summary-card__icon.orange{background:#fff1e7;color:#c84f00}.summary-card__icon.learning{background:var(--learn-surface);color:var(--lilac)}.summary-card small,.summary-card span,.summary-card strong{display:block}.summary-card small{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.summary-card strong{margin:1px 0;font-size:24px;line-height:1.1}.summary-card div>span{overflow:hidden;color:var(--muted);font-size:11px;text-overflow:ellipsis;white-space:nowrap}.summary-card>b{color:#8ba09f;font-size:23px}.appointment-list{display:grid}.appointment-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;padding:14px 3px;border-bottom:1px solid var(--line)}.appointment-list article:last-child{border-bottom:0}.date-block{display:grid;width:54px;height:58px;place-items:center;align-content:center;border-radius:14px;background:var(--petrol);color:#fff}.appointment-list article.learning .date-block{background:var(--lilac)}.date-block strong{font-size:21px;line-height:1}.date-block span{text-transform:uppercase;font-size:9px}.appointment-list article>div:nth-child(2)>small,.appointment-list article>div:nth-child(2)>span,.appointment-list article>div:nth-child(2)>strong{display:block}.appointment-list article>div:nth-child(2)>small,.appointment-list article>div:nth-child(2)>span{color:var(--muted);font-size:12px}.quick-links{display:grid;gap:8px}.quick-links a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:13px;color:var(--ink)}.quick-links a:hover{background:var(--canvas)}.quick-links a>span{display:grid;width:38px;height:38px;place-items:center;border-radius:11px;background:var(--mist);color:var(--petrol);font-size:18px}.quick-links small,.quick-links strong{display:block}.quick-links small{color:var(--muted);font-size:11px}.filter-bar{display:flex;gap:7px;margin-bottom:20px;padding:5px;width:max-content;max-width:100%;overflow:auto;background:var(--mist);border-radius:14px}.filter-bar button{min-height:39px;padding:7px 14px;border:0;border-radius:10px;background:transparent;color:var(--muted);font-size:12px;font-weight:800;white-space:nowrap}.filter-bar button.active{background:var(--petrol);color:#fff;box-shadow:0 5px 12px rgba(1,90,94,.17)}.filter-bar button.active.learning{background:var(--lilac)}.schedule-days{display:grid;gap:16px}.schedule-day{display:grid;grid-template-columns:140px minmax(0,1fr);gap:18px}.schedule-day>header{padding:18px 0}.schedule-day>header span,.schedule-day>header strong{display:block;text-transform:capitalize}.schedule-day>header strong{font-size:16px}.schedule-day>header span{color:var(--muted);font-size:12px}.schedule-day>div{overflow:hidden;background:#fff;border:1px solid var(--line);border-radius:18px;box-shadow:var(--shadow-soft)}.session-card{display:grid;grid-template-columns:65px 4px minmax(200px,1fr) 125px auto auto;align-items:center;gap:14px;padding:16px 18px;border-bottom:1px solid var(--line)}.session-card:last-child{border-bottom:0}.session-card__time{font-size:18px;font-weight:900}.session-card__marker{align-self:stretch;border-radius:999px;background:var(--teal)}.session-card.learning .session-card__marker{background:var(--lilac)}.session-card__main small,.session-card__main span,.session-card__main strong{display:block}.session-card__main small,.session-card__main span{color:var(--muted);font-size:11px}.session-card__capacity>span{display:block;color:var(--muted);font-size:10px;text-align:right}.session-card__capacity>div{overflow:hidden;height:4px;margin-top:6px;border-radius:999px;background:var(--mist)}.session-card__capacity i{display:block;height:100%;background:var(--teal)}.session-card.learning .session-card__capacity i{background:var(--lilac)}.modal-backdrop{position:fixed;z-index:50;inset:0;display:grid;place-items:center;padding:20px;background:rgba(6,29,38,.65);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal{position:relative;width:min(100%,480px);padding:30px;background:#fff;border-radius:22px;box-shadow:0 30px 90px rgba(0,0,0,.28)}.modal__close{position:absolute;right:15px;top:14px;width:35px;height:35px;border:0;border-radius:50%;background:var(--canvas);color:var(--muted);font-size:23px}.modal__icon{display:grid;width:49px;height:49px;place-items:center;margin-bottom:17px;border-radius:50%;background:var(--petrol);color:#fff;font-size:21px;font-weight:900}.modal__icon.learning{background:var(--lilac)}.modal h2{margin-bottom:17px;font-size:26px}.modal>p{color:var(--muted);font-size:13px}.booking-summary{display:grid;gap:2px;padding:15px;background:var(--canvas);border-radius:13px}.booking-summary span{color:var(--muted);font-size:12px}.modal__field{display:grid;gap:6px;margin-top:16px;font-size:12px;font-weight:800}.modal__actions{display:flex;justify-content:flex-end;gap:9px;margin-top:22px}.participant-list{display:grid;gap:7px;margin-top:14px;padding:14px;border:1px solid var(--line);border-radius:13px}.participant-list>strong{font-size:12px}.participant-list li,.participant-list>span{color:var(--muted);font-size:12px}.participant-list ul{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.participant-list li{padding:6px 9px;border-radius:999px;background:var(--mist)}.appointment-cancel-form{display:grid;gap:12px;margin-top:16px;padding:15px;border:1px solid var(--line);border-radius:14px;background:var(--canvas)}.appointment-cancel-form p{margin:0;color:var(--muted);font-size:12px}.appointment-cancel-form textarea{width:100%;padding:11px 13px;border:1px solid #b9cbc7;border-radius:11px;resize:vertical}.appointment-cancel-form .check-label{display:flex;align-items:center;gap:8px;color:var(--ink);font-size:13px;font-weight:750}.appointment-cancel-form .check-label input{width:18px;height:18px;accent-color:var(--petrol)}.membership-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin-bottom:20px}.membership-grid>article{position:relative;overflow:hidden;padding:26px;background:#fff;border:1px solid var(--line);border-top:5px solid var(--teal);border-radius:20px;box-shadow:var(--shadow-soft)}.membership-grid>article.learning{border-top-color:var(--lilac);background:linear-gradient(145deg,#fff,var(--learn-surface))}.membership-grid article>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.membership-grid h2{margin:0;font-size:22px}.credit-count{display:flex;align-items:flex-end;gap:10px;margin:26px 0 10px}.credit-count strong{font-size:48px;line-height:.9;letter-spacing:-.05em}.credit-count span{color:var(--muted)}.credit-meter{overflow:hidden;height:7px;border-radius:99px;background:var(--mist)}.credit-meter i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--petrol),var(--teal))}.membership-grid article.learning .credit-meter i{background:linear-gradient(90deg,var(--lilac),var(--mint))}.membership-grid footer{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-top:22px;padding-top:16px;border-top:1px solid var(--line)}.membership-grid footer span{color:var(--muted);font-size:11px}.membership-grid footer a{font-size:12px}.info-panel{margin-top:20px}.info-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.info-columns p{margin:0}.info-columns span,.info-columns strong{display:block}.info-columns strong{margin-bottom:5px}.info-columns span{color:var(--muted);font-size:12px}.invoice-summary{display:flex;align-items:center;justify-content:space-between;margin-bottom:20px;padding:25px 28px;background:linear-gradient(120deg,var(--ink),var(--petrol));border-radius:20px;color:#fff;box-shadow:var(--shadow)}.invoice-summary small,.invoice-summary span,.invoice-summary strong{display:block}.invoice-summary small,.invoice-summary>div>span{color:#c7dcde}.invoice-summary strong{margin:2px 0;font-size:35px}.invoice-summary__icon{display:grid;width:56px;height:56px;place-items:center;border-radius:50%;background:var(--teal);color:var(--ink);font-size:24px;font-weight:900}.invoice-summary__icon.warning{background:var(--orange);color:#fff}.invoice-panel{padding:0;overflow:hidden}.invoice-row{display:grid;grid-template-columns:minmax(120px,1.1fr) 1fr 1fr .8fr .8fr .7fr;align-items:center;gap:14px;min-height:66px;padding:12px 21px;border-bottom:1px solid var(--line)}.invoice-row:last-child{border-bottom:0}.invoice-row--head{min-height:45px;background:var(--canvas);color:var(--muted);font-size:9px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.invoice-row:not(.invoice-row--head)>span{font-size:12px}.secure-note{display:flex;align-items:center;gap:8px;margin:16px 5px;color:var(--muted);font-size:11px}.secure-note>span{color:var(--teal)}.profile-grid{display:grid;grid-template-columns:minmax(300px,.85fr) minmax(380px,1.15fr);gap:20px}.profile-header{display:flex;align-items:center;gap:15px;margin-bottom:24px}.profile-header h2{margin:0;font-size:21px}.profile-header>div>span{display:block;margin-bottom:6px;color:var(--muted)}.detail-list{display:grid;margin:0 0 20px}.detail-list div{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid var(--line)}.detail-list dt{color:var(--muted)}.detail-list dd{margin:0;text-align:right;font-weight:750}.privacy-note{padding:13px;background:var(--canvas);border-radius:11px;color:var(--muted);font-size:11px}.children-list{display:grid;gap:9px}.children-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:14px;background:var(--canvas);border:1px solid var(--line);border-radius:14px}.child-avatar{display:grid;width:45px;height:45px;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--mint),var(--lilac));color:#fff;font-weight:900}.children-list div>span,.children-list small,.children-list strong{display:block}.children-list div>span,.children-list small{color:var(--muted);font-size:11px}.safety-callout{display:flex;gap:11px;margin-top:18px;padding:14px;background:var(--learn-surface);border-radius:13px;color:#5e477e}.safety-callout>span{color:var(--lilac)}.safety-callout p{margin:0;font-size:11px}.safety-callout strong{display:block}.profile-edit-form{display:grid;gap:20px}.profile-photo-editor{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:8px 14px}.profile-photo-editor .avatar{grid-row:1/3}.profile-photo-editor label{width:max-content}.profile-photo-editor input[type=file]{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.profile-photo-editor small{color:var(--muted)}.profile-edit-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px}.profile-edit-fields label{display:grid;gap:6px;color:var(--ink);font-size:12px;font-weight:800}.profile-edit-fields input{width:100%;min-height:47px;padding:10px 12px;border:1px solid #b9cbc7;border-radius:11px;color:var(--ink);background:#fff}.profile-edit-actions{display:flex;justify-content:flex-end;gap:9px}.profile-edit-form .notice{margin:0}.child-profile-editor{display:grid;gap:18px;margin-bottom:20px;padding:18px;border:1px solid var(--line);border-radius:16px;background:var(--canvas)}.inline-profile-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.inline-profile-heading span,.inline-profile-heading strong{display:block}.inline-profile-heading span{margin-top:3px;color:var(--muted);font-size:11px}.locked-child-fields{display:grid;grid-template-columns:1fr 1fr;gap:10px}.locked-child-fields span{padding:11px 12px;border:1px solid var(--line);border-radius:11px;background:#fff}.locked-child-fields small,.locked-child-fields strong{display:block}.locked-child-fields small{color:var(--muted);font-size:10px}.child-profile-editor .notice{margin:0}.intake-summary-panel{grid-column:1/-1}.intake-summary-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;color:var(--muted);font-size:12px}.intake-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.intake-summary-grid article{padding:17px;background:var(--canvas);border:1px solid var(--line);border-radius:14px}.intake-summary-grid article>span{display:block;color:var(--petrol);font-size:12px;font-weight:800}.intake-summary-grid p{margin:8px 0 0;white-space:pre-wrap}.intake-summary-panel .privacy-note{margin:16px 0 0}@media(max-width:1100px){.summary-grid{grid-template-columns:1fr 1fr}.summary-card:last-child{grid-column:1/-1}.session-card{grid-template-columns:55px 4px minmax(180px,1fr) auto auto}.session-card__capacity{display:none}.intake-summary-grid,.membership-grid,.profile-grid{grid-template-columns:1fr}}@media(max-width:820px){.auth-page{grid-template-columns:1fr}.auth-story{display:none}.auth-panel{align-content:start;min-height:100vh;padding:30px 22px}.auth-panel__mobile-brand{display:block;width:min(100%,480px);margin-bottom:52px}.auth-panel__mobile-brand .portal-brand small{color:var(--muted)}.auth-card{margin:auto 0}.auth-legal{margin-top:45px}.portal-shell{display:block}.portal-sidebar{display:none}.portal-topbar{height:54px;padding:0 18px}.portal-topbar>div:first-child{font-size:0}.portal-topbar>div:first-child .status-dot{margin:0}.portal-page{padding:27px 18px 92px}.mobile-nav{position:fixed;z-index:30;left:0;right:0;bottom:0;display:grid;grid-template-columns:repeat(6,1fr);height:67px;padding:6px 5px max(5px,env(safe-area-inset-bottom));background:var(--ink);box-shadow:0 -8px 30px rgba(12,43,56,.2)}.mobile-nav a{display:grid;place-items:center;align-content:center;gap:1px;color:#9eb9bd}.mobile-nav a.active{color:#fff}.mobile-nav a>span{font-size:18px}.mobile-nav small{font-size:8px}.welcome-hero{grid-template-columns:1fr;min-height:310px;padding:30px}.hero-orbit{display:none}.summary-grid{grid-template-columns:1fr}.summary-card:last-child{grid-column:auto}.portal-grid,.schedule-day{grid-template-columns:1fr}.schedule-day{gap:5px}.schedule-day>header{padding:12px 3px 3px}.session-card{grid-template-columns:50px 4px minmax(0,1fr) auto;padding:14px}.session-card>.status-badge{display:none}.session-card>.button{grid-column:3/-1;margin-top:2px}.info-columns{grid-template-columns:1fr}.invoice-row{grid-template-columns:repeat(2,1fr);gap:9px;padding:16px 18px}.invoice-row--head{display:none}.invoice-row>span:before{content:attr(data-label);display:block;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase;letter-spacing:.07em}.invoice-row>span:last-child{grid-column:1/-1}.invoice-row>span:last-child .button{width:100%}.page-heading{align-items:flex-start;flex-direction:column}.page-heading>.button{width:100%}}@media(max-width:520px){.field-row{grid-template-columns:1fr}.auth-form__between{align-items:flex-start;flex-direction:column}.auth-panel__mobile-brand{margin-bottom:34px}.welcome-hero{min-height:330px;border-radius:20px}.welcome-hero__actions{align-items:flex-start;flex-direction:column}.summary-card{padding:15px}.appointment-list article{grid-template-columns:auto minmax(0,1fr)}.appointment-list article>.status-badge{grid-column:2}.session-card{grid-template-columns:42px 4px minmax(0,1fr)}.session-card__time{font-size:15px}.session-card>.button{grid-column:3}.modal{padding:25px 20px}.modal__actions{display:grid;grid-template-columns:1fr 1fr}.membership-grid>article{padding:21px}.membership-grid article>header,.membership-grid footer{align-items:flex-start;flex-direction:column}.invoice-summary{padding:21px}.invoice-summary strong{font-size:29px}.invoice-summary__icon{width:48px;height:48px}.invoice-row{grid-template-columns:1fr}.invoice-row>span:last-child{grid-column:auto}.children-list article{grid-template-columns:auto 1fr}.children-list article>.status-badge{grid-column:2}.portal-topbar__actions>a{display:none}}@media(prefers-reduced-motion:reduce){*,:after,:before{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition:none!important}}@media(max-width:520px){.profile-edit-fields{grid-template-columns:1fr}.profile-edit-actions{display:grid;grid-template-columns:1fr 1fr}.profile-photo-editor{grid-template-columns:auto 1fr}.profile-photo-editor label{width:100%}.locked-child-fields{grid-template-columns:1fr}.inline-profile-heading{flex-direction:column}.children-list article .button{grid-column:2;width:100%}}.portal-main{display:flex;min-height:100vh;flex-direction:column}.portal-main>.portal-page{flex:1 1}.portal-footer{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:auto;padding:18px clamp(22px,4vw,54px);border-top:1px solid var(--line);background:#fff;color:var(--muted);font-size:11px}.portal-footer nav{display:flex;align-items:center;gap:18px}.auth-legal a,.portal-footer a{color:var(--petrol);font-weight:800;text-decoration:underline;text-underline-offset:2px}@media(max-width:820px){.portal-footer{padding:18px 18px calc(82px + env(safe-area-inset-bottom))}.portal-footer,.portal-footer nav{align-items:flex-start;flex-direction:column}.portal-footer nav{gap:8px}}.portal-sidebar__account .portal-signout{display:grid;justify-items:center;gap:1px;min-width:58px;padding:7px 6px;border:1px solid rgba(255,255,255,.18);border-radius:10px;background:transparent;color:#d7e6e8;font-size:10px;font-weight:800}.portal-sidebar__account .portal-signout span:first-child{font-size:15px;line-height:1}.portal-sidebar__account .portal-signout:focus-visible,.portal-sidebar__account .portal-signout:hover{background:rgba(255,255,255,.09);color:#fff}.portal-sidebar__account .portal-signout:disabled{cursor:wait;opacity:.65}.portal-topbar__signout{display:none;min-height:34px;padding:7px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--petrol);font:800 11px/1 inherit}.portal-topbar__signout:disabled{cursor:wait;opacity:.65}@media(max-width:820px){.portal-topbar__actions{gap:9px}.portal-topbar__signout{display:inline-flex;align-items:center;justify-content:center}}.portal-gate{display:grid;min-height:100vh;place-items:center;align-content:center;gap:18px;background:linear-gradient(145deg,var(--ink),var(--petrol));color:#fff;font-weight:750}.portal-gate .portal-brand__mark:after{border-color:var(--ink)}.spinner--light{border-color:#fff rgba(255,255,255,.25) rgba(255,255,255,.25)}.callback-loading{display:grid;min-height:140px;place-items:center;align-content:center;gap:13px;color:var(--muted)}.notice__action{margin-left:1rem;border:0;background:transparent;color:inherit;font:inherit;font-weight:750;text-decoration:underline;cursor:pointer}.training-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.training-card{display:grid;gap:15px;padding:24px;border:1px solid var(--line);border-top:5px solid var(--teal);border-radius:20px;background:#fff;box-shadow:var(--shadow-soft)}.training-card header{display:flex;align-items:flex-start;justify-content:space-between;gap:15px}.training-card h2{margin:0}.training-card p{margin:0;color:var(--muted)}.training-card dl{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0}.training-card dl div{padding:12px;border-radius:12px;background:var(--canvas)}.training-card dt{color:var(--muted);font-size:10px;text-transform:uppercase}.training-card dd{margin:2px 0 0;font-weight:800}.training-card .full{width:100%}.training-tabs{margin-bottom:22px}.training-back{margin-bottom:16px;border:0;background:transparent;color:var(--petrol);font-weight:800;cursor:pointer}.workout-view{display:grid;gap:18px}.workout-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:24px;padding:25px;border-radius:20px;background:linear-gradient(120deg,var(--ink),var(--petrol));color:#fff}.workout-heading h2{margin:0;font-size:32px}.workout-heading p{margin:7px 0 0;color:#d2e3e5}.workout-exercise-list{display:grid;gap:14px}.workout-exercise{display:grid;grid-template-columns:180px minmax(0,1fr) auto;align-items:center;gap:20px;padding:16px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft)}.workout-exercise.completed{border-color:#9bdec5;background:#f6fcf9}.training-media-placeholder,.workout-exercise__media,.workout-exercise__media img,.workout-exercise__media video{width:180px;height:130px;border-radius:13px}.workout-exercise__media img,.workout-exercise__media video{object-fit:contain;background:var(--canvas)}.training-media-placeholder{display:grid;place-items:center;align-content:center;gap:5px;border:1px dashed #b8ceca;background:var(--canvas);color:var(--muted);text-align:center}.training-media-placeholder span{color:var(--petrol);font-size:28px}.training-media-placeholder small{font-size:10px}.exercise-number{color:var(--orange);font-size:10px;font-weight:900;text-transform:uppercase;letter-spacing:.08em}.workout-exercise h3{margin:2px 0;font-size:21px}.workout-exercise__content>strong{font-size:12px}.workout-exercise__content>p{margin:8px 0 0;color:var(--muted);white-space:pre-wrap}.workout-extra-video{max-width:390px;width:100%;margin-top:12px;border-radius:10px}.exercise-check{display:grid;justify-items:center;gap:5px;min-width:86px;color:var(--petrol);font-size:11px;font-weight:800;cursor:pointer}.exercise-check input{width:31px;height:31px;accent-color:var(--petrol)}.workout-finish{position:sticky;bottom:15px;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:15px 18px;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.96);box-shadow:var(--shadow);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.workout-finish span{color:var(--muted);font-size:12px}.training-result-list{display:grid}.training-result-list article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;padding:15px 4px;border-bottom:1px solid var(--line)}.training-result-list article:last-child{border-bottom:0}.result-check{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:#e7f6ee;color:#267a55;font-weight:900}.training-result-list small,.training-result-list strong{display:block}.training-result-list small{color:var(--muted)}.training-result-list b{color:var(--petrol)}@media(max-width:900px){.training-card-grid{grid-template-columns:1fr}.workout-exercise{grid-template-columns:120px minmax(0,1fr)}.training-media-placeholder,.workout-exercise__media,.workout-exercise__media img,.workout-exercise__media video{width:120px;height:105px}.exercise-check{grid-column:2;display:flex;justify-items:legacy;align-items:center;justify-content:flex-end}}@media(max-width:560px){.workout-heading{align-items:stretch;flex-direction:column}.workout-exercise{grid-template-columns:1fr}.training-media-placeholder,.workout-exercise__media,.workout-exercise__media img,.workout-exercise__media video{width:100%;height:190px}.exercise-check{grid-column:auto;justify-content:flex-start}.workout-finish{bottom:75px;align-items:stretch;flex-direction:column}.workout-finish .button{width:100%}}.actual-result-fields{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.actual-result-fields label{display:grid;gap:4px;color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.actual-result-fields input{width:150px;min-height:40px;padding:8px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);font:inherit}.results-dashboard{display:grid;gap:20px}.period-picker{display:flex;align-items:center;justify-content:flex-end;gap:6px}.period-picker>span{margin-right:5px;color:var(--muted);font-size:12px;font-weight:800}.period-picker button{min-height:38px;padding:0 13px;border:1px solid var(--line);border-radius:999px;background:#fff;color:var(--ink);font-weight:800;cursor:pointer}.period-picker button.active{border-color:var(--petrol);background:var(--petrol);color:#fff}.weekly-result-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.weekly-result-cards article{display:grid;gap:4px;padding:19px;border:1px solid var(--line);border-left:5px solid var(--teal);border-radius:16px;background:#fff;box-shadow:var(--shadow-soft)}.weekly-result-cards article:nth-child(2){border-left-color:var(--orange)}.weekly-result-cards article:nth-child(3){border-left-color:#8d66c2}.weekly-result-cards article:nth-child(4){border-left-color:var(--ink)}.weekly-result-cards small,.weekly-result-cards span{color:var(--muted)}.weekly-result-cards span{font-size:11px;font-weight:800;text-transform:uppercase}.weekly-result-cards strong{font-size:26px}.weekly-result-cards small{font-size:10px}.result-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.result-chart{padding:18px;border:1px solid var(--line);border-radius:18px;background:#fff}.result-chart header{display:flex;justify-content:space-between}.result-chart header span{color:var(--muted);font-size:11px}.result-chart-bars{display:flex;align-items:end;gap:6px;height:190px;margin-top:12px;overflow-x:auto;border-bottom:1px solid var(--line)}.result-chart-column{display:grid;grid-template-rows:18px minmax(0,1fr) 25px;align-items:end;justify-items:center;min-width:28px;flex:1 1;height:100%}.result-chart-column b{font-size:8px}.result-chart-column small{color:var(--muted);font-size:8px;white-space:nowrap}.result-chart-bar{width:min(22px,70%);min-height:2px;border-radius:6px 6px 0 0;background:var(--teal)}.result-chart-bar.orange{background:var(--orange)}.result-chart-bar.purple{background:#8d66c2}.result-chart-bar.ink{background:var(--ink)}.progress-result-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.progress-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.progress-stats>div{display:grid;gap:2px;padding:13px;border-radius:12px;background:var(--canvas)}.progress-stats small,.progress-stats span{color:var(--muted);font-size:10px}.progress-stats strong{font-size:23px}.record-list{display:grid;margin-top:14px}.leaderboard-list>div,.record-list>div{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid var(--line)}.record-list span{flex:1 1;color:var(--muted)}.points-explanation{color:var(--muted);font-size:11px;line-height:1.6}.leaderboard-controls{display:flex;align-items:center;justify-content:space-between;gap:10px}.leaderboard-toggle{display:flex;align-items:center;gap:7px;font-size:11px;font-weight:800}.leaderboard-toggle input{width:18px;height:18px;accent-color:var(--petrol)}.leaderboard-list>div>b{display:grid;width:28px;height:28px;place-items:center;border-radius:50%;background:var(--canvas)}.leaderboard-list>div>span{display:grid;flex:1 1}.leaderboard-list small{color:var(--muted)}.leaderboard-private{padding:25px;border-radius:14px;background:var(--canvas);text-align:center}.leaderboard-private p,.muted{color:var(--muted)}@media(max-width:900px){.weekly-result-cards{grid-template-columns:repeat(2,1fr)}.progress-result-grid{grid-template-columns:1fr}}@media(max-width:620px){.period-picker{justify-content:flex-start;overflow-x:auto}.progress-stats,.result-chart-grid,.weekly-result-cards{grid-template-columns:1fr}.leaderboard-controls{align-items:flex-start;flex-direction:column}.actual-result-fields input{width:130px}}.session-status-bridge{display:grid;min-height:100vh;place-items:center;padding:1rem;background:#fff;color:#0b2f3a;font:500 14px/1.5 Arial,sans-serif}.portal-world-learning{--petrol:#6844aa;--petrol-dark:#4e327f;--petrol-hover:#7b55b8;--teal:#b49ad9;--mist:#f1ebf7;--line:#e1d7eb;--canvas:#faf8fc}.portal-world-learning .welcome-hero{background:linear-gradient(125deg,#2f2642,#6844aa 68%,#8b68c8)}.portal-world-learning .portal-sidebar nav a.active,.portal-world-learning .portal-sidebar nav a:hover{background:rgba(180,154,217,.18)}.portal-world-learning .portal-sidebar nav a.active{box-shadow:inset 3px 0 0 #b49ad9}.portal-world-switch{display:grid;gap:5px;margin:14px 4px 0}.portal-world-switch button,.portal-world-switch>span{display:block;width:100%;padding:8px 9px;border:1px solid rgba(255,255,255,.15);border-radius:9px;background:transparent;color:#b9ced2;font-size:10px;font-weight:800;text-align:left}.portal-world-switch button.active,.portal-world-switch button:hover{background:rgba(255,255,255,.11);color:#fff}.portal-world-select{min-height:35px;max-width:190px;padding:6px 29px 6px 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--petrol);font-size:11px;font-weight:800}@media(max-width:820px){.portal-world-learning .mobile-nav{grid-template-columns:repeat(6,1fr);overflow:visible}.portal-world-select{max-width:145px}.portal-topbar__actions .portal-world-select{display:block}.mobile-nav button{display:grid;place-items:center;align-content:center;gap:1px;border:0;background:transparent;color:#9eb9bd}.mobile-nav button.active{color:#fff}.mobile-nav button>span{font-size:18px}.mobile-nav button small{font-size:8px}.mobile-more-menu{position:fixed;z-index:29;right:10px;bottom:78px;display:grid;width:min(290px,calc(100vw - 20px));gap:6px;padding:15px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(12,43,56,.25)}.mobile-more-menu>a{display:flex;align-items:center;gap:12px;padding:13px;border-radius:12px;background:var(--canvas);color:var(--ink)}.mobile-more-menu>a>span{display:grid;width:34px;height:34px;place-items:center;border-radius:10px;background:var(--mist);color:var(--petrol)}.mobile-more-menu__close{justify-self:end;width:32px;height:32px;border:0;border-radius:50%;background:var(--mist);color:var(--petrol);font-size:21px}}@media(max-width:520px){.portal-world-select{max-width:125px;font-size:10px}.portal-topbar__signout{padding:7px 9px}}.training-intake-panel{margin-bottom:20px}.learning-stack{display:grid;gap:18px}.learning-lead{color:var(--muted);font-size:16px}.goal-list{display:grid;gap:9px}.goal-list>button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:12px;width:100%;padding:15px;border:1px solid var(--line);border-radius:14px;background:#fff;color:var(--ink);text-align:left}.goal-list>button.completed{background:#f1faf6;border-color:#b9e6ce}.goal-list>button>span{font-size:23px;color:var(--petrol)}.goal-list small,.goal-list strong{display:block}.goal-list small{color:var(--muted)}.goal-list p{margin:9px 0 0;padding:10px;border-radius:9px;background:var(--canvas)}.resource-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.resource-grid>article{display:grid;align-content:start;gap:9px;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft)}.pin-lock,.resource-grid>article>span{display:grid;width:48px;height:48px;place-items:center;border-radius:14px;background:var(--learn-surface);color:var(--lilac);font-size:22px}.resource-grid h2{margin:0;font-size:19px}.resource-grid p{color:var(--muted)}.resource-grid .button{margin-top:auto}.pin-panel{max-width:540px;margin:0 auto;text-align:center}.pin-panel .pin-lock{margin:0 auto 12px}.pin-panel form{display:flex;gap:9px;max-width:390px;margin:18px auto 0}.pin-panel input{min-width:0;flex:1 1;padding:10px;border:1px solid var(--line);border-radius:11px;font-size:22px;letter-spacing:.3em;text-align:center}.coach-messages{display:grid;gap:9px;max-height:520px;overflow:auto;padding:8px}.coach-messages article{max-width:75%;padding:11px 13px;border-radius:14px 14px 14px 3px;background:var(--canvas)}.coach-messages article.mine{justify-self:end;border-radius:14px 14px 3px 14px;background:var(--learn-surface)}.coach-messages p{margin:0;white-space:pre-wrap}.coach-messages time{display:block;margin-top:4px;color:var(--muted);font-size:9px}.coach-compose{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;margin-top:16px}.coach-compose textarea{padding:12px;border:1px solid var(--line);border-radius:12px;resize:vertical}.trajectory-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:24px;align-items:start;padding:18px;border-radius:18px;background:linear-gradient(135deg,var(--learn-surface),#fff)}.trajectory-summary>div>span{color:var(--lilac);font-size:11px;font-weight:850;letter-spacing:1px}.trajectory-summary p{margin:8px 0 0}.trajectory-score{display:grid;min-width:105px;padding:13px;text-align:center;border:1px solid #d9c8ed;border-radius:15px;background:#fff}.trajectory-score strong{font-size:27px;color:var(--petrol)}.trajectory-score small{color:var(--muted)}.trajectory-progress{position:relative;height:12px;margin:17px 0 21px;border-radius:999px;background:#ebe7f0}.trajectory-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--lilac),var(--mint))}.trajectory-progress span{position:absolute;right:0;top:-22px;color:var(--muted);font-size:11px;font-weight:800}.goal-roadmap{display:grid;gap:10px}.goal-roadmap>button{display:grid;grid-template-columns:42px minmax(0,1fr) auto;align-items:start;gap:13px;width:100%;padding:15px;border:1px solid var(--line);border-radius:16px;background:#fff;color:var(--ink);text-align:left;cursor:pointer;transition:.18s ease}.goal-roadmap>button.open,.goal-roadmap>button:hover{border-color:#c8b4e2;box-shadow:0 8px 24px rgba(42,21,64,.08)}.goal-roadmap>button.completed{border-color:#b9e6ce;background:#f5fbf8}.goal-roadmap>button>b{display:grid;width:38px;height:38px;place-items:center;border-radius:50%;background:var(--learn-surface);color:var(--lilac);font-size:16px}.goal-roadmap>button.completed>b{background:#d9f2e6;color:#187653}.goal-roadmap small,.goal-roadmap strong{display:block}.goal-roadmap small{margin-top:3px;color:var(--muted)}.goal-roadmap em{font-size:24px;font-style:normal;color:var(--lilac)}.goal-roadmap section{margin-top:13px;padding:13px;border-radius:12px;background:#fff;border:1px solid var(--line)}.goal-roadmap section p{display:grid;gap:4px;margin:10px 0 0;color:var(--muted)}.goal-roadmap section p b{color:var(--ink)}@media(max-width:800px){.resource-grid{grid-template-columns:1fr}.goal-list>button{grid-template-columns:auto minmax(0,1fr)}.goal-list .status-badge{grid-column:2}.coach-compose{grid-template-columns:1fr}.pin-panel form{display:grid}.trajectory-summary{grid-template-columns:1fr}.trajectory-score{justify-self:start}.goal-roadmap>button{grid-template-columns:38px minmax(0,1fr)}.goal-roadmap>button>em{grid-column:2;grid-row:1;justify-self:end}}.measurement-heading{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:15px}.measurement-heading span,.measurement-heading strong{display:block}.measurement-heading small,.measurement-heading span{color:var(--muted)}.measurement-metric-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.measurement-metric-grid article{display:grid;gap:4px;padding:14px;border-radius:13px;background:var(--canvas)}.measurement-metric-grid span{color:var(--muted);font-size:10px;font-weight:800;text-transform:uppercase}.measurement-metric-grid strong{font-size:20px}.measurement-note{margin:14px 0 0;padding:12px;border-left:4px solid var(--teal);background:var(--canvas)}.measurement-history{display:grid;margin-top:14px}.measurement-history>div{display:grid;grid-template-columns:1fr repeat(3,auto);gap:16px;padding:9px 2px;border-top:1px solid var(--line);font-size:12px}.measurement-history time{color:var(--muted)}.diary-layout{display:grid;grid-template-columns:minmax(330px,.8fr) minmax(0,1.2fr);gap:18px}.diary-form{align-self:start;padding:22px;border:1px solid var(--line);border-radius:18px;background:#fff;box-shadow:var(--shadow-soft)}.diary-form .form-grid{margin-bottom:16px}.diary-list{display:grid;align-content:start;gap:10px}.diary-list>article{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:13px;padding:16px;border:1px solid var(--line);border-radius:16px;background:#fff}.diary-list article>div:nth-child(2)>small,.diary-list article>div:nth-child(2)>span,.diary-list article>div:nth-child(2)>strong{display:block}.diary-list article>div:nth-child(2)>small,.diary-list article>div:nth-child(2)>span{color:var(--muted);font-size:10px}.diary-list article p{margin:5px 0;color:var(--muted);white-space:pre-wrap}.diary-type{display:grid;width:39px;height:39px;place-items:center;border-radius:12px;background:var(--mist);color:var(--petrol);font-weight:900}.diary-type.nutrition{background:#fff0e4;color:var(--orange)}@media(max-width:950px){.measurement-metric-grid{grid-template-columns:repeat(3,1fr)}.diary-layout{grid-template-columns:1fr}}@media(max-width:560px){.measurement-metric-grid{grid-template-columns:repeat(2,1fr)}.measurement-history>div{grid-template-columns:1fr 1fr;gap:5px}.diary-list>article{grid-template-columns:auto minmax(0,1fr)}.diary-list>article>button{grid-column:2;justify-self:start}}