:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,sans-serif;color:#2d1956;background:#fbf8fd;font-synthesis:none;--pink:#df3e8b;--pink2:#f3a4cc;--purple:#6a2d82;--ink:#291a57;--muted:#827594;--line:#eadfed}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 80% 0,#fdeaf5 0,transparent 28%),linear-gradient(180deg,#fff,#fbf8fd 75%)}button,input,select,textarea{font:inherit}button{cursor:pointer}.center{height:100vh;display:grid;place-items:center}.loginPage{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at 18% 10%,#fde7f2,transparent 30%),linear-gradient(145deg,#fff,#faf2fb)}.loginCard{width:390px;background:#fff;padding:32px;border-radius:26px;border:1px solid var(--line);box-shadow:0 28px 90px #713b7e22}.loginLogo{width:160px;height:160px;object-fit:contain;display:block;margin:0 auto 5px}.loginCard h1{text-align:center;margin:0;font-size:25px;color:#5b1f65}.loginCard p{text-align:center;margin:6px 0 25px;color:#8b7c98}.loginCard label,.formGrid label{display:flex;flex-direction:column;gap:7px;font-size:13px;color:#6f5d77}.loginCard label{margin:14px 0}.loginCard input,.formGrid input,.formGrid select,.formGrid textarea,.toolbar input{border:1px solid #dfd3e5;border-radius:11px;padding:11px 13px;background:#fff;color:#30243a}.loginCard input:focus,.formGrid input:focus,.formGrid select:focus,.toolbar input:focus{outline:3px solid #f8dce9;border-color:#e478aa}.primary{background:linear-gradient(135deg,#e84292,#cd2d78);color:#fff!important;border:0!important;padding:13px 18px;border-radius:13px;box-shadow:0 10px 26px #d93c842d;font-weight:750}.error{background:#fff0f4;color:#a12652;padding:10px 12px;border-radius:9px;margin:10px 0}.appShell{display:flex;min-height:100vh}.sidebar{width:305px;background:linear-gradient(180deg,#fff9fd,#faecf7 64%,#fff);border-right:1px solid #eadfeb;position:fixed;inset:0 auto 0 0;display:flex;flex-direction:column;color:#543568}.brand{height:175px;display:grid;place-items:center;border-bottom:1px solid #efe5ef}.brand img{width:150px;height:150px;object-fit:contain}.globalNav{padding:15px 10px 5px;display:grid;gap:5px}.globalNav button{border:0;background:transparent;color:#654c75;padding:13px 22px;border-radius:13px;text-align:left;font-size:16px;display:flex;gap:16px;align-items:center}.globalNav button:hover{background:#f9e5f1}.globalNav button.active{background:linear-gradient(90deg,#f6cde2,#f2dced);color:#d3327d;font-weight:800;box-shadow:inset 5px 0 #df3d88}.sideTitle{font-size:12px;color:#9b8ba4;padding:14px 21px 8px;text-transform:uppercase;display:flex;justify-content:space-between;align-items:center}.sideTitle span{background:#f5dfeb;color:#c53378;border-radius:999px;padding:2px 7px;font-size:11px}.classList{padding:0 10px 8px;overflow-y:auto;flex:1;min-height:100px;max-height:none}.classList button{width:100%;text-align:left;border:0;color:#65556f;background:transparent;border-radius:11px;padding:11px 13px;margin-bottom:4px;display:flex;flex-direction:column;gap:4px}.classList button:hover,.classList button.active{background:#fbe8f3;color:#c72e76}.classList small{color:#9b8ca4}.sidebarSlogan{margin:auto 24px 18px;color:#d95d9a;font-family:Georgia,serif;font-style:italic;line-height:1.6;font-size:17px}.sidebarFooter{padding:16px 20px;border-top:1px solid #eadfeb;display:flex;justify-content:space-between;align-items:center;background:#fff8fc}.sidebarFooter div{display:flex;flex-direction:column}.sidebarFooter small{color:#94869d}.sidebarFooter button{background:transparent;border:0;color:#5b355f;border-radius:8px;padding:7px 8px}.main{margin-left:305px;width:calc(100% - 305px);min-height:100vh;padding:0}.topbar{height:92px;background:#ffffffd9;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid #ebdfef;display:flex;justify-content:space-between;align-items:center;padding:0 38px}.topbar>div{display:flex;flex-direction:column}.topbar b{font-size:21px;color:#5b1d63}.topbar small{color:#9b8ea7;margin-top:4px}.topbar>span{color:#8c7d9d}.mainCard{margin:34px 28px 0;background:#ffffffed;border:1px solid #eadfed;border-radius:22px;box-shadow:0 20px 60px #6f3b7d14;padding:26px}header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;gap:18px}header h1{margin:0;font-size:38px;line-height:1.05;color:#2a1b60;letter-spacing:-1px}header p{margin:8px 0 0;color:#807293;font-size:17px}.toolbar{display:flex;gap:10px;margin-bottom:14px}.toolbar input{width:470px;padding:13px 15px}.toolbar button,.actions button,.modalActions button,.paymentTop button,.tableWrap button{border:1px solid #ecdfea;border-radius:10px;background:#fff6fb;padding:9px 12px;color:#b52c6c}.card{background:#fff;border-radius:17px;border:1px solid #eadfed}.tableWrap{overflow:auto;min-height:390px}table{width:100%;border-collapse:collapse;min-width:850px}th,td{text-align:left;padding:15px 16px;border-bottom:1px solid #f0e6f0;font-size:14px;vertical-align:middle}th{font-size:13px;color:#38265d;background:linear-gradient(180deg,#fff7fb,#fdf0f7)}td small{display:block;color:#999;margin-top:3px}td select{border:1px solid #e6d9e7;border-radius:8px;padding:6px}.actions{display:flex;gap:7px}.notice{position:fixed;top:108px;right:28px;z-index:40;background:#4f2b64;color:#fff;padding:11px 15px;border-radius:12px;box-shadow:0 15px 40px #3a214b33}.emptyState{height:290px;display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center;gap:8px;color:#80718f}.emptyState .dancerIcon{font-size:64px;color:#efa4ca}.emptyState b{font-size:20px;color:#39225f}.emptyState span{font-size:14px}.bottomSlogan{height:120px;margin:0 28px;display:flex;align-items:flex-end;justify-content:flex-end;padding:0 20px 18px;color:#d95b99;font-family:Georgia,serif;font-style:italic;font-size:19px;background:radial-gradient(70% 70% at 80% 100%,#f6c9e32f,transparent 70%)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#4b2d5a55;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);display:grid;place-items:center;padding:24px;z-index:50}.modal{width:min(660px,95vw);max-height:90vh;overflow:auto;background:#fff;border-radius:20px;padding:22px;box-shadow:0 30px 90px #3a214b44}.modal.wide{width:min(1050px,96vw)}.modalHead{display:flex;justify-content:space-between;align-items:center;margin-bottom:18px}.modalHead h2{margin:0;font-size:22px;color:#391d5e}.close{border:0;background:#faedf4;border-radius:50%;width:34px;height:34px;font-size:22px;color:#7e5478}.formGrid{display:grid;grid-template-columns:1fr 1fr;gap:14px}.span2{grid-column:1/-1}.formGrid textarea{min-height:75px;resize:vertical}.modalActions{display:flex;justify-content:flex-end;gap:9px;margin-top:20px}.paymentTop{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}.paymentTop div{display:flex;flex-direction:column}.paymentTop small,.muted{color:#888}.editor{margin-top:20px;border-top:1px solid #eee;padding-top:18px}.editor h3{margin-top:0}@media (max-width:900px){.sidebar{width:225px}.main{margin-left:225px;width:calc(100% - 225px)}.brand{height:145px}.brand img{width:120px;height:120px}.globalNav button{padding:11px 15px}.mainCard{margin:20px 14px}.topbar{padding:0 18px}header{flex-direction:column}.toolbar input{width:100%}.formGrid{grid-template-columns:1fr}.span2{grid-column:auto}}.headerActions{display:flex;align-items:flex-end;justify-content:flex-end;gap:10px;flex-wrap:wrap}.setupButtons{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.softButton{border:1px solid #efd8e7;background:#fff6fb;color:#b62f70;padding:11px 13px;border-radius:12px;font-weight:700}.softButton:hover{background:#fbe8f3;border-color:#e9bfd7}.setupHint{background:#fff4fa;border:1px solid #f1d7e6;border-radius:11px;padding:11px 13px;color:#8b5674;font-size:13px}@media (max-width:1100px){.headerActions{width:100%;justify-content:flex-start}.setupButtons{justify-content:flex-start}}.sidebar{overflow:hidden}.classList{flex:1!important;min-height:100px!important;max-height:none!important;overflow-y:auto!important;padding-bottom:10px!important}.classList::-webkit-scrollbar{width:7px}.classList::-webkit-scrollbar-thumb{background:#e9c2d8;border-radius:10px}.classList::-webkit-scrollbar-track{background:transparent}.classListEmpty{padding:14px 12px;color:#a18ea8;font-size:13px}.sideTitle{flex:0 0 auto}.sidebarSlogan{margin:12px 24px 14px!important;flex:0 0 auto}.sidebarFooter{flex:0 0 auto}.classNavGroup{display:block}.classNavParent{position:relative;width:100%}.classNavArrow{margin-left:auto;font-size:25px;line-height:1;color:#a9859e;transition:transform .18s ease}.classNavArrow.open{transform:rotate(90deg)}.classNavChildren{margin:-2px 8px 7px 25px;padding:4px 0 4px 10px;border-left:2px solid #efd3e2;max-height:290px;overflow-y:auto}.classNavChildren::-webkit-scrollbar{width:6px}.classNavChildren::-webkit-scrollbar-thumb{background:#e7bfd5;border-radius:10px}.classNavEmpty{padding:9px 10px;color:#a18fa7;font-size:13px}.globalNav .classNavItem{width:100%;display:flex;align-items:flex-start;gap:8px;border:0;background:transparent;padding:9px 10px;border-radius:10px;color:#715879;text-align:left}.globalNav .classNavItem:hover{background:#fbeaf4}.globalNav .classNavItem.selected{background:#f7dce9;color:#c72f75;box-shadow:none}.classNavDot{width:7px;height:7px;border-radius:50%;background:#d7aec4;margin-top:7px;flex:0 0 auto}.classNavItem.selected .classNavDot{background:#df3d88}.classNavText{display:flex;flex-direction:column;gap:2px;min-width:0}.classNavText strong{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.classNavText small{font-size:11px;color:#9d8da4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar{height:100vh!important;display:flex!important;flex-direction:column!important;overflow:hidden!important}.brand{flex:0 0 auto!important}.globalNav{flex:1 1 auto!important;min-height:0!important;overflow-y:auto!important;overflow-x:hidden!important;padding-bottom:12px!important;scrollbar-width:thin;scrollbar-color:#e3bad2 transparent}.globalNav::-webkit-scrollbar{width:7px}.globalNav::-webkit-scrollbar-thumb{background:#e3bad2;border-radius:10px}.globalNav::-webkit-scrollbar-track{background:transparent}.classNavChildren{max-height:none!important;overflow:visible!important}.sidebarSlogan{flex:0 0 auto!important;margin:10px 24px 12px!important}.sidebarFooter{flex:0 0 auto!important;margin-top:0!important;position:relative!important;bottom:auto!important;background:#fffffff0!important;border-top:1px solid #eadfeb!important;box-shadow:0 -8px 24px #5b2d720d!important;z-index:5!important}.mainCard header h1{font-size:32px!important;line-height:1.16!important;letter-spacing:-.5px!important;margin-bottom:8px!important;max-width:680px!important;word-break:break-word!important}@media (max-height:760px){.sidebarSlogan{display:none!important}}@media (max-width:900px){.mainCard header h1{font-size:27px!important}}.brand{height:150px!important;padding:10px 20px!important}.brand img{width:132px!important;height:132px!important;object-fit:contain!important}body{font-size:14px!important}.globalNav button{font-size:15px!important}.classNavText strong{font-size:13px!important}.classNavText small{font-size:10.5px!important}.topbar h2,.topbar strong{font-size:18px!important}.mainCard header h1{font-size:25px!important;line-height:1.15!important;margin-bottom:7px!important;letter-spacing:-.3px!important}.mainCard header p{font-size:15px!important}.mainCard th,.mainCard td,.primary,.softButton{font-size:13px!important}.search input,.studentSearch input{font-size:14px!important}.studentsPage .studentPageTitle{font-size:25px!important}.studentToolbar{display:flex;gap:12px;align-items:center;margin:18px 0 16px}.studentSearch{flex:1}.studentSearch input{width:100%;padding:13px 15px;border:1px solid #e4d5e6;border-radius:12px;outline:none;background:#fff;color:#4c3a59}.studentSearch input:focus{border-color:#e889b3;box-shadow:0 0 0 3px #fbeaf3}.studentTableWrap{border:1px solid #eadfea;border-radius:16px;overflow:auto;background:#fff}.studentTableWrap table{width:100%;min-width:980px;border-collapse:collapse}.studentTableWrap th{background:#fff2f8;color:#4c315e;text-align:left;padding:14px 15px}.studentTableWrap td{border-top:1px solid #f1e7f1;padding:14px 15px;color:#5c4a67}.addressCell{max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.rowAction{border:1px solid #efd4e3;background:#fff6fb;color:#c52f74;border-radius:10px;padding:8px 11px}.studentsEmpty{padding:42px;text-align:center;color:#9a8aa3}.brand{height:132px!important}.brand img{width:112px!important;height:112px!important}.mainCard header h1{font-size:22px!important;line-height:1.15!important}.mainCard header p{font-size:14px!important}.studentPageTitle{font-size:22px!important}.filterBar,.paymentFilters{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:18px 0 16px}.filterBar select,.paymentFilters select,.filterBar input,.paymentFilters input{border:1px solid #e4d5e6;border-radius:11px;padding:10px 12px;background:#fff;color:#4f3b59;outline:none}.filterBar>select{min-width:250px}.filterBar label,.paymentFilters label{display:flex;align-items:center;gap:6px;color:#8a7793;font-size:12px}.paymentFilters>input{min-width:280px;flex:1}.paymentFilters select{min-width:160px}.ghostButton{border:0;background:transparent;color:#9b7190;padding:9px 10px}.scheduleTable,.paymentsTable{min-width:920px}.schedulePage header h1,.paymentsPage header h1{font-size:22px!important}.scheduleTable td strong,.paymentsTable td strong{color:#392154}@media (max-width:900px){.filterBar,.paymentFilters{align-items:stretch}.filterBar>*,.paymentFilters>*{width:100%!important;min-width:0!important}}.dashboardPage{display:grid;gap:18px}.dashboardHero{background:linear-gradient(135deg,#fff,#fff4fa);border:1px solid #eadfea;border-radius:20px;padding:24px 26px;display:flex;justify-content:space-between;gap:20px;align-items:center}.dashboardHero .eyebrow{font-size:10px;letter-spacing:.18em;color:#c6538d;font-weight:800}.dashboardHero h1{font-size:24px;margin:4px 0;color:#311b60}.dashboardHero p{margin:0;color:#887791;font-size:13px}.heroActions{display:flex;gap:10px;flex-wrap:wrap}.kpiGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.kpiCard{border:1px solid #eadfea;background:#fff;border-radius:18px;padding:18px;text-align:left;display:flex;flex-direction:column;gap:4px;color:#594361;box-shadow:0 8px 25px #5b2d720a}.kpiCard span{font-size:12px;color:#927e99}.kpiCard strong{font-size:25px;color:#34205f;line-height:1.15}.kpiCard small{font-size:11px;color:#a08fa5}.dashboardGrid,.reportGrid,.settingsGrid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.panel{background:#fff;border:1px solid #eadfea;border-radius:18px;padding:18px;min-width:0}.panelHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:14px}.panelHead h2{font-size:16px;margin:0;color:#3b255e}.panelHead p{font-size:11px;color:#9a8aa3;margin:3px 0 0}.panelHead button{border:0;background:transparent;color:#c53276;font-size:12px}.miniEmpty{padding:28px 8px;text-align:center;color:#a594aa;font-size:12px}.timeline{display:grid}.timelineItem{display:grid;grid-template-columns:58px 1fr;gap:12px;padding:11px 0;border-top:1px solid #f1e8f0}.timelineItem:first-child{border-top:0}.timelineItem time{color:#c73478;font-weight:800;font-size:13px}.timelineItem div,.recentRow div{display:flex;flex-direction:column;gap:2px}.timelineItem strong,.recentRow strong{font-size:13px;color:#493253}.timelineItem span,.recentRow span{font-size:11px;color:#9b8aa2}.recentList{display:grid}.recentRow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;border-top:1px solid #f1e8f0}.recentRow:first-child{border-top:0}.recentRow>b{font-size:12px;color:#34205f;white-space:nowrap}.capacityList{display:grid;grid-template-columns:1fr 1fr;gap:6px 22px}.capacityRow{display:grid;grid-template-columns:1fr 130px;gap:12px;align-items:center;padding:10px 0;border-top:1px solid #f1e8f0}.capacityRow:nth-child(-n+2){border-top:0}.capacityRow>div:first-child{display:flex;flex-direction:column;gap:2px}.capacityRow strong{font-size:12px;color:#4b3655}.capacityRow span{font-size:10px;color:#9c8ca2}.capacityMetric>span{display:block;text-align:right;font-size:10px;color:#886e91}.capacityMetric>div{height:6px;background:#f4e6ef;border-radius:9px;overflow:hidden;margin-top:5px}.capacityMetric i{display:block;height:100%;background:linear-gradient(90deg,#e85d9f,#d63882);border-radius:9px}.reportKpis{margin:14px 0 18px}.miniTable{width:100%;border-collapse:collapse}.miniTable th,.miniTable td{padding:10px 8px;border-top:1px solid #f1e8f0;text-align:left;font-size:11px}.miniTable th{color:#8b7894;background:transparent}.miniTable td{color:#584762}.infoList{display:grid;margin-bottom:14px}.infoList>div{display:flex;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px solid #f1e8f0}.infoList span{font-size:11px;color:#9a899f}.infoList strong{font-size:12px;color:#493453}.infoList.compact{grid-template-columns:1fr 1fr;gap:0 18px;margin-top:16px}.settingsActions{display:flex;gap:9px;flex-wrap:wrap}.dangerButton{border:1px solid #f1cbd8;background:#fff6f8;color:#bb355f;border-radius:10px;padding:9px 12px}.masterGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.masterGrid h3{font-size:13px;color:#563762;margin:0 0 8px}.masterRow{display:flex;justify-content:space-between;gap:12px;padding:9px 0;border-top:1px solid #f1e8f0}.masterRow strong{font-size:11px;color:#4e3957}.masterRow span{font-size:10px;color:#9a8a9f;text-align:right}.settingsNote{margin-top:14px;padding:12px 14px;background:#fff7fb;border:1px solid #f1d8e5;border-radius:12px;color:#846b7d;font-size:11px;line-height:1.55}@media (max-width:1100px){.kpiGrid{grid-template-columns:1fr 1fr}.dashboardGrid,.reportGrid,.settingsGrid{grid-template-columns:1fr}.widePanel{grid-column:auto}.capacityList{grid-template-columns:1fr}.capacityRow:nth-child(2){border-top:1px solid #f1e8f0}.masterGrid{grid-template-columns:1fr}}@media (max-width:700px){.kpiGrid{grid-template-columns:1fr}.dashboardHero{align-items:flex-start;flex-direction:column}}.rowActions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.payButton{border:1px solid #f0c9dc;background:#fff4fa;color:#c72f75;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:700}.payButton:hover{background:#f9e0ed}select:disabled{background:#f7f2f6;color:#776879;cursor:not-allowed}.viewPayButton{border:1px solid #ded3e8;background:#fff;color:#6c587c;border-radius:9px;padding:7px 10px;font-size:12px;font-weight:700}.viewPayButton:hover{background:#f8f4fb}.paymentSummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:0 20px 16px}.paymentSummary>div{background:#fff6fb;border:1px solid #f0d9e6;border-radius:12px;padding:12px;display:flex;flex-direction:column;gap:4px}.paymentSummary span{font-size:11px;color:#9a8495}.paymentSummary strong{font-size:14px;color:#472b59}.studentPaymentTableWrap{margin:0 20px;border:1px solid #eadfea;border-radius:14px;overflow:auto}.studentPaymentTable{width:100%;min-width:720px;border-collapse:collapse}.studentPaymentTable th{background:#fff3f8;color:#4f3560;text-align:left;font-size:12px;padding:11px 12px}.studentPaymentTable td{border-top:1px solid #f1e7f0;padding:11px 12px;font-size:12px;color:#5c4a66}@media (max-width:800px){.paymentSummary{grid-template-columns:1fr 1fr}}.actions{display:flex!important;gap:7px!important;align-items:center!important;flex-wrap:wrap!important}.actions button{white-space:nowrap}.payButton{border:1px solid #f0c9dc!important;background:#fff2f8!important;color:#c72f75!important;border-radius:8px!important;padding:6px 9px!important;font-size:11px!important;font-weight:700!important}.viewPayButton{border:1px solid #ddd1e5!important;background:#fff!important;color:#6d587b!important;border-radius:8px!important;padding:6px 9px!important;font-size:11px!important;font-weight:700!important}.termBar{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:10px 12px;border:1px solid #eaddea;background:#fffafd;border-radius:14px}.termBarLabel{flex:0 0 auto;font-size:12px;font-weight:800;color:#8c7595}.termTabs{display:flex;gap:7px;flex-wrap:wrap;min-width:0}.termTab{border:1px solid #ecd4e2;background:#fff;color:#755d7f;border-radius:999px;padding:8px 13px;font-size:12px;font-weight:700;white-space:nowrap}.termTab:hover{background:#fff1f8;color:#c43276}.termTab.active{background:linear-gradient(135deg,#e64991,#d3317c);border-color:#d3317c;color:#fff;box-shadow:0 7px 16px #d3317c29}@media (max-width:900px){.termBar{align-items:flex-start;flex-direction:column}.termTabs{width:100%;overflow-x:auto;flex-wrap:nowrap;padding-bottom:3px}}.termSwitcher{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:10px 12px;background:#fff8fc;border:1px solid #ead8e5;border-radius:14px}.termSwitcherLabel{flex:0 0 auto;color:#7b6485;font-size:12px;font-weight:800}.termSwitcherTabs{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.termSwitch{border:1px solid #e9cfde;background:#fff;color:#705878;border-radius:999px;min-height:34px;padding:7px 14px;font-size:12px;font-weight:700;cursor:pointer}.termSwitch:hover{background:#fff0f7;color:#c53276}.termSwitch.active{background:linear-gradient(135deg,#e3478d,#d3317c);border-color:#d3317c;color:#fff;box-shadow:0 6px 14px #d3317c29}.noTerms{color:#a18fa6;font-size:12px}@media (max-width:900px){.termSwitcher{align-items:flex-start;flex-direction:column}.termSwitcherTabs{width:100%;flex-wrap:nowrap;overflow-x:auto;padding-bottom:3px}}.enrollStatus{display:inline-flex;align-items:center;justify-content:center;min-width:54px;height:30px;padding:0 10px;border-radius:999px;font-size:12px;font-weight:750;background:#edf7f1;color:#347455}.enrollStatus.SUSPENDED{background:#fff4df;color:#9a6a18}.enrollStatus.CANCELLED{background:#f6e9ee;color:#9a516a}.paymentStatus{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;font-size:16px;font-weight:900;line-height:1}.paymentStatus.paid{background:#e8f6ee;color:#2f8a58}.paymentStatus.unpaid{background:#fbeaec;color:#c24c62}.brand{height:126px!important;padding:8px 18px!important}.brand img{width:106px!important;height:106px!important}.globalNav button{font-size:14px!important;padding:10px 18px!important}.classNavText strong{font-size:12px!important}.classNavText small{font-size:10px!important}.sidebarSlogan{font-size:14px!important}.mainCard header h1,.dashboardHero h1{font-size:22px!important;line-height:1.18!important;letter-spacing:-.2px!important}.mainCard header p{font-size:13px!important}.topbar{height:78px!important}.topbar b{font-size:17px!important}.mainCard{margin-top:24px!important}.bottomSlogan{height:82px!important;font-size:16px!important}.actions{display:flex!important;align-items:center!important;gap:7px!important;flex-wrap:wrap!important}.actions button,.rowAction{height:34px!important;min-width:78px!important;padding:0 10px!important;border:1px solid #ead6e3!important;border-radius:9px!important;background:#fff8fc!important;color:#a82c69!important;font-size:11px!important;font-weight:700!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;white-space:nowrap!important}.actions .payButton{background:#fff0f7!important;color:#c42f74!important;border-color:#edc6d9!important}.actions .viewPayButton{background:#fff!important;color:#665271!important;border-color:#ddd3e3!important}.actions .dangerText{color:#a94860!important;background:#fff7f8!important;border-color:#efcfd7!important}.modalActions{display:flex!important;justify-content:flex-end!important;align-items:center!important;gap:10px!important}.modalActions button{min-width:92px!important;height:40px!important;padding:0 16px!important;border-radius:10px!important;font-size:13px!important;font-weight:700!important;display:inline-flex!important;align-items:center!important;justify-content:center!important}.modalActions button:not(.primary){background:#fff7fb!important;color:#b82e70!important;border:1px solid #eac9da!important}.modalActions .primary{background:linear-gradient(135deg,#df3d87,#bd2869)!important;color:#fff!important;border:1px solid #bd2869!important;box-shadow:0 7px 17px #be286929!important}.modalActions .primary:disabled{background:#e7d3de!important;color:#806a78!important;border-color:#dbc3d0!important;box-shadow:none!important;opacity:1!important}.termSwitcher{display:flex;align-items:center;gap:12px;margin:0 0 14px;padding:9px 11px;background:#fff8fc;border:1px solid #ead8e5;border-radius:13px}.termSwitcherLabel{flex:0 0 auto;color:#7b6485;font-size:11px;font-weight:800}.termSwitcherTabs{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.termSwitch{border:1px solid #e9cfde;background:#fff;color:#705878;border-radius:999px;min-height:32px;padding:6px 12px;font-size:11px;font-weight:700}.termSwitch.active{background:linear-gradient(135deg,#e3478d,#d3317c);border-color:#d3317c;color:#fff;box-shadow:0 6px 14px #d3317c24}.enrollStatus{display:inline-flex;align-items:center;justify-content:center;min-width:50px;height:28px;padding:0 9px;border-radius:999px;font-size:11px;font-weight:750;background:#eaf6ef;color:#347455}.enrollStatus.SUSPENDED{background:#fff2da;color:#966518}.enrollStatus.CANCELLED{background:#f5e8ed;color:#945068}.paymentStatus{display:inline-flex;align-items:center;justify-content:center;width:27px;height:27px;border-radius:50%;font-size:15px;font-weight:900}.paymentStatus.paid{background:#e7f5ed;color:#2c8a56}.paymentStatus.unpaid{background:#fbe9ec;color:#c2475d}.dashboardPage{margin:24px 28px 0;display:grid;gap:15px}.dashboardHero{background:linear-gradient(135deg,#fff,#fff4fa);border:1px solid #eadfea;border-radius:20px;padding:21px 24px;display:flex;justify-content:space-between;gap:20px;align-items:center}.dashboardHero .eyebrow{font-size:9px;letter-spacing:.18em;color:#c6538d;font-weight:800}.dashboardHero h1{margin:5px 0 3px;color:#311b60}.dashboardHero p{margin:0;color:#887791;font-size:12px}.kpiGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.kpiCard{border:1px solid #eadfea;background:#fff;border-radius:16px;padding:16px;text-align:left;display:flex;flex-direction:column;gap:3px;color:#594361;box-shadow:0 8px 25px #5b2d720a}button.kpiCard:hover{transform:translateY(-1px);border-color:#e8bfd4}.kpiCard span{font-size:11px;color:#927e99}.kpiCard strong{font-size:22px;color:#34205f;line-height:1.15}.kpiCard small{font-size:10px;color:#a08fa5}.kpiCard.warning strong{color:#cb3c79}.kpiCard.static{cursor:default}.reminderGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.panel{background:#fff;border:1px solid #eadfea;border-radius:16px;padding:16px;min-width:0}.panelHead{display:flex;justify-content:space-between;gap:12px;align-items:flex-start;margin-bottom:12px}.panelHead h2{font-size:14px;margin:0;color:#3b255e}.panelHead p{font-size:10px;color:#9a8aa3;margin:3px 0 0}.panelHead button{border:0;background:transparent;color:#c53276;font-size:11px}.miniEmpty{padding:22px 8px;text-align:center;color:#a594aa;font-size:11px}.reminderList{display:grid;gap:7px}.reminderList>div{padding:8px 9px;border-radius:9px;background:#fff8fc;color:#67536f;font-size:11px;border:1px solid #f2e7ef}.segTabs{display:flex;gap:6px;margin:0 0 15px;padding:4px;background:#f8edf4;border-radius:12px;width:max-content;max-width:100%;overflow:auto}.segTabs button{border:0;background:transparent;color:#7a667f;border-radius:9px;padding:8px 13px;font-size:11px;font-weight:700;white-space:nowrap}.segTabs button.active{background:#fff;color:#c33176;box-shadow:0 4px 12px #713b7e14}.filterBar,.paymentFilters{display:flex;align-items:center;gap:9px;flex-wrap:wrap;margin:14px 0}.filterBar select,.filterBar input,.paymentFilters select,.paymentFilters input,.blockLabel select,.headerActions select{border:1px solid #e2d5e4;border-radius:10px;padding:9px 11px;background:#fff;color:#493950;outline:none;font-size:12px}.filterBar label,.paymentFilters label{display:flex;align-items:center;gap:5px;color:#8b7892;font-size:11px}.paymentFilters>input{min-width:260px;flex:1}.filterBar button,.paymentFilters button{border:1px solid #ead5e2;background:#fff7fb;color:#ac2f6c;border-radius:10px;padding:9px 12px;font-size:11px}.attendanceLayout{display:grid;grid-template-columns:250px 1fr;gap:14px}.schedulePicker{border:1px solid #eadfea;border-radius:14px;background:#fffafd;padding:8px;min-height:360px}.schedulePicker button{width:100%;border:0;background:transparent;text-align:left;border-radius:10px;padding:10px;display:flex;flex-direction:column;gap:3px;color:#66516f}.schedulePicker button.selected{background:#f7dfea;color:#c52f75}.schedulePicker button strong{font-size:12px}.schedulePicker button span{font-size:10px;color:#9b899f}.attendanceRoster{border:1px solid #eadfea;border-radius:14px;background:#fff;min-height:360px;padding:14px}.attendanceTop{display:flex;justify-content:space-between;gap:12px;align-items:center;padding-bottom:12px;border-bottom:1px solid #f0e6ef}.attendanceTop>div:first-child{display:flex;flex-direction:column}.attendanceTop b{font-size:13px;color:#4b3357}.attendanceTop span{font-size:10px;color:#9c8ca3}.attendanceTop>div:last-child{display:flex;gap:7px}.attendanceTop button{border:1px solid #ead5e2;background:#fff8fc;color:#a72d69;border-radius:9px;padding:8px 10px;font-size:11px}.attendanceRows{display:grid}.attendanceRow{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:11px 3px;border-bottom:1px solid #f2e9f1}.attendanceRow>div:first-child{display:flex;flex-direction:column}.attendanceRow strong{font-size:12px;color:#4b3753}.attendanceRow span{font-size:10px;color:#998a9e}.attendanceChoices{display:flex;gap:6px}.attendanceChoices .att{border:1px solid #e6dbe7;background:#fff;color:#76637b;border-radius:9px;padding:7px 10px;font-size:10px}.attendanceChoices .att.PRESENT.active{background:#e7f5ec;color:#287d4c;border-color:#bcdcc9}.attendanceChoices .att.LEAVE.active{background:#fff2da;color:#996818;border-color:#ebd09d}.attendanceChoices .att.ABSENT.active{background:#fbe8ec;color:#ad4059;border-color:#eac0ca}.trialBadge{display:inline-flex;padding:5px 8px;border-radius:999px;font-size:10px;font-weight:750}.trialBadge.PENDING{background:#fff2d9;color:#916319}.trialBadge.CONVERTED{background:#e8f6ed;color:#2e8050}.trialBadge.NOT_CONVERTED{background:#f4edf0;color:#825a69}.teacherGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.teacherCard{position:relative;display:grid;grid-template-columns:45px 1fr auto;gap:12px;align-items:center;padding:16px;border:1px solid #eadfea;border-radius:15px;background:#fff}.teacherAvatar{width:45px;height:45px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(135deg,#f4c9df,#fceaf3);color:#c73276;font-weight:800;font-size:17px}.teacherInfo{display:flex;flex-direction:column;gap:3px}.teacherInfo strong{color:#452e51;font-size:13px}.teacherInfo span,.teacherInfo div{color:#98879e;font-size:10px}.teacherCard>button{border:1px solid #ead5e2;background:#fff7fb;color:#ad2f6c;border-radius:9px;padding:7px 10px;font-size:10px}.teacherClasses{grid-column:2/-1;display:flex;gap:5px;flex-wrap:wrap}.teacherClasses span{background:#f8eef4;color:#785e7d;border-radius:999px;padding:4px 7px;font-size:9px}.editorSection{margin-top:18px;padding-top:16px;border-top:1px solid #eee4ed}.editorSection h3{font-size:13px;color:#4d3458;margin:0 0 12px}.paymentContext{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:14px}.paymentContext span{background:#fff2f8;color:#9d4772;border-radius:999px;padding:6px 9px;font-size:10px}.paymentSummary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-bottom:14px}.paymentSummary>div{background:#fff6fb;border:1px solid #f0d9e6;border-radius:11px;padding:10px;display:flex;flex-direction:column;gap:3px}.paymentSummary span{font-size:10px;color:#9a8495}.paymentSummary strong{font-size:12px;color:#472b59}.studentPaymentTableWrap{border:1px solid #eadfea;border-radius:12px;overflow:auto}.studentPaymentTableWrap table{min-width:700px}.blockLabel{display:flex;flex-direction:column;gap:7px;font-size:12px;color:#6f5d77}.blockLabel select{width:100%}.reportGrid,.settingsGrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.widePanel{grid-column:1/-1}.infoList{display:grid}.infoList>div{display:flex;justify-content:space-between;gap:10px;padding:9px 0;border-top:1px solid #f1e8f0}.infoList>div:first-child{border-top:0}.infoList span{font-size:10px;color:#99889e}.infoList strong{font-size:11px;color:#4b3655}.infoList.compact{grid-template-columns:1fr 1fr;gap:0 15px;margin-top:12px}.miniTable{width:100%;border-collapse:collapse;min-width:0}.miniTable th,.miniTable td{padding:9px 8px;border-top:1px solid #f1e8f0;text-align:left;font-size:10px}.miniTable th{color:#897691;background:transparent}.settingsActions{display:flex;gap:7px;flex-wrap:wrap}.settingsActions button{border:1px solid #ead5e2;background:#fff7fb;color:#ad2f6c;border-radius:9px;padding:8px 10px;font-size:10px}.settingsNote{padding:11px 13px;background:#fff7fb;border:1px solid #f1d8e5;border-radius:11px;color:#846b7d;font-size:10px;line-height:1.55}.auditList{display:grid;max-height:300px;overflow:auto}.auditRow{display:grid;grid-template-columns:130px 130px 1fr;gap:10px;padding:9px 0;border-top:1px solid #f1e8f0;font-size:10px;align-items:center}.auditRow:first-child{border-top:0}.auditRow time{color:#98879d}.auditRow span{color:#5b465f}.auditRow code{font-size:9px;color:#7e6684;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}@media (max-width:1150px){.reminderGrid,.kpiGrid{grid-template-columns:1fr 1fr}.attendanceLayout,.teacherGrid,.reportGrid,.settingsGrid{grid-template-columns:1fr}.widePanel{grid-column:auto}}@media (max-width:760px){.reminderGrid,.kpiGrid{grid-template-columns:1fr}.paymentSummary{grid-template-columns:1fr 1fr}.attendanceTop,.attendanceRow{align-items:flex-start;flex-direction:column}.auditRow{grid-template-columns:1fr}.termSwitcher{align-items:flex-start;flex-direction:column}.termSwitcherTabs{width:100%;overflow-x:auto;flex-wrap:nowrap}.dashboardPage{margin:16px 12px 0}}.sidebar{padding-top:14px!important}.brand,.brandBlock{display:none!important}.globalNav{padding-top:6px!important}.topbar{min-height:72px!important}.mainCard,.dashboardPage{margin-top:4px!important}.mainCard table{table-layout:auto!important}.mainCard th,.mainCard td{white-space:nowrap}.mainCard th:first-child,.mainCard td:first-child{min-width:120px}.mainCard th:last-child,.mainCard td:last-child{min-width:260px}@media (min-width:1100px){.sidebar{width:250px!important}.main{margin-left:250px!important;width:calc(100% - 250px)!important}}.classHeaderActions{display:flex;align-items:flex-end;justify-content:flex-end;gap:12px;flex-wrap:wrap}.classSetupActions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.classSetupActions .softButton{min-height:38px;padding:0 13px;white-space:nowrap}.classRosterTable{width:100%!important;table-layout:fixed!important;border-collapse:collapse}.classRosterTable col.colStudent{width:14%}.classRosterTable col.colEnroll{width:11%}.classRosterTable col.colPaid,.classRosterTable col.colFee{width:10%}.classRosterTable col.colCycle{width:12%}.classRosterTable col.colStart{width:13%}.classRosterTable col.colActions{width:30%}.classRosterTable th,.classRosterTable td{vertical-align:middle!important;white-space:normal!important}.classRosterTable td:first-child b{display:block}.classRosterTable td:first-child small{display:block;margin-top:4px}.classRosterTable .actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.classRosterTable .actions button{min-width:88px;min-height:36px;white-space:nowrap}@media (max-width:1200px){.classHeaderActions{width:100%;justify-content:flex-start}.classSetupActions{justify-content:flex-start}.classRosterTable{min-width:980px}}.studentsTable{width:100%;table-layout:fixed;border-collapse:collapse}.studentsTable th:nth-child(1){width:16%}.studentsTable th:nth-child(2){width:8%}.studentsTable th:nth-child(3){width:14%}.studentsTable th:nth-child(4){width:15%}.studentsTable th:nth-child(5){width:12%}.studentsTable th:nth-child(6){width:20%}.studentsTable th:nth-child(7){width:15%}.studentsTable th,.studentsTable td{vertical-align:middle;white-space:normal}.studentsTable td:last-child{text-align:left}
