/* SaloCart V4.5 — Partner Transaction Hub
   Final partner layer. Self-contained so it stays reliable even when older dashboard CSS is cached. */
.partner-transaction-dashboard{
  --pt-card:var(--sc-surface);
  --pt-line:var(--sc-line);
  --pt-muted:var(--sc-muted);
  --pt-ink:var(--sc-ink);
  padding-bottom:52px;
}
.partner-transaction-dashboard .workspace-hero{margin-bottom:0}
.partner-transaction-dashboard .partner-point-banner{margin-top:15px}
.partner-transaction-dashboard .partner-today-focus{margin-top:16px}
.partner-transaction-dashboard .partner-transaction-stats{margin-top:16px}
.partner-transaction-dashboard .workspace-stat{min-height:112px}
.partner-transaction-tools,.partner-receiving-section{margin-top:26px}
.partner-transaction-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.partner-transaction-tool-grid .partner-tool-card{min-height:96px}
.partner-receiving-section,.partner-cash-reconcile-card{
  padding:17px;
  border:1px solid var(--pt-line);
  border-radius:23px;
  background:var(--pt-card);
  box-shadow:var(--sc-shadow-xs);
}
.partner-receiving-section .workspace-section-head,.partner-cash-reconcile-card .workspace-section-head{margin-bottom:13px}
.partner-receiving-list{gap:10px}
.partner-batch-control-row{
  grid-template-columns:42px minmax(0,1fr) auto!important;
  align-items:center!important;
  padding:12px!important;
  border:1px solid var(--pt-line)!important;
  border-radius:17px!important;
  background:color-mix(in srgb,var(--pt-card) 97%,var(--sc-blue-soft))!important;
}
.partner-batch-control-row.has-discrepancy{border-color:color-mix(in srgb,#d44735 40%,var(--pt-line))!important;background:color-mix(in srgb,#fff0ee 52%,var(--pt-card))!important}
.partner-batch-control-row>div:nth-child(2){min-width:0}
.partner-batch-control-row .partner-incoming-icon{width:42px;height:42px;border-radius:13px}
.partner-batch-row-top{display:flex;align-items:center;flex-wrap:wrap;gap:6px}
.partner-batch-row-top>span:first-child{color:var(--sc-blue);font-size:.58rem;font-weight:850;text-transform:uppercase;letter-spacing:.035em}
.partner-batch-control-row h3{overflow:hidden;margin:4px 0 0;color:var(--pt-ink);font-family:var(--font-display);font-size:.79rem;font-weight:790;letter-spacing:-.04em;text-overflow:ellipsis;white-space:nowrap}
.partner-batch-control-row p{margin:3px 0 0;color:var(--pt-muted);font-size:.61rem;line-height:1.4}
.partner-batch-control-row small{display:block;margin-top:4px;color:var(--sc-ink-soft);font-size:.55rem;font-weight:700}
.partner-batch-row-action{display:flex;align-items:center;justify-content:flex-end;min-width:130px}
.partner-batch-row-action .btn-sc,.partner-batch-row-action .btn-sc-light{min-height:36px!important;padding:8px 10px!important;font-size:.6rem!important;white-space:nowrap}
.partner-row-confirmed{display:inline-flex;align-items:center;gap:5px;color:var(--sc-green);font-size:.6rem;font-weight:850;white-space:nowrap}.partner-row-confirmed i{font-size:.82rem}
.partner-transaction-pill{display:inline-flex;align-items:center;min-height:22px;padding:4px 7px;border-radius:999px;background:var(--sc-blue-soft);color:var(--sc-blue);font-size:.51rem;font-weight:850;letter-spacing:.01em;line-height:1;white-space:nowrap}.partner-transaction-pill.confirmed{background:var(--sc-mint);color:var(--sc-green)}.partner-transaction-pill.warning{background:#fff0d8;color:#a55a0d}.partner-transaction-pill.danger,.partner-transaction-pill.cancelled{background:#fff0ef;color:#b44739}.partner-transaction-pill.neutral{background:color-mix(in srgb,var(--sc-line) 65%,var(--pt-card));color:var(--sc-ink-soft)}
.partner-transaction-middle{margin-top:24px}.partner-ready-section--transaction{margin-top:0}.partner-ready-section--transaction .partner-ready-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
.partner-cash-reconcile-card{height:100%;display:flex;flex-direction:column}.partner-cash-reconcile-grid{display:grid;grid-template-columns:1fr;gap:8px}.partner-cash-reconcile-grid>div{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:10px;padding:11px 12px;border:1px solid var(--pt-line);border-radius:15px;background:color-mix(in srgb,var(--sc-mint) 20%,var(--pt-card))}.partner-cash-reconcile-grid>div:nth-child(2){background:color-mix(in srgb,var(--sc-blue-soft) 47%,var(--pt-card))}.partner-cash-reconcile-grid>div:nth-child(3){background:color-mix(in srgb,#fff4df 57%,var(--pt-card))}.partner-cash-reconcile-grid small{color:var(--pt-muted);font-size:.56rem;font-weight:760;text-transform:uppercase;letter-spacing:.035em}.partner-cash-reconcile-grid strong{color:var(--pt-ink);font-family:var(--font-display);font-size:.95rem;font-weight:800;letter-spacing:-.05em}.partner-cash-reconcile-grid span{grid-column:1/-1;margin-top:2px;color:var(--sc-ink-soft);font-size:.56rem;font-weight:650}.partner-cash-reconcile-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:auto;padding-top:14px}.partner-cash-reconcile-actions .btn-sc,.partner-cash-reconcile-actions .btn-sc-light{min-height:42px!important;font-size:.62rem!important}
.partner-transaction-bottom{margin-top:24px}.partner-control-list{display:flex;flex-direction:column;gap:7px}.partner-remittance-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:9px;padding:8px 0;border-bottom:1px dashed var(--pt-line)}.partner-remittance-row:last-child{border-bottom:0}.partner-remittance-icon,.partner-issue-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--sc-mint);color:var(--sc-green);font-size:.82rem}.partner-remittance-row>div{min-width:0}.partner-remittance-top,.partner-issue-top{display:flex;align-items:center;gap:6px;flex-wrap:wrap}.partner-remittance-top strong,.partner-issue-top strong{overflow:hidden;color:var(--pt-ink);font-size:.63rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.partner-remittance-row small{display:block;overflow:hidden;margin-top:2px;color:var(--pt-muted);font-size:.52rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.partner-remittance-amount{display:flex;min-width:78px;flex-direction:column;align-items:flex-end}.partner-remittance-amount strong{color:var(--pt-ink);font-family:var(--font-display);font-size:.65rem;font-weight:800;letter-spacing:-.035em}.partner-remittance-amount small{max-width:92px;text-align:right}.partner-issue-row{display:grid;grid-template-columns:34px minmax(0,1fr);align-items:flex-start;gap:9px;padding:8px 0;border-bottom:1px dashed var(--pt-line)}.partner-issue-row:last-child{border-bottom:0}.partner-issue-icon{background:#fff0ee;color:#c44a3d}.partner-issue-row>div{min-width:0}.partner-issue-row p{display:-webkit-box;overflow:hidden;margin:4px 0 0;color:var(--pt-ink-soft);font-size:.58rem;line-height:1.4;-webkit-box-orient:vertical;-webkit-line-clamp:2}.partner-issue-row small{display:block;overflow:hidden;margin-top:3px;color:var(--pt-muted);font-size:.51rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}
/* Transaction sheets */
.partner-transaction-form{display:flex;flex-direction:column;gap:0}.partner-receive-summary{display:grid;grid-template-columns:45px minmax(0,1fr);gap:10px;align-items:center;margin-bottom:12px;padding:12px;border:1px solid color-mix(in srgb,var(--sc-green) 32%,var(--pt-line));border-radius:17px;background:color-mix(in srgb,var(--sc-mint) 38%,var(--pt-card))}.partner-receive-summary-icon{display:grid;place-items:center;width:45px;height:45px;border-radius:14px;background:var(--sc-green);color:#fff;font-size:1.05rem}.partner-receive-summary>div{min-width:0}.partner-receive-summary span:not(.partner-receive-summary-icon){display:block;color:var(--sc-green);font-size:.57rem;font-weight:850;text-transform:uppercase;letter-spacing:.035em}.partner-receive-summary strong{display:block;overflow:hidden;margin-top:3px;color:var(--pt-ink);font-family:var(--font-display);font-size:1rem;font-weight:800;letter-spacing:-.05em;text-overflow:ellipsis;white-space:nowrap}.partner-receive-summary small{display:block;overflow:hidden;margin-top:3px;color:var(--pt-muted);font-size:.57rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.partner-transaction-callout{display:flex;align-items:flex-start;gap:8px;margin:0 0 14px;padding:10px;border:1px solid color-mix(in srgb,var(--sc-blue) 20%,var(--pt-line));border-radius:13px;background:var(--sc-blue-soft);color:var(--sc-ink-soft);font-size:.59rem;line-height:1.47}.partner-transaction-callout i{margin-top:1px;color:var(--sc-blue);font-size:.8rem}.partner-transaction-callout b{color:var(--pt-ink)}.partner-transaction-form .form-label{margin-bottom:6px;color:var(--pt-ink);font-size:.63rem;font-weight:800}.partner-transaction-form .form-label small{color:var(--pt-muted);font-weight:650}.partner-transaction-form textarea{resize:vertical}.partner-cash-drawer-summary{display:grid;grid-template-columns:48px minmax(0,1fr);gap:11px;align-items:center;margin-bottom:13px;padding:14px;border:1px solid color-mix(in srgb,#cf7b18 30%,var(--pt-line));border-radius:18px;background:linear-gradient(140deg,color-mix(in srgb,#fff4dc 74%,var(--pt-card)),var(--pt-card))}.partner-cash-drawer-summary>span{display:grid;place-items:center;width:48px;height:48px;border-radius:15px;background:#cf7b18;color:#fff;font-size:1.1rem}.partner-cash-drawer-summary>div{min-width:0}.partner-cash-drawer-summary small{display:block;color:#a15e12;font-size:.57rem;font-weight:850;text-transform:uppercase;letter-spacing:.04em}.partner-cash-drawer-summary strong{display:block;margin-top:3px;color:#924e06;font-family:var(--font-display);font-size:1.45rem;font-weight:800;letter-spacing:-.065em}.partner-cash-drawer-summary p{margin:2px 0 0;color:var(--sc-ink-soft);font-size:.56rem;line-height:1.4}.partner-readonly-money{padding:12px 13px;border:1px solid var(--pt-line);border-radius:12px;background:color-mix(in srgb,var(--sc-line) 30%,var(--pt-card));color:var(--pt-ink);font-family:var(--font-display);font-size:1.05rem;font-weight:800;letter-spacing:-.055em}
/* Ledger modal */
.partner-ledger-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:14px}.partner-ledger-summary>div{min-width:0;padding:10px;border:1px solid var(--pt-line);border-radius:13px;background:var(--pt-card)}.partner-ledger-summary small{display:block;overflow:hidden;color:var(--pt-muted);font-size:.51rem;font-weight:760;text-overflow:ellipsis;white-space:nowrap}.partner-ledger-summary strong{display:block;overflow:hidden;margin-top:3px;color:var(--pt-ink);font-family:var(--font-display);font-size:.79rem;font-weight:800;letter-spacing:-.045em;text-overflow:ellipsis;white-space:nowrap}.partner-ledger-tabs{display:flex;flex-direction:column;gap:17px}.partner-ledger-tabs section>h3{display:flex;align-items:center;gap:6px;margin:0 0 8px;color:var(--pt-ink);font-family:var(--font-display);font-size:.77rem;font-weight:800;letter-spacing:-.04em}.partner-ledger-tabs h3 i{color:var(--sc-green)}.partner-ledger-list{display:flex;max-height:285px;flex-direction:column;overflow:auto;border:1px solid var(--pt-line);border-radius:15px;background:var(--pt-card)}.partner-ledger-row{display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 10px;border-bottom:1px solid var(--pt-line)}.partner-ledger-row:last-child{border-bottom:0}.partner-ledger-icon{display:grid;place-items:center;width:34px;height:34px;border-radius:11px;background:var(--sc-blue-soft);color:var(--sc-blue)}.partner-ledger-icon.income{background:var(--sc-mint);color:var(--sc-green)}.partner-ledger-icon.remit{background:#fff2d9;color:#b46911}.partner-ledger-row>div{min-width:0}.partner-ledger-row strong{display:block;overflow:hidden;color:var(--pt-ink);font-size:.6rem;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.partner-ledger-row small{display:block;overflow:hidden;margin-top:2px;color:var(--pt-muted);font-size:.51rem;font-weight:650;text-overflow:ellipsis;white-space:nowrap}.partner-ledger-row>b{color:var(--pt-ink);font-family:var(--font-display);font-size:.62rem;font-weight:800;letter-spacing:-.03em;white-space:nowrap}.partner-ledger-empty{padding:14px;color:var(--pt-muted);font-size:.62rem;text-align:center}.partner-ledger-sheet .partner-issue-list{max-height:240px;overflow:auto;border:1px solid var(--pt-line);border-radius:15px;padding:0 10px;background:var(--pt-card)}
html[data-theme="dark"] .partner-receiving-section,html[data-theme="dark"] .partner-cash-reconcile-card,html[data-theme="dark"] .partner-batch-control-row,html[data-theme="dark"] .partner-cash-reconcile-grid>div,html[data-theme="dark"] .partner-ledger-summary>div,html[data-theme="dark"] .partner-ledger-list,html[data-theme="dark"] .partner-ledger-sheet .partner-issue-list{background:color-mix(in srgb,var(--sc-surface) 96%,transparent)}html[data-theme="dark"] .partner-batch-control-row.has-discrepancy{background:linear-gradient(135deg,var(--sc-surface),#38211f)!important}html[data-theme="dark"] .partner-cash-drawer-summary{background:linear-gradient(140deg,var(--sc-surface),#392b1a)}html[data-theme="dark"] .partner-transaction-callout{background:color-mix(in srgb,var(--sc-blue-soft) 38%,var(--sc-surface))}
@media(max-width:1199.98px){.partner-transaction-tool-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-ready-section--transaction .partner-ready-grid{grid-template-columns:1fr}}
@media(max-width:767.98px){.partner-transaction-dashboard{padding-bottom:36px}.partner-transaction-tools,.partner-receiving-section{margin-top:20px}.partner-transaction-tool-grid{grid-template-columns:1fr;gap:8px}.partner-transaction-tool-grid .partner-tool-card{min-height:64px}.partner-receiving-section,.partner-cash-reconcile-card{padding:13px;border-radius:19px}.partner-batch-control-row{grid-template-columns:37px minmax(0,1fr)!important;gap:8px!important;padding:10px!important;border-radius:15px!important}.partner-batch-control-row .partner-incoming-icon{width:37px;height:37px;border-radius:12px}.partner-batch-control-row h3{font-size:.72rem}.partner-batch-control-row p{font-size:.57rem}.partner-batch-row-action{grid-column:1/-1;justify-content:stretch;min-width:0}.partner-batch-row-action .btn-sc,.partner-batch-row-action .btn-sc-light{width:100%;min-height:39px!important}.partner-row-confirmed{width:100%;justify-content:center;min-height:35px;border:1px dashed color-mix(in srgb,var(--sc-green) 32%,var(--pt-line));border-radius:11px;background:color-mix(in srgb,var(--sc-mint) 28%,var(--pt-card))}.partner-transaction-middle,.partner-transaction-bottom{margin-top:19px}.partner-ready-section--transaction .partner-ready-grid{grid-template-columns:1fr}.partner-cash-reconcile-grid>div{padding:10px}.partner-cash-reconcile-actions{grid-template-columns:1fr}.partner-cash-reconcile-actions .btn-sc,.partner-cash-reconcile-actions .btn-sc-light{width:100%}.partner-remittance-row{grid-template-columns:31px minmax(0,1fr) auto}.partner-remittance-icon,.partner-issue-icon{width:31px;height:31px;border-radius:10px}.partner-remittance-amount{min-width:65px}.partner-transaction-form .form-control,.partner-transaction-form .form-select{min-height:43px}.partner-ledger-summary{gap:6px}.partner-ledger-summary>div{padding:8px}.partner-ledger-summary strong{font-size:.67rem}.partner-ledger-row{grid-template-columns:30px minmax(0,1fr) auto;padding:8px}.partner-ledger-icon{width:30px;height:30px;border-radius:10px}.partner-ledger-row>b{font-size:.56rem}}
@media(max-width:390px){.partner-transaction-stats{grid-template-columns:1fr}.partner-ledger-summary{grid-template-columns:1fr}.partner-remittance-row{grid-template-columns:31px minmax(0,1fr)}.partner-remittance-amount{grid-column:2;align-items:flex-start;margin-top:-4px}.partner-transaction-pill{font-size:.47rem}.partner-receive-summary{grid-template-columns:40px minmax(0,1fr)}.partner-receive-summary-icon{width:40px;height:40px;border-radius:13px}}
@media(prefers-reduced-motion:reduce){.partner-transaction-dashboard *{scroll-behavior:auto!important;transition:none!important}}
.admin-remittance-row{padding:10px 0}.admin-remittance-row .btn-sc.btn-sm{min-height:30px!important;padding:5px 8px!important;font-size:.53rem!important}.admin-remittance-note{display:-webkit-box;overflow:hidden;margin:4px 0 0;color:var(--sc-ink-soft);font-size:.55rem;line-height:1.35;-webkit-box-orient:vertical;-webkit-line-clamp:2}
