.dashboard-finance{margin-block:var(--section-gap);padding:var(--panel-padding);background:#fff;border:1px solid var(--line);border-radius:16px;min-width:0}
.df-heading h2{font-size:20px;font-weight:700;margin:0 0 20px;letter-spacing:-.02em}
.df-school{display:grid;gap:var(--field-gap);max-width:380px;margin-bottom:16px;font-size:12px;font-weight:700}
.df-filters{display:grid;grid-template-columns:minmax(110px,1fr) minmax(150px,1.2fr) minmax(130px,1.3fr) minmax(105px,.8fr) auto;gap:16px;align-items:end;margin-bottom:24px}
.df-filters label{display:grid;gap:var(--field-gap);font-size:12px;font-weight:700;min-width:0}
.dashboard-finance .form-select,.dashboard-finance .form-control{width:100%;min-width:0;min-height:40px;font-size:13px}
.dashboard-finance [hidden]{display:none!important}
.df-filters .btn{min-height:40px;white-space:normal}
.df-caption{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px 16px;margin-bottom:16px}
.df-caption p{font-weight:600;margin:0;overflow-wrap:anywhere}
.df-caption small,.df-note,.df-status{color:var(--muted);font-size:13px}
.df-note{margin:0 0 16px}.df-status{margin:0}
.df-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:0 0 24px;padding-bottom:24px;border-bottom:1px solid var(--line)}
.df-totals div{min-width:0}.df-totals dt{color:var(--muted);font-size:13px;font-weight:500;margin-bottom:8px}
.df-totals dd{font-size:clamp(20px,2vw,28px);font-weight:700;line-height:1.3;letter-spacing:-.02em;margin:0;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.df-totals .df-negative{color:var(--danger)}
.df-detail{display:grid;grid-template-columns:1fr 1fr;gap:32px;align-items:start}.df-detail h3{font-size:14px;font-weight:700;margin:0 0 12px}
.df-breakdown{display:grid;gap:10px;margin:0}.df-breakdown div{display:flex;justify-content:space-between;align-items:baseline;gap:16px}
.df-breakdown dt{font-weight:400;color:var(--muted);font-size:13px}.df-breakdown dd{font-variant-numeric:tabular-nums;text-align:right;font-size:13px;margin:0;overflow-wrap:anywhere}
.df-explanation{font-size:13px;color:var(--muted)}.df-explanation p{margin:0 0 16px;max-width:65ch}.df-explanation .btn{white-space:normal}
.df-warning{background:#fff6dd;color:#674b12;border-radius:10px;padding:12px 16px;margin-bottom:24px;font-size:13px}.df-warning p{margin:0}.df-warning p+p{margin-top:8px}
.df-error{font-size:13px;color:var(--danger)}.df-error p{margin:0 0 12px}
@media(max-width:1100px){.df-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.df-filters .btn{justify-self:start}.df-detail{gap:24px}}
@media(max-width:600px){.dashboard-finance{padding:16px}.df-heading h2{margin-bottom:16px}.df-filters{gap:12px;margin-bottom:20px}.df-school{max-width:none}.df-field-branch_id,.df-field-currency{grid-column:1/-1}.dashboard-finance .form-select,.dashboard-finance .form-control{font-size:16px;min-height:44px}.df-filters .btn{min-height:44px;grid-column:1/-1;width:100%}.df-totals{grid-template-columns:1fr;gap:16px;padding-bottom:20px;margin-bottom:20px}.df-totals div{display:flex;align-items:baseline;justify-content:space-between;gap:16px}.df-totals dt{margin:0}.df-totals dd{text-align:right;font-size:22px}.df-detail{grid-template-columns:1fr;gap:20px}.df-explanation .btn{width:100%;min-height:44px}.df-warning{margin-bottom:20px;padding:12px}.df-error .btn{min-height:44px}}
@media(max-width:440px){.df-filters{grid-template-columns:minmax(0,1fr)}}
