:root{--bg:#f4f6f8;--card:#fff;--text:#17212b;--muted:#65717c;--line:#dfe4e8;--blue:#1565c0;--green:#1b7f46;--red:#b42318;--amber:#a15c00;--shadow:0 6px 24px rgba(0,0,0,.07)}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:14px/1.45 system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}.topbar{position:sticky;top:0;z-index:20;height:58px;padding:0 18px;background:#fff;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between}.topbar strong{font-size:17px}.actions{display:flex;gap:8px}.page{max-width:1220px;margin:auto;padding:22px 16px 70px}.hidden{display:none!important}.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.col-12{grid-column:span 12}.col-8{grid-column:span 8}.col-7{grid-column:span 7}.col-6{grid-column:span 6}.col-5{grid-column:span 5}.col-4{grid-column:span 4}.col-3{grid-column:span 3}@media(max-width:850px){.col-8,.col-7,.col-6,.col-5,.col-4,.col-3{grid-column:span 12}.page{padding:12px 10px 60px}}.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;box-shadow:var(--shadow)}.card h2,.card h3{margin:0 0 12px}.muted{color:var(--muted)}.small{font-size:12px}.kpi{font-size:28px;font-weight:700}.tabs{display:flex;gap:6px;overflow:auto;margin:0 0 16px;padding-bottom:3px}.tab{white-space:nowrap;border:1px solid var(--line);background:#fff;padding:9px 12px;border-radius:8px;cursor:pointer}.tab.active{background:var(--blue);color:#fff;border-color:var(--blue)}button{border:0;border-radius:7px;padding:9px 12px;background:var(--blue);color:#fff;font-weight:600;cursor:pointer}button.secondary{background:#5d6b78}button.danger{background:var(--red)}button.success{background:var(--green)}button.warn{background:var(--amber)}button.ghost{background:#fff;border:1px solid var(--line);color:var(--text)}button:disabled{opacity:.45;cursor:not-allowed}.row{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.stack{display:flex;flex-direction:column;gap:10px}.field{display:flex;flex-direction:column;gap:5px;min-width:160px}.field.grow{flex:1}.field label{font-size:12px;color:var(--muted);font-weight:600}input,select,textarea{width:100%;border:1px solid #cbd3da;border-radius:7px;background:#fff;padding:9px 10px;font:inherit;color:inherit}textarea{min-height:90px;resize:vertical}select[multiple]{min-height:125px}.table-wrap{overflow:auto;border:1px solid var(--line);border-radius:8px}table{border-collapse:collapse;width:100%;min-width:760px;background:#fff}th,td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}th{background:#f7f9fa;font-size:12px;position:sticky;top:0}.badge{display:inline-block;padding:3px 7px;border-radius:999px;background:#e9eef3;color:#40505e;font-size:11px;font-weight:700;margin-left:8px}.badge.good{background:#e8f5ed;color:var(--green)}.badge.bad{background:#fdecea;color:var(--red)}.badge.wait{background:#fff2dd;color:var(--amber)}.notice{border-left:4px solid var(--blue);background:#eef5fd;padding:10px 12px;border-radius:5px}.notice.warn{border-color:var(--amber);background:#fff7e8}.notice.bad{border-color:var(--red);background:#fff0ef}.login{max-width:460px;margin:50px auto}.loading{text-align:center;color:var(--muted);padding:60px}.toast{position:fixed;right:18px;bottom:18px;z-index:50;max-width:420px;background:#17212b;color:#fff;padding:12px 14px;border-radius:8px;box-shadow:var(--shadow)}.rule{padding:12px;border:1px solid var(--line);border-radius:8px;background:#fbfcfd}.allocation{display:grid;grid-template-columns:1fr 160px auto;gap:8px;align-items:end}@media(max-width:650px){.allocation{grid-template-columns:1fr}}.section-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:8px 0 12px}.linkbox{font-family:ui-monospace,monospace;font-size:12px;word-break:break-all;background:#f2f4f6;border:1px solid var(--line);padding:8px;border-radius:6px}.checkrow{display:flex;gap:8px;align-items:flex-start}.modal{position:fixed;inset:0;z-index:40;background:rgba(10,18,24,.5);display:flex;align-items:center;justify-content:center;padding:15px}.modal-card{background:#fff;border-radius:10px;padding:18px;max-width:600px;width:100%;max-height:90vh;overflow:auto}.right{text-align:right}.nowrap{white-space:nowrap}

/* v2.3 UI fixes */
.tab{color:var(--text)}
.tab.active{color:#fff}
.auth-page{min-height:calc(100vh - 120px);display:grid;place-items:center;padding:24px 0}
.auth-card{width:min(440px,100%);background:#fff;border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 14px 42px rgba(20,32,43,.08)}
.auth-card.wide{width:min(560px,100%)}
.auth-brand{font-size:13px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--blue);margin-bottom:20px}
.auth-card h1{font-size:27px;line-height:1.15;margin:0 0 10px}
.auth-lead{color:var(--muted);font-size:15px;margin:0 0 24px}
.text-link,.inline-link{background:none!important;color:var(--blue)!important;border:0!important;padding:4px 0!important;font-weight:500;text-align:left;text-decoration:underline;box-shadow:none}
.text-link{font-size:12px;margin-top:12px}
.test-note{margin-top:18px;padding-top:12px;border-top:1px solid var(--line);font-size:11px;color:var(--muted)}
.sms-code{font-size:26px;letter-spacing:.25em;text-align:center;font-weight:700}
.code-phone{text-align:center;font-weight:700;margin-bottom:4px}
.card-input{position:relative}.card-input input{padding-right:44px}.card-check{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-size:20px;font-weight:800}.card-check.ok{color:var(--green)}.card-check.bad{color:var(--red)}
.consent-full{white-space:pre-wrap;line-height:1.6;max-height:65vh;overflow:auto;padding-right:8px}
code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;background:#f2f4f6;padding:3px 6px;border-radius:5px;user-select:all}
@media(max-width:650px){.auth-card{padding:20px;border-radius:12px}.auth-card h1{font-size:23px}.tabs{margin-inline:-2px}.tab{padding:9px 10px}}

/* v2.4 */
.checkrow input[type=checkbox]{width:auto!important;min-width:16px;flex:0 0 auto;margin:3px 0 0 0}.checkrow span{display:block;color:var(--text);line-height:1.4}.modal-card .field{width:100%}.search-hint{font-size:11px;color:var(--muted)}

/* v2.5 simplified workflow */
.checkrow span{color:var(--text,#1f2937);opacity:1}.campaign-rule select[multiple]{min-height:120px}

/* v2.6 Director → PL → Shop workflow */
.pl-chip{display:inline-block;padding:3px 7px;margin:2px;border:1px solid var(--line);border-radius:999px;background:#f5f7f9;font-size:11px}.shop-card{padding:18px}.shop-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.shop-head h2{margin-bottom:4px}.shop-actions{display:flex;gap:8px;flex-wrap:wrap;margin:14px 0}.shop-columns{display:grid;grid-template-columns:1fr 1fr;gap:18px;border-top:1px solid var(--line);padding-top:14px}.mini-list{border:1px solid var(--line);border-radius:8px;overflow:hidden}.mini-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 10px;border-bottom:1px solid var(--line)}.mini-row:last-child{border-bottom:0}.wide-modal{max-width:760px}.request-table{min-width:1100px}.request-table .req-amount{min-width:120px}.alloc-line{display:grid;grid-template-columns:minmax(150px,1fr) 120px;gap:8px;align-items:center;margin-bottom:5px}.request-submit{display:flex;justify-content:flex-end;padding-top:14px}.bad-text{color:var(--red);margin-top:4px}@media(max-width:750px){.shop-columns{grid-template-columns:1fr}.shop-head{flex-direction:column}.mini-row{align-items:flex-start;flex-direction:column}.request-submit button{width:100%}}

.director-filter{min-width:240px;margin:0}.director-filter select{min-width:220px}.shop-card{border-left:4px solid rgba(120,120,120,.25)}.shop-actions{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.wide-modal{max-width:920px}.pl-chip{display:inline-block;padding:2px 7px;border:1px solid rgba(120,120,120,.3);border-radius:999px;margin:2px}.request-table input[type=number]{min-width:110px}.mini-list{display:grid;gap:7px}.mini-row{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:7px 0;border-bottom:1px solid rgba(120,120,120,.15)}

/* v2.8 admin workflow consolidation */
.filterbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:12px 0}.filterbar .grow{flex:1;min-width:220px}.registry-card hr{border:0;border-top:1px solid var(--line);width:100%}.modal .notice.bad{margin:2px 0}.shop-card.hidden,.pbb-admin-row.hidden{display:none}.table-wrap table td .badge:first-child{margin-left:0}@media(max-width:700px){.filterbar .field{width:100%}.director-filter{width:100%}.director-filter select{min-width:0}}

/* v2.9 compact shop list + reconciliation */
.shop-list{display:flex;flex-direction:column;gap:7px}.shop-compact{background:var(--card);border:1px solid var(--line);border-radius:9px;padding:8px 11px;box-shadow:0 2px 10px rgba(0,0,0,.035)}.shop-line{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:27px}.shop-line+.shop-line{border-top:1px solid #eef1f3}.shop-primary{font-size:14px}.shop-meta{font-size:12px;color:var(--muted);text-align:right}.campaign-inline{padding:2px 5px!important;border:0!important;background:transparent!important;color:var(--blue)!important;text-decoration:underline;font-weight:700}.campaign-inline.empty{font-weight:500}.small-btn{padding:4px 7px!important;font-size:11px!important;border-radius:5px!important}.pbb-inline{display:flex;align-items:center;gap:4px;flex-wrap:wrap;justify-content:flex-end}.pbb-chip{white-space:nowrap;font-size:12px}.pbb-chip .badge{margin-left:2px;padding:2px 5px}.shop-history{justify-content:flex-start;gap:7px;font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.compact-toolbar{padding:11px 14px}.compact-toolbar .section-title{margin:0}.match-ok{color:var(--green);font-weight:700}.match-warn{color:var(--amber);font-weight:700}.test-card{display:flex;flex-direction:column;gap:10px}.test-users{margin-top:4px}
@media(max-width:800px){.shop-line{align-items:flex-start;flex-direction:column;padding:4px 0}.shop-meta{text-align:left}.pbb-inline{justify-content:flex-start}.shop-history{white-space:normal}.shop-compact{padding:8px 10px}}

/* v2.11 */
.test-phone-row{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:10px}.test-card{min-width:0}.test-card .mini-list{width:100%}@media(max-width:650px){.test-phone-row{grid-template-columns:1fr}.test-phone-row button{width:100%}}
/* v2.14 expandable shop profile */
.shop-card{cursor:pointer}.shop-card button{cursor:pointer}.shop-expander{display:inline-block;width:14px;color:var(--muted);transition:transform .15s ease}.shop-card.expanded .shop-expander{transform:rotate(90deg)}
.shop-details{display:none;border-top:1px solid var(--line);margin-top:4px;padding-top:10px;cursor:default}.shop-card.expanded .shop-details{display:block}.shop-detail-grid{display:grid;grid-template-columns:minmax(180px,1fr) minmax(220px,1fr);gap:12px 20px;font-size:13px}.shop-detail-grid h4{margin:0 0 6px}.shop-detail-wide{grid-column:1/-1;border-top:1px solid #eef1f3;padding-top:9px}.pbb-detail-row{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:6px 0;border-bottom:1px solid #f0f2f4}.pbb-detail-row:last-child{border-bottom:0}.detail-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap;margin-top:6px}.detail-payments{display:grid;gap:4px;max-height:220px;overflow:auto}
@media(max-width:800px){.shop-detail-grid{grid-template-columns:1fr}.shop-detail-wide{grid-column:1}.pbb-detail-row{align-items:flex-start;flex-direction:column}.detail-actions{width:100%}}

.test-fixture-summary{margin:12px 0;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-2,#f7f7f7)}

/* v2.17 payment export field picker */
.export-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px 12px;margin:16px 0}
.export-field{display:flex;align-items:center;gap:9px;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:var(--panel-2,rgba(127,127,127,.04));cursor:pointer}
.export-field input{width:auto;margin:0}
.export-picker-actions{margin:4px 0 12px}
@media(max-width:700px){.export-field-grid{grid-template-columns:1fr}}

/* v2.18 review and audit */
.pbb-needs-review td{font-weight:500}
.audit-filters{display:grid;grid-template-columns:repeat(5,minmax(140px,1fr));gap:8px;margin:12px 0}
.audit-filters input{width:100%}
@media(max-width:900px){.audit-filters{grid-template-columns:1fr 1fr}}
@media(max-width:560px){.audit-filters{grid-template-columns:1fr}}

/* v2.21 PBB mobile usability */
@media(max-width:650px){
  .topbar{height:auto;min-height:58px;padding:10px 12px;gap:8px}.topbar strong{font-size:15px;line-height:1.2;display:block}.topbar .actions{flex-shrink:0}
  .auth-page{padding:8px 0}.auth-card{width:100%}.auth-card input,.auth-card select,.auth-card button{min-height:44px}
  .pbb-payments .table-wrap{border:0;overflow:visible}.pbb-payments table{min-width:0}.pbb-payments thead{display:none}.pbb-payments tbody,.pbb-payments tr,.pbb-payments td{display:block;width:100%}.pbb-payments tr{border:1px solid var(--line);border-radius:9px;margin:0 0 10px;padding:8px}.pbb-payments td{border:0;padding:4px 6px}.pbb-payments td:nth-child(2){font-size:18px;font-weight:700}
}
.sms-confirm{text-align:center;padding:12px 0}.sms-confirm-phone{font-size:clamp(28px,7vw,42px);font-weight:800;line-height:1.2;letter-spacing:.02em;padding:18px 4px}.sms-confirm-actions{justify-content:center;gap:12px}.sms-confirm-actions button{min-width:120px}.code-phone{font-size:24px;font-weight:750;text-align:center;padding:8px 0}
/* v2.26 additions */
.day-chips{display:flex;flex-wrap:wrap;gap:7px;margin:6px 0 8px}.day-chip{position:relative;display:inline-flex}.day-chip input{position:absolute;opacity:0;pointer-events:none}.day-chip span{display:inline-flex;align-items:center;justify-content:center;min-width:38px;height:38px;padding:0 10px;border:1px solid #cfd6df;border-radius:999px;background:#fff;cursor:pointer;font-weight:600}.day-chip input:checked+span{border-color:#1d4ed8;box-shadow:inset 0 0 0 2px #1d4ed8}.icon-btn{min-width:34px!important;width:34px;height:34px;padding:0!important;display:inline-flex;align-items:center;justify-content:center;font-size:15px;line-height:1;border-radius:8px}.compact-text{min-width:150px;min-height:54px;resize:vertical}.work-schedule input[type="text"]{margin-top:4px}

/* v2.28: destructive Admin actions use a quiet standalone bin icon. */
button.bare-bin{background:transparent!important;border:0!important;box-shadow:none!important;color:inherit!important;padding:4px 6px!important;min-width:0!important;font-size:18px!important;line-height:1!important}
button.bare-bin:hover{background:rgba(0,0,0,.06)!important;transform:none!important}

/* v2.30: shared SMS confirmation and card notice. */
.sms-confirm-phone{font-size:clamp(24px,5vw,34px);font-weight:800;line-height:1.3;overflow-wrap:anywhere}.sms-confirm-actions{flex-wrap:wrap}.card-warning{white-space:pre-wrap;overflow-wrap:anywhere;padding:8px 10px;margin:6px 0;color:#713f12;background:#fff7dc;border-left:3px solid #d99a13;border-radius:6px;font-size:14px;line-height:1.4}#cardWarningText{min-height:4em}

/* v2.31 profile labels and staged PL assignment */
.field>label{font-weight:700}.pl-picker{display:grid;gap:8px}.pl-selected{display:flex;gap:6px;flex-wrap:wrap}.pl-picker select{min-width:180px}.card-input.hidden{display:none!important}

.mfa-secret{min-width:0;overflow-wrap:anywhere;flex:1}

.import-mapping-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:16px 0}.import-report{width:100%;min-height:300px;white-space:pre-wrap}.import-wizard .table-wrap{max-height:260px;margin-bottom:16px}.director-match select{width:100%;margin:8px 0}.new-import-director{padding:12px;background:#f6f8fa}.import-wizard .field label{font-weight:700}

#appVersion{margin-left:8px;white-space:nowrap}

.mfa-setting{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
button.mfa-switch{position:relative;box-sizing:border-box;width:56px;height:32px;min-width:56px;padding:0;border:2px solid #637386;border-radius:999px;background:#637386;cursor:pointer;flex:0 0 56px}
button.mfa-switch[aria-checked="true"]{background:#167540;border-color:#167540}
.mfa-switch-knob{position:absolute;top:3px;left:3px;width:22px;height:22px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #0004;transition:transform .15s}
.mfa-switch[aria-checked="true"] .mfa-switch-knob{transform:translateX(24px)}
.mfa-switch:focus-visible{outline:3px solid #1565c0;outline-offset:3px}.mfa-switch:disabled{opacity:.6;cursor:wait}

.shop-filterbar .field{min-width:180px;flex:1}.pbb-manage-actions{display:flex;gap:6px;flex-wrap:wrap}.shop-filterbar select{width:100%}#shopFilterCount,#directorPbbCount{margin:8px 0}
@media(max-width:700px){.compact-toolbar .section-title{align-items:stretch;flex-direction:column}.compact-toolbar .section-title>.row{width:100%}.compact-toolbar .director-filter{min-width:0;max-width:100%}.shop-filterbar .field{flex-basis:100%}.shop-card .pbb-chip{white-space:normal;overflow-wrap:anywhere}.shop-card .pbb-inline{max-width:100%}.shop-detail-grid{grid-template-columns:minmax(0,1fr)}.pbb-detail-row{align-items:flex-start;flex-direction:column}.pbb-detail-row>div{max-width:100%;overflow-wrap:anywhere}}

/* v2.45 shared controller/admin payment review. */
.preserve-text{white-space:pre-wrap;overflow-wrap:anywhere}.payment-review-table{min-width:1500px}.payment-review-row{cursor:pointer}.payment-review-row:hover,.payment-review-row:focus{background:#eef5fd;outline:2px solid #1565c0;outline-offset:-2px}.payment-calculation{min-width:240px;max-width:360px}.payment-review-card{max-width:1050px}.review-metadata{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:18px 0}.review-total{padding:12px 0;border-bottom:1px solid var(--line)}.review-text-block{display:grid;gap:14px;margin:16px 0 24px}.review-person{border:1px solid var(--line);border-radius:8px;padding:14px;margin:12px 0}.review-person h4{margin:0 0 8px}.review-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px}.review-columns>div{display:grid;align-content:start;gap:10px}.review-event{padding:10px 0;border-bottom:1px solid var(--line)}.review-decision{border-top:2px solid var(--line);margin-top:22px;padding-top:16px}.review-decision .row{margin-top:10px}.payment-review-card .section-title{align-items:flex-start}.payment-review-card .modal-close{flex-shrink:0}@media(max-width:650px){.review-metadata,.review-columns{grid-template-columns:1fr 1fr}.review-person .section-title{display:block}.payment-review-card{padding:12px}.review-columns{grid-template-columns:1fr}.payment-review-card h3{font-size:17px}}

.page.payment-review-page{max-width:1800px}

/* v2.45: common staff canvas keeps every tab at the same horizontal position. */
html{scrollbar-gutter:stable}.page.staff-page{max-width:1800px}.staff-page>.tabs{position:sticky;top:58px;z-index:15;background:var(--bg);padding:8px 0;margin-top:-8px}.payment-review-table{width:100%;min-width:0;table-layout:fixed;font-size:12px}.payment-review-table th,.payment-review-table td{padding:7px 5px;overflow-wrap:anywhere;white-space:normal}.payment-review-table th:nth-child(1){width:5%}.payment-review-table th:nth-child(2){width:5%}.payment-review-table th:nth-child(3),.payment-review-table th:nth-child(4){width:7%}.payment-review-table th:nth-child(5){width:6%}.payment-review-table th:nth-child(6),.payment-review-table th:nth-child(7){width:11%}.payment-review-table th:nth-child(8){width:9%}.payment-review-table th:nth-child(9){width:7%}.payment-review-table th:nth-child(10){width:21%}.payment-review-table th:nth-child(11){width:11%}.payment-review-table .payment-calculation{min-width:0;max-width:none;white-space:pre-wrap}.payment-row-actions{display:flex;flex-direction:column;align-items:stretch;gap:4px}.payment-row-actions button{padding:6px 3px;font-size:11px;overflow-wrap:normal}.bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;background:#eef5fd;border:1px solid #c7def5;border-radius:8px;padding:10px;margin:12px 0}.bulk-all-label{display:flex;align-items:center;gap:6px}.bulk-check,.bulk-all{width:18px;height:18px;vertical-align:middle;margin-right:8px;flex:none}.bulk-count{font-size:12px;color:var(--muted);margin-right:auto}.pbb-management-table .selection-cell{width:56px}.pbb-management-table td:last-child{width:32%}.pbb-manage-actions .small-btn{padding:6px 9px;min-height:32px}.mg-filters .field{flex:1;min-width:130px}.history-heading{margin-top:24px!important}.modal details{margin:14px 0}.modal details ul{max-height:180px;overflow:auto}.modal .field{margin-bottom:10px}
@media(max-width:700px){.payment-review-table{min-width:950px}.staff-page>.tabs{position:static}.bulk-count{flex-basis:100%}.pbb-management-table td:last-child{min-width:210px}.mg-filters .field{min-width:150px}}
.payment-row-actions button{min-width:0;white-space:normal;overflow-wrap:anywhere}
.payment-review-table th{font-size:11px}.payment-review-table th:nth-child(1){width:6%}.payment-review-table th:nth-child(2){width:4%}.payment-review-table th:nth-child(8){width:11%}.payment-review-table th:nth-child(10){width:20%}.payment-review-table th:nth-child(11){width:10%}
.card.security-card{margin-bottom:14px}.card-security-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.card-security-kpi{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:16px;text-align:left;background:#f7fafc;color:var(--text);border:1px solid var(--line);font-weight:400;min-width:0}.card-security-kpi:hover{background:#edf5fc;border-color:var(--blue)}.card-security-kpi:focus-visible{outline:3px solid var(--blue);outline-offset:2px}.card-security-label{font-weight:650}.card-security-link{font-size:12px;color:var(--blue);margin-top:auto}.card-security-modal th{position:static}@media(max-width:650px){.card-security-grid{grid-template-columns:1fr}.card-security-kpi{display:grid;grid-template-columns:1fr auto}.card-security-kpi .small,.card-security-link{grid-column:1/-1}}

.count-chip{display:inline-flex;align-items:center;vertical-align:middle;margin-left:8px;padding:4px 10px;border-radius:999px;background:#eaf2ff;color:#174b87;font-size:14px;font-weight:650;line-height:1.4;white-space:nowrap}

/* Payment entry: one amount per recipient, fixed headings in the scrolling table. */
.request-filters{margin:14px 0 8px;align-items:flex-end}.request-filters .count-chip{align-self:center}
.request-table-scroll{max-height:calc(100vh - 290px);max-height:max(220px,calc(100dvh - 290px));overflow:auto;position:relative;isolation:isolate}
.request-table{border-collapse:separate;border-spacing:0}.request-table th{position:sticky;top:0;z-index:2;background:#f7f9fa;box-shadow:0 1px 0 var(--line)}
.request-table .alloc-line{min-width:280px;grid-template-columns:minmax(150px,1fr) 120px;gap:10px;padding:5px 0;border-bottom:1px solid #edf0f3}.request-table .alloc-line:last-child{border-bottom:0}
.request-table .req-amount[readonly]{background:#f1f5f9;font-weight:700;color:var(--text)}.request-table-scroll:focus-visible,.shop-primary:focus-visible{outline:2px solid var(--blue);outline-offset:2px}

.pbb-payments table{min-width:0}.pbb-payments .payment-date{white-space:nowrap}

/* Unified payment list: per-recipient status and amounts, persistent header. */
.payment-list-scroll{max-height:65vh;overflow:auto}
.payment-list-table{width:100%;font-size:13px}
.payment-list-table th,.payment-list-table td{padding:8px 7px;vertical-align:top}
.payment-list-table thead th{position:sticky;top:0;z-index:2;background:#f3f6fa}
.payment-list-table th:first-child,.payment-list-table td:first-child{width:32px}
.payment-list-table .payment-calculation{min-width:160px;max-width:320px;overflow-wrap:anywhere}
.payment-list-phone,.payment-list-amount{white-space:nowrap}
.payment-list-amount{text-align:right}
.payment-list-tools{position:sticky;bottom:0;background:white;padding:12px 0;gap:10px}
