*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #1a1814;--surface: #221f1a;--surface2: #2d2923;--surface3: #38332c;--border: #47413a;--border2: #58514a;--text: #f2ede5;--text2: #c4b8aa;--text3: #8c8077;--accent: #c9a84c;--accent2: #e0c06a;--accentbg: rgba(201,168,76,.1);--green: #4caf7d;--red: #d95f4b;--amber: #d4924a;--blue: #5b8dd9;--r1: 5px;--r2: 8px;--r3: 12px;--r4: 16px;--sh: 0 2px 16px rgba(0,0,0,.35);--sh2: 0 8px 40px rgba(0,0,0,.55);--font: "DM Sans", sans-serif;--mono: "JetBrains Mono", monospace}[data-theme=light]{--bg: #f5f2ed;--surface: #ffffff;--surface2: #f0ece5;--surface3: #e8e2d9;--border: #d8d0c4;--border2: #c4b9ab;--text: #1a1814;--text2: #4a4238;--text3: #8a7d6e;--accent: #b8922e;--accent2: #d4aa44;--accentbg: rgba(184,146,46,.1);--green: #2e8a56;--red: #c0402e;--amber: #c07830;--blue: #3a6bbf;--sh: 0 2px 16px rgba(0,0,0,.1);--sh2: 0 8px 40px rgba(0,0,0,.18)}[data-theme=light] ::-webkit-scrollbar-thumb{background:var(--border2)}[data-theme=light] .inp{background:#fff}[data-theme=light] .sidebar{border-right-color:var(--border)}[data-theme=light] .tbl tbody tr:hover{background:var(--surface2)}html,body{height:100%;background:var(--bg);color:var(--text);font-family:var(--font);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}#root{height:100%}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--border2);border-radius:99px}::-webkit-scrollbar-thumb:hover{background:var(--text3)}.btn{display:inline-flex;align-items:center;gap:.4rem;padding:.45rem .9rem;border-radius:var(--r2);border:none;cursor:pointer;font-family:var(--font);font-size:.86rem;font-weight:600;transition:all .15s;white-space:nowrap}.btn:disabled{opacity:.35;cursor:not-allowed}.btn-primary{background:var(--accent);color:#1a1814;font-weight:700}.btn-primary:hover:not(:disabled){background:var(--accent2);box-shadow:0 3px 12px #c9a84c59;transform:translateY(-1px)}.btn-ghost{background:transparent;color:var(--text2);border:1.5px solid var(--border2)}.btn-ghost:hover:not(:disabled){background:var(--surface3);color:var(--text);border-color:var(--border2)}.btn-danger{background:#d95f4b1a;color:var(--red);border:1.5px solid rgba(217,95,75,.2)}.btn-danger:hover:not(:disabled){background:#d95f4b33}.btn-green{background:var(--green);color:#fff;font-weight:700}.btn-green:hover:not(:disabled){opacity:.88;transform:translateY(-1px)}.btn-sm{padding:.28rem .6rem;font-size:.8rem}.btn-lg{padding:.7rem 1.4rem;font-size:.92rem}.btn-icon{padding:.42rem;border-radius:var(--r1)}.inp{width:100%;padding:.55rem .8rem;background:var(--surface2);border:1.5px solid var(--border);border-radius:var(--r2);color:var(--text);font-family:var(--font);font-size:.87rem;outline:none;transition:border-color .15s}.inp:focus{border-color:var(--accent)}.inp::placeholder{color:var(--text3)}.inp-sm{padding:.32rem .6rem;font-size:.87rem}select.inp{cursor:pointer}textarea.inp{resize:vertical;min-height:80px}.lbl{display:block;font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text3);margin-bottom:.35rem}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r3)}.badge{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .55rem;border-radius:99px;font-size:.8rem;font-weight:700}.badge-green{background:#4caf7d1f;color:var(--green)}.badge-red{background:#d95f4b1f;color:var(--red)}.badge-amber{background:#d4924a1f;color:var(--amber)}.badge-blue{background:#5b8dd91f;color:var(--blue)}.badge-purple{background:#c9a84c1f;color:var(--accent2)}.badge-grey{background:var(--surface3);color:var(--text2)}.tbl{width:100%;border-collapse:collapse}.tbl th{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text3);padding:.6rem .9rem;border-bottom:1px solid var(--border);text-align:left;white-space:nowrap;background:var(--surface)}.tbl td{padding:.85rem 1rem;border-bottom:1px solid var(--border);font-size:.86rem;vertical-align:middle;color:var(--text)}.tbl tr:last-child td{border-bottom:none}.tbl tbody tr:hover{background:var(--surface2)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#000000bf;z-index:200;display:flex;align-items:center;justify-content:center;padding:1.5rem;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:fadeIn .15s ease}.modal-box{background:var(--surface);border:1px solid var(--border2);border-radius:var(--r4);width:100%;max-height:90vh;overflow-y:auto;box-shadow:var(--sh2);animation:slideUp .2s ease}.modal-hd{display:flex;align-items:center;justify-content:space-between;padding:1.1rem 1.4rem;border-bottom:1px solid var(--border);position:sticky;top:0;background:var(--surface);z-index:1;border-radius:var(--r4) var(--r4) 0 0}.modal-hd h3{font-size:.95rem;font-weight:700;color:var(--text)}.modal-bd{padding:1.4rem}.tabs{display:flex;gap:.25rem;background:var(--surface2);border-radius:var(--r2);padding:.2rem}.tab{padding:.35rem .8rem;border-radius:var(--r1);font-size:.87rem;font-weight:600;cursor:pointer;border:none;background:transparent;color:var(--text2);transition:all .15s;font-family:var(--font)}.tab.active{background:var(--surface3);color:var(--text);box-shadow:0 1px 4px #0000004d}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--r3);padding:1.1rem 1.3rem}.stat-lbl{font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text3);margin-bottom:.4rem}.stat-val{font-size:1.75rem;font-weight:700;font-family:var(--mono)}.stat-sub{font-size:.83rem;color:var(--text2);margin-top:.2rem}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:4rem 2rem;color:var(--text3);text-align:center}.empty-icon{font-size:2.5rem;opacity:.45}.page-hd{display:flex;align-items:center;justify-content:space-between;margin-bottom:1.2rem;flex-wrap:wrap;gap:.75rem}.page-title{font-size:1.2rem;font-weight:700;color:var(--text)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-grid .span2{grid-column:span 2}@media (max-width: 600px){.form-grid{grid-template-columns:1fr}.form-grid .span2{grid-column:span 1}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}.spinner{width:18px;height:18px;border:2.5px solid var(--border2);border-top-color:var(--accent);border-radius:50%;animation:spin .65s linear infinite}.app-shell{display:flex;height:100vh;overflow:hidden}.sidebar{width:220px;flex-shrink:0;background:var(--surface);border-right:1px solid var(--border);display:flex;flex-direction:column;overflow-y:auto}.sidebar a.active,.sidebar [aria-current=page]{background:var(--accentbg)!important;color:var(--accent)!important;border-left:2px solid var(--accent);padding-left:calc(.7rem - 2px)!important}.main-area{flex:1;overflow-y:auto;display:flex;flex-direction:column}.page-wrap{padding:1.5rem 1.75rem;flex:1}.mobile-topbar,.mobile-bottomnav{display:none}@media (max-width: 768px){.sidebar{position:fixed;left:-240px;top:0;bottom:0;z-index:100;transition:left .25s cubic-bezier(.4,0,.2,1);width:240px}.sidebar.open{left:0;box-shadow:var(--sh2)}.sidebar-close-btn{display:flex!important}.mobile-topbar{display:flex;align-items:center;justify-content:space-between;padding:.6rem 1rem;background:var(--surface);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;flex-shrink:0}.mobile-bottomnav{display:flex;align-items:center;background:var(--surface);border-top:1px solid var(--border);position:sticky;bottom:0;z-index:50;flex-shrink:0;padding-bottom:env(safe-area-inset-bottom,0px)}.page-wrap{padding:.85rem .9rem .5rem}.main-area{display:flex;flex-direction:column;overflow:hidden;height:100vh}.main-area>main{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch}.tbl-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-backdrop{padding:0;align-items:flex-end}.modal-box{border-radius:var(--r4) var(--r4) 0 0;max-height:92vh;width:100%}.page-hd{flex-direction:column;align-items:flex-start;gap:.6rem}.page-hd>div{width:100%}@media (max-width: 480px){.stat-card-grid{grid-template-columns:1fr 1fr!important}}}@keyframes marquee-scroll{0%{transform:translate(0)}10%{transform:translate(0)}80%{transform:translate(var(--marquee-distance, -60%))}90%{transform:translate(var(--marquee-distance, -60%))}to{transform:translate(0)}}.variant-label-wrap{display:block;overflow:hidden;white-space:nowrap;cursor:inherit}.variant-label-text{display:inline-block;white-space:nowrap}.variant-label-wrap:hover .variant-label-text{animation:marquee-scroll 2.8s ease-in-out forwards}.variant-label-wrap{position:relative}.variant-label-wrap:after{content:attr(title);position:absolute;bottom:calc(100% + 6px);left:0;background:#1a1814;color:#f2ede5;border:1px solid var(--border2);border-radius:6px;padding:4px 9px;font-size:.78rem;font-weight:600;white-space:nowrap;pointer-events:none;opacity:0;transform:translateY(4px);transition:opacity .15s,transform .15s;z-index:999;box-shadow:0 4px 12px #0006;max-width:220px;overflow:hidden;text-overflow:ellipsis}.variant-label-wrap:hover:after{opacity:1;transform:translateY(0)}@media (hover: none),(max-width: 768px){.camera-scan-btn{display:flex!important}}@keyframes scanLine{0%{top:36%;opacity:1}50%{top:58%;opacity:.8}to{top:36%;opacity:1}}.inp.sn-dupe,.inp.sn-dupe:focus{border-color:var(--red)!important;background:#d95f4b14!important;outline:none}.inp.sn-ok,.inp.sn-ok:focus{border-color:var(--green)!important;outline:none}@media (max-width: 768px){.pos-mobile-tabs{display:flex!important;border-bottom:1px solid var(--border);flex-shrink:0}.pos-grid{grid-template-columns:1fr!important;height:auto!important;max-height:none!important;gap:0!important}.pos-panel-products,.pos-panel-cart{display:none!important;height:calc(100vh - 170px)}.pos-panel-products.pos-panel-active,.pos-panel-cart.pos-panel-active{display:flex!important}}.store-root{--sbg: #f7f5f0;--ssurf: #ffffff;--ssurf2: #f0ede6;--sborder: #e0d8cc;--stext: #1a1814;--stext2: #5a5248;--stext3: #9a8f82;--saccent: #c9a84c;--sgreen: #4caf7d;--sred: #d95f4b}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;-webkit-appearance:textfield;appearance:textfield}
