/* Spacious directory-style finance list, using the workspace's warm palette. */
.finance-page-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:4px 0 26px; }
.finance-page-heading h1 { font-family:"Raleway","DM Sans",sans-serif; font-size:28px; letter-spacing:-.7px; color:var(--workspace-ink); margin:8px 0; }
.finance-page-heading p { color:var(--workspace-muted); font-size:13px; line-height:1.6; }
.finance-page-heading>button { flex-shrink:0; color:var(--workspace-ink); border-color:var(--workspace-line); background:#fffefa; }
#finance-summary { min-height:172px; }
.finance-summary-note { margin:13px 0 24px; font-size:11px; line-height:1.65; color:var(--workspace-muted); }
#finance-root .finance-list { background:#fff; border:1px solid var(--workspace-line); border-radius:18px; box-shadow:var(--workspace-shadow); overflow:visible; }
.finance-list-toolbar { display:flex; align-items:center; justify-content:space-between; flex-wrap:wrap; gap:16px; padding:22px 24px; }
.finance-quick-filters { display:inline-flex; align-items:center; padding:4px; gap:3px; border-radius:10px; background:#f2f3ed; flex-shrink:0; }
.finance-quick-filters button { min-height:36px; padding:8px 17px; border:0; border-radius:7px; background:transparent; color:#7c8477; font-size:12px; white-space:nowrap; }
.finance-quick-filters button[aria-pressed=true] { background:white; color:var(--workspace-ink); box-shadow:0 2px 7px #263e3212; }
.finance-quick-filters button:hover:not([aria-pressed=true]) { background:#e9eddf; color:var(--workspace-ink); }
.finance-list-toolbar .finance-filters { display:flex; align-items:center; flex-wrap:wrap; justify-content:flex-end; flex:1 1 470px; gap:10px; margin:0; }
.finance-list-toolbar .finance-filters label { min-width:0; }
.finance-list-toolbar .finance-search { display:flex; align-items:center; gap:8px; flex:1 1 240px; border:1px solid var(--workspace-line); border-radius:9px; padding:0 11px; background:white; }
.finance-search svg { width:17px; height:17px; color:#8c9585; }
.finance-list-toolbar .finance-search input { min-width:0; width:100%; height:40px; padding:0; border:0; background:transparent; outline:none; box-shadow:none; font-size:12px; }
.finance-list-toolbar .finance-search:focus-within { border-color:#8ba181; box-shadow:0 0 0 3px #e9efdf; }
.finance-list-toolbar .finance-select { flex:0 1 164px; }
.finance-list-toolbar .finance-select select { height:40px; font-size:11px; border-color:var(--workspace-line); background-color:#fffefa; padding:0 9px; }
#finance-root .finance-table-wrap { margin:0; border:0; background:transparent; padding:0 16px; overflow-x:auto; border-radius:0; }
.finance-list .finance-table { width:100%; min-width:920px; font-size:13px; }
.finance-list .finance-table thead th { background:#f5f6f0; color:#737e6d; font-size:12px; font-weight:550; padding:15px 16px; border:0; white-space:nowrap; letter-spacing:0; }
.finance-list .finance-table thead th:first-child { border-radius:10px 0 0 10px; }
.finance-list .finance-table thead th:last-child { border-radius:0 10px 10px 0; }
.finance-list .finance-table td { padding:24px 16px; vertical-align:middle; border-color:#eaece5; }
.finance-list .finance-table tbody tr:hover { background:#fcfcf8; }
.finance-list .finance-restaurant { min-width:205px; align-items:center; gap:12px; }
.finance-list .finance-monogram { display:grid; width:44px; height:44px; flex:0 0 44px; border-radius:50%; background:#eaf0e2; color:#577248; font-size:15px; border:3px solid #fafbf7; }
.finance-list tr:nth-child(3n + 2) .finance-monogram { background:#f5e9df; color:#977354; }
.finance-list tr:nth-child(3n) .finance-monogram { background:#edece1; color:#7d7953; }
.finance-list .finance-restaurant strong { font-family:"Raleway","DM Sans",sans-serif; font-size:14px; letter-spacing:0; margin-bottom:4px; line-height:1.5; }
.finance-list .finance-restaurant>div>span { font-size:12px; color:var(--workspace-muted); margin:0; line-height:1.5; }
.finance-list .finance-inline-phone { color:#8b9187; font-size:11px; margin:4px 0 0; white-space:nowrap; }
.finance-list .finance-record-note { color:#a76148; font-size:11px; margin-top:4px; }
.finance-plan { display:flex; align-items:center; gap:10px; min-width:150px; }
.finance-plan-icon { display:grid; place-items:center; width:38px; height:38px; flex:0 0 38px; border-radius:50%; background:#fff; border:1px solid var(--workspace-line); color:#7e916d; }
.finance-plan-icon svg { width:18px; height:18px; }
.finance-plan strong { display:block; font-size:13px; font-weight:600; color:var(--workspace-ink); }
.finance-plan>div>span { display:block; font-size:11px; color:var(--workspace-muted); margin-top:6px; line-height:1.5; white-space:nowrap; }
.finance-list .finance-table .finance-balance { font-size:16px; letter-spacing:0; font-weight:600; margin-bottom:2px; }
.finance-list .finance-table td>small { font-size:10px; margin:2px 0 0; }
.finance-list .finance-status { display:inline-flex; width:fit-content; font-size:10px; line-height:1.4; padding:4px 7px; border-radius:5px; margin:8px 0 0; }
.finance-list .finance-due { min-width:160px; font-size:12px; gap:7px; font-weight:550; }
.finance-list .finance-due svg { width:14px; height:14px; }
.finance-list .finance-dates { display:grid; grid-template-columns:1fr; gap:5px; margin-top:12px; min-width:180px; }
.finance-list .finance-dates>div { display:flex; gap:8px; justify-content:space-between; align-items:baseline; }
.finance-list .finance-dates dt { font-size:10px; margin:0; }
.finance-list .finance-dates dd { font-size:10px; text-align:right; line-height:1.5; }
.finance-list .finance-dates dd>small { font-size:9px; margin-top:0; }
.finance-list .finance-actions { display:flex; flex-wrap:wrap; align-items:center; gap:6px; min-width:116px; max-width:132px; }
.finance-list .finance-actions button { display:inline-flex; justify-content:center; align-items:center; min-height:34px; padding:8px; border:1px solid var(--workspace-line); border-radius:8px; color:var(--workspace-secondary); background:#fff; font-size:11px; }
.finance-list .finance-actions button:hover { background:var(--workspace-sage); border-color:var(--workspace-line-strong); }
.finance-list .finance-actions button[data-finance-action=payments] { flex-basis:100%; justify-content:flex-start; gap:7px; border-color:transparent; background:var(--workspace-tint); color:var(--workspace-ink); }
.finance-list .finance-actions svg { width:15px; height:15px; }
.finance-list .finance-actions>small { font-size:10px; color:var(--workspace-muted); }
.finance-list .wf-asset-pagination { margin:0; padding:18px 24px; border-top:1px solid var(--workspace-line); }
#finance-results>.ms-loading,#finance-results>.wf-empty { margin:16px 24px 24px; }
@media(max-width:1200px) {
  .finance-list-toolbar .finance-filters { flex-basis:100%; }
  .finance-list-toolbar .finance-search { flex-basis:220px; }
}
@media(max-width:950px) {
  #finance-root .finance-table-wrap { padding:0 16px; overflow:visible; }
  .finance-list .finance-table { min-width:0; }
  .finance-list .finance-table tr { border:1px solid var(--workspace-line); margin-bottom:14px; box-shadow:none; gap:18px; padding:18px; }
  .finance-list .finance-table td { border:0; padding:0; }
  .finance-list .finance-table td::before { font-size:10px; margin-bottom:8px; }
  .finance-list .finance-table td[data-label="Restaurant"],.finance-list .finance-table td[data-label="Échéance et relances"],.finance-list .finance-table td[data-label="Actions"] { grid-column:1/-1; }
  .finance-list .finance-table td[data-label="Restaurant"] strong { font-size:16px; }
  .finance-list .finance-restaurant { min-width:0; }
  .finance-plan { min-width:0; }
  .finance-plan-icon { display:none; }
  .finance-list .finance-dates { max-width:380px; }
  .finance-list .finance-actions { max-width:none; border-top:1px solid var(--workspace-line); padding-top:14px; }
  .finance-list .finance-actions button { min-height:40px; min-width:40px; }
  .finance-list .finance-actions button[data-finance-action=payments] { flex-basis:auto; padding:10px 14px; }
}
@media(max-width:550px) {
  .finance-page-heading { align-items:flex-start; flex-wrap:wrap; gap:10px; }
  .finance-page-heading h1 { font-size:24px; }
  .finance-list-toolbar { padding:16px; gap:12px; }
  .finance-quick-filters { width:100%; }
  .finance-quick-filters button { flex:1; padding:8px 10px; }
  .finance-list-toolbar .finance-search { flex-basis:100%; }
  .finance-list-toolbar .finance-select { flex:1 1 0; }
  .finance-list .wf-asset-pagination { padding:16px; }
}
.finance-list .finance-monogram { position:relative; overflow:hidden; }
.finance-list .finance-monogram img { position:absolute; inset:0; width:100%; height:100%; padding:3px; object-fit:contain; background:#fff; opacity:0; }
.finance-list .finance-monogram img.is-ready { opacity:1; }
.finance-list .finance-monogram.has-logo>span { visibility:hidden; }
/* Filter refreshes keep the current rows and totals in place. */
.finance-feedback { display:flex; align-items:center; gap:8px; min-height:28px; margin:0 24px 8px; font-size:11px; line-height:1.5; color:var(--workspace-muted); }
.finance-feedback.is-loading::before { content:""; flex:0 0 12px; width:12px; height:12px; border:2px solid var(--workspace-line); border-top-color:#708766; border-radius:50%; animation:finance-refresh-spin .8s linear infinite; }
.finance-refresh-error { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 24px 16px; padding:12px 14px; background:#fff7ed; border:1px solid #eadcc7; border-radius:9px; }
.finance-refresh-error p { color:#8b6334; font-size:12px; line-height:1.6; }
.finance-refresh-error button { flex-shrink:0; }
@keyframes finance-refresh-spin { to { transform:rotate(360deg); } }
@media(prefers-reduced-motion:reduce){.finance-feedback.is-loading::before{animation:none}}
@media(max-width:550px){.finance-feedback{margin-left:16px;margin-right:16px}.finance-refresh-error{margin-left:16px;margin-right:16px;flex-wrap:wrap}}
