/* Fee admin scope only. Existing student/teacher layouts and financial rules are untouched. */
.feeAdminUi {--fee-accent:#195f74;--fee-border:#dde5eb;--fee-muted:#64748b}
.feeAdminUi #feeMain .topbar{display:block;padding:12px 0 10px;border-bottom:1px solid var(--fee-border);box-shadow:none;background:#fff}
.feeAdminUi #feeMain .topbarTitleRow{justify-content:space-between;gap:8px;margin-bottom:8px}
.feeAdminUi #feeMain h1{font-size:21px;line-height:1.25;letter-spacing:-.4px}
.feeAdminUi #feeMain .topbarDateMini{font-size:11px;color:var(--fee-muted);white-space:nowrap}
.feeAdminUi #feeMain .feeTopbarWrap{display:block;width:100%}
.feeAdminUi #feeMain .feeTopActions{display:flex;flex-wrap:nowrap;gap:4px;width:100%;align-items:stretch;justify-content:space-between}
.feeAdminUi #feeMain .feeTopActions>button,.feeToolsTrigger{height:44px;min-width:0!important;flex:1;width:auto;border:1px solid var(--fee-border);border-radius:12px;display:inline-flex;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:3px 1px;background:#f8fafc;color:#173b4a;font-size:18px;box-shadow:none}
.feeAdminUi #feeMain .feeToolLabel{font-size:9px;font-weight:650;line-height:1.25;white-space:nowrap}
.feeAdminUi #feeMain .feeIconGlyph{height:18px;width:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.feeAdminUi #refreshFeeBtn::before{display:none}.feeAdminUi #refreshFeeBtn .feeIconGlyph{display:block}
.feeToolsTrigger{background:var(--fee-accent)!important;color:#fff!important;font-size:13px;font-weight:700;cursor:pointer}
.feeToolsRelocated{display:none!important}
.feeToolsOverlay[hidden]{display:none}
.feeToolsOverlay{position:fixed;inset:0;z-index:75;background:rgba(15,23,42,.45);display:flex;align-items:flex-end;justify-content:center;padding:12px;overscroll-behavior:contain}
.feeToolsSheet{background:#fff;width:min(100%,580px);max-height:calc(100dvh - 30px);overflow:auto;overscroll-behavior:contain;border-radius:20px;padding:0 14px 16px;box-shadow:0 16px 60px #0f172a33}
.feeToolsHead{display:flex;justify-content:space-between;align-items:center;position:sticky;top:0;z-index:1;background:#fff;padding:12px 0;border-bottom:1px solid #e2e8f0}
.feeToolsHead h2{font-size:20px;margin:0}
.feeToolsHead button{min-height:44px;background:#f1f5f9;border:0;border-radius:10px;padding:8px 14px;color:#334155;cursor:pointer}
.feeToolGroup{margin-top:14px}.feeToolGroup[hidden]{display:none}
.feeToolGroup h3{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.6px;margin:0 0 8px;font-weight:700}
.feeToolGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.feeToolGrid>button{display:inline-flex;position:relative!important;align-items:center;justify-content:flex-start!important;gap:8px;min-height:48px;height:auto;width:100%!important;min-width:0!important;border:1px solid #e2e8f0!important;border-radius:12px!important;padding:10px!important;box-shadow:none!important;background:#f8fafc!important;color:#195f74!important;text-align:left;white-space:normal;font-size:15px!important}
.feeToolGrid>button .feeToolLabel{font-size:12px;line-height:1.35;font-weight:650;color:#1e293b}
.feeToolGrid .feeIconGlyph{height:20px;width:20px;flex:none}
.feeToolGrid .navBadge{position:static!important;font-size:10px;min-width:16px;flex:none}
.feeToolGrid #feeNewAdmissionBtn>span:not(.feeToolLabel){display:none}
.feeToolGrid #feeFriendsGroupAdminBtn{font-size:12px}
.feeAdminUi #feeMain .feeSummary{gap:8px}.feeAdminUi #feeMain .sum{border-radius:12px;box-shadow:none;padding:10px;background:#f8fafc;border:1px solid var(--fee-border)}
.feeAdminUi #feeMain .feeSearchInput{height:46px;border:1px solid var(--fee-border);border-radius:12px;background:#fff;font-size:16px}
.feeAdminUi #feeMain .feeFilterRow,.feeAdminUi #feeMain .feeSpecialFilterRow{gap:6px;flex-wrap:wrap}
.feeAdminUi #feeMain .feeFilterBtn{min-height:40px;border-radius:10px;box-shadow:none;font-size:11px;padding:7px 9px}
.feeAdminUi #feeMain .feeFilterBtn.on{background:#195f74;color:#fff;border-color:#195f74}
.feeAdminUi #feeMain .feeQuickFilterRow,.feeAdminUi #feeMain .feeQuickFilterRow.hasPauseDueCompleted{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr) minmax(0,1.25fr) 52px;gap:5px}
.feeAdminUi #feeMain .feeQuickFilterRow .feeFilterBtn,.feeAdminUi #feeMain .feeQuickFilterRow .feeSortCompactBtn{min-width:0;min-height:44px;padding:5px 3px;font-size:10px;line-height:1.15;box-shadow:none}
.feeAdminUi #feeMain .feeQuickFilterRow .count{font-size:10px;margin-top:2px}
.feeAdminUi #feeMain .feeRetiredFilters{display:none!important}
.feeAdminUi #feeMain .feeTeacherRow{display:flex;flex-wrap:nowrap;gap:6px;overflow-x:auto;padding-bottom:3px;scrollbar-width:thin}
.feeAdminUi #feeMain .feeTeacherBtn{min-height:40px;min-width:40px;flex:1 0 auto;box-shadow:none}
.feeAdminUi #feeMain .feeTeacherBtn.on,.feeAdminUi #feeMain .feeSummaryBox.on,.feeAdminUi #feeMain .feeCashfreeNoticeTab.on{background:#195f74;border-color:#195f74;color:#fff;box-shadow:none}
.feeAdminUi #feeMain .feeCashfreeNoticePanel{border-radius:14px;box-shadow:none;border:1px solid var(--fee-border)}
.feeAdminUi #feeMain .feeCashfreeNoticeTab{min-height:28px;font-size:10.5px;font-weight:600;border:0;border-radius:6px;padding:4px 8px;box-shadow:none}
.feeAdminUi #feeMain .feeCashfreeNoticeMeta .label{display:none}
.feeUpdatesStatus{padding:4px 10px;font-size:10px;line-height:1.4;color:#64748b;border-top:1px solid #e2e8f0}
.feeUpdatesStatus.error,.feeCycleError{color:#92400e;background:#fffbeb}
.feeUpdatesStatus button,.feeCycleError button{min-height:44px;padding:8px 14px;margin-left:6px;border:1px solid #cbd5e1;border-radius:10px;background:#fff;color:#195f74;font-weight:700}
.feeCycleError{padding:12px;border-radius:12px;display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:13px}
.feeAdminUi #feeSections .card,.feeAdminUi #feeLeftList .card{border-radius:14px;box-shadow:0 2px 8px #0f172a08;border:1px solid var(--fee-border)}
.feeAdminUi .feeAdminTool>.sheet,.feeAdminUi .feeAdminTool>.responsibilityModalCard{height:auto;max-height:calc(100dvh - 16px);bottom:0;border-radius:20px 20px 0 0;padding:16px;box-shadow:0 -8px 40px #0f172a24;overscroll-behavior:contain;background:#fff}
.feeAdminUi .feeAdminTool .mhead{font-size:19px;line-height:1.4;padding-bottom:12px;margin-bottom:12px;border-bottom:1px solid #e2e8f0;color:#173b4a}
.feeAdminUi .feeAdminTool input:not([type=checkbox]):not([type=radio]),.feeAdminUi .feeAdminTool select,.feeAdminUi .feeAdminTool textarea{font-size:16px;min-height:44px;border-radius:10px;border-color:#cbd5e1;max-width:100%;box-sizing:border-box}
.feeAdminUi .feeAdminTool button:not(.notePreviewClose){min-height:44px;border-radius:10px;box-shadow:none}
.feeAdminUi .feeAdminTool label{font-size:12px;line-height:1.5;color:#475569}
.feeAdminUi .feeAdminTool .backupHealthCard,.feeAdminUi .feeAdminTool .feeEnrollmentAmountCard,.feeAdminUi .feeAdminTool .feeAnnualExamApprovalCard,.feeAdminUi .feeAdminTool .whatsappReminderReportCard{border-radius:18px;max-height:calc(100dvh - 30px);overflow:auto;overscroll-behavior:contain;box-shadow:0 12px 40px #0f172a24}
.feeAdminUi .feeAdminTool .close{flex-shrink:0;position:static;background:#f1f5f9;color:#334155;border:1px solid #e2e8f0;min-height:44px;margin-top:14px}
.feeAdminUi #feeMain .dropPanel{position:fixed;top:110px;left:12px;right:12px;width:auto;max-height:calc(100dvh - 140px);overflow:auto;z-index:65;border-radius:14px;padding:12px}
.feeAdminUi #feeMain .dropPanel button{min-height:44px}
.feeToolsOverlay button:focus-visible,.feeAdminUi #feeMain button:focus-visible{outline:3px solid #67b4c7;outline-offset:2px}
@media(min-width:700px){.feeAdminUi #feeMain .topbar{display:flex;align-items:center;gap:24px}.feeAdminUi #feeMain .topbarTitleRow{display:block;margin:0}.feeAdminUi #feeMain .feeTopbarWrap{width:auto;min-width:420px}.feeToolsOverlay{align-items:center}.feeToolsSheet{max-height:85dvh}.feeAdminUi .feeAdminTool>.sheet{left:50%;right:auto;transform:translateX(-50%);width:min(94vw,850px);border-radius:20px;bottom:3vh;max-height:92dvh}.feeAdminUi #feeMain .dropPanel{left:auto;right:24px;width:380px}}
@media(max-width:380px){.feeAdminUi #feeMain h1{font-size:19px}.feeAdminUi #feeMain .topbarDateMini{font-size:10px}.feeToolGrid{gap:6px}.feeToolGrid>button{padding:8px!important;gap:5px}.feeToolGrid .feeToolLabel{font-size:11px}}

.feeAdminUi #feeMain .feeTopActions #feeFeedbackBtn{font-size:11px!important;letter-spacing:-.3px}
.feeAdminUi #feeMain .feeTopActions #feeNewAdmissionBtn>span:not(.feeToolLabel){display:none}
.feeAdminUi #feeMain .feeTopActions .feeWhatsappGlyph{height:20px;width:20px;background:#25a95a;border-radius:50%;fill:none;stroke:#fff;stroke-width:1.4;stroke-linecap:round;stroke-linejoin:round}
.feeAdminUi #feeMain .feeCashfreeNoticePanel{background:#fff}
.feeAdminUi #feeMain .feeCashfreeNoticeHead{padding:3px 8px;gap:5px}
.feeAdminUi #feeMain .feeCashfreeNoticeTitle .dot{display:none}
.feeAdminUi #feeMain .feeCashfreeNoticeBody{padding:0 6px 3px;background:#fff}
.feeAdminUi #feeMain .feeCashfreeNoticeList{max-height:186px}
.feeAdminUi #feeMain .feeCashfreeNoticeDate{padding:2px 4px;margin:0;font-size:9px;font-weight:500;background:#f8fafc}
.feeAdminUi #feeMain .feeCashfreeNoticeRow{grid-template-columns:36px minmax(0,1fr) 52px;gap:4px;min-height:22px;padding:3px 4px;margin:0;border:0;border-bottom:1px solid #edf1f5;border-radius:0;background:transparent;box-shadow:none}
.feeAdminUi #feeMain .feeCashfreeNoticeId{font-size:10px;font-weight:500;color:#64748b}
.feeAdminUi #feeMain .feeCashfreeNoticeMain{font-size:11px;font-weight:500;line-height:1.3;text-align:left}
.feeAdminUi #feeMain .feeCashfreeNoticeTime{font-size:9.5px;font-weight:500;color:#64748b}
.feeAdminUi #feeMain .feeCashfreeNoticeCount{font-size:10px;font-weight:600;background:#eef3f6;color:#475569;padding:0 4px}
.feeAdminUi #feeMain .feeTopActions .feeToolLabel{display:none}
.feeAdminUi #feeMain .feeTopActions #feeNewAdmissionBtn .feeToolLabel{display:block;font-size:12px;line-height:1}
.feeAdminUi #feeMain .feeTopActions #feeToolsBtn{font-size:23px}
.feeAdminUi #feeMain .feeRow{border-radius:14px;box-shadow:none;padding:12px;transition:none}
.feeAdminUi #feeMain .feeRow:hover{transform:none;box-shadow:none}
.feeAdminUi #feeMain .feeRow .name{font-size:16px;line-height:1.1;font-weight:700;overflow-wrap:anywhere}
.feeAdminUi #feeMain .feeInfoStack{gap:2px;margin-top:5px}
.feeAdminUi #feeMain .feeLine{font-size:12px;font-weight:500}
.feeAdminUi #feeMain .feeSlotLevelLine{font-size:11px;line-height:1.3;white-space:normal;overflow:visible;text-overflow:clip;overflow-wrap:anywhere}
.feeAdminUi #feeMain .feeButtons{margin-top:8px;gap:6px}
.feeAdminUi #feeMain .feeActionBtn,.feeAdminUi #feeMain .feeActionBtn.alt{min-height:36px;padding:7px 10px;font-size:13px;font-weight:650;line-height:1.3;border-radius:9px;box-shadow:none;transition:none}
.feeAdminUi #feeMain .feeActionBtn:hover:not(:disabled){transform:none;box-shadow:none}
.feeAdminUi #feeMain .feeRow .nameRow{padding-left:22px;column-gap:5px;row-gap:4px}
.feeAdminUi #feeMain .feeAmountPermissionRow{gap:4px}

.feeAdminUi #feeMain #feeMeta:empty,.feeUpdatesStatus[hidden]{display:none}
.feeAdminUi #feeMain .newBadge{padding:2px 5px;font-size:9px;letter-spacing:0}
.feeAdminUi #feeMain #refreshFeeBtn.refreshing .feeIconGlyph,.feeAdminUi #feeMain #refreshFeeBtn.feeFeedRefreshing .feeIconGlyph{animation:studentSpin .85s linear infinite;transform-origin:50% 50%}
