/* Shared UX motion, form and role navigation tokens. */
:root{--ux-duration:240ms;--ux-ease:cubic-bezier(.22,1,.36,1);--ux-spring:cubic-bezier(.2,.9,.25,1.12)}
@keyframes ux-reveal{from{opacity:0;transform:translateY(12px) scale(.99)}to{opacity:1;transform:none}}
.auth-hero .hero-copy,.auth-hero .auth-card,.cu-selector,.cu-workspace,.quick-picker-copy,.quick-profile-card{animation:ux-reveal .5s var(--ux-ease) both}
.auth-hero .auth-card{animation-delay:80ms}.auth-hero{gap:clamp(40px,6vw,100px);min-height:calc(100dvh - 128px);padding-block:20px;align-items:center}.auth-hero .hero-copy{position:relative}.auth-hero h1{font-size:clamp(42px,4.1vw,70px);margin:18px 0}.auth-hero .hero-copy>p{font-size:15px;max-width:530px;margin-bottom:18px}
.auth-mascot-scene{position:relative;display:flex;align-items:center;justify-content:center;width:min(360px,100%);height:200px;margin-top:15px;isolation:isolate}.auth-mascot-halo{position:absolute;inset:15px;border-radius:50%;background:radial-gradient(ellipse,var(--brand-soft) 25%,transparent 70%);z-index:-1}.auth-mascot{width:180px;height:180px;display:block;border-radius:40px;overflow:hidden;box-shadow:0 16px 38px #12326e24;transform:rotate(-3deg);transition:transform var(--ux-duration) var(--ux-spring)}.auth-mascot img{width:100%;height:100%;object-fit:cover}.auth-mascot-scene:hover .auth-mascot{transform:rotate(0) translateY(-4px)}.auth-mascot-tag{position:absolute;bottom:3px;right:5px;padding:10px 15px;border:1px solid var(--line);border-radius:13px;background:var(--surface);color:var(--text);box-shadow:var(--shadow);font-size:11px;font-weight:750}
.auth-hero .auth-card{width:100%;max-width:460px;padding:26px 30px}.auth-hero .auth-logo{width:44px;height:44px;margin-bottom:8px}.auth-hero .auth-card h2{font-size:25px;margin-block:6px}.auth-hero .auth-card>.muted{margin-block:6px 16px}.auth-fields{gap:12px}.auth-fields .field{gap:5px}.auth-fields input,.auth-fields select{min-width:0;width:100%;min-height:43px}.auth-field-pair{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);gap:12px}.auth-password{display:flex;position:relative;align-items:center;min-width:0}.auth-password input{padding-right:48px}.auth-password button{position:absolute;right:5px;top:5px;bottom:5px;width:34px;border:0;background:transparent;color:var(--muted);border-radius:8px;display:grid;place-items:center}.auth-password button svg{width:20px;height:20px}.auth-password button:hover{color:var(--brand);background:var(--brand-soft)}
.auth-password button:focus-visible,.quick-profile-main:focus-visible,.cu-student-card:focus-visible{outline:3px solid var(--brand);outline-offset:3px}.auth-fields [aria-invalid="true"]{border-color:var(--red)}[data-password-match]{min-height:15px;color:var(--muted);font-size:11px;margin-top:-5px}[data-password-match][data-state="error"]{color:var(--red)}[data-password-match][data-state="success"]{color:var(--green)}.auth-quick-link{width:100%;justify-content:center;margin-top:12px;font-size:12px}
.quick-enroll-check{display:flex;align-items:center!important;gap:12px;padding:13px!important;transition:border-color var(--ux-duration),background var(--ux-duration)}.quick-enroll-check:has(:checked){border-color:var(--brand);background:var(--brand-soft)}.quick-enroll-check input{appearance:none;position:relative;width:21px!important;min-width:21px;height:21px;min-height:21px;border:1.5px solid var(--muted);border-radius:6px;padding:0!important;transition:background var(--ux-duration)}.quick-enroll-check input:checked{background:var(--brand);border-color:var(--brand)}.quick-enroll-check input:checked::after{content:"";position:absolute;width:9px;height:5px;border-left:2px solid white;border-bottom:2px solid white;transform:rotate(-45deg);left:4px;top:5px}.quick-enroll-check:focus-within{outline:2px solid var(--brand);outline-offset:3px}.auth-fields .quick-enroll-check input:is(:focus,:focus-visible){outline:none;box-shadow:none}.quick-enroll-check[hidden]{display:none!important}
.sidebar-section-label{display:block;padding:16px 12px 6px;font-size:9px;letter-spacing:.14em;font-weight:700;color:var(--muted);opacity:.75;pointer-events:none}.sidebar-collapsed .sidebar-section-label{display:none}.sidebar nav button,.sidebar-footer button{transition:background var(--ux-duration),color var(--ux-duration),transform var(--ux-duration) var(--ux-ease)}.sidebar nav button:active{transform:scale(.97)}.sidebar-footer .sidebar-section-label{display:none}.student-panel #session-nav,.coach-panel #session-nav,.teacher-panel #session-nav{align-items:center}.toolbar-status,.nav-clock{align-items:center!important}.nav-clock{display:flex!important;flex-direction:row!important;gap:12px!important}.nav-clock small{line-height:1.4!important}.nav-clock time{order:2;line-height:1!important}.nav-clock small{order:1}
.sd-stats article:nth-child(1)>span{color:#408cec;background:color-mix(in srgb,#408cec 13%,var(--surface))}.sd-stats article:nth-child(2)>span{color:#9871e8;background:color-mix(in srgb,#9871e8 13%,var(--surface))}.sd-stats article:nth-child(3)>span{color:#e69a35;background:color-mix(in srgb,#e69a35 13%,var(--surface))}.sd-stats article:nth-child(4)>span{color:var(--green);background:var(--green-soft)}.sd-coach .btn{max-width:100%;white-space:normal}
.quick-profile-card:nth-child(2){animation-delay:45ms}.quick-profile-card:nth-child(3){animation-delay:90ms}.quick-profile-card:nth-child(4){animation-delay:135ms}.quick-profile-card:nth-child(5){animation-delay:180ms}.quick-profile-card{transition:transform var(--ux-duration) var(--ux-spring),border-color var(--ux-duration),box-shadow var(--ux-duration)}.quick-profile-card:active{transform:scale(.98)}.quick-profile-card.is-selected{border-color:var(--brand);transform:translateY(-4px) scale(1.02)}.initialization-logo img{height:100%;width:100%;object-fit:cover}.quick-profile-grid{grid-template-columns:repeat(auto-fit,minmax(145px,180px))}
.td-rolling-days button{min-width:0;display:grid;gap:4px;transition:background var(--ux-duration),transform var(--ux-duration)}.td-rolling-days strong{font-size:13px}.td-rolling-days small{font-size:10px}.td-day-marker{font-size:9px}.td-day-tabs [aria-selected="true"]{transform:translateY(-2px)}.td-program-list{animation:ux-reveal var(--ux-duration) var(--ux-ease)}.td-recent-messages{margin-top:12px}.td-recent-messages>button{display:flex;align-items:center;gap:12px;width:100%;padding:12px 0;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;color:var(--text)}.td-recent-messages img{display:block;width:38px;height:38px;aspect-ratio:1;object-fit:cover;flex-shrink:0;border-radius:13px}.td-recent-messages button>span{min-width:0;flex:1;display:grid;gap:4px}.td-recent-messages small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted)}.td-recent-messages time{font-size:10px;color:var(--muted)}
@media(max-width:1400px){.nav-clock{gap:7px!important}.auth-hero{gap:45px}.auth-mascot-scene{height:175px}.auth-mascot{width:155px;height:155px}.auth-hero .trust-row{flex-wrap:wrap}}
@media(max-height:800px) and (min-width:901px){.auth-hero{padding-block:8px}.auth-hero .auth-card{padding:19px 25px}.auth-fields{gap:9px}.auth-hero .auth-card>.muted{margin-bottom:10px}.auth-hero .segmented{margin-bottom:13px}.auth-hero h1{font-size:54px}}
@media(max-width:900px){.nav-clock small{display:none}.auth-mascot-scene{width:240px;height:155px}.auth-mascot{width:135px;height:135px}.auth-hero .auth-card{padding:23px}}
@media(max-width:700px){.auth-hero .hero-copy{display:grid;justify-items:center;text-align:center}.auth-hero .hero-copy>p,.auth-hero .trust-row{display:none}.auth-hero h1{font-size:34px;margin:10px 0}.auth-mascot-scene{height:130px;margin-top:8px}.auth-mascot{width:110px;height:110px}.auth-hero{gap:16px}.auth-hero .auth-card{justify-self:center}.td-rolling-days{overflow-x:auto;grid-template-columns:repeat(7,minmax(70px,1fr))}.auth-mascot-tag{font-size:9px;padding:7px 10px}}
@media(prefers-reduced-motion:reduce){.auth-hero *,.quick-picker *,.cu-selector *,.cu-workspace *,.td-day-tabs *,.td-program-list{animation:none!important;transition:none!important;transform:none!important}}
:root[data-economy="on"] .auth-hero *,:root[data-economy="on"] .quick-picker *,:root[data-economy="on"] .cu-selector *,:root[data-economy="on"] .cu-workspace *{animation:none!important;transition:none!important}

