/* Finance keeps the same ivory, navy, gold and serif family as the register. */
body > main > .finance-page { display:flex;flex-direction:column;gap:12px;overflow:auto;min-height:0;padding-bottom:4px; }
.finance-toolbar { display:flex;flex-wrap:wrap;align-items:flex-end;gap:10px;flex-shrink:0;padding:2px 0; }
.finance-toolbar .field { max-width:125px; }
.finance-toolbar .field input { width:110px; }
.finance-role { margin-right:auto;align-self:center;font-size:13px;color:var(--muted); }
.finance-stats { margin:0;gap:12px;flex-shrink:0; }
.finance-stats .stat { padding:13px 16px;min-width:0; }
.finance-stats .stat-value { font-size:27px;overflow-wrap:anywhere; }
.finance-stats .stat-detail { font-size:11px; }
.finance-two-col { display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,300px);gap:14px;min-height:260px;flex:1 0 auto; }
.finance-even-col { display:grid;grid-template-columns:1fr 1fr;gap:14px; }
.finance-panel { display:flex;flex-direction:column;min-width:0;min-height:0;flex-shrink:0; }
.finance-panel .panel-heading { padding:14px 17px; }
.finance-panel .panel-heading h2 { font-size:24px; }
.finance-panel .toolbar { padding:10px 16px; }
.finance-panel .toolbar input[type=search] { flex:1;min-width:160px; }
.finance-note { margin:10px 16px;line-height:1.5;font-size:12px; }
.finance-table-slot { min-height:100px;flex:1; }
.finance-table { overflow:auto;max-height:440px; }
.finance-table td { font-size:14px;padding:13px;vertical-align:middle;white-space:normal; }
.finance-table td:first-child { min-width:150px; }
.finance-table th { white-space:nowrap; }
.finance-table .secondary { min-height:38px;white-space:nowrap; }
.finance-money { font-variant-numeric:tabular-nums;white-space:nowrap;display:block;text-align:right; }
.finance-rules > .secondary { margin:0 16px 10px; }
.finance-form { display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;padding:8px 16px 16px; }
.finance-form > .field { min-width:0; }
.finance-form > .field:has(textarea),.finance-form > button,.finance-form > .finance-note,.finance-form > .finance-allocation-holder,.finance-form > .finance-import-mapping,.finance-form > div { grid-column:1 / -1; }
.finance-form > button { justify-self:start;min-height:42px; }
.finance-rules .finance-form { grid-template-columns:1fr; }
.finance-form input,.finance-form select,.finance-form textarea { width:100%;min-height:41px; }
.finance-form textarea { min-height:80px; }
.finance-actions { display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:10px 16px 16px; }
.finance-actions button { min-height:40px; }
.finance-backup-panel { flex-shrink:0; }
.finance-dialog { width:min(780px,calc(100vw - 32px)); }
.finance-dialog-wide { width:min(1060px,calc(100vw - 32px)); }
.finance-dialog .dialog-scroll { overflow:auto;max-height:calc(100dvh - 130px);padding:12px 10px 20px; }
.finance-dialog .finance-form { padding:8px 10px 14px; }
.finance-dialog .panel { margin:12px 0 0; }
.finance-dialog .finance-stats { grid-template-columns:repeat(2,minmax(0,1fr));padding:0 10px; }
.finance-dialog .stat-value { font-size:25px; }
.finance-allocations { border:1px solid var(--border);border-radius:12px;padding:10px 12px;margin:8px 0; }
.finance-allocations legend { font-size:13px;font-weight:650;padding:0 5px; }
.finance-form > .finance-temple-rate { grid-column:1 / -1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px; }
.finance-form .field:has(input[type=checkbox]) { display:flex;align-items:flex-start;gap:10px;grid-column:1 / -1; }
.finance-form .field input[type=checkbox] { width:18px;height:18px;min-height:18px;flex-shrink:0;accent-color:var(--navy); }
.finance-allocation { display:grid;grid-template-columns:22px minmax(100px,1fr) 125px;gap:10px;align-items:center;margin:7px 0;font-size:13px; }
.finance-allocation input[type=checkbox] { width:18px;height:18px;min-height:0;accent-color:var(--navy); }
.finance-import-mapping { display:grid;grid-template-columns:1fr 1fr;gap:10px;max-height:260px;overflow:auto; }
.finance-form > details { grid-column:1 / -1; }
.finance-column-map { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:12px 0; }
.finance-column-entry { display:flex;gap:8px;align-items:flex-end;min-width:0; }
.finance-column-entry .field:first-child { flex:1;min-width:0; }
.finance-column-entry .field:last-child:not(:first-child) { width:75px; }
.finance-generation-list { max-height:480px;overflow:auto; }
.finance-generation-row { padding:10px 8px;border-bottom:1px solid var(--border); }
.finance-generation-member { display:flex;align-items:center;gap:10px;font-weight:650; }
.finance-generation-member input[type=checkbox] { width:18px;min-height:18px;accent-color:var(--navy); }
.finance-generation-row details { margin:6px 0 0 28px;font-size:13px; }
.finance-generation-exceptions { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:12px 0; }
.finance-generation-exceptions .field:last-child { grid-column:1 / -1; }
.finance-preview { margin:8px 16px;padding:12px;border:1px solid var(--border);border-radius:12px; }
.finance-preview pre { max-height:180px;overflow:auto; }
.finance-status { flex-shrink:0;min-height:0;font-size:13px;color:#32765b;padding:0 2px; }
.finance-status:empty { display:none; }
.finance-status:not(:empty) { padding:8px 10px;border:1px solid var(--border);border-radius:9px;margin-top:6px;background:#fffdf8; }
.finance-failure { color:#922c24; }
.finance-status.finance-failure { background:#fff0ed;border-color:#cf938a; }
@media(max-width:1100px){.finance-two-col{grid-template-columns:minmax(0,1fr) 260px;}.finance-stats{grid-template-columns:repeat(2,minmax(0,1fr));}.finance-even-col{grid-template-columns:1fr;}}
@media(max-width:850px){.finance-two-col{grid-template-columns:1fr;}.finance-rules .finance-form{grid-template-columns:repeat(3,minmax(0,1fr));}.finance-rules .finance-form button{grid-column:1 / -1;}.finance-role{flex:1 1 100%;}}
@media(max-width:750px){.finance-toolbar{gap:7px;}.finance-toolbar button{font-size:12px;padding:8px;}.finance-stats{gap:7px;}.finance-stats .stat{padding:10px;}.finance-stats .stat-value{font-size:23px;}.finance-panel .panel-heading h2{font-size:22px;}.finance-form{grid-template-columns:1fr;}.finance-rules .finance-form{grid-template-columns:1fr;}.finance-table td{padding:10px;font-size:13px;}.finance-allocation{grid-template-columns:22px minmax(80px,1fr) 95px;gap:7px;}.finance-import-mapping{grid-template-columns:1fr;}.finance-dialog .dialog-scroll{padding:8px 6px 14px;}}
@media(max-width:750px){.finance-form > .finance-temple-rate{grid-template-columns:1fr;}}
@media(prefers-reduced-motion:reduce){.finance-page *{transition:none!important;}}
