/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}}:root{--canvas:#f2f4ed;--surface:#fff;--surface-soft:#f7f8f3;--ink:#17231d;--muted:#596b62;--line:#dde3dc;--forest:#143d2d;--forest-2:#1b4b38;--lime:#c8ef62;--lime-dark:#8eb52a;--warning:#bd741a;--danger:#bd4b42;--shadow:0 1px 2px #143d2d0a,0 12px 34px #143d2d0d}*{box-sizing:border-box}body,html{background:var(--canvas);color:var(--ink)}body{min-height:100vh;-webkit-font-smoothing:antialiased;margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #c8ef628c}a{color:inherit;text-decoration:none}.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;color:#fff;background:var(--forest);border-radius:10px;padding:11px 14px;font-size:12px;font-weight:750;position:fixed;top:12px;left:12px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh}.sidebar{z-index:30;color:#f6faef;background:radial-gradient(circle at 14% 2%,#c8ef6224,transparent 28%),var(--forest);flex-direction:column;width:264px;padding:28px 20px 22px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{align-items:center;gap:11px;min-width:max-content;display:inline-flex}.brand-icon{width:38px;height:38px;color:var(--forest);background:var(--lime);border-radius:11px;place-items:center;display:grid;box-shadow:inset 0 0 0 1px #ffffff47}.brand>span:last-child{flex-direction:column;line-height:1;display:flex}.brand strong{letter-spacing:.14em;font-size:18px}.brand small{color:#f6faef94;letter-spacing:.13em;margin-top:5px;font-size:8px;font-weight:750}.tenant-switcher{color:#f8faef;cursor:pointer;text-align:left;background:#ffffff12;border:1px solid #ffffff1a;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;width:100%;margin-top:32px;padding:11px;display:grid}.tenant-switcher-wrap{position:relative}.tenant-switcher:hover{background:#ffffff1a}.tenant-switcher-menu{z-index:40;width:100%;color:var(--ink);background:#fff;border:1px solid #d8dfd7;border-radius:12px;gap:4px;padding:7px;display:grid;position:absolute;top:calc(100% + 7px);left:0;box-shadow:0 16px 38px #061b1342}.tenant-switcher-menu button{min-height:46px;color:var(--ink);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:9px;padding:8px 9px;display:flex}.tenant-switcher-menu button:hover:not(:disabled){background:var(--surface-soft)}.tenant-switcher-menu button:disabled{cursor:wait;opacity:.65}.tenant-switcher-menu button>span{flex-direction:column;min-width:0;display:flex}.tenant-switcher-menu strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.tenant-switcher-menu small{color:var(--muted);margin-top:2px;font-size:8px}.tenant-switcher-menu p{color:var(--muted);margin:4px 6px;font-size:8px;line-height:1.4}.tenant-mark{width:34px;height:34px;color:var(--forest);background:#f2f4e9;border-radius:9px;place-items:center;font-size:11px;font-weight:800;display:grid}.tenant-copy{flex-direction:column;min-width:0;display:flex}.tenant-copy small{color:#f6faef94;font-size:9px}.tenant-copy small,.tenant-copy strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.tenant-copy strong{margin-top:3px;font-size:13px}.nav-links{flex-direction:column;flex:1;gap:5px;margin-top:28px;display:flex}.nav-link{color:#f6faefa1;border-radius:11px;align-items:center;gap:12px;min-height:44px;padding:0 13px;font-size:13px;font-weight:620;transition:all .16s;display:flex;position:relative}.nav-link:hover{color:#fff;background:#ffffff0f}.nav-link[data-active=true]{color:var(--forest);background:var(--lime)}.sidebar-footer{border-top:1px solid #ffffff1a;flex-direction:column;gap:10px;margin-top:24px;padding:17px 6px 0;display:flex}.professional-profile{align-items:center;gap:11px;width:100%;min-width:0;display:flex}.avatar,.profile-avatar{color:#315143;background:#e4eadf;border-radius:50%;flex:none;place-items:center;font-size:11px;font-weight:800;display:grid}.profile-avatar{width:37px;height:37px}.professional-profile>div:last-child{flex-direction:column;min-width:0;display:flex}.professional-profile strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.professional-profile span{color:#f6faef94;margin-top:2px;font-size:10px}.professional-logout-button,.professional-mobile-logout{color:#f6faefad;min-height:38px;font:inherit;cursor:pointer;background:0 0;border:1px solid #ffffff1c;border-radius:10px;justify-content:center;align-items:center;gap:8px;font-size:10px;font-weight:700;display:inline-flex}.professional-logout-button{width:100%}.professional-logout-button:hover:not(:disabled),.professional-mobile-logout:hover:not(:disabled){color:#fff;background:#ffffff0f}.professional-logout-button:disabled,.professional-mobile-logout:disabled{cursor:wait;opacity:.68}.professional-logout-feedback{color:#ffd9d4;font-size:9px;line-height:1.4}.app-main{min-height:100vh;margin-left:264px}.preview-banner{color:#536056;letter-spacing:.01em;background:#e9eddf;border-bottom:1px solid #d9dfd2;justify-content:center;align-items:center;gap:9px;min-height:34px;padding:7px 24px;font-size:11px;display:flex}.preview-dot{background:var(--lime-dark);border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #8eb52a21}.mobile-header,.mobile-nav-menu,.mobile-nav-wrap{display:none}.mobile-header-actions{align-items:center;gap:8px;display:flex}.page-container{width:min(100%,1500px);margin:0 auto;padding:39px 42px 60px}.page-header{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:28px;display:flex}.eyebrow{color:#596b62;letter-spacing:.14em;margin:0 0 7px;font-size:10px;font-weight:800}.page-header h1{color:var(--ink);letter-spacing:-.045em;margin:0;font-size:clamp(28px,3vw,39px);font-weight:730;line-height:1.1}.page-header>div:first-child>p:last-child{max-width:680px;color:var(--muted);margin:9px 0 0;font-size:13px;line-height:1.5}.page-actions{flex-wrap:wrap;justify-content:flex-end;gap:9px;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:0 15px;font-size:12px;font-weight:700;transition:transform .15s,background .15s,border .15s;display:inline-flex}.button:hover:not(:disabled){transform:translateY(-1px)}.button.primary{color:#f7faef;background:var(--forest);box-shadow:0 6px 18px #143d2d29}.button.primary:hover{background:var(--forest-2)}.button.secondary{color:var(--ink);background:var(--surface);border-color:var(--line)}.button.secondary:hover:not(:disabled){background:#fbfcf8;border-color:#bdc7bd}.button.small{min-height:35px;padding-inline:12px;font-size:11px}.button.full{width:100%}.button:disabled{color:#53635b;cursor:not-allowed;background:#f1f3ef}.icon-button{width:36px;height:36px;color:var(--ink);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:9px;flex:none;place-items:center;display:inline-grid;position:relative}.icon-button.ghost{color:#596b62;background:0 0;border-color:#0000}.icon-button.ghost:hover:not(:disabled){color:var(--ink);background:var(--surface-soft)}.icon-button:disabled{cursor:not-allowed;opacity:.8}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin-bottom:17px;display:grid}.metric-card{background:var(--surface);border:1px solid var(--line);border-radius:15px;min-width:0;padding:18px 19px 17px;box-shadow:0 2px 18px #16241c05}.metric-card[data-tone=accent]{background:var(--forest);border-color:var(--forest);color:#f7faef}.metric-card[data-tone=attention]{background:#fffaf0;border-color:#efe1c9}.metric-top{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:11px;font-weight:680;display:flex}.metric-card[data-tone=accent] .metric-top,.metric-card[data-tone=accent] small{color:#f7faefa1}.metric-icon{width:33px;height:33px;color:var(--forest);background:#edf1e8;border-radius:9px;place-items:center;display:grid}.metric-card[data-tone=accent] .metric-icon{color:var(--forest);background:var(--lime)}.metric-card[data-tone=positive] .metric-icon{color:#376b37;background:#e9f4df}.metric-card[data-tone=attention] .metric-icon{color:var(--warning);background:#f9ead3}.metric-value{letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap;margin-top:13px;font-size:clamp(23px,2.2vw,30px);font-weight:750;line-height:1;display:block;overflow:hidden}.metric-card>small{color:#52675d;margin-top:8px;font-size:10px;display:block}.panel{background:var(--surface);border:1px solid var(--line);box-shadow:var(--shadow);border-radius:16px}.dashboard-grid{grid-template-columns:minmax(0,1.65fr) minmax(310px,.8fr);align-items:start;gap:17px;display:grid}.agenda-list-panel,.attention-panel,.billing-policy,.invoices-panel,.payment-preview,.schedule-panel,.settings-section,.students-panel{padding:20px}.dashboard-side{gap:17px;display:grid}.section-header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:17px;display:flex}.section-header h2{letter-spacing:-.02em;margin:0;font-size:15px;font-weight:740}.section-header p{color:var(--muted);margin:4px 0 0;font-size:10px}.text-link{color:#527060;flex:none;align-items:center;gap:4px;font-size:10px;font-weight:730;display:inline-flex}.text-link:hover{color:var(--forest)}.class-list,.class-row{display:grid}.class-row{border-top:1px solid #edf0eb;grid-template-columns:46px 3px minmax(0,1fr) 34px;align-items:center;gap:12px;min-height:75px;padding:11px 0}.class-row:first-child{border-top:0}.class-time{flex-direction:column;align-items:flex-start;display:flex}.class-time strong{letter-spacing:-.02em;font-size:13px}.class-time span{color:#52675d;margin-top:2px;font-size:9px}.class-accent{background:var(--lime-dark);border-radius:999px;width:3px;height:38px}.class-accent[data-full=true]{background:#ce6b5d}.class-main{min-width:0}.capacity-line,.class-meta,.class-title-line{align-items:center;display:flex}.class-title-line{justify-content:space-between;gap:12px}.class-title-line>div{align-items:baseline;gap:7px;min-width:0;display:flex}.class-title-line strong{font-size:12px}.class-title-line strong,.class-title-line>div>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.class-title-line>div>span{color:#52675d;font-size:9px}.capacity-line{gap:9px;margin-top:9px}.capacity-track{background:#e8ece6;border-radius:999px;width:min(100%,220px);height:4px;position:relative;overflow:hidden}.capacity-track>span{border-radius:inherit;background:#7ba347;position:absolute;inset:0 auto 0 0}.capacity-line>span,.class-meta span{color:#52675d;flex:none;align-items:center;gap:4px;font-size:9px;font-weight:650;display:inline-flex}.class-meta{flex-wrap:wrap;gap:12px;margin-top:8px}.class-list.detailed .class-row{min-height:90px}.gympass-quota-form{border-top:1px dashed #dce3db;flex-wrap:wrap;align-items:end;gap:8px;margin-top:11px;padding-top:10px;display:flex}.gympass-quota-form label{color:#52675d;gap:4px;font-size:9px;font-weight:750;display:grid}.gympass-quota-form input[type=number]{width:74px;min-height:32px;color:var(--ink);font:inherit;background:#fff;border:1px solid #d7dfd5;border-radius:8px;padding:5px 8px;font-size:11px}.gympass-quota-form input[type=number]:focus{border-color:#8da693;outline:0;box-shadow:0 0 0 3px #c8ef6233}.gympass-quota-feedback{color:#6b7c72;width:100%;font-size:8px}.gympass-quota-feedback[data-status=success]{color:#3f6f39}.gympass-quota-feedback[data-status=error]{color:#a84941}.status-badge{letter-spacing:.015em;white-space:nowrap;border-radius:999px;justify-content:center;align-items:center;min-height:21px;padding:3px 8px;font-size:8px;font-weight:760;display:inline-flex}.status-badge[data-tone=success]{color:#3f6f39;background:#e8f3e1}.status-badge[data-tone=warning]{color:#875514;background:#f8ecd8}.status-badge[data-tone=danger]{color:#a84941;background:#f9e5e2}.status-badge[data-tone=accent]{color:var(--forest);background:var(--lime)}.status-badge[data-tone=neutral]{color:#53635b;background:#edf0eb}.attention-list,.compact-invoices{display:grid}.attention-item{border-top:1px solid #edf0eb;grid-template-columns:34px 1fr auto;align-items:center;gap:11px;min-height:61px;padding:10px 0;display:grid}.attention-item:first-child{border-top:0}.attention-item>svg{color:#52675d}.attention-icon{border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.attention-icon.danger{color:#aa5147;background:#f8e5e2}.attention-icon.warning{color:var(--warning);background:#faecd5}.attention-icon.accent{color:var(--forest);background:#eaf1d7}.attention-item>span:nth-child(2),.compact-invoice>span{flex-direction:column;min-width:0;display:flex}.attention-item strong,.compact-invoice strong{font-size:10px}.attention-item small,.compact-invoice small{color:#52675d;margin-top:3px;font-size:9px}.compact-invoice{border-top:1px solid #edf0eb;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:9px 0;display:flex}.compact-invoice:first-child{border-top:0}.compact-invoice>span:last-child{align-items:flex-end;gap:4px}.agenda-calendar{margin-bottom:17px;overflow:hidden}.calendar-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:15px 19px;display:flex}.calendar-toolbar>div{align-items:center;gap:5px;display:flex}.date-title{color:var(--ink);cursor:pointer;background:0 0;border:0;padding:7px 10px;font-size:13px;font-weight:740}.date-title:disabled,.day-button:disabled{cursor:not-allowed;opacity:1}.week-picker{grid-template-columns:repeat(6,minmax(84px,1fr));display:grid;overflow-x:auto}.day-button{color:#596b62;cursor:pointer;background:0 0;border:0;border-right:1px solid #edf0eb;flex-direction:column;justify-content:center;align-items:center;min-width:84px;min-height:91px;display:flex}.day-button:last-child{border-right:0}.day-button span{letter-spacing:.12em;font-size:8px;font-weight:800}.day-button strong{color:var(--ink);margin-top:4px;font-size:20px;line-height:1}.day-button small{margin-top:6px;font-size:8px}.day-button[data-active=true]{color:var(--forest);box-shadow:inset 0 -3px 0 var(--lime-dark);background:#edf4db}.agenda-list-panel,.rule-callout{margin-bottom:17px}.rule-callout{color:#eefaef;background:var(--forest);border-radius:14px;grid-template-columns:auto 1fr;gap:16px;padding:17px 19px;display:grid}.rule-callout>span{color:var(--forest);background:var(--lime);letter-spacing:.08em;border-radius:999px;align-self:start;padding:5px 8px;font-size:8px;font-weight:850}.rule-callout strong{font-size:12px}.rule-callout p{color:#eefaefa6;margin:5px 0 0;font-size:10px;line-height:1.5}.students-panel{padding-bottom:7px}.student-list-filters{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.student-list-filters a{border:1px solid var(--line);min-height:34px;color:var(--forest);background:var(--surface-soft);border-radius:999px;align-items:center;padding:0 13px;font-size:11px;font-weight:700;text-decoration:none;display:inline-flex}.student-list-filters a[aria-current=page]{border-color:var(--forest);color:#fff;background:var(--forest)}.student-list-filters a:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.student-attention-note{color:var(--muted);margin:-4px 0 16px;font-size:11px;line-height:1.5}.student-mobile-list{display:none}.student-cycle-list{gap:10px;display:grid}.student-cycle-item{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px}.student-cycle-item summary{cursor:pointer;justify-content:space-between;align-items:center;gap:15px;padding:15px 17px;list-style:none;display:flex}.student-cycle-item summary::-webkit-details-marker{display:none}.student-cycle-item summary>span{gap:4px;min-width:0;display:grid}.student-cycle-item summary strong{color:var(--ink);font-size:13px}.student-cycle-item summary small{color:var(--muted);font-size:11px}.student-cycle-summary-right{text-align:right}.student-cycle-summary-right em{color:var(--forest);font-size:10px;font-style:normal;font-weight:750}.student-cycle-item .student-cycle-hide,.student-cycle-item[open] .student-cycle-show{display:none}.student-cycle-item[open] .student-cycle-hide{display:block}.student-cycle-entries{margin:0;padding:0 17px 8px;list-style:none}.student-cycle-entries li{border-top:1px solid var(--line);justify-content:space-between;gap:12px;padding:10px 0;display:flex}.student-cycle-entries li>div{gap:3px;display:grid}.student-cycle-entries li strong{font-size:12px}.student-cycle-entries li small,.student-cycle-entries li span{color:var(--muted);font-size:11px}.student-cycle-entries li b{flex:none;font-size:12px}.student-cycle-entries .credit-positive{color:#247a42}.student-cycle-entries .credit-negative{color:#a54236}.student-cycle-entries .credit-neutral{color:var(--muted)}.student-cycle-empty{color:var(--muted);margin:0;padding:0 17px 15px;font-size:12px}@media (max-width:720px){.student-details-mobile-table,.student-history-desktop-table,.students-panel .student-desktop-table{display:none}.student-mobile-list{gap:10px;display:grid}.student-mobile-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;padding:14px}.student-mobile-card-heading{align-items:center;gap:10px;display:flex}.student-mobile-card-heading>div{gap:3px;min-width:0;display:grid}.student-mobile-card-heading strong{color:var(--ink);font-size:13px}.student-mobile-card-heading small{color:var(--muted);font-size:10px}.student-mobile-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0;display:grid}.student-mobile-card dl>div{min-width:0}.student-mobile-card dt{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;margin-bottom:3px;font-size:9px;font-weight:750}.student-mobile-card dd{color:var(--ink);overflow-wrap:anywhere;margin:0;font-size:11px;font-weight:650}}.table-toolbar{justify-content:space-between;gap:16px;margin-bottom:15px}.search-box,.table-toolbar{align-items:center;display:flex}.search-box{color:#52675d;background:var(--surface-soft);border:1px solid var(--line);border-radius:10px;gap:9px;width:min(100%,360px);min-height:39px;padding:0 12px}.search-box:focus-within{border-color:#97aa99;box-shadow:0 0 0 3px #c8ef622e}.search-box input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:11px}.search-box input::placeholder{color:#596b62}.search-submit{color:#203b2b;background:var(--lime);cursor:pointer;border:0;border-radius:6px;flex:none;padding:6px 9px;font-size:11px;font-weight:700}.search-submit:hover{filter:brightness(.96)}.search-clear{color:var(--muted);font-size:11px;text-decoration:underline}.result-count{color:var(--muted);font-size:10px;font-weight:650}.data-table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;white-space:nowrap;width:100%;font-size:10px}.data-table th{color:#52675d;border-bottom:1px solid var(--line);letter-spacing:.055em;text-align:left;text-transform:uppercase;background:#f6f8f4;padding:10px 12px;font-size:8px;font-weight:780}.data-table th:first-child{border-radius:9px 0 0 9px}.data-table th:last-child{border-radius:0 9px 9px 0}.data-table td{color:#59655d;border-bottom:1px solid #edf0eb;padding:13px 12px}.data-table tbody tr:last-child td{border-bottom:0}.person-cell{align-items:center;gap:10px;display:flex}.avatar{width:34px;height:34px}.person-cell>span:last-child{flex-direction:column;display:flex}.data-table td>strong,.person-cell strong{color:var(--ink);font-size:10px}.person-cell small,.table-subtitle{color:#52675d;margin-top:3px;font-size:8px}.credit-count{color:var(--forest);background:#eef3e7;border-radius:7px;padding:5px 8px;font-weight:750}.empty-state{text-align:center;padding:45px 20px}.empty-state strong{font-size:13px}.empty-state p{color:var(--muted);margin:5px 0 0;font-size:10px}.finance-grid{grid-template-columns:minmax(0,1.7fr) minmax(250px,.65fr);align-items:start;gap:17px;display:grid}.finance-grid>*{min-width:0}.invoice-table{min-width:760px}.invoice-number{overflow-wrap:anywhere}.finance-mobile-list{display:none}.table-subtitle{display:block}.billing-policy{position:sticky;top:20px}.billing-policy form{margin:14px 0}.billing-policy form p{color:var(--muted);margin:0 0 10px;font-size:12px;line-height:1.5}.finance-pagination{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;margin-top:16px;font-size:12px;display:flex}.finance-review-panel{border-left:4px solid #d69a4f}.finance-review-panel summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;list-style:none;display:flex}.finance-review-panel summary::-webkit-details-marker{display:none}.finance-review-panel summary strong{color:var(--ink);font-size:14px}.finance-review-panel summary span{color:var(--forest);font-size:12px;font-weight:700}.finance-review-panel .finance-review-open,.finance-review-panel[open] .finance-review-closed{display:none}.finance-review-panel[open] .finance-review-open{color:var(--muted);display:inline}.finance-review-panel>p{color:var(--muted);font-size:12px}.finance-review-panel .request-list{margin-top:12px}.opening-invoice-panel{max-width:760px;padding:24px}.opening-invoice-panel h2{color:var(--ink);margin:0;font-size:19px}.opening-invoice-panel>p{color:var(--muted);margin:10px 0 22px;font-size:13px;line-height:1.5}.opening-invoice-panel>.text-link{margin-top:20px;display:inline-block}.opening-invoice-form{gap:21px;display:grid}.opening-invoice-form fieldset{border:0;gap:10px;margin:0;padding:0;display:grid}.opening-invoice-form legend{color:var(--ink);margin-bottom:10px;font-size:13px;font-weight:750}.opening-invoice-option{border:1px solid var(--line);cursor:pointer;border-radius:12px;align-items:center;gap:12px;padding:15px;display:flex}.opening-invoice-option:has(input:checked){border-color:var(--forest);background:var(--surface-soft)}.opening-invoice-option input{accent-color:var(--forest)}.opening-invoice-option span{gap:3px;display:grid}.opening-invoice-option strong{color:var(--ink);font-size:13px}.opening-invoice-option small{color:var(--muted);font-size:12px}.opening-invoice-form .student-field{gap:7px;display:grid}.opening-invoice-form .student-field>input{border:1px solid var(--line);background:var(--surface);width:min(100%,260px);min-height:46px;color:var(--ink);font:inherit;border-radius:9px;padding:0 12px}.opening-invoice-form .student-field>small{color:var(--muted);font-size:11px;line-height:1.5}.opening-invoice-confirm{color:var(--ink);align-items:flex-start;gap:10px;font-size:12px;line-height:1.5;display:flex}.opening-invoice-confirm input{accent-color:var(--forest);margin-top:2px}.opening-invoice-form>button{justify-self:start}@media (max-width:720px){.opening-invoice-panel{padding:18px}.finance-invoice-desktop-table{display:none}.finance-mobile-list{gap:10px;display:grid}.finance-mobile-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;min-width:0;padding:15px}.finance-mobile-card-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.finance-mobile-card-heading strong{min-width:0;color:var(--ink);font-size:14px}.finance-mobile-card p{color:var(--muted);margin:9px 0 3px;font-size:12px}.finance-mobile-card>small{color:var(--muted);overflow-wrap:anywhere;font-size:10px}.finance-mobile-card dl{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:15px 0;display:grid}.finance-mobile-card dt{color:var(--muted);font-size:10px}.finance-mobile-card dd{color:var(--ink);margin:3px 0 0;font-size:12px;font-weight:700}.finance-mobile-card>a{width:100%}}.one-off-product-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;padding:20px}.one-off-product-head{justify-content:space-between;align-items:start;gap:20px;display:flex}.one-off-product-head>strong{white-space:nowrap;font-size:20px}.one-off-product-head p{color:var(--muted);margin:8px 0;font-size:13px}.one-off-product-head small{color:var(--muted);font-size:12px}.one-off-edit{margin-top:16px}.one-off-edit summary{color:var(--forest);cursor:pointer;font-size:13px;font-weight:700}.one-off-edit .one-off-product-form{margin-top:16px}.one-off-booking-form .student-field>:is(input,select),.one-off-product-form .student-field>:is(input,select),.staff-booking-cancel .student-field>input{width:100%;min-width:0;min-height:46px;color:var(--ink);background:var(--surface);border:1px solid var(--line);font:inherit;border-radius:10px;padding:0 12px;font-size:14px}.one-off-booking-form .student-field>:is(input,select):focus-visible,.one-off-product-form .student-field>:is(input,select):focus-visible,.staff-booking-cancel .student-field>input:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.one-off-booking-form{margin-top:16px}.plan-change-decision{min-width:150px}.plan-change-decision summary{cursor:pointer;color:var(--forest);font-size:12px;font-weight:700}.plan-change-decision form{gap:10px;width:min(100%,320px);margin-top:10px;display:grid}.plan-change-decision form>p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.plan-change-decision .student-field>input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:42px;color:var(--ink);font:inherit;border-radius:9px;padding:0 10px}.plan-change-decision .student-field>input:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.plan-change-options{gap:10px;width:min(100%,340px);margin-top:12px;display:grid}.plan-change-options>p,.plan-change-quote p{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.plan-change-options hr{border:0;border-top:1px solid var(--line);width:100%}.plan-change-quote{border:1px solid var(--line);background:var(--surface);border-radius:10px;gap:8px;padding:12px;display:grid}.plan-change-options form,.plan-change-quote form{margin-top:0}@media (max-width:680px){.one-off-product-head{flex-direction:column}}.billing-calendar{color:#f6faef;background:radial-gradient(circle at 50% 0,#c8ef622e,transparent 45%),var(--forest);border-radius:13px;align-content:center;place-items:center;min-height:150px;display:grid}.billing-calendar span{color:#f6faef8f;letter-spacing:.1em;font-size:8px;font-weight:800}.billing-calendar strong{color:var(--lime);letter-spacing:-.06em;margin-top:5px;font-size:49px;line-height:1}.billing-calendar small{color:#f6faef9e;margin-top:3px;font-size:9px}.definition-list{margin:13px 0 16px}.definition-list>div,.settings-rows>div{border-bottom:1px solid #edf0eb;justify-content:space-between;align-items:center;gap:14px;padding:10px 0;display:flex}.definition-list dt,.settings-rows dt{color:#52675d;font-size:9px}.definition-list dd,.settings-rows dd{text-align:right;margin:0;font-size:9px;font-weight:720}.settings-stack{gap:17px;display:grid}.settings-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;display:grid}.setting-card{background:var(--surface-soft);border:1px solid #e4e8e1;border-radius:12px;align-items:flex-start;gap:11px;min-height:112px;padding:15px;display:flex}.integration-icon,.setting-card>span:first-child{width:35px;height:35px;color:var(--forest);background:#e6edd9;border-radius:9px;flex:none;place-items:center;display:grid}.setting-card>div{flex-direction:column;min-width:0;display:flex}.setting-card small{color:#52675d;font-size:8px}.setting-card strong{margin-top:5px;font-size:12px}.setting-card p{color:#52675d;margin:5px 0 0;font-size:9px;line-height:1.4}.settings-rows{margin:0}.settings-section .setting-card>.button{white-space:nowrap;align-self:center;margin-left:auto}.activity-create-section,.activity-list-section{margin-top:22px}.activity-list{gap:16px;display:grid}.activity-item{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:18px}.activity-item-heading{align-items:center;gap:10px;margin-bottom:14px;display:flex}.activity-item-heading h3{margin:0;font-size:15px}.activity-item .activity-form{width:100%;box-shadow:none;border:0;padding:0}.activity-status-form{justify-items:start;gap:8px;margin-top:12px;display:grid}@media (max-width:650px){.settings-section .setting-card{flex-wrap:wrap}.settings-section .setting-card>.button{margin-left:46px}}.settings-rows>div:last-child{border-bottom:0}.integration-list{gap:10px;display:grid}.integration-card{background:var(--surface-soft);border:1px solid #e4e8e1;border-radius:12px;grid-template-columns:40px minmax(160px,1fr) auto auto;align-items:center;gap:12px;padding:12px;display:grid}.integration-card>span:nth-child(2){flex-direction:column;display:flex}.integration-card strong{font-size:11px}.integration-card small{color:#52675d;margin-top:3px;font-size:9px}@media (max-width:1180px){.page-container{padding-inline:28px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid,.finance-grid{grid-template-columns:1fr}.dashboard-side{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-policy{position:static}.billing-policy .definition-list{grid-template-columns:repeat(2,minmax(0,1fr));column-gap:20px;display:grid}}@media (max-width:820px){.sidebar{display:none}.app-main{margin-left:0}.mobile-header{color:#f6faef;background:var(--forest);justify-content:space-between;align-items:center;height:64px;padding:0 20px;display:flex}.mobile-header .brand-icon{width:33px;height:33px}.mobile-header .brand strong{font-size:15px}.mobile-header .brand small{font-size:7px}.mobile-header .icon-button{color:#f6faef;background:#ffffff12;border-color:#ffffff1f}.mobile-header .tenant-switcher{margin-top:0}.mobile-header .tenant-switcher.compact{grid-template-columns:1fr;width:38px;min-height:38px;padding:2px;display:grid}.mobile-header .tenant-switcher.compact .tenant-copy,.mobile-header .tenant-switcher.compact>svg{display:none}.mobile-header .tenant-switcher.compact .tenant-mark{width:32px;height:32px}.mobile-header .tenant-switcher-menu{width:min(280px,100vw - 28px);left:auto;right:0}.professional-mobile-logout{color:#f6faef;background:#ffffff12;border-color:#ffffff1f;min-height:36px;padding:0 10px}.mobile-nav-wrap{scrollbar-width:none;overflow-x:auto}.mobile-nav-menu,.mobile-nav-wrap{background:var(--surface);border-bottom:1px solid var(--line);display:block}.mobile-nav-menu summary{color:var(--forest);cursor:pointer;padding:8px 20px;font-size:11px;font-weight:700}.mobile-nav-menu .nav-links{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:0;padding:4px 12px 12px;display:grid}.mobile-nav-menu .nav-link{min-width:0;color:var(--forest);padding:10px;font-size:11px}.mobile-nav-menu .nav-link:hover{background:var(--surface-soft)}.mobile-nav-links{width:max-content;min-width:100%;padding:0 10px;display:flex}.mobile-nav-links .nav-link{color:#53675e;border-radius:0;min-height:50px;padding:0 12px;font-size:10px}.mobile-nav-links .nav-link[data-active=true]{color:var(--forest);box-shadow:inset 0 -3px 0 var(--lime-dark);background:0 0}.page-container{padding:26px 20px 45px}.page-header{flex-direction:column;align-items:flex-start;margin-bottom:22px}.page-actions{justify-content:flex-start;width:100%}.settings-grid{grid-template-columns:1fr}}@media (max-width:620px){.preview-banner{justify-content:flex-start;padding-inline:18px;font-size:9px}.page-container{padding-inline:14px}.page-header h1{font-size:29px}.page-actions .button{flex:1}.dashboard-side,.metric-grid{grid-template-columns:1fr}.metric-card{padding:16px}.agenda-list-panel,.attention-panel,.billing-policy,.invoices-panel,.payment-preview,.schedule-panel,.settings-section,.students-panel{padding:15px}.class-row{grid-template-columns:43px 3px minmax(0,1fr) 34px;gap:9px}.class-title-line>div{flex-direction:column;align-items:flex-start;gap:2px}.capacity-track{max-width:140px}.calendar-toolbar{align-items:flex-start;padding:12px}.rule-callout{grid-template-columns:1fr}.rule-callout>span{justify-self:start}.table-toolbar{flex-direction:column;align-items:stretch}.search-box{width:100%}.billing-policy .definition-list{grid-template-columns:1fr}.integration-card{grid-template-columns:40px 1fr}.integration-card .button,.integration-card .status-badge{grid-column:2;justify-self:start}}@media (prefers-reduced-motion:reduce){*,:after,:before{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.student-login-page{background:radial-gradient(circle at 17% 18%,#c8ef6230,transparent 29%),radial-gradient(circle at 88% 82%,#477b5b47,transparent 31%),var(--forest);place-items:center;min-height:100svh;padding:32px 20px;display:grid;position:relative;overflow:hidden}.ct-entry-page{background:radial-gradient(circle at 13% 23%,#cdef6733,transparent 32%),radial-gradient(circle at 90% 85%,#568e6640,transparent 30%),var(--forest);place-items:center;min-height:100svh;padding:28px;display:grid}.ct-entry-card{background:#fff;border:1px solid #ffffff47;border-radius:26px;width:min(100%,760px);overflow:hidden;box-shadow:0 30px 90px #05171059}.ct-entry-brand{border-bottom:1px solid var(--line);align-items:center;gap:9px;padding:23px 32px;display:flex}.ct-entry-brand>span{background:var(--lime);width:35px;height:35px;color:var(--forest);border-radius:10px;place-items:center;display:grid}.ct-entry-brand strong{letter-spacing:.09em;font-size:13px;font-weight:850}.ct-entry-brand small{color:var(--muted);letter-spacing:.12em;margin-left:auto;font-size:10px;font-weight:750}.ct-entry-hero{background:linear-gradient(135deg,#fff 47%,#f2f8e6);padding:52px 62px 45px}.ct-entry-symbol{width:62px;height:62px;color:var(--forest);background:#eaf7b9;border-radius:17px;place-items:center;margin-bottom:27px;display:grid}.ct-entry-hero .eyebrow{color:#5b734c;margin:0 0 13px}.ct-entry-hero h1{max-width:600px;color:var(--forest);letter-spacing:-.055em;margin:0;font-size:clamp(34px,6vw,55px);line-height:1.06}.ct-entry-hero>p:not(.eyebrow){color:#567064;max-width:480px;margin:19px 0 30px;font-size:16px;line-height:1.55}.ct-entry-button{background:var(--forest);color:#fff;border-radius:11px;justify-content:center;align-items:center;gap:15px;min-height:50px;padding:0 22px;font-weight:750;text-decoration:none;display:inline-flex}.ct-entry-button:hover{background:#335841}.ct-entry-button:focus-visible{outline-offset:3px;outline:3px solid #8eb52a}.ct-entry-note{color:#637568;align-items:center;gap:7px;margin-top:16px;font-size:12px;display:flex}.ct-entry-note svg{color:#547635;flex:none}.ct-entry-help{border-top:1px solid var(--line);color:var(--muted);margin:0;padding:20px 32px;font-size:12px;line-height:1.5}.ct-share-link{gap:12px;display:grid}.ct-share-link .student-field{max-width:650px}.ct-share-link input{width:100%}.ct-share-actions{flex-wrap:wrap;gap:9px;display:flex}.ct-share-actions .button{align-items:center;gap:8px;display:inline-flex}.ct-share-note{color:var(--muted);margin:3px 0 0;font-size:12px;line-height:1.5}@media (max-width:600px){.ct-entry-page{place-items:center;padding:14px}.ct-entry-card{border-radius:18px}.ct-entry-brand{padding:17px 20px}.ct-entry-hero{padding:35px 24px 37px}.ct-entry-button{width:100%}.ct-entry-help{padding:18px 24px}}.student-login-decoration{aspect-ratio:1;border:1px solid #ffffff12;border-radius:50%;width:min(72vw,880px);position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 90px #ffffff06,0 0 0 190px #ffffff05}.student-login-card{z-index:1;background:#fffffff7;border:1px solid #ffffff7a;border-radius:22px;width:min(100%,455px);padding:31px;position:relative;box-shadow:0 28px 80px #061b1352}.student-brand,.student-login-brand{align-items:center;gap:10px;display:flex}.student-login-brand{border-bottom:1px solid var(--line);padding-bottom:24px}.student-brand-icon,.student-login-brand>span:first-child{width:39px;height:39px;color:var(--forest);background:var(--lime);border-radius:11px;flex:none;place-items:center;font-size:16px;font-weight:900;display:grid}.student-brand>span:last-child,.student-login-brand>div{flex-direction:column;display:flex}.student-brand strong,.student-login-brand strong{letter-spacing:.08em;font-size:15px;font-weight:850}.student-brand small,.student-login-brand small{color:var(--muted);letter-spacing:.13em;margin-top:2px;font-size:7px;font-weight:800}.student-login-form,.student-login-step{gap:16px;padding-top:27px;display:grid}.student-login-heading{margin-bottom:3px}.student-login-heading .eyebrow{color:#6a7e71}.student-login-heading h1{color:var(--ink);letter-spacing:-.045em;margin:0;font-size:clamp(27px,7vw,34px);font-weight:760;line-height:1.08}.student-login-heading>p:last-child{color:var(--muted);margin:10px 0 0;font-size:12px;line-height:1.55}.student-field{color:#43564c;gap:7px;font-size:10px;font-weight:750;display:grid}.student-input-wrap{color:#6c7d74;background:#f8faf6;border:1px solid #dce3db;border-radius:11px;align-items:center;gap:10px;min-height:47px;padding:0 13px;transition:border-color .15s,box-shadow .15s,background .15s;display:flex}.student-input-wrap:focus-within{color:var(--forest);background:#fff;border-color:#8da693;box-shadow:0 0 0 3px #c8ef6238}.student-input-wrap input{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:13px}.student-input-wrap input:disabled{cursor:wait;opacity:.7}.student-input-wrap input::placeholder{color:#95a39b}.student-login-submit,.student-logout-button,.student-mobile-logout,.student-organization-option,.student-text-button{font:inherit;cursor:pointer}.student-login-submit{color:#f8fbf3;background:var(--forest);border:1px solid var(--forest);border-radius:11px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:47px;padding:0 16px;font-size:12px;font-weight:760;transition:transform .15s,background .15s;display:inline-flex;box-shadow:0 8px 24px #143d2d26}.student-login-submit:hover:not(:disabled){background:var(--forest-2);transform:translateY(-1px)}.student-login-submit:disabled,.student-logout-button:disabled,.student-mobile-logout:disabled,.student-organization-option:disabled,.student-text-button:disabled{cursor:wait;opacity:.68}.student-form-feedback{color:#963e37;background:#fae9e6;border:1px solid #f1d2cd;border-radius:9px;margin:-3px 0 0;padding:10px 11px;font-size:10px;line-height:1.45}.student-form-feedback:empty{display:none}.student-access-options{border:0;gap:9px;min-width:0;margin:0;padding:0;display:grid}.student-access-options legend{color:#43564c;margin-bottom:7px;font-size:10px;font-weight:750}.student-access-option{cursor:pointer;background:#f8faf6;border:1px solid #dce3db;border-radius:11px;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:11px;min-height:70px;padding:11px 13px;transition:border-color .15s,box-shadow .15s,background .15s;display:grid}.student-access-option:has(input:checked){background:#f7fbe9;border-color:#88a24f;box-shadow:0 0 0 3px #c8ef6233}.student-access-option input{accent-color:var(--forest)}.student-access-option-icon{width:36px;height:36px;color:var(--forest);background:#eaf0e8;border-radius:10px;place-items:center;display:grid}.student-access-option>span:last-child{flex-direction:column;min-width:0;display:flex}.student-access-option strong{font-size:11px}.student-access-option small{color:var(--muted);margin-top:3px;font-size:9px;line-height:1.4}.student-login-support{color:#74837a;border-top:1px solid var(--line);text-align:center;margin:23px 0 0;padding-top:18px;font-size:9px;line-height:1.5}.student-organization-list{gap:9px;display:grid}.student-organization-option{min-height:68px;color:var(--ink);text-align:left;background:#f8faf6;border:1px solid #dce3db;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:11px 13px;transition:border-color .15s,background .15s,transform .15s;display:grid}.student-organization-option:hover:not(:disabled){background:#fff;border-color:#96aa99;transform:translateY(-1px)}.student-organization-icon{width:38px;height:38px;color:var(--forest);background:#e9f0df;border-radius:10px;place-items:center;display:grid}.student-organization-option>span:nth-child(2){flex-direction:column;min-width:0;display:flex}.student-organization-option strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.student-organization-option small{color:var(--muted);margin-top:4px;font-size:9px}.student-text-button{color:#5d7166;background:0 0;border:0;justify-self:center;align-items:center;gap:7px;padding:7px 10px;font-size:10px;font-weight:720;display:inline-flex}.student-text-button:hover:not(:disabled){color:var(--forest)}.student-text-link{color:#5d7166;justify-self:center;padding:7px 10px;font-size:10px;font-weight:720;display:inline-flex}.student-text-link:hover{color:var(--forest)}.student-login-notice{color:#5f5946;background:#fff8e9;border:1px solid #efe0bc;border-radius:10px;padding:13px;font-size:10px;line-height:1.5}.student-spinner{flex:none;place-items:center;animation:student-spin .8s linear infinite;display:inline-grid}@keyframes student-spin{to{transform:rotate(1turn)}}.student-shell{min-height:100vh}.student-sidebar{z-index:30;color:#f7fbf2;background:radial-gradient(circle at 50% 0,#c8ef621f,transparent 28%),var(--forest);flex-direction:column;width:250px;padding:27px 19px 20px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.student-brand{color:#f7fbf2}.student-brand small{color:#f7fbf28c}.student-business-card{background:#ffffff0f;border:1px solid #ffffff17;border-radius:12px;flex-direction:column;gap:5px;margin-top:27px;padding:14px;display:flex}.student-business-card small{color:#f7fbf280;font-size:8px;font-weight:700}.student-business-card strong{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.student-nav{flex-direction:column;flex:1;gap:5px;margin-top:23px;display:flex}.student-nav-link{color:#f7fbf2a1;border-radius:11px;align-items:center;gap:12px;min-height:45px;padding:0 13px;font-size:12px;font-weight:650;transition:color .15s,background .15s;display:flex}.student-nav-link:hover{color:#fff;background:#ffffff0f}.student-nav-link[data-active=true]{color:var(--forest);background:var(--lime)}.student-profile-card{border-top:1px solid #ffffff1a;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;margin-top:22px;padding:16px 5px 12px;display:grid}.student-mobile-avatar,.student-profile-avatar{color:var(--forest);background:#e6eedc;border-radius:50%;flex:none;place-items:center;font-size:10px;font-weight:850;display:grid}.student-profile-avatar{width:37px;height:37px}.student-profile-card>span:last-child{flex-direction:column;min-width:0;display:flex}.student-profile-card small{color:#f7fbf282;font-size:8px}.student-profile-card strong{text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:10px;overflow:hidden}.student-logout-button{color:#f7fbf2a6;background:0 0;border:1px solid #ffffff1c;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:39px;font-size:10px;font-weight:680;display:flex}.student-logout-button:hover:not(:disabled){color:#fff;background:#ffffff0f}.student-logout-feedback{color:#812f2a;background:#fae9e6;border-radius:8px;margin-top:7px;padding:7px 8px;font-size:8px;line-height:1.4;display:block}.student-shell-main{min-height:100vh;margin-left:250px}.student-mobile-header,.student-mobile-nav-wrap{display:none}.student-page-container{width:min(100%,1280px);margin:0 auto;padding:39px 42px 60px}.student-access-page{background:var(--canvas);place-items:center;min-height:100svh;padding:24px;display:grid}.student-access-card{background:var(--surface);border:1px solid var(--line);width:min(100%,470px);box-shadow:var(--shadow);text-align:center;border-radius:18px;padding:34px}.student-access-icon{color:#a74b43;background:#fae9e6;border-radius:14px;place-items:center;width:52px;height:52px;margin:0 auto 18px;display:grid}.student-access-card h1{letter-spacing:-.04em;margin:0;font-size:29px}.student-access-card>p:not(.eyebrow){color:var(--muted);margin:11px 0 22px;font-size:11px;line-height:1.6}.student-mobile-actions{align-items:center;gap:9px;display:flex}.student-mobile-actions .student-logout-feedback{max-width:145px;margin-top:0}.student-mobile-logout{color:#f7fbf2;background:#ffffff12;border:1px solid #ffffff1f;border-radius:9px;align-items:center;gap:6px;min-height:34px;padding:0 10px;font-size:9px;font-weight:700;display:inline-flex}@media (max-width:840px){.student-sidebar{display:none}.student-shell-main{margin-left:0}.student-mobile-header{color:#f7fbf2;background:var(--forest);justify-content:space-between;align-items:center;gap:14px;min-height:64px;padding:10px 18px;display:flex}.student-mobile-header .student-brand-icon{width:34px;height:34px}.student-mobile-header .student-brand strong{font-size:13px}.student-mobile-avatar{width:34px;height:34px}.student-mobile-nav-wrap{background:var(--surface);border-bottom:1px solid var(--line);scrollbar-width:none;display:block;overflow-x:auto}.student-mobile-nav{grid-template-columns:repeat(4,minmax(0,1fr));width:100%;padding:0 5px;display:grid}.student-mobile-nav .student-nav-link{color:#5c6e64;border-radius:0;flex-direction:column;justify-content:center;gap:5px;min-height:62px;padding:8px 4px;font-size:10px}.student-mobile-nav .student-nav-link:hover{color:var(--forest);background:0 0}.student-mobile-nav .student-nav-link[data-active=true]{color:var(--forest);box-shadow:inset 0 -3px 0 var(--lime-dark);background:0 0}.student-page-container{padding:27px 20px 48px}}@media (max-width:520px){.student-login-page{place-items:start center;padding:16px 12px}.student-login-card{border-radius:17px;margin-block:16px;padding:24px 20px}.student-login-heading h1{font-size:28px}.student-page-container{padding-inline:14px}.student-mobile-header{padding-inline:13px}.student-mobile-header .student-brand small{display:none}.student-mobile-actions{gap:6px}.student-mobile-avatar{display:none}.student-mobile-nav .student-nav-link{gap:5px;padding-inline:4px}.student-access-card{padding:28px 20px}}@media (prefers-reduced-motion:reduce){.student-spinner{animation:none}}.student-metric-grid{margin-bottom:22px}.student-enrollment-grid,.student-home-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.student-section-panel,.student-summary-panel{padding:22px}.student-section-panel+.student-section-panel{margin-top:18px}.student-enrollment-grid .student-section-panel+.student-section-panel{margin-top:0}.student-highlight-card,.student-invoice-summary{background:var(--surface-soft);border:1px solid var(--line);border-radius:14px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;min-height:106px;padding:16px;display:grid}.student-highlight-icon{width:40px;height:40px;color:var(--forest);background:#eaf1df;border-radius:11px;place-items:center;display:grid}.student-highlight-card>div,.student-invoice-summary>div{flex-direction:column;min-width:0;display:flex}.student-highlight-card strong,.student-invoice-summary strong{font-size:14px}.student-highlight-card p{color:var(--ink);margin:5px 0 0;font-size:11px}.student-highlight-card small,.student-invoice-summary small{color:var(--muted);margin-top:4px;font-size:9px}.student-invoice-summary>div>span{color:var(--muted);letter-spacing:.05em;font-size:9px;font-weight:760}.student-invoice-summary>div>strong{margin-top:5px;font-size:20px}.student-credit-banner{color:#294235;background:#eaf1df;border:1px solid #d8e4c8;border-radius:13px;align-items:center;gap:12px;margin-bottom:18px;padding:15px 17px;display:flex}.student-credit-banner>svg{flex:none}.student-credit-banner>div{flex-direction:column;display:flex}.student-credit-banner strong{font-size:12px}.student-credit-banner span{color:#667568;margin-top:3px;font-size:9px}.student-credit-history{margin:-6px 0 18px;padding:14px 18px}.student-credit-history summary{cursor:pointer;font-size:13px;font-weight:700}.student-credit-history>p{color:var(--muted);margin:12px 0;font-size:12px}.student-credit-history ol{max-height:360px;margin:0;padding:0;list-style:none;overflow-y:auto}.student-credit-history li{border-top:1px solid var(--line);align-items:center;gap:15px;padding:10px 0}.student-credit-history li div{gap:2px;display:grid}.student-credit-history li strong{font-size:12px}.student-credit-history li small,.student-credit-history li span{color:var(--muted);font-size:11px}.student-credit-history li b{flex:none;font-size:12px}.student-credit-history .credit-positive{color:#247a42}.student-credit-history .credit-negative{color:#a54236}.student-credit-history .credit-neutral{color:var(--muted);font-weight:500}.student-waitlist-section{margin-bottom:18px}.student-waitlist-list{gap:10px;display:grid}.student-waitlist-list article{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;padding:15px 17px;display:flex}.student-waitlist-list article>div:first-child{flex:240px}.student-waitlist-list article strong{font-size:14px}.student-waitlist-list article p{color:var(--muted);margin:4px 0;font-size:12px}.student-waitlist-list article small{color:var(--muted);font-size:11px}.student-waitlist-actions{flex:100%}.student-waitlist-actions form{flex-wrap:wrap;gap:8px;display:flex}.student-waitlist-actions .button{font-size:12px}.student-booking-list,.student-invoice-list,.student-payment-list{gap:11px;display:grid}.student-booking-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:14px;grid-template-columns:minmax(220px,1fr) auto;align-items:start;gap:14px;padding:17px;display:grid}.student-booking-main{align-items:center;gap:12px;min-width:0;display:flex}.student-booking-main>div{flex-direction:column;min-width:0;display:flex}.student-booking-main strong{font-size:13px}.student-booking-main p{margin:4px 0 0;font-size:10px}.student-booking-main small{color:var(--muted);margin-top:3px;font-size:9px}.student-booking-actions{border-top:1px solid var(--line);grid-column:1/-1;grid-template-columns:minmax(190px,.7fr) minmax(260px,1.3fr);align-items:start;gap:13px;padding-top:13px;display:grid}.student-action-form,.student-cancellation-form,.student-reschedule-form{gap:9px;display:grid}.student-reschedule-form{grid-template-columns:minmax(180px,1fr) auto;align-items:end}.student-reschedule-form .student-action-feedback{grid-column:1/-1}.student-cancellation-form>label:not(.student-confirmation-check),.student-reschedule-form label{gap:6px;display:grid}.student-cancellation-form label>span:first-child,.student-reschedule-form label>span{color:#4f6257;font-size:9px;font-weight:760}.student-cancellation-form input[type=date],.student-cancellation-form textarea,.student-reschedule-form select{width:100%;color:var(--ink);background:#fff;border:1px solid #cfd9d0;border-radius:10px}.student-cancellation-form input[type=date],.student-reschedule-form select{min-height:38px;padding:0 10px;font-size:10px}.student-cancellation-form textarea{resize:vertical;min-height:92px;font:inherit;padding:10px;font-size:10px;line-height:1.5}.student-cancellation-form input:focus-visible,.student-cancellation-form textarea:focus-visible,.student-reschedule-form select:focus-visible{outline-offset:2px;outline:3px solid #c8ef628c}.student-confirmation-check{color:#5c6c62;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:8px;font-size:9px;line-height:1.45;display:grid}.student-confirmation-check input{width:15px;height:15px;accent-color:var(--forest);margin:1px 0 0}.student-action-feedback{border-radius:8px;margin:0;padding:8px 9px;font-size:9px;line-height:1.4}.student-action-feedback[data-status=success]{color:#2b633e;background:#e7f4e8}.student-action-feedback[data-status=error]{color:#913b35;background:#fae9e6}.student-muted-copy{color:var(--muted);margin:0;font-size:9px;line-height:1.5}.student-class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.student-class-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:14px;flex-direction:column;min-width:0;padding:16px;display:flex}.student-class-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.student-class-card-head>div{flex-direction:column;min-width:0;display:flex}.student-class-card-head>div>span{color:var(--muted);font-size:9px;font-weight:720}.student-class-card-head strong{margin-top:5px;font-size:13px}.student-class-card-head p{color:#4d6055;margin:4px 0 0;font-size:10px}.student-class-meta{color:var(--muted);border-block:1px solid var(--line);flex-wrap:wrap;gap:6px 12px;margin:14px 0;padding:11px 0;font-size:9px;display:flex}.student-class-meta span{align-items:center;gap:5px;display:inline-flex}.student-class-card .student-action-form{margin-top:auto}.student-unavailable-reason{color:#72582e;text-align:center;background:#fff6e7;border-radius:8px;margin:auto 0 0;padding:9px 10px;font-size:9px}.student-invoice-card{background:var(--surface-soft);border:1px solid var(--line);border-radius:13px;grid-template-columns:auto minmax(190px,1.2fr) minmax(280px,1fr) auto;align-items:center;gap:14px;padding:15px;display:grid}.student-invoice-copy{flex-direction:column;min-width:0;display:flex}.student-invoice-copy>span{color:var(--muted);letter-spacing:.05em;font-size:8px;font-weight:780}.student-invoice-copy strong{text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;overflow:hidden}.student-invoice-copy small{color:var(--muted);margin-top:4px;font-size:9px}.student-invoice-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:0;display:grid}.student-invoice-values div{flex-direction:column;display:flex}.student-invoice-values dt{color:var(--muted);font-size:8px}.student-invoice-values dd{margin:4px 0 0;font-size:10px;font-weight:750}.student-invoice-status{flex-direction:column;align-items:flex-end;gap:5px;display:flex}.student-invoice-status small{color:var(--muted);font-size:8px}.student-payment-row{background:var(--surface-soft);border:1px solid var(--line);border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:13px 15px;display:grid}.student-payment-row>div{flex-direction:column;display:flex}.student-payment-row>div:last-child{align-items:flex-end}.student-payment-row strong{font-size:11px}.student-payment-row small,.student-payment-row span{color:var(--muted);margin-top:3px;font-size:8px}.student-plan-heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;margin-bottom:18px;display:grid}.student-plan-heading>div{flex-direction:column;min-width:0;display:flex}.student-plan-heading>div>span{color:var(--muted);font-size:9px}.student-plan-heading h2{letter-spacing:-.025em;margin:4px 0 0;font-size:18px}.student-detail-list{background:var(--line);border:1px solid var(--line);border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin:0;display:grid;overflow:hidden}.student-detail-list div{background:#fff;flex-direction:column;justify-content:center;min-height:68px;padding:12px;display:flex}.student-detail-list dt{color:var(--muted);font-size:8px}.student-detail-list dd{margin:5px 0 0;font-size:10px;font-weight:720}.student-policy-note{color:#536458;background:#eef2e8;border-radius:10px;align-items:flex-start;gap:9px;margin-bottom:16px;padding:12px;display:flex}.student-policy-note svg{flex:none;margin-top:1px}.student-policy-note p{margin:0;font-size:9px;line-height:1.55}.student-request-status{background:#fff8e9;border:1px solid #eee0bd;border-radius:12px;flex-direction:column;align-items:flex-start;gap:8px;padding:16px;display:flex}.student-request-status strong{font-size:11px}.student-request-status span{color:var(--muted);font-size:9px}@media (max-width:1100px){.student-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-invoice-card{grid-template-columns:auto minmax(0,1fr) auto}.student-invoice-values{grid-area:2/2/auto/-1}}@media (max-width:720px){.student-class-grid,.student-enrollment-grid,.student-home-grid{grid-template-columns:1fr}.student-enrollment-grid .student-section-panel+.student-section-panel{margin-top:0}.student-booking-actions,.student-reschedule-form{grid-template-columns:1fr}.student-reschedule-form{align-items:stretch}.student-invoice-card{grid-template-columns:auto minmax(0,1fr);align-items:start}.student-invoice-values{grid-area:auto/1/auto/-1}.student-invoice-status{grid-column:1/-1;align-items:flex-start}}@media (max-width:480px){.student-section-panel,.student-summary-panel{padding:16px}.student-highlight-card,.student-invoice-summary{grid-template-columns:auto minmax(0,1fr)}.student-highlight-card .status-badge,.student-invoice-summary .status-badge{grid-column:1/-1;justify-self:start}.student-booking-card{grid-template-columns:1fr}.student-booking-card>.status-badge{justify-self:start}.student-detail-list{grid-template-columns:1fr}.student-payment-row{grid-template-columns:auto minmax(0,1fr)}.student-payment-row>div:last-child{grid-column:2;align-items:flex-start}.student-invoice-values{grid-template-columns:1fr}}.agenda-date-form,.agenda-filter-form,.agenda-form-actions,.attendance-actions,.student-form-actions,.student-profile-badges{align-items:center;gap:9px;display:flex}.agenda-date-form .date-title{background:var(--surface-soft);border:1px solid var(--line);border-radius:9px;width:154px;min-height:35px;padding:6px 8px}.agenda-filter-form{flex-wrap:wrap;justify-content:flex-end}.agenda-filter-form label{gap:4px;display:grid}.agenda-filter-form label>span{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;font-size:8px;font-weight:780}.agenda-field input,.agenda-field select,.agenda-filter-form select{min-height:36px;color:var(--ink);background:#fff;border:1px solid #d7dfd5;border-radius:9px;padding:6px 10px;font-size:11px}.agenda-field input:focus,.agenda-field select:focus,.agenda-filter-form select:focus{border-color:#8da693;outline:0;box-shadow:0 0 0 3px #c8ef6233}.agenda-create-panel{width:min(100%,920px)}.agenda-create-form{gap:18px;display:grid}.agenda-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.agenda-field{color:#43564c;gap:6px;min-width:0;font-size:10px;font-weight:750;display:grid}.agenda-field input,.agenda-field select{width:100%;min-height:44px;font-size:12px}.agenda-form-actions,.student-form-actions{justify-content:flex-end}.agenda-occurrence-metrics .status-badge{margin-top:14px}.agenda-roster-table{min-width:860px}.agenda-roster-table td small{color:var(--muted);margin-top:4px;font-size:8px;display:block}.attendance-actions{flex-wrap:wrap;justify-content:flex-end;min-width:220px}.attendance-action-form{display:contents}.agenda-action-feedback{grid-column:1/-1}.attendance-actions .agenda-action-feedback{text-align:right;width:100%;margin:0}.student-management-form{gap:18px;display:grid}.student-management-form.panel{width:min(100%,920px)}.student-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:15px;display:grid}.student-form-field-wide{grid-column:1/-1}.student-select{width:100%;min-width:0;color:var(--ink);background:0 0;border:0;outline:0;font-size:13px}.student-select:disabled{cursor:not-allowed;opacity:.72}.student-field>small,.student-form-note{color:var(--muted);margin:0;font-size:9px;font-weight:500;line-height:1.55}.student-row-link:hover{color:var(--forest-2);text-decoration:underline}.student-profile-summary{margin-bottom:18px}.student-profile-heading{grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:15px;margin-bottom:18px;display:grid}.student-profile-heading>div:nth-child(2){min-width:0}.student-profile-heading>div:nth-child(2)>span{color:var(--muted);font-size:9px}.student-profile-heading h2{letter-spacing:-.03em;text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;font-size:20px;overflow:hidden}.student-profile-large-avatar{width:48px;height:48px;font-size:13px}.student-profile-badges{flex-wrap:wrap;justify-content:flex-end}.student-details-section{margin-top:18px}.student-section-heading{align-items:flex-start;gap:10px;margin-bottom:18px;display:flex}.student-section-heading>svg{color:var(--forest);flex:none;margin-top:1px}.student-section-heading h2{margin:0;font-size:14px}.student-section-heading p{color:var(--muted);margin:4px 0 0;font-size:9px}.student-details-table{min-width:680px}.student-compact-empty{padding-block:24px}.settings-section{min-width:0;margin:0}.settings-section>legend{color:var(--ink);padding:0 7px;font-size:13px;font-weight:760}.settings-section .student-access-options{grid-template-columns:repeat(2,minmax(0,1fr));margin-top:16px}.settings-section .student-access-option{grid-template-columns:auto minmax(0,1fr)}.settings-section .student-access-option>span{flex-direction:column;min-width:0;display:flex}.notification-table{min-width:680px}.notification-table+.empty-state>svg{color:var(--muted);margin:0 auto 8px;display:block}.schedule-block-panel,.schedule-list-panel{margin-bottom:18px}.schedule-template-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.schedule-template-card{background:linear-gradient(145deg,#fff,#fbfcfa);border:1px solid #dde5dc;border-radius:14px;gap:16px;padding:18px;display:grid}.schedule-template-card[data-created]{border-color:var(--lime);box-shadow:0 0 0 3px #c8ef6233}.schedule-template-card[data-inactive]{opacity:.72}.schedule-template-card-top{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:11px;display:grid}.schedule-template-icon{width:38px;height:38px;color:var(--forest);background:#eef4e9;border-radius:11px;place-items:center;display:grid}.schedule-template-card-top h3,.schedule-template-card-top p{margin:0}.schedule-template-card-top p{color:var(--muted);margin-top:4px;font-size:10px}.schedule-template-title-row{justify-content:space-between;align-items:center;gap:10px;display:flex}.schedule-template-title-row h3{letter-spacing:-.02em;font-size:15px}.schedule-weekday-badges{flex-wrap:wrap;gap:6px;display:flex}.schedule-weekday-badges span{color:var(--forest-2);letter-spacing:.05em;background:#f7faf5;border:1px solid #d6e0d5;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:800}.schedule-template-facts{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:0;display:grid}.schedule-template-facts div{min-width:0}.schedule-template-facts dt{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;align-items:center;gap:5px;margin-bottom:3px;font-size:8px;font-weight:740;display:flex}.schedule-template-facts dd{color:var(--ink);margin:0;font-size:10px;line-height:1.45}.schedule-card-week-grid{background:#f7faf5;border:1px solid #dce5da;border-radius:11px;gap:7px;padding:9px;display:flex;overflow-x:auto}.schedule-card-week-grid section{align-content:start;gap:5px;min-width:82px;display:grid}.schedule-card-week-grid header{color:var(--forest-2);border-bottom:1px solid #dce5da;justify-content:space-between;align-items:center;gap:7px;padding-bottom:5px;font-size:8px;display:flex}.schedule-card-week-grid header span{background:#eaf2e4;border-radius:999px;place-items:center;min-width:18px;height:18px;display:grid}.schedule-card-week-grid time{color:#43564c;white-space:nowrap;background:#fff;border:1px solid #e0e7de;border-radius:7px;padding:5px 6px;font-size:8px;font-weight:720}.schedule-inline-action{flex-wrap:wrap;align-items:center;gap:8px;min-width:0;display:flex}.schedule-inline-action small{color:var(--muted);font-size:8px}.schedule-inline-action small[data-status=error]{color:var(--danger)}.schedule-card-actions{flex-wrap:wrap;align-items:flex-start;gap:8px;display:flex}.schedule-empty-state{grid-column:1/-1}.schedule-create-panel{width:min(100%,980px)}.schedule-block-form,.schedule-template-form{gap:18px;display:grid}.schedule-name-field{grid-column:1/-1}.schedule-edit-guidance{color:#43564c;background:#f5f9f1;border:1px solid #d7e3d2;border-radius:10px;margin:0;padding:11px 13px;font-size:10px;line-height:1.55}.schedule-grid-editor{background:#f8faf6;border:1px solid #d9e3d7;border-radius:14px;min-width:0}.schedule-grid-heading{border-bottom:1px solid #d9e3d7;justify-content:space-between;align-items:flex-start;gap:18px;padding:16px 17px;display:flex}.schedule-grid-heading span{color:var(--forest-2);letter-spacing:.09em;font-size:8px;font-weight:820}.schedule-grid-heading h2{margin:3px 0 0;font-size:16px}.schedule-grid-heading p{color:var(--muted);margin:5px 0 0;font-size:10px;line-height:1.5}.schedule-grid-heading>strong{color:var(--forest-2);background:#eaf2e4;border-radius:999px;flex:none;padding:6px 9px;font-size:9px}.schedule-grid-scroll{overflow-x:auto}.schedule-week-grid{grid-template-columns:repeat(7,minmax(176px,1fr));min-width:1232px;display:grid}.schedule-day-column{border-right:1px solid #d9e3d7;flex-direction:column;min-width:0;min-height:190px;display:flex}.schedule-day-column:last-child{border-right:0}.schedule-day-column>header{color:var(--ink);background:#f1f6ed;border-bottom:1px solid #e1e8df;gap:2px;padding:12px 13px;display:grid}.schedule-day-column>header span{color:var(--forest-2);letter-spacing:.08em;font-size:8px;font-weight:820}.schedule-day-column>header strong{font-size:11px}.schedule-day-column>header small{color:var(--muted);font-size:8px}.schedule-day-slots{flex:1;align-content:start;gap:7px;padding:9px;display:grid}.schedule-slot-row{background:#fff;border:1px solid #dce5da;border-radius:9px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr) auto;align-items:end;gap:4px;padding:7px;display:grid;box-shadow:0 2px 5px #1f382c0d}.schedule-slot-row>span{color:var(--muted);align-self:center;font-size:9px}.schedule-slot-row label{gap:3px;min-width:0;display:grid}.schedule-slot-row label span{color:var(--muted);text-transform:uppercase;font-size:7px;font-weight:750}.schedule-slot-row input[type=time]{background:#fff;border:1px solid #dce3da;border-radius:6px;width:100%;min-width:0;height:31px;padding:4px;font-size:9px}.schedule-slot-row .icon-button{color:#9a514d;width:30px;height:31px}.schedule-day-empty{color:var(--muted);text-align:center;margin:16px 0;font-size:9px}.schedule-add-slot{min-height:34px;color:var(--forest-2);cursor:pointer;background:#f9fbf7;border:1px dashed #b9cbb4;border-radius:8px;justify-content:center;align-items:center;gap:5px;margin:0 9px 9px;font-size:9px;font-weight:760;display:flex}.schedule-add-slot:hover{border-color:var(--forest-2);background:#f1f6ed}.schedule-add-slot:focus-visible{outline:2px solid var(--forest);outline-offset:2px}.schedule-add-slot:disabled{cursor:not-allowed;opacity:.55}.schedule-recurring-note{color:var(--muted);margin-right:auto;font-size:9px}.schedule-weekdays-fieldset{border:1px solid #d7dfd5;border-radius:11px;grid-column:1/-1;min-width:0;margin:0;padding:12px}.schedule-weekdays-fieldset legend{color:#43564c;padding:0 6px;font-size:10px;font-weight:750}.schedule-weekday-options{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.schedule-weekday-options label{cursor:pointer}.schedule-weekday-options input{opacity:0;pointer-events:none;position:absolute}.schedule-weekday-options span{min-height:38px;color:var(--muted);background:#fff;border:1px solid #dde5dc;border-radius:9px;place-items:center;padding:6px;font-size:9px;font-weight:720;display:grid}.schedule-weekday-options input:checked+span{color:var(--forest-2);border-color:var(--lime);background:#c8ef622e}.schedule-weekday-options input:focus-visible+span{outline:2px solid var(--forest);outline-offset:2px}.schedule-policy-details{background:#fbfcfa;border:1px solid #dde5dc;border-radius:11px;padding:13px 15px}.schedule-policy-details summary{cursor:pointer;color:var(--ink);font-size:11px;font-weight:760}.schedule-policy-details>p{color:var(--muted);margin:7px 0 14px;font-size:9px}.schedule-block-layout{grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);align-items:start;gap:22px;display:grid}.schedule-block-form{background:#f7f9f5;border-radius:13px;padding:16px}.schedule-block-reason{grid-column:1/-1}.schedule-block-list{gap:9px;display:grid}.schedule-block-list-heading{color:var(--forest);align-items:center;gap:7px;font-size:11px;display:flex}.schedule-block-item{border:1px solid #e0e6df;border-radius:11px;justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;padding:12px 13px;display:flex}.schedule-block-item time{color:var(--muted);text-transform:uppercase;margin-bottom:3px;font-size:8px;display:block}.schedule-block-item strong{font-size:11px}.schedule-block-item p{color:var(--muted);margin:3px 0 0;font-size:9px}.empty-state.compact{padding:24px 16px}.day-button[data-closed]{color:#8a4b46;background:#fff7f5}.day-button[data-closed] small{color:#aa625b}@media (max-width:980px){.calendar-toolbar{flex-direction:column;align-items:stretch}.calendar-toolbar>div{justify-content:space-between}.agenda-filter-form{justify-content:flex-start}.schedule-block-layout{grid-template-columns:1fr}}@media (max-width:720px){.agenda-form-grid,.settings-section .student-access-options,.student-form-grid{grid-template-columns:1fr}.student-form-field-wide{grid-column:auto}.student-profile-heading{grid-template-columns:auto minmax(0,1fr);align-items:start}.student-profile-badges{grid-column:1/-1;justify-content:flex-start}.schedule-template-grid{grid-template-columns:1fr}.schedule-weekday-options{grid-template-columns:repeat(4,minmax(0,1fr))}.schedule-block-reason,.schedule-name-field,.schedule-weekdays-fieldset{grid-column:auto}}@media (max-width:620px){.calendar-toolbar>div{align-items:stretch}.agenda-date-form{flex:1}.agenda-date-form .date-title{width:100%;min-width:0}.agenda-filter-form{grid-template-columns:1fr;display:grid}.agenda-filter-form select{width:100%}.agenda-filter-form .text-link{min-height:32px}.agenda-form-actions .button,.student-form-actions .button{flex:1}.student-form-actions{flex-direction:column-reverse;align-items:stretch}.student-profile-heading{grid-template-columns:1fr}.student-profile-badges{grid-column:auto}.schedule-template-facts{grid-template-columns:1fr}.schedule-weekday-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.enrollment-page{--plan-radius:18px}.enrollment-page .page-header{margin-bottom:25px}.enrollment-page .button{min-height:44px}.enrollment-current{border-radius:var(--plan-radius);box-shadow:none;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:22px;padding:24px 28px;display:flex}.enrollment-current-name{align-items:center;gap:16px;display:flex}.enrollment-plan-icon{width:54px;height:54px;color:var(--forest);background:#edf3e3;border-radius:16px;flex:none;place-items:center;display:grid}.enrollment-label{color:var(--muted);letter-spacing:.12em;font-size:9px;font-weight:750}.enrollment-current-name h2{letter-spacing:-.035em;margin:5px 0;font-size:21px;font-weight:720}.enrollment-current-since{color:var(--muted);font-size:11px}.enrollment-current-price{gap:7px;display:grid}.enrollment-current-price>strong{letter-spacing:-.035em;white-space:nowrap;font-size:24px;font-weight:700}.enrollment-current-price small{color:var(--muted);letter-spacing:0;margin-left:3px;font-size:12px;font-weight:450}.enrollment-current-price>span{color:var(--muted);font-size:11px}.enrollment-current-status{flex-direction:column;align-items:flex-end;gap:12px;display:flex}.enrollment-current-status>a{color:var(--forest);align-items:center;gap:7px;font-size:11px;font-weight:650;display:inline-flex}.enrollment-current-status>a:hover{text-decoration:underline}.enrollment-notice{color:var(--forest);background:#e8efdf;border:1px solid #d2ddc7;border-radius:14px;align-items:flex-start;gap:13px;margin-top:20px;padding:20px;display:flex}.enrollment-notice>svg{flex:none;margin-top:1px}.enrollment-notice strong{font-size:14px}.enrollment-notice p{margin:6px 0;font-size:12px;line-height:1.6}.enrollment-notice small{font-size:10px}.enrollment-notice[data-tone=warning]{color:#6c501f;background:#fff8e9;border-color:#eee0bd}.enrollment-plans{margin-top:38px;scroll-margin-top:24px}.enrollment-section-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:14px;margin-bottom:21px;display:flex}.enrollment-section-heading h2{letter-spacing:-.035em;margin:0;font-size:clamp(20px,2vw,25px);font-weight:720}.enrollment-section-heading p{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.55}.enrollment-section-caption{color:var(--muted);align-items:center;gap:6px;font-size:10px;display:flex}.enrollment-plan-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));align-items:stretch;gap:16px;display:grid}.enrollment-plan-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--plan-radius);flex-direction:column;min-width:0;padding:24px;display:flex}.enrollment-card-kicker{min-height:23px;color:var(--muted);letter-spacing:.06em;align-items:center;gap:6px;margin-bottom:20px;font-size:9px;font-weight:750;display:flex}.enrollment-card-kicker svg{flex:none}.enrollment-plan-card h3{letter-spacing:-.04em;overflow-wrap:anywhere;margin:0;font-size:22px;font-weight:720}.enrollment-card-intro{min-height:36px;color:var(--muted);margin:8px 0 22px;font-size:12px;line-height:1.5}.enrollment-card-price{flex-wrap:wrap;align-items:baseline;gap:4px;display:flex}.enrollment-card-price strong{letter-spacing:-.045em;font-size:clamp(27px,2.8vw,34px);font-weight:720}.enrollment-card-price>span{color:var(--muted);font-size:12px}.enrollment-card-difference{color:var(--forest);margin:8px 0 0;font-size:11px;font-weight:650}.enrollment-benefits{border-top:1px solid var(--line);gap:12px;margin:23px 0 25px;padding:22px 0 0;list-style:none;display:grid}.enrollment-benefits li{color:#46594e;align-items:flex-start;gap:9px;font-size:12px;line-height:1.5;display:flex}.enrollment-benefits li svg{color:var(--forest);flex:none;margin-top:1px}.enrollment-current-marker,.enrollment-plan-card>.button{margin-top:auto}.enrollment-current-marker{color:#5a6b60;border:1px solid #dce3d7;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-size:12px;font-weight:650;display:flex}.enrollment-card-footnote{color:var(--muted);text-align:center;margin-top:12px;font-size:10px;line-height:1.5}.enrollment-plan-card[data-current]{background:#f7f8f3}.enrollment-plan-card[data-featured]{color:#fff;background:var(--forest);border-color:var(--forest);box-shadow:0 10px 25px #143d2d1f}.enrollment-plan-card[data-featured] .enrollment-card-kicker{color:var(--lime)}.enrollment-plan-card[data-featured] .enrollment-card-footnote,.enrollment-plan-card[data-featured] .enrollment-card-intro,.enrollment-plan-card[data-featured] .enrollment-card-price>span{color:#c8d9cd}.enrollment-plan-card[data-featured] .enrollment-card-difference{color:var(--lime)}.enrollment-plan-card[data-featured] .enrollment-benefits{border-color:#426352}.enrollment-plan-card[data-featured] .enrollment-benefits li{color:#e2ece3}.enrollment-plan-card[data-featured] .enrollment-benefits svg{color:var(--lime)}.button.enrollment-upgrade-button{color:var(--forest);background:var(--lime)}.button.enrollment-upgrade-button:hover:not(:disabled){background:#d5fa7f}.button.enrollment-upgrade-button:disabled{color:#53635b;background:#d7decf}.enrollment-plans-note{color:var(--muted);text-align:center;justify-content:center;align-items:flex-start;gap:7px;margin:17px 0 0;font-size:11px;line-height:1.6;display:flex}.enrollment-plans-note svg{flex:none;margin-top:1px}.enrollment-manage{margin-top:36px}.enrollment-manage>h2{letter-spacing:-.02em;margin:0 0 15px;font-size:15px;font-weight:700}.enrollment-disclosure{background:var(--surface);border:1px solid var(--line);border-radius:12px}.enrollment-disclosure+.enrollment-disclosure{margin-top:10px}.enrollment-disclosure summary{cursor:pointer;align-items:center;gap:14px;min-height:73px;padding:17px 22px;list-style:none;display:flex}.enrollment-disclosure summary::-webkit-details-marker{display:none}.enrollment-disclosure summary:focus-visible{outline-offset:3px;border-radius:12px;outline:3px solid #8eb52a}.enrollment-disclosure summary>svg:first-child{color:var(--muted);flex:none}.enrollment-disclosure summary>span{flex:1;gap:5px;display:grid}.enrollment-disclosure summary strong{font-size:12px;font-weight:680}.enrollment-disclosure summary small{color:var(--muted);font-size:11px}.enrollment-chevron{color:var(--muted);flex:none;transition:transform .15s}.enrollment-disclosure[open] .enrollment-chevron{transform:rotate(180deg)}.enrollment-contract-details{border-top:1px solid var(--line);grid-template-columns:repeat(3,minmax(0,1fr));gap:24px;margin:0 22px;padding:22px 0;display:grid}.enrollment-contract-details dt{color:var(--muted);font-size:11px}.enrollment-contract-details dd{margin:6px 0 0;font-size:13px;font-weight:650}.enrollment-cancel-content{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;align-items:start;gap:35px;margin:0 22px;padding:23px 0;display:grid}.enrollment-cancel-policy h3{margin:0 0 12px;font-size:16px}.enrollment-cancel-policy p{color:var(--muted);font-size:12px;line-height:1.75}.enrollment-cancel-policy a{color:var(--forest);text-underline-offset:3px;align-items:center;gap:6px;margin-top:10px;font-size:12px;font-weight:650;line-height:1.6;text-decoration:underline;display:inline-flex}.enrollment-cancel .student-cancellation-form{gap:15px}.enrollment-cancel .student-cancellation-form label>span:first-child{font-size:12px}.enrollment-cancel .student-cancellation-form input[type=date]{min-height:44px;font-size:14px}.enrollment-cancel .student-cancellation-form textarea{font-size:13px}.enrollment-cancel .student-confirmation-check{font-size:12px;line-height:1.6}.enrollment-cancel .student-cancellation-form .button{color:#963d37;border-color:#e4d0cd}.enrollment-no-offers{align-items:center;gap:20px;margin-top:24px;padding:28px;display:flex}.enrollment-no-offers>svg{color:var(--forest);flex:none}.enrollment-no-offers>div{flex:1}.enrollment-no-offers h2{margin:0;font-size:19px}.enrollment-no-offers p{color:var(--muted);margin:8px 0 0;font-size:12px;line-height:1.65}.enrollment-dialog{width:min(480px,100% - 32px);max-height:calc(100svh - 32px);color:var(--ink);background:var(--surface);border:0;border-radius:22px;margin:auto;padding:32px;position:fixed;overflow-y:auto;box-shadow:0 30px 100px #0003}.enrollment-dialog::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0b1e158c}.enrollment-dialog-close{position:absolute;top:15px;right:15px}.enrollment-dialog-icon{width:55px;height:55px;color:var(--forest);background:#edf3e3;border-radius:16px;place-items:center;margin-bottom:20px;display:grid}.enrollment-dialog h2{letter-spacing:-.04em;margin:0;font-size:26px;font-weight:720;line-height:1.2}.enrollment-dialog>p{color:var(--muted);margin:13px 0 21px;font-size:13px;line-height:1.7}.enrollment-change-summary{background:var(--surface-soft);border:1px solid var(--line);border-radius:14px;gap:12px;margin-bottom:18px;padding:20px;display:grid}.enrollment-change-summary>div{grid-template-columns:1fr auto;gap:6px;display:grid}.enrollment-change-summary span{color:var(--muted);grid-column:1/-1;font-size:11px}.enrollment-change-summary strong{font-size:15px}.enrollment-change-summary small{color:var(--muted);align-self:center;font-size:12px}.enrollment-change-summary>svg{color:var(--muted)}.enrollment-dialog-terms{color:var(--muted);align-items:flex-start;gap:8px;margin:0 0 23px;font-size:12px;line-height:1.65;display:flex}.enrollment-dialog-terms>svg{flex:none;margin-top:2px}.enrollment-dialog .button{min-height:47px;font-size:13px}.enrollment-dialog-back{width:100%;min-height:44px;color:var(--muted);cursor:pointer;background:0 0;border:0;margin-top:8px;font-size:12px;display:block}.enrollment-dialog-back:hover{text-decoration:underline}.enrollment-dialog .student-action-feedback{margin-bottom:18px;font-size:12px}@media (max-width:1150px) and (min-width:901px){.enrollment-current{gap:20px;padding:22px}.enrollment-current-name{width:100%}.enrollment-plan-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.enrollment-plan-card{padding:20px 16px}.enrollment-card-kicker{font-size:8px}.enrollment-card-price strong{font-size:28px}}@media (max-width:720px){.enrollment-current{gap:20px;padding:22px}.enrollment-current-name{gap:12px;width:100%}.enrollment-current-since{font-size:10px}.enrollment-current-price>strong{font-size:23px}.enrollment-current-price>span{max-width:200px;font-size:10px;line-height:1.6}.enrollment-plans{margin-top:30px}.enrollment-plan-grid{grid-template-columns:1fr}.enrollment-plan-card[data-featured]{order:-1}.enrollment-plan-card[data-current]{order:0}.enrollment-plan-card:not([data-featured]):not([data-current]){order:1}.enrollment-plan-card{padding:24px}.enrollment-card-intro{min-height:0;margin-bottom:18px}.enrollment-card-kicker{margin-bottom:15px}.enrollment-benefits{margin-block:20px;padding-top:20px}.enrollment-card-price strong{font-size:34px}.enrollment-section-caption{font-size:10px}.enrollment-plans-note{text-align:left;justify-content:flex-start}.enrollment-manage{margin-top:30px}.enrollment-contract-details{grid-template-columns:repeat(2,minmax(0,1fr))}.enrollment-cancel-content{grid-template-columns:1fr;gap:20px}.enrollment-disclosure summary{padding-inline:18px}.enrollment-no-offers{flex-wrap:wrap;padding:22px}.enrollment-no-offers>div{min-width:180px}.enrollment-no-offers>.button{width:100%}}@media (max-width:400px){.enrollment-current-status{flex-direction:row;align-content:center;align-items:flex-start}.enrollment-contract-details{grid-template-columns:1fr}.enrollment-dialog{padding:26px 22px}.enrollment-change-summary>div{grid-template-columns:1fr}}@media (prefers-reduced-motion:reduce){.enrollment-chevron,.enrollment-page .button{transition:none}}.plan-list{gap:12px;display:grid}.plan-list-item{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;justify-content:space-between;gap:24px;padding:20px;display:flex}.plan-list-heading{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.plan-list-heading h3{margin:0;font-size:17px}.plan-list-item p{color:var(--muted);margin:8px 0;font-size:13px}.plan-list-item small{color:var(--muted);font-size:11px}.plan-list-side{flex:none;align-content:start;justify-items:end;gap:7px;display:grid}.plan-list-side strong{font-size:20px}.plan-list-side strong small{font-weight:500}.plan-list-side>span{color:var(--muted);font-size:12px}.plan-activities{border:0;margin:0;padding:0}.plan-activities legend{font-size:12px;font-weight:700}.plan-activities p{color:var(--muted);margin:5px 0 12px;font-size:12px}.plan-activities>div{flex-wrap:wrap;gap:10px;display:flex}.plan-activities label{border:1px solid var(--line);cursor:pointer;border-radius:11px;align-items:center;gap:8px;min-height:42px;padding:8px 13px;font-size:13px;display:inline-flex}.plan-activities input{accent-color:var(--forest)}.plan-archive{border:1px solid var(--line);border-radius:14px;justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:18px 22px;display:flex}.plan-archive p{color:var(--muted);margin:0;font-size:12px}.student-checkin-action{align-items:center}.student-checkin-action>p{color:var(--muted);margin:0;font-size:13px}.student-cancellation-success{color:var(--forest);background:#eff6e5;border:1px solid #d6e5bf;border-radius:12px;align-items:flex-start;gap:11px;margin:0 0 18px;padding:15px 17px;display:flex}.student-cancellation-success>svg{flex:none;margin-top:2px}.student-cancellation-success>div{gap:3px;display:grid}.student-cancellation-success strong{font-size:14px}.student-cancellation-success span{font-size:12px}.student-enrollment-form{flex-wrap:wrap;align-items:end;gap:12px;display:flex}.student-enrollment-form .student-field{flex:1;min-width:min(100%,320px)}.student-enrollment-form .student-action-feedback,.student-enrollment-form .student-form-note{width:100%}.student-access-link{margin-top:16px}.student-access-link input{border:1px solid var(--line);background:var(--surface-soft);border-radius:10px;width:100%;min-height:46px;padding:0 12px;font-size:12px}.student-access-link .button{margin-top:10px}.team-form{justify-items:start;gap:16px;display:grid}.team-form .student-form-grid{width:100%}.team-form .student-field{font-size:13px}.team-form .student-field input,.team-form .student-field select{border:1px solid var(--line);background:var(--surface);width:100%;min-height:46px;color:var(--ink);border-radius:10px;padding:0 12px;font-size:14px}.team-form .student-field input:focus-visible,.team-form .student-field select:focus-visible{outline:2px solid var(--lime);outline-offset:2px}.team-form .student-field input:disabled{color:var(--muted);background:var(--surface-soft)}.team-list{gap:12px;display:grid}.team-member{border:1px solid var(--line);background:var(--surface-soft);border-radius:14px;padding:18px}.team-member-head{justify-content:space-between;align-items:start;gap:16px;display:flex}.team-member-head h3{margin:0;font-size:16px}.team-invite-form p,.team-member-head p,.team-role-label{color:var(--muted);font-size:13px}.team-member-head p{margin:5px 0 0}.team-member-badges{flex-wrap:wrap;gap:6px;display:flex}.team-role-label{margin:12px 0 0}.team-member-details{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.team-member-details summary{cursor:pointer;font-size:13px;font-weight:650}.team-member-details .team-form{margin-top:15px}.team-invite-form{border-top:1px solid var(--line);margin-top:16px;padding-top:12px}.team-feedback{width:min(100%,500px)}.class-cancel-panel{margin-top:18px}.class-cancel-panel details summary{cursor:pointer;color:var(--forest);font-size:13px;font-weight:700}.class-cancel-form{justify-items:start;gap:14px;margin-top:16px;display:grid}.class-cancel-form .student-field{width:min(100%,600px);font-size:13px}.class-cancel-form textarea{border:1px solid var(--line);background:var(--surface);min-height:90px;color:var(--ink);font:inherit;resize:vertical;border-radius:10px;padding:12px}.class-cancel-form>p{color:var(--muted);margin:0;font-size:13px}.staff-booking-panel{margin-top:18px}.staff-booking-form,.staff-booking-search{flex-wrap:wrap;align-items:end;gap:12px;margin-top:16px;display:flex}.staff-booking-form .student-field,.staff-booking-search .student-field{flex:1;min-width:min(100%,280px);max-width:460px}.staff-booking-form select,.staff-booking-search input{border:1px solid var(--line);background:var(--surface);width:100%;min-height:44px;color:var(--ink);font:inherit;border-radius:10px;padding:0 12px}.staff-booking-form .student-action-feedback{width:100%;margin:0}.staff-booking-cancel{min-width:130px}.staff-booking-cancel summary{cursor:pointer;color:var(--forest);font-size:11px;font-weight:700}.staff-booking-cancel form{justify-items:start;gap:8px;min-width:180px;margin-top:9px;display:grid}.staff-booking-cancel form>p{color:var(--muted);margin:0;font-size:11px}.staff-booking-cancel .student-confirmation-check{font-size:11px}.staff-booking-cancel .button{min-height:34px;padding:7px 10px;font-size:11px}.student-justification-section{margin-top:18px}.student-justification-list{gap:10px;display:grid}.student-justification-list article{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:start;gap:12px;padding:15px 17px;display:flex}.student-justification-list article p{color:var(--muted);margin:5px 0 0;font-size:12px}.student-justification-status{justify-items:end;gap:5px;display:grid}.student-justification-status small{color:var(--muted);font-size:11px}.student-justification-form{min-width:min(100%,280px)}.justification-decision summary,.student-justification-form summary{cursor:pointer;color:var(--forest);font-size:12px;font-weight:700}.justification-decision details form,.student-justification-form form{gap:10px;margin-top:12px;display:grid}.justification-decision .student-field,.student-justification-form .student-field{min-width:min(100%,270px)}.justification-decision textarea,.student-justification-form select,.student-justification-form textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;border-radius:10px;padding:10px 12px}.student-justification-form .student-action-feedback{margin:0}.student-credit-adjustment{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;margin-top:18px;padding:16px}.student-credit-adjustment summary{cursor:pointer;color:var(--forest);font-weight:700}.student-credit-adjustment>p{color:var(--muted);margin:12px 0 0;font-size:13px}.student-credit-adjustment form{flex-wrap:wrap;align-items:end;gap:12px;margin-top:14px;display:flex}.student-credit-adjustment .student-field{flex:150px;min-width:min(100%,150px)}.student-credit-adjustment .student-adjustment-reason{flex-basis:320px}.student-credit-adjustment input,.student-credit-adjustment select,.student-credit-adjustment textarea{border:1px solid var(--line);background:var(--surface);width:100%;color:var(--ink);font:inherit;border-radius:10px;padding:10px 12px}.student-credit-adjustment .student-action-feedback{flex-basis:100%;margin:0}.student-credit-history{border-top:1px solid var(--line);margin-top:18px;padding-top:18px}.student-credit-history h3{margin:0 0 12px;font-size:15px}.student-credit-history ul{gap:8px;margin:8px 0 16px;padding:0;list-style:none;display:grid}.student-credit-history li{background:var(--surface-soft);border-radius:8px;justify-content:space-between;gap:16px;padding:10px 12px;font-size:13px;display:flex}.student-credit-history li small{color:var(--muted);text-align:right}@media (max-width:700px){.student-credit-history li{flex-direction:column;gap:4px}.student-credit-history li small{text-align:left}}.justification-decision{flex-wrap:wrap;align-items:start;gap:10px;display:flex}.justification-decision details{min-width:min(100%,220px)}.justification-decision>.student-action-feedback{width:100%;margin:0}@media (max-width:640px){.team-member-head{flex-direction:column}}.student-activation-form{gap:16px;margin-top:22px;display:grid}.student-activation-form label{color:#43564c;gap:6px;font-size:12px;font-weight:700;display:grid}.student-activation-form input{border:1px solid var(--line);border-radius:10px;min-height:47px;padding:0 13px;font-size:14px}.student-activation-form input[readonly]{color:var(--muted);background:var(--surface-soft)}.student-activation-form small{color:var(--muted);font-size:11px}.student-login-card>h1{letter-spacing:-.04em;margin:25px 0 8px;font-size:31px;line-height:1.1}.student-login-card>p{color:var(--muted);font-size:13px;line-height:1.6}.student-login-card>.student-login-eyebrow{color:var(--forest);letter-spacing:.1em;margin:25px 0 0;font-size:10px;font-weight:800}.student-cancellation-list{gap:12px;display:grid}.student-cancellation-list article{border:1px solid var(--line);border-radius:12px;flex-wrap:wrap;align-items:center;gap:16px;padding:16px;display:flex}.student-cancellation-list article>div{flex:1;min-width:200px}.student-cancellation-list article p{color:var(--muted);margin:5px 0 0;font-size:12px}.student-plan-change-list{gap:12px;display:grid}.student-plan-change-card{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;gap:13px;padding:16px;display:grid}.student-plan-change-card-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.student-plan-change-card-heading strong{color:var(--ink);font-size:14px}.student-plan-change-card-heading p,.student-plan-change-reason{color:var(--muted);margin:5px 0 0;font-size:12px}.student-plan-change-card-plans{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.student-plan-change-card-plans>div{background:var(--surface);border-radius:9px;gap:4px;padding:10px 12px;display:grid}.student-plan-change-card-plans small{color:var(--muted);font-size:11px}.student-plan-change-card-plans span{color:var(--ink);font-size:12px}.student-plan-change-card>.plan-change-decision{border-top:1px solid var(--line);padding-top:11px}@media (max-width:560px){.student-plan-change-card-plans{grid-template-columns:1fr}}.settings-policy-note{border:1px solid var(--line);background:var(--surface-soft);color:var(--muted);border-radius:10px;margin:0 0 18px;padding:12px 14px;font-size:13px;line-height:1.5}.student-cancellation-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.student-cancellation-actions .student-action-feedback{width:100%}.student-reschedule-disclosure{min-width:0}.student-reschedule-disclosure summary{border:1px solid var(--line);background:var(--surface);min-height:42px;color:var(--forest);cursor:pointer;border-radius:10px;justify-content:center;align-items:center;padding:9px 14px;font-size:12px;font-weight:700;display:flex}.student-reschedule-disclosure[open] summary{margin-bottom:12px}.request-list{gap:10px;display:grid}.request-list article{border:1px solid var(--line);background:var(--surface-soft);border-radius:12px;flex-wrap:wrap;align-items:center;gap:14px;padding:15px 18px;display:flex}.request-list article>div{flex:1;min-width:220px}.request-list article>.plan-change-decision{border-top:1px solid var(--line);flex:1 0 100%;order:4;padding-top:11px}.request-list article p{color:var(--muted);margin:5px 0 0;font-size:12px}.plan-list-item small,.plan-list-side>span{font-size:12px}.plan-activities legend,.plan-activities p,.plan-archive p,.plan-list-item p{font-size:13px}.student-field{font-size:12px}@media (max-width:720px){.plan-archive,.plan-list-item{flex-direction:column}.plan-list-side{justify-items:start}.student-checkin-action{align-items:stretch}}