:root{--font-body:"Poppins", "Segoe UI", sans-serif;--font-display:"Barlow Condensed", "Segoe UI", sans-serif;--space-1:.5rem;--space-2:.75rem;--space-3:1rem;--space-4:1.5rem;--space-5:2rem;--space-6:3rem;--radius-sm:.5rem;--radius-md:.875rem;--radius-lg:1.25rem;--shadow-sm:0 6px 24px #0000001a;--shadow-md:0 10px 30px #00000029;--duration-fast:.2s;--duration-medium:.32s;--easing-main:cubic-bezier(.2, .9, .2, 1);--container:72rem}*,:before,:after{box-sizing:border-box}*{margin:0}html,body{min-height:100%}img,picture,svg,canvas{max-width:100%;display:block}input,button,textarea,select{font:inherit}button,a{-webkit-tap-highlight-color:transparent}body{font-family:var(--font-body);color:var(--text-main);background:var(--bg-main);line-height:1.55}a{color:inherit;text-decoration:none}h1,h2,h3{font-family:var(--font-display);letter-spacing:.02em;font-weight:700}p{color:var(--text-soft)}.skip-link{left:-9999px;top:var(--space-2);background:var(--accent);color:var(--accent-contrast);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);position:absolute}.skip-link:focus-visible{left:var(--space-3);z-index:999}.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}#app{flex-direction:column;min-height:100vh;display:flex}.container{width:min(100% - 2rem, var(--container));margin-inline:auto}.site-main{flex:1}html:not(.has-hero-page) .site-main{padding-top:4.5rem}[data-reveal]{opacity:0;transition:opacity .75s cubic-bezier(.22,1,.36,1),transform .75s cubic-bezier(.22,1,.36,1);transform:translateY(36px)}[data-reveal].is-visible{opacity:1;transform:translateY(0)}[data-reveal=stagger]>*{opacity:0;transition:opacity .6s cubic-bezier(.22,1,.36,1),transform .6s cubic-bezier(.22,1,.36,1);transform:translateY(28px)}[data-reveal=stagger].is-visible>*{opacity:1;transform:translateY(0)}[data-reveal=stagger].is-visible>:first-child{transition-delay:0s}[data-reveal=stagger].is-visible>:nth-child(2){transition-delay:.11s}[data-reveal=stagger].is-visible>:nth-child(3){transition-delay:.22s}[data-reveal=stagger].is-visible>:nth-child(4){transition-delay:.33s}.hero-fullscreen{color:#fff;align-items:center;min-height:100svh;display:flex;position:relative;overflow:hidden}.hero-bg{transform-origin:50%;filter:blur(3px);background-position:50%;background-size:cover;transition:transform 8s;position:absolute;inset:-8px}.hero-fullscreen:hover .hero-bg{transform:scale(1.04)}.hero-overlay{background:linear-gradient(135deg,#000000bf 0%,#14000094 55%,#00000080 100%);position:absolute;inset:0}.hero-content{z-index:1;gap:var(--space-3);padding-top:5.5rem;padding-bottom:4rem;display:grid;position:relative}.kicker{color:var(--accent);text-transform:uppercase;letter-spacing:.1em;font-size:.88rem;font-weight:700}.hero-title{font-family:var(--font-display);color:#fff;text-shadow:0 2px 4px #000c,0 4px 24px #0009,0 0 60px #0006;font-size:clamp(2.4rem,8vw,4.8rem);font-weight:800;line-height:1}.hero-lead{color:#ffffffeb;text-shadow:0 1px 8px #000000b3;max-width:52ch;font-size:clamp(.95rem,2vw,1.15rem)}.hero-pills{gap:var(--space-2);flex-wrap:wrap;display:flex}.pill{border:1px solid var(--border-soft);background:var(--bg-elevated);color:var(--text-main);border-radius:999px;padding:.35rem .85rem;font-size:.88rem}.pill-ghost{color:#ffffffe6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1a;border-color:#ffffff59}.hero-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.scroll-hint{z-index:2;text-decoration:none;position:absolute;bottom:2rem;left:50%;transform:translate(-50%)}.scroll-hint-dot{border:2px solid #ffffff73;border-radius:11px;justify-content:center;align-items:flex-start;width:22px;height:36px;padding-top:7px;display:flex}.scroll-hint-dot:before{content:"";background:#fff;border-radius:2px;width:4px;height:8px;animation:1.9s ease-in-out infinite scroll-bounce}.home-section{padding:5rem 0}.section-tinted{background:var(--bg-elevated)}.section-head{text-align:center;max-width:60ch;margin:0 auto var(--space-5)}.section-title{color:var(--text-main);margin-bottom:var(--space-3);font-size:clamp(1.6rem,4vw,2.4rem);display:inline-block;position:relative}.section-title:after{content:"";background:var(--accent);border-radius:2px;width:52px;height:3px;position:absolute;bottom:-10px;left:50%;transform:translate(-50%)}.section-desc{color:var(--text-soft);font-size:1rem}.transition-figure{margin:var(--space-4) auto 0;max-width:52rem}.transition-image{border-radius:var(--radius-md);border:1px solid var(--border-soft);width:100%;box-shadow:var(--shadow-sm);display:block}.stats-grid{gap:var(--space-2);grid-template-columns:1fr;display:grid}.stat-card{border:1px solid var(--border-soft);background:var(--bg-main);border-radius:var(--radius-md);padding:var(--space-4) var(--space-3);text-align:center;transition:transform var(--duration-fast) var(--easing-main), box-shadow var(--duration-fast)}.stat-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.stat-value{font-family:var(--font-display);color:var(--accent);margin-bottom:.35rem;font-size:2rem;font-weight:800;line-height:1.1}.schedule-grid{gap:var(--space-2);grid-template-columns:1fr;display:grid}.schedule-item{border:1px solid var(--border-soft);background:var(--bg-main);border-radius:var(--radius-md);padding:var(--space-3);border-left:4px solid var(--accent);transition:transform var(--duration-fast) var(--easing-main);gap:.35rem;display:grid}.schedule-item:hover{transform:translate(4px)}.day{color:var(--text-main);font-size:1.05rem;font-weight:800}.schedule-time{color:var(--accent);font-weight:600}.gallery-grid{gap:var(--space-2);grid-template-rows:auto auto;grid-template-columns:repeat(2,1fr);display:grid}.gallery-item--wide{grid-column:1/-1}.gallery-item{border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-soft);position:relative;overflow:hidden}.gallery-item img{object-fit:cover;width:100%;height:100%;min-height:10rem;transition:transform .45s var(--easing-main);display:block}.gallery-item:hover img{transform:scale(1.05)}.gallery-item figcaption{color:#fff;background:linear-gradient(#0000,#000000a6);padding:1.5rem .75rem .6rem;font-size:.9rem;font-weight:600;position:absolute;bottom:0;left:0;right:0}.gallery-placeholder{background:linear-gradient(145deg, color-mix(in srgb, var(--accent) 14%, transparent), var(--bg-elevated));flex-direction:column;justify-content:center;align-items:center;min-height:10rem;display:flex}.gallery-placeholder span{color:var(--text-soft);opacity:.5;margin-bottom:.5rem;font-size:2.2rem;font-weight:900}.gallery-placeholder figcaption{color:var(--text-soft);background:0 0;padding:0;position:static}.contact-grid{gap:var(--space-2);grid-template-columns:1fr;display:grid}.contact-card{border:1px solid var(--border-soft);background:var(--bg-elevated);border-radius:var(--radius-md);padding:var(--space-4) var(--space-3);gap:var(--space-2);transition:box-shadow var(--duration-fast);display:grid}.contact-card:hover{box-shadow:var(--shadow-md)}.contact-icon{font-size:1.8rem;line-height:1}.contact-card h3{color:var(--text-main)}.official-brand{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:1fr;align-items:center;display:grid}.official-logo-wrap{justify-content:center;display:flex}.official-logo{aspect-ratio:1;object-fit:cover;border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--bg-elevated);width:min(100%,15rem);padding:.5rem}.official-brand-text h3{color:var(--text-main);margin-bottom:var(--space-2)}.official-docs{gap:var(--space-2);grid-template-columns:1fr;display:grid}.document-card{border:1px solid var(--border-soft);background:var(--bg-elevated);border-radius:var(--radius-md);transition:box-shadow var(--duration-fast) var(--easing-main), transform var(--duration-fast) var(--easing-main);overflow:hidden}.document-card:hover{box-shadow:var(--shadow-md);transform:translateY(-3px)}.doc-link{display:block;position:relative;overflow:hidden}.doc-link img{object-fit:cover;width:100%;max-height:18rem;transition:transform .4s var(--easing-main);display:block}.doc-link:hover img{transform:scale(1.04)}.doc-zoom{color:#fff;opacity:0;background:#0000008c;border-radius:50%;justify-content:center;align-items:center;width:2rem;height:2rem;font-size:.85rem;font-weight:700;transition:opacity .25s;display:flex;position:absolute;top:.6rem;right:.6rem}.doc-link:hover .doc-zoom{opacity:1}.document-card figcaption{padding:var(--space-3);gap:.4rem;display:grid}.document-card figcaption h3{color:var(--text-main);font-size:1rem}.member-cta-section{background:var(--bg-glow);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 18%, var(--bg-main)), var(--bg-main))}.member-cta{text-align:center;gap:var(--space-3);display:grid}.member-cta h2{color:var(--text-main);font-size:clamp(1.5rem,4vw,2.2rem)}.member-actions{gap:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.site-footer{background:var(--bg-elevated);border-top:1px solid var(--border-soft)}.footer-grid{gap:var(--space-4);padding:var(--space-5) 0 var(--space-4);grid-template-columns:1fr;display:grid}.footer-brand{gap:var(--space-2);display:grid}.footer-logo{object-fit:cover;border:2px solid var(--border-strong);border-radius:50%;width:4rem;height:4rem}.footer-tagline{color:var(--text-main);font-weight:700;line-height:1.4}.footer-city{color:var(--text-soft);font-size:.9rem}.footer-fb-link{color:var(--accent);font-size:.9rem;font-weight:600}.footer-col{gap:var(--space-2);display:grid}.footer-col-title{color:var(--text-main);margin-bottom:.25rem;font-weight:700}.footer-nav{flex-direction:column;gap:.4rem;display:flex}.footer-link{color:var(--text-soft);transition:color var(--duration-fast);font-size:.92rem}.footer-link:hover{color:var(--accent)}.footer-schedule{color:var(--text-soft);gap:.4rem;font-size:.92rem;display:grid}.footer-schedule strong{color:var(--text-main)}.footer-contact{color:var(--text-soft);gap:.4rem;font-size:.92rem;display:grid}.footer-bottom{border-top:1px solid var(--border-soft);padding:var(--space-3) 0}.footer-bottom-inner{justify-content:space-between;gap:var(--space-2);color:var(--text-soft);flex-wrap:wrap;font-size:.88rem;display:flex}.page-section{gap:var(--space-3);padding-top:var(--space-4);display:grid}@keyframes scroll-bounce{0%,to{opacity:1;transform:translateY(0)}50%{opacity:.3;transform:translateY(9px)}}@keyframes fade-in-up{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.button{background:var(--accent);color:var(--accent-contrast);border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--duration-fast) var(--easing-main), box-shadow var(--duration-fast) var(--easing-main), background var(--duration-fast);border:1px solid #0000;justify-content:center;align-items:center;padding:.7rem 1.3rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.button:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.button:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px}.button-outline{color:var(--text-main);border-color:var(--border-strong);background:0 0}.button-outline:hover{background:var(--bg-hover);box-shadow:none}.button-hero{background:var(--accent);color:var(--accent-contrast);border-color:var(--accent)}.button-ghost{color:#fff;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff1f;border-color:#ffffff61}.button-ghost:hover{box-shadow:none;background:#ffffff38}html[data-theme=dark] .icon-btn svg{stroke:#fff!important;color:#fff!important;fill:none!important}.site-header{z-index:100;transition:background var(--duration-medium) var(--easing-main), box-shadow var(--duration-medium) var(--easing-main), color var(--duration-medium);color:#fff;background:0 0;position:fixed;top:0;left:0;right:0}.site-header.is-scrolled,html:not(.has-hero-page) .site-header{background:color-mix(in srgb, var(--bg-elevated) 96%, transparent);-webkit-backdrop-filter:blur(14px);color:var(--text-main);box-shadow:0 1px 24px #0000001a}.navbar{align-items:center;gap:var(--space-2);height:4.5rem;display:flex}.brand{color:inherit;flex-shrink:0;align-items:center;gap:.55rem;margin-right:auto;text-decoration:none;display:flex}.brand-logo{object-fit:cover;width:2.3rem;height:2.3rem;transition:border-color var(--duration-fast);border:2px solid #ffffff59;border-radius:50%}.site-header.is-scrolled .brand-logo,html:not(.has-hero-page) .site-header .brand-logo{border-color:var(--border-strong)}.brand-name{font-family:var(--font-display);letter-spacing:.12em;text-transform:uppercase;font-size:1.05rem;font-weight:800}.nav-desktop{align-items:center;gap:.15rem;display:none}.nav-separator{background:#ffffff40;width:1px;height:1.2rem;margin:0 .4rem;display:block}.site-header.is-scrolled .nav-separator,html:not(.has-hero-page) .site-header .nav-separator{background:var(--border-soft)}.nav-link{border-radius:var(--radius-sm);color:#ffffffd9;transition:color var(--duration-fast), background var(--duration-fast);white-space:nowrap;padding:.42rem .55rem;font-size:.88rem;font-weight:500}.nav-link:hover,.nav-link.is-active{color:#fff;background:#ffffff1f}.site-header.is-scrolled .nav-link,html:not(.has-hero-page) .site-header .nav-link{color:var(--text-soft)}.site-header.is-scrolled .nav-link:hover,.site-header.is-scrolled .nav-link.is-active,html:not(.has-hero-page) .site-header .nav-link:hover,html:not(.has-hero-page) .site-header .nav-link.is-active{color:var(--text-main);background:var(--bg-hover)}.nav-controls{align-items:center;gap:.45rem;display:flex}.select-control{color:inherit;border-radius:var(--radius-sm);cursor:pointer;background:#ffffff1a;border:1px solid #ffffff4d;padding:.32rem .45rem;font-size:.84rem}.site-header.is-scrolled .select-control,html:not(.has-hero-page) .site-header .select-control{border-color:var(--border-strong);background:var(--bg-main);color:var(--text-main)}.nav-icon-btn{color:inherit;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast), border-color var(--duration-fast);background:0 0;border:1px solid #ffffff4d;padding:.32rem .55rem;font-size:1rem;line-height:1}.nav-icon-btn:hover{background:#ffffff26}.site-header.is-scrolled .nav-icon-btn,html:not(.has-hero-page) .site-header .nav-icon-btn{border-color:var(--border-strong);color:var(--text-main)}.site-header.is-scrolled .nav-icon-btn:hover,html:not(.has-hero-page) .site-header .nav-icon-btn:hover{background:var(--bg-hover)}.menu-toggle{cursor:pointer;color:inherit;background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;padding:.4rem .35rem;display:flex}.burger-bar{transform-origin:50%;width:22px;height:2px;transition:transform .35s var(--easing-main), opacity .25s;background:currentColor;border-radius:1px;display:block}.menu-toggle[aria-expanded=true] .burger-bar:first-child{transform:translateY(7px)rotate(45deg)}.menu-toggle[aria-expanded=true] .burger-bar:nth-child(2){opacity:0;transform:scaleX(0)}.menu-toggle[aria-expanded=true] .burger-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.nav-overlay{z-index:90;background:var(--bg-main);justify-content:center;align-items:center;gap:var(--space-4);opacity:0;pointer-events:none;transition:opacity .35s var(--easing-main), transform .35s var(--easing-main);flex-direction:column;display:flex;position:fixed;inset:0;transform:translateY(-12px)}.nav-overlay.is-open{opacity:1;pointer-events:auto;transform:translateY(0)}.overlay-close{cursor:pointer;color:var(--text-main);background:0 0;border:none;flex-direction:column;justify-content:center;gap:5px;padding:.4rem;display:flex;position:absolute;top:1.2rem;right:1rem}.overlay-close .burger-bar{transform-origin:50%}.overlay-close .burger-bar:first-child{transform:translateY(7px)rotate(45deg)}.overlay-close .burger-bar:nth-child(2){opacity:0;transform:scaleX(0)}.overlay-close .burger-bar:nth-child(3){transform:translateY(-7px)rotate(-45deg)}.overlay-links{flex-direction:column;align-items:center;gap:.6rem;display:flex}.overlay-link{font-family:var(--font-display);color:var(--text-main);letter-spacing:.04em;text-transform:uppercase;border-radius:var(--radius-sm);transition:color var(--duration-fast);padding:.35rem 1.2rem;font-size:1.55rem;font-weight:700}.overlay-link:hover{color:var(--accent)}.overlay-cta{text-transform:none;background:var(--accent);color:var(--accent-contrast);font-size:1rem;font-family:var(--font-body);margin-top:.3rem;padding:.6rem 1.6rem}.overlay-cta:hover{background:var(--accent);color:var(--accent-contrast);opacity:.88}.overlay-divider{background:var(--border-soft);border:none;width:3.5rem;height:1px;margin:.4rem 0}.overlay-footer{padding-bottom:var(--space-4)}body.menu-open{overflow:hidden}.card-grid{gap:var(--space-2);grid-template-columns:1fr;display:grid}.card{border:1px solid var(--border-soft);border-radius:var(--radius-md);padding:var(--space-3);background:var(--bg-elevated);box-shadow:var(--shadow-sm);transition:transform var(--duration-fast) var(--easing-main), box-shadow var(--duration-fast)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.card h3{color:var(--text-main);margin-bottom:.4rem}.instructor-card{position:relative;overflow:hidden}.instructor-card:before{content:"";background:var(--accent);width:.3rem;position:absolute;inset:0 auto 0 0}.instructor-kanji{letter-spacing:.06em;color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, transparent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:var(--radius-sm);text-transform:uppercase;margin-bottom:.6rem;padding:.15rem .5rem;font-size:.75rem;font-weight:700;display:inline-block}.instructor-photo{aspect-ratio:4/3;object-fit:cover;object-position:top center;border-radius:var(--radius-sm);width:100%;margin-bottom:.75rem}.instructor-role{color:var(--accent);margin-bottom:.35rem;font-size:.88rem;font-weight:600}.event-card{gap:.4rem;display:grid}.event-date{color:var(--accent);font-size:.9rem;font-weight:700}.article-card{gap:.5rem;display:grid}.article-link{color:inherit;gap:.5rem;text-decoration:none;display:grid}.article-thumbs{grid-template-columns:repeat(4,1fr);gap:.35rem;display:grid}.article-thumbs img{aspect-ratio:1;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border-soft);width:100%}.article-meta{color:var(--text-soft);font-size:.82rem;font-weight:600}.article-status{color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent) 34%, transparent);border-radius:999px;justify-self:start;margin-top:.35rem;padding:.2rem .6rem;font-size:.78rem;font-weight:700}.phone-fields-container{flex-direction:column;gap:.5rem;display:flex}.phone-field{grid-template-columns:minmax(0,1fr) minmax(0,1.2fr) auto;align-items:center;gap:.5rem;display:grid}.phone-field .form-input{min-width:0}@media (width<=600px){.phone-field{grid-template-columns:1fr auto}.phone-field .phone-field-description{grid-column:1/-1}}.form-card{gap:var(--space-2);margin-top:var(--space-3);border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-elevated);max-width:38rem;padding:var(--space-3);display:grid}.form-field{gap:.3rem;display:grid}.form-label{font-weight:600}.form-input{border:1px solid var(--border-strong);border-radius:var(--radius-sm);background:var(--bg-main);color:var(--text-main);width:100%;padding:.55rem .7rem}.form-input:focus-visible{outline:2px solid var(--focus-ring);outline-offset:1px}.form-error{color:#d93025;margin:0;font-size:.9rem;font-weight:500}.form-success{color:#188038;margin:0;font-size:.9rem;font-weight:500}.form-footer{text-align:center;margin:0;font-size:.9rem}.register-existing{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-main);gap:.55rem;padding:.85rem;display:grid}.register-existing-title{margin:0;font-weight:700}.register-existing-text{color:var(--text-muted);margin:0;font-size:.92rem}.register-existing-list{gap:.25rem;margin:0;padding-left:1rem;display:grid}.register-existing-actions{flex-wrap:wrap;gap:.5rem;display:flex}.auth-only-main{min-height:100vh;padding:var(--space-4) var(--space-2);place-items:center;display:grid}.member-app-main{min-height:100vh;padding:var(--space-3) 0 var(--space-4);background:radial-gradient(circle at 8% 0%, var(--bg-glow-soft) 0, transparent 42%), radial-gradient(circle at 100% 100%, var(--bg-glow) 0, transparent 34%), var(--bg-main)}.member-app-shell{gap:var(--space-3);grid-template-columns:18rem 1fr;align-items:start;display:grid}.member-app-shell.container{width:min(100% - 2rem,110rem)}.member-menu-toggle{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:linear-gradient(135deg, var(--bg-elevated), var(--bg-hover));width:100%;color:var(--text-main);cursor:pointer;box-shadow:var(--shadow-sm);text-align:left;align-items:center;gap:.75rem;padding:.7rem .9rem;display:none}.member-menu-toggle:hover{border-color:var(--accent)}.member-menu-toggle:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.member-menu-toggle-icon{flex-direction:column;flex-shrink:0;justify-content:space-between;width:1.5rem;height:1.1rem;display:inline-flex}.member-menu-toggle-icon span{width:100%;height:2px;transition:transform var(--duration-fast) var(--easing-main), opacity var(--duration-fast) var(--easing-main);background:currentColor;border-radius:2px;display:block}.member-menu-toggle-logo{object-fit:cover;border:1px solid var(--border-strong);background:var(--bg-main);border-radius:50%;flex-shrink:0;width:2rem;height:2rem}.member-menu-toggle[aria-expanded=true] .member-menu-toggle-icon span:first-child{transform:translateY(.5rem)rotate(45deg)}.member-menu-toggle[aria-expanded=true] .member-menu-toggle-icon span:nth-child(2){opacity:0}.member-menu-toggle[aria-expanded=true] .member-menu-toggle-icon span:nth-child(3){transform:translateY(-.5rem)rotate(-45deg)}.member-menu-toggle-text{flex-direction:column;flex:1;min-width:0;display:flex}.member-menu-toggle-kicker{text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);font-size:.7rem;font-weight:700}.member-menu-toggle-current{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.member-menu-backdrop{z-index:40;background:#00000080;animation:.16s fadeIn;position:fixed;inset:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}body.has-member-menu-open{overflow:hidden}.member-sidebar{border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:linear-gradient(145deg, var(--bg-elevated), var(--bg-hover));box-shadow:var(--shadow-sm);padding:var(--space-3);gap:var(--space-3);display:grid;position:sticky;top:1rem}.member-sidebar-header{justify-content:space-between;align-items:flex-start;gap:.6rem;display:flex}.member-sidebar-close{display:none}.member-brand{align-items:center;gap:.75rem;min-width:0;display:flex}.member-brand-logo{object-fit:cover;border:1px solid var(--border-strong);background:var(--bg-main);width:3rem;height:3rem;box-shadow:var(--shadow-sm);border-radius:50%;flex-shrink:0}.member-brand-text{min-width:0}.member-brand h1{font-family:var(--font-display);letter-spacing:.02em;margin:.2rem 0 .35rem;line-height:1.1}.member-brand p{color:var(--text-soft);margin:0}.member-menu{gap:.6rem;display:grid}.member-menu-title{text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);margin:0;font-size:.78rem;font-weight:700}.member-menu-item{border:1px solid var(--border-soft);background:var(--bg-elevated);color:var(--text-main);border-radius:var(--radius-sm);text-align:left;cursor:pointer;transition:background var(--duration-fast) var(--easing-main), border-color var(--duration-fast) var(--easing-main), transform var(--duration-fast) var(--easing-main);justify-content:space-between;align-items:center;gap:.4rem;padding:.65rem .7rem;display:flex}.member-menu-item:hover:not(:disabled){background:var(--bg-hover);transform:translateY(-1px)}.member-menu-item.is-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, var(--bg-elevated))}.member-menu-item.is-disabled{opacity:.72;cursor:not-allowed}.member-menu-badge{border:1px solid var(--border-strong);border-radius:999px;padding:.18rem .45rem;font-size:.72rem;line-height:1}.member-content{gap:var(--space-3);display:grid}.member-app-topbar{border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;gap:var(--space-2);padding:.9rem 1rem;display:flex}.member-app-topbar p{margin:0}.member-account-email{letter-spacing:.01em;font-weight:700}.member-topbar-actions{align-items:center;gap:.55rem;display:flex}.member-content-panel{border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-sm);padding:var(--space-3)}.member-module-card{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:linear-gradient(160deg, var(--bg-elevated), var(--bg-hover));padding:var(--space-3);gap:.55rem;display:grid}.member-module-card h2,.member-module-card p{margin:0}.auth-only-card{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-elevated);gap:.75rem;width:min(100%,34rem);display:grid}.auth-only-kicker{letter-spacing:.04em;text-transform:uppercase;color:var(--text-muted);margin:0;font-size:.78rem;font-weight:700}.nav-user-label{color:var(--text-muted);align-self:center;padding:0 .3rem;font-size:.85rem}.nav-logout{cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;font-family:inherit}.modal{padding:var(--space-3);background:#0000008c;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.modal.is-visible{display:flex}.modal-panel{border-radius:var(--radius-lg);background:var(--bg-elevated);border:1px solid var(--border-soft);width:min(100%,30rem);padding:var(--space-4);gap:var(--space-3);display:grid}.students-page{gap:var(--space-3);display:grid}.admin-page-header{justify-content:space-between;align-items:flex-end;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:linear-gradient(135deg, var(--bg-elevated), var(--bg-hover));box-shadow:var(--shadow-sm);display:flex}.admin-page-header h1{font-family:var(--font-display);letter-spacing:.01em;margin:.2rem 0 .35rem;font-size:clamp(1.6rem,2.4vw,2.1rem);line-height:1.1}.students-header{justify-content:space-between;align-items:end;display:flex}.students-subtitle{color:var(--text-muted);margin:0}.icon-btn{--icon-size:2.2rem;width:var(--icon-size);height:var(--icon-size);border:1px solid var(--border-strong);background:var(--bg-main);color:var(--text-main);cursor:pointer;transition:transform var(--duration-fast) var(--easing-main), border-color var(--duration-fast) var(--easing-main), background var(--duration-fast) var(--easing-main), color var(--duration-fast) var(--easing-main), box-shadow var(--duration-fast) var(--easing-main);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.icon-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, var(--bg-main));transform:translateY(-1px);box-shadow:0 4px 14px #0000001f}.icon-btn:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.icon-btn:disabled{opacity:.45;cursor:not-allowed}.icon-btn-lg{--icon-size:2.5rem}.icon-btn-danger:hover:not(:disabled){color:#b42318;background:#b423181a;border-color:#b42318}.icon-btn svg{width:16px;height:16px;display:block}.icon-btn-lg svg{width:18px;height:18px}.students-grid{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.form-field-full{grid-column:1/-1}.student-link-toggle{flex-wrap:wrap;gap:.45rem;display:inline-flex}.student-link-option{border:1px solid var(--border-strong);background:var(--bg-main);color:var(--text-main);border-radius:var(--radius-sm);cursor:pointer;align-items:center;gap:.4rem;padding:.45rem .7rem;display:inline-flex}.student-link-option.is-active{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 16%, var(--bg-elevated))}.students-list-card,.students-history-card{border:1px solid var(--border-soft);border-radius:var(--radius-lg);background:var(--bg-elevated);box-shadow:var(--shadow-sm);padding:var(--space-3)}.students-toolbar{gap:var(--space-2);margin-bottom:var(--space-3);grid-template-columns:minmax(0,1fr) 14rem auto;align-items:center;display:grid}.students-toolbar-search{align-items:center;display:flex;position:relative}.students-toolbar-search-icon{color:var(--text-muted);pointer-events:none;display:inline-flex;position:absolute;left:.75rem}.students-toolbar-search .form-input{border-radius:10px;width:100%;padding-left:2.4rem}.students-toolbar-filter{border-radius:10px}.students-table-wrap{border-radius:var(--radius-md);border:1px solid var(--border-soft);background:var(--bg-main);overflow-x:auto}.students-table{border-collapse:separate;border-spacing:0;width:100%;min-width:56rem}.students-table th,.students-table td{border-bottom:1px solid var(--border-soft);text-align:left;vertical-align:middle;padding:.8rem .85rem}.students-table thead th{z-index:1;background:linear-gradient(180deg, var(--bg-elevated), var(--bg-hover));text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);border-bottom:1px solid var(--border-strong);font-size:.74rem;font-weight:700;position:sticky;top:0}.students-table tbody tr{transition:background var(--duration-fast) var(--easing-main)}.students-table tbody tr:hover{background:color-mix(in srgb, var(--accent) 6%, transparent)}.students-table tbody tr:last-child td{border-bottom:none}.students-table-empty{text-align:center;color:var(--text-muted);padding:2rem 1rem!important}.student-name-cell{align-items:center;gap:.65rem;min-width:0;display:flex}.student-avatar{background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 32%, transparent), color-mix(in srgb, var(--accent) 12%, transparent));width:2.1rem;height:2.1rem;color:var(--accent);border:1px solid color-mix(in srgb, var(--accent) 30%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.82rem;font-weight:700;display:inline-flex}.student-avatar.student-avatar-photo,.student-photo-preview-avatar.student-avatar-photo,.student-details-avatar.student-avatar-photo{background:color-mix(in srgb, var(--bg-hover) 78%, transparent);padding:0;overflow:hidden}.student-avatar.student-avatar-photo img,.student-photo-preview-avatar.student-avatar-photo img,.student-details-avatar.student-avatar-photo img{object-fit:cover;width:100%;height:100%;display:block}.student-name-text{flex-direction:column;min-width:0;display:flex}.student-name-main{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.student-name-sub{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.78rem;overflow:hidden}.cell-email,.cell-phone,.cell-date{white-space:nowrap}.student-actions{flex-wrap:nowrap;justify-content:flex-end;gap:.35rem;display:flex}.student-status{text-transform:uppercase;letter-spacing:.04em;border-radius:999px;align-items:center;gap:.35rem;padding:.22rem .7rem;font-size:.74rem;font-weight:700;display:inline-flex}.student-status:before{content:"";background:currentColor;border-radius:50%;width:.45rem;height:.45rem}.student-link-badge{border-radius:999px;align-items:center;gap:.35rem;padding:.22rem .65rem;font-size:.78rem;font-weight:600;display:inline-flex}.student-link-badge svg{display:block}.student-link-badge.is-linked{color:#0f6d8e;background:#0ea5e92e}.student-link-badge.is-unlinked{color:#475569;background:#64748b33}.student-status-active{color:#1b7f3a;background:#22c55e2e}.student-status-inactive{color:#a52828;background:#ef44442e}.button-danger{color:#b42318;border-color:#b42318}.student-photo-field{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:1rem;display:grid}.student-photo-preview{border:1px dashed var(--border-soft);background:color-mix(in srgb, var(--bg-hover) 60%, transparent);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:5rem;height:5rem;display:flex;overflow:hidden}.student-photo-preview-avatar{width:100%;height:100%;color:var(--accent);background:linear-gradient(135deg, color-mix(in srgb, var(--accent) 32%, transparent), color-mix(in srgb, var(--accent) 12%, transparent));border-radius:50%;justify-content:center;align-items:center;font-size:1.35rem;font-weight:700;display:inline-flex}.student-photo-preview-empty{border:1px solid color-mix(in srgb, var(--accent) 28%, transparent)}.student-photo-controls{gap:.45rem;min-width:0;display:grid}.student-photo-actions{flex-wrap:wrap;gap:.5rem;display:flex}@media (width<=900px){.member-app-main{padding-top:var(--space-2)}.member-app-shell{gap:var(--space-2);grid-template-columns:1fr}.member-menu-toggle{display:inline-flex}.member-sidebar{z-index:50;border:none;border-right:1px solid var(--border-strong);border-radius:0;grid-template-rows:auto 1fr;gap:0;width:min(20rem,86vw);padding:0;transition:transform .24s cubic-bezier(.2,.8,.2,1);position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-100%);box-shadow:0 12px 40px #00000059}.member-sidebar.is-open{transform:translate(0)}.member-sidebar-header{border-bottom:1px solid var(--border-soft);background:linear-gradient(135deg, var(--bg-elevated), var(--bg-hover));padding:1rem 1rem .85rem}.member-sidebar-header .member-brand h1{word-break:break-word;font-size:1.05rem}.member-sidebar-header .member-brand p{font-size:.8rem}.member-sidebar-header .member-brand-logo{width:2.4rem;height:2.4rem}.member-sidebar-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:.15rem .5rem;font-size:1.6rem;line-height:1;display:inline-flex}.member-sidebar-close:hover{opacity:1;background:#7f7f7f1f}.member-menu{grid-template-columns:1fr;gap:.45rem;padding:.85rem 1rem 1rem}.member-app-topbar{flex-direction:column;align-items:stretch;gap:.6rem;padding:.8rem .9rem}.member-app-topbar>div:first-child{min-width:0}.member-account-email{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.member-topbar-actions{flex-wrap:wrap;justify-content:flex-start;gap:.45rem}.member-topbar-actions .select-control,.member-topbar-actions .nav-icon-btn{border-color:var(--border-strong);background:var(--bg-main);color:var(--text-main)}.member-topbar-actions #member-app-logout{margin-left:auto}.admin-page-header{align-items:flex-start;gap:var(--space-2);padding:var(--space-3);flex-direction:column}.member-menu-backdrop[hidden]{display:none!important}.member-app-shell.container{width:100%;padding-inline:.75rem}}@media (width<=640px){.member-app-shell{padding-inline:.5rem}.member-content-panel{padding:.85rem}.member-app-topbar{padding:.7rem .8rem}.member-menu-toggle{padding:.6rem .75rem}.member-menu-toggle-current{font-size:.95rem}.member-topbar-actions{gap:.35rem}.member-topbar-actions .select-control{padding:.3rem .4rem;font-size:.78rem}.member-topbar-actions .button{padding:.4rem .7rem;font-size:.85rem}}.student-link-picker{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.student-link-chip{background:var(--bg-elevated,#ffffff0f);border:1px solid var(--border-soft,#ffffff1f);color:var(--text,inherit);border-radius:999px;align-items:center;gap:.6rem;min-width:220px;max-width:100%;padding:.5rem .9rem;font-size:.92rem;transition:border-color .16s,background .16s;display:inline-flex}.student-link-chip.is-empty{color:var(--text-muted,#fff9);border-style:dashed;font-style:italic}.student-link-chip:not(.is-empty){border-color:var(--accent,#c39a3e);background:color-mix(in oklab, var(--accent,#c39a3e) 12%, transparent);font-style:normal}.student-link-chip-icon{font-size:1.1rem;line-height:1}.student-link-chip-clear{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:50%;padding:0 .2rem;font-size:1.2rem;line-height:1;transition:opacity .14s,background .14s}.student-link-chip-clear:hover{opacity:1;background:#0000001f}.user-picker-modal{z-index:1000;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.user-picker-modal.is-open{animation:.18s pickerFade;display:flex}@keyframes pickerFade{0%{opacity:0}to{opacity:1}}.user-picker-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;position:absolute;inset:0}.user-picker-panel{background:var(--bg-surface,#1c1c1c);border:1px solid var(--border-soft,#ffffff1f);border-radius:18px;flex-direction:column;width:min(560px,100vw - 2rem);max-height:min(80vh,640px);animation:.22s cubic-bezier(.2,.8,.2,1) pickerSlide;display:flex;position:relative;overflow:hidden;box-shadow:0 24px 60px #00000073}@keyframes pickerSlide{0%{opacity:0;transform:translateY(14px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.user-picker-header{justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 1.25rem .6rem;display:flex}.user-picker-header h3{margin:.15rem 0 0;font-size:1.15rem}.user-picker-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:8px;padding:.2rem .5rem;font-size:1.6rem;line-height:1;transition:opacity .14s,background .14s}.user-picker-close:hover{opacity:1;background:#ffffff0f}.user-picker-search{padding:0 1.25rem .5rem;position:relative}.user-picker-search-icon{opacity:.55;pointer-events:none;position:absolute;top:50%;left:1.85rem;transform:translateY(-55%)}.user-picker-search .form-input{border-radius:10px;width:100%;padding-left:2.5rem}.user-picker-status{color:var(--text-muted,#fff9);margin:0;padding:.4rem 1.25rem .6rem;font-size:.88rem}.user-picker-results{flex-direction:column;gap:.25rem;margin:0;padding:.25rem .6rem .9rem;list-style:none;display:flex;overflow-y:auto}.user-picker-result{width:100%;color:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:.85rem;padding:.65rem .7rem;transition:background .14s,border-color .14s,transform .14s;display:flex}.user-picker-result:hover,.user-picker-result:focus-visible{background:color-mix(in oklab, var(--accent,#c39a3e) 10%, transparent);border-color:var(--accent,#c39a3e);outline:none;transform:translateY(-1px)}.user-picker-avatar{background:color-mix(in oklab, var(--accent,#c39a3e) 22%, transparent);border:1px solid var(--border-soft,#ffffff1f);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;font-size:1.1rem;display:inline-flex}.user-picker-result-text{flex-direction:column;min-width:0;display:flex}.user-picker-result-main{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.user-picker-result-sub{color:var(--text-muted,#fff9);white-space:nowrap;text-overflow:ellipsis;font-size:.82rem;overflow:hidden}@media (width<=640px){.student-link-picker{flex-direction:column;align-items:stretch}.student-link-chip{width:100%;min-width:0}.user-picker-panel{border-radius:14px;width:calc(100vw - 1rem)}.user-picker-header{padding:.9rem 1rem .4rem}.user-picker-search{padding:0 1rem .4rem}.user-picker-status{padding:.3rem 1rem .5rem}}.students-header-actions{align-items:center;gap:.6rem;display:flex}.students-header-actions .button{align-items:center;gap:.45rem;font-weight:600;display:inline-flex}body.has-modal-open{overflow:hidden}.student-form-modal{z-index:1000;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.student-form-modal.is-open{animation:.2s pickerFade;display:flex}.student-form-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;position:absolute;inset:0}.student-form-panel{background:var(--bg-elevated,var(--bg-surface,#1c1c1c));border:1px solid var(--border-soft,#ffffff1f);border-radius:20px;flex-direction:column;width:min(880px,100vw - 2rem);max-height:min(92vh,920px);animation:.24s cubic-bezier(.2,.8,.2,1) pickerSlide;display:flex;position:relative;overflow:hidden;box-shadow:0 28px 70px #00000080}.student-form-header{background:linear-gradient(135deg, var(--bg-elevated), var(--bg-hover));border-bottom:1px solid var(--border-soft,#ffffff14);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 1.4rem;display:flex}.student-form-header h2{font-family:var(--font-display);letter-spacing:.01em;margin:.15rem 0 0;font-size:1.4rem}.student-form-close{color:inherit;cursor:pointer;opacity:.65;background:0 0;border:none;border-radius:10px;padding:.2rem .6rem;font-size:1.8rem;line-height:1;transition:opacity .14s,background .14s}.student-form-close:hover{opacity:1;background:#7f7f7f1f}.student-form-card{box-shadow:none;background:0 0;border:none;border-radius:0;flex-direction:column;flex:1;gap:0;max-width:none;min-height:0;margin:0;padding:0;display:flex}.student-form-body{flex-direction:column;flex:1;gap:1.1rem;min-height:0;padding:1.2rem 1.4rem 1.4rem;display:flex;overflow-y:auto}.form-section{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-main);flex-direction:column;gap:.75rem;margin:0;padding:1rem 1.1rem 1.1rem;display:flex}.form-section-title{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);margin-left:-.4rem;padding:0 .4rem;font-size:.78rem;font-weight:700}.form-section-hint{color:var(--text-muted);margin:-.25rem 0 0;font-size:.85rem}.form-section-add{align-self:flex-start;margin-top:.25rem}.student-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem;display:grid}.student-form-grid .form-field-full{grid-column:1/-1}.student-form-footer{border-top:1px solid var(--border-soft,#ffffff14);background:linear-gradient(180deg, transparent, color-mix(in srgb, var(--bg-hover) 60%, transparent));justify-content:flex-end;gap:.55rem;padding:.9rem 1.4rem;display:flex}.button.button-sm{align-items:center;gap:.4rem;padding:.35rem .7rem;font-size:.88rem;display:inline-flex}.student-details-modal{z-index:1000;justify-content:center;align-items:center;display:none;position:fixed;inset:0}.student-details-modal.is-open{animation:.2s pickerFade;display:flex}.student-details-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0000008c;position:absolute;inset:0}.student-details-panel{background:var(--bg-surface,#1c1c1c);border:1px solid var(--border-soft,#ffffff1f);border-radius:20px;flex-direction:column;width:min(780px,100vw - 2rem);max-height:min(88vh,860px);animation:.24s cubic-bezier(.2,.8,.2,1) pickerSlide;display:flex;position:relative;overflow:hidden;box-shadow:0 28px 70px #00000080}.student-details-header{border-bottom:1px solid var(--border-soft,#ffffff14);justify-content:space-between;align-items:flex-start;gap:1rem;padding:1.1rem 1.4rem .4rem;display:flex}.student-details-header h2{margin:.15rem 0 0;font-size:1.2rem}.student-details-close{color:inherit;cursor:pointer;opacity:.7;background:0 0;border:none;border-radius:8px;padding:.2rem .55rem;font-size:1.7rem;line-height:1;transition:opacity .14s,background .14s}.student-details-close:hover{opacity:1;background:#ffffff0f}.student-details-content{padding:1.1rem 1.4rem 1.3rem;overflow-y:auto}.student-details-hero{align-items:center;gap:1rem;padding:0 0 1rem;display:flex}.student-details-avatar{border-radius:50%;flex-shrink:0;width:4.5rem;height:4.5rem;font-size:1.2rem}.student-details-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.student-details-item{border:1px solid var(--border-soft,#ffffff1f);background:color-mix(in oklab, var(--bg-surface,#1c1c1c) 92%, white 8%);border-radius:10px;gap:.25rem;padding:.65rem .75rem;display:grid}.student-details-item-full{grid-column:1/-1}.student-details-label{color:var(--text-muted,#fff9);font-size:.82rem}.student-details-value{font-weight:600;line-height:1.35}.student-details-phone-list{gap:.35rem;margin:0;padding-left:1rem;display:grid}.student-details-phone-list li{flex-wrap:wrap;gap:.4rem;display:flex}.student-details-phone-label{color:var(--text-muted,#ffffff9e)}.student-details-phone-number{font-weight:600}.student-details-empty{color:var(--text-muted,#ffffff9e);margin:0}.student-details-future{border:1px dashed var(--border-soft,#fff3);border-radius:12px;margin-top:1rem;padding:.8rem .9rem}.student-details-future h3{margin:0 0 .25rem;font-size:1rem}.student-details-future p{color:var(--text-muted,#ffffffa3);margin:0}.button.button-ghost{color:var(--text-muted,#ffffffa6);background:0 0;border:none}.button.button-ghost:hover{color:var(--text,inherit);background:#ffffff0d}@media (width<=1024px){.member-app-shell.container{width:min(100% - 1.5rem,100rem)}.admin-page-header{padding:var(--space-3)}.students-toolbar{grid-template-columns:minmax(0,1fr) minmax(0,12rem) auto}.student-form-panel{width:min(720px,100vw - 1.5rem)}}@media (width<=860px){.members-app{padding-inline:.75rem}.admin-page-header{align-items:stretch;gap:var(--space-2);flex-direction:column}.admin-page-header .button,.admin-page-header .icon-btn{align-self:flex-start}.students-toolbar{grid-template-columns:1fr 1fr;grid-template-areas:"search search""filter refresh"}.students-toolbar-search{grid-area:search}.students-toolbar-filter{grid-area:filter}.students-toolbar>.icon-btn,.students-toolbar>.icon-btn-lg{grid-area:refresh;justify-self:end}}@media (width<=720px){.students-header{flex-direction:column;align-items:flex-start;gap:.6rem}.students-header-actions{width:100%}.students-header-actions .button{justify-content:center;width:100%}.students-page{gap:var(--space-2)}.students-list-card,.students-history-card{padding:var(--space-2)}.students-toolbar{margin-bottom:var(--space-2);grid-template-columns:1fr auto;grid-template-areas:"search refresh""filter filter";gap:.5rem}.students-table-wrap{background:0 0;border:none;padding:0;overflow:visible}.students-table{border-collapse:collapse;width:100%;min-width:0;display:block}.students-table thead{display:none}.students-table tbody{display:block}.students-table tbody tr{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:var(--shadow-sm);grid-template-columns:1fr;gap:.35rem;margin-bottom:.6rem;padding:.85rem .9rem;display:grid}.students-table tbody tr:hover{background:var(--bg-elevated)}.students-table tbody tr:last-child{margin-bottom:0}.students-table td{white-space:normal;word-break:break-word;text-align:right;border:none;justify-content:space-between;align-items:center;gap:.75rem;padding:.3rem 0;display:flex}.students-table td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.06em;color:var(--text-soft);flex:none;font-size:.7rem;font-weight:700}.students-table td:first-child{border-bottom:1px solid var(--border-soft);text-align:left;justify-content:flex-start;margin-bottom:.2rem;padding-bottom:.6rem}.students-table td:first-child:before{display:none}.students-table td:first-child .student-name-cell{flex:1;min-width:0}.students-table td:first-child .student-avatar{width:2.4rem;height:2.4rem;font-size:.9rem}.students-table td:first-child .student-name-main,.students-table td:first-child .student-name-sub{white-space:normal}.students-table td.student-actions{border-top:1px solid var(--border-soft);flex-wrap:wrap;justify-content:flex-end;margin-top:.25rem;padding-top:.55rem}.students-table td.student-actions:before{display:none}.students-table-empty{text-align:center;border:1px dashed var(--border-soft);border-radius:var(--radius-md);background:var(--bg-elevated);padding:1.5rem 1rem!important;display:block!important}.students-table-empty:before{display:none}.student-form-panel{border-radius:14px;width:calc(100vw - 1rem);max-height:94vh}.student-form-header{padding:.9rem 1rem}.student-form-header h2{font-size:1.15rem}.student-form-body{gap:.9rem;padding:.9rem 1rem 1.1rem}.form-section{padding:.8rem .9rem .9rem}.student-form-footer{flex-wrap:wrap;padding:.75rem 1rem}.student-form-footer .button{flex:auto;justify-content:center}.student-form-grid,.student-photo-field{grid-template-columns:1fr}.student-photo-preview{width:4.5rem;height:4.5rem}.student-details-panel{border-radius:14px;width:calc(100vw - 1rem);max-height:92vh}.student-details-header{padding:.9rem 1rem .4rem}.student-details-content{padding:.9rem 1rem 1.1rem}.student-details-grid{grid-template-columns:1fr}.student-details-hero{align-items:flex-start}}@media (width<=420px){.admin-page-header h1{font-size:1.35rem}.icon-btn{--icon-size:2rem}.icon-btn-lg{--icon-size:2.2rem}.student-form-header h2{font-size:1.05rem}.form-section-title{font-size:.72rem}}.history-page{gap:var(--space-3);display:grid}.history-toolbar{grid-template-columns:minmax(0,1fr) 14rem auto}.history-active-filter{margin:0 0 var(--space-2);border:1px solid var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--bg-elevated));color:var(--text-main);border-radius:999px;align-items:center;gap:.5rem;width:fit-content;padding:.4rem .65rem;font-size:.9rem;display:inline-flex}.history-active-filter[hidden]{display:none}.history-active-filter-label{color:var(--text-soft)}.history-active-filter-name{font-weight:600}.history-active-filter-clear{width:1.5rem;height:1.5rem;color:var(--text-soft);cursor:pointer;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.history-active-filter-clear:hover{background:var(--bg-hover);color:var(--text-main)}.history-table th:first-child,.history-table td:first-child{width:11rem}.history-date,.history-actor{color:var(--text-soft);white-space:nowrap;align-items:center;gap:.35rem;display:inline-flex}.history-date svg,.history-actor svg{color:var(--accent);flex-shrink:0}.history-student{color:var(--text-main);font-weight:600;display:block}.history-student-sub{color:var(--text-muted);font-size:.78rem;display:block}.history-action-badge{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border-soft);background:var(--bg-main);color:var(--text-main);white-space:nowrap;border-radius:999px;align-items:center;padding:.22rem .65rem;font-size:.76rem;font-weight:700;display:inline-flex}.history-action-badge.is-create{color:#1b7f3a;background:#22c55e2e;border-color:#22c55e59}.history-action-badge.is-update{color:#0f6d8e;background:#0ea5e92e;border-color:#0ea5e959}.history-action-badge.is-delete{color:#a52828;background:#ef44442e;border-color:#ef444459}.history-action-badge.is-deactivate{color:#8a6b00;background:#eab3082e;border-color:#eab30859}.history-action-badge.is-link{color:#6b21a8;background:#a855f72e;border-color:#a855f759}html[data-theme=light]{--bg-main:#f7f8f8;--bg-elevated:#fff;--bg-hover:#eef1f2;--bg-glow:#f1d9b4;--bg-glow-soft:#d9e7f5;--text-main:#0e1b22;--text-soft:#394c57;--border-soft:#d6dde0;--border-strong:#abb9bf;--accent:#bd2d2a;--accent-contrast:#fff;--focus-ring:#1f6aa2}html[data-theme=dark]{--bg-main:#0f1518;--bg-elevated:#162026;--bg-hover:#1f2c33;--bg-glow:#592f2f;--bg-glow-soft:#203446;--text-main:#ebf0f2;--text-soft:#bdc8cd;--border-soft:#2f3c45;--border-strong:#4a5a66;--accent:#dd5a4e;--accent-contrast:#0c0f10;--focus-ring:#7ac0ff}@media (prefers-color-scheme:dark){html:not([data-theme]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}}@media (width>=48rem){.nav-desktop{display:flex}.menu-toggle{display:none}.brand{margin-right:0}.nav-controls{margin-left:0}.card-grid,.stats-grid,.schedule-grid,.contact-grid,.official-docs,.gallery-grid{grid-template-columns:repeat(2,1fr)}.official-brand{grid-template-columns:14rem 1fr}.official-logo-wrap{justify-content:flex-start}.footer-grid{grid-template-columns:1fr 1fr}}@media (width>=64rem){.card-grid,.stats-grid,.schedule-grid{grid-template-columns:repeat(3,1fr)}.gallery-grid{grid-template-rows:auto auto;grid-template-columns:repeat(3,1fr)}.gallery-item--wide{grid-column:1/-1}.footer-grid{grid-template-columns:1.6fr 1fr 1fr 1.2fr}.nav-link{padding:.4rem .48rem;font-size:.84rem}}@media (width>=80rem){.nav-link{padding:.42rem .6rem;font-size:.9rem}}@media (width<=47.99rem){.container{width:min(100% - 1.5rem, var(--container))}.home-section{padding:3.25rem 0}.section-head{margin-bottom:var(--space-4)}.section-title{font-size:1.75rem}.section-desc{font-size:1.02rem;line-height:1.6}body{font-size:1rem;line-height:1.6}p{font-size:1.02rem;line-height:1.65}h1{font-size:1.9rem;line-height:1.15}h2{font-size:1.55rem;line-height:1.2}h3{font-size:1.2rem;line-height:1.3}.hero-fullscreen{min-height:92svh}.hero-content{gap:var(--space-4);padding-top:6rem;padding-bottom:5rem}.hero-title{font-size:clamp(2.6rem,11vw,3.8rem)}.hero-lead{font-size:1.05rem;line-height:1.55}.kicker{font-size:.95rem}.pill{padding:.5rem 1rem;font-size:.95rem}.navbar{gap:.5rem;height:4.25rem}html.has-hero-page,html.has-hero-page body{max-width:100%;overflow-x:hidden}html.has-hero-page .site-header,html.has-hero-page .site-main,html.has-hero-page .hero-fullscreen{max-width:100%;overflow-x:clip}html.has-hero-page .navbar{width:100%;min-width:0}html.has-hero-page .brand{min-width:0;overflow:hidden}html.has-hero-page .nav-controls{flex-shrink:0;margin-left:auto}.site-header,html.has-hero-page .site-header{background:color-mix(in srgb, var(--bg-elevated) 96%, transparent);-webkit-backdrop-filter:blur(14px);color:var(--text-main);box-shadow:0 1px 24px #0000001a}html.has-hero-page .site-header .brand-logo{border-color:var(--border-strong)}html.has-hero-page .site-header .nav-link{color:var(--text-soft)}html.has-hero-page .site-header .nav-link:hover,html.has-hero-page .site-header .nav-link.is-active{color:var(--text-main);background:var(--bg-hover)}html.has-hero-page .site-header .nav-separator{background:var(--border-soft)}html.has-hero-page .site-header .select-control{border-color:var(--border-strong);background:var(--bg-main);color:var(--text-main)}html.has-hero-page .site-header .nav-icon-btn{border-color:var(--border-strong);color:var(--text-main)}html.has-hero-page .site-header .nav-icon-btn:hover{background:var(--bg-hover)}.brand-logo{border-width:2px;width:2.5rem;height:2.5rem}.brand-name{letter-spacing:.1em;font-size:1rem}.nav-controls{gap:.35rem}.menu-toggle{justify-content:center;align-items:center;min-width:2.75rem;min-height:2.75rem;padding:.6rem .55rem}.burger-bar{width:26px;height:2.5px}.nav-icon-btn{min-width:2.5rem;min-height:2.5rem;padding:.5rem .65rem;font-size:1.05rem}.select-control{min-height:2.5rem;padding:.45rem .55rem;font-size:.95rem}.nav-overlay{gap:var(--space-5);-webkit-overflow-scrolling:touch;min-height:100dvh;padding:calc(4.75rem + env(safe-area-inset-top)) 1.25rem calc(1.25rem + env(safe-area-inset-bottom));justify-content:flex-start;overflow-y:auto}.overlay-close{top:calc(.75rem + env(safe-area-inset-top));align-items:center;min-width:2.75rem;min-height:2.75rem;padding:.6rem;right:.75rem}.overlay-links{gap:.25rem;width:100%;max-width:22rem}.overlay-link{text-align:center;width:100%;min-height:3rem;padding:.75rem 1.25rem;font-size:1.7rem}.overlay-cta{width:100%;max-width:18rem;min-height:3rem;padding:.9rem 2rem;font-size:1.05rem}.button{border-radius:var(--radius-md);min-height:2.75rem;padding:.85rem 1.5rem;font-size:1rem}.hero-actions .button,.member-actions .button{flex:auto;min-width:10rem}.form-input,input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],input[type=search],input[type=date],select,textarea{border-radius:var(--radius-md);min-height:2.85rem;padding:.75rem .85rem;font-size:16px}textarea{min-height:6rem}.form-label{font-size:1rem}.form-card{padding:var(--space-4);gap:var(--space-3)}.form-error,.form-success{font-size:.98rem}.phone-field{grid-template-columns:1fr auto;gap:.6rem}.phone-field .phone-field-description{grid-column:1/-1;font-size:.92rem}.card-grid{gap:var(--space-3)}.card{padding:var(--space-4)}.card h3{margin-bottom:.55rem;font-size:1.2rem}.stat-card{padding:var(--space-4) var(--space-3)}.stat-value{font-size:2.4rem}.stat-card p{font-size:1rem}.schedule-grid{gap:var(--space-3)}.schedule-item{padding:var(--space-4);gap:.5rem}.day{font-size:1.15rem}.schedule-time{font-size:1.05rem}.contact-grid{gap:var(--space-3)}.contact-card{padding:var(--space-4)}.contact-icon{font-size:2.2rem}.contact-card h3{font-size:1.15rem}.contact-card a,.contact-card p{word-break:break-word;font-size:1rem}.gallery-grid{gap:var(--space-3)}.gallery-item img{min-height:12rem}.gallery-item figcaption{padding:2rem .9rem .8rem;font-size:1rem}.official-logo{width:min(100%,12rem)}.official-docs{gap:var(--space-3)}.document-card figcaption{padding:var(--space-3);gap:.55rem}.document-card figcaption h3{font-size:1.1rem}.member-cta{gap:var(--space-4)}.member-actions{flex-direction:column;align-items:stretch;gap:.75rem}.member-actions .button{width:100%;min-width:0}.footer-grid{gap:var(--space-5);padding:var(--space-5) 0}.footer-col-title{font-size:1.05rem}.footer-nav{gap:.65rem}.footer-link{align-items:center;min-height:2.5rem;padding:.35rem 0;font-size:1rem;display:inline-flex}.footer-schedule,.footer-contact{gap:.55rem;font-size:1rem}.footer-bottom-inner{flex-direction:column;align-items:flex-start;gap:.5rem;font-size:.92rem}.footer-logo{width:4.5rem;height:4.5rem}.footer-tagline{font-size:1.05rem}.member-app-shell{gap:var(--space-3);flex-direction:column;display:flex}.member-menu-toggle{z-index:30;background:var(--bg-elevated);background-image:linear-gradient(135deg, var(--bg-elevated), var(--bg-hover));-webkit-backdrop-filter:blur(10px);min-height:3.25rem;margin:0;padding:.8rem 1rem;font-size:1rem;display:flex;position:sticky;top:0;box-shadow:0 6px 18px #0000002e}.member-menu-toggle-current{font-size:1.05rem}.member-menu-toggle-logo{width:2.4rem;height:2.4rem}.member-sidebar{border-radius:0 var(--radius-lg) var(--radius-lg) 0;z-index:60;width:min(86vw,22rem);max-height:100vh;transition:transform .28s var(--easing-main);padding:var(--space-4);position:fixed;inset:0 auto 0 0;overflow-y:auto;transform:translate(-105%)}body.has-member-menu-open .member-sidebar{transform:translate(0)}.member-sidebar-close{border:1px solid var(--border-soft);background:var(--bg-main);min-width:2.75rem;min-height:2.75rem;color:var(--text-main);border-radius:var(--radius-sm);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.member-menu-item{min-height:3rem;padding:.85rem .9rem;font-size:1rem}.member-app-topbar{border-radius:var(--radius-md);flex-direction:row;align-items:center;gap:.5rem;padding:.55rem .7rem}.member-app-topbar-info{flex-direction:column;flex:auto;min-width:0;line-height:1.15;display:flex}.member-app-topbar .auth-only-kicker{display:none}.member-account-email{white-space:nowrap;text-overflow:ellipsis;max-width:100%;margin:0;font-size:.92rem;font-weight:600;overflow:hidden}.member-topbar-actions{flex-shrink:0;justify-content:flex-end;gap:.35rem;width:auto}.member-topbar-actions .select-control{max-width:4.5rem;min-height:2.25rem;padding:.3rem .35rem;font-size:.85rem}.member-topbar-actions .nav-icon-btn{min-width:2.25rem;min-height:2.25rem;padding:.35rem}.member-app-logout{border-radius:var(--radius-sm);flex-shrink:0;width:2.25rem;min-height:2.25rem;padding:0}.member-app-logout-label{display:none}.member-app-logout-icon{width:18px;height:18px}.member-content-panel{padding:var(--space-3)}.students-toolbar{margin-bottom:var(--space-2);grid-template-columns:1fr;gap:.5rem}.students-list-card,.students-history-card{padding:var(--space-2)}.students-table-wrap{background:0 0;border:none;border-radius:0;overflow:visible}.students-table{border-collapse:collapse;width:100%;min-width:0}.students-table thead{display:none}.students-table,.students-table tbody,.students-table tr,.students-table td{display:block}.students-table tbody tr{border:1px solid var(--border-soft);border-radius:var(--radius-md);background:var(--bg-elevated);align-items:center;gap:.5rem;min-height:3.25rem;margin-bottom:.5rem;padding:.55rem .65rem;display:flex}.students-table tbody tr:hover{background:var(--bg-elevated)}.students-table tbody td{background:0 0;border:none;padding:0}.students-table tbody td:nth-child(2),.students-table tbody td:nth-child(3),.students-table tbody td:nth-child(4),.students-table tbody td:nth-child(5),.students-table tbody td:nth-child(7){display:none}.students-table tbody td:first-child{flex:auto;min-width:0}.student-name-cell{gap:.55rem}.student-avatar{width:2.4rem;height:2.4rem;font-size:.9rem}.student-name-main{font-size:.98rem;line-height:1.2}.student-name-sub{font-size:.78rem;line-height:1.2}.students-table tbody td:nth-child(6){flex:none}.students-table tbody .student-status{border-radius:50%;width:.7rem;height:.7rem;padding:0;font-size:0;overflow:hidden}.students-table tbody .student-status:before{width:.7rem;height:.7rem;margin:0}.students-table tbody td:last-child{flex:none;justify-content:flex-end;gap:.15rem;display:flex}.student-actions{flex-wrap:nowrap;gap:.15rem;display:flex}.student-actions .icon-btn{--icon-size:2rem;border-radius:8px}.student-actions .icon-btn svg{width:15px;height:15px}.students-table-empty{text-align:center;color:var(--text-muted);border:1px dashed var(--border-soft);border-radius:var(--radius-md);background:var(--bg-main);padding:1.25rem .75rem!important;display:block!important}.students-table tbody tr:has(.students-table-empty){background:0 0;border:none;min-height:0;padding:0;display:block}.admin-page-header{padding:var(--space-3);flex-direction:column;align-items:stretch;gap:.65rem}.admin-page-header h1{margin:0;font-size:1.45rem}.admin-page-header .auth-only-kicker{font-size:.72rem}.students-subtitle{font-size:.9rem}.students-header-actions .button{width:100%}.history-toolbar{grid-template-columns:1fr}.history-table tbody tr{flex-direction:column;align-items:stretch;gap:.25rem;padding:.65rem .75rem}.history-table tbody td{display:block!important}.history-table tbody td:first-child,.history-table tbody td:nth-child(2){vertical-align:middle;margin-right:.5rem;display:inline-flex!important}.history-table tbody td:first-child{font-size:.82rem}.history-table tbody td:nth-child(3){margin-top:.15rem}.history-table tbody td:nth-child(4){font-size:.85rem}.history-student{font-size:1rem}.history-action-badge{padding:.18rem .55rem;font-size:.68rem}.history-active-filter{width:100%}.history-active-filter-name{text-overflow:ellipsis;white-space:nowrap;flex:auto;min-width:0;overflow:hidden}.students-grid{grid-template-columns:1fr}.icon-btn{--icon-size:2.6rem;border-radius:12px}.icon-btn svg{width:18px;height:18px}.icon-btn-lg{--icon-size:2.9rem}.icon-btn-lg svg{width:20px;height:20px}.modal{align-items:flex-end;padding:0}.modal-panel{border-radius:var(--radius-lg) var(--radius-lg) 0 0;width:100%;max-height:92vh;padding:var(--space-4);gap:var(--space-3);overflow-y:auto}.auth-only-main{padding:var(--space-3) var(--space-2)}.auth-only-card{padding:var(--space-4);gap:var(--space-3)}.scroll-hint{bottom:1.25rem}.nav-user-label{text-align:center;padding:.25rem .5rem;font-size:.95rem}.student-link-option{min-height:2.75rem;padding:.65rem 1rem;font-size:.98rem}.hero-pills{gap:.55rem}.hero-bg{filter:blur(2px)}}@media (width<=30.875rem){.container{width:min(100% - 1rem, var(--container))}.navbar{gap:.35rem;height:4rem}.brand-logo{width:2.25rem;height:2.25rem}.brand-name{letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;max-width:8rem;font-size:.92rem;overflow:hidden}.nav-controls{gap:.3rem}.nav-icon-btn{min-width:2.4rem;min-height:2.4rem;padding:.4rem .5rem}.select-control{max-width:4rem;min-height:2.4rem;padding:.4rem;font-size:.88rem}.menu-toggle{min-width:2.5rem;min-height:2.5rem;padding:.55rem .5rem}.member-app-topbar{gap:.35rem;padding:.45rem .55rem}.member-topbar-actions{gap:.25rem}.member-topbar-actions .select-control{max-width:3.5rem;min-height:2rem;padding:.25rem .3rem;font-size:.8rem}.member-topbar-actions .nav-icon-btn{min-width:2rem;min-height:2rem;padding:.3rem;font-size:.95rem}.member-app-logout{border-radius:var(--radius-sm);width:2rem;min-height:2rem}.member-app-logout-icon{width:16px;height:16px}.member-account-email{font-size:.85rem}.member-sidebar{width:min(92vw,22rem);padding:var(--space-3)}.member-menu-toggle{min-height:3rem;padding:.65rem .8rem;font-size:.95rem}.member-menu-toggle-current{font-size:1rem}.member-menu-toggle-kicker{font-size:.65rem}.member-menu-toggle-logo{width:2.1rem;height:2.1rem}.admin-page-header{gap:.5rem;padding:.85rem .9rem}.admin-page-header h1{font-size:1.3rem}.admin-page-header .auth-only-kicker{font-size:.68rem}.students-subtitle{font-size:.85rem;line-height:1.4}.students-header-actions .button{min-height:2.5rem;padding:.65rem 1rem;font-size:.92rem}.students-toolbar{gap:.4rem;margin-bottom:.65rem}.students-toolbar .form-input{min-height:2.6rem;padding:.55rem .65rem}.students-toolbar-search .form-input{padding-left:2.2rem}.students-toolbar-search-icon{left:.55rem}.students-list-card,.students-history-card{padding:.65rem}.students-table tbody tr{flex-wrap:wrap;gap:.4rem;min-height:0;padding:.55rem .6rem}.students-table tbody td:first-child{flex:auto;order:1;min-width:0}.students-table tbody td:nth-child(6){flex:none;order:2}.students-table tbody td:last-child{border-top:1px dashed var(--border-soft);flex:1 0 100%;order:3;justify-content:flex-end;gap:.2rem;margin-top:.15rem;padding-top:.15rem}.student-actions{gap:.2rem}.student-actions .icon-btn{--icon-size:2.1rem}.student-actions .icon-btn svg{width:16px;height:16px}.student-avatar{width:2.2rem;height:2.2rem;font-size:.85rem}.student-name-main{font-size:.94rem}.student-name-sub{font-size:.74rem}.history-table tbody tr{gap:.15rem;padding:.6rem .7rem}.history-table tbody td{font-size:.85rem}.history-table tbody td:first-child,.history-table tbody td:nth-child(2){margin-right:.4rem;font-size:.78rem}.history-action-badge{padding:.15rem .45rem;font-size:.64rem}.history-student{font-size:.95rem}.history-student-sub{font-size:.72rem}.history-active-filter{padding:.35rem .55rem;font-size:.82rem}.student-form-panel,.student-details-panel,.user-picker-panel{border-left:none;border-right:none;max-width:100vw;height:100vh;max-height:100vh;border-radius:0!important;width:100vw!important}.student-form-header,.student-details-header{padding:.8rem .9rem}.student-form-header h2{font-size:1.05rem}.student-form-body{gap:.75rem;padding:.8rem .9rem 1rem}.form-section{gap:.55rem;padding:.7rem .8rem .8rem}.form-section-title{font-size:.7rem}.student-form-footer{flex-wrap:wrap;gap:.4rem;padding:.65rem .8rem}.student-form-footer .button{flex:calc(50% - .25rem);min-width:0;min-height:2.5rem;padding:.6rem .8rem;font-size:.9rem}.student-form-footer #student-save{flex-basis:100%;order:-1}.student-photo-field{gap:.65rem}.student-photo-preview{width:4rem;height:4rem}.student-photo-actions{flex-wrap:wrap;gap:.35rem}.student-photo-actions .button{flex:calc(50% - .2rem);padding:.5rem .6rem;font-size:.82rem}.phone-field{border:1px solid var(--border-soft);border-radius:var(--radius-sm);background:var(--bg-elevated);grid-template-columns:1fr;gap:.4rem;padding:.5rem}.phone-field .form-input{min-height:2.5rem}.user-picker-header{padding:.8rem .9rem}.user-picker-search{padding:0 .9rem}.user-picker-results{padding:0 .9rem .9rem}.home-section{padding:2.5rem 0}.section-head{margin-bottom:var(--space-3)}.section-title{font-size:1.55rem}.hero-title{font-size:clamp(2.2rem,12vw,3.2rem)}.hero-content{padding-top:5.5rem;padding-bottom:4rem}.button{padding:.75rem 1.25rem;font-size:.95rem}.hero-actions .button,.member-actions .button{flex:1 0 100%;width:100%;min-width:0}.footer-grid{gap:var(--space-4);padding:var(--space-4) 0}.footer-logo{width:3.5rem;height:3.5rem}.footer-tagline{font-size:1rem}.auth-only-card{padding:var(--space-3)}.form-card{padding:var(--space-3);gap:var(--space-2)}}@media (width<=22.5rem){.brand-name{display:none}.navbar{gap:.25rem}.nav-controls{gap:.2rem}.nav-icon-btn{min-width:2.2rem;min-height:2.2rem;padding:.35rem .4rem}.select-control{max-width:3.2rem;padding:.3rem .25rem}.menu-toggle{min-width:2.3rem;min-height:2.3rem}.member-account-email{font-size:.8rem}.student-actions .icon-btn{--icon-size:1.95rem}.student-actions .icon-btn svg{width:14px;height:14px}.student-avatar{width:2rem;height:2rem;font-size:.8rem}.student-name-main{font-size:.9rem}.student-name-sub{font-size:.7rem}.admin-page-header h1{font-size:1.2rem}.section-title{font-size:1.4rem}}.flatpickr-calendar{opacity:0;text-align:center;visibility:hidden;box-sizing:border-box;-ms-touch-action:manipulation;touch-action:manipulation;direction:ltr;background:#fff;border:0;border-radius:5px;width:307.875px;padding:0;font-size:14px;line-height:24px;animation:none;display:none;position:absolute;box-shadow:1px 0 #e6e6e6,-1px 0 #e6e6e6,0 1px #e6e6e6,0 -1px #e6e6e6,0 3px 13px #00000014}.flatpickr-calendar.open,.flatpickr-calendar.inline{opacity:1;visibility:visible;max-height:640px}.flatpickr-calendar.open{z-index:99999;display:inline-block}.flatpickr-calendar.animate.open{animation:.3s cubic-bezier(.23,1,.32,1) fpFadeInDown}.flatpickr-calendar.inline{display:block;position:relative;top:2px}.flatpickr-calendar.static{position:absolute;top:calc(100% + 2px)}.flatpickr-calendar.static.open{z-index:999;display:block}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+1) .flatpickr-day.inRange:nth-child(7n+7){-webkit-box-shadow:none!important;box-shadow:none!important}.flatpickr-calendar.multiMonth .flatpickr-days .dayContainer:nth-child(n+2) .flatpickr-day.inRange:nth-child(7n+1){box-shadow:-2px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-calendar .hasWeeks .dayContainer,.flatpickr-calendar .hasTime .dayContainer{border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.flatpickr-calendar .hasWeeks .dayContainer{border-left:0}.flatpickr-calendar.hasTime .flatpickr-time{border-top:1px solid #e6e6e6;height:40px}.flatpickr-calendar.noCalendar.hasTime .flatpickr-time{height:auto}.flatpickr-calendar:before,.flatpickr-calendar:after{pointer-events:none;content:"";border:solid #0000;width:0;height:0;display:block;position:absolute;left:22px}.flatpickr-calendar.rightMost:before,.flatpickr-calendar.arrowRight:before,.flatpickr-calendar.rightMost:after,.flatpickr-calendar.arrowRight:after{left:auto;right:22px}.flatpickr-calendar.arrowCenter:before,.flatpickr-calendar.arrowCenter:after{left:50%;right:50%}.flatpickr-calendar:before{border-width:5px;margin:0 -5px}.flatpickr-calendar:after{border-width:4px;margin:0 -4px}.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{bottom:100%}.flatpickr-calendar.arrowTop:before{border-bottom-color:#e6e6e6}.flatpickr-calendar.arrowTop:after{border-bottom-color:#fff}.flatpickr-calendar.arrowBottom:before,.flatpickr-calendar.arrowBottom:after{top:100%}.flatpickr-calendar.arrowBottom:before{border-top-color:#e6e6e6}.flatpickr-calendar.arrowBottom:after{border-top-color:#fff}.flatpickr-calendar:focus{outline:0}.flatpickr-wrapper{display:inline-block;position:relative}.flatpickr-months{display:flex}.flatpickr-months .flatpickr-month{color:#000000e6;fill:#000000e6;text-align:center;-webkit-user-select:none;user-select:none;background:0 0;flex:1;height:34px;line-height:1;position:relative;overflow:hidden}.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{-webkit-user-select:none;user-select:none;cursor:pointer;z-index:3;color:#000000e6;fill:#000000e6;height:34px;padding:10px;text-decoration:none;position:absolute;top:0}.flatpickr-months .flatpickr-prev-month.flatpickr-disabled,.flatpickr-months .flatpickr-next-month.flatpickr-disabled{display:none}.flatpickr-months .flatpickr-prev-month i,.flatpickr-months .flatpickr-next-month i{position:relative}.flatpickr-months .flatpickr-prev-month.flatpickr-prev-month,.flatpickr-months .flatpickr-next-month.flatpickr-prev-month{left:0}.flatpickr-months .flatpickr-prev-month.flatpickr-next-month,.flatpickr-months .flatpickr-next-month.flatpickr-next-month{right:0}.flatpickr-months .flatpickr-prev-month:hover,.flatpickr-months .flatpickr-next-month:hover{color:#959ea9}.flatpickr-months .flatpickr-prev-month:hover svg,.flatpickr-months .flatpickr-next-month:hover svg{fill:#f64747}.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:14px;height:14px}.flatpickr-months .flatpickr-prev-month svg path,.flatpickr-months .flatpickr-next-month svg path{fill:inherit;transition:fill .1s}.numInputWrapper{height:auto;position:relative}.numInputWrapper input,.numInputWrapper span{display:inline-block}.numInputWrapper input{width:100%}.numInputWrapper input::-ms-clear{display:none}.numInputWrapper input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.numInputWrapper input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.numInputWrapper span{opacity:0;cursor:pointer;box-sizing:border-box;border:1px solid #39393926;width:14px;height:50%;padding:0 4px 0 2px;line-height:50%;position:absolute;right:0}.numInputWrapper span:hover{background:#0000001a}.numInputWrapper span:active{background:#0003}.numInputWrapper span:after{content:"";display:block;position:absolute}.numInputWrapper span.arrowUp{border-bottom:0;top:0}.numInputWrapper span.arrowUp:after{border-bottom:4px solid #39393999;border-left:4px solid #0000;border-right:4px solid #0000;top:26%}.numInputWrapper span.arrowDown{top:50%}.numInputWrapper span.arrowDown:after{border-top:4px solid #39393999;border-left:4px solid #0000;border-right:4px solid #0000;top:40%}.numInputWrapper span svg{width:inherit;height:auto}.numInputWrapper span svg path{fill:#00000080}.numInputWrapper:hover{background:#0000000d}.numInputWrapper:hover span{opacity:1}.flatpickr-current-month{font-size:135%;line-height:inherit;color:inherit;text-align:center;width:75%;height:34px;padding:7.48px 0 0;font-weight:300;line-height:1;display:inline-block;position:absolute;left:12.5%;transform:translate(0,0)}.flatpickr-current-month span.cur-month{color:inherit;margin-left:.5ch;padding:0;font-family:inherit;font-weight:700;display:inline-block}.flatpickr-current-month span.cur-month:hover{background:#0000000d}.flatpickr-current-month .numInputWrapper{width:6ch;width:7ch�;display:inline-block}.flatpickr-current-month .numInputWrapper span.arrowUp:after{border-bottom-color:#000000e6}.flatpickr-current-month .numInputWrapper span.arrowDown:after{border-top-color:#000000e6}.flatpickr-current-month input.cur-year{box-sizing:border-box;color:inherit;cursor:text;font-size:inherit;font-family:inherit;font-weight:300;line-height:inherit;height:auto;vertical-align:initial;appearance:textfield;background:0 0;border:0;border-radius:0;margin:0;padding:0 0 0 .5ch;display:inline-block}.flatpickr-current-month input.cur-year:focus{outline:0}.flatpickr-current-month input.cur-year[disabled],.flatpickr-current-month input.cur-year[disabled]:hover{color:#00000080;pointer-events:none;background:0 0;font-size:100%}.flatpickr-current-month .flatpickr-monthDropdown-months{appearance:menulist;box-sizing:border-box;color:inherit;cursor:pointer;font-size:inherit;height:auto;font-family:inherit;font-weight:300;line-height:inherit;vertical-align:initial;background:0 0;border:none;border-radius:0;outline:none;width:auto;margin:-1px 0 0;padding:0 0 0 .5ch;position:relative}.flatpickr-current-month .flatpickr-monthDropdown-months:focus,.flatpickr-current-month .flatpickr-monthDropdown-months:active{outline:none}.flatpickr-current-month .flatpickr-monthDropdown-months:hover{background:#0000000d}.flatpickr-current-month .flatpickr-monthDropdown-months .flatpickr-monthDropdown-month{background-color:#0000;outline:none;padding:0}.flatpickr-weekdays{text-align:center;background:0 0;align-items:center;width:100%;height:28px;display:flex;overflow:hidden}.flatpickr-weekdays .flatpickr-weekdaycontainer{flex:1;display:flex}span.flatpickr-weekday{cursor:default;color:#0000008a;text-align:center;background:0 0;flex:1;margin:0;font-size:90%;font-weight:bolder;line-height:1;display:block}.dayContainer,.flatpickr-weeks{padding:1px 0 0}.flatpickr-days{align-items:flex-start;width:307.875px;display:flex;position:relative;overflow:hidden}.flatpickr-days:focus{outline:0}.dayContainer{text-align:left;box-sizing:border-box;opacity:1;outline:0;flex-wrap:wrap;justify-content:space-around;width:307.875px;min-width:307.875px;max-width:307.875px;padding:0;display:flex;transform:translate(0,0)}.dayContainer+.dayContainer{box-shadow:-1px 0 #e6e6e6}.flatpickr-day{box-sizing:border-box;color:#393939;cursor:pointer;text-align:center;background:0 0;border:1px solid #0000;border-radius:150px;flex-basis:14.2857%;justify-content:center;width:14.2857%;max-width:39px;height:39px;margin:0;font-weight:400;line-height:39px;display:inline-block;position:relative}.flatpickr-day.inRange,.flatpickr-day.prevMonthDay.inRange,.flatpickr-day.nextMonthDay.inRange,.flatpickr-day.today.inRange,.flatpickr-day.prevMonthDay.today.inRange,.flatpickr-day.nextMonthDay.today.inRange,.flatpickr-day:hover,.flatpickr-day.prevMonthDay:hover,.flatpickr-day.nextMonthDay:hover,.flatpickr-day:focus,.flatpickr-day.prevMonthDay:focus,.flatpickr-day.nextMonthDay:focus{cursor:pointer;background:#e6e6e6;border-color:#e6e6e6;outline:0}.flatpickr-day.today{border-color:#959ea9}.flatpickr-day.today:hover,.flatpickr-day.today:focus{color:#fff;background:#959ea9;border-color:#959ea9}.flatpickr-day.selected,.flatpickr-day.startRange,.flatpickr-day.endRange,.flatpickr-day.selected.inRange,.flatpickr-day.startRange.inRange,.flatpickr-day.endRange.inRange,.flatpickr-day.selected:focus,.flatpickr-day.startRange:focus,.flatpickr-day.endRange:focus,.flatpickr-day.selected:hover,.flatpickr-day.startRange:hover,.flatpickr-day.endRange:hover,.flatpickr-day.selected.prevMonthDay,.flatpickr-day.startRange.prevMonthDay,.flatpickr-day.endRange.prevMonthDay,.flatpickr-day.selected.nextMonthDay,.flatpickr-day.startRange.nextMonthDay,.flatpickr-day.endRange.nextMonthDay{-webkit-box-shadow:none;box-shadow:none;color:#fff;background:#569ff7;border-color:#569ff7}.flatpickr-day.selected.startRange,.flatpickr-day.startRange.startRange,.flatpickr-day.endRange.startRange{border-radius:50px 0 0 50px}.flatpickr-day.selected.endRange,.flatpickr-day.startRange.endRange,.flatpickr-day.endRange.endRange{border-radius:0 50px 50px 0}.flatpickr-day.selected.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.startRange.startRange+.endRange:not(:nth-child(7n+1)),.flatpickr-day.endRange.startRange+.endRange:not(:nth-child(7n+1)){box-shadow:-10px 0 #569ff7}.flatpickr-day.selected.startRange.endRange,.flatpickr-day.startRange.startRange.endRange,.flatpickr-day.endRange.startRange.endRange{border-radius:50px}.flatpickr-day.inRange{border-radius:0;box-shadow:-5px 0 #e6e6e6,5px 0 #e6e6e6}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover,.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay,.flatpickr-day.notAllowed,.flatpickr-day.notAllowed.prevMonthDay,.flatpickr-day.notAllowed.nextMonthDay{color:#3939394d;cursor:default;background:0 0;border-color:#0000}.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{cursor:not-allowed;color:#3939391a}.flatpickr-day.week.selected{border-radius:0;box-shadow:-5px 0 #569ff7,5px 0 #569ff7}.flatpickr-day.hidden{visibility:hidden}.rangeMode .flatpickr-day{margin-top:1px}.flatpickr-weekwrapper{float:left}.flatpickr-weekwrapper .flatpickr-weeks{padding:0 12px;box-shadow:1px 0 #e6e6e6}.flatpickr-weekwrapper .flatpickr-weekday{float:none;width:100%;line-height:28px}.flatpickr-weekwrapper span.flatpickr-day,.flatpickr-weekwrapper span.flatpickr-day:hover{color:#3939394d;cursor:default;background:0 0;border:none;width:100%;max-width:none;display:block}.flatpickr-innerContainer{box-sizing:border-box;display:flex;overflow:hidden}.flatpickr-rContainer{box-sizing:border-box;padding:0;display:inline-block}.flatpickr-time{text-align:center;box-sizing:border-box;outline:0;height:0;max-height:40px;line-height:40px;display:flex;overflow:hidden}.flatpickr-time:after{content:"";clear:both;display:table}.flatpickr-time .numInputWrapper{float:left;flex:1;width:40%;height:40px}.flatpickr-time .numInputWrapper span.arrowUp:after{border-bottom-color:#393939}.flatpickr-time .numInputWrapper span.arrowDown:after{border-top-color:#393939}.flatpickr-time.hasSeconds .numInputWrapper{width:26%}.flatpickr-time.time24hr .numInputWrapper{width:49%}.flatpickr-time input{-webkit-box-shadow:none;box-shadow:none;text-align:center;height:inherit;line-height:inherit;color:#393939;box-sizing:border-box;appearance:textfield;background:0 0;border:0;border-radius:0;margin:0;padding:0;font-size:14px;position:relative}.flatpickr-time input.flatpickr-hour{font-weight:700}.flatpickr-time input.flatpickr-minute,.flatpickr-time input.flatpickr-second{font-weight:400}.flatpickr-time input:focus{border:0;outline:0}.flatpickr-time .flatpickr-time-separator,.flatpickr-time .flatpickr-am-pm{height:inherit;float:left;line-height:inherit;color:#393939;-webkit-user-select:none;user-select:none;align-self:center;width:2%;font-weight:700}.flatpickr-time .flatpickr-am-pm{cursor:pointer;text-align:center;outline:0;width:18%;font-weight:400}.flatpickr-time input:hover,.flatpickr-time .flatpickr-am-pm:hover,.flatpickr-time input:focus,.flatpickr-time .flatpickr-am-pm:focus{background:#eee}.flatpickr-input[readonly]{cursor:pointer}@keyframes fpFadeInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translate(0,0)}}
