:root{color:#20252c;background:#eff1f2;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-synthesis:none;text-rendering:optimizeLegibility;--canvas: #eff1f2;--canvas-deep: #dde3e7;--paper: #f6f3ee;--paper-strong: #fcfaf6;--ink: #20252c;--muted-ink: #66717d;--line: #cbd3da;--brand: #5c7184;--brand-deep: #263542;--leaf: #536976;--clay: #8091a0;--rose: #6f7f91;--shadow: 0 20px 52px rgba(28, 39, 49, .14);--motion-soft: 1.18s cubic-bezier(.18, .82, .2, 1);--motion-medium: .76s cubic-bezier(.18, .82, .2, 1)}*{box-sizing:border-box}body{background:var(--canvas);color:var(--ink);margin:0}html,body,#root{max-width:100%;overflow-x:hidden}::selection{background:#5c71843d}button,input,select,textarea{font:inherit;letter-spacing:0}h1,h2,h3,p{margin-top:0}h1{font-size:1.35rem;margin-bottom:0}h2{color:var(--brand-deep);font-size:1.05rem}h1,.loginArt h1,.studentHero h2,.studentWelcome h2{font-family:Georgia,Times New Roman,serif;font-weight:500}small{color:var(--muted-ink);font-weight:700;text-transform:uppercase}main,.teacherShell{min-width:0}.button{align-items:center;background:var(--brand);border:1px solid var(--brand);border-radius:.5rem;color:#fff;cursor:pointer;display:inline-flex;gap:.45rem;justify-content:center;min-height:2.625rem;padding:.65rem .9rem;transform:translateY(0);transition:background-color var(--motion-medium),border-color var(--motion-medium),box-shadow var(--motion-medium),color var(--motion-medium),filter var(--motion-medium),opacity var(--motion-medium),transform var(--motion-medium)}.button:hover{box-shadow:0 10px 24px #26354233;filter:brightness(1.035);transform:translateY(-1px)}.button:active{box-shadow:none;transform:translateY(0)}.button:disabled{cursor:default;filter:none;opacity:.55}.button.ghost{background:transparent;color:var(--brand-deep)}.button.icon{aspect-ratio:1;min-height:2.625rem;padding:.6rem}.iconActions{align-items:center;display:inline-flex;flex-wrap:wrap;gap:.32rem;justify-content:flex-start;min-width:max-content}.iconAction{align-items:center;background:transparent;border:1px solid transparent;border-radius:.5rem;color:var(--brand-deep);cursor:pointer;display:inline-grid;height:2rem;justify-items:center;padding:0;place-content:center;position:relative;text-decoration:none;transition:background-color var(--motion-medium),border-color var(--motion-medium),box-shadow var(--motion-medium),color var(--motion-medium),transform var(--motion-medium);width:2rem}.iconAction>span{display:inline-flex}.iconAction em{background:var(--brand-deep);border:1px solid rgba(246,243,238,.18);border-radius:.42rem;bottom:calc(100% + .42rem);box-shadow:0 .65rem 1.4rem #1c27312e;color:var(--paper-strong);font-size:.76rem;font-style:normal;font-weight:700;line-height:1;opacity:0;padding:.42rem .5rem;pointer-events:none;position:absolute;transform:translateY(.28rem);transition:opacity var(--motion-medium),transform var(--motion-medium);white-space:nowrap;z-index:4}.iconAction:hover,.iconAction:focus-visible{background:#5c71841f;border-color:#5c71844d;box-shadow:0 .55rem 1rem #2635421f;outline:none;transform:translateY(-1px)}.iconAction:hover em,.iconAction:focus-visible em{opacity:1;transform:translateY(0)}.iconAction.selected{background:var(--brand);border-color:var(--brand);color:#fff}.iconAction.danger{color:#9a3f43}.iconAction.danger:hover,.iconAction.danger:focus-visible{background:#9a3f431c;border-color:#9a3f4347}.iconAction.positive{color:#35594c}.iconAction:disabled{box-shadow:none;cursor:default;opacity:.42;transform:none}.card{background:var(--paper);border:1px solid var(--line);border-radius:.5rem;min-width:0;padding:1rem;transition:background-color var(--motion-soft),border-color var(--motion-soft),box-shadow var(--motion-soft),transform var(--motion-soft)}.card:hover{box-shadow:0 16px 38px #2635421f;transform:translateY(-2px)}.badge{background:#e2e7eb;border-radius:62.4375rem;display:inline-flex;font-size:.75rem;padding:.28rem .55rem;transition:background-color var(--motion-medium),color var(--motion-medium),transform var(--motion-medium)}.badge.active{background:#dce8e1;color:#35594c}.badge.muted{background:#e7e0e2;color:#6d4d58}.badge.warning{background:#ece4cf;color:#6d5a35}.field{display:grid;gap:.35rem;min-width:0}.field span{color:var(--muted-ink);font-size:.84rem}.field input,.field select,.field textarea{background:var(--paper-strong);border:1px solid var(--line);border-radius:.5rem;color:var(--ink);min-height:2.625rem;min-width:0;padding:.65rem;transition:background-color var(--motion-medium),border-color var(--motion-medium),box-shadow var(--motion-medium);width:100%}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--brand);box-shadow:0 0 0 4px #5c718429;outline:none}.field textarea{resize:vertical}.formGrid,.pageFlow,.stack{display:grid;gap:.85rem}.formGrid.two{grid-template-columns:repeat(auto-fit,minmax(min(100%,11.25rem),1fr))}.spanTwo{grid-column:1 / -1}.toolbar,.actions{align-items:end;display:flex;gap:.65rem}.toolbar.wrap{flex-wrap:wrap}.listFilters{align-items:end;display:grid;gap:.65rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,10.5rem),1fr));margin:.85rem 0}.listFilters.compact,.listFilters.wide{grid-template-columns:repeat(auto-fit,minmax(min(100%,9.5rem),1fr))}.notice,.error{animation:settleNotice var(--motion-soft) both;border-radius:8px;margin:0;padding:.75rem}.notice{background:#e1e7eb;color:#40515e}.error{background:#f5dcda;color:#8b302f}.check{align-items:center;display:flex;gap:.5rem;min-height:2.625rem}.assignmentBox{border:1px solid var(--line);border-radius:.5rem;display:grid;gap:.65rem;padding:.75rem}.assignmentList{border-top:1px solid var(--line);display:grid;max-height:min(42svh,21rem);overflow:auto;padding-top:.4rem}.assignmentItem{border-bottom:1px solid rgba(92,113,132,.14);justify-content:flex-start;padding:.45rem 0}.assignmentItem:last-child{border-bottom:0}.assignmentItem span{display:grid;gap:.1rem}.assignmentItem small{color:var(--muted-ink)}.swatch{border-radius:62.4375rem;display:inline-block;height:1rem;width:1rem}.tableWrap{max-height:min(64svh,38rem);max-width:100%;overflow:auto;overscroll-behavior-inline:contain}table{border-collapse:collapse;min-width:min(100%,32.5rem);table-layout:auto;width:100%}th,td{border-bottom:1px solid var(--line);padding:.7rem .5rem;text-align:left;vertical-align:top}th{background:var(--paper);color:var(--muted-ink);font-size:.82rem;position:sticky;text-transform:uppercase;top:0;z-index:1}tbody tr{transition:background-color var(--motion-medium)}tbody tr:hover{background:#fcfaf69e}.empty{border:1px dashed var(--line);border-radius:.5rem;padding:1rem}.empty p{margin-bottom:0}.meditationLoader{align-items:center;color:var(--muted-ink);display:grid;gap:.85rem;justify-items:center;min-height:13.5rem;padding:1rem;text-align:center}.card .meditationLoader,.tableWrap+.meditationLoader,.pageFlow .meditationLoader{min-height:9rem}.meditationLoader p{margin-bottom:0}.meditationAura{animation:breatheAura 2.6s cubic-bezier(.42,0,.24,1) infinite;background:radial-gradient(circle at center,rgba(92,113,132,.18),rgba(92,113,132,.04) 52%,transparent 68%);border:1px solid rgba(92,113,132,.18);border-radius:999px;height:7.5rem;position:relative;width:7.5rem}.meditationAura span{display:block;position:absolute}.meditationHead{animation:floatHead 2.6s cubic-bezier(.42,0,.24,1) infinite;background:var(--brand-deep);border-radius:999px;height:1.35rem;left:50%;top:1.62rem;transform:translate(-50%);width:1.35rem}.meditationBody{background:var(--brand);border-radius:1rem 1rem .65rem .65rem;height:2.1rem;left:50%;top:3.05rem;transform:translate(-50%);width:1.55rem}.meditationArm{background:var(--clay);border-radius:999px;height:.38rem;top:4rem;width:2.25rem}.meditationArm.left{left:2rem;transform:rotate(-24deg);transform-origin:right center}.meditationArm.right{right:2rem;transform:rotate(24deg);transform-origin:left center}.meditationLeg{background:var(--brand-deep);border-radius:999px;bottom:2rem;height:.45rem;width:2.55rem}.meditationLeg.left{left:2.05rem;transform:rotate(-18deg);transform-origin:right center}.meditationLeg.right{right:2.05rem;transform:rotate(18deg);transform-origin:left center}.loginScreen{background:var(--canvas);display:grid;gap:1rem;grid-template-columns:minmax(0,1fr);justify-items:center;min-height:100svh;overflow-x:hidden;padding:clamp(1rem,5vw,4rem);width:100%}.loginArt{animation:riseIn 1.68s cubic-bezier(.18,.85,.18,1) both;align-content:end;background:var(--canvas-deep);border:1px solid var(--line);border-radius:11.25rem 11.25rem .5rem .5rem;color:var(--brand-deep);display:grid;min-height:min(62svh,40.625rem);max-width:34rem;overflow:hidden;padding:0;position:relative;width:100%}.loginArt:after{background:linear-gradient(180deg,#eff1f214,#dde3e7b8 52%,#dde3e7f5);content:"";top:0;right:0;bottom:0;left:0;pointer-events:none;position:absolute}.loginArt>picture,.loginArt>picture img{display:block;height:100%;top:0;right:0;bottom:0;left:0;position:absolute;width:100%}.loginArt>picture img{animation:slowPhotoBloom 4.2s cubic-bezier(.18,.85,.18,1) both;object-fit:cover}.loginBrand{align-self:end;display:grid;gap:1rem;justify-items:center;padding:clamp(1.25rem,4vw,3rem);position:relative;text-align:center;z-index:1}.loginBrand img{animation:markBloom 2.1s cubic-bezier(.18,.85,.18,1) both;block-size:auto;display:block;inline-size:min(100%,18rem);max-inline-size:100%;object-fit:contain}.loginArt h1{font-size:clamp(2.5rem,8vw,5rem)}.loginArt p{color:var(--muted-ink);font-size:1.08rem;margin-bottom:0;max-width:100%;overflow-wrap:anywhere}.loginPanel{animation:riseIn 1.68s .22s cubic-bezier(.18,.85,.18,1) both;align-self:start;background:var(--paper-strong);box-shadow:var(--shadow);max-width:100%;width:min(100%,28rem)}.loginPanel form,.loginPanel .button{width:100%}.legalLinks{display:flex;flex-wrap:wrap;gap:.55rem 1rem;margin-top:1rem}.legalLinks a{align-items:center;color:var(--brand);display:inline-flex;font-size:.9rem;gap:.3rem;overflow-wrap:anywhere}.adminShell{display:grid;min-height:100svh}.adminShell main,.studentShell main,.teacherShell main{padding:1rem}.sidebar{animation:sidebarIn 1.48s cubic-bezier(.18,.85,.18,1) both;background:var(--brand-deep);border-right:1px solid rgba(255,241,219,.18);color:#fff0d9;display:none;gap:.75rem;inline-size:100%;overflow:hidden;padding:1rem;transition:inline-size .98s cubic-bezier(.18,.82,.2,1)}.brand,.sidebar nav a,.mobileDock a,.tabs a{align-items:center;color:inherit;display:flex;gap:.65rem;text-decoration:none}.brand{font-size:1.2rem;font-weight:700;min-height:4.5rem;overflow:hidden;position:relative}.brand img{block-size:auto;display:block;flex:0 0 auto;object-fit:contain;transition:opacity var(--motion-soft),transform var(--motion-soft)}.sidebarBrandMark{border-radius:.75rem;inline-size:3.5rem}.sidebarBrandWordmark{border-radius:.65rem;inline-size:12.6rem;inset-inline-start:0;opacity:0;position:absolute;transform:translate(.75rem) scale(.96)}.sidebar nav{display:flex;gap:.25rem;overflow-x:auto;padding-bottom:.15rem}.sidebar nav a{flex:0 0 auto}.sidebar nav a span{max-inline-size:12rem;opacity:1;overflow:hidden;transition:max-inline-size var(--motion-soft),opacity var(--motion-medium),transform var(--motion-soft);white-space:nowrap}.sidebar nav a,.tabs a{border-radius:8px;padding:.65rem;transition:background-color var(--motion-medium),color var(--motion-medium),transform var(--motion-medium)}.sidebar nav a:hover,.tabs a:hover{transform:translate(2px)}.sidebar nav a.active,.tabs a.active{background:#f6f3ee29}.navbar{animation:fadeDrift var(--motion-soft) both;align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.navbar .actions{align-items:center;flex-wrap:wrap;justify-content:flex-end}.navbar h1{overflow-wrap:anywhere}.navbarLead{align-items:center;display:flex;gap:.7rem;min-width:0}.menuToggle{align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:8px;color:var(--ink);cursor:pointer;display:grid;flex:0 0 auto;gap:.25rem;height:2.75rem;justify-content:center;padding:0;transition:background-color var(--motion-medium),border-color var(--motion-medium),box-shadow var(--motion-medium);width:2.75rem}.menuToggle:hover{background:var(--paper-strong);border-color:var(--brand);box-shadow:0 10px 24px #2635421f}.menuToggle span{background:currentColor;border-radius:999px;display:block;height:.125rem;transform-origin:center;transition:opacity var(--motion-medium),transform var(--motion-medium),width var(--motion-medium);width:1.25rem}.menuToggle.open span:first-child{transform:translateY(6px) rotate(45deg)}.menuToggle.open span:nth-child(2){opacity:0;transform:scaleX(.32)}.menuToggle.open span:last-child{transform:translateY(-6px) rotate(-45deg)}.navDrawerLayer{top:0;right:0;bottom:0;left:0;pointer-events:none;position:fixed;z-index:20}.drawerVeil{background:#1820285c;border:0;cursor:pointer;top:0;right:0;bottom:0;left:0;opacity:0;padding:0;position:absolute;transition:opacity var(--motion-soft)}.navDrawer{background:var(--brand-deep);border-right:1px solid rgba(246,243,238,.16);box-shadow:22px 0 58px #131b2347;color:#f6f3ee;display:grid;gap:1.25rem;grid-template-rows:auto 1fr;height:100%;max-width:min(86vw,21.25rem);overflow:auto;padding:max(1.1rem,env(safe-area-inset-top)) 1.1rem max(1.1rem,env(safe-area-inset-bottom));position:relative;transform:translate(-104%);transition:transform 1.12s cubic-bezier(.18,.82,.2,1)}.navDrawerLayer.open{pointer-events:auto}.navDrawerLayer.open .drawerVeil{opacity:1}.navDrawerLayer.open .navDrawer{transform:translate(0)}.navDrawer header{align-items:center;display:flex;gap:.75rem}.navDrawer header img{border-radius:8px;height:3rem;width:3rem}.navDrawer header div,.navDrawer nav{display:grid;gap:.22rem}.navDrawer header small{color:#f6f3ee9e}.navDrawer header strong{font-size:1.12rem}.navDrawer nav{align-content:start;gap:.25rem}.navDrawer nav a{align-items:center;border-radius:8px;color:inherit;display:flex;gap:.65rem;min-height:2.75rem;padding:.68rem;text-decoration:none;transition:background-color var(--motion-medium),color var(--motion-medium),transform var(--motion-medium)}.navDrawer nav a:hover{background:#f6f3ee1f;transform:translate(3px)}.navDrawer nav a.active{background:#f6f3ee2e}.pageFlow>*,.split>*,.weekGrid>section,.metricGrid>*,.mobileList>*,.passStrip>*,.passGrid>*{animation:fadeDrift var(--motion-soft) both}.pageFlow>*:nth-child(2),.split>*:nth-child(2),.metricGrid>*:nth-child(2),.mobileList>*:nth-child(2),.passStrip>*:nth-child(2),.passGrid>*:nth-child(2){animation-delay:.13s}.pageFlow>*:nth-child(3),.metricGrid>*:nth-child(3),.mobileList>*:nth-child(3),.passStrip>*:nth-child(3),.passGrid>*:nth-child(3){animation-delay:.22s}.pageFlow>*:nth-child(4),.metricGrid>*:nth-child(4),.mobileList>*:nth-child(4){animation-delay:.31s}.metricGrid{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,8.75rem),1fr))}.metricGrid .card{display:grid;gap:.2rem;min-height:6.5rem}.metricGrid strong{color:var(--brand);font-size:1.8rem}.split{display:grid;gap:1rem;min-width:0}.compactList p,.rowSpread{align-items:center;border-bottom:1px solid var(--line);display:flex;gap:.7rem;justify-content:space-between}.compactList p:last-child{border:0;margin-bottom:0}.compactList{max-height:min(52svh,28rem);overflow:auto}.weekGrid{display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,16rem),1fr))}.weekGrid h2{text-transform:capitalize}.calendarWorkspace{display:grid;gap:1rem;min-width:0}.calendarMain{min-width:0}.adminWeekToolbar{position:sticky;top:.6rem;z-index:2}.sessionCard{display:grid;gap:.75rem;grid-template-columns:.625rem minmax(0,1fr);padding-left:.65rem}.sessionCard:hover .sessionColor{transform:scaleY(.96)}.sessionCard .button{grid-column:2;justify-self:start}.sessionColor{border-radius:999px;min-height:100%;transform-origin:center;transition:transform var(--motion-soft)}.sessionCard h3{font-size:1rem;margin-bottom:.2rem}.sessionBadges{align-items:center;display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end}.sessionCard p{color:var(--muted-ink);margin-bottom:.55rem}.sessionCard .sessionDetail{color:var(--leaf);font-size:.86rem;margin:.45rem 0 0}.meta{display:flex;flex-wrap:wrap;gap:.8rem}.meta span{align-items:center;display:inline-flex;gap:.28rem}.sessionPanel{animation:fadeDrift var(--motion-soft) both;background:#f6f3eee6;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:.85rem;min-width:0;padding:.85rem}.sessionPanel h2,.sessionPanel h3{margin-bottom:.2rem}.sessionPanelHeader{align-items:start;display:flex;gap:.75rem;justify-content:space-between}.sessionOverview{display:grid;gap:.55rem}.sessionOverview p{color:var(--muted-ink);margin-bottom:0}.seatSummary{display:grid;gap:.5rem;grid-template-columns:repeat(3,minmax(0,1fr))}.seatSummary span{background:var(--paper-strong);border:1px solid var(--line);border-radius:8px;display:grid;gap:.1rem;min-height:4.5rem;padding:.58rem}.seatSummary b{color:var(--brand);font-size:1.35rem}.compactForm{align-items:end;display:grid;gap:.65rem;grid-template-columns:minmax(0,1fr)}.sessionRoster{display:grid;gap:.65rem;margin-top:.75rem;max-height:min(52svh,30rem);overflow:auto}.rosterRow{background:var(--paper-strong);border:1px solid var(--line);border-radius:8px;display:grid;gap:.65rem;padding:.7rem}.rosterRow>div:first-child{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem;justify-content:space-between}.rosterRow .actions{align-items:center;flex-wrap:wrap}.rosterStatus,.teacherSessionClock,.teacherClassControls{align-items:center;display:flex;flex-wrap:wrap;gap:.45rem}.sessionControls .actions{flex-wrap:wrap;margin-top:.7rem}.sessionReason{background:#e7e0e2;border-radius:8px;color:#6d4d58!important;padding:.65rem}.classesHeader{align-items:end;background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;gap:1rem;padding:1rem}.classesHeader h2{font-size:1.45rem;margin:.22rem 0}.classesHeader p,.sessionGenerator p{color:var(--muted-ink);margin-bottom:0}.classesHeader .button{justify-self:start}.classesWorkspace{display:grid;gap:1rem;min-width:0}.classListCard{min-width:0}.classListCard .rowSpread h2{margin-bottom:.25rem}.classNameCell{display:grid;gap:.18rem;min-width:min(100%,11.25rem)}.classNameCell span,.selectedClass span{color:var(--muted-ink);font-size:.88rem}.classListCard td{overflow-wrap:anywhere}.classListCard td:nth-last-child(1){min-width:6.8rem}.sessionGenerator{align-content:start;display:grid;gap:.55rem}.selectedClass{background:var(--paper-strong);border:1px solid var(--line);border-radius:8px;display:grid;gap:.2rem;padding:.75rem}.modalActions{display:flex;justify-content:flex-end}.maintainerHeader{align-items:end;background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;gap:1rem;padding:1rem}.maintainerHeader h2{font-size:1.45rem;margin:.22rem 0}.maintainerHeader p{color:var(--muted-ink);margin-bottom:0}.maintainerHeader .button{justify-self:start}.profileCell{align-items:start;display:grid;gap:.55rem;grid-template-columns:2.125rem minmax(min(100%,10.625rem),1fr)}.profileCell>span{align-items:center;background:var(--canvas-deep);border:1px solid var(--line);border-radius:8px;color:var(--brand);display:inline-flex;height:2.125rem;justify-content:center;width:2.125rem}.profileCell div{display:grid;gap:.18rem}.profileCell small{font-size:.76rem;max-width:28rem;text-transform:none}.colorCell{align-items:center;display:inline-flex;gap:.45rem;white-space:nowrap}.colorEditor{align-items:end;display:grid;gap:.75rem}.colorEditor span{align-items:center;background:var(--paper-strong);border:1px solid var(--line);border-radius:8px;color:var(--muted-ink);display:inline-flex;gap:.45rem;min-height:2.625rem;padding:.65rem}.studentFilters{display:grid;gap:.85rem}.studentFilters .field:first-child{flex:1 1 16.25rem}.studentFilters .field:nth-child(2){flex:0 1 11.25rem}.studentCounters{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,7.375rem),1fr))}.studentCounters span{background:var(--paper-strong);border:1px solid var(--line);border-radius:8px;color:var(--muted-ink);display:grid;gap:.12rem;min-height:4.25rem;padding:.58rem}.studentCounters b,.sessionCell strong{color:var(--brand);font-size:1.35rem}.studentCell{align-items:start;display:grid;gap:.55rem;grid-template-columns:2.125rem minmax(min(100%,10rem),1fr)}.studentCell>span{align-items:center;background:var(--canvas-deep);border:1px solid var(--line);border-radius:8px;color:var(--brand);display:inline-flex;height:2.125rem;justify-content:center;width:2.125rem}.studentCell div,.contactCell,.sessionCell{display:grid;gap:.18rem}.studentCell a{color:var(--brand-deep);font-weight:700}.studentCell small,.contactCell,.sessionCell span{color:var(--muted-ink);text-transform:none}.contactCell span{align-items:center;display:inline-flex;gap:.35rem;white-space:nowrap}.accessHint{align-items:center;align-self:end;background:var(--paper-strong);border:1px solid var(--line);border-radius:8px;color:var(--muted-ink);display:flex;gap:.45rem;min-height:2.625rem;padding:.65rem}.passesWorkspace{display:grid;gap:1rem;min-width:0}.passTypeCell{display:grid;gap:.18rem;min-width:min(100%,11.25rem)}.passTypeCell span,.assignPassCard p{color:var(--muted-ink)}.assignPassCard{align-content:start;display:grid;gap:.55rem}.assignPassCard p{margin-bottom:.4rem}.reservationFilters{display:grid;gap:.85rem}.reservationFilters .field{flex:1 1 9.0625rem}.reservationFilters .field:first-child{flex-basis:13.75rem}.reservationCounters{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,7.375rem),1fr))}.reservationCounters span{background:var(--paper-strong);border:1px solid var(--line);border-radius:8px;color:var(--muted-ink);display:grid;gap:.12rem;min-height:4.25rem;padding:.58rem}.reservationCounters b{color:var(--brand);font-size:1.35rem}.reservationsWorkspace{display:grid;gap:1rem;min-width:0}.reservationPerson{align-items:center;display:grid;gap:.48rem;grid-template-columns:2rem minmax(min(100%,9.0625rem),1fr)}.reservationPerson span{align-items:center;background:var(--canvas-deep);border:1px solid var(--line);border-radius:8px;color:var(--brand);display:inline-flex;height:2rem;justify-content:center;width:2rem}.reservationSession{display:grid;gap:.18rem;min-width:min(100%,10.625rem)}.reservationSession span,.manualReservationCard p{color:var(--muted-ink)}.manualReservationCard{align-content:start;display:grid;gap:.55rem}.manualReservationCard p{margin-bottom:.4rem}.paymentFilters{display:grid;gap:.85rem}.paymentFilters .field:first-child{flex:1 1 13.75rem}.paymentFilters .field{flex:1 1 9.0625rem}.paymentCounters,.invoiceCounters{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,8.4375rem),1fr))}.paymentCounters span{background:var(--paper-strong);border:1px solid var(--line);border-radius:8px;color:var(--muted-ink);display:grid;gap:.12rem;min-height:4.25rem;padding:.58rem}.paymentCounters b,.invoiceCounters strong{color:var(--brand);font-size:1.35rem}.financeWorkspace,.receptionWorkspace{display:grid;gap:1rem;min-width:0}.paymentConcept,.providerCell{display:grid;gap:.18rem;min-width:min(100%,10.625rem)}.paymentConcept span,.providerCell span,.manualPaymentCard p{color:var(--muted-ink)}.remittancePanel{display:grid;gap:.85rem}.remittancePanel p{margin-bottom:0}.remittanceToolbar{align-items:end;display:grid;gap:.65rem;grid-template-columns:minmax(0,1fr)}.remittanceSummary{color:var(--muted-ink);font-size:.9rem}.remittanceDetailTable{max-height:min(30rem,55vh);overflow:auto}.manualPaymentCard{align-content:start;display:grid;gap:.55rem}.manualPaymentCard p{margin-bottom:.4rem}.invoiceCounters .card{display:grid;gap:.2rem;min-height:6rem}.mailingWorkspace{display:grid;gap:1rem;min-width:0}.mailComposer{align-content:start}.manualRecipients{background:var(--paper-strong);border:1px solid var(--line);border-radius:8px;display:grid;gap:.25rem;max-height:20rem;overflow:auto;padding:.75rem}.manualRecipients .check{border-top:1px solid rgba(203,211,218,.72);justify-content:space-between}.manualRecipients small+.check{border-top:0}.manualRecipients span{color:var(--muted-ink);font-size:.82rem}.enrollmentStudentList{background:var(--paper-strong);border:1px solid var(--line);border-radius:8px;display:grid;gap:.25rem;max-height:min(52svh,28rem);overflow:auto;padding:.75rem}.enrollmentStudentList .check{align-items:center;border-top:1px solid rgba(203,211,218,.72);display:grid;grid-template-columns:auto minmax(0,1fr) minmax(0,1.1fr);justify-content:start}.enrollmentStudentList small+.check{border-top:0}.enrollmentStudentList span{color:var(--muted-ink);font-size:.82rem;overflow:hidden;text-overflow:ellipsis}.groupList{display:grid;gap:.55rem;margin-top:.85rem;max-height:min(54svh,30rem);overflow:auto}.groupTile{align-items:center;background:var(--paper-strong);border:1px solid var(--line);border-radius:8px;display:grid;gap:.55rem;grid-template-columns:minmax(0,1fr) auto auto;padding:.65rem}.groupTile div{display:grid;gap:.12rem;min-width:0}.groupTile span{color:var(--muted-ink);font-size:.86rem;overflow-wrap:anywhere}.dashboardWelcome{align-items:end;background:var(--brand-deep);border:1px solid rgba(246,243,238,.28);border-radius:8px;color:#fff;display:grid;gap:1rem;min-height:13.5rem;overflow:hidden;padding:1rem;position:relative}.dashboardWelcome:after{background:linear-gradient(90deg,#263542eb,#263542a8 48%,#2635426b);content:"";top:0;right:0;bottom:0;left:0;position:absolute}.dashboardWelcome>img{height:100%;top:0;right:0;bottom:0;left:0;object-fit:cover;opacity:.72;position:absolute;width:100%}.dashboardWelcome>div,.dashboardWelcome>nav{position:relative;z-index:1}.dashboardWelcome small{color:#ffffffb8}.dashboardWelcome h2{color:#fff;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:500;margin:.22rem 0}.dashboardWelcome p{margin-bottom:0}.quickLinks{display:flex;flex-wrap:wrap;gap:.55rem}.quickLinks a{align-items:center;background:#f6f3ee24;border:1px solid rgba(246,243,238,.24);border-radius:8px;color:#fff;display:inline-flex;gap:.42rem;min-height:40px;padding:.55rem .7rem;text-decoration:none}.dashboardWorkspace,.invoiceWorkspace{display:grid;gap:1rem;min-width:0}.dashboardTitle h2{margin-bottom:.2rem}.dashboardTitle a,.dashboardWorkspace .rowSpread a{color:var(--brand-deep)}.todaySessions{display:grid;gap:.75rem}.invoiceActions{align-items:center;display:grid;gap:.85rem;grid-template-columns:minmax(0,1fr)}.invoiceActions h2{margin:.18rem 0 .28rem}.invoiceActions p{color:var(--muted-ink);margin-bottom:0}.invoiceActions .button{justify-self:start}.invoicePreview{align-content:start;background:#f6f3eee6;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:.75rem;min-height:520px;padding:.85rem}.invoicePreview h2{margin:.18rem 0 0}.invoicePreviewActions{display:flex;flex-wrap:wrap;gap:.45rem;justify-content:flex-end}.invoicePreview iframe,.invoicePreviewDocument{background:#fff;border:1px solid var(--line);border-radius:8px;display:block;height:min(76svh,960px);min-height:520px;width:100%}.invoiceListCard{min-width:0}.invoiceSearchBar{align-items:end;display:grid;gap:.65rem;grid-template-columns:minmax(0,1fr);margin:.85rem 0}.invoiceSearchBar .button{justify-self:start}.invoiceListCard .tableWrap{max-height:min(58svh,42rem);overflow:auto}.emptyHint{color:var(--muted-ink);margin:.85rem 0 0}.eventList{align-items:stretch}.eventTile{display:grid;gap:.58rem}.eventTile.unread{border-color:#5c718485;box-shadow:0 18px 42px #26354224}.eventTile>span{align-items:center;color:var(--muted-ink);display:inline-flex;gap:.36rem}.eventTile p{color:var(--ink);margin-bottom:0}.eventTileFooter{border-bottom:0;margin-top:.25rem}.eventManagement{display:grid;gap:.9rem;min-width:0}.eventManagement .rowSpread p{color:var(--muted-ink);margin-bottom:0}.eventCounters{display:grid;gap:.55rem;grid-template-columns:repeat(auto-fit,minmax(min(100%,7.5rem),1fr))}.eventCounters span{background:var(--paper-strong);border:1px solid var(--line);border-radius:8px;color:var(--muted-ink);display:grid;gap:.15rem;min-height:4.25rem;padding:.6rem}.eventCounters b{color:var(--brand);font-size:1.2rem}.eventRegistrationForm{align-items:end;display:grid;gap:.65rem;grid-template-columns:minmax(12rem,2fr) minmax(8rem,.8fr) auto}.eventPriceFact{display:grid;gap:.25rem;padding:.25rem 0}.eventPriceFact small{color:var(--muted-ink)}.eventPriceFact strong{color:var(--brand);font-size:1.1rem}@media(max-width:760px){.eventRegistrationForm{grid-template-columns:1fr}.eventRegistrationForm .button{justify-self:start}}.studentShell,.teacherShell{min-height:100svh;padding-bottom:calc(5.25rem + env(safe-area-inset-bottom))}.studentWelcome{animation:welcomeBreathe 1.72s cubic-bezier(.18,.85,.18,1) both;background:var(--brand-deep);border:1px solid rgba(246,243,238,.28);border-radius:8px;color:#fff;min-height:13rem;overflow:hidden;padding:1.1rem;position:relative}.studentWelcome:after{background:linear-gradient(180deg,#26354247,#263542e0);content:"";top:0;right:0;bottom:0;left:0;position:absolute}.studentWelcome>img{height:100%;top:0;right:0;bottom:0;left:0;object-fit:cover;opacity:.72;position:absolute;width:100%}.studentWelcome>div{align-self:end;display:grid;position:relative;z-index:1}.studentWelcome small{color:#ffffffbf}.studentWelcome h2{font-size:1.5rem;margin:.25rem 0}.studentWelcome p{margin-bottom:0}.studentWelcomeStats{display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:.9rem}.studentWelcomeStats span{background:#f6f3ee24;border:1px solid rgba(246,243,238,.24);border-radius:8px;display:grid;gap:.14rem;min-height:72px;padding:.65rem}.studentWelcomeStats b{font-size:1.45rem}.studentQuickActions{display:grid;gap:.6rem;grid-template-columns:repeat(3,minmax(0,1fr))}.studentQuickActions a{align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:8px;color:var(--brand-deep);display:grid;font-weight:700;gap:.45rem;justify-items:start;min-height:94px;padding:.75rem;text-decoration:none}.studentQuickActions svg{color:var(--brand)}.studentSectionHeader{display:grid;gap:.18rem}.studentSectionHeader h2{font-size:1.22rem;margin-bottom:0}.studentSectionHeader p{color:var(--muted-ink);margin-bottom:0}.passStrip,.passGrid,.mobileList{display:grid;gap:.75rem}.passGrid,.mobileList,.teacherClassGrid,.changeClassList{max-height:min(64svh,38rem);overflow:auto}.studentPaymentList,.eventList{max-height:min(62svh,36rem);overflow:auto}.passTile{display:grid;gap:.25rem;grid-template-columns:auto 1fr;min-height:138px}.passTile svg{color:var(--brand);grid-row:span 4}.passTile strong,.passDetail b{color:var(--brand);font-size:2rem;line-height:1}.passDetail{display:grid;gap:.6rem}.purchaseSection{display:grid;gap:.55rem}.purchasePass{align-items:center;display:grid;gap:.7rem}.purchasePass div{display:grid;gap:.18rem}.purchasePass span{color:var(--muted-ink)}.purchasePass b{color:var(--brand);font-size:1.35rem}.purchasePass .button{justify-self:start}.pendingPass{background:#f6f3eec7}.pendingPass span{color:var(--muted-ink)}.visualPurchase{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;gap:1rem;overflow:hidden;padding:0}.visualPurchase>img{aspect-ratio:16 / 7;display:block;height:100%;max-height:16rem;object-fit:cover;width:100%}.visualPurchase>div{display:grid;gap:.85rem;padding:1rem}.reservationTile{display:grid;gap:.52rem}.studentCalendar .weekGrid{gap:.85rem}.studentCalendar .weekGrid>section{background:#f6f3eea3;border:1px solid var(--line);border-radius:8px;padding:.72rem}.studentCalendar .weekGrid h2{font-size:1rem;margin-bottom:.62rem}.studentCalendar .sessionCard{background:var(--paper-strong)}.studentCalendar .sessionCard .button{justify-self:stretch;width:100%}.reservationTile span,.inlineMeta span{align-items:center;color:var(--muted-ink);display:inline-flex;gap:.42rem}.reservationTile .button{justify-self:start}.changeClassList{display:grid;gap:.6rem;max-height:min(64svh,34rem);overflow:auto}.changeClassOption{background:var(--paper-strong);border:1px solid var(--line);border-radius:.5rem;color:var(--ink);cursor:pointer;display:grid;gap:.18rem;padding:.78rem;text-align:left;transition:background-color var(--motion-medium),border-color var(--motion-medium),box-shadow var(--motion-medium),transform var(--motion-medium)}.changeClassOption span,.changeClassOption small{color:var(--muted-ink)}.changeClassOption:hover,.changeClassOption:focus-visible{background:var(--paper);border-color:var(--brand);box-shadow:0 .6rem 1.2rem #2635421a;outline:none;transform:translateY(-1px)}.changeClassOption:disabled{cursor:default;opacity:.52;transform:none}.studentPaymentTile{display:grid;gap:.48rem}.studentPaymentTile>span{color:var(--brand);font-size:1.35rem;font-weight:700}.studentPaymentTile small{text-transform:none}.invoiceTile{align-items:center;display:grid;gap:.7rem;grid-template-columns:minmax(0,1fr) auto}.invoiceTile div{display:grid;gap:.18rem}.invoiceTile div span{color:var(--muted-ink)}.invoiceTile div small{text-transform:none}.invoiceTile .button{grid-column:1 / -1;justify-self:start}.invoiceStudentActions{align-items:center;display:flex;flex-wrap:wrap;gap:.42rem;justify-content:flex-start}.invoiceStudentActions b{color:var(--brand)}.weekToolbar{align-items:center;background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;gap:.7rem;grid-template-columns:auto 1fr auto auto;padding:.55rem;transition:border-color var(--motion-soft),box-shadow var(--motion-soft)}.weekToolbar:hover{border-color:var(--brand);box-shadow:0 12px 28px #2635421a}.weekToolbar div{display:grid;justify-items:center}.studentHero{align-items:start;background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;gap:.85rem;padding:1rem}.studentHero h2{font-size:1.55rem;margin:.2rem 0 .5rem}.inlineMeta,.heroBadges{display:flex;flex-wrap:wrap;gap:.6rem}.studentHeroActions{align-items:end;display:grid;gap:.6rem;justify-items:start}.backLink{align-items:center;color:var(--muted-ink);display:inline-flex;font-size:.9rem;gap:.28rem;margin-bottom:.45rem;text-decoration:none}.backLink:hover{color:var(--brand-deep)}.summaryRail{border-top:1px solid var(--line);display:grid;gap:.25rem;grid-template-columns:1fr auto;margin-top:1rem;padding-top:1rem}.summaryRail strong{color:var(--brand);font-size:1.4rem}.mobileDock{animation:dockIn 1.48s cubic-bezier(.18,.85,.18,1) both;background:#fcfaf6f5;border-top:1px solid var(--line);bottom:0;display:grid;grid-template-columns:repeat(6,1fr);left:0;padding:.6rem .6rem calc(.6rem + env(safe-area-inset-bottom));position:fixed;right:0;z-index:12}.teacherDock{grid-template-columns:repeat(4,1fr)}.mobileDock a{border-radius:8px;color:var(--muted-ink);justify-content:center;min-height:48px;transition:background-color var(--motion-medium),color var(--motion-medium),transform var(--motion-medium)}.mobileDock a:hover{transform:translateY(-2px)}.mobileDock a.active{background:var(--brand);color:#fff}.teacherShell{margin:auto;max-width:77.5rem;width:100%}.tabs{display:none;margin-bottom:1rem;overflow-x:auto}.tabs a{background:var(--paper-strong);border:1px solid var(--line);color:var(--ink);white-space:nowrap}.teacherWelcome{align-items:end;background:var(--brand-deep);border:1px solid rgba(246,243,238,.28);border-radius:8px;color:#fff;display:grid;gap:.9rem;padding:1rem}.teacherWelcome small{color:#ffffffb8}.teacherWelcome h2{color:#fff;font-family:Georgia,Times New Roman,serif;font-size:1.55rem;font-weight:500;margin:.22rem 0}.teacherWelcome p{margin-bottom:0}.teacherWelcomeStats{display:grid;gap:.55rem;grid-template-columns:repeat(2,minmax(0,1fr))}.teacherWelcomeStats span{background:#f6f3ee24;border:1px solid rgba(246,243,238,.24);border-radius:8px;display:grid;gap:.15rem;min-height:76px;padding:.65rem}.teacherWelcomeStats b{font-size:1.55rem}.teacherDashboard,.teacherAttendanceWorkspace,.teacherClassGrid{display:grid;gap:1rem;min-width:0}.teacherAttendanceWorkspace.hasSelection .teacherAttendanceCalendar{display:none}.teacherNextClass{align-content:start;display:grid;gap:.75rem}.teacherSessionList{display:grid;gap:.65rem;margin-top:.75rem}.teacherSessionSummary{background:var(--paper-strong);border:1px solid var(--line);border-radius:8px;display:grid;gap:.48rem;padding:.75rem}.teacherSessionSummary div:first-child{display:grid;gap:.16rem}.teacherSessionSummary span,.teacherClassTile p,.teacherClassTile small{color:var(--muted-ink);text-transform:none}.teacherSessionSummary:not(.compact) strong{color:var(--brand-deep);font-size:1.18rem}.teacherHeader{background:var(--paper);border:1px solid var(--line);border-radius:8px;display:grid;gap:.2rem;padding:1rem}.teacherHeader h2{font-size:1.42rem;margin-bottom:0}.teacherHeader p{color:var(--muted-ink);margin-bottom:0}.teacherClassTile{align-content:start;display:grid;gap:.62rem}.teacherClassTile p{margin-bottom:0}.teacherClassTile small{line-height:1.45}.teacherAttendancePanel{animation:fadeDrift var(--motion-soft) both;background:#f6f3eee6;border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;gap:.85rem;min-width:0;padding:.85rem}.teacherPanelTitle{border-bottom:0}.teacherPanelTitle h2{margin:.18rem 0 0}.teacherRosterRow .button{flex:1 1 132px}.teacherPanelEmpty{align-content:center;color:var(--brand);display:grid;gap:.7rem;justify-items:start;min-height:260px}.settingFact{background:var(--paper-strong);border:1px solid var(--line);border-radius:8px;display:grid;gap:.18rem;padding:.75rem}.settingFact span{color:var(--muted-ink)}.profile{display:grid;gap:.35rem}.studentProfileCard .profile svg{color:var(--brand)}.studentProfileCard .profile strong{font-size:1.18rem}.modalBackdrop{animation:veilIn var(--motion-medium) both;background:#1820286b;display:grid;top:0;right:0;bottom:0;left:0;overflow:auto;padding:1rem;place-items:center;position:fixed;z-index:60}.modal{animation:modalIn 1.12s cubic-bezier(.18,.85,.18,1) both;background:var(--paper);border-radius:.5rem;box-shadow:var(--shadow);max-width:42.5rem;padding:1rem;width:100%}.modal header{align-items:center;display:flex;justify-content:space-between}.modal.invoiceHistoryModal{max-width:58rem}.modalIntro{color:var(--muted-ink);margin:.35rem 0 1rem}.historicalInvoiceForm{margin-top:.5rem}@keyframes riseIn{0%{opacity:0;transform:translateY(22px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeDrift{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes settleNotice{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes markBloom{0%{opacity:0;transform:translateY(8px) scale(.92)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes breatheAura{0%,to{box-shadow:0 0 #5c718429;transform:scale(.97)}50%{box-shadow:0 0 0 .9rem #5c718408;transform:scale(1.04)}}@keyframes floatHead{0%,to{transform:translate(-50%,.06rem)}50%{transform:translate(-50%,-.16rem)}}@keyframes welcomeBreathe{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes modalIn{0%{opacity:0;transform:translateY(18px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes veilIn{0%{opacity:0}to{opacity:1}}@keyframes sidebarIn{0%{opacity:0;transform:translate(-18px)}to{opacity:1;transform:translate(0)}}@keyframes dockIn{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}@keyframes slowPhotoBloom{0%{filter:saturate(.86) brightness(.94);transform:scale(1.04)}to{filter:saturate(1) brightness(1);transform:scale(1)}}@media(min-width:47.5rem){.loginScreen{grid-template-columns:1fr minmax(21.25rem,26.875rem);place-items:center}.adminShell{grid-template-columns:auto minmax(0,1fr);height:100svh;min-height:0;overflow:hidden}.adminShell main{height:100svh;min-height:0;overflow-y:auto;overscroll-behavior:contain}.sidebar{block-size:100svh;display:grid;grid-template-rows:auto minmax(0,1fr);inline-size:5.75rem;inset-block-start:0;position:sticky;z-index:3}.sidebar:hover,.sidebar:focus-within{inline-size:clamp(15rem,17vw,17.25rem)}.menuToggle,.navDrawerLayer{display:none}.brand{margin-bottom:1.3rem}.sidebarBrandMark{opacity:1;transform:translate(0) scale(1)}.sidebarBrandWordmark{pointer-events:none}.sidebar:hover .sidebarBrandMark,.sidebar:focus-within .sidebarBrandMark{opacity:0;transform:translate(-.5rem) scale(.94)}.sidebar:hover .sidebarBrandWordmark,.sidebar:focus-within .sidebarBrandWordmark{opacity:1;transform:translate(0) scale(1)}.sidebar nav{align-content:start;display:grid;overflow-x:hidden;overflow-y:auto;padding-bottom:.35rem;scrollbar-width:thin}.sidebar nav a{inline-size:100%;min-height:3.35rem}.sidebar:not(:hover):not(:focus-within) nav a{gap:0;justify-content:center;padding-inline:.55rem}.sidebar:not(:hover):not(:focus-within) nav a span{max-inline-size:0;opacity:0;transform:translate(-.45rem)}.adminShell main,.studentShell main,.teacherShell main{padding:1.5rem}.split{grid-template-columns:minmax(0,1.35fr) minmax(20rem,.8fr)}.classesHeader,.maintainerHeader{grid-template-columns:minmax(0,1fr) auto}.passesWorkspace{align-items:start;grid-template-columns:minmax(0,1fr) minmax(20rem,24.375rem)}.reservationsWorkspace,.financeWorkspace{align-items:start;grid-template-columns:minmax(0,1fr) minmax(21.25rem,25.625rem)}.remittanceToolbar{grid-template-columns:minmax(12rem,16rem) repeat(3,auto)}.receptionWorkspace{align-items:start;grid-template-columns:repeat(3,minmax(0,1fr))}.mailingWorkspace{align-items:start;grid-template-columns:minmax(22.5rem,.92fr) minmax(0,1.08fr)}.dashboardWelcome{grid-template-columns:minmax(0,1fr) auto}.dashboardWorkspace{grid-template-columns:minmax(0,1.35fr) minmax(20.625rem,.8fr)}.todaySessions{grid-template-columns:repeat(auto-fit,minmax(min(100%,15.625rem),1fr))}.invoiceWorkspace{align-items:start;grid-template-columns:minmax(0,1fr) minmax(24.375rem,32.5rem)}.invoiceActions{grid-template-columns:minmax(0,1fr) auto}.invoiceActions .button{justify-self:end}.invoiceSearchBar{grid-template-columns:minmax(0,1fr) auto}.invoiceSearchBar .button{justify-self:end}.colorEditor{grid-template-columns:9.375rem minmax(0,1fr)}.sessionGenerator,.assignPassCard,.manualReservationCard,.manualPaymentCard,.invoicePreview{position:sticky;top:1rem}.sessionPanel{max-height:calc(100svh - 2rem);overflow:auto;position:sticky;top:1rem}.compactForm{grid-template-columns:minmax(0,1fr) auto}.studentShell main{margin:auto;max-width:73.75rem}.passStrip{grid-template-columns:repeat(auto-fit,minmax(min(100%,13.75rem),1fr))}.passGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,15rem),1fr))}.visualPurchase{align-items:stretch;grid-template-columns:minmax(17rem,.42fr) minmax(0,1fr)}.visualPurchase>img{aspect-ratio:auto;max-height:none}.studentQuickActions{max-width:41.25rem}.mobileList:not(.weekGrid){grid-template-columns:repeat(auto-fit,minmax(min(100%,17.5rem),1fr))}.invoiceTile .button{grid-column:auto;justify-self:end}.invoiceTile{grid-template-columns:minmax(0,1fr) auto auto}.studentHero{align-items:center;grid-template-columns:auto minmax(0,1fr) auto}.studentHeroActions{justify-items:end}.mobileDock{border:1px solid var(--line);border-radius:.5rem;left:auto;margin:1rem;width:min(26.25rem,calc(100vw - 2rem))}.tabs{align-items:end;display:flex;gap:.65rem}.teacherWelcome{grid-template-columns:minmax(0,1fr) minmax(18.125rem,22.5rem)}.teacherDashboard{grid-template-columns:minmax(20rem,.82fr) minmax(0,1fr)}.teacherClassGrid{grid-template-columns:repeat(auto-fit,minmax(min(100%,16.25rem),1fr))}.teacherAttendanceWorkspace{align-items:start;grid-template-columns:minmax(0,1fr) minmax(24.375rem,29.375rem)}.teacherAttendanceWorkspace.hasSelection .teacherAttendanceCalendar{display:grid}.teacherAttendancePanel{max-height:calc(100svh - 2rem);overflow:auto;position:sticky;top:1rem}}.visuallyHidden{height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px;clip:rect(0 0 0 0)}.profilePhotoControl{align-items:center;display:grid;gap:.5rem;justify-items:center}.profilePhoto{align-items:center;aspect-ratio:1;background:var(--surface-soft);border:1px solid var(--line);border-radius:50%;color:var(--brand);display:flex;justify-content:center;overflow:hidden;width:7rem}.profilePhoto img{height:100%;object-fit:cover;width:100%}.signatureControl{display:grid;gap:.55rem}.signatureLabel{align-items:center;color:var(--muted-ink);display:flex;gap:.4rem}.signatureControl canvas{aspect-ratio:3 / 1;background:#fff;border:1px solid var(--line);border-radius:6px;max-height:15rem;touch-action:none;width:100%}.contractSigning{display:grid;gap:1rem}.contractConsents{display:grid;gap:.8rem}.contractPendingNotice{align-items:center;background:#f5ecd2;border:1px solid #d8c491;border-radius:6px;color:#594820;display:flex;gap:.55rem;padding:.8rem 1rem;text-decoration:none}.contractDocument{background:#fff;border:1px solid var(--line);border-radius:6px;max-height:42svh;overflow:auto;padding:1rem;white-space:pre-wrap}.pagination{align-items:center;display:flex;gap:.65rem;justify-content:flex-end;margin-top:.85rem;min-height:2.75rem}.pagination .button{min-width:2.75rem;padding-inline:.7rem}.pagination span,.paginationSummary{color:var(--muted-ink);font-size:.9rem}.paginationSummary{margin:.75rem 0 0;text-align:right}@media(min-width:88rem){.classesWorkspace{align-items:start;grid-template-columns:minmax(0,1fr) minmax(18rem,clamp(18rem,26vw,23rem))}}@media(min-width:92rem){.calendarWorkspace{align-items:start;grid-template-columns:minmax(0,1fr) minmax(21rem,clamp(21rem,31vw,28rem))}}@media(max-width:47.4375rem){.loginScreen{padding:1rem;width:100svw}.loginArt,.loginPanel{inline-size:min(22rem,calc(100svw - 3rem));justify-self:center;max-inline-size:calc(100svw - 3rem);width:auto}.loginArt{min-height:min(56svh,31rem);text-align:center}.loginBrand{padding-inline:1.15rem}.loginBrand img{inline-size:min(100%,15rem)}.loginArt p{font-size:1rem}.navbar{align-items:start;gap:.75rem}.navbar>.actions{max-width:min(48vw,14.375rem)}.toolbar,.actions{flex-wrap:wrap}.button{max-width:100%}.seatSummary,.studentQuickActions{grid-template-columns:1fr}.invoicePreview{min-height:26.25rem}.invoicePreview iframe,.invoicePreviewDocument{height:68svh;min-height:26.25rem}.mobileDock{gap:.18rem;grid-template-columns:repeat(auto-fit,minmax(2.45rem,1fr));padding:.5rem}.mobileDock a{min-width:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:.01ms!important}.button:hover,.card:hover,.mobileDock a:hover,.sidebar nav a:hover,.tabs a:hover{transform:none}}
