*{box-sizing:border-box}
.posadv-shop-client-row{display:flex;align-items:center;gap:8px;padding:8px 0;position:relative;flex-wrap:wrap}
.posadv-shop-client-label{font-size:12px;color:rgba(255,255,255,.5);flex-shrink:0}
.posadv-shop-client-name{font-size:13px;font-weight:600;color:#7dd3fc;flex:1}
.posadv-shop-user-input{flex:1;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#0d1117;color:#fff;padding:0 10px;font-size:13px;min-width:0}
.posadv-shop-user-results{position:absolute;top:100%;left:0;right:0;background:#1a1f23;border:1px solid rgba(255,255,255,.15);border-radius:8px;z-index:20;max-height:160px;overflow-y:auto}
.posadv-shop-user-opt{padding:8px 12px;cursor:pointer;display:flex;flex-direction:column;gap:2px}
.posadv-shop-user-opt:hover{background:rgba(255,255,255,.07)}
.posadv-shop-user-opt b{font-size:13px}
.posadv-shop-user-opt small{font-size:11px;color:rgba(255,255,255,.4)}
.restock-bulk-list{display:flex;flex-direction:column;gap:10px;max-height:420px;overflow-y:auto;padding-right:4px}
.restock-bulk-row{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.05);border-radius:10px;padding:10px 14px}
.restock-bulk-name{flex:1;font-weight:600;font-size:14px}
.restock-bulk-stock{font-size:12px;color:rgba(255,255,255,.4);white-space:nowrap}
.restock-bulk-qty-wrap{display:flex;align-items:center;gap:6px}
.restock-qty-btn{width:32px;height:32px;border-radius:8px;background:#30363a;color:#fff;font-size:18px;font-weight:700;padding:0;display:flex;align-items:center;justify-content:center;cursor:pointer;border:0;flex-shrink:0}
.restock-qty-btn:hover{background:#444}
.restock-qty-input{width:56px;height:32px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#0d1117;color:#fff;text-align:center;font-size:14px;font-weight:700;padding:0}
.kaspi-qr-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:rgba(0,0,0,.75);backdrop-filter:blur(8px)}
.kaspi-qr-box{background:#13181c;border:1px solid rgba(255,200,0,.2);border-radius:20px;padding:28px 28px 24px;max-width:360px;width:100%;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.7)}
.kaspi-qr-title{font-size:18px;font-weight:700;margin-bottom:4px;color:#fff}
.kaspi-qr-amount{font-size:36px;font-weight:800;color:#ffc800;margin-bottom:14px}
.kaspi-qr-img{width:200px;height:200px;border-radius:12px;background:#fff;padding:6px;display:block;margin:0 auto 12px}
.kaspi-qr-placeholder{width:200px;height:200px;border-radius:12px;border:2px dashed rgba(255,255,255,.2);display:grid;place-items:center;margin:0 auto 12px;font-size:13px;color:rgba(255,255,255,.45);padding:16px;line-height:1.5}
.kaspi-qr-hint{font-size:13px;color:rgba(255,255,255,.5);margin-bottom:10px}
.kaspi-qr-status{font-size:14px;font-weight:600;color:rgba(255,255,255,.75);min-height:24px;margin-bottom:16px}
.kaspi-qr-actions{display:flex;gap:10px;justify-content:center}
.kaspi-cancel-btn{padding:10px 24px;border-radius:10px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.07);color:#fff;font-weight:600;cursor:pointer;font-size:14px}
.kaspi-cancel-btn:hover{background:rgba(255,255,255,.12)}
.kaspi-deeplink-btn{padding:10px 20px;border-radius:10px;background:#ffc800;color:#000;font-weight:700;font-size:14px;text-decoration:none;display:inline-flex;align-items:center}
.terminal-manual-overlay{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;background:rgba(0,0,0,.7);backdrop-filter:blur(6px)}
.terminal-manual-box{background:#13181c;border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:36px 32px;max-width:380px;width:100%;text-align:center;box-shadow:0 24px 80px rgba(0,0,0,.6)}
.terminal-manual-icon{font-size:52px;margin-bottom:12px}
.terminal-manual-title{font-size:20px;font-weight:700;margin-bottom:8px}
.terminal-manual-amount{font-size:38px;font-weight:700;color:#39a9ff;margin-bottom:10px}
.terminal-manual-hint{font-size:14px;color:rgba(255,255,255,.5);margin-bottom:24px}
.terminal-manual-actions{display:flex;gap:12px;justify-content:center}
.terminal-manual-actions button{flex:1;height:46px;border-radius:12px;border:0;font-weight:700;cursor:pointer;font-size:15px}
.terminal-manual-actions #termManualCancel{background:#323536;color:#fff}
.terminal-manual-actions #termManualOk{background:#0078d2;color:#fff}
*{scrollbar-width:thin;scrollbar-color:rgba(119,217,255,.28) transparent}
::-webkit-scrollbar{width:8px;height:8px}
::-webkit-scrollbar-track{background:transparent}
::-webkit-scrollbar-thumb{background:rgba(119,217,255,.24);border-radius:999px}
::-webkit-scrollbar-thumb:hover{background:rgba(119,217,255,.42)}
html,body{width:100%;height:100%;margin:0;overflow:hidden}
body{height:100vh;display:grid;grid-template-columns:280px 1fr;font-family:Segoe UI,Arial,sans-serif;background:#06090b;color:#fff}
button,input,select,textarea{font:inherit}
button{height:42px;border:0;border-radius:12px;background:#30363a;color:#fff;font-weight:700;padding:0 16px;cursor:pointer}
button:hover{background:#008ce8}
button.primary{background:#0078d2}
button.danger{background:#402326}
button.danger:hover{background:#c63838}
button.icon-btn{width:30px;height:30px;padding:0;border-radius:8px;font-size:13px;background:rgba(255,255,255,.07)}
button.icon-btn:hover{background:rgba(255,255,255,.14)}
button.icon-btn.danger{background:rgba(198,56,56,.18);color:#ff8f9c}
button.icon-btn.danger:hover{background:#c63838;color:#fff}
input,select,textarea{width:100%;border:1px solid rgba(246,251,253,.14);border-radius:12px;background:#080c0f;color:#fff;padding:0 13px;outline:none}
input,select{height:42px}
input[type=date]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.8;cursor:pointer}
textarea{min-height:84px;padding-top:10px;resize:vertical}
input:focus,select:focus,textarea:focus{border-color:#0091ff}
.sidebar{display:flex;flex-direction:column;gap:22px;padding:24px 18px;background:rgba(12,15,17,.84);border-right:1px solid rgba(246,251,253,.08);overflow:hidden;height:100vh;box-sizing:border-box}
.brand{display:flex;align-items:center;gap:14px}
.brand-mark{width:50px;height:50px;border-radius:15px;display:grid;place-items:center;background:#0078d2;font-size:27px;font-weight:800;box-shadow:0 12px 34px rgba(0,120,210,.42);overflow:hidden}
.brand-logo-img{width:100%;height:100%;object-fit:cover;display:block;border-radius:inherit}
/* Если внутри есть логотип — убираем цвет темы с фона иконки */
.brand-mark:has(.brand-logo-img){background:transparent!important;box-shadow:none!important}
.brand-title{font-size:26px;font-weight:800}
.brand-subtitle,.muted{color:rgba(255,255,255,.55);font-size:13px}
.nav{display:flex;flex-direction:column;gap:8px;overflow-y:auto;overflow-x:hidden;padding-right:4px;flex:1;min-height:0;padding-bottom:20px}
.nav button{width:100%;text-align:left;background:transparent;color:rgba(255,255,255,.72)}
.nav button:hover{background:rgba(255,255,255,.08);color:#fff}
.nav button.active{background:#0078d2;color:#fff;box-shadow:0 10px 28px rgba(0,120,210,.32)}
.side-card{margin-top:auto;border:1px solid rgba(246,251,253,.1);border-radius:16px;padding:16px;background:linear-gradient(180deg,rgba(255,255,255,.08),rgba(255,255,255,.035))}
.side-status{margin-top:8px;font-weight:800;color:#77d9ff}
.main{min-width:0;min-height:0;height:100vh;overflow:hidden;padding:28px 32px;display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:18px;background:radial-gradient(circle at 78% 4%,rgba(0,145,255,.18),transparent 34%),linear-gradient(135deg,#0b0f12,#14202a 52%,#0b0f12)}
body.theme-purple .main{background:radial-gradient(circle at 78% 4%,rgba(153,91,255,.2),transparent 34%),linear-gradient(135deg,#0d0914,#21152f 52%,#0b0f12)}
body.theme-purple .brand-mark,body.theme-purple button.primary,body.theme-purple .nav button.active,body.theme-purple .pos-mode-tab.active,body.theme-purple .pos-tab.active,body.theme-purple .client-tab.active,body.theme-purple .choice-chip.selected{background:#7c3aed}
body.theme-purple .price,body.theme-purple .side-status,body.theme-purple .metric-sub,body.theme-purple .history-total,body.theme-purple .selected-account-card b{color:#c4a4ff}
body.theme-purple input:focus,body.theme-purple select:focus,body.theme-purple textarea:focus{border-color:#a78bfa}
body.theme-purple .pos-terminal,body.theme-purple .history-panel{border-color:rgba(167,139,250,.34)}
.topbar{display:flex;align-items:center;justify-content:space-between;gap:18px}
.page-title{font-size:30px;font-weight:800}
.page-subtitle{margin-top:5px;color:rgba(255,255,255,.58)}
.top-actions{display:flex;align-items:center;gap:10px}
.operator-panel{display:flex;align-items:center;gap:10px;flex-shrink:0}
.operator-badge{height:42px;display:inline-flex;align-items:center;white-space:nowrap;border:1px solid rgba(246,251,253,.12);border-radius:999px;padding:0 14px;background:rgba(255,255,255,.07);font-weight:800;color:#dff5ff}
.content{min-height:0;height:100%;overflow-y:auto;overflow-x:hidden;padding-right:10px;padding-bottom:32px}
.section{display:grid;gap:16px;padding-bottom:32px}
.hero{border:1px solid rgba(246,251,253,.1);border-radius:20px;padding:24px;background:linear-gradient(135deg,rgba(0,120,210,.22),rgba(255,255,255,.055));box-shadow:0 20px 70px rgba(0,0,0,.18)}
.hero h1{margin:0 0 8px;font-size:34px}
.hero p{margin:0;color:rgba(255,255,255,.66)}
.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(160px,1fr));gap:14px}
.metric,.card,.editor-card{border:1px solid rgba(246,251,253,.1);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.04));box-shadow:0 16px 44px rgba(0,0,0,.16)}
.metric{padding:18px}
.metric-title{color:rgba(255,255,255,.56);font-size:13px;font-weight:700}
.metric-value{margin-top:8px;font-size:30px;font-weight:800}
.metric-sub{margin-top:6px;color:#77d9ff;font-size:13px}
.toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
.toolbar-left{display:flex;align-items:center;gap:10px}
.search{width:280px}
.card-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}
.card{position:relative;min-height:154px;padding:18px;display:grid;gap:10px}
.card:hover{border-color:rgba(57,169,255,.38);transform:translateY(-1px)}
.card-title{min-width:0;font-size:18px;font-weight:800;overflow-wrap:anywhere;line-height:1.18}
.card-sub{min-width:0;color:rgba(255,255,255,.58);font-size:13px;overflow-wrap:anywhere;line-height:1.35}
.price{font-size:28px;font-weight:800;color:#39a9ff}
.row{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;min-width:0}
.row>.pill{flex:0 0 auto;max-width:130px;height:auto;min-height:28px;text-align:center;white-space:normal}
.pill{display:inline-flex;align-items:center;height:28px;border-radius:999px;padding:0 10px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.76);font-size:13px;font-weight:700}
.pill.good{background:rgba(57,169,255,.14);color:#77d9ff}
.pill.warn{background:rgba(255,207,103,.14);color:#ffcf67}
.pill.danger{background:rgba(255,107,122,.16);color:#ff8f9c}
.danger-text{color:#ff8f9c!important}
.chip-select{display:flex;flex-wrap:wrap;gap:10px;min-height:46px;border:1px solid rgba(246,251,253,.12);border-radius:14px;background:#080c0f;padding:10px}
.choice-chip{height:34px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(246,251,253,.1);color:rgba(255,255,255,.72);padding:0 13px}
.choice-chip:hover{background:rgba(57,169,255,.16)}
.choice-chip.selected{background:#0078d2;color:#fff;border-color:#39a9ff;box-shadow:0 8px 22px rgba(0,120,210,.24)}
.card-actions{display:flex;gap:10px;margin-top:auto;flex-wrap:wrap}
.editor-card{padding:20px}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(220px,1fr));gap:14px}
.form-field{display:grid;gap:7px}
.form-field.wide{grid-column:1 / -1}
.input-with-btn{display:flex;gap:6px;align-items:center}.input-with-btn input{flex:1;min-width:0}
.form-field label{color:rgba(255,255,255,.62);font-size:13px;font-weight:700}
.field-hint{font-size:11px;color:rgba(255,255,255,.35);margin-top:2px}
.readonly-box{min-height:42px;border:1px solid rgba(246,251,253,.12);border-radius:12px;background:rgba(255,255,255,.045);display:flex;align-items:center;padding:0 13px;color:rgba(255,255,255,.82);font-weight:800}
.notice{border:1px solid rgba(57,169,255,.25);border-radius:14px;background:rgba(57,169,255,.09);padding:12px 14px;color:#77d9ff;font-weight:800}
.notice.error{border-color:rgba(255,133,133,.34);background:rgba(70,22,26,.38);color:#ff9aa4}
.switch-row{height:42px;display:flex;align-items:center;gap:10px}
.switch-row input{width:18px;height:18px}
.rules-list{display:grid;gap:12px}
.tariff-rule{display:grid;grid-template-columns:repeat(5,minmax(120px,1fr));gap:12px;align-items:end;border:1px solid rgba(246,251,253,.09);border-radius:16px;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035))}
.tariff-rule .form-field{min-width:0}
.tariff-rule .wide{grid-column:1 / -1}
.day-chip-select{display:flex;flex-wrap:wrap;gap:7px;min-height:42px;border:1px solid rgba(246,251,253,.12);border-radius:14px;background:#080c0f;padding:8px}
.day-chip{height:30px;min-width:44px;padding:0 10px}
.table-wrap{overflow:auto;border:1px solid rgba(246,251,253,.1);border-radius:18px;background:rgba(10,14,17,.68)}
table{width:100%;border-collapse:collapse;min-width:780px}
th,td{padding:13px 14px;border-bottom:1px solid rgba(246,251,253,.08);text-align:left}
th{color:rgba(255,255,255,.58);font-size:12px;text-transform:uppercase;letter-spacing:.04em}
td{color:rgba(255,255,255,.82)}
tr:hover td{background:rgba(255,255,255,.035)}
.toast{min-height:0}
.toast:not(:empty){width:max-content;max-width:min(680px,calc(100vw - 360px));padding:14px 18px;border-radius:15px;background:rgba(9,18,24,.94);border:1px solid rgba(57,169,255,.35);box-shadow:0 18px 60px rgba(0,0,0,.38);color:#77d9ff;font-weight:800}
.toast.error:not(:empty){color:#ff8585;border-color:rgba(255,133,133,.36);background:rgba(45,16,18,.9)}
.modal-backdrop{position:fixed;inset:0;display:none;place-items:center;background:rgba(0,0,0,.62);z-index:10}
.modal-backdrop.open{display:grid}
.modal{width:min(760px,calc(100vw - 46px));max-height:calc(100vh - 46px);overflow:auto;border:1px solid rgba(246,251,253,.12);border-radius:22px;padding:22px;background:rgba(18,24,29,.96);box-shadow:0 24px 90px rgba(0,0,0,.5)}
.modal.wide{width:min(1060px,calc(100vw - 46px))}
.modal-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:18px}
.modal h2{margin:0;font-size:26px}
.modal p{margin:6px 0 0;color:rgba(255,255,255,.58)}
.icon-button{width:42px;padding:0;border-radius:12px}
.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.empty{border:1px dashed rgba(246,251,253,.18);border-radius:18px;padding:28px;color:rgba(255,255,255,.58);text-align:center}
.login-wrap{min-height:100%;display:grid;place-items:center;padding:28px}
.login-panel{width:min(560px,100%);border:1px solid rgba(246,251,253,.12);border-radius:24px;padding:30px;background:linear-gradient(145deg,rgba(18,31,42,.96),rgba(13,17,21,.96));box-shadow:0 26px 90px rgba(0,0,0,.42)}
.login-panel h1{margin:24px 0 8px;font-size:34px}
.login-panel p{margin:0 0 22px;color:rgba(255,255,255,.62)}
.login-server-panel{width:min(720px,100%);margin-top:16px}
.login-service-card{padding:18px}
.brand.compact .brand-mark{width:48px;height:48px}
.brand.compact .brand-title{font-size:24px}
.login-button{width:100%;margin-top:18px}
.login-forgot-btn{width:100%;margin-top:8px;background:transparent;border:none;color:rgba(255,255,255,.35);font-size:12px;cursor:pointer;padding:4px;transition:color .2s}
.login-forgot-btn:hover{color:rgba(255,255,255,.65)}
.login-tabs{display:flex;gap:6px;margin-bottom:10px}
.login-tab{flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:10px;color:rgba(255,255,255,.5);font-size:13px;font-weight:500;padding:8px 4px;cursor:pointer;transition:all .18s}
.login-tab:hover{background:rgba(255,255,255,.09);color:rgba(255,255,255,.8)}
.login-tab.active{background:rgba(124,58,237,.25);border-color:rgba(124,58,237,.6);color:#c4b5fd;font-weight:600}
.pos-layout{display:grid;grid-template-columns:minmax(380px,1.1fr) minmax(360px,1fr);gap:16px}
.pos-layout>.editor-card:first-child,.pos-layout>.editor-card:nth-child(4){grid-column:1 / -1}
.action-row{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.pos-workspace{display:grid;grid-template-rows:auto 1fr;gap:14px;min-height:100%}
.hidden{display:none!important}
.pos-mode-tabs{display:flex;gap:10px}
.pos-mode-tab{min-width:120px;background:rgba(255,255,255,.08)}
.pos-mode-tab.active{background:#0078d2;box-shadow:0 10px 28px rgba(0,120,210,.28)}
.pos-shiftbar{border:1px solid rgba(246,251,253,.1);border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));padding:14px;display:flex;align-items:center;justify-content:space-between;gap:16px}
.pos-shift-controls{display:flex;align-items:end;gap:10px}
.pos-shift-controls .form-field{width:190px}
.pos-terminal{min-height:0;display:grid;grid-template-columns:1fr 430px;border:1px solid rgba(57,169,255,.32);border-radius:18px;overflow:hidden;background:rgba(6,10,13,.58)}
.pos-ticket{min-width:0;box-sizing:border-box;min-height:640px;display:grid;grid-template-rows:auto 1fr auto;gap:14px;padding:16px;background:rgba(10,14,17,.8);border-left:1px solid rgba(57,169,255,.34);order:2}

.pos-ticket-head,.pos-catalog-head,.deposit-row,.pos-total{display:flex;align-items:center;justify-content:space-between;gap:10px}
.pos-ticket-head{justify-content:flex-start}
.pos-ticket-head .card-title{margin-right:auto}
.search.full{width:100%}
.pos-search-results{display:grid;gap:8px;margin-top:8px;max-height:220px;overflow:auto}
.pos-ticket #posClientSearch{height:48px;border:2px solid rgba(119,217,255,.34);background:rgba(2,7,11,.96);box-shadow:inset 0 0 0 1px rgba(255,255,255,.035),0 10px 24px rgba(0,0,0,.18)}
body.theme-purple .pos-ticket #posClientSearch{border-color:rgba(196,164,255,.62);background:rgba(10,5,20,.96);box-shadow:0 0 0 1px rgba(124,58,237,.18),0 10px 24px rgba(0,0,0,.2)}
.pos-client-result{height:auto;min-height:46px;display:grid;gap:3px;text-align:left;border-radius:12px;background:rgba(255,255,255,.06);padding:9px 12px}
.pos-client-result small{color:rgba(255,255,255,.56);font-weight:600}
.pos-client-summary{margin-top:12px;border:1px solid rgba(246,251,253,.1);border-radius:16px;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03))}
.pos-client-summary:empty{display:none}
.pos-client-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
.pos-client-summary-head button{height:36px;padding:0 12px}
.pos-balances{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.pos-lines{border-top:1px solid rgba(246,251,253,.08);padding-top:12px}
.pos-line-head{display:grid;grid-template-columns:minmax(0,1fr) 96px 88px;gap:10px;color:rgba(255,255,255,.7);font-size:13px;font-weight:800;text-transform:uppercase}
.pos-empty-line{margin-top:10px;border:1px dashed rgba(246,251,253,.16);border-radius:14px;padding:18px;color:rgba(255,255,255,.48);text-align:center}
.pos-cart-lines{display:grid;gap:8px;margin-top:10px}
.pos-selected-line{border:1px solid rgba(57,169,255,.26);border-radius:14px;padding:12px;background:rgba(57,169,255,.08);display:grid;grid-template-columns:minmax(0,1fr) 96px 88px;gap:10px;align-items:center}
.pos-selected-line div{display:grid;gap:4px}
.pos-selected-line span{color:rgba(255,255,255,.56);font-size:13px}
.pos-selected-line b{font-size:22px;color:#39a9ff}
.qty-control{display:grid!important;grid-template-columns:32px 1fr 32px;align-items:center;gap:6px}
.qty-control button{width:32px;height:32px;border-radius:10px;padding:0}
.qty-control b{text-align:center;font-size:18px;color:#fff}
.pos-total{border-top:1px solid rgba(246,251,253,.08);padding-top:14px;display:grid;grid-template-columns:auto minmax(0,1fr);align-items:end}
.pos-total-value{font-size:34px;font-weight:900}
.pos-pay-box{min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px}
.pos-pay-box .form-field{min-width:0;width:auto}
.pos-pay-box button{white-space:nowrap;padding:0 16px}
.pos-catalog{min-width:0;display:grid;grid-template-rows:auto auto 1fr;gap:10px;padding:14px;background:rgba(12,20,26,.56)}
.pos-tabs{display:flex;gap:8px}
.pos-tab{min-width:110px;background:rgba(255,255,255,.08)}
.pos-tab.active{background:#0078d2;box-shadow:0 10px 28px rgba(0,120,210,.28)}
.pos-tab:disabled{opacity:.42;cursor:not-allowed}
.pos-tab:disabled:hover{background:rgba(255,255,255,.08)}
.pos-product-grid{min-height:0;overflow:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));align-content:start;gap:10px;padding-right:6px}
.pos-product-card{height:112px;text-align:left;border:1px solid rgba(246,251,253,.1);border-radius:12px;background:linear-gradient(180deg,rgba(255,255,255,.085),rgba(255,255,255,.04));display:grid;grid-template-rows:1fr auto;align-items:start;padding:12px}
.pos-product-card:hover,.pos-product-card:focus{border-color:#39a9ff;background:linear-gradient(180deg,rgba(57,169,255,.2),rgba(255,255,255,.055))}
.pos-product-card .card-title{font-size:15px}
.pos-product-card .price{font-size:20px}
.selected-account-card,.receipt-preview{grid-column:1 / -1;border:1px solid rgba(57,169,255,.28);border-radius:16px;padding:14px;background:rgba(57,169,255,.08);display:grid;gap:5px}
.selected-account-card span,.receipt-preview span{color:rgba(255,255,255,.62);font-weight:800;font-size:13px;text-transform:uppercase}
.selected-account-card strong{font-size:22px}
.selected-account-card small,.receipt-preview small{color:rgba(255,255,255,.58);font-weight:700}
.selected-account-card b{color:#39a9ff}
.receipt-preview{place-items:center;text-align:center;padding:26px}
.receipt-preview strong{font-size:52px;letter-spacing:4px}
.deposit-client-line{grid-column:1 / -1;border:1px solid rgba(57,169,255,.26);border-radius:16px;padding:14px;background:rgba(57,169,255,.08);display:flex;align-items:center;justify-content:space-between;gap:12px}
.deposit-client-line div{display:grid;gap:4px}
.deposit-client-line span{color:rgba(255,255,255,.58);font-size:13px;font-weight:700}
.deposit-client-line strong{color:#39a9ff}
.deposit-entry{grid-column:1 / -1;display:grid;grid-template-columns:minmax(220px,1fr) 260px;gap:16px;align-items:start}
.numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:7px}
.numpad button{height:56px;border-radius:10px;font-size:18px}
.history-panel{border:1px solid rgba(57,169,255,.28);border-radius:18px;background:rgba(6,10,13,.58);padding:14px;display:grid;grid-template-rows:auto minmax(0,1fr);gap:14px;height:calc(100vh - 230px);min-height:520px}
.history-filters{display:grid;grid-template-columns:170px 180px 180px 160px auto;gap:10px;align-items:end}
.history-list{min-height:0;overflow:auto;display:grid;gap:10px;align-content:start;padding-right:6px}
.history-summary,.history-pages{display:flex;align-items:center;justify-content:space-between;gap:10px;color:rgba(255,255,255,.7);font-weight:800}
.history-invoice{border:1px solid rgba(246,251,253,.11);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));padding:14px;display:grid;gap:12px}
.history-invoice-head{display:flex;justify-content:space-between;gap:14px}
.history-invoice-head small{display:block;margin-top:4px;color:rgba(255,255,255,.58);font-weight:700}
.history-total{font-size:22px;font-weight:900;color:#39a9ff;white-space:nowrap}
.history-total.voided{color:#ff6b7a}
.history-lines{display:grid;gap:6px}
.history-lines>div{display:grid;grid-template-columns:1fr 140px 110px;gap:10px;align-items:center;border-top:1px solid rgba(246,251,253,.08);padding-top:6px}
.history-lines small{color:rgba(255,255,255,.58);font-weight:700}
.history-lines b{text-align:right}
.client-profile{display:grid;gap:14px}
.client-profile-head{display:grid;grid-template-columns:88px 1fr;gap:16px;align-items:center;border:1px solid rgba(57,169,255,.22);border-radius:18px;padding:14px;background:rgba(57,169,255,.08)}
.client-avatar{width:88px;height:88px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08));font-size:42px;font-weight:900;color:#fff}
.client-tab-metrics{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.client-tabs{display:flex;flex-wrap:wrap;gap:8px}
.client-tab{background:rgba(255,255,255,.08)}
.client-tab.active{background:#0078d2}
.client-tab-panel{display:grid;gap:8px;max-height:420px;overflow:auto;padding-right:4px}
.client-detail-row{border:1px solid rgba(246,251,253,.1);border-radius:14px;padding:12px;background:rgba(255,255,255,.045);display:grid;grid-template-columns:1fr auto;gap:12px;align-items:center}
.client-detail-row span{display:block;margin-top:3px;color:rgba(255,255,255,.58);font-size:13px;font-weight:700}
.catalog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:14px}
.apps-filter{display:grid;gap:12px}
.app-search{width:min(720px,100%)}
.inline-actions{display:grid;grid-template-columns:minmax(260px,1fr) auto auto;gap:10px;align-items:center}
.choice-row{display:flex;flex-wrap:wrap;gap:10px}
.app-category-section{display:grid;gap:12px;margin-top:18px}
.app-category-head{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid rgba(246,251,253,.08);padding-bottom:10px}
.compact-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr))}
.compact-list{display:grid;gap:10px}
.settings-row{display:grid;grid-template-columns:220px minmax(260px,1fr) auto;gap:10px;align-items:center;border:1px solid rgba(246,251,253,.1);border-radius:14px;padding:12px;background:rgba(255,255,255,.045)}
.settings-row div{display:grid;gap:3px}
.settings-row span{color:rgba(255,255,255,.58);font-size:13px}
.pos-group-title{grid-column:1 / -1;color:#77d9ff;font-weight:900;padding:8px 2px 0}
.pos-zone-tabs{grid-column:1 / -1;display:flex;gap:8px;padding:4px 0 8px}
.pos-zone-tab{padding:6px 18px;border-radius:20px;border:1px solid rgba(119,217,255,.35);background:transparent;color:rgba(255,255,255,.65);font-size:13px;font-weight:600;cursor:pointer;transition:all .15s}
.pos-zone-tab:hover{border-color:#77d9ff;color:#fff}
.pos-zone-tab.active{background:#77d9ff;border-color:#77d9ff;color:#0d0d1a}
.mini-card{min-height:112px;border:1px solid rgba(246,251,253,.1);border-radius:16px;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center}
.mini-card .price{font-size:22px}
.old-price{display:block;color:rgba(255,255,255,.48);font-size:13px;text-decoration:line-through;line-height:1.1}
.host-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:12px;margin-top:14px}
.host-card{grid-template-columns:1fr;align-items:start}
.host-card.maintenance{border-color:rgba(255,207,103,.3)}
.host-actions{display:flex;flex-wrap:wrap;gap:8px}
.host-actions button{height:36px;padding:0 12px}
.client-list{display:grid;gap:10px;margin-top:14px}
.client-row{border:1px solid rgba(246,251,253,.1);border-radius:16px;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center}
.clickable{cursor:pointer}
.clickable:hover{border-color:rgba(57,169,255,.38);background:linear-gradient(180deg,rgba(57,169,255,.12),rgba(255,255,255,.04))}
.client-toolbar{align-items:flex-start}
.client-search-wrap{display:flex;gap:10px;width:min(720px,100%)}
.client-main-search{width:100%;height:46px;border:2px solid rgba(119,217,255,.28);background:rgba(2,7,11,.92)}
.client-filter-panel,.reservation-panel{border:1px solid rgba(246,251,253,.1);border-radius:18px;background:rgba(6,10,13,.58);padding:14px}
.filter-grid{display:grid;grid-template-columns:180px 180px repeat(4,minmax(110px,1fr));gap:10px;align-items:end}
.client-stat-box{height:60px;border:1px solid rgba(246,251,253,.08);border-radius:14px;background:rgba(255,255,255,.045);display:grid;place-items:center;padding:8px}
.client-stat-box b{font-size:20px;color:#77d9ff}
.client-stat-box span{color:rgba(255,255,255,.58);font-size:12px;font-weight:800}
.advanced-search{display:grid;grid-template-columns:repeat(3,minmax(180px,1fr));gap:10px;margin-top:12px;padding-top:12px;border-top:1px solid rgba(246,251,253,.08)}
.reservation-filters{display:flex;align-items:end;gap:10px}
.reservation-filters .form-field{width:180px}
.reservation-layout{display:grid;grid-template-columns:minmax(420px,.95fr) minmax(420px,1.05fr);gap:14px;min-height:0}
.panel-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}
.reservation-list{display:grid;gap:10px;max-height:calc(100vh - 270px);overflow:auto;padding-right:4px}
.reservation-card{border:1px solid rgba(57,169,255,.2);border-radius:16px;background:linear-gradient(180deg,rgba(255,255,255,.075),rgba(255,255,255,.035));padding:14px;display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:12px;align-items:center}
.reservation-card.closed{opacity:.62}
.reservation-time{display:grid;gap:3px;text-align:right}
.reservation-time span,.reservation-next span{color:rgba(255,255,255,.58);font-size:13px;font-weight:700}
.reservation-actions{grid-column:1 / -1;display:flex;gap:8px;flex-wrap:wrap}
.reservation-actions button{height:34px;padding:0 12px}
.reservation-board{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;max-height:calc(100vh - 270px);overflow:auto;padding-right:4px}
.host-reservation-card{border:1px solid rgba(246,251,253,.1);border-radius:16px;padding:14px;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.035));display:grid;gap:12px}
.reservation-next{border:1px solid rgba(57,169,255,.22);border-radius:14px;background:rgba(57,169,255,.08);padding:10px;display:grid;gap:3px}
body.theme-purple .client-main-search,body.theme-purple .client-filter-panel,body.theme-purple .reservation-panel{border-color:rgba(167,139,250,.34)}
/* ===== КАРТА КЛУБА ===== */
.club-map-page{display:flex;flex-direction:column;gap:0;min-height:0}
.club-map-tab-bar{display:flex;align-items:flex-end;justify-content:space-between;border-bottom:1px solid rgba(246,251,253,.1);margin-bottom:14px}
.club-tabs-left{display:flex;gap:0}
.club-tab{height:40px;background:transparent;border-radius:10px 10px 0 0;color:rgba(255,255,255,.52);font-size:14px;font-weight:700;padding:0 22px;border:1px solid transparent;border-bottom:none;margin-bottom:-1px}
.club-tab:hover{background:rgba(255,255,255,.07);color:#fff}
.club-tab.active{background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.04));color:#fff;border-color:rgba(246,251,253,.1);border-bottom-color:transparent}
.club-notify-btn{height:34px;margin-bottom:4px;background:rgba(255,209,0,.12);border:1px solid rgba(255,209,0,.3);color:#ffd100;border-radius:10px;font-size:13px;font-weight:700;padding:0 14px}
.club-notify-btn:hover{background:rgba(255,209,0,.22);color:#ffe34d}
/* Уведомление — модал */
.notify-modal-body{display:grid;grid-template-columns:200px 1fr;gap:16px}
.notify-pc-list{border:1px solid rgba(246,251,253,.1);border-radius:12px;padding:10px;max-height:280px;overflow:auto;display:flex;flex-direction:column;gap:2px}
.notify-pc-row{display:flex;align-items:center;gap:8px;padding:5px 7px;border-radius:7px;cursor:pointer;font-size:13px}
.notify-pc-row:hover{background:rgba(255,255,255,.07)}
.notify-pc-row input[type=checkbox]{accent-color:#0078d2;width:15px;height:15px;flex-shrink:0}
.notify-all-row{font-size:13px;border-bottom:1px solid rgba(246,251,253,.08);padding-bottom:8px;margin-bottom:4px}
.notify-sep{height:1px;background:rgba(246,251,253,.08);margin:3px 0}
.notify-fields{display:flex;flex-direction:column;gap:8px}
.notify-fields label{font-size:12px;color:rgba(255,255,255,.5);margin:0}
.notify-fields input,.notify-fields textarea{width:100%;background:#080b0c;border:1px solid rgba(246,251,253,.14);border-radius:10px;color:#fff;padding:8px 12px;font:inherit;font-size:13px;outline:none}
.notify-fields textarea{min-height:90px}
.notify-fields input:focus,.notify-fields textarea:focus{border-color:#0091ff}
.overview-wrap{padding:0;overflow:hidden}
.overview-table-scroll{overflow-x:auto;max-height:calc(100vh - 240px);overflow-y:auto}
.overview-table{width:100%;border-collapse:collapse;font-size:14px}
.overview-table thead th{position:sticky;top:0;z-index:1;padding:10px 12px;text-align:left;color:rgba(255,255,255,.42);font-size:12px;font-weight:700;background:#0d1318;border-bottom:1px solid rgba(246,251,253,.1);white-space:nowrap}
.overview-table td{padding:8px 12px;border-bottom:1px solid rgba(246,251,253,.05);vertical-align:middle;white-space:nowrap}
.overview-row:hover td{background:rgba(255,255,255,.04)}
.overview-row.row-active td{background:rgba(57,240,120,.035)}
.ws-num{font-size:15px;font-weight:800}
.ws-sq{display:inline-block;width:14px;height:14px;border-radius:3px;flex-shrink:0}
.ws-sq-active{background:#ffd100;box-shadow:0 0 7px rgba(255,209,0,.6)}
.ws-sq-online{background:#39f078;box-shadow:0 0 7px rgba(57,240,120,.55)}
.ws-sq-idle{background:#2e3740}
.ws-sq-maintenance{background:#ffcf67;box-shadow:0 0 6px rgba(255,207,103,.42)}
.ws-sq-offline{background:#2a3240}
.ws-sq-admin{background:#ff4d4d;box-shadow:0 0 7px rgba(255,77,77,.55)}
.overview-row.row-admin td{background:rgba(255,77,77,.06)}
.overview-row.row-admin:hover td{background:rgba(255,77,77,.12)}
.admin-badge{display:inline-block;background:rgba(255,77,77,.18);border:1px solid rgba(255,77,77,.45);color:#ff8080;font-size:11px;font-weight:700;border-radius:6px;padding:2px 7px}
.mono{font-family:Consolas,monospace;font-size:13px;color:rgba(255,255,255,.72)}
.overview-action-btn{width:30px;height:30px;min-width:30px;border-radius:7px;padding:0;font-size:12px;background:rgba(255,255,255,.07);color:rgba(255,255,255,.7)}
.overview-action-btn:hover{background:rgba(57,169,255,.22);color:#fff}
.overview-topup-btn{width:30px;height:30px;min-width:30px;border-radius:7px;padding:0;font-size:15px;background:rgba(57,240,120,.1);color:#39f078;margin-right:4px}
.overview-topup-btn:hover{background:rgba(57,240,120,.28);color:#fff}
.balance-low{color:#ff9944!important;font-weight:700}
.deposit-presets{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:4px}
.deposit-preset{height:38px;padding:0 16px;border-radius:10px;background:rgba(255,255,255,.08);color:rgba(255,255,255,.78);font-size:15px;font-weight:700}
.deposit-preset:hover{background:rgba(0,120,210,.35);color:#fff}
.deposit-preset.selected{background:#0078d2;color:#fff}
.graphic-wrap{display:flex;flex-direction:column;gap:10px}
.graphic-toolbar{display:flex;align-items:center;justify-content:space-between}
.graphic-legend{display:flex;align-items:center;gap:14px;font-size:13px;color:rgba(255,255,255,.58)}
.graphic-legend .ws-sq{margin-right:4px}
.pc-map{position:relative;background:rgba(255,255,255,.02);border:1px solid rgba(246,251,253,.08);border-radius:18px;overflow:auto;min-height:620px;width:100%;user-select:none;cursor:default}
.pc-map-inner{position:relative;min-width:1100px;min-height:620px}
.pc-tile{position:absolute;width:82px;height:auto;border-radius:10px;border:2px solid transparent;background:transparent;padding:6px 6px 5px;cursor:pointer;transition:border-color .15s,background .15s;display:flex;flex-direction:column;align-items:center;gap:2px}
.pc-tile:hover{background:rgba(255,255,255,.07);z-index:5}
.pc-tile.tile-active{background:rgba(255,209,0,.09)}
.pc-tile.tile-online{background:rgba(57,240,120,.07)}
.pc-tile.tile-offline{opacity:.45}
.pc-tile.tile-admin{background:rgba(255,77,77,.09)}
.pc-tile.tile-selected{border-color:#0078d2!important;background:rgba(0,120,210,.18)!important;box-shadow:0 0 0 2px rgba(0,120,210,.35);opacity:1!important}
.pc-tile.tile-dragging{opacity:.7;cursor:grabbing;z-index:100;box-shadow:0 12px 36px rgba(0,0,0,.5)}
/* Верхняя строка: номер + значки */
.tile-top{display:flex;justify-content:space-between;align-items:center;width:100%;margin-bottom:0}
.tile-num{font-size:14px;font-weight:800;line-height:1;color:rgba(255,255,255,.9)}
.tile-badges{display:flex;gap:3px;align-items:center}
.tile-badge{font-size:13px;line-height:1;filter:drop-shadow(0 0 3px rgba(0,0,0,.5))}
/* Иконка монитора (SVG) */
.tile-pc-icon{display:flex;align-items:center;justify-content:center;margin:2px 0}
.tile-pc-icon svg{width:26px;height:26px;stroke:rgba(255,255,255,.35);fill:none;transition:stroke .15s}
.tile-active .tile-pc-icon svg{stroke:#ffd100;filter:drop-shadow(0 0 6px rgba(255,209,0,.45))}
.tile-online .tile-pc-icon svg{stroke:#39f078;filter:drop-shadow(0 0 6px rgba(57,240,120,.4))}
.tile-admin .tile-pc-icon svg{stroke:#ff4d4d;filter:drop-shadow(0 0 6px rgba(255,77,77,.45))}
/* Нижняя строка: имя + пользователь */
.tile-bottom{margin-top:1px;width:100%;text-align:center}
.tile-name{font-size:9px;color:rgba(255,255,255,.4);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tile-user{font-size:10px;color:#77d9ff;font-weight:700;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tile-free{font-size:9px;color:rgba(255,255,255,.25)}
.tile-offline-lbl{font-size:10px;color:rgba(255,255,255,.2)}
.select-rect{position:absolute;pointer-events:none;border:1px solid rgba(0,120,210,.75);background:rgba(0,120,210,.14);border-radius:3px;display:none;z-index:50}
.pc-ctx-menu{position:fixed;z-index:9999;background:#141b22;border:1px solid rgba(246,251,253,.16);border-radius:14px;padding:6px;min-width:195px;box-shadow:0 24px 64px rgba(0,0,0,.72);opacity:0;transition:opacity .07s}
.ctx-item{width:100%;height:34px;text-align:left;background:transparent;border-radius:7px;padding:0 13px;font-size:14px;font-weight:600;color:rgba(255,255,255,.82)}
.ctx-item:hover:not(:disabled){background:rgba(255,255,255,.09);color:#fff}
.ctx-item:disabled{opacity:.33;cursor:default}
.ctx-sep{height:1px;background:rgba(246,251,253,.09);margin:5px 6px}
.pc-tooltip{position:fixed;z-index:9998;background:#111820;border:1px solid rgba(246,251,253,.16);border-radius:12px;padding:12px 15px;min-width:215px;max-width:290px;box-shadow:0 16px 48px rgba(0,0,0,.68);pointer-events:none;font-size:13px}
.tt-title{font-size:14px;font-weight:800;margin-bottom:9px;padding-bottom:7px;border-bottom:1px solid rgba(246,251,253,.09)}
.tt-row{display:flex;justify-content:space-between;gap:16px;padding:2px 0}
.tt-label{color:rgba(255,255,255,.46);font-weight:700;flex-shrink:0}
.tt-free{color:rgba(255,255,255,.48);font-style:italic}
.tt-warn{color:#ffcf67}
.tt-loading{color:rgba(255,255,255,.32);font-style:italic}
/* Бронь в обзоре и на тайлах */
.res-badge{display:inline-block;background:rgba(255,170,50,.14);border:1px solid rgba(255,170,50,.35);color:#ffcf67;font-size:11px;font-weight:700;border-radius:6px;padding:2px 7px;white-space:nowrap}
.tile-res{display:none}
/* Тема: Фиол-белый */
body.theme-light-purple{color:#1a0530;background:#f0ebff}
body.theme-light-purple .main{background:radial-gradient(circle at 78% 4%,rgba(124,58,237,.13),transparent 36%),linear-gradient(135deg,#f0ebff,#e4d8ff 52%,#f0ebff);color:#1a0530}
/* Sidebar */
body.theme-light-purple .sidebar{background:rgba(245,240,255,.97);border-color:rgba(124,58,237,.22)}
body.theme-light-purple .brand-subtitle,body.theme-light-purple .muted{color:rgba(26,5,48,.5)}
body.theme-light-purple .nav button{color:#3b1080;background:transparent}
body.theme-light-purple .nav button:hover{background:rgba(124,58,237,.1);color:#7c3aed}
body.theme-light-purple .side-card{background:rgba(255,255,255,.72);border-color:rgba(124,58,237,.18)}
body.theme-light-purple .side-status{color:#7c3aed}
/* Page header */
body.theme-light-purple .page-title{color:#1a0530}
body.theme-light-purple .page-subtitle{color:rgba(26,5,48,.5)}
body.theme-light-purple .operator-badge{background:rgba(124,58,237,.1);border-color:rgba(124,58,237,.22);color:#3b1080}
/* Buttons */
body.theme-light-purple button{background:rgba(124,58,237,.1);color:#3b1080}
body.theme-light-purple button:hover{background:#7c3aed;color:#fff}
body.theme-light-purple button.primary{background:#7c3aed;color:#fff}
body.theme-light-purple button.primary:hover{background:#6d28d9}
body.theme-light-purple button.danger{background:rgba(192,38,38,.1);color:#991b1b}
body.theme-light-purple button.danger:hover{background:#c63838;color:#fff}
/* Accent highlights */
body.theme-light-purple .brand-mark,body.theme-light-purple .nav button.active,body.theme-light-purple .pos-mode-tab.active,body.theme-light-purple .pos-tab.active,body.theme-light-purple .client-tab.active,body.theme-light-purple .choice-chip.selected,body.theme-light-purple .club-tab.active{background:#7c3aed;color:#fff}
body.theme-light-purple .price,body.theme-light-purple .metric-sub,body.theme-light-purple .history-total{color:#7c3aed}
/* Cards / metrics */
body.theme-light-purple .metric,body.theme-light-purple .card,body.theme-light-purple .editor-card{background:rgba(255,255,255,.9);border-color:rgba(124,58,237,.18);color:#1a0530}
body.theme-light-purple .card-sub{color:rgba(26,5,48,.52)}
body.theme-light-purple .hero{background:linear-gradient(135deg,rgba(124,58,237,.12),rgba(255,255,255,.7));border-color:rgba(124,58,237,.2)}
body.theme-light-purple .hero p{color:rgba(26,5,48,.6)}
/* Forms */
body.theme-light-purple input,body.theme-light-purple select,body.theme-light-purple textarea{background:#fff;border-color:rgba(124,58,237,.25);color:#1a0530}
body.theme-light-purple input:focus,body.theme-light-purple select:focus,body.theme-light-purple textarea:focus{border-color:#7c3aed}
body.theme-light-purple .form-field label{color:rgba(26,5,48,.56)}
body.theme-light-purple .readonly-box{background:rgba(124,58,237,.06);border-color:rgba(124,58,237,.22);color:#1a0530}
body.theme-light-purple .notice{background:rgba(124,58,237,.08);border-color:rgba(124,58,237,.28);color:#5b21b6}
body.theme-light-purple .notice.error{background:rgba(192,38,38,.08);border-color:rgba(192,38,38,.28);color:#991b1b}
/* Pills */
body.theme-light-purple .pill{background:rgba(124,58,237,.1);color:#3b1080}
body.theme-light-purple .pill.good{background:rgba(57,169,255,.12);color:#1d4ed8}
body.theme-light-purple .pill.warn{background:rgba(180,120,0,.1);color:#92400e}
body.theme-light-purple .pill.danger{background:rgba(192,38,38,.1);color:#991b1b}
/* Modal */
body.theme-light-purple .modal-backdrop{background:rgba(60,20,100,.32)}
body.theme-light-purple .modal{background:#f8f4ff;border-color:rgba(124,58,237,.22);color:#1a0530;box-shadow:0 24px 90px rgba(124,58,237,.2)}
body.theme-light-purple .modal h2{color:#1a0530}
body.theme-light-purple .modal p{color:rgba(26,5,48,.55)}
/* Toast */
body.theme-light-purple .toast:not(:empty){background:rgba(248,244,255,.97);border-color:rgba(124,58,237,.4);color:#5b21b6;box-shadow:0 18px 60px rgba(124,58,237,.2)}
body.theme-light-purple .toast.error:not(:empty){background:rgba(255,245,245,.97);color:#991b1b;border-color:rgba(192,38,38,.36)}
/* POS tabs */
body.theme-light-purple .pos-mode-tab,body.theme-light-purple .pos-tab{background:rgba(124,58,237,.09);color:#3b1080}
body.theme-light-purple .pos-tab:disabled:hover{background:rgba(124,58,237,.09)}
/* POS terminal / layout */
body.theme-light-purple .pos-terminal{background:rgba(255,255,255,.7);border-color:rgba(124,58,237,.22)}
body.theme-light-purple .pos-shiftbar{background:rgba(124,58,237,.06);border-color:rgba(124,58,237,.16)}
/* History */
body.theme-light-purple .history-panel{background:rgba(255,255,255,.72);border-color:rgba(124,58,237,.22)}
body.theme-light-purple .history-summary,body.theme-light-purple .history-pages{color:rgba(26,5,48,.65)}
body.theme-light-purple .history-invoice{background:rgba(255,255,255,.7);border-color:rgba(124,58,237,.14)}
body.theme-light-purple .history-invoice-head small,body.theme-light-purple .history-lines small{color:rgba(26,5,48,.5)}
body.theme-light-purple .history-lines>div{border-top-color:rgba(124,58,237,.1)}
body.theme-light-purple .history-total.voided{color:#c63838}
/* Client / search */
body.theme-light-purple .client-tab{background:rgba(124,58,237,.09);color:#3b1080}
body.theme-light-purple .client-main-search,body.theme-light-purple .client-filter-panel{border-color:rgba(124,58,237,.22);background:rgba(255,255,255,.7)}
body.theme-light-purple .client-row,body.theme-light-purple .mini-card{background:rgba(255,255,255,.6);border-color:rgba(124,58,237,.14)}
body.theme-light-purple .selected-account-card{background:rgba(124,58,237,.08);border-color:rgba(124,58,237,.28)}
body.theme-light-purple .selected-account-card b{color:#7c3aed}
/* Reservations */
body.theme-light-purple .reservation-panel,body.theme-light-purple .host-reservation-card{background:rgba(255,255,255,.72);border-color:rgba(124,58,237,.18)}
body.theme-light-purple .reservation-next{background:rgba(124,58,237,.07);border-color:rgba(124,58,237,.25)}
body.theme-light-purple .reservation-time span,body.theme-light-purple .reservation-next span{color:rgba(26,5,48,.5)}
/* Club map */
body.theme-light-purple .club-map-tab-bar{border-color:rgba(124,58,237,.22)}
body.theme-light-purple .club-tab{color:rgba(26,5,48,.5)}
body.theme-light-purple .club-tab:hover{background:rgba(124,58,237,.1);color:#3b1080}
body.theme-light-purple .club-tab.active{background:rgba(255,255,255,.82);border-color:rgba(124,58,237,.25);color:#3b1080;border-bottom-color:transparent}
/* Overview table */
body.theme-light-purple .overview-wrap{background:rgba(255,255,255,.7)}
body.theme-light-purple .overview-table thead th{background:#ede5ff !important;color:rgba(26,5,48,.55);border-bottom-color:rgba(124,58,237,.2)}
body.theme-light-purple .overview-table td{border-bottom-color:rgba(124,58,237,.1);color:#1a0530}
body.theme-light-purple .overview-row:hover td{background:rgba(124,58,237,.05)}
body.theme-light-purple .overview-row.row-active td{background:rgba(57,200,100,.06)}
body.theme-light-purple .mono{color:rgba(26,5,48,.7)}
body.theme-light-purple .deposit-preset{background:rgba(124,58,237,.1);color:#3b1080}
body.theme-light-purple .deposit-preset:hover{background:rgba(124,58,237,.25);color:#fff}
body.theme-light-purple .deposit-preset.selected{background:#7c3aed;color:#fff}
body.theme-light-purple .overview-topup-btn{background:rgba(16,100,40,.1);color:#166534}
body.theme-light-purple .ws-num{color:#1a0530}
/* Graphic map background */
body.theme-light-purple .pc-map{background:rgba(124,58,237,.05);border-color:rgba(124,58,237,.22)}
/* PC tiles — явные цвета чтобы не зависеть от наследования */
body.theme-light-purple .pc-tile{background:transparent;border-color:transparent;color:#1a0530}
body.theme-light-purple .pc-tile:hover{background:rgba(124,58,237,.08)}
body.theme-light-purple .pc-tile.tile-active{background:rgba(234,179,8,.1)}
body.theme-light-purple .pc-tile.tile-online{background:rgba(34,197,94,.09)}
body.theme-light-purple .pc-tile.tile-offline{opacity:.5}
body.theme-light-purple .pc-tile.tile-admin{background:rgba(220,38,38,.09)}
body.theme-light-purple .pc-tile.tile-selected{border-color:#7c3aed!important;background:rgba(124,58,237,.15)!important;box-shadow:0 0 0 2px rgba(124,58,237,.3);opacity:1!important}
/* Tile text — явные цвета */
body.theme-light-purple .tile-num{color:#1a0530 !important}
body.theme-light-purple .tile-name{color:rgba(26,5,48,.55) !important}
body.theme-light-purple .tile-user{color:#7c3aed !important;font-weight:700}
body.theme-light-purple .tile-free{color:rgba(26,5,48,.38) !important}
body.theme-light-purple .tile-pc-icon svg{stroke:rgba(26,5,48,.22)}
body.theme-light-purple .tile-active .tile-pc-icon svg{stroke:#ca8a04}
body.theme-light-purple .tile-online .tile-pc-icon svg{stroke:#16a34a}
body.theme-light-purple .tile-admin .tile-pc-icon svg{stroke:#dc2626}
body.theme-light-purple .graphic-legend{color:rgba(26,5,48,.6)}
body.theme-light-purple .graphic-legend .ws-sq-online{background:#22c55e}
body.theme-light-purple .graphic-legend .ws-sq-offline{background:#cbd5e1}
/* Context menu */
body.theme-light-purple .pc-ctx-menu{background:#fff;border-color:rgba(124,58,237,.25);box-shadow:0 24px 64px rgba(124,58,237,.25);color:#1a0530}
body.theme-light-purple .ctx-item{color:#3b1080}
body.theme-light-purple .ctx-item:hover:not(:disabled){background:rgba(124,58,237,.1)}
body.theme-light-purple .ctx-sep{background:rgba(124,58,237,.14)}
/* Tooltip */
body.theme-light-purple .pc-tooltip{background:#fff;border-color:rgba(124,58,237,.25);color:#1a0530;box-shadow:0 16px 48px rgba(124,58,237,.2)}
body.theme-light-purple .tt-title{color:#1a0530;border-bottom-color:rgba(124,58,237,.15)}
body.theme-light-purple .tt-label{color:rgba(26,5,48,.5)}
body.theme-light-purple .tt-free,body.theme-light-purple .tt-loading{color:rgba(26,5,48,.42)}
body.theme-light-purple .tt-warn{color:#b45309}
/* ---- Лог действий ---- */
.audit-filters{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.audit-filters input[type=date]{width:140px}
.audit-filters select{width:180px}
.audit-table-wrap{padding:0;overflow:hidden}
.audit-table{width:100%;border-collapse:collapse;font-size:13px}
.audit-table thead th{position:sticky;top:0;z-index:1;padding:10px 14px;text-align:left;color:rgba(255,255,255,.42);font-size:11px;font-weight:700;letter-spacing:.5px;background:#0d1318;border-bottom:1px solid rgba(246,251,253,.1);white-space:nowrap}
.audit-table td{padding:9px 14px;border-bottom:1px solid rgba(246,251,253,.05);vertical-align:middle}
.audit-row:hover td{background:rgba(255,255,255,.03)}
.audit-dt{white-space:nowrap;min-width:130px}
.audit-date{display:block;font-weight:700;font-size:13px}
.audit-time{display:block;font-size:11px;color:rgba(255,255,255,.4)}
.audit-op{font-weight:700;color:#77d9ff;white-space:nowrap}
.audit-action-cell{white-space:nowrap;font-weight:700}
.audit-entity{font-weight:400;color:rgba(255,255,255,.5);margin-left:4px;font-size:12px}
.audit-details{color:rgba(255,255,255,.62);font-size:12px;max-width:340px}
.audit-action-money{color:#39f078}
.audit-action-start{color:#77d9ff}
.audit-action-stop{color:rgba(255,255,255,.5)}
.audit-action-open{color:#39f078}
.audit-action-close{color:#ff7474}
.audit-action-security{color:#a78bfa}
.audit-action-danger{color:#ff7474}
.audit-row-security td{background:rgba(167,139,250,.04)}
.audit-row-danger td{background:rgba(255,80,80,.06)}
.audit-row-danger:hover td{background:rgba(255,80,80,.1)!important}
.audit-ip{font-size:11px;color:rgba(255,255,255,.38);font-family:monospace;white-space:nowrap}
.ip-list{display:flex;flex-direction:column;gap:5px;margin:4px 0}
.ip-list-item{display:flex;align-items:center;gap:10px;padding:7px 12px;background:rgba(255,255,255,.04);border-radius:6px}
.ip-list-item .ip-mono{flex:1;font-family:monospace;font-size:13px;color:rgba(255,255,255,.85)}
.ip-list-item .ip-remove-btn{opacity:.5;font-size:13px;padding:2px 6px}
.ip-list-item .ip-remove-btn:hover{opacity:1;color:#ff7474}
/* light-purple audit */
body.theme-light-purple .audit-table thead th{background:#ede5ff!important;color:rgba(26,5,48,.5);border-bottom-color:rgba(124,58,237,.2)}
body.theme-light-purple .audit-table td{border-bottom-color:rgba(124,58,237,.08);color:#1a0530}
body.theme-light-purple .audit-row:hover td{background:rgba(124,58,237,.04)}
body.theme-light-purple .audit-op{color:#7c3aed}
body.theme-light-purple .audit-entity{color:rgba(26,5,48,.4)}
body.theme-light-purple .audit-details{color:rgba(26,5,48,.6)}
body.theme-light-purple .audit-action-money{color:#166534}
body.theme-light-purple .audit-action-start{color:#1d4ed8}
body.theme-light-purple .audit-action-close{color:#b91c1c}
/* Scrollbar */
body.theme-light-purple{scrollbar-color:rgba(124,58,237,.28) transparent}
body.theme-light-purple ::-webkit-scrollbar-thumb{background:rgba(124,58,237,.28)}
body.theme-light-purple ::-webkit-scrollbar-thumb:hover{background:rgba(124,58,237,.48)}
@media(max-width:1180px){body{grid-template-columns:230px 1fr}.metric-grid{grid-template-columns:repeat(2,1fr)}.form-grid{grid-template-columns:1fr}.tariff-rule{grid-template-columns:1fr 1fr}.search{width:210px}}
@media(max-width:1180px){.pos-layout,.pos-terminal,.reservation-layout{grid-template-columns:1fr}.pos-shiftbar,.pos-shift-controls{align-items:stretch;flex-direction:column}.pos-shift-controls .form-field{width:100%}.client-row,.mini-card,.reservation-card,.filter-grid,.advanced-search{grid-template-columns:1fr}.topbar{align-items:flex-start}.top-actions{flex-wrap:wrap;justify-content:flex-end}.client-search-wrap,.reservation-filters{flex-direction:column;align-items:stretch}.reservation-filters .form-field{width:100%}}

/* ?????? ???????? */
.import-section h2{margin-bottom:4px}
.import-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:24px 28px;max-width:680px;margin-bottom:20px}
.import-format-note{font-size:12px;color:rgba(255,255,255,.45);line-height:1.7;margin-bottom:20px;padding:10px 14px;background:rgba(255,255,255,.03);border-radius:8px}
.import-form{display:flex;flex-direction:column;gap:14px}
.import-file-label{cursor:pointer;display:block;padding:14px 18px;border:2px dashed rgba(255,255,255,.18);border-radius:10px;color:rgba(255,255,255,.6);font-size:14px;text-align:center;transition:border-color .2s,background .2s}
.import-file-label:hover{border-color:rgba(79,163,232,.6);background:rgba(79,163,232,.06);color:#fff}
.import-options{display:flex;flex-direction:column;gap:10px}
.import-checkbox{display:flex;align-items:center;gap:8px;font-size:13px;color:rgba(255,255,255,.72);cursor:pointer}
.import-checkbox input{width:16px;height:16px;cursor:pointer;accent-color:#4fa3e8}
.import-label-row{display:flex;align-items:center;gap:10px;font-size:13px;color:rgba(255,255,255,.72)}
.import-label-input{flex:1;max-width:260px;padding:6px 10px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:rgba(255,255,255,.06);color:#fff;font-size:13px}
.import-btn{align-self:flex-start;min-width:160px}
.import-result{max-width:680px}
.import-ok{display:flex;flex-wrap:wrap;gap:12px;padding:16px 18px;background:rgba(57,240,120,.07);border:1px solid rgba(57,240,120,.22);border-radius:10px;margin-bottom:10px}
.import-stat{font-size:14px}
.import-stat.ok{color:#39f078}
.import-stat.skip{color:rgba(255,255,255,.55)}
.import-stat.err{color:#ffb347}
.import-error{padding:14px 18px;background:rgba(255,80,80,.1);border:1px solid rgba(255,80,80,.3);border-radius:10px;color:#ff7474;font-size:14px}
.import-err-details{margin-top:4px;font-size:13px;color:rgba(255,255,255,.55)}
.import-err-details summary{cursor:pointer;padding:6px 0;color:rgba(255,179,71,.9)}
.import-err-details ul{margin:6px 0 0 16px;line-height:1.8}
/* ── Касса Необычный (posadv) ──────────────────────────────────── */
.posadv-root{display:grid;grid-template-columns:1fr 1fr;height:100%;overflow:hidden;background:#0a0d11}
.posadv-left{display:flex;flex-direction:column;background:#111820;border-right:1px solid rgba(255,255,255,.07);overflow:hidden}
.posadv-right{display:flex;flex-direction:column;overflow:hidden}
/* Header */
.posadv-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0}
.posadv-brand{font-size:15px;font-weight:700;color:#fff}.posadv-brand span{color:rgba(255,255,255,.55);font-weight:400}
.posadv-close-session{background:#c63838;color:#fff;border:none;border-radius:8px;height:32px;padding:0 14px;font-size:12px;font-weight:600;cursor:pointer}
.posadv-close-session:hover{background:#e04040}
/* Main tabs */
.posadv-main-tabs{display:flex;border-bottom:2px solid rgba(255,255,255,.06);flex-shrink:0;padding:0 4px}
.posadv-main-tab{flex:1;background:transparent;border:none;color:rgba(255,255,255,.4);font-size:12px;font-weight:600;cursor:pointer;height:38px;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .15s}
.posadv-main-tab.active{color:#fff;border-bottom-color:#0078d2}
.posadv-main-tab:hover:not(.active){color:rgba(255,255,255,.7)}
/* Left body */
.posadv-left-body{display:flex;flex-direction:column;flex:1;overflow:hidden}
/* Amount */
.posadv-amount-row{display:flex;align-items:center;gap:0;padding:10px 10px 0;flex-shrink:0}
.posadv-amount-icon{width:36px;height:42px;display:flex;align-items:center;justify-content:center;background:#1c2530;border:1px solid rgba(255,255,255,.1);border-right:none;border-radius:10px 0 0 10px;color:rgba(255,255,255,.4);font-size:16px;flex-shrink:0}
.posadv-amount-input{flex:1;background:#1c2530;border:1px solid rgba(255,255,255,.1);border-left:none;border-radius:0 10px 10px 0;height:42px;color:#fff;font-size:14px;text-align:center;letter-spacing:.05em;padding:0 8px;outline:none}
.posadv-amount-input::placeholder{color:rgba(255,255,255,.2);letter-spacing:.1em;font-size:12px}
.posadv-amount-input:focus{border-color:rgba(0,120,210,.6)}
.posadv-enter-btn{width:42px;height:42px;background:#0078d2;border:1px solid #0078d2;border-radius:0 10px 10px 0;color:#fff;font-size:18px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center}
.posadv-enter-btn:hover{background:#0091ff}
/* Sub-tabs */
.posadv-sub-tabs{display:flex;gap:4px;padding:8px 10px 4px;flex-shrink:0}
.posadv-sub-tab{flex:1;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:8px;color:rgba(255,255,255,.45);font-size:11px;font-weight:600;cursor:pointer;height:32px;display:flex;align-items:center;justify-content:center;gap:4px;transition:all .15s}
.posadv-sub-tab.active{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);color:#fff}
.posadv-sub-tab:hover:not(.active){background:rgba(255,255,255,.07);color:rgba(255,255,255,.7)}
.posadv-sub-icon{font-size:12px}
/* Receipt panel */
.posadv-receipt-panel{flex:1;padding:10px;display:flex;flex-direction:column;gap:8px;overflow-y:auto}
.posadv-rp-row{display:flex;justify-content:space-between;align-items:center;font-size:13px;padding:4px 0}
.posadv-rp-val{font-weight:700;color:#fff;font-size:14px;letter-spacing:.04em}
.posadv-rp-divider{border:none;border-top:1px dashed rgba(255,255,255,.15);margin:4px 0}
.posadv-select{width:100%;background:#1c2530;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;height:38px;padding:0 10px;font-size:13px;outline:none}
.posadv-textarea{width:100%;background:#1c2530;border:1px solid rgba(255,255,255,.1);border-radius:8px;color:#fff;padding:8px 10px;font-size:13px;resize:none;height:64px;outline:none;font-family:inherit}
.posadv-textarea::placeholder{color:rgba(255,255,255,.2)}
.posadv-rp-buttons{display:flex;gap:8px;margin-top:4px}
.posadv-btn-pay{flex:1;background:#0078d2;border:none;border-radius:10px;color:#fff;font-size:13px;font-weight:700;height:42px;cursor:pointer}
.posadv-btn-pay:hover:not(:disabled){background:#0091ff}
.posadv-btn-pay:disabled{opacity:.4;cursor:not-allowed}
.posadv-btn-clear{width:42px;height:42px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:10px;color:rgba(255,255,255,.6);font-size:18px;cursor:pointer}
.posadv-btn-clear:hover{background:rgba(255,255,255,.12)}
/* Sub panels */
.posadv-sub-panel{flex:1;padding:10px;overflow-y:auto}
.posadv-user-search-row{display:flex;align-items:center;gap:0;margin-bottom:8px}
.posadv-user-icon{width:36px;height:42px;display:flex;align-items:center;justify-content:center;background:#1c2530;border:1px solid rgba(255,255,255,.1);border-right:none;border-radius:10px 0 0 10px;font-size:16px}
.posadv-user-input{flex:1;background:#1c2530;border:1px solid rgba(255,255,255,.1);border-left:none;height:42px;color:#fff;font-size:13px;padding:0 8px;outline:none;border-radius:0 10px 10px 0}
.posadv-user-input:focus{border-color:rgba(0,120,210,.6)}
.posadv-user-results{display:flex;flex-direction:column;gap:4px;margin-bottom:8px}
.posadv-user-result{display:flex;align-items:center;gap:8px;padding:8px 10px;background:rgba(255,255,255,.04);border-radius:8px;cursor:pointer;font-size:12px}
.posadv-user-result:hover{background:rgba(255,255,255,.09)}
.posadv-user-result b{color:#fff;flex:1}
.posadv-user-result span{color:rgba(255,255,255,.45)}
.posadv-user-balance{color:#4caf7d!important;font-weight:700}
/* Selected user card */
.posadv-user-selected{display:flex;align-items:center;gap:10px;padding:10px 12px;background:rgba(0,120,210,.12);border:1px solid rgba(0,120,210,.3);border-radius:10px;margin-bottom:4px}
.posadv-user-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}
.posadv-user-info b{font-size:14px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.posadv-user-info span{font-size:12px;color:rgba(255,255,255,.5);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.posadv-user-info .posadv-user-balance{font-size:13px}
.posadv-user-card{padding:10px;background:rgba(0,120,210,.15);border:1px solid rgba(0,120,210,.35);border-radius:8px;font-size:13px;display:flex;gap:12px;align-items:center}
.posadv-no-results{color:rgba(255,255,255,.3);font-size:12px;padding:8px}
/* Right panel */
.posadv-cashiers{display:flex;align-items:center;gap:4px;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0;background:#0e1520}
.posadv-cashier-tab{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:6px;color:#fff;font-size:12px;font-weight:600;height:28px;padding:0 14px;cursor:pointer}
.posadv-cashier-tab.active{background:#0078d2;border-color:#0078d2}
.posadv-cashier-add{width:28px;height:28px;background:transparent;border:1px solid rgba(255,255,255,.2);border-radius:6px;color:rgba(255,255,255,.4);font-size:16px;cursor:pointer;padding:0;display:flex;align-items:center;justify-content:center}
.posadv-right-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0;background:#0e1520}
.posadv-right-bar-left{display:flex;align-items:center;gap:6px}
.posadv-zreport-btn{background:#c63838;border:none;border-radius:8px;color:#fff;font-size:12px;font-weight:700;height:32px;padding:0 14px;cursor:pointer}
.posadv-zreport-btn:hover{background:#e04040}
.posadv-revenue{font-size:13px;color:rgba(255,255,255,.6)} .posadv-revenue b{color:#fff;font-size:15px}
/* Transactions table */
.posadv-tx-wrap{flex:1;overflow-y:auto}
.posadv-tx-table{width:100%;border-collapse:collapse;font-size:12px}
.posadv-tx-table th{text-align:left;padding:8px 10px;color:rgba(255,255,255,.35);font-weight:600;border-bottom:1px solid rgba(255,255,255,.07);position:sticky;top:0;background:#0a0d11;z-index:1}
.posadv-tx-table td{padding:8px 10px;border-bottom:1px solid rgba(255,255,255,.04);vertical-align:middle}
.posadv-tx-table tr:hover td{background:rgba(255,255,255,.03)}
.posadv-tx-time{color:rgba(255,255,255,.45);font-size:11px;white-space:nowrap}
.posadv-tx-num{font-weight:700;color:rgba(255,255,255,.8);white-space:nowrap}
.posadv-receipt-icon{font-size:10px}
.posadv-tx-login{color:rgba(255,255,255,.7)} .posadv-tx-login small{color:rgba(255,255,255,.35);font-size:10px}
.posadv-status-badge{display:inline-block;background:rgba(76,175,80,.15);border:1px solid rgba(76,175,80,.3);color:#4caf7d;border-radius:6px;padding:2px 7px;font-size:10px;font-weight:600;white-space:nowrap}
.posadv-tx-desc{color:rgba(255,255,255,.55);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.posadv-tx-amount{text-align:right;white-space:nowrap}
.posadv-tx-plus{color:#fff;font-weight:700;font-size:13px}
.posadv-voided{color:rgba(255,255,255,.3);text-decoration:line-through}
.posadv-tx-actions{text-align:right;white-space:nowrap}
.posadv-void-btn{color:rgba(255,120,120,.7)!important}
/* Full-width action button */
.posadv-full-btn{display:block;width:calc(100% - 20px);margin:8px 10px 0;background:#0078d2;border:none;border-radius:10px;color:#fff;font-size:14px;font-weight:700;height:44px;cursor:pointer;letter-spacing:.03em}
.posadv-full-btn:hover:not(:disabled){background:#0091ff}
.posadv-full-btn:disabled{opacity:.4;cursor:not-allowed}
/* Payment method toggle */
.posadv-pay-methods{display:flex;gap:6px;padding:8px 10px 0;flex-shrink:0;flex-wrap:wrap}
.posadv-pay-method-btn{flex:1;height:36px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:8px;color:rgba(255,255,255,.55);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}
.posadv-pay-method-btn:hover:not(.active){background:rgba(255,255,255,.1);color:#fff}
.posadv-pay-method-btn.active{background:rgba(0,120,210,.85);border-color:#0091ff;color:#fff}
/* History tabs (right panel) */
.posadv-hist-tabs{display:flex;gap:0;border-bottom:1px solid rgba(255,255,255,.07);flex-shrink:0;background:#0e1520}
.posadv-hist-tab{flex:1;background:transparent;border:none;border-bottom:2px solid transparent;color:rgba(255,255,255,.4);font-size:12px;font-weight:600;height:34px;cursor:pointer;transition:all .15s}
.posadv-hist-tab.active{color:#fff;border-bottom-color:#0078d2}
.posadv-hist-tab:hover:not(.active){color:rgba(255,255,255,.7)}
.posadv-hist-row:hover td{background:rgba(255,255,255,.04)!important}
/* Shop panel & grid */
.posadv-shop-panel{display:flex;flex-direction:column;flex:1;overflow:hidden;padding:0}
.posadv-shop-groups{flex:1;overflow-y:auto;padding:8px 10px;display:flex;flex-direction:column;gap:12px}
.posadv-shop-category{}
.posadv-shop-cat-title{font-size:11px;font-weight:700;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.08em;padding:2px 0 6px;border-bottom:1px solid rgba(255,255,255,.06);margin-bottom:6px}
.posadv-shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(90px,1fr));gap:7px}
.posadv-shop-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:8px 6px 7px;display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;transition:all .15s;overflow:hidden;text-align:center}
.posadv-shop-item:hover{background:rgba(255,255,255,.11);border-color:rgba(255,255,255,.2);transform:translateY(-1px)}
.posadv-shop-item:active{transform:translateY(0)}
.posadv-shop-img{width:56px;height:56px;object-fit:cover;border-radius:7px;flex-shrink:0}
.posadv-shop-img-placeholder{width:56px;height:56px;background:rgba(255,255,255,.06);border-radius:7px;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0}
.posadv-shop-name{font-size:11px;font-weight:600;color:#fff;word-break:break-word;line-height:1.3;width:100%}
.posadv-shop-price{font-size:12px;font-weight:700;color:#39a9ff}
/* Cart */
.posadv-cart{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:10px 12px;flex-shrink:0}
.posadv-cart-row{display:flex;align-items:center;gap:8px;padding:3px 0;font-size:12px;color:rgba(255,255,255,.8)}
.posadv-cart-row span:first-child{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.posadv-cart-qty{color:rgba(255,255,255,.5);font-size:11px}
.posadv-cart-price{white-space:nowrap;font-weight:700;color:#fff}
.posadv-cart-rm{color:rgba(255,100,100,.7)!important;font-size:12px!important;width:20px!important;height:20px!important;padding:0!important}
.posadv-cart-total{display:flex;align-items:center;justify-content:space-between;padding:6px 0 2px;border-top:1px solid rgba(255,255,255,.08);margin-top:4px;font-size:13px;color:rgba(255,255,255,.7)}
.posadv-cart-total b{color:#fff;font-size:15px}
/* Z-report */
.posadv-zreport{padding:4px 0}
.posadv-zreport-title{font-size:16px;font-weight:700;color:#fff;margin-bottom:4px}
.posadv-zreport-date{font-size:12px;color:rgba(255,255,255,.4);margin-bottom:12px}
.posadv-zreport-table{width:100%;border-collapse:collapse;font-size:13px}
.posadv-zreport-table td{padding:7px 0;border-bottom:1px solid rgba(255,255,255,.06);color:rgba(255,255,255,.8)}
.posadv-zreport-table td:last-child{text-align:right;font-weight:600;color:#fff}
.posadv-zreport-total td{color:#fff!important;font-size:14px;font-weight:700;border-bottom:none;padding-top:10px}
/* Product/Package image upload in modal */
.prod-img-row{display:flex;align-items:flex-start;gap:14px;margin-top:6px}
.prod-img-preview{width:90px;height:90px;object-fit:cover;border-radius:12px;border:1px solid rgba(255,255,255,.12);flex-shrink:0;background:rgba(255,255,255,.05)}
.prod-img-actions{display:flex;flex-direction:column;gap:8px;justify-content:center;flex:1}
.prod-img-actions .icon-btn{height:38px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);border-radius:9px;color:#fff;font-size:13px;font-weight:600;padding:0 14px;cursor:pointer;width:100%;text-align:left}
.prod-img-actions .icon-btn:hover{background:rgba(255,255,255,.13)}
.prod-img-actions .danger{height:38px;border-radius:9px;font-size:13px;font-weight:600;width:100%}
/* ── Администрирование ─────────────────────────────────────────── */
.admin-block{padding:22px 24px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.08);border-radius:14px}
.admin-block-title{margin:0 0 10px;font-size:15px;font-weight:700;color:#e8edf2}
.admin-table{width:100%;border-collapse:collapse;font-size:13px;margin-top:4px}
.admin-table th{text-align:left;padding:6px 10px;color:rgba(255,255,255,.4);font-weight:600;border-bottom:1px solid rgba(255,255,255,.08)}
.admin-table td{padding:7px 10px;border-bottom:1px solid rgba(255,255,255,.05);color:rgba(255,255,255,.8)}
.admin-table tr:last-child td{border-bottom:none}
.danger-btn{background:#402326;color:#ff8f9c;border:1px solid rgba(198,56,56,.35)}
.danger-btn:hover{background:#c63838;color:#fff}
.danger-btn:disabled{opacity:.45;cursor:not-allowed}
.cleanup-grid{display:flex;flex-direction:column;gap:12px}
.cleanup-row{display:flex;align-items:center;gap:10px;font-size:13px;color:rgba(255,255,255,.72)}
.cleanup-row label{min-width:230px}
.cleanup-input{width:72px!important;text-align:center;padding:0 8px!important;height:34px!important;border-radius:8px!important}
/* ── Chat + Operator call widget ──────────────────────────────── */
.mgr-chat-widget{position:fixed;bottom:24px;right:24px;z-index:9000;display:flex;flex-direction:column;align-items:flex-end;gap:8px}
.mgr-chat-fab{position:relative;width:56px;height:56px;border-radius:999px;background:#0078d2;color:#fff;font-size:22px;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 24px rgba(0,120,210,.5);border:none;cursor:pointer;flex-shrink:0}
.mgr-chat-fab:hover{background:#0091ff}
.mgr-chat-badge{position:absolute;top:-4px;right:-4px;background:#d83b3b;color:#fff;font-size:11px;font-weight:700;min-width:20px;height:20px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 4px;border:2px solid #0d1117}
.mgr-chat-panel{width:360px;max-height:520px;background:#0e1a26;border:1px solid rgba(255,255,255,.14);border-radius:18px;box-shadow:0 12px 48px rgba(0,0,0,.7);display:flex;flex-direction:column;overflow:hidden}
.mgr-chat-head{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.09);font-weight:700;font-size:14px;flex-shrink:0}
.mgr-chat-close{background:transparent;border:none;color:rgba(255,255,255,.4);font-size:18px;cursor:pointer;width:28px;height:28px;padding:0;border-radius:6px}
.mgr-chat-close:hover{background:rgba(255,255,255,.08);color:#fff}
.mgr-calls-section{padding:8px 12px;border-bottom:1px solid rgba(255,200,0,.18);background:rgba(255,200,0,.05);flex-shrink:0}
.mgr-calls-title{font-size:12px;font-weight:700;color:#ffc107;margin-bottom:6px}
.mgr-call-item{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px;font-size:13px}
.mgr-chat-messages{flex:1;overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:8px}
.mgr-chat-line{padding:8px 10px;border-radius:10px;font-size:13px;max-width:90%}
.mgr-chat-line.from-client{background:rgba(0,120,210,.18);align-self:flex-start;border:1px solid rgba(0,120,210,.25)}
.mgr-chat-line.from-cashier{background:rgba(76,175,80,.15);align-self:flex-end;border:1px solid rgba(76,175,80,.2)}
.mgr-chat-line-meta{font-size:11px;color:rgba(255,255,255,.4);margin-bottom:3px}
.mgr-chat-line-msg{color:#fff}
.mgr-chat-input-row{padding:10px 12px;border-top:1px solid rgba(255,255,255,.09);flex-shrink:0;display:flex;flex-direction:column;gap:6px}
.mgr-chat-input-row input{flex:1;height:38px;font-size:13px}
.mgr-chat-input-row{display:flex;flex-direction:column}
.mgr-chat-input-row>*:last-child{display:grid;grid-template-columns:1fr auto;gap:6px}
/* Operator call notification */
.mgr-opcall-notif{position:fixed;top:20px;right:20px;z-index:9999;width:320px;background:#0e1a26;border:2px solid #ffc107;border-radius:16px;padding:16px;display:flex;align-items:center;gap:14px;box-shadow:0 8px 32px rgba(0,0,0,.7);opacity:0;transform:translateY(-20px) scale(.96);transition:opacity .3s ease,transform .3s ease;pointer-events:none}
.mgr-opcall-notif.visible{opacity:1;transform:none;pointer-events:auto}
.mgr-opcall-icon{font-size:32px;flex-shrink:0}
.mgr-opcall-title{font-weight:700;font-size:14px;color:#ffc107;margin-bottom:2px}
.mgr-opcall-pc{font-size:13px;color:rgba(255,255,255,.75)}
.mgr-opcall-ok{margin-left:auto;background:#ffc107;color:#000;font-weight:700;font-size:12px;height:34px;padding:0 14px;border-radius:8px;border:none;cursor:pointer;white-space:nowrap;flex-shrink:0}
.mgr-opcall-ok:hover{background:#ffca28}
/* ── Детали депозита (posadv) ──────────────────────────────────── */
.dep-detail-overlay{position:fixed;inset:0;background:rgba(0,0,0,.75);z-index:100000;display:flex;align-items:center;justify-content:center}
.dep-detail-modal{width:360px;max-width:calc(100vw - 32px);background:#0e1a26;border:1px solid rgba(255,255,255,.14);border-radius:16px;box-shadow:0 28px 72px rgba(0,0,0,.75);overflow:hidden}
.dep-detail-head{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid rgba(255,255,255,.08);font-size:15px;font-weight:700;color:#fff}
.dep-detail-head button{background:transparent;border:none;color:rgba(255,255,255,.4);font-size:17px;cursor:pointer;width:28px;height:28px;padding:0;border-radius:6px;flex-shrink:0}
.dep-detail-head button:hover{background:rgba(255,255,255,.08);color:#fff}
.dep-detail-body{padding:16px 18px}
.dep-detail-amount{font-size:32px;font-weight:800;color:#4caf50;margin-bottom:14px;letter-spacing:.02em}
.dep-detail-table{width:100%;border-collapse:collapse;font-size:13px;table-layout:fixed}
.dep-detail-label{width:120px;padding:6px 8px 6px 0;color:rgba(255,255,255,.45);vertical-align:top;white-space:nowrap}
.dep-detail-val{padding:6px 0;color:#fff;font-weight:600;word-break:break-word}
.dep-detail-actions{margin-top:16px;padding-top:14px;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:8px}
.dep-cancel-reason-input{width:100%;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.15);background:#0d1117;color:#fff;padding:0 10px;font-size:13px}
.dep-cancel-btn{width:100%;height:38px;border-radius:10px;background:#e53935;color:#fff;font-size:13px;font-weight:700;border:none;cursor:pointer}
.dep-cancel-btn:hover:not(:disabled){background:#c62828}
.dep-cancel-btn:disabled{opacity:.5;cursor:not-allowed}
.dep-cancel-status{font-size:12px;color:rgba(255,255,255,.5);min-height:16px}
.dep-cancel-status.success{color:#4caf50}
.dep-cancel-status.error{color:#e57373}
.posadv-pkg-cancel-btn{background:#30363a;border:none;color:rgba(255,255,255,.6);height:26px;border-radius:6px;cursor:pointer;font-size:12px;padding:0 8px;white-space:nowrap}
.posadv-pkg-cancel-btn:hover{background:#e53935;color:#fff}
.posadv-pkg-action-cell{white-space:nowrap;text-align:right;padding-right:4px}
.posadv-pkg-status-cell{display:inline-flex;align-items:center;gap:6px}
.posadv-pkg-status-pending{font-size:12px;color:#ffca28;white-space:nowrap}
.posadv-pkg-status-approved{font-size:12px;color:#4caf50;white-space:nowrap}
.posadv-pkg-cancel-req-btn{background:rgba(255,255,255,.1);border:none;color:rgba(255,255,255,.5);width:22px;height:22px;border-radius:5px;cursor:pointer;font-size:13px;padding:0;line-height:1}
.posadv-pkg-cancel-req-btn:hover{background:#e53935;color:#fff}
.dep-cancel-status-banner{padding:8px 12px;border-radius:8px;font-size:13px;font-weight:600;text-align:center}
.dep-cancel-status-banner.pending{background:rgba(255,202,40,.12);color:#ffca28;border:1px solid rgba(255,202,40,.3)}
.dep-cancel-status-banner.approved{background:rgba(76,175,80,.12);color:#4caf50;border:1px solid rgba(76,175,80,.3)}
.dep-cancel-undo-btn{background:rgba(255,255,255,.08)!important;color:rgba(255,255,255,.6)!important}
.dep-cancel-undo-btn:hover{background:rgba(229,57,53,.25)!important;color:#e57373!important}
.dep-cancel-admin-btn{background:rgba(255,152,0,.18)!important;color:#ffb300!important;border:1px solid rgba(255,152,0,.35)!important}
.dep-cancel-admin-btn:hover:not(:disabled){background:rgba(255,152,0,.35)!important;color:#ffe082!important}
/* ── Возврат: ввод суммы + нампад ───────────────────────────────── */
.dep-refund-already{font-size:12px;color:rgba(255,255,255,.5);margin-bottom:8px;padding:6px 10px;background:rgba(255,152,0,.08);border-radius:8px;border:1px solid rgba(255,152,0,.2)}
.dep-refund-amount-row{display:flex;align-items:center;gap:8px;margin-bottom:10px}
.dep-refund-amount-label{font-size:12px;color:rgba(255,255,255,.45);white-space:nowrap}
.dep-refund-amount-input{flex:1;height:34px;border-radius:8px;border:1px solid rgba(255,255,255,.18);background:#0d1117;color:#fff;padding:0 10px;font-size:15px;font-weight:700;text-align:right;min-width:0}
.dep-refund-amount-input:focus{outline:none;border-color:#77d9ff}
.dep-refund-amount-max{font-size:11px;color:rgba(255,255,255,.35);white-space:nowrap}
.dep-refund-numpad{display:grid;grid-template-columns:repeat(4,1fr);gap:5px;margin-bottom:12px}
.dep-refund-numpad button{height:38px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:rgba(255,255,255,.06);color:#fff;font-size:14px;font-weight:600;cursor:pointer;transition:background .15s}
.dep-refund-numpad button:hover{background:rgba(255,255,255,.14)}
.dep-refund-numpad button:active{background:rgba(119,217,255,.25)}
.dep-refund-numpad button[data-refnumpad="back"]{color:#ff8a65}
.dep-refund-numpad button[data-refnumpad="clear"]{color:#ffca28}
.dep-refund-numpad button[data-refnumpad="max"]{grid-column:span 2;background:rgba(76,175,80,.18);border-color:rgba(76,175,80,.35);color:#81c784}
.dep-refund-numpad button[data-refnumpad="max"]:hover{background:rgba(76,175,80,.32)}
/* ── Модальное окно очистки базы ───────────────────────────────── */
.reset-overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:9999;display:flex;align-items:center;justify-content:center}
.reset-modal{width:540px;max-height:88vh;background:#0d1f2d;border:1px solid rgba(255,255,255,.12);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 64px rgba(0,0,0,.6)}
.reset-modal-head{display:flex;align-items:center;justify-content:space-between;padding:18px 22px 14px;border-bottom:1px solid rgba(255,255,255,.09);flex-shrink:0}
.reset-modal-title{font-size:16px;font-weight:700;color:#e8edf2}
.reset-close-btn{background:transparent;border:none;color:rgba(255,255,255,.4);font-size:18px;cursor:pointer;width:28px;height:28px;padding:0;border-radius:6px;line-height:1}
.reset-close-btn:hover{background:rgba(255,255,255,.08);color:#fff}
.reset-modal-body{display:flex;flex-direction:column;overflow:hidden}
.reset-warning{margin:14px 22px 8px;font-size:13px;color:#e07b4a;background:rgba(224,123,74,.08);border:1px solid rgba(224,123,74,.25);border-radius:8px;padding:10px 14px;flex-shrink:0}
.reset-list{overflow-y:auto;padding:0 22px 4px;display:flex;flex-direction:column;gap:6px;flex:1;min-height:0}
.reset-item{display:flex;align-items:flex-start;gap:0;cursor:pointer;border-radius:8px;overflow:hidden;background:#0a3a5c;border:1px solid rgba(255,255,255,.08);transition:border-color .15s}
.reset-item:hover{border-color:rgba(79,163,232,.5)}
.reset-item input[type=checkbox]{display:none}
.reset-item-text{padding:12px 14px;flex:1}
.reset-item-title{font-size:12px;font-weight:700;letter-spacing:.06em;color:#d0e8ff;margin-bottom:3px}
.reset-item-desc{font-size:12px;color:rgba(255,255,255,.52);line-height:1.5}
.reset-item input:checked ~ .reset-item-text{background:rgba(0,120,210,.28)}
.reset-item input:checked ~ .reset-item-text .reset-item-title{color:#fff}
.reset-item-danger .reset-item-title{color:#ffb870}
.reset-item input:checked + .reset-item-text .reset-item-title{color:#fff}
/* Кастомный чекбокс слева */
.reset-item::before{content:"";width:18px;height:18px;border:2px solid rgba(255,255,255,.25);border-radius:4px;margin:13px 0 0 12px;flex-shrink:0;background:rgba(255,255,255,.04);transition:all .15s}
.reset-item:has(input:checked)::before{background:#0078d2;border-color:#0078d2;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 10'%3E%3Cpath d='M1 5l3.5 3.5L11 1' stroke='%23fff' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");background-size:11px 9px;background-repeat:no-repeat;background-position:center}
.reset-footer{display:flex;align-items:center;gap:12px;padding:14px 22px 18px;flex-shrink:0;border-top:1px solid rgba(255,255,255,.07);margin-top:6px}
.reset-cancel-btn{background:transparent;border:1px solid rgba(255,255,255,.15);color:rgba(255,255,255,.6);height:38px;border-radius:10px;padding:0 18px;cursor:pointer;font-size:14px}
.reset-cancel-btn:hover{background:rgba(255,255,255,.07);color:#fff}
/* Экран прогресса */
.reset-progress-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:30px 24px;min-height:260px}
.reset-steps{width:100%;display:flex;flex-direction:column;gap:10px}
.reset-step{display:flex;align-items:center;gap:12px;padding:10px 14px;background:rgba(255,255,255,.04);border-radius:8px;font-size:13px;color:rgba(255,255,255,.8)}
.reset-step-icon{font-size:16px;width:22px;text-align:center;color:rgba(255,255,255,.4)}
.reset-step-icon.spinning{animation:spin .7s linear infinite;color:#4fa3e8}
@keyframes spin{from{transform:rotate(0deg)}to{transform:rotate(360deg)}}
.reset-step-label{flex:1;font-weight:600;font-size:12px;letter-spacing:.04em}
.reset-done{flex-direction:column;align-items:center;justify-content:center;gap:6px}
.reset-done-icon{font-size:48px;color:#4caf7d;line-height:1}
/* ── Purchase / deposit detail lines ────────────────────────────── */
.dep-detail-lines{margin-top:12px;display:flex;flex-direction:column;gap:6px}
.dep-detail-line{display:flex;align-items:center;gap:10px;padding:6px 0;border-top:1px solid rgba(255,255,255,.07);font-size:13px}
.dep-detail-line span{flex:1}
.dep-detail-line small{color:rgba(255,255,255,.4)}
.dep-detail-line b{white-space:nowrap}
/* ── Historia compact table (regular POS) ───────────────────────── */
.pos-hist-voided td{opacity:.45}
.history-list .posadv-tx-table{width:100%}
/* ── Generic modal overlay (cancel request dialogs) ─────────────── */
.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.72);z-index:9998;display:flex;align-items:center;justify-content:center;padding:16px}
.modal-box{background:#0d1f2d;border:1px solid rgba(255,255,255,.12);border-radius:16px;box-shadow:0 24px 64px rgba(0,0,0,.6);width:100%}
.modal-title{font-size:15px;font-weight:700;color:#e8edf2;padding:18px 16px 4px}
.modal-sub{font-size:12px;color:rgba(255,255,255,.45);padding:0 16px 10px}
/* ── POS Advanced deposit cancel badge column ────────────────────── */
.posadv-tx-cancel{width:28px;text-align:center;padding:0 4px}
/* ── Client profile purchases cancel area ────────────────────────── */
.client-cancel-area{width:100%;display:flex;align-items:center;gap:8px;padding:4px 0 2px;flex-wrap:wrap}
.reset-done-text{font-size:16px;font-weight:700;color:#e8edf2}

/* ── Reports redesign ───────────────────────────────────────────── */
.rpt-period-bar{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.rpt-mode-tabs{display:flex;gap:4px}
.rpt-mode-tab{padding:7px 18px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:rgba(255,255,255,.7);cursor:pointer;font-size:13px;font-weight:600;transition:.15s}
.rpt-mode-tab.active,.rpt-mode-tab:hover{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.25)}
.rpt-period-tabs{display:flex;gap:4px;flex-wrap:wrap}
.rpt-period-btn{padding:5px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:transparent;color:rgba(255,255,255,.6);cursor:pointer;font-size:12px;transition:.15s}
.rpt-period-btn.active,.rpt-period-btn:hover{background:rgba(52,152,219,.25);color:#5dade2;border-color:rgba(52,152,219,.4)}
.rpt-range-row{display:flex;align-items:center;gap:8px}
.rpt-range-row input[type=date]{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:8px;padding:5px 10px;color:#e8edf2;font-size:13px}
.rpt-summary-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin-bottom:16px}
.rpt-kpi{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px 18px}
.rpt-kpi-warn{border-color:rgba(239,83,80,.25);background:rgba(239,83,80,.07)}
.rpt-kpi-danger{border-color:rgba(255,152,0,.3);background:rgba(255,152,0,.08)}
.rpt-kpi-danger .rpt-kpi-value{color:#ffb300}
.rpt-kpi-accent{border-color:rgba(52,152,219,.3);background:rgba(52,152,219,.1)}
.rpt-kpi-label{font-size:11px;color:rgba(255,255,255,.45);text-transform:uppercase;letter-spacing:.07em;margin-bottom:4px}
.rpt-kpi-value{font-size:22px;font-weight:700;color:#e8edf2}
.rpt-section{background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:0 0 8px;overflow:hidden;margin-bottom:12px}
.rpt-section-title{font-size:11px;font-weight:700;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.1em;padding:12px 16px 8px;background:rgba(255,255,255,.04);border-bottom:1px solid rgba(255,255,255,.06)}
.rpt-section-group{padding:8px 16px 4px}
.rpt-section-label{font-size:10px;color:rgba(255,255,255,.3);text-transform:uppercase;letter-spacing:.08em;padding:4px 0 6px}
.rpt-rows{display:flex;flex-direction:column;gap:0}
.rpt-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:13px;color:rgba(255,255,255,.75)}
.rpt-row b{font-weight:700;color:#e8edf2;white-space:nowrap}
.rpt-row small{color:rgba(255,255,255,.35);font-size:11px;margin-left:4px}
.rpt-row-total{font-weight:600;color:#fff;border-top:1px solid rgba(255,255,255,.1)}
.rpt-table{width:100%;border-collapse:collapse;font-size:13px}
.rpt-table th{padding:7px 12px;text-align:left;font-size:10px;font-weight:700;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.07em;border-bottom:1px solid rgba(255,255,255,.08)}
.rpt-table td{padding:7px 12px;border-bottom:1px solid rgba(255,255,255,.04);color:rgba(255,255,255,.8)}
.rpt-tfoot td{font-weight:700;color:#e8edf2;border-top:1px solid rgba(255,255,255,.1);border-bottom:none;padding-top:8px}
.rpt-table-compact th,.rpt-table-compact td{padding:5px 8px}

/* ── Report tiles layout ─────────────────────────────────────────── */
.rpt-tile-section-label{font-size:10px;font-weight:700;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px;margin-top:4px}
.rpt-tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;margin-bottom:14px}
.rpt-tile{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:14px 16px;display:flex;flex-direction:column;gap:5px}
.rpt-tile-label{font-size:11px;color:rgba(255,255,255,.4);text-transform:uppercase;letter-spacing:.06em}
.rpt-tile-value{font-size:20px;font-weight:700;color:#e8edf2;letter-spacing:.01em}
.rpt-pay-chips{display:flex;flex-wrap:wrap;gap:7px;margin-bottom:14px}
.rpt-pay-chip{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:20px;padding:5px 13px;font-size:12px;display:flex;align-items:center;gap:7px;color:rgba(255,255,255,.75)}
.rpt-pay-chip small{color:rgba(255,255,255,.35)}
.rpt-pay-chip b{color:#7dd3fc;font-weight:700}
.rpt-two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:4px}
.rpt-card{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:14px 16px}
.rpt-card-title{font-size:10px;font-weight:700;color:rgba(255,255,255,.35);text-transform:uppercase;letter-spacing:.1em;margin-bottom:10px}
.rpt-card-row{display:flex;justify-content:space-between;align-items:center;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.04);font-size:13px;color:rgba(255,255,255,.7)}
.rpt-card-row:last-child{border-bottom:none}
.rpt-card-row b{font-weight:700;color:#e8edf2;white-space:nowrap}
.rpt-card-total{font-weight:600;border-top:1px solid rgba(255,255,255,.1)!important;border-bottom:none!important;margin-top:2px;padding-top:8px!important}
.rpt-chart-wrap{margin-top:14px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.07);border-radius:14px;padding:16px 12px 8px}
.rpt-chart-legend{display:flex;align-items:center;gap:6px;font-size:12px;color:rgba(255,255,255,.55);margin-bottom:14px;flex-wrap:wrap}
.rpt-legend-dot{display:inline-block;width:12px;height:12px;border-radius:3px;vertical-align:middle;flex-shrink:0}

/* ── Blocked tile / workstation states ───────────────────────────── */
.tile-blocked{background:linear-gradient(135deg,rgba(80,80,80,.35),rgba(40,40,40,.5))!important;border-color:rgba(180,180,180,.25)!important}
.ws-sq-blocked{background:#666}

/* ── POS Orders (regular POS) ────────────────────────────────────── */
.pos-order-card{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:12px;padding:12px 14px}
.pos-order-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}
.pos-order-id{font-weight:700;color:#e8edf2;font-size:13px}
.pos-order-status{font-size:12px;font-weight:600;margin-left:auto}
.pos-order-time{font-size:11px;color:rgba(255,255,255,.35)}
.pos-order-meta{display:flex;gap:10px;flex-wrap:wrap;font-size:12px;color:rgba(255,255,255,.55);margin-bottom:4px}
.pos-order-comment{font-size:12px;color:#ffa726;margin-bottom:4px;background:rgba(255,167,38,.08);border-radius:6px;padding:3px 8px}
.pos-order-items{font-size:12px;color:rgba(255,255,255,.7);margin-bottom:6px}
.pos-order-item{display:inline-block;background:rgba(255,255,255,.07);border-radius:5px;padding:2px 7px;margin:2px;font-size:11px}
.pos-order-actions{display:flex;gap:6px;margin-top:4px}
.pos-order-actions .primary{font-size:12px;padding:6px 14px}
.pos-order-actions .danger-btn{font-size:12px;padding:6px 12px}

/* ── POS Advanced orders panel ───────────────────────────────────── */
.posadv-orders-panel{display:flex;flex-direction:column;gap:7px;padding:8px 0;overflow-y:auto}
.posadv-order-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:10px 12px}
.posadv-order-head{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:700;color:#e8edf2;margin-bottom:3px}
.posadv-order-ws{font-size:10px;color:rgba(255,255,255,.4)}
.posadv-order-comment{font-size:11px;color:#ffa726;margin-top:2px}
.posadv-order-items{font-size:11px;color:rgba(255,255,255,.6);margin-top:3px}

/* ── POS Advanced shop tiles ─────────────────────────────────────── */
.posadv-shop-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:8px}
.posadv-shop-item{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:0;display:flex;flex-direction:column;cursor:pointer;transition:all .15s;overflow:hidden;text-align:center;width:auto;height:auto}
.posadv-shop-item:hover{background:rgba(255,255,255,.1);border-color:rgba(255,255,255,.2);transform:translateY(-2px)}
.posadv-shop-item:active{transform:translateY(0)}
/* Квадратная обёртка через padding-top:100% */
.posadv-shop-img-wrap{position:relative;width:100%;padding-top:100%;overflow:hidden;flex-shrink:0;background:rgba(255,255,255,.04)}
.posadv-shop-img{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;object-fit:cover!important;border-radius:0!important}
.posadv-shop-img-placeholder{position:absolute!important;top:0!important;left:0!important;width:100%!important;height:100%!important;display:flex!important;align-items:center;justify-content:center;font-size:44px;background:rgba(255,255,255,.06);border-radius:0!important}
.posadv-shop-info{padding:8px 10px 10px;display:flex;flex-direction:column;gap:3px;flex:1}
.posadv-shop-name{font-size:13px;font-weight:600;color:#fff;word-break:break-word;line-height:1.35;text-align:left}
.posadv-shop-price{font-size:14px;font-weight:700;color:#f87171;text-align:left}

/* ── Guest ticket receipt overlay ────────────────────────────────── */
.receipt-overlay{position:fixed;inset:0;z-index:99990;display:flex;align-items:center;justify-content:center}
.receipt-overlay-bg{position:absolute;inset:0;background:rgba(0,0,0,.82);backdrop-filter:blur(6px)}
.receipt-overlay-box{position:relative;z-index:1;background:#fff;border-radius:18px;padding:0;width:320px;box-shadow:0 32px 80px rgba(0,0,0,.7);overflow:hidden;display:flex;flex-direction:column}
.receipt-overlay-close{position:absolute;top:10px;right:14px;font-size:18px;cursor:pointer;color:#666;z-index:2;line-height:1;padding:4px}
.receipt-overlay-close:hover{color:#000}
.receipt-print-area{padding:28px 24px 16px;color:#111;font-family:'Courier New',monospace;background:#fff}
.receipt-print-brand{font-size:22px;font-weight:900;letter-spacing:4px;text-align:center;margin-bottom:8px;color:#111}
.receipt-print-divider{border:none;border-top:1px dashed #bbb;margin:10px 0}
.receipt-print-label{font-size:11px;text-transform:uppercase;letter-spacing:2px;color:#888;text-align:center;margin-bottom:4px}
.receipt-print-code{font-size:40px;font-weight:900;letter-spacing:6px;text-align:center;color:#111;margin-bottom:4px}
.receipt-print-row{display:flex;justify-content:space-between;align-items:baseline;font-size:13px;margin:4px 0;color:#111}
.receipt-print-row b{font-weight:700;color:#111}
.receipt-print-hint{font-size:11px;text-align:center;color:#999;margin-top:6px}
.receipt-overlay-actions{display:flex;flex-direction:column;gap:8px;padding:12px 20px 20px;background:#fff}
.receipt-print-btn{background:#111;color:#fff;border:none;border-radius:10px;height:46px;font-size:15px;font-weight:700;cursor:pointer;letter-spacing:.03em}
.receipt-print-btn:hover{background:#333}
.receipt-close-btn{background:rgba(0,0,0,.07);color:#444;border:none;border-radius:10px;height:38px;font-size:14px;cursor:pointer}
.receipt-close-btn:hover{background:rgba(0,0,0,.12)}
/* Print: show only receipt, hide everything else */
@media print{
  body>*{display:none!important}
  #receiptOverlay{display:block!important;position:static!important}
  .receipt-overlay-bg,.receipt-overlay-close,.receipt-overlay-actions{display:none!important}
  .receipt-overlay-box{box-shadow:none!important;border-radius:0!important;width:100%!important}
  .receipt-print-area{padding:10px!important}
}
/* Payment method chips in regular POS modals */
.pay-method-chips{display:flex;gap:6px;flex-wrap:wrap}
.pay-method-chip{flex:1;min-width:80px;height:34px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12);border-radius:8px;color:rgba(255,255,255,.55);font-size:12px;font-weight:600;cursor:pointer;transition:all .15s;white-space:nowrap}
.pay-method-chip:hover:not(.active){background:rgba(255,255,255,.1);color:#fff}
.pay-method-chip.active{background:rgba(0,120,210,.85);border-color:#0091ff;color:#fff}

/* ── POS theme coverage fix (light-purple) ───────────────────────────── */
body.theme-light-purple .pos-ticket{background:rgba(255,255,255,.65)!important;border-right-color:rgba(124,58,237,.2)!important}
body.theme-light-purple .pos-catalog{background:rgba(243,239,255,.56)!important}
body.theme-light-purple .pos-ticket #posClientSearch{border-color:rgba(124,58,237,.4)!important;background:#fff!important;color:#1a0530!important}
body.theme-light-purple .pos-client-result{background:rgba(124,58,237,.07)!important;color:#1a0530}
body.theme-light-purple .pos-client-result small{color:rgba(26,5,48,.55)}
body.theme-light-purple .pos-client-summary{background:rgba(255,255,255,.75)!important;border-color:rgba(124,58,237,.18)!important}
body.theme-light-purple .pos-empty-line{border-color:rgba(26,5,48,.18)!important;color:rgba(26,5,48,.45)!important}
body.theme-light-purple .pos-selected-line{background:rgba(124,58,237,.08)!important;border-color:rgba(124,58,237,.25)!important}
body.theme-light-purple .pos-selected-line span{color:rgba(26,5,48,.55)}
body.theme-light-purple .pos-selected-line b{color:#7c3aed}
body.theme-light-purple .pos-total{border-top-color:rgba(26,5,48,.1)!important}
body.theme-light-purple .pos-lines{border-top-color:rgba(26,5,48,.1)!important}
body.theme-light-purple .pos-line-head{color:rgba(26,5,48,.6)!important}
body.theme-light-purple .admin-table{background:rgba(255,255,255,.8)!important}
body.theme-light-purple .admin-table th{background:rgba(124,58,237,.08)!important;color:rgba(26,5,48,.6)!important}
body.theme-light-purple .admin-table td{border-color:rgba(26,5,48,.08)!important;color:#1a0530!important}
body.theme-light-purple .pay-method-chip.active{background:#7c3aed!important;border-color:#6d28d9!important}
body.theme-light-purple .section{color:#1a0530}

/* ── Theme: Неоновый лайм ─────────────────────────────────────────────── */
body.theme-lime .main{background:radial-gradient(circle at 78% 4%,rgba(57,255,20,.16),transparent 34%),linear-gradient(135deg,#030d03,#0a1a08 52%,#030d03)}
body.theme-lime .brand-mark,body.theme-lime button.primary,body.theme-lime .nav button.active,body.theme-lime .pos-mode-tab.active,body.theme-lime .pos-tab.active,body.theme-lime .choice-chip.selected,body.theme-lime .club-tab.active{background:#2ad612}
body.theme-lime .price,body.theme-lime .side-status,body.theme-lime .metric-sub,body.theme-lime .history-total,body.theme-lime .selected-account-card b{color:#39ff14}
body.theme-lime input:focus,body.theme-lime select:focus,body.theme-lime textarea:focus{border-color:#39ff14}
body.theme-lime .pos-terminal,body.theme-lime .history-panel{border-color:rgba(57,255,20,.3)}
body.theme-lime .pos-ticket #posClientSearch{border-color:rgba(57,255,20,.5);box-shadow:0 0 0 1px rgba(57,255,20,.15),0 10px 24px rgba(0,0,0,.2)}
body.theme-lime .pos-mode-tab.active,body.theme-lime .pos-tab.active{box-shadow:0 10px 28px rgba(42,214,18,.3)}
body.theme-lime .pos-selected-line{background:rgba(57,255,20,.08);border-color:rgba(57,255,20,.25)}
body.theme-lime .pos-selected-line b{color:#39ff14}
body.theme-lime .pill.good{background:rgba(57,255,20,.15);color:#39ff14}
body.theme-lime .pay-method-chip.active{background:rgba(42,214,18,.85);border-color:#39ff14}

/* ── Theme: Неоново-фиолетовый ───────────────────────────────────────── */
body.theme-violet .main{background:radial-gradient(circle at 78% 4%,rgba(204,0,255,.18),transparent 34%),linear-gradient(135deg,#0b0012,#1c0030 52%,#0b0012)}
body.theme-violet .brand-mark,body.theme-violet button.primary,body.theme-violet .nav button.active,body.theme-violet .pos-mode-tab.active,body.theme-violet .pos-tab.active,body.theme-violet .choice-chip.selected,body.theme-violet .club-tab.active{background:#a800d4}
body.theme-violet .price,body.theme-violet .side-status,body.theme-violet .metric-sub,body.theme-violet .history-total,body.theme-violet .selected-account-card b{color:#e066ff}
body.theme-violet input:focus,body.theme-violet select:focus,body.theme-violet textarea:focus{border-color:#cc00ff}
body.theme-violet .pos-terminal,body.theme-violet .history-panel{border-color:rgba(204,0,255,.32)}
body.theme-violet .pos-ticket #posClientSearch{border-color:rgba(204,0,255,.55);box-shadow:0 0 0 1px rgba(204,0,255,.18),0 10px 24px rgba(0,0,0,.2)}
body.theme-violet .pos-mode-tab.active,body.theme-violet .pos-tab.active{box-shadow:0 10px 28px rgba(168,0,212,.35)}
body.theme-violet .pos-selected-line{background:rgba(204,0,255,.08);border-color:rgba(204,0,255,.28)}
body.theme-violet .pos-selected-line b{color:#e066ff}
body.theme-violet .pill.good{background:rgba(204,0,255,.15);color:#e066ff}
body.theme-violet .pay-method-chip.active{background:rgba(168,0,212,.85);border-color:#cc00ff}

/* ── Theme: Графит + красный ─────────────────────────────────────────── */
body.theme-red .main{background:radial-gradient(circle at 78% 4%,rgba(229,57,53,.16),transparent 34%),linear-gradient(135deg,#100808,#1c1010 52%,#0d0d0d)}
body.theme-red .brand-mark,body.theme-red button.primary,body.theme-red .nav button.active,body.theme-red .pos-mode-tab.active,body.theme-red .pos-tab.active,body.theme-red .choice-chip.selected,body.theme-red .club-tab.active{background:#c62828}
body.theme-red .price,body.theme-red .side-status,body.theme-red .metric-sub,body.theme-red .history-total,body.theme-red .selected-account-card b{color:#ef5350}
body.theme-red input:focus,body.theme-red select:focus,body.theme-red textarea:focus{border-color:#e53935}
body.theme-red .pos-terminal,body.theme-red .history-panel{border-color:rgba(229,57,53,.3)}
body.theme-red .pos-ticket #posClientSearch{border-color:rgba(229,57,53,.5);box-shadow:0 0 0 1px rgba(229,57,53,.15),0 10px 24px rgba(0,0,0,.2)}
body.theme-red .pos-mode-tab.active,body.theme-red .pos-tab.active{box-shadow:0 10px 28px rgba(198,40,40,.35)}
body.theme-red .pos-selected-line{background:rgba(229,57,53,.08);border-color:rgba(229,57,53,.28)}
body.theme-red .pos-selected-line b{color:#ef5350}
body.theme-red .pill.good{background:rgba(229,57,53,.15);color:#ef5350}
body.theme-red .pay-method-chip.active{background:rgba(198,40,40,.85);border-color:#e53935}

/* ── Theme: Кислотный лайм ───────────────────────────────────────────── */
body.theme-acid .main{background:radial-gradient(circle at 78% 4%,rgba(198,255,0,.15),transparent 34%),linear-gradient(135deg,#060d00,#101f00 52%,#060d00)}
body.theme-acid .brand-mark,body.theme-acid button.primary,body.theme-acid .nav button.active,body.theme-acid .pos-mode-tab.active,body.theme-acid .pos-tab.active,body.theme-acid .choice-chip.selected,body.theme-acid .club-tab.active{background:#7cb900}
body.theme-acid .price,body.theme-acid .side-status,body.theme-acid .metric-sub,body.theme-acid .history-total,body.theme-acid .selected-account-card b{color:#c6ff00}
body.theme-acid input:focus,body.theme-acid select:focus,body.theme-acid textarea:focus{border-color:#c6ff00}
body.theme-acid .pos-terminal,body.theme-acid .history-panel{border-color:rgba(198,255,0,.28)}
body.theme-acid .pos-ticket #posClientSearch{border-color:rgba(198,255,0,.45);box-shadow:0 0 0 1px rgba(198,255,0,.12),0 10px 24px rgba(0,0,0,.2)}
body.theme-acid .pos-mode-tab.active,body.theme-acid .pos-tab.active{box-shadow:0 10px 28px rgba(124,185,0,.32)}
body.theme-acid .pos-selected-line{background:rgba(198,255,0,.07);border-color:rgba(198,255,0,.22)}
body.theme-acid .pos-selected-line b{color:#c6ff00}
body.theme-acid .pill.good{background:rgba(198,255,0,.14);color:#c6ff00}
body.theme-acid .pay-method-chip.active{background:rgba(124,185,0,.85);border-color:#c6ff00}

/* ── Theme: Жёлтый ───────────────────────────────────────────────────── */
body.theme-yellow .main{background:radial-gradient(circle at 78% 4%,rgba(255,196,0,.16),transparent 34%),linear-gradient(135deg,#0d0900,#1f1500 52%,#0d0900)}
body.theme-yellow .brand-mark,body.theme-yellow button.primary,body.theme-yellow .nav button.active,body.theme-yellow .pos-mode-tab.active,body.theme-yellow .pos-tab.active,body.theme-yellow .choice-chip.selected,body.theme-yellow .club-tab.active{background:#e6a800}
body.theme-yellow .price,body.theme-yellow .side-status,body.theme-yellow .metric-sub,body.theme-yellow .history-total,body.theme-yellow .selected-account-card b{color:#ffd600}
body.theme-yellow input:focus,body.theme-yellow select:focus,body.theme-yellow textarea:focus{border-color:#ffc400}
body.theme-yellow .pos-terminal,body.theme-yellow .history-panel{border-color:rgba(255,196,0,.3)}
body.theme-yellow .pos-ticket #posClientSearch{border-color:rgba(255,196,0,.5);box-shadow:0 0 0 1px rgba(255,196,0,.15),0 10px 24px rgba(0,0,0,.2)}
body.theme-yellow .pos-mode-tab.active,body.theme-yellow .pos-tab.active{box-shadow:0 10px 28px rgba(230,168,0,.3)}
body.theme-yellow .pos-selected-line{background:rgba(255,196,0,.07);border-color:rgba(255,196,0,.25)}
body.theme-yellow .pos-selected-line b{color:#ffd600}
body.theme-yellow .pill.good{background:rgba(255,196,0,.14);color:#ffd600}
body.theme-yellow .pay-method-chip.active{background:rgba(230,168,0,.85);border-color:#ffc400}

/* ── Theme: Pink Neon ────────────────────────────────────────────────── */
body.theme-pink .main{background:radial-gradient(circle at 78% 4%,rgba(255,0,110,.17),transparent 34%),linear-gradient(135deg,#11000a,#200010 52%,#11000a)}
body.theme-pink .brand-mark,body.theme-pink button.primary,body.theme-pink .nav button.active,body.theme-pink .pos-mode-tab.active,body.theme-pink .pos-tab.active,body.theme-pink .choice-chip.selected,body.theme-pink .club-tab.active{background:#c2006e}
body.theme-pink .price,body.theme-pink .side-status,body.theme-pink .metric-sub,body.theme-pink .history-total,body.theme-pink .selected-account-card b{color:#ff4da6}
body.theme-pink input:focus,body.theme-pink select:focus,body.theme-pink textarea:focus{border-color:#ff006e}
body.theme-pink .pos-terminal,body.theme-pink .history-panel{border-color:rgba(255,0,110,.3)}
body.theme-pink .pos-ticket #posClientSearch{border-color:rgba(255,0,110,.52);box-shadow:0 0 0 1px rgba(255,0,110,.16),0 10px 24px rgba(0,0,0,.2)}
body.theme-pink .pos-mode-tab.active,body.theme-pink .pos-tab.active{box-shadow:0 10px 28px rgba(194,0,110,.35)}
body.theme-pink .pos-selected-line{background:rgba(255,0,110,.08);border-color:rgba(255,0,110,.28)}
body.theme-pink .pos-selected-line b{color:#ff4da6}
body.theme-pink .pill.good{background:rgba(255,0,110,.14);color:#ff4da6}
body.theme-pink .pay-method-chip.active{background:rgba(194,0,110,.85);border-color:#ff006e}

/* ── Theme: Серебристый (светлая) ────────────────────────────────────── */
body.theme-silver{color:#1a2329;background:#f5f6f8}
body.theme-silver .main{background:linear-gradient(135deg,#eef0f3,#f5f6f8 52%,#e8ebf0);color:#1a2329}
body.theme-silver .sidebar{background:rgba(240,242,246,.97);border-color:rgba(69,90,100,.18)}
body.theme-silver .brand-subtitle,body.theme-silver .muted{color:rgba(26,35,41,.5)}
body.theme-silver .nav button{color:#37474f;background:transparent}
body.theme-silver .nav button:hover{background:rgba(69,90,100,.1);color:#263238}
body.theme-silver .brand-mark,body.theme-silver button.primary,body.theme-silver .nav button.active,body.theme-silver .pos-mode-tab.active,body.theme-silver .pos-tab.active,body.theme-silver .choice-chip.selected,body.theme-silver .club-tab.active{background:#455a64;color:#fff}
body.theme-silver .price,body.theme-silver .side-status,body.theme-silver .metric-sub,body.theme-silver .history-total{color:#546e7a}
body.theme-silver input:focus,body.theme-silver select:focus,body.theme-silver textarea:focus{border-color:#78909c}
body.theme-silver .metric,body.theme-silver .card,body.theme-silver .editor-card{background:rgba(255,255,255,.92);border-color:rgba(69,90,100,.18);color:#1a2329}
body.theme-silver .card-sub{color:rgba(26,35,41,.52)}
body.theme-silver .side-card{background:rgba(255,255,255,.75);border-color:rgba(69,90,100,.16)}
body.theme-silver .page-title{color:#1a2329}
body.theme-silver .page-subtitle{color:rgba(26,35,41,.5)}
body.theme-silver .operator-badge{background:rgba(69,90,100,.1);border-color:rgba(69,90,100,.2);color:#37474f}
body.theme-silver button{background:rgba(69,90,100,.1);color:#37474f}
body.theme-silver button:hover{background:#455a64;color:#fff}
body.theme-silver button.primary{background:#455a64;color:#fff}
body.theme-silver button.primary:hover{background:#37474f}
body.theme-silver button.danger{background:rgba(192,38,38,.08);color:#991b1b}
body.theme-silver button.danger:hover{background:#c63838;color:#fff}
body.theme-silver .pill{background:rgba(69,90,100,.1);color:#37474f}
body.theme-silver .pill.good{background:rgba(38,166,154,.12);color:#00796b}
body.theme-silver input,body.theme-silver select,body.theme-silver textarea{background:#fff;border-color:rgba(69,90,100,.22);color:#1a2329}
body.theme-silver .form-field label{color:rgba(26,35,41,.56)}
body.theme-silver .pos-terminal{background:rgba(240,242,246,.7)!important;border-color:rgba(69,90,100,.22)!important}
body.theme-silver .pos-ticket{background:rgba(255,255,255,.7)!important;border-right-color:rgba(69,90,100,.18)!important}
body.theme-silver .pos-catalog{background:rgba(238,240,244,.56)!important}
body.theme-silver .pos-ticket #posClientSearch{border-color:rgba(69,90,100,.4)!important;background:#fff!important;color:#1a2329!important}
body.theme-silver .pos-client-result{background:rgba(69,90,100,.07)!important;color:#1a2329}
body.theme-silver .pos-client-summary{background:rgba(255,255,255,.75)!important;border-color:rgba(69,90,100,.15)!important}
body.theme-silver .pos-empty-line{border-color:rgba(26,35,41,.18)!important;color:rgba(26,35,41,.45)!important}
body.theme-silver .pos-selected-line{background:rgba(69,90,100,.08)!important;border-color:rgba(69,90,100,.22)!important}
body.theme-silver .pos-selected-line span{color:rgba(26,35,41,.55)}
body.theme-silver .pos-selected-line b{color:#455a64}
body.theme-silver .pos-shiftbar{background:rgba(69,90,100,.07)!important;border-color:rgba(69,90,100,.16)!important}
body.theme-silver .pos-mode-tab{background:rgba(69,90,100,.09);color:#37474f}
body.theme-silver .pos-tab{background:rgba(69,90,100,.09);color:#37474f}
body.theme-silver .admin-table{background:rgba(255,255,255,.85)!important}
body.theme-silver .admin-table th{background:rgba(69,90,100,.07)!important;color:rgba(26,35,41,.6)!important}
body.theme-silver .admin-table td{border-color:rgba(26,35,41,.08)!important;color:#1a2329!important}
body.theme-silver .pay-method-chip.active{background:#455a64!important;border-color:#546e7a!important;color:#fff!important}
body.theme-silver .section{color:#1a2329}

/* ── Clients stats row ─────────────────────────────────────────────────── */
.clients-stats-row{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:18px}
.cstat-card{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:16px;padding:16px 18px}
.cstat-icon{font-size:28px;line-height:1}
.cstat-body{display:grid;gap:2px}
.cstat-label{font-size:11px;color:rgba(255,255,255,.45);font-weight:700;text-transform:uppercase;letter-spacing:.06em}
.cstat-val{font-size:26px;font-weight:800;line-height:1.1}
.cstat-sub{font-size:11px;color:rgba(255,255,255,.38)}
/* ── Clients redesign ──────────────────────────────────────────────────── */
.clients-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:12px;margin-bottom:16px}
.clients-tabs{display:flex;gap:4px;flex-wrap:wrap}
.ctab{background:rgba(255,255,255,.07);border-radius:10px;padding:7px 16px;font-size:13px;font-weight:600;color:rgba(255,255,255,.5);border:1px solid rgba(255,255,255,.08);cursor:pointer}
.ctab:hover{background:rgba(255,255,255,.12);color:rgba(255,255,255,.85)}
.ctab.active{background:#0078d2;color:#fff;border-color:transparent}
.ctab-count{font-size:11px;opacity:.65;margin-left:4px}
.clients-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.clients-search{height:36px;font-size:13px;min-width:240px}
.clients-group-select{height:36px;padding:0 10px;font-size:13px;background:#1c2430;border:1px solid rgba(255,255,255,.12);border-radius:10px;color:#fff}
.clients-group-select option{background:#1c2430;color:#fff}
.clients-table-wrap{border:1px solid rgba(255,255,255,.1);border-radius:16px;overflow:hidden}
.clients-table{width:100%;border-collapse:collapse}
.clients-table thead th{background:rgba(255,255,255,.05);padding:10px 14px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:rgba(255,255,255,.4);text-align:left;border-bottom:1px solid rgba(255,255,255,.08)}
.ct-row{cursor:pointer;transition:background .13s}
.ct-row:hover{background:rgba(255,255,255,.05)}
.ct-row td{padding:11px 14px;border-bottom:1px solid rgba(255,255,255,.05);font-size:13px;vertical-align:middle}
.ct-row:last-child td{border-bottom:none}
.ct-client-cell{display:flex;align-items:center;gap:11px}
.ct-avatar{width:38px;height:38px;min-width:38px;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.18),rgba(255,255,255,.08));display:grid;place-items:center;font-size:16px;font-weight:800;color:#fff;position:relative}
.ct-avatar::after{content:"";position:absolute;bottom:1px;right:1px;width:9px;height:9px;border-radius:50%;border:2px solid #13181d;background:transparent}
.ct-avatar.online::after{background:#4caf50}
.ct-avatar.banned::after{background:#ef5350}
.ct-name{font-size:14px;font-weight:600;color:#fff}
.ct-sub{font-size:11px;color:rgba(255,255,255,.45);margin-top:1px}
.ct-sub.muted{color:rgba(255,255,255,.28)}
.ct-group-badge{display:inline-block;padding:3px 9px;border-radius:20px;font-size:11px;font-weight:700;background:rgba(0,120,210,.15);color:#39a9ff;border:1px solid rgba(0,120,210,.25);white-space:nowrap}
.ct-group-badge.vip{background:rgba(255,193,7,.12);color:#ffc107;border-color:rgba(255,193,7,.3)}
.ct-group-badge.muted{background:transparent;color:rgba(255,255,255,.3);border-color:transparent}
.ct-phone{color:rgba(255,255,255,.65)}
.ct-balance{font-weight:700;color:#4caf50}
.ct-details-btn{padding:5px 14px;font-size:12px;border-radius:8px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);white-space:nowrap;cursor:pointer}
.ct-details-btn:hover{background:rgba(255,255,255,.16)}
.ct-row-deleted{opacity:.55}
.ct-avatar.deleted{background:linear-gradient(180deg,rgba(255,255,255,.1),rgba(255,255,255,.04))}
.ct-avatar.deleted::after{background:#888}
.ct-deleted-badge{display:inline-block;padding:3px 10px;border-radius:8px;font-size:11px;font-weight:700;background:rgba(255,255,255,.07);color:rgba(255,255,255,.38);border:1px solid rgba(255,255,255,.1)}
/* Clients split layout */
.clients-page{display:flex;flex-direction:column;gap:0}
.clients-split{display:grid;grid-template-columns:1fr 272px;gap:14px;align-items:start}
.clients-info-panel{background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.09);border-radius:18px;padding:18px;position:sticky;top:14px;overflow-y:auto;max-height:calc(100vh - 220px)}
.cip-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 0;gap:12px;opacity:.35}
.cip-placeholder-icon{font-size:40px}
.cip-placeholder-text{font-size:13px;color:rgba(255,255,255,.6);text-align:center;line-height:1.6}
.ct-row-selected{background:rgba(0,120,210,.12)!important}
.ct-row-selected td{border-color:rgba(0,120,210,.15)!important}
.cqp-avatar-wrap{text-align:center;padding:8px 0 16px}
.cqp-avatar{width:68px;height:68px;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.2),rgba(255,255,255,.08));display:grid;place-items:center;font-size:30px;font-weight:900;color:#fff;margin:0 auto 10px}
.cqp-avatar.banned{background:linear-gradient(180deg,rgba(239,83,80,.3),rgba(239,83,80,.12))}
.cqp-username{font-size:17px;font-weight:700;color:#fff}
.cqp-fullname{font-size:13px;color:rgba(255,255,255,.5);margin-top:2px}
.cqp-group-badge{display:inline-block;margin-top:7px;padding:3px 12px;border-radius:20px;font-size:11px;font-weight:700;background:rgba(0,120,210,.15);color:#39a9ff;border:1px solid rgba(0,120,210,.25)}
.cqp-group-badge.vip{background:rgba(255,193,7,.12);color:#ffc107;border-color:rgba(255,193,7,.3)}
.cqp-banned-badge{display:inline-block;margin-top:5px;padding:3px 10px;border-radius:20px;font-size:11px;font-weight:700;background:rgba(239,83,80,.12);color:#ef9a9a;border:1px solid rgba(239,83,80,.25)}
.cqp-fields{border-top:1px solid rgba(255,255,255,.07);padding-top:14px;display:grid;gap:11px;margin-bottom:14px}
.cqp-field{display:grid;gap:2px}
.cqp-field label{font-size:10px;color:rgba(255,255,255,.38);font-weight:700;text-transform:uppercase;letter-spacing:.07em}
.cqp-field span{font-size:13px;color:rgba(255,255,255,.82)}
.cqp-balance-block{display:flex;align-items:center;justify-content:space-between;gap:8px;background:rgba(76,175,80,.07);border:1px solid rgba(76,175,80,.2);border-radius:14px;padding:12px 14px;margin-bottom:12px}
.cqp-balance-label{font-size:10px;color:rgba(255,255,255,.42);text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px}
.cqp-balance-val{font-size:22px;font-weight:800;color:#4caf50}
.cqp-bonus-val{font-size:11px;color:rgba(255,255,255,.42);margin-top:1px}
.cqp-actions{display:grid;gap:6px}
.cqp-actions button{display:flex;align-items:center;gap:10px;padding:10px 14px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.09);border-radius:12px;font-size:13px;font-weight:500;text-align:left;width:100%;cursor:pointer}
.cqp-actions button:hover{background:rgba(255,255,255,.11)}
.cqp-actions button.cqp-danger{color:#ef9a9a;border-color:rgba(239,83,80,.22);background:rgba(239,83,80,.06)}
.cqp-actions button.cqp-danger:hover{background:rgba(239,83,80,.12)}
.cqp-loading{padding:48px 0;text-align:center;color:rgba(255,255,255,.4);font-size:14px}
/* Clients table column */
.clients-table-col{min-width:0;display:flex;flex-direction:column;gap:0}
/* Sort column */
.ct-th-sort{cursor:pointer;user-select:none;white-space:nowrap}
.ct-th-sort:hover{color:rgba(255,255,255,.8)!important}
.ct-th-sorted{color:rgba(255,255,255,.85)!important}
.ct-sort-icon{font-size:10px;opacity:.8}
/* Pagination */
.clients-pagination{padding:10px 2px 0}
.cp-wrap{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.cp-btn{min-width:34px;height:34px;padding:0 8px;border-radius:8px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);font-size:13px;font-weight:600;cursor:pointer;color:rgba(255,255,255,.7);transition:background .12s}
.cp-btn:hover:not([disabled]){background:rgba(255,255,255,.14);color:#fff}
.cp-btn.active{background:#0078d2;border-color:transparent;color:#fff}
.cp-btn[disabled]{opacity:.3;cursor:default}
.cp-ellipsis{color:rgba(255,255,255,.35);padding:0 4px;font-size:15px;line-height:34px}
.cp-total{font-size:11px;color:rgba(255,255,255,.35);margin-left:8px;white-space:nowrap}
/* Purple theme overrides */
body.theme-purple .ctab.active{background:#7c3aed}
body.theme-purple .cp-btn.active{background:#7c3aed}
body.theme-purple .clients-group-select{border-color:rgba(167,139,250,.34)}
/* Light-purple theme */
body.theme-light-purple .ctab{background:rgba(124,58,237,.08);color:#3b1080;border-color:rgba(124,58,237,.15)}
body.theme-light-purple .ctab:hover{background:rgba(124,58,237,.15)}
body.theme-light-purple .ctab.active{background:#7c3aed;color:#fff;border-color:transparent}
body.theme-light-purple .clients-group-select{background:rgba(255,255,255,.7);border-color:rgba(124,58,237,.22);color:#1a0840}
body.theme-light-purple .clients-table-wrap{border-color:rgba(124,58,237,.18)}
body.theme-light-purple .clients-table thead th{background:rgba(124,58,237,.05);border-color:rgba(124,58,237,.12);color:rgba(58,11,118,.55)}
body.theme-light-purple .ct-row td{border-color:rgba(124,58,237,.07)}
body.theme-light-purple .ct-row:hover{background:rgba(124,58,237,.05)}
body.theme-light-purple .ct-name{color:#1a0840}
body.theme-light-purple .ct-sub{color:rgba(26,8,64,.5)}
body.theme-light-purple .ct-sub.muted{color:rgba(26,8,64,.3)}
body.theme-light-purple .ct-avatar::after{border-color:#f8f5ff}
body.theme-light-purple .ct-balance{color:#16a34a}
body.theme-light-purple .ct-details-btn{background:rgba(124,58,237,.1);border-color:rgba(124,58,237,.2);color:#3b1080}
body.theme-light-purple .ct-details-btn:hover{background:rgba(124,58,237,.18)}
body.theme-light-purple .client-quick-panel{background:#f8f5ff;border-color:rgba(124,58,237,.2)}
body.theme-light-purple .cqp-username{color:#1a0840}
body.theme-light-purple .cqp-fullname{color:rgba(26,8,64,.55)}
body.theme-light-purple .cqp-field label{color:rgba(26,8,64,.4)}
body.theme-light-purple .cqp-field span{color:#1a0840}
body.theme-light-purple .cqp-actions button{background:rgba(124,58,237,.07);border-color:rgba(124,58,237,.15);color:#1a0840}
body.theme-light-purple .cqp-actions button:hover{background:rgba(124,58,237,.14)}
/* ── Посадв: акценты по темам ─────────────────────────────────────────── */
body.theme-purple .posadv-main-tab.active,body.theme-purple .posadv-hist-tab.active{border-bottom-color:#7c3aed}
body.theme-purple .posadv-enter-btn,body.theme-purple .posadv-full-btn,body.theme-purple .posadv-btn-pay,body.theme-purple .posadv-cashier-tab.active{background:#7c3aed;border-color:#7c3aed}
body.theme-purple .posadv-enter-btn:hover,body.theme-purple .posadv-full-btn:hover:not(:disabled),body.theme-purple .posadv-btn-pay:hover:not(:disabled){background:#8b5cf6}
body.theme-purple .posadv-amount-input:focus,body.theme-purple .posadv-user-input:focus{border-color:rgba(124,58,237,.6)}
body.theme-purple .posadv-pay-method-btn.active{background:rgba(124,58,237,.85);border-color:#8b5cf6}
body.theme-purple .posadv-shop-price{color:#c4a4ff}
body.theme-light-purple .posadv-main-tab.active,body.theme-light-purple .posadv-hist-tab.active{border-bottom-color:#7c3aed}
body.theme-light-purple .posadv-enter-btn,body.theme-light-purple .posadv-full-btn,body.theme-light-purple .posadv-btn-pay,body.theme-light-purple .posadv-cashier-tab.active{background:#7c3aed;border-color:#7c3aed}
body.theme-light-purple .posadv-enter-btn:hover,body.theme-light-purple .posadv-full-btn:hover:not(:disabled),body.theme-light-purple .posadv-btn-pay:hover:not(:disabled){background:#8b5cf6}
body.theme-light-purple .posadv-amount-input:focus,body.theme-light-purple .posadv-user-input:focus{border-color:rgba(124,58,237,.6)}
body.theme-light-purple .posadv-pay-method-btn.active{background:rgba(124,58,237,.85);border-color:#8b5cf6}
body.theme-light-purple .posadv-shop-price{color:#7c3aed}
body.theme-lime .posadv-main-tab.active,body.theme-lime .posadv-hist-tab.active{border-bottom-color:#2ad612}
body.theme-lime .posadv-enter-btn,body.theme-lime .posadv-full-btn,body.theme-lime .posadv-btn-pay,body.theme-lime .posadv-cashier-tab.active{background:#2ad612;border-color:#2ad612}
body.theme-lime .posadv-enter-btn:hover,body.theme-lime .posadv-full-btn:hover:not(:disabled),body.theme-lime .posadv-btn-pay:hover:not(:disabled){background:#39ff14}
body.theme-lime .posadv-amount-input:focus,body.theme-lime .posadv-user-input:focus{border-color:rgba(42,214,18,.6)}
body.theme-lime .posadv-pay-method-btn.active{background:rgba(42,214,18,.85);border-color:#39ff14}
body.theme-lime .posadv-shop-price{color:#39ff14}
body.theme-violet .posadv-main-tab.active,body.theme-violet .posadv-hist-tab.active{border-bottom-color:#a800d4}
body.theme-violet .posadv-enter-btn,body.theme-violet .posadv-full-btn,body.theme-violet .posadv-btn-pay,body.theme-violet .posadv-cashier-tab.active{background:#a800d4;border-color:#a800d4}
body.theme-violet .posadv-enter-btn:hover,body.theme-violet .posadv-full-btn:hover:not(:disabled),body.theme-violet .posadv-btn-pay:hover:not(:disabled){background:#cc00ff}
body.theme-violet .posadv-amount-input:focus,body.theme-violet .posadv-user-input:focus{border-color:rgba(168,0,212,.6)}
body.theme-violet .posadv-pay-method-btn.active{background:rgba(168,0,212,.85);border-color:#cc00ff}
body.theme-violet .posadv-shop-price{color:#e066ff}
body.theme-red .posadv-main-tab.active,body.theme-red .posadv-hist-tab.active{border-bottom-color:#c62828}
body.theme-red .posadv-enter-btn,body.theme-red .posadv-full-btn,body.theme-red .posadv-btn-pay,body.theme-red .posadv-cashier-tab.active{background:#c62828;border-color:#c62828}
body.theme-red .posadv-enter-btn:hover,body.theme-red .posadv-full-btn:hover:not(:disabled),body.theme-red .posadv-btn-pay:hover:not(:disabled){background:#e53935}
body.theme-red .posadv-amount-input:focus,body.theme-red .posadv-user-input:focus{border-color:rgba(198,40,40,.6)}
body.theme-red .posadv-pay-method-btn.active{background:rgba(198,40,40,.85);border-color:#e53935}
body.theme-red .posadv-shop-price{color:#ef5350}
body.theme-acid .posadv-main-tab.active,body.theme-acid .posadv-hist-tab.active{border-bottom-color:#7cb900}
body.theme-acid .posadv-enter-btn,body.theme-acid .posadv-full-btn,body.theme-acid .posadv-btn-pay,body.theme-acid .posadv-cashier-tab.active{background:#7cb900;border-color:#7cb900}
body.theme-acid .posadv-enter-btn:hover,body.theme-acid .posadv-full-btn:hover:not(:disabled),body.theme-acid .posadv-btn-pay:hover:not(:disabled){background:#c6ff00}
body.theme-acid .posadv-amount-input:focus,body.theme-acid .posadv-user-input:focus{border-color:rgba(124,185,0,.6)}
body.theme-acid .posadv-pay-method-btn.active{background:rgba(124,185,0,.85);border-color:#c6ff00}
body.theme-acid .posadv-shop-price{color:#c6ff00}
body.theme-yellow .posadv-main-tab.active,body.theme-yellow .posadv-hist-tab.active{border-bottom-color:#e6a800}
body.theme-yellow .posadv-enter-btn,body.theme-yellow .posadv-full-btn,body.theme-yellow .posadv-btn-pay,body.theme-yellow .posadv-cashier-tab.active{background:#e6a800;border-color:#e6a800}
body.theme-yellow .posadv-enter-btn:hover,body.theme-yellow .posadv-full-btn:hover:not(:disabled),body.theme-yellow .posadv-btn-pay:hover:not(:disabled){background:#ffd600}
body.theme-yellow .posadv-amount-input:focus,body.theme-yellow .posadv-user-input:focus{border-color:rgba(230,168,0,.6)}
body.theme-yellow .posadv-pay-method-btn.active{background:rgba(230,168,0,.85);border-color:#ffd600}
body.theme-yellow .posadv-shop-price{color:#ffd600}
body.theme-pink .posadv-main-tab.active,body.theme-pink .posadv-hist-tab.active{border-bottom-color:#c2006e}
body.theme-pink .posadv-enter-btn,body.theme-pink .posadv-full-btn,body.theme-pink .posadv-btn-pay,body.theme-pink .posadv-cashier-tab.active{background:#c2006e;border-color:#c2006e}
body.theme-pink .posadv-enter-btn:hover,body.theme-pink .posadv-full-btn:hover:not(:disabled),body.theme-pink .posadv-btn-pay:hover:not(:disabled){background:#ff006e}
body.theme-pink .posadv-amount-input:focus,body.theme-pink .posadv-user-input:focus{border-color:rgba(194,0,110,.6)}
body.theme-pink .posadv-pay-method-btn.active{background:rgba(194,0,110,.85);border-color:#ff006e}
body.theme-pink .posadv-shop-price{color:#ff4da6}
body.theme-silver .posadv-main-tab.active,body.theme-silver .posadv-hist-tab.active{border-bottom-color:#455a64}
body.theme-silver .posadv-enter-btn,body.theme-silver .posadv-full-btn,body.theme-silver .posadv-btn-pay,body.theme-silver .posadv-cashier-tab.active{background:#455a64;border-color:#455a64}
body.theme-silver .posadv-enter-btn:hover,body.theme-silver .posadv-full-btn:hover:not(:disabled),body.theme-silver .posadv-btn-pay:hover:not(:disabled){background:#607d8b}
body.theme-silver .posadv-amount-input:focus,body.theme-silver .posadv-user-input:focus{border-color:rgba(69,90,100,.6)}
body.theme-silver .posadv-pay-method-btn.active{background:rgba(69,90,100,.85);border-color:#607d8b}
body.theme-silver .posadv-shop-price{color:#546e7a}

/* ── FAQ ──────────────────────────────────────────────────────────────────── */
.faq-header{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:4px}
.faq-search{width:320px;height:42px;border-radius:12px;border:1px solid rgba(246,251,253,.14);background:#080c0f;color:#fff;padding:0 14px;font-size:14px;outline:none}
.faq-search:focus{border-color:#0091ff}
.faq-body{display:grid;gap:20px;margin-top:4px}
.faq-category{display:grid;gap:8px}
.faq-cat-title{font-size:16px;font-weight:800;color:rgba(255,255,255,.9);padding:2px 0 6px;border-bottom:1px solid rgba(255,255,255,.08);margin-bottom:2px}
.faq-item{border:1px solid rgba(246,251,253,.09);border-radius:14px;overflow:hidden;background:linear-gradient(180deg,rgba(255,255,255,.07),rgba(255,255,255,.03))}
.faq-q{width:100%;height:auto;min-height:48px;background:transparent;color:#fff;font-weight:600;font-size:14px;text-align:left;padding:12px 16px;border-radius:0;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;border:0}
.faq-q:hover{background:rgba(255,255,255,.05)}
.faq-q span:first-child{flex:1;line-height:1.4}
.faq-chevron{font-size:16px;color:rgba(255,255,255,.4);transition:transform .2s;flex-shrink:0}
.faq-chevron.rotated{transform:rotate(180deg)}
.faq-a{max-height:0;overflow:hidden;transition:max-height .3s ease,padding .2s;padding:0 16px;color:rgba(255,255,255,.72);font-size:13.5px;line-height:1.65;border-top:0 solid rgba(255,255,255,.07)}
.faq-a.open{max-height:400px;padding:12px 16px 14px;border-top-width:1px}
.faq-mark{background:rgba(57,169,255,.28);color:#7dd3fc;border-radius:3px;padding:0 2px}

/* ── Biz report log ── */
.biz-log{margin-top:18px;border-radius:14px;padding:14px 18px;font-size:14px;font-weight:600}
.biz-log-none{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);color:rgba(255,255,255,.5)}
.biz-log-ok{background:rgba(57,169,255,.1);border:1px solid rgba(57,169,255,.25);color:#77d9ff}
.biz-log-err{background:rgba(255,107,122,.1);border:1px solid rgba(255,107,122,.25);color:#ff9aa4}
.biz-log-detail{font-size:12px;font-weight:400;opacity:.8;display:block;margin-top:6px;word-break:break-word}

/* ── Shell Settings Tabs ─────────────────────────────────────────── */
.shell-tab-nav{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:16px}
.shell-tab-btn{padding:8px 18px;border-radius:10px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:rgba(255,255,255,.6);cursor:pointer;font-size:13px;font-weight:600;transition:.15s;white-space:nowrap}
.shell-tab-btn:hover{background:rgba(255,255,255,.1);color:#fff}
.shell-tab-btn.active{background:var(--accent,#3999ff);border-color:var(--accent,#3999ff);color:#fff}