.auth-hero .auth-mascot.akil-logo-stack{width:180px!important;height:180px!important;flex:0 0 180px!important;border-radius:40px!important}
body:has(.auth-hero) #app{padding-bottom:20px;padding-top:20px}
.auth-hero .auth-logo.akil-logo-stack{width:40px!important;height:40px!important;flex-basis:40px!important;margin-bottom:7px}
.auth-register-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.auth-register-fields>*{grid-column:1/-1}.auth-register-fields>.field:has([name="name"]),.auth-register-fields>.field:has([name="email"]),.auth-register-fields>.field:has([name="password"]),.auth-register-fields>.field:has([name="confirmPassword"]){grid-column:auto}.auth-register-fields .field{min-width:0}
@media(max-width:1400px){.auth-hero .auth-mascot.akil-logo-stack{width:155px!important;height:155px!important;flex-basis:155px!important}}
@media(max-width:700px){.auth-hero .auth-mascot.akil-logo-stack{width:110px!important;height:110px!important;flex-basis:110px!important}.auth-register-fields{grid-template-columns:1fr}.auth-register-fields>.field{grid-column:1/-1!important}}

.sd-coach-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding-top:14px;margin-top:14px;border-top:1px solid var(--line)}.sd-coach-actions small{font-size:10px;color:var(--muted);flex:1;min-width:100px}.sd-coach-actions .btn{flex-shrink:0}body:has(.auth-hero) .wall-lights .light{animation:none;will-change:auto}


