html,body{width:100%;height:100%}input::-ms-clear{display:none}input::-ms-reveal{display:none}html{-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%;-ms-overflow-style:scrollbar;-webkit-tap-highlight-color:#0000;font-family:sans-serif;line-height:1.15}body{margin:0}[tabindex="-1"]:focus{outline:none}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5em;font-weight:500}p{margin-top:0;margin-bottom:1em}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:0;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}address{font-style:normal;line-height:inherit;margin-bottom:1em}input[type=text],input[type=password],input[type=number],textarea{-webkit-appearance:none}ol,ul,dl{margin-top:0;margin-bottom:1em}ol ol,ul ul,ol ul,ul ol{margin-bottom:0}dt{font-weight:500}dd{margin-bottom:.5em;margin-left:0}blockquote{margin:0 0 1em}dfn{font-style:italic}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}pre,code,kbd,samp{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,Courier,monospace;font-size:1em}pre{margin-top:0;margin-bottom:1em;overflow:auto}figure{margin:0 0 1em}img{vertical-align:middle;border-style:none}a,area,button,[role=button],input:not([type=range]),label,select,summary,textarea{touch-action:manipulation}table{border-collapse:collapse}caption{text-align:left;caption-side:bottom;padding-top:.75em;padding-bottom:.3em}input,button,select,optgroup,textarea{color:inherit;font-size:inherit;font-family:inherit;line-height:inherit;margin:0}button,input{overflow:visible}button,select{text-transform:none}button,html [type=button],[type=reset],[type=submit]{-webkit-appearance:button}button::-moz-focus-inner{border-style:none;padding:0}[type=button]::-moz-focus-inner{border-style:none;padding:0}[type=reset]::-moz-focus-inner{border-style:none;padding:0}[type=submit]::-moz-focus-inner{border-style:none;padding:0}input[type=radio],input[type=checkbox]{box-sizing:border-box;padding:0}input[type=date],input[type=time],input[type=datetime-local],input[type=month]{-webkit-appearance:listbox}textarea{resize:vertical;overflow:auto}fieldset{border:0;min-width:0;margin:0;padding:0}legend{width:100%;max-width:100%;color:inherit;font-size:1.5em;line-height:inherit;white-space:normal;margin-bottom:.5em;padding:0;display:block}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button{height:auto}[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-cancel-button{-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item}template{display:none}[hidden]{display:none!important}*,:before,:after{box-sizing:border-box}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font:16px/1.45 system-ui,Segoe UI,Roboto,sans-serif;overflow:hidden}:root{--radius:12px;--radius-sm:8px;--shadow-sm:0 2px 8px #0000001f;--shadow:0 4px 20px #0000002e;--shadow-lg:0 8px 40px #00000047;--t:.18s ease;--card-tint:linear-gradient(145deg, rgba(var(--accent-rgb),.28) 0%, rgba(var(--accent-rgb),.06) 55%, transparent 100%)}[data-theme=dark]{--bg:#0c0e1a;--bg-2:#10132a;--panel:#161929;--panel-2:#1c2040;--border:#252945;--border-2:#31365a;--text:#e8eaf6;--text-dim:#8891c8;--text-muted:#4a5080;--header-bg:linear-gradient(135deg,#1a0533 0%,#0a1540 50%,#0d1b4b 100%);--card-bg:linear-gradient(145deg,#161929 0%,#1c2040 100%);--gradient:linear-gradient(135deg,#7c3aed 0%,#3b82f6 100%);--accent:#7c3aed;--accent-rgb:124,58,237;--ok-bg:#10b9811f;--ok-text:#34d399;--ok-bd:#10b9814d;--err-bg:#ef44441f;--err-text:#f87171;--err-bd:#ef44444d;--warn-bg:#f59e0b1f;--warn-text:#fbbf24;--warn-bd:#f59e0b4d;--overlay:#000000bf}[data-theme=light]{--bg:#eef0ff;--bg-2:#e3e6fc;--panel:#fff;--panel-2:#f4f5ff;--border:#c8cdf0;--border-2:#b0b7e8;--text:#1a1d2e;--text-dim:#5c6bc0;--text-muted:#9fa8da;--header-bg:linear-gradient(135deg,#4c1d95 0%,#1e3a8a 50%,#1d4ed8 100%);--card-bg:linear-gradient(145deg,#fff 0%,#f4f5ff 100%);--gradient:linear-gradient(135deg,#7c3aed 0%,#3b82f6 100%);--accent:#7c3aed;--accent-rgb:124,58,237;--ok-bg:#0596691a;--ok-text:#059669;--ok-bd:#0596694d;--err-bg:#dc26261a;--err-text:#dc2626;--err-bd:#dc26264d;--warn-bg:#d977061a;--warn-text:#d97706;--warn-bd:#d977064d;--overlay:#00000080}[data-palette=purple]{--gradient:linear-gradient(135deg,#7c3aed 0%,#3b82f6 100%);--accent:#7c3aed;--accent-rgb:124,58,237;--header-bg:linear-gradient(135deg,#1a0533 0%,#0a1540 50%,#0d1b4b 100%)}[data-palette=blue]{--gradient:linear-gradient(135deg,#2563eb 0%,#06b6d4 100%);--accent:#2563eb;--accent-rgb:37,99,235;--header-bg:linear-gradient(135deg,#071a3d 0%,#0a2b52 50%,#023c4d 100%)}[data-palette=green]{--gradient:linear-gradient(135deg,#059669 0%,#84cc16 100%);--accent:#059669;--accent-rgb:5,150,105;--header-bg:linear-gradient(135deg,#032b1f 0%,#064432 50%,#243d06 100%)}[data-palette=orange]{--gradient:linear-gradient(135deg,#ea580c 0%,#f59e0b 100%);--accent:#ea580c;--accent-rgb:234,88,12;--header-bg:linear-gradient(135deg,#3a1403 0%,#4a2205 50%,#4a3205 100%)}[data-palette=pink]{--gradient:linear-gradient(135deg,#db2777 0%,#f43f5e 100%);--accent:#db2777;--accent-rgb:219,39,119;--header-bg:linear-gradient(135deg,#380a1f 0%,#4a0f2e 50%,#3a0518 100%)}*{scrollbar-width:none;scrollbar-color:transparent transparent}::-webkit-scrollbar{width:0;height:0;display:none}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:0 0;border-radius:0}::-webkit-scrollbar-thumb:hover{background:0 0}.app{background:var(--bg);height:100svh;min-height:100svh;color:var(--text);transition:background var(--t), color var(--t);flex-direction:column;display:flex}.app-header{background:var(--header-bg);height:60px;box-shadow:var(--shadow);z-index:100;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:0 20px;display:flex}.header-brand{flex-shrink:0;align-items:center;gap:10px;display:flex}.brand-logo{object-fit:contain;flex-shrink:0;width:auto;height:40px}.brand-name{color:#fff;letter-spacing:-.2px;white-space:nowrap;font-size:15px;font-weight:700;line-height:1.1;display:block}.brand-sub{color:#ffffff80;letter-spacing:.1em;text-transform:uppercase;font-size:10px;display:block}.header-center{flex:1;justify-content:center;display:flex}.tabs{background:#ffffff14;border:1px solid #ffffff1f;border-radius:10px;gap:3px;padding:3px;display:flex}.tab{color:#fff9;cursor:pointer;transition:all var(--t);white-space:nowrap;background:0 0;border:none;border-radius:7px;padding:6px 18px;font-size:13px;font-weight:500}.tab:hover{color:#fff;background:#ffffff1a}.tab-active{color:#fff;background:#fff3;box-shadow:0 1px 6px #0003}.header-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.theme-toggle{color:#fff;cursor:pointer;width:34px;height:34px;transition:background var(--t);background:#ffffff1a;border:1px solid #fff3;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:15px;display:flex}.theme-toggle:hover{background:#ffffff38}.palette-switcher{flex-shrink:0;position:relative}.palette-swatch-btn{cursor:pointer;width:34px;height:34px;transition:transform var(--t);border:1px solid #ffffff4d;border-radius:8px;flex-shrink:0;padding:0}.palette-swatch-btn:hover{transform:scale(1.06)}.palette-menu{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:150;flex-direction:column;gap:2px;min-width:140px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0}.palette-option{color:var(--text);cursor:pointer;text-align:left;transition:background var(--t);background:0 0;border:none;border-radius:6px;align-items:center;gap:10px;padding:7px 8px;font-size:13px;display:flex}.palette-option:hover{background:var(--panel-2)}.palette-option--active{background:rgba(var(--accent-rgb),.12);font-weight:600}.palette-option .palette-swatch-btn{pointer-events:none;border-radius:5px;width:18px;height:18px}@media (width<=640px){.app-header{gap:6px;padding:0 10px}.brand-logo{height:30px}.brand-sub{display:none}.brand-name{font-size:13px}.tab{padding:6px 10px;font-size:12px}.theme-toggle,.palette-swatch-btn{width:30px;height:30px}}.bottom-nav{left:10px;right:10px;bottom:calc(10px + env(safe-area-inset-bottom,0));background:color-mix(in srgb, var(--panel), #000 8%);border:1px solid color-mix(in srgb, var(--border), transparent 12%);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000;border-radius:20px;justify-content:space-between;align-items:stretch;gap:4px;padding:6px;display:none;position:fixed;box-shadow:0 18px 40px #00000047}.bottom-nav-item{color:var(--text-dim);cursor:pointer;transition:color var(--t), background var(--t), transform var(--t);background:0 0;border:none;border-radius:14px;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:4px;min-height:54px;padding:8px 4px;font-size:11px;font-weight:700;display:flex;position:relative}.bottom-nav-item .admin-nav-badge{margin-left:0;padding:1px 5px;font-size:9px;position:absolute;top:4px;right:calc(50% - 20px)}.bottom-nav-item:hover{color:var(--text)}.bottom-nav-item--active{color:#fff;background:var(--gradient);box-shadow:0 10px 24px -12px rgba(var(--accent-rgb), .9)}.bottom-nav-item--active svg{filter:none}@media (width<=760px){.header-center{display:none}.bottom-nav{display:flex}}.app-main{flex:1;min-height:0;display:flex;overflow:hidden}.sell-layout{flex:1;grid-template-columns:1fr 340px;min-height:0;display:grid;overflow:hidden}@media (width<=860px){.sell-layout{grid-template-rows:1fr minmax(200px,38vh);grid-template-columns:1fr;overflow:hidden}.products-panel{border-right:none;border-bottom:1px solid var(--border)}}.products-panel{border-right:1px solid var(--border);flex-direction:column;gap:10px;min-height:0;padding:16px;display:flex;overflow:hidden}.products-panel-header{flex-direction:column;flex-shrink:0;gap:8px;display:flex}.panel-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin:0;font-size:12px;font-weight:600}.products-toolbar{align-items:center;gap:8px;display:flex}.sort-select{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel);color:var(--text);cursor:pointer;flex:1;padding:8px 10px;font-size:12px}.sort-select:focus{border-color:var(--accent);outline:none}.view-toggle{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius-sm);flex-shrink:0;gap:2px;padding:2px;display:flex}.view-toggle-btn{width:30px;height:30px;color:var(--text-dim);cursor:pointer;transition:all var(--t);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.view-toggle-btn:hover{color:var(--text)}.view-toggle-btn--active{background:var(--accent);color:#fff}.search-input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel);width:100%;color:var(--text);transition:border-color var(--t);padding:9px 12px;font-size:13px}.search-input:focus{border-color:var(--accent);outline:none}.search-input::placeholder{color:var(--text-muted)}.scan-input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel);width:100%;color:var(--text);transition:border-color var(--t);padding:9px 12px;font-family:ui-monospace,Consolas,monospace;font-size:13px}.scan-input:focus{border-color:#3b82f6;outline:none}.scan-input:disabled{opacity:.45}.scan-feedback{border-radius:var(--radius-sm);align-items:center;min-height:32px;padding:6px 10px;font-size:12px;display:flex}.scan-feedback--empty{background:0 0}.scan-feedback--success{background:var(--ok-bg);color:var(--ok-text);border:1px solid var(--ok-bd)}.scan-feedback--error{background:var(--err-bg);color:var(--err-text);border:1px solid var(--err-bd)}.scan-feedback--info{background:var(--warn-bg);color:var(--warn-text);border:1px solid var(--warn-bd)}.products-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));align-content:start;gap:10px;min-height:0;padding-bottom:4px;display:grid;overflow-y:auto}.products-grid::-webkit-scrollbar{width:5px}.products-grid::-webkit-scrollbar-track{background:0 0}.products-grid::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}.product-card{background:var(--card-tint), var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;transition:all var(--t);-webkit-user-select:none;user-select:none;flex-direction:column;gap:5px;padding:13px;display:flex;position:relative;overflow:hidden}.product-card:before{content:"";background:var(--gradient);opacity:0;height:3px;transition:opacity var(--t);position:absolute;top:0;left:0;right:0}.product-card:hover:not(.product-card--out){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent), var(--shadow-sm);transform:translateY(-1px)}.product-card:hover:not(.product-card--out):before{opacity:1}.product-card:active:not(.product-card--out){transform:translateY(0)}.product-card--out{opacity:.4;cursor:not-allowed}.product-card-image{object-fit:cover;border-radius:var(--radius-sm);background:var(--panel-2);width:100%;height:84px}.product-card-image--placeholder{color:var(--text-muted);justify-content:center;align-items:center;font-size:26px;font-weight:800;display:flex}.product-card-name{color:var(--text);font-size:12px;font-weight:600;line-height:1.3}.product-card-size{color:var(--accent);background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.25);border-radius:999px;align-self:flex-start;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.product-card-price{background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:15px;font-weight:700}.product-card-stock{color:var(--text-muted);margin-top:auto;font-size:10px}.product-card-stock--low{color:var(--warn-text)}.product-card-stock--out{color:var(--err-text)}.products-empty{text-align:center;color:var(--text-muted);grid-column:1/-1;padding:40px 20px;font-size:13px}.product-row-header{text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);grid-template-columns:48px minmax(140px,1fr) 90px 100px 120px;gap:24px;margin-bottom:6px;padding:0 16px 0 26px;font-size:10px;font-weight:700;display:grid}.product-row-header span:nth-child(3),.product-row-header span:nth-child(4),.product-row-header span:nth-child(5){text-align:center}.products-list{flex-direction:column;gap:8px;min-height:0;padding-bottom:4px;display:flex;overflow-y:auto}.products-list::-webkit-scrollbar{width:5px}.products-list::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}.product-row{background:var(--card-tint), var(--card-bg);border:1px solid var(--border);cursor:pointer;width:100%;transition:all var(--t);-webkit-user-select:none;user-select:none;border-radius:999px;grid-template-columns:48px minmax(140px,1fr) 90px 100px 120px;align-items:center;gap:24px;padding:8px 16px;display:grid}.product-row:hover:not(.product-row--out){border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}.product-row--out{opacity:.4;cursor:not-allowed}.product-row-image{object-fit:cover;background:var(--panel-2);border-radius:50%;flex-shrink:0;width:42px;height:42px}.product-row-image--placeholder{color:var(--text-muted);justify-content:center;align-items:center;font-size:16px;font-weight:800;display:flex}.product-row-name{color:var(--text);text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:13px;font-weight:600;overflow:hidden}.product-row-pill{text-align:center;white-space:nowrap;text-overflow:ellipsis;border-radius:999px;justify-content:center;align-items:center;padding:5px 10px;font-size:11px;font-weight:700;display:inline-flex;overflow:hidden}.product-row-pill--size{background:rgba(var(--accent-rgb),.12);border:1px solid rgba(var(--accent-rgb),.25);color:var(--accent)}.product-row-pill--price{background:var(--panel-2);border:1px solid var(--border);color:var(--text)}.product-row-pill--stock{background:var(--ok-bg);border:1px solid var(--ok-bd);color:var(--ok-text)}.product-row-pill--stock.product-row-pill--low{background:var(--warn-bg);border-color:var(--warn-bd);color:var(--warn-text)}.product-row-pill--stock.product-row-pill--out{background:var(--err-bg);border-color:var(--err-bd);color:var(--err-text)}@media (width<=480px){.products-panel{padding:10px}.product-row-header{grid-template-columns:30px minmax(70px,1fr) 54px 66px 74px;gap:6px;padding:0 10px}.product-row{grid-template-columns:30px minmax(70px,1fr) 54px 66px 74px;gap:6px;padding:6px 10px}.product-row-image{width:30px;height:30px}.product-row-image--placeholder,.product-row-name{font-size:12px}.product-row-pill{padding:4px 5px;font-size:9px}}.cart-panel{background:var(--panel);flex-direction:column;min-height:0;display:flex;overflow:hidden}.cart-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:14px 18px;display:flex}.cart-header h3{margin:0;font-size:14px;font-weight:700}.cart-count{color:var(--text-dim);font-size:11px}.cart-items{flex:1;min-height:0;overflow-y:auto}.cart-items::-webkit-scrollbar{width:4px}.cart-items::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.cart-empty{height:100%;color:var(--text-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;padding:20px;font-size:12px;display:flex}.cart-empty svg{opacity:.3}.cart-item{border-bottom:1px solid var(--border);flex-direction:column;gap:6px;padding:11px 18px;display:flex}.cart-item-top{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.cart-item-name{color:var(--text);font-size:13px;font-weight:600;line-height:1.3}.cart-item-subtotal{color:var(--text);white-space:nowrap;font-size:13px;font-weight:700}.cart-item-bottom{justify-content:space-between;align-items:center;gap:8px;display:flex}.cart-item-price{color:var(--text-dim);font-size:11px}.qty-stepper{align-items:center;gap:4px;display:flex}.qty-btn{border:1px solid var(--border);background:var(--panel-2);width:24px;height:24px;color:var(--text);cursor:pointer;transition:all var(--t);border-radius:5px;justify-content:center;align-items:center;padding:0;font-size:14px;line-height:1;display:flex}.qty-btn:hover{border-color:var(--accent);color:var(--accent)}.qty-value{text-align:center;min-width:26px;font-size:13px;font-weight:700}.remove-btn{color:var(--err-text);cursor:pointer;transition:background var(--t);background:0 0;border:none;border-radius:4px;padding:2px 5px;font-size:11px;line-height:1}.remove-btn:hover{background:var(--err-bg)}.cart-footer{border-top:1px solid var(--border);flex-direction:column;flex-shrink:0;gap:10px;padding:14px 18px;display:flex}.cart-total-row{justify-content:space-between;align-items:baseline;display:flex}.cart-total-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;font-size:12px}.cart-total-amount{background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:24px;font-weight:800}.btn-primary{background:var(--gradient);color:#fff;border-radius:var(--radius-sm);cursor:pointer;width:100%;transition:opacity var(--t), transform var(--t);box-shadow:0 2px 14px rgba(var(--accent-rgb),.35);letter-spacing:.01em;border:none;padding:12px;font-size:14px;font-weight:700}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.35;cursor:not-allowed;box-shadow:none;transform:none}.btn{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--card-tint), var(--panel-2);color:var(--text);cursor:pointer;transition:all var(--t);padding:9px 16px;font-size:13px;font-weight:500}.btn:hover{border-color:var(--accent)}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-clear{border:1px solid var(--border);color:var(--text-dim);border-radius:var(--radius-sm);cursor:pointer;transition:all var(--t);text-align:center;background:0 0;padding:7px;font-size:12px}.btn-clear:hover{border-color:var(--err-bd);color:var(--err-text)}.modal-overlay{background:var(--overlay);z-index:200;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.receipt-wrapper{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);flex-direction:column;width:min(100%,340px);max-width:100%;max-height:90vh;display:flex;overflow-y:auto}html,body,#root{height:100%;overflow:hidden}.receipt-wrapper::-webkit-scrollbar{width:4px}.receipt-wrapper::-webkit-scrollbar-thumb{background:var(--border);border-radius:2px}.receipt-actions{border-top:1px solid var(--border);flex-shrink:0;gap:10px;padding:14px 18px;display:flex}.receipt-actions .btn-primary,.receipt-actions .btn{flex:1}.ticket{box-sizing:border-box;color:#000;-webkit-print-color-adjust:exact;print-color-adjust:exact;text-rendering:geometricprecision;background:#fff;width:72mm;max-width:100%;padding:3mm 2.5mm 8mm;font-family:Arial,Helvetica,sans-serif;font-size:10px;line-height:1.02;overflow:hidden}.ticket-logo{object-fit:contain;mix-blend-mode:normal;width:100%;max-width:148px;height:auto;max-height:58px;margin:0 auto;display:block;filter:none!important;opacity:1!important}.ticket table{border-collapse:collapse;table-layout:fixed;width:100%;margin-bottom:4px;font-size:10px}.ticket td,.ticket th{text-align:left;vertical-align:middle;border:1px solid #000;padding:2px 3px}.ticket .text-center{text-align:center}.ticket .text-right{text-align:right}.ticket .bold{font-weight:700}.ticket-soft,.ticket-soft *{-webkit-font-smoothing:antialiased;font-weight:400!important}.ticket-medium{font-weight:500!important}.ticket-strong{font-weight:600!important}.ticket-note{letter-spacing:.06em;word-break:break-all;margin-top:1px;font-size:8px}.ticket .header-table td{height:18px}.ticket .watermark-box{text-align:center;color:#bbb;letter-spacing:1px;font-size:16px;font-weight:700;line-height:1.2}.ticket .ticket-meta-banner td{text-align:center;padding:2px 3px;font-size:9px}.ticket .banner-row{text-align:center;border:1px solid #000;width:100%;margin-bottom:4px;padding:3px 4px;font-size:9px}.ticket .ticket-total-banner td{font-size:11px}.ticket .items-table th{text-align:center;background:#f3f3f3;font-size:9px;font-weight:700}.ticket .items-table td{font-size:9px}.ticket .footer-table td{width:25%;font-size:9px}.ticket .items-table td,.ticket .items-table th,.ticket .footer-table td,.ticket .header-table td{word-break:break-word}.ticket .disclaimer{text-align:center;margin:5px 0;padding:0 4px;font-size:8px;line-height:1.25}.ticket .barcode-container{flex-direction:column;align-items:center;margin-top:5px;display:flex}.ticket .barcode{background:repeating-linear-gradient(90deg,#000 0 2px,#fff 2px 4px,#000 4px 5px,#fff 5px 7px,#000 7px 9px,#fff 9px 10px);width:52mm;height:11mm}.ticket .barcode-text{letter-spacing:.08em;margin-top:2px;font-family:monospace;font-size:8px}.sales-layout{flex:1;min-height:0;padding:20px 24px;overflow-y:auto}.sales-layout::-webkit-scrollbar{width:5px}.sales-layout::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}.stats-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:14px;margin-bottom:24px;display:grid}@media (width<=640px){.stats-grid{grid-template-columns:repeat(2,1fr);gap:10px}.stat-card{padding:12px}.stat-value{font-size:20px}.stat-value--ok,.stat-value--err{font-size:24px}}.stat-card{background:var(--card-tint), var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:18px;position:relative;overflow:hidden}.stat-card:after{content:"";background:var(--gradient);height:3px;position:absolute;top:0;left:0;right:0}.stat-card--ok{background:var(--ok-bg), var(--card-bg);border-color:var(--ok-bd)}.stat-card--err{background:var(--err-bg), var(--card-bg);border-color:var(--err-bd)}.stat-card--ok:after{background:var(--ok-text)}.stat-card--err:after{background:var(--err-text)}.stat-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;margin-bottom:8px;font-size:11px}.stat-value{background:var(--gradient);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;font-size:26px;font-weight:800;line-height:1}.stat-value--ok,.stat-value--err{-webkit-text-fill-color:initial;background:0 0;background-clip:initial}.stat-value--ok{color:var(--ok-text)}.stat-value--err{color:var(--err-text)}.stat-sub{color:var(--text-muted);margin-top:6px;font-size:11px}.date-range-bar{background:var(--panel);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;padding:12px 16px;display:flex}.date-range-presets{flex-wrap:wrap;gap:6px;display:flex}.preset-btn{border:1px solid var(--border);background:var(--panel-2);color:var(--text-dim);cursor:pointer;transition:all var(--t);border-radius:999px;padding:6px 14px;font-size:12px;font-weight:500}.preset-btn:hover{border-color:var(--accent);color:var(--text)}.preset-btn--active{background:var(--gradient);color:#fff;border-color:#0000;font-weight:600}.date-range-inputs{align-items:center;gap:14px;display:flex}.date-range-inputs label{color:var(--text-dim);align-items:center;gap:6px;font-size:12px;display:flex}.date-range-inputs input[type=date]{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel-2);color:var(--text);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;padding:6px 8px;font-size:12px}[data-theme=light] .date-range-inputs input[type=date]{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}.date-range-inputs input[type=date]:focus{border-color:var(--accent);outline:none}.charts-grid{grid-template-columns:2fr 1fr;gap:16px;margin-bottom:24px;display:grid}@media (width<=860px){.charts-grid{grid-template-columns:1fr}}.chart-card{background:var(--card-tint), var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:16px 18px}.donut-legend{flex-direction:column;gap:6px;width:100%;display:flex}.donut-legend-item{color:var(--text-dim);align-items:center;gap:8px;font-size:12px;display:flex}.donut-legend-item strong{color:var(--text);margin-left:auto}.donut-legend-dot{border-radius:50%;flex-shrink:0;width:9px;height:9px}.section-title{color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;margin:0 0 12px;font-size:11px;font-weight:700}.table-scroll{border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.sales-table{border-collapse:collapse;background:var(--panel);width:100%;min-width:560px}.sales-table th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);background:var(--panel-2);border-bottom:1px solid var(--border);padding:10px 14px;font-size:10px}.sales-table td{border-bottom:1px solid var(--border);color:var(--text);padding:11px 14px;font-size:13px}.sales-table tr:last-child td{border-bottom:none}.sales-table tbody tr:hover td{background:var(--panel-2)}.badge{border-radius:999px;padding:3px 9px;font-size:11px;font-weight:500;display:inline-block}.badge-ok{background:var(--ok-bg);color:var(--ok-text);border:1px solid var(--ok-bd)}.empty-state{text-align:center;color:var(--text-muted);font-size:13px;padding:36px!important}.pin-gate{box-sizing:border-box;background:var(--bg);flex:1;justify-content:center;align-items:center;padding:16px;display:flex}.pin-gate-card{background:var(--card-tint), var(--panel);border:1px solid var(--border);border-radius:var(--radius);box-sizing:border-box;width:380px;max-width:100%;box-shadow:var(--shadow-lg);flex-direction:column;align-items:stretch;gap:12px;padding:38px 34px 30px;display:flex}.pin-gate-logo{object-fit:contain;width:auto;height:62px;margin:0 auto 4px}.pin-gate-title{text-align:center;margin:0;font-size:22px;font-weight:700}.pin-gate-sub{color:var(--text-dim);text-align:center;margin:0;font-size:14px}@keyframes login-shake{0%,to{transform:translate(0)}20%,60%{transform:translate(-6px)}40%,80%{transform:translate(6px)}}.pin-gate-card--error{animation:.4s login-shake}.pin-gate-card--wide{width:440px}.cashup-ticket-preview{border:1px solid var(--border);border-radius:var(--radius-sm);width:100%;max-height:380px;padding:4px;overflow-y:auto}.login-field{width:100%}.login-field input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel-2);width:100%;color:var(--text);box-sizing:border-box;padding:12px 14px;font-size:15px}.login-field input:focus{border-color:var(--accent);outline:none}.login-error{color:var(--err-text);text-align:center;margin:0;font-size:12px}.login-submit{width:100%;margin-top:4px}.admin-table-ellipsis{text-overflow:ellipsis;white-space:nowrap;max-width:220px;display:inline-block;overflow:hidden}.ticker-card{background:var(--card-tint), var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;max-width:1000px;margin-bottom:16px;padding:18px 20px;display:flex}.ticker-label{color:var(--text-dim);text-transform:uppercase;letter-spacing:.07em;margin-bottom:6px;font-size:11px}.ticker-value{color:var(--text);font-variant-numeric:tabular-nums;font-size:28px;font-weight:800}.ticker-change{flex-direction:column;align-items:flex-end;gap:2px;font-size:18px;font-weight:700;display:flex}.ticker-change--up{color:var(--ok-text)}.ticker-change--down{color:var(--err-text)}.ticker-change-sub{color:var(--text-muted);font-size:11px;font-weight:400}.trading-chart-card{background:var(--card-tint), var(--panel);border:1px solid var(--border);border-radius:var(--radius);max-width:1000px;padding:12px}.trading-chart{width:100%;height:220px;display:block}.trading-chart-grid{stroke:var(--border);stroke-width:1px;opacity:.6}.trading-chart-line,.trading-chart-dot{filter:drop-shadow(0 0 4px)}@keyframes trading-ping{0%{opacity:.55;transform:scale(1)}75%,to{opacity:0;transform:scale(2.6)}}.trading-chart-ping{transform-box:fill-box;transform-origin:50%;animation:1.8s cubic-bezier(0,0,.2,1) infinite trading-ping}.admin-layout{flex:1;grid-template-columns:210px 1fr;min-height:0;display:grid;overflow:hidden}.admin-sidebar{background:var(--panel);border-right:1px solid var(--border);flex-direction:column;gap:2px;padding:18px 10px 16px;display:flex;overflow-y:auto}.admin-sidebar-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:10px;padding:0 8px;font-size:10px;font-weight:700}.admin-nav-list{flex-direction:column;gap:2px;display:flex}.admin-nav-item{border-radius:var(--radius-sm);color:var(--text-dim);cursor:pointer;transition:all var(--t);text-align:left;background:0 0;border:none;align-items:center;gap:9px;width:100%;padding:9px 12px;font-size:13px;font-weight:500;display:flex}.admin-nav-item:hover{background:var(--panel-2);color:var(--text)}.admin-nav-item--active{background:rgba(var(--accent-rgb),.12);color:var(--accent);font-weight:600}.admin-nav-badge{background:var(--warn-text);color:#1a1200;border-radius:999px;margin-left:auto;padding:3px 7px;font-size:11px;font-weight:700;line-height:1}.admin-lock-btn{border-radius:var(--radius-sm);border:1px solid var(--border);color:var(--text-dim);cursor:pointer;transition:all var(--t);background:0 0;align-items:center;gap:8px;width:100%;margin-top:auto;padding:9px 12px;font-size:12px;display:flex}.admin-lock-btn:hover{color:var(--err-text);border-color:var(--err-bd);background:var(--err-bg)}.admin-content{min-height:0;padding:24px;overflow-y:auto}.admin-content::-webkit-scrollbar{width:5px}.admin-content::-webkit-scrollbar-thumb{background:var(--border-2);border-radius:3px}@media (width<=760px){.admin-layout{grid-template-rows:1fr auto;grid-template-columns:1fr}.admin-sidebar{display:none}.admin-content{padding:14px}}.admin-panel{width:100%;padding:20px 24px;overflow-y:auto}.admin-panel--narrow{max-width:640px}.expenses-page{z-index:0;width:100%;height:100%;position:relative;overflow-y:auto}.page-watermark{opacity:.1;pointer-events:none;-webkit-user-select:none;user-select:none;z-index:-1;width:min(85%,900px);height:auto;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.admin-panel-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.admin-panel-title{margin:0 0 2px;font-size:17px;font-weight:700}.admin-panel-sub{color:var(--text-dim);margin:0 0 16px;font-size:13px}.admin-stats-row{flex-wrap:wrap;gap:6px;display:flex}.admin-stat{border:1px solid var(--border);background:var(--panel-2);color:var(--text-dim);border-radius:999px;padding:3px 10px;font-size:11px}.admin-stat--warn{color:var(--warn-text);border-color:var(--warn-bd);background:var(--warn-bg)}.admin-stat--err{color:var(--err-text);border-color:var(--err-bd);background:var(--err-bg)}.admin-table-wrap{background:var(--card-tint), var(--panel);border:1px solid var(--border);border-radius:var(--radius);overflow-x:auto}.admin-table{border-collapse:collapse;width:100%;min-width:520px}.admin-table th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);background:var(--panel-2);border-bottom:1px solid var(--border);padding:10px 14px;font-size:10px}.admin-table td{border-bottom:1px solid var(--border);color:var(--text);padding:11px 14px;font-size:13px}.admin-table tr:last-child td{border-bottom:none}.admin-table tbody tr:hover td{background:var(--panel-2)}@media (width<=640px){.admin-panel,.sales-layout,.admin-content{padding:10px}.sales-table,.admin-table{width:100%;min-width:0;font-size:11px}.sales-table th,.sales-table td,.admin-table th,.admin-table td{text-overflow:ellipsis;white-space:nowrap;padding-left:6px;padding-right:6px;overflow:hidden}.sales-table th:first-child,.sales-table td:first-child,.admin-table th:first-child,.admin-table td:first-child{padding-left:2px}.sales-table th:last-child,.sales-table td:last-child,.admin-table th:last-child,.admin-table td:last-child{padding-right:2px}.admin-table--cards thead{display:none}.admin-table--cards,.admin-table--cards tbody,.admin-table--cards tr,.admin-table--cards td{width:100%;display:block}.admin-table--cards tr{border-bottom:1px solid var(--border);padding:10px 2px}.admin-table--cards tr:last-child{border-bottom:none}.admin-table--cards td{white-space:normal;text-align:right;border:none;justify-content:space-between;align-items:center;gap:10px;padding:4px 2px;display:flex}.admin-table--cards td:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);text-align:left;flex-shrink:0;font-size:10px;font-weight:700}}.mono-cell{font-family:ui-monospace,Consolas,monospace;font-size:12px}.row-low td{background:#f59e0b0a!important}.row-out td{background:#ef44440a!important}.badge-low{background:var(--warn-bg);color:var(--warn-text);border:1px solid var(--warn-bd)}.badge-out{background:var(--err-bg);color:var(--err-text);border:1px solid var(--err-bd)}.stockin-qty-header{align-items:center;gap:10px;margin-bottom:10px;display:flex}.stockin-label{color:var(--text-dim);font-size:13px}.qty-input{text-align:center;border:1px solid var(--border);background:var(--panel-2);width:64px;color:var(--text);border-radius:5px;padding:5px 8px;font-size:14px;font-weight:600}.qty-input:focus{border-color:var(--accent);outline:none}.qty-input::-webkit-inner-spin-button{opacity:0}.stockin-card{background:var(--card-tint), var(--panel);border:1px solid var(--border);border-radius:var(--radius);margin-top:14px;padding:18px}.stockin-barcode-row{border-bottom:1px solid var(--border);align-items:center;gap:8px;margin-bottom:12px;padding-bottom:12px;display:flex}.stockin-barcode-label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.stockin-barcode-val{flex:1;font-family:ui-monospace,Consolas,monospace;font-size:13px;font-weight:600}.stockin-product-name{margin-bottom:4px;font-size:16px;font-weight:700}.stockin-product-meta{color:var(--text-dim);margin-bottom:16px;font-size:12px}.stockin-action-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.image-url-row{gap:8px;display:flex}.image-url-row input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel-2);color:var(--text);flex:1;padding:9px 12px;font-size:13px}.image-url-row input:focus{border-color:var(--accent);outline:none}.image-url-preview{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);width:72px;height:72px;margin-top:10px}.register-form{margin-top:2px}.register-form-title{text-transform:uppercase;letter-spacing:.07em;color:var(--text-dim);border-bottom:1px solid var(--border);margin:0 0 14px;padding-bottom:12px;font-size:12px;font-weight:700}.field{flex-direction:column;gap:5px;margin-bottom:12px;display:flex}.field label{color:var(--text-dim);font-size:12px;font-weight:500}.field input{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel-2);color:var(--text);transition:border-color var(--t);padding:9px 12px;font-size:14px}.field input:focus{border-color:var(--accent);outline:none}.cashup-readonly-value{border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--panel);color:var(--text);padding:9px 12px;font-size:14px;font-weight:600}.field-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}@media (width<=420px){.field-row{grid-template-columns:1fr}}.register-actions{align-items:center;gap:10px;margin-top:4px;display:flex}.btn-accent{border-radius:var(--radius-sm);background:var(--gradient);color:#fff;cursor:pointer;transition:opacity var(--t), transform var(--t);box-shadow:0 2px 10px rgba(var(--accent-rgb),.3);white-space:nowrap;border:none;padding:9px 18px;font-size:13px;font-weight:600}.btn-accent:hover{opacity:.9;transform:translateY(-1px)}.btn-accent:active{transform:translateY(0)}.btn-sm{border:1px solid var(--border);background:var(--panel-2);color:var(--text-dim);cursor:pointer;transition:all var(--t);white-space:nowrap;border-radius:5px;padding:5px 10px;font-size:12px}.btn-sm:hover{border-color:var(--border-2);color:var(--text)}.btn-sm--cancel:hover{border-color:var(--err-bd);color:var(--err-text)}.download-app-btn{align-items:center;gap:6px;text-decoration:none;display:inline-flex}@media (width<=860px){.download-app-btn span{display:none}}@page{size:72mm auto;margin:0}@media print{html,body{background:#fff;width:72mm;margin:0;padding:0}body *{visibility:hidden}.modal-overlay,.receipt-wrapper,#printable-ticket,#printable-ticket *{visibility:visible}.modal-overlay{-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;padding:0!important;display:block!important;position:static!important;inset:auto!important}.receipt-wrapper{width:72mm!important;max-width:72mm!important;max-height:none!important;box-shadow:none!important;background:#fff!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important;display:block!important;overflow:visible!important}#printable-ticket{box-sizing:border-box;background:#fff;width:72mm;min-width:0;max-width:72mm;margin:0;padding:2.5mm 2mm 6mm;font-size:10px;line-height:1.02;position:static;top:auto;left:auto;overflow:visible}#printable-ticket table{table-layout:fixed;width:100%;margin-bottom:4px;font-size:10px}#printable-ticket td,#printable-ticket th{border-width:1px;padding:2px 3px}#printable-ticket .ticket-logo{width:100%;max-width:148px;max-height:58px;filter:none!important;opacity:1!important}#printable-ticket .watermark-box{font-size:16px}#printable-ticket .items-table th,#printable-ticket .items-table td,#printable-ticket .footer-table td{font-size:9px}#printable-ticket .disclaimer{font-size:8px}#printable-ticket .barcode{width:52mm;max-width:100%;height:11mm}#printable-ticket .barcode-text{font-size:8px}.receipt-actions{display:none!important}}@media print and (width<=58mm){#printable-ticket{min-width:0;max-width:58mm;padding:1.5mm 1mm 5mm;font-size:8px}#printable-ticket .ticket-logo{width:100%;max-width:112px;max-height:44px}#printable-ticket .watermark-box{font-size:13px}#printable-ticket .ticket-meta-banner td,#printable-ticket .banner-row,#printable-ticket .items-table th,#printable-ticket .items-table td,#printable-ticket .footer-table td{font-size:8px}#printable-ticket .barcode{width:44mm;height:10mm}#printable-ticket .barcode-text,#printable-ticket .ticket-note,#printable-ticket .disclaimer{font-size:7px}}.shell-layout{background:radial-gradient(circle at top left, #ffffff14, transparent 28%), linear-gradient(160deg, var(--bg) 0%, color-mix(in srgb, var(--bg), #000 6%) 100%);height:100svh;min-height:100svh;overflow:hidden}.shell-layout>.ant-layout,.shell-layout .ant-layout{min-height:0}.shell-sider{border-right:1px solid var(--border);height:100%;background:color-mix(in srgb, var(--panel), transparent 4%)!important}.shell-sider-inner{height:100%;padding:18px 12px;overflow:auto}.shell-menu{background:0 0!important;border-inline-end:0!important}.shell-menu .ant-menu-item{border-radius:14px;height:48px;width:100%!important;margin-inline:0!important}.shell-header{background:var(--header-bg);border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;gap:16px;height:auto;padding:16px 20px;line-height:normal;display:flex}.shell-header-left,.shell-header-right{align-items:center;gap:14px;display:flex}.shell-header-right{flex-wrap:wrap;justify-content:flex-end;margin-left:auto}.shell-header .ant-typography,.shell-header .ant-space,.shell-header .ant-space-item,.shell-header .brand-name,.shell-header .brand-sub{color:#fff!important}.shell-header .ant-typography-secondary,.shell-header .brand-sub{color:#ffffffb8!important}.shell-header .ant-btn:not(.ant-btn-dangerous){color:#fff;background:#ffffff1a;border-color:#fff3}.shell-header .ant-btn:not(.ant-btn-dangerous):hover{color:#fff!important;background:#ffffff2e!important;border-color:#ffffff47!important}.shell-content{background:0 0;flex:1;min-height:0;padding:12px;overflow:auto}.shell-content-inner{width:100%;max-width:none;height:100%;min-height:0;margin:0}.shell-login-main{place-items:center;min-height:100vh;display:grid}.pos-ant-card{overflow:hidden;box-shadow:0 16px 40px #00000014;border-color:var(--border)!important;border-radius:18px!important}.cashier-view{align-content:stretch;height:100%;min-height:0}.cashier-view>.ant-col{min-height:0;display:flex}.cashier-pane-card,.cashier-pane-card .ant-card-body{flex:1;min-height:0;display:flex}.cashier-toolbar{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.cashier-cart-layout{flex-direction:column;flex:1;gap:16px;min-height:0;display:flex}.cashier-field-label{color:var(--text);margin-bottom:6px;font-size:12px;font-weight:600;display:inline-block}.cashier-view .ant-card{background:color-mix(in srgb, var(--panel), #fff 2%)}.cashier-products-scroll,.cashier-cart-scroll,.admin-page-scroll{min-height:0;padding-right:4px;overflow:auto}.cashier-products-scroll,.cashier-cart-scroll{flex:1}.cart-card .cashier-empty-state{flex:1;min-height:0}.cashier-products-scroll .ant-table-wrapper,.cashier-products-scroll .ant-spin-nested-loading,.cashier-products-scroll .ant-spin-container{height:100%}.cashier-products-scroll .ant-table,.cashier-products-scroll .ant-table-container{background:0 0}.cashier-table-product{align-items:center;gap:12px;display:flex}.cashier-empty-state{place-items:center;min-height:260px;display:grid}.cashier-product-list{align-content:start;gap:8px;display:grid}.cashier-product-list-row{border:1px solid color-mix(in srgb, var(--border), transparent 12%);background:linear-gradient(180deg, color-mix(in srgb, var(--panel), #fff 3%), color-mix(in srgb, var(--panel), #000 2%));width:100%;color:var(--text);cursor:pointer;text-align:left;border-radius:14px;justify-content:space-between;align-items:center;gap:16px;padding:10px 12px;display:flex}.cashier-product-list-row--out{opacity:.55;cursor:not-allowed}.cashier-product-list-main{flex:1;justify-content:space-between;align-items:center;gap:18px;min-width:0;display:flex}.cashier-product-list-size{text-align:center;min-width:72px}.cashier-product-list-side{justify-content:flex-end;align-items:center;gap:14px;min-width:240px;display:flex}.cashier-product-list-side .ant-tag{margin-inline-end:0}.cashier-product-list-price{text-align:right;min-width:108px}.cashier-product-grid{grid-template-columns:repeat(auto-fill,minmax(232px,1fr));align-content:start;gap:9px;display:grid}.cashier-product-card{overflow:hidden;border:1px solid color-mix(in srgb, var(--border), transparent 12%)!important;background:linear-gradient(180deg, color-mix(in srgb, var(--panel), #fff 4%), color-mix(in srgb, var(--panel), #000 2%))!important;border-radius:12px!important}.cashier-product-card-title{-webkit-line-clamp:3;-webkit-box-orient:vertical;min-height:3.8em;font-size:16px;line-height:1.35;display:-webkit-box;overflow:hidden}.cashier-product-card-details{background:color-mix(in srgb, var(--panel), #fff 3%);border:1px solid color-mix(in srgb, var(--border), transparent 14%);border-radius:10px;gap:8px;padding:10px 12px;display:grid}.cashier-product-detail-row{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.cashier-product-detail-row .ant-typography:last-child{text-align:right;word-break:break-word}.cashier-product-card-code{opacity:.9;font-size:12px;line-height:1.25}.cashier-product-card-price{font-size:16px}.cashier-product-card-status{min-height:28px}.cashier-product-card-status .ant-tag{border-radius:999px;margin-inline-end:0;padding-inline:10px}.cashier-product-tile{display:block!important}.cashier-product-tile .ant-card-body{padding:0!important;display:block!important}.cashier-product-tile-image{background:color-mix(in srgb, var(--panel-2), transparent 16%);width:100%;display:block;position:relative}.cashier-product-image-tag{z-index:2;top:8px;right:8px;box-shadow:0 4px 14px #0000002e;border-radius:999px!important;margin-inline-end:0!important;padding-inline:7px!important;line-height:18px!important;position:absolute!important}.cashier-product-tile-body{gap:1px;width:100%;padding:7px 8px 8px;display:grid}.cashier-product-tile-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.2em;font-size:13px;line-height:1.2;display:-webkit-box;overflow:hidden}.cashier-product-tile-table{border-collapse:collapse;width:100%;font-size:11px}.cashier-product-tile-table td{vertical-align:top;padding:1px 0;line-height:1.15}.cashier-product-tile-table td:last-child{text-align:right;word-break:break-word}.cashier-product-tile-label{color:var(--text-dim);width:44%}.cashier-product-stock-line{justify-content:space-between;align-items:center;gap:8px;margin-top:3px;display:flex}.cashier-product-stock-line .ant-tag{margin-inline-end:0;padding-inline:7px;line-height:18px}.cashier-product-tile-code{opacity:.9;font-size:11px;line-height:1.1}.cashier-product-tile-price{font-size:13px}.cashier-product-tile-status .ant-tag{border-radius:999px;margin-inline-end:0;padding-inline:7px;line-height:18px}.cashier-product-image,.cashier-product-image .ant-image-img,.cashier-product-image--placeholder{aspect-ratio:4/3;border-radius:0;width:100%}.cashier-product-image .ant-image-img{object-fit:cover;display:block}.cashier-product-image--placeholder{background:radial-gradient(circle at top left, color-mix(in srgb, var(--accent), transparent 72%), transparent 30%), linear-gradient(145deg, color-mix(in srgb, var(--panel-2), #fff 3%), color-mix(in srgb, var(--panel), #000 4%));border:1px solid color-mix(in srgb, var(--border), transparent 12%);color:var(--text);letter-spacing:.04em;place-items:center;font-size:24px;font-weight:800;display:grid}.cashier-table-product .cashier-product-image,.cashier-table-product .cashier-product-image .ant-image-img,.cashier-table-product .cashier-product-image--placeholder,.cashier-cart-item-media .cashier-product-image,.cashier-cart-item-media .cashier-product-image .ant-image-img,.cashier-cart-item-media .cashier-product-image--placeholder{aspect-ratio:1;border-radius:10px;width:56px;min-width:56px}.cashier-table-product .cashier-product-image--placeholder,.cashier-cart-item-media .cashier-product-image--placeholder{font-size:16px}.cart-card .ant-list{width:100%}.cashier-cart-scroll .ant-list-items{gap:10px;display:grid}.cashier-cart-item{border:1px solid color-mix(in srgb, var(--border), transparent 12%);background:linear-gradient(180deg, color-mix(in srgb, var(--panel), #fff 3%), color-mix(in srgb, var(--panel), #000 2%));border-radius:14px;padding:12px!important}.cashier-cart-item-main{grid-template-columns:56px minmax(0,1fr) auto;align-items:start;gap:10px;width:100%;display:grid}.cashier-cart-item-copy{gap:2px;min-width:0;display:grid}.cashier-cart-item-side{justify-items:end;gap:8px;display:grid}.cashier-cart-item-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.cashier-cart-item-total{white-space:nowrap;font-size:15px}.cashier-cart-qty{flex-wrap:nowrap;align-items:center;gap:6px!important}.cashier-cart-qty .ant-btn{width:28px;min-width:28px;height:28px;padding:0}.cashier-cart-footer{gap:10px;margin-top:auto;padding-top:4px;display:grid}.admin-thumb-placeholder{background:radial-gradient(circle at top left, color-mix(in srgb, var(--accent), transparent 72%), transparent 28%), linear-gradient(145deg, color-mix(in srgb, var(--panel-2), #fff 3%), color-mix(in srgb, var(--panel), #000 4%));border:1px solid color-mix(in srgb, var(--border), transparent 12%);width:52px;height:52px;color:var(--text);border-radius:10px;place-items:center;font-size:16px;font-weight:800;display:grid}.admin-thumb-placeholder--large{border-radius:14px;width:92px;height:92px;font-size:26px}.admin-stock-product-hero{align-items:center;gap:16px;display:flex}.cart-total-card{background:linear-gradient(135deg, color-mix(in srgb, var(--panel), #fff 2%), color-mix(in srgb, var(--panel), #000 3%));border-radius:12px!important}.cart-total-line{justify-content:space-between;align-items:center;display:flex}.dashboard-shell{flex-direction:column;gap:16px;display:flex}.admin-page-scroll{height:100%}.dashboard-hero-card,.dashboard-surface-card,.dashboard-stat-card,.dashboard-mini-card{overflow:hidden;box-shadow:0 18px 48px #0000001f;border-color:var(--border)!important;background:linear-gradient(180deg, color-mix(in srgb, var(--panel), #fff 2%), color-mix(in srgb, var(--panel), #000 2%))!important;border-radius:22px!important}.dashboard-hero-card{position:relative;background:radial-gradient(circle at top right, color-mix(in srgb, var(--accent), transparent 72%), transparent 28%), linear-gradient(135deg, color-mix(in srgb, var(--panel), var(--accent) 14%), color-mix(in srgb, var(--panel), #000 4%))!important}.dashboard-hero-tag{letter-spacing:.08em;text-transform:uppercase;font-weight:700;color:var(--accent)!important;background:color-mix(in srgb, var(--accent), transparent 88%)!important;border:none!important;border-radius:999px!important;padding:4px 10px!important}.dashboard-hero-copy{max-width:62ch;color:var(--muted);margin-bottom:0!important}.dashboard-range-bar{flex-direction:column;gap:14px;margin-top:10px;display:flex}.dashboard-date-row{flex-wrap:wrap;gap:12px;display:flex}.dashboard-date-field{min-width:170px;color:var(--muted);flex-direction:column;gap:6px;font-size:12px;font-weight:600;display:flex}.dashboard-date-field input{border:1px solid var(--border);background:color-mix(in srgb, var(--panel), #fff 2%);color:var(--text);border-radius:12px;padding:10px 12px}.dashboard-hero-metrics{grid-template-columns:1fr;gap:12px;display:grid}.dashboard-hero-metric{border:1px solid color-mix(in srgb, var(--border), transparent 12%);background:color-mix(in srgb, var(--panel), #fff 3%);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:18px;padding:16px 18px}.dashboard-hero-metric-label{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;margin-bottom:8px;font-size:12px;font-weight:700;display:block}.dashboard-hero-metric-value{color:var(--text);font-size:clamp(1.35rem,1rem + 1vw,2rem);font-weight:800;line-height:1.05;display:block}.dashboard-hero-metric-value--negative{color:var(--err-text)}.dashboard-stat-grid .ant-statistic{margin-bottom:8px}.dashboard-stat-grid .ant-col,.dashboard-shell>.ant-row>.ant-col{display:flex}.dashboard-stat-grid .ant-col>.ant-card,.dashboard-shell>.ant-row>.ant-col>.ant-card,.admin-page-scroll>.ant-space>.ant-row>.ant-col>.ant-card,.admin-page-scroll .ant-row>.ant-col>.ant-card{width:100%;height:100%}.dashboard-stat-card--revenue .ant-statistic-content{color:var(--accent)}.dashboard-stat-card--profit .ant-statistic-content{color:var(--ok-text)}.dashboard-surface-card .ant-card-head,.dashboard-mini-card .ant-card-head{border-bottom-color:color-mix(in srgb, var(--border), transparent 12%)}.dashboard-stock-summary{grid-template-columns:repeat(3,1fr);gap:10px;margin-top:16px;display:grid}.dashboard-stock-summary>div{background:color-mix(in srgb, var(--panel), #fff 2%);border:1px solid color-mix(in srgb, var(--border), transparent 18%);border-radius:14px;padding:12px}.dashboard-stock-summary span{color:var(--muted);margin-bottom:4px;font-size:12px;display:block}.dashboard-stock-summary strong{color:var(--text);font-size:18px}.dashboard-shell .ant-table-wrapper .ant-table{background:0 0}.dashboard-shell .ant-table-wrapper .ant-table-thead>tr>th{background:color-mix(in srgb, var(--panel), #fff 2%);color:var(--muted);border-bottom-color:color-mix(in srgb, var(--border), transparent 10%);font-weight:700}.dashboard-shell .ant-table-wrapper .ant-table-tbody>tr>td{border-bottom-color:color-mix(in srgb, var(--border), transparent 18%)}.dashboard-shell .ant-table-wrapper .ant-table-tbody>tr:hover>td{background:color-mix(in srgb, var(--panel), #fff 3%)!important}.dashboard-shell .ant-empty{margin-block:24px}.trading-chart-card,.chart-card{background:0 0}.trading-chart{width:100%;height:250px}.trading-chart-grid{stroke:color-mix(in srgb, var(--border), transparent 12%);stroke-width:1px}.trading-chart-line{filter:drop-shadow(0 10px 18px color-mix(in srgb, var(--accent), transparent 72%))}.trading-chart-axis{height:22px;margin-top:8px;position:relative}.trading-chart-axis-label{color:var(--muted);white-space:nowrap;font-size:11px;position:absolute;top:0}.donut-chart-wrap{flex-direction:column;align-items:center;gap:16px;display:flex}.donut-chart-total{fill:var(--text);font-size:22px;font-weight:800}.donut-chart-total-label{fill:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:11px}.donut-legend{gap:10px;width:100%;display:grid}.donut-legend-item{background:color-mix(in srgb, var(--panel), #fff 2%);border:1px solid color-mix(in srgb, var(--border), transparent 18%);color:var(--text);border-radius:12px;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.donut-legend-dot{border-radius:999px;width:10px;height:10px;margin-right:10px;display:inline-block}@media (width<=991px){html,body,#root{overflow:auto}.shell-layout{height:auto;min-height:100svh;overflow:visible}.shell-header{flex-direction:column;align-items:flex-start;padding:14px}.shell-header-left,.shell-header-right{width:100%}.shell-header-right{justify-content:flex-start}.shell-content{padding:10px;padding-bottom:calc(96px + env(safe-area-inset-bottom,0));overflow:visible}.shell-content-inner,.cashier-view,.cashier-view>.ant-col,.cashier-pane-card,.cashier-pane-card .ant-card-body,.cashier-products-scroll,.cashier-cart-scroll,.admin-page-scroll{height:auto;min-height:auto;padding-right:0;overflow:visible}.cashier-product-grid{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}.pos-ant-card .ant-card-body{padding:14px!important}.pos-ant-card .ant-card-head{min-height:48px;padding-inline:14px!important}.admin-table-ellipsis{max-width:160px}}@media (width<=640px){.pin-gate{align-items:stretch;padding:2px}.pin-gate-card{gap:10px;width:calc(100vw - 12px);max-width:none;margin:0 auto;padding:28px 22px 22px}.pin-gate-logo{height:52px}.pin-gate-title{font-size:19px}.pin-gate-sub{font-size:13px}.login-field input{padding:11px 12px;font-size:14px}.login-submit{margin-top:2px}.cashier-toolbar .ant-typography h4,.cashier-toolbar .ant-typography.ant-typography-secondary,.cashier-toolbar .ant-typography{font-size:12px}.cashier-toolbar .ant-typography h4{font-size:18px}.dashboard-shell{gap:10px}.dashboard-hero-card .ant-card-body,.dashboard-surface-card .ant-card-body,.dashboard-stat-card .ant-card-body,.dashboard-mini-card .ant-card-body{padding:12px!important}.dashboard-hero-card .ant-card-head,.dashboard-surface-card .ant-card-head,.dashboard-mini-card .ant-card-head{min-height:42px;padding-inline:12px!important}.dashboard-hero-card .ant-typography h2{font-size:20px;line-height:1.15}.dashboard-hero-copy,.dashboard-shell .ant-typography,.dashboard-shell .ant-statistic-title,.dashboard-shell .ant-statistic-content,.dashboard-shell .ant-table,.dashboard-shell .ant-tag{font-size:11px}.dashboard-shell .ant-statistic-content{line-height:1.1}.dashboard-shell .ant-statistic-content-value{font-size:18px}.dashboard-stat-grid .ant-col,.dashboard-shell>.ant-row>.ant-col{min-width:0}.dashboard-stat-grid .ant-card,.dashboard-mini-card,.admin-page-scroll .ant-row>.ant-col>.ant-card{height:100%}.dashboard-hero-metric{border-radius:14px;padding:12px}.dashboard-hero-metric-label,.dashboard-stock-summary span{font-size:10px}.dashboard-hero-metric-value{font-size:1.05rem}.dashboard-range-bar{gap:10px;margin-top:6px}.dashboard-date-row{gap:8px}.dashboard-date-field{flex:calc(50% - 4px);min-width:0;font-size:10px}.dashboard-date-field input{border-radius:10px;padding:8px 10px;font-size:12px}.dashboard-stock-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}.dashboard-stock-summary>div{border-radius:10px;padding:10px}.dashboard-stock-summary strong{font-size:15px}.admin-page-scroll .ant-statistic-title,.admin-page-scroll .ant-statistic-content,.admin-page-scroll .ant-card-body,.admin-page-scroll .ant-typography{font-size:11px}.admin-page-scroll .ant-statistic-content-value{font-size:18px}.admin-page-scroll .ant-card-body{padding:12px!important}.bottom-nav{display:flex}.bottom-nav-item{gap:2px;min-height:50px;padding:7px 4px;font-size:10px}.bottom-nav-item svg{font-size:16px}.cashier-field-label{margin-bottom:4px;font-size:11px}.cashier-view .ant-input,.cashier-view .ant-input-affix-wrapper,.cashier-view .ant-select-selector,.cashier-view .ant-segmented,.cashier-view .ant-btn,.cashier-view .ant-input-number{font-size:12px}.cashier-view .ant-input,.cashier-view .ant-input-affix-wrapper,.cashier-view .ant-select-selector,.cashier-view .ant-input-number,.cashier-view .ant-btn{min-height:36px}.cashier-product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:5px}.cashier-product-card{border-radius:10px!important}.cashier-product-card .ant-card-body{padding:10px!important}.cashier-product-card .ant-space{gap:6px!important}.cashier-product-card .ant-typography{font-size:12px;line-height:1.35}.cashier-product-card-title,.cashier-product-card .ant-typography strong{font-size:13px}.cashier-product-card .ant-tag{margin-inline-end:0;padding-inline:6px;font-size:10px;line-height:18px}.cart-card .ant-list-item{padding-block:10px}.cashier-product-tile-body{gap:1px;padding:6px}.cashier-product-tile-title,.cashier-product-card .ant-typography strong{min-height:2.3em;font-size:11px}.cashier-product-tile-code{font-size:9px}.cashier-product-tile-details{gap:3px;padding:0}.cashier-product-tile-table{font-size:10px}.cashier-product-tile-table td:last-child{text-align:left}.cashier-product-stock-line{flex-direction:column;align-items:flex-start;gap:3px}.cashier-product-tile-price{font-size:12px}.cashier-product-tile-status .ant-tag{padding-inline:4px;font-size:9px;line-height:16px}.cashier-product-image-tag{top:6px;right:6px;padding-inline:5px!important;font-size:9px!important;line-height:16px!important}.cashier-cart-item{padding:10px!important}.cashier-cart-item-main{grid-template-columns:46px minmax(0,1fr);gap:10px}.cashier-cart-item-side{grid-column:2;justify-items:start;gap:6px}.cashier-cart-item-total{font-size:13px}.cashier-cart-item-media .cashier-product-image,.cashier-cart-item-media .cashier-product-image .ant-image-img,.cashier-cart-item-media .cashier-product-image--placeholder{border-radius:8px;width:46px;min-width:46px}.admin-stock-product-hero{align-items:flex-start}.cart-card .ant-list-item-meta-title,.cart-card .ant-list-item-meta-description,.cart-card .ant-typography,.cart-total-card .ant-typography{font-size:12px}.cart-total-card .ant-typography h3{font-size:24px}.admin-table-ellipsis{max-width:120px}}@keyframes install-prompt-in{0%{opacity:0;transform:translateY(28px)scale(.9)rotateX(14deg)}to{opacity:1;transform:translateY(0)scale(1)rotateX(0)}}@keyframes install-prompt-out{0%{opacity:1;transform:translateY(0)scale(1)rotateX(0)}to{opacity:0;transform:translateY(20px)scale(.92)rotateX(10deg)}}.install-prompt-scene{z-index:500;perspective:1200px;position:fixed;bottom:20px;left:20px}@media (width<=760px){.install-prompt-scene{left:12px;right:12px;bottom:calc(72px + env(safe-area-inset-bottom,0))}}.install-prompt-card{background:linear-gradient(160deg, #ffffff14, #fff0 40%), var(--card-tint), var(--card-bg);border:1px solid var(--border-2);width:320px;max-width:100%;box-shadow:0 2px 0 #ffffff0f inset, 0 30px 60px -20px #0009, 0 0 0 1px rgba(var(--accent-rgb),.15), 0 0 40px -8px rgba(var(--accent-rgb),.45);transform-style:preserve-3d;border-radius:18px;padding:20px 20px 18px;transition:transform .15s ease-out;animation:.5s cubic-bezier(.2,.9,.25,1.2) both install-prompt-in;position:relative;overflow:hidden}.install-prompt-card--closing{animation:.2s ease-in both install-prompt-out}.install-prompt-shine{pointer-events:none;background:radial-gradient(circle at 50% 0,#ffffff29,#0000 60%);transition:transform .15s ease-out;position:absolute;inset:-40%}.install-prompt-close{width:24px;height:24px;color:var(--text-dim);cursor:pointer;background:#ffffff14;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:11px;display:flex;position:absolute;top:10px;right:10px;transform:translateZ(30px)}.install-prompt-close:hover{color:var(--text);background:#ffffff29}.install-prompt-icon{color:#fff;background:var(--gradient);width:52px;height:52px;box-shadow:0 10px 24px -6px rgba(var(--accent-rgb),.6);border-radius:14px;justify-content:center;align-items:center;margin-bottom:12px;display:flex;transform:translateZ(36px)}.install-prompt-title{color:var(--text);margin:0 0 6px;font-size:16px;font-weight:800;transform:translateZ(24px)}.install-prompt-sub{color:var(--text-dim);margin:0 0 16px;font-size:12.5px;line-height:1.5;transform:translateZ(18px)}.install-prompt-actions{gap:10px;display:flex;transform:translateZ(28px)}.install-prompt-btn{background:var(--gradient);color:#fff;cursor:pointer;box-shadow:0 8px 20px -6px rgba(var(--accent-rgb),.65);transition:transform var(--t), box-shadow var(--t);border:none;border-radius:10px;flex:1;padding:10px 14px;font-size:13px;font-weight:700}.install-prompt-btn:hover{box-shadow:0 12px 26px -6px rgba(var(--accent-rgb),.75);transform:translateY(-1px)}.install-prompt-btn:active{transform:translateY(0)}.install-prompt-btn-ghost{border:1px solid var(--border-2);color:var(--text-dim);cursor:pointer;transition:all var(--t);background:0 0;border-radius:10px;padding:10px 14px;font-size:13px;font-weight:600}.install-prompt-btn-ghost:hover{color:var(--text);background:#ffffff0f}
