#view-finance { --finance-blue:#edf3f8; }
#view-finance [hidden] { display:none !important; }
.finance-header { display:flex; justify-content:space-between; align-items:center; gap:18px; margin-bottom:22px; }
.finance-header h2 { color:var(--navy-dark); font-size:30px; margin:5px 0 8px; }
.finance-session { color:var(--muted); font-size:12px; }
.finance-tabs { display:flex; flex-wrap:wrap; gap:7px; border-bottom:1px solid var(--line); padding-bottom:13px; margin-bottom:20px; }
.finance-tabs button { border:1px solid transparent; padding:10px 14px; border-radius:7px; color:var(--navy); background:transparent; cursor:pointer; font:inherit; font-weight:600; }
.finance-tabs button.active { color:white; background:var(--navy); }
.finance-card { padding:22px; background:white; border:1px solid var(--line); border-radius:12px; margin-bottom:18px; }
.finance-filters { display:flex; gap:12px; flex-wrap:wrap; align-items:end; }
.finance-filters label { flex:1 1 130px; min-width:0; }
#view-finance input, #view-finance select, #view-finance textarea { min-width:0; width:100%; font:inherit; }
#view-finance textarea { border:1px solid var(--line); border-radius:7px; padding:10px; min-height:80px; resize:vertical; }
#view-finance .button.primary { background:var(--navy); color:white; }
#view-finance .button.secondary { background:#eaf0f5; color:var(--navy); }
#view-finance .button:disabled { opacity:.5; cursor:not-allowed; }
.finance-actions { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.finance-section-heading { display:flex; align-items:center; justify-content:space-between; gap:14px; margin-bottom:16px; }
.finance-section-heading p { margin-top:5px; color:var(--muted); font-size:12px; }
.finance-scroll { max-height:550px; overflow:auto; border:1px solid var(--line); border-radius:8px; }
.finance-scroll table { min-width:1000px; }
.finance-scroll th { position:sticky; top:0; z-index:1; }
.finance-scroll td { font-size:12px; padding:12px; }
.finance-scroll strong { color:var(--navy-dark); }
.finance-scroll small { display:block; margin-top:3px; color:var(--muted); }
.finance-money { font-variant-numeric:tabular-nums; white-space:nowrap; }
.finance-tax-preview { display:flex; flex-wrap:wrap; gap:18px; padding:14px 16px; background:#edf3f8; border:1px solid var(--line); border-radius:9px; margin:12px 0; }
.finance-tax-preview > span { flex:1 1 180px; font-size:12px; color:var(--muted); }
.finance-tax-preview strong { display:block; color:var(--navy-dark); font-size:17px; margin-top:6px; font-variant-numeric:tabular-nums; }
#view-finance .finance-checkbox { display:flex; gap:10px; align-items:flex-start; }
#view-finance .finance-checkbox input { width:auto; margin-top:4px; }
.finance-photo-gallery { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:14px; margin:14px 0; }
.finance-photo-gallery figure { margin:0; padding:9px; border:1px solid var(--line); border-radius:8px; min-width:0; }
.finance-photo-gallery figure > button:first-child { width:100%; border:0; padding:0; background:#f2f6fa; cursor:zoom-in; }
.finance-photo-gallery img { display:block; width:100%; height:135px; object-fit:contain; }
.finance-photo-gallery figcaption { font-size:11px; overflow-wrap:anywhere; color:var(--muted); margin:7px 0; }
.finance-photo-dialog img { display:block; max-width:100%; max-height:70vh; object-fit:contain; margin:auto; }
.finance-currency-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:18px; }
.finance-currency-card { border-top:3px solid var(--navy); }
.finance-currency-card h3 { margin-bottom:16px; }
.finance-recorded-totals { padding-bottom:14px; margin-bottom:18px; border-bottom:1px solid var(--line); }
.finance-recorded-totals h4, .finance-currency-card h4 { font-size:13px; color:var(--navy); margin:14px 0 10px; }
.finance-recorded-totals small { display:block; font-size:11px; color:var(--muted); margin-top:3px; }
.finance-metric { display:flex; justify-content:space-between; gap:10px; padding:10px 0; border-bottom:1px solid #eef2f6; font-size:13px; }
.finance-metric strong { color:var(--navy-dark); font-size:17px; font-variant-numeric:tabular-nums; }
.finance-metric.positive strong { color:var(--green); }
.finance-metric.negative strong { color:#b62c35; }
.finance-note { color:var(--muted); font-size:12px; margin:12px 0; }
.finance-status { display:inline-block; padding:4px 8px; border-radius:5px; background:#eaf0f5; color:var(--navy); font-size:11px; font-weight:700; }
.finance-status.completed { color:var(--green); background:#eaf6ef; }
.finance-status.partial { color:var(--amber); background:#fff4de; }
.finance-status.cancelled { color:#9b3e3e; background:#fbeeed; }
.finance-dialog { width:min(850px,calc(100vw - 32px)); max-height:90vh; overflow:auto; border:1px solid var(--line); border-radius:14px; padding:26px; color:var(--navy-dark); box-shadow:0 24px 80px #162b4340; }
.finance-dialog::backdrop { background:#162b4377; }
.finance-dialog h3 { margin:0; }
.finance-dialog-close { border:0; background:#edf2f7; border-radius:6px; padding:8px 13px; color:var(--navy); cursor:pointer; }
.finance-form-grid { display:grid; grid-template-columns:1fr 1fr; gap:13px 16px; }
.finance-form-grid .wide { grid-column:1 / -1; }
.finance-form-grid label { min-width:0; }
.finance-form-grid input, .finance-form-grid select { min-height:39px; }
.finance-created-by { padding:12px 14px; background:var(--finance-blue); border-radius:7px; font-size:12px; line-height:1.8; margin-bottom:17px; }
.finance-dialog form > .finance-actions { margin-top:20px; }
.finance-dialog input[readonly] { background:#f3f6f8; color:var(--muted); }
.finance-detail-summary { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:10px; margin:16px 0; }
.finance-detail-summary > div { background:#f4f7fa; border-radius:7px; padding:12px; }
.finance-detail-summary strong { display:block; margin-top:6px; font-size:19px; }
.finance-detail-summary span { font-size:12px; color:var(--muted); }
.finance-detail-note { white-space:pre-wrap; font-size:13px; margin:12px 0; }
.finance-detail-subtitle { font-size:16px; margin:23px 0 10px; }
.finance-history { display:grid; gap:8px; max-height:240px; overflow:auto; }
.finance-history-item { padding:10px 12px; background:#f5f8fb; border-left:3px solid var(--navy); border-radius:5px; font-size:12px; }
.finance-documents { display:flex; flex-wrap:wrap; gap:8px; margin:12px 0; }
.finance-empty { padding:35px 16px; text-align:center; color:var(--muted); }
#finance-message:empty, .finance-dialog .form-message:empty { display:none; }
.calendar-created-by { display:block; margin-top:8px; font-weight:600; }
@media(max-width:1050px) { .finance-currency-grid { grid-template-columns:1fr; } .finance-header { align-items:start; } }
@media(max-width:650px) { .finance-form-grid { grid-template-columns:1fr; } .finance-form-grid .wide { grid-column:auto; } .finance-header,.finance-section-heading { flex-direction:column; align-items:stretch; } .finance-detail-summary { grid-template-columns:1fr; } .finance-dialog { padding:18px; } }
