:root{color-scheme:dark;--bg: #0b0f14;--panel: #121821;--panel-2: #1a2230;--surface: #1a2230;--text: #e8edf5;--muted: #8b97a8;--accent: #d4a017;--ok: #2ecc71;--warn: #f1c40f;--bad: #e74c3c;--border: #243041;--sidebar-width: 260px;--mobile-topbar-h: 56px;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}body.nav-open{overflow:hidden}a{color:var(--accent);text-decoration:none}code{font-family:ui-monospace,monospace;font-size:.9em;word-break:break-all}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.app-shell{display:grid;grid-template-columns:var(--sidebar-width) 1fr;min-height:100vh}.mobile-topbar,.sidebar-backdrop{display:none}.sidebar{background:var(--panel);border-right:1px solid var(--border);padding:1.25rem;display:flex;flex-direction:column;gap:1.5rem}.brand{display:flex;gap:.75rem;align-items:center}.brand-mark{width:42px;height:42px;border-radius:12px;background:linear-gradient(135deg,#d4a017,#8a6410);display:grid;place-items:center;font-weight:800;flex-shrink:0}.brand small,.user-chip small{display:block;color:var(--muted)}.sidebar nav{display:flex;flex-direction:column;gap:.35rem;flex:1}.sidebar nav a{padding:.65rem .85rem;border-radius:10px;color:var(--text);min-height:44px;display:flex;align-items:center}.sidebar nav a.active,.sidebar nav a:hover{background:var(--panel-2);color:var(--accent)}.sidebar-footer{display:flex;flex-direction:column;gap:.75rem}.ghost-btn{background:transparent;border:1px solid var(--border);color:var(--text);padding:.55rem .85rem;border-radius:10px;cursor:pointer;min-height:44px}.content{padding:1.5rem 2rem;min-width:0}.page-header h1{margin:0 0 .25rem}.page-header p{margin:0;color:var(--muted)}.page-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;flex-wrap:wrap}.header-action-btn{width:auto;margin-top:0;padding:.65rem 1rem;white-space:nowrap}.link-btn{background:none;border:none;color:var(--accent);cursor:pointer;font-weight:600;padding:0}.link-btn:hover{text-decoration:underline}.form-modal{width:min(520px,100%);max-height:90vh;overflow-y:auto}.form-error{background:#e74c3c26;border:1px solid rgba(231,76,60,.35);color:#ffb4aa;border-radius:10px;padding:.75rem;font-size:.9rem}.checkbox-list{display:flex;flex-direction:column;gap:.45rem;margin-top:.35rem;max-height:180px;overflow-y:auto;padding:.5rem;border:1px solid var(--border);border-radius:10px;background:var(--panel-2)}.config-form select{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:.75rem}.page-loading{padding:2rem;color:var(--muted)}.login-page{min-height:100vh;display:grid;place-items:center;background:radial-gradient(circle at top,#1a2230,#0b0f14 55%)}.login-card{width:min(420px,92vw);background:var(--panel);border:1px solid var(--border);border-radius:18px;padding:2rem;display:flex;flex-direction:column;gap:1rem}.login-card label{display:flex;flex-direction:column;gap:.35rem;color:var(--muted)}.login-card label>input{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:.75rem}.login-card .password-input{width:100%}.login-card .password-input input{padding:.75rem 2.75rem .75rem .75rem}.login-card button,.login-card button[type=submit]{background:var(--accent);color:#111;border:none;border-radius:10px;padding:.85rem;font-weight:700;cursor:pointer}.error-box{background:#e74c3c26;border:1px solid rgba(231,76,60,.35);padding:.75rem;border-radius:10px;color:#ffb4aa}.cards-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:1rem;margin-top:1.5rem}.stat-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:1rem 1.1rem;display:flex;flex-direction:column;gap:.35rem}.stat-card strong{font-size:2rem}.stat-card.ok strong{color:var(--ok)}.stat-card.warn strong{color:var(--warn)}.stat-card.bad strong{color:var(--bad)}.table-wrap{margin-top:1.5rem;overflow:auto;border:1px solid var(--border);border-radius:16px}table{width:100%;border-collapse:collapse;background:var(--panel)}th,td{padding:.85rem 1rem;border-bottom:1px solid var(--border);text-align:left}th{color:var(--muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.badge{display:inline-block;padding:.2rem .55rem;border-radius:999px;background:var(--panel-2);font-size:.82rem;text-transform:capitalize}.badge.online,.badge.approved,.badge.deposited{color:var(--ok)}.badge.offline,.badge.error,.badge.declined{color:var(--bad)}.badge.pickup_payment_pending,.badge.occupied,.badge.issue-status-open{color:var(--warn)}.badge.issue-status-resolved{color:var(--ok)}.deposits-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.85rem;margin-top:1.25rem}.deposits-summary-card{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:1rem 1.1rem;border-radius:16px;border:1px solid var(--border);background:var(--panel);cursor:pointer;text-align:left;transition:border-color .15s,background .15s,transform .1s}.deposits-summary-card:hover{border-color:#d4a01773}.deposits-summary-card.selected{border-color:var(--accent);background:#d4a01714;box-shadow:0 0 0 1px #d4a01733}.deposits-summary-label{color:var(--muted);font-size:.88rem;font-weight:600}.deposits-summary-value{font-size:2rem;line-height:1.1}.deposits-summary-card.warn .deposits-summary-value{color:var(--warn)}.deposits-summary-card.ok .deposits-summary-value{color:var(--ok)}.deposits-summary-card.bad .deposits-summary-value{color:var(--bad)}.deposits-summary-hint{color:var(--muted);font-size:.78rem}.deposits-inline-note{grid-column:1 / -1;display:flex;align-items:center;gap:.65rem;padding:.65rem .9rem;border-radius:10px;background:#3498db14;border:1px solid rgba(52,152,219,.2);color:var(--muted);font-size:.88rem}.deposits-toolbar{display:flex;justify-content:space-between;align-items:center;margin-top:1.25rem;gap:1rem;flex-wrap:wrap}.deposits-result-count{color:var(--muted);font-size:.88rem}.deposits-table-wrap{margin-top:1rem}.deposits-table{width:100%}.deposits-table th,.deposits-table td{vertical-align:middle;text-align:left;padding:.65rem .4rem;min-width:0}.deposits-table th{white-space:nowrap}.deposits-table th:first-child,.deposits-table td:first-child{padding-left:.9rem}.deposits-table th:last-child,.deposits-table td:last-child{padding-right:.75rem}.deposits-table tbody tr.deposit-row-in-progress td:first-child{box-shadow:inset 3px 0 #5dade2}.deposits-table tbody tr.deposit-row-deposited td:first-child{box-shadow:inset 3px 0 0 var(--ok)}.deposits-table tbody tr.deposit-row-pickup td:first-child{box-shadow:inset 3px 0 0 var(--warn)}.deposits-table tbody tr.deposit-row-completed td:first-child{box-shadow:inset 3px 0 #95a5a680}.deposits-table tbody tr.deposit-row-cancelled td:first-child{box-shadow:inset 3px 0 0 var(--bad)}.deposits-table tbody tr.deposit-row-completed{opacity:.88}.deposits-table tbody tr.deposit-row-cancelled{opacity:.78}.deposit-status-badge{display:inline-flex;align-items:center;padding:.28rem .65rem;border-radius:999px;font-size:.8rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.deposit-status-assigned{background:#3498db2e;color:#aed6f1}.deposit-status-deposited{background:#2ecc712e;color:#9be7bd}.deposit-status-ready-pickup{background:#1abc9c2e;color:#76d7c4}.deposit-status-pickup-payment-pending{background:#f1c40f2e;color:#f7dc6f}.deposit-status-picked-up{background:#95a5a62e;color:#d5dbdb}.deposit-status-cancelled,.deposit-status-expired{background:#e74c3c26;color:#ffb4aa}.deposit-status-pending,.deposit-status-awaiting-payment{background:#9b59b626;color:#d7bde2}.deposit-pacco-cell{display:flex;flex-direction:column;gap:.15rem;min-width:0}.deposit-pacco-id{display:block;max-width:8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.72rem;color:var(--muted)}.deposit-pickup-code{display:block;font-size:1.05rem;letter-spacing:.06em;white-space:nowrap}.deposit-locker-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.3rem}.deposit-locker{display:flex;align-items:center;justify-content:center;width:fit-content;min-width:2.2rem;padding:.15rem .45rem;border-radius:8px;background:var(--panel-2);font-weight:700}.deposit-locker-missing{color:var(--muted)}.dimension-badge{display:block;width:fit-content;padding:.2rem .55rem;border-radius:8px;font-size:.8rem;font-weight:600;background:var(--panel-2)}.dimension-a{color:#85c1e9}.dimension-b{color:#82e0aa}.dimension-c{color:#f8c471}.dimension-d{color:#f1948a}.dimension-unknown{color:var(--muted)}.deposit-hub{display:flex;flex-direction:column;gap:.15rem;min-width:0;max-width:7.5rem}.deposit-hub-link{color:var(--accent);font-weight:600;text-decoration:none;line-height:1.25}.deposit-hub-link:hover{text-decoration:underline}.deposit-hub small{color:var(--muted)}.deposit-contact{display:flex;flex-direction:column;gap:.15rem;font-size:.82rem;min-width:0;max-width:8rem}.deposit-contact span,.deposit-contact small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.deposit-contact small{color:var(--muted)}.deposit-date{display:flex;flex-direction:column;gap:.15rem;font-size:.82rem;min-width:0}.deposit-date-label{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.deposit-billing-cell{display:flex;flex-direction:column;gap:.2rem;min-width:0}.deposit-billing-cell strong{font-weight:600;line-height:1.3}.deposit-amounts{display:grid;grid-template-columns:auto minmax(0,1fr);gap:.1rem .55rem;align-items:baseline}.deposit-amounts small{color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.03em}.deposit-amounts strong,.deposit-amounts span{font-size:.88rem;white-space:nowrap}.deposit-billing-cell small{color:var(--muted);font-size:.75rem;line-height:1.35}.deposit-billing-note{font-style:italic}.deposit-due-now{color:var(--warn)}.deposit-due-settled{color:var(--ok)}.payments-date-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:.85rem 1.25rem;margin-top:1.25rem}.payments-custom-range{display:flex;flex-wrap:wrap;gap:.75rem 1rem}.payments-custom-range label{display:flex;flex-direction:column;gap:.3rem;color:var(--muted);font-size:.82rem;font-weight:600}.payments-custom-range input[type=date]{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.45rem .6rem;font:inherit}.payments-period-label{color:var(--muted);font-size:.88rem;margin-left:auto}.payments-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:.85rem;margin-top:1rem}.payments-summary-card{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;padding:1rem 1.1rem;border-radius:16px;border:1px solid var(--border);background:var(--panel);cursor:pointer;text-align:left;transition:border-color .15s,background .15s}.payments-summary-card:hover{border-color:#d4a01773}.payments-summary-card.selected{border-color:var(--accent);background:#d4a01714;box-shadow:0 0 0 1px #d4a01733}.payments-summary-label{color:var(--muted);font-size:.88rem;font-weight:600}.payments-summary-value{font-size:2rem;line-height:1.1}.payments-summary-card.ok .payments-summary-value{color:var(--ok)}.payments-summary-card.bad .payments-summary-value{color:var(--bad)}.payments-summary-card.warn .payments-summary-value{color:var(--warn)}.payments-summary-amount{font-size:1rem;font-weight:700;color:var(--ok)}.payments-summary-hint{color:var(--muted);font-size:.78rem}.payments-toolbar{display:flex;justify-content:space-between;align-items:center;margin-top:1.25rem;gap:1rem;flex-wrap:wrap}.payments-result-count{color:var(--muted);font-size:.88rem}.payments-table-wrap{margin-top:1rem}.payments-table tbody tr.payment-row-approved td:first-child{box-shadow:inset 3px 0 0 var(--ok)}.payments-table tbody tr.payment-row-declined td:first-child{box-shadow:inset 3px 0 0 var(--bad)}.payments-table tbody tr.payment-row-failed td:first-child{box-shadow:inset 3px 0 0 var(--warn)}.payments-table tbody tr.payment-row-declined,.payments-table tbody tr.payment-row-failed{opacity:.9}.payment-status-badge,.payment-type-badge{display:inline-flex;align-items:center;padding:.28rem .65rem;border-radius:999px;font-size:.8rem;font-weight:700;letter-spacing:.02em;white-space:nowrap}.payment-status-approved{background:#2ecc712e;color:#9be7bd}.payment-status-declined{background:#e74c3c26;color:#ffb4aa}.payment-status-error,.payment-status-cancelled{background:#e74c3c1f;color:#ffb4aa}.payment-status-pending{background:#f1c40f2e;color:#f7dc6f}.payment-type-preauth{background:#3498db2e;color:#aed6f1}.payment-type-capture,.payment-type-sale{background:#9b59b62e;color:#d7bde2}.payment-type-refund,.payment-type-void{background:#95a5a62e;color:#d5dbdb}.payment-amount{font-size:1rem;letter-spacing:.02em}.payment-pacco-id,.payment-mac{font-size:.82rem}.payment-pickup-code{letter-spacing:.06em}.payment-locker{display:inline-flex;align-items:center;justify-content:center;min-width:2.4rem;padding:.2rem .5rem;border-radius:8px;background:var(--panel-2);font-weight:700}.payment-date{font-size:.88rem;white-space:nowrap}.payment-error-hint{display:block;margin-top:.25rem;color:var(--muted);font-size:.72rem;max-width:12rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.payments-table td:first-child{min-width:7.5rem}.issues-toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.filter-tabs{display:inline-flex;gap:.35rem;padding:.25rem;border-radius:10px;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin}.filter-tab{border:none;background:transparent;color:var(--muted);padding:.55rem .85rem;border-radius:8px;cursor:pointer;font-weight:600;white-space:nowrap;flex-shrink:0;min-height:40px}.filter-tab.active{background:#5dade22e;color:#aed6f1}.btn-resolve-issue{border:none;border-radius:8px;padding:.4rem .75rem;background:#2ecc712e;color:#9be7bd;font-weight:600;cursor:pointer}.btn-resolve-issue:hover:not(:disabled){background:#2ecc7147}.btn-resolve-issue:disabled{opacity:.6;cursor:not-allowed}.deposit-actions{display:flex;flex-direction:column;gap:.3rem;align-items:flex-start}.deposit-actions .btn-complete-pickup,.deposit-actions .btn-resend-email,.deposit-actions .btn-restore-deposit,.deposit-actions .btn-smartsale{padding:.32rem .55rem;font-size:.8rem}.btn-complete-pickup,.btn-resend-email,.btn-restore-deposit,.btn-edit-deposit-date,.btn-smartsale{border:none;border-radius:8px;padding:.4rem .75rem;font-weight:600;cursor:pointer;white-space:nowrap}.btn-complete-pickup{background:#5dade22e;color:#aed6f1}.btn-complete-pickup:hover:not(:disabled){background:#5dade247}.btn-resend-email{background:#c8a9512e;color:#f3d98b}.btn-resend-email:hover:not(:disabled){background:#c8a95147}.btn-restore-deposit{background:#2ecc7129;color:#9be7bd}.btn-restore-deposit:hover:not(:disabled){background:#2ecc7142}.btn-smartsale{background:#9b59b62e;color:#d2a8e8}.btn-smartsale:hover:not(:disabled){background:#9b59b647}.btn-smartsale-retry{background:#e74c3c29;color:#f5b7b1}.smartsale-emitted-label{display:inline-block;margin-top:.3rem;font-size:.78rem;color:#9be7bd;font-weight:600}.deposit-status-cell{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.btn-complete-pickup:disabled,.btn-resend-email:disabled,.btn-restore-deposit:disabled,.btn-smartsale:disabled{opacity:.6;cursor:not-allowed}.btn-edit-deposit-date{margin-top:.25rem;background:#95a5a62e;color:#d5dbdb;font-size:.78rem;padding:.25rem .5rem}.btn-edit-deposit-date:hover:not(:disabled){background:#95a5a64d}.password-modal input[type=datetime-local]{width:100%;background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:.75rem;font-size:.95rem}.password-modal input[type=datetime-local]:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #d4a0172e}.badge.deposit-status-deposited,.badge.deposit-status-ready_pickup,.badge.deposit-status-pickup_payment_pending{color:var(--warn)}.badge.deposit-status-picked_up{color:var(--ok)}.badge.deposit-status-cancelled,.badge.deposit-status-expired{color:var(--muted)}.issue-row-resolved{opacity:.82}.issue-managed-label{color:var(--muted)}.page-empty{padding:2rem 1rem;text-align:center;color:var(--muted)}.detail-grid{display:grid;grid-template-columns:1fr 1.2fr;gap:1rem;margin-top:1.5rem}.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:1.25rem}.panel dl{display:grid;grid-template-columns:140px 1fr;gap:.65rem 1rem}.panel dt{color:var(--muted)}.locker-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem}.locker-tile{background:var(--panel-2);border-radius:12px;padding:.75rem;display:flex;flex-direction:column;gap:.15rem}.locker-tile.available{border-left:3px solid var(--ok)}.locker-tile.occupied{border-left:3px solid var(--warn)}.locker-tile.open{border-left:3px solid var(--accent)}.locker-tile.faulty,.locker-tile.maintenance{border-left:3px solid var(--bad)}.locker-tile.unassigned{opacity:.7;border-left:3px solid var(--border)}.locker-tile.unassigned>span{color:var(--muted);font-style:italic}.locker-tile-compact{font-size:.82rem;cursor:grab;height:100%}.locker-tile-compact:active{cursor:grabbing}.locker-tile-compact .channel-field input{font-size:.78rem;padding:.2rem .35rem}.locker-tile-compact .open-locker-btn{font-size:.72rem;padding:.25rem .4rem}.locker-status-field{display:flex;flex-direction:column;gap:.15rem;font-size:.72rem;color:var(--muted)}.locker-status-field span{font-size:.68rem;text-transform:uppercase;letter-spacing:.03em}.locker-status-select{width:100%;font-size:.78rem;padding:.2rem .35rem;border:1px solid var(--border);border-radius:4px;background:var(--surface);color:var(--text)}.locker-status-select:disabled{opacity:.6}.locker-layout-editor{margin-top:.75rem}.locker-layout-controls{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.75rem 1.25rem;margin-bottom:1rem}.layout-size-fields{display:flex;gap:.75rem;flex-shrink:0}.layout-size-field{display:flex;flex-direction:column;gap:.35rem;width:5.5rem}.layout-size-field>span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.layout-size-field input{width:100%;background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:.55rem .65rem;font-size:.95rem;text-align:center}.layout-size-field input:focus:not(.readonly){outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #d4a0172e}.layout-size-field input.readonly{opacity:.75;cursor:not-allowed;background:var(--bg);border-style:dashed;color:var(--muted)}.locker-layout-hint{flex:1 1 220px;margin:0;align-self:center}.locker-layout-grid{display:grid;grid-template-columns:repeat(var(--layout-cols, 3),minmax(0,1fr));gap:.5rem}.locker-layout-col-header{text-align:center;font-size:.75rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;padding-bottom:.15rem}.locker-layout-cell{min-height:9.5rem;border-radius:10px;padding:.35rem;border:1px dashed var(--border);background:#ffffff05;transition:border-color .15s,background .15s}.locker-layout-cell.occupied{border-style:solid;background:transparent;padding:0}.locker-layout-cell.drag-over{border-color:var(--accent);background:#63b3ed14}.locker-layout-cell-placeholder{display:flex;align-items:center;justify-content:center;height:100%;color:var(--muted);font-size:.72rem;text-transform:uppercase;letter-spacing:.05em}.locker-layout-unplaced{margin-top:1rem;padding:.85rem;border-radius:12px;border:1px dashed var(--border);background:var(--panel-2)}.locker-layout-unplaced.drag-over{border-color:var(--accent)}.locker-layout-unplaced h3{margin:0 0 .25rem;font-size:.95rem}.locker-layout-unplaced-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.5rem;margin-top:.65rem}.panel-header-row{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.hardware-check-btn{background:var(--panel-2);color:var(--text);border:1px solid var(--border);border-radius:10px;padding:.55rem .85rem;font-weight:600;cursor:pointer;font-size:.85rem}.hardware-check-btn:disabled{opacity:.6;cursor:not-allowed}.pos-test-panel{margin-bottom:1rem}.pos-test-box{padding:.25rem 0 0}.pos-test-row{display:flex;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.pos-test-amount{flex:1;min-width:160px;margin:0;max-width:220px}.pos-test-send-btn{background:var(--accent);color:#fff;border:none;border-radius:10px;padding:.65rem 1.1rem;font-weight:700;cursor:pointer;font-size:.9rem;white-space:nowrap}.pos-test-send-btn:hover:not(:disabled){filter:brightness(1.08)}.pos-test-send-btn:disabled{opacity:.55;cursor:not-allowed}.open-time-box{margin:.75rem 0 1rem;padding:.85rem 1rem;border:1px solid rgba(255,255,255,.08);border-radius:10px;background:#ffffff08}.open-time-box h3{margin:0 0 .35rem;font-size:.95rem}.open-time-row{margin-top:.65rem}.open-time-channel{min-width:6.5rem;font-weight:600;padding-bottom:.35rem}.hardware-meta{margin-top:-.25rem}.hardware-errors{margin:.5rem 0 .75rem;font-size:.85rem}.hardware-badge{display:inline-block;margin-top:.35rem;padding:.2rem .5rem;border-radius:999px;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.02em;width:fit-content}.hardware-badge.closed{background:#2ecc7133;color:#9be7bd}.hardware-badge.open{background:#f1c40f33;color:#f7dc6f}.hardware-badge.unknown{background:#95a5a633;color:var(--muted)}.open-locker-btn{margin-top:.35rem;background:transparent;border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.35rem .5rem;font-size:.78rem;font-weight:600;cursor:pointer}.open-locker-btn:hover{border-color:var(--accent);color:var(--accent)}.profile-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:1.5rem}.config-form input.readonly{opacity:.75;cursor:not-allowed;background:var(--bg);border-style:dashed;color:var(--muted)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.modal-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:1.25rem;width:min(420px,100%)}.modal-card h3{margin:0 0 .5rem}.modal-message{color:var(--muted);margin:0 0 1rem;font-size:.92rem}.modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:1rem}.modal-confirm-btn{margin-top:0;width:auto;padding:.65rem 1rem}.password-modal{padding:1.5rem;border-radius:18px;box-shadow:0 24px 60px #00000080;animation:modal-pop .18s ease-out}@keyframes modal-pop{0%{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-icon{width:44px;height:44px;border-radius:12px;margin-bottom:.85rem;display:grid;place-items:center;color:var(--accent);background:#d4a0171f;border:1px solid rgba(212,160,23,.3)}.password-modal h3{font-size:1.15rem}.password-modal .field{display:flex;flex-direction:column;gap:.4rem}.password-modal .field>span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.modal-force-checkbox{display:flex;align-items:flex-start;gap:.6rem;margin:0 0 1rem;padding:.75rem .85rem;border-radius:10px;border:1px solid rgba(212,160,23,.35);background:#d4a01714;color:var(--text);font-size:.88rem;line-height:1.4;cursor:pointer}.modal-force-checkbox input{margin-top:.15rem;flex-shrink:0}.password-input{position:relative;display:block;width:100%}.password-input input{flex:1;width:100%;background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:.75rem 2.75rem .75rem .75rem;font-size:.95rem}.password-input input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #d4a0172e}.password-input input::placeholder{color:var(--muted);opacity:.7}.password-toggle{position:absolute;top:50%;right:.35rem;transform:translateY(-50%);display:flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border:none;border-radius:8px;background:transparent;color:var(--muted);cursor:pointer;padding:0}.password-toggle svg{display:block;flex-shrink:0}.password-toggle:hover{color:var(--text);background:#ffffff0f}.password-toggle:disabled{opacity:.5;cursor:not-allowed}.channel-field{display:flex;align-items:center;justify-content:space-between;gap:.4rem;margin-top:.3rem}.channel-field span{color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.03em}.channel-field input{width:52px;background:var(--bg);border:1px solid var(--border);color:var(--text);border-radius:8px;padding:.3rem .4rem;font-size:.9rem}.config-form{display:flex;flex-direction:column;gap:.9rem;margin-top:.5rem}.config-form .field{display:flex;flex-direction:column;gap:.4rem}.config-form .field>span{color:var(--muted);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em}.config-form input[type=text],.config-form input[type=number],.config-form input[type=email]{background:var(--panel-2);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:.7rem .75rem;font-size:.95rem;transition:border-color .15s ease,box-shadow .15s ease}.config-form input:focus:not(.readonly){outline:none;border-color:var(--accent);box-shadow:0 0 0 3px #d4a0172e}.config-form input::placeholder{color:var(--muted);opacity:.7}.config-form .field-check{flex-direction:row;align-items:center;gap:.5rem}.config-form .field-check span{color:var(--text);font-size:.95rem}.config-form .field-row{display:flex;gap:.75rem}.config-form .field-row .field{flex:1}.config-form .field-narrow{max-width:110px}.size-mapping{display:flex;flex-direction:column;gap:.5rem;margin-top:.35rem}.visible-sizes{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.35rem}.visible-size-option{display:inline-flex;align-items:center;gap:.4rem;padding:.35rem .65rem;border:1px solid var(--border);border-radius:8px;background:var(--surface);font-weight:600}.size-kiosk-badge{font-size:.7rem;font-weight:600;padding:.15rem .45rem;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.size-kiosk-badge.on{background:#dcfce7;color:#166534}.size-kiosk-badge.off{background:#f1f5f9;color:#64748b}.size-row{display:flex;align-items:center;gap:.75rem}.size-row strong{width:48px;text-align:center;background:var(--panel-2);border-radius:8px;padding:.4rem 0;color:var(--accent)}.size-row input{flex:1}.tariff-grid{display:flex;flex-direction:column;gap:.45rem;margin-top:.35rem;overflow-x:auto}.tariff-grid-header,.tariff-grid-row{display:grid;grid-template-columns:minmax(110px,1.2fr) repeat(4,minmax(72px,1fr));gap:.5rem;align-items:center;min-width:max-content}.tariff-grid-editable .tariff-grid-header,.tariff-grid-editable .tariff-grid-row{grid-template-columns:minmax(110px,1.2fr) repeat(4,minmax(72px,1fr)) 32px}.tariff-grid-header span{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em;text-align:center}.tariff-grid-header span:first-child{text-align:left}.tariff-actions-col{width:32px}.tariff-band-cell{display:flex;flex-direction:column;gap:.15rem}.tariff-band-cell input{width:100%;min-width:0;font-size:.85rem}.tariff-band-cell small{font-size:.68rem;color:var(--muted)}.tariff-band-remove{width:1.6rem;height:1.6rem;border:none;border-radius:999px;background:var(--panel-2);color:var(--muted);cursor:pointer;font-size:.95rem;line-height:1;padding:0;justify-self:center}.tariff-band-remove:hover:not(:disabled){color:var(--bad, #c44);background:var(--panel)}.tariff-band-remove:disabled{opacity:.35;cursor:not-allowed}.tariff-add-band{margin-top:.55rem;align-self:flex-start;border:1px dashed var(--border, #3a3a3a);background:transparent;color:var(--accent);border-radius:8px;padding:.4rem .75rem;cursor:pointer;font-size:.85rem;font-weight:600}.tariff-add-band:hover{background:var(--panel-2)}.tariff-size-label{text-align:center;font-weight:700;color:var(--accent);background:var(--panel-2);border-radius:8px;padding:.4rem 0}.tariff-grid-row input{width:100%;min-width:0}.config-form .hint{color:var(--muted);font-size:.78rem;margin-top:.35rem;display:block}.hub-smartsale-block{margin:1rem 0 .5rem;padding:.9rem 1rem;border:1px solid rgba(155,89,182,.28);border-radius:10px;background:#9b59b60f;display:flex;flex-direction:column;gap:.65rem}.hub-smartsale-block h3{margin:0;font-size:.95rem;font-weight:700;color:#d2a8e8}.save-btn{background:var(--accent);color:#111;border:none;border-radius:10px;padding:.8rem;font-weight:700;cursor:pointer;margin-top:.25rem}.save-btn:disabled{opacity:.6;cursor:not-allowed}.ok-box{background:#2ecc7126;border:1px solid rgba(46,204,113,.35);padding:.75rem;border-radius:10px;color:#9be7bd}.events-list{display:flex;flex-direction:column;gap:.85rem;margin-top:1.25rem}.events-empty{background:var(--panel);border:1px dashed var(--border);border-radius:14px;padding:2rem;text-align:center;color:var(--muted)}.event-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:1.25rem}.event-filter-btn{display:inline-flex;align-items:center;gap:.45rem;background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:999px;padding:.45rem .85rem;cursor:pointer;font-size:.88rem}.event-filter-btn.active{border-color:var(--accent);color:var(--accent);background:#d4a0171a}.event-filter-count{min-width:1.35rem;height:1.35rem;padding:0 .35rem;border-radius:999px;background:var(--panel-2);color:var(--muted);font-size:.75rem;display:inline-flex;align-items:center;justify-content:center}.event-filter-btn.active .event-filter-count{background:#d4a0172e;color:var(--accent)}.event-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:1rem 1.1rem;border-left:4px solid var(--border)}.event-card.info{border-left-color:#5dade2}.event-card.warn{border-left-color:var(--warn)}.event-card.error{border-left-color:var(--bad)}.event-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;margin-bottom:.65rem}.event-card-head time{color:var(--muted);font-size:.82rem;white-space:nowrap}.event-card-badges{display:flex;flex-wrap:wrap;gap:.4rem}.event-category-badge,.event-severity-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .55rem;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.event-category-badge.pos{background:#9b59b62e;color:#d7bde2}.event-category-badge.kiosk{background:#3498db2e;color:#aed6f1}.event-category-badge.other{background:#95a5a62e;color:#d5dbdb}.event-severity-badge.info{background:#5dade226;color:#aed6f1}.event-severity-badge.warn{background:#f1c40f26;color:#f7dc6f}.event-severity-badge.error{background:#e74c3c26;color:#ffb4aa}.event-card h3{margin:0 0 .35rem;font-size:1.05rem}.event-card-summary{margin:0;color:var(--text);line-height:1.45}.event-card-meta{display:grid;grid-template-columns:auto 1fr;gap:.25rem .75rem;margin:.85rem 0 0;font-size:.85rem}.event-card-meta dt{color:var(--muted)}.event-card-meta dd{margin:0}.event-card-tech{margin-top:.85rem}.event-tech-toggle{background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:8px;padding:.4rem .65rem;font-size:.78rem;cursor:pointer}.event-tech-toggle:hover{color:var(--text);border-color:var(--accent)}.event-tech-json{margin:.65rem 0 0;overflow:auto;background:var(--panel-2);padding:.75rem;border-radius:10px;font-size:.78rem;border:1px solid var(--border)}.pagination-bar{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap;margin-top:1rem;padding:.75rem 0}.pagination-meta{color:var(--muted);font-size:.88rem}.pagination-controls{display:flex;align-items:center;gap:.65rem}.pagination-page{color:var(--muted);font-size:.85rem;min-width:7rem;text-align:center}.pagination-btn{background:var(--panel);border:1px solid var(--border);color:var(--text);border-radius:10px;padding:.45rem .85rem;cursor:pointer;font-size:.85rem}.pagination-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.pagination-btn:disabled{opacity:.45;cursor:not-allowed}.badge.role-admin{color:var(--accent)}.badge.role-operator{color:#85c1e9}@media(max-width:960px){.app-shell{grid-template-columns:1fr;padding-top:var(--mobile-topbar-h)}.mobile-topbar{display:flex;align-items:center;gap:.75rem;position:fixed;top:0;left:0;right:0;height:var(--mobile-topbar-h);padding:0 .85rem;background:var(--panel);border-bottom:1px solid var(--border);z-index:40}.mobile-topbar-brand{display:flex;align-items:center;gap:.65rem;min-width:0}.mobile-topbar-brand .brand-mark{width:34px;height:34px;border-radius:10px;font-size:.85rem}.mobile-topbar-brand strong{font-size:.95rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mobile-nav-toggle{width:42px;height:42px;border:1px solid var(--border);border-radius:10px;background:var(--panel-2);color:var(--text);cursor:pointer;display:grid;place-items:center;flex-shrink:0;padding:0}.mobile-nav-toggle-bars,.mobile-nav-toggle-bars:before,.mobile-nav-toggle-bars:after{display:block;width:18px;height:2px;background:var(--text);border-radius:1px;position:relative;transition:transform .2s ease,opacity .2s ease}.mobile-nav-toggle-bars:before,.mobile-nav-toggle-bars:after{content:"";position:absolute;left:0}.mobile-nav-toggle-bars:before{top:-6px}.mobile-nav-toggle-bars:after{top:6px}.app-shell.nav-open .mobile-nav-toggle-bars{background:transparent}.app-shell.nav-open .mobile-nav-toggle-bars:before{top:0;transform:rotate(45deg)}.app-shell.nav-open .mobile-nav-toggle-bars:after{top:0;transform:rotate(-45deg)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:45;opacity:0;pointer-events:none;transition:opacity .2s ease}.app-shell.nav-open .sidebar-backdrop{opacity:1;pointer-events:auto}.sidebar{position:fixed;top:0;left:0;bottom:0;width:min(var(--sidebar-width),86vw);z-index:50;transform:translate(-105%);transition:transform .22s ease;border-right:1px solid var(--border);box-shadow:8px 0 32px #00000059;overflow-y:auto}.app-shell.nav-open .sidebar{transform:translate(0)}.content{padding:1rem 1rem 1.5rem}.page-header h1{font-size:1.45rem}.page-header-row .header-action-btn,.page-header-row .save-btn{width:100%}.cards-grid,.deposits-summary,.payments-summary{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.stat-card strong,.deposits-summary-value,.payments-summary-value{font-size:1.65rem}.detail-grid,.profile-grid{grid-template-columns:1fr}.panel{padding:1rem}.panel dl{grid-template-columns:1fr;gap:.2rem 0}.panel dt{margin-top:.55rem;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em}.panel dt:first-child{margin-top:0}.config-form .field-row{flex-direction:column}.config-form .field-narrow{max-width:none}.tariff-grid{overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:.25rem}.tariff-grid-header,.tariff-grid-row{min-width:420px}.locker-layout-grid{grid-template-columns:repeat(var(--layout-cols, 3),minmax(7.5rem,1fr));overflow-x:auto;-webkit-overflow-scrolling:touch}.locker-layout-cell{min-height:8.5rem}.locker-layout-hint{flex-basis:100%}.layout-size-fields{width:100%;justify-content:flex-start}.pos-test-amount{max-width:none}.pos-test-send-btn{width:100%}.payments-period-label{margin-left:0;width:100%}.payments-custom-range{width:100%}.payments-custom-range label{flex:1 1 140px}.payments-custom-range input[type=date]{width:100%}.event-card-head{flex-direction:column;align-items:flex-start}.event-card-head time{white-space:normal}.event-card-meta{grid-template-columns:1fr;gap:.15rem 0}.event-card-meta dt{margin-top:.45rem}.event-card-meta dt:first-child{margin-top:0}.modal-actions{flex-direction:column-reverse;align-items:stretch}.modal-actions .ghost-btn,.modal-actions .save-btn,.modal-actions .modal-confirm-btn{width:100%}.pagination-bar{flex-direction:column;align-items:stretch;gap:.75rem}.pagination-controls{justify-content:space-between}.pagination-btn{min-height:44px;padding:.55rem 1rem}.table-wrap{border:none;background:transparent;overflow:visible}.table-wrap table,.table-wrap thead,.table-wrap tbody,.table-wrap tr,.table-wrap th,.table-wrap td{display:block;width:100%}.deposits-table,.payments-table{min-width:0;width:100%}.deposit-pacco-id,.deposit-pickup-code,.deposit-hub-link,.deposit-date span,.deposit-billing-cell strong,.deposit-contact,.deposit-contact span,.deposit-contact small,.deposit-amounts strong,.deposit-amounts span{white-space:normal;overflow-wrap:anywhere;max-width:none;text-overflow:unset}.table-wrap thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.table-wrap tbody{display:flex;flex-direction:column;gap:.85rem}.table-wrap tr{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:.85rem 1rem;box-shadow:inset 3px 0 0 transparent}.deposits-table tbody tr.deposit-row-in-progress{box-shadow:inset 3px 0 #5dade2}.deposits-table tbody tr.deposit-row-deposited{box-shadow:inset 3px 0 0 var(--ok)}.deposits-table tbody tr.deposit-row-pickup{box-shadow:inset 3px 0 0 var(--warn)}.deposits-table tbody tr.deposit-row-completed{box-shadow:inset 3px 0 #95a5a680}.deposits-table tbody tr.deposit-row-cancelled{box-shadow:inset 3px 0 0 var(--bad)}.payments-table tbody tr.payment-row-approved{box-shadow:inset 3px 0 0 var(--ok)}.payments-table tbody tr.payment-row-declined{box-shadow:inset 3px 0 0 var(--bad)}.payments-table tbody tr.payment-row-failed{box-shadow:inset 3px 0 0 var(--warn)}.deposits-table tbody tr.deposit-row-in-progress td:first-child,.deposits-table tbody tr.deposit-row-deposited td:first-child,.deposits-table tbody tr.deposit-row-pickup td:first-child,.deposits-table tbody tr.deposit-row-completed td:first-child,.deposits-table tbody tr.deposit-row-cancelled td:first-child,.payments-table tbody tr.payment-row-approved td:first-child,.payments-table tbody tr.payment-row-declined td:first-child,.payments-table tbody tr.payment-row-failed td:first-child{box-shadow:none}.table-wrap td{display:grid;grid-template-columns:minmax(6.5rem,38%) 1fr;gap:.5rem .75rem;align-items:start;padding:.45rem 0;border-bottom:1px solid rgba(36,48,65,.65);min-width:0}.table-wrap td:last-child{border-bottom:none;padding-bottom:0}.table-wrap td:first-child{padding-top:0}.table-wrap td:before{content:attr(data-label);color:var(--muted);font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;line-height:1.35;padding-top:.15rem}.table-wrap td:not([data-label]):before,.table-wrap td[data-label=""]:before{content:none}.table-wrap td:not([data-label]),.table-wrap td[data-label=""]{grid-template-columns:1fr;padding-top:.75rem}.deposit-hub,.deposit-contact,.deposit-date,.deposit-billing-cell,.deposit-pacco-cell,.deposit-locker-cell,.deposit-amounts,.deposit-actions{min-width:0;max-width:none}.deposit-actions{width:100%}.deposit-actions .btn-complete-pickup,.deposit-actions .btn-resend-email,.deposit-actions .btn-restore-deposit,.deposit-actions .btn-smartsale,.deposit-actions .smartsale-emitted-label,.btn-resolve-issue{width:100%;min-height:40px;text-align:center}.payment-error-hint{max-width:none;white-space:normal}.event-tech-toggle{width:100%;min-height:40px}.hardware-check-btn{width:100%;min-height:44px}.save-btn{min-height:44px}.panel-header-row{flex-direction:column;align-items:stretch}.table-wrap td .deposit-date-label{display:inline;margin-right:.35rem}.table-wrap td .deposit-date-label:after{content:":"}}@media(max-width:640px){.content{padding:.85rem .75rem 1.25rem}.login-card{padding:1.35rem;border-radius:14px}.cards-grid,.deposits-summary,.payments-summary{grid-template-columns:1fr 1fr}.deposits-inline-note{flex-direction:column;align-items:flex-start}.locker-grid{grid-template-columns:1fr 1fr}.locker-layout-grid{grid-template-columns:repeat(var(--layout-cols, 3),minmax(6.75rem,1fr))}.locker-layout-unplaced-list{grid-template-columns:1fr}.size-row{flex-wrap:wrap}.size-row strong{width:100%}.event-filters{gap:.4rem}.event-filter-btn{flex:1 1 auto;justify-content:center}}
