/* Finance & Analytics (finance, invoices, payments, vendor bills, reports, incentives, wallets, cash, analytics) — pwf- prefix */

.pwf-gap{margin-bottom:0}
.pwf-gap > .pw-card{margin-bottom:20px}
.pwf-small{font-size:12.5px}
.pwf-neg{color:var(--pw-danger)!important}
.pwf-pos{color:var(--pw-success)!important}
.pwf-warn{color:var(--pw-warn)!important}
.pwf-info{color:var(--pw-info)!important}
.pwf-pad{padding:18px}
.is-hidden{display:none!important}

/* Filter cards */
.pwf-filter-card > .pw-card-body{padding:14px 18px}
.pwf-filters{margin-bottom:0}
.pwf-filters .pw-field{min-width:140px;flex:1 1 140px}
.pwf-filters .pw-field-grow{flex:3 1 240px}
.pwf-filters .pwf-go{flex:0 0 auto;min-width:0}
.pwf-filters .pwf-go .pw-check{height:42px;display:flex;align-items:center;white-space:nowrap}

/* Flush cards (tables edge to edge) */
.pwf-flush > .pw-card-body{padding:0}
.pwf-flush > .pw-card-body > .pw-empty{padding:36px 16px}
.pwf-flush > .pw-card-body > .pwf-allclear{margin:16px 18px}
.pwf-flush > .pw-card-body > .pwf-alert-in{margin:14px 18px 6px}
.pwf-flush > .pw-card-body > .pwf-footnote{padding:0 18px 16px}
.pwf-flush-pad > .pw-card-body{padding:6px 18px}

