:root{--brand:#859184;--brand-dark:#5f6d5e;--brand-deep:#495448;--brand-soft:#eef2ee;--brand-pale:#f7f9f7;--ink:#354035;--muted:#748075;--line:#dce4dd;--white:#fff;--success:#54795f;--success-bg:#edf5ef;--warning:#92671a;--warning-bg:#fff7e4;--info:#597487;--info-bg:#eef4f7;--danger:#9d4747;--danger-bg:#fbecec;--shadow:0 8px 26px #3b483b14;--radius:18px}*{box-sizing:border-box}html{background:#edf1ed}body{color:var(--ink);background:linear-gradient(#f8faf7 0,#edf1ed 100%);margin:0;font-family:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button,input{font:inherit}button:disabled{opacity:.48;cursor:not-allowed}.login-page{background:#f3f6f2;grid-template-columns:minmax(0,1.05fr) minmax(440px,.95fr);min-height:100vh;display:grid}.login-brand-panel{color:#fff;background:linear-gradient(145deg,#6f7d6e,#879486 58%,#98a496);flex-direction:column;justify-content:space-between;padding:56px;display:flex;position:relative;overflow:hidden}.login-brand-panel:before,.login-brand-panel:after{content:"";border:1px solid #ffffff26;border-radius:50%;position:absolute}.login-brand-panel:before{width:560px;height:560px;bottom:-230px;right:-170px}.login-brand-panel:after{width:360px;height:360px;bottom:-130px;right:-70px}.login-logo{filter:brightness(0)invert();z-index:1;width:min(340px,75%);position:relative}.login-brand-copy{z-index:1;max-width:600px;margin:80px 0 45px;position:relative}.login-brand-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:#edf2ec;font-size:12px;font-weight:800}.login-brand-copy h2{letter-spacing:-.045em;max-width:650px;margin:15px 0 18px;font-size:44px;line-height:1.05}.login-brand-copy p{color:#edf2ed;max-width:560px;font-size:15px;line-height:1.65}.login-feature-list{color:#f6f8f5;gap:10px;margin-top:28px;font-size:13px;display:grid}.login-form-panel{place-items:center;padding:40px;display:grid}.login-card{border:1px solid var(--line);background:#fff;border-radius:26px;width:min(420px,100%);padding:34px;box-shadow:0 30px 80px #39483a21}.login-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--brand-dark);font-size:11px;font-weight:900}.login-card h1{letter-spacing:-.035em;margin:9px 0 10px;font-size:31px;line-height:1.12}.login-intro{color:var(--muted);margin:0 0 24px;line-height:1.55}.field-label{color:#5f6c60;margin:13px 0 6px;font-size:11px;font-weight:800;display:block}.text-input{width:100%;color:var(--ink);background:#fff;border:1px solid #cdd8cf;border-radius:11px;outline:none;padding:11px 12px}.text-input:focus{border-color:var(--brand);box-shadow:0 0 0 3px #85918421}.login-button{width:100%;margin-top:18px}.login-note{background:var(--brand-pale);color:var(--muted);border:1px dashed #cdd7ce;border-radius:12px;margin-top:18px;padding:12px;font-size:11px;line-height:1.45}.login-note strong{color:var(--ink)}.error-box{background:var(--danger-bg);color:var(--danger);border:1px solid #efcaca;border-radius:10px;margin-top:13px;padding:10px 11px;font-size:12px}.portal-shell{grid-template-columns:255px minmax(0,1fr);min-height:100vh;display:grid}.sidebar{border-right:1px solid var(--line);z-index:40;background:#fff;flex-direction:column;height:100vh;display:flex;position:sticky;top:0}.brand-block{border-bottom:1px solid var(--line);padding:25px 20px 21px}.brand-logo{width:190px;max-width:100%;height:auto;display:block}.role-pill{background:var(--brand-soft);color:var(--brand-dark);border-radius:999px;margin-top:10px;padding:5px 9px;font-size:10px;font-weight:850;display:inline-flex}.sidebar-nav{gap:3px;padding:16px 12px;display:grid;overflow:auto}.nav-link{color:#657067;border-radius:11px;align-items:center;gap:11px;padding:10px 11px;font-size:13px;font-weight:750;display:flex}.nav-link:hover{background:#f6f8f6}.nav-link.active{background:var(--brand-soft);color:var(--brand-deep)}.nav-icon{width:24px;height:24px;color:var(--brand-dark);background:#f2f5f2;border-radius:8px;place-items:center;font-size:12px;display:grid}.nav-link.active .nav-icon{background:#dde6dd}.sidebar-bottom{border-top:1px solid var(--line);margin-top:auto;padding:14px}.signed-in-card{padding:10px 10px 13px}.signed-in-card strong,.signed-in-card span{display:block}.signed-in-card strong{font-size:12px}.signed-in-card span{color:var(--muted);word-break:break-all;margin-top:3px;font-size:10px}.button-full{width:100%}.portal-main{min-width:0}.portal-topbar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--line);z-index:30;background:#fffffff0;align-items:center;gap:12px;height:70px;padding:0 26px;display:flex;position:sticky;top:0}.topbar-title{font-size:13px;font-weight:850}.topbar-subtitle{color:var(--muted);margin-top:3px;font-size:10px}.topbar-user{align-items:center;gap:10px;margin-left:auto;display:flex}.topbar-user>div strong,.topbar-user>div span{display:block}.topbar-user>div strong{font-size:11px}.topbar-user>div>span{color:var(--muted);margin-top:2px;font-size:9px}.avatar{background:var(--brand-soft);width:38px;height:38px;color:var(--brand-dark);border-radius:12px;flex:0 0 38px;place-items:center;font-size:11px;font-weight:900;line-height:1;display:grid!important}.menu-button{border:1px solid var(--line);background:#fff;border-radius:11px;width:38px;height:38px;display:none}.portal-content{max-width:1580px;margin:0 auto;padding:28px}.button{border:1px solid var(--line);cursor:pointer;color:var(--ink);background:#fff;border-radius:10px;padding:9px 13px;font-size:11px;font-weight:850}.button-primary{background:var(--brand-dark);border-color:var(--brand-dark);color:#fff}.button-primary:hover{background:var(--brand-deep)}.button-secondary:hover{background:var(--brand-pale)}.page-header{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:22px;display:flex}.page-header h1{letter-spacing:-.035em;color:var(--brand-deep);margin:0;font-size:30px}.page-header p{max-width:850px;color:var(--muted);margin:7px 0 0;line-height:1.55}.eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--brand-dark);margin-bottom:7px;font-size:10px;font-weight:900}.eyebrow.light{color:#eef3ed}.header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.stat-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.stat-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:17px}.stat-card>span{text-transform:uppercase;letter-spacing:.07em;color:#7c887e;font-size:9px;font-weight:900;display:block}.stat-card>strong{letter-spacing:-.04em;color:var(--brand-deep);margin-top:9px;font-size:28px;display:block}.stat-card>small{color:var(--muted);margin-top:6px;font-size:10px;display:block}.card{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);background:#fff;padding:18px}.section-heading{justify-content:space-between;align-items:end;gap:14px;margin:27px 0 12px;display:flex}.section-heading.compact{margin:0 0 13px}.section-heading h2{letter-spacing:-.02em;color:var(--brand-deep);margin:0;font-size:17px}.section-heading p{color:var(--muted);margin:4px 0 0;font-size:11px}.status-chip{background:var(--brand-soft);color:var(--brand-dark);border-radius:999px;padding:6px 9px;font-size:10px;font-weight:850;display:inline-flex}.status-chip.muted{color:#879087;background:#f0f1f0}.notice{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:flex-start;gap:8px;margin:16px 0;padding:12px 13px;font-size:11px;line-height:1.45;display:flex}.notice strong{color:var(--ink);white-space:nowrap}.notice.info{background:var(--info-bg);color:#567080;border-color:#d9e6eb}.notice.success{background:var(--success-bg);color:#4d7157;border-color:#d3e7d7}.notice.warning{background:var(--warning-bg);color:#7f641e;border-color:#eddcb2}.empty-state{text-align:center;color:var(--muted);background:#fff;border:1px dashed #ccd6ce;border-radius:14px;padding:30px}.empty-state.small{padding:20px}.text-capitalize{text-transform:capitalize}.welcome-panel{color:#fff;background:linear-gradient(145deg,#6f7d6e,#899587);border-radius:24px;justify-content:space-between;align-items:flex-end;gap:20px;padding:28px;display:flex;box-shadow:0 16px 40px #4855472b}.welcome-panel h1{letter-spacing:-.035em;margin:0;font-size:29px}.welcome-panel p{color:#eef3ed;margin:7px 0 0;line-height:1.5}.credit-box{background:#ffffff1c;border:1px solid #ffffff40;border-radius:15px;min-width:145px;padding:13px}.credit-box span,.credit-box strong{display:block}.credit-box span{text-transform:uppercase;letter-spacing:.08em;font-size:9px}.credit-box strong{margin-top:5px;font-size:24px}.child-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.child-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:17px;padding:17px}.child-card-head{align-items:center;gap:11px;display:flex}.child-card-head h3{margin:0;font-size:15px}.child-card-head>div:nth-child(2)>span{color:var(--muted);margin-top:3px;font-size:10px;display:block}.child-avatar,.family-avatar,.staff-avatar{background:var(--brand-soft);width:44px;height:44px;color:var(--brand-dark);border-radius:13px;flex:none;place-items:center;font-weight:900;display:grid}.warning-chip{background:var(--warning-bg);color:var(--warning);border-radius:999px;margin-left:auto;padding:5px 8px;font-size:9px;font-weight:850}.child-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:15px;display:grid}.child-card-grid>div{background:var(--brand-pale);border-radius:10px;padding:9px}.child-card-grid span,.child-card-grid strong{display:block}.child-card-grid span{text-transform:uppercase;letter-spacing:.07em;color:#7f8a80;font-size:8px;font-weight:850}.child-card-grid strong{margin-top:4px;font-size:11px}.next-level{color:#51705a;background:#edf5ef;border-radius:10px;margin-top:12px;padding:9px 10px;font-size:10px}.period-tabs{gap:8px;padding-bottom:3px;display:flex;overflow:auto}.period-tab{border:1px solid var(--line);background:#fff;border-radius:12px;min-width:170px;padding:9px 12px}.period-tab strong,.period-tab span{display:block}.period-tab strong{font-size:11px}.period-tab span{color:var(--muted);margin-top:3px;font-size:9px}.period-tab.active{background:var(--brand-soft);border-color:#cbd7cc}.timetable-scroll{padding-bottom:5px;overflow:auto}.week-board{grid-template-columns:repeat(5,minmax(210px,1fr));gap:10px;min-width:1120px;display:grid}.day-column{border:1px solid var(--line);background:#fff;border-radius:15px;overflow:hidden}.day-heading{background:var(--brand-deep);color:#fff;padding:11px 12px;font-size:11px;font-weight:850}.day-slots{padding:9px}.time-slot{border-bottom:1px solid #edf1ed;grid-template-columns:48px minmax(0,1fr);gap:7px;padding:6px 0;display:grid}.time-slot:last-child{border-bottom:0}.time-label{color:#778278;padding-top:7px;font-size:9px;font-weight:800}.slot-grid{gap:6px;display:grid}.slot-grid.concurrent{grid-template-columns:repeat(2,minmax(0,1fr))}.class-tile{background:linear-gradient(145deg,#f3f7f3,#eaf0ea);border:1px solid #d5dfd6;border-radius:10px;min-width:0;padding:8px;display:block}.class-tile:hover{border-color:#bdcbbf;box-shadow:0 5px 14px #41514214}.class-tile.near{background:#fff8e7;border-color:#eadcb7}.class-tile.full{background:#fbefef;border-color:#eccfcf}.class-tile-top{justify-content:space-between;gap:5px;display:flex}.class-tile-top strong{font-size:10px;line-height:1.25}.class-tile-top span{color:#69766a;font-size:9px;font-weight:900}.class-tile small{color:#6e7a70;margin-top:5px;font-size:8px;display:block}.class-tile em{color:var(--warning);margin-top:4px;font-size:8px;font-style:normal;font-weight:800;display:block}.stream-label{color:#657267;background:#fff;border-radius:999px;margin-bottom:5px;padding:3px 5px;font-size:7px;font-weight:800;display:inline-block}.detail-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.detail-list{margin:0}.detail-list div{border-bottom:1px solid #edf1ed;grid-template-columns:145px 1fr;gap:12px;padding:9px 0;display:grid}.detail-list div:last-child{border-bottom:0}.detail-list dt{color:var(--muted);font-size:10px;font-weight:800}.detail-list dd{margin:0;font-size:11px}.roster-card{margin-top:14px}.roster-table{display:grid}.roster-row{border-bottom:1px solid #edf1ed;grid-template-columns:1.1fr .7fr 2fr;gap:12px;padding:10px;font-size:10px;display:grid}.roster-row:last-child{border-bottom:0}.roster-head{background:var(--brand-pale);text-transform:uppercase;letter-spacing:.06em;color:#778278;border-radius:9px;font-size:9px;font-weight:900}.important-inline{color:var(--warning);font-weight:750}.search-bar{gap:8px;max-width:640px;margin-bottom:16px;display:flex}.card-list{gap:9px;display:grid}.list-card{align-items:center;gap:12px;padding:13px 15px;display:flex}.list-card-main{min-width:0}.list-card-main h3{margin:0;font-size:12px}.list-card-main p{color:var(--muted);margin:4px 0 0;font-size:10px}.staff-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.staff-card{align-items:flex-start;gap:11px;display:flex}.staff-card-main h3{margin:1px 0 3px;font-size:13px}.staff-card-main p{color:var(--muted);margin:0 0 8px;font-size:10px;line-height:1.4}.backdrop{display:none}@media (max-width:1180px){.stat-grid,.staff-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.week-board{grid-template-columns:repeat(5,220px)}}@media (max-width:850px){.login-page{grid-template-columns:1fr}.login-brand-panel{display:none}.login-form-panel{min-height:100vh;padding:20px}.portal-shell{display:block}.sidebar{z-index:60;width:260px;transition:left .2s;position:fixed;top:0;left:-275px;box-shadow:0 0 45px #0000002e}.sidebar.sidebar-open{left:0}.backdrop{z-index:50;background:#23302447;border:0;display:block;position:fixed;inset:0}.menu-button{place-items:center;display:grid}.portal-topbar{padding:0 14px}.portal-content{padding:20px 14px}.topbar-user div{display:none}.page-header{flex-direction:column;align-items:flex-start}.child-grid,.detail-grid,.staff-grid{grid-template-columns:1fr}.welcome-panel{flex-direction:column;align-items:flex-start}.credit-box{min-width:160px}.slot-grid.concurrent{grid-template-columns:1fr}}@media (max-width:560px){.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.stat-card{padding:13px}.stat-card>strong{font-size:23px}.page-header h1{font-size:25px}.portal-content{padding:17px 10px}.child-card-grid{grid-template-columns:1fr 1fr}.roster-row{grid-template-columns:1fr}.roster-head{display:none}.detail-list div{grid-template-columns:115px 1fr}.search-bar{flex-direction:column}.week-board{min-width:1050px}.login-card{box-shadow:none;border-radius:20px;padding:25px 20px}.login-form-panel{background:#fff}}.parent-enrolment-list{gap:14px;display:grid}.parent-enrolment-card{padding:20px}.parent-enrolment-head{align-items:center;gap:12px;display:flex}.parent-enrolment-head h2{margin:0;font-size:16px}.parent-enrolment-head p{color:var(--muted);margin:4px 0 0;font-size:10px}.parent-enrolment-head>.status-chip{margin-left:auto}.current-class-strip{background:var(--brand-pale);border-radius:11px;margin-top:14px;padding:10px 12px}.current-class-strip span,.current-class-strip strong{display:block}.current-class-strip span{text-transform:uppercase;letter-spacing:.07em;color:#7f8a80;font-size:8px;font-weight:850}.current-class-strip strong{margin-top:4px;font-size:11px}.compact-notice{margin-bottom:0}.eligible-class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.eligible-class-card{border:1px solid var(--line);background:#fbfcfa;border-radius:13px;padding:13px}.eligible-class-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.eligible-class-top strong,.eligible-class-top span{display:block}.eligible-class-top strong{font-size:12px}.eligible-class-top div>span{color:var(--muted);margin-top:4px;font-size:9px}.capacity-badge{background:var(--success-bg);color:var(--success);white-space:nowrap;border-radius:999px;padding:5px 7px;font-weight:900;font-size:8px!important}.eligible-class-meta{flex-wrap:wrap;gap:5px;margin:11px 0;display:flex}.eligible-class-meta span{background:var(--brand-soft);color:#667267;border-radius:999px;padding:4px 6px;font-size:8px}.eligible-class-card .button{width:100%;margin-top:4px}@media (max-width:1050px){.eligible-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.eligible-class-grid{grid-template-columns:1fr}.parent-enrolment-head{flex-wrap:wrap;align-items:flex-start}.parent-enrolment-head>.status-chip{margin-left:0}}.section-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.button-small{padding:7px 10px;font-size:10px}.child-card-footer{border-top:1px solid #edf1ed;justify-content:flex-end;margin-top:13px;padding-top:12px;display:flex}.subtle{color:var(--muted);font-size:10px}.metric-label{text-transform:uppercase;letter-spacing:.07em;color:#7c887e;font-size:9px;font-weight:900;display:block}.status-chip.success{background:var(--success-bg);color:var(--success)}.parent-detail-grid{grid-template-columns:minmax(0,1.15fr) minmax(300px,.85fr)}.profile-heading{align-items:center;gap:13px;margin-bottom:17px;display:flex}.profile-heading h2{margin:0;font-size:18px}.profile-heading p{color:var(--muted);margin:4px 0 0;font-size:10px}.child-avatar.large{border-radius:16px;width:56px;height:56px;font-size:14px}.key-value-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.key-value-grid>div{background:var(--brand-pale);border-radius:11px;padding:11px}.key-value-grid span,.key-value-grid strong{display:block}.key-value-grid span{text-transform:uppercase;letter-spacing:.07em;color:#7d897f;font-size:8px;font-weight:850}.key-value-grid strong{margin-top:5px;font-size:11px;line-height:1.4}.family-grid>div:nth-child(4){grid-column:span 2}.locked-note{border:1px solid var(--line);color:var(--muted);background:#f5f7f5;border-radius:10px;margin-top:14px;padding:10px 11px;font-size:10px;line-height:1.5}.class-summary-card{background:var(--brand-pale);border-radius:13px;gap:6px;margin-top:12px;padding:14px;display:grid}.class-summary-card>strong{color:var(--brand-deep);font-size:15px}.class-summary-card>span:not(.status-chip){color:var(--muted);font-size:10px}.class-summary-card .status-chip{text-transform:capitalize;justify-self:start;margin-top:4px}.attendance-summary{color:var(--brand-dark);align-items:baseline;gap:7px;display:flex}.attendance-summary strong{font-size:22px}.attendance-summary span{color:var(--muted);font-size:10px}.attendance-history{display:grid}.attendance-row{border-bottom:1px solid #edf1ed;justify-content:space-between;align-items:center;gap:12px;padding:10px 3px;display:flex}.attendance-row:last-child{border-bottom:0}.attendance-row>div strong,.attendance-row>div span{display:block}.attendance-row>div strong{font-size:11px}.attendance-row>div span{color:var(--muted);margin-top:3px;font-size:9px}.attendance-chip{text-transform:capitalize;color:#69746a;background:#f0f2f0;border-radius:999px;padding:5px 8px;font-size:9px;font-weight:850;display:inline-flex}.attendance-chip.attended{background:var(--success-bg);color:var(--success)}.attendance-chip.absent{background:var(--warning-bg);color:var(--warning)}.medical-form{padding:20px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.form-grid label>span{color:#637064;margin-bottom:6px;font-size:10px;font-weight:850;display:block}.form-grid textarea{resize:vertical;width:100%;min-height:92px;color:var(--ink);font:inherit;background:#fff;border:1px solid #cdd8cf;border-radius:11px;padding:10px 11px;line-height:1.45}.form-grid textarea:focus{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #85918421}.important-toggle{background:var(--warning-bg);border:1px solid #eadcb7;border-radius:11px;align-items:flex-start;gap:10px;margin-top:14px;padding:12px;display:flex}.important-toggle input{margin-top:2px}.important-toggle strong,.important-toggle small{display:block}.important-toggle strong{color:#72561c;font-size:11px}.important-toggle small{color:#8b743f;margin-top:3px;font-size:9px;line-height:1.4}.form-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;margin-top:16px;padding-top:14px;display:flex}.form-footer>span{color:var(--muted);font-size:9px}.inline-heading{margin-top:0}.consent-list{display:grid}.consent-row{border-bottom:1px solid #edf1ed;justify-content:space-between;align-items:center;gap:15px;padding:11px 2px;display:flex}.consent-row:last-child{border-bottom:0}.consent-row>div:first-child strong,.consent-row>div:first-child span{display:block}.consent-row>div:first-child strong{font-size:11px}.consent-row>div:first-child span{color:var(--muted);margin-top:3px;font-size:9px}.consent-status{align-items:center;gap:9px;display:flex}.text-link{color:var(--brand-dark);text-underline-offset:2px;font-size:10px;font-weight:800;text-decoration:underline}.payment-summary-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:14px;display:grid}.account-credit-card{color:#fff;box-shadow:var(--shadow);background:linear-gradient(145deg,#6f7d6e,#899587);border-radius:18px;padding:20px}.account-credit-card span,.account-credit-card strong,.account-credit-card small{display:block}.account-credit-card span{text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:850}.account-credit-card strong{margin-top:7px;font-size:30px}.account-credit-card small{color:#edf2ec;margin-top:6px;font-size:10px}.payment-action-count{color:var(--brand-deep);margin-top:7px;font-size:30px;display:block}.payment-summary-grid .card p{color:var(--muted);margin:6px 0 0;font-size:10px}.payment-due-card{justify-content:space-between;align-items:center;gap:16px;display:flex}.payment-due-card h3{margin:0;font-size:13px}.payment-due-card p{color:var(--muted);margin:4px 0 0;font-size:10px}.payment-amount{align-items:center;gap:10px;display:flex}.payment-amount>span{text-transform:capitalize;color:var(--warning);font-size:9px;font-weight:800}.payment-amount>strong{color:var(--brand-deep);font-size:17px}.payment-table-card{padding:6px 18px}.payment-table{display:grid}.payment-table-header,.payment-row{grid-template-columns:minmax(210px,1.45fr) minmax(95px,.55fr) minmax(155px,.8fr) minmax(85px,.5fr) minmax(200px,1.05fr) minmax(110px,.55fr);align-items:center;gap:18px;display:grid}.payment-table-header{border-bottom:1px solid #dfe6df;padding:10px 0 8px}.payment-table-header span{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:8px;font-weight:900}.payment-row{border-bottom:1px solid #edf1ed;min-height:72px;padding:14px 0}.payment-row:last-child{border-bottom:0}.payment-row>div>strong,.payment-row>div>span{display:block}.payment-row>div>strong{font-size:10px}.payment-subject strong{font-size:11px!important}.payment-subject span{text-transform:none;letter-spacing:0;color:var(--muted);margin-top:4px;font-size:9px;font-weight:400}.payment-mobile-label{display:none!important}.payment-breakdown strong{color:var(--brand-deep);font-size:11px!important}.payment-breakdown small{color:var(--muted);white-space:nowrap;margin-top:3px;font-size:9px;display:block}.payment-row-action{justify-self:start}.payment-status-badge{text-transform:capitalize;letter-spacing:.02em;width:max-content;color:var(--brand-deep);background:#f0f2f0;border-radius:999px;padding:5px 8px;font-weight:900;font-size:8px!important;display:inline-flex!important}.payment-status-badge.succeeded{background:var(--success-bg);color:var(--success)}.payment-status-badge.pending{color:#8a6415;background:#fff7e5}.payment-status-badge.void,.payment-status-badge.failed{color:#747b75;background:#f1f1f1}.payment-row-muted{opacity:.68}.receipt-card{max-width:820px;margin:0 auto;padding:28px}.receipt-brand{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:15px;padding-bottom:19px;display:flex}.receipt-brand img{width:220px;max-width:55%}.receipt-brand span{color:var(--muted);font-size:10px}.receipt-title{justify-content:space-between;gap:20px;padding:20px 0;display:flex}.receipt-title div span,.receipt-title div strong{display:block}.receipt-title div span{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:8px;font-weight:850}.receipt-title div strong{margin-top:4px;font-size:13px}.receipt-details{background:var(--brand-pale);border-radius:13px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:15px;display:grid}.receipt-details>div span,.receipt-details>div strong{display:block}.receipt-details>div span{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:8px;font-weight:850}.receipt-details>div strong{margin-top:4px;font-size:10px}.receipt-totals{width:min(360px,100%);margin:20px 0 0 auto}.receipt-totals>div{border-bottom:1px solid #edf1ed;justify-content:space-between;gap:20px;padding:8px 0;font-size:10px;display:flex}.receipt-total{color:var(--brand-deep);font-weight:900;font-size:13px!important}@media (max-width:850px){.parent-detail-grid,.payment-summary-grid,.form-grid{grid-template-columns:1fr}.payment-table-header{display:none}.payment-row{grid-template-columns:1fr 1fr 1fr;align-items:start;gap:12px 18px}.payment-mobile-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px;font-weight:800;font-size:8px!important;display:block!important}.payment-row-action{justify-self:start}.family-grid>div:nth-child(4){grid-column:auto}.receipt-card{padding:19px}.section-actions{justify-content:flex-start}.form-footer{flex-direction:column;align-items:flex-start}}@media (max-width:560px){.key-value-grid{grid-template-columns:1fr}.payment-due-card,.payment-amount,.consent-row{flex-direction:column;align-items:flex-start}.payment-row{grid-template-columns:1fr 1fr}.payment-subject,.payment-breakdown{grid-column:1/-1}.payment-breakdown small{white-space:normal}.receipt-details{grid-template-columns:1fr}.receipt-title{flex-direction:column}.receipt-brand{flex-direction:column;align-items:flex-start}.receipt-brand img{max-width:100%}}select{font:inherit;color:var(--ink)}.inline-warning{margin-left:8px}.operations-card{margin-top:16px}.session-tabs{gap:7px;padding:2px 0 12px;display:flex;overflow:auto}.session-tab{border:1px solid var(--line);background:var(--brand-pale);border-radius:10px;min-width:105px;padding:8px 9px}.session-tab strong,.session-tab span{display:block}.session-tab strong{font-size:9px}.session-tab span{color:var(--muted);margin-top:3px;font-size:8px}.session-tab.active{background:var(--brand-soft);border-color:#bccbbb}.attendance-workspace{border-top:1px solid var(--line);padding-top:13px}.attendance-session-title{justify-content:space-between;align-items:center;gap:10px;margin-bottom:5px;display:flex}.attendance-session-title strong{font-size:12px}.attendance-edit-row{border-bottom:1px solid #edf1ed;grid-template-columns:minmax(180px,1fr) minmax(280px,.8fr);align-items:center;gap:12px;padding:11px 2px;display:grid}.attendance-edit-row:last-child{border-bottom:0}.attendance-edit-row>div>strong{font-size:11px}.attendance-form{justify-content:flex-end;gap:7px;display:flex}.attendance-form select,.inline-workflow-form select,.phase-change-form select{background:#fff;border:1px solid #cdd8cf;border-radius:9px;min-width:145px;padding:8px 9px}.notes-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;display:grid}.note-child-card{border:1px solid var(--line);background:#fbfcfa;border-radius:13px;padding:13px}.note-child-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.note-child-head strong{font-size:12px}.note-child-head span{color:var(--muted);font-size:9px}.note-form{gap:7px;margin-top:11px;display:grid}.note-form textarea{resize:vertical;min-height:76px;font:inherit;border:1px solid #cdd8cf;border-radius:9px;padding:9px}.note-form .button{justify-self:start}.note-history{gap:7px;margin-top:11px;display:grid}.note-history-row{border-top:1px solid #edf1ed;padding-top:7px}.note-history-row span{color:var(--muted);font-size:8px}.note-history-row p{margin:3px 0 0;font-size:10px;line-height:1.45}.progression-list,.programme-list{gap:12px;display:grid}.progression-card h3,.programme-card h2{margin:0;font-size:15px}.progression-head,.programme-card-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.progression-head p,.programme-card-head p{color:var(--muted);margin:4px 0 0;font-size:9px}.progression-levels,.programme-meta-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:13px;display:grid}.progression-levels>div,.programme-meta-grid>div{background:var(--brand-pale);border-radius:10px;padding:10px}.progression-levels span,.progression-levels strong,.programme-meta-grid span,.programme-meta-grid strong{display:block}.progression-levels span,.programme-meta-grid span{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:8px;font-weight:850}.progression-levels strong,.programme-meta-grid strong{margin-top:4px;font-size:10px}.inline-workflow-form{border-top:1px solid #edf1ed;align-items:end;gap:9px;margin-top:12px;padding-top:12px;display:flex}.inline-workflow-form label>span,.phase-change-form label>span{color:#637064;margin-bottom:5px;font-size:9px;font-weight:850;display:block}.inline-workflow-form .grow{flex:1}.compact-input{padding:8px 9px!important}.manager-form{background:#f7f9f7;border-top:0;border-radius:10px;margin-top:8px;padding:10px}.release-form{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.confirm-inline{color:var(--muted);align-items:flex-start;gap:7px;font-size:9px;line-height:1.35;display:flex}.confirm-inline input{margin-top:1px}.programme-card{padding:20px}.phase-change-form{border-top:1px solid var(--line);grid-template-columns:minmax(180px,.6fr) minmax(260px,1.3fr) auto;align-items:end;gap:12px;margin-top:14px;padding-top:14px;display:grid}.warning-confirm{background:var(--warning-bg);color:#7f641e;border:1px solid #ead9a9;border-radius:10px;padding:9px}.warning-confirm strong{color:#705515}.booking-search-card{margin-bottom:15px}.booking-search-form{gap:8px;display:flex}.booking-search-form .text-input{flex:1}.compact-results{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:10px;display:grid}.search-result{border:1px solid var(--line);background:var(--brand-pale);border-radius:10px;padding:9px}.search-result strong,.search-result span{display:block}.search-result strong{font-size:10px}.search-result span{color:var(--muted);margin-top:3px;font-size:8px}.booking-empty{margin-top:18px}.selected-child-card{margin-top:17px}.selected-child-head{align-items:center;gap:12px;display:flex}.selected-child-head h2{margin:0;font-size:16px}.selected-child-head p{color:var(--muted);margin:4px 0 0;font-size:10px}.selected-child-head>.status-chip{margin-left:auto}.booking-class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.booking-class-card{padding:14px}.booking-class-card.ineligible{background:#f9f9f7}.booking-class-card.full-card{border-color:#ead2d2}.booking-class-head{justify-content:space-between;gap:9px;display:flex}.booking-class-head strong,.booking-class-head span{display:block}.booking-class-head strong{font-size:12px}.booking-class-head div>span{color:var(--muted);margin-top:4px;font-size:9px}.full-capacity{background:var(--danger-bg)!important;color:var(--danger)!important}.booking-rule-row{flex-wrap:wrap;gap:8px;margin:11px 0;font-size:8px;font-weight:800;display:flex}.rule-ok{color:var(--success)}.rule-warning{color:var(--warning)}.assisted-booking-form{gap:7px;display:grid}.override-toggle{color:#765b1b;background:var(--warning-bg);border-radius:9px;align-items:center;gap:7px;padding:7px;font-size:9px;font-weight:800;display:flex}.override-toggle input{margin:0}@media (max-width:1100px){.booking-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notes-grid{grid-template-columns:1fr}.compact-results{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:850px){.attendance-edit-row{grid-template-columns:1fr}.attendance-form{justify-content:flex-start}.inline-workflow-form,.release-form{flex-direction:column;align-items:flex-start}.inline-workflow-form .grow{width:100%}.phase-change-form{grid-template-columns:1fr}.progression-levels,.programme-meta-grid{grid-template-columns:1fr 1fr}.booking-class-grid{grid-template-columns:1fr}.selected-child-head{flex-wrap:wrap;align-items:flex-start}.selected-child-head>.status-chip{margin-left:0}.compact-results{grid-template-columns:1fr}}@media (max-width:560px){.attendance-form{grid-template-columns:1fr auto;display:grid}.progression-levels,.programme-meta-grid{grid-template-columns:1fr}.booking-search-form{flex-direction:column}}.attendance-class-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;display:grid}.attendance-class-link{justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.attendance-class-link:hover{border-color:#bdcbbf}.attendance-class-link>div strong,.attendance-class-link>div span{display:block}.attendance-class-link>div strong{font-size:12px}.attendance-class-link>div span{color:var(--muted);margin-top:4px;font-size:9px}@media (max-width:1050px){.attendance-class-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:650px){.attendance-class-grid{grid-template-columns:1fr}}.checkout-hold-card{background:linear-gradient(145deg,#f8fbf7,#eef5ed);border:1px solid #c9dbc9;border-radius:15px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:15px;margin-top:16px;padding:15px;display:grid}.checkout-hold-main{align-items:center;gap:12px;display:flex}.hold-icon{background:var(--success-bg);width:38px;height:38px;color:var(--success);border-radius:12px;flex:none;place-items:center;font-size:15px;font-weight:900;display:grid}.hold-kicker{text-transform:uppercase;letter-spacing:.07em;color:var(--success);font-size:8px;font-weight:900;display:block}.checkout-hold-main h3{color:var(--brand-deep);margin:4px 0 0;font-size:15px}.checkout-hold-main p{color:var(--muted);margin:4px 0 0;font-size:9px}.checkout-hold-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.checkout-hold-actions>strong{color:var(--brand-deep);font-size:14px}.hold-countdown{color:#45684d;white-space:nowrap;font-variant-numeric:tabular-nums;background:#e6f0e7;border-radius:999px;align-items:center;padding:6px 9px;font-size:10px;font-weight:900;display:inline-flex}.hold-countdown.ending{background:var(--warning-bg);color:var(--warning)}.hold-explainer{color:var(--muted);border-top:1px solid #dce7dc;grid-column:1/-1;margin:0;padding-top:10px;font-size:9px;line-height:1.5}.eligible-class-card form{margin-top:12px}.payment-amount .hold-countdown{margin-bottom:3px}@media (max-width:850px){.checkout-hold-card{grid-template-columns:1fr}.checkout-hold-actions{justify-content:flex-start}}@media (max-width:560px){.checkout-hold-actions{flex-direction:column;align-items:stretch}.checkout-hold-actions .button,.checkout-hold-actions form,.checkout-hold-actions form .button{width:100%}.hold-countdown{align-self:flex-start}}.status-chip.warning{background:var(--warning-bg);color:var(--warning)}.progression-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:18px 0;display:grid}.mini-status-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:13px;padding:12px 14px}.mini-status-card span,.mini-status-card strong{display:block}.mini-status-card span{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:8px;font-weight:900}.mini-status-card strong{color:var(--brand-deep);margin-top:6px;font-size:22px}.mini-status-card.success-card{background:var(--success-bg);border-color:#d4e7d7}.mini-status-card.warning-card{background:var(--warning-bg);border-color:#ebd9ab}.workflow-hint{color:var(--muted);max-width:340px;font-size:9px;line-height:1.35}.warning-text{color:var(--warning)}.stripe-test-note{color:#63557e;background:#f5f2ff;border:1px solid #ded5f3;border-radius:12px;margin:14px 0;padding:11px 13px;font-size:10px;line-height:1.45}@media (max-width:850px){.progression-summary-grid{grid-template-columns:1fr 1fr}}@media (max-width:1280px){.payment-table-header{display:none}.payment-row{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:13px 18px}.payment-mobile-label{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:4px;font-weight:800;font-size:8px!important;display:block!important}.payment-breakdown small{white-space:normal}.payment-row-action{justify-self:start;min-width:0}.payment-row-action .button{max-width:100%}}@media (max-width:620px){.payment-table-card{padding:5px 13px;overflow:hidden}.payment-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 14px;padding:15px 0}.payment-subject,.payment-breakdown{grid-column:1/-1}.payment-subject strong,.payment-breakdown strong{font-size:12px!important}.payment-row-action{width:100%}}@media (max-width:390px){.payment-table-card{padding:4px 11px}.payment-row{gap:11px 10px}.payment-row>div>strong{font-size:9px}.payment-row-action .button{padding:8px 9px;font-size:10px}}.button-danger{color:#fff;background:#9a4f4f;border-color:#9a4f4f}.button-danger:hover{background:#804141}.compact-heading{margin:0 0 12px}.finance-stat-grid{margin-bottom:16px}.finance-search-card{margin-top:16px}.finance-search-form{gap:8px;display:flex}.finance-search-form .text-input{flex:1}.finance-search-results{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.finance-search-result{border:1px solid var(--line);background:var(--brand-pale);border-radius:11px;padding:10px}.finance-search-result strong,.finance-search-result span{display:block}.finance-search-result strong{font-size:11px}.finance-search-result span{color:var(--muted);text-overflow:ellipsis;margin-top:4px;font-size:9px;overflow:hidden}.finance-family-card{background:linear-gradient(145deg,#fafcf9,#f2f6f1);justify-content:space-between;align-items:center;gap:20px;margin-top:16px;display:flex}.finance-family-card h2{margin:5px 0 0;font-size:20px}.finance-family-card p{color:var(--muted);margin:5px 0 0;font-size:10px}.finance-kicker{text-transform:uppercase;letter-spacing:.08em;color:var(--brand-dark);font-size:8px;font-weight:900}.finance-balance-stack{text-align:right}.finance-balance-stack span,.finance-balance-stack strong,.finance-balance-stack small{display:block}.finance-balance-stack span{text-transform:uppercase;letter-spacing:.07em;color:var(--muted);font-size:8px;font-weight:900}.finance-balance-stack strong{color:var(--brand-deep);margin-top:4px;font-size:25px}.finance-balance-stack small{color:var(--muted);margin-top:4px;font-size:9px}.finance-outstanding-list{gap:10px;display:grid}.finance-outstanding-card{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px 22px;display:grid}.finance-outstanding-main h3{margin:4px 0 0;font-size:14px}.finance-outstanding-main p{color:var(--muted);margin:4px 0 0;font-size:9px}.finance-outstanding-amount{text-align:right}.finance-outstanding-amount span,.finance-outstanding-amount strong{display:block}.finance-outstanding-amount span{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:8px;font-weight:850}.finance-outstanding-amount strong{color:var(--brand-deep);margin-top:4px;font-size:19px}.finance-action-details{border-top:1px solid #edf1ed;grid-column:1/-1;padding-top:10px}.finance-action-details summary{cursor:pointer;border:1px solid var(--line);color:var(--brand-deep);background:#fbfcfa;border-radius:9px;align-items:center;padding:7px 10px;font-size:9px;font-weight:850;list-style:none;display:inline-flex}.finance-action-details summary::-webkit-details-marker{display:none}.finance-action-details[open] summary{background:var(--brand-soft)}.finance-action-details.compact{margin-top:11px}.finance-form-grid{background:#fafcfa;border:1px solid #e4ebe4;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:12px;padding:13px;display:grid}.finance-form-grid label>span{text-transform:uppercase;letter-spacing:.05em;color:#657166;margin-bottom:5px;font-size:8px;font-weight:850;display:block}.finance-form-wide{grid-column:1/-1}.finance-check{background:var(--brand-pale);border-radius:9px;align-items:flex-start;gap:8px;padding:9px;display:flex!important}.finance-check input{margin:2px 0 0}.finance-check span{line-height:1.4;text-transform:none!important;letter-spacing:0!important;margin:0!important;font-size:9px!important}.finance-form-footer{justify-content:space-between;align-items:center;gap:12px;padding-top:4px;display:flex}.finance-form-footer small{color:var(--muted);max-width:650px;font-size:8px;line-height:1.45}.finance-credit-card{margin-top:16px}.finance-credit-history{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.finance-credit-history h3{margin:0 0 7px;font-size:12px}.finance-credit-history>div{border-bottom:1px solid #edf1ed;grid-template-columns:90px minmax(0,1fr) 130px;align-items:center;gap:10px;padding:8px 2px;display:grid}.finance-credit-history>div:last-child{border-bottom:0}.finance-credit-history strong{font-size:10px}.finance-credit-history strong.positive{color:var(--success)}.finance-credit-history strong.negative{color:#8b5757}.finance-credit-history span{font-size:9px}.finance-credit-history small{color:var(--muted);text-align:right;font-size:8px}.finance-transactions-card{padding:4px 16px}.finance-transaction{border-bottom:1px solid #e8ede8;padding:15px 0}.finance-transaction:last-child{border-bottom:0}.finance-transaction.muted{opacity:.67}.finance-transaction-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.finance-transaction-head>div strong,.finance-transaction-head>div span{display:block}.finance-transaction-head>div strong{font-size:11px}.finance-transaction-head>div span{color:var(--muted);margin-top:4px;font-size:8px}.finance-status{color:#667068;text-transform:capitalize;background:#f0f2f0;border-radius:999px;padding:5px 8px;font-size:8px;font-weight:900;display:inline-flex}.finance-status.succeeded{background:var(--success-bg);color:var(--success)}.finance-status.partially_refunded{background:var(--warning-bg);color:var(--warning)}.finance-status.refunded{color:#5f687e;background:#eef0f6}.finance-status.pending{color:#8a6415;background:#fff7e5}.finance-status.failed,.finance-status.void{color:#777;background:#f1f1f1}.finance-transaction-grid{grid-template-columns:repeat(5,minmax(90px,1fr)) auto;gap:10px;margin-top:11px;display:grid}.finance-transaction-grid>div{background:var(--brand-pale);border-radius:9px;padding:8px}.finance-transaction-grid span,.finance-transaction-grid strong,.finance-transaction-grid small{display:block}.finance-transaction-grid span{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:7px;font-weight:850}.finance-transaction-grid strong{margin-top:3px;font-size:9px}.finance-transaction-grid small{color:var(--muted);margin-top:2px;font-size:8px}.finance-transaction-actions{align-items:center;display:flex;background:0 0!important;padding:0!important}.finance-refund-history{gap:5px;margin-top:9px;display:grid}.finance-refund-history>div{background:#fafcfa;border-left:3px solid #dfe7df;justify-content:space-between;gap:12px;padding:7px 9px;display:flex}.finance-refund-history strong{font-size:8px}.finance-refund-history span{color:var(--muted);text-align:right;font-size:8px}.finance-refund-options{grid-template-columns:1fr 1fr;gap:10px;display:grid}.finance-form-heading strong,.finance-form-heading span{display:block}.finance-form-heading strong{font-size:10px}.finance-form-heading span{color:var(--muted);margin-top:3px;font-size:8px}.finance-subform{align-self:start}.finance-two-column{grid-template-columns:1fr 1fr;gap:18px;display:grid}.finance-recent-list{padding:5px 14px}.finance-recent-row{border-bottom:1px solid #edf1ed;justify-content:space-between;align-items:center;gap:12px;padding:12px 0;display:flex}.finance-recent-row:last-child{border-bottom:0}.finance-recent-row>div strong,.finance-recent-row>div span{display:block}.finance-recent-row>div strong{font-size:10px}.finance-recent-row>div span{color:var(--muted);margin-top:3px;font-size:8px}.finance-recent-row>div:last-child{text-align:right}.receipt-refunds{border-top:1px solid var(--line);margin-top:16px;padding-top:14px}.receipt-refunds h3{margin:0 0 8px;font-size:12px}.receipt-refunds>div{border-bottom:1px solid #edf1ed;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;padding:8px 0;display:grid}.receipt-refunds>div span{color:var(--muted);font-size:9px}.receipt-refunds>div strong{font-size:10px}.receipt-refunds>div small{color:var(--muted);grid-column:1/-1;font-size:8px}.receipt-refunds .receipt-refund-total{border-bottom:0}.receipt-admin-note{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;gap:12px;margin-top:14px;padding-top:11px;font-size:8px;display:flex}.receipt-reissue-card{justify-content:space-between;align-items:center;gap:18px;margin-top:14px;display:flex}.receipt-reissue-card h2{margin:0;font-size:14px}.receipt-reissue-card p{color:var(--muted);margin:5px 0 0;font-size:9px;line-height:1.5}.payment-refund-note{font-weight:700;color:#78642b!important}@media (max-width:1180px){.finance-search-results{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-transaction-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.finance-transaction-actions{grid-column:auto}.finance-refund-options,.finance-two-column{grid-template-columns:1fr}}@media (max-width:850px){.finance-family-card{flex-direction:column;align-items:flex-start}.finance-balance-stack{text-align:left}.finance-outstanding-card{grid-template-columns:1fr}.finance-outstanding-amount{text-align:left}.finance-form-grid{grid-template-columns:1fr}.finance-form-wide{grid-column:auto}.finance-form-footer{flex-direction:column;align-items:flex-start}.finance-transaction-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.receipt-reissue-card{flex-direction:column;align-items:flex-start}}@media (max-width:560px){.finance-search-form{flex-direction:column}.finance-search-results{grid-template-columns:1fr}.finance-transaction-head{flex-direction:column;align-items:flex-start}.finance-transaction-grid{grid-template-columns:1fr 1fr}.finance-refund-history>div{flex-direction:column}.finance-refund-history span{text-align:left}.finance-credit-history>div{grid-template-columns:75px 1fr}.finance-credit-history small{text-align:left;grid-column:1/-1}.finance-form-grid{padding:10px}.finance-action-details summary{justify-content:center;width:100%}.receipt-admin-note{flex-direction:column}}@media print{.sidebar,.portal-topbar,.page-header .button,.receipt-reissue-card,.notice{display:none!important}.portal-shell{display:block}.portal-content{max-width:none;padding:0}.page-header{margin:0 0 14px}.receipt-card{box-shadow:none;border:0;padding:0}.staff-receipt-card{max-width:850px;margin:0 auto}}.finance-outstanding-amount small{color:var(--muted);margin-top:3px;font-size:8px;display:block}.finance-part-payment-note{font-weight:700;color:#667568!important}.finance-payment-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;display:grid}.finance-payment-summary>div,.finance-payment-preview>div{background:#fff;border:1px solid #e2e9e2;border-radius:9px;padding:9px 10px}.finance-payment-summary span,.finance-payment-summary strong,.finance-payment-preview span,.finance-payment-preview strong{display:block}.finance-payment-summary span,.finance-payment-preview span{text-transform:uppercase;letter-spacing:.055em;color:var(--muted);font-size:7px;font-weight:850}.finance-payment-summary strong,.finance-payment-preview strong{color:var(--brand-deep);margin-top:4px;font-size:12px}.finance-input-help{color:var(--muted);margin-top:5px;font-size:8px;line-height:1.4;display:block}.finance-payment-shortcuts{flex-wrap:wrap;gap:7px;display:flex}.finance-payment-preview{background:#f3f7f2;border:1px solid #dde8dc;border-radius:11px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;padding:9px;display:grid}.finance-payment-preview.part-payment{background:#fff9ec;border-color:#eadbb8}.finance-payment-preview.part-payment>div:last-child strong{color:#84631e}.finance-adjustment-note{margin:0}.finance-list-balance{text-align:right;min-width:85px}.finance-list-balance span,.finance-list-balance strong{display:block}.finance-list-balance span{text-transform:uppercase;letter-spacing:.055em;color:var(--muted);font-size:7px;font-weight:850}.finance-list-balance strong{margin-top:3px;font-size:11px}.payment-balance-note{max-width:250px;color:var(--muted);margin-top:6px;font-size:9px;line-height:1.4;display:block}@media (max-width:1050px){.finance-payment-summary,.finance-payment-preview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:560px){.finance-payment-summary,.finance-payment-preview{grid-template-columns:1fr 1fr}.finance-payment-shortcuts{grid-template-columns:1fr 1fr;display:grid}.finance-payment-shortcuts .button{justify-content:center;width:100%}.finance-list-balance{text-align:left}.payment-balance-note{max-width:none}}@media (max-width:390px){.finance-payment-summary,.finance-payment-preview,.finance-payment-shortcuts{grid-template-columns:1fr}}.takings-filters{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:18px;display:flex}.takings-filters label{gap:5px;min-width:150px;display:grid}.takings-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px;display:grid}.takings-summary strong{margin-top:8px;font-size:22px;display:block}.takings-scroll{max-width:100%;overflow-x:auto}.takings-table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.takings-table th,.takings-table td{vertical-align:top;border-bottom:1px solid #e1e7e1;padding:12px 10px}.takings-table th{background:#f3f7f2}.takings-table td{overflow-wrap:anywhere;min-width:90px}.takings-scroll+p{color:var(--muted);font-size:12px}.takings-summary~.card{margin-bottom:18px}@media (max-width:700px){.takings-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.takings-filters label{flex:1}.takings-summary strong{font-size:19px}}@media print{.takings-filters,.header-actions{display:none!important}.takings-scroll{overflow:visible}.takings-table{font-size:9px}.takings-table td{min-width:0}.takings-table th,.takings-table td{padding:6px 4px}.takings-table thead{display:table-header-group}.takings-table tr{break-inside:avoid}.takings-summary{grid-template-columns:repeat(4,1fr)}.notice.takings-explanation{display:block!important}}.class-assistance-card{background:#f7faf6;border:1px solid #dce6dc;border-radius:12px;grid-template-columns:minmax(200px,1fr) minmax(180px,1fr) auto;align-items:center;gap:12px;padding:14px;display:grid}.class-assistance-card>div strong,.class-assistance-card>div span{display:block}.class-assistance-card>div span{color:var(--muted);margin-top:4px;font-size:10px;line-height:1.45}.waitlist-toolbar{gap:14px;margin-bottom:16px;display:grid}.waitlist-toolbar .search-bar{max-width:none}.waitlist-tabs{padding-bottom:2px;overflow-x:auto}.waitlist-tabs .period-tab{min-width:max-content}.waitlist-add-card{margin-bottom:20px}.waitlist-add-card>summary{cursor:pointer;list-style:none;display:inline-flex}.waitlist-add-card>summary::-webkit-details-marker{display:none}.waitlist-form{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.waitlist-form label>span{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);margin-bottom:5px;font-size:8px;font-weight:850;display:block}.waitlist-wide{grid-column:1/-1}.waitlist-grid{gap:14px;display:grid}.waitlist-card{border-left:5px solid #cbd6cb}.waitlist-card.status-class_assistance{border-left-color:#d39b30}.waitlist-card.status-offered{border-left-color:#517cba}.waitlist-card.status-enrolled{border-left-color:#5c9061}.waitlist-card.status-archived{opacity:.72}.waitlist-card-head{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.waitlist-card-head h2{margin:5px 0;font-size:17px}.waitlist-card-head p{color:var(--muted);overflow-wrap:anywhere;margin:0;font-size:10px}.waitlist-date{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:8px;font-weight:850}.waitlist-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:14px;display:grid}.waitlist-summary>div{background:var(--brand-pale);border-radius:9px;padding:9px}.waitlist-summary span,.waitlist-summary strong{display:block}.waitlist-summary span{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:7px;font-weight:850}.waitlist-summary strong{margin-top:4px;font-size:10px}.waitlist-copy{margin:11px 0 0;font-size:10px;line-height:1.5}.waitlist-actions{flex-wrap:wrap;gap:8px;margin-top:13px;display:flex}.waitlist-edit{border-top:1px solid var(--line);margin-top:14px;padding-top:12px}.waitlist-edit>summary{cursor:pointer;color:var(--brand-deep);font-size:9px;font-weight:850}.finance-recent-result{justify-items:end;gap:3px;display:grid!important}.finance-recent-row.muted{opacity:.7}.finance-recent-result .finance-status{font-size:7px}.finance-recent-result>span:last-child{color:var(--muted);font-size:8px}@media (max-width:850px){.waitlist-form{grid-template-columns:repeat(2,minmax(0,1fr))}.class-assistance-card{grid-template-columns:1fr}.waitlist-wide{grid-column:1/-1}}@media (max-width:560px){.waitlist-form,.waitlist-summary{grid-template-columns:1fr}.waitlist-wide{grid-column:auto}.waitlist-card-head{flex-direction:column}.waitlist-actions form,.waitlist-actions .button{width:100%}.finance-recent-result{justify-items:start}.finance-recent-row{align-items:flex-start}}.waitlist-actions{align-items:center}.waitlist-level-action{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.waitlist-level-action select{min-width:170px}.communication-planner{margin-bottom:20px}.communication-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.communication-form label>span,.export-filter label>span,.roll-controls label>span{text-transform:uppercase;letter-spacing:.055em;color:var(--muted);margin-bottom:5px;font-size:8px;font-weight:850;display:block}.communication-form select,.communication-form textarea,.export-filter select,.roll-controls select{width:100%;color:var(--ink);background:#fff;border:1px solid #cdd8cf;border-radius:10px;padding:10px}.communication-form textarea{resize:vertical;min-height:90px}.communication-wide{grid-column:1/-1}.form-help{color:var(--muted);margin:0;font-size:9px}.communication-history{padding:4px 15px}.communication-history-row{border-bottom:1px solid #edf1ed;grid-template-columns:150px minmax(180px,1.4fr) minmax(150px,1fr) 65px minmax(130px,1fr);align-items:center;gap:12px;padding:12px 2px;font-size:10px;display:grid}.communication-history-row:last-child{border-bottom:0}.communication-history-row small{color:var(--muted);text-transform:capitalize;margin-top:3px;display:block}.communication-history-head{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:8px;font-weight:850}.export-filter-card{margin-bottom:16px}.export-filter,.roll-controls form{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.export-filter label,.roll-controls label{min-width:240px}.export-card-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.export-card-grid h2{margin:0;font-size:17px}.export-card-grid p{color:var(--muted);margin:8px 0 15px;font-size:10px;line-height:1.55}.roll-controls{margin-bottom:18px}.roll-controls p{color:var(--muted);margin:12px 0 0;font-size:9px}.print-rolls{gap:18px;display:grid}.print-roll{overflow:hidden}.print-roll header{border-bottom:2px solid var(--brand-dark);justify-content:space-between;gap:18px;margin-bottom:12px;padding-bottom:12px;display:flex}.print-roll header span,.print-roll header strong{display:block}.print-roll header span{color:var(--muted);margin-top:4px;font-size:9px}.print-roll h2{margin:4px 0 0;font-size:18px}.print-roll header>div:last-child{text-align:right}.roll-table-wrap{overflow:auto}.roll-table{border-collapse:collapse;width:100%;font-size:9px}.roll-table th,.roll-table td{text-align:center;border:1px solid #cfd8d0;min-width:43px;padding:7px 5px}.roll-table th:first-child,.roll-table td:first-child{text-align:left;min-width:150px}.roll-table th:nth-child(2),.roll-table td:nth-child(2){min-width:36px}.roll-table th{background:#f0f4f0}.roll-table th span{color:var(--muted);font-size:7px;display:block}@media (max-width:850px){.communication-form,.export-card-grid{grid-template-columns:1fr}.communication-wide{grid-column:auto}.communication-history-head{display:none}.communication-history-row{grid-template-columns:1fr 1fr}.print-roll header{flex-direction:column}.print-roll header>div:last-child{text-align:left}}@media print{.roll-controls{display:none!important}.print-rolls{display:block}.print-roll{box-shadow:none;break-after:page;page-break-after:always;border:0;border-radius:0;padding:0}.print-roll:last-child{break-after:auto;page-break-after:auto}.roll-table-wrap{overflow:visible}.roll-table{font-size:8px}.roll-table th,.roll-table td{padding:5px 3px}.print-roll header{margin-top:0}.communication-history,.communication-planner{box-shadow:none}}.roll-table{font-size:11px}.roll-table th,.roll-table td{min-width:47px;padding:8px 6px}.roll-table th:first-child,.roll-table td:first-child{min-width:165px;font-size:12px}.roll-table th span{font-size:8px}.field-help{color:var(--muted);margin-top:5px;font-size:9px;line-height:1.45;display:block}@media (max-width:1200px){.communication-history{padding:10px}.communication-history-head{display:none}.communication-history-row{border:1px solid var(--line);border-radius:11px;grid-template-columns:minmax(0,1fr) auto;gap:7px 14px;margin-bottom:9px;padding:12px}.communication-history-row>strong{grid-area:1/1/auto/-1}.communication-history-row>span:first-child,.communication-history-row>span:nth-child(3){grid-column:1}.communication-history-row>span:nth-child(4){text-align:right;grid-area:2/2}.communication-history-row>span:last-child{text-align:right;grid-area:3/2}.communication-history-row:last-child{border-bottom:1px solid var(--line);margin-bottom:0}}@media print{.roll-table{font-size:10pt}.roll-table th,.roll-table td{padding:6px 4px}.roll-table th:first-child,.roll-table td:first-child{font-size:10.5pt}.roll-table th span{font-size:8pt}}.term-admin-grid{grid-template-columns:1fr 1fr;gap:14px;margin:17px 0;display:grid}.term-admin-card>summary{cursor:pointer;list-style:none;display:inline-flex}.term-admin-card>summary::-webkit-details-marker{display:none}.term-admin-form{grid-template-columns:1fr 1fr;gap:10px;margin-top:15px;display:grid}.term-admin-form label>span,.import-form label>span{text-transform:uppercase;letter-spacing:.055em;color:var(--muted);margin-bottom:5px;font-size:8px;font-weight:850;display:block}.term-admin-form select,.import-form select,.import-form input[type=file]{width:100%;color:var(--ink);background:#fff;border:1px solid #cdd8cf;border-radius:10px;padding:10px}.term-wide{grid-column:1/-1}.term-archive{border-top:1px solid var(--line);margin-top:14px;padding-top:10px}.term-archive>summary{color:var(--danger);cursor:pointer;font-size:9px;font-weight:850}.term-archive form{align-items:center;gap:12px;margin-top:10px;display:flex}.import-card,.import-review{margin-bottom:17px}.template-links,.core-export-links{flex-wrap:wrap;gap:8px;display:flex}.import-form{grid-template-columns:200px minmax(260px,1fr) auto;align-items:end;gap:12px;margin-top:16px;display:grid}.import-counts{grid-template-columns:repeat(3,1fr);gap:10px;margin:14px 0;display:grid}.import-counts>div{background:var(--brand-pale);border-radius:10px;padding:12px}.import-counts span,.import-counts strong{display:block}.import-counts span{text-transform:uppercase;color:var(--muted);font-size:8px;font-weight:850}.import-counts strong{margin-top:4px;font-size:22px}.import-errors{background:var(--warning-bg);border-radius:11px;max-height:300px;padding:8px 12px;overflow:auto}.import-errors p{margin:7px 0;font-size:9px}.import-commit{gap:12px;display:grid}.import-history{padding:5px 15px}.import-history>div{border-bottom:1px solid var(--line);grid-template-columns:150px minmax(220px,1fr) 100px 130px;gap:12px;padding:12px 2px;font-size:9px;display:grid}.import-history>div:last-child{border-bottom:0}.export-core-card{grid-column:1/-1}@media (max-width:1000px){.term-admin-grid,.import-form{grid-template-columns:1fr}.import-history>div{grid-template-columns:1fr 1fr}.import-history>div strong{grid-area:1/1/auto/-1}.term-archive form{flex-direction:column;align-items:flex-start}}@media (max-width:560px){.term-admin-form{grid-template-columns:1fr}.term-wide{grid-column:auto}.import-counts{grid-template-columns:1fr 1fr}.template-links .button,.core-export-links .button{text-align:center;flex:1}}.programme-class-link{margin:13px 0}.class-add-card{margin-bottom:18px}.class-add-card>summary{cursor:pointer;list-style:none;display:inline-flex}.class-add-card>summary::-webkit-details-marker{display:none}.class-admin-list{gap:14px;display:grid}.class-admin-card{border-left:5px solid #d5dfd5}.class-admin-card.has-conflict{border-left-color:#d69d32}.class-admin-card>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.class-admin-card>header>div:last-child{align-items:center;gap:7px;display:flex}.class-admin-card header h2{margin:4px 0;font-size:18px}.class-admin-card header p,.class-admin-card header span{color:var(--muted);margin:0;font-size:9px}.class-edit,.class-archive{border-top:1px solid var(--line);margin-top:13px;padding-top:11px}.class-edit>summary,.class-archive>summary{cursor:pointer;color:var(--brand-deep);font-size:9px;font-weight:850}.class-archive>summary{color:var(--danger)}.class-archive form{align-items:center;gap:12px;margin-top:11px;display:flex}.class-admin-form{background:var(--brand-pale);border-radius:12px;grid-template-columns:repeat(4,minmax(0,1fr));gap:11px;margin-top:14px;padding:13px;display:grid}.class-admin-form label>span{text-transform:uppercase;letter-spacing:.055em;color:var(--muted);margin-bottom:5px;font-size:8px;font-weight:850;display:block}.class-admin-form select,.class-admin-form textarea{width:100%;color:var(--ink);background:#fff;border:1px solid #cdd8cf;border-radius:10px;padding:10px}.class-admin-form textarea{resize:vertical;min-height:75px}.class-admin-wide{grid-column:1/-1}.class-admin-form .confirm-inline{align-self:start}@media (max-width:1100px){.class-admin-form{grid-template-columns:repeat(2,minmax(0,1fr))}.class-admin-wide{grid-column:1/-1}}@media (max-width:700px){.class-admin-form{grid-template-columns:1fr}.class-admin-wide{grid-column:auto}.class-admin-card>header,.class-archive form{flex-direction:column}.class-admin-card>header>div:last-child{flex-direction:column;align-items:flex-start}}.consent-admin-card{margin-bottom:18px}.consent-admin-card>summary{cursor:pointer;list-style:none;display:inline-flex}.consent-admin-card>summary::-webkit-details-marker{display:none}.consent-admin-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-top:14px;display:grid}.consent-admin-form label>span,.audit-filter label>span{text-transform:uppercase;letter-spacing:.055em;color:var(--muted);margin-bottom:5px;font-size:8px;font-weight:850;display:block}.consent-wide{grid-column:1/-1}.consent-admin-history{padding:5px 14px}.consent-admin-history>div{border-bottom:1px solid var(--line);grid-template-columns:minmax(220px,1.4fr) 110px 85px 130px 55px;align-items:center;gap:12px;padding:12px 2px;font-size:9px;display:grid}.consent-admin-history>div:last-child{border-bottom:0}.consent-admin-history>div>div strong,.consent-admin-history>div>div span{display:block}.consent-admin-history>div>div span{color:var(--muted);margin-top:3px;font-size:8px}.audit-filter{align-items:end;gap:10px;margin-bottom:17px;display:flex}.audit-filter select{min-width:240px;color:var(--ink);background:#fff;border:1px solid #cdd8cf;border-radius:10px;padding:10px}.audit-list{padding:4px 14px}.audit-row{border-bottom:1px solid var(--line);grid-template-columns:155px minmax(130px,1fr) 75px 140px minmax(210px,1fr);align-items:center;gap:11px;padding:11px 2px;font-size:9px;display:grid}.audit-row:last-child{border-bottom:0}.audit-row code{overflow-wrap:anywhere;font-size:8px}.audit-head{text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:8px;font-weight:850}.consent-status form{margin:0}@media (max-width:1150px){.audit-head{display:none}.audit-row{border:1px solid var(--line);border-radius:10px;grid-template-columns:1fr auto;margin-bottom:8px;padding:11px}.audit-row>strong{grid-area:1/1/auto/-1}.audit-row>code{grid-column:1/-1}.consent-admin-history>div{grid-template-columns:1fr 1fr}.consent-admin-history>div>div{grid-column:1/-1}}@media (max-width:650px){.consent-admin-form{grid-template-columns:1fr}.consent-wide{grid-column:auto}.audit-filter{flex-direction:column;align-items:stretch}.audit-filter select{width:100%;min-width:0}}
