.finance-filters{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0}.finance-filters label{display:flex;flex-direction:column;gap:4px;min-width:140px}.finance-filters input,.finance-filters select{max-width:220px;padding:7px}.finance-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin:16px 0}.finance-cards article{border:1px solid #ccd4e2;background:#fff;padding:12px;border-radius:8px;display:flex;flex-direction:column;gap:6px}.finance-cards strong{font-size:1.25rem}.finance-table-scroll{overflow-x:auto;max-width:100%}.finance-table-scroll table{min-width:1100px;border-collapse:collapse;width:100%}.finance-table-scroll td,.finance-table-scroll th{padding:8px;text-align:left;border-bottom:1px solid #ddd}.finance-provisional{background:#fff6c9}.finance-table-scroll button{margin:3px}.finance-cards+ [role=status]{color:#aa2020}

/* Shared, scoped sizing prevents either module's general controls from taking over. */
.finance-screen { min-width:0; font-size:13px; line-height:1.4; }
.finance-screen .finance-filters { gap:8px; margin:12px 0; align-items:end; }
.finance-screen .finance-filters label { flex:1 1 125px; min-width:0; max-width:210px; margin:0; font-size:11px; font-weight:600; }
.finance-screen .finance-filters label:first-child { flex-basis:200px; max-width:260px; }
.finance-screen .finance-filters input,.finance-screen .finance-filters select { box-sizing:border-box; width:100%; max-width:none; min-width:0; min-height:34px; margin:0; padding:6px 8px; font-weight:400; line-height:1.4; font-family:inherit; font-size:12px; border:1px solid #bdc6d4; border-radius:5px; background:#fff; color:#243047; }
.finance-screen button { font-family:inherit; font-size:12px; line-height:1.3; min-height:32px; padding:6px 9px; border:1px solid #cbd3df; border-radius:5px; background:#fff; color:#243047; cursor:pointer; }
.finance-screen button:disabled { opacity:.55; cursor:default; }
.finance-screen .toolbar { display:flex; flex-wrap:wrap; align-items:center; gap:6px; margin:0; }
.finance-screen .finance-filters > .toolbar { flex-basis:100%; }
.finance-screen .finance-more-filters { flex-basis:100%; margin:0; border:0; background:transparent; padding:0; }
.finance-more-filters summary { width:fit-content; cursor:pointer; padding:6px 0; font-size:12px; color:#3e4c63; }
.finance-advanced-fields { display:flex; flex-wrap:wrap; gap:8px; padding:8px 10px; background:#f5f6f9; border:1px solid #e0e4eb; border-radius:6px; }
.finance-screen .finance-advanced-fields label:first-child { flex-basis:125px; max-width:210px; }
.finance-screen .finance-cards { grid-template-columns:repeat(3,minmax(0,1fr)); gap:7px; margin:10px 0; }
.finance-screen .finance-cards article { min-width:0; padding:9px 11px; gap:4px; }
.finance-screen .finance-cards span { font-size:11px; color:#526078; }
.finance-screen .finance-cards strong { font-size:17px; line-height:1.25; overflow-wrap:anywhere; }
.finance-screen .finance-table-scroll { width:100%; scrollbar-gutter:stable; margin-bottom:10px; }
.finance-screen .finance-table-scroll table { min-width:1050px; font-size:12px; line-height:1.4; }
.finance-screen .finance-table-scroll th { background:#f2f4f8; font-size:11px; font-weight:600; color:#3e4c63; }
.finance-screen .finance-table-scroll th,.finance-screen .finance-table-scroll td { padding:6px 8px; vertical-align:middle; white-space:nowrap; }
.finance-screen .finance-table-scroll td:first-child { min-width:150px; max-width:210px; white-space:normal; }
.finance-screen .finance-table-scroll td:last-child { min-width:150px; max-width:200px; white-space:normal; }
.finance-screen .finance-table-scroll button { margin:2px; font-size:11px; min-height:30px; padding:5px 7px; }
.finance-screen > button { margin:10px 0; }
.finance-screen > details { margin:8px 0 14px; font-size:12px; }
.finance-screen > details summary { cursor:pointer; }
#finance-view > h1 { font-size:25px; margin:0 0 12px; }
#finance-reports h2 { font-size:17px; margin:16px 0 10px; }
@media(min-width:1450px) { .finance-screen .finance-cards { grid-template-columns:repeat(6,minmax(0,1fr)); } }
@media(max-width:600px) { .finance-screen .finance-cards { grid-template-columns:repeat(2,minmax(0,1fr)); } .finance-screen .finance-filters label { flex-basis:calc(50% - 8px); max-width:none; } .finance-screen .finance-filters label:first-child { flex-basis:100%; max-width:none; } }
.finance-screen .finance-table-scroll td:last-child{white-space:nowrap;max-width:none}
.finance-review-needed{margin:10px 0 14px;padding:12px;border:1px solid #efc66a;border-radius:9px;background:#fff8df}.finance-review-heading{display:flex;align-items:center;justify-content:space-between;gap:12px}.finance-review-heading h2{margin:0;font-size:15px}.finance-review-heading>strong{color:#8a5a00}.finance-review-needed>p{margin:6px 0 10px;color:#5f6470;font-size:12px}.finance-review-list{display:grid;gap:6px}.finance-review-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 10px;border:1px solid #eadcae;border-radius:7px;background:#fff}.finance-review-list article div{display:flex;flex-direction:column;gap:2px}.finance-review-list article span{font-size:12px;color:#5f6470}.finance-review-list button{white-space:nowrap}
@media(max-width:600px){.finance-review-heading,.finance-review-list article{align-items:stretch;flex-direction:column}.finance-review-list button{width:100%}}
.finance-screen .finance-table-scroll th button{border:0;background:transparent;padding:3px 0;margin:0;font-size:11px;font-weight:600;min-height:28px;text-align:left}.finance-screen .finance-table-scroll th button:hover{text-decoration:underline}
/* Alternation follows the displayed order, independently of enrollment status. */
.finance-screen .finance-table-scroll tbody tr:nth-child(odd),
.finance-screen .finance-table-scroll tbody tr:nth-child(odd) td{background:#fff6c9}
.finance-screen .finance-table-scroll tbody tr:nth-child(even),
.finance-screen .finance-table-scroll tbody tr:nth-child(even) td{background:transparent}
.finance-screen .finance-table-scroll td:last-child button{font-size:10px;line-height:1.25;min-height:26px;padding:4px 6px;margin:1px 2px}
@media(pointer:coarse){.finance-screen .finance-table-scroll td:last-child button{min-height:32px;padding:6px 8px}}

.finance-screen .finance-next-action{background:#244fa6;border-color:#244fa6;color:#fff;font-weight:600}.finance-screen .finance-undo,.finance-screen .finance-received{color:#64748b}.finance-screen [hidden]{display:none!important}

/* Companion purchases have their own ledger and never change enrollment totals. */
.finance-companion-shirts {margin-top:24px;padding-top:18px;border-top:1px solid #dcdfe8}
.finance-companion-shirts h2 {margin:0 0 6px;font-size:18px}
.finance-companion-totals {display:flex;flex-wrap:wrap;gap:24px;padding:12px 0 16px}
.finance-companion-totals>div {display:grid;gap:4px}
.finance-companion-totals span {font-size:12px;color:#657085}
.finance-companion-totals strong {font-size:16px}
.finance-companion-orders {display:grid;gap:8px;margin-bottom:14px}
.finance-companion-orders article {display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;border:1px solid #dcdfe8;border-radius:8px;padding:12px 14px;background:#fff}
.finance-companion-orders article>div {display:grid;gap:4px;min-width:0}
.finance-companion-orders small,.finance-companion-orders span {font-size:12px;color:#657085;overflow-wrap:anywhere}
.finance-companion-orders article>div:first-child {flex:1 1 200px}
.finance-companion-orders article>div:nth-child(2) {flex:1 1 180px}
.finance-companion-shirts>a {display:inline-flex;align-items:center;min-height:38px}
.finance-companion-orders article>.finance-companion-installments{flex:1 1 100%;padding:9px 11px;background:#f5f6f9;border:1px solid #e0e4eb;border-radius:6px;gap:5px}.finance-companion-pending{padding:9px 11px;border:1px solid #eadcae;border-radius:6px;background:#fff8df;color:#655000}