.pwf-table td{vertical-align:top}
.pwf-table td.pwf-cbc,.pwf-table th.pwf-cbc{width:36px;padding-right:0}
.pwf-table .pw-actions{vertical-align:middle}
.pwf-table .pw-actions > *{margin-left:4px}
.pwf-table .pw-actions .pw-inline-form{display:inline-flex}
.pwf-party{min-width:150px;max-width:280px}
.pwf-party b{display:block;overflow:hidden;text-overflow:ellipsis}
.pwf-ref{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12.5px;word-break:break-all}
.pwf-row-muted td{opacity:.55}
.pwf-row-loss td{background:var(--pw-danger-50)!important}
.pwf-row-loss td:first-child{box-shadow:inset 3px 0 0 var(--pw-danger)}
.pwf-row-thin td:first-child{box-shadow:inset 3px 0 0 #E89B1A}
.pwf-total td{background:#FAFBFC;border-top:1px solid var(--pw-line);border-bottom:0!important;font-variant-numeric:tabular-nums}
.pwf-total td small{font-weight:400}

/* Expandable inline forms */
.pwf-expand > td{background:#FBFBFD!important;padding:0!important;border-bottom:1px solid var(--pw-line)!important}
.pwf-inline-form{padding:16px 18px;margin:0}
.pwf-inline-form + .pwf-inline-form{border-top:1px dashed var(--pw-line)}
.pwf-inline-title{display:flex;align-items:center;gap:8px;flex-wrap:wrap;font-weight:600;font-size:13.5px;margin-bottom:12px;color:var(--pw-ink-2)}
.pwf-inline-title b{color:var(--pw-ink)}
.pwf-inline-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin-top:14px}
.pwf-inline-foot > .pw-btn{margin-left:auto}
.pwf-note-input{flex:1 1 220px;max-width:420px}
.pwf-danger-zone .pwf-inline-title{color:var(--pw-danger)}
.pwf-void-mini{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-top:10px}
.pwf-void-mini input{flex:1 1 220px}
.pwf-ho-grid{display:grid;grid-template-columns:minmax(0,3fr) minmax(0,2fr)}
.pwf-ho-grid > form + form{border-top:0;border-left:1px dashed var(--pw-line)}
.pwf-ho-grid .pw-check{margin-top:12px}
[data-pwf-expand].is-open{box-shadow:inset 0 0 0 2px rgba(0,0,0,.06)}

/* Bulk bar */
.pwf-bulkbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 18px;border-bottom:1px solid var(--pw-line-2);background:#FCFCFD;border-radius:var(--pw-radius) var(--pw-radius) 0 0}
.pwf-bulkbar select{width:auto;min-height:34px;padding:6px 10px;font-size:13px}
.pwf-bulk-count{font-size:13px;color:var(--pw-muted)}
.pwf-bulk-count b{color:var(--pw-ink)}

/* Attention list + all clear */
.pwf-sub{display:flex;align-items:center;gap:6px;font-size:12px!important;text-transform:uppercase;letter-spacing:.05em;color:var(--pw-muted)!important;margin:18px 0 10px!important;font-weight:700}
.pwf-sub small{text-transform:none;letter-spacing:0;font-weight:500}
.pwf-sub-pad{padding:0 18px}
.pwf-attn{list-style:none;margin:-18px -18px 0;padding:0}
.pwf-attn li a{display:flex;align-items:center;gap:12px;padding:12px 18px;border-bottom:1px solid var(--pw-line-2);color:var(--pw-ink)!important;text-decoration:none!important}
.pwf-attn li a:hover{background:#FCFCFD}
.pwf-attn-ic{flex:none;width:34px;height:34px;border-radius:10px;display:grid;place-items:center;background:var(--pw-line-2);color:var(--pw-muted)}
.pwf-attn-t{flex:1;min-width:0;display:flex;flex-direction:column}
.pwf-attn-t b{font-size:13.5px;font-weight:600}
.pwf-attn-t small{color:var(--pw-muted);font-size:12px}
.pwf-attn em{font-style:normal;font-weight:800;font-size:18px;font-variant-numeric:tabular-nums}
.pwf-attn .is-danger .pwf-attn-ic{background:var(--pw-danger-50);color:var(--pw-danger)}.pwf-attn .is-danger em{color:var(--pw-danger)}
.pwf-attn .is-warn .pwf-attn-ic{background:var(--pw-warn-50);color:var(--pw-warn)}.pwf-attn .is-warn em{color:var(--pw-warn)}
.pwf-attn .is-info .pwf-attn-ic{background:var(--pw-info-50);color:var(--pw-info)}.pwf-attn .is-info em{color:var(--pw-info)}
.pwf-allclear{display:flex;gap:12px;align-items:center;padding:14px;border-radius:12px;background:var(--pw-success-50);color:var(--pw-success)}
.pwf-allclear b{display:block;color:var(--pw-ink)}
.pwf-allclear small{display:block;color:var(--pw-ink-2);font-size:12.5px}

.pwf-chart-legend{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;font-size:12.5px;margin:0 0 10px}
.pwf-chart-legend + .pw-chart{margin-top:0}
.pw-chart + .pwf-chart-legend{margin:10px 0 0}
.pwf-dot{display:inline-block;width:9px;height:9px;border-radius:3px;background:var(--pw-primary);margin-right:6px;vertical-align:middle}
.pwf-footnote{font-size:12px;color:var(--pw-muted);margin:12px 0 0}
.pwf-key{display:inline-block;width:10px;height:10px;border-radius:2px;margin:0 4px -1px 10px}
.pwf-key.is-loss{background:var(--pw-danger)}.pwf-key.is-thin{background:#E89B1A}

/* Payments: mode totals */
.pwf-modes{display:grid;gap:12px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));margin:20px 0}
.pwf-mode{display:flex;flex-direction:column;gap:2px;padding:12px 14px;border:1px solid var(--pw-line);border-radius:12px;background:#fff;color:var(--pw-ink)!important;text-decoration:none!important;transition:border-color .12s}
.pwf-mode:hover{border-color:var(--pw-primary-100)}
.pwf-mode small{font-size:12px;color:var(--pw-muted);font-weight:600}
.pwf-mode b{font-size:18px;font-variant-numeric:tabular-nums}
.pwf-mode span{font-size:12px;color:var(--pw-muted)}
.pwf-mode.is-total{background:var(--pw-dark);border-color:var(--pw-dark)}
.pwf-mode.is-total small,.pwf-mode.is-total span{color:rgba(255,255,255,.65)}
.pwf-mode.is-total b{color:#fff}
.pwf-mode.is-active{border-color:var(--pw-primary);box-shadow:0 0 0 3px var(--pw-primary-50)}
.pwf-record{border-color:var(--pw-primary-100)}
.pwf-match{border:1px solid var(--pw-line);border-radius:12px;margin-top:12px;overflow:hidden}
.pwf-match-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 16px;background:#FAFBFC;border-bottom:1px solid var(--pw-line-2)}
.pwf-match-head small{display:block;color:var(--pw-muted);font-size:12px}
.pwf-match-amt{text-align:right}
.pwf-match-amt b{display:block;font-size:18px}

/* Receipt */
.pwf-receipt{max-width:720px;margin:0 auto 24px;background:#fff;border:1px solid var(--pw-line);border-radius:var(--pw-radius);padding:28px;box-shadow:var(--pw-shadow)}
.pwf-rc-head{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;padding-bottom:18px;border-bottom:2px solid var(--pw-primary)}
.pwf-rc-brand{display:flex;gap:12px;align-items:flex-start}
.pwf-rc-brand b{font-size:16px;display:block}
.pwf-rc-brand small{display:block;color:var(--pw-muted);font-size:12px}
.pwf-rc-logo{max-height:44px;width:auto}
.pwf-rc-title{text-align:right;display:flex;flex-direction:column}
.pwf-rc-title h2{margin:0;color:var(--pw-primary);text-transform:uppercase;letter-spacing:.06em;font-size:16px}
.pwf-rc-title span{font-size:12.5px;color:var(--pw-ink-2)}
.pwf-rc-amount{margin:20px 0;padding:16px 18px;border-radius:12px;background:var(--pw-success-50);display:flex;flex-direction:column;gap:2px}
.pwf-rc-amount.is-refund{background:var(--pw-danger-50)}
.pwf-rc-amount small{font-size:12px;color:var(--pw-muted);font-weight:600;text-transform:uppercase;letter-spacing:.04em}
.pwf-rc-amount b{font-size:28px;font-variant-numeric:tabular-nums}
.pwf-rc-amount em{font-style:normal;font-size:13px;color:var(--pw-ink-2)}
.pwf-rc-sum{display:flex;gap:10px;flex-wrap:wrap;justify-content:space-between;margin-top:16px;padding:12px 14px;border:1px dashed var(--pw-line);border-radius:10px;font-size:13px}
.pwf-rc-note{margin-top:12px;font-size:13px;color:var(--pw-ink-2)}
.pwf-rc-foot{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-top:36px;font-size:12px;color:var(--pw-muted)}
.pwf-rc-sign{text-align:right;border-top:1px solid var(--pw-line);padding-top:6px;min-width:180px}
.pwf-rc-sign b{color:var(--pw-ink)}

/* Vendor bills */
.pwf-checks{min-width:150px}
.pwf-checks .pw-badge{margin:0 2px 3px 0;font-size:11.5px}
.pwf-bill-info{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:24px;padding:4px 18px 18px}
.pwf-checklist{list-style:none;margin:0 0 12px;padding:0}
.pwf-checklist li{display:flex;gap:10px;align-items:flex-start;padding:8px 0;border-bottom:1px solid var(--pw-line-2)}
.pwf-checklist li small{display:block;color:var(--pw-muted);font-size:12px}
.pwf-checklist li.is-ok .pw-i{color:var(--pw-success)}
.pwf-checklist li.is-bad .pw-i{color:var(--pw-danger)}
.pwf-checklist li.is-bad b{color:var(--pw-danger)}
.pwf-checklist li.is-na .pw-i{color:var(--pw-muted)}
.pwf-mini-list{list-style:none;margin:0 0 10px;padding:0}
.pwf-mini-list li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--pw-line-2);font-size:13px}
.pwf-mini-list small{display:block;color:var(--pw-muted);font-size:12px}
.pwf-settings{margin:20px 0;border:1px solid var(--pw-line);border-radius:var(--pw-radius);background:#fff}
.pwf-settings summary{cursor:pointer;padding:12px 18px;font-weight:600;font-size:13.5px;color:var(--pw-ink-2);display:flex;gap:8px;align-items:center;list-style:none}
.pwf-settings summary::-webkit-details-marker{display:none}
.pwf-settings[open] summary{border-bottom:1px solid var(--pw-line-2)}

/* Reports */
.pwf-pl td{padding-top:10px;padding-bottom:10px}
.pwf-pl .pwf-indent{padding-left:32px;color:var(--pw-ink-2)}
.pwf-pl-head td{background:#FAFBFC;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--pw-muted);padding-top:8px;padding-bottom:8px}
.pwf-pl-sub td{font-weight:700;border-top:1px solid var(--pw-line)}
.pwf-pl-net td{font-weight:800;font-size:15px;background:var(--pw-dark)!important;color:#fff}
.pwf-pl-net td.pw-muted{color:rgba(255,255,255,.6)!important}
.pwf-pl-net .pwf-pos{color:#7EE2B0!important}.pwf-pl-net .pwf-neg{color:#FF9A9A!important}
.pwf-margin{display:inline-block;min-width:54px;padding:2px 8px;border-radius:999px;font-weight:700;font-size:12.5px;text-align:center}
.pwf-margin.is-ok{background:var(--pw-success-50);color:var(--pw-success)}
.pwf-margin.is-thin{background:var(--pw-warn-50);color:var(--pw-warn)}
.pwf-margin.is-loss{background:var(--pw-danger);color:#fff}

/* Incentives */
.pwf-progress{height:5px;border-radius:5px;background:var(--pw-line-2);margin-top:6px;max-width:160px;overflow:hidden}
.pwf-progress span{display:block;height:100%;background:var(--pw-success);border-radius:5px}

/* Wallet */
.pwf-subtabs{display:flex;gap:4px;flex-wrap:wrap;margin:0 0 14px;padding:4px;background:#fff;border:1px solid var(--pw-line);border-radius:12px;width:max-content;max-width:100%}
.pwf-subtabs a{padding:6px 12px;border-radius:8px;font-size:13px;font-weight:600;color:var(--pw-ink-2)!important;text-decoration:none!important}
.pwf-subtabs a.is-active{background:var(--pw-primary-50);color:var(--pw-primary)!important}
.pwf-subtabs em{font-style:normal;opacity:.7;font-weight:500}
.pwf-proof{display:inline-flex;align-items:center;gap:8px;font-size:13px}
.pwf-proof img{width:44px;height:44px;object-fit:cover;border-radius:8px;border:1px solid var(--pw-line)}

/* Cash reconciliation */
.pwf-diff{display:inline-block;padding:2px 8px;border-radius:999px;font-weight:700;font-size:12.5px;font-variant-numeric:tabular-nums}
.pwf-diff.is-short{background:var(--pw-danger-50);color:var(--pw-danger)}
.pwf-diff.is-over{background:var(--pw-info-50);color:var(--pw-info)}
.pwf-awbs small a{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}
.pwf-flow{display:flex;align-items:stretch;gap:8px;flex-wrap:wrap}
.pwf-flow > div{flex:1 1 120px;padding:12px;border:1px solid var(--pw-line);border-radius:12px;display:flex;flex-direction:column;gap:2px}
.pwf-flow small{font-size:11.5px;color:var(--pw-muted);font-weight:600;text-transform:uppercase;letter-spacing:.03em}
.pwf-flow b{font-size:17px;font-variant-numeric:tabular-nums}
.pwf-flow em{font-style:normal;font-size:12px;color:var(--pw-warn)}
.pwf-flow > span{align-self:center;color:var(--pw-muted);font-weight:700}

/* Analytics */
.pwf-seg{display:inline-flex;padding:3px;background:#fff;border:1px solid var(--pw-line);border-radius:10px;gap:2px}
.pwf-seg a{padding:0 12px;height:32px;display:inline-flex;align-items:center;border-radius:7px;font-weight:600;font-size:13px;color:var(--pw-ink-2)!important;text-decoration:none!important}
.pwf-seg a.is-active{background:var(--pw-dark);color:#fff!important}
.pwf-stats{margin:0;display:grid;gap:0}
.pwf-stats > div{padding:12px 0;border-bottom:1px solid var(--pw-line-2)}
.pwf-stats > div:first-child{padding-top:0}
.pwf-stats > div:last-child{border-bottom:0;padding-bottom:0}
.pwf-stats dt{font-size:12px;color:var(--pw-muted);font-weight:600}
.pwf-stats dd{margin:2px 0 0;font-size:22px;font-weight:800;font-variant-numeric:tabular-nums}
.pwf-stats dd small{display:block;font-size:12px;font-weight:500;color:var(--pw-muted)}
.pwf-alloc-row{padding:0 0 14px}
.pwf-alloc-top{display:flex;justify-content:space-between;gap:10px;font-size:13.5px;margin-bottom:6px}
.pwf-alloc-top span{color:var(--pw-muted);font-size:12.5px;white-space:nowrap}
.pwf-alloc-bars{height:7px;background:var(--pw-line-2);border-radius:6px;margin-bottom:4px;overflow:hidden}
.pwf-ab{display:block;height:100%;border-radius:6px}
.pwf-ab.is-n,.pwf-alloc-key i.is-n{background:var(--pw-primary)}
.pwf-ab.is-a,.pwf-alloc-key i.is-a{background:var(--pw-info)}
.pwf-alloc-row small{font-size:12px;color:var(--pw-muted)}
.pwf-alloc-key{display:flex;gap:14px;font-size:12px;color:var(--pw-muted)}
.pwf-alloc-key i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px;vertical-align:-1px}
.pwf-funnel{display:flex;flex-direction:column;gap:10px}
.pwf-fn-row{display:grid;grid-template-columns:120px minmax(0,1fr) 44px 96px;gap:10px;align-items:center;font-size:13px}
.pwf-fn-label{font-weight:600;color:var(--pw-ink-2)}
.pwf-fn-track{height:22px;background:var(--pw-line-2);border-radius:6px;overflow:hidden}
.pwf-fn-track span{display:block;height:100%;background:linear-gradient(90deg,var(--pw-primary),#EF6B71);border-radius:6px}
.pwf-fn-row b{text-align:right;font-variant-numeric:tabular-nums}
.pwf-fn-row small{color:var(--pw-muted);font-size:12px}
.pwf-leader{list-style:none;margin:0;padding:0}
.pwf-leader li{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--pw-line-2)}
.pwf-leader li:last-child{border-bottom:0}
.pwf-leader li > div{flex:1;min-width:0}
.pwf-leader li a{color:var(--pw-ink)!important}
.pwf-leader small{display:block;font-size:12px;color:var(--pw-muted)}
.pwf-leader em{font-style:normal;font-weight:700;font-variant-numeric:tabular-nums}
.pwf-rank{flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--pw-line-2);font-weight:700;font-size:12.5px;color:var(--pw-ink-2)}
.pwf-rank.is-top{background:var(--pw-primary-50);color:var(--pw-primary)}
.pwf-explain ul{margin:0 0 12px;padding-left:18px}
.pwf-explain li{margin-bottom:6px}

/* ---------- Mobile ---------- */
@media (max-width:960px){
  .pwf-ho-grid{grid-template-columns:minmax(0,1fr)}
  .pwf-ho-grid > form + form{border-left:0;border-top:1px dashed var(--pw-line)}
  .pwf-bill-info{grid-template-columns:minmax(0,1fr)}
}
@media (max-width:720px){
  .pwf-filters .pw-field,.pwf-filters .pw-field-grow{flex:1 1 100%;min-width:0}
  .pwf-filters .pwf-go{flex:1 1 100%}
  .pwf-filters .pwf-go .pw-btn-row{flex-wrap:nowrap}
  .pwf-filters .pwf-go .pw-btn-row .pw-btn{flex:1}
  .pwf-filters .pwf-go > label{display:none}
  .pwf-filter-card > .pw-card-body{padding:12px}
  .pwf-inline-form{padding:14px 12px}
  .pwf-inline-foot{flex-direction:column;align-items:stretch}
  .pwf-inline-foot > .pw-btn{margin-left:0}
  .pwf-note-input{max-width:none}
  .pwf-bulkbar{padding:10px 12px}
  .pwf-bulkbar select,.pwf-bulkbar .pw-btn{flex:1 1 auto}
  .pwf-modes{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
  .pwf-mode b{font-size:16px}
  .pwf-receipt{padding:16px}
  .pwf-rc-title{text-align:left}
  .pwf-rc-amount b{font-size:24px}
  .pwf-fn-row{grid-template-columns:90px minmax(0,1fr) 34px;font-size:12.5px}
  .pwf-fn-row small{display:none}
  .pwf-flow > span{display:none}
  .pwf-flow > div{flex:1 1 calc(50% - 8px)}
  .pwf-seg{width:100%}
  .pwf-seg a{flex:1;justify-content:center;padding:0 6px}
  .pwf-subtabs{width:100%}
  .pwf-subtabs a{flex:1;text-align:center}
  .pwf-match-head{flex-direction:column;align-items:flex-start}
  .pwf-match-amt{text-align:left}
  .pwf-bill-info{padding:4px 12px 14px}
  .pwf-void-mini .pw-btn{width:100%}
  /* Responsive tables: stack rows as cards on phones */
  .pwf-table thead{display:none}
  .pwf-table,.pwf-table tbody,.pwf-table tfoot{display:block}
  .pwf-table tr{display:flex;flex-wrap:wrap;gap:4px 12px;padding:12px;border-bottom:1px solid var(--pw-line)}
  .pwf-table td{display:block;padding:0!important;border:0!important;background:transparent!important;text-align:left!important}
  .pwf-table td.pwf-party,.pwf-table td:first-child{flex:1 1 100%;max-width:none}
  .pwf-table td.num{font-size:13px}
  .pwf-table td.pw-actions{flex:1 1 100%;display:flex;gap:6px;justify-content:flex-start;flex-wrap:wrap;margin-top:6px}
  .pwf-table td.pw-actions > *{margin-left:0}
  .pwf-table td.pwf-cbc{flex:0 0 auto;order:-1}
  .pwf-table td.pwf-cbc + td{flex:1 1 calc(100% - 40px)}
  .pwf-table tr.pwf-expand{padding:0}
  .pwf-table tr.pwf-expand[hidden]{display:none}
  .pwf-table tr.pwf-expand > td{flex:1 1 100%}
  .pwf-table tr.pwf-total{background:#FAFBFC}
  .pwf-table tr.pwf-total td:empty{display:none}
  .pwf-row-loss{background:var(--pw-danger-50)}
  .pwf-pl tr{display:table-row}
  .pwf-pl td{padding:9px 10px}
  .pwf-pl th:nth-child(3),.pwf-pl td:nth-child(3),.pwf-pl th:nth-child(4),.pwf-pl td:nth-child(4){display:none}
  .pwf-pl .pwf-indent{padding-left:18px}
}

/* ---------- Print (receipt & reports) ---------- */
@media print{
  body.pw .pw-side,body.pw .pw-top,body.pw .pw-side-backdrop,body.pw .pwf-noprint,body.pw .pw-flashes,body.pw .pw-tabs,body.pw .pw-pager,body.pw .pwf-settings{display:none!important}
  body.pw .pw-main{margin:0!important;padding:0!important}
  body.pw .pw-content{padding:0!important;max-width:none}
  body.pw{background:#fff}
  .pwf-receipt{box-shadow:none;border:0;max-width:none;margin:0}
  .pw-card{box-shadow:none;break-inside:avoid}
  .pwf-expand{display:none!important}
}
