:root{--bg:#eef3f7;--surface:#fff;--surface2:#f7fafc;--surface3:#edf3f6;--border:#d7e1e8;--text:#1a2b37;--muted:#768996;--primary:#2f885b;--primary-dark:#216b46;--primary-soft:#e4f3ea;--danger:#d84b4b;--danger-soft:#fff0f0;--warning:#d8942c;--warning-soft:#fff7e8;--purple:#7454c7;--purple-soft:#f3efff;--shadow:0 10px 28px rgba(25,46,60,.07);--shadow-lg:0 25px 65px rgba(22,41,54,.16);--side:205px;--top:64px;--r:13px}
*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0}body{overflow:hidden;background:var(--bg);color:var(--text);font-family:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:13px}button,input,select,textarea{font:inherit}button{cursor:pointer}.hidden{display:none!important}.danger-text{color:var(--danger)!important}.row{display:flex;align-items:center;gap:7px}.input{width:100%;min-height:38px;padding:0 10px;border:1px solid var(--border);border-radius:9px;outline:none;background:var(--surface);color:var(--text)}textarea.input{padding-top:9px;min-height:88px;resize:vertical}.input:focus{border-color:#81b299;box-shadow:0 0 0 3px rgba(47,136,91,.08)}
/* LOGIN */
.login-screen{position:fixed;inset:0;z-index:500;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 50% -15%,#fff 0,#f5fafc 32%,#e8f0f4 70%,#e3ebf0 100%)}.login-card{width:min(390px,100%);padding:28px 28px 22px;border:1px solid var(--border);border-radius:24px;background:#fff;box-shadow:0 35px 80px rgba(28,49,63,.14);text-align:center}.login-logo{width:66px;height:66px;display:grid;place-items:center;margin:0 auto 13px;border-radius:18px;background:var(--primary);color:#fff;font-size:22px;font-weight:950}.login-card h1{margin:0;font-size:28px;font-weight:950}.login-card h1 span{color:var(--primary)}.login-card>p{margin:5px 0 0;color:var(--muted);font-size:12px}.login-clock{margin-top:15px;color:#344d5d;font-size:31px;font-weight:300}.pin-dots{display:flex;justify-content:center;gap:12px;margin:15px 0 8px}.pin-dots i{width:14px;height:14px;border:2px solid #a8b8c3;border-radius:50%;background:transparent;transition:.15s}.pin-dots i.on{border-color:var(--primary);background:var(--primary);transform:scale(1.07)}.form-error{min-height:20px;margin-bottom:4px;color:var(--danger);font-size:11px;font-weight:700}.pin-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.pin-pad button{min-height:55px;border:1px solid var(--border);border-radius:11px;background:var(--surface2);color:var(--text);font-size:18px;font-weight:850;transition:.15s}.pin-pad button:hover{background:#edf3f6}.pin-pad button:active{transform:scale(.97)}.pin-pad .small{font-size:12px}.pin-pad .primary{border-color:var(--primary);background:var(--primary);color:#fff}.login-foot{margin-top:16px;color:#a2afb8;font-size:9px;font-weight:700}
/* SHELL */
.pos-app{width:100%;height:100%;display:grid;grid-template-columns:var(--side) minmax(0,1fr)}.sidebar{min-width:0;min-height:0;display:flex;flex-direction:column;position:relative;z-index:80;padding:15px 12px;border-right:1px solid var(--border);background:var(--surface);box-shadow:6px 0 28px rgba(23,43,56,.035)}.brand{display:flex;align-items:center;gap:9px;padding:2px 7px 18px}.brand-icon{width:33px;height:33px;display:grid;place-items:center;border-radius:9px;background:var(--primary);color:#fff;font-size:11px;font-weight:950}.brand-text{font-size:18px;font-weight:950}.brand-text b{color:var(--primary)}.sidebar nav{display:grid;gap:6px}.nav-item{width:100%;min-height:44px;display:flex;align-items:center;gap:10px;padding:0 12px;border:0;border-radius:10px;background:transparent;color:#607584;text-align:left;font-size:11px;font-weight:800}.nav-item>span{width:22px;font-size:16px}.nav-item:hover{background:var(--surface2)}.nav-item.active{background:var(--primary-soft);color:#17673a}.badge{min-width:20px;height:20px;display:grid;place-items:center;margin-left:auto;padding:0 6px;border-radius:999px;background:var(--danger);color:#fff;font-size:9px;font-style:normal}.side-spacer{flex:1}.user-box{display:flex;align-items:center;gap:9px;margin:8px 0;padding:10px;border:1px solid var(--border);border-radius:11px;background:var(--surface2)}.avatar{width:34px;height:34px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#e0eef5;color:#315d77;font-weight:950}.user-box strong,.user-box small{display:block;max-width:105px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-box strong{font-size:10px}.user-box small{margin-top:3px;color:var(--muted);font-size:9px}.side-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.side-actions button{min-height:36px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:#5f7280;font-size:9px;font-weight:800}.main-shell{min-width:0;min-height:0;display:grid;grid-template-rows:var(--top) minmax(0,1fr)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:0 17px;border-bottom:1px solid var(--border);background:var(--surface)}.topbar-left,.topbar-right{display:flex;align-items:center;gap:9px}.topbar h2{margin:0;font-size:16px}.topbar p{margin:3px 0 0;color:var(--muted);font-size:9px}.clock{text-align:right}.clock strong,.clock small{display:block}.clock strong{font-size:13px}.clock small{margin-top:2px;color:var(--muted);font-size:8px}.icon-btn,.mobile-menu{width:37px;height:37px;display:grid;place-items:center;border:1px solid var(--border);border-radius:9px;background:var(--surface2);color:var(--text)}.mobile-menu{display:none}.view{min-width:0;min-height:0;overflow:auto;padding:14px}
/* COMMON */
.toolbar,.panel{border:1px solid var(--border);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow)}.toolbar{min-height:66px;display:flex;align-items:center;justify-content:space-between;gap:15px;padding:11px 13px}.toolbar h3,.panel h3{margin:0;font-size:13px}.toolbar p,.panel p{margin:3px 0 0;color:var(--muted);font-size:9px}.btn{min-height:37px;padding:0 13px;border:1px solid var(--primary);border-radius:9px;background:var(--primary);color:#fff;font-size:10px;font-weight:850}.btn.secondary{border-color:var(--border);background:var(--surface2);color:var(--text)}.btn.danger{border-color:var(--danger);background:var(--danger);color:#fff}.success-soft{border-color:#acd3ba!important;background:var(--primary-soft)!important;color:#246c45!important}.danger-soft{border-color:#ecc6c6!important;background:var(--danger-soft)!important;color:#aa4141!important}.legend{display:flex;flex-wrap:wrap;gap:13px;margin:10px 2px;color:var(--muted);font-size:9px}.legend span{display:flex;align-items:center;gap:5px}.legend i{width:8px;height:8px;border-radius:50%;background:#a5b0b7}.legend i.open{background:var(--primary)}.legend i.payment{background:var(--warning)}.legend i.qr{background:var(--purple)}.legend i.call{background:var(--danger)}.empty-state{grid-column:1/-1;padding:45px 18px;border:1px dashed var(--border);border-radius:var(--r);color:var(--muted);text-align:center;font-size:10px}
/* TABLES */
.area-tabs,.category-tabs{display:flex;flex-wrap:wrap;gap:5px}.area-tabs button,.category-tabs button{min-height:33px;padding:0 10px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:#597080;font-size:9px;font-weight:850}.area-tabs button.active,.category-tabs button.active{border-color:var(--primary);background:var(--primary);color:#fff}.table-grid{display:grid;grid-template-columns:repeat(5,minmax(150px,1fr));gap:9px}.table-card{min-width:0;min-height:150px;position:relative;padding:13px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);color:var(--text);box-shadow:var(--shadow);text-align:left;transition:.15s}.table-card:hover{transform:translateY(-2px);border-color:#aebfc9;box-shadow:0 14px 34px rgba(25,46,60,.1)}.table-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:var(--r) 0 0 var(--r);background:#aab6bd}.table-card.open:before{background:var(--primary)}.table-card.payment_pending:before{background:var(--warning)}.table-card.qr_pending:before{background:var(--purple)}.table-card.waiter_call:before{background:var(--danger)}.table-top{display:flex;justify-content:space-between;gap:8px}.table-card h4{margin:0;font-size:18px}.table-area{margin-top:4px;color:var(--muted);font-size:9px}.table-status{padding:5px 7px;border-radius:999px;background:var(--surface3);font-size:8px;font-weight:900}.table-status.open{background:var(--primary-soft);color:#226b44}.table-status.payment_pending{background:var(--warning-soft);color:#9f6914}.table-status.qr_pending{background:var(--purple-soft);color:#6648aa}.table-status.waiter_call{background:var(--danger-soft);color:#a63b3b}.table-amount{margin-top:18px;font-size:17px;font-weight:950}.table-meta{display:grid;gap:4px;margin-top:8px;color:var(--muted);font-size:8px}.table-meta div{display:flex;justify-content:space-between;gap:8px}.table-empty{position:absolute;left:13px;bottom:13px;color:#91a1ab;font-size:9px;font-weight:800}
/* QR */
.qr-grid{display:grid;grid-template-columns:repeat(3,minmax(250px,1fr));gap:10px;margin-top:10px}.qr-card{overflow:hidden;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow)}.qr-card header{display:flex;justify-content:space-between;gap:10px;padding:12px;border-bottom:1px solid var(--border)}.qr-card h4{margin:0;font-size:14px}.qr-card header p{margin:4px 0 0}.qr-token{padding:5px 7px;border-radius:999px;background:var(--purple-soft);color:#684cab;font-size:8px;font-weight:900}.qr-items{display:grid;gap:7px;padding:12px}.qr-line{display:flex;justify-content:space-between;gap:10px;font-size:10px}.qr-line small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.qr-foot{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-top:1px solid var(--border);background:var(--surface2)}.qr-total{font-size:14px;font-weight:950}
/* CASH + REPORT */
.summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:9px}.summary-grid article{min-height:90px;padding:13px;border:1px solid var(--border);border-radius:var(--r);background:var(--surface);box-shadow:var(--shadow)}.summary-grid small{display:block;color:var(--muted);font-size:9px}.summary-grid strong{display:block;margin-top:11px;font-size:19px}.two-col{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:10px;margin-top:10px}.panel{overflow:hidden}.panel>header{padding:12px 13px;border-bottom:1px solid var(--border)}.cash-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:13px}.cash-actions button{min-height:68px;border:1px solid var(--border);border-radius:10px;background:var(--surface2);color:var(--text);font-size:10px;font-weight:850}.activity-list{display:grid}.activity-row{min-height:52px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 13px;border-bottom:1px solid var(--border)}.activity-row:last-child{border-bottom:0}.activity-row strong{font-size:10px}.activity-row small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.activity-value{text-align:right;font-size:11px;font-weight:900}.report-date{width:145px}
/* CHECK */
.check-view{padding:0;overflow:hidden}.check-layout{width:100%;height:100%;display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,430px)}.catalog{min-width:0;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr);overflow:hidden;padding:12px;border-right:1px solid var(--border)}.catalog-top{display:flex;gap:8px;margin-bottom:9px}.category-tabs{overflow-x:auto;flex-wrap:nowrap;padding-bottom:8px}.category-tabs button{flex:0 0 auto}.product-grid{min-height:0;display:grid;grid-template-columns:repeat(4,minmax(125px,1fr));align-content:start;gap:8px;overflow:auto}.product-card{min-height:123px;padding:11px;border:1px solid var(--border);border-radius:11px;background:var(--surface);color:var(--text);text-align:left;box-shadow:0 5px 15px rgba(24,45,58,.045)}.product-card:hover{border-color:#9fb5c2}.product-image{height:54px;display:grid;place-items:center;margin-bottom:8px;border-radius:7px;background:linear-gradient(135deg,#eff5f8,#e5edf1);font-size:19px}.product-card h4{margin:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:10px}.product-bottom{display:flex;justify-content:space-between;gap:7px;margin-top:7px}.product-price{color:var(--primary);font-size:11px;font-weight:950}.product-badge{padding:3px 5px;border-radius:999px;background:var(--surface3);color:var(--muted);font-size:7px}.check-panel{min-width:0;min-height:0;display:grid;grid-template-rows:auto auto minmax(0,1fr) auto;background:var(--surface)}.check-head{display:flex;align-items:center;justify-content:space-between;padding:11px 12px;border-bottom:1px solid var(--border)}.check-title{display:flex;align-items:center;gap:7px;font-size:16px}.status-pill{padding:5px 7px;border-radius:999px;background:var(--primary-soft);color:#246b45;font-size:7px;font-weight:950}.check-meta{display:flex;flex-wrap:wrap;gap:5px;margin-top:4px;color:var(--muted);font-size:8px}.check-alert{padding:7px 11px;border-bottom:1px solid #eadbb7;background:var(--warning-soft);color:#8c641c;font-size:8px}.check-scroll{min-height:0;overflow:auto;padding:0 11px 11px}.check-scroll section{padding-top:10px}.section-head{display:flex;justify-content:space-between;gap:10px;margin-bottom:6px;color:#6d7f8c;font-size:9px;text-transform:uppercase}.section-head small{font-size:8px;text-transform:none}.item-list{display:grid;gap:6px}.check-item,.draft-item,.adjustment-item,.payment-item{padding:9px;border:1px solid var(--border);border-radius:9px;background:var(--surface2)}.check-item.cancelled{opacity:.62;background:var(--danger-soft)}.item-top{display:flex;justify-content:space-between;gap:8px}.item-title{font-size:10px;font-weight:850}.item-title small{display:block;margin-top:3px;color:var(--muted);font-size:8px;font-weight:500;line-height:1.4}.item-price{font-size:10px;font-weight:950}.item-bottom{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-top:7px}.qty-pill{padding:4px 6px;border-radius:6px;background:var(--surface3);font-size:8px;font-weight:900}.item-actions{display:flex;gap:5px}.mini-btn{min-height:26px;padding:0 7px;border:1px solid var(--border);border-radius:6px;background:var(--surface);color:#647987;font-size:8px}.mini-btn.danger{color:var(--danger)}.draft-box{margin-top:10px!important;padding:10px!important;border:1px solid #b4d8c1;border-radius:11px;background:linear-gradient(180deg,#f2fbf5,#ebf7ef)}.draft-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.draft-head strong,.draft-head small{display:block}.draft-head strong{color:#226840;font-size:10px}.draft-head small{margin-top:2px;color:#6d8d79;font-size:8px}.draft-head>span{min-width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:var(--primary);color:#fff;font-size:9px;font-weight:900}.qty-control{display:flex;align-items:center;gap:4px}.qty-control button{width:26px;height:26px;border:1px solid #bad6c4;border-radius:6px;background:#fff;color:#356d4a;font-weight:900}.qty-control span{min-width:22px;text-align:center;font-size:9px;font-weight:900}.adjustment-item,.payment-item{display:flex;align-items:center;justify-content:space-between}.adjustment-item strong,.payment-item strong{font-size:9px}.adjustment-item small,.payment-item small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.adjustment-item>span{color:var(--danger);font-weight:950}.payment-item>span{color:var(--primary);font-weight:950}.check-foot{padding:10px;border-top:1px solid var(--border)}.totals{display:grid;gap:5px;margin-bottom:9px}.totals div{display:flex;justify-content:space-between;gap:8px;color:var(--muted);font-size:9px}.totals b{color:var(--text)}.totals .negative b{color:var(--danger)}.totals .net{margin-top:2px;padding-top:7px;border-top:1px dashed var(--border);color:var(--text)}.totals .net b{font-size:13px}.totals .remaining{color:var(--text);font-weight:900}.totals .remaining b{color:var(--primary);font-size:15px}.check-actions{display:grid;grid-template-columns:repeat(2,1fr);gap:6px}.check-actions button{min-height:37px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:#536a79;font-size:9px;font-weight:850}.save-order{width:100%;min-height:47px;display:flex;align-items:center;justify-content:space-between;margin-top:7px;padding:0 14px;border:0;border-radius:10px;background:var(--primary);color:#fff;font-size:11px;font-weight:900;box-shadow:0 8px 20px rgba(47,136,91,.2)}
/* MODALS */
.modal-backdrop{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:18px;background:rgba(8,18,25,.45);backdrop-filter:blur(3px)}.modal{width:min(640px,100%);max-height:min(90vh,820px);display:grid;grid-template-rows:auto minmax(0,1fr) auto;overflow:hidden;border:1px solid var(--border);border-radius:17px;background:var(--surface);box-shadow:var(--shadow-lg)}.modal.lg{width:min(880px,100%)}.modal.xl{width:min(1080px,100%)}.modal>header{display:flex;justify-content:space-between;gap:15px;padding:14px 15px;border-bottom:1px solid var(--border)}.modal>header h2{margin:0;font-size:15px}.modal>header p{margin:4px 0 0;color:var(--muted);font-size:9px}.modal>header button{width:34px;height:34px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);color:var(--muted);font-size:20px}.modal-body{min-height:0;overflow:auto;padding:14px}.modal>footer{display:flex;justify-content:flex-end;gap:7px;padding:11px 14px;border-top:1px solid var(--border);background:var(--surface2)}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-grid.one{grid-template-columns:1fr}.form-group.full{grid-column:1/-1}.label{display:block;margin-bottom:5px;color:#5c7080;font-size:9px;font-weight:850}.modal-section{margin-bottom:15px}.modal-section-title{margin-bottom:8px;color:#597080;font-size:9px;font-weight:900;text-transform:uppercase}.choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}.choice{min-height:50px;position:relative;display:grid;place-items:center;padding:8px;border:1px solid var(--border);border-radius:9px;background:var(--surface2);color:var(--text);text-align:center;font-size:9px;font-weight:800}.choice.selected{border-color:var(--primary);background:var(--primary-soft);color:#216a43}.choice input{position:absolute;opacity:0}.modal-qty{display:flex;align-items:center;justify-content:center;gap:12px}.modal-qty button{width:38px;height:38px;border:1px solid var(--border);border-radius:9px;background:var(--surface2);color:var(--text);font-size:18px}.operation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.operation-grid button{min-height:78px;border:1px solid var(--border);border-radius:10px;background:var(--surface2);color:var(--text);font-size:9px;font-weight:850}.operation-grid button span{display:block;margin-bottom:5px;font-size:19px}.payment-layout{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);gap:12px}.payment-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-bottom:10px}.payment-tabs button{min-height:36px;border:1px solid var(--border);border-radius:8px;background:var(--surface2);font-size:8px;font-weight:850}.payment-tabs button.active{border-color:var(--primary);background:var(--primary-soft);color:#236b44}.payment-total{padding:13px;border:1px solid var(--border);border-radius:10px;background:var(--surface2)}.payment-total small{display:block;color:var(--muted);font-size:8px}.payment-total strong{display:block;margin-top:5px;font-size:22px}.payment-total input{width:100%;min-height:47px;margin-top:9px;border:1px solid var(--border);border-radius:9px;background:var(--surface);color:var(--text);text-align:right;font-size:17px;font-weight:900}.pay-group{margin:10px 0 5px;color:var(--muted);font-size:8px;font-weight:900;text-transform:uppercase}.pay-methods{display:grid;gap:6px}.pay-methods button{min-height:46px;display:flex;align-items:center;justify-content:space-between;padding:0 11px;border:1px solid var(--border);border-radius:9px;background:var(--surface2);color:var(--text);font-size:9px;font-weight:850}.pay-methods button.selected{border-color:var(--primary);background:var(--primary-soft);color:#216b43}.history-list{display:grid;gap:7px}.history-row{display:grid;grid-template-columns:54px minmax(0,1fr);gap:9px;padding:9px;border:1px solid var(--border);border-radius:9px;background:var(--surface2)}.history-row time{color:var(--muted);font-size:8px}.history-row strong{display:block;font-size:9px}.history-row small{display:block;margin-top:3px;color:var(--muted);font-size:8px}
/* TOAST */
.toast-root{position:fixed;right:15px;bottom:15px;z-index:700;display:grid;gap:7px;pointer-events:none}.toast{min-width:240px;max-width:360px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface);box-shadow:var(--shadow-lg);font-size:9px;font-weight:750}.toast.success{border-color:#b8d9c4;color:#276d47}.toast.error{border-color:#ecc5c5;color:#aa4242}.mobile-backdrop{position:fixed;inset:0;z-index:70;background:rgba(7,16,23,.38)}
/* DARK */
body.dark-mode{--bg:#07111a;--surface:#0d1b26;--surface2:#112433;--surface3:#172d3d;--border:#223b4e;--text:#f3f7fa;--muted:#91a4b4;--primary-soft:#143c28;--danger-soft:#361d20;--warning-soft:#352c1c;--purple-soft:#251e3b}.dark-mode .login-screen{background:radial-gradient(circle at 50% -20%,#173047 0,#0a1824 42%,#061019 100%)}.dark-mode .login-card{background:var(--surface)}.dark-mode .login-clock{color:#dbe7ed}.dark-mode .product-image{background:linear-gradient(135deg,#152b3a,#10212e)}.dark-mode .draft-box{border-color:#24583b;background:linear-gradient(180deg,#102b1d,#0d2419)}
/* RESPONSIVE */
@media(max-width:1280px){.table-grid{grid-template-columns:repeat(4,minmax(145px,1fr))}.product-grid{grid-template-columns:repeat(3,minmax(120px,1fr))}}
@media(max-width:1050px){:root{--side:74px}.brand{justify-content:center}.brand-text,.nav-item b,.user-box>div:last-child{display:none}.nav-item{justify-content:center;padding:0}.user-box{justify-content:center}.side-actions{grid-template-columns:1fr}.side-actions button{font-size:0}.table-grid{grid-template-columns:repeat(3,minmax(140px,1fr))}.qr-grid{grid-template-columns:repeat(2,minmax(250px,1fr))}.check-layout{grid-template-columns:minmax(0,1fr) minmax(360px,400px)}}
@media(max-width:820px){:root{--side:205px}.pos-app{grid-template-columns:1fr}.sidebar{position:fixed;top:0;bottom:0;left:0;width:205px;transform:translateX(-105%);transition:.2s}.sidebar.mobile-open{transform:none}.brand{justify-content:flex-start}.brand-text,.nav-item b,.user-box>div:last-child{display:block}.nav-item{justify-content:flex-start;padding:0 12px}.side-actions{grid-template-columns:1fr 1fr}.side-actions button{font-size:9px}.mobile-menu{display:grid}.table-grid{grid-template-columns:repeat(2,minmax(135px,1fr))}.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.two-col,.payment-layout{grid-template-columns:1fr}.qr-grid{grid-template-columns:1fr}.check-layout{grid-template-columns:1fr}.catalog{display:none}.check-panel{width:100%}.operation-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:540px){.view{padding:9px}.toolbar{align-items:flex-start;flex-direction:column}.table-grid{grid-template-columns:repeat(2,minmax(120px,1fr));gap:7px}.table-card{min-height:135px}.clock{display:none}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.modal-backdrop{padding:8px}.modal{max-height:95vh}}


/* =========================================================
   V1.2 UX / COLOR / BRAND / PAYMENT / ARCHIVE
   ========================================================= */

.login-company{
    margin:7px auto 0;
    color:var(--primary);
    font-size:11px;
    font-weight:900;
    letter-spacing:.02em;
}

.company-box{
    margin:0 3px 12px;
    padding:10px 11px;
    border:1px solid color-mix(in srgb,var(--primary) 25%,var(--border));
    border-radius:10px;
    background:linear-gradient(135deg,var(--primary-soft),var(--surface-2));
}
.company-box small,.company-box strong{display:block}
.company-box small{color:var(--muted);font-size:7px;font-weight:900;letter-spacing:.12em}
.company-box strong{margin-top:4px;font-size:10px;line-height:1.25}

.user-context{margin-top:8px}
.user-context>small{
    display:block;
    margin:0 4px 4px;
    overflow:hidden;
    color:var(--muted);
    font-size:8px;
    font-weight:800;
    white-space:nowrap;
    text-overflow:ellipsis;
}

.table-card.status-open{
    background:linear-gradient(145deg,var(--surface),color-mix(in srgb,var(--primary-soft) 40%,var(--surface)));
}
.table-card.status-payment_pending{
    background:linear-gradient(145deg,var(--surface),var(--warning-soft));
}
.table-card.status-qr_pending{
    background:linear-gradient(145deg,var(--surface),var(--purple-soft));
}
.table-card.status-waiter_call{
    background:linear-gradient(145deg,var(--surface),var(--danger-soft));
}

.colorful-toolbar{
    position:relative;
    overflow:hidden;
}
.colorful-toolbar:before{
    content:"";
    position:absolute;
    left:0;top:0;bottom:0;width:5px;
    background:linear-gradient(var(--primary),#59a97c);
}
.owner-toolbar:before{background:linear-gradient(#7256c7,#a181ed)}

.summary-accent{
    position:relative;
    overflow:hidden;
}
.summary-accent:after{
    content:"";
    position:absolute;
    right:-20px;
    bottom:-35px;
    width:100px;
    height:100px;
    border-radius:50%;
    background:rgba(255,255,255,.16);
}
.summary-accent.green{
    border-color:#b6d9c3;
    background:linear-gradient(135deg,#2f885b,#54a979);
    color:#fff;
}
.summary-accent.blue{
    border-color:#bad3e7;
    background:linear-gradient(135deg,#337fbb,#58a2d8);
    color:#fff;
}
.summary-accent small,.summary-accent strong,.summary-accent em{color:inherit}
.summary-accent em{display:block;margin-top:6px;font-size:8px;font-style:normal;opacity:.8}

.product-card.colorful-product{
    padding:0 0 10px;
    overflow:hidden;
}
.product-card.colorful-product h4,
.product-card.colorful-product .product-bottom{
    margin-left:10px;
    margin-right:10px;
}
.product-image{
    height:82px!important;
    margin-bottom:9px!important;
    overflow:hidden;
    border-radius:10px 10px 0 0!important;
    background:linear-gradient(135deg,#edf4f6,#dde8ed)!important;
}
.product-image img{
    width:100%;
    height:100%;
    display:block;
    object-fit:cover;
}
.product-image.image-error:after{
    content:"🍽";
    height:100%;
    display:grid;
    place-items:center;
    font-size:23px;
}
.product-image.image-error img{display:none}

.simple-payment{display:grid;gap:14px}
.payment-hero{
    padding:15px;
    border:1px solid #b5d8c2;
    border-radius:14px;
    background:linear-gradient(135deg,#eef9f2,#f9fcfa);
}
.payment-hero>small{display:block;color:#5e8870;font-size:8px;font-weight:950;letter-spacing:.13em}
.payment-hero>strong{display:block;margin:4px 0 12px;color:#1e6c42;font-size:29px;letter-spacing:-.04em}
.payment-big-input{
    height:52px!important;
    margin-top:5px;
    text-align:right;
    font-size:20px!important;
    font-weight:950!important;
    border:2px solid #aed0bb!important;
}
.quick-amounts{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:6px;
    margin-bottom:12px;
}
.quick-amounts button{
    min-height:38px;
    border:1px solid #bdd6c6;
    border-radius:8px;
    background:#fff;
    color:#38684c;
    font-size:9px;
    font-weight:900;
}
.quick-amounts button.active{
    border-color:var(--primary);
    background:var(--primary);
    color:#fff;
}
.payment-method-section{
    padding:2px;
}
.simple-method-grid{
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:7px;
}
.simple-method{
    min-height:82px;
    display:flex;
    flex-direction:column;
    align-items:flex-start;
    justify-content:center;
    gap:3px;
    padding:10px;
    border:1px solid var(--border);
    border-radius:11px;
    background:var(--surface-2);
    color:var(--text);
    text-align:left;
}
.simple-method.selected{
    border:2px solid var(--primary);
    background:var(--primary-soft);
    color:#216b43;
    box-shadow:0 6px 18px rgba(47,136,91,.11);
}
.simple-method .method-icon{
    width:27px;height:27px;
    display:grid;place-items:center;
    margin-bottom:2px;
    border-radius:8px;
    background:var(--surface);
    font-size:13px;
    font-weight:950;
}
.simple-method strong{font-size:10px}
.simple-method small{color:var(--muted);font-size:7px}
.advanced-payment-toggle{
    width:100%;
    display:flex;
    align-items:center;
    justify-content:space-between;
    min-height:42px;
    padding:0 11px;
    border:1px dashed var(--border-strong);
    border-radius:9px;
    background:transparent;
    color:var(--muted);
    font-size:9px;
    font-weight:850;
}
.advanced-payment-toggle span{font-size:8px;font-weight:600}
.advanced-payment{
    padding:10px;
    border:1px solid var(--border);
    border-radius:10px;
    background:var(--surface-2);
}
.advanced-tabs{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:5px;
    margin-bottom:9px;
}
.advanced-tabs button{
    min-height:34px;
    border:1px solid var(--border);
    border-radius:7px;
    background:var(--surface);
    color:var(--text);
    font-size:8px;
    font-weight:850;
}
.advanced-tabs button.active{background:var(--primary);border-color:var(--primary);color:#fff}
.advanced-help{padding:8px 0;color:var(--muted);font-size:9px}
.split-grid,.mixed-add-grid{
    display:grid;
    grid-template-columns:repeat(3,1fr);
    gap:6px;
}
.split-grid button,.mixed-add-grid button{
    min-height:49px;
    border:1px solid var(--border);
    border-radius:8px;
    background:var(--surface);
    color:var(--text);
}
.split-grid strong,.split-grid span{display:block}
.split-grid strong{font-size:9px}.split-grid span{margin-top:3px;color:var(--primary);font-size:9px;font-weight:900}
.mixed-list{display:grid;gap:5px;margin-top:8px}
.mixed-row{display:grid;grid-template-columns:1fr 120px 32px;gap:6px;align-items:center}
.mixed-row button{height:34px;border:0;border-radius:7px;background:var(--danger-soft);color:var(--danger)}
.payment-submit-main{
    min-width:190px;
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:14px;
}
.payment-submit-main strong{font-size:12px}

.closed-summary-grid{
    grid-template-columns:repeat(2,minmax(0,260px));
    margin-top:10px;
}
.closed-panel{margin-top:10px}
.closed-list-wrap{overflow:auto}
.closed-table{width:100%;border-collapse:collapse}
.closed-table th,.closed-table td{
    padding:11px 12px;
    border-bottom:1px solid var(--border);
    text-align:left;
    white-space:nowrap;
    font-size:9px;
}
.closed-table th{
    color:var(--muted);
    background:var(--surface-2);
    font-size:8px;
    font-weight:900;
    text-transform:uppercase;
}
.closed-table td strong,.closed-table td small{display:block}
.closed-table td small{margin-top:3px;color:var(--muted);font-size:7px}
.closed-actions{display:flex;gap:5px}
.closed-actions .btn{min-height:31px;padding:0 8px;font-size:8px}
.receipt-btn{
    border-color:#b9cee1!important;
    background:#eef7ff!important;
    color:#286d9f!important;
}
.paid-pill{
    padding:5px 7px;
    border-radius:999px;
    background:var(--primary-soft);
    color:#216b43;
    font-weight:900;
}
.closed-filter-row #closedSearch{width:220px}
.closed-detail-summary{
    display:grid;
    grid-template-columns:repeat(4,1fr);
    gap:7px;
    margin-bottom:14px;
}
.closed-detail-summary>div{
    padding:10px;
    border:1px solid var(--border);
    border-radius:9px;
    background:var(--surface-2);
}
.closed-detail-summary small,.closed-detail-summary strong{display:block}
.closed-detail-summary small{color:var(--muted);font-size:7px}
.closed-detail-summary strong{margin-top:5px;font-size:13px}
.closed-detail-summary .green{background:var(--primary-soft);border-color:#b5d5c0}
.closed-detail-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:12px}
.archive-item-list{display:grid;gap:5px}
.archive-item{
    display:flex;
    align-items:flex-start;
    justify-content:space-between;
    gap:9px;
    padding:8px 9px;
    border:1px solid var(--border);
    border-radius:8px;
    background:var(--surface-2);
}
.archive-item strong,.archive-item small{display:block}
.archive-item strong{font-size:9px}.archive-item small{margin-top:3px;color:var(--muted);font-size:7px}
.archive-item.cancelled{opacity:.6;background:var(--danger-soft)}
.green-text{color:var(--primary)}.red-text{color:var(--danger)}
.archive-subtitle{margin-top:14px}
.archive-history{display:grid;gap:4px}
.archive-history>div{display:grid;grid-template-columns:115px 1fr;gap:8px;padding:7px;border-bottom:1px solid var(--border)}
.archive-history time{color:var(--muted);font-size:7px}
.archive-history strong,.archive-history small{display:block}
.archive-history strong{font-size:8px}.archive-history small{margin-top:2px;color:var(--muted);font-size:7px}

.user-management-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:8px;padding:12px}
.pos-user-card{
    min-width:0;
    display:grid;
    grid-template-columns:42px 1fr auto;
    gap:9px;
    align-items:center;
    padding:11px;
    border:1px solid var(--border);
    border-radius:11px;
    background:var(--surface-2);
}
.pos-user-card.owner{
    border-color:#cfc2ef;
    background:linear-gradient(135deg,#f5f0ff,var(--surface));
}
.pos-user-avatar{width:42px;height:42px;display:grid;place-items:center;border-radius:11px;background:#e1eef5;color:#315f79;font-size:14px;font-weight:950}
.pos-user-card.owner .pos-user-avatar{background:#e9e0ff;color:#6247a6}
.pos-user-info{min-width:0}
.pos-user-info strong,.pos-user-info>span,.pos-user-info small{display:block}
.pos-user-info strong{font-size:10px}.pos-user-info>span{margin-top:3px;color:var(--primary);font-size:8px;font-weight:850}.pos-user-info small{margin-top:4px;color:var(--muted);font-size:7px}
.owner-badge{display:inline-block!important;margin-left:5px;padding:3px 5px;border-radius:999px;background:#7056bb;color:#fff!important;font-size:6px!important}
.active-user,.passive-user{padding:4px 6px;border-radius:999px;font-size:7px;font-weight:900}
.active-user{background:var(--primary-soft);color:#216b43}.passive-user{background:var(--danger-soft);color:var(--danger)}
.owner-security-note{display:grid;gap:3px;margin-bottom:12px;padding:10px;border:1px solid #d3c8ef;border-radius:9px;background:#f7f3ff;color:#66509b}
.owner-security-note strong{font-size:9px}.owner-security-note span{font-size:8px}
.pin-create-input{font-size:20px!important;letter-spacing:.35em;text-align:center}

body.dark-mode .payment-hero{background:linear-gradient(135deg,#102a1c,#0f2119)}
body.dark-mode .pos-user-card.owner{background:linear-gradient(135deg,#211a34,var(--surface))}
body.dark-mode .owner-security-note{background:#211a34;border-color:#49396e;color:#cdbdf4}
body.dark-mode .receipt-btn{background:#142b3e!important;color:#75b6e4!important;border-color:#274a63!important}

@media(max-width:1100px){
    .simple-method-grid{grid-template-columns:repeat(2,1fr)}
    .user-management-grid{grid-template-columns:repeat(2,minmax(200px,1fr))}
}
@media(max-width:760px){
    .closed-filter-row{width:100%;display:grid;grid-template-columns:1fr}
    .closed-filter-row #closedSearch{width:100%}
    .closed-summary-grid{grid-template-columns:1fr 1fr}
    .closed-detail-summary{grid-template-columns:1fr 1fr}
    .closed-detail-grid{grid-template-columns:1fr}
    .user-management-grid{grid-template-columns:1fr}
    .simple-method-grid{grid-template-columns:repeat(2,1fr)}
    .quick-amounts{grid-template-columns:repeat(2,1fr)}
    .advanced-tabs{grid-template-columns:repeat(2,1fr)}
}


/* =========================================================
   V1.3 - USER FRIENDLY / DAY END / CUSTOMER / RESET
   ========================================================= */

.boot-screen{
    position:fixed;inset:0;z-index:800;
    display:grid;place-content:center;justify-items:center;gap:6px;
    background:linear-gradient(145deg,#f7fafc,#e8f0f4);
    color:#1b2b37;
}
.boot-screen.hidden{display:none}
.boot-mark{
    width:58px;height:58px;display:grid;place-items:center;
    border-radius:16px;background:var(--primary);color:#fff;
    font-weight:950;font-size:18px;box-shadow:0 15px 35px rgba(47,136,91,.18)
}
.boot-screen strong{margin-top:4px;font-size:15px}.boot-screen small{color:#758795;font-size:9px}

.table-status,
.table-card-status{
    min-height:27px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    text-align:center!important;
    line-height:1.05!important;
    white-space:normal!important;
}
.table-card .table-card-status{max-width:92px}

.summary-accent.orange{background:linear-gradient(135deg,#d8942c,#edb45e);color:#fff;border-color:#e4c58e}
.summary-accent.purple{background:linear-gradient(135deg,#7053bf,#9b7be8);color:#fff;border-color:#c4b5eb}
.cash-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));margin-top:10px}
.cash-day-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(330px,.75fr);gap:10px;margin-top:10px}
.day-end-head{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;padding:12px;border-bottom:1px solid var(--border)}
.day-end-head>div{padding:9px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}
.day-end-head small,.day-end-head strong{display:block}.day-end-head small{color:var(--muted);font-size:7px}.day-end-head strong{margin-top:4px;font-size:9px}
.payment-rank-groups{display:grid;gap:8px;padding:12px}
.payment-rank-group{overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.payment-rank-group>header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 10px;border-left:4px solid var(--group-color);background:var(--surface-2)}
.payment-rank-group>header strong{font-size:9px}.payment-rank-group>header b{font-size:11px;color:var(--group-color)}
.payment-rank-group article{display:grid;grid-template-columns:24px 1fr auto;align-items:center;gap:8px;padding:8px 10px;border-top:1px solid var(--border)}
.payment-rank-group article:first-child{border-top:0}
.payment-rank-group article strong,.payment-rank-group article small{display:block}.payment-rank-group article strong{font-size:9px}.payment-rank-group article small{margin-top:2px;color:var(--muted);font-size:7px}
.rank-no{width:20px;height:20px;display:grid;place-items:center;border-radius:50%;background:var(--surface-3);color:var(--muted);font-size:8px;font-weight:900}
.cash-actions.friendly{grid-template-columns:1fr 1fr!important}
.day-close-button{grid-column:1/-1!important;background:linear-gradient(135deg,#2f885b,#4aa872)!important;color:#fff!important;border-color:#2f885b!important;min-height:48px!important}
.cash-mini-info{padding:9px 12px;border-top:1px solid var(--border);background:var(--surface-2);font-size:8px;color:var(--muted)}
.cash-mini-info strong{float:right;color:var(--text)}
.sub-header{border-top:1px solid var(--border)}
.big-money-input{height:50px!important;text-align:right;font-size:20px!important;font-weight:950!important}
.swal-day-end p{display:flex;justify-content:space-between;gap:20px;margin:7px 0;font-size:13px}

.customer-context{margin:8px 10px 0;padding:9px;border:1px solid #b9d9c5;border-radius:10px;background:linear-gradient(135deg,var(--primary-soft),var(--surface))}
.customer-main{display:grid;grid-template-columns:36px 1fr auto;gap:8px;align-items:center}
.customer-avatar{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:var(--primary);color:#fff;font-weight:950}
.customer-copy{min-width:0}.customer-copy strong{font-size:9px}.customer-copy small{display:block;margin-top:3px;color:var(--muted);font-size:7px}
.member-badge,.guest-badge,.birthday-badge{display:inline-flex;margin-left:4px;padding:3px 5px;border-radius:999px;font-size:6px!important;font-weight:950!important}
.member-badge{background:#d9f0e2;color:#226a43}.guest-badge{background:#edf2f5;color:#697c88}.birthday-badge{background:#fff0c9;color:#9b6811}
.customer-detail-btn{min-height:31px;border:1px solid #a9cfb7;border-radius:8px;background:#fff;color:#236c44;font-size:8px;font-weight:900}
.loyalty-mini{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:5px;margin-top:5px}
.loyalty-mini span,.loyalty-mini b{font-size:6px}.loyalty-mini>div{height:5px;overflow:hidden;border-radius:999px;background:#cfe0d5}.loyalty-mini i{display:block;height:100%;border-radius:inherit;background:var(--primary)}
.customer-detail-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-bottom:12px}
.customer-detail-stats>div{padding:10px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.customer-detail-stats small,.customer-detail-stats strong{display:block}.customer-detail-stats small{color:var(--muted);font-size:7px}.customer-detail-stats strong{margin-top:4px;font-size:11px}
.birthday-callout{margin-bottom:12px;padding:10px;border:1px solid #ead39d;border-radius:9px;background:#fff7df;color:#855d12;font-size:9px;font-weight:750}
.loyalty-list{display:grid;gap:7px}.loyalty-list article{padding:9px;border:1px solid var(--border);border-radius:9px;background:var(--surface-2)}.loyalty-list strong,.loyalty-list small{display:block}.loyalty-list strong{font-size:9px}.loyalty-list small{margin-top:2px;color:var(--muted);font-size:7px}
.loyalty-progress{height:7px;margin:8px 0 5px;overflow:hidden;border-radius:999px;background:var(--surface-3)}.loyalty-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--primary),#62b884)}
.loyalty-foot{display:flex;justify-content:space-between;gap:8px;font-size:7px;color:var(--muted)}

.friendly-adjustments{display:grid;gap:12px}.adjustment-choice-block{padding:10px;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}
.discount-quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.discount-quick-grid button{min-height:58px;border:1px solid #b8d7c4;border-radius:9px;background:#fff;color:#246a44}.discount-quick-grid strong,.discount-quick-grid span{display:block}.discount-quick-grid strong{font-size:15px}.discount-quick-grid span{margin-top:3px;font-size:7px}
.friendly-item-actions{display:grid;grid-template-columns:1fr 1fr;gap:6px}.friendly-item-actions button{min-height:44px;border-radius:8px;font-size:8px;font-weight:900}.compliment-big{border:1px solid #d9ca91;background:#fff7dc;color:#8a651c}.secondary-big{border:1px solid #b8d7c4;background:#eff9f3;color:#246a44}.full-width-button{width:100%;margin-top:8px}

.pos-user-card.expanded{grid-template-columns:42px 1fr auto;align-items:start}
.user-card-actions{grid-column:1/-1;display:flex;justify-content:flex-end;gap:5px;padding-top:8px;border-top:1px solid var(--border)}
.user-card-actions .btn{min-height:31px;padding:0 8px;font-size:8px}
.danger-outline{border-color:#e0b5b5!important;background:transparent!important;color:#b64242!important}
.permission-grid{display:grid;grid-template-columns:repeat(3,minmax(220px,1fr));gap:8px}.permission-group{overflow:hidden;border:1px solid var(--border);border-radius:10px;background:var(--surface-2)}.permission-group>header{padding:8px 9px;background:var(--surface-3);font-size:8px;font-weight:950}.permission-row{display:flex;align-items:flex-start;gap:8px;padding:8px 9px;border-top:1px solid var(--border);cursor:pointer}.permission-row input{margin-top:2px}.permission-row strong,.permission-row small{display:block}.permission-row strong{font-size:8px}.permission-row small{margin-top:2px;color:var(--muted);font-size:6px}
.reset-warning{text-align:left;font-size:12px;line-height:1.5}

body.dark-mode .boot-screen{background:linear-gradient(145deg,#08131c,#0d1d28);color:#f3f7fa}
body.dark-mode .customer-detail-btn,.body.dark-mode .discount-quick-grid button{background:var(--surface)}
body.dark-mode .birthday-callout{background:#332a16;border-color:#665426;color:#ebcc81}

@media(max-width:1150px){
 .cash-day-layout{grid-template-columns:1fr}
 .cash-summary-grid{grid-template-columns:repeat(2,1fr)}
 .permission-grid{grid-template-columns:repeat(2,minmax(200px,1fr))}
}
@media(max-width:720px){
 .day-end-head{grid-template-columns:1fr 1fr}
 .payment-rank-group article{grid-template-columns:24px 1fr auto}
 .customer-main{grid-template-columns:34px 1fr}.customer-detail-btn{grid-column:1/-1}
 .customer-detail-stats{grid-template-columns:1fr 1fr}
 .discount-quick-grid{grid-template-columns:1fr 1fr}
 .friendly-item-actions{grid-template-columns:1fr}
 .permission-grid{grid-template-columns:1fr}
}
