:root{color:#172b4d;font-synthesis:none;text-rendering:optimizelegibility;--ink:#172b4d;--muted:#53647a;--border:#dfe5ec;--brand:#0f6cbd;--surface:#fff;--canvas:#f5f7fa;--radius:8px;--z-sticky:10;--z-mobile:20;--z-modal:30;background:#f5f7fa;font-family:Segoe UI,Microsoft YaHei UI,Microsoft YaHei,system-ui,sans-serif}*{box-sizing:border-box}body{min-width:320px;margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{min-height:38px;color:var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #cdd6e1;border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}button:hover{background:#f0f5fa;border-color:#a8b8cb}button:disabled{cursor:not-allowed;color:#737f8e;background:#f2f4f7;border-color:#e0e5ec}button.primary{color:#fff;background:var(--brand);border-color:var(--brand)}button.primary:hover{background:#0b5a9f;border-color:#0b5a9f}button.primary:disabled{color:#5a738b;background:#dae6f0;border-color:#dae6f0}input:not([type=checkbox]):not([type=radio]):not([type=file]),select,textarea{min-width:0;min-height:39px;color:var(--ink);background:#fff;border:1px solid #cdd6e1;border-radius:6px;width:100%;padding:8px 11px;font-size:13px}input::placeholder,textarea::placeholder{color:#617187;opacity:1}select{cursor:pointer;width:auto;max-width:100%}textarea{resize:vertical;min-height:78px;line-height:1.6}input[type=checkbox],input[type=radio]{width:16px;height:16px;accent-color:var(--brand);cursor:pointer;flex-shrink:0;margin:0}input[type=checkbox]:disabled{cursor:not-allowed}input:hover,select:hover,textarea:hover{border-color:#96a9bf}:focus-visible{outline-offset:3px;outline:3px solid #0f6cbd}input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:1px}h1,h2,h3,p{margin:0}h1,h2,h3{text-wrap:balance}h1{letter-spacing:-.4px;font-size:23px;font-weight:650;line-height:1.4}h2{font-size:16px;font-weight:650;line-height:1.5}h3{font-size:14px}p{text-wrap:pretty;font-size:13px;line-height:1.7}a{color:var(--brand)}small{font-size:12px}strong{font-weight:600}label{flex-direction:column;gap:7px;font-size:13px;font-weight:550;display:flex}table{border-collapse:collapse;text-align:left;width:100%;font-size:13px}th{color:#526277;white-space:nowrap;background:#f8fafc;border-block:1px solid #e9edf2;height:44px;padding:10px 18px;font-size:12px;font-weight:600}td{vertical-align:middle;border-bottom:1px solid #edf0f4;padding:15px 18px;line-height:1.5}td small{color:var(--muted);margin-top:4px;font-size:11px;display:block}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#f9fbfe}td strong{font-size:13px}time,.mono{font-variant-numeric:tabular-nums;font-family:Cascadia Mono,Consolas,monospace;font-size:12px}svg{flex-shrink:0}button.selected{color:var(--brand);border-color:var(--brand);background:#ebf4fc}.muted{color:var(--muted)}.required,.error-text{color:#b4232b}.positive{color:#137552;font-weight:600}.negative{color:#a63c22;font-weight:600}.brand-text{color:var(--brand)}.tag{white-space:nowrap;color:#526277;background:#eff2f6;border-radius:4px;align-items:center;max-width:100%;padding:1px 7px;font-size:11px;font-weight:500;line-height:20px;display:inline-flex}.tag--blue{color:#0b63a9;background:#e9f3fe}.tag--green{color:#196b49;background:#e9f6ef}.tag--amber{color:#815408;background:#fff2d9}.text-button{min-height:30px;color:var(--brand);background:0 0;border:0;padding:3px 0;font-size:12px;font-weight:550}.text-button:hover{color:#08497f;background:0 0;text-decoration:underline}.text-button:disabled{color:#7a8493;background:0 0;text-decoration:none}.icon-button{background:0 0;border:0;width:30px;min-height:30px;padding:4px}.table-scroll{overscroll-behavior-x:contain;overflow:auto}.table-scroll table{min-width:680px}.empty{text-align:center;min-height:230px;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:13px;padding:34px 20px;display:flex}.empty h3{color:var(--ink);font-size:15px}.empty p{max-width:55ch}.panel{border:1px solid var(--border);border-radius:var(--radius);background:#fff;overflow:hidden;box-shadow:0 1px 2px #172b4d04}.section-heading{justify-content:space-between;align-items:center;gap:20px;min-height:78px;padding:18px 22px;display:flex}.section-heading p{color:var(--muted);margin-top:4px;font-size:12px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;display:flex}.page-heading p{color:var(--muted);margin-top:7px;font-size:13px}.heading-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.info-box{color:#365575;background:#f0f6fc;border:1px solid #d8e6f5;border-radius:6px;padding:14px 17px;font-size:13px;line-height:1.8}.brand{align-items:center;gap:10px;display:flex}.brand-mark{background:var(--brand);color:#fff;border-radius:9px;place-items:center;width:40px;height:40px;display:grid}.brand strong{letter-spacing:.8px;font-size:18px;font-weight:700;display:block}.brand small{color:var(--muted);letter-spacing:1.4px;margin-top:2px;font-size:10px;display:block}.avatar{color:#236fb4;background:#ecf3fd;border-radius:9px;flex:none;place-items:center;width:34px;height:34px;font-size:14px;font-weight:600;display:grid}.avatar--teal{color:#20765f;background:#e8f5f2}.student-name{white-space:nowrap;align-items:center;gap:10px;display:flex}.student-name small{margin-top:3px}.student-name strong{font-weight:600}.row-actions{white-space:nowrap;gap:13px;display:flex}.row-selected,.row-selected:hover{background:#f0f6fd}.actions-cell{width:130px}.checkbox-cell{width:44px}.table-toolbar{flex-wrap:wrap;align-items:center;gap:12px;padding:18px 22px;display:flex}.search-field{align-items:center;gap:8px;width:320px;min-width:220px;display:flex;position:relative}.search-field svg{color:#66788e;position:absolute;left:11px}.search-field input:not([type=checkbox]){width:100%;padding-left:36px;font-size:12px}.toolbar-export{margin-left:auto}.inline-label{color:var(--muted);white-space:nowrap;flex-direction:row;align-items:center;font-size:12px}.inline-label input{max-width:155px}.pager{color:var(--muted);border-top:1px solid #e9edf2;justify-content:space-between;align-items:center;gap:16px;padding:16px 22px;font-size:12px;display:flex}.pager>div{align-items:center;gap:15px;display:flex}.pager button{min-height:30px;padding:4px 10px;font-size:12px}.status-tabs{border-bottom:1px solid var(--border);align-items:center;gap:24px;padding:0 22px;display:flex}.status-tabs button{min-height:54px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;border-radius:0;padding:0}.status-tabs button.active{color:var(--brand);border-bottom-color:var(--brand)}.status-tabs button span{background:#eef2f6;border-radius:4px;min-width:20px;padding:1px 5px;font-size:10px}.status-tabs button.active span{color:var(--brand);background:#e5f1fd}.app-shell{grid-template-columns:230px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--border);width:230px;z-index:var(--z-sticky);background:#fff;flex-direction:column;padding:24px 14px 15px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.sidebar>.brand{padding:0 10px}.school-switch{background:#f6f8fb;border:1px solid #e3e9f1;border-radius:7px;align-items:center;gap:9px;margin:26px 0 24px;padding:12px 9px;display:flex}.school-switch>div{flex:1;min-width:0}.school-switch strong{font-size:13px}.school-switch small{color:var(--muted);margin-top:4px;font-size:10px;display:block}.school-switch .tag{padding:0 4px;font-size:10px}.school-avatar{color:#667b96;display:flex}.nav-label{color:#64758b;padding:0 13px 12px;font-size:10px}.sidebar nav{flex-direction:column;gap:5px;display:flex}.nav-item{color:#4d6079;background:0 0;border:0;border-radius:6px;justify-content:flex-start;gap:12px;width:100%;min-height:44px;padding:11px 13px;font-size:13px;font-weight:500}.nav-item:hover{background:#f4f7fb}.nav-item.is-active{color:#0b65af;background:#eaf3fd;font-weight:650}.nav-count{background:#dbeafb;border-radius:4px;margin-left:auto;padding:1px 6px;font-size:10px}.sidebar-bottom{flex-direction:column;gap:4px;margin-top:auto;padding-top:50px;display:flex}.sidebar-help{background:#f7f9fc;border-radius:7px;margin:0 5px 17px;padding:14px 12px}.sidebar-help>svg{color:var(--brand);vertical-align:middle;width:17px;margin-right:6px}.sidebar-help strong{font-size:12px}.sidebar-help p{color:var(--muted);margin-top:7px;font-size:11px}.sidebar-help button{color:var(--brand);background:0 0;border:0;justify-content:space-between;width:100%;min-height:24px;margin-top:8px;padding:0;font-size:11px}.app-body{grid-column:2;min-width:0}.topbar{border-bottom:1px solid var(--border);background:#fff;justify-content:space-between;align-items:center;gap:15px;height:70px;padding:0 30px;display:flex}.breadcrumbs{color:var(--muted);align-items:center;gap:13px;font-size:12px;display:flex}.breadcrumbs strong{color:var(--ink);font-weight:550}.slash{color:#acb8c5}.topbar-right{align-items:center;gap:12px;display:flex}.environment{color:#53647a;white-space:nowrap;align-items:center;gap:6px;font-size:11px;display:flex}.environment i{background:#4b8c74;border-radius:50%;width:6px;height:6px}.topbar-divider{background:var(--border);width:1px;height:24px;margin:0 3px}.user-avatar{color:#345c8c;background:#edf2f9;border-radius:50%;place-items:center;width:33px;height:33px;font-size:13px;font-weight:600;display:grid}.account-button{text-align:left;background:0 0;border:0;min-height:auto;padding:0;font-size:12px;line-height:1.4;display:block}.account-button small{color:var(--muted);margin-top:3px;font-size:10px;font-weight:400;display:block}.demo-banner{color:#775119;background:#fff8e9;border-bottom:1px solid #f1e3c8;align-items:center;gap:8px;min-height:41px;padding:10px 30px;font-size:11px;display:flex}.demo-banner>span{flex:1}.demo-banner button{color:#775119;background:0 0;border:0;min-height:auto;padding:0;font-size:11px;text-decoration:underline}.main-content{outline:none;max-width:1800px;margin:auto;padding:28px 30px 0}.notice{color:#23643e;background:#eff8f2;border:1px solid #cbe5d5;border-radius:6px;align-items:center;gap:9px;margin-bottom:20px;padding:9px 12px;font-size:13px;display:flex}.notice>span{flex:1}.notice--error{color:#a0272f;background:#fff0f0;border-color:#e9bfc1}.app-footer{color:#5d6d82;justify-content:space-between;gap:15px;padding:28px 0 20px;font-size:10px;display:flex}.skip-link{z-index:var(--z-mobile);background:#fff;padding:12px;position:fixed;top:8px;left:250px;transform:translateY(-180%)}.skip-link:focus{transform:none}.mobile-menu{display:none}.storage-error{flex-direction:column;align-items:flex-start;gap:20px;min-height:400px;display:flex}.summary-strip{border:1px solid var(--border);background:#fff;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:22px;display:grid}.summary-strip>button{text-align:left;white-space:normal;background:0 0;border:0;border-right:1px solid #e9edf2;border-radius:0;flex-direction:column;align-items:stretch;gap:0;padding:22px 24px;display:flex}.summary-strip>button:last-child{border-right:0}.summary-strip>button:hover{background:#f9fbfe}.summary-strip>button>span{color:var(--muted);justify-content:space-between;align-items:center;gap:5px;font-size:12px;font-weight:500;display:flex}.summary-strip>button>span svg{color:#778da6;width:18px}.summary-strip strong{font-variant-numeric:tabular-nums;letter-spacing:-.5px;margin-top:15px;font-size:29px;font-weight:650;line-height:1.3}.summary-strip strong small{letter-spacing:0;color:var(--muted);margin-left:6px;font-size:10px;font-weight:400}.summary-strip em{color:var(--muted);margin-top:9px;font-size:11px;font-style:normal;font-weight:400}.quick-start{background:#eef5fc;border:1px solid #d6e5f4;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;margin-bottom:25px;padding:23px 25px;display:flex}.quick-start>div{align-items:center;gap:15px;display:flex}.quick-start h2{color:#204c78;font-size:17px}.quick-start p{color:#4d6680;margin-top:5px;font-size:12px}.quick-icon{width:49px;height:49px;color:var(--brand);background:#dfeefd;border-radius:12px;place-items:center;display:grid}.overview-columns{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:22px;display:grid}.overview-columns .table-scroll table{min-width:550px}.overview-columns th{font-size:11px}.overview-columns th,.overview-columns td{padding-inline:18px}.workflow-guide{box-shadow:none;padding:22px}.workflow-guide ol{flex-direction:column;gap:26px;margin:23px 0 25px;padding:0;list-style:none;display:flex}.workflow-guide li{gap:12px;display:flex}.workflow-guide li>span{color:#426e9d;background:#edf3fb;border-radius:50%;flex:none;place-items:center;width:25px;height:25px;font-size:11px;font-weight:600;display:grid}.workflow-guide li strong{font-size:12px}.workflow-guide li p{color:var(--muted);margin-top:5px;font-size:11px}.guide-note{border-top:1px solid var(--border);color:var(--muted);gap:8px;padding-top:17px;display:flex}.guide-note p{font-size:11px}.guide-note svg{margin-top:3px}.selection-bar{background:#edf5ff;border-block:1px solid #dae9f8;align-items:center;gap:15px;padding:11px 22px;font-size:12px;display:flex}.selection-bar>button:last-child{min-height:32px;margin-left:auto;padding-block:4px}.selection-bar small{color:#4f6c8c;font-size:11px}.import-history{margin-top:23px}.import-history>div:not(.section-heading){border-top:1px solid #edf0f4;align-items:center;gap:15px;padding:12px 22px;font-size:12px;display:flex}.import-history>div>span:first-child{flex:1;align-items:center;gap:9px;display:flex}.import-history time{color:var(--muted);font-size:11px}.modal{width:min(540px,100vw - 30px);color:var(--ink);max-height:calc(100dvh - 48px);z-index:var(--z-modal);border:1px solid #d3dce7;border-radius:12px;padding:24px;overflow:auto;box-shadow:0 18px 70px #152c4d30}.modal::backdrop{background:#142c4c66}.modal--wide{width:min(900px,100vw - 30px)}.modal-heading{justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px;display:flex}.modal-heading h2{font-size:18px}.modal p{margin-bottom:14px}.modal form{margin-top:18px}.modal-actions{border-top:1px solid var(--border);justify-content:flex-end;gap:10px;margin-top:23px;padding-top:20px;display:flex}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.span-2{grid-column:1/-1}.details{grid-template-columns:105px minmax(0,1fr);gap:18px 10px;margin:24px 0;font-size:13px;display:grid}.details dt{color:var(--muted)}.details dd{overflow-wrap:anywhere;margin:0;line-height:1.5}.account-panel{max-width:850px;padding:24px}.account-panel .info-box{margin-top:26px}.account-actions{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.import-instructions{justify-content:space-between;align-items:center;gap:18px;display:flex}.import-instructions p{color:var(--muted);margin:6px 0 0;font-size:12px}.file-drop{color:#345c87;cursor:pointer;text-align:center;background:#f6f9fe;border:1px dashed #96b2d1;border-radius:8px;justify-content:center;align-items:center;gap:10px;min-height:160px;margin-top:22px;padding:28px 15px;display:flex;position:relative}.file-drop span{color:var(--muted);font-size:11px;font-weight:400}.file-drop input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.file-drop:focus-within{outline:3px solid var(--brand);outline-offset:3px}.import-summary{overflow-wrap:anywhere;justify-content:space-between;align-items:center;gap:15px;margin:22px 0 12px;font-size:12px;display:flex}.import-summary>span{flex-shrink:0;gap:9px;display:flex}.import-table{border:1px solid var(--border);border-radius:5px;max-height:290px;margin-bottom:14px}.import-table th{z-index:1;position:sticky;top:0}.import-table td{padding:12px}.import-table .error-text{font-size:11px}.stepper{border:1px solid var(--border);background:#fff;border-radius:8px;align-items:center;margin:0 0 26px;padding:22px 28px;list-style:none;display:flex}.stepper li{color:var(--muted);flex:1;align-items:center;gap:10px;font-size:13px;display:flex}.stepper li:last-child{flex:none}.stepper li>span{color:#64778d;background:#f0f3f7;border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;display:grid}.stepper li.current{color:var(--brand)}.stepper li.current>span{background:var(--brand);color:#fff}.stepper li.done{color:#22704e}.stepper li.done>span{color:#22704e;background:#e7f5ec}.stepper i{background:var(--border);flex:1;height:1px;margin:0 24px 0 14px}.booking-layout{grid-template-columns:minmax(0,1fr) 280px;align-items:start;gap:23px;display:grid}.booking-main{flex-direction:column;gap:22px;min-width:0;display:flex}.booking-summary{padding:22px;position:sticky;top:20px}.booking-summary h2{font-size:15px}.summary-students{border-bottom:1px solid var(--border);padding:22px 0}.summary-students>span{color:var(--muted);justify-content:space-between;font-size:12px;display:flex}.summary-students>span strong{color:var(--ink)}.summary-students p{overflow-wrap:anywhere;max-height:90px;margin-top:10px;font-size:12px;line-height:1.8;overflow:auto}.booking-summary dl{grid-template-columns:80px 1fr;gap:17px 5px;margin:22px 0;font-size:11px;display:grid}.booking-summary dt{color:var(--muted)}.booking-summary dd{text-align:right;overflow-wrap:anywhere;margin:0}.summary-total{border-top:1px solid var(--border);padding-top:20px}.summary-total>span{color:var(--muted);font-size:12px}.summary-total>strong{color:var(--brand);letter-spacing:-.6px;margin-top:9px;font-size:30px;font-weight:650;display:block}.summary-total small{letter-spacing:0;margin-left:6px;font-size:11px;font-weight:400}.summary-total p{color:var(--muted);margin-top:6px;font-size:11px}.summary-remaining{border-top:1px solid var(--border);flex-direction:column;gap:13px;margin-top:22px;padding-top:20px;display:flex}.summary-remaining>span{color:var(--muted);justify-content:space-between;font-size:11px;display:flex}.summary-remaining strong{color:var(--ink);font-weight:600}.summary-footnote{color:var(--muted);align-items:flex-start;gap:6px;margin-top:23px;font-size:10px;display:flex}.summary-footnote svg{margin-top:1px}.booking-selection-meta{color:var(--muted);justify-content:space-between;align-items:center;padding:0 22px 15px;font-size:12px;display:flex}.booking-selection-meta label{flex-direction:row;align-items:center;gap:9px;font-size:12px;font-weight:400}.booking-selection-meta>span{align-items:center;gap:12px;display:flex}.student-picker{border-top:1px solid var(--border);max-height:520px;overflow:auto}.student-option{cursor:pointer;border-bottom:1px solid #edf0f4;flex-direction:row;align-items:center;gap:13px;padding:14px 22px;font-weight:400;display:flex}.student-option:hover{background:#f7fafe}.student-option.selected{background:#eff6ff}.student-option:last-child{border-bottom:0}.student-option-name{flex:1;min-width:0}.student-option-name strong{font-size:13px;display:block}.student-option-name small{color:var(--muted);overflow-wrap:anywhere;margin-top:4px;font-size:10px;display:block}.student-option>.muted{font-size:11px}.wizard-actions{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:15px;padding:21px 22px;display:flex}.wizard-actions>.muted{font-size:12px}.inline-warning{color:#80510e;background:#fff6e5;border-top:1px solid #f1d9ab;padding:12px 22px;font-size:12px}.segmented{background:#f0f3f7;border-radius:6px;gap:3px;padding:3px;display:flex}.segmented button{background:0 0;border:0;min-height:29px;padding:4px 12px;font-size:11px}.segmented button.selected{color:var(--brand);background:#fff;box-shadow:0 1px 3px #172b4d15}.booking-packages{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;padding:0 22px 24px;display:grid}.booking-package{border:1px solid var(--border);cursor:pointer;border-radius:7px;gap:12px;padding:16px;position:relative}.booking-package.selected{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand);background:#f5f9ff}.booking-package>div{align-items:center;gap:7px;display:flex}.booking-package>div strong{font-size:12px}.booking-package input{width:14px;height:14px}.booking-package>div .tag{margin-left:auto;padding:0 5px;font-size:10px}.booking-package>p{color:var(--muted);font-size:12px;font-weight:400}.booking-package>span{color:var(--muted);font-size:11px;font-weight:400}.booking-package>span strong{color:var(--brand);margin-right:4px;font-size:22px}.date-picker{align-items:flex-end;gap:15px;padding:0 22px 22px;display:flex}.date-picker label{width:190px;font-size:12px}.date-shortcuts{gap:7px;display:flex}.date-shortcuts button{padding:7px 12px;font-size:11px}.selected-time{color:#35577b;background:#f2f7fd;border-radius:6px;align-items:center;gap:9px;margin:0 22px 22px;padding:13px;font-size:11px;display:flex}.selected-time strong{font-size:12px}.time-panel>p{padding:0 22px 20px}.booking-note{padding:0 22px 22px;font-size:12px}.review-details{flex-direction:column;gap:20px;margin:0 22px 25px;display:flex}.review-details>div{gap:15px;font-size:13px;display:flex}.review-details dt{width:85px;color:var(--muted);flex:none}.review-details dd{overflow-wrap:anywhere;margin:0;line-height:1.5}.booking-errors{color:#9a3920;background:#fff3ee;border:1px solid #edcbbb;border-radius:6px;margin:22px;padding:16px;font-size:12px}.booking-errors ul{padding-left:20px;line-height:1.8}.booking-errors p{margin-top:9px;font-size:11px}.review-ready{color:#246d48;background:#eef8f2;border-radius:5px;align-items:center;gap:8px;margin:22px;padding:13px;font-size:12px;display:flex}.booking-success{text-align:center;max-width:850px;margin:auto;padding:45px 28px}.success-mark{color:#26754f;background:#e7f6ed;border-radius:50%;place-items:center;width:65px;height:65px;margin:0 auto 20px;display:grid}.booking-success h1{margin-bottom:12px;font-size:25px}.booking-success>p{color:var(--muted)}.success-points{background:#f6f9fd;border-radius:6px;max-width:500px;margin:25px auto;padding:18px;font-size:13px}.success-points>strong{color:var(--brand);margin:0 5px;font-size:24px}.success-points>span{color:var(--muted);margin-top:9px;font-size:12px;display:block}.success-orders{text-align:left;max-width:550px;max-height:280px;margin:0 auto 25px;overflow:auto}.success-orders>div{border-bottom:1px solid var(--border);align-items:center;gap:15px;padding:14px 5px;font-size:13px;display:flex}.success-orders>div>.mono{color:var(--muted);flex:1;font-size:11px}.success-actions{justify-content:center;gap:12px;margin-bottom:25px;display:flex}.balance-panel{border:1px solid var(--border);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:30px;padding:30px 32px;display:flex}.available-balance>span{color:var(--muted);align-items:center;gap:12px;font-size:13px;display:flex}.available-balance>strong{letter-spacing:-1px;color:var(--brand);font-variant-numeric:tabular-nums;margin-top:14px;font-size:41px;font-weight:650;display:block}.available-balance small{letter-spacing:0;color:var(--muted);margin-left:10px;font-size:12px;font-weight:400}.available-balance p{color:var(--muted);margin-top:9px;font-size:11px}.balance-secondary{border-left:1px solid var(--border);gap:50px;padding-left:50px;display:flex}.balance-secondary>div{flex-direction:column;gap:12px;display:flex}.balance-secondary span{color:var(--muted);font-size:12px}.balance-secondary strong{font-variant-numeric:tabular-nums;font-size:25px}.balance-secondary small{color:var(--muted);font-size:11px}.points-explainer{color:#4d647e;gap:10px;margin:21px 0 25px;display:flex}.points-explainer svg{margin-top:3px}.points-explainer p{font-size:12px}.amount-options{gap:10px;margin-top:15px;display:flex}.package-filters{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.package-filters .status-tabs{border:0;padding:0}.package-filters .status-tabs button{min-height:36px}.package-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:25px;display:grid}.package-card{border:1px solid var(--border);background:#fff;border-radius:8px;padding:23px}.package-tags{align-items:center;gap:8px;display:flex}.package-tags>span:last-child{color:var(--muted);margin-left:auto;font-size:10px}.package-card h2{margin-top:23px;font-size:17px}.package-card>p{color:var(--muted);min-height:38px;margin-top:9px;font-size:11px}.package-duration{color:#415e7e;align-items:center;gap:8px;margin-top:16px;font-size:12px;display:flex}.package-bottom{border-top:1px solid var(--border);justify-content:space-between;align-items:center;gap:10px;margin-top:25px;padding-top:20px;display:flex}.package-bottom strong{color:var(--brand);font-size:25px;font-weight:650}.package-bottom span{color:var(--muted);margin-top:3px;margin-left:5px;font-size:10px;display:block}.package-bottom button{padding:6px 10px;font-size:11px}.login-page{background:#f4f7fb;flex-direction:column;min-height:100dvh;padding:30px 6.2% 20px;display:flex}.login-brand{align-items:center;gap:25px;display:flex}.login-brand>span{color:var(--muted);border-left:1px solid #cdd8e5;padding-left:25px;font-size:12px}.login-layout{flex:1;grid-template-columns:1.25fr 1fr;align-items:center;gap:8%;width:100%;max-width:1150px;margin:45px auto 55px;display:grid}.login-intro{padding:20px 0}.login-pill{color:#45678b;background:#e8f0fa;border:1px solid #d7e4f3;border-radius:20px;padding:7px 13px;font-size:12px;display:inline-block}.login-intro h1{letter-spacing:-.5px;color:#173b62;margin-top:24px;font-size:36px;font-weight:650;line-height:1.55}.login-intro>p{color:#566d87;margin-top:16px;font-size:14px;line-height:1.9}.login-workflow{color:#48627f;align-items:center;gap:15px;margin-top:30px;font-size:11px;display:flex}.login-workflow span{align-items:center;gap:7px;display:flex}.login-workflow svg{width:17px}.login-workflow i{color:#7c98b5;font-style:normal}.login-preview{background:#fff;border:1px solid #d5e0ed;border-radius:9px;max-width:500px;margin-top:39px;box-shadow:0 7px 25px #224c7c06}.preview-top{color:#637d98;border-bottom:1px solid #e6edf5;align-items:center;gap:5px;padding:13px 17px;font-size:10px;display:flex}.preview-top i{background:#d9e3ef;border-radius:50%;width:5px;height:5px}.preview-top span{margin-left:9px}.preview-row{border-bottom:1px solid #eef2f7;align-items:center;gap:12px;padding:16px 20px;font-size:12px;display:flex}.preview-row>div{flex:1}.preview-row strong{font-size:12px;display:block}.preview-row small{color:var(--muted);margin-top:5px;font-size:10px;display:block}.preview-row>span:not(.avatar):not(.tag){color:var(--muted);margin-right:10px;font-size:11px}.preview-foot{color:#5c7a69;justify-content:center;align-items:center;gap:6px;padding:12px;font-size:10px;display:flex}.login-card{background:#fff;border:1px solid #dfe6ef;border-radius:12px;justify-self:end;width:100%;max-width:440px;padding:34px;box-shadow:0 8px 40px #183b6207}.login-card h2{margin-top:20px;font-size:23px}.login-card>.muted{margin-top:8px;font-size:12px}.login-card form{flex-direction:column;gap:21px;margin-top:29px;display:flex}.login-card label{gap:9px;font-size:12px;font-weight:550}.login-card input:not([type=checkbox]){height:44px}.password-field{display:flex;position:relative}.password-field input{padding-right:58px!important}.password-field button{min-height:30px;color:var(--muted);background:0 0;border:0;font-size:11px;position:absolute;top:4px;bottom:4px;right:3px}.login-submit{justify-content:space-between;min-height:44px;margin-top:3px;padding-inline:17px}.demo-accounts{border-top:1px solid #e9edf2;margin-top:24px;padding-top:22px}.demo-accounts>span{color:var(--muted);font-size:11px}.demo-accounts>div{gap:10px;margin-top:10px;display:flex}.demo-accounts button{min-height:33px;padding:5px 12px;font-size:11px}.login-note{color:#617187;align-items:flex-start;gap:7px;margin-top:24px;font-size:10px;line-height:1.8;display:flex}.login-note svg{margin-top:2px}.login-footer{color:#667b92;justify-content:space-between;gap:15px;font-size:10px;display:flex}@media (min-width:1700px){.main-content{padding-inline:40px}.overview-columns{grid-template-columns:minmax(0,1fr) 330px}.booking-layout{grid-template-columns:minmax(0,1fr) 320px}}@media (max-width:1200px){.app-shell{grid-template-columns:210px minmax(0,1fr)}.sidebar{width:210px}.main-content{padding:25px 22px 0}.topbar,.demo-banner{padding-inline:22px}.summary-strip>button{padding:20px 17px}.summary-strip strong{font-size:26px}.overview-columns{grid-template-columns:1fr}.workflow-guide{display:none}.booking-layout{grid-template-columns:minmax(0,1fr) 240px;gap:18px}.booking-summary{padding:18px}.booking-packages{grid-template-columns:1fr}.package-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.balance-secondary{gap:30px;padding-left:30px}.page-heading{align-items:flex-start}.page-heading>.tag{margin-top:6px}.heading-actions{gap:7px}.login-layout{gap:6%}.login-intro h1{font-size:32px}.login-card{padding:28px}}@media (max-width:960px){.summary-strip strong{font-size:23px}.summary-strip strong small{margin:5px 0 0;display:block}.summary-strip em{font-size:10px}.quick-start{padding:20px}.quick-start h2{font-size:15px}.quick-start p{font-size:11px}.quick-icon{display:none}.booking-layout{grid-template-columns:1fr}.booking-summary{display:none;position:static}.stepper{padding:18px}.stepper li{font-size:12px}.stepper i{margin:0 12px}.booking-packages{grid-template-columns:repeat(2,minmax(0,1fr))}.balance-panel{flex-direction:column;align-items:flex-start;padding:24px}.balance-secondary{border-left:0;border-top:1px solid var(--border);gap:60px;width:100%;padding:22px 0 0}.page-heading{flex-direction:column;gap:17px}.topbar-right .environment{display:none}.login-layout{grid-template-columns:1fr 1fr;gap:5%}.login-intro h1{font-size:27px}.login-workflow{flex-wrap:wrap;gap:10px}.login-preview{display:none}.login-intro>p{font-size:12px}.login-card{padding:25px}.login-card h2{font-size:20px}}@media (max-width:720px){button{min-height:42px}.app-shell{display:block}.sidebar{display:none}.sidebar.is-open{z-index:var(--z-mobile);width:230px;display:flex;top:70px;box-shadow:10px 0 30px #162f4c22}.sidebar.is-open>.brand,.sidebar.is-open .school-switch{display:none}.sidebar.is-open .sidebar-bottom{padding-top:25px}.app-body{width:100%}.mobile-menu{display:inline-flex}.topbar{gap:5px;padding-inline:15px}.breadcrumbs{gap:9px;font-size:11px}.topbar-right{gap:8px}.topbar-divider{display:none}.account-button{font-size:11px}.user-avatar{width:28px;height:28px}.demo-banner{align-items:flex-start;padding:10px 16px;font-size:10px;line-height:1.7}.demo-banner button{flex-shrink:0;min-height:25px;font-size:10px}.demo-banner svg{margin-top:3px}.main-content{padding:23px 16px 0}h1{font-size:21px}.page-heading{margin-bottom:20px}.page-heading p{font-size:12px}.summary-strip{grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:18px}.summary-strip>button{padding:17px 20px}.summary-strip>button:nth-child(2){border-right:0}.summary-strip>button:nth-child(-n+2){border-bottom:1px solid var(--border)}.summary-strip strong small{margin:0 0 0 6px;display:inline}.summary-strip strong{margin-top:13px;font-size:27px}.summary-strip em{font-size:11px}.quick-start{flex-direction:column;align-items:flex-start;gap:16px;margin-bottom:20px}.quick-start button{width:100%}.quick-start h2{font-size:16px}.section-heading{flex-wrap:wrap;gap:12px;padding:17px}.section-heading p{font-size:11px}.section-heading .text-button{margin-left:auto}.table-toolbar{gap:10px;padding:16px}.table-toolbar .search-field{flex-basis:100%;width:100%}.table-toolbar .toolbar-export{padding-inline:9px;font-size:11px}.table-toolbar select{max-width:130px;font-size:12px}.pager{flex-wrap:wrap;padding:15px 16px;font-size:11px}.pager>div{gap:12px}.pager button{min-height:36px}.selection-bar{flex-wrap:wrap;gap:10px;padding:10px 16px}.selection-bar small{display:none}.selection-bar .primary{font-size:11px}.status-tabs{gap:20px;padding-inline:17px}.status-tabs button{gap:6px;font-size:12px}.row-actions .text-button{min-height:40px}.app-footer{flex-direction:column;gap:6px;padding-top:24px}.form-grid{gap:16px}.modal{max-height:calc(100dvh - 24px);padding:20px}.modal-heading h2{font-size:17px}.import-instructions{flex-direction:column;align-items:flex-start}.import-summary{flex-wrap:wrap}.import-history time{display:none}.import-history>div:not(.section-heading){padding-inline:17px}.import-history>div>span:first-child{overflow-wrap:anywhere;min-width:0}.stepper{margin-bottom:20px;padding:16px 12px}.stepper li{gap:6px;font-size:11px}.stepper li>span{width:23px;height:23px;font-size:10px}.stepper i{margin:0 8px}.student-option{gap:10px;padding:14px 16px}.student-option>.muted{display:none}.booking-selection-meta{padding-inline:16px;font-size:11px}.booking-selection-meta label{font-size:11px}.student-picker{max-height:450px}.wizard-actions{gap:10px;padding:18px 16px}.wizard-actions button{padding-inline:11px;font-size:12px}.wizard-actions>.muted{font-size:11px}.booking-packages{gap:10px;padding-inline:17px}.booking-package{padding:13px}.booking-package>div strong{font-size:11px}.booking-package>div{gap:6px}.booking-package .tag{display:none}.date-picker{flex-wrap:wrap;gap:11px;padding-inline:17px}.date-picker label{width:180px}.date-shortcuts button{min-height:35px}.selected-time{align-items:flex-start;margin-inline:17px;line-height:1.7}.selected-time span{font-size:11px}.selected-time svg{margin-top:2px}.booking-note{padding-inline:17px}.booking-summary{display:none}.review-details{margin-inline:17px}.review-details dt{width:70px}.review-details dd{font-size:12px}.booking-errors,.review-ready{margin:17px}.balance-panel{padding:23px}.available-balance>strong{font-size:36px}.balance-secondary{gap:50px}.points-explainer p{font-size:11px}.package-grid{grid-template-columns:1fr;gap:16px}.package-card{padding:22px}.package-card>p{min-height:0}.package-card h2{margin-top:18px}.package-filters .status-tabs{gap:20px}.package-filters select{font-size:11px}.package-bottom span{display:inline}.package-bottom button{font-size:12px}.account-panel{padding:22px}.details{grid-template-columns:90px minmax(0,1fr);font-size:12px}.success-orders>div{flex-wrap:wrap;gap:10px}.success-orders>div>.mono{flex:1;font-size:10px}.booking-success{padding:30px 17px}.booking-success h1{font-size:23px}.booking-success>p{font-size:12px}.success-actions{gap:10px}.success-actions button{font-size:12px}.login-page{padding:24px 20px 20px}.login-brand>.brand .brand-mark{width:35px;height:35px}.login-brand>.brand strong{font-size:16px}.login-brand>span{padding-left:15px;font-size:11px}.login-brand{gap:15px}.login-layout{flex-direction:column;gap:28px;margin:35px auto 30px;display:flex}.login-intro{width:100%;max-width:440px;padding:0}.login-pill{padding:5px 10px;font-size:10px}.login-intro h1{margin-top:15px;font-size:25px;line-height:1.5}.login-intro h1 br{display:none}.login-intro>p{margin-top:10px;font-size:12px}.login-intro>p br,.login-workflow{display:none}.login-card{max-width:440px;padding:27px 24px}.login-card h2{font-size:22px}.login-card form{margin-top:23px}.login-footer{text-align:center;flex-direction:column;gap:8px;font-size:9px}.skip-link{left:15px}}@media (max-width:380px){.topbar{padding-inline:9px}.breadcrumbs{gap:6px}.account-button small{display:none}.topbar-right{gap:5px}.user-avatar{display:none}.main-content,.demo-banner{padding-inline:12px}.stepper strong{font-size:10px}.stepper i{margin:0 6px}.booking-package{padding:10px}.booking-package>div strong{font-size:10px}.wizard-actions{flex-wrap:wrap}.wizard-actions>.primary{margin-left:auto}.status-tabs{gap:14px}.status-tabs button{gap:3px;font-size:11px}.heading-actions{flex-wrap:wrap}.form-grid{grid-template-columns:1fr}.span-2{grid-column:auto}.import-summary>span{flex-wrap:wrap;flex-shrink:1}.selection-bar .primary{margin-left:0}.login-brand>span{display:none}.login-page{padding-inline:16px}.login-card{padding:25px 20px}.available-balance p{font-size:10px}.date-shortcuts{gap:6px}.date-shortcuts button{padding-inline:10px}.package-filters .status-tabs{gap:15px}}body{min-width:0}.school-switch small{white-space:nowrap;font-size:9px}.form-grid label:has(.required){display:block}:is(.form-grid label:has(.required)>input,.form-grid label:has(.required)>select){width:100%;margin-top:8px;display:block}.form-grid .required{display:inline}.sidebar-bottom{padding-top:22px}.sidebar-help{margin-bottom:10px}.status-tabs{overflow-x:auto}.status-tabs button{flex-shrink:0}.booking-layout--integrated .student-picker{max-height:300px}.intake-feedback{color:#23643e;background:#eff8f2;border:1px solid #cbe5d5;border-radius:6px;align-items:flex-start;gap:9px;margin:0 0 20px;padding:12px 16px;font-size:12px;line-height:1.7;display:flex}.intake-feedback svg{margin-top:2px}.intake-next-hint{border-top:1px solid var(--border);color:var(--muted);background:#f8fafc;align-items:center;gap:8px;padding:13px 22px;font-size:11px;line-height:1.7;display:flex}.summary-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.summary-heading button{font-size:11px}.booking-layout--integrated .stepper{margin-bottom:22px}@media (max-width:720px){.booking-layout--integrated .student-picker{max-height:260px}.intake-next-hint{padding-inline:16px}.intake-feedback{padding:11px 14px;font-size:11px}}.booking-time-fields{flex-wrap:wrap;align-items:flex-end;gap:16px;padding:0 22px 12px;display:flex}.booking-time-fields>label{width:175px;max-width:100%;font-size:12px}.booking-time-fields input[readonly]{color:var(--muted);background:#f6f8fb}.booking-time-fields input[aria-invalid=true]{border-color:#b4232b}.booking-time-capacity{color:#365f4c;flex-direction:column;justify-content:center;gap:5px;min-height:39px;font-size:12px;display:flex}.booking-time-capacity small{color:var(--muted);font-size:10px}.time-panel>p.booking-time-help{color:var(--muted);padding:0 22px 18px;font-size:11px}.time-panel>p.booking-time-error{color:#9a3920;background:#fff3ee;border:1px solid #edcbbb;border-radius:5px;margin:0 22px 18px;padding:10px 12px;font-size:12px}@media (max-width:720px){.booking-time-fields{gap:12px;padding-inline:17px}.booking-time-fields>label{flex:110px;width:auto}.booking-time-capacity{flex-direction:row;flex-basis:100%;justify-content:flex-start;align-items:center;gap:12px;min-height:auto}.time-panel>p.booking-time-help{padding-inline:17px}.time-panel>p.booking-time-error{margin-inline:17px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.loading-page{min-height:100vh;color:var(--muted);place-items:center;display:grid}.booking-fields{border:0;flex-direction:column;gap:22px;min-width:0;margin:0;padding:0;display:flex}.full-width{width:100%;margin-top:20px}.padded{padding:20px 22px}.account-caption{color:var(--muted);padding:0 13px;font-size:12px}.live-student-tools{justify-content:space-between;align-items:center;gap:16px;padding:0 22px 16px;font-size:12px;display:flex}.live-student-tools form{flex:1;gap:8px;max-width:350px;display:flex}.selected-pills{flex-wrap:wrap;gap:8px;padding:0 22px 16px;display:flex}.selected-pills button{min-height:28px;color:var(--brand);background:#eef5fc;padding:3px 8px;font-size:12px}.live-mode{gap:10px;padding:0 22px 20px;display:flex}.live-package-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:0 22px 22px;display:grid}.live-package-option{border:1px solid var(--border);cursor:pointer;border-radius:6px;flex-direction:row;align-items:center;gap:12px;padding:15px;display:flex}.live-package-option.is-selected{border-color:var(--brand);background:#f1f7fe}.live-package-option span{flex:1;min-width:0}.live-package-option small{color:var(--muted);margin-top:5px;font-size:11px;display:block}.live-package-option b{color:var(--brand);font-size:13px}.license-field{flex-direction:row;align-items:center;font-size:12px;display:flex}.live-time-row{border-top:1px solid var(--border);padding:18px 22px}.live-time-inputs{grid-template-columns:1.35fr repeat(3,1fr);gap:14px;margin-top:16px;display:grid}.inline-check{flex-direction:row;align-items:center;gap:9px;display:flex}.live-time-inputs label{font-size:12px}.live-time-inputs input[readonly]{color:var(--muted);background:#f6f8fb}.live-time-row .error-text{margin-top:10px}.recovery-banner{justify-content:space-between;align-items:center;gap:20px;margin-bottom:20px;display:flex}.receipt-booking{border-bottom:1px solid var(--border);flex-wrap:wrap;gap:10px 20px;padding:17px 0;font-size:13px;display:flex}.receipt-booking p{width:100%}.modal .info-box{margin-top:20px}.intake-upload-tools{flex-wrap:wrap;align-items:center;gap:10px;padding:18px 0;display:flex}.intake-upload-tools small{width:100%;color:var(--muted)}.intake-edit-rows{max-height:430px;margin-top:20px;padding:3px;overflow:auto}.live-intake-row{border-bottom:1px solid var(--border);grid-template-columns:20px 1fr 1.8fr 1.2fr 65px 1.3fr 28px;align-items:center;gap:9px;padding:12px 0;display:grid}.live-intake-row label{font-size:11px}.booking-summary .summary-note{color:var(--muted);margin-top:14px;font-size:11px}.topbar-right{font-size:12px}.balance-panel{margin-bottom:24px}fieldset:disabled .live-package-option{cursor:default}.login-card-title{margin-bottom:25px}.login-card-title p{color:var(--muted);margin-top:8px}.login-features{flex-direction:column;gap:20px;margin-top:35px;display:flex}.login-features>div{color:#365575;align-items:center;gap:14px;font-size:14px;display:flex}.login-card form{flex-direction:column;gap:20px;display:flex}.live-package-options{scrollbar-gutter:stable;max-height:360px;overflow:auto}@media (max-width:1150px){.live-package-options{grid-template-columns:1fr}.live-time-inputs,.live-intake-row{grid-template-columns:repeat(2,minmax(0,1fr))}.live-intake-row>span{grid-column:1/-1}.live-intake-row .icon-button{grid-column:2;justify-self:end}}@media (max-width:960px){.booking-summary{display:block;position:static}}@media (max-width:760px){.app-shell{grid-template-columns:1fr}.sidebar{border-bottom:1px solid var(--border);width:auto;padding:15px;display:flex;position:static}.sidebar .brand,.sidebar .school-switch,.sidebar .nav-label,.sidebar-help,.account-caption{display:none}.sidebar nav{flex-direction:row;overflow:auto}.sidebar .nav-item{flex-shrink:0;width:auto}.sidebar-bottom{align-items:flex-end;padding:5px 0 0;position:static}.sidebar-bottom .nav-item{font-size:11px}.app-body{grid-column:1}.topbar{height:60px;padding:0 18px}.topbar-right{display:none}.main-content{padding:22px 15px 0}.live-student-tools{flex-wrap:wrap}.live-time-inputs{grid-template-columns:repeat(2,minmax(0,1fr))}.recovery-banner{flex-direction:column;align-items:flex-start}.section-heading,.live-mode{flex-wrap:wrap}.live-intake-row{grid-template-columns:1fr}.live-intake-row .icon-button{grid-column:1}}
