:root{color-scheme:dark;--bg: #0b0f14;--panel: #121821;--panel-2: #1a2230;--text: #e8edf5;--muted: #8b97a8;--accent: #d4a017;--ok: #2ecc71;--warn: #f1c40f;--bad: #e74c3c;--border: #243041;font-family:Inter,system-ui,sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}a{color:var(--accent);text-decoration:none}code{font-family:ui-monospace,monospace;font-size:.9em}.app-shell{display:grid;grid-template-columns:260px 1fr;min-height:100vh}.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}.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)}.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}.content{padding:1.5rem 2rem}.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 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-id{font-size:.85rem}.deposit-pickup-code{font-size:1.05rem;letter-spacing:.06em}.deposit-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}.deposit-locker-missing{color:var(--muted)}.dimension-badge{display:inline-block;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:8rem}.deposit-hub-link{color:var(--accent);font-weight:600;text-decoration:none}.deposit-hub-link:hover{text-decoration:underline}.deposit-hub small{color:var(--muted)}.deposit-contact{display:flex;flex-direction:column;gap:.15rem;font-size:.9rem}.deposit-contact small{color:var(--muted)}.deposit-date{display:flex;flex-direction:column;gap:.15rem;font-size:.88rem}.deposit-date-label{color:var(--muted);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.deposit-billing-cell{min-width:8.5rem;vertical-align:top}.deposit-billing-cell strong{display:block;font-weight:600}.deposit-billing-cell small{display:block;margin-top:.2rem;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)}.filter-tab{border:none;background:transparent;color:var(--muted);padding:.45rem .85rem;border-radius:8px;cursor:pointer;font-weight:600}.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}.btn-complete-pickup{border:none;border-radius:8px;padding:.4rem .75rem;background:#5dade22e;color:#aed6f1;font-weight:600;cursor:pointer;white-space:nowrap}.btn-complete-pickup:hover:not(:disabled){background:#5dade247}.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}.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}.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}.tariff-grid-header,.tariff-grid-row{display:grid;grid-template-columns:48px repeat(4,1fr);gap:.5rem;align-items:center}.tariff-grid-header span{font-size:.75rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}.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}.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}.sidebar{position:sticky;top:0;z-index:10}.detail-grid,.profile-grid{grid-template-columns:1fr}}
