:root{--bg: #ebeef3;--panel: #ffffff;--panel-soft: #f1f3f7;--text: #2d3338;--muted: #596065;--border: rgba(45, 51, 56, .08);--primary: #bef500;--primary-strong: #aadd00;--primary-soft: rgba(190, 245, 0, .16);--on-primary: #435900;--primary-ink: #4f6700;--success: #16a34a;--amber: #f59e0b;--purple: #8b5cf6;--danger: #dc4a4a;--shadow: 0 1px 2px rgba(20, 24, 28, .04), 0 12px 34px -16px rgba(20, 24, 28, .2), inset 0 1px 0 rgba(255, 255, 255, .6);--radius: 14px;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh}button,input,select,textarea{font:inherit}#root{min-height:100vh}h1,h2,h3{margin:0}.login-screen,.select-screen{align-items:center;display:flex;justify-content:center;min-height:100vh;padding:32px}.login-card,.select-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:grid;gap:14px;max-width:420px;padding:40px;width:100%}.select-card{max-width:520px;gap:18px}.pin-card .brand-mark svg{height:30px;width:30px}.brand-mark{align-items:center;background:var(--primary);border-radius:12px;color:var(--on-primary);display:inline-flex;font-size:24px;font-weight:800;height:56px;justify-content:center;width:56px}.eyebrow{color:var(--primary-ink);font-size:13px;font-weight:800;letter-spacing:.04em;margin:0;text-transform:uppercase}.login-card h1,.select-card h1{font-size:30px}.login-sub{color:var(--muted);margin:0 0 8px}.field{display:grid;gap:6px}.field span{font-size:14px;font-weight:700}.field input{background:var(--bg);border:1px solid var(--border);border-radius:10px;padding:12px 14px}.field input:focus{border-color:var(--primary);outline:none}.login-error,.select-error,.cart__error{background:#ef44441a;border-radius:10px;color:var(--danger);font-weight:700;margin:0;padding:10px 12px}.login-submit,.select-start{background:var(--primary);border:none;border-radius:10px;color:var(--on-primary);cursor:pointer;font-size:16px;font-weight:800;margin-top:6px;padding:14px}.login-submit:disabled,.select-start:disabled{cursor:not-allowed;opacity:.55}.select-group h2{color:var(--muted);font-size:14px;letter-spacing:.02em;margin:0 0 10px;text-transform:uppercase}.select-options{display:flex;flex-wrap:wrap;gap:10px}.select-option{background:var(--bg);border:1px solid var(--border);border-radius:10px;cursor:pointer;font-weight:700;padding:14px 18px}.select-option.is-active{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.select-hint{color:var(--muted);margin:0}.internet-banner{background:var(--danger);border-radius:10px;color:#fff;font-weight:800;left:24px;padding:12px 18px;position:fixed;top:20px;z-index:50}.cashier{display:grid;grid-template-columns:248px 1fr 384px;height:100vh;overflow:hidden}.sidebar{background:var(--panel);border-right:1px solid var(--border);display:flex;flex-direction:column;gap:22px;min-height:0;padding:20px 16px}.sidebar__brand{align-items:center;display:flex;gap:12px;padding:4px 8px}.sidebar__brand .brand-mark{border-radius:12px;font-size:20px;height:44px;width:44px}.sidebar__brand-text{display:grid;gap:2px;min-width:0}.sidebar__brand-name{font-size:15px;font-weight:800;line-height:1.1}.sidebar__brand-store{color:var(--muted);font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__online{align-items:center;color:var(--success);display:inline-flex;font-size:11px;font-weight:700;gap:5px}.sidebar__online:before{background:var(--success);border-radius:50%;content:"";height:7px;width:7px}.sidebar__nav{display:flex;flex:1;flex-direction:column;gap:4px;min-height:0;overflow-y:auto}.nav-item{align-items:center;background:transparent;border:none;border-radius:12px;color:var(--muted);cursor:pointer;display:flex;font-size:15px;font-weight:600;gap:12px;padding:12px 14px;text-align:left;width:100%}.nav-item:hover{background:var(--panel-soft);color:var(--text)}.nav-item.is-active{background:var(--text);box-shadow:0 12px 22px -10px #2d33388c;color:#fff}.nav-item.is-active:hover{background:var(--text);color:#fff}.nav-item svg{height:20px;width:20px}.sidebar__scan{align-items:center;background:var(--panel-soft);border:1px dashed var(--border);border-radius:12px;color:var(--muted);display:flex;gap:12px;padding:14px}.sidebar__scan svg{color:var(--primary-ink);height:22px;width:22px}.sidebar__scan-title{color:var(--text);display:flex;font-size:13px;font-weight:700;gap:6px}.sidebar__scan-hint{display:block;font-size:11px;margin-top:2px}.kbd{background:var(--panel);border:1px solid var(--border);border-radius:6px;color:var(--muted);font-size:11px;font-weight:700;padding:1px 6px}.main{display:flex;flex-direction:column;min-height:0;min-width:0}.topbar{align-items:center;background:var(--panel);border-bottom:1px solid var(--border);display:flex;gap:14px;padding:14px 20px}.topbar__search{flex:1;position:relative}.topbar__search svg.search-icon{color:var(--muted);height:18px;left:16px;position:absolute;top:50%;transform:translateY(-50%);width:18px}.topbar__search input{background:var(--bg);border:1px solid var(--border);border-radius:12px;padding:12px 44px;width:100%}.topbar__search input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);outline:none}.topbar__search .kbd{position:absolute;right:12px;top:50%;transform:translateY(-50%)}.topbar__scan{align-items:center;background:var(--primary-soft);border:none;border-radius:12px;color:var(--primary-ink);cursor:pointer;display:inline-flex;font-weight:700;gap:8px;padding:12px 16px;white-space:nowrap}.topbar__scan svg{height:18px;width:18px}.topbar__time{align-items:center;color:var(--muted);display:flex;gap:8px;font-size:13px;line-height:1.2;white-space:nowrap}.topbar__time svg{height:18px;width:18px}.topbar__time b{color:var(--text);display:block;font-weight:700}.topbar__userwrap{position:relative}.topbar__user{align-items:center;background:transparent;border:none;border-left:1px solid var(--border);cursor:pointer;display:flex;gap:10px;padding-left:14px;position:relative}.avatar{align-items:center;background:var(--primary-soft);border-radius:50%;color:var(--primary-ink);display:inline-flex;font-size:14px;font-weight:800;height:40px;justify-content:center;width:40px}.topbar__user-text{display:grid;line-height:1.2;text-align:left}.topbar__user-text small{color:var(--muted);font-size:11px}.topbar__user-text b{font-size:14px}.user-menu{background:var(--panel);border:1px solid var(--border);border-radius:12px;box-shadow:var(--shadow);display:grid;gap:2px;padding:6px;position:absolute;right:0;top:calc(100% + 8px);width:180px;z-index:40}.user-menu button{align-items:center;background:transparent;border:none;border-radius:8px;color:var(--text);cursor:pointer;display:flex;font-weight:600;gap:10px;padding:10px 12px;text-align:left;width:100%}.user-menu button:hover{background:var(--panel-soft)}.user-menu button.danger{color:var(--danger)}.user-menu svg{height:16px;width:16px}.main__scroll{display:flex;flex-direction:column;gap:18px;min-height:0;overflow-y:auto;padding:20px}.statcards{display:grid;gap:16px;grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);display:flex;gap:14px;padding:16px}.stat-card__icon{align-items:center;border-radius:12px;display:inline-flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.stat-card__icon svg{height:22px;width:22px}.stat-card__icon.blue{background:var(--primary-soft);color:var(--primary-ink)}.stat-card__icon.green{background:#dcfce7;color:var(--success)}.stat-card__icon.amber{background:#fef3c7;color:var(--amber)}.stat-card__icon.purple{background:#ede9fe;color:var(--purple)}.stat-card__label{color:var(--muted);font-size:12px}.stat-card__value{font-size:20px;font-weight:800;margin:2px 0}.stat-card__delta{font-size:12px;font-weight:700}.stat-card__delta.up{color:var(--success)}.stat-card__sub{color:var(--muted);font-size:12px}.cat-tabs{display:flex;flex-wrap:wrap;gap:10px}.cat-tab{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:12px;color:var(--muted);cursor:pointer;display:inline-flex;font-weight:700;gap:8px;padding:10px 16px}.cat-tab svg{height:16px;width:16px}.cat-tab.is-active{background:var(--panel);border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-soft);color:var(--primary-ink)}.product-grid{display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(172px,1fr))}.product-card{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);display:flex;flex-direction:column;overflow:hidden;transition:box-shadow .18s ease,transform .18s ease}.product-card:hover{box-shadow:0 14px 30px -12px #14181c4d;transform:translateY(-2px)}.product-card__media{align-items:center;aspect-ratio:4 / 3;background:var(--panel-soft);display:flex;font-size:44px;justify-content:center;overflow:hidden;position:relative}.product-card__media img{height:100%;object-fit:cover;width:100%}.product-card__stock{background:#dcfce7;border-radius:999px;color:var(--success);font-size:11px;font-weight:700;left:10px;padding:3px 9px;position:absolute;top:10px}.product-card__stock.low{background:#fee2e2;color:var(--danger)}.product-card__fav{align-items:center;background:#ffffffe6;border:none;border-radius:50%;color:var(--muted);cursor:pointer;display:inline-flex;height:28px;justify-content:center;position:absolute;right:10px;top:10px;width:28px}.product-card__fav svg{height:15px;width:15px}.product-card__body{display:grid;gap:2px;padding:12px 14px 14px}.product-card__name{font-weight:700;line-height:1.25}.product-card__cat{color:var(--muted);font-size:12px}.product-card__price{color:var(--primary-ink);font-size:16px;font-weight:800;margin-top:4px}.catalog__hint{color:var(--muted);margin:0}.cart{background:var(--panel);border-left:1px solid var(--border);display:flex;flex-direction:column;min-height:0}.cart__head{align-items:center;display:flex;justify-content:space-between;padding:18px 20px}.cart__head h2{font-size:17px}.cart__clear{align-items:center;background:transparent;border:none;color:var(--danger);cursor:pointer;display:inline-flex;font-size:13px;font-weight:700;gap:5px}.cart__clear svg{height:15px;width:15px}.cart__empty{color:var(--muted);padding:8px 20px}.cart__items{display:flex;flex:1;flex-direction:column;gap:14px;list-style:none;margin:0;min-height:0;overflow-y:auto;padding:6px 20px}.cart-item{align-items:center;display:grid;gap:12px;grid-template-columns:44px 1fr auto}.cart-item__thumb{align-items:center;background:var(--panel-soft);border-radius:10px;display:flex;font-size:22px;height:44px;justify-content:center;overflow:hidden;width:44px}.cart-item__thumb img{height:100%;object-fit:cover;width:100%}.cart-item__name{font-size:14px;font-weight:700;line-height:1.2}.cart-item__cat{color:var(--muted);font-size:12px}.cart-item__qty{align-items:center;display:inline-flex;gap:6px;margin-top:6px}.cart-item__qty button{align-items:center;background:var(--panel-soft);border:1px solid var(--border);border-radius:7px;color:var(--text);cursor:pointer;display:inline-flex;height:26px;justify-content:center;width:26px}.cart-item__qty span{font-weight:700;min-width:18px;text-align:center}.cart-item__qty svg{height:13px;width:13px}.cart-item__right{display:grid;gap:6px;justify-items:end}.cart-item__price{font-weight:800;white-space:nowrap}.cart-item__remove{background:transparent;border:none;color:var(--muted);cursor:pointer;padding:0}.cart-item__remove svg{height:16px;width:16px}.cart__summary{border-top:1px solid var(--border);display:grid;gap:8px;padding:16px 20px 6px}.cart__row{color:var(--muted);display:flex;font-size:14px;justify-content:space-between}.cart__row b{color:var(--text);font-weight:700}.cart__row .discount{color:var(--danger);font-weight:700}.cart__row .pencil{color:var(--primary-ink);cursor:pointer;height:13px;margin-left:5px;width:13px}.cart__total{align-items:baseline;border-top:1px solid var(--border);display:flex;justify-content:space-between;margin-top:6px;padding-top:12px}.cart__total span{font-size:15px;font-weight:700}.cart__total b{color:var(--primary-ink);font-size:24px;font-weight:800}.cart__foot{display:grid;gap:12px;padding:14px 20px 18px}.cart__customer{align-items:center;display:flex;gap:8px}.cart__customer button:first-child{background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--muted);cursor:pointer;flex:1;padding:11px 14px;text-align:left}.cart__customer-add{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--primary-ink);cursor:pointer;display:inline-flex;height:42px;justify-content:center;width:42px}.cart__paylabel{color:var(--muted);font-size:12px;font-weight:700}.paymethods{display:grid;gap:8px;grid-template-columns:repeat(4,1fr)}.paymethod{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:10px;color:var(--muted);cursor:pointer;display:flex;flex-direction:column;font-size:11px;font-weight:700;gap:5px;padding:10px 4px}.paymethod svg{height:18px;width:18px}.paymethod.is-active{background:var(--primary-soft);border-color:var(--primary);color:var(--primary-ink)}.cart__pay{align-items:center;background:var(--primary);border:none;border-radius:12px;color:var(--on-primary);cursor:pointer;display:flex;font-size:17px;font-weight:800;justify-content:space-between;padding:16px 18px}.cart__pay:disabled{cursor:not-allowed;opacity:.55}.cart__pay .kbd{background:#0000001a;border:none;color:var(--on-primary)}.cart__foot-actions{display:grid;gap:10px;grid-template-columns:1fr}.cart__foot-actions button{align-items:center;background:var(--bg);border:1px solid var(--border);border-radius:10px;cursor:pointer;display:inline-flex;font-weight:700;gap:7px;justify-content:center;padding:12px}.cart__foot-actions .hold{color:var(--amber)}.cart__foot-actions .print{color:var(--success)}.cart__foot-actions svg{height:16px;width:16px}.cart--receipt{align-items:center;justify-content:center;padding:24px}.receipt{display:grid;gap:10px;text-align:center}.receipt__ok{color:var(--success);font-size:20px;font-weight:800;margin:0}.receipt__no{color:var(--muted);font-family:ui-monospace,monospace;margin:0}.receipt__total{font-size:32px;font-weight:800;margin:0}@media (max-width: 1180px){.cashier{grid-template-columns:72px 1fr 360px}.sidebar__brand-text,.nav-item span,.sidebar__profile-text,.sidebar__profile .chev{display:none}.nav-item,.sidebar__brand,.sidebar__profile{justify-content:center}.topbar__time{display:none}}.catalog{display:flex;flex-direction:column;gap:16px}.breadcrumb{align-items:center;color:var(--muted);display:flex;flex-wrap:wrap;font-size:13px;font-weight:600;gap:6px}.breadcrumb svg{height:14px;width:14px}.breadcrumb .is-current{color:var(--text)}.catalog__title{font-size:26px;font-weight:800;letter-spacing:-.01em;margin:-4px 0 0}.product-card__foot{align-items:center;display:flex;gap:8px;justify-content:space-between;margin-top:10px}.qty-stepper{align-items:center;display:inline-flex;gap:8px}.qty-stepper__count{font-weight:700;min-width:14px;text-align:center}.qty-stepper__btn{align-items:center;background:var(--panel);border:1px solid var(--border);border-radius:50%;color:var(--text);cursor:pointer;display:inline-flex;flex:none;height:30px;justify-content:center;transition:background .15s ease,transform .05s ease;width:30px}.qty-stepper__btn:disabled{color:var(--muted);cursor:not-allowed;opacity:.45}.qty-stepper__btn:not(:disabled):active{transform:scale(.92)}.qty-stepper__btn svg{height:16px;width:16px}.qty-stepper__btn--add{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.qty-stepper__btn--add:hover{background:var(--primary-strong);border-color:var(--primary-strong)}.sidebar__foot{border-top:1px solid var(--border);margin-top:8px;padding-top:12px;position:relative}.sidebar__profile{align-items:center;background:var(--panel-soft);border:1px solid var(--border);border-radius:14px;cursor:pointer;display:flex;gap:10px;padding:8px 10px;width:100%}.sidebar__profile .avatar{flex:none;height:38px;width:38px}.sidebar__profile-text{display:grid;flex:1;line-height:1.25;min-width:0;text-align:left}.sidebar__profile-text b{font-size:14px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar__profile-text small{color:var(--muted);font-size:12px;text-transform:capitalize}.sidebar__profile .chev{color:var(--muted);flex:none;height:18px;transition:transform .18s ease;width:18px}.sidebar__profile .chev.open{transform:rotate(180deg)}.profile-menu{background:var(--panel);border:1px solid var(--border);border-radius:12px;bottom:calc(100% + 8px);box-shadow:var(--shadow);display:grid;gap:2px;left:0;padding:6px;position:absolute;right:0;z-index:40}.profile-menu button{align-items:center;background:transparent;border:none;border-radius:8px;color:var(--text);cursor:pointer;display:flex;font-weight:600;gap:10px;padding:10px 12px;text-align:left;width:100%}.profile-menu button:hover{background:var(--panel-soft)}.profile-menu button.danger{color:var(--danger)}.profile-menu svg{height:16px;width:16px}.topbar__neworder{align-items:center;background:var(--text);border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-weight:700;gap:8px;padding:12px 18px;white-space:nowrap}.topbar__neworder:hover{background:#1f242b}.topbar__neworder svg{height:18px;width:18px}.cart__head-sub{color:var(--muted);font-size:13px;margin:2px 0 0}.cart__items-label{color:var(--muted);display:flex;font-size:12px;font-weight:700;justify-content:space-between;letter-spacing:.03em;padding:6px 20px 0;text-transform:uppercase}.order-item{align-items:center;display:grid;gap:10px;grid-template-columns:auto 40px 1fr auto auto}.order-item__qty{background:var(--panel-soft);border-radius:7px;color:var(--text);font-size:12px;font-weight:800;padding:3px 7px}.order-item__thumb{align-items:center;background:var(--panel-soft);border-radius:10px;display:flex;flex:none;font-size:20px;height:40px;justify-content:center;overflow:hidden;width:40px}.order-item__thumb img{height:100%;object-fit:cover;width:100%}.order-item__info{min-width:0}.order-item__name{font-size:14px;font-weight:700;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.order-item__cat{color:var(--muted);font-size:12px}.order-item__price{font-weight:800;white-space:nowrap}.order-item__remove{align-items:center;background:transparent;border:none;color:var(--muted);cursor:pointer;display:inline-flex;padding:2px}.order-item__remove:hover{color:var(--danger)}.order-item__remove svg{height:16px;width:16px}.cart__summary-label{color:var(--muted);font-size:12px;font-weight:700;letter-spacing:.03em;margin-bottom:2px;text-transform:uppercase}
