@import url("/view-controls.css");
.tpv-page{padding:24px 28px;color:var(--ink,#153b4c)}.tpv-heading,.tpv-actions,.tpv-section-heading,.tpv-editor-actions,.tpv-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px}.tpv-heading{margin-bottom:15px}.tpv-heading h1{margin:0;font-size:25px}.tpv-heading p,.tpv-help,.tpv-section-heading span{color:var(--muted,#657d8c);font-size:12px}.tpv-actions{justify-content:flex-end;flex-wrap:wrap}.tpv-page button,.tpv-dialog button{cursor:pointer}.tpv-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:14px 0}.tpv-kpis>div,.tpv-kpi{border:1px solid #d9e4e9;background:#fff;border-radius:8px;padding:11px 14px}.tpv-kpis span,.tpv-kpis small{display:block;font-size:12px;color:#657d8c}.tpv-kpis strong{display:block;font-size:22px;font-variant-numeric:tabular-nums;margin:4px 0}.tpv-table-wrap{overflow:auto;border:1px solid #d9e4e9;border-radius:8px;background:white}.tpv-table{border-collapse:collapse;width:100%;font-size:12px;text-align:left}.tpv-table th{background:#ecf2f5;color:#39596b;white-space:nowrap}.tpv-table th,.tpv-table td{padding:9px 11px;border-bottom:1px solid #e6edf0}.tpv-table tr:last-child td{border-bottom:0}.tpv-table small{display:block;font-size:10px;color:#6e8090}.tpv-table .numeric{text-align:right;font-variant-numeric:tabular-nums}.tpv-link{border:0;background:none;padding:0;color:#007a75;text-decoration: none;font:inherit}.tpv-empty{text-align:center;padding:26px!important;color:#6e8090}.tpv-pagination{justify-content:flex-end;margin-top:12px;font-size:12px}.tpv-pagination span{margin-right:auto}.tpv-difference{color:#ac5800;background:#fff7e9!important}.tpv-dialog{width:min(720px,calc(100vw - 28px));max-height:calc(100dvh - 30px);padding:0;border:1px solid #c9d8df;border-radius:12px;color:#153b4c;box-shadow:0 20px 80px #001c3b38}.tpv-dialog::backdrop{background:#102c4580}.tpv-record-dialog{width:min(1380px,calc(100vw - 30px))}.tpv-dialog-header{position:sticky;top:0;z-index:2;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 20px;background:#fff;border-bottom:1px solid #d9e4e9}.tpv-dialog-header h2{font-size:19px;margin:0}.tpv-dialog-header button{font-size:23px;padding:1px 12px}.tpv-dialog-body{padding:18px 20px;background:#f6f9fa}.tpv-record-meta{display:flex;flex-wrap:wrap;align-items:center;gap:9px 20px;font-size:12px;color:#5b7280}.tpv-form-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.tpv-form-grid label,.tpv-note{display:flex;flex-direction:column;gap:6px;font-size:12px;color:#42616f}.tpv-form-grid input,.tpv-form-grid select,.tpv-note textarea,.tpv-table input,.tpv-table select{font:inherit;color:#193f51;padding:8px;border:1px solid #c9d8df;border-radius:5px;background:#fff;min-width:0;width:100%;box-sizing:border-box}.tpv-full{grid-column:1/-1}.tpv-rates{margin-top:14px;background:#fff;border:1px solid #d9e4e9;border-radius:8px;padding:11px 14px}.tpv-rates summary{font-size:13px;cursor:pointer}.tpv-rates[open] summary{margin-bottom:12px}.tpv-section-heading{margin:20px 0 10px}.tpv-section-heading h3{font-size:15px;margin:0}.tpv-cash-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}.tpv-cash-card{background:white;border:1px solid #d9e4e9;border-radius:8px;overflow:hidden}.tpv-cash-card>header,.tpv-cash-card>footer{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;background:#eaf4f3;font-size:12px}.tpv-cash-card h3{font-size:16px;margin:0}.tpv-cash-card input{max-width:90px;text-align:right;padding:5px}.tpv-cash-card .tpv-table th,.tpv-cash-card .tpv-table td{padding:5px 11px}.tpv-note{margin:15px 0 8px}.tpv-editor-actions{position:sticky;bottom:-18px;background:#f6f9fa;padding:12px 0;border-top:1px solid #d9e4e9;margin-top:12px;z-index:1}.tpv-editor-actions>span,.tpv-audit{font-size:11px;color:#687f8d}.tpv-audit{margin-top:9px}.tpv-dialog:not(.tpv-record-dialog) .tpv-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#tpvApplied{font-size:12px;color:#657d8c}.tpv-record-dialog input:read-only,.tpv-record-dialog textarea:read-only{background:#f2f5f7}.tpv-table [data-pay=amount]{width:140px}.tpv-table [data-pay=reference]{min-width:160px}
@media(max-width:760px){.tpv-page{padding:16px 12px}.tpv-heading{align-items:flex-start;flex-direction:column}.tpv-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.tpv-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.tpv-cash-grid{grid-template-columns:1fr}.tpv-section-heading{align-items:flex-start;flex-direction:column}.tpv-dialog-body{padding:14px 12px}.tpv-editor-actions{position:static;flex-direction:column}.tpv-record-meta{gap:8px}.tpv-dialog-header{padding:12px}.tpv-dialog-header h2{font-size:16px}}
@media print{body.tpv-printing>*{display:none!important}body.tpv-printing #tpvRecordDialog{display:block!important;position:static;width:100%;max-width:none;max-height:none;border:0;box-shadow:none;overflow:visible}body.tpv-printing #tpvRecordDialog::backdrop{display:none}body.tpv-printing .tpv-editor-actions,body.tpv-printing .tpv-dialog-header button,body.tpv-printing #tpvAddPayment,body.tpv-printing [data-remove-payment]{display:none}body.tpv-printing .tpv-dialog-body{padding:0;background:white}body.tpv-printing .tpv-rates>div,body.tpv-printing .tpv-rates>p{display:grid!important}body.tpv-printing .tpv-cash-grid{grid-template-columns:repeat(3,minmax(0,1fr))}body.tpv-printing input,body.tpv-printing select,body.tpv-printing textarea{border:0!important}body.tpv-printing .tpv-table-wrap{overflow:visible}body.tpv-printing .tpv-cash-card{break-inside:avoid}}

.tpv-kpi{text-align:left;color:inherit;font:inherit}.tpv-kpi:hover{border-color:#137f78;background:#f2faf8}.tpv-dialog-header .dialog-back{font-size:14px;padding:6px}.tpv-dialog-header h2{flex:1}.tpv-filter-scope{grid-template-columns:1fr 1fr;margin-bottom:16px}.tpv-table [data-adjust=amount]{width:130px}.tpv-table [data-adjust=reference]{min-width:180px}.tpv-kpis .tpv-kpi small{color:#007a75}.tpv-dialog label[hidden]{display:none}.tpv-table-wrap:focus-within{outline:1px solid #188d85}.tpv-dialog .count-status{display:inline-block;font-size:11px;padding:3px 8px;border-radius:12px;background:#e7eff4}.tpv-dialog .count-status.reviewed{background:#def3e9}.tpv-dialog .count-status.closed{background:#e5eef8}
.tpv-page{padding:0}.tpv-actions>button,.tpv-pagination>button,.tpv-section-heading>button,.tpv-dialog button.primary,#tpvAddAdjustment{font:inherit;font-size:12px;line-height:1.4;border:1px solid #c9dce3;border-radius:6px;background:#fff;color:#31596b;padding:9px 13px}.tpv-actions>button:hover,.tpv-section-heading>button:hover{background:#edf7f5;border-color:#9acbc4}.tpv-actions>button.primary,.tpv-dialog button.primary{background:#0e8073;border-color:#0e8073;color:white}.tpv-actions>button:disabled,.tpv-pagination>button:disabled{opacity:.45;cursor:default}.tpv-dialog-header>[data-tpv-close]{border:0;background:transparent;color:#557282}.tpv-dialog [data-remove-payment],.tpv-dialog [data-adjust-remove]{border:0;background:#f5ebea;color:#9b4a40;border-radius:4px;padding:4px 9px}.tpv-dialog [data-side]{font-variant-numeric:tabular-nums}@media(max-width:760px){.tpv-page{padding:0}.tpv-actions{justify-content:flex-start}.tpv-actions>button{padding:8px 10px}.tpv-dialog{width:calc(100vw - 16px)}.tpv-filter-scope{grid-template-columns:1fr}}

/* Compact point-of-sale reconciliation. */
.tpv-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:12px 0 8px}.tpv-summary>.tpv-kpi{padding:12px 16px}.tpv-summary strong{font-size:26px;margin:5px 0}.tpv-summary .tpv-kpi>span{display:flex;justify-content:space-between}.tpv-summary .tpv-kpi>span small{font-size:10px;letter-spacing:.06em}.tpv-summary .tpv-kpi>small{display:flex;justify-content:space-between;font-size:11px}.tpv-summary .tpv-balanced{background:#eef8f4;border-color:#b4dccc}.tpv-summary .tpv-balanced strong{color:#087662}.tpv-rate-strip{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:11px;color:#5b7580;margin-bottom:10px}.tpv-rate-strip .tpv-actions>button{padding:5px 9px;font-size:11px}.tpv-reference-options{margin:8px 0 12px}.tpv-reference-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.tpv-reference-options>summary{color:#395c6b}.tpv-payment-panel{background:white;border:1px solid #d9e4e9;border-radius:8px;padding:13px 15px;margin:12px 0}.tpv-payment-panel .tpv-section-heading{margin:0 0 12px}.tpv-payment-totals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.tpv-payment-totals label{display:block;font-size:12px;color:#42616f}.tpv-payment-totals label>span{display:flex;align-items:center;justify-content:space-between;height:24px;margin-bottom:5px}.tpv-payment-totals input{box-sizing:border-box;width:100%;min-width:0;font:inherit;font-size:21px;font-weight:600;font-variant-numeric:tabular-nums;text-align:right;color:#153b4c;border:1px solid #bad2d5;background:#f8fbfb;border-radius:6px;padding:10px 12px}.tpv-payment-totals input:focus{outline:2px solid #16998c;outline-offset:1px}.tpv-payment-totals select{font:inherit;border:1px solid #d5e2e7;border-radius:4px;color:#42616f;background:#fff;padding:2px}.tpv-payment-details{margin-top:12px;font-size:12px}.tpv-payment-details>summary{cursor:pointer;color:#087b72}.tpv-payment-details .tpv-actions{margin:8px 0}.tpv-print-only{display:none}.tpv-summary .tpv-kpi:focus-visible{outline:2px solid #16998c;outline-offset:2px}
@media(max-width:760px){.tpv-summary{gap:6px}.tpv-summary>.tpv-kpi{padding:9px}.tpv-summary strong{font-size:20px}.tpv-summary .tpv-kpi>span{display:block;font-size:11px}.tpv-summary .tpv-kpi>small{font-size:10px}.tpv-rate-strip{align-items:flex-start;flex-direction:column;gap:7px}.tpv-payment-panel{padding:12px}.tpv-payment-totals{grid-template-columns:1fr;gap:10px}.tpv-payment-totals label{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:center}.tpv-payment-totals label>span{margin:0}.tpv-payment-totals input{padding:8px;font-size:19px}.tpv-reference-grid{grid-template-columns:1fr}}
@media print{body.tpv-printing .tpv-print-only{display:block}body.tpv-printing .tpv-rate-strip button,body.tpv-printing .tpv-payment-details button,body.tpv-printing #tpvAddAdjustment,body.tpv-printing [data-adjust-remove]{display:none}body.tpv-printing .tpv-payment-details{display:block}body.tpv-printing .tpv-summary .tpv-kpi{border:1px solid #ccc}body.tpv-printing .tpv-payment-totals{grid-template-columns:repeat(2,minmax(0,1fr))}}

.tpv-cashier-field{max-width:440px;margin:10px 0}.tpv-cashier-field label{display:flex;flex-direction:column;gap:5px;font-size:12px;color:#42616f}.tpv-cashier-field input{font:inherit;color:#193f51;padding:8px 10px;border:1px solid #c9d8df;border-radius:5px;background:#fff;min-width:0;width:100%;box-sizing:border-box}
.tpv-reconciliation-panel{margin:16px 0}.tpv-reconciliation-panel>.tpv-section-heading{margin:0 0 10px;align-items:center}.tpv-reconciliation-panel .tpv-section-heading p{margin:5px 0 0}#tpvMainComparison>.tpv-help{font-size:11px;margin:8px 0}.tpv-cash-dialog{width:min(1120px,calc(100vw - 28px))}.tpv-cash-context{margin:0;font-size:13px;font-weight:600}.tpv-cash-dialog .tpv-cash-grid{margin-top:14px}.tpv-cash-dialog .tpv-cash-card input{max-width:90px}.tpv-cash-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;position:sticky;bottom:0;background:#f6f9fa;padding:12px 0;margin-top:14px;border-top:1px solid #d9e4e9}.tpv-cash-actions>span{font-size:11px;color:#657d8c}.tpv-cash-dialog .tpv-cash-card input:focus-visible{outline:2px solid #16998c;outline-offset:1px}
@media(max-width:760px){.tpv-reconciliation-panel>.tpv-section-heading{flex-direction:row;align-items:center}.tpv-cash-dialog .tpv-cash-card input{max-width:100%}.tpv-cash-actions{bottom:0;align-items:stretch;flex-direction:column;gap:8px}.tpv-cash-actions .tpv-actions{justify-content:flex-end}.tpv-reconciliation-panel .tpv-section-heading p{max-width:240px}}
@media print{body.tpv-printing #tpvCashCount{display:none}body.tpv-printing .tpv-reconciliation-panel .tpv-help{display:none}}

.tpv-confirm-dialog{width:min(840px,calc(100vw - 28px))}.tpv-confirm-dialog .tpv-dialog-body>p:first-child{margin-top:0;font-size:13px}.tpv-confirm-dialog .tpv-note input{font:inherit;padding:9px;border:1px solid #c9d8df;border-radius:5px}.tpv-confirm-dialog .tpv-summary strong{font-size:27px}.tpv-table tfoot th{padding:11px;background:#eaf4f3}.tpv-confirm-dialog .tpv-actions{padding-top:10px;border-top:1px solid #d9e4e9}.tpv-confirm-dialog .tpv-summary>.tpv-kpi{cursor:default}
.tpv-success{padding:10px 13px;border:1px solid #b4dccc;background:#eef8f4;color:#087662;border-radius:7px;font-size:12px}.tpv-dialog [hidden],.tpv-page [hidden]{display:none!important}#tpvList th small{font-size:10px;letter-spacing:.04em;color:#47706d}#tpvList th:nth-child(n+9):nth-child(-n+11){background:#e7f2ee}#tpvZeroInfo{margin:0;padding:10px 12px;border-radius:6px;background:#edf6f4;color:#315e55}
@media(max-width:520px){.tpv-confirm-dialog .tpv-summary{grid-template-columns:1fr}.tpv-confirm-dialog .tpv-summary>.tpv-kpi{display:flex;align-items:center;justify-content:space-between;gap:8px}.tpv-confirm-dialog .tpv-summary strong{font-size:23px}.tpv-confirm-dialog .tpv-actions{display:grid;grid-template-columns:1fr;width:100%}}

#tpvList th small{display:block;margin-top:3px}#tpvApplied{padding:0 0 2px}

.tpv-list-controls{display:flex;justify-content:space-between;align-items:center;gap:12px;margin:4px 0 12px;flex-wrap:wrap}

/* The working form is compact; denomination entry and ticket evidence have
   their own dialogs. Keep responsive scrolling available for long content. */
.tpv-record-dialog{width:min(1120px,calc(100vw - 24px))}
.tpv-record-dialog>.tpv-dialog-header{padding:10px 14px}.tpv-record-dialog>.tpv-dialog-header h2{font-size:16px}
.tpv-record-dialog>.tpv-dialog-body{padding:10px 14px}.tpv-record-meta{gap:6px 14px;font-size:11px}
.tpv-record-dialog .tpv-summary{margin:8px 0 6px;gap:8px}.tpv-record-dialog .tpv-summary>.tpv-kpi{padding:7px 10px}
.tpv-record-dialog .tpv-summary strong{font-size:21px;margin:2px 0}.tpv-record-dialog .tpv-summary .tpv-kpi>small{font-size:10px}
.tpv-record-dialog .tpv-rate-strip{margin-bottom:5px}.tpv-record-dialog .tpv-rate-strip button{padding:3px 7px}
#tpvEntryForm{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:8px}
#tpvEntryForm>.tpv-cashier-field{grid-column:span 5;max-width:none;margin:0}
#tpvEntryForm>.tpv-reference-options{grid-column:span 7;align-self:end;margin:0;padding:8px 10px}
#tpvEntryForm>.tpv-reference-options[open]{grid-column:1/-1}
#tpvEntryForm>.tpv-payment-panel,#tpvEntryForm>.tpv-reconciliation-panel,#tpvEntryForm>.tpv-editor-actions{grid-column:1/-1;margin:0}
#tpvEntryForm>.tpv-rates:not(.tpv-reference-options),#tpvEntryForm>.tpv-note{grid-column:span 6;margin:0}
#tpvEntryForm>.tpv-rates[open]:not(.tpv-reference-options){grid-column:1/-1}
#tpvEntryForm>.tpv-rates:not(.tpv-reference-options){padding:8px 10px;align-self:start}
.tpv-record-dialog .tpv-cashier-field input{padding:6px 9px}
.tpv-record-dialog .tpv-payment-panel{padding:8px 10px}
.tpv-record-dialog .tpv-payment-panel .tpv-section-heading{margin:0 0 5px}.tpv-record-dialog .tpv-section-heading h3{font-size:13px}
.tpv-record-dialog .tpv-payment-panel .tpv-section-heading span{font-size:10px}
.tpv-record-dialog .tpv-payment-totals label>span{height:auto;margin-bottom:3px;font-size:11px}
.tpv-record-dialog .tpv-payment-totals input{padding:5px 9px;font-size:18px;height:34px}
.tpv-record-dialog .tpv-payment-details{margin-top:5px;font-size:11px}
.tpv-record-dialog .tpv-reconciliation-panel>.tpv-section-heading{margin:1px 0 5px}
.tpv-record-dialog .tpv-reconciliation-panel .tpv-section-heading p{font-size:10px;margin:2px 0 0}
.tpv-record-dialog .tpv-table th,.tpv-record-dialog .tpv-table td{padding:5px 8px;line-height:1.3}
.tpv-record-dialog .tpv-table tfoot th{padding:6px 8px}
#tpvMainComparison>.tpv-help{font-size:10px;margin:4px 0 0}
.tpv-record-dialog .tpv-note{gap:3px}.tpv-record-dialog .tpv-note textarea{min-height:38px;height:38px;padding:5px 8px;resize:vertical}
.tpv-record-dialog .tpv-editor-actions{bottom:-10px;padding:8px 0 1px;gap:8px}
.tpv-record-dialog .tpv-editor-actions .tpv-actions{gap:6px}.tpv-record-dialog .tpv-editor-actions button:not(.ui-icon-action){padding:7px 10px;font-size:11px}
.tpv-record-dialog .tpv-audit{font-size:10px;margin-top:6px}
.tpv-tickets-dialog{width:min(1180px,calc(100vw - 28px))}.tpv-ticket-context{margin:0 0 7px;font-size:12px}
.tpv-tickets-dialog .tpv-table td{max-width:300px;overflow-wrap:anywhere}.tpv-tickets-dialog .tpv-table-wrap{max-height:58vh}
.tpv-pdf-dialog{width:min(940px,calc(100vw - 28px))}.tpv-pdf-dialog .tpv-dialog-body{padding:8px 12px}
.tpv-pdf-dialog .tpv-help{margin:2px 0 8px}.tpv-pdf-frame{display:flex;align-items:flex-start;justify-content:center;width:100%;height:74vh;overflow:auto;border:0;background:#e7ebee;padding:10px;box-sizing:border-box}.tpv-pdf-page{display:block;max-width:100%;max-height:100%;width:auto;height:auto;box-shadow:0 1px 8px #1233}.tpv-print-frame{position:fixed;left:-10000px;width:1px;height:1px;border:0}
.tpv-dialog .dialog-header-actions{display:flex;align-items:center;gap:6px}.tpv-dialog .dialog-header-actions button{font-size:12px;padding:6px}
.tpv-pdf-controls{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:7px;flex-wrap:wrap}.tpv-pdf-controls select{font:inherit;font-size:12px;color:inherit;border:1px solid #c9d8df;border-radius:5px;background:white;padding:4px 6px}.tpv-pdf-actual{justify-content:flex-start}.tpv-pdf-actual .tpv-pdf-page{flex:none;max-width:none;max-height:none;width:210mm;height:297mm;margin:auto}
@media(max-width:760px){
  #tpvEntryForm>.tpv-cashier-field,#tpvEntryForm>.tpv-reference-options,#tpvEntryForm>.tpv-rates:not(.tpv-reference-options),#tpvEntryForm>.tpv-note{grid-column:1/-1}
  .tpv-record-dialog .tpv-rate-strip{flex-direction:row;align-items:center}.tpv-record-dialog .tpv-summary .tpv-kpi>small{display:none}
  .tpv-record-dialog .tpv-payment-totals{grid-template-columns:1fr;gap:8px}
  .tpv-record-dialog .tpv-payment-totals label{display:block}.tpv-record-dialog .tpv-section-heading>span{display:none}
  .tpv-record-dialog .tpv-editor-actions{align-items:stretch}.tpv-record-dialog .tpv-editor-actions .tpv-actions{justify-content:flex-end}
  .tpv-dialog .dialog-header-actions{gap:3px}.tpv-pdf-frame{height:70vh}
}
