:root{--bg: #f4f7fb;--panel: #ffffff;--panel-soft: #f8fafc;--panel-strong: #eef2f7;--text: #142033;--muted: #687386;--line: #e4e9f1;--primary: #5b5cf0;--primary-strong: #4848d8;--green: #19b873;--green-soft: #eafaf2;--purple-soft: #f0efff;--danger: #ef5261;--danger-soft: #fff0f2;--warn: #efa825;--warn-soft: #fff8e8;--sidebar: #121a2b;--sidebar-2: #172238;--shadow-sm: 0 8px 24px rgba(28, 39, 61, .07);--shadow: 0 18px 50px rgba(28, 39, 61, .1);--shadow-lg: 0 28px 90px rgba(14, 24, 42, .24);--radius-sm: 12px;--radius: 18px;--radius-lg: 24px}body.dark{--bg: #09101d;--panel: #111a2b;--panel-soft: #151f31;--panel-strong: #1b273b;--text: #eef3fb;--muted: #9aa8bd;--line: #26354c;--purple-soft: rgba(91, 92, 240, .16);--green-soft: rgba(25, 184, 115, .14);--danger-soft: rgba(239, 82, 97, .14);--warn-soft: rgba(239, 168, 37, .14);--shadow-sm: 0 8px 24px rgba(0, 0, 0, .18);--shadow: 0 20px 60px rgba(0, 0, 0, .28)}*{box-sizing:border-box}html,body,#root{width:100%;min-height:100%}html{background:var(--bg)}body{margin:0;min-width:320px;overflow-x:hidden;background:radial-gradient(circle at 10% 0,rgba(25,184,115,.09),transparent 28rem),radial-gradient(circle at 90% 0,rgba(91,92,240,.1),transparent 30rem),var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px;line-height:1.48;-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button{-webkit-tap-highlight-color:transparent}html.menuOpen,body.menuOpen{overflow:hidden}.app{display:grid;grid-template-columns:250px minmax(0,1fr);min-height:100dvh}.sidebar{position:sticky;top:0;z-index:40;height:100dvh;min-width:0;padding:16px 13px;display:flex;flex-direction:column;gap:14px;overflow:hidden;color:#f7f9fd;background:radial-gradient(circle at 15% 8%,rgba(25,184,115,.2),transparent 12rem),radial-gradient(circle at 88% 0,rgba(91,92,240,.25),transparent 15rem),linear-gradient(180deg,var(--sidebar),var(--sidebar-2));box-shadow:14px 0 40px #0d162714}.brand,.mobileBrand{display:flex;align-items:center;gap:11px;min-width:0}.brand{padding:2px 6px 8px}.brandText,.mobileBrand>div:last-child,.miniUser>div:last-child{min-width:0}.brand b,.mobileBrand b,.miniUser b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:14px;letter-spacing:-.01em}.brand span,.mobileBrand span,.miniUser span{display:block;margin-top:1px;color:#aeb9cc;font-size:10.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.logo,.avatar,.loginMark{display:grid;place-items:center;color:#fff;background:linear-gradient(135deg,#1dcf85,#6c63ff);box-shadow:0 12px 30px #5b5cf047;font-weight:950}.logo{width:38px;height:38px;flex:0 0 38px;border-radius:14px}.avatar{width:34px;height:34px;flex:0 0 34px;border-radius:12px}.sideNav{display:flex;flex:1 1 auto;flex-direction:column;gap:4px;min-height:0;overflow-y:auto;padding:2px 2px 10px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.18) transparent}.sideNav a{display:flex;align-items:center;gap:10px;min-height:39px;padding:8px 10px;border:1px solid transparent;border-radius:13px;color:#dbe3f0;text-decoration:none;font-weight:720;transition:background .18s ease,color .18s ease,transform .18s ease,border-color .18s ease}.sideNav a:hover{background:#ffffff12;color:#fff;transform:translate(2px)}.sideNav a.active{color:#fff;border-color:#ffffff1a;background:linear-gradient(135deg,#19b87338,#5b5cf042);box-shadow:inset 0 0 0 1px #ffffff08}.navIcon{width:19px;height:19px;flex:0 0 19px;fill:currentColor}.sideBottom{margin-top:auto}.sideBtns{display:grid;grid-template-columns:1fr 1fr;gap:8px}.theme,.logout{min-height:40px;border:1px solid rgba(255,255,255,.08);border-radius:12px;background:#ffffff12;color:#f7f9fd;display:inline-flex;align-items:center;justify-content:center;gap:6px;font-size:12px;font-weight:850;cursor:pointer;transition:.18s ease}.theme:hover,.logout:hover{background:#ffffff21;transform:translateY(-1px)}.sideIcon{width:18px;height:18px;display:inline-grid;place-items:center}.miniUser{display:flex;align-items:center;gap:10px;margin-top:9px;padding:10px;border:1px solid rgba(255,255,255,.08);border-radius:15px;background:#ffffff0f}.drawerClose,.mobileTopbar,.mobileNavOverlay{display:none}.mainContent{min-width:0;width:100%;padding:25px clamp(16px,2.25vw,34px) 34px;overflow-x:hidden}.pageHead{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin-bottom:16px}.pageHead>*{min-width:0}.pageHead h1{margin:0;font-size:clamp(22px,1.9vw,29px);line-height:1.12;letter-spacing:-.035em}.pageHead p{margin:5px 0 0;color:var(--muted);font-size:12px}.card{min-width:0;border:1px solid var(--line);border-radius:var(--radius-lg);padding:16px;background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:var(--shadow-sm)}.grid{display:grid;gap:14px;min-width:0}.grid.cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin-bottom:16px}.grid.two{grid-template-columns:minmax(0,1fr) minmax(0,1.15fr)}.cards>.card{position:relative;overflow:hidden;min-height:101px;display:flex;flex-direction:column;justify-content:center}.cards>.card:after{content:"";position:absolute;right:-34px;top:-42px;width:100px;height:100px;border-radius:999px;background:linear-gradient(135deg,#19b87314,#5b5cf01a)}.cards .card span{position:relative;z-index:1;color:var(--muted);font-size:11px;font-weight:700}.cards .card b{position:relative;z-index:1;margin-top:6px;font-size:18px;line-height:1.25;letter-spacing:-.02em;word-break:break-word}.muted{color:var(--muted)}.loading{min-height:100dvh;display:grid;place-items:center;color:var(--muted);font-weight:800}.toolbar{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;align-items:center;margin-bottom:14px}.toolbar>*{width:100%;min-width:0}.searchBox .input{padding-right:42px}.input,.select,.textarea{width:100%;min-width:0;border:1px solid var(--line);border-radius:12px;outline:none;color:var(--text);background:var(--panel-soft);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.input,.select{height:40px;padding:0 11px}.textarea{min-height:77px;padding:9px 11px;resize:vertical;line-height:1.45}.textarea.compactArea{min-height:54px;max-height:86px}.input::placeholder,.textarea::placeholder{color:#9aa6b7}.input:focus,.select:focus,.textarea:focus{border-color:#5b5cf0b8;background-color:var(--panel);box-shadow:0 0 0 4px #5b5cf01a}.select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5.5 7.5 10 12l4.5-4.5' stroke='%2369758a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 12px center;background-size:15px 15px;background-repeat:no-repeat;cursor:pointer}.field{display:flex;flex-direction:column;gap:6px;min-width:0;color:var(--muted);font-size:12px}.field>span{color:var(--muted);font-weight:820}.field.wide,.wide{grid-column:1 / -1}.field em{color:#d92d3d;font-size:11px;font-style:normal;line-height:1.25}.field.hasError .input,.field.hasError .select,.field.hasError .textarea{border-color:#ef5261;box-shadow:0 0 0 3px #ef526114}.inputIcon,.inputSuffix{position:relative;min-width:0}.inputIcon .input{padding-right:46px}.inputIcon button{position:absolute;right:6px;top:6px;width:32px;height:32px;border:0;border-radius:10px;color:var(--text);background:var(--panel-strong);cursor:pointer}.inputSuffix .input{padding-right:38px}.inputSuffix>span{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-weight:900;color:var(--muted);pointer-events:none}.clear{position:absolute;top:7px;right:7px;width:30px;height:30px;border:0;border-radius:9px;color:var(--muted);background:var(--panel-strong);cursor:pointer}.btn{display:inline-flex;align-items:center;justify-content:center;text-align:center;min-height:38px;padding:8px 13px;border:0;border-radius:12px;color:#fff;background:linear-gradient(135deg,#19b873,#5b5cf0);box-shadow:0 10px 24px #5b5cf029;font-weight:900;white-space:nowrap;cursor:pointer;transition:transform .16s ease,filter .16s ease,opacity .16s ease}.btn:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.02)}.btn:active:not(:disabled){transform:translateY(0)}.btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.btn.ghost{color:var(--primary-strong);background:var(--purple-soft);box-shadow:none;border:1px solid rgba(91,92,240,.12)}.btn.danger{color:#fff;background:linear-gradient(135deg,#ff6d78,#e93e51);box-shadow:0 10px 22px #ef526129}.btn.mini{min-height:36px;padding:7px 10px;font-size:12px}.spinner{width:17px;height:17px;display:inline-block;border:2px solid rgba(255,255,255,.5);border-top-color:#fff;border-radius:50%;animation:spin .65s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.rowSplit{display:flex;align-items:center;gap:10px;min-width:0}.rowSplit>*{min-width:0}.actions{display:flex;justify-content:flex-end;gap:9px;margin-top:16px}.textButton{border:0;background:transparent;color:var(--primary);font-weight:850;cursor:pointer;padding:8px}.checkLine,.presenceCheck{display:inline-flex;align-items:center;gap:8px;color:var(--text);font-weight:800}.checkLine input,.presenceCheck input{width:18px;height:18px;accent-color:var(--green)}.tabs,.groupMode{display:flex;gap:8px;overflow-x:auto;margin:0 0 14px;padding:2px 0;scrollbar-width:none}.tabs::-webkit-scrollbar,.groupMode::-webkit-scrollbar{display:none}.tabs button,.groupMode button{flex:0 0 auto;min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;color:var(--text);background:var(--panel);font-size:12.5px;font-weight:900;cursor:pointer}.tabs button.active,.groupMode button.active{color:#fff;border-color:transparent;background:linear-gradient(135deg,#19b873,#5b5cf0)}.badge,.debtMark{display:inline-flex;align-items:center;justify-content:center;width:fit-content;max-width:100%;border-radius:999px;font-weight:900;line-height:1.1}.badge{padding:6px 9px;color:var(--primary-strong);background:var(--purple-soft);font-size:11px}.badge.ok,.debtMark.ok{color:#08794b;background:var(--green-soft)}.badge.warn{color:#9a6500;background:var(--warn-soft)}.badge.bad,.debtMark.bad{color:#c63040;background:var(--danger-soft)}.debtMark{flex:0 0 auto;padding:4px 8px;font-size:10px}input.pickerInput{appearance:auto;-webkit-appearance:auto;color-scheme:light;padding-right:10px}body.dark input.pickerInput{color-scheme:dark}input.pickerInput::-webkit-calendar-picker-indicator{display:block!important;width:18px;height:18px;margin:0 0 0 8px;padding:2px;opacity:1!important;cursor:pointer;border-radius:6px;background-color:color-mix(in srgb,var(--primary) 10%,transparent)}input.pickerInput::-webkit-calendar-picker-indicator:hover{background-color:color-mix(in srgb,var(--primary) 18%,transparent)}.topAligned{align-items:center}.monthControl{width:min(210px,100%);min-width:170px}.noLabelControl{align-items:center}.attendanceTopForm{align-items:end}.tableWrap{width:100%;min-width:0;overflow-x:auto;border:1px solid var(--line);border-radius:16px;background:var(--panel);-webkit-overflow-scrolling:touch}table{width:100%;min-width:760px;border-collapse:collapse;table-layout:fixed}th,td{padding:11px;border-bottom:1px solid var(--line);text-align:left;vertical-align:middle;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}th{color:var(--muted);background:var(--panel-soft);font-size:10.5px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}td{font-size:13px}tbody tr{cursor:pointer;transition:background .14s ease}tbody tr:last-child td{border-bottom:0}tbody tr:hover td{background:color-mix(in srgb,var(--green-soft) 52%,transparent)}.smartText{display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom}.dateStack span,.dateStack small{display:block}.dateStack span{font-weight:750}.dateStack small{color:var(--muted);font-size:10.5px}.rowActions{display:flex;align-items:center;justify-content:center;gap:7px;min-width:0}.iconBtn{width:32px;height:32px;flex:0 0 32px;display:inline-grid;place-items:center;padding:0;border:1px solid rgba(91,92,240,.14);border-radius:11px;color:var(--primary-strong);background:var(--purple-soft);cursor:pointer;transition:transform .16s ease,box-shadow .16s ease}.iconBtn:hover{transform:translateY(-1px);box-shadow:0 10px 24px #5b5cf024}.iconBtn.danger{color:#d53647;border-color:#ef52612e;background:var(--danger-soft)}.iconBtn svg{width:17px;height:17px;fill:currentColor}.empty{padding:30px 14px;color:var(--muted);text-align:center}.pagination{margin-top:14px;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.pageInfo{color:var(--muted);white-space:nowrap}.pagerGroup{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:7px;margin-left:auto}.pager{display:flex;align-items:center;gap:3px;max-width:100%;padding:3px;border:1px solid var(--line);border-radius:12px;background:var(--panel-soft);overflow-x:auto}.pager .btn{min-width:31px;min-height:31px;padding:4px 7px}.pageNum{min-width:31px;min-height:31px;padding:4px 7px;border:0;border-radius:8px;color:var(--text);background:transparent;font-weight:900;cursor:pointer}.pageSizeSelect{width:92px;min-width:92px;height:34px;padding-left:9px;padding-right:28px;font-size:11px;border-radius:10px}.pageNum.active{color:#fff;background:linear-gradient(135deg,#19b873,#5b5cf0)}.modalShade{position:fixed;inset:0;z-index:200;display:grid;place-items:center;padding:20px;overflow:hidden;overscroll-behavior:contain;background:#080f1c9e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .16s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.modal{width:min(820px,100%);max-height:min(88dvh,900px);display:flex;flex-direction:column;overflow:hidden;padding:16px;border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--panel);box-shadow:var(--shadow-lg)}.modal.wide{width:min(1120px,100%)}.modalBody{flex:1 1 auto;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable}.modalHead{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.modalHead h3{margin:0;font-size:16px;letter-spacing:-.02em}.modalHead button{width:38px;height:38px;flex:0 0 38px;border:0;border-radius:11px;color:var(--text);background:var(--panel-strong);font-size:22px;cursor:pointer}.formGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:11px;margin-bottom:13px}.detailList{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.detailList>div{min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:var(--panel-soft)}.detailList span{display:block;color:var(--muted);font-size:10.5px;font-weight:780}.detailList b{display:block;margin-top:3px;color:var(--text);font-size:13px;word-break:break-word}.miniCard{min-width:0;margin:7px 0;padding:11px;border:1px solid var(--line);border-radius:14px;background:var(--panel-soft)}.miniCard b,.miniCard span,.miniCard small{display:block;min-width:0}.miniCard small{margin-top:3px;color:var(--muted)}.miniCard.strike{opacity:.68}.miniCard.strike b{text-decoration:line-through}.clickable{cursor:pointer}.pretty{max-height:52dvh;overflow:auto;padding:12px;border-radius:13px;background:var(--panel-soft);white-space:pre-wrap}.error,.errorBox,.okMsg,.alert,.inlineWarning{margin:10px 0;padding:10px 12px;border-radius:12px;border:1px solid var(--line)}.error,.errorBox,.inlineWarning{color:#c63040;border-color:#ef52613d;background:var(--danger-soft)}.okMsg,.alert.ok{color:#08794b;border-color:#19b87338;background:var(--green-soft)}.alert.info{color:var(--primary-strong);border-color:#5b5cf02e;background:var(--purple-soft)}.alert.bad{color:#c63040;border-color:#ef52613d;background:var(--danger-soft)}.toast{position:fixed;left:50%;top:18px;z-index:500;transform:translate(-50%);width:min(390px,calc(100vw - 24px));min-width:0;overflow:hidden;display:flex;align-items:center;gap:10px;padding:13px 44px 15px 13px;border:1px solid rgba(25,184,115,.2);border-radius:16px;background:var(--panel);box-shadow:var(--shadow-lg);animation:toastDrop .2s ease both}@keyframes toastDrop{0%{opacity:0;transform:translate(-50%,-10px) scale(.98)}to{opacity:1;transform:translate(-50%) scale(1)}}.toastIcon{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:50%;color:#08794b;background:var(--green-soft);font-weight:950}.toast b{display:block;font-size:13px}.toast span{display:block;margin-top:1px;color:var(--muted);font-size:10.5px}.toast>button{position:absolute;top:8px;right:8px;width:28px;height:28px;border:0;border-radius:9px;color:var(--text);background:var(--panel-strong);cursor:pointer}.toastProgress{position:absolute;left:0;bottom:0;height:3px;background:linear-gradient(90deg,#19b873,#5b5cf0);animation:toastBar 7s linear forwards}@keyframes toastBar{0%{width:100%}to{width:0}}.entitySearch{position:relative;min-width:0}.picked{margin-top:6px;color:var(--muted);font-size:12px}.suggestions{position:absolute;left:0;right:0;top:50px;z-index:250;max-height:270px;overflow:auto;padding:6px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow)}.suggestions button{width:100%;padding:9px 10px;border:0;border-radius:10px;color:var(--text);background:transparent;text-align:left;cursor:pointer}.suggestions button:hover{background:var(--panel-soft)}.suggestions small{display:block;color:var(--muted)}.pickedTransfer{display:grid;gap:5px;margin-top:10px;padding:13px;border:1px solid var(--line);border-radius:15px;background:var(--purple-soft)}.pickedTransfer span{color:var(--muted);font-size:10px;font-weight:900;text-transform:uppercase}.pickedTransfer b{font-size:15px}.pickedTransfer small{color:var(--muted)}.pickedTransfer .btn{justify-self:start;margin-top:4px}.nameWithReminder,.nameWithBadge,.groupNameDebt,.studentDebtFirst{display:inline-flex;align-items:center;gap:7px;min-width:0;max-width:100%}.studentNameWrap{min-width:0;max-width:190px}.bellWrap{position:relative;display:inline-flex;flex:0 0 auto}.bellBtn{width:22px;height:22px;padding:0;border:0;border-radius:50%;color:#fff;cursor:default}.bellBtn.green{background:#15965f}.bellBtn.yellow{background:#dc9214}.bellBtn.red{background:#d83b4b}.bellRemove{position:absolute;right:-7px;top:-8px;width:17px;height:17px;padding:0;border:0;border-radius:50%;color:#fff;background:#182236;font-size:10px;cursor:pointer}.dashboardCards{grid-template-columns:repeat(auto-fit,minmax(190px,1fr))}.dashboardSection{margin-top:18px}.dashboardSection h2{margin:0 0 12px;font-size:18px;letter-spacing:-.02em}.countPanel h3{margin:0 0 11px}.countList{display:grid;gap:8px}.countList>div{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px;border:1px solid var(--line);border-radius:12px;background:var(--panel-soft)}.countList b{font-size:15px}.scheduleBox,.scheduleList,.groupStats{display:grid;gap:9px}.scheduleHead{display:grid;grid-template-columns:1.1fr 1fr 1.4fr .7fr;gap:12px;padding:0 12px 8px;color:var(--muted);border-bottom:1px solid var(--line);font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.04em}.scheduleItem{display:grid;grid-template-columns:1.1fr 1fr 1.4fr .7fr;gap:12px;align-items:center;padding:12px;border:1px solid var(--line);border-radius:14px;background:var(--panel-soft)}.scheduleTime{color:var(--primary-strong);font-size:13px;font-weight:950}.scheduleItem b,.courseTeacher{font-size:13px}.groupStatItem{display:grid;grid-template-columns:1.25fr .6fr .9fr .9fr .9fr .7fr;gap:10px;align-items:center;padding:11px 12px;border:1px solid var(--line);border-radius:14px;background:var(--panel-soft)}.statHeader.groupStatItem{color:var(--muted);background:transparent;border:0;border-bottom:1px solid var(--line);border-radius:0;font-size:10px;font-weight:950;text-transform:uppercase}.groupStatItem small{display:block;margin-top:2px;color:var(--muted)}.groupNameDebt{display:grid;grid-template-columns:auto minmax(0,1fr);align-items:start}.groupInside{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}.detailHeader{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.studentLine{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:center}.studentInfo{min-width:0}.studentActions{display:flex;gap:7px}.attendanceStudentsScroll{max-height:58dvh;overflow:auto;padding-right:3px}.attendanceGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(82px,1fr));gap:8px}.lessonCell{position:relative;min-height:70px;padding:8px;border:1px solid var(--line);border-radius:13px;color:var(--text);background:var(--panel-soft);cursor:pointer}.lessonCell small,.lessonCell span{display:block}.lessonCell span{margin:3px 0;font-size:18px;font-weight:950}.lessonCell.done{border-color:#19b87357;background:var(--green-soft)}.lessonCell.missed{border-color:#ef526140;background:var(--danger-soft)}.lessonCell.future{opacity:.72}.lessonCell.frozen{opacity:.66;cursor:not-allowed;border-style:dashed;background:repeating-linear-gradient(135deg,var(--panel-soft),var(--panel-soft) 8px,var(--panel-strong) 8px,var(--panel-strong) 16px)}.frozenFlag{position:absolute;left:6px;top:5px;font-style:normal;font-size:12px}.todayFlag{position:absolute;right:5px;top:5px;font-style:normal;font-size:12px}.attendanceRows{display:grid;gap:9px}.attendanceRow{display:grid;grid-template-columns:minmax(150px,1.4fr) 115px 92px 92px minmax(140px,1.1fr);gap:9px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:13px;background:var(--panel-soft)}.attendanceRow>b{min-width:0}.attendanceRow .input{height:40px}.attendanceNote,.noteInput{width:100%!important;min-width:0!important;max-width:100%!important}.attendanceRow .noteInput:focus{width:100%!important;min-width:0!important}.balanceUseBox{display:grid;grid-template-columns:1fr 1fr minmax(150px,190px);gap:10px;align-items:center;padding:11px;border:1px dashed var(--line);border-radius:14px;background:var(--panel-soft)}.login{min-height:100dvh;display:grid;place-items:center;padding:22px;background:radial-gradient(circle at 8% 12%,rgba(25,184,115,.24),transparent 26rem),radial-gradient(circle at 92% 0,rgba(91,92,240,.24),transparent 30rem),linear-gradient(135deg,#f7fbfa,#f4f5ff 56%,#f7f9fc)}body.dark .login{background:radial-gradient(circle at 8% 12%,rgba(25,184,115,.14),transparent 26rem),radial-gradient(circle at 92% 0,rgba(91,92,240,.16),transparent 30rem),var(--bg)}.loginShell{width:min(936px,100%);min-height:min(594px,calc(100dvh - 44px));display:grid;grid-template-columns:minmax(0,1.05fr) minmax(342px,.95fr);overflow:hidden;border:1px solid rgba(255,255,255,.55);border-radius:27px;background:#ffffff8c;box-shadow:0 30px 90px #25304929}body.dark .loginShell{border-color:var(--line);background:#111a2bb3}.loginHero{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:center;padding:clamp(32px,4.5vw,61px);color:#fff;background:radial-gradient(circle at 10% 8%,rgba(25,184,115,.45),transparent 15rem),radial-gradient(circle at 92% 14%,rgba(111,103,255,.58),transparent 19rem),linear-gradient(145deg,#101a2e,#1b2842)}.loginHero:after{content:"";position:absolute;right:-70px;bottom:-90px;width:270px;height:270px;border:1px solid rgba(255,255,255,.12);border-radius:50%;box-shadow:0 0 0 35px #ffffff09,0 0 0 75px #ffffff06}.loginMark{width:52px;height:52px;border-radius:16px;margin-bottom:22px;font-size:22px}.loginEyebrow{color:#83e6bb;font-size:11px;font-weight:950;letter-spacing:.12em}.loginHero h2{position:relative;z-index:1;max-width:414px;margin:11px 0;font-size:clamp(28px,3.6vw,43px);line-height:1.04;letter-spacing:-.05em}.loginHero p{position:relative;z-index:1;max-width:450px;margin:0;color:#c3cede;font-size:13px}.loginFeatureGrid{position:relative;z-index:1;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:27px}.loginFeatureGrid>div{padding:10px;border:1px solid rgba(255,255,255,.09);border-radius:12px;background:#ffffff0f}.loginFeatureGrid b,.loginFeatureGrid span{display:block}.loginFeatureGrid b{color:#83e6bb;font-size:11px}.loginFeatureGrid span{margin-top:2px;font-size:11px;font-weight:760}.loginCard{width:100%;min-width:0;display:flex;flex-direction:column;justify-content:center;padding:clamp(23px,3.6vw,47px);border:0;border-radius:0;background:var(--panel);box-shadow:none}.loginBrand{display:inline-flex;align-items:center;align-self:flex-start;gap:9px;min-width:0;margin-bottom:18px;padding:7px 10px;border:1px solid var(--line);border-radius:999px;background:var(--panel-soft);box-shadow:var(--shadow-sm);white-space:nowrap}.loginBrandTitle{color:var(--text);font-size:12px;font-weight:950;letter-spacing:-.02em}.loginBrandDivider{width:1px;height:14px;flex:0 0 1px;background:var(--line-strong)}.loginBrandAuthor{color:var(--primary);font-size:11px;font-weight:900}.loginCardHead{margin-bottom:20px}.loginCardHead .loginEyebrow{color:var(--primary)}.loginCard h1{margin:7px 0 6px;font-size:clamp(24px,2.7vw,32px);line-height:1.1;letter-spacing:-.04em}.loginCard p{margin:0;color:var(--muted);font-size:13px}.loginForm{display:grid;gap:12px}.loginSubmit{width:100%;min-height:42px;margin-top:3px}.loginFooter{display:flex;align-items:center;justify-content:center;gap:8px;flex-wrap:wrap}.otpInfo{display:flex;align-items:center;gap:9px;padding:10px;border:1px solid rgba(91,92,240,.14);border-radius:12px;background:var(--purple-soft)}.otpInfo>span{width:31px;height:31px;flex:0 0 31px;display:grid;place-items:center;border-radius:9px;background:var(--panel)}.otpInfo b,.otpInfo small{display:block}.otpInfo small{margin-top:1px;color:var(--muted)}.otpInput{height:49px;text-align:center;font-size:22px;font-weight:950;letter-spacing:.36em;font-variant-numeric:tabular-nums;padding-left:calc(11px + .36em)}@media(max-width:1280px){.app{grid-template-columns:220px minmax(0,1fr)}.sidebar{padding-left:11px;padding-right:11px}.mainContent{padding:20px 16px 29px}.groupInside,.grid.two{grid-template-columns:1fr}.scheduleHead,.scheduleItem{grid-template-columns:1fr 1fr 1.2fr .6fr}.groupStatItem{grid-template-columns:1.2fr .6fr repeat(3,.9fr) .7fr}}@media(max-width:1024px){.app{display:block;min-height:100dvh}.mobileTopbar{position:sticky;top:0;z-index:120;width:100%;min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:max(9px,env(safe-area-inset-top)) 14px 9px;color:#fff;background:#121a2bf5;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);box-shadow:0 8px 28px #0e182a2e}.mobileBrand{min-width:0}.mobileBrand .logo{width:40px;height:40px;flex-basis:40px;border-radius:13px}.mobileMenuButton{width:44px;height:44px;flex:0 0 44px;display:grid;place-content:center;gap:5px;border:1px solid rgba(255,255,255,.12);border-radius:13px;background:#94a3b83d;cursor:pointer}.mobileMenuButton span{width:20px;height:2px;border-radius:3px;background:#fff}.mobileNavOverlay{position:fixed;inset:0;z-index:180;display:block;border:0;background:#070d1894;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.mobileNavOverlay.show{opacity:1;visibility:visible}.sidebar{position:fixed;left:0;top:0;z-index:220;width:min(360px,88vw);height:100dvh;padding:max(15px,env(safe-area-inset-top)) 12px max(15px,env(safe-area-inset-bottom));transform:translate(-105%);transition:transform .24s ease;box-shadow:24px 0 70px #060c1757}.sidebar.open{transform:translate(0)}.drawerClose{margin-left:auto;width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border:1px solid rgba(255,255,255,.1);border-radius:11px;color:#fff;background:#94a3b83d;font-size:23px;cursor:pointer}.mainContent{width:100%;padding:18px 14px calc(30px + env(safe-area-inset-bottom))}.pageHead{align-items:center}.monthControl{width:min(210px,100%)}.toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.toolbar .searchBox{grid-column:1 / -1}.dashboardCards{grid-template-columns:repeat(3,minmax(0,1fr))}.attendanceRow{grid-template-columns:minmax(150px,1fr) 110px 1fr 1fr}.attendanceRow>b,.attendanceRow .attendanceNote{grid-column:1 / -1}.login{padding:16px}.loginShell{min-height:min(700px,calc(100dvh - 32px));grid-template-columns:minmax(0,.85fr) minmax(360px,1fr);border-radius:24px}.loginHero{padding:34px}.loginFeatureGrid{grid-template-columns:1fr}}@media(max-width:820px){.pageHead{align-items:stretch;flex-direction:column;gap:11px}.pageHead>.btn{align-self:flex-start}.pageHead .rowSplit{width:100%}.pageHead .rowSplit>*{flex:1 1 0}.pageHead .monthControl{width:100%;min-width:0}.attendanceTopForm{grid-template-columns:1fr 1fr}.attendanceTopForm .wide{grid-column:1 / -1}.grid.cards,.dashboardCards,.toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.formGrid,.detailList{grid-template-columns:1fr}.field.wide,.wide{grid-column:auto}.modalShade{align-items:end;padding:10px}.modal,.modal.wide{width:100%;max-height:92dvh;border-radius:22px 22px 14px 14px;padding:14px}.modalHead{position:sticky;top:-14px;z-index:4;margin:-14px -14px 12px;padding:12px 14px 9px;border-bottom:1px solid var(--line);background:var(--panel)}.tableWrap{overflow:visible;border:0;background:transparent}.tableWrap table,.tableWrap thead,.tableWrap tbody,.tableWrap tr,.tableWrap td{display:block;width:100%;min-width:0}.tableWrap table{background:transparent}.tableWrap thead{display:none}.tableWrap tbody{display:grid;gap:9px}.tableWrap tr{padding:10px 11px;border:1px solid var(--line);border-radius:15px;background:var(--panel);box-shadow:var(--shadow-sm)}.tableWrap td{display:grid;grid-template-columns:minmax(130px,34%) minmax(0,1fr);gap:10px;align-items:center;padding:8px 0;border:0;white-space:normal;overflow:visible;text-overflow:clip;font-size:14px}.tableWrap td:before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.03em}.tableWrap td:last-child{padding-top:10px;border-top:1px solid var(--line)}.tableWrap td:last-child .rowActions{justify-content:flex-start}.tableWrap .smartText{white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word}.actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.actions .btn{width:100%}.scheduleHead,.statHeader.groupStatItem{display:none}.scheduleItem{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.scheduleItem>div,.scheduleItem>span{min-width:0}.scheduleItem>:nth-child(1):before,.scheduleItem>:nth-child(2):before,.scheduleItem>:nth-child(3):before,.scheduleItem>:nth-child(4):before{display:block;margin-bottom:2px;color:var(--muted);font-size:9.5px;font-weight:900;text-transform:uppercase}.scheduleItem>:nth-child(1):before{content:"Dars vaqti"}.scheduleItem>:nth-child(2):before{content:"Guruh"}.scheduleItem>:nth-child(3):before{content:"Kurs / ustoz"}.scheduleItem>:nth-child(4):before{content:"O‘quvchi"}.groupStatItem{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.groupStatItem>:nth-child(1){grid-column:1 / -1}.groupStatItem>:nth-child(n+2):before{display:block;margin-bottom:2px;color:var(--muted);font-size:9.5px;font-weight:900;text-transform:uppercase}.groupStatItem>:nth-child(2):before{content:"O‘quvchi"}.groupStatItem>:nth-child(3):before{content:"Kutilgan"}.groupStatItem>:nth-child(4):before{content:"Qoplangan"}.groupStatItem>:nth-child(5):before{content:"Qarzdorlik"}.groupStatItem>:nth-child(6):before{content:"Davomat"}.attendanceRow{grid-template-columns:1fr 1fr}.attendanceRow>b,.attendanceRow .attendanceNote{grid-column:1 / -1}.balanceUseBox{grid-template-columns:1fr 1fr}.balanceUseBox>:last-child{grid-column:1 / -1}.loginShell{min-height:0;grid-template-columns:1fr}.loginHero{min-height:220px;padding:28px}.loginHero h2{max-width:620px;font-size:32px}.loginHero p{max-width:650px}.loginFeatureGrid{grid-template-columns:repeat(3,1fr);margin-top:20px}.loginCard{padding:28px}}@media(max-width:640px){body{font-size:13px}.mobileTopbar{min-height:60px;padding:8px 10px}.mobileBrand span{display:none}.mobileBrand .logo{width:38px;height:38px;flex-basis:38px}.mobileMenuButton{width:42px;height:42px;flex-basis:42px}.mainContent{padding:13px 10px 26px}.pageHead{margin-bottom:13px}.pageHead h1{font-size:21px}.pageHead p{font-size:12px}.pageHead>.btn,.pageHead .rowSplit{width:100%}.pageHead>.btn{align-self:stretch}.pageHead .monthControl{width:100%}.attendanceTopForm{grid-template-columns:1fr}.attendanceTopForm .wide{grid-column:auto}.pageHead .rowSplit{display:grid;grid-template-columns:1fr}.card{padding:13px;border-radius:17px}.cards>.card{min-height:100px}.grid.cards,.dashboardCards{grid-template-columns:1fr;gap:9px}.toolbar{grid-template-columns:1fr;gap:8px}.toolbar .searchBox{grid-column:auto}.tabs button,.groupMode button{min-height:42px}.input,.select{height:42px;font-size:14px}.textarea{font-size:14px}.btn{min-height:40px}.actions{grid-template-columns:1fr}.modalShade{padding:5px}.modal,.modal.wide{max-height:95dvh;border-radius:18px 18px 10px 10px;padding:12px 12px max(12px,env(safe-area-inset-bottom))}.modalHead{top:-12px;margin:-12px -12px 10px;padding:10px 12px 8px}.tableWrap{overflow:visible;border:0;background:transparent}.tableWrap table,.tableWrap thead,.tableWrap tbody,.tableWrap tr,.tableWrap td{display:block;width:100%;min-width:0}.tableWrap table{background:transparent}.tableWrap thead{display:none}.tableWrap tbody{display:grid;gap:9px}.tableWrap tr{padding:10px 11px;border:1px solid var(--line);border-radius:15px;background:var(--panel);box-shadow:var(--shadow-sm)}.tableWrap td{display:grid;grid-template-columns:minmax(105px,38%) minmax(0,1fr);gap:9px;align-items:center;padding:8px 0;border:0;white-space:normal;overflow:visible;text-overflow:clip;font-size:14px}.tableWrap td:before{content:attr(data-label);color:var(--muted);font-size:10px;font-weight:950;text-transform:uppercase;letter-spacing:.03em}.tableWrap td:last-child{padding-top:10px;border-top:1px solid var(--line)}.tableWrap td:last-child .rowActions{justify-content:flex-start}.smartText{white-space:normal;overflow:visible;text-overflow:clip;word-break:break-word}.studentNameWrap{max-width:none}.rowActions{justify-content:flex-start;flex-wrap:wrap}.iconBtn{width:40px;height:40px;flex-basis:40px}.pagination{display:grid;grid-template-columns:1fr;justify-items:stretch}.pageInfo{text-align:center}.pagerGroup{width:100%;margin-left:0;justify-content:center}.pager{justify-content:center}.pageSizeSelect{width:88px;min-width:88px}.scheduleItem,.groupStatItem{grid-template-columns:1fr}.scheduleItem>:nth-child(1),.scheduleItem>:nth-child(2),.scheduleItem>:nth-child(3),.scheduleItem>:nth-child(4),.groupStatItem>:nth-child(n){grid-column:auto}.groupInside{grid-template-columns:1fr}.detailHeader{align-items:stretch;flex-direction:column}.detailHeader .btn{width:100%}.studentLine{grid-template-columns:1fr}.studentActions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.studentActions .btn{width:100%}.attendanceGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.attendanceRow{grid-template-columns:1fr;gap:8px}.attendanceRow>b,.attendanceRow .attendanceNote{grid-column:auto}.balanceUseBox{grid-template-columns:1fr}.balanceUseBox>:last-child{grid-column:auto}.suggestions{position:fixed;inset:auto 8px 8px;z-index:450;max-height:52dvh}.toast{top:9px;width:calc(100vw - 18px)}.login{display:block;min-height:100dvh;padding:0}.loginShell{width:100%;min-height:100dvh;border:0;border-radius:0;box-shadow:none}.loginHero{display:none}.loginCard{min-height:100dvh;padding:24px 16px;justify-content:center}.loginBrand{max-width:100%;margin-bottom:16px;padding:7px 9px;gap:8px}.loginBrandTitle{font-size:11.5px}.loginBrandAuthor{font-size:10.5px}.loginCard h1{font-size:30px}.loginFooter{flex-direction:column}.loginFooter .btn,.loginFooter .textButton{width:100%}.otpInput{font-size:23px;letter-spacing:.28em}}@media(max-width:390px){.sidebar{width:92vw}.mobileBrand b{font-size:13px}.mainContent{padding-left:8px;padding-right:8px}.card{padding:11px}.tableWrap td{grid-template-columns:1fr;gap:3px}.attendanceGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.studentActions{grid-template-columns:1fr}.loginBrand{white-space:normal;flex-wrap:wrap;border-radius:16px}.loginBrandDivider{display:none}.otpInput{font-size:21px;letter-spacing:.22em}}.loginHeroBrand{position:relative;z-index:2;display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0}.loginHeroBrandDivider{width:1px;height:13px;flex:0 0 1px;background:#ffffff47}.loginHeroAuthor,.brand .brandAuthor,.mobileBrand .brandAuthor{display:inline-flex;align-items:center;width:max-content;max-width:100%;margin-top:0;padding:3px 7px;border:1px solid rgba(131,230,187,.28);border-radius:999px;color:#dffcef;background:linear-gradient(135deg,#19b8732e,#5b5cf02e);box-shadow:inset 0 1px #ffffff14;font-size:9px;font-weight:950;line-height:1.15;letter-spacing:.07em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.loginHero h2{text-transform:uppercase;max-width:470px}.otpInput::placeholder{color:var(--muted);opacity:.82;font-size:12px;font-weight:760;letter-spacing:0;text-align:center}@media(max-width:640px){.mobileBrand .brandAuthor{display:inline-flex;max-width:150px;margin-top:2px;padding:2px 6px;font-size:8px}.loginShell{min-height:100dvh;grid-template-columns:1fr}.loginHero{display:flex;min-height:auto;padding:max(22px,env(safe-area-inset-top)) 18px 20px}.loginMark{width:44px;height:44px;margin-bottom:13px;border-radius:14px;font-size:19px}.loginHero h2{max-width:360px;margin:12px 0 16px;font-size:clamp(25px,8vw,32px);line-height:1.03}.loginFeatureGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin-top:0}.loginFeatureGrid>div{min-width:0;padding:8px;border-radius:11px}.loginFeatureGrid span{font-size:10px;line-height:1.25}.loginCard{min-height:auto;padding:22px 16px max(24px,env(safe-area-inset-bottom));justify-content:flex-start}.otpInput::placeholder{font-size:11.5px}}@media(max-width:390px){.loginHero{padding-left:14px;padding-right:14px}.loginHeroBrand{gap:6px}.loginHeroAuthor{font-size:8px;padding:3px 6px}.loginHero h2{font-size:24px}.loginFeatureGrid span{font-size:9.5px}.loginFeatureGrid>div{padding:7px 6px}}.logo,.loginMark{letter-spacing:-.08em;font-weight:980}.logo{font-size:12px}.loginMark{font-size:16px}.brandText,.mobileBrand>div:last-child{display:flex;align-items:center;gap:7px;min-width:0}.brand b,.mobileBrand b{display:inline-block;flex:0 0 auto;overflow:visible;text-overflow:clip}.brand .brandAuthor,.mobileBrand .brandAuthor{flex:0 1 auto;margin-top:0}.loginHeroTitle{display:grid;gap:5px;margin:15px 0 18px!important}.loginHeroTitleTop,.loginHeroTitleMain{display:block;position:relative;z-index:1}.loginHeroTitleTop{color:#dfe8f6;font-size:clamp(17px,2.1vw,24px);font-weight:820;line-height:1.05;letter-spacing:.02em}.loginHeroTitleMain{width:max-content;max-width:100%;color:#fff;font-size:clamp(29px,4vw,46px);font-weight:980;line-height:.98;letter-spacing:-.055em;white-space:nowrap;text-shadow:0 8px 28px rgba(0,0,0,.18)}.loginCard{position:relative;isolation:isolate}.loginCard:before{content:"";position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(circle at 100% 0,rgba(91,92,240,.08),transparent 20rem),radial-gradient(circle at 0 100%,rgba(25,184,115,.075),transparent 18rem)}.loginCardHead{margin-bottom:22px}.loginCardHead.otpMode{margin-bottom:15px}.loginWelcome{display:inline-flex;align-items:center;min-height:28px;padding:5px 10px;border:1px solid rgba(25,184,115,.18);border-radius:999px;background:linear-gradient(135deg,#19b8731a,#5b5cf012);box-shadow:inset 0 1px #ffffffbf;font-size:13px!important;letter-spacing:.11em}.loginCard h1{margin-top:10px}.loginForm{gap:14px}.loginForm .field{gap:7px}.loginForm .field>span{color:var(--text);font-size:12px;font-weight:900;letter-spacing:.01em}.loginForm .input,.loginForm .select{height:48px;border:1px solid rgba(101,111,132,.2);border-radius:14px;color:var(--text);background:linear-gradient(var(--panel),var(--panel)) padding-box,linear-gradient(135deg,#19b8732e,#5b5cf029) border-box;box-shadow:inset 0 1px #ffffffb8,0 8px 24px #222f490e;font-size:14px;font-weight:720;letter-spacing:.005em;caret-color:var(--primary);transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease,background .18s ease}body.dark .loginForm .input,body.dark .loginForm .select{box-shadow:inset 0 1px #ffffff0b,0 8px 24px #0000001f}.loginForm .input:hover,.loginForm .select:hover{border-color:#5b5cf052}.loginForm .input:focus,.loginForm .select:focus{border-color:#5b5cf08c;box-shadow:0 0 0 4px #5b5cf01a,0 12px 30px #2d385514;transform:translateY(-1px)}.loginForm .input::placeholder{color:#98a3b6;font-weight:650}.passwordField .input{padding-right:50px}.passwordToggle{width:34px!important;height:34px!important;right:7px!important;display:grid!important;place-items:center!important;border-radius:10px!important;color:var(--muted)!important;background:transparent!important;transition:color .18s ease,background .18s ease!important}.passwordToggle:hover{color:var(--primary)!important;background:var(--purple-soft)!important}.passwordToggle svg{width:19px;height:19px;fill:currentColor}.loginSubmit{min-height:47px;border-radius:14px;box-shadow:0 14px 30px #5b5cf02b;font-size:13px;font-weight:950;letter-spacing:.03em}.otpSuccessNotice{display:flex;align-items:center;gap:10px;padding:11px 12px;border:1px solid rgba(25,184,115,.24);border-radius:14px;color:var(--text);background:linear-gradient(135deg,#19b8731f,#5b5cf012);box-shadow:inset 0 1px #ffffffb3,0 8px 24px #1e50400f}.otpNoticeIcon{width:32px;height:32px;flex:0 0 32px;display:grid;place-items:center;border-radius:10px;color:#fff;background:linear-gradient(135deg,#1dcf85,#6c63ff);box-shadow:0 7px 18px #19b87338;font-size:14px;font-weight:950}.otpSuccessNotice b,.otpSuccessNotice small{display:block}.otpSuccessNotice b{font-size:12px;line-height:1.35}.otpSuccessNotice small{margin-top:2px;color:var(--muted);font-size:10.5px}.otpInput{height:54px!important;font-size:24px!important;letter-spacing:.32em!important;font-weight:980!important;font-variant-numeric:tabular-nums}.otpInput::placeholder{font-size:12px!important;font-weight:700!important;letter-spacing:0!important}@media(max-width:640px){.loginMark{font-size:14px}.loginHeroTitle{gap:4px;margin:12px 0 15px!important}.loginHeroTitleTop{font-size:clamp(14px,4.7vw,18px)}.loginHeroTitleMain{font-size:clamp(23px,7vw,31px)}.loginCardHead{margin-bottom:18px}.loginWelcome{min-height:26px;font-size:12px!important}.loginForm .input,.loginForm .select{height:47px;font-size:14px}.otpInput{height:52px!important;font-size:22px!important}}@media(max-width:390px){.brandText,.mobileBrand>div:last-child{gap:5px}.brand .brandAuthor,.mobileBrand .brandAuthor{padding:2px 5px;font-size:7.5px}.loginHeroTitleMain{font-size:clamp(21px,6.8vw,27px)}.loginForm .input,.loginForm .select{height:45px;border-radius:13px}.loginSubmit{min-height:45px}}.logo,.loginMark{overflow:hidden;padding:0;background:transparent;box-shadow:none}.logo img,.loginMark img{display:block;width:100%;height:100%;object-fit:contain;-webkit-user-select:none;user-select:none;-webkit-user-drag:none}.loginMark{width:56px;height:56px;border-radius:17px}.loginHeroTitleMain{width:auto;max-width:100%;font-size:clamp(25px,3.15vw,38px);font-weight:820;line-height:1.04;letter-spacing:-.035em;white-space:nowrap;text-shadow:0 6px 22px rgba(0,0,0,.14)}.loginHeroTitleTop{font-size:clamp(15px,1.65vw,20px);font-weight:760;letter-spacing:.055em}.loginForm .input,.loginForm .select{height:49px;border:1.5px solid #d8dfeb;border-radius:13px;color:#152033;background:transparent!important;box-shadow:none!important;font-size:14px;font-weight:700;letter-spacing:.003em;transition:border-color .16s ease,color .16s ease}.loginForm .input:hover,.loginForm .select:hover{border-color:#bcc6d7}.loginForm .input:focus,.loginForm .select:focus{border-color:#5b5cf0;outline:none;box-shadow:none!important;transform:none;background:transparent!important}.loginForm .input::placeholder{color:#98a3b5;font-weight:600;opacity:1}body.dark .loginForm .input,body.dark .loginForm .select{color:var(--text);border-color:#41506a;background:transparent!important;box-shadow:none!important}body.dark .loginForm .input:hover,body.dark .loginForm .select:hover{border-color:#60708d}body.dark .loginForm .input:focus,body.dark .loginForm .select:focus{border-color:#8586ff;box-shadow:none!important}.loginForm .field>span{margin-left:1px;font-size:11.5px;font-weight:850}.passwordToggle,.passwordToggle:hover{background:transparent!important;box-shadow:none!important}.passwordToggle:focus-visible{outline:2px solid rgba(91,92,240,.45);outline-offset:1px}.pageSizeControl{position:relative;width:94px;min-width:94px;height:34px;flex:0 0 94px}.pageSizeSelect{width:100%;min-width:0;height:100%;margin:0;padding:0 29px 0 10px;border-radius:10px;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:none!important;line-height:32px;vertical-align:middle;cursor:pointer}.pageSizeSelect::-ms-expand{display:none}.pageSizeChevron{position:absolute;top:50%;right:9px;width:14px;height:14px;transform:translateY(-50%);pointer-events:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;color:var(--muted)}.pageSizeControl:focus-within .pageSizeChevron{color:var(--primary)}@media(max-width:1024px){.loginHeroTitleMain{font-size:clamp(24px,4vw,35px)}}@media(max-width:640px){.loginMark{width:48px;height:48px;border-radius:15px}.loginHeroTitleMain{font-size:clamp(21px,6.25vw,28px);font-weight:790;letter-spacing:-.027em}.loginHeroTitleTop{font-size:clamp(13px,4.1vw,16px)}.loginForm .input,.loginForm .select{height:47px}.pageSizeControl{width:90px;min-width:90px;flex-basis:90px}}@media(max-width:390px){.loginHeroTitleMain{font-size:clamp(19px,6vw,24px)}.loginMark{width:44px;height:44px;border-radius:14px}}:root{--kaizen-brand-gradient: linear-gradient(100deg, #20d98a 0%, #0f172a 50%, #4f7cff 100%)}.loginForm .input,.loginForm .select,body.dark .loginForm .input,body.dark .loginForm .select{color:#101828!important;background-color:#fff!important;background-clip:padding-box;border:1px solid transparent!important;box-shadow:0 8px 24px #0f172a14!important;-webkit-box-shadow:0 8px 24px rgba(15,23,42,.08)!important;outline:0!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:none!important}.loginForm .input:hover,.loginForm .select:hover,body.dark .loginForm .input:hover,body.dark .loginForm .select:hover{color:#101828!important;background-color:#fff!important;border-color:transparent!important;box-shadow:0 10px 28px #0f172a1a!important}.loginForm .input:focus,.loginForm .select:focus,body.dark .loginForm .input:focus,body.dark .loginForm .select:focus{color:#101828!important;background-color:#fff!important;border-color:transparent!important;outline:0!important;box-shadow:0 10px 28px #0f172a1c!important;-webkit-box-shadow:0 10px 28px rgba(15,23,42,.11)!important;transform:none!important}.loginForm .input::placeholder,body.dark .loginForm .input::placeholder{color:#8a96a8!important;opacity:1}.loginForm input:-webkit-autofill,.loginForm input:-webkit-autofill:hover,.loginForm input:-webkit-autofill:focus{-webkit-text-fill-color:#101828!important;-webkit-box-shadow:0 0 0 1000px #ffffff inset,0 10px 28px rgba(15,23,42,.11)!important;transition:background-color 9999s ease-out 0s}.loginHeroBrand,.brandText,.mobileBrand .brandText{display:inline-flex;align-items:center;flex-wrap:nowrap;gap:7px;min-width:0;white-space:nowrap;line-height:1}.loginHeroBrand{max-width:100%;width:max-content}.loginHeroBrand .loginEyebrow,.loginHeroBrand .loginHeroAuthor,.brandGradient{display:inline-block;margin:0;padding:0;border:0;border-radius:0;background:var(--kaizen-brand-gradient);background-size:180% 100%;-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;box-shadow:none;text-shadow:none;overflow:visible;text-overflow:clip;white-space:nowrap;vertical-align:middle}.loginHeroBrand .loginEyebrow{font-size:12px;font-weight:980;letter-spacing:.08em}.loginHeroBrand .loginHeroAuthor{max-width:none;font-size:10px;font-weight:950;letter-spacing:.055em}.brandGradient{font-weight:950}.brandSeparator{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;height:1em;margin:0 1px;color:#6c7a90;font-size:.95em;font-weight:750;line-height:1;vertical-align:middle}.sidebar .brandSeparator,.mobileTopbar .brandSeparator,.loginHero .brandSeparator{color:#cad8ebb8}.brandText>b,.brandText>span,.mobileBrand .brandText>b,.mobileBrand .brandText>span{align-self:center;line-height:1}.brand .brandAuthor,.mobileBrand .brandAuthor{width:auto;max-width:none;margin:0;padding:0;border:0;border-radius:0;background-color:transparent;box-shadow:none;text-transform:none;overflow:visible;text-overflow:clip}.btn,.theme,.logout,.textButton,.tabs button,.groupMode button,.pageNum,.iconBtn,.drawerClose,.modalHead button,.toast>button,.clear,.passwordToggle{align-items:center;justify-content:center;text-align:center;line-height:1.1}.theme,.logout{display:inline-flex;white-space:nowrap}.theme .sideIcon,.logout .sideIcon{display:inline-flex;align-items:center;justify-content:center;line-height:1;transform:none}.rowSplit,.actions,.sideBtns,.loginFooter{align-items:center}.select,.select:hover,.select:focus,.select:active,body.dark .select,body.dark .select:hover,body.dark .select:focus,body.dark .select:active{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5.5 7.5 10 12l4.5-4.5' stroke='%2369758a' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;background-position:right 12px center!important;background-size:15px 15px!important;background-repeat:no-repeat!important}body.dark .select,body.dark .select:hover,body.dark .select:focus,body.dark .select:active{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20' fill='none'%3E%3Cpath d='M5.5 7.5 10 12l4.5-4.5' stroke='%23aeb9cc' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important}.pageSizeSelect,.pageSizeSelect:hover,.pageSizeSelect:focus,.pageSizeSelect:active,body.dark .pageSizeSelect,body.dark .pageSizeSelect:hover,body.dark .pageSizeSelect:focus,body.dark .pageSizeSelect:active{background-image:none!important}@media(max-width:1024px){.mobileBrand .brandText{max-width:min(66vw,330px);overflow:hidden}.mobileBrand .brandAuthor{display:inline-block!important}}@media(max-width:640px){.loginHeroBrand{gap:5px;transform:none}.loginHeroBrand .loginEyebrow{font-size:10.5px}.loginHeroBrand .loginHeroAuthor{font-size:8.5px;letter-spacing:.035em}.mobileBrand .brandText{gap:5px;max-width:calc(100vw - 112px)}.mobileBrand .brandText>b{font-size:12px}.mobileBrand .brandAuthor{font-size:8.5px}}@media(max-width:390px){.mobileBrand .brandText{gap:4px;max-width:calc(100vw - 104px)}.mobileBrand .brandText>b{font-size:11px}.mobileBrand .brandAuthor{font-size:7.6px;letter-spacing:.015em}.brandSeparator{margin-inline:0}}:root{--mc-brand-gradient: linear-gradient(100deg, #ffffff 0%, #39e6a5 34%, #f8fbff 58%, #72c9ff 100%);--mc-brand-gradient-deep: linear-gradient(100deg, #dffcf1 0%, #31dfa0 32%, #f7fbff 58%, #67c4ff 100%)}.loginHeroBrand,.brandText,.mobileBrand .brandText{align-items:center;line-height:1}.loginHeroBrand .loginEyebrow,.loginHeroBrand .loginHeroAuthor,.brandGradient{background:var(--mc-brand-gradient)!important;background-size:100% 100%!important;-webkit-background-clip:text!important;background-clip:text!important;-webkit-text-fill-color:transparent!important;color:transparent!important;filter:drop-shadow(0 1px 8px rgba(92,207,255,.09))}.loginHeroBrand .loginEyebrow,.brandText>b,.mobileBrand .brandText>b{line-height:1!important;font-weight:980!important}.loginHeroBrand .loginHeroAuthor,.brand .brandAuthor,.mobileBrand .brandAuthor{line-height:1!important;font-weight:950!important}.brand .brandAuthor{font-size:10.5px!important}.mobileBrand .brandAuthor{font-size:10px!important}.brandSeparator{color:#f0f8ffc7!important;line-height:1!important}.logo,.loginMark{background:transparent!important;box-shadow:none!important;overflow:visible!important}.logo img,.loginMark img{filter:drop-shadow(0 8px 18px rgba(1,9,24,.24))}.loginMark{width:60px;height:60px;border-radius:18px}.logo{width:42px;height:42px;flex:0 0 42px;border-radius:14px}.mobileBrand .logo{width:42px;height:42px;flex-basis:42px}.loginForm .otpInput,body.dark .loginForm .otpInput{color:#102033!important;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(110deg,#39e6a5e6,#fffffff2 52%,#72c9fff2) border-box!important;border:2px solid transparent!important;box-shadow:0 10px 28px #1020331a,inset 0 0 0 1px #10203309!important;outline:none!important}.loginForm .otpInput:hover,body.dark .loginForm .otpInput:hover{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(110deg,#31dfa0,#f7fbff 52%,#67c4ff) border-box!important;box-shadow:0 12px 30px #1020331f!important}.loginForm .otpInput:focus,body.dark .loginForm .otpInput:focus{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(110deg,#20d98a,#fff 48%,#4fb8ff) border-box!important;border-color:transparent!important;box-shadow:0 14px 34px #2e9dbe29,inset 0 0 0 1px #ffffffb3!important;transform:none!important}.loginForm .otpInput::placeholder,body.dark .loginForm .otpInput::placeholder{color:#758399!important}.sideBtns{align-items:stretch}.theme,.logout{display:inline-grid!important;grid-template-columns:20px auto;align-items:center!important;justify-content:center!important;gap:7px;min-width:0;text-align:center!important;line-height:1!important}.theme .sideIcon,.logout .sideIcon{width:20px;height:20px;display:grid!important;place-items:center!important;margin:0!important}.sideActionSvg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;overflow:visible}.sideActionLabel{display:inline-flex;align-items:center;justify-content:center;min-width:0;margin:0;line-height:1!important;white-space:nowrap}.theme:hover .sideActionSvg,.logout:hover .sideActionSvg{filter:drop-shadow(0 0 7px rgba(100,205,255,.2))}@media(max-width:640px){.loginMark{width:52px;height:52px}.mobileBrand .logo{width:40px;height:40px;flex-basis:40px}.mobileBrand .brandAuthor{font-size:9px!important}}@media(max-width:390px){.logo,.mobileBrand .logo{width:38px;height:38px;flex-basis:38px}.brand .brandAuthor,.mobileBrand .brandAuthor{font-size:8.2px!important}}.loginForm .input,.loginForm .input:hover,.loginForm .input:focus,body.dark .loginForm .input,body.dark .loginForm .input:hover,body.dark .loginForm .input:focus{color:#102033!important;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(110deg,#39e6a5,#f8fbff,#72c9ff) border-box!important;border:2px solid transparent!important;outline:none!important;filter:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;transform:none!important;box-shadow:0 10px 28px #1020331a,inset 0 0 0 1px #10203309!important}.loginForm .input:hover,body.dark .loginForm .input:hover{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(110deg,#31dfa0,#fff 52%,#67c4ff) border-box!important;box-shadow:0 12px 30px #1020331f!important}.loginForm .input:focus,body.dark .loginForm .input:focus{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(110deg,#20d98a,#fff 48%,#4fb8ff) border-box!important;box-shadow:0 14px 34px #2e9dbe29,inset 0 0 0 1px #ffffffb8!important}.loginForm .input::placeholder,body.dark .loginForm .input::placeholder{color:#758399!important;opacity:1}.loginForm input:-webkit-autofill,.loginForm input:-webkit-autofill:hover,.loginForm input:-webkit-autofill:focus{-webkit-text-fill-color:#102033!important;-webkit-box-shadow:0 0 0 1000px #ffffff inset!important}.brandText,.mobileBrand .brandText{gap:3px!important;white-space:nowrap!important;line-height:1!important}.brandText>b,.brandText>.brandAuthor,.mobileBrand .brandText>b,.mobileBrand .brandText>.brandAuthor,.brandSeparator{align-self:center!important;line-height:1!important;vertical-align:middle!important}.brand .brandAuthor{font-size:10.8px!important;letter-spacing:.035em!important}.mobileBrand .brandAuthor{font-size:clamp(8px,2.15vw,10.8px)!important;letter-spacing:.025em!important}.brandSeparator{margin:0!important}@media(max-width:1024px){.mobileTopbar{display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;align-items:center!important}.mobileBrand{width:100%;min-width:0;overflow:hidden}.mobileBrand .brandText{width:auto;max-width:100%!important;min-width:0;overflow:hidden!important}.mobileBrand .brandText>b,.mobileBrand .brandAuthor,.mobileBrand .brandSeparator{flex:0 0 auto}.mobileMenuButton{position:relative;z-index:2}}@media(max-width:520px){.mobileTopbar{gap:7px!important;padding-inline:8px!important}.mobileBrand{gap:6px!important}.mobileBrand .logo{width:36px!important;height:36px!important;flex-basis:36px!important}.mobileBrand .brandText{gap:2px!important}.mobileBrand .brandText>b{font-size:10.5px!important}.mobileBrand .brandAuthor{font-size:clamp(7.2px,2.25vw,9px)!important}.mobileMenuButton{width:40px!important;height:40px!important;flex-basis:40px!important}}.debtHistory{display:grid;gap:12px;margin:12px 0 16px}.debtMonthCard{padding:13px;border:1px solid rgba(239,82,97,.18);border-radius:16px;background:linear-gradient(145deg,#ef52610b,#5b5cf009);box-shadow:var(--shadow-sm)}.debtMonthHead{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:1px solid var(--line)}.debtMonthHead>div:first-child{display:grid;gap:2px}.debtMonthHead span,.debtMonthStats span,.debtGroupGrid span{color:var(--muted);font-size:10px;font-weight:850}.debtMonthHead b{font-size:16px}.debtMonthHead small{color:var(--muted)}.debtMonthRemaining{display:grid;justify-items:end;gap:2px}.debtMonthRemaining b{color:#d73749;font-size:17px}.debtMonthStats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:11px 0}.debtMonthStats>div,.debtGroupGrid>div{display:grid;gap:2px;min-width:0;padding:8px 9px;border:1px solid var(--line);border-radius:11px;background:var(--panel)}.debtMonthStats b,.debtGroupGrid b{font-size:12px;word-break:break-word}.debtGroupList{display:grid;gap:9px}.debtGroupCard{padding:11px;border:1px solid var(--line);border-radius:13px;background:var(--panel)}.debtGroupTitle{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}.debtGroupTitle>div{display:grid;gap:2px;min-width:0}.debtGroupTitle span{color:var(--muted);font-size:11px}.debtGroupTitle strong{color:#d73749;white-space:nowrap}.debtGroupGrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:9px}.debtReason{margin:9px 0 5px;padding:8px 9px;border-radius:10px;color:var(--muted);background:var(--panel-soft);font-size:11px;line-height:1.5}.debtGroupCard>small{color:var(--muted)}.attendanceStudentMeta{display:grid;gap:4px;min-width:0}.attendanceStudentMeta>b{min-width:0}.discountTag{width:max-content;max-width:100%;padding:3px 7px;border:1px solid var(--line);border-radius:999px;color:var(--muted);background:var(--panel);font-size:9.5px;font-weight:850;line-height:1.2}.discountTag.active{color:#08794b;border-color:#19b8733d;background:var(--green-soft)}@media(max-width:820px){.debtMonthStats,.debtGroupGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendanceRow>.attendanceStudentMeta{grid-column:1 / -1}}@media(max-width:520px){.debtMonthHead{align-items:flex-start;flex-direction:column}.debtMonthRemaining{justify-items:start}.debtMonthStats,.debtGroupGrid{grid-template-columns:1fr}.debtGroupTitle{flex-direction:column}}.loginForm .field .input,.loginForm .field .input:hover,.loginForm .field .input:focus,body.dark .loginForm .field .input,body.dark .loginForm .field .input:hover,body.dark .loginForm .field .input:focus{color:#102033!important;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(118deg,#16d98a,#65efc2 28%,#f8fbff,#72c9ff,#4c8dff) border-box!important;border:2px solid transparent!important;background-clip:padding-box,border-box!important;box-shadow:0 10px 28px #1020331c,0 0 0 1px #44c4d614!important;outline:none!important;filter:none!important;transform:none!important}.loginForm .field .input:focus,body.dark .loginForm .field .input:focus{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(118deg,#0fd383,#43e9ae 26%,#fff 50%,#5bc0ff,#397dff) border-box!important;box-shadow:0 13px 34px #2aa5c62e,0 0 0 1px #39bed21f!important}.loginForm .passwordField{min-width:0}.loginForm .passwordField .input{width:100%}.brandText,.mobileBrand .brandText{overflow:visible}@media(min-width:1025px)and (max-width:1320px){.app{grid-template-columns:226px minmax(0,1fr)}.sidebar{padding-inline:10px}.brand{gap:7px;padding-inline:2px}.brand .logo{width:36px;height:36px;flex-basis:36px}.brand .brandText{min-width:0;max-width:calc(100% - 43px);gap:2px!important;overflow:hidden}.brand .brandText>b{font-size:clamp(10px,.82vw,12px)!important}.brand .brandAuthor{font-size:clamp(7.3px,.64vw,9.2px)!important;letter-spacing:.005em!important}.brand .brandSeparator{font-size:9px!important}}.studentNameStateLine{display:flex;align-items:center;flex-wrap:wrap;gap:7px;min-width:0}.studentNameStateLine>b{min-width:0}.studentStateFlags{display:inline-flex;align-items:center;flex-wrap:wrap;gap:5px}.studentStateBadge{display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:22px;padding:3px 7px;border:1px solid var(--line);border-radius:999px;font-size:9.5px;font-weight:900;line-height:1;white-space:nowrap}.studentStateBadge svg{width:12px;height:12px;fill:currentColor;flex:0 0 12px}.frozenStudentBadge{color:#2563a8;border-color:#53a5e847;background:linear-gradient(135deg,#e1f6fff2,#e5eeffeb)}.freeStudentBadge,.badge.info{color:#08794b;border-color:#19b8733d;background:linear-gradient(135deg,#eafaf2f5,#e1f9fbf0)}.studentCountBadges{display:flex;align-items:center;flex-wrap:wrap;gap:5px}.attendanceStudentMeta .studentNameStateLine{align-items:flex-start}@media(min-width:821px){.groupStatItem{grid-template-columns:minmax(150px,1.25fr) .45fr .45fr .45fr repeat(3,minmax(90px,.9fr)) .7fr}}@media(max-width:820px){.groupStatItem>:nth-child(2):before{content:"Jami"}.groupStatItem>:nth-child(3):before{content:"Pullik"}.groupStatItem>:nth-child(4):before{content:"Bepul"}.groupStatItem>:nth-child(5):before{content:"Kutilgan"}.groupStatItem>:nth-child(6):before{content:"Qoplangan"}.groupStatItem>:nth-child(7):before{content:"Qarzdorlik"}.groupStatItem>:nth-child(8):before{content:"Davomat"}}.debtMonthHead b{font-variant-numeric:tabular-nums}.debtMonthHead small{font-weight:750}@media(max-width:640px){.studentStateBadge{font-size:9px;padding-inline:6px}.studentCountBadges{align-items:flex-start}}.loginForm .field>.input,.loginForm .field>.passwordField .input,.loginForm .field>.input.otpInput,body.dark .loginForm .field>.input,body.dark .loginForm .field>.passwordField .input,body.dark .loginForm .field>.input.otpInput{color:#102033!important;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(115deg,#0edb88,#55eab2 26%,#dff9f1 42%,#dff5ff 59%,#61c5ff 78%,#3d7fff) border-box!important;border:2.5px solid transparent!important;background-origin:border-box!important;background-clip:padding-box,border-box!important;outline:0!important;box-shadow:0 11px 28px #1020331c!important;filter:none!important;transform:none!important}.loginForm .field>.input:focus,.loginForm .field>.passwordField .input:focus,.loginForm .field>.input.otpInput:focus,body.dark .loginForm .field>.input:focus,body.dark .loginForm .field>.passwordField .input:focus,body.dark .loginForm .field>.input.otpInput:focus{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(115deg,#09d17e,#33e8a4 25%,#f5fffb 47%,#cdeeff 63%,#47b9ff 82%,#306fff) border-box!important;box-shadow:0 14px 34px #2da3ca2e!important}.loginForm .passwordField{background:transparent!important;border:0!important;box-shadow:none!important}.brandText>b,.brandText>.brandAuthor,.mobileBrand .brandText>b,.mobileBrand .brandText>.brandAuthor{font-size:10.8px!important;font-weight:950!important;letter-spacing:.015em!important;line-height:1!important}@media(min-width:1025px)and (max-width:1320px){.app{grid-template-columns:250px minmax(0,1fr)!important}.brand{gap:7px!important}.brand .logo{width:36px!important;height:36px!important;flex-basis:36px!important}.brand .brandText{max-width:calc(100% - 43px)!important;overflow:visible!important}.brandText>b,.brandText>.brandAuthor{font-size:10.3px!important;letter-spacing:0!important}.brandSeparator{font-size:10.3px!important}}@media(max-width:1024px){.mobileBrand .brandText{overflow:visible!important;max-width:none!important}.mobileBrand .brandText>b,.mobileBrand .brandText>.brandAuthor{font-size:clamp(9.4px,2.45vw,10.8px)!important;letter-spacing:0!important}}@media(max-width:390px){.mobileBrand .logo{width:34px!important;height:34px!important;flex-basis:34px!important}.mobileBrand .brandText>b,.mobileBrand .brandText>.brandAuthor,.mobileBrand .brandSeparator{font-size:9.35px!important}}.billingOverviewIntro{margin:12px 0 10px}.billingTimeline{position:relative;display:grid;gap:13px;margin:10px 0 16px;padding-left:22px}.billingTimeline:before{content:"";position:absolute;left:7px;top:13px;bottom:13px;width:2px;border-radius:99px;background:linear-gradient(180deg,#20d98a,#67c4ff 46%,#ef52618c)}.billingTimelineItem{position:relative;min-width:0}.billingTimelineDot{position:absolute;left:-21px;top:21px;width:13px;height:13px;border:3px solid var(--panel);border-radius:50%;background:#69c8ff;box-shadow:0 0 0 2px #67c4ff40}.billingTimelineItem.current .billingTimelineDot{background:#19b873;box-shadow:0 0 0 2px #19b8733d}.billingMonthCard{margin:0}.currentBillingMonth{border-color:#19b8733d;background:linear-gradient(145deg,#19b8730f,#5b5cf009)}.currentBillingMonth .debtMonthRemaining b{color:#08794b}.compactEmpty{padding:12px!important}.paidFreeCount{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:56px;min-height:28px;padding:4px 8px;border:1px solid rgba(25,184,115,.18);border-radius:999px;background:linear-gradient(135deg,#eafaf2f5,#e1f5fff0);white-space:nowrap}.paidFreeCount b,.paidFreeCount strong{color:#08794b;font-size:inherit}.paidFreeCount b:last-of-type,.paidFreeCount strong:last-of-type{color:#2563a8}.paidFreeCount i{color:var(--muted);font-style:normal;font-weight:900}.paidFreeCount small{color:var(--muted);font-size:8.5px;font-weight:850}.paidFreeCount.compact{min-height:24px;padding:3px 7px;font-size:10px}.dashboardPaidFree{font-size:inherit}.paidStudentBadge{color:#08794b;border-color:#19b8733d;background:#eafaf2f2}@media(min-width:821px){.groupStatItem{grid-template-columns:minmax(150px,1.25fr) .45fr .65fr repeat(3,minmax(90px,.9fr)) .7fr!important}}@media(max-width:820px){.groupStatItem>:nth-child(2):before{content:"Jami"!important}.groupStatItem>:nth-child(3):before{content:"Pullik/Bepul"!important}.groupStatItem>:nth-child(4):before{content:"Kutilgan"!important}.groupStatItem>:nth-child(5):before{content:"Qoplangan"!important}.groupStatItem>:nth-child(6):before{content:"Qarzdorlik"!important}.groupStatItem>:nth-child(7):before{content:"Davomat"!important}}@media(max-width:520px){.billingTimeline{padding-left:17px}.billingTimeline:before{left:5px}.billingTimelineDot{left:-17px;width:11px;height:11px}}.loginForm .premiumAuthInput,.loginForm .field>.passwordField .premiumAuthInput,body.dark .loginForm .premiumAuthInput,body.dark .loginForm .field>.passwordField .premiumAuthInput{color:#102033!important;background:linear-gradient(#fff,#fff) padding-box,linear-gradient(115deg,#06d884,#3fe2a1 23%,#f4fffb 45%,#ccefff 63%,#4ebdff 82%,#326dff) border-box!important;border:2.5px solid transparent!important;background-origin:border-box!important;background-clip:padding-box,border-box!important;box-shadow:0 9px 24px #1020331b,0 0 0 1px #3ac1d70d!important;outline:0!important;filter:none!important;transform:none!important}.loginForm .premiumAuthInput:hover,.loginForm .field>.passwordField .premiumAuthInput:hover,body.dark .loginForm .premiumAuthInput:hover,body.dark .loginForm .field>.passwordField .premiumAuthInput:hover{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(115deg,#00c979,#2de29a 24%,#f8fffc 45%,#c5ecff 62%,#3fb6ff 82%,#2763f3) border-box!important}.loginForm .premiumAuthInput:focus,.loginForm .field>.passwordField .premiumAuthInput:focus,body.dark .loginForm .premiumAuthInput:focus,body.dark .loginForm .field>.passwordField .premiumAuthInput:focus{background:linear-gradient(#fff,#fff) padding-box,linear-gradient(115deg,#00c675,#26e69a 24%,#fff 46%,#bdeaff 64%,#37afff 83%,#255cf0) border-box!important;box-shadow:0 11px 28px #2aa2cd2b!important}.totalFreeCount{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-width:56px;min-height:28px;padding:4px 8px;border:1px solid rgba(25,184,115,.18);border-radius:999px;background:linear-gradient(135deg,#eafaf2f7,#e1f5fff5);white-space:nowrap}.totalFreeCount b,.totalFreeCount strong{color:#08794b;font-size:inherit}.totalFreeCount b:last-of-type,.totalFreeCount strong:last-of-type{color:#2563a8}.totalFreeCount i{color:var(--muted);font-style:normal;font-weight:900}.totalFreeCount.compact{min-height:24px;padding:3px 7px;font-size:10px}.dashboardTotalFree{font-size:inherit}.groupNameDebt{align-items:center!important}.studentLine{grid-template-columns:minmax(0,1fr) auto auto}.studentPaymentCenter{align-self:center;justify-self:center;min-width:76px;display:flex;align-items:center;justify-content:center}.studentPaymentCenter .studentStateFlags{justify-content:center}@media(min-width:821px){.groupStatItem{grid-template-columns:minmax(160px,1.35fr) .7fr repeat(3,minmax(92px,.92fr)) .72fr!important}}@media(max-width:820px){.groupStatItem>:nth-child(2):before{content:"Jami/Bepul"!important}.groupStatItem>:nth-child(3):before{content:"Kutilgan"!important}.groupStatItem>:nth-child(4):before{content:"Qoplangan"!important}.groupStatItem>:nth-child(5):before{content:"Qarzdorlik"!important}.groupStatItem>:nth-child(6):before{content:"Davomat"!important}}body{font-size:11.7px}.mainContent{padding:22px clamp(14px,2vw,31px) 31px}.sidebar{padding:14px 12px;gap:12px}.pageHead{gap:14px;margin-bottom:14px}.pageHead h1{font-size:clamp(20px,1.72vw,26px)}.pageHead p{font-size:11px}.card{padding:14px;border-radius:16px}.cards>.card{min-height:88px}.cards .card span{font-size:10px}.cards .card b{margin-top:5px;font-size:16.2px}.toolbar{gap:8px;margin-bottom:11px}.input,.select{height:36px;padding-inline:10px}.textarea{min-height:69px;padding:8px 10px}.field>span{font-size:10px}.btn{min-height:36px;padding:8px 12px;font-size:11.2px}.btn.mini{min-height:32px;padding:6px 9px;font-size:10.8px}th,td{padding:9px 10px}th{font-size:9px}td{font-size:11.7px}.modal{padding:16px;border-radius:18px}.modalHead{margin-bottom:12px}.modalHead h3{font-size:14.5px}.modalHead button{width:34px;height:34px;flex-basis:34px}.formGrid{gap:10px;margin-bottom:12px}.detailList{gap:9px}.detailList>div{padding:9px 10px;border-radius:12px}.detailList span{font-size:9.5px}.detailList b{font-size:11.7px}.tabs button,.groupMode button{min-height:36px;padding:7px 13px;font-size:11.2px}.badge{padding:5px 8px;font-size:10px}.debtMark{padding:4px 7px;font-size:9px}.dashboardSection{margin-top:16px}.dashboardSection h2{margin-bottom:11px;font-size:16.2px}.scheduleItem,.groupStatItem{padding:10px 11px;border-radius:13px}.scheduleTime,.scheduleItem b,.courseTeacher{font-size:11.7px}.pagination{margin-top:12px}@media(max-width:820px){.studentLine{grid-template-columns:minmax(0,1fr) auto}.studentPaymentCenter{grid-column:1 / -1;justify-self:stretch}.studentPaymentCenter .studentStateFlags{width:100%;justify-content:center}}@media(max-width:640px){body{font-size:11.5px}.mainContent{padding:13px 10px 20px}.card{padding:12px}.input,.select{height:39px}.btn{min-height:38px}.modal{padding:13px}.studentLine{grid-template-columns:1fr}.studentPaymentCenter{grid-column:auto}}.authInputFrame{width:100%;min-width:0;padding:2.5px;border-radius:14px;background:linear-gradient(115deg,#05d783,#3fe2a1 23%,#f8fffc 45%,#ccefff 63%,#4ebdff 82%,#326dff);box-shadow:0 10px 26px #2089b524;transition:box-shadow .18s ease,transform .18s ease,background .18s ease}.authInputFrame:hover{background:linear-gradient(115deg,#00c979,#2de29a 24%,#fff 46%,#c5ecff 63%,#3fb6ff 82%,#2763f3)}.authInputFrame:focus-within{background:linear-gradient(115deg,#00c675,#26e69a 24%,#fff 46%,#bdeaff 64%,#37afff 83%,#255cf0);box-shadow:0 13px 32px #2aa2cd38}.authInputFrame .input,.authInputFrame .input:hover,.authInputFrame .input:focus,body.dark .authInputFrame .input,body.dark .authInputFrame .input:hover,body.dark .authInputFrame .input:focus{width:100%;color:#102033!important;background:#fff!important;border:0!important;border-radius:11.5px!important;box-shadow:none!important;outline:0!important;filter:none!important;transform:none!important}.authInputFrame .passwordField{width:100%;min-width:0;border:0!important;border-radius:11.5px;background:#fff!important;box-shadow:none!important}.authInputFrame .passwordToggle{color:#334155}.authInputFrame.otpAuthFrame{padding:2.5px}.loginThemeToggle{position:fixed;top:max(14px,env(safe-area-inset-top));right:max(14px,env(safe-area-inset-right));z-index:140;min-width:94px;min-height:38px;padding:7px 12px;border:1px solid rgba(255,255,255,.24);border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:7px;color:#f8fbff;background:#0c182ab8;box-shadow:0 12px 30px #07112233;backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);cursor:pointer;font-weight:900;line-height:1}.loginThemeToggle svg{width:16px;height:16px;flex:0 0 16px;fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}.loginThemeToggle:hover{background:#112640e6}body.dark .loginThemeToggle{color:#102033;border-color:#306fff29;background:#ffffffeb}.dashboardPlainRatio{display:block;margin-top:5px;color:var(--text);background:none!important;border:0!important;box-shadow:none!important;text-align:left;white-space:nowrap;font-variant-numeric:tabular-nums}.groupRatioPlain{display:block;width:100%;color:var(--text);background:none!important;border:0!important;box-shadow:none!important;text-align:center;font-weight:900;white-space:nowrap;font-variant-numeric:tabular-nums}.groupStatItem>:nth-child(2){justify-self:stretch;text-align:center}.groupNameDebt .debtMark{align-self:center;display:inline-flex;align-items:center;justify-content:center;line-height:1}.paymentStateBox{width:76px;min-height:30px;padding:5px 9px;border:1px solid var(--line);border-radius:11px;display:inline-flex;align-items:center;justify-content:center;text-align:center;font-size:10px;font-weight:950;line-height:1;white-space:nowrap}.paymentStateBox.paid{color:#08794b;border-color:#19b8733d;background:#eafaf2f2}.paymentStateBox.free{color:#2563a8;border-color:#53a5e847;background:#e1f6fff2}.attendanceRosterCard{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px}.attendanceRosterInfo{display:grid;gap:4px;min-width:0}.attendanceRosterCard>.paymentStateBox{align-self:center;justify-self:center}@media(max-width:640px){.loginThemeToggle{top:max(9px,env(safe-area-inset-top));right:max(9px,env(safe-area-inset-right));min-width:40px;width:40px;min-height:40px;padding:0}.loginThemeToggle span{display:none}.loginThemeToggle svg{width:18px;height:18px}.attendanceRosterCard{grid-template-columns:1fr}.attendanceRosterCard>.paymentStateBox{justify-self:stretch;width:100%}}.loginForm .authInputFrame,body.dark .loginForm .authInputFrame{position:relative;isolation:isolate;padding:2.5px!important;border:0!important;border-radius:14px;background:#fff!important;box-shadow:0 10px 26px #2089b524;overflow:hidden}.loginForm .authInputFrame:before,body.dark .loginForm .authInputFrame:before{content:"";position:absolute;inset:0;z-index:-1;border-radius:inherit;background:linear-gradient(115deg,#06d786,#53e8ad 25%,#f7fffc 47%,#c9edff 64%,#4abaff,#316cff)}.loginForm .authInputFrame:after,body.dark .loginForm .authInputFrame:after{content:"";position:absolute;inset:2.5px;z-index:-1;border-radius:11.5px;background:#fff}.loginForm .authInputFrame .input,.loginForm .authInputFrame .passwordField,body.dark .loginForm .authInputFrame .input,body.dark .loginForm .authInputFrame .passwordField{background:#fff!important;background-image:none!important}.loginForm .authInputFrame:focus-within{box-shadow:0 13px 32px #2aa2cd38,0 0 0 1px #1fc1a614}.groupsTableCard .tableWrap th:last-child,.groupsTableCard .tableWrap td:last-child{text-align:center!important}.groupsTableCard .tableWrap td:last-child .rowActions{width:100%;justify-content:center!important;align-items:center;margin-inline:auto}.studentNameStateLine{align-items:center!important}.studentNameStateLine .paymentStateBox{flex:0 0 auto;width:auto;min-width:62px;min-height:26px;padding:5px 10px;align-self:center;line-height:1!important}.paymentStateBox.paid{color:#08794b;border-color:#12b16a4d;background:linear-gradient(135deg,#e8fcf2fa,#d6f7eaf5)}.paymentStateBox.free{color:#1764a3;border-color:#379ce052;background:linear-gradient(135deg,#e6f7fffa,#dcecfff5)}.attendanceRosterCard{grid-template-columns:minmax(0,1fr)}.attendanceRow{grid-template-columns:minmax(190px,1.25fr) 104px minmax(118px,.76fr) minmax(118px,.76fr) minmax(140px,1fr);column-gap:7px}.attendanceRow .presenceCheck{justify-self:start;gap:6px;white-space:nowrap}.attendanceRow .input[type=number]{min-width:112px;padding-inline:10px}@media(max-width:820px){.groupsTableCard .tableWrap td:last-child .rowActions{justify-content:flex-end!important}.attendanceRow{grid-template-columns:minmax(0,1fr) 104px minmax(112px,1fr) minmax(112px,1fr)}.attendanceRow .attendanceNote{grid-column:1 / -1}}@media(max-width:640px){.studentNameStateLine{gap:6px}.studentNameStateLine .paymentStateBox{min-width:58px}.attendanceRow{grid-template-columns:1fr}.attendanceRow .presenceCheck{justify-self:stretch}.attendanceRow .input[type=number]{min-width:0;width:100%}.attendanceRow .attendanceNote{grid-column:auto}}.loginForm .authInputFrame,body.dark .loginForm .authInputFrame{padding:2.5px!important;background:linear-gradient(115deg,#06d786,#53e8ad 25%,#f7fffc 47%,#c9edff 64%,#4abaff,#316cff)!important}.loginForm .authInputFrame:before,.loginForm .authInputFrame:after,body.dark .loginForm .authInputFrame:before,body.dark .loginForm .authInputFrame:after{display:none!important}.loginForm .authInputFrame>.input,.loginForm .authInputFrame>.passwordField,.loginForm .authInputFrame .passwordField>.input,body.dark .loginForm .authInputFrame>.input,body.dark .loginForm .authInputFrame>.passwordField,body.dark .loginForm .authInputFrame .passwordField>.input{background:#fff!important;background-image:none!important;color:#102033!important}.studentNameStateLine .paymentStateBox{width:auto!important;min-width:0!important;min-height:0!important;padding:4px 8px!important;border-radius:999px!important;font-size:10px!important;line-height:1!important;font-weight:900!important;align-self:center!important;flex:0 0 auto!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;text-align:center!important}.paymentStateBox.paid{color:#08794b!important;border-color:#19b87338!important;background:var(--green-soft)!important}.paymentStateBox.free{color:#2563a8!important;border-color:#53a5e83d!important;background:#e1f6ffeb!important}@media(max-width:640px){.studentNameStateLine .paymentStateBox{width:auto!important;min-width:0!important;padding:4px 7px!important}}.loginForm .authInputFrame,.loginForm .authInputFrame:hover,body.dark .loginForm .authInputFrame,body.dark .loginForm .authInputFrame:hover{padding:2.5px!important;border:0!important;transform:none!important;box-shadow:0 10px 26px #2089b524!important}.loginForm .authInputFrame:before,.loginForm .authInputFrame:hover:before,body.dark .loginForm .authInputFrame:before,body.dark .loginForm .authInputFrame:hover:before{background:linear-gradient(115deg,#06d786,#53e8ad 25%,#f7fffc 47%,#c9edff 64%,#4abaff,#316cff)!important}.loginForm .authInputFrame:focus-within,body.dark .loginForm .authInputFrame:focus-within{padding:2.5px!important;transform:none!important}.loginForm .authInputFrame,.loginForm .authInputFrame:hover,.loginForm .authInputFrame:focus-within,body.dark .loginForm .authInputFrame,body.dark .loginForm .authInputFrame:hover,body.dark .loginForm .authInputFrame:focus-within{box-sizing:border-box!important;width:100%!important;padding:2.5px!important;border:0!important;border-radius:14px!important;background:linear-gradient(112deg,#00d878,#0bd99a 23%,#14c9bd 47%,#23afe6 72%,#3b72f6)!important;box-shadow:0 10px 26px #1984be2e!important;outline:0!important;filter:none!important;transform:none!important;transition:none!important;overflow:hidden!important}.loginForm .authInputFrame>.input,.loginForm .authInputFrame>.input:hover,.loginForm .authInputFrame>.input:focus,.loginForm .authInputFrame>.passwordField,.loginForm .authInputFrame>.passwordField:hover,.loginForm .authInputFrame>.passwordField:focus-within,.loginForm .authInputFrame .passwordField>.input,.loginForm .authInputFrame .passwordField>.input:hover,.loginForm .authInputFrame .passwordField>.input:focus,body.dark .loginForm .authInputFrame>.input,body.dark .loginForm .authInputFrame>.input:hover,body.dark .loginForm .authInputFrame>.input:focus,body.dark .loginForm .authInputFrame>.passwordField,body.dark .loginForm .authInputFrame>.passwordField:hover,body.dark .loginForm .authInputFrame>.passwordField:focus-within,body.dark .loginForm .authInputFrame .passwordField>.input,body.dark .loginForm .authInputFrame .passwordField>.input:hover,body.dark .loginForm .authInputFrame .passwordField>.input:focus{box-sizing:border-box!important;width:100%!important;margin:0!important;color:#102033!important;background:#fff!important;background-image:none!important;border:0!important;border-radius:11.5px!important;box-shadow:none!important;outline:0!important;filter:none!important;transform:none!important}.modal .passwordField .passwordToggle{top:50%!important;bottom:auto!important;transform:translateY(-50%)!important;margin:0!important}.modal .passwordField .accountPasswordInput,.modal .passwordField .accountPasswordInput:hover,.modal .passwordField .accountPasswordInput:focus{color:var(--text)!important;background:var(--panel-soft)!important;background-color:var(--panel-soft)!important}.modal .passwordField .accountPasswordInput:-webkit-autofill,.modal .passwordField .accountPasswordInput:-webkit-autofill:hover,.modal .passwordField .accountPasswordInput:-webkit-autofill:focus{-webkit-text-fill-color:var(--text)!important;-webkit-box-shadow:0 0 0 1000px var(--panel-soft) inset!important;box-shadow:0 0 0 1000px var(--panel-soft) inset!important;caret-color:var(--text)!important;transition:background-color 9999s ease-out 0s}.ownerTransferModal{min-height:min(560px,82dvh);display:flex;flex-direction:column}.ownerTransferModal>.actions{margin-top:auto}.searchBox{position:relative;min-width:0}.searchBox .input{padding-right:46px}.searchBox .clear,.searchBox .clear:hover,.searchBox .clear:focus,.searchBox .clear:active{top:50%!important;right:7px;transform:translateY(-50%)!important;display:inline-grid;place-items:center;width:30px;height:30px;padding:0;line-height:1;font-size:20px;font-weight:700}@media(max-width:640px){.ownerTransferModal{min-height:min(600px,92dvh)}}.lessonCell.notHeld{border-color:#e29d227a;background:linear-gradient(145deg,#fff7ccfa,#ffe280e0);color:#704500}body.dark .lessonCell.notHeld{border-color:#ffc94a7a;background:linear-gradient(145deg,#664b0cb3,#4d3707db);color:#ffe59a}.attendanceCardHead{display:grid;grid-template-columns:minmax(0,1fr) minmax(280px,390px);align-items:start;gap:16px;margin-bottom:12px}.attendanceCardHead h3{margin:0 0 5px}.bulkAttendanceControls{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--panel-soft)}.bulkAttendanceControls .select{min-width:0}.bulkAttendanceControls small{grid-column:1 / -1;color:var(--muted);font-size:10.5px;line-height:1.35}@media(max-width:900px){.attendanceCardHead{grid-template-columns:1fr}}@media(max-width:560px){.bulkAttendanceControls{grid-template-columns:1fr}.bulkAttendanceControls small{grid-column:auto}}.bulkAttendanceControls{grid-template-columns:minmax(0,1fr) auto}.bulkAttendanceCheck{min-width:0;min-height:42px;display:grid;grid-template-columns:22px minmax(0,1fr);align-items:center;gap:9px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--panel);color:var(--text);font-size:11px;font-weight:850;line-height:1.3;cursor:pointer;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.bulkAttendanceCheck:hover{border-color:#19b8735c;box-shadow:0 5px 18px #11304812}.bulkAttendanceCheck.checked{border-color:#19b87380;background:linear-gradient(135deg,#eafaf2f5,#e1f5ffe6)}.bulkAttendanceCheck input{position:absolute;opacity:0;pointer-events:none}.bulkCheckMark{width:22px;height:22px;display:inline-grid;place-items:center;border:1.5px solid rgba(100,116,139,.36);border-radius:7px;background:var(--panel-soft);color:transparent;font-size:14px;font-weight:950;transition:all .18s ease}.bulkAttendanceCheck.checked .bulkCheckMark{border-color:#19b873;background:linear-gradient(135deg,#17b978,#4eb7ef);color:#fff;box-shadow:0 5px 14px #19b87338}body.dark .bulkAttendanceCheck.checked{background:linear-gradient(135deg,#125c406b,#1347667a)}.bookAmountControl{display:grid;grid-template-columns:minmax(160px,1fr) minmax(190px,auto);gap:10px;align-items:center}.bookAmountControl .input:disabled{opacity:.82;cursor:not-allowed;background:var(--panel-soft);color:var(--text);font-weight:900}.fullBookCheck{min-height:42px;justify-content:center;padding:7px 11px;border:1px solid var(--line);border-radius:12px;background:var(--panel-soft);white-space:nowrap}.fullBookCheck.checked{border-color:#19b87361;background:#eafaf2eb}.fullBookCheck small{color:var(--muted);font-size:9.5px}body.dark .fullBookCheck.checked{background:#115c3e61}.debtGroupNameRow{display:flex;align-items:center;flex-wrap:wrap;gap:7px 12px;min-width:0}.groupJoinInline{display:inline-flex;align-items:center;min-height:22px;padding:3px 8px;border:1px solid rgba(91,92,240,.16);border-radius:999px;background:#5b5cf00f;color:var(--muted);font-size:9.5px;font-weight:850;white-space:nowrap}.grid.two>.card .billingTimeline{min-width:0}.grid.two>.card .debtMonthCard{overflow:hidden}@media(max-width:720px){.bookAmountControl{grid-template-columns:1fr}.fullBookCheck{justify-content:flex-start;white-space:normal}.bulkAttendanceControls{grid-template-columns:1fr}.bulkAttendanceControls small{grid-column:auto}}.paymentAmountControl{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:10px;width:100%}.fullPaymentCheck{min-height:40px;padding:7px 11px;border:1px solid color-mix(in srgb,var(--green) 34%,var(--line));border-radius:12px;background:#fff;white-space:nowrap;box-shadow:0 4px 14px #0f172a0f}.fullPaymentCheck.checked{border-color:color-mix(in srgb,var(--green) 72%,#0ea5e9);box-shadow:0 0 0 3px color-mix(in srgb,var(--green) 12%,transparent)}.checkLine input[type=checkbox],.presenceCheck input[type=checkbox],.bulkAttendanceCheck input[type=checkbox]{appearance:none;-webkit-appearance:none;width:18px;height:18px;min-width:18px;border:2px solid #94a3b8;border-radius:5px;background:#fff;display:inline-grid;place-content:center;cursor:pointer;transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}.checkLine input[type=checkbox]:before,.presenceCheck input[type=checkbox]:before,.bulkAttendanceCheck input[type=checkbox]:before{content:"";width:9px;height:5px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) scale(0);transform-origin:center;transition:transform .12s ease;margin-top:-1px}.checkLine input[type=checkbox]:checked,.presenceCheck input[type=checkbox]:checked,.bulkAttendanceCheck input[type=checkbox]:checked{border-color:#16a34a;background:linear-gradient(135deg,#16a34a,#0ea5e9);box-shadow:0 0 0 3px #16a34a21}.checkLine input[type=checkbox]:checked:before,.presenceCheck input[type=checkbox]:checked:before,.bulkAttendanceCheck input[type=checkbox]:checked:before{transform:rotate(-45deg) scale(1)}.checkLine input[type=checkbox]:focus-visible,.presenceCheck input[type=checkbox]:focus-visible,.bulkAttendanceCheck input[type=checkbox]:focus-visible{outline:none;box-shadow:0 0 0 4px #0ea5e92e}.checkLine input[type=checkbox]:disabled,.presenceCheck input[type=checkbox]:disabled,.bulkAttendanceCheck input[type=checkbox]:disabled{opacity:.48;cursor:not-allowed}body.dark .fullPaymentCheck,body.dark .checkLine input[type=checkbox],body.dark .presenceCheck input[type=checkbox],body.dark .bulkAttendanceCheck input[type=checkbox]{background-color:#fff;color:#0f172a}.inlineInfo{padding:10px 12px;border:1px solid color-mix(in srgb,#0ea5e9 38%,var(--line));border-radius:12px;background:color-mix(in srgb,#0ea5e9 8%,var(--panel));color:var(--text);font-size:.86rem;line-height:1.5}.billingFreezeInfo{margin-top:10px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:10px;border-radius:12px;border:1px solid color-mix(in srgb,#38bdf8 35%,var(--line));background:color-mix(in srgb,#38bdf8 8%,var(--panel))}.billingFreezeInfo>div{display:grid;gap:3px}.billingFreezeInfo span{color:var(--muted);font-size:.74rem}.billingFreezeInfo b{font-size:.86rem}.billingFreezeInfo small{grid-column:1 / -1;color:var(--muted);line-height:1.45}@media(max-width:720px){.paymentAmountControl{grid-template-columns:1fr}.fullPaymentCheck{width:100%;justify-content:center}.billingFreezeInfo{grid-template-columns:1fr}.billingFreezeInfo small{grid-column:auto}}:root{--scroll-track: #edf2f7;--scroll-thumb: #8195ad;--scroll-thumb-hover: #5f7691;--scroll-corner: #f4f7fb}body.dark{--scroll-track: #2a3d55;--scroll-thumb: #8aa8c4;--scroll-thumb-hover: #acc3d8;--scroll-corner: #24364b}html,body,*{scrollbar-width:thin;scrollbar-color:var(--scroll-thumb) var(--scroll-track)}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-track{background:var(--scroll-track);border-radius:999px}*::-webkit-scrollbar-thumb{min-height:38px;border:2px solid var(--scroll-track);border-radius:999px;background:linear-gradient(180deg,#28c987,#5e8fbd 54%,#6366e8);background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{border-width:1px;background:linear-gradient(180deg,#18b978,#477fae 52%,#5254dc);background-clip:padding-box}*::-webkit-scrollbar-corner{background:var(--scroll-corner)}.sideNav::-webkit-scrollbar-track,.sidebar *::-webkit-scrollbar-track{background:#94a3b83d}.sideNav::-webkit-scrollbar-thumb,.sidebar *::-webkit-scrollbar-thumb{border-color:#94a3b83d}.removedStudentsSection{margin-top:18px;padding-top:16px;border-top:1px solid var(--line)}.removedStudentsHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.removedStudentsHeader h4{margin:0;font-size:13px}.removedStudentsHeader span{color:var(--muted);font-size:11px}.removedStudentCard{opacity:.76;background:var(--panel-soft);border-style:dashed}.removedStudentCard .studentInfo>span,.removedStudentCard .studentInfo>small{text-decoration:line-through}@media(max-width:640px){*::-webkit-scrollbar{width:8px;height:8px}.removedStudentsHeader{align-items:flex-start;flex-direction:column;gap:3px}}.sideNav,.sidebar *{scrollbar-color:rgba(180,205,226,.96) rgba(148,163,184,.24)}.billingEnrollmentDates{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px}.groupJoinInline.joined{color:#08794b;border-color:#19b87340;background:#eafaf2f0}.groupJoinInline.left{color:#b42336;border-color:#ef44443d;background:#ffeff1f5}body.dark .groupJoinInline.joined{color:#87efc1;background:#12664457}body.dark .groupJoinInline.left{color:#ffadb7;background:#7e233357}.studentFrozenState{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-width:0}.studentFrozenState>small{color:#39749e;font-size:8.5px;font-weight:850;line-height:1.15;white-space:nowrap}body.dark .studentFrozenState>small{color:#9ed7ff}.groupStatusInline{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}.groupFreezeRange{color:var(--muted);font-size:9.5px;font-weight:800;white-space:nowrap}.removedStudentsSection.collapsed{padding-bottom:0}.removedStudentsHeader{width:100%;padding:9px 11px;border:1px solid var(--line);border-radius:12px;background:var(--panel-soft);color:var(--text);cursor:pointer;text-align:left;transition:border-color .16s ease,background .16s ease,box-shadow .16s ease}.removedStudentsHeader:hover{border-color:color-mix(in srgb,#0ea5e9 34%,var(--line));background:color-mix(in srgb,#0ea5e9 5%,var(--panel))}.removedStudentsTitle{display:inline-flex;align-items:baseline;flex-wrap:wrap;gap:7px}.removedStudentsTitle small{color:var(--muted);font-size:10px;font-weight:800}.removedStudentsToggleText{display:inline-flex;align-items:center;justify-content:center;gap:6px;color:#287aa8;font-size:10.5px;font-weight:900;white-space:nowrap}.removedStudentsToggleText i{display:inline-grid;place-items:center;width:19px;height:19px;border-radius:999px;background:#0ea5e91a;font-style:normal;transform:rotate(0);transition:transform .18s ease}.removedStudentsSection.expanded .removedStudentsToggleText i{transform:rotate(180deg)}.removedStudentsList{display:grid;gap:8px;margin-top:10px}.removedStudentCard .studentInfo>span,.removedStudentCard .studentInfo>small{text-decoration:none}.removedStudentCard .studentNameStateLine>b,.removedStudentCard .studentInfo>span:first-of-type{text-decoration:line-through}@media(max-width:640px){.billingEnrollmentDates{width:100%;align-items:flex-start}.studentFrozenState{align-items:flex-start}.removedStudentsHeader{align-items:stretch;flex-direction:column}.removedStudentsToggleText{justify-content:space-between;width:100%}.groupStatusInline{align-items:flex-start}}.removedStudentsHeader .removedStudentsToggleText{color:#287aa8;font-size:10.5px}body.dark .removedStudentsHeader .removedStudentsToggleText{color:#8ed6ff}.groupStatusStack{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:5px;min-width:0;max-width:100%}.monthFreezeNotice{display:inline-flex;flex-direction:column;align-items:flex-start;justify-content:center;gap:2px;width:max-content;max-width:100%;padding:5px 8px;border:1px solid rgba(14,165,233,.25);border-radius:10px;background:linear-gradient(135deg,#eff9fffa,#ecfdf5f5);color:#126486;box-shadow:0 4px 12px #0e749014}.monthFreezeTitle{display:inline-flex;align-items:center;gap:5px;font-size:9.5px;line-height:1;font-weight:900;white-space:nowrap}.monthFreezeTitle svg{width:12px;height:12px;fill:currentColor;flex:0 0 auto}.monthFreezeNotice>small{color:#39749e;font-size:8.5px;line-height:1.2;font-weight:850;white-space:nowrap}.groupMonthFreeze{margin-top:1px}.studentDiscountFreezeRow{display:flex;align-items:center;flex-wrap:wrap;gap:6px;min-width:0}.studentMonthFreeze{padding:4px 7px;border-radius:999px}.studentMonthFreeze .monthFreezeTitle{font-size:9px}.studentMonthFreeze>small{font-size:8px}body.dark .monthFreezeNotice{border-color:#38bdf84d;background:linear-gradient(135deg,#07374eeb,#064e3bd1);color:#b9ecff;box-shadow:0 5px 15px #0000002e}body.dark .monthFreezeNotice>small{color:#9ed7ff}@media(max-width:820px){.groupStatusStack,.studentDiscountFreezeRow{align-items:flex-start}.monthFreezeNotice{white-space:normal}}@media(max-width:520px){.studentDiscountFreezeRow{width:100%}.studentMonthFreeze{border-radius:10px}}.monthFreezeNotice{box-sizing:border-box;min-width:0;overflow:hidden}.groupMonthFreeze{width:min(100%,184px);max-width:100%}.monthFreezeNotice>small{display:block;width:100%;min-width:0;white-space:normal;overflow-wrap:anywhere;word-break:normal;text-wrap:balance}@media(max-width:820px){.groupMonthFreeze{width:100%;max-width:184px}}@media(max-width:520px){.groupMonthFreeze{max-width:100%}}.billingFreezeTitle{grid-column:1 / -1;font-weight:800;color:var(--text);font-size:.84rem;line-height:1.25;padding-bottom:2px}.groupFreezeBillingInfo{border-color:#3b82f64d;background:linear-gradient(145deg,#0ea5e917,#3b82f60b)}.enrollmentFreezeInfo{border-color:#19b8734d}.incomeBillingScroll{max-height:calc(100vh - 235px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;padding:2px 8px 10px 1px;margin-right:-4px}.incomeBillingScroll>.billingOverviewIntro{margin-top:0}@media(max-width:980px){.incomeBillingScroll{max-height:min(68vh,720px);padding-right:6px;margin-right:0}}@media(max-width:640px){.incomeBillingScroll{max-height:62vh;padding-right:3px}.billingFreezeTitle{font-size:.8rem}}.freezeHistoryPanel{border:1px solid rgba(56,189,248,.28);background:linear-gradient(145deg,#ecfdf5d1,#eff6ffe0);border-radius:14px;padding:11px 12px;min-width:0}.freezeHistoryHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px}.freezeHistoryHead b{font-size:.83rem}.freezeHistoryHead small{color:var(--muted);font-size:.7rem}.freezeHistoryList{display:flex;flex-wrap:wrap;gap:7px}.freezeHistoryItem{display:inline-flex;align-items:center;gap:6px;min-width:0;padding:6px 9px;border:1px solid rgba(14,165,233,.24);border-radius:999px;background:#ffffffe6;color:#174b6b;font-size:.72rem;font-weight:800;line-height:1.15;white-space:nowrap}.freezeHistoryItem svg{width:12px;height:12px;fill:#0ea5e9;flex:0 0 auto}.studentFreezePeriodsInMonth,.billingFreezePeriodStack{display:grid;gap:7px;min-width:0}.billingFreezePeriodStack{margin-top:9px}.billingFreezePeriodStack .billingFreezeInfo{margin-top:0}body.dark .freezeHistoryPanel{border-color:#38bdf847;background:linear-gradient(145deg,#064e3b57,#072f4975)}body.dark .freezeHistoryItem{border-color:#38bdf842;background:#0f172ac2;color:#d7f4ff}@media(max-width:640px){.freezeHistoryHead{align-items:flex-start;flex-direction:column;gap:2px}.freezeHistoryList{display:grid;grid-template-columns:1fr}.freezeHistoryItem{width:100%;justify-content:flex-start;border-radius:10px;white-space:normal}}.billingDebtOverviewGrid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.16fr);gap:10px;margin:12px 0 10px;align-items:stretch}.billingDebtSummary{min-width:0;display:grid;gap:5px;padding:12px 14px;border-radius:14px;border:1px solid transparent;box-shadow:0 8px 24px #0f172a0f}.billingDebtSummary span{font-size:.72rem;font-weight:800;line-height:1.25}.billingDebtSummary b{line-height:1.05;overflow-wrap:anywhere}.billingDebtSummary.previous{background:linear-gradient(145deg,#fff1f2,#ffe4e6);border-color:#f43f5e33;color:#9f1239}.billingDebtSummary.previous b{font-size:1.08rem}.billingDebtSummary.total{justify-items:end;text-align:right;background:linear-gradient(145deg,#ecfdf5,#d1fae5);border-color:#10b9813d;color:#065f46}.billingDebtSummary.total b{font-size:clamp(1.25rem,2.1vw,1.72rem)}.billingDebtSummary.clear{opacity:.88}.billingBalanceStrip{display:flex;align-items:stretch;flex-wrap:wrap;gap:8px;margin-bottom:12px}.billingBalanceStrip>div,.courseBalanceSummary>span{display:inline-flex;align-items:center;justify-content:space-between;gap:8px;min-width:0;padding:8px 10px;border:1px solid rgba(14,165,233,.18);border-radius:11px;background:#f8fafce6;color:#334155;font-size:.74rem}.billingBalanceStrip .balanceAppliedNotice,.courseBalanceSummary .balanceAutoUsed{border-color:#10b98147;background:#ecfdf5;color:#047857;font-weight:800}.coursePaymentNotice{display:grid;gap:8px}.courseBalanceSummary{display:flex;flex-wrap:wrap;gap:7px}.freezeHistoryHead>div{display:grid;gap:2px;min-width:0}.freezeHistoryToggle{appearance:none;border:1px solid rgba(14,165,233,.22);background:#ffffffdb;color:#075985;min-height:30px;padding:6px 9px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:7px;font:inherit;font-size:.7rem;font-weight:850;cursor:pointer;white-space:nowrap}.freezeHistoryToggle:hover,.freezeHistoryToggle:focus-visible{border-color:#0ea5e973;background:#fff;outline:none}.freezeToggleChevron{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;font-size:14px;line-height:1;transition:transform .18s ease}.freezeToggleChevron.open{transform:rotate(180deg)}.freezeHistoryList.previousPeriods{margin-top:7px;padding-top:7px;border-top:1px dashed rgba(14,165,233,.2)}body.dark .billingDebtSummary.previous{background:linear-gradient(145deg,#7f1d1d6b,#88133757);color:#fecdd3;border-color:#fb718540}body.dark .billingDebtSummary.total{background:linear-gradient(145deg,#065f4680,#0478574d);color:#a7f3d0;border-color:#34d39940}body.dark .billingBalanceStrip>div,body.dark .courseBalanceSummary>span,body.dark .freezeHistoryToggle{background:#0f172ac7;color:#dbeafe;border-color:#38bdf83d}body.dark .billingBalanceStrip .balanceAppliedNotice,body.dark .courseBalanceSummary .balanceAutoUsed{background:#065f4666;color:#a7f3d0;border-color:#34d39947}@media(max-width:680px){.billingDebtOverviewGrid{grid-template-columns:1fr}.billingDebtSummary.total{justify-items:start;text-align:left}.billingBalanceStrip,.courseBalanceSummary{display:grid;grid-template-columns:1fr}.billingBalanceStrip>div,.courseBalanceSummary>span{width:100%}.freezeHistoryHead{align-items:stretch}.freezeHistoryToggle{width:100%;white-space:normal}}.billingDebtSummary{align-content:space-between;min-height:104px;overflow:hidden}.billingDebtSummary span,.billingDebtSummary small{max-width:100%;overflow-wrap:anywhere;word-break:normal;text-wrap:pretty}.billingDebtSummary.total small{display:block;margin-top:2px;font-size:.7rem;font-weight:850;line-height:1.35}.billingDebtSummary.total .balanceWasUsed{color:#047857}.billingDebtSummary.total .balanceWasNotUsed{color:#64748b}.billingEmptyState{display:grid;gap:4px;margin:10px 0 14px;padding:14px;border:1px dashed rgba(100,116,139,.28);border-radius:14px;background:var(--panel-soft);color:var(--muted);line-height:1.45}.billingEmptyState b{color:var(--text)}.billingEmptyState.compact{margin:0}.incomePreviousDebtNotice{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px 12px;border:1px solid rgba(244,63,94,.2);border-radius:12px;background:#fff1f2;color:#9f1239;font-size:.78rem;font-weight:800}.incomePreviousDebtNotice.clear{border-color:#10b98138;background:#ecfdf5;color:#065f46}.incomePreviousDebtNotice span{min-width:0;overflow-wrap:anywhere}.incomePreviousDebtNotice b{flex:0 0 auto;white-space:nowrap}.paymentAllocationResult{display:grid;gap:12px}.paymentAllocationHead{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px}.paymentAllocationHead>div{min-width:0;display:grid;gap:4px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel-soft)}.paymentAllocationHead span,.paymentAllocationRow span,.paymentAllocationFoot span{color:var(--muted);font-size:.75rem}.paymentAllocationHead b{overflow-wrap:anywhere}.paymentAllocationTotal{justify-items:end;text-align:right}.paymentAllocationTotal b{color:#047857;font-size:1.25rem;white-space:nowrap}.paymentAllocationList{display:grid;gap:7px;padding:10px;border:1px solid var(--line);border-radius:14px;background:var(--panel)}.paymentAllocationRow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:9px 10px;border-radius:10px;background:var(--panel-soft)}.paymentAllocationRow b{white-space:nowrap}.paymentAllocationFoot{display:flex;flex-wrap:wrap;gap:8px}.paymentAllocationFoot span{display:inline-flex;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel-soft)}body.dark .incomePreviousDebtNotice{background:#7f1d1d61;color:#fecdd3}body.dark .incomePreviousDebtNotice.clear{background:#065f4661;color:#a7f3d0}@media(max-width:680px){.billingDebtSummary{min-height:0}.paymentAllocationHead{grid-template-columns:1fr}.paymentAllocationTotal{justify-items:start;text-align:left}.incomePreviousDebtNotice{align-items:flex-start;flex-direction:column}.incomePreviousDebtNotice b{white-space:normal}.paymentAllocationFoot{display:grid;grid-template-columns:1fr}}.studentBillingReport,.studentBillingReport *{min-width:0}.billingNoReport{display:grid;place-items:center;gap:7px;min-height:150px;margin:12px 0 4px;padding:24px 18px;border:1px dashed rgba(100,116,139,.34);border-radius:16px;background:linear-gradient(145deg,#f8fafcf5,#eff6ffc7);text-align:center;color:var(--muted)}.billingNoReport b{max-width:520px;color:var(--text);font-size:clamp(.98rem,2vw,1.12rem);line-height:1.3;overflow-wrap:anywhere}.billingNoReport span{max-width:520px;line-height:1.5;overflow-wrap:anywhere}.billingDebtOverviewGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.billingDebtSummary{grid-template-rows:minmax(0,auto) auto minmax(0,auto);align-content:center;min-height:116px;overflow:visible}.billingDebtSummary span,.billingDebtSummary small,.billingDebtSummary b{width:100%;max-width:100%;overflow:visible;overflow-wrap:anywhere;word-break:normal;white-space:normal}.billingDebtSummary.previous.clear{border-color:#10b98138;background:linear-gradient(145deg,#ecfdf5,#dcfce7);color:#065f46;opacity:1}.billingDebtSummary.total.clear{border-color:#0ea5e938;background:linear-gradient(145deg,#eff6ff,#e0f2fe);color:#075985;opacity:1}.billingDebtSummary.total.hasDebt{border-color:#f43f5e33;background:linear-gradient(145deg,#fff7ed,#ffedd5);color:#9a3412}.billingDebtSummary.total small.balanceWasUsed{margin-top:3px;padding-top:6px;border-top:1px solid currentColor;border-top-color:color-mix(in srgb,currentColor 20%,transparent);text-align:inherit}.billingBalanceStrip.appliedOnly{display:grid;grid-template-columns:repeat(3,minmax(0,1fr))}.billingBalanceStrip.appliedOnly>div{width:100%}.entitySearch .searchBox,.entitySearch .searchBox .input{width:100%;min-width:0}.entitySearch .searchBox .input{text-overflow:ellipsis}.expenseFormGrid .entitySearch{width:100%}body.dark .billingNoReport{border-color:#94a3b847;background:linear-gradient(145deg,#0f172ad1,#072f4975)}body.dark .billingDebtSummary.previous.clear{border-color:#34d3993d;background:linear-gradient(145deg,#065f466b,#14532d57);color:#a7f3d0}body.dark .billingDebtSummary.total.clear{border-color:#38bdf83d;background:linear-gradient(145deg,#0759856b,#0c4a6e57);color:#bae6fd}body.dark .billingDebtSummary.total.hasDebt{border-color:#fb923c42;background:linear-gradient(145deg,#7c2d1275,#9a34124d);color:#fed7aa}@media(max-width:680px){.billingDebtOverviewGrid,.billingBalanceStrip.appliedOnly{grid-template-columns:1fr}.billingDebtSummary{min-height:0;padding:13px}.billingDebtSummary.total{justify-items:start;text-align:left}.billingNoReport{min-height:128px;padding:20px 14px}}.studentDebtSummaryGrid{width:100%;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:12px;margin:12px 0 14px}.studentDebtSummaryCard{position:static!important;float:none!important;inset:auto!important;width:100%;min-width:0;min-height:138px;display:flex;flex-direction:column;align-items:stretch;justify-content:space-between;gap:12px;padding:15px 16px;overflow:hidden;border:1px solid transparent;border-radius:16px;box-shadow:0 8px 24px #0f172a0f;isolation:isolate}.studentDebtSummaryCardPrevious.isDebt{border-color:#f43f5e38;background:linear-gradient(145deg,#fff1f2,#ffe4e6);color:#9f1239}.studentDebtSummaryCardPrevious.isClear{border-color:#10b9813d;background:linear-gradient(145deg,#ecfdf5,#dcfce7);color:#065f46}.studentDebtSummaryCardTotal.isDebt{border-color:#f973163d;background:linear-gradient(145deg,#fff7ed,#ffedd5);color:#9a3412}.studentDebtSummaryCardTotal.isClear{border-color:#0ea5e93d;background:linear-gradient(145deg,#eff6ff,#e0f2fe);color:#075985}.studentDebtSummaryCopy{position:static!important;width:100%;min-width:0;display:grid;gap:5px;text-align:left}.studentDebtSummaryEyebrow,.studentDebtSummaryMessage,.studentDebtSummaryAmount,.studentDebtBalanceNote{position:static!important;float:none!important;width:100%;max-width:100%;min-width:0;margin:0;text-align:left;white-space:normal;overflow:visible;overflow-wrap:anywhere;word-break:normal}.studentDebtSummaryEyebrow{font-size:.69rem;font-weight:900;line-height:1.25;letter-spacing:.04em;text-transform:uppercase;opacity:.72}.studentDebtSummaryMessage{display:block;font-size:clamp(.83rem,1.5vw,.96rem);font-weight:850;line-height:1.42;text-wrap:pretty}.studentDebtSummaryAmount{display:block;font-size:clamp(1.26rem,2.4vw,1.8rem);font-weight:950;line-height:1.08;letter-spacing:-.025em;font-variant-numeric:tabular-nums}.studentDebtBalanceNote{display:block;padding-top:8px;border-top:1px solid color-mix(in srgb,currentColor 20%,transparent);font-size:.72rem;font-weight:850;line-height:1.35}.studentDebtBalanceNote.isUsed{color:#047857}.studentDebtBalanceNote.isUnused{color:#64748b}.incomeBillingScroll .studentDebtSummaryGrid,.incomeBillingScroll .studentDebtSummaryCard,.incomeBillingScroll .studentDebtSummaryCopy{min-width:0;max-width:100%}body.dark .studentDebtSummaryCardPrevious.isDebt{border-color:#fb718542;background:linear-gradient(145deg,#7f1d1d75,#88133757);color:#fecdd3}body.dark .studentDebtSummaryCardPrevious.isClear{border-color:#34d39942;background:linear-gradient(145deg,#065f4675,#14532d57);color:#a7f3d0}body.dark .studentDebtSummaryCardTotal.isDebt{border-color:#fb923c47;background:linear-gradient(145deg,#7c2d127a,#9a341252);color:#fed7aa}body.dark .studentDebtSummaryCardTotal.isClear{border-color:#38bdf842;background:linear-gradient(145deg,#07598575,#0c4a6e57);color:#bae6fd}body.dark .studentDebtBalanceNote.isUsed{color:#a7f3d0}body.dark .studentDebtBalanceNote.isUnused{color:#cbd5e1}@media(max-width:760px){.studentDebtSummaryGrid{grid-template-columns:1fr;gap:10px}.studentDebtSummaryCard{min-height:0;padding:14px}}@media(max-width:420px){.studentDebtSummaryGrid{margin-top:10px}.studentDebtSummaryCard{gap:10px;padding:12px;border-radius:14px}.studentDebtSummaryMessage{font-size:.82rem}.studentDebtSummaryAmount{font-size:1.22rem}.studentDebtBalanceNote{font-size:.69rem}}.studentDebtSummaryCard{min-height:118px;gap:8px;padding:13px 14px}.studentDebtSummaryEyebrow,.studentDebtSummaryMessage,.studentDebtSummaryAmount,.studentDebtBalanceNote{font-size:.8rem;line-height:1.42;letter-spacing:0}.studentDebtSummaryEyebrow{font-weight:900;letter-spacing:.025em}.studentDebtSummaryMessage{font-weight:800}.studentDebtSummaryAmount{font-weight:900;line-height:1.42;font-variant-numeric:tabular-nums}.studentDebtBalanceNote{padding-top:7px;font-weight:800}.incomeHistoryTable table{min-width:920px}.incomeHistoryTable th.incomeHistoryStatusCell,.incomeHistoryTable td.incomeHistoryStatusCell,.incomeHistoryTable th.incomeHistoryActionCell,.incomeHistoryTable td.incomeHistoryActionCell{text-align:center;vertical-align:middle}.incomeHistoryTable td.incomeHistoryStatusCell .badge{display:inline-flex;align-items:center;justify-content:center;margin-inline:auto}.incomeHistoryTable td.incomeHistoryActionCell .rowActions{min-height:34px;align-items:center;justify-content:center}.historyAllocationSection{display:grid;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid var(--line)}.historyAllocationSection h4{margin:0;font-size:.92rem}.paymentAllocationResult.compact{margin-top:0}.paymentAllocationRow>div{min-width:0;display:grid;gap:2px}.paymentAllocationRow strong{min-width:0;overflow-wrap:anywhere}.paymentAllocationSummaryGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.paymentAllocationSummaryGrid>div{min-width:0;display:grid;gap:4px;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:var(--panel-soft)}.paymentAllocationSummaryGrid span{color:var(--muted);font-size:.71rem;font-weight:750;line-height:1.35}.paymentAllocationSummaryGrid b{min-width:0;font-size:.82rem;line-height:1.35;overflow-wrap:anywhere}@media(max-width:760px){.studentDebtSummaryCard{min-height:0;padding:12px 13px}.studentDebtSummaryEyebrow,.studentDebtSummaryMessage,.studentDebtSummaryAmount,.studentDebtBalanceNote{font-size:.78rem}.paymentAllocationSummaryGrid{grid-template-columns:1fr}.incomeHistoryTable td.incomeHistoryStatusCell,.incomeHistoryTable td.incomeHistoryActionCell{text-align:left}.incomeHistoryTable td.incomeHistoryStatusCell .badge,.incomeHistoryTable td.incomeHistoryActionCell .rowActions{margin-inline:0;justify-content:flex-start}}@media(max-width:420px){.studentDebtSummaryEyebrow,.studentDebtSummaryMessage,.studentDebtSummaryAmount,.studentDebtBalanceNote{font-size:.75rem}.paymentAllocationRow{align-items:flex-start;flex-direction:column}}.auditPerson{display:grid;gap:2px;min-width:0}.auditPerson strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:13px}.auditPerson small{color:var(--muted);font-size:10.5px;font-weight:750}.auditPerson.systemActor strong{color:var(--muted)}.detailList b>.auditPerson{margin-top:-1px}.sectionHidden{display:none!important}.freezeHistoryItem{position:relative;padding-right:38px}.freezeHistoryDelete{position:absolute;right:4px;top:50%;transform:translateY(-50%);width:28px;height:28px}@media(max-width:640px){.auditPerson strong{white-space:normal}.freezeHistoryItem{padding-right:42px}}.billingLessonCounts small{display:block;margin-top:6px;max-width:360px;color:var(--muted);font-size:11px;line-height:1.45;font-weight:500}@media(max-width:640px){.billingLessonCounts small{max-width:none}}.filterToolbar{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:9px;align-items:center}.filterToolbar>.filterFields{display:flex;flex-wrap:wrap;align-items:center;gap:8px;min-width:0}.filterToolbar>.filterFields>*{flex:1 1 158px;width:auto;min-width:140px}.filterClearButton{width:40px!important;height:40px!important;min-width:40px;justify-self:end;align-self:center;border:1px solid var(--line);background:var(--panel-soft)}.filterClearButton:hover,.filterClearButton:focus-visible{border-color:#5b5cf06b;background:var(--purple-soft)}th.actionColumn,td.actionColumn{text-align:center!important}td.actionColumn .rowActions{width:100%;justify-content:center!important;margin-inline:auto}.detailMode,.studentDetailTabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0 0 12px;padding:4px;border:1px solid var(--line);border-radius:14px;background:var(--panel-soft)}.detailMode button{min-height:40px;border:0;border-radius:10px;color:var(--muted);background:transparent;font-weight:900;cursor:pointer}.detailMode button.active{color:#fff;background:linear-gradient(135deg,var(--green),var(--primary));box-shadow:0 8px 22px #5b5cf02e}.modal.studentDetailModal,.modal.groupDetailModal{width:min(1120px,calc(100vw - 28px))}.studentDetailViewport{min-height:min(570px,62dvh);max-height:68dvh;overflow:auto;padding:2px 3px 8px}.groupDetailModal .groupInside{width:100%;min-height:min(590px,64dvh)}.groupDetailModal .groupInside>.card{width:100%;min-height:min(590px,64dvh)}.groupDetailModal .sectionHidden{display:none!important}.attendanceOnlyInside>.card{display:flex;flex-direction:column}.attendanceSummaryBar{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:12px}.attendanceSummaryItem{min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(145deg,var(--panel-soft),var(--panel))}.attendanceSummaryItem span{display:block;color:var(--muted);font-size:11px;font-weight:800}.attendanceSummaryItem b{display:block;margin-top:3px;font-size:20px;line-height:1.1}.freezeHistoryItem{padding-right:70px!important}.freezeHistoryActions{position:absolute;right:4px;top:50%;display:inline-flex;align-items:center;gap:3px;transform:translateY(-50%)}.freezeHistoryEdit,.freezeHistoryDelete{position:static!important;width:28px!important;height:28px!important;transform:none!important}@media(max-width:760px){.filterToolbar{grid-template-columns:minmax(0,1fr) auto;align-items:center}.filterToolbar>.filterFields>*{flex-basis:min(220px,100%);min-width:0}.studentDetailViewport{min-height:480px;max-height:66dvh}.groupDetailModal .groupInside,.groupDetailModal .groupInside>.card{min-height:500px}.attendanceSummaryBar{grid-template-columns:repeat(3,minmax(86px,1fr));gap:6px}.attendanceSummaryItem{padding:9px 8px}.attendanceSummaryItem b{font-size:17px}.tableWrap td.actionColumn .rowActions{justify-content:center!important}}@media(max-width:480px){.filterToolbar{gap:6px}.filterToolbar>.filterFields{display:grid;grid-template-columns:1fr}.filterClearButton{width:38px!important;height:38px!important;min-width:38px}.detailMode{gap:5px;padding:3px}.detailMode button{min-height:38px;padding:6px;font-size:11px}.studentDetailViewport{min-height:430px}.groupDetailModal .groupInside,.groupDetailModal .groupInside>.card{min-height:450px}.attendanceSummaryBar{grid-template-columns:1fr}.freezeHistoryItem{padding-right:72px!important}}.pageHeadFilter{margin:0;min-width:min(360px,100%)}.pageHeadFilter .filterFields>*{min-width:180px}.developerHeadActions{align-items:center;flex-wrap:wrap;justify-content:flex-end}@media(max-width:760px){.pageHeadFilter{width:100%;min-width:0}.developerHeadActions{width:100%;justify-content:stretch}.developerHeadActions>.pageHeadFilter{flex:1 1 260px}}.filterToolbar>.filterFields>.compactMonthControl,.compactMonthControl{flex:0 0 168px!important;width:168px!important;min-width:150px!important;max-width:180px}.pageHeadFilter.compactMonthFilter{width:auto;min-width:0;grid-template-columns:auto auto;flex:0 0 auto}.pageHeadFilter.compactMonthFilter>.filterFields,.pageHeadFilter.compactMonthFilter>.filterFields>*{flex:0 0 auto;width:auto;min-width:0}.pageHeadFilter.compactMonthFilter .compactMonthControl{width:164px!important;min-width:154px!important}.groupHeadActions{flex:0 0 auto;flex-wrap:nowrap;align-items:center;justify-content:flex-end}.groupHeadActions>.btn{flex:0 0 auto;width:auto;white-space:nowrap}.studentDetailTabs.compactDetailTabs{display:inline-flex;width:auto;max-width:100%;grid-template-columns:none;align-self:flex-start;overflow-x:auto}.studentDetailTabs.compactDetailTabs button{flex:0 0 auto;min-width:154px;padding-inline:15px}.modal.studentDetailModal,.modal.groupDetailModal{height:min(760px,calc(100dvh - 28px));max-height:calc(100dvh - 28px);display:flex;flex-direction:column;overflow:hidden}.studentDetailModal .studentDetailViewport{flex:1 1 auto;width:100%;min-height:0!important;max-height:none!important;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.groupDetailModal .groupMode{flex:0 0 auto}.groupDetailModal .groupInside{flex:1 1 auto;width:100%;height:auto;min-height:0!important;max-height:none;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.groupDetailModal .groupInside>.card{width:100%;min-height:100%!important;box-sizing:border-box}.freezeHistoryItem{display:grid!important;grid-template-columns:18px minmax(0,1fr) auto;align-items:center;column-gap:7px;width:100%;padding:8px 9px!important;white-space:normal}.freezeHistoryActions{position:static!important;justify-self:end;transform:none!important;margin-left:8px}.billingFreezeHeader{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:10px}.billingFreezeActions{display:inline-flex;align-items:center;gap:4px;flex:0 0 auto}.billingFreezeActions .iconBtn{width:29px;height:29px;flex-basis:29px}@media(max-width:760px){.filterToolbar>.filterFields>.compactMonthControl,.compactMonthControl{flex-basis:164px!important;width:164px!important;min-width:148px!important}.groupHeadActions{width:100%;flex-wrap:wrap}.groupHeadActions>.compactMonthFilter{flex:0 1 auto!important;width:auto}.groupHeadActions>.btn{flex:0 0 auto!important}.modal.studentDetailModal,.modal.groupDetailModal{height:min(720px,calc(100dvh - 18px));max-height:calc(100dvh - 18px)}}@media(max-width:480px){.pageHeadFilter.compactMonthFilter{width:100%;grid-template-columns:minmax(0,1fr) auto}.pageHeadFilter.compactMonthFilter .filterFields,.pageHeadFilter.compactMonthFilter .compactMonthControl{width:100%!important;min-width:0!important;max-width:none}.filterToolbar>.filterFields>.compactMonthControl{width:100%!important;min-width:0!important;max-width:none}.groupHeadActions{display:grid;grid-template-columns:minmax(0,1fr) auto}.groupHeadActions>.compactMonthFilter{width:100%}.studentDetailTabs.compactDetailTabs{display:grid;width:100%;grid-template-columns:repeat(2,minmax(0,1fr))}.studentDetailTabs.compactDetailTabs button{min-width:0;padding-inline:8px}.freezeHistoryItem{grid-template-columns:18px minmax(0,1fr)}.freezeHistoryActions{grid-column:1 / -1;justify-self:end;margin:5px 0 0}}.studentInfoPanel{display:grid;gap:14px}.studentFreezeHistoryPanel{border:1px solid var(--line);border-radius:15px;background:var(--panel-soft);padding:12px}.studentFreezeHistoryHead{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}.studentFreezeHistoryHead h4{margin:0;font-size:13px}.studentFreezeHistoryHead small{display:block;margin-top:3px;color:var(--muted);font-size:10px}.studentFreezeHistoryList{display:grid;gap:8px}.studentFreezeHistoryItem{display:grid;grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:12px;background:var(--panel)}.studentFreezeIcon{width:30px;height:30px;display:grid;place-items:center;border-radius:10px;color:#2563a8;background:#e1f6fff2;font-size:15px}.studentFreezeHistoryItem>div:nth-child(2){min-width:0;display:grid;gap:2px}.studentFreezeHistoryItem b,.studentFreezeHistoryItem span,.studentFreezeHistoryItem small{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.studentFreezeHistoryItem>div:nth-child(2)>span{color:var(--muted);font-size:10.5px}.studentFreezeHistoryItem small{color:var(--muted);font-size:10px}.studentFreezeHistoryActions{display:inline-flex;align-items:center;gap:4px}.studentFreezeHistoryActions .iconBtn{width:29px;height:29px;flex-basis:29px}@media(max-width:480px){.studentFreezeHistoryItem{grid-template-columns:30px minmax(0,1fr)}.studentFreezeHistoryActions{grid-column:1 / -1;justify-self:end}}.billingFreezeInfo>.billingFreezeHeader{grid-column:1 / -1;display:flex;align-items:center;justify-content:space-between;gap:10px}@media(max-width:720px){.billingFreezeInfo>.billingFreezeHeader{grid-column:auto}}.studentDetailModal .modalBody,.groupDetailModal .modalBody{display:flex;flex-direction:column;min-height:0;overflow:hidden}.studentBillingPanel{display:grid;gap:14px;min-width:0}.billingFreezeHistoryPanel{margin-top:2px}.studentDetailTabs.compactDetailTabs{display:flex;width:auto;max-width:100%;gap:8px;margin-bottom:12px;padding:2px 0;border:0;border-radius:0;background:transparent;overflow-x:auto;scrollbar-width:none}.studentDetailTabs.compactDetailTabs::-webkit-scrollbar{display:none}.studentDetailTabs.compactDetailTabs button{flex:0 0 auto;min-width:0;min-height:40px;padding:8px 14px;border:1px solid var(--line);border-radius:999px;color:var(--text);background:var(--panel);box-shadow:none}.studentDetailTabs.compactDetailTabs button.active{color:#fff;border-color:transparent;background:linear-gradient(135deg,#19b873,#5b5cf0);box-shadow:none}.studentInfoPanel,.studentBillingPanel{min-height:100%}@media(max-width:480px){.studentDetailTabs.compactDetailTabs{display:flex;width:100%}.studentDetailTabs.compactDetailTabs button{flex:1 1 0;min-width:max-content;padding-inline:10px}}.studentDetailModal .modalBody{display:flex;flex-direction:column;min-height:0;overflow:hidden}.studentDetailTabs{position:relative;z-index:3;flex:0 0 auto;margin-bottom:12px!important;background:var(--panel)!important;box-shadow:0 8px 18px #1c273d0d}.studentDetailViewport{position:relative;z-index:1;flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;overflow-x:hidden;padding:2px 4px 10px}.studentBillingPanel,.studentInfoPanel{min-height:100%}.studentBillingPanel>.studentBillingReport{padding-top:2px}.expensePageHeadActions,.financePageHead .pageHeadFilter{flex:0 0 auto}.expensePageHeadActions{display:flex;align-items:center;justify-content:flex-end;gap:9px;min-width:0}.expensePageHeadActions .compactMonthFilter{margin:0}.expenseAddButton{flex:0 0 auto;white-space:nowrap}.financeTabs{width:fit-content;max-width:100%}.financeCenterSection,.financeEmployeeDetail{display:grid;gap:14px;min-width:0}.financeEmployeeLayout{display:grid;grid-template-columns:minmax(390px,.82fr) minmax(0,1.45fr);gap:14px;align-items:start;min-width:0}.financeEmployeeListCard{min-width:0;max-height:calc(100dvh - 190px);overflow:auto}.financeEmployeeIdentity{display:grid;gap:2px;min-width:0}.financeEmployeeIdentity b,.financeEmployeeIdentity small{min-width:0;overflow:hidden;text-overflow:ellipsis}.financeEmployeeIdentity small{color:var(--muted);font-size:10.5px}.financeEmployeeIdentity.selected b{color:var(--primary)}.financeEmployeeHero{display:grid;gap:14px;overflow:hidden}.financeEmployeeHeroTop,.sectionTitleRow{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;min-width:0}.financeEmployeeHeroTop>div,.sectionTitleRow>div{min-width:0}.financeEmployeeHeroTop span,.sectionTitleRow p{color:var(--muted);font-size:11px;font-weight:750}.financeEmployeeHeroTop h2,.sectionTitleRow h3{margin:3px 0 0;line-height:1.2;overflow-wrap:anywhere}.financeEmployeeHeroTop p,.sectionTitleRow p{margin:4px 0 0}.sectionTitleRow>b{flex:0 0 auto;font-size:16px;white-space:nowrap}.financeStatsGrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;min-width:0}.centerFinanceStats{margin-bottom:14px}.financeStat{min-width:0;display:grid;gap:5px;padding:13px 14px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,var(--panel),var(--panel-soft))}.financeStat span{color:var(--muted);font-size:10.5px;font-weight:800}.financeStat b{min-width:0;font-size:17px;line-height:1.25;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.financeStat.primary{border-color:#5b5cf03d;background:var(--purple-soft)}.financeStat.success{border-color:#19b8733d;background:var(--green-soft)}.financeStat.warning{border-color:#efa82547;background:var(--warn-soft)}.financeStat.danger{border-color:#ef526140;background:var(--danger-soft)}.financeGroupName{display:grid;gap:2px;min-width:150px}.financeGroupName small{color:var(--muted);font-size:10.5px}.financeGroupTable table{min-width:1120px}.teacherSalaryFooter{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px;margin-top:13px;padding-top:13px;border-top:1px solid var(--line)}.teacherSalaryFooter>div{min-width:0;display:grid;gap:4px;padding:10px 11px;border:1px solid var(--line);border-radius:12px;background:var(--panel-soft)}.teacherSalaryFooter span{color:var(--muted);font-size:10.5px;font-weight:800}.teacherSalaryFooter b{overflow-wrap:anywhere}@media(max-width:1180px){.financeEmployeeLayout{grid-template-columns:minmax(330px,.9fr) minmax(0,1.2fr)}}@media(max-width:980px){.financeEmployeeLayout{grid-template-columns:1fr}.financeEmployeeListCard{max-height:none}.teacherSalaryFooter{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:680px){.expensePageHead,.financePageHead{align-items:stretch}.expensePageHeadActions{width:100%;justify-content:space-between}.expensePageHeadActions .pageHeadFilter{min-width:0;flex:1 1 auto}.expensePageHeadActions .filterFields{min-width:0}.expensePageHeadActions .compactMonthControl{width:100%;max-width:180px}.financeEmployeeHeroTop,.sectionTitleRow{align-items:flex-start;flex-direction:column}.sectionTitleRow>b{white-space:normal}.teacherSalaryFooter,.studentDetailTabs{grid-template-columns:1fr}}.studentDetailModal .studentDetailTabs.compactDetailTabs{position:relative!important;z-index:20!important;flex:0 0 auto!important;isolation:isolate}.studentDetailModal .studentDetailViewport{position:relative!important;z-index:1!important;margin-top:0!important;padding-top:4px!important;contain:layout paint}.studentDetailModal .studentBillingReport,.studentDetailModal .billingTimeline{position:relative;margin-top:0}html{scrollbar-gutter:stable}body.modalLocked .sidebar{top:0}.financeSectionTabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px;padding:5px;border:1px solid var(--line);border-radius:16px;background:var(--panel-soft)}.financeSectionTabs button{min-width:0;min-height:42px;border:1px solid transparent;border-radius:12px;background:transparent;color:var(--muted);font-weight:850;cursor:pointer;transition:.18s ease}.financeSectionTabs button:hover{color:var(--text);background:var(--panel)}.financeSectionTabs button.active{color:#fff;border-color:#5b5cf040;background:linear-gradient(135deg,var(--primary),var(--primary-strong));box-shadow:0 8px 22px #5b5cf038}.financeEmployeeSearchCard .filterFields{grid-template-columns:minmax(240px,520px)}.financeEmployeeSearchCard .entitySearch{width:100%}.financeEmployeeHero{min-height:0}.financePeriodBlock{display:grid;gap:10px}.financePeriodBlock h3{margin:0;font-size:14px}.employeeSummaryStats{grid-template-columns:repeat(4,minmax(0,1fr))}.financeAnalysisCard{border-color:#5b5cf033}.financeRuleNote{margin:12px 0 0;padding:10px 12px;border:1px solid rgba(91,92,240,.18);border-radius:12px;color:var(--muted);background:var(--purple-soft);font-size:11px;font-weight:720}.financeGroupTable table{min-width:1180px}.financePage .tableWrap .auditPerson{min-width:130px}@media(max-width:900px){.employeeSummaryStats{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.financeSectionTabs{grid-template-columns:1fr}.financeEmployeeSearchCard .filterFields{grid-template-columns:minmax(0,1fr)}.employeeSummaryStats{grid-template-columns:1fr}}.financeTabs{width:fit-content;max-width:100%;margin-bottom:16px}.financeEmployeeSection,.financeCenterSection,.financeEmployeeDetail{display:grid;gap:14px;min-width:0}.financeEmployeeSearchCard{padding-block:12px}.financeEmployeeSearchCard .filterToolbar{margin:0}.financeEmployeeSearchCard .filterFields{grid-template-columns:minmax(260px,520px);align-items:center}.financeEmployeeSearchCard .searchBox{width:100%}.financeEmployeeCell{display:grid;gap:3px;min-width:160px}.financeEmployeeCell small{color:var(--muted);font-size:10.5px;font-weight:700}.financeDueStatus{display:inline-flex;align-items:center;gap:7px;flex-wrap:wrap}.financeDueStatus small{color:var(--muted);font-size:10.5px;font-weight:800;white-space:nowrap}.financeEmployeeReportModal{width:min(1240px,calc(100vw - 30px));height:min(900px,calc(100vh - 30px));max-height:calc(100vh - 30px)}.financeEmployeeReportModal .modalBody{min-height:0;overflow:auto;overscroll-behavior:contain}.financeEmployeeHeroTop{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.financeEmployeeHeroTop>div:first-child{min-width:0}.financeEmployeeHeroTop>div:first-child>span{color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.06em}.financeEmployeeHeroTop h2{margin:4px 0;overflow-wrap:anywhere}.financeEmployeeHeroTop p{margin:0;color:var(--muted)}.financeReportCard .financeStatsGrid,.financeAnalysisCard .financeStatsGrid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr))}.financeStat small{color:var(--muted);font-size:10px;font-weight:720;line-height:1.35}.financeAllocationNote{margin-top:12px;padding:10px 12px;border:1px solid rgba(239,168,37,.25);border-radius:12px;background:var(--warn-soft);color:var(--text);font-size:11px;line-height:1.5}.financeAllocationNote.success{border-color:#19b87338;background:var(--green-soft)}.financeGroupTable table{min-width:1380px}.financeEmployeeSection>.card:last-child .tableWrap table{min-width:900px}@media(max-width:760px){.financeTabs{width:100%}.financeTabs button{flex:1 0 auto}.financeEmployeeSearchCard .filterFields{grid-template-columns:minmax(0,1fr)}.financeEmployeeReportModal{width:calc(100vw - 14px);height:calc(100vh - 14px);max-height:calc(100vh - 14px)}.financeEmployeeHeroTop,.sectionTitleRow{flex-direction:column;align-items:flex-start}.financeReportCard .financeStatsGrid,.financeAnalysisCard .financeStatsGrid{grid-template-columns:1fr}}.financeLoading{min-height:190px;display:flex;align-items:center;justify-content:center;gap:16px;padding:28px;border:1px solid var(--line);border-radius:16px;background:linear-gradient(145deg,var(--panel),var(--panel-soft));text-align:left}.financeLoading>div{width:min(520px,100%);display:grid;gap:7px}.financeLoading b{color:var(--text);font-size:14px}.financeLoading small{color:var(--muted);font-size:11px;line-height:1.45}.financeLoadingSpinner{width:34px;height:34px;flex:0 0 34px;border:3px solid rgba(91,92,240,.18);border-top-color:var(--primary);border-radius:50%;animation:spin .7s linear infinite}.financeLoadingTrack{position:relative;display:block;height:6px;margin-top:5px;overflow:hidden;border-radius:999px;background:#5b5cf01f}.financeLoadingTrack i{position:absolute;inset-block:0;width:42%;border-radius:inherit;background:linear-gradient(90deg,transparent,var(--primary),transparent);animation:financeProgress 1.25s ease-in-out infinite}@keyframes financeProgress{0%{transform:translate(-120%)}to{transform:translate(340%)}}.financeEmployeeHeroTop{align-items:stretch}.financeEmployeeIdentityBlock{min-width:0;display:flex;flex-direction:column;justify-content:center}.financeCompensation{min-width:230px;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:7px;padding:16px 20px;border:1px solid rgba(91,92,240,.22);border-radius:15px;background:var(--purple-soft);text-align:center}.financeCompensation span{color:var(--muted);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.financeCompensation b{color:var(--primary);font-size:clamp(20px,2.4vw,30px);line-height:1.05;overflow-wrap:anywhere}.financeMergedCell{display:grid;align-items:start;justify-items:start;gap:5px;min-width:150px}.financeMergedCell small{color:var(--muted);font-size:10.5px;font-weight:750}.financeGroupTable table{min-width:1040px}.financeEmployeeSection>.card:last-child .tableWrap table{min-width:780px}.expensePageHead+.card .filterFields{grid-template-columns:minmax(190px,.75fr) minmax(260px,1.25fr)}@media(max-width:760px){.financeLoading{min-height:160px;padding:20px 16px;align-items:flex-start}.financeEmployeeHeroTop{align-items:stretch}.financeCompensation{min-width:0;width:100%}.expensePageHead+.card .filterFields{grid-template-columns:1fr}}html{min-height:100%;overflow-y:scroll;scrollbar-gutter:stable}body{min-height:100dvh;overflow:visible}html.modalLocked,body.modalLocked{overflow:hidden!important}.mainContent{position:relative;min-height:100dvh;overflow-y:visible}.globalLoad{position:fixed;z-index:550;top:12px;right:18px;display:inline-flex;align-items:center;gap:9px;max-width:min(360px,calc(100vw - 28px));min-height:40px;padding:9px 13px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));border-radius:13px;background:color-mix(in srgb,var(--panel) 94%,transparent);box-shadow:var(--shadow);color:var(--text);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.globalLoad>span,.pageDataSpinner{width:18px;height:18px;flex:0 0 18px;border:2px solid color-mix(in srgb,var(--primary) 20%,transparent);border-top-color:var(--primary);border-radius:50%;animation:spin .72s linear infinite}.globalLoad b{font-size:11.5px;line-height:1.25}.globalLoad.routeLoad{position:absolute;inset:0 auto 0 0;width:100%;max-width:none;min-height:210px;justify-content:center;align-items:center;border:0;border-radius:0;background:color-mix(in srgb,var(--bg) 82%,transparent);box-shadow:none;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}.globalLoad.routeLoad>span{width:24px;height:24px;flex-basis:24px;border-width:3px}.globalLoad.routeLoad b{font-size:13px}.pageDataLoading{min-height:150px;display:flex;align-items:center;justify-content:center;gap:11px;color:var(--muted)}.ownerBypassNotice{display:grid;gap:4px;padding:12px 13px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));border-radius:13px;background:var(--purple-soft)}.ownerBypassNotice b{color:var(--text);font-size:12px}.ownerBypassNotice small{color:var(--muted);font-size:10.5px;line-height:1.45}.ownerBypassButton{width:100%;justify-content:center}@media(max-width:1024px){.globalLoad{top:66px;right:12px}.globalLoad.routeLoad{top:0;right:auto}}@media(max-width:600px){.globalLoad:not(.routeLoad){left:10px;right:10px;max-width:none;justify-content:center}}.protectedOwnerAccess{min-height:42px;display:flex;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--soft);color:var(--text);font-weight:800}.studentPageHeadActions,.studentDetailTopbar,.groupDetailNavRow,.financeDetailPeriodToolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.studentPageHeadActions{justify-content:flex-end;flex-wrap:wrap}.studentDetailTopbar,.groupDetailNavRow{flex:0 0 auto;margin-bottom:12px}.studentDetailTopbar .studentDetailTabs,.groupDetailNavRow .groupMode{flex:1 1 auto;min-width:0;margin:0}.detailPeriodFilter,.financeDetailPeriodToolbar .filterToolbar{flex:0 0 auto;width:auto;margin:0}.detailPeriodFilter .filterFields,.financeDetailPeriodToolbar .filterFields{display:flex;flex-wrap:nowrap;width:auto}.financeDetailPeriodToolbar{justify-content:flex-end;margin-bottom:12px}.expenseTabs{margin-bottom:12px}@media(max-width:760px){.studentPageHeadActions{width:100%;justify-content:stretch}.studentPageHeadActions>*{flex:1 1 auto}.studentDetailTopbar,.groupDetailNavRow{align-items:stretch;flex-direction:column}.detailPeriodFilter,.financeDetailPeriodToolbar .filterToolbar,.detailPeriodFilter .filterFields,.financeDetailPeriodToolbar .filterFields{width:100%}.detailPeriodFilter .compactMonthControl,.financeDetailPeriodToolbar .compactMonthControl{width:100%;max-width:none}}@media(min-width:1025px){.sidebar{position:fixed!important;inset:0 auto 0 0;width:250px;height:100dvh}.mainContent{grid-column:2}}@media(min-width:1025px)and (max-width:1280px){.sidebar{width:220px}}@media(max-width:1024px){.mainContent{grid-column:auto}}.globalLoad,.globalLoad.routeLoad{position:fixed!important;inset:0!important;z-index:900!important;width:100vw!important;max-width:none!important;min-height:100dvh!important;display:flex!important;align-items:center!important;justify-content:center!important;gap:11px!important;padding:20px!important;border:0!important;border-radius:0!important;color:var(--text)!important;background:color-mix(in srgb,var(--bg) 78%,transparent)!important;box-shadow:none!important;-webkit-backdrop-filter:blur(6px)!important;backdrop-filter:blur(6px)!important}.globalLoad>span,.globalLoad.routeLoad>span{width:28px!important;height:28px!important;flex:0 0 28px!important;border-width:3px!important}.globalLoad b,.globalLoad.routeLoad b{max-width:min(430px,calc(100vw - 90px));font-size:13px!important;line-height:1.35!important;text-align:center}.pageDataLoading,.financeLoading{display:none!important}.dataPage{height:calc(100dvh - 53px);min-height:0;display:flex;flex-direction:column;overflow:hidden}.dataPage>.pageHead,.dataPage>.tabs,.dataPage>.errorBox{flex:0 0 auto}.dataPage>.dataListCard,.dataPage .financeCenterListCard,.dataPage .financeEmployeeListCard{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.dataListCard>.filterToolbar,.dataListCard>.sectionTitleRow,.dataListCard>.errorBox{flex:0 0 auto}.dataListCard>.tableWrap{flex:1 1 auto;min-height:0;overflow:auto!important;overscroll-behavior:contain;scrollbar-gutter:stable}.dataListCard>.pagination{flex:0 0 auto;margin-top:10px;padding-top:10px;border-top:1px solid var(--line);background:var(--panel)}.dataListCard .tableWrap th{position:sticky;top:0;z-index:3;box-shadow:0 1px 0 var(--line)}.financePage.dataPage .financeCenterSection,.financePage.dataPage .financeEmployeeSection{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overflow:hidden}.financePage.dataPage .financeCenterSection>.financeStatsGrid,.financePage.dataPage .financeEmployeeSection>.financeEmployeeSearchCard{flex:0 0 auto}.financePage.dataPage .financeCenterListCard,.financePage.dataPage .financeEmployeeListCard{flex:1 1 auto;min-height:0}.financeEmployeeReportModal{font-size:11.5px}.financeEmployeeReportModal .modalHead h3{font-size:14px}.financeEmployeeReportModal h2{font-size:clamp(17px,2vw,21px)}.financeEmployeeReportModal h3{font-size:13.5px}.financeEmployeeReportModal p,.financeEmployeeReportModal .muted,.financeEmployeeReportModal small{font-size:10.5px}.financeEmployeeReportModal .financeCompensation{min-width:200px;padding:13px 16px}.financeEmployeeReportModal .financeCompensation b{font-size:clamp(18px,2vw,24px)}.financeEmployeeReportModal .financeStatsGrid{gap:9px}.financeEmployeeReportModal .financeStat{padding:10px 11px}.orderedPersonForm input[readonly]{color:var(--muted);background:var(--panel-strong);cursor:default}@media(max-width:1024px){.dataPage{height:calc(100dvh - 112px)}}@media(max-width:820px){.dataListCard>.tableWrap{overflow-y:auto!important;overflow-x:hidden!important}.dataListCard .tableWrap th{position:static}}@media(max-width:640px){.dataPage{height:calc(100dvh - 93px)}.globalLoad,.globalLoad.routeLoad{padding:14px!important;flex-direction:column}.globalLoad b,.globalLoad.routeLoad b{max-width:calc(100vw - 28px);font-size:12px!important}.dataListCard>.pagination{padding-top:8px}}.pagination .pageInfo{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.pagination .pageInfo small{color:var(--muted);font-size:10px;font-weight:750}.financeEmployeeReportModal{font-size:10.75px}.financeEmployeeReportModal .modalHead h3{font-size:13px}.financeEmployeeReportModal .financeEmployeeHero,.financeEmployeeReportModal .financeReportCard,.financeEmployeeReportModal .financeAnalysisCard,.financeEmployeeReportModal .teacherFinanceGroups,.financeEmployeeReportModal .card{padding:12px}.financeEmployeeReportModal .financeEmployeeHeroTop h2{margin:2px 0;font-size:clamp(15px,1.6vw,18px)}.financeEmployeeReportModal .financeEmployeeHeroTop p,.financeEmployeeReportModal .financeEmployeeHeroTop span,.financeEmployeeReportModal .sectionTitleRow p,.financeEmployeeReportModal small{font-size:9.5px}.financeEmployeeReportModal .sectionTitleRow h3{margin-top:0;font-size:12px}.financeEmployeeReportModal .financeCompensation{min-width:170px;padding:10px 12px}.financeEmployeeReportModal .financeCompensation span{font-size:9.5px}.financeEmployeeReportModal .financeCompensation b{font-size:clamp(15px,1.7vw,19px)}.financeEmployeeReportModal .financeStatsGrid{grid-template-columns:repeat(auto-fit,minmax(132px,1fr));gap:7px}.financeEmployeeReportModal .financeStat{gap:3px;padding:8px 9px;border-radius:11px}.financeEmployeeReportModal .financeStat span{font-size:9px}.financeEmployeeReportModal .financeStat b{font-size:13px;line-height:1.2}.financeEmployeeReportModal .financeAllocationNote{margin-top:8px;padding:8px 9px;font-size:9.75px}.financeEmployeeReportModal .tableWrap th,.financeEmployeeReportModal .tableWrap td{font-size:10px}.auditPage .filterFields,.developerPage .filterFields{grid-template-columns:minmax(145px,180px) minmax(220px,360px) minmax(180px,260px)}.auditPage .entitySearch,.developerPage .entitySearch{min-width:0}.auditDetailModal .modalBody,.developerDetailModal .modalBody{overflow-x:hidden}.auditDetailHeader{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:var(--panel-soft)}.auditDetailHeader>div{display:grid;gap:3px;min-width:0}.auditDetailHeader span,.auditMetaGrid span,.auditSnapshotField span,.auditDiffLabel,.auditDiffValue small{color:var(--muted);font-size:9.5px;font-weight:850}.auditDetailHeader b{font-size:14px}.auditDetailHeader small{color:var(--muted);font-size:9.5px}.auditMetaGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:14px}.auditMetaGrid>div{display:grid;gap:5px;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:12px}.auditMetaGrid>.wide{grid-column:1 / -1}.auditDetailSection{display:grid;gap:10px}.auditDetailSection h4{margin:0;font-size:13px}.auditSnapshotGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.auditSnapshotField{display:grid;gap:4px;min-width:0;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:var(--panel-soft)}.auditSnapshotField b{overflow-wrap:anywhere;font-size:11px}.auditDiffList{display:grid;gap:8px}.auditDiffRow{display:grid;grid-template-columns:minmax(105px,.65fr) minmax(0,1fr) 24px minmax(0,1fr);align-items:stretch;gap:8px;padding:9px;border:1px solid var(--line);border-radius:12px}.auditDiffLabel{align-self:center}.auditDiffValue{display:grid;gap:4px;min-width:0;padding:8px 9px;border-radius:9px}.auditDiffValue.old{background:var(--danger-soft)}.auditDiffValue.next{background:var(--green-soft)}.auditDiffValue b{overflow-wrap:anywhere;font-size:10.5px}.auditDiffArrow{align-self:center;justify-self:center;color:var(--primary);font-size:18px;font-weight:900}.auditEmpty{min-height:80px}.clearChoiceGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:13px}.clearChoiceGrid button{display:grid;gap:5px;padding:12px;border:1px solid var(--line);border-radius:13px;text-align:left;background:var(--panel);color:var(--text);cursor:pointer}.clearChoiceGrid button.active{border-color:var(--primary);background:var(--purple-soft);box-shadow:0 0 0 2px #5b5cf01a}.clearChoiceGrid small{color:var(--muted);font-size:10px;line-height:1.4}.auditRangeGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.stackTraceToggle{width:100%;display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;background:var(--panel-soft);color:var(--text);cursor:pointer}.stackTraceToggle b{color:var(--primary);font-size:10px}.stackTraceBox{max-height:420px;overflow-y:auto;overflow-x:hidden;white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word}@media(max-width:900px){.auditPage .filterFields,.developerPage .filterFields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.auditPage .filterFields,.developerPage .filterFields,.auditMetaGrid,.auditSnapshotGrid,.clearChoiceGrid,.auditRangeGrid,.auditDiffRow{grid-template-columns:1fr}.auditDiffArrow{transform:rotate(90deg)}.financeEmployeeReportModal .financeStatsGrid{grid-template-columns:1fr}}.paginationEndMessage{display:inline-flex;align-items:center;margin-left:9px;padding:3px 8px;border-radius:999px;color:var(--muted);background:var(--panel-soft);font-size:10.5px;font-style:normal;font-weight:750}.tableWrap{scroll-behavior:auto;overscroll-behavior:contain;scrollbar-gutter:stable}@media(max-width:640px){.paginationEndMessage{display:block;width:max-content;margin:5px 0 0}}.globalLoad,.globalLoad.routeLoad{position:fixed!important;inset:0!important;z-index:950!important;width:100vw!important;min-height:100dvh!important;display:grid!important;place-items:center!important;padding:18px!important;border:0!important;background:color-mix(in srgb,var(--bg) 18%,transparent)!important;-webkit-backdrop-filter:blur(2.5px)!important;backdrop-filter:blur(2.5px)!important;cursor:progress}.globalLoadPanel{display:inline-flex;align-items:center;justify-content:center;gap:11px;max-width:min(440px,calc(100vw - 30px));min-height:54px;padding:12px 17px;border:1px solid color-mix(in srgb,var(--primary) 28%,var(--line));border-radius:17px;color:var(--text);background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:0 18px 55px #141f322e;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);animation:v56BaseProgressIn .18s ease-out both}.globalLoadPanel>span{width:25px;height:25px;flex:0 0 25px;border:3px solid color-mix(in srgb,var(--primary) 18%,transparent);border-top-color:var(--primary);border-radius:50%;animation:spin .72s linear infinite}.globalLoadPanel>b{max-width:min(360px,calc(100vw - 100px));font-size:12.5px;line-height:1.35;text-align:center}@keyframes v56BaseProgressIn{0%{opacity:0;transform:translateY(5px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}.tableWrap.paginationNeedsScroll:after{content:"";display:block;width:1px;height:var(--pagination-tail-size, 58px);pointer-events:none}.tableWrap.paginationNeedsScroll{overflow-y:auto!important;scroll-behavior:auto}.dataListCard>.tableWrap{scroll-behavior:auto!important;overflow-anchor:none}.pagination{min-height:47px}.pagination .pageNum,.pagination .pager .btn,.pagination .pageSizeSelect{transition:background-color .16s ease,color .16s ease,border-color .16s ease,transform .16s ease}.pagination .pageNum:active,.pagination .pager .btn:active{transform:scale(.96)}.pageDataLoading,.financeLoading{display:flex!important;min-height:clamp(190px,36dvh,360px)!important;visibility:hidden;pointer-events:none}.financeCenterSection,.financeEmployeeSection{flex:1 1 auto;min-height:0}.financeCenterSection,.financeEmployeeSection,.dataListCard,.modalBody{contain:layout style}@media(max-width:640px){.globalLoadPanel{width:min(100%,360px);flex-direction:column;padding:14px}.globalLoadPanel>b{max-width:100%;font-size:12px}}.globalLoad,.globalLoad.routeLoad{position:fixed!important;inset:0 0 0 250px!important;z-index:1250!important;width:auto!important;min-height:100dvh!important;display:grid!important;place-items:center!important;padding:18px!important;border:0!important;background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;pointer-events:none!important}.globalLoadPanel{pointer-events:none;min-height:46px;padding:10px 15px;border-radius:15px;background:color-mix(in srgb,var(--panel) 97%,transparent);box-shadow:0 14px 38px #141f3229;animation:v56ProgressIn .14s ease-out both}.globalLoadPanel>span{width:21px;height:21px;flex-basis:21px;border-width:2.5px}.globalLoadPanel>b{font-size:11.5px}@keyframes v56ProgressIn{0%{opacity:0;transform:translateY(3px) scale(.99)}to{opacity:1;transform:none}}@media(min-width:1025px)and (max-width:1280px){.globalLoad,.globalLoad.routeLoad{left:220px!important}}@media(max-width:1024px){.globalLoad,.globalLoad.routeLoad{inset:64px 0 0!important}}.tableWrap.paginationNeedsScroll:after{height:var(--pagination-tail-size, 68px)!important}.infiniteScrollStatus{min-height:58px;margin:14px 12px 18px;padding:12px 16px;display:flex;align-items:center;justify-content:center;gap:9px;border:1px dashed color-mix(in srgb,var(--line) 86%,transparent);border-radius:14px;color:var(--muted);background:color-mix(in srgb,var(--panel-soft) 92%,transparent);font-size:11px;font-weight:800;text-align:center}.infiniteScrollStatus.loading span{width:17px;height:17px;flex:0 0 17px;border:2px solid color-mix(in srgb,var(--primary) 18%,transparent);border-top-color:var(--primary);border-radius:50%;animation:spin .72s linear infinite}.infiniteScrollStatus.end{margin-top:18px;margin-bottom:22px;border-style:solid;color:var(--muted)}.dashboardChartCard{overflow:hidden}.dashboardChart{display:grid;gap:16px;min-width:0}.dashboardChartLegend{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px}.dashboardChartLegend span{display:inline-flex;align-items:center;gap:7px;color:var(--muted);font-size:10.5px;font-weight:800}.dashboardChartLegend i{width:10px;height:10px;border-radius:3px;background:var(--primary)}.dashboardChartLegend .monthTone2 i{background:var(--green)}.dashboardChartRows{display:grid;gap:12px}.dashboardChartRow{display:grid;grid-template-columns:minmax(110px,150px) minmax(0,1fr);gap:14px;align-items:start}.dashboardChartRow>b{padding-top:5px;font-size:11px;color:var(--text)}.dashboardChartBars{display:grid;gap:7px;min-width:0}.dashboardChartBarLine{display:grid;grid-template-columns:minmax(88px,118px) minmax(80px,1fr) minmax(105px,auto);gap:9px;align-items:center;min-width:0}.dashboardChartBarLine>span{color:var(--muted);font-size:9.5px;white-space:nowrap}.dashboardChartBarLine>strong{font-size:10px;text-align:right;white-space:nowrap}.dashboardChartTrack{height:10px;overflow:hidden;border-radius:999px;background:color-mix(in srgb,var(--line) 52%,transparent)}.dashboardChartTrack i{display:block;height:100%;min-width:0;border-radius:inherit;background:linear-gradient(90deg,var(--primary),color-mix(in srgb,var(--primary) 65%,white));transition:width .32s ease}.dashboardChartTrack i.monthTone2{background:linear-gradient(90deg,var(--green),color-mix(in srgb,var(--green) 65%,white))}.dashboardChartTrack i.negative{background:linear-gradient(90deg,var(--danger),color-mix(in srgb,var(--danger) 65%,white))}@media(max-width:720px){.dashboardChartRow{grid-template-columns:1fr;gap:6px}.dashboardChartBarLine{grid-template-columns:76px minmax(70px,1fr)}.dashboardChartBarLine>strong{grid-column:2;text-align:left}}.tableWrap{scroll-behavior:smooth!important;overscroll-behavior-y:contain;scrollbar-gutter:stable}.tableWrap tbody tr[data-page-index]{animation:v58RowReveal .24s ease-out both}@keyframes v58RowReveal{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.scrollOnlyPagination{min-height:48px;display:flex!important;align-items:center;justify-content:space-between;gap:12px;padding-top:10px;border-top:1px solid color-mix(in srgb,var(--line) 88%,transparent)}.scrollOnlyPagination .pageInfo{margin-left:auto;display:inline-flex;align-items:center;justify-content:flex-end;gap:9px;color:var(--muted);white-space:nowrap}.scrollOnlyPagination .pageInfo span,.scrollOnlyPagination .pageInfo small{font-size:10.5px;font-weight:800}.scrollOnlyPagination .pageInfo b{color:var(--text);font-size:11.5px;font-variant-numeric:tabular-nums}.scrollOnlyPagination .pageInfo small{min-width:74px;padding:5px 9px;border:1px solid var(--line);border-radius:999px;color:var(--primary);background:var(--purple-soft);text-align:center}.scrollOnlyPagination .pageSizeControl{flex:0 0 auto}.scrollOnlyPagination .pageSizeSelect{min-width:108px}.scrollNavigationRail{position:fixed;z-index:1450;width:36px;pointer-events:none}.scrollNavigationButton{position:absolute;left:0;width:34px;height:34px;display:grid;place-items:center;padding:0;border:1px solid color-mix(in srgb,var(--primary) 24%,var(--line));border-radius:11px;color:var(--primary);background:color-mix(in srgb,var(--panel) 96%,transparent);box-shadow:0 8px 22px #141f3224;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);cursor:pointer;pointer-events:auto;transition:transform .16s ease,box-shadow .16s ease,background-color .16s ease}.scrollNavigationButton.top{top:0}.scrollNavigationButton.bottom{bottom:0}.scrollNavigationButton:hover{transform:translateY(-1px);background:var(--purple-soft);box-shadow:0 10px 26px #141f322e}.scrollNavigationButton:active{transform:scale(.96)}.scrollNavigationButton svg{width:18px;height:18px;fill:currentColor}.infiniteScrollStatus.paginationLoadReserve{min-height:90px;height:var(--reserve-height, 180px);max-height:560px;margin:12px 14px 18px;animation:v58ReserveGrow .34s cubic-bezier(.2,.8,.2,1) both}@keyframes v58ReserveGrow{0%{height:72px;opacity:.45}to{height:var(--reserve-height, 180px);opacity:1}}.infiniteScrollStatus.end{margin:18px 14px 28px!important;padding-block:16px!important}.financeEmployeeReportModal .financeDetailPeriodToolbar{position:sticky;top:0;z-index:8;margin:-2px 0 12px;padding:8px 0 10px;background:linear-gradient(180deg,var(--panel) 76%,color-mix(in srgb,var(--panel) 90%,transparent));-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.financeEmployeeReportModal .financeDetailPeriodToolbar .filterToolbar{margin:0}.financeEmployeeReportModal .financeEmployeeDetail{gap:16px}.financeEmployeeReportModal .financeReportCard>.sectionTitleRow,.financeEmployeeReportModal .financeAnalysisCard>.sectionTitleRow,.financeEmployeeReportModal .teacherFinanceGroups>.sectionTitleRow,.financeEmployeeReportModal .financeEmployeeDetail>.card>.sectionTitleRow{margin-bottom:10px;padding-bottom:2px}.financeEmployeeReportModal .sectionTitleRow h3{line-height:1.35}.financeEmployeeReportModal .teacherFinanceGroups .sectionTitleRow{align-items:center}.financeEmployeeReportModal .teacherFinanceGroups .sectionTitleRow .badge{margin-left:auto}.financeGroupTable .groupIdentityCell{min-width:150px;display:inline-flex;align-items:center;gap:8px;white-space:nowrap}.financeGroupTable .groupIdentityCell b{min-width:0}@media(max-width:760px){.scrollNavigationRail{width:32px}.scrollNavigationButton{width:30px;height:30px;border-radius:10px}.scrollNavigationButton svg{width:16px;height:16px}.scrollOnlyPagination{align-items:stretch;flex-direction:column-reverse}.scrollOnlyPagination .pageInfo{width:100%;justify-content:space-between}.scrollOnlyPagination .pageSizeControl,.scrollOnlyPagination .pageSizeSelect{width:100%}.financeEmployeeReportModal .financeDetailPeriodToolbar{padding-top:6px}.financeEmployeeReportModal .teacherFinanceGroups .sectionTitleRow{flex-direction:row}}.routeContent{min-width:0;min-height:calc(100dvh - 60px);animation:v58RouteContentIn .24s cubic-bezier(.2,.75,.25,1) both}@keyframes v58RouteContentIn{0%{opacity:.72;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.routeContent{animation:none}}.mainContent{view-transition-name:crm-main-content}.sidebar{view-transition-name:crm-sidebar}::view-transition-old(crm-main-content){animation:v58OldRoute .22s cubic-bezier(.4,0,.2,1) both}::view-transition-new(crm-main-content){animation:v58NewRoute .28s cubic-bezier(.2,.75,.25,1) both}::view-transition-old(crm-sidebar),::view-transition-new(crm-sidebar){animation:none}@keyframes v58OldRoute{to{opacity:.4;transform:translateY(-3px)}}@keyframes v58NewRoute{0%{opacity:.45;transform:translateY(5px)}}.scrollOnlyPagination{justify-content:flex-end!important}.scrollOnlyPagination .pageInfo{margin-left:auto}.paginationSettingsCard{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:14px;flex:0 0 auto}.paginationSettingsCopy{min-width:0}.paginationSettingsCopy h3{margin:0;font-size:14px}.paginationSettingsCopy p{margin:4px 0 0;color:var(--muted);font-size:11px}.paginationSettingsActions{display:flex;align-items:center;gap:9px;flex:0 0 auto}.paginationSettingsActions .select{width:132px}.infiniteScrollStatus.paginationLoadReserve{min-height:0!important;height:var(--reserve-height, 220px)!important;max-height:none!important;overflow:hidden;align-items:flex-start!important;padding-top:18px!important;will-change:height,opacity;animation:v58ReserveGrow .72s cubic-bezier(.16,.78,.22,1) both!important}@keyframes v58ReserveGrow{0%{height:24px;opacity:.15;transform:translateY(-2px)}45%{opacity:.78}to{height:var(--reserve-height, 220px);opacity:1;transform:translateY(0)}}.tableWrap tbody tr[data-page-index]{animation:v58RowReveal .18s ease-out both!important}@keyframes v58RowReveal{0%{opacity:.72}to{opacity:1}}.scrollNavigationRail.centered{z-index:1450;width:36px;opacity:0;visibility:hidden;transform:translateY(5px) scale(.96);transition:opacity .22s ease,visibility .22s ease,transform .22s ease}.scrollNavigationRail.centered.visible{opacity:1;visibility:visible;transform:translateY(0) scale(1)}.scrollNavigationRail.centered:not(.visible) .scrollNavigationButton{pointer-events:none!important}.scrollNavigationRail.centered .scrollNavigationButton{left:1px;border-radius:999px;background:color-mix(in srgb,var(--panel) 94%,transparent)}.scrollNavigationRail.centered .scrollNavigationButton.top{top:0}.scrollNavigationRail.centered .scrollNavigationButton.bottom{bottom:0}.dashboardPage{min-width:0}.dashboardStickyHead{position:sticky;top:0;z-index:34;margin:-10px -4px 16px;padding:10px 4px 12px;background:linear-gradient(180deg,var(--bg) 0%,color-mix(in srgb,var(--bg) 96%,transparent) 78%,transparent 100%);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}@media(max-width:1024px){.dashboardStickyHead{top:64px}}@media(max-width:680px){.paginationSettingsCard{align-items:stretch;flex-direction:column}.paginationSettingsActions{width:100%}.paginationSettingsActions .select{flex:1 1 auto;width:auto}.paginationSettingsActions .btn{flex:0 0 auto}.scrollNavigationRail.centered{width:34px}}.routeContent{animation:none!important;opacity:1!important;transform:none!important}.mainContent,.sidebar{view-transition-name:none!important}::view-transition-old(root),::view-transition-new(root),::view-transition-old(crm-main-content),::view-transition-new(crm-main-content),::view-transition-old(crm-sidebar),::view-transition-new(crm-sidebar){animation:none!important}.scrollNavigationRail.centered{opacity:1!important;visibility:visible!important;transform:none!important;transition:none!important}.scrollNavigationRail.centered .scrollNavigationButton{opacity:0;visibility:hidden;pointer-events:none!important;transform:none!important;transition:opacity .2s ease,visibility .2s ease,box-shadow .16s ease,background-color .16s ease!important}.scrollNavigationRail.centered.visible.direction-up .scrollNavigationButton.top,.scrollNavigationRail.centered.visible.direction-down .scrollNavigationButton.bottom{opacity:1;visibility:visible;pointer-events:auto!important;transform:none!important}.scrollNavigationRail.centered .scrollNavigationButton:hover,.scrollNavigationRail.centered .scrollNavigationButton:active{transform:none!important}.dashboardPage{min-width:0;overflow:visible!important;contain:none!important}.dashboardStickyHead{position:sticky!important;top:0!important;z-index:1200!important;width:calc(100% + clamp(28px,4vw,62px));margin:-22px calc(0px - clamp(14px,2vw,31px)) 16px!important;padding:22px clamp(14px,2vw,31px) 13px!important;background:var(--bg)!important;background-image:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-bottom:1px solid color-mix(in srgb,var(--line) 84%,transparent);box-shadow:0 10px 20px color-mix(in srgb,var(--bg) 82%,transparent)}@media(max-width:1024px){.dashboardStickyHead{top:64px!important;width:calc(100% + 28px);margin:-13px -14px 14px!important;padding:13px 14px 12px!important}}@media(max-width:680px){.dashboardStickyHead{width:calc(100% + 20px);margin-inline:-10px!important;padding-inline:10px!important}}.mainContent{overflow-x:clip!important;overflow-y:visible!important;background:var(--bg)}.routeContent,.dashboardPage{overflow:visible!important;contain:none!important}.dashboardPage{position:relative;min-width:0;background:var(--bg)}.dashboardStickyHead{position:sticky!important;top:0!important;z-index:80!important;width:100%!important;margin:0 0 16px!important;padding:0 0 13px!important;background:var(--bg)!important;background-image:none!important;border:0!important;box-shadow:0 8px 0 var(--bg)!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;isolation:isolate}.dashboardStickyHead:before{content:"";position:absolute;z-index:-1;inset:-25px calc(0px - clamp(16px,2.25vw,34px)) -8px;background:var(--bg);pointer-events:none}@media(max-width:1024px){.dashboardStickyHead{top:64px!important}.dashboardStickyHead:before{inset-inline:-14px}}@media(max-width:640px){.dashboardStickyHead:before{inset-inline:-10px}}.infiniteScrollStatus.paginationLoadReserve{animation-duration:.9s!important;animation-timing-function:cubic-bezier(.18,.72,.2,1)!important;contain:layout paint}.tableWrap tbody tr[data-page-index]{animation-duration:.24s!important}.financeEmployeeReportModal .modalBody{display:flex!important;flex-direction:column;min-height:0;overflow:hidden!important;contain:none!important;padding-right:0}.financeEmployeeReportScroll{flex:1 1 auto;min-width:0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-gutter:stable;scroll-behavior:auto;padding-right:3px;touch-action:auto}.financeEmployeeReportScroll .financeDetailPeriodToolbar{position:sticky!important;top:0!important;z-index:12!important;margin:0 0 12px!important;padding:8px 0 10px!important;background:var(--panel)!important;box-shadow:0 7px 0 var(--panel)}.financeEmployeeReportScroll .tableWrap{max-height:none!important;overflow-x:auto!important;overflow-y:hidden!important;overscroll-behavior-x:contain;scrollbar-gutter:auto}@media(max-width:820px){.financeEmployeeReportScroll{padding-right:0}.financeEmployeeReportScroll .tableWrap{overflow:visible!important}}.mainContent{--dashboard-sticky-top: 22px}.dashboardStickyHead{top:var(--dashboard-sticky-top)!important;margin-top:0!important;transform:translateZ(0);will-change:auto}.dashboardStickyHead:before{top:calc(0px - var(--dashboard-sticky-top) - 3px)!important;bottom:-9px!important}@media(max-width:1024px){.mainContent{--dashboard-sticky-top: 86px}.dashboardStickyHead{top:var(--dashboard-sticky-top)!important}}@media(max-width:640px){.mainContent{--dashboard-sticky-top: 73px}.dashboardStickyHead{top:var(--dashboard-sticky-top)!important}}.paginationLoadReserve{display:block;position:relative;width:calc(100% - 28px);min-height:64px;height:var(--reserve-height, 220px);margin:0 14px;overflow:visible;pointer-events:none;contain:layout paint;will-change:height;animation:v61ReserveExpand 1.05s cubic-bezier(.16,.76,.2,1) both}@keyframes v61ReserveExpand{0%{height:64px}35%{height:calc(var(--reserve-height, 220px) * .38)}to{height:var(--reserve-height, 220px)}}.paginationLoadReserve>.paginationLoadSticky{position:sticky;bottom:12px;z-index:6;width:min(430px,calc(100% - 12px));min-height:52px!important;height:auto!important;max-height:none!important;margin:0 auto!important;padding:11px 15px!important;align-items:center!important;justify-content:center;overflow:hidden;pointer-events:none;animation:v61LoaderIn .18s ease-out both!important}@keyframes v61LoaderIn{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}.modal.financeEmployeeReportModal{width:min(1200px,calc(100vw - 24px))!important}.financeEmployeeReportScroll,.financeEmployeeReportScroll .teacherFinanceGroups,.financeEmployeeReportScroll .financeGroupTable{min-width:0!important;max-width:100%!important}.financeEmployeeReportScroll .financeGroupTable{overflow-x:hidden!important;overflow-y:visible!important}.financeEmployeeReportScroll .financeGroupTable table{width:100%!important;min-width:0!important;table-layout:fixed!important}.financeEmployeeReportScroll .financeGroupTable th,.financeEmployeeReportScroll .financeGroupTable td{min-width:0!important;padding-inline:8px;white-space:normal!important;overflow:hidden;overflow-wrap:anywhere;word-break:normal;text-overflow:clip;line-height:1.3}.financeEmployeeReportScroll .financeGroupTable th:nth-child(1),.financeEmployeeReportScroll .financeGroupTable td:nth-child(1){width:18%}.financeEmployeeReportScroll .financeGroupTable th:nth-child(2),.financeEmployeeReportScroll .financeGroupTable td:nth-child(2){width:19%}.financeEmployeeReportScroll .financeGroupTable th:nth-child(3),.financeEmployeeReportScroll .financeGroupTable td:nth-child(3){width:11%}.financeEmployeeReportScroll .financeGroupTable th:nth-child(4),.financeEmployeeReportScroll .financeGroupTable td:nth-child(4),.financeEmployeeReportScroll .financeGroupTable th:nth-child(5),.financeEmployeeReportScroll .financeGroupTable td:nth-child(5),.financeEmployeeReportScroll .financeGroupTable th:nth-child(6),.financeEmployeeReportScroll .financeGroupTable td:nth-child(6){width:14%}.financeEmployeeReportScroll .financeGroupTable th:nth-child(7),.financeEmployeeReportScroll .financeGroupTable td:nth-child(7){width:10%}.financeEmployeeReportScroll .financeGroupTable .groupIdentityCell{min-width:0!important;max-width:100%;display:flex;flex-wrap:wrap;gap:5px 7px;white-space:normal}.financeEmployeeReportScroll .financeGroupTable .financeMergedCell{min-width:0;max-width:100%}.financeEmployeeReportScroll .financeGroupTable .smartText{max-width:100%;white-space:normal;overflow-wrap:anywhere}@media(max-width:820px){.modal.financeEmployeeReportModal{width:100%!important}.financeEmployeeReportScroll .financeGroupTable{overflow:visible!important}.financeEmployeeReportScroll .financeGroupTable table{min-width:0!important}}.reportsPage.dataPage{height:calc(100dvh - 53px);min-height:0;overflow:auto;display:block;scroll-behavior:smooth;overscroll-behavior:contain;scrollbar-gutter:stable;padding-bottom:34px}.reportStickyHeader{position:sticky;top:0;z-index:24;display:flex;align-items:center;justify-content:space-between;gap:22px;min-height:104px;margin:-1px -1px 0;padding:18px 22px;border:1px solid color-mix(in srgb,var(--line) 88%,transparent);border-radius:0 0 22px 22px;background:color-mix(in srgb,var(--bg) 90%,transparent);box-shadow:0 14px 34px color-mix(in srgb,#0f172a 10%,transparent);-webkit-backdrop-filter:blur(18px) saturate(145%);backdrop-filter:blur(18px) saturate(145%)}.reportHeaderTitle{min-width:0}.reportHeaderTitle>span,.reportSectionTitle>div>span,.transferSafetyCard>span{display:block;margin-bottom:3px;color:var(--primary);font-size:10px;font-weight:900;letter-spacing:.12em;text-transform:uppercase}.reportHeaderTitle h1{margin:0;font-size:clamp(22px,3vw,31px);line-height:1.08}.reportHeaderTitle p{margin:6px 0 0;color:var(--muted);font-size:12px}.reportMonthPicker{display:grid;gap:6px;min-width:210px;padding:10px 12px;border:1px solid var(--line);border-radius:15px;background:var(--panel);box-shadow:inset 0 1px color-mix(in srgb,white 40%,transparent)}.reportMonthPicker>span{color:var(--muted);font-size:10px;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.reportMonthPicker .input{min-height:38px;border:0;padding:0;background:transparent;font-weight:850}.reportTabs{position:relative;z-index:5;display:flex;gap:7px;margin:14px 0 0;padding:7px;overflow-x:auto;border:1px solid var(--line);border-radius:17px;background:var(--panel);scrollbar-width:none}.reportTabs::-webkit-scrollbar{display:none}.reportTabs button{flex:1 0 auto;min-width:108px;min-height:40px;border-radius:12px;white-space:nowrap}.reportContent{display:grid;gap:17px;padding-top:17px}.reportMetricsGrid{display:grid;gap:13px}.reportMetricsGrid.four{grid-template-columns:repeat(4,minmax(0,1fr))}.reportMetricsGrid.six{grid-template-columns:repeat(3,minmax(0,1fr))}.reportMetric{position:relative;isolation:isolate;min-width:0;min-height:128px;display:flex;align-items:flex-start;gap:13px;overflow:hidden;padding:18px;border-color:color-mix(in srgb,var(--report-tone, #2563eb) 22%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--report-tone, #2563eb) 8%,var(--panel)) 0%,var(--panel) 72%)}.reportMetric-blue{--report-tone: #2563eb}.reportMetric-green{--report-tone: #059669}.reportMetric-violet{--report-tone: #7c3aed}.reportMetric-amber{--report-tone: #d97706}.reportMetric-red{--report-tone: #dc2626}.reportMetricGlow{position:absolute;z-index:-1;width:120px;height:120px;right:-45px;bottom:-56px;border-radius:50%;background:color-mix(in srgb,var(--report-tone) 17%,transparent);filter:blur(4px)}.reportMetricIcon{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:12px;color:#fff;background:var(--report-tone);box-shadow:0 9px 22px color-mix(in srgb,var(--report-tone) 30%,transparent);font-size:15px;font-weight:950}.reportMetricBody{min-width:0;display:grid;gap:5px}.reportMetricBody>span{min-height:28px;color:var(--muted);font-size:11px;font-weight:800;line-height:1.25}.reportMetricBody strong{overflow-wrap:anywhere;font-size:clamp(17px,2.1vw,25px);line-height:1.08}.reportMetricBody small{color:var(--muted);font-size:10px}.reportChartCard{min-height:338px;padding:20px 22px;overflow:hidden}.reportSectionTitle{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.reportSectionTitle h2,.reportSectionTitle h3{margin:0;line-height:1.2}.reportSectionTitle h2{font-size:18px}.reportSectionTitle h3{font-size:15px}.reportSectionTitle>small{max-width:340px;color:var(--muted);font-size:10px;line-height:1.4;text-align:right}.reportLegend{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap;color:var(--muted);font-size:10px;font-weight:750}.reportLegend i{width:10px;height:10px;border-radius:3px}.reportLegend i.primary{background:#2563eb}.reportLegend i.secondary{margin-left:7px;background:#f59e0b}.reportChart{position:relative;height:248px;padding:20px 12px 0;border-radius:16px;background:color-mix(in srgb,var(--panel-strong) 70%,transparent)}.reportChartGrid{position:absolute;inset:20px 12px 34px;display:grid;grid-template-rows:repeat(4,1fr);pointer-events:none}.reportChartGrid i{border-top:1px dashed color-mix(in srgb,var(--line) 78%,transparent)}.reportChartBars{position:relative;z-index:2;height:100%;display:flex;align-items:stretch;justify-content:space-around;gap:min(12vw,100px);padding:0 min(8vw,90px)}.reportChartGroup{min-width:96px;flex:0 1 230px;height:100%;display:grid;grid-template-rows:minmax(0,1fr) 28px;gap:7px;text-align:center}.reportChartValues{min-height:0;display:flex;align-items:flex-end;justify-content:center;gap:12px}.reportBar{position:relative;width:min(62px,32%);min-height:5px;border-radius:10px 10px 4px 4px;transition:height .45s ease;box-shadow:0 10px 22px color-mix(in srgb,#0f172a 10%,transparent)}.reportBar.primary{background:linear-gradient(180deg,#60a5fa,#2563eb)}.reportBar.secondary{background:linear-gradient(180deg,#fcd34d,#f59e0b)}.reportBar b{position:absolute;left:50%;top:-23px;transform:translate(-50%);color:var(--text);font-size:10px;white-space:nowrap}.reportChartGroup>span{color:var(--muted);font-size:11px;font-weight:800}.reportBreakdownGrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.reportBreakdownCard{min-width:0;padding:18px}.reportBreakdownCard .reportSectionTitle>b{min-width:34px;height:34px;display:grid;place-items:center;padding:0 8px;border-radius:11px;color:var(--primary);background:color-mix(in srgb,var(--primary) 10%,transparent)}.reportBreakdownList{display:grid;gap:13px;max-height:330px;overflow:auto;padding-right:3px}.reportBreakdownRow{display:grid;gap:6px}.reportBreakdownRow>div{display:flex;justify-content:space-between;gap:10px;font-size:11px}.reportBreakdownRow>div .smartText{font-weight:750}.reportBreakdownRow>div b{color:var(--primary)}.reportBreakdownRow>span{height:7px;overflow:hidden;border-radius:99px;background:color-mix(in srgb,var(--line) 65%,transparent)}.reportBreakdownRow>span>i{display:block;height:100%;min-width:4px;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#38bdf8)}.reportTableCard{height:min(680px,76dvh);min-height:510px;display:flex;flex-direction:column;overflow:hidden;padding:18px}.reportTableCard>.reportSectionTitle,.reportTableCard>.filterToolbar,.reportTableCard>.errorBox,.reportTableCard>.pagination{flex:0 0 auto}.reportTableCard>.tableWrap{flex:1 1 auto;min-height:0;overflow:auto!important}.reportTableCard .tableWrap table{min-width:1050px}.reportTableCard .reportDenseTable table{table-layout:auto}.reportTableCard th{font-size:9.5px;letter-spacing:.02em}.reportTableCard td{font-size:10.5px}.reportPerson{min-width:130px;display:grid;gap:3px}.reportPerson>.smartText{font-weight:850}.reportPerson small{color:var(--muted);font-size:9.5px}.reportPercent{position:relative;isolation:isolate;min-width:72px;height:26px;display:grid;place-items:center;overflow:hidden;border:1px solid color-mix(in srgb,var(--percent-tone) 20%,var(--line));border-radius:9px;background:color-mix(in srgb,var(--percent-tone) 7%,var(--panel))}.reportPercent>i{position:absolute;z-index:-1;inset:0 auto 0 0;opacity:.14;background:var(--percent-tone)}.reportPercent>b{color:var(--percent-tone);font-size:9.5px}.reportPercent-ok{--percent-tone: #059669}.reportPercent-warn{--percent-tone: #d97706}.reportPercent-danger{--percent-tone: #dc2626}.reportPercent.strong{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--percent-tone) 18%,transparent)}.dataTransferGrid{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(300px,.75fr);gap:16px;align-items:start}.transferControlCard{padding:clamp(18px,3vw,28px)}.transferModeSwitch{display:grid;grid-template-columns:repeat(2,1fr);gap:7px;margin-bottom:24px;padding:6px;border:1px solid var(--line);border-radius:16px;background:var(--panel-strong)}.transferModeSwitch button{min-height:43px;border:0;border-radius:11px;color:var(--muted);background:transparent;font-weight:850;cursor:pointer}.transferModeSwitch button.active{color:#fff;background:linear-gradient(135deg,#1d4ed8,#2563eb);box-shadow:0 9px 22px #1d4ed82d}.transferIntro{display:flex;gap:14px;align-items:flex-start;margin-bottom:22px;padding:16px;border:1px solid color-mix(in srgb,#2563eb 22%,var(--line));border-radius:16px;background:color-mix(in srgb,#2563eb 6%,var(--panel))}.transferIntro>span{width:38px;height:38px;flex:0 0 38px;display:grid;place-items:center;border-radius:12px;color:#fff;background:#2563eb;font-weight:950}.transferIntro.danger{border-color:color-mix(in srgb,#dc2626 25%,var(--line));background:color-mix(in srgb,#dc2626 5%,var(--panel))}.transferIntro.danger>span{background:#dc2626}.transferIntro h2{margin:0 0 6px;font-size:18px}.transferIntro p{margin:0;color:var(--muted);font-size:11px;line-height:1.55}.transferFields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:18px}.transferFields label{display:grid;gap:7px}.transferFields label>span{color:var(--muted);font-size:10px;font-weight:850}.transferDropZone{min-height:190px;display:grid;place-items:center;align-content:center;gap:8px;margin-bottom:16px;padding:24px;border:1.5px dashed color-mix(in srgb,var(--primary) 45%,var(--line));border-radius:18px;background:color-mix(in srgb,var(--primary) 4%,var(--panel));text-align:center;cursor:pointer}.transferDropZone input{position:absolute;width:1px;height:1px;opacity:0}.transferDropZone b{font-size:15px;overflow-wrap:anywhere}.transferDropZone span{color:var(--muted);font-size:11px}.transferConfirm{display:flex;gap:10px;align-items:flex-start;margin:0 0 18px;color:var(--muted);font-size:11px;line-height:1.45}.transferConfirm input{margin-top:1px;accent-color:var(--primary)}.transferSide{display:grid;gap:14px}.transferSafetyCard{padding:22px;background:linear-gradient(145deg,color-mix(in srgb,#172554 94%,var(--panel)),color-mix(in srgb,#1d4ed8 78%,var(--panel)));color:#fff;border:0}.transferSafetyCard>span{color:#93c5fd}.transferSafetyCard h3{margin:0 0 8px;font-size:21px}.transferSafetyCard p{margin:0 0 18px;color:#dbeafe;font-size:11px;line-height:1.55}.transferSafetyCard>div{display:flex;gap:8px;margin-top:10px;color:#eff6ff;font-size:11px;font-weight:750}.transferSafetyCard>div b{color:#86efac}.transferProgressCard{padding:20px}.transferProgressCard.completed{border-color:color-mix(in srgb,#059669 30%,var(--line))}.transferProgressCard.failed{border-color:color-mix(in srgb,#dc2626 30%,var(--line))}.transferProgressHead{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.transferProgressHead>div{display:grid;gap:4px}.transferProgressHead span{color:var(--muted);font-size:10px;font-weight:800}.transferProgressHead strong{font-size:25px}.transferProgress{height:10px;overflow:hidden;margin:15px 0 10px;border-radius:99px;background:color-mix(in srgb,var(--line) 70%,transparent)}.transferProgress i{display:block;height:100%;min-width:2px;border-radius:inherit;background:linear-gradient(90deg,#2563eb,#22c55e);transition:width .35s ease}.transferProgressCard.failed .transferProgress i{background:#dc2626}.transferProgressCard p{min-height:34px;margin:0 0 14px;color:var(--muted);font-size:11px;line-height:1.45}@media(max-width:1180px){.reportMetricsGrid.four,.reportBreakdownGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.reportBreakdownGrid>:last-child{grid-column:1 / -1}.dataTransferGrid{grid-template-columns:1fr}.transferSide{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:1024px){.reportsPage.dataPage{height:calc(100dvh - 112px)}.reportStickyHeader{min-height:96px}.reportMetricsGrid.six{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:820px){.reportStickyHeader{align-items:stretch;flex-direction:column;gap:12px;padding:16px}.reportMonthPicker{width:100%;min-width:0;grid-template-columns:auto minmax(0,1fr);align-items:center}.reportMonthPicker>span{margin-right:8px}.reportBreakdownGrid{grid-template-columns:1fr}.reportBreakdownGrid>:last-child{grid-column:auto}.reportTableCard{height:auto;min-height:0;overflow:visible}.reportTableCard>.tableWrap{overflow:visible!important}.reportTableCard .tableWrap table{min-width:0}.transferFields,.transferSide{grid-template-columns:1fr}}@media(max-width:640px){.reportsPage.dataPage{height:calc(100dvh - 93px);padding-bottom:18px}.reportStickyHeader{border-radius:0 0 17px 17px}.reportHeaderTitle h1{font-size:22px}.reportHeaderTitle p{font-size:10.5px}.reportTabs{margin-top:10px}.reportTabs button{min-width:105px;min-height:38px;font-size:10.5px}.reportMetricsGrid.four,.reportMetricsGrid.six{grid-template-columns:1fr}.reportMetric{min-height:104px;padding:15px}.reportMetricBody>span{min-height:0}.reportChartCard{min-height:305px;padding:16px 13px}.reportSectionTitle{align-items:flex-start;flex-direction:column}.reportSectionTitle>small{text-align:left}.reportLegend{justify-content:flex-start}.reportChart{height:220px;padding-inline:3px}.reportChartBars{gap:16px;padding:0 8px}.reportChartGroup{min-width:82px}.reportChartValues{gap:7px}.reportBar{width:min(48px,38%)}.reportBreakdownCard{padding:15px}.reportTableCard{padding:14px}.reportTableCard .filterToolbar{padding:0}.dataTransferGrid{gap:12px}.transferControlCard,.transferSafetyCard,.transferProgressCard{padding:16px}.transferModeSwitch button{font-size:10px}.transferIntro{padding:13px}.transferIntro h2{font-size:16px}}@media(prefers-reduced-motion:reduce){.reportBar,.transferProgress i{transition:none}}.reportsPage.dataPage{height:calc(100dvh - 53px);min-height:0;overflow-y:auto;overflow-x:hidden;padding-bottom:28px;scroll-behavior:smooth;overscroll-behavior:contain;scrollbar-gutter:stable}.reportStickyShell{position:sticky;top:0;z-index:26;margin:0 0 12px;padding:8px 0 9px;border-bottom:1px solid color-mix(in srgb,var(--line) 86%,transparent);background:color-mix(in srgb,var(--bg) 94%,transparent);box-shadow:0 10px 22px color-mix(in srgb,#0f172a 7%,transparent);backdrop-filter:blur(16px) saturate(135%);-webkit-backdrop-filter:blur(16px) saturate(135%)}.reportPageHead{min-height:44px;margin:0;padding:0 2px;align-items:center;gap:12px}.reportPageHead h1{margin:0;font-size:clamp(18px,2.1vw,23px);line-height:1.1}.reportHeadFilter{width:auto;max-width:250px;margin:0;padding:4px!important;border-radius:12px}.reportHeadFilter .filterFields{min-width:0}.reportHeadFilter .compactMonthControl{width:170px;min-width:0;height:34px;min-height:34px;padding-block:5px;font-size:11px}.reportHeadFilter .filterClearButton{width:34px;height:34px;min-width:34px;min-height:34px}.reportTabs{display:flex;flex-wrap:wrap;gap:6px;margin:7px 0 0;padding:0 2px;overflow:visible;border:0;border-radius:0;background:transparent}.reportTabs button{flex:0 0 auto;min-width:0;min-height:34px;padding:6px 12px;border-radius:999px;font-size:11px}.reportContent{display:grid;gap:12px;min-width:0;padding-top:0}.reportMetricsGrid,.reportMetricsGrid.four,.reportMetricsGrid.six,.reportEmployeeMetrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,185px),1fr));gap:9px}.reportMetric{min-width:0;min-height:88px;display:grid;grid-template-columns:5px minmax(0,1fr);align-items:stretch;gap:11px;padding:13px 14px 12px 11px;overflow:hidden;border-color:color-mix(in srgb,var(--report-tone, #2563eb) 18%,var(--line));background:linear-gradient(145deg,color-mix(in srgb,var(--report-tone, #2563eb) 5%,var(--panel)) 0%,var(--panel) 78%)}.reportMetricMark{width:5px;height:100%;min-height:58px;border-radius:99px;background:var(--report-tone);box-shadow:0 5px 14px color-mix(in srgb,var(--report-tone) 25%,transparent)}.reportMetricBody{min-width:0;display:flex;flex-direction:column;justify-content:center;gap:5px}.reportMetricBody>span{min-height:0;color:var(--muted);font-size:10px;font-weight:800;line-height:1.28}.reportMetricBody strong{overflow-wrap:anywhere;font-size:clamp(16px,1.65vw,21px);line-height:1.08}.reportMetricBody small{font-size:9px}.reportChartCard{min-height:280px;padding:15px 16px}.reportSectionTitle{align-items:center;gap:10px;margin-bottom:12px}.reportSectionTitle>div>span,.transferSafetyCard>span{margin-bottom:2px;font-size:8.5px;letter-spacing:.1em}.reportSectionTitle h2{font-size:15px}.reportSectionTitle h3{font-size:13px}.reportSectionTitle>small{max-width:390px;font-size:9px}.reportChart{height:210px;padding:17px 8px 0;border-radius:13px}.reportChartGrid{inset:17px 8px 31px}.reportChartBars{gap:clamp(22px,8vw,88px);padding:0 clamp(10px,7vw,76px)}.reportChartGroup{min-width:84px;max-width:220px;grid-template-rows:minmax(0,1fr) 24px;gap:5px}.reportChartValues{gap:9px}.reportBar{width:min(54px,34%);border-radius:8px 8px 3px 3px}.reportBar b{top:-20px;font-size:9px}.reportChartGroup>span{font-size:10px}.reportLegend{font-size:9px;gap:5px}.reportLegend i{width:8px;height:8px}.reportBreakdownGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.reportBreakdownCard{padding:14px}.reportBreakdownCard .reportSectionTitle>b{min-width:29px;height:29px;border-radius:9px;font-size:10px}.reportBreakdownList{gap:10px;max-height:280px}.reportBreakdownRow{gap:5px}.reportBreakdownRow>div{font-size:10px}.reportBreakdownRow>span{height:6px}.reportTableCard{height:min(650px,74dvh);min-height:480px;padding:14px}.reportTableCard .filterToolbar{margin-bottom:10px;padding:7px}.reportTableCard .filterFields{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.reportTableCard .input,.reportTableCard .select{min-height:36px;height:36px;font-size:10px}.reportTableCard th{font-size:9px}.reportTableCard td{font-size:10px}.reportEmployeeTable .tableWrap table{min-width:780px}.reportGroupTable .tableWrap table{min-width:940px}.reportStudentTable .tableWrap table{min-width:1040px}.reportPercent{min-width:67px;height:24px;border-radius:8px}.reportPercent>b{font-size:9px}.reportLoading{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.reportLoading span{min-height:88px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(90deg,var(--panel) 20%,var(--panel-strong) 50%,var(--panel) 80%);background-size:220% 100%;animation:reportShimmer 1.25s linear infinite}@keyframes reportShimmer{to{background-position:-220% 0}}@media(max-width:1180px){.reportBreakdownGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.reportBreakdownGrid>:last-child{grid-column:1 / -1}}@media(max-width:1024px){.reportsPage.dataPage{height:calc(100dvh - 112px)}}@media(max-width:820px){.reportBreakdownGrid{grid-template-columns:1fr}.reportBreakdownGrid>:last-child{grid-column:auto}.reportTableCard{height:auto;min-height:0;overflow:visible}.reportTableCard>.tableWrap{overflow:visible!important}.reportTableCard .tableWrap table{min-width:0!important}}@media(max-width:640px){.reportsPage.dataPage{height:calc(100dvh - 93px);padding-bottom:16px}.reportStickyShell{padding:7px 0 8px}.reportPageHead{min-height:39px}.reportPageHead h1{font-size:18px}.reportHeadFilter{max-width:205px}.reportHeadFilter .compactMonthControl{width:128px}.reportTabs{gap:5px;margin-top:6px}.reportTabs button{min-height:31px;padding:5px 9px;font-size:9.5px}.reportMetricsGrid,.reportMetricsGrid.four,.reportMetricsGrid.six,.reportEmployeeMetrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.reportMetric{min-height:78px;padding:10px 10px 10px 8px;gap:8px}.reportMetricMark{min-height:50px;width:4px}.reportMetricBody>span{font-size:8.8px}.reportMetricBody strong{font-size:14px}.reportChartCard{min-height:260px;padding:13px 10px}.reportSectionTitle{align-items:flex-start;flex-direction:column;margin-bottom:10px}.reportSectionTitle>small{text-align:left}.reportLegend{justify-content:flex-start}.reportChart{height:195px;padding-inline:2px}.reportChartBars{gap:12px;padding:0 5px}.reportChartGroup{min-width:70px}.reportChartValues{gap:6px}.reportBar{width:min(42px,39%)}.reportTableCard{padding:11px}.reportLoading{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.reportLoading span{min-height:78px}}@media(max-width:390px){.reportPageHead{align-items:stretch;flex-direction:column;gap:6px}.reportHeadFilter{width:100%;max-width:none}.reportHeadFilter .filterFields{flex:1 1 auto}.reportHeadFilter .compactMonthControl{width:100%}.reportMetricsGrid,.reportMetricsGrid.four,.reportMetricsGrid.six,.reportEmployeeMetrics{grid-template-columns:1fr}}@media(max-width:1050px){.reportTableCard>.tableWrap{overflow:visible!important;border:0;background:transparent}.reportTableCard .tableWrap table,.reportTableCard .tableWrap thead,.reportTableCard .tableWrap tbody,.reportTableCard .tableWrap tr,.reportTableCard .tableWrap td{display:block;width:100%;min-width:0!important}.reportTableCard .tableWrap table{background:transparent}.reportTableCard .tableWrap thead{display:none}.reportTableCard .tableWrap tbody{display:grid;gap:9px}.reportTableCard .tableWrap tr{padding:10px 12px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow-sm)}.reportTableCard .tableWrap td{display:grid;grid-template-columns:minmax(145px,31%) minmax(0,1fr);gap:12px;align-items:center;padding:7px 0;border:0;white-space:normal;overflow:visible;text-overflow:clip;font-size:12px}.reportTableCard .tableWrap td:before{content:attr(data-label);color:var(--muted);font-size:9px;font-weight:950;letter-spacing:.035em;text-transform:uppercase}.reportTableCard .tableWrap td:last-child{padding-top:9px;border-top:1px solid var(--line)}.reportTableCard .tableWrap .smartText{white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}}@media(max-width:540px){.reportTableCard .tableWrap td{grid-template-columns:minmax(105px,39%) minmax(0,1fr);gap:9px;font-size:11px}.reportMetricBody>span{font-size:9.5px}}.reportsPage.dataPage{overscroll-behavior-y:auto;overflow-x:clip}.reportTableCard>.tableWrap{overscroll-behavior-y:auto!important;overscroll-behavior-x:contain}.mainContent,.dataPage,.reportContent,.reportTableCard,.reportTableCard>.tableWrap,.dataTransferGrid,.transferControlCard,.transferSide{min-width:0}.transferDropZone{position:relative;min-height:82px;width:100%;max-width:100%;display:grid;grid-template-columns:44px minmax(0,1fr) auto;place-items:initial;align-items:center;align-content:initial;gap:11px;margin-bottom:14px;padding:11px 12px;overflow:hidden;border-radius:14px;text-align:left}.transferDropZone input{position:absolute;inline-size:1px;block-size:1px;opacity:0;pointer-events:none}.transferDropIcon{width:44px;height:44px;display:grid;place-items:center;border-radius:11px;color:var(--primary);background:color-mix(in srgb,var(--primary) 11%,var(--panel));font-size:9px;font-weight:950;letter-spacing:.06em}.transferDropText{min-width:0;display:grid;gap:4px}.transferDropText b{min-width:0;overflow:hidden;color:var(--text);font-size:12px;text-overflow:ellipsis;white-space:nowrap}.transferDropText small{min-width:0;overflow:hidden;color:var(--muted);font-size:9.5px;text-overflow:ellipsis;white-space:nowrap}.transferDropAction{min-height:32px;display:inline-flex;align-items:center;justify-content:center;padding:6px 11px;border:1px solid color-mix(in srgb,var(--primary) 30%,var(--line));border-radius:9px;color:var(--primary)!important;background:var(--panel);font-size:10px!important;font-weight:850;white-space:nowrap}@media(max-width:520px){.transferDropZone{min-height:72px;grid-template-columns:38px minmax(0,1fr);gap:9px;padding:9px 10px}.transferDropIcon{width:38px;height:38px;border-radius:9px;font-size:8px}.transferDropAction{display:none}.transferDropText b{font-size:11px}.transferDropText small{font-size:8.5px}}.teacherDashboardPage{min-width:0}.teacherDashboardSection{min-width:0;overflow:hidden}.teacherDashboardSection>.sectionTitleRow{margin-bottom:12px}.teacherDashboardSection .sectionTitleRow h2{margin-bottom:3px}.teacherDashboardSection .sectionTitleRow p{margin:0;color:var(--muted);font-size:11px}.teacherMetricCards{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.teacherMetricCards .card{min-width:0;min-height:88px;padding:13px 14px;border-radius:15px;box-shadow:none}.teacherMetricCards .card span{display:block;min-height:28px;color:var(--muted);font-size:10.5px;font-weight:850;line-height:1.35}.teacherMetricCards .card b{display:block;margin-top:7px;font-size:clamp(14px,1.45vw,19px);line-height:1.1;overflow-wrap:anywhere}.teacherMetricCards .metricTone{position:relative;isolation:isolate}.teacherMetricCards .metricTone:after{content:"";position:absolute;inset:auto 12px 9px auto;z-index:-1;width:34px;height:34px;border-radius:50%;opacity:.08;background:currentColor}.teacherMetricCards .metricTone.primary{color:var(--primary-strong)}.teacherMetricCards .metricTone.primary span,.teacherMetricCards .metricTone.purple span,.teacherMetricCards .metricTone.green span,.teacherMetricCards .metricTone.warning span{color:var(--muted)}.teacherMetricCards .metricTone.purple{color:#7254d8}.teacherMetricCards .metricTone.green{color:#0f9560}.teacherMetricCards .metricTone.warning{color:#c57810}.realtimeDashboardSection{border-color:color-mix(in srgb,var(--green) 28%,var(--line))}.teacherScheduleBox{display:grid;gap:8px;min-width:0}.teacherScheduleRow{display:grid;grid-template-columns:minmax(110px,.8fr) minmax(150px,1.25fr) minmax(110px,.75fr) minmax(150px,.85fr);gap:12px;align-items:center;min-width:0;padding:11px 12px;border:1px solid var(--line);border-radius:13px;background:var(--panel-soft)}.teacherScheduleHead{padding-block:7px;border:0;border-bottom:1px solid var(--line);border-radius:0;color:var(--muted);background:transparent;font-size:9.5px;font-weight:950;letter-spacing:.04em;text-transform:uppercase}.teacherScheduleRow>*{min-width:0}.teacherStudentRatio{display:inline-flex;align-items:center;gap:7px}.teacherStudentRatio i{color:var(--muted);font-style:normal}.teacherGroupFilters{margin-bottom:12px}.teacherGroupFilters>.filterFields{display:grid!important;grid-template-columns:minmax(170px,1.1fr) minmax(150px,.75fr) minmax(180px,1fr);gap:8px;width:100%;min-width:0}.teacherGroupFilters>.filterFields>*{width:100%!important;min-width:0!important}.teacherGroupStatsTable{display:grid;gap:7px;min-width:0}.teacherGroupStatRow{display:grid;grid-template-columns:minmax(120px,.9fr) minmax(155px,1.25fr) minmax(115px,.8fr) minmax(115px,.85fr) minmax(115px,.85fr) minmax(115px,.85fr) minmax(78px,.55fr);gap:9px;align-items:center;min-width:0;padding:10px 11px;border:1px solid var(--line);border-radius:13px;background:var(--panel-soft)}.teacherGroupStatHead{padding-block:7px;color:var(--muted);border:0;border-bottom:1px solid var(--line);border-radius:0;background:transparent;font-size:9px;font-weight:950;text-transform:uppercase;letter-spacing:.035em}.teacherGroupStatRow>*{min-width:0;font-size:10.5px}.teacherGroupStatRow>div:first-child{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.teacherGroupStatRow>div:nth-child(2){display:grid;gap:2px}.teacherGroupStatRow small{color:var(--muted)}.teacherGroupStatRow .negativeMoney{color:var(--danger)}.groupsPage .groupsTableCard .tableWrap{max-width:100%}.groupsPage .groupsTableCard table{width:100%}@media(max-width:1180px){.teacherMetricCards{grid-template-columns:repeat(2,minmax(0,1fr))}.teacherGroupStatHead{display:none}.teacherGroupStatRow:not(.teacherGroupStatHead){grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 14px;padding:13px}.teacherGroupStatRow:not(.teacherGroupStatHead)>*{display:grid;gap:3px}.teacherGroupStatRow:not(.teacherGroupStatHead)>*:before{content:attr(data-label);color:var(--muted);font-size:8.5px;font-weight:950;letter-spacing:.035em;text-transform:uppercase}}@media(max-width:760px){.teacherDashboardSection{padding:13px}.teacherGroupFilters>.filterFields{grid-template-columns:1fr}.teacherScheduleHead{display:none}.teacherScheduleRow:not(.teacherScheduleHead){grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 12px}.teacherScheduleRow:not(.teacherScheduleHead)>*{display:grid;gap:2px}.teacherScheduleRow:not(.teacherScheduleHead)>*:before{color:var(--muted);font-size:8.5px;font-weight:950;text-transform:uppercase}.teacherScheduleRow:not(.teacherScheduleHead)>:nth-child(1):before{content:"Guruh"}.teacherScheduleRow:not(.teacherScheduleHead)>:nth-child(2):before{content:"Kurs"}.teacherScheduleRow:not(.teacherScheduleHead)>:nth-child(3):before{content:"O‘quvchi/Bepul"}.teacherScheduleRow:not(.teacherScheduleHead)>:nth-child(4):before{content:"Dars vaqti"}}@media(max-width:520px){.teacherMetricCards{grid-template-columns:1fr}.teacherMetricCards .card{min-height:78px}.teacherGroupStatRow:not(.teacherGroupStatHead),.teacherScheduleRow:not(.teacherScheduleHead){grid-template-columns:1fr}}:root{--touch-target: 44px;--mobile-page-gap: 10px}.routeContent,.routeContent>*,.dataPage,.dataListCard,.tableWrap,.modal,.modalBody,.formGrid,.filterToolbar,.filterFields,.rowSplit,.rowActions,.actions,.studentLine,.studentInfo,.studentActions,.groupInside,.attendanceRows,.attendanceRow,.financePage,.financeCenterSection,.financeEmployeeSection,.reportContent,.reportTableCard{min-width:0;max-width:100%}.card,.modal,.tableWrap td,.detailList>div,.miniCard,.studentInfo,.auditDiffValue,.auditSnapshotField,.reportMetricBody,.financeEmployeeIdentityBlock,.financeMergedCell{overflow-wrap:anywhere;word-break:normal}@media(max-width:1024px){html,body,#root,.app,.mainContent,.routeContent{max-width:100%;overflow-x:clip}.mainContent{min-height:calc(100dvh - 64px);padding-inline:clamp(10px,2.2vw,18px)}.pageHead,.reportPageHead,.financePageHead,.expensePageHead{gap:10px}.pageHeadFilter,.compactMonthFilter,.reportHeadFilter,.studentPageHeadActions,.expensePageHeadActions,.groupHeadActions{max-width:100%;min-width:0;flex-wrap:wrap}.pageHeadFilter,.compactMonthFilter,.reportHeadFilter{width:min(100%,440px);display:grid!important;grid-template-columns:minmax(0,1fr) var(--touch-target);gap:8px;align-items:end}.pageHeadFilter .filterFields,.compactMonthFilter .filterFields,.reportHeadFilter .filterFields{min-width:0}.pageHeadFilter .compactMonthControl,.compactMonthFilter .compactMonthControl,.reportHeadFilter .compactMonthControl{width:100%!important;min-width:0!important;max-width:none!important}.filterToolbar>.filterFields,.toolbar>.filterFields,.financeEmployeeSearchCard .filterFields,.expensePageHead+.card .filterFields,.auditPage .filterFields,.developerPage .filterFields{min-width:0;max-width:100%}.tabs,.groupMode,.studentDetailTabs,.financeTabs,.expenseTabs,.reportTabs,.transferModeSwitch{max-width:100%;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch}.tabs button,.groupMode button,.studentDetailTabs button,.financeTabs button,.expenseTabs button,.reportTabs button,.transferModeSwitch button{min-height:var(--touch-target);scroll-snap-align:start}.financeEmployeeLayout,.dataTransferGrid,.billingDebtOverviewGrid,.financeEmployeeDetail,.grid.two{grid-template-columns:minmax(0,1fr)!important}.financeEmployeeListCard,.financeCenterListCard{max-height:none}.reportMetricsGrid,.reportMetricsGrid.four,.reportMetricsGrid.six,.reportEmployeeMetrics,.financeStatsGrid,.centerFinanceStats{grid-template-columns:repeat(2,minmax(0,1fr))!important}}@media(max-width:1024px){html,body{height:auto;min-height:100%;overflow-y:auto;overscroll-behavior-y:auto}.mainContent,.routeContent{height:auto;min-height:calc(100dvh - 60px);overflow:visible}.dataPage,.reportsPage.dataPage,.financePage.dataPage{height:auto!important;min-height:calc(100dvh - 86px);display:block!important;overflow:visible!important;scrollbar-gutter:auto}.dataPage>.dataListCard,.dataPage .financeCenterListCard,.dataPage .financeEmployeeListCard,.financePage.dataPage .financeCenterSection,.financePage.dataPage .financeEmployeeSection,.reportTableCard{height:auto!important;min-height:0!important;max-height:none!important;display:block!important;overflow:visible!important}.dataListCard>.tableWrap,.financeCenterListCard>.tableWrap,.financeEmployeeListCard>.tableWrap,.reportTableCard>.tableWrap,.incomeHistoryTable,.financeGroupTable,.financeEmployeeReportScroll .financeGroupTable{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;overscroll-behavior:auto!important;scrollbar-gutter:auto!important;touch-action:pan-y}.dataListCard>.pagination,.reportTableCard>.pagination{position:static;margin-top:10px}.scrollNavigationRail{display:none!important}.paginationLoadReserve{width:100%!important;min-height:88px!important;height:88px!important;max-height:88px!important;margin-inline:0!important}.paginationLoadReserve>.paginationLoadSticky{position:static!important;width:100%!important;min-height:52px!important;margin:14px 0 0!important}.tableWrap,.financeGroupTable,.incomeHistoryTable{border:0!important;background:transparent!important}.tableWrap table,.tableWrap thead,.tableWrap tbody,.tableWrap tr,.tableWrap th,.tableWrap td,.financeGroupTable table,.incomeHistoryTable table{width:100%!important;min-width:0!important;max-width:100%!important}.tableWrap table,.tableWrap thead,.tableWrap tbody,.tableWrap tr,.tableWrap td{display:block!important}.tableWrap thead{display:none!important}.tableWrap tbody{display:grid!important;gap:10px}.tableWrap tbody tr{position:relative;padding:11px 12px!important;border:1px solid var(--line)!important;border-radius:16px!important;background:var(--panel)!important;box-shadow:var(--shadow-sm)}.tableWrap tbody td{display:grid!important;grid-template-columns:minmax(124px,35%) minmax(0,1fr)!important;gap:10px!important;align-items:start!important;min-height:36px;padding:8px 0!important;border:0!important;white-space:normal!important;overflow:visible!important;text-align:left!important;text-overflow:clip!important}.tableWrap tbody td:before{content:attr(data-label)!important;display:block;color:var(--muted);font-size:10px;font-weight:900;line-height:1.35;letter-spacing:.025em;text-transform:uppercase}.tableWrap tbody td:empty{display:none!important}.tableWrap tbody td:last-child{min-height:0;margin-top:3px;padding-top:11px!important;border-top:1px solid var(--line)!important}.tableWrap .smartText,.tableWrap .auditPerson,.tableWrap .financeEmployeeCell,.tableWrap .financeCompensation,.tableWrap .financeMergedCell,.tableWrap .groupIdentityCell,.tableWrap .studentNameWrap,.tableWrap .reportPerson{width:auto!important;min-width:0!important;max-width:100%!important;white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:anywhere}.rowActions,.studentActions,.groupHeadActions,.freezeHistoryActions,.billingFreezeActions,.studentFreezeHistoryActions{width:100%;max-width:100%;display:flex!important;align-items:center;justify-content:flex-start!important;flex-wrap:wrap;gap:8px}.iconBtn,.rowActions .iconBtn,.freezeHistoryActions .iconBtn,.billingFreezeActions .iconBtn,.studentFreezeHistoryActions .iconBtn,.modalHead button,.filterClearButton{width:var(--touch-target)!important;height:var(--touch-target)!important;min-width:var(--touch-target)!important;min-height:var(--touch-target)!important;flex-basis:var(--touch-target)!important}.btn,.theme,.logout,.presenceCheck,.bulkAttendanceCheck,.removedStudentsHeader{min-height:var(--touch-target)}.modalShade{display:flex!important;align-items:flex-end!important;justify-content:center;padding:0!important;overflow:hidden}.modal,.modal.wide,.modal.studentDetailModal,.modal.groupDetailModal,.modal.financeEmployeeReportModal,.modal.auditDetailModal,.modal.developerDetailModal{width:100%!important;height:auto!important;max-width:100%!important;max-height:min(94dvh,calc(100dvh - env(safe-area-inset-top)))!important;display:flex!important;flex:0 0 auto!important;align-self:stretch!important;flex-direction:column;margin:0!important;padding:0!important;overflow:hidden!important;border-radius:22px 22px 0 0!important}.modalHead{position:relative!important;top:auto!important;z-index:5;flex:0 0 auto;min-height:58px;margin:0!important;padding:10px 12px 9px 16px!important;border-bottom:1px solid var(--line);background:var(--panel)}.modalHead h3{min-width:0;margin:0;font-size:16px;line-height:1.25;overflow-wrap:anywhere}.modalBody,.studentDetailModal .modalBody,.groupDetailModal .modalBody,.financeEmployeeReportModal .modalBody,.auditDetailModal .modalBody,.developerDetailModal .modalBody{flex:1 1 auto;min-height:0;max-height:none!important;padding:13px 12px max(14px,env(safe-area-inset-bottom))!important;overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.modalBody>.actions:last-child{position:sticky;bottom:calc(-1*max(14px,env(safe-area-inset-bottom)));z-index:4;margin:14px -12px calc(-1*max(14px,env(safe-area-inset-bottom)));padding:10px 12px max(10px,env(safe-area-inset-bottom));border-top:1px solid var(--line);background:color-mix(in srgb,var(--panel) 94%,transparent);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.studentDetailViewport,.groupDetailModal .groupInside,.groupDetailModal .groupInside>.card,.financeEmployeeReportScroll,.incomeBillingScroll,.attendanceStudentsScroll{height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important}.studentDetailTopbar,.groupDetailNavRow,.financeDetailPeriodToolbar,.detailHeader,.attendanceCardHead,.auditDetailHeader,.sectionTitleRow,.reportSectionTitle{align-items:stretch;flex-direction:column;gap:9px}.studentDetailTopbar>*,.groupDetailNavRow>*,.financeDetailPeriodToolbar>*,.detailHeader>*,.attendanceCardHead>*,.reportSectionTitle>*{width:100%;max-width:100%}.formGrid,.expenseFormGrid,.auditRangeGrid,.auditMetaGrid,.auditSnapshotGrid,.paymentAllocationSummaryGrid,.studentDebtSummaryGrid,.billingBalanceStrip.appliedOnly,.billingFreezeInfo,.attendanceSummaryBar,.debtMonthStats,.debtGroupGrid{grid-template-columns:minmax(0,1fr)!important}.field.wide,.wide{grid-column:auto!important}.input,.select,.textarea,.premiumAuthInput{max-width:100%}.teacherMetricCards,.dashboardCards,.grid.cards,.reportMetricsGrid,.reportMetricsGrid.four,.reportMetricsGrid.six,.reportEmployeeMetrics,.financeStatsGrid,.centerFinanceStats,.reportBreakdownGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.dashboardChartRow,.dashboardChartBarLine,.auditDiffRow,.paymentAllocationRow,.freezeHistoryItem,.studentFreezeHistoryItem{min-width:0}.auditDiffRow{grid-template-columns:minmax(0,1fr)!important;gap:6px}.auditDiffArrow{transform:rotate(90deg);justify-self:center}.attendanceCardHead{display:flex!important}.bulkAttendanceControls,.bulkAttendanceCheck{width:100%;max-width:100%}.bulkAttendanceControls .btn{width:100%}.bulkAttendanceCheck{grid-template-columns:22px minmax(0,1fr)!important}.bulkAttendanceCheck>span:last-child{min-width:0;overflow-wrap:anywhere}.attendanceGrid{grid-template-columns:repeat(auto-fit,minmax(88px,1fr))!important}.lessonCell{min-width:0;min-height:78px;touch-action:manipulation}.attendanceRow{grid-template-columns:minmax(0,1fr) minmax(130px,.55fr)!important;gap:9px!important;padding:12px!important}.attendanceRow>:first-child,.attendanceRow>.attendanceNote,.attendanceRow>.noteInput{grid-column:1 / -1}.attendanceRow .input[type=number]{min-width:0!important;width:100%}.studentLine{grid-template-columns:minmax(0,1fr)!important;align-items:stretch}.studentActions .btn{flex:1 1 150px;width:auto}.teacherScheduleHead,.teacherGroupStatHead,.scheduleHead,.statHeader.groupStatItem{display:none!important}.teacherScheduleRow:not(.teacherScheduleHead),.teacherGroupStatRow:not(.teacherGroupStatHead),.scheduleItem,.groupStatItem{grid-template-columns:repeat(2,minmax(0,1fr))!important}.reportChartCard,.dashboardChartCard{min-height:0;overflow:hidden}.reportChart,.dashboardChart{max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.reportChartBars{min-width:440px;padding-inline:24px;gap:44px}.reportStickyShell,.dashboardStickyHead{position:static!important;width:100%!important;margin:0 0 10px!important;border-radius:17px!important}.transferDropZone{max-width:100%}}@media(max-width:640px){:root{--touch-target: 46px}body{font-size:13px}.mobileTopbar{min-height:58px;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right))}.mainContent{min-height:calc(100dvh - 58px);padding:11px max(8px,env(safe-area-inset-left)) calc(24px + env(safe-area-inset-bottom)) max(8px,env(safe-area-inset-right))}.pageHead,.reportPageHead,.financePageHead,.expensePageHead{align-items:stretch!important;flex-direction:column!important;margin-bottom:11px}.pageHead h1{font-size:20px}.pageHead p{font-size:11px}.pageHead>.btn,.pageHeadFilter,.pageHeadFilter>*,.compactMonthFilter,.compactMonthFilter>*,.reportHeadFilter,.reportHeadFilter>*,.studentPageHeadActions,.studentPageHeadActions>*,.expensePageHeadActions,.expensePageHeadActions>*,.groupHeadActions,.groupHeadActions>*{width:100%!important;max-width:none!important}.pageHeadFilter,.compactMonthFilter,.reportHeadFilter{display:grid!important;grid-template-columns:minmax(0,1fr) var(--touch-target)!important;gap:8px!important}.pageHeadFilter .filterFields,.compactMonthFilter .filterFields,.reportHeadFilter .filterFields{min-width:0}.compactMonthControl,.monthControl,.reportHeadFilter .compactMonthControl,.detailPeriodFilter .compactMonthControl,.financeDetailPeriodToolbar .compactMonthControl{width:100%!important;min-width:0!important;max-width:none!important}.card,.dataListCard,.dashboardSection,.teacherDashboardSection,.reportChartCard,.reportBreakdownCard,.reportTableCard,.transferControlCard,.transferSide{padding:12px!important;border-radius:16px}.toolbar,.filterToolbar,.filterFields,.teacherGroupFilters>.filterFields,.financeEmployeeSearchCard .filterFields,.expensePageHead+.card .filterFields,.auditPage .filterFields,.developerPage .filterFields{grid-template-columns:minmax(0,1fr)!important}.filterToolbar{display:grid!important;grid-template-columns:minmax(0,1fr) var(--touch-target)!important;align-items:end;gap:8px}.filterToolbar>.filterFields{display:grid!important;grid-template-columns:minmax(0,1fr)!important}.filterToolbar>.filterClearButton{align-self:end}.input,.select,.textarea,.premiumAuthInput{font-size:16px!important}.input,.select{height:var(--touch-target)!important}.textarea{min-height:92px}.btn{min-height:var(--touch-target);padding-inline:12px;white-space:normal;line-height:1.25}.actions{grid-template-columns:minmax(0,1fr)!important;width:100%}.actions .btn{width:100%}.tableWrap tbody td{grid-template-columns:minmax(102px,38%) minmax(0,1fr)!important;gap:8px!important;min-height:34px;font-size:13px}.tableWrap tbody tr{padding:10px!important}.teacherMetricCards,.dashboardCards,.grid.cards,.reportMetricsGrid,.reportMetricsGrid.four,.reportMetricsGrid.six,.reportEmployeeMetrics,.financeStatsGrid,.centerFinanceStats,.reportBreakdownGrid{grid-template-columns:minmax(0,1fr)!important}.cards>.card,.teacherMetricCards .card,.reportMetric{min-height:82px}.detailList,.paymentAllocationSummaryGrid,.studentDebtSummaryGrid,.billingBalanceStrip.appliedOnly,.billingFreezeInfo,.attendanceSummaryBar,.debtMonthStats,.debtGroupGrid{grid-template-columns:minmax(0,1fr)!important}.teacherScheduleRow:not(.teacherScheduleHead),.teacherGroupStatRow:not(.teacherGroupStatHead),.scheduleItem,.groupStatItem,.attendanceRow{grid-template-columns:minmax(0,1fr)!important}.attendanceRow>*{grid-column:auto!important}.attendanceRow>:first-child{grid-column:auto!important}.attendanceGrid{grid-template-columns:repeat(3,minmax(0,1fr))!important}.lessonCell{min-height:74px;padding:7px}.studentActions,.rowActions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))}.studentActions .btn,.rowActions .btn,.rowActions .iconBtn{width:100%!important}.freezeHistoryItem,.studentFreezeHistoryItem,.paymentAllocationRow{grid-template-columns:minmax(0,1fr) auto!important}.dashboardChartRow,.dashboardChartBarLine{grid-template-columns:minmax(0,1fr)!important;gap:5px}.dashboardChartBarLine>*{min-width:0}.reportSectionTitle>small{max-width:none;text-align:left}.reportLegend{justify-content:flex-start}.transferDropZone{grid-template-columns:40px minmax(0,1fr)!important}.transferDropAction{display:none!important}.toast{left:8px;right:8px;width:auto;max-width:none;transform:none}@keyframes toastDrop{0%{opacity:0;transform:translateY(-10px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}}@media(max-width:390px){.mainContent{padding-inline:7px}.card,.dataListCard,.dashboardSection,.teacherDashboardSection,.reportChartCard,.reportBreakdownCard,.reportTableCard{padding:10px!important}.tableWrap tbody td{grid-template-columns:minmax(0,1fr)!important;gap:3px!important;padding-block:7px!important}.tableWrap tbody td:before{font-size:9px}.attendanceGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important}.studentActions,.rowActions{grid-template-columns:minmax(0,1fr)!important}.brandAuthor,.mobileBrand .brandAuthor,.mobileBrand .brandSeparator{display:none!important}}@media(orientation:landscape)and (max-height:540px)and (max-width:1024px){.mobileTopbar{position:relative}.modal,.modal.wide,.modal.studentDetailModal,.modal.groupDetailModal,.modal.financeEmployeeReportModal{max-height:100dvh!important;border-radius:0!important}.modalHead{min-height:52px}}@media(hover:none)and (pointer:coarse){.btn,.iconBtn,.tabs button,.groupMode button,.lessonCell,.suggestions button,.sideNav a{touch-action:manipulation}.btn:hover,.iconBtn:hover,.sideNav a:hover{transform:none}}
