/* PPDB V19.0.1 - Payment / Event / Promotion / Statistics
   Scoped additions only. No legacy backend selector is overwritten globally. */
.v19-page{display:flex;flex-direction:column;gap:16px;padding:4px 0 24px;color:var(--backend-text,#172033)}
.v19-page *{box-sizing:border-box}
.v19-page__head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;flex-wrap:wrap}
.v19-page__head h1{margin:0;font-size:26px;line-height:1.15}
.v19-page__head p{margin:6px 0 0;color:#6b7280;max-width:850px}
.v19-card{background:#fff;border:1px solid #dfe5ec;border-radius:14px;box-shadow:0 6px 20px rgba(15,23,42,.05);padding:16px}
.v19-card h2,.v19-card h3{margin:0 0 12px}
.v19-filter{display:flex;gap:10px;flex-wrap:wrap;align-items:end}
.v19-field{display:flex;flex-direction:column;gap:5px;min-width:150px;flex:1 1 170px}
.v19-field--wide{flex-basis:280px}
.v19-field span,.v19-label{font-size:12px;font-weight:700;color:#475569}
.v19-input,.v19-select,.v19-textarea{width:100%;min-height:40px;padding:8px 10px;border:1px solid #cbd5e1;border-radius:9px;background:#fff;color:#0f172a;font:inherit}
.v19-textarea{min-height:90px;resize:vertical}
.v19-input:focus,.v19-select:focus,.v19-textarea:focus{outline:2px solid rgba(14,165,233,.18);border-color:#0ea5e9}
.v19-btn{border:0;border-radius:9px;min-height:39px;padding:8px 13px;font-weight:700;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px;text-decoration:none;white-space:nowrap;background:#e2e8f0;color:#0f172a}
.v19-btn:hover{filter:brightness(.98)}
.v19-btn:disabled{opacity:.55;cursor:not-allowed}
.v19-btn--primary{background:#0ea5e9;color:#fff}
.v19-btn--success{background:#16a34a;color:#fff}
.v19-btn--danger{background:#dc2626;color:#fff}
.v19-btn--warning{background:#d97706;color:#fff}
.v19-btn--ghost{background:#f8fafc;border:1px solid #cbd5e1}
.v19-tabs{display:flex;gap:7px;flex-wrap:wrap;border-bottom:1px solid #e2e8f0;padding-bottom:9px}
.v19-tab{display:inline-flex;align-items:center;padding:8px 12px;border-radius:9px;text-decoration:none;color:#475569;font-weight:700;background:#f8fafc}
.v19-tab.is-active{background:#0f172a;color:#fff}
.v19-metrics{display:grid;grid-template-columns:repeat(5,minmax(130px,1fr));gap:10px}
.v19-metric{padding:14px;border:1px solid #e2e8f0;border-radius:12px;background:linear-gradient(180deg,#fff,#f8fafc)}
.v19-metric span{display:block;color:#64748b;font-size:12px;font-weight:700}
.v19-metric strong{display:block;margin-top:7px;font-size:24px;line-height:1;color:#0f172a}
.v19-table-wrap{overflow:auto;border:1px solid #e2e8f0;border-radius:12px}
.v19-table{width:100%;border-collapse:collapse;min-width:980px;background:#fff}
.v19-table th,.v19-table td{padding:9px 10px;border-bottom:1px solid #e5e7eb;text-align:left;vertical-align:top;font-size:12px}
.v19-table th{position:sticky;top:0;z-index:1;background:#0ea5e9;color:#fff;font-size:11px;white-space:nowrap}
.v19-table tbody tr:nth-child(even){background:#f8fbff}
.v19-table tfoot td{font-weight:800;background:#f1f5f9;border-top:2px solid #94a3b8}
.v19-table .v19-no{width:54px;min-width:54px;text-align:center}
.v19-table .v19-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.v19-table .v19-center{text-align:center}
.v19-badge{display:inline-flex;align-items:center;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:800;white-space:nowrap;background:#e2e8f0;color:#334155}
.v19-badge--success{background:#dcfce7;color:#166534}
.v19-badge--danger{background:#fee2e2;color:#991b1b}
.v19-badge--warning{background:#fef3c7;color:#92400e}
.v19-badge--info{background:#e0f2fe;color:#075985}
.v19-badge--muted{background:#f1f5f9;color:#64748b}
.v19-alert{border-radius:10px;padding:10px 12px;border:1px solid #bfdbfe;background:#eff6ff;color:#1e3a8a}
.v19-alert[data-type="danger"]{border-color:#fecaca;background:#fef2f2;color:#991b1b}
.v19-alert[data-type="success"]{border-color:#bbf7d0;background:#f0fdf4;color:#166534}
.v19-alert[data-type="warning"]{border-color:#fde68a;background:#fffbeb;color:#92400e}
.v19-actions{display:flex;gap:7px;flex-wrap:wrap;align-items:center}
.v19-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.v19-grid-3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.v19-stack{display:flex;flex-direction:column;gap:10px}
.v19-muted{color:#64748b;font-size:12px}
.v19-strong{font-weight:800;color:#0f172a}
.v19-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;background:#f1f5f9;padding:2px 5px;border-radius:5px}
.v19-file{border:1px dashed #94a3b8;padding:12px;border-radius:10px;background:#f8fafc}
.v19-dialog{width:min(560px,calc(100vw - 32px));border:0;border-radius:14px;padding:0;box-shadow:0 24px 70px rgba(15,23,42,.3)}
.v19-dialog::backdrop{background:rgba(15,23,42,.55)}
.v19-dialog__body{padding:18px}
.v19-dialog__head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}
.v19-dialog__head h3{margin:0}
.v19-dialog__close{border:0;background:transparent;font-size:24px;line-height:1;cursor:pointer}
.v19-chart-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.v19-chart{min-height:295px;position:relative}
.v19-chart canvas{display:block;width:100%;height:240px}
.v19-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.v19-form-grid .v19-field--full{grid-column:1/-1}
.v19-thumb{width:92px;height:58px;object-fit:cover;border-radius:8px;border:1px solid #e2e8f0;background:#f8fafc}
.v19-promo-preview{display:flex;gap:12px;align-items:flex-start}
.v19-stat-formula{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.v19-stat-formula code{font-size:11px;border-radius:7px;background:#ecfeff;color:#155e75;padding:6px 8px}
.v19-closing-good{color:#166534;font-weight:800}.v19-closing-warn{color:#b45309;font-weight:800}.v19-closing-low{color:#b91c1c;font-weight:800}
.v19-scan-panel{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end}
.v19-scan-result{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}
.v19-scan-result div{padding:10px;background:#f8fafc;border-radius:9px;border:1px solid #e2e8f0}
.v19-scan-result span{display:block;color:#64748b;font-size:11px}.v19-scan-result strong{display:block;margin-top:4px}
.v19-camera{display:none;margin-top:12px;border-radius:12px;overflow:hidden;background:#0f172a;max-width:560px}.v19-camera.is-open{display:block}.v19-camera video{display:block;width:100%;max-height:380px;object-fit:cover}
.v19-home-promo{position:fixed;inset:0;z-index:10050;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(15,23,42,.62)}
.v19-home-promo[hidden]{display:none}
.v19-home-promo__card{position:relative;width:min(720px,100%);max-height:90vh;overflow:auto;background:#fff;border-radius:18px;box-shadow:0 28px 80px rgba(0,0,0,.35)}
.v19-home-promo__image{display:block;width:100%;max-height:65vh;object-fit:contain;background:#f8fafc}
.v19-home-promo__content{padding:16px}.v19-home-promo__content h2{margin:0 0 6px}.v19-home-promo__content p{margin:0;color:#64748b;white-space:pre-line}
.v19-home-promo__close{position:absolute;top:10px;right:10px;width:38px;height:38px;border:0;border-radius:999px;background:rgba(15,23,42,.8);color:#fff;font-size:22px;cursor:pointer}
.v19-home-promo__foot{display:flex;gap:8px;align-items:center;justify-content:space-between;padding:0 16px 16px}.v19-home-promo__nav{display:flex;gap:8px}.v19-home-promo__counter{font-size:12px;color:#64748b}
@media (max-width:1100px){.v19-metrics{grid-template-columns:repeat(3,minmax(130px,1fr))}.v19-chart-grid{grid-template-columns:1fr}.v19-grid-3{grid-template-columns:1fr 1fr}}
@media (max-width:760px){.v19-card{padding:12px}.v19-grid-2,.v19-grid-3,.v19-form-grid{grid-template-columns:1fr}.v19-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.v19-field{min-width:0;flex-basis:100%}.v19-chart{min-height:270px}.v19-scan-panel{grid-template-columns:1fr}.v19-scan-result{grid-template-columns:1fr 1fr}.v19-page__head h1{font-size:22px}}

/* PPDB_V22_0_5_PAYMENT_DATATABLE */
.v19-dt-toolbar,.v19-dt-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap}
.v19-dt-toolbar{margin:8px 0 10px}.v19-dt-footer{margin:10px 0 2px;color:#64748b;font-size:12px}
.v19-dt-length,.v19-dt-search{display:flex;align-items:center;gap:7px;color:#475569;font-size:12px;font-weight:700}
.v19-dt-length select,.v19-dt-search input{min-height:36px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;padding:6px 9px;color:#0f172a;font:inherit}
.v19-dt-search input{width:min(260px,42vw)}
.v19-dt-actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.v19-dt-pagination{display:flex;gap:5px;align-items:center;flex-wrap:wrap}
.v19-dt-pagination button{min-width:34px;height:34px;border:1px solid #cbd5e1;border-radius:7px;background:#fff;color:#334155;font-weight:700;cursor:pointer;padding:0 9px}
.v19-dt-pagination button.is-active{background:#0ea5e9;border-color:#0ea5e9;color:#fff}.v19-dt-pagination button:disabled{opacity:.45;cursor:not-allowed}
.v19-table th.v19-dt-sortable{cursor:pointer;padding-right:22px;position:sticky}.v19-table th.v19-dt-sortable::after{content:'↕';position:absolute;right:7px;opacity:.55}
.v19-table th.v19-dt-sortable.is-sorted[data-sort-direction="asc"]::after{content:'↑';opacity:1}.v19-table th.v19-dt-sortable.is-sorted[data-sort-direction="desc"]::after{content:'↓';opacity:1}
@media (max-width:760px){.v19-dt-toolbar,.v19-dt-footer{align-items:stretch;flex-direction:column}.v19-dt-actions{width:100%;justify-content:space-between}.v19-dt-search{flex:1}.v19-dt-search input{width:100%}}
