/* Export controls share the collection toolbar's geometry. */
.fee-report-toolbar{display:flex;justify-content:space-between;align-items:flex-end;gap:16px;flex-wrap:wrap;padding:0;border:0;background:transparent}
.fee-range-fields{display:flex;gap:10px;align-items:flex-end;flex:1 1 420px;min-width:0;flex-wrap:wrap}.fee-range-fields>label{flex:1 1 130px;max-width:205px;min-width:120px;font-size:12px;gap:6px}.fee-range-fields input,.fee-range-fields select{width:100%;min-height:42px;padding:9px 11px;font-size:14px;border:1px solid var(--line);border-radius:8px;background:var(--white);color:var(--ink)}
.fee-report-actions{display:flex;gap:8px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-left:auto}.fee-report-actions .date-switch{font-size:12px;gap:6px}.fee-report-actions .date-switch button{width:34px;min-height:40px;background:var(--white);border-color:var(--line);border-radius:8px}.fee-report-actions .date-switch>span{white-space:nowrap}
.collection-export-toolbar{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;margin:18px 0}.collection-export-toolbar .tuition-filter{margin:0;max-width:270px}.collection-export-actions{display:flex;align-items:center;gap:8px;margin-left:auto}.bank-open-button{display:inline-flex;align-items:center;gap:7px;font-size:12px!important;min-height:44px;padding:9px 11px}.bank-open-button svg{width:18px}
.nep-export-button{position:relative;display:grid;place-items:center;width:48px;height:46px;min-width:48px;min-height:46px;border:1px solid var(--line);border-radius:11px;background:var(--white);padding:0;cursor:pointer;overflow:visible;transition:transform .2s ease,background .2s ease}.nep-export-button:hover{background:var(--green-light);transform:translateY(-2px)}.export-file-icon{width:25px;height:27px;color:var(--green)}.export-pdf .export-file-icon{color:#a55343}.export-mascot{display:none}
body[data-style=zodiac] .nep-export-button{background:var(--zodiac-paper);border-color:var(--zodiac-border);border-radius:13px;box-shadow:0 2px 0 #d6c4a54d}body[data-style=zodiac] .export-mascot{display:block;position:absolute;width:27px;height:27px;left:2px;top:4px;border-radius:50%;background:#fff8ed url('assets/zodiac-avatars.png') 100% 0/400% 300%}body[data-style=zodiac] .export-excel .export-mascot{background-position:0 0}body[data-style=zodiac] .export-file-icon{position:absolute;right:3px;bottom:3px;width:23px;height:26px;filter:drop-shadow(0 1px 1px #70533420)}
.bank-dialog{max-width:620px}.bank-subtitle{font-size:13px;color:var(--muted);line-height:1.6;margin:7px 0}.bank-status{padding:12px;background:var(--paper);border-radius:10px;font-size:13px;line-height:1.6}.payment-bank-fields{display:grid;grid-template-columns:1fr 1fr;gap:14px}.bank-note{font-size:12px;line-height:1.6;color:var(--muted)}.bank-automation{border:1px solid var(--line);border-radius:12px;padding:16px;margin:20px 0}.bank-automation h3{font-size:16px;margin:0 0 10px}.bank-automation p{font-size:13px;line-height:1.7}.bank-automation button{font-size:12px!important;margin:4px}.bank-automation input{width:100%;font-size:12px}.bank-event{border-bottom:1px solid var(--line);padding:12px 0;display:grid;gap:5px;font-size:12px}.bank-event strong,.bank-event b{font-size:15px;color:var(--green)}.bank-event small{overflow-wrap:anywhere;color:var(--muted)}
body[data-style=zodiac] .fee-report-summary{border-color:var(--zodiac-border)}body[data-style=zodiac] .fee-report-summary article,body[data-style=zodiac] .fee-class-heading{background:var(--zodiac-paper);border-color:var(--zodiac-border)}body[data-style=zodiac] .fee-report-summary .money{background:var(--zodiac-surface);color:var(--ink)}body[data-style=zodiac] .fee-class-totals strong{color:var(--zodiac-action-dark)}body[data-style=zodiac] .fee-detail-table th,body[data-style=zodiac] .fee-detail-table tfoot{background:var(--zodiac-surface)}
@media(max-width:1100px){.fee-range-fields{flex-basis:100%}.fee-range-fields>label{max-width:none}.fee-report-actions{width:100%}}
@media(max-width:760px){.fee-range-fields{display:grid;grid-template-columns:1fr 1fr;width:100%}.fee-range-fields>label{min-width:0;max-width:none}.fee-range-fields>label:last-child{grid-column:1/-1}.fee-report-actions{justify-content:flex-end;gap:6px}.fee-report-actions .date-switch{margin-right:auto;width:auto}.fee-report-actions .date-switch>span{font-size:11px}.collection-export-toolbar{flex-wrap:wrap;gap:12px}.collection-export-toolbar .tuition-filter{max-width:100%;flex:1 1 150px}.collection-export-actions{margin-left:auto}.bank-open-button span{display:none}.bank-open-button{width:44px;justify-content:center;padding:0}.payment-bank-fields{grid-template-columns:1fr;gap:0}.fee-report-actions .nep-export-button{flex:0 0 44px;width:44px;min-width:44px}}
@media(prefers-reduced-motion:reduce){.nep-export-button{transition:none}.nep-export-button:hover{transform:none}}

/* One explicit period source for both the on-screen report and exported files. */
.fee-report-toolbar .fee-range-fields{display:grid;grid-template-columns:140px minmax(160px,1fr) minmax(150px,1fr);flex:1 1 500px;min-width:0;gap:12px}
.fee-report-toolbar[data-report-mode=range] .fee-range-fields{grid-template-columns:160px repeat(2,minmax(145px,1fr)) minmax(140px,1fr)}
.fee-report-toolbar .fee-range-fields>label{min-width:0;max-width:none}
.fee-report-toolbar .fee-report-actions{width:auto;flex:0 0 auto;margin-left:auto;flex-wrap:nowrap;padding-bottom:1px}
.fee-report-toolbar .tuition-month-input{width:100%}.fee-report-toolbar .tuition-month-input input{padding-right:44px}
@media(max-width:1100px){.fee-report-toolbar .fee-range-fields{flex-basis:100%}.fee-report-toolbar .fee-report-actions{width:auto}}
@media(max-width:640px){.fee-report-toolbar .fee-range-fields,.fee-report-toolbar[data-report-mode=range] .fee-range-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.fee-report-toolbar .fee-range-fields>label:last-child{grid-column:auto}.fee-report-toolbar[data-report-mode=month] .fee-range-fields>label:last-child{grid-column:1/-1}.fee-report-toolbar .fee-report-actions{align-self:flex-end}}
@media(max-width:360px){.fee-report-toolbar .fee-range-fields,.fee-report-toolbar[data-report-mode=range] .fee-range-fields{grid-template-columns:minmax(0,1fr)}.fee-report-toolbar[data-report-mode=month] .fee-range-fields>label:last-child{grid-column:auto}}
