.parents-editor{border-top:1px solid var(--line);padding-top:20px}.parents-editor>.help{margin-bottom:16px}.linked-parent{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.linked-parent>div{overflow-wrap:anywhere;min-width:0}.linked-parent strong{font-size:14px}.linked-parent>button{flex-shrink:0}.existing-parent{margin:16px 0}.parent-draft{border:1px solid var(--line);border-radius:8px;margin:18px 0;padding:14px}.parent-draft legend{padding:0 6px;font-size:13px;font-weight:650}.parent-draft-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.parent-remove{place-self:end}.parents-editor>button+small{margin-top:8px}@media (width<=560px){.parent-draft-fields{grid-template-columns:1fr}.parent-remove{justify-self:start}}.date-picker{min-width:0}.date-picker-label{color:var(--muted);margin-bottom:8px;font-size:12px;font-weight:650;display:block}.date-picker-trigger{border:1px solid var(--line);background:var(--paper);width:100%;min-height:46px;color:var(--ink);text-align:left;justify-content:flex-start;font-weight:500}.date-picker-trigger:hover,.calendar-arrow:hover,.calendar-today:hover{background:var(--bg);color:var(--ink)}.date-picker-trigger svg{flex-shrink:0}.calendar-panel{z-index:100;overscroll-behavior:contain;border:1px solid var(--line);background:var(--paper);width:min(356px,100vw - 16px);max-height:calc(100dvh - 16px);color:var(--ink);border-radius:12px;padding:12px;position:fixed;overflow-y:auto;box-shadow:0 12px 44px #0003}.calendar-heading{align-items:center;gap:4px;display:flex}.calendar-heading strong{text-align:center;flex:1;font-size:14px;font-weight:700}.calendar-panel .calendar-arrow{width:44px;height:44px;min-height:44px;color:var(--ink);background:0 0;flex:0 0 44px;padding:0}.calendar-hint{min-height:36px;color:var(--muted);margin:8px 4px;font-size:12px;line-height:1.5}.calendar-panel .calendar-grid{border-collapse:separate;border-spacing:0 3px;table-layout:fixed;width:100%;min-width:0}.calendar-panel .calendar-grid th,.calendar-panel .calendar-grid td{text-align:center;background:0 0;border:0;padding:0}.calendar-panel .calendar-grid th{height:30px;color:var(--muted);font-size:11px;font-weight:600}.calendar-panel .calendar-day{width:100%;min-height:44px;color:var(--ink);background:0 0;border:1px solid #0000;border-radius:6px;padding:0;font-size:14px;font-weight:500;display:inline-flex;position:relative}.calendar-panel .calendar-day.other-month{color:var(--muted)}.calendar-panel .calendar-day.in-range{background:var(--mint);color:var(--ink);border-radius:0}.calendar-panel .calendar-day.range-edge{background:var(--accent);color:#252b25;border-radius:6px;font-weight:750}.calendar-panel .calendar-day[aria-current=date]:after{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;bottom:4px}.calendar-panel .calendar-day:hover:not(:disabled){border-color:var(--ink)}.calendar-panel .calendar-day:disabled{opacity:.3;cursor:not-allowed}.calendar-panel .calendar-day:focus-visible{z-index:1;outline-offset:-3px}.calendar-footer{border-top:1px solid var(--line);justify-content:flex-end;margin-top:4px;padding-top:8px;display:flex}.calendar-panel .calendar-today{border:1px solid var(--line);min-height:44px;color:var(--ink);background:0 0}@media (width<=360px){.calendar-panel{padding:8px}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%;color:#252b25;font-synthesis:none;--paper:#fffef9;--bg:#f5f4ed;--ink:#252b25;--muted:#6b7165;--line:#dedfd3;--accent:#e6e778;--mint:#d8e7d9;--coral:#f0c4ae;--shadow:0 12px 38px #252b2508;background:#f5f4ed;font-family:Inter,Avenir Next,Avenir,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:400}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{touch-action:manipulation}button{color:#fffef9;cursor:pointer;background:#293329;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 16px;font-size:13px;font-weight:650;transition:background .15s,transform .15s;display:inline-flex}button:hover{background:#414e3c}button:active{transform:translateY(1px)}button:disabled{opacity:.5;cursor:wait}a{color:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:3px;outline:3px solid #71854c}fieldset{border:0;min-width:0;margin:0;padding:0}h1,h2,h3,h4,p{margin-top:0}h1{letter-spacing:-1.7px;margin-bottom:14px;font-size:clamp(30px,3.7vw,46px);font-weight:750;line-height:1.12}h2{letter-spacing:-.5px;margin-bottom:0;font-size:20px}h3{letter-spacing:-.25px;margin-bottom:7px;font-size:16px}h4{margin-bottom:12px;font-size:14px}small{color:var(--muted);font-size:12px;line-height:1.5;display:block}p{line-height:1.7}label{flex-direction:column;gap:8px;min-width:0;font-size:12px;font-weight:650;display:flex}input,select,textarea{border:1px solid var(--line);background:var(--paper);width:100%;min-width:0;max-width:100%;min-height:43px;color:var(--ink);border-radius:6px;padding:10px 12px;font-size:14px}textarea{resize:vertical;line-height:1.65}input[type=checkbox]{accent-color:#41533a;flex-shrink:0;width:17px;height:17px;min-height:17px}input[type=date],input[type=datetime-local],input[type=time]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}input[type=file]{padding:12px;line-height:1.7}.secondary{background:var(--paper);color:var(--ink);border-color:var(--line)}.secondary:hover{background:var(--mint);color:#263c2a}.small{min-height:36px;padding:8px 11px;font-size:12px}.text-button{color:var(--ink);background:0 0;border:0;align-items:center;gap:8px;min-height:36px;padding:6px 2px;font-size:12px;line-height:1.4;text-decoration:none;display:inline-flex}.text-button:hover{color:#536f3f;background:0 0;text-decoration:underline}.icon-button{min-width:40px;min-height:40px;color:var(--muted);background:0 0;border:0;padding:8px}.icon-button:hover{background:var(--line);color:var(--ink)}.danger{color:#a24639}.muted,.help{color:var(--muted)}.help{margin:14px 0 20px;font-size:13px;line-height:1.65}.eyebrow{letter-spacing:1.8px;text-transform:uppercase;color:var(--muted);margin-bottom:17px;font-size:10px;font-weight:650;display:block}.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}.skip-link{z-index:100;background:var(--paper);padding:15px;position:fixed;top:-100px;left:12px}.skip-link:focus{top:10px}.brand{margin-bottom:40px}.brand-logo{object-fit:contain;object-position:left;color:#ed432d;width:158px;height:auto;max-height:60px;display:block}.logo-mask{mask-type:alpha}.brand>span{letter-spacing:3px;color:var(--muted);margin:8px 0 0 2px;font-size:9px;display:block}.boot{flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.boot .brand{margin-bottom:25px}.boot p{color:var(--muted);font-size:14px}.login-page{grid-template-columns:1.05fr 1fr;min-height:100vh;display:grid}.login-art{color:#fbfbef;background:#283226;flex-direction:column;justify-content:space-between;min-height:650px;padding:70px 12%;display:flex;position:relative;overflow:hidden}.mountain-mark{letter-spacing:-2px;color:#e6e778;border:1px solid #7d8759;border-radius:50%;place-items:center;width:64px;height:64px;font-size:28px;display:grid}.login-art>div:last-child{z-index:1;padding-bottom:7vh;position:relative}.login-art .eyebrow{color:#b1b89e}.login-art h1{white-space:pre-line;letter-spacing:-3px;font-size:clamp(42px,5.7vw,78px);line-height:1.02}.login-art p{color:#c1c7b4;font-size:14px}.contours{border:1px solid #d3dfa42c;border-radius:45% 55% 70% 30%/42% 43% 57% 58%;width:530px;height:580px;position:absolute;top:-200px;right:-220px;transform:rotate(25deg);box-shadow:0 0 0 35px #d3dfa40a,0 0 0 70px #d3dfa409,0 0 0 105px #d3dfa408,0 0 0 140px #d3dfa407,0 0 0 175px #d3dfa406}.login-side{justify-content:center;align-items:center;padding:70px 38px;display:flex;position:relative}.login-languages{position:absolute;top:26px;right:40px}.login-content{width:100%;max-width:370px}.login-content .brand{margin-bottom:65px}.login-content h2{letter-spacing:-.8px;margin-bottom:14px;font-size:29px}.login-content>p{color:var(--muted);margin-bottom:30px;font-size:14px}.login-content label{margin-bottom:19px}.login-content input{min-height:48px}.full-button{justify-content:space-between;width:100%;min-height:47px;margin-top:12px}.login-forgot{margin:18px auto 0;display:flex}.app-shell{background:var(--bg);min-height:100vh;color:var(--ink);display:flex}.sidebar{border-right:1px solid var(--line);background:var(--paper);z-index:30;flex-direction:column;flex-shrink:0;width:238px;height:100dvh;padding:35px 22px 22px;display:flex;position:sticky;top:0}.sidebar .brand{padding-left:10px}.profile{border-bottom:1px solid var(--line);align-items:center;gap:10px;min-width:0;margin-bottom:22px;padding:12px 8px 22px;display:flex}.profile strong{overflow-wrap:anywhere;font-size:12px;display:block}.profile small{margin-top:3px;font-size:11px}.avatar,.top-avatar{color:#4d5744;background:#e9e8db;border-radius:50%;flex-shrink:0;place-items:center;width:32px;height:32px;font-size:12px;font-weight:700;display:grid}.profile .avatar{color:#fbfbef;background:#2c3628}.sidebar nav{flex-direction:column;gap:5px;display:flex;overflow:auto}.sidebar nav button,.sidebar-bottom button{color:var(--muted);background:0 0;justify-content:flex-start;min-height:44px;padding:11px 13px;font-size:12px;font-weight:500}.sidebar nav button:hover,.sidebar-bottom button:hover{background:var(--bg);color:var(--ink)}.sidebar nav button.active{color:#fffef8;background:#2c3628}.sidebar-bottom{flex-direction:column;gap:3px;margin-top:auto;padding-top:25px;display:flex}.workspace{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);background:var(--bg);align-items:center;height:78px;padding:0 45px;display:flex}.breadcrumb{color:var(--muted);font-size:11px}.breadcrumb>span{color:#a9ae9e;margin:0 13px}.topbar-actions{align-items:center;gap:20px;margin-left:auto;display:flex}.top-avatar{background:var(--accent)}.mobile-menu{display:none}.page-wrap{max-width:1540px;margin:0 auto;padding:46px 44px 70px}.welcome-row{justify-content:space-between;align-items:center;gap:25px;margin-bottom:32px;display:flex}.welcome-row p{color:var(--muted);margin-bottom:0;font-size:13px}.today-chip{background:#eae9d8;border-radius:7px;flex-shrink:0;align-items:center;gap:12px;padding:13px 16px;font-size:12px;font-weight:600;display:flex}.today-chip small{margin-top:4px;font-size:10px;font-weight:400}.filters{justify-content:space-between;align-items:center;gap:15px;margin-bottom:5px;padding:0 0 24px;display:flex}.date-filters{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.date-filters label{color:var(--muted);gap:5px;font-size:10px}.date-filters input{width:153px;min-height:38px;padding:8px;font-size:12px}.date-filters .text-button{align-self:end;min-height:40px;margin-left:3px}.stats-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:25px;display:grid}.stat-card{border:1px solid var(--line);background:var(--paper);box-shadow:var(--shadow);border-radius:9px;padding:23px 25px}.stat-card>span{color:var(--muted);font-size:12px}.stat-card>strong{letter-spacing:-1px;margin:18px 0 13px;font-size:34px;font-weight:650;line-height:1;display:block}.stat-card>small{font-size:10px}.section-title{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;margin:28px 0 18px;display:flex}.section-title .muted{margin-left:8px;font-size:14px}.panel{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:9px;padding:26px}.panel>.section-title:first-child{margin-top:0}.quick-actions{flex-wrap:wrap;gap:12px;margin-bottom:30px;display:flex}.empty{border:1px dashed var(--line);text-align:center;color:var(--muted);border-radius:8px;margin-bottom:15px;padding:40px 22px;font-size:13px;line-height:1.7}.loading-state{text-align:center;color:var(--muted);padding:70px 20px;font-size:14px}.error,.success,.notice{border-radius:7px;padding:13px 16px;font-size:13px;line-height:1.6}.error{color:#8a372a;background:#f6e1d9;border:1px solid #e6b6aa}.success,.notice{color:#365034;background:#dfebd8}.error-banner,.notice{align-items:center;gap:12px;margin-bottom:20px;display:flex}.error-banner .text-button,.notice .icon-button{flex-shrink:0;margin-left:auto}.notice .icon-button{min-width:28px;min-height:28px;padding:2px}.row-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.badge{white-space:nowrap;color:#626b57;background:#eaeae1;border-radius:5px;justify-content:center;align-items:center;padding:5px 9px;font-size:10px;font-weight:650;display:inline-flex}.badge-booked,.badge-present,.badge-scheduled{color:#426148;background:#dfebdf}.badge-offered,.badge-waitlisted{color:#766824;background:#efe9c2}.badge-cancelled,.badge-no_show,.badge-absent,.badge-expired{color:#92513f;background:#f2ded3}.tone-0{background:#e6e7ac}.tone-1{background:#e9dfa0}.tone-2{background:#c7decd}.tone-3{background:#eec0aa}.session-card{background:var(--paper);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:9px;margin-bottom:13px;overflow:hidden}.session-summary{align-items:center;gap:24px;padding:22px 25px;display:flex}.session-date{border-right:1px solid var(--line);flex-shrink:0;width:99px;padding-right:16px}.session-date>span{color:var(--muted);margin-bottom:9px;font-size:10px;display:block}.session-date strong{letter-spacing:-.5px;font-size:20px;font-weight:600;display:block}.session-date small{margin-top:3px;font-size:11px}.session-info{flex:1;align-items:start;gap:13px;min-width:0;display:flex}.group-dot{border-radius:3px;flex-shrink:0;width:5px;height:39px;margin-top:2px}.session-info h3{font-size:14px;line-height:1.5}.session-info p{color:var(--muted);margin-bottom:10px;font-size:11px}.session-badges{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.capacity-label{color:var(--muted);font-size:10px}.session-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:12px;max-width:40%;display:flex}.session-actions button{font-size:11px}.session-actions>.row-actions{justify-content:flex-end}.offer-clock{font-variant-numeric:tabular-nums;color:#897028;font-size:16px;font-weight:700}.session-detail{border-top:1px solid var(--line);background:var(--bg);padding:0 25px 24px}.participants{padding-top:20px}.participant-row{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:13px 0;display:flex}.participant-row>.person{flex:1}.person{align-items:center;gap:11px;min-width:0;display:flex}.person strong{overflow-wrap:anywhere;font-size:13px}.person small{overflow-wrap:anywhere;margin-top:3px;font-size:11px}.attendance-select{width:165px}.attendance-select select{font-size:12px}.lesson-notes{margin-top:20px;padding-top:5px}.lesson-notes .section-title{margin:12px 0}.lesson-notes h4{margin:0}.lesson-notes p{color:var(--muted);white-space:pre-wrap;overflow-wrap:anywhere;font-size:13px}.session-detail>.secondary{margin-top:16px}.cancelled-session .session-info h3{text-decoration:line-through}.parent-toolbar{color:#fffef7;background:#2c3628;border-radius:9px;align-items:center;gap:30px;margin:7px 0 27px;padding:23px 25px;display:flex}.parent-toolbar label{color:#d3d9c4;flex:1;max-width:500px;font-size:11px}.parent-toolbar select{color:#fffef7;background:#374230;border-color:#647056;margin-top:4px}.credit-chip{color:#d9dfc9;margin-left:auto;font-size:12px}.credit-chip strong{color:#e6e778;letter-spacing:-1px;font-size:28px}.credit-chip small{color:#b4bea1;margin-top:4px}.rule-note{color:var(--muted);background:var(--paper);border-left:3px solid #c1c68b;border-radius:0 6px 6px 0;margin:22px 0 30px;padding:15px 18px;font-size:12px;line-height:1.8}.member-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.member-card{background:var(--paper);border:1px solid var(--line);border-radius:9px;min-width:0;padding:25px}.member-heading{align-items:center;gap:12px;margin-bottom:24px;display:flex}.member-heading>div{flex:1;min-width:0}.member-heading h3{overflow-wrap:anywhere;margin-bottom:5px}.member-heading p{color:var(--muted);margin:0;font-size:11px}.member-avatar{color:#4e573d;border-radius:50%;flex-shrink:0;place-items:center;width:43px;height:43px;font-size:17px;font-weight:650;display:grid}.member-balance{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-top:20px;display:flex}.member-balance>span{color:var(--muted);font-size:12px}.member-balance strong{letter-spacing:-.7px;font-size:23px;font-weight:650}.member-card .help{margin:13px 0;font-size:11px}.credit-expiry{color:var(--muted);margin:7px 0;font-size:10px}.member-card>.row-actions{margin:19px 0}.member-footer{border-top:1px solid var(--line);justify-content:space-between;padding-top:14px;margin-bottom:0!important}details{margin-top:12px;font-size:12px}summary{cursor:pointer;min-height:32px;color:var(--muted);padding:7px 0}.mini-row{border-top:1px solid var(--line);justify-content:space-between;gap:15px;padding:9px 0;font-size:11px;line-height:1.5;display:flex}.mini-row>span{color:var(--muted)}.mini-row strong{flex-shrink:0}.search{flex-direction:row;align-items:center;max-width:300px;font-weight:400;position:relative}.search>svg{color:var(--muted);position:absolute;left:12px}.search input{padding-left:37px}.group-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.group-stripe{border-radius:3px;width:35px;height:5px;margin-bottom:22px;display:block}.group-card>p{overflow-wrap:anywhere;font-size:12px}.group-card h3{line-height:1.5}.group-facts{border-top:1px solid var(--line);gap:24px;margin:20px 0;padding-top:19px;display:flex}.group-facts>span{color:var(--muted);font-size:10px}.group-facts strong{color:var(--ink);margin-top:8px;font-size:22px;display:block}.list-row,.account-row,.document-row{border-top:1px solid var(--line);align-items:center;gap:20px;min-width:0;padding:20px 0;display:flex}.list-row>div:first-child,.account-row>.person,.document-row>div:nth-child(2){flex:1;min-width:0}.list-row strong,.document-row strong{overflow-wrap:anywhere;font-size:13px}.list-row small,.document-row small{margin-top:5px;font-size:11px}.account-row>.row-actions{justify-content:flex-end;max-width:42%}.account-row small{overflow-wrap:anywhere}.pdf-icon{color:#72765b;background:#e9e5d5;border-radius:5px;flex-shrink:0;place-items:center;width:42px;height:49px;display:grid}.document-link{gap:8px;margin:10px 0;font-size:12px;display:flex}.table-scroll{width:100%;overflow-x:auto}table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}th{text-transform:uppercase;letter-spacing:.7px;color:var(--muted);border-bottom:1px solid var(--line);white-space:nowrap;padding:14px 13px 16px;font-size:10px;font-weight:550}td{border-bottom:1px solid var(--line);vertical-align:middle;padding:18px 13px;line-height:1.5}td:first-child,th:first-child{padding-left:0}td small{margin-top:4px;font-size:10px}td pre{white-space:pre-wrap;max-width:300px;font-size:11px;overflow:auto}td .row-actions{min-width:100px}.table-scroll tbody tr:last-child td{border-bottom:0}dialog{color:var(--ink);background:var(--paper);border:1px solid var(--line);border-radius:13px;width:min(610px,100% - 28px);max-height:90dvh;padding:28px;overflow:auto;box-shadow:0 35px 120px #101b2440}dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#1c261f80}.dialog-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:20px;display:flex}.dialog-heading h2{overflow-wrap:anywhere;font-size:22px;line-height:1.35}.dialog-heading .icon-button{flex-shrink:0}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:19px;display:grid}.form-grid .wide{grid-column:1/-1}.checkbox-label{align-items:center;gap:10px;min-height:34px;font-size:13px;font-weight:450;line-height:1.5;display:flex}.checkbox-options{border:1px solid var(--line);border-radius:6px;max-height:210px;padding:10px 13px;overflow:auto}.checkbox-options .checkbox-label{padding:5px 0;font-size:12px}.dialog-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:12px;margin-top:28px;padding-top:21px;display:flex}.privacy-copy{font-size:14px;line-height:1.9}.dark{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#283027;--bg:#20271f;--ink:#eeefe4;--muted:#b6beaa;--line:#444e3c;--accent:#e3e59d;--mint:#3d5439;--shadow:none}.dark .brand-logo{color:#ff8d76}.dark .sidebar nav button.active{color:#293126;background:#e3e59d}.dark .today-chip{background:#37412e}.dark .secondary:hover{color:#f2f6e4}.dark button:not(.text-button):not(.icon-button):not(.secondary){border-color:#52603f}.dark input[type=date],.dark input[type=datetime-local],.dark input[type=time]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.dark .badge{color:#e2e6ce;background:#404a39}.dark .badge-offered,.dark .badge-waitlisted{color:#fff2b5;background:#59552e}.dark .badge-cancelled,.dark .badge-no_show,.dark .badge-absent{color:#ffe1d0;background:#664538}.dark dialog{--paper:#283027;--ink:#eeefe4;--line:#444e3c;--muted:#b6beaa}.dark .text-button:hover{color:#d8e8ab}.dark .danger{color:#f7bba7}@media (width>=1600px){.page-wrap{padding:55px 65px}.sidebar{width:260px;padding:38px 27px}.session-summary{padding:25px 28px}}@media (width<=1150px){.sidebar{width:205px;padding:30px 15px 20px}.brand-logo{width:145px}.topbar{padding:0 28px}.page-wrap{padding:38px 26px 60px}.session-summary{gap:16px;padding:20px}.session-actions{max-width:35%}.session-info h3{font-size:13px}.group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-card{padding:20px 17px}.today-chip{display:none}.account-row{flex-wrap:wrap}.account-row>.row-actions{justify-content:flex-start;width:100%;max-width:none;padding-left:43px}.member-card{padding:20px}}@media (width<=800px){.sidebar{width:245px;height:100dvh;transition:transform .2s;position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.sidebar-scrim{z-index:29;background:#14201780;border:0;border-radius:0;position:fixed;inset:0}.sidebar-scrim:hover{background:#14201780}.mobile-menu{margin-left:-6px;margin-right:10px;display:inline-flex}.topbar{height:65px;padding:0 22px}.page-wrap{padding:33px 22px 55px}.login-art{min-height:580px;padding:40px 10%}.login-art h1{font-size:50px}.login-side{padding:70px 28px}.session-actions{max-width:34%}.welcome-row .eyebrow{font-size:9px}.login-content .brand{margin-bottom:50px}}@media (width<=600px){.page-wrap{padding:30px 16px 45px}.topbar{padding:0 16px}.breadcrumb{font-size:10px}.breadcrumb>span{margin:0 6px}.topbar-actions{gap:10px}.welcome-row{margin-bottom:25px}.welcome-row p{font-size:12px;line-height:1.75}h1{letter-spacing:-1.2px;font-size:33px}h2{font-size:18px}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.stat-card{padding:19px 17px}.stat-card>strong{margin:15px 0 10px;font-size:30px}.stat-card>span{font-size:11px}.member-grid,.group-grid{grid-template-columns:1fr}.session-summary{flex-wrap:wrap;gap:15px;padding:18px 16px}.session-date{width:79px;padding-right:10px}.session-date>span{font-size:9px}.session-date strong{font-size:18px}.session-info{flex:1}.session-info h3{font-size:13px}.session-info p{font-size:10px}.session-actions{justify-content:flex-start;gap:10px;width:100%;max-width:none;padding-left:94px}.session-actions>.row-actions{justify-content:flex-start}.session-actions .secondary{min-height:39px}.session-detail{padding:0 16px 20px}.session-badges{gap:7px}.capacity-label{font-size:9px}.participant-row{flex-wrap:wrap;gap:9px}.participant-row>.person{min-width:60%}.participant-row>.badge{margin-left:auto;font-size:9px}.attendance-select{width:calc(100% - 43px);margin-left:43px}.attendance-select select{min-height:41px}.participant-row .person strong{font-size:12px}.date-filters{gap:7px}.date-filters input{width:123px;padding:8px 6px;font-size:11px}.date-filters .icon-button{min-width:28px;padding:4px}.date-filters .text-button{margin-left:0}.filters{align-items:flex-end;gap:2px;padding-bottom:14px}.filters>.icon-button{display:none}.section-title{gap:12px;margin-top:23px}.section-title>button{min-height:40px;padding:10px 11px;font-size:11px}.parent-toolbar{align-items:flex-start;gap:15px;padding:20px 16px}.parent-toolbar label{width:70%}.parent-toolbar select{font-size:12px}.credit-chip strong{font-size:25px}.credit-chip{min-width:60px;margin-top:21px;font-size:10px}.credit-chip small{font-size:10px}.panel{padding:20px 16px}.quick-actions{gap:8px}.quick-actions button{padding:10px 12px;font-size:11px}.list-row{flex-wrap:wrap;gap:12px}.list-row>div:first-child{min-width:100%}.document-row{flex-wrap:wrap;gap:13px}.document-row>div:nth-child(2){min-width:calc(100% - 60px)}.document-row>.text-button{margin-left:55px}.account-row{gap:12px}.account-row>.person{min-width:65%}.account-row>.badge{font-size:9px}.account-row>.row-actions{gap:10px;padding-left:0}.account-row .text-button{font-size:11px}.login-page{flex-direction:column;display:flex}.login-art{min-height:285px;padding:28px 30px;display:block}.mountain-mark{width:38px;height:38px;margin-bottom:40px;font-size:20px}.login-art>div:last-child{padding-bottom:0}.login-art .eyebrow{margin-bottom:11px;font-size:9px}.login-art h1{letter-spacing:-1.8px;margin-bottom:10px;font-size:42px}.login-art p{display:none}.login-side{padding:58px 28px 45px}.login-languages{top:13px;right:27px}.login-content .brand{margin-bottom:35px}.login-content .brand-logo{width:135px}.login-content .eyebrow{display:none}.login-content h2{font-size:25px}.login-content>p{margin-bottom:24px;font-size:12px}.login-content{max-width:400px}.contours{width:340px;height:410px;top:-235px;right:-125px}.form-grid{grid-template-columns:1fr;gap:16px}dialog{max-height:92dvh;padding:22px 18px}.dialog-heading h2{font-size:20px}.dialog-actions{margin-top:22px}.error-banner{align-items:flex-start;font-size:12px}td{padding:14px 10px;font-size:11px}th{padding:12px 10px;font-size:9px}.table-scroll{margin-bottom:0}.search{width:100%;max-width:230px}.member-heading h3{font-size:16px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important}}.offer-panel{background:#f5f0d9;border-color:#c5bb69;margin-bottom:25px}.dark .offer-panel{background:#44442b}.member-parents{border-top:1px solid var(--line);margin:20px 0;padding-top:18px}.parent-contact+.parent-contact{margin-top:14px}.parent-contact strong{overflow-wrap:anywhere;font-size:13px}.parent-contact small{overflow-wrap:anywhere}.kiosk-toolbar{flex-wrap:wrap;align-items:center;gap:20px;display:flex}.kiosk-toolbar .search{width:100%;max-width:420px}.kiosk .sidebar{width:205px}.kiosk .page-wrap{max-width:none;padding:28px}.kiosk .welcome-row{margin-bottom:20px}.kiosk .welcome-row h1{font-size:32px}.kiosk .session-actions:empty{display:none}.kiosk .session-summary{padding:18px 22px}.kiosk .participant-row{gap:20px}.kiosk .person strong{font-size:18px}.kiosk .badge{font-size:12px}.kiosk button{min-height:48px}.attendance-buttons{flex-wrap:wrap;gap:10px;display:flex}.attendance-buttons button{min-width:112px;font-size:15px}.attendance-buttons .attendance-present[aria-pressed=true]{color:#fff;background:#426148}.attendance-buttons .attendance-absent[aria-pressed=true],.attendance-buttons .attendance-no_show[aria-pressed=true]{color:#fff;background:#92513f}.kiosk .date-filters{align-items:center}.kiosk .topbar{padding:0 28px}.app-shell,.login-page,.boot{min-height:100dvh}body{background:var(--bg);color:var(--ink)}dialog{overscroll-behavior:contain}@media (pointer:coarse),(width<=800px){button,.small,.icon-button,.text-button,.session-actions .secondary,.section-title>button,.date-filters .text-button{min-height:44px}.icon-button,.date-filters .icon-button{min-width:44px}input,select,textarea,.parent-toolbar select,.attendance-select select{min-height:44px;font-size:16px}input[type=checkbox]{width:22px;height:22px;min-height:22px}.checkbox-label{min-height:44px}.sidebar{padding-top:max(26px, env(safe-area-inset-top));padding-bottom:max(20px, env(safe-area-inset-bottom))}.topbar,.kiosk .topbar{height:auto;min-height:65px;padding-top:env(safe-area-inset-top)}.page-wrap,.kiosk .page-wrap{padding-left:max(16px, env(safe-area-inset-left));padding-right:max(16px, env(safe-area-inset-right));padding-bottom:max(30px, env(safe-area-inset-bottom))}.kiosk .sidebar{width:245px}.kiosk .participant-row{flex-wrap:wrap;gap:12px}.kiosk .participant-row>.person{min-width:60%}.attendance-buttons{width:100%}.attendance-buttons button{flex:1;min-width:85px;padding:10px 8px}}@media (width<=600px){.filters,.date-filters{width:100%}.date-filters{grid-template-columns:44px minmax(0,1fr) 44px;display:grid}.date-filters>.text-button{grid-column:1/-1;justify-self:start}.kiosk .topbar{flex-wrap:wrap;padding-left:16px;padding-right:16px}.kiosk .breadcrumb{flex:1}.fullscreen-button{padding:8px;font-size:11px}.topbar-actions{gap:6px}.breadcrumb{overflow-wrap:anywhere}.kiosk .participant-row>.person{min-width:50%}.kiosk .person strong{font-size:16px}.session-info p,.session-info h3{overflow-wrap:anywhere}}
