:root{--sans:system-ui, "Segoe UI", Roboto, sans-serif;--heading:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;--gutter-inline:clamp(1rem, 3vw + .5rem, 3rem);--gutter-block:clamp(1rem, 2.5vw + .5rem, 2.5rem);--space-xs:clamp(.25rem, .5vw, .5rem);--space-sm:clamp(.5rem, 1vw, .75rem);--space-md:clamp(.75rem, 1.5vw, 1.25rem);--space-lg:clamp(1rem, 2vw, 1.75rem);--space-xl:clamp(1.25rem, 2.5vw, 2.5rem);--container-max:min(100%, 90rem);--content-narrow:min(100%, 42rem);--content-wide:min(100%, 72rem);--text-base:clamp(1rem, .35rem + .65vw, 1.1875rem);--text-lead:clamp(1.0625rem, .4rem + .75vw, 1.25rem);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html[data-theme=light]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--text:#4a4a4a;--text-h:#141414;--bg:#fff;--border:#c2c2c2;--code-bg:#efefef;--accent:#5a9f00;--accent-bg:#5a9f0024;--accent-border:#4a820080;--social-bg:#b8b8b859;--shadow:#00000012 0 10px 15px -3px, #0000000a 0 4px 6px -2px;--danger:#b91c1c;--danger-solid:var(--danger);--danger-solid-hover:#991b1b;--danger-solid-fg:#fff;color:var(--text);background-color:var(--bg)}html[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--text:#9ca3af;--text-h:#f3f4f6;--bg:#16171d;--border:#2e303a;--code-bg:#1f2028;--accent:#c084fc;--accent-bg:#c084fc26;--accent-border:#c084fc80;--social-bg:#2f303a80;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px;--danger:#fca5a5;--danger-solid:var(--danger);--danger-solid-hover:#fecaca;--danger-solid-fg:#1c1917;color:var(--text);background-color:var(--bg)}html{scroll-behavior:smooth;font-size:100%}body{background:var(--bg);font-family:var(--sans);font-size:var(--text-base);letter-spacing:.01em;margin:0;line-height:1.55}#root{flex-direction:column;width:100%;min-height:100dvh;display:flex}.app{width:100%;max-width:var(--container-max);padding-inline:max(var(--gutter-inline), env(safe-area-inset-left,0px)) max(var(--gutter-inline), env(safe-area-inset-right,0px));padding-top:var(--gutter-block);padding-bottom:max(var(--gutter-block), env(safe-area-inset-bottom,0px));gap:var(--space-xl);color:var(--text);box-sizing:border-box;flex-direction:column;margin-inline:auto;display:flex}.app.auth-layout{gap:clamp(2rem,4.5vw,3.5rem)}.app-header{justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;display:flex}.app-header-end{justify-content:flex-end;align-items:center;gap:var(--space-md);flex-wrap:wrap;min-width:0;display:flex}.app-header--shell{z-index:40;align-items:center;gap:var(--space-sm);margin-left:calc(-1 * max(var(--gutter-inline), env(safe-area-inset-left,0px)));margin-right:calc(-1 * max(var(--gutter-inline), env(safe-area-inset-right,0px)));padding-left:max(var(--gutter-inline), env(safe-area-inset-left,0px));padding-right:max(var(--gutter-inline), env(safe-area-inset-right,0px));padding-block:var(--space-sm) var(--space-md);background:var(--bg);border-bottom:1px solid color-mix(in srgb, var(--border) 85%, transparent);box-sizing:border-box;flex-wrap:nowrap;position:sticky;top:0}.app-header--shell .app-header-end{flex-wrap:nowrap}@media (width<=63.99rem){.app-layout--tab-shell .app-header-end{display:none}.app-layout--tab-shell .app-header--shell,.app.auth-layout .app-header--shell{justify-content:center}.app-header--shell .app-header-end{gap:var(--space-xs);flex-shrink:0}.app-header--shell .app-logo-block{text-align:center;align-items:center;min-width:0}.app-header--shell .logo-img{object-position:center center;margin-inline:auto}.app-header--shell .app-logo-tagline{-webkit-line-clamp:2;text-align:center;-webkit-box-orient:vertical;max-width:100%;margin-inline:auto;display:-webkit-box;overflow:hidden}}.app-bottom-tab-bar{display:none}@media (width<=63.99rem){.app-layout--tab-shell{gap:var(--space-lg);padding-bottom:0}.app-layout--tab-shell .app-main{padding-bottom:calc(7.25rem + env(safe-area-inset-bottom,0px))}.app-bottom-tab-bar{z-index:50;padding:.35rem 0 max(.35rem, env(safe-area-inset-bottom,0px));background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(14px);border-top:1px solid color-mix(in srgb, var(--border) 80%, transparent);box-shadow:0 -6px 24px #0000000f, 0 -1px 0 color-mix(in srgb, var(--border) 50%, transparent);box-sizing:border-box;margin:0;display:block;position:fixed;bottom:0;left:0;right:0}html[data-theme=dark] .app-bottom-tab-bar{background:color-mix(in srgb, var(--bg) 92%, transparent);box-shadow:0 -8px 28px #00000059, 0 -1px 0 var(--border)}.app-bottom-tab-bar__inner{max-width:var(--container-max);padding-inline:max(.35rem, env(safe-area-inset-left,0px)) max(.35rem, env(safe-area-inset-right,0px));box-sizing:border-box;justify-content:space-around;align-items:stretch;gap:.15rem;margin-inline:auto;display:flex}.app-bottom-tab{min-width:0;color:var(--text);opacity:.72;-webkit-tap-highlight-color:transparent;touch-action:manipulation;box-sizing:border-box;letter-spacing:.01em;text-align:center;border-radius:12px;flex-direction:column;flex:1;justify-content:flex-start;align-items:center;gap:.2rem;padding:.35rem .2rem .15rem;font-size:clamp(.6875rem,2.8vw,.8125rem);font-weight:500;line-height:1.15;text-decoration:none;display:flex}.app-bottom-tab:hover{opacity:.95;background:var(--accent-bg);color:var(--accent)}.app-bottom-tab:focus-visible{outline:2px solid var(--accent-border);outline-offset:2px}.app-bottom-tab--active{opacity:1;color:var(--accent);background:var(--accent-bg)}.app-bottom-tab__icon{color:currentColor;flex-shrink:0;justify-content:center;align-items:center;width:1.65rem;height:1.65rem;display:flex}.app-bottom-tab__icon svg{width:1.45rem;height:1.45rem}.app-bottom-tab__label{text-overflow:ellipsis;white-space:nowrap;max-width:100%;padding-inline:.1rem;overflow:hidden}.app-bottom-tab--more{cursor:pointer;padding-top:.2rem}.app-bottom-tab--more .app-bottom-tab__label{margin-top:.05rem}.app-bottom-tab__more-btn{width:2.5rem;min-width:2.5rem;height:2.5rem;min-height:2.5rem;color:inherit;opacity:.85;background:0 0;border:none;border-radius:14px}.app-bottom-tab__more-btn:hover{background:var(--accent-bg);color:var(--accent);border:none}.app-bottom-tab__more-btn[aria-expanded=true]{background:var(--accent-bg);color:var(--accent);box-shadow:none}}@media (width>=64rem){.app-bottom-tab-bar{display:none!important}}@media (width<=22.5rem){.app-header--shell .logo-img{max-width:min(100%,14rem);height:clamp(2.35rem,11vw,3.15rem)}}.logo{letter-spacing:-.02em;font-size:clamp(1.125rem,.9rem + .6vw,1.375rem);font-weight:600}.logo.logo--brand{align-items:center;font-size:0;line-height:0;display:inline-flex}.logo-img{object-fit:contain;object-position:left center;width:auto;max-width:min(100%,16rem);height:clamp(2.85rem,7.5vw,4.25rem);display:block}.app-logo-block{align-items:flex-start;gap:var(--space-xs);flex-direction:column;min-width:0;display:flex}.app-logo-tagline{letter-spacing:.02em;max-width:min(100%,20rem);color:var(--text);opacity:.75;margin:0;font-size:clamp(.875rem,.78rem + .6vw,1.0625rem);font-weight:400;line-height:1.45}.nav{flex-wrap:wrap;align-items:center;gap:clamp(.5rem,1.5vw,1rem);display:flex}.nav a{color:var(--text);box-sizing:border-box;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:9999px;align-items:center;min-height:2.75rem;padding:.5rem clamp(.65rem,1.4vw,1rem);font-size:clamp(.9375rem,.85rem + .35vw,1.0625rem);text-decoration:none;display:inline-flex}.nav a.active{background:var(--accent-bg);color:var(--accent)}.user-menu-main-nav{border-bottom:1px solid var(--border);padding:.35rem 0}@media (width<=63.99rem){.user-menu-main-nav{padding-top:2.65rem}}.user-menu-main-nav-list{margin:0;padding:0;list-style:none}.user-menu-main-nav-link{min-height:2.75rem;color:var(--text-h);box-sizing:border-box;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:10px;align-items:center;margin:.125rem .35rem;padding:.5rem .875rem;font-size:clamp(.9375rem,.88rem + .25vw,1.0625rem);font-weight:600;line-height:1.35;text-decoration:none;display:flex}.user-menu-main-nav-link:hover{background:var(--accent-bg);color:var(--accent)}.user-menu-main-nav-link:focus-visible{outline:2px solid var(--accent-border);outline-offset:2px}.user-menu-main-nav-link.is-active{background:var(--accent-bg);color:var(--accent)}@media (width>=64rem){.user-menu-main-nav{display:none}}.app-main{flex-direction:column;flex:1;align-items:stretch;width:100%;min-width:0;display:flex}.card{background:var(--code-bg);border:1px solid var(--border);text-align:left;box-sizing:border-box;border-radius:clamp(12px,2vw,20px);width:100%;margin-inline:auto;padding:clamp(1rem,3vw,2rem)}.card--narrow{max-width:var(--content-narrow)}.auth-card>h1{text-align:center}.auth-card{max-width:min(100%,29rem);padding:clamp(1rem,2.65vw,1.625rem)}.form{gap:var(--space-md);margin-top:var(--space-md);flex-direction:column;display:flex}.form label{gap:var(--space-xs);flex-direction:column;font-size:clamp(.9375rem,.88rem + .25vw,1.0625rem);display:flex}.form-label-head{gap:var(--space-xs);flex-direction:column;line-height:1.45;display:flex}.form-hint--below-label{margin:0;font-weight:200}.form input{padding:var(--space-sm) var(--space-md);border:1px solid var(--border);background:var(--bg);color:var(--text);box-sizing:border-box;border-radius:9999px;min-height:2.75rem;font-size:1em}.search-input{width:100%;max-width:min(100%,28rem);padding:var(--space-sm) var(--space-md);border:1px solid var(--border);background:var(--bg);color:var(--text);box-sizing:border-box;min-height:2.75rem;margin-top:var(--space-sm);border-radius:9999px;font-size:1em}.students-toolbar{width:100%;min-width:0;margin-top:var(--space-sm);flex-wrap:nowrap;align-items:center;gap:clamp(.4rem,1.5vw,.65rem);display:flex}.students-toolbar .search-input--students-list{flex:auto;width:auto;min-width:0;max-width:none;margin-top:0}.students-toolbar-end{flex-wrap:nowrap;flex-shrink:0;align-items:center;gap:.45rem;min-width:0;margin-left:auto;display:flex}.students-toolbar .btn-new-student{box-sizing:border-box;aspect-ratio:1;border-radius:50%;flex:none;justify-content:center;align-items:center;width:2.75rem;min-width:2.75rem;max-width:2.75rem;height:2.75rem;min-height:2.75rem;max-height:2.75rem;padding:0;font-size:1.35rem;font-weight:600;line-height:0;display:inline-flex;overflow:hidden}.students-toolbar .btn-new-student>span{line-height:0;display:block}.table-actions{vertical-align:middle;flex-flow:row;align-items:center;gap:.3rem;display:inline-flex}.table-action-btn{border:1px solid var(--border);background:var(--bg);width:2.35rem;height:2.35rem;color:var(--text-h);cursor:pointer;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.table-action-btn:hover{background:var(--code-bg);border-color:var(--accent-border);color:var(--accent)}.table-action-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.table-action-btn--danger{color:#b91c1c;border-color:#ef444459}.table-action-btn--danger:hover{color:#991b1b;background:#ef444414;border-color:#ef444473}html[data-theme=dark] .table-action-btn--danger{color:#fca5a5;border-color:#f8717159}html[data-theme=dark] .table-action-btn--danger:hover{color:#fecaca;background:#ef44441f}.table-action-icon{width:1.1rem;height:1.1rem;display:block}.app-modal-root{--app-modal-top:3.5rem;z-index:900;box-sizing:border-box;position:fixed;inset:0}.app-modal__scrim{box-sizing:border-box;background:#0000006b;position:absolute;inset:0}html[data-theme=dark] .app-modal__scrim{background:#0000008c}.app-modal__panelWrap{box-sizing:border-box;pointer-events:auto;flex-direction:column;align-items:stretch;display:flex;position:absolute}.app-modal__panel{box-sizing:border-box;background:var(--code-bg);border:1px solid var(--border);min-height:0;max-height:100%;box-shadow:var(--shadow);flex-direction:column;display:flex;overflow:hidden}.app-modal__toolbar{min-height:2.75rem;padding:var(--space-xs) var(--space-sm);border-bottom:1px solid color-mix(in srgb, var(--border) 80%, transparent);flex-shrink:0;align-items:center;display:flex}.app-modal__close{color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin:0;padding:.35rem;line-height:0;display:inline-flex}.app-modal__close:hover{background:var(--bg)}.app-modal__close:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.app-modal__close-icon{opacity:.78;width:1.35rem;height:1.35rem;display:block}.app-modal__body{-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}.app-modal__body.student-modal{width:100%;max-width:none;max-height:none;box-shadow:none;padding:var(--space-lg);box-sizing:border-box;background:0 0;border:none;border-radius:0;margin-block:0;overflow:visible auto}@media (width<=63.99rem){.app-modal__panelWrap{top:var(--app-modal-top);left:0;right:0;bottom:calc(7.25rem + env(safe-area-inset-bottom,0px))}.app-modal__panel{border-left:none;border-right:none;border-radius:0;width:100%;max-width:none}}@media (width>=64rem){.app-modal-root{padding:var(--gutter-inline);padding-block:var(--space-md);justify-content:center;align-items:center;display:flex}.app-modal__panelWrap{width:100%;max-width:min(100%,26rem);max-height:min(92dvh,100%);position:relative;inset:auto}.app-modal__panelWrap.app-modal__panelWrap--wide{max-width:min(100%,34rem)}}.student-modal-overlay{z-index:900;padding:var(--gutter-inline);padding-block:var(--space-md);box-sizing:border-box;background:#0000006b;justify-content:center;align-items:center;display:flex;position:fixed;inset:0;overflow-y:auto}.student-modal{background:var(--code-bg);border:1px solid var(--border);width:100%;max-width:min(100%,26rem);max-height:min(92dvh,100%);padding:var(--space-lg);box-shadow:var(--shadow);box-sizing:border-box;border-radius:clamp(12px,2vw,20px);margin-block:auto;overflow:auto}.student-modal--details{max-width:min(100%,34rem)}.student-details-modal-back-row{width:100%;margin:0 0 var(--space-md);padding:0;display:flex}.student-details-modal-back{color:var(--text);cursor:pointer;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin:0;margin-inline:-.35rem 0;padding:.35rem;line-height:0;display:inline-flex}.student-details-modal-back:hover{background:var(--bg)}.student-details-modal-back:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.student-details-modal-back-icon{opacity:.78;width:1.35rem;height:1.35rem;display:block}.student-details-modal-contact{gap:var(--space-md);margin:0 0 var(--space-lg);flex-direction:column;display:flex}.student-details-modal-contact .student-card__value{white-space:normal;word-break:break-word}.student-details-modal-contact-line{margin:0}.student-details-modal-sep-after-meta{margin:var(--space-md) 0;border:none;border-top:1px solid color-mix(in srgb, var(--border) 80%, transparent)}.student-modal h2{margin-top:0}.student-link-modal-lead{margin:0 0 var(--space-md);line-height:1.45}.student-modal .student-link-email-input{max-width:none;margin-top:0}.student-lookup-preview{margin-top:var(--space-md);padding:var(--space-md);border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 88%, var(--text));border-radius:clamp(10px,1.5vw,14px)}.student-lookup-preview .account-details{margin-top:0}.student-modal-actions{gap:var(--space-sm);margin-top:var(--space-md);flex-wrap:wrap;display:flex}.student-modal-actions .btn{flex:auto;min-width:min(100%,7rem)}.form-hint{color:var(--text);opacity:.85;margin:0;font-size:.85em}.form-required-label{color:#b91c1c;margin:.25rem 0 0;font-size:.8em;font-weight:500;line-height:1.3}html[data-theme=dark] .form-required-label{color:#fca5a5}.status-confirm-dialog-text{margin:0 0 var(--space-md);opacity:.92;font-size:1em;line-height:1.45}.inactivation-reason-fieldset{margin:0 0 var(--space-md);border:none;min-width:0;padding:0}.inactivation-reason-legend{margin:0 0 var(--space-sm);color:var(--text-h);padding:0;font-size:.9em;font-weight:600}.inactivation-reason-options{gap:var(--space-sm);flex-direction:column;align-items:flex-start;display:flex}.inactivation-reason-option{cursor:pointer;color:var(--text);align-items:flex-start;gap:.5rem;font-size:.95em;display:flex}.inactivation-reason-option input{flex-shrink:0;margin-top:.2rem}.inactivation-reason-detail-label{gap:var(--space-xs);margin-top:var(--space-md);color:var(--text-h);flex-direction:column;font-size:.9em;font-weight:600;display:flex}.inactivation-reason-textarea{width:100%;min-height:3.25rem;padding:var(--space-sm) var(--space-md);border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;resize:vertical;box-sizing:border-box;border-radius:10px;font-weight:400}.inactivation-reason-textarea:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.inactivation-reason-error{margin:0 0 var(--space-sm)}.form-error{color:#b91c1c;margin:0;font-size:.9em}.btn{padding:var(--space-sm) var(--space-lg);cursor:pointer;border:none;border-radius:9999px;min-height:2.75rem;font-size:1em;font-weight:500}.btn.primary{background:var(--accent);color:#fff}.btn.secondary{background:var(--bg);color:var(--text-h);border:1px solid var(--border)}.btn.danger-outline{color:#b91c1c;background:0 0;border:1px solid #ef444473}.btn:disabled{opacity:.5;cursor:not-allowed}a.btn{box-sizing:border-box;justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.pagination{margin-top:var(--space-lg);justify-content:space-between;align-items:center;gap:var(--space-md);flex-wrap:wrap;font-size:1em;display:flex}.students-page{gap:var(--space-lg);flex-direction:column;width:100%;max-width:100%;display:flex}.students-page-title{margin:0}.student-detail-page-header{align-items:center;display:flex}.student-detail-page-back-link{color:inherit;font:inherit;padding:0;text-decoration:none}.student-detail-page{width:100%;max-width:100%;box-shadow:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.student-detail-page-title{margin-top:var(--space-md)}.students-toolbar-card .students-toolbar{margin-top:0}.students-list{gap:var(--space-md);flex-direction:column;width:100%;margin:0;padding:0;list-style:none;display:flex}.student-card{flex-direction:column;margin:0;display:flex;overflow:hidden}.student-card-swap{border-radius:clamp(12px,2vw,20px);flex:auto;width:100%;min-height:0;position:relative;overflow:hidden}.student-card-swap__rail{z-index:0;justify-content:stretch;align-items:stretch;width:108px;max-width:32%;display:flex;position:absolute;inset:0 0 0 auto}.student-card-swap__action{padding:var(--space-sm) .35rem;letter-spacing:.03em;text-align:center;cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border:none;border-radius:0;flex:1;margin:0;padding-left:20px;font-size:.78rem;font-weight:700;line-height:1.2}.student-card-swap__action:disabled{opacity:.45;cursor:not-allowed}.student-card-swap__action--danger{background:var(--danger-solid);color:var(--danger-solid-fg)}.student-card-swap__action--danger:hover:not(:disabled){background:var(--danger-solid-hover)}.student-card-swap__action--primary{background:var(--accent);color:#fff}.student-card-swap__action--primary:hover:not(:disabled){filter:brightness(1.06)}.student-card-swap__pane{z-index:1;touch-action:pan-y;will-change:transform;flex-direction:column;flex:auto;align-items:stretch;min-height:0;margin:0;display:flex;position:relative}.student-card-swap__pane:not(.student-card-swap__pane--dragging){transition:transform .22s cubic-bezier(.25,.8,.25,1)}@media (prefers-reduced-motion:reduce){.student-card-swap__pane:not(.student-card-swap__pane--dragging){transition:none}}.student-card__summary{align-items:center;gap:var(--space-sm);min-width:0;min-height:2.75rem;display:flex}.student-card__summary-line{min-width:0;color:var(--text-h);flex-wrap:nowrap;flex:auto;align-items:baseline;gap:.4rem;margin:0;font-size:clamp(.9375rem,.88rem + .25vw,1.0625rem);font-weight:600;line-height:1.35;display:flex}.student-card__summary-sep{color:var(--text);opacity:.45;flex-shrink:0;font-weight:400}.student-card__inline-name,.student-card__inline-phone{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.student-card__inline-name{flex:42%}.student-card__inline-phone{color:var(--text-h);flex:38%;font-weight:600}.student-card__expand{flex-shrink:0}.student-card .student-row-expand-btn:hover{background:var(--bg)}.card.student-card--inactive{border-color:color-mix(in srgb, var(--danger) 42%, var(--border));background:color-mix(in srgb, var(--danger) 8%, var(--code-bg))}.student-card--inactive .student-card__summary-line,.student-card--inactive .student-card__inline-phone{color:var(--danger)}.student-card--inactive .student-card__summary-sep{color:var(--danger);opacity:.55}.student-card--inactive .student-row-expand-btn{color:var(--danger)}.student-card--inactive .student-row-expand-btn:hover{background:color-mix(in srgb, var(--danger) 16%, transparent);color:var(--danger)}.student-card--inactive .student-row-expand-btn:focus-visible{outline-color:var(--danger)}.student-card__meta{gap:var(--space-md);margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid color-mix(in srgb, var(--border) 80%, transparent);grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;display:grid}.student-card__field{flex-direction:column;align-items:flex-start;gap:.35rem;min-width:0;display:flex}.student-card__value{color:var(--text-h);white-space:nowrap;font-weight:600;line-height:1.35}.student-card__panel{margin-top:var(--space-md);padding-top:var(--space-md);border-top:1px solid color-mix(in srgb, var(--border) 80%, transparent)}.student-card__panel .student-accordion-panel{max-width:100%;padding:0}.student-accordion-panel>.student-card__meta{margin-bottom:var(--space-md)}.student-row-expand-btn{color:var(--text-h);cursor:pointer;vertical-align:middle;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin:0;padding:.2rem;display:inline-flex}.student-row-expand-btn:hover{background:var(--code-bg);color:var(--accent)}.student-row-expand-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.student-row-expand-icon{width:1.25rem;height:1.25rem;display:block}.student-accordion-panel{max-width:100%}.student-inactivation-banner{margin:0 0 var(--space-md);padding:var(--space-md);background:#b91c1c0f;border:1px solid #b91c1c59;border-left:4px solid #b91c1c;border-radius:10px}html[data-theme=dark] .student-inactivation-banner{background:#f8717114;border-color:#f8717159 #f8717159 #f8717159 #fca5a5}.student-inactivation-banner-title{margin:0 0 var(--space-xs);color:var(--text-h);font-size:.95em;font-weight:700}.student-inactivation-banner-reason,.student-inactivation-banner-detail{color:var(--text);margin:.35rem 0 0;font-size:.92em;line-height:1.45}.student-inactivation-banner-missing{margin:var(--space-sm) 0 0}.student-workouts-section{margin:0}.student-workouts-heading{margin:0 0 var(--space-sm);font-family:var(--heading);color:var(--text-h);font-size:1.05em;font-weight:600}.student-workouts-list{gap:var(--space-md);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.student-workout-card{padding:var(--space-md);border:1px solid var(--border);background:var(--bg);border-radius:12px}.student-workout-card-head{justify-content:space-between;align-items:center;gap:var(--space-sm);flex-wrap:wrap;display:flex}.student-workout-title{color:var(--text-h);font-weight:600}.student-workout-badge{text-transform:uppercase;letter-spacing:.04em;background:var(--accent-bg);color:var(--accent);border:1px solid var(--accent-border);border-radius:9999px;padding:.2rem .5rem;font-size:.72rem;font-weight:700}.student-workout-desc{margin:var(--space-sm) 0 0;color:var(--text);font-size:.9em;line-height:1.45}.student-workout-exercises{margin:var(--space-sm) 0 0;color:var(--text);padding-left:1.25rem;font-size:.9em;line-height:1.5}.student-workout-ex-meta,.student-workout-ex-desc{color:var(--text);opacity:.88;font-weight:400}.student-workout-ex-desc{margin-top:.15rem;font-size:.92em;display:block}.student-cell-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text);opacity:.78;font-size:.6875rem;font-weight:600;line-height:1.2}.empty-hint{margin-top:var(--space-md);font-size:1em}h1,h2{font-family:var(--heading);color:var(--text-h);font-weight:600;line-height:1.2}h1{letter-spacing:-.03em;margin:0 0 var(--space-md);font-size:clamp(1.5rem,1.1rem + 1.4vw,2.25rem)}h2{letter-spacing:-.02em;margin:0 0 var(--space-sm);font-size:clamp(1.125rem,.95rem + .65vw,1.5rem)}p{margin:0}code,.counter{font-family:var(--mono);color:var(--text-h);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:.25em .5em;font-size:.9em;line-height:135%}.user-sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.hamburger-btn{border:1px solid var(--border);background:var(--bg);width:clamp(2.75rem,8vw,3rem);min-width:2.75rem;height:clamp(2.75rem,8vw,3rem);min-height:2.75rem;color:var(--text-h);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;border-radius:12px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,box-shadow .15s;display:inline-flex}.hamburger-btn:hover{background:var(--code-bg);border-color:var(--accent-border)}.hamburger-btn[aria-expanded=true],.hamburger-btn[aria-current=page],.hamburger-btn.hamburger-btn--active{background:var(--code-bg);border-color:var(--accent-border);box-shadow:0 0 0 2px var(--accent-bg)}.hamburger-icon{width:1.35em;height:1.35em}.account-sub-page{gap:var(--space-lg);flex-direction:column;width:100%;max-width:100%;display:flex}.account-page-body{gap:var(--space-md);text-align:left;box-sizing:border-box;flex-direction:column;width:100%;max-width:100%;display:flex}.account-page-title{margin:0 0 var(--space-xl) 0;color:var(--text-h);font-size:clamp(1.2rem,1.05rem + .55vw,1.45rem);font-weight:700;line-height:1.25}.account-page-body .account-details,.account-page-body .account-edit-form{margin-top:0}.user-app-menu-page{gap:var(--space-lg);flex-direction:column;width:100%;max-width:100%;display:flex}.user-app-menu-page .user-app-menu-panel{z-index:auto;transform-origin:initial;pointer-events:auto;width:100%;max-width:100%;max-height:none;box-shadow:none;background:0 0;border:none;border-radius:0;margin-inline:0;padding:0;animation:none;position:static;inset:auto;overflow:visible;transform:none}html[data-theme=dark] .user-app-menu-page .user-app-menu-panel{box-shadow:none}@media (width<=63.99rem){.user-app-menu-page .user-app-menu-panel{width:100%!important;max-width:100%!important;max-height:none!important;animation:none!important;inset:auto!important;overflow-y:visible!important;transform:none!important}.user-app-menu-page .user-menu-main-nav{padding-top:.35rem}}.user-menu-modal{z-index:1000;pointer-events:none;box-sizing:border-box;position:fixed;inset:0}.user-menu-backdrop{cursor:pointer;pointer-events:auto;background:#0000002e;border:none;width:100%;height:100%;margin:0;padding:0;position:absolute;inset:0}html[data-theme=dark] .user-menu-backdrop{background:#00000073}.user-menu-panel{z-index:1;width:min(18rem, calc(100vw - var(--gutter-inline,1rem) * 2));pointer-events:auto;background:var(--code-bg);border:1px solid var(--border);box-sizing:border-box;transform-origin:100% 0;border-radius:10px;max-width:min(100%,18rem);padding:0;animation:.14s ease-out user-menu-dropdown-in;position:fixed;overflow:hidden;box-shadow:0 4px 6px -1px #00000014,0 10px 24px -4px #0000001f,0 0 0 1px #0000000a}.user-menu-panel-close{top:max(.35rem, env(safe-area-inset-top,0px));left:max(.35rem, env(safe-area-inset-left,0px));z-index:2;width:2.25rem;height:2.25rem;color:var(--text-h);cursor:pointer;-webkit-tap-highlight-color:transparent;touch-action:manipulation;background:0 0;border:none;border-radius:10px;justify-content:center;align-items:center;margin:0;padding:0;transition:background .15s,color .15s;display:inline-flex;position:absolute}.user-menu-panel-close:hover{background:var(--bg);color:var(--text-h)}.user-menu-panel-close:focus-visible{outline:2px solid var(--accent-border);outline-offset:2px}.user-menu-close-icon{width:1.125rem;height:1.125rem;display:block}@media (prefers-reduced-motion:reduce){.user-menu-panel{animation:none}}@media (width<=63.99rem){.user-menu-panel{--user-menu-vpad-top:max(2.25rem, calc(env(safe-area-inset-top,0px) + 1.35rem));--user-menu-vpad-bottom:max(1.25rem, env(safe-area-inset-bottom,0px));transform-origin:50%;animation:.14s ease-out user-menu-dropdown-in-center;transform:translate(-50%,-50%);width:min(90vw,100vw - 1rem)!important;max-width:min(90vw,100vw - 1rem)!important;max-height:min(88dvh, calc(100dvh - var(--user-menu-vpad-top) - var(--user-menu-vpad-bottom)))!important;inset:50% auto auto 50%!important;overflow-y:auto!important}}@media (width<=63.99rem) and (prefers-reduced-motion:reduce){.user-menu-panel{animation:none}}@media (width>=64rem){.user-menu-panel--above{transform-origin:100% 100%;animation-name:user-menu-dropdown-in-up}}@keyframes user-menu-dropdown-in-center{0%{opacity:0;transform:translate(-50%,-50%)translateY(-10px)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@keyframes user-menu-dropdown-in-up{0%{opacity:0;transform:translateY(6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes user-menu-dropdown-in{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.user-menu-dropdown-head{border-bottom:1px solid var(--border);min-width:0;padding:.85rem 1rem}.user-menu-dropdown-profile{text-align:center;flex-direction:column;align-items:center;width:100%;min-width:0;display:flex}.user-menu-dropdown-profile .user-menu-avatar--menu{margin:0 auto}.user-menu-avatar{background:var(--accent-bg);width:clamp(3.5rem,8vw,4.5rem);height:clamp(3.5rem,8vw,4.5rem);color:var(--accent);border-radius:9999px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-menu-avatar--menu{width:clamp(2.85rem,7vw,3.65rem);height:clamp(2.85rem,7vw,3.65rem)}.user-menu-person-icon{width:58%;height:58%}.user-menu-name{margin:var(--space-sm) 0 0;color:var(--text-h);font-size:1.05em;font-weight:600}.user-menu-name--menu{margin:0;font-size:clamp(1.0625rem,.96rem + .45vw,1.3125rem);font-weight:600;line-height:1.3}.user-menu-email{color:var(--text);word-break:break-word;margin:0;font-size:.9em}.user-menu-dropdown-profile .user-menu-email--menu{color:var(--text);opacity:.88;text-align:center;word-break:break-word;-webkit-line-clamp:3;line-clamp:3;-webkit-box-orient:vertical;max-width:100%;margin:.45rem 0 0;font-size:clamp(.9375rem,.86rem + .32vw,1.0625rem);font-weight:500;line-height:1.35;display:-webkit-box;overflow:hidden}.user-menu-dropdown-profile .user-menu-name--menu{text-align:center;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;max-width:100%;margin:.45rem 0 0;display:-webkit-box;overflow:hidden}.user-menu-rows{margin:0;padding:.35rem 0;list-style:none}.user-menu-rows>li{margin:0}.user-menu-rows>li:not(:first-child){border-top:1px solid var(--border)}.user-menu-row{width:100%;color:var(--text-h);cursor:pointer;box-sizing:border-box;text-align:left;background:0 0;border:none;align-items:center;gap:.6rem;padding:.55rem .75rem;font-size:clamp(.9375rem,.88rem + .25vw,1.0625rem);font-weight:600;line-height:1.35;text-decoration:none;transition:background .1s;display:flex}.user-menu-row:hover{background:var(--bg)}.user-menu-row:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.user-menu-row-icon{width:1.35rem;height:1.35rem;color:var(--text);opacity:.9;flex-shrink:0;justify-content:center;align-items:center;display:flex}.user-menu-row-icon-svg{width:1.15rem;height:1.15rem}.user-menu-row-label{flex:1;min-width:0}.user-menu-accordion-trigger{width:100%;color:var(--text-h);cursor:pointer;box-sizing:border-box;text-align:left;background:0 0;border:none;align-items:center;gap:.6rem;padding:.55rem .75rem;font-family:inherit;font-size:clamp(.9375rem,.88rem + .25vw,1.0625rem);font-weight:600;line-height:1.35;transition:background .1s;display:flex}.user-menu-accordion-trigger:hover{background:var(--bg)}.user-menu-accordion-trigger:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.user-menu-chevron{color:var(--text);opacity:.75;justify-content:center;align-items:center;margin-left:auto;transition:transform .15s;display:flex}.user-menu-chevron svg{width:.9rem;height:.9rem}.user-menu-chevron.is-open{transform:rotate(180deg)}.user-menu-accordion-panel{flex-direction:column;gap:.45rem;padding:0 .65rem .65rem;display:flex}.user-menu-accordion-panel[hidden]{display:none!important}.user-menu-subsection-label{letter-spacing:.06em;text-transform:uppercase;color:var(--text);opacity:.75;margin:0;padding:0 .15rem;font-size:clamp(.7rem,.65rem + .2vw,.8125rem);font-weight:600}.user-menu-theme-row{flex-direction:row;justify-content:space-between;align-items:center;gap:.75rem;width:100%;display:flex}.user-menu-subsection-label--theme-row{text-align:left;flex:auto;min-width:0;padding:0}.user-menu-theme-switch{cursor:pointer;width:auto;font:inherit;box-sizing:border-box;background:0 0;border:none;border-radius:10px;flex-wrap:nowrap;flex-shrink:0;justify-content:center;align-items:center;gap:.35rem .45rem;margin:0;padding:.35rem .25rem;display:flex}.user-menu-theme-switch:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.user-menu-theme-switch-label{color:var(--text);opacity:.55;text-align:center;flex:auto;min-width:0;font-size:clamp(.8125rem,.76rem + .18vw,.9375rem);font-weight:600}.user-menu-theme-switch-label--light{text-align:right}.user-menu-theme-switch-label--dark{text-align:left}.user-menu-theme-switch:not(.user-menu-theme-switch--dark) .user-menu-theme-switch-label--light,.user-menu-theme-switch--dark .user-menu-theme-switch-label--dark{color:var(--accent);opacity:1}.user-menu-theme-switch-sep{color:var(--border);-webkit-user-select:none;user-select:none;opacity:.85;flex:none;font-size:.85rem;font-weight:300;line-height:1}.user-menu-theme-switch-toggle{flex:none;justify-content:center;align-items:center;display:flex}.user-menu-theme-switch-track{box-sizing:border-box;background:var(--bg);border:1px solid var(--border);border-radius:9999px;width:3.4rem;height:1.85rem;position:relative;box-shadow:inset 0 1px 2px #00000012}html[data-theme=dark] .user-menu-theme-switch-track{box-shadow:inset 0 1px 4px #00000073}.user-menu-theme-switch-thumb{background:var(--accent);pointer-events:none;border-radius:50%;width:1.35rem;height:1.35rem;margin-top:-.675rem;transition:left .2s;position:absolute;top:50%;left:3px;box-shadow:0 2px 5px #0003,0 0 0 1px #0000000f}.user-menu-theme-switch--dark .user-menu-theme-switch-thumb{left:calc(100% - 1.35rem - 3px)}@media (prefers-reduced-motion:reduce){.user-menu-theme-switch-thumb{transition:none}}.user-menu-row--danger{color:var(--danger)}.user-menu-row--danger .user-menu-row-icon{color:var(--danger);opacity:1}.user-menu-row--danger:hover{background:#ef444414}html[data-theme=dark] .user-menu-panel{box-shadow:0 4px 6px -1px #00000059,0 12px 28px -6px #00000073,0 0 0 1px #ffffff0f}.account-profile-lead{margin:var(--space-md) 0 0;color:var(--text);font-size:1em;line-height:1.5}.account-profile-actions{margin-top:var(--space-lg)}.account-edit-readonly{gap:var(--space-xs);flex-direction:column;font-size:clamp(.9375rem,.88rem + .25vw,1.0625rem);display:flex}.account-edit-readonly-label{text-transform:uppercase;letter-spacing:.04em;color:var(--text);opacity:.85;margin:0;font-size:.85em}.account-edit-readonly-value{padding:var(--space-sm) var(--space-md);border:1px solid var(--border);background:color-mix(in srgb, var(--bg) 92%, var(--text));color:var(--text);box-sizing:border-box;border-radius:9999px;align-items:center;min-height:2.75rem;margin:0;font-size:1em;display:flex}.account-details{margin:var(--space-md) 0 0;gap:var(--space-md);flex-direction:column;padding:0;list-style:none;display:flex}.account-details li{gap:var(--space-xs);flex-direction:column;font-size:1em;display:flex}.account-details strong{text-transform:uppercase;letter-spacing:.04em;color:var(--text);font-size:.85em}html[data-theme=dark] #social .button-icon{filter:invert()brightness(2)}
