.expense-page-head{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.expense-page-head h1{color:#142036;margin:0;font-size:29px}.expense-page-head p{color:#61728d;margin:4px 0}.expense-page-head button,.expense-modal-actions button,.expense-actions button{color:#fff;cursor:pointer;background:#2468e8;border:0;border-radius:10px;align-items:center;gap:7px;padding:11px 16px;font-weight:700;display:inline-flex}.expense-stats{grid-template-columns:repeat(4,1fr);gap:12px;margin-bottom:16px;display:grid}.expense-stats article{background:#fff;border:1px solid #d9e2ef;border-radius:14px;grid-template-columns:24px 1fr;gap:5px 9px;padding:16px;display:grid}.expense-stats svg{color:#2563eb}.expense-stats span{color:#60708a;font-size:12px}.expense-stats strong{color:#142036;grid-column:2;font-size:22px}.expense-stats .warning svg,.expense-stats .warning strong{color:#d97706}.expense-stats .success svg,.expense-stats .success strong{color:#15803d}.expense-toolbar{background:#fff;border:1px solid #d9e2ef;border-radius:14px;align-items:center;gap:9px;margin-bottom:12px;padding:10px;display:flex}.expense-search{border:1px solid #ccd7e6;border-radius:9px;flex:1;align-items:center;padding:0 10px;display:flex}.expense-search input{border:0;outline:0;width:100%;padding:11px}.expense-toolbar select,.expense-toolbar>input{background:#fff;border:1px solid #ccd7e6;border-radius:9px;padding:10px}.expense-toolbar b{white-space:nowrap}.expense-table-card{background:#fff;border:1px solid #d9e2ef;border-radius:14px;overflow:hidden}.expense-table-wrap{overflow:auto}.expense-table-card table{border-collapse:collapse;width:100%}.expense-table-card th,.expense-table-card td{text-align:left;vertical-align:middle;border-bottom:1px solid #e4eaf2;padding:13px}.expense-table-card th{color:#182338;font-size:13px}.expense-table-card td{font-size:14px}.expense-table-card td small{color:#718096;margin-top:4px;display:block}.expense-amount{font-weight:800}.expense-status{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.status-draft{color:#475569;background:#eef2f7}.status-submitted{color:#9a6700;background:#fff7d6}.status-approved{color:#166534;background:#dcfce7}.status-rejected{color:#b91c1c;background:#fee2e2}.expense-icon{color:#2468e8;cursor:pointer;background:#eef4ff;border:0;border-radius:9px;place-items:center;width:34px;height:34px;display:grid}.expense-pagination{justify-content:flex-end;align-items:center;gap:10px;padding:10px;display:flex}.expense-pagination button{color:#fff;background:#2468e8;border:0;border-radius:9px;width:34px;height:34px}.expense-pagination button:disabled{opacity:.4}.expense-empty{color:#69778c;text-align:center!important}.expense-overlay{z-index:50;background:#0f172a6b;justify-content:flex-end;display:flex;position:fixed;inset:0}.expense-drawer{background:#fff;width:min(520px,100%);height:100%;padding:24px;overflow:auto}.expense-drawer-head{justify-content:space-between;gap:16px;display:flex}.expense-drawer-head h2{margin:4px 0}.expense-drawer-head p,.expense-drawer-head small{color:#687891}.expense-total{background:#f3f7ff;border:1px solid #d6e3fb;border-radius:14px;justify-content:space-between;margin:20px 0;padding:18px;display:flex}.expense-total strong{font-size:24px}.expense-drawer dl{border-top:1px solid #e5eaf1;grid-template-columns:140px 1fr;gap:13px;padding-top:18px;display:grid}.expense-drawer dt{color:#69778c}.expense-drawer dd{margin:0;font-weight:600}.expense-actions{flex-wrap:wrap;gap:9px;margin-top:24px;display:flex}.expense-actions .danger{background:#dc2626}.expense-modal{background:#fff;border-radius:16px;width:min(720px,94%);max-height:92vh;margin:auto;padding:22px;overflow:auto}.expense-form-grid{grid-template-columns:1fr 1fr;gap:14px;margin-top:18px;display:grid}.expense-form-grid label{gap:6px;font-size:13px;font-weight:700;display:grid}.expense-form-grid input,.expense-form-grid select,.expense-form-grid textarea{font:inherit;border:1px solid #ccd7e6;border-radius:9px;padding:10px}.expense-form-grid textarea{min-height:78px}.expense-form-grid .wide{grid-column:1/-1}.expense-modal-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.expense-modal-actions .secondary{color:#27354a;background:#e8eef7}.hq-toast{z-index:100;background:#fff;border:1px solid #dce5f0;border-radius:12px;align-items:center;gap:9px;padding:12px 14px;display:flex;position:fixed;top:18px;right:22px;box-shadow:0 12px 30px #0f172a2e}.hq-toast.success>svg{color:#16a34a}.hq-toast.error>svg{color:#dc2626}.hq-toast button{background:0 0;border:0;place-items:center;display:grid}@media (width<=1100px){.expense-stats{grid-template-columns:1fr 1fr}.expense-toolbar{flex-wrap:wrap}.expense-search{flex-basis:100%}}@media (width<=700px){.expense-stats{grid-template-columns:1fr}.expense-page-head{gap:12px}.expense-page-head h1{font-size:24px}.expense-toolbar>select,.expense-toolbar>input{flex:1}.expense-form-grid{grid-template-columns:1fr}.expense-form-grid .wide{grid-column:auto}.expense-drawer dl{grid-template-columns:1fr}.expense-drawer dt{margin-top:8px}}*{box-sizing:border-box}body{color:#172033;background:#f4f7fb;margin:0;font-family:Inter,system-ui,Arial}.app{min-height:100vh;display:flex}aside{color:#fff;background:#0f172a;width:260px;padding:24px 18px}.brand{align-items:center;gap:12px;margin-bottom:30px;display:flex}.logo{background:linear-gradient(135deg,#2563eb,#7c3aed);border-radius:12px;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.brand span{color:#94a3b8;font-size:12px;display:block}nav{gap:8px;display:grid}nav a{color:#cbd5e1;border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}nav a.active,nav a:hover{color:#fff;background:#1e293b}main{flex:1;padding:28px}header{justify-content:space-between;align-items:center;margin-bottom:24px;display:flex}h1{margin:0;font-size:28px}header p{color:#64748b;margin:5px 0}button{color:#fff;background:#2563eb;border:0;border-radius:10px;padding:12px 18px;font-weight:600}.cards{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.cards article,.panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:20px;box-shadow:0 8px 24px #0f172a0d}.cards span,.cards small{color:#64748b;display:block}.cards strong{margin:10px 0;font-size:28px;display:block}.grid{grid-template-columns:2fr 1fr;gap:16px;margin-top:16px;display:grid}.pipeline{grid-template-columns:repeat(5,1fr);gap:10px;display:grid}.pipeline div{text-align:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:24px 12px;font-weight:700}.metric{border-bottom:1px solid #e2e8f0;justify-content:space-between;padding:12px 0;display:flex}@media (width<=900px){aside{width:80px}.brand div:not(.logo),nav a{font-size:0}.cards{grid-template-columns:repeat(2,1fr)}.grid{grid-template-columns:1fr}.pipeline{grid-template-columns:1fr 1fr}}@media (width<=600px){main{padding:16px}.cards{grid-template-columns:1fr}header{align-items:flex-start;gap:12px}.pipeline{grid-template-columns:1fr}}aside{flex-direction:column;height:100vh;display:flex;position:sticky;top:0}nav a,.sidebar-footer a{text-decoration:none}.sidebar-footer{border-top:1px solid #1e293b;gap:8px;margin-top:auto;padding-top:15px;display:grid}.sidebar-footer a,.sidebar-footer button{color:#cbd5e1;width:100%;font:inherit;text-align:left;background:0 0;border-radius:10px;align-items:center;gap:10px;padding:12px;display:flex}.login-shell{grid-template-columns:1.1fr .9fr;min-height:100vh;display:grid}.login-brand-panel{color:#fff;background:linear-gradient(135deg,#172554,#0f172a);flex-direction:column;justify-content:space-between;padding:55px;display:flex}.login-brand{align-items:center;gap:12px;display:flex}.login-copy h1{max-width:650px;font-size:52px;line-height:1.08}.login-form-panel{background:#f8fafc;place-items:center;padding:30px;display:grid}.login-card{background:#fff;border-radius:20px;width:min(430px,100%);padding:36px;box-shadow:0 20px 60px #0f172a22}.login-card form,form{gap:16px;display:grid}label{gap:7px;font-weight:600;display:grid}input,select{font:inherit;border:1px solid #cbd5e1;border-radius:9px;padding:12px}.form-error{color:#991b1b;background:#fee2e2;border-radius:8px;padding:12px}.form-success{color:#166534;background:#dcfce7;border-radius:8px;padding:12px}.button-link{color:#fff;background:#2563eb;border-radius:9px;padding:12px 16px;text-decoration:none}.admin-grid{grid-template-columns:360px 1fr;gap:16px;display:grid}.form-panel{max-width:650px}table{border-collapse:collapse;width:100%}th,td{text-align:left;border-bottom:1px solid #e2e8f0;padding:12px}td small{color:#64748b;display:block}.secondary-button{color:#3730a3;background:#eef2ff;padding:8px}.screen-loader{place-items:center;min-height:100vh;display:grid}@media (width<=1000px){.login-shell{grid-template-columns:1fr}.login-brand-panel{display:none}.admin-grid{grid-template-columns:1fr}}.crm-alert{justify-content:space-between;margin-bottom:14px;display:flex}.crm-alert button{background:0 0;border:0;font-size:20px}.crm-stage-grid{grid-template-columns:repeat(9,minmax(110px,1fr));gap:10px;margin-bottom:14px;display:grid;overflow:auto}.crm-stage-grid button{text-align:left;background:#fff;border:1px solid #dbe4f0;border-radius:14px;min-width:110px;padding:14px}.crm-stage-grid button span{color:#64748b;font-size:12px;display:block}.crm-stage-grid button strong{margin-top:7px;font-size:24px;display:block}.crm-stage-grid button.selected{background:#eff6ff;border-color:#2563eb}.crm-toolbar{align-items:center;gap:10px;margin-bottom:14px;padding:12px;display:flex}.crm-search{border:1px solid #cbd5e1;border-radius:10px;flex:1;align-items:center;gap:8px;padding:0 12px;display:flex}.crm-search input{box-shadow:none;border:0}.crm-filter{align-items:center;gap:6px;display:flex}.crm-toolbar select{width:auto;min-width:160px}.crm-total{color:#64748b;margin-left:auto;font-weight:700}.crm-table-panel{padding:0}.crm-table-panel td select{min-width:140px}.crm-table-panel td:nth-child(6){white-space:nowrap}.crm-table-panel td:nth-child(6) svg{vertical-align:middle;margin-right:4px}.stage-select{font-weight:700}.priority{border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800;display:inline-flex}.priority-LOW{color:#475569;background:#f1f5f9}.priority-MEDIUM{color:#1d4ed8;background:#dbeafe}.priority-HIGH{color:#c2410c;background:#ffedd5}.priority-URGENT{color:#b91c1c;background:#fee2e2}.icon-button{color:#334155;background:#fff;border:1px solid #dbe4f0;border-radius:9px;padding:8px}.crm-pagination{justify-content:flex-end;align-items:center;gap:12px;padding:14px 18px;display:flex}.crm-pagination button{background:#fff;border:1px solid #dbe4f0;border-radius:8px;place-items:center;padding:7px;display:grid}.modal-backdrop,.drawer-backdrop{z-index:50;background:#0f172a7a;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.modal-card{background:#fff;border-radius:20px;width:min(780px,100%);max-height:92vh;padding:24px;overflow:auto;box-shadow:0 30px 90px #0f172a4d}.modal-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.modal-head h2{margin:0}.modal-head p{color:#64748b;margin:5px 0 0}.modal-head>button{background:#f1f5f9;border:0;border-radius:10px;padding:8px}.crm-form-grid{grid-template-columns:1fr 1fr}.crm-form-grid .full{grid-column:1/-1}.crm-form-grid textarea,.drawer-actions textarea{min-height:90px;font:inherit;border:1px solid #cbd5e1;border-radius:10px;padding:12px}.modal-actions{justify-content:flex-end;gap:10px;display:flex}.drawer-backdrop{justify-content:flex-end;padding:0}.crm-drawer{color:#0f172a;background:#fff;width:min(620px,100%);height:100%;padding:24px;overflow:auto;box-shadow:-20px 0 60px #0f172a33}.drawer-summary{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:18px;display:grid}.drawer-summary>div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:12px}.drawer-summary span{text-transform:uppercase;color:#64748b;margin-bottom:5px;font-size:11px;display:block}.drawer-actions{border-top:1px solid #e2e8f0;border-bottom:1px solid #e2e8f0;gap:12px;margin:15px 0;padding:18px 0;display:grid}.timeline{gap:12px;display:grid}.timeline-item{grid-template-columns:14px 1fr;gap:10px;display:grid;position:relative}.timeline-dot{background:#2563eb;border-radius:50%;width:10px;height:10px;margin-top:6px}.timeline-item p{color:#475569;margin:5px 0}.timeline-item small{color:#94a3b8}.text-button{color:#2563eb;background:0 0;border:0;padding:0;font-weight:700}.dashboard-pipeline{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.dashboard-pipeline button{text-align:left;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;padding:14px}.dashboard-pipeline button span{color:#475569;display:block}.dashboard-pipeline button strong{margin-top:5px;font-size:22px;display:block}.recent-list{gap:8px;display:grid}.recent-list button{text-align:left;background:0 0;border:0;border-bottom:1px solid #e2e8f0;padding:10px 0;display:grid}.recent-list span,.recent-list small{color:#64748b;margin-top:3px}@media (width<=1100px){.crm-toolbar{flex-wrap:wrap}.crm-search{min-width:100%}.crm-total{margin-left:0}.crm-form-grid{grid-template-columns:1fr}.crm-form-grid .full{grid-column:auto}}@media (width<=700px){.drawer-summary{grid-template-columns:1fr}.dashboard-pipeline{grid-template-columns:1fr 1fr}.crm-drawer{padding:16px}}.crm-stage-grid button small{color:#94a3b8;margin-top:5px;font-size:10px;display:block}.stage-card-NEW{border-top:3px solid #3b82f6!important}.stage-card-CONTACTED{border-top:3px solid #eab308!important}.stage-card-FOLLOW_UP{border-top:3px solid #f97316!important}.stage-card-INTERESTED{border-top:3px solid #8b5cf6!important}.stage-card-DEMO_ATTENDED{border-top:3px solid #06b6d4!important}.stage-card-NEGOTIATION{border-top:3px solid #a855f7!important}.stage-card-CONFIRMED{border-top:3px solid #22c55e!important}.stage-card-LOST{border-top:3px solid #ef4444!important}.stage-card-CONVERTED{border-top:3px solid #059669!important}.stage-NEW{color:#1d4ed8!important;background:#dbeafe!important}.stage-CONTACTED{color:#854d0e!important;background:#fef9c3!important}.stage-FOLLOW_UP{color:#c2410c!important;background:#ffedd5!important}.stage-INTERESTED{color:#6d28d9!important;background:#ede9fe!important}.stage-DEMO_ATTENDED{color:#0e7490!important;background:#cffafe!important}.stage-NEGOTIATION{color:#7e22ce!important;background:#f3e8ff!important}.stage-CONFIRMED,.stage-CONVERTED{color:#166534!important;background:#dcfce7!important}.stage-LOST{color:#991b1b!important;background:#fee2e2!important}.stage-badge{border-radius:999px;padding:5px 9px;font-size:12px;display:inline-flex}.follow-label{border-radius:8px;align-items:center;gap:5px;padding:6px 8px;display:inline-flex}.follow-overdue{color:#b91c1c!important;background:#fef2f2!important}.follow-today{color:#c2410c!important;background:#fff7ed!important}.follow-tomorrow{color:#a16207!important;background:#fefce8!important}.follow-future{color:#475569}.crm-table-panel tr.follow-overdue td:first-child{border-left:4px solid #ef4444}.crm-table-panel tr.follow-today td:first-child{border-left:4px solid #f97316}.action-menu-wrap{position:relative}.action-menu{z-index:20;background:#fff;border:1px solid #e2e8f0;border-radius:12px;width:210px;padding:7px;position:absolute;top:42px;right:0;box-shadow:0 18px 50px #0f172a2e}.action-menu button{color:#334155;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;width:100%;padding:10px;display:flex}.action-menu button:hover{background:#f1f5f9}.action-menu .convert-action{color:#047857}.drawer-top-actions{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.drawer-top-actions button{align-items:center;gap:7px;display:inline-flex}.student-created{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:10px;align-items:center;gap:6px;padding:9px 12px;font-weight:700;display:inline-flex}.drawer-remarks{background:#fffbeb;border:1px solid #fde68a;border-radius:12px;margin-bottom:15px;padding:13px}.drawer-remarks span{text-transform:uppercase;color:#92400e;font-size:11px;font-weight:800}.drawer-remarks p{color:#78350f;margin:6px 0 0}.followup-grid{grid-template-columns:180px 1fr;gap:10px;display:grid}.drawer-actions button:disabled{opacity:.55;cursor:not-allowed}@media (width<=760px){.followup-grid{grid-template-columns:1fr}.action-menu{width:auto;position:fixed;inset:auto 16px 16px}.crm-table-panel table{min-width:1100px}}.student-alert{justify-content:space-between;margin:-10px 0 16px;display:flex}.student-alert button{color:inherit;background:0 0;padding:0}.student-stat-grid{grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:14px;display:grid}.student-stat{color:#172033;text-align:left;background:#fff;border:1px solid #dbe4f0;border-radius:14px;padding:16px}.student-stat span{color:#64748b;font-size:12px;font-weight:800;display:block}.student-stat strong{margin-top:7px;font-size:25px;display:block}.student-stat.selected{border-color:#2563eb;box-shadow:0 0 0 2px #dbeafe}.student-toolbar{background:#fff;border:1px solid #e2e8f0;border-radius:15px;grid-template-columns:minmax(300px,1fr) 170px 210px auto;align-items:center;gap:10px;margin-bottom:14px;padding:12px;display:grid}.student-search{border:1px solid #cbd5e1;border-radius:9px;align-items:center;gap:8px;padding:0 12px;display:flex}.student-search input{border:0;outline:0;width:100%}.student-table-card{background:#fff;border:1px solid #e2e8f0;border-radius:16px;overflow:hidden}.student-table-wrap{overflow:auto}.student-status{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.status-active{color:#166534;background:#dcfce7}.status-on_hold{color:#92400e;background:#fef3c7}.status-completed{color:#1d4ed8;background:#dbeafe}.status-placed{color:#6d28d9;background:#ede9fe}.status-dropped{color:#991b1b;background:#fee2e2}.student-actions{gap:7px;display:flex}.icon-button{color:#334155;background:#fff;border:1px solid #dbe4f0;place-items:center;padding:9px;display:inline-grid}.student-pagination{justify-content:flex-end;align-items:center;gap:12px;padding:12px;display:flex}.student-pagination button{padding:8px}.student-overlay{z-index:50;background:#0f172a88;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.student-modal{background:#fff;border-radius:18px;width:min(920px,96vw);max-height:92vh;padding:22px;overflow:auto}.student-modal-head{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;margin-bottom:18px;padding-bottom:14px;display:flex}.student-modal-head h2{margin:0}.student-modal-head p{color:#64748b;margin:5px 0}.student-form-grid{grid-template-columns:repeat(3,1fr);gap:14px;display:grid}.student-modal-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.drawer-overlay{place-items:stretch end;padding:0}.student-drawer{color:#172033;background:#fff;width:min(560px,100vw);height:100vh;padding:22px;overflow:auto}.student-number{letter-spacing:.08em;font-size:12px;font-weight:800;color:#2563eb!important}.student-profile-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;align-items:center;gap:15px;padding:16px;display:flex}.student-avatar{color:#2563eb;background:#dbeafe;border-radius:15px;place-items:center;width:52px;height:52px;display:grid}.student-detail-grid{grid-template-columns:1fr 1fr;gap:10px;margin:16px 0;display:grid}.student-detail-grid div{border:1px solid #e2e8f0;border-radius:11px;padding:12px}.student-detail-grid span{color:#64748b;font-size:12px;display:block}.student-detail-grid b{margin-top:4px;display:block}.student-source{color:#3730a3;background:#eef2ff;border-radius:9px;padding:10px;font-weight:700}.student-note-box{gap:9px;margin-top:18px;display:grid}.student-note-box textarea{min-height:90px;font:inherit;border:1px solid #cbd5e1;border-radius:9px;padding:12px}.student-timeline article{border-left:3px solid #bfdbfe;margin:10px 0;padding:9px 0 9px 13px}.student-timeline article>div{justify-content:space-between;gap:10px;display:flex}.student-timeline time,.student-timeline small{color:#64748b;font-size:12px}.student-drawer-actions{gap:10px;margin-top:18px;display:flex}.danger-button{background:#dc2626}.student-drawer-actions button{align-items:center;gap:7px;display:flex}@media (width<=1050px){.student-stat-grid{grid-template-columns:repeat(3,1fr)}.student-toolbar,.student-form-grid{grid-template-columns:1fr 1fr}}@media (width<=700px){.student-stat-grid{grid-template-columns:1fr 1fr}.student-toolbar,.student-form-grid,.student-detail-grid{grid-template-columns:1fr}.student-modal{padding:16px}}.batch-stat-grid{grid-template-columns:repeat(5,1fr);gap:10px;margin:22px 0 12px;display:grid}.batch-stat{text-align:left;background:#fff;border:1px solid #dce4ef;border-radius:14px;padding:14px}.batch-stat span{color:#62728a;font-size:11px;font-weight:800}.batch-stat strong{margin-top:8px;font-size:24px;display:block}.batch-stat.selected{border-color:#2563eb;box-shadow:0 0 0 2px #dbeafe}.batch-toolbar{background:#fff;border:1px solid #dce4ef;border-radius:14px;grid-template-columns:minmax(280px,1fr) 150px 140px auto;align-items:center;gap:10px;margin-bottom:12px;padding:10px;display:grid}.batch-search{border:1px solid #cfd8e6;border-radius:9px;align-items:center;gap:10px;padding:0 10px;display:flex}.batch-search input{border:0;outline:0;width:100%;padding:11px 0}.batch-toolbar select{background:#fff;border:1px solid #cfd8e6;border-radius:9px;padding:11px}.batch-table-card{background:#fff;border:1px solid #dce4ef;border-radius:14px;overflow:hidden}.batch-table-wrap{overflow:auto}.batch-table-card table{border-collapse:collapse;width:100%}.batch-table-card th,.batch-table-card td{text-align:left;white-space:nowrap;border-bottom:1px solid #e7edf5;padding:13px 12px}.batch-table-card small{color:#68778d;margin-top:4px;display:block}.batch-status{border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;display:inline-flex}.batch-status.status-planning{color:#4338ca;background:#eef2ff}.batch-status.status-upcoming{color:#c2410c;background:#fff7ed}.batch-status.status-active{color:#047857;background:#ecfdf5}.batch-status.status-completed{color:#1d4ed8;background:#eff6ff}.batch-status.status-cancelled{color:#b91c1c;background:#fef2f2}.batch-actions{gap:6px;display:flex}.batch-pagination{justify-content:flex-end;align-items:center;gap:10px;padding:12px;display:flex}.batch-pagination button{width:34px;height:34px}.batch-overlay{z-index:60;background:#0f172a80;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.batch-modal{background:#fff;border-radius:18px;width:min(900px,96vw);max-height:92vh;overflow:auto}.batch-modal-head{border-bottom:1px solid #e7edf5;justify-content:space-between;align-items:flex-start;padding:20px;display:flex}.batch-modal-head h2{margin:2px 0}.batch-modal-head p{color:#64748b;margin:2px 0}.batch-form-grid{grid-template-columns:repeat(2,1fr);gap:14px;padding:20px;display:grid}.batch-form-grid label{flex-direction:column;gap:6px;font-size:13px;font-weight:700;display:flex}.batch-form-grid input,.batch-form-grid select,.batch-form-grid textarea{border:1px solid #cfd8e6;border-radius:9px;padding:10px}.batch-wide{grid-column:1/-1}.day-pills{flex-wrap:wrap;gap:7px;display:flex}.day-pills button{color:#334155;background:#f1f5f9}.day-pills button.active{color:#fff;background:#2563eb}.batch-modal-actions{border-top:1px solid #e7edf5;justify-content:flex-end;gap:10px;padding:16px 20px;display:flex}.batch-alert{justify-content:space-between;align-items:center;margin-top:12px;display:flex}.batch-drawer{background:#fff;width:min(620px,95vw);height:100%;margin-left:auto;overflow:auto}.drawer-overlay{padding:0}.batch-code{color:#2563eb;font-weight:800}.batch-profile-card{padding:18px 20px}.capacity-bar{background:#e2e8f0;border-radius:999px;height:9px;overflow:hidden}.capacity-bar i{background:#2563eb;height:100%;display:block}.batch-detail-grid{grid-template-columns:1fr 1fr;gap:10px;padding:0 20px 18px;display:grid}.batch-detail-grid>div{border:1px solid #e2e8f0;border-radius:12px;grid-template-columns:22px 1fr;gap:2px 8px;padding:12px;display:grid}.batch-detail-grid svg{grid-row:1/3}.batch-detail-grid span{color:#64748b;font-size:11px}.batch-students,.batch-assign{border-top:1px solid #e7edf5;padding:16px 20px}.batch-assign h3{gap:8px;display:flex}.batch-assign>input{border:1px solid #cfd8e6;border-radius:9px;width:100%;margin-bottom:10px;padding:10px}.student-chip-list{gap:8px;display:grid}.student-chip-list article{border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;padding:10px;display:flex}.student-chip-list small{color:#64748b;display:block}.student-chip-list button{padding:7px 10px}.batch-drawer-actions{border-top:1px solid #e7edf5;gap:10px;padding:20px;display:flex}.batch-drawer-actions button{align-items:center;gap:7px;display:flex}@media (width<=900px){.batch-stat-grid{grid-template-columns:repeat(2,1fr)}.batch-toolbar{grid-template-columns:1fr 1fr}.batch-search{grid-column:1/-1}.batch-form-grid,.batch-detail-grid{grid-template-columns:1fr}}@media (width<=560px){.batch-stat-grid,.batch-toolbar{grid-template-columns:1fr}.batch-form-grid{padding:14px}.batch-wide{grid-column:auto}}.fee-alert{justify-content:space-between;margin:12px 0;display:flex}.fee-alert button{color:inherit;background:0 0;padding:0}.fee-stats{grid-template-columns:repeat(4,1fr);gap:12px;margin:20px 0;display:grid}.fee-stats article{background:#fff;border:1px solid #dbe4f0;border-radius:14px;grid-template-columns:auto 1fr;gap:6px 10px;padding:16px;display:grid}.fee-stats svg{color:#2563eb;grid-row:1/3}.fee-stats span{color:#64748b;font-size:12px}.fee-stats strong{font-size:22px}.fee-stats .danger svg,.fee-stats .danger strong{color:#dc2626}.fee-toolbar{background:#fff;border:1px solid #dbe4f0;border-radius:14px;align-items:center;gap:10px;padding:10px;display:flex}.fee-search{border:1px solid #cbd5e1;border-radius:9px;flex:1;align-items:center;padding:0 10px;display:flex}.fee-search input{border:0;outline:0;width:100%;padding:10px}.fee-toolbar select{border:1px solid #cbd5e1;border-radius:9px;padding:10px}.fee-table-card{background:#fff;border:1px solid #dbe4f0;border-radius:14px;margin-top:12px;overflow:hidden}.fee-table-wrap{overflow:auto}.fee-table-card table{border-collapse:collapse;width:100%}.fee-table-card th,.fee-table-card td{text-align:left;border-bottom:1px solid #e2e8f0;padding:13px}.fee-table-card small{color:#64748b;margin-top:4px;display:block}.fee-pagination{justify-content:flex-end;align-items:center;gap:10px;padding:10px;display:flex}.fee-pagination button{padding:7px}.paid-text{color:#15803d;font-weight:700}.pending-text{color:#b45309;font-weight:700}.fee-status{background:#e2e8f0;border-radius:999px;padding:5px 8px;font-size:11px;font-weight:800}.status-paid{color:#166534;background:#dcfce7}.status-partial{color:#1d4ed8;background:#dbeafe}.status-overdue{color:#b91c1c;background:#fee2e2}.status-pending{color:#92400e;background:#fef3c7}.status-not_set{color:#475569;background:#f1f5f9}.fee-overlay{z-index:30;background:#0f172a88;justify-content:flex-end;display:flex;position:fixed;inset:0}.fee-drawer{background:#fff;width:min(620px,100%);height:100%;padding:22px;overflow:auto}.fee-modal{background:#fff;border-radius:16px;width:min(760px,94%);max-height:90vh;margin:auto;padding:22px;overflow:auto}.fee-modal.small{width:min(500px,94%)}.fee-head{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:flex-start;margin-bottom:16px;padding-bottom:14px;display:flex}.fee-head h2{margin:0}.fee-balance-grid{grid-template-columns:repeat(3,1fr);gap:10px;display:grid}.fee-balance-grid div{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:14px}.fee-balance-grid span,.fee-balance-grid b{display:block}.fee-balance-grid span{color:#64748b;font-size:12px}.fee-balance-grid b{margin-top:5px;font-size:20px}.fee-actions{gap:10px;margin:16px 0;display:flex}.installment-list article,.payment-list article{border:1px solid #e2e8f0;border-radius:10px;justify-content:space-between;align-items:center;margin:8px 0;padding:12px;display:flex}.installment-list small,.payment-list small{color:#64748b;margin-top:3px;display:block}.fee-form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.fee-modal label{gap:6px;margin:10px 0;display:grid}.fee-modal input,.fee-modal select,.fee-modal textarea{border:1px solid #cbd5e1;border-radius:8px;padding:10px}.installment-form{grid-template-columns:1.2fr 1fr 1fr auto;gap:8px;margin:8px 0;display:grid}.installment-form button{padding:8px 12px}.fee-modal-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}@media (width<=900px){.fee-stats{grid-template-columns:1fr 1fr}.fee-toolbar{flex-wrap:wrap}.fee-search{flex-basis:100%}}@media (width<=600px){.fee-stats,.fee-balance-grid,.fee-form-grid,.installment-form{grid-template-columns:1fr}.fee-drawer{padding:14px}}
