/* Finance follows the existing PiPizza tokens; no independent theme. */
.finance-workspace { position:relative;padding:16px 24px 28px;min-height:calc(100dvh - var(--topbar-height,64px)); }
#finance-title { margin:0 300px 14px 0;font-size:20px;line-height:36px;font-weight:500; }
.finance-heading-actions { position:absolute;top:16px;right:24px;display:flex;align-items:center;gap:14px; }
.finance-heading-actions>.text-button { min-height:36px;padding:6px 0;font-size:12px;white-space:nowrap; }
.finance-heading-actions>.button { min-height:36px;padding:7px 12px;font-size:12px; }
.finance-presets { display:flex;align-items:center;flex-wrap:wrap;gap:4px; }
.finance-presets>button { min-height:36px;padding:7px 8px;border:1px solid var(--line);border-radius:8px;background:var(--paper);color:var(--ink-2);font-size:12px;line-height:20px;white-space:nowrap; }
@media (hover:hover) { .finance-presets>button:hover { border-color:var(--brand-line);background:var(--brand-50); } }
.finance-presets>button[aria-pressed=true] { border-color:var(--brand-line);background:var(--brand-50);color:var(--brand-ink);font-weight:600; }
.finance-period { display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:12px; }
.finance-period>label { display:flex;align-items:center;gap:6px;flex:0 0 auto;min-width:0;color:var(--muted);font-size:11px;white-space:nowrap; }
.finance-period input,.finance-period select { width:auto;min-height:36px;margin-top:0;padding:6px 8px;border-color:#858d86;font-size:12px;line-height:22px; }
.finance-period input { width:130px; }
.finance-period select { max-width:160px; }
.finance-period [aria-invalid=true] { border-color:var(--danger-ink); }
.finance-period>.button { min-height:36px;padding:7px 10px;font-size:12px; }
.finance-export>.icon { width:18px;height:18px; }
.finance-period>.button:disabled,.finance-heading-actions>button:disabled { color:var(--muted);background:var(--surface-300);border-color:var(--line);cursor:not-allowed; }
.finance-help,.finance-footnote { color:var(--muted);font-size:12px;line-height:19px; }
.finance-help { margin-top:8px; }
.finance-feedback { margin:0; }
#finance-status { min-height:18px;color:var(--muted);font-size:12px;line-height:18px; }
#finance-status.finance-stale-message { margin:8px 0;padding:8px 12px;border:1px solid #e6d8ae;border-radius:8px;background:var(--warn-50);color:var(--warn-ink); }
#finance-error { margin:8px 0;padding:10px 12px;border:1px solid #f0c4c1;border-radius:8px;background:var(--danger-50);color:var(--danger-ink);font-size:13px;line-height:20px; }
.finance-result-heading { display:flex;align-items:center;flex-wrap:wrap;justify-content:space-between;gap:8px;margin-bottom:12px; }
.finance-result-heading h2 { font-size:15px;line-height:22px;font-weight:500; }
.finance-result-heading>span { color:var(--muted);font-size:12px; }
.finance-metrics { display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px; }
.finance-metric { min-width:0;padding:13px 16px;border:1px solid var(--line);border-radius:12px;background:var(--paper); }
.finance-metric h3 { margin-bottom:9px;color:var(--ink-2);font-size:13px;line-height:20px;font-weight:500; }
.finance-metric>strong { display:block;font-size:clamp(22px,2vw,30px);line-height:1.25;font-weight:600;font-variant-numeric:tabular-nums;overflow-wrap:anywhere; }
.finance-metric>p { margin-top:7px;color:var(--muted);font-size:11px;line-height:17px; }
.finance-metric.gross { background:var(--brand-50);border-color:var(--brand-line); }
.finance-metric.gross>p { color:var(--brand-ink); }
.finance-metric.gross>strong,.finance-metric.paid>strong { color:var(--brand-ink); }
.finance-metric.unpaid>strong { color:var(--brown); }
.finance-payment-summary { display:flex;flex-wrap:wrap;gap:10px 24px;margin:12px 0 6px;font-size:12px;line-height:20px; }
.finance-payment-summary>div { display:flex;align-items:baseline;gap:8px; }
.finance-payment-summary dt { color:var(--muted); }
.finance-payment-summary dd { margin:0;font-weight:600;font-variant-numeric:tabular-nums; }
.finance-payment-summary .finance-pending-total dd { color:var(--brown); }
.finance-definition { margin:0 0 12px;color:var(--muted);font-size:11px;line-height:18px;max-width:1120px; }
.finance-no-refunds { margin:0 0 14px;color:var(--muted);font-size:11px;line-height:18px; }
.finance-refunds { margin:0 0 16px;border-color:#ddd0bd; }
.finance-refunds .finance-panel-heading { gap:10px;justify-content:flex-start;padding:10px 14px;background:var(--brown-50); }
.finance-refunds h3>span { display:inline-block;margin-left:6px;padding:1px 6px;border-radius:5px;background:#fff;color:var(--brown);font-size:12px; }
.finance-refunds .finance-panel-heading>strong { color:var(--brown);font-size:15px;font-weight:600; }
.finance-refunds .finance-panel-heading>.finance-refund-scope { margin-left:auto;color:var(--brown); }
.finance-refund-notice { margin:8px 14px;color:var(--ink-2);font-size:12px;line-height:19px; }
.finance-refunds .finance-table-scroll { max-height:230px; }
.finance-refunds .text-button { min-height:32px;padding:5px 0;color:var(--brand-ink);font-size:12px;text-decoration:underline; }
.finance-grid { display:grid;grid-template-columns:minmax(0,2.2fr) minmax(250px,1fr);gap:16px;align-items:start; }
.finance-panel { overflow:hidden;border:1px solid var(--line);border-radius:12px;background:var(--paper); }
.finance-panel-heading { display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;padding:14px 16px;border-bottom:1px solid var(--line); }
.finance-panel-heading h3 { font-size:15px;line-height:22px;font-weight:500; }
.finance-panel-heading>span { color:var(--muted);font-size:11px;line-height:18px; }
.finance-table-scroll { max-height:420px;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain; }
.finance-table-scroll:focus-visible { outline-offset:-3px; }
.finance-table { width:100%;border-collapse:collapse;white-space:nowrap;font-variant-numeric:tabular-nums; }
.finance-table th,.finance-table td { padding:10px 12px;border-bottom:1px solid var(--line);font-size:12px;line-height:18px;text-align:right; }
.finance-table th:first-child { text-align:left; }
.finance-table th { font-weight:500; }
.finance-table thead th { position:sticky;top:0;z-index:1;background:var(--surface-200);color:var(--muted);font-size:11px; }
.finance-table tbody tr:last-child>* { border-bottom:0; }
.finance-table tbody th>small { display:block;color:var(--muted);font-size:10px;font-weight:400; }
@media (hover:hover) { .finance-table tbody tr:hover>* { background:var(--surface-200); } }
.finance-table tfoot>* { background:var(--brand-50); }
.finance-table tfoot th,.finance-table tfoot td { border-top:1px solid var(--brand-line);border-bottom:0;font-weight:600; }
.finance-zero-day { color:var(--muted); }
.finance-product-list { margin:0;padding:0 16px;max-height:420px;overflow:auto;overscroll-behavior:contain;list-style:none; }
.finance-product-list>li { padding:12px 0;border-bottom:1px solid var(--line); }
.finance-product-list>li:last-child { border-bottom:0; }
.finance-product-list>li>div:first-child { display:flex;align-items:baseline;justify-content:space-between;gap:14px;font-size:13px;line-height:19px; }
.finance-product-list>li>div>span { min-width:0;overflow-wrap:anywhere; }
.finance-product-list strong { flex:none;color:var(--brand-ink);font-size:14px;font-weight:600;font-variant-numeric:tabular-nums; }
.finance-product-list strong>small { color:var(--muted);font-size:10px;font-weight:400; }
.finance-product-list:focus-visible { outline-offset:-3px; }
.finance-product-bar { display:block;appearance:none;width:100%;height:4px;margin:6px 0;border:0;border-radius:2px;background:var(--surface-300); }
.finance-product-bar::-webkit-meter-bar { border:0;border-radius:2px;background:var(--surface-300); }
.finance-product-bar::-webkit-meter-optimum-value { border-radius:2px;background:var(--brand-line); }
.finance-product-bar::-moz-meter-bar { border-radius:2px;background:var(--brand-line); }
.finance-product-list>li>small { color:var(--muted);font-size:11px;line-height:16px; }
.finance-payments { margin-top:16px; }
.finance-payment-grid { display:grid;grid-template-columns:repeat(3,minmax(0,1fr)); }
.finance-payment-grid>section { padding:14px 16px;border-right:1px solid var(--line); }
.finance-payment-grid>section:last-child { border-right:0; }
.finance-payment-grid h4 { font-size:13px;line-height:20px;font-weight:500; }
.finance-payment-grid p { margin:4px 0 12px;font-size:12px;color:var(--muted); }
.finance-payment-grid dl { margin:0;font-size:12px;line-height:20px; }
.finance-payment-grid dl>div { display:flex;justify-content:space-between;gap:12px; }
.finance-payment-grid dt { color:var(--muted); }
.finance-payment-grid dd { margin:0;font-variant-numeric:tabular-nums; }
.finance-footnote { margin-top:12px; }
.finance-empty { margin:0 0 16px;padding:18px;border:1px dashed var(--line-strong);border-radius:10px;background:var(--paper); }
.finance-empty>strong { display:block;font-size:14px;font-weight:500; }
.finance-empty>p,.finance-panel-empty { margin-top:6px;font-size:13px;line-height:20px;color:var(--muted); }
.finance-panel-empty { padding:16px;margin:0; }
#finance-results.is-stale .finance-result-heading { padding-left:10px;border-left:3px solid var(--warn-ink); }
@media (max-width:1100px) {
  .finance-workspace { padding:18px; }
  .finance-heading-actions { top:18px;right:18px; }
  .finance-presets { flex-basis:100%; }
  .finance-metrics { gap:8px; }
  .finance-metric { padding:12px; }
  .finance-metric>strong { font-size:23px; }
  .finance-grid { grid-template-columns:minmax(0,1fr); }
  .finance-product-list { display:grid;grid-template-columns:repeat(3,minmax(0,1fr));column-gap:24px;max-height:260px; }
}
@media (max-width:760px) {
  #finance-title { margin-right:0; }
  .finance-heading-actions { position:static;justify-content:flex-start;margin-bottom:12px; }
  .finance-metrics { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .finance-metric.gross { grid-column:1/-1; }
  .finance-product-list { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .finance-payment-grid { grid-template-columns:1fr; }
  .finance-payment-grid>section { border-right:0;border-bottom:1px solid var(--line); }
  .finance-payment-grid>section:last-child { border-bottom:0; }
}
@media (pointer:coarse) {
  .finance-period input,.finance-period select { font-size:16px; }
  .finance-period input { width:150px; }
  .finance-period select { max-width:none; }
  .finance-period input,.finance-period select,.finance-period>.button,.finance-presets>button { min-height:44px; }
}
/* Compact operational overview, using the same light cards as web analytics. */
.finance-workspace{padding:12px 22px 20px;max-width:1550px;margin:0 auto;width:100%;min-height:0}
#finance-title{margin:0 300px 9px 0;font-size:22px;line-height:34px}
.finance-heading-actions{top:12px;right:22px;gap:12px}
.finance-period{gap:10px;margin-bottom:12px;justify-content:space-between}
.finance-presets{gap:2px;padding:3px;border:1px solid #e5e9e3;background:#f0f3ef;border-radius:10px;flex-basis:auto}
.finance-presets>button{border:1px solid transparent;background:transparent;min-height:30px;padding:3px 13px;font-size:11px;line-height:22px;border-radius:7px}
.finance-presets>button[aria-pressed=true]{background:#fff;border-color:#d8e3d3;box-shadow:0 1px 3px #182c1510;color:#315e35}
.finance-shift{display:flex;align-items:center;gap:10px;color:#62705d;font-size:12px}
.finance-shift>button{width:30px;height:30px;padding:0;border:1px solid #dfe5dc;background:white;border-radius:8px;font-size:23px;line-height:1;color:#48623e}
.finance-dates{width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding-top:2px}
.finance-dates>label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}
.finance-dates>.button{min-height:34px;font-size:12px;padding:6px 12px}
.finance-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.finance-metric{padding:10px 16px 9px;border-color:#e1e7df;border-radius:12px;background:#fff}
.finance-metric h3{margin:0 0 4px;font-size:12px;line-height:17px;color:#5f6b59}
.finance-metric>strong{font-size:27px;line-height:1.1;letter-spacing:-.6px;font-weight:600;color:#293a2b}
.finance-metric>p{margin-top:5px;font-size:10px;line-height:14px;color:#71806a}
.finance-metric.gross{background:#f0f6ec;border-color:#d7e4ce}
.finance-metric.online>strong{color:#756194}.finance-metric.tips>strong{color:#8a6b31}
.finance-summary-strip{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:8px 1px 10px}
.finance-payment-summary{margin:0;gap:8px 20px;font-size:10px;line-height:16px}
.finance-payment-summary>div{gap:6px}.finance-summary-strip>span{font-size:10px;color:#7b8575;white-space:nowrap}
.finance-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,1fr);gap:12px;align-items:stretch;margin-bottom:10px}
.finance-dashboard-grid>.finance-panel{min-width:0;margin:0;display:flex;flex-direction:column}
.finance-panel{border-color:#e1e7df;border-radius:12px}
.finance-panel-heading{padding:11px 15px 9px;gap:8px;border-bottom:0;align-items:center}
.finance-panel-heading h3{font-size:13px;line-height:19px;font-weight:600;margin:0}
.finance-panel-heading p{font-size:10px;line-height:15px;color:#7a8474;margin:2px 0 0}
.finance-panel-heading>strong{font-size:19px;font-weight:600;color:#385b38;letter-spacing:-.3px}
.finance-panel-heading>span{font-size:10px}
.finance-legend{display:flex;gap:14px;flex-wrap:wrap;padding:0 15px 8px;font-size:9px;color:#697260}
.finance-legend>span{display:inline-flex;align-items:center;gap:5px}.finance-legend i{width:7px;height:7px;border-radius:2px}
.fin-online{background:#9d88bb}.fin-driver{background:#72a27a}.fin-other{background:#8eb7c2}.fin-pending{background:#e6bf70}
.finance-chart{display:grid;grid-template-columns:60px minmax(0,1fr);height:108px;padding:0 15px;gap:8px;margin-bottom:21px}
.finance-y{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;font-size:9px;color:#7a8474;line-height:1;transform:translateY(4px)}
.finance-plot{display:flex;gap:5px;align-items:stretch;border-bottom:1px solid #e1e7df;background:repeating-linear-gradient(to top,transparent 0,transparent calc(50% - 1px),#edf0eb calc(50% - 1px),#edf0eb 50%);min-width:0}
.finance-bar{position:relative;flex:1;min-width:0;display:flex;align-items:flex-end;justify-content:center;padding:0 1px;border:0;background:transparent;border-radius:4px 4px 0 0}
.finance-bar:hover,.finance-bar:focus-visible{background:#edf3e7;outline:2px solid #c1d6b4;outline-offset:2px}
.finance-stack{display:flex;flex-direction:column-reverse;width:100%;max-width:32px;border-radius:4px 4px 0 0;overflow:hidden;min-height:1px;background:#e9eee5;transition:height .3s ease-out}
.finance-stack i{display:block;flex:none;border-top:1px solid #ffffff70;min-height:1px}
.finance-x{position:absolute;top:calc(100% + 7px);left:50%;transform:translateX(-50%);color:#7a8474;font-size:8px;white-space:nowrap}
.finance-chart-reading{margin:0;padding:3px 15px 10px;min-height:34px;font-size:10px;line-height:15px;color:#68745f}
.finance-dashboard-grid .finance-table-scroll{max-height:164px;flex:1;scrollbar-gutter:auto}
.finance-dashboard-grid .finance-table th,.finance-dashboard-grid .finance-table td{padding:7px 12px;font-size:11px;line-height:17px}
.finance-dashboard-grid .finance-table thead th{font-size:9px;background:#f8faf6;color:#788270}
.finance-table .text-button{min-height:26px;padding:2px 0;font-size:11px;line-height:19px;color:#356139;text-decoration:underline;text-decoration-color:#b9cbb2;text-underline-offset:3px}
.finance-driver-name{display:flex;gap:8px;align-items:center;white-space:normal;min-width:126px}
.finance-driver-name>i{display:grid;place-items:center;flex:none;width:27px;height:27px;border-radius:50%;background:#eef4e8;color:#56824d;font-size:11px;font-style:normal}
.finance-driver-name small{display:block;font-size:9px;line-height:14px;color:#7a8474;font-weight:400}
.finance-cash{color:#3f7a45}.finance-online-amount{color:#806a9b}.finance-tip-amount{color:#8a6b31;font-weight:600}
.finance-panel-note{margin:0;padding:7px 15px 9px;font-size:9px;line-height:14px;color:#7a8474;border-top:1px solid #edf0ea}
.finance-panel-empty{padding:22px 15px;color:#7a8474;font-size:12px;line-height:20px;flex:1;display:flex;align-items:center;justify-content:center;text-align:center;min-height:96px;background:linear-gradient(#fff,#fbfcfa)}
.finance-tips .finance-panel-heading>strong{color:#8a6b31}.finance-tips,.finance-online{min-height:185px}
.finance-no-refunds{margin:0 1px 9px;font-size:9px;line-height:14px}
.finance-details{border:1px solid #e1e7df;border-radius:10px;background:white;margin-top:8px;overflow:hidden}
.finance-details>summary{padding:10px 14px;cursor:pointer;font-size:12px;color:#3e5438}
.finance-details>summary>span{color:#7a8474;font-size:10px;margin-left:12px}
.finance-details[open]>summary{border-bottom:1px solid #e1e7df;margin-bottom:12px}
.finance-details>.finance-grid,.finance-details>.finance-payments{margin:0 12px 12px}
.finance-details .finance-panel-heading{border-bottom:1px solid #e1e7df}
.finance-footnote{font-size:9px;line-height:15px;margin:7px 1px 0;color:#7a8474}
#finance-results.is-stale{opacity:.65}
@media(max-width:1100px){.finance-workspace{padding:12px 16px 18px}.finance-heading-actions{right:16px}.finance-dashboard-grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.finance-metrics{gap:8px}.finance-metric{padding:10px 12px}.finance-metric>strong{font-size:24px}.finance-dashboard-grid .finance-table th,.finance-dashboard-grid .finance-table td{padding:7px 9px}.finance-legend{gap:9px}}
@media(max-width:800px){.finance-dashboard-grid{grid-template-columns:1fr}.finance-panel-empty{min-height:70px}.finance-tips,.finance-online{min-height:0}.finance-chart{height:125px}.finance-summary-strip{align-items:flex-start}.finance-payment-summary{gap:3px 15px}.finance-heading-actions{position:absolute}.finance-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.finance-metric.gross{grid-column:auto}.finance-period{gap:8px}.finance-workspace{padding:12px}#finance-title{margin-right:230px}.finance-heading-actions{right:12px}.finance-presets>button{padding:3px 11px}.finance-shift{font-size:11px}.finance-summary-strip>span{font-size:9px}.finance-details>summary>span{display:block;margin:4px 0 0 15px}.finance-dashboard-grid .finance-table-scroll{max-height:240px}}
@media(max-width:450px){.finance-heading-actions{gap:9px}.finance-heading-actions>.button{padding:6px 8px;font-size:10px}.finance-heading-actions>.text-button{font-size:10px}.finance-heading-actions>.button .icon{width:15px}.finance-presets{width:100%;justify-content:space-between}.finance-presets>button{flex:1;padding:4px 5px}.finance-shift{width:100%;justify-content:space-between}.finance-summary-strip>span{display:none}.finance-chart{grid-template-columns:47px minmax(0,1fr);padding:0 12px;gap:5px}.finance-plot{gap:3px}.finance-legend{font-size:9px}.finance-metric>p{font-size:9px}.finance-driver-name{min-width:110px}.finance-panel-heading{padding:10px 12px}.finance-metric>strong{font-size:24px}.finance-dates input{width:125px}.finance-dates label{flex-wrap:wrap}.finance-dates select{max-width:160px}}
@media(pointer:coarse){.finance-presets>button,.finance-shift>button{min-height:40px}.finance-table .text-button{min-height:36px}}
@media(prefers-reduced-motion:reduce){.finance-workspace *{transition:none!important;animation:none!important}}
@media(min-width:1000px){.finance-metric{padding-top:8px;padding-bottom:8px}.finance-metric>strong{font-size:26px}.finance-chart{height:88px}.finance-tips,.finance-online{min-height:160px}.finance-dashboard-grid .finance-table-scroll{max-height:138px}.finance-panel-empty{min-height:65px}.finance-no-refunds{margin-bottom:5px}.finance-details>summary{padding:8px 14px}}

.finance-refund-totals{display:flex;flex-wrap:wrap;gap:16px 28px;padding:14px 16px;font-size:12px;color:var(--muted)}.finance-refund-totals strong{display:block;color:var(--ink);font-size:17px;font-weight:500;margin-top:5px;font-variant-numeric:tabular-nums}
