.module-dashboard:has(> #fee-ledger-root) { grid-template-columns: minmax(0,1fr); }
#fee-ledger-root { grid-column: 1 / -1; display:block; width:100%; min-width:0; box-sizing:border-box; padding:24px; text-align:left; }
#fee-ledger-root .fl-tabs, #fee-ledger-root .fl-actions { display:flex; gap:10px; flex-wrap:wrap; margin:18px 0; }
#fee-ledger-root .fl-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr)); gap:16px; margin:16px 0; }
#fee-ledger-root label { display:flex; flex-direction:column; gap:8px; min-width:0; }
#fee-ledger-root label:has(input[type=checkbox]) { display:flex; flex-direction:row; align-items:center; }
#fee-ledger-root input[type=checkbox] { width:20px; height:20px; min-height:20px; flex-shrink:0; }
#fee-ledger-root input, #fee-ledger-root select { width:100%; min-width:0; min-height:42px; box-sizing:border-box; }
#fee-ledger-root button { min-height:42px; }
#fee-ledger-root .fl-collect-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,420px);gap:20px;align-items:start}
#fee-ledger-root .fl-search-fields{min-width:0}
#fee-ledger-root .fl-search-fields>h4{margin-top:0}
#fee-ledger-root .fl-collect-layout:has(#fl-student-summary:empty){grid-template-columns:minmax(0,1fr)}
#fl-student-summary:empty{display:none}
@media(max-width:1000px){#fee-ledger-root .fl-collect-layout{grid-template-columns:minmax(0,1fr)}}
#fl-student-summary:not(:empty){width:min(100%,560px);border:1px solid #cbd5e1;border-radius:8px;overflow:hidden}
#fl-student-summary h4{background:#e7f5f1;padding:10px;margin:0}
#fl-student-summary .fl-summary-body{display:flex;gap:16px;padding:12px}
#fl-student-summary img,#fl-student-summary .fl-photo-placeholder{width:90px;height:115px;object-fit:contain;flex-shrink:0}
#fl-student-summary dl{margin:0;flex:1;min-width:0}
#fl-student-summary dl>div{display:grid;grid-template-columns:105px minmax(0,1fr);gap:8px;padding:2px 0}
#fl-student-summary dt{color:#64748b}#fl-student-summary dd{margin:0;overflow-wrap:anywhere}
@media(max-width:650px){#fee-ledger-root .fl-search-heading{flex-direction:column}#fl-student-summary .fl-summary-body{gap:8px}#fl-student-summary img,#fl-student-summary .fl-photo-placeholder{width:64px;height:85px}#fl-student-summary dl>div{grid-template-columns:1fr;gap:0}}
#fee-ledger-root .fl-charge[hidden]{display:none}
#fee-ledger-root .fl-category-block{display:flex;flex-wrap:wrap;gap:12px 24px;padding:16px;border:1px solid #cbd5e1;border-radius:8px;margin:16px 0}
#fee-ledger-root .fl-category-block label{flex-direction:row;align-items:center;min-height:36px}
#fee-ledger-root .fl-charge-list{display:flex;flex-direction:column;gap:10px}
#fee-ledger-root .fl-charge{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,2fr) minmax(150px,220px);gap:16px;align-items:center}
@media(max-width:700px){#fee-ledger-root .fl-charge{grid-template-columns:1fr;gap:8px}#fee-ledger-root .fl-charge>p{margin:0 0 0 28px}#fee-ledger-root .fl-charge>label:last-child{margin-left:28px}}
#fee-ledger-root .fl-student-search { grid-column:1 / -1; min-width:0; position:relative; }
#fee-ledger-root .fl-student-results { position:absolute; top:100%; left:0; right:0; z-index:30; max-height:360px; overflow:auto; background:#fff; border:1px solid #cbd5e1; box-shadow:0 8px 20px #0002; padding:8px; }
#fee-ledger-root .fl-student-choice { display:block; width:100%; text-align:left; white-space:normal; overflow-wrap:anywhere; background:#fff; color:#172b3a; border:0; border-bottom:1px solid #e2e8f0; padding:12px; cursor:pointer; }
#fee-ledger-root .fl-student-choice:hover,#fee-ledger-root .fl-student-choice:focus { background:#e7f5f1; outline:2px solid #147d69; outline-offset:-2px; }
#fee-ledger-root .fl-search { border:1px solid #cbd5e1; padding:18px; border-radius:8px; }
#fee-ledger-root .fl-search h4 { margin:0; color:#116758; }
#fee-ledger-root p { line-height:1.5; margin:14px 0; }
#fee-ledger-root .fl-notice { background:#fff8df; padding:16px; border-radius:8px; margin:16px 0; }
#fee-ledger-root .fl-charge-list { display:flex; flex-direction:column; gap:14px; margin:16px 0; }
#fee-ledger-root .fl-charge { padding:16px; border:1px solid #cbd5e1; border-radius:8px; min-width:0; }
#fee-ledger-root .fl-table { overflow:auto; max-width:100%; }
#fee-ledger-root table { min-width:1500px; width:100%; }
#fee-ledger-root th,#fee-ledger-root td { white-space:normal; padding:12px; vertical-align:top; }
#fee-ledger-root details { padding:12px 0; }
#fee-ledger-root summary { cursor:pointer; }
#fl-message { color:#9b341b; }
#fee-print-root { display:none; }
@media(max-width:640px){#fee-ledger-root {padding:14px;} #fee-ledger-root input,#fee-ledger-root select {font-size:16px;} #fee-ledger-root .fl-tabs {display:grid;grid-template-columns:1fr 1fr;} #fee-ledger-root .fl-search {padding:12px;}}
@media print {
  @page feeLedgerReport { size:A4 landscape; margin:10mm; }
  body.fee-printing > *:not(#fee-print-root) { display:none !important; }
  html:has(body.fee-printing), body.fee-printing { height:auto !important; overflow:visible !important; }
  body.fee-printing #fee-print-root, body.fee-printing #fee-print-root * { visibility:visible !important; }
  body.fee-printing #fee-print-root { display:block !important; page:feeLedgerReport; font:10px Arial,sans-serif; color:#000; }
  #fee-print-root .fl-table { overflow:visible; }
  #fee-print-root table { width:100%; border-collapse:collapse; table-layout:fixed; }
  #fee-print-root td,#fee-print-root th { border:1px solid #999; padding:4px; overflow-wrap:anywhere; }
  #fee-print-root thead { display:table-header-group; }
  #fee-print-root tr { break-inside:avoid; }
}
