@font-face{font-family:"Exo 2";src:url(/fonts/Exo2-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:"Exo 2";src:url(/fonts/Exo2-Italic.ttf) format("truetype");font-weight:400;font-style:italic;font-display:swap}@font-face{font-family:"Exo 2";src:url(/fonts/Exo2-Medium.ttf) format("truetype");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:"Exo 2";src:url(/fonts/Exo2-MediumItalic.ttf) format("truetype");font-weight:500;font-style:italic;font-display:swap}@font-face{font-family:"Exo 2";src:url(/fonts/Exo2-SemiBold.ttf) format("truetype");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:"Exo 2";src:url(/fonts/Exo2-Bold.ttf) format("truetype");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:"Exo 2";src:url(/fonts/Exo2-BoldItalic.ttf) format("truetype");font-weight:700;font-style:italic;font-display:swap}@font-face{font-family:"Exo 2";src:url(/fonts/Exo2-ExtraBold.ttf) format("truetype");font-weight:800;font-style:normal;font-display:swap}@font-face{font-family:"Exo 2";src:url(/fonts/Exo2-ExtraBoldItalic.ttf) format("truetype");font-weight:800;font-style:italic;font-display:swap}@font-face{font-family:"Exo 2";src:url(/fonts/Exo2-Black.ttf) format("truetype");font-weight:900;font-style:normal;font-display:swap}@font-face{font-family:"Exo 2";src:url(/fonts/Exo2-BlackItalic.ttf) format("truetype");font-weight:900;font-style:italic;font-display:swap}:root{--coke-red: #F40000;--black-c: #2D2926;--brilliant-white:#F0F0F1;--red-50: #FFEDEC;--red-100: #FFD2CF;--red-200: #FF9C96;--red-300: #FB6258;--red-400: #F92E20;--red-500: #F40000;--red-600: #CE0202;--red-700: #A50404;--red-800: #7A0707;--ink-900: #2D2926;--ink-800: #413C38;--ink-700: #5A544F;--ink-600: #78716B;--ink-500: #9A938C;--ink-400: #BEB8B2;--ink-300: #DAD6D1;--ink-200: #E8E5E1;--ink-100: #F0F0F1;--ink-050: #F7F7F8;--white: #FFFFFF;--bg: var(--ink-100);--bg-raised: var(--white);--bg-dark: var(--black-c);--fg1: var(--ink-900);--fg2: var(--ink-700);--fg3: var(--ink-500);--fg-on-red: #FFFFFF;--fg-on-dark: #F0F0F1;--border: var(--ink-300);--border-strong:var(--ink-400);--accent: var(--coke-red);--accent-hover: var(--red-600);--accent-press: var(--red-700);--success: #1E9E5A;--success-bg: #E3F5EB;--warning: #F35A4D;--warning-bg: #FFE3DF;--info: #8A837D;--info-bg: #ECEAE7;--promo: #FFD400;--font-display: "Exo 2", system-ui, sans-serif;--font-body: "Exo 2", system-ui, sans-serif;--font-mono: "SFMono-Regular", ui-monospace, Menlo, Consolas, monospace;--text-display: 72px;--lh-display: .92;--ls-display: -.02em;--text-h1: 48px;--lh-h1: 1;--ls-h1: -.015em;--text-h2: 34px;--lh-h2: 1.05;--ls-h2: -.01em;--text-h3: 24px;--lh-h3: 1.15;--ls-h3: -.005em;--text-h4: 19px;--lh-h4: 1.25;--text-body: 16px;--lh-body: 1.5;--text-sm: 14px;--lh-sm: 1.45;--text-xs: 12px;--lh-xs: 1.4;--ls-xs: .04em;--w-light: 300;--w-regular: 400;--w-medium: 500;--w-semibold: 600;--w-bold: 700;--w-extrabold: 800;--w-black: 900;--r-xs: 4px;--r-sm: 8px;--r-md: 12px;--r-lg: 18px;--r-xl: 26px;--r-pill: 999px;--sp-1:4px;--sp-2:8px;--sp-3:12px;--sp-4:16px;--sp-5:20px;--sp-6:24px;--sp-8:32px;--sp-10:40px;--sp-12:48px;--sp-16:64px;--shadow-sm: 0 1px 2px rgba(45,41,38,.08), 0 1px 1px rgba(45,41,38,.04);--shadow-md: 0 4px 12px rgba(45,41,38,.1), 0 2px 4px rgba(45,41,38,.06);--shadow-lg: 0 12px 28px rgba(45,41,38,.14), 0 4px 8px rgba(45,41,38,.06);--shadow-red: 0 6px 18px rgba(244,0,0,.3)}.ke-display{font-family:var(--font-display);font-weight:var(--w-extrabold);font-style:italic;font-size:var(--text-display);line-height:var(--lh-display);letter-spacing:var(--ls-display);color:var(--fg1)}.ke-h1{font-family:var(--font-display);font-weight:var(--w-extrabold);font-size:var(--text-h1);line-height:var(--lh-h1);letter-spacing:var(--ls-h1);color:var(--fg1)}.ke-h2{font-family:var(--font-display);font-weight:var(--w-bold);font-size:var(--text-h2);line-height:var(--lh-h2);letter-spacing:var(--ls-h2);color:var(--fg1)}.ke-h3{font-family:var(--font-display);font-weight:var(--w-bold);font-size:var(--text-h3);line-height:var(--lh-h3);letter-spacing:var(--ls-h3);color:var(--fg1)}.ke-h4{font-family:var(--font-display);font-weight:var(--w-semibold);font-size:var(--text-h4);line-height:var(--lh-h4);color:var(--fg1)}.ke-body{font-family:var(--font-body);font-weight:var(--w-regular);font-size:var(--text-body);line-height:var(--lh-body);color:var(--fg1)}.ke-sm{font-family:var(--font-body);font-weight:var(--w-regular);font-size:var(--text-sm);line-height:var(--lh-sm);color:var(--fg2)}.ke-eyebrow{font-family:var(--font-display);font-weight:var(--w-bold);font-size:var(--text-xs);line-height:var(--lh-xs);letter-spacing:var(--ls-xs);text-transform:uppercase;color:var(--accent)}.ke-price{font-family:var(--font-display);font-weight:var(--w-extrabold);font-style:italic;color:var(--fg1)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--app-bg);color:var(--fg1);font-family:var(--font-body);font-size:15px;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button{font-family:inherit}::selection{background:var(--red-200);color:var(--ink-900)}:root{--app-bg:#ECEAE7;--surface:var(--white);--surface-2:var(--ink-050);--surface-3:var(--ink-100);--t-fg1:var(--ink-900);--t-fg2:var(--ink-700);--t-fg3:var(--ink-500);--line:var(--ink-300);--line-soft:var(--ink-200);--side-bg:#231F1C;--side-bg-2:#2D2926;--side-fg:#CFC9C3;--side-fg-dim:#8C857E;--side-line:rgba(255,255,255,.08);--shadow-card:0 1px 2px rgba(45,41,38,.06),0 1px 3px rgba(45,41,38,.05);--shadow-pop:0 12px 34px rgba(45,41,38,.18),0 4px 10px rgba(45,41,38,.1);--topbar-bg:rgba(255,255,255,.82)}[data-theme=dark]{--app-bg:#171513;--surface:#211E1B;--surface-2:#2A2623;--surface-3:#322D29;--fg1:#F0F0F1;--fg2:#C3BCB4;--fg3:#8E867E;--line:#39332E;--line-soft:#2C2825;--border:#39332E;--border-strong:#4D453E;--side-bg:#0F0E0C;--side-bg-2:#1A1714;--side-fg:#CFC9C3;--side-fg-dim:#7E776F;--side-line:rgba(255,255,255,.07);--shadow-card:0 1px 2px rgba(0,0,0,.4);--shadow-pop:0 16px 40px rgba(0,0,0,.55);--topbar-bg:rgba(33,30,27,.82);--success-bg:#16352a;--warning-bg:#3a201d;--info-bg:#26221f;--red-50:#2c1513}[data-theme=dark] body{color:var(--fg1)}.app{display:flex;min-height:100vh}.sidebar{width:256px;flex:none;background:var(--side-bg);color:var(--side-fg);display:flex;flex-direction:column;position:sticky;top:0;height:100vh;transition:width .22s cubic-bezier(.2,.7,.3,1);z-index:40}.sidebar.collapsed{width:76px}.side-brand{display:flex;align-items:center;gap:12px;padding:20px 18px 16px}.side-brand img{height:46px;display:block;flex:none}.side-brand-txt{font-family:var(--font-display);font-weight:800;font-style:italic;font-size:19px;line-height:.95;color:#fff;letter-spacing:-.01em;white-space:nowrap}.side-brand-txt small{display:block;font-style:normal;font-weight:700;font-size:9px;letter-spacing:.18em;color:var(--coke-red);text-transform:uppercase;margin-bottom:3px}.sidebar.collapsed .side-brand-txt{display:none}.nav{flex:1;overflow-y:auto;padding:6px 12px 12px}.nav::-webkit-scrollbar{width:0}.nav-sec{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--side-fg-dim);font-weight:700;padding:16px 12px 7px;white-space:nowrap}.sidebar.collapsed .nav-sec{text-align:center;padding:14px 0 6px;font-size:8px}.nav-item{display:flex;align-items:center;gap:12px;width:100%;border:none;background:none;cursor:pointer;color:var(--side-fg);font-family:var(--font-display);font-weight:600;font-size:14.5px;padding:10px 12px;border-radius:var(--r-md);text-align:left;position:relative;transition:background .14s,color .14s}.nav-item:hover{background:#ffffff0f;color:#fff}.nav-item.is-active{background:var(--coke-red);color:#fff;box-shadow:0 4px 12px #f4000057}.nav-item .ke-icon{flex:none}.nav-item-label{white-space:nowrap;overflow:hidden}.sidebar.collapsed .nav-item{justify-content:center;padding:11px 0}.sidebar.collapsed .nav-item-label{display:none}.nav-count{margin-left:auto;background:var(--coke-red);color:#fff;font-size:11px;font-weight:800;min-width:20px;height:20px;border-radius:10px;display:flex;align-items:center;justify-content:center;padding:0 6px}.nav-item.is-active .nav-count{background:#ffffff40}.sidebar.collapsed .nav-count{position:absolute;top:5px;right:9px;min-width:16px;height:16px;font-size:9px}.side-foot{border-top:1px solid var(--side-line);padding:12px}.side-user{display:flex;align-items:center;gap:11px;padding:8px;border-radius:var(--r-md);cursor:pointer}.side-user:hover{background:#ffffff0f}.side-user .av{flex:none}.side-user-meta{min-width:0}.side-user-name{font-family:var(--font-display);font-weight:700;font-size:13.5px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.side-user-role{font-size:11px;color:var(--side-fg-dim);white-space:nowrap}.sidebar.collapsed .side-user-meta{display:none}.sidebar.collapsed .side-user{justify-content:center}.av{width:36px;height:36px;border-radius:50%;background:var(--coke-red);color:#fff;display:flex;align-items:center;justify-content:center;font-family:var(--font-display);font-weight:800;font-size:14px}.main{flex:1;min-width:0;display:flex;flex-direction:column}.topbar{position:sticky;top:0;z-index:30;display:flex;align-items:center;gap:14px;padding:0 26px;height:66px;background:var(--topbar-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}.topbar-title h1{font-family:var(--font-display);font-weight:800;font-size:21px;margin:0;letter-spacing:-.01em;color:var(--fg1)}.topbar-title p{margin:1px 0 0;font-size:12.5px;color:var(--fg3)}.topbar-spacer{flex:1}.icon-btn{width:40px;height:40px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface);color:var(--fg2);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .14s;position:relative}.icon-btn:hover{color:var(--coke-red);border-color:var(--border-strong)}.icon-btn .dot{position:absolute;top:8px;right:9px;width:8px;height:8px;border-radius:50%;background:var(--coke-red);border:2px solid var(--surface)}.menu-btn{display:none}.topsearch{display:flex;align-items:center;gap:9px;background:var(--surface);border:1px solid var(--line);border-radius:var(--r-pill);padding:9px 16px;color:var(--fg3);font-size:14px;min-width:230px;cursor:text}.topsearch input{border:none;background:none;outline:none;font-family:inherit;font-size:14px;color:var(--fg1);width:100%}.topsearch-res{position:absolute;top:calc(100% + 6px);left:0;right:0;min-width:320px;z-index:210;background:var(--bg-raised,#fff);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 8px 28px #00000029;overflow:hidden;max-height:380px;overflow-y:auto}.topsearch-item{display:grid;grid-template-columns:20px 1fr;grid-template-rows:auto auto;column-gap:10px;width:100%;text-align:left;padding:9px 14px;border:none;border-bottom:1px solid var(--line-soft);background:none;cursor:pointer;color:var(--fg1);font-family:inherit}.topsearch-item .ke-icon{grid-row:1 / span 2;align-self:center}.topsearch-item .t{font-weight:600;font-size:13.5px}.topsearch-item .s{font-size:12px;color:var(--fg3)}.topsearch-item:hover{background:var(--surface-2)}.topsearch-empty{padding:14px;font-size:13px;color:var(--fg3)}.notif-row:hover{background:var(--ink-100,#F0F0F1)}.role-badge{display:inline-flex;align-items:center;gap:6px;font-family:var(--font-display);font-weight:700;font-size:12px;padding:6px 12px;border-radius:var(--r-pill);text-transform:uppercase;letter-spacing:.04em}.role-badge.admin{background:var(--black-c);color:#fff}.role-badge.vend{background:var(--red-50);color:var(--coke-red)}.content{padding:26px;max-width:1320px;width:100%;margin:0 auto}.content.wide{max-width:none}.page-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:22px;flex-wrap:wrap}.page-head .eyebrow{font-family:var(--font-display);font-weight:700;font-size:11.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--coke-red);margin-bottom:6px}.page-head h2{font-family:var(--font-display);font-weight:800;font-size:30px;letter-spacing:-.02em;margin:0;color:var(--fg1)}.page-head .sub{color:var(--fg2);font-size:14px;margin-top:5px;max-width:60ch}.head-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);box-shadow:var(--shadow-card)}.card.pad{padding:20px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.card-head h3{font-family:var(--font-display);font-weight:800;font-size:17px;margin:0;color:var(--fg1)}.card-head .sub{font-size:12.5px;color:var(--fg3);margin-top:2px}.grid{display:grid;gap:18px}.g-4{grid-template-columns:repeat(4,1fr)}.g-3{grid-template-columns:repeat(3,1fr)}.g-2{grid-template-columns:repeat(2,1fr)}.row{display:flex;gap:18px}.row.wrap{flex-wrap:wrap}.btn{font-family:var(--font-display);font-weight:700;border:none;cursor:pointer;border-radius:var(--r-md);display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap;transition:transform .12s,background .15s,box-shadow .15s,border-color .15s;padding:11px 18px;font-size:14.5px}.btn:active{transform:scale(.97)}.btn .ke-icon{margin:-2px 0}.btn-primary{background:var(--coke-red);color:#fff;box-shadow:var(--shadow-red)}.btn-primary:hover{background:var(--red-600)}.btn-primary:active{background:var(--red-700)}.btn-dark{background:var(--black-c);color:var(--brilliant-white)}.btn-dark:hover{background:#413c38}.btn-ghost{background:transparent;color:var(--coke-red);border:1.5px solid var(--coke-red)}.btn-ghost:hover{background:var(--coke-red);color:#fff}.btn-soft{background:var(--surface);color:var(--fg1);border:1px solid var(--line)}.btn-soft:hover{border-color:var(--border-strong);color:var(--coke-red)}.btn-sm{padding:8px 13px;font-size:13px}.btn-lg{padding:15px 26px;font-size:16px}.btn-block{width:100%}.btn[disabled]{opacity:.45;pointer-events:none}.badge{display:inline-flex;align-items:center;gap:5px;font-family:var(--font-display);font-weight:700;font-size:11.5px;padding:4px 10px;border-radius:var(--r-pill);letter-spacing:.02em}.badge.success{background:var(--success-bg);color:var(--success)}.badge.warn{background:var(--warning-bg);color:var(--warning)}.badge.info{background:var(--info-bg);color:var(--fg2)}.badge.danger{background:var(--red-50);color:var(--coke-red)}.badge.neutral{background:var(--surface-3);color:var(--fg2)}.badge.promo{background:var(--promo);color:var(--ink-900)}.badge.dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.tag{font-size:11px;font-weight:600;color:var(--fg2);background:var(--surface-3);padding:3px 9px;border-radius:var(--r-sm)}.stat{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-lg);padding:18px 20px;box-shadow:var(--shadow-card);position:relative;overflow:hidden}.stat-ico{width:42px;height:42px;border-radius:var(--r-md);display:flex;align-items:center;justify-content:center;background:var(--red-50);color:var(--coke-red);margin-bottom:14px}.stat-label{font-size:12.5px;color:var(--fg3);font-weight:600}.stat-value{font-family:var(--font-display);font-weight:800;font-style:italic;font-size:30px;letter-spacing:-.01em;color:var(--fg1);line-height:1.05;margin-top:3px}.stat-delta{display:inline-flex;align-items:center;gap:3px;font-size:12px;font-weight:700;margin-top:8px}.stat-delta.up{color:var(--success)}.stat-delta.down{color:var(--coke-red)}.stat-delta .muted{color:var(--fg3);font-weight:500}.table-wrap{overflow-x:auto;border-radius:var(--r-lg)}table.tbl{width:100%;border-collapse:collapse;font-size:14px}.tbl thead th{text-align:left;font-family:var(--font-display);font-weight:700;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--fg3);padding:11px 14px;border-bottom:1px solid var(--line);white-space:nowrap}.tbl tbody td{padding:13px 14px;border-bottom:1px solid var(--line-soft);color:var(--fg1);vertical-align:middle}.tbl tbody tr:last-child td{border-bottom:none}.tbl tbody tr{transition:background .12s}.tbl tbody tr:hover{background:var(--surface-2)}.tbl .r{text-align:right}.tbl .c{text-align:center}.tbl .num{font-family:var(--font-display);font-weight:700;font-variant-numeric:tabular-nums}.tbl .price{font-family:var(--font-display);font-weight:800;font-style:italic;font-variant-numeric:tabular-nums}tr.low{background:var(--red-50)!important}tr.low td:first-child{box-shadow:inset 3px 0 0 var(--coke-red)}.cellname{display:flex;align-items:center;gap:11px}.cellsub{font-size:12px;color:var(--fg3)}.ph{background:var(--surface-3);color:var(--ink-400);display:flex;align-items:center;justify-content:center;border-radius:var(--r-md);flex:none;border:1px solid var(--line-soft);overflow:hidden}.ph.sm{width:40px;height:40px;border-radius:var(--r-sm)}.ph.md{width:56px;height:56px}.ph.lg{width:100%;aspect-ratio:1;border-radius:var(--r-md)}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-family:var(--font-display);font-weight:600;font-size:13px;color:var(--fg2)}.field-label .req{color:var(--coke-red)}.input,.select,.textarea{width:100%;font-family:inherit;font-size:14.5px;color:var(--fg1);background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-md);padding:11px 13px;outline:none;transition:border-color .14s,box-shadow .14s}.input::placeholder,.textarea::placeholder{color:var(--fg3)}.input:focus,.select:focus,.textarea:focus{border-color:var(--coke-red);box-shadow:0 0 0 3px #f400002e}.textarea{resize:vertical;min-height:84px;line-height:1.5}.select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%239A938C' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 13px center;padding-right:36px;cursor:pointer}.input-affix{position:relative;display:flex;align-items:center}.input-affix .pfx{position:absolute;left:13px;color:var(--fg3);font-weight:700;font-family:var(--font-display);pointer-events:none}.input-affix .input{padding-left:28px}.search{display:flex;align-items:center;gap:9px;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-md);padding:10px 14px;color:var(--fg3);transition:border-color .14s,box-shadow .14s}.search:focus-within{border-color:var(--coke-red);box-shadow:0 0 0 3px #f4000029}.search input{border:none;background:none;outline:none;font-family:inherit;font-size:14.5px;color:var(--fg1);width:100%}.touch-input-wrap{position:relative;display:flex;align-items:center;width:100%}.touch-input-wrap .input{flex:1;padding-right:36px}.kb-trigger-btn{flex-shrink:0;border:none;background:transparent;color:var(--fg3);border-radius:var(--r-sm);display:flex;align-items:center;justify-content:center;cursor:pointer;width:26px;height:26px;padding:0}.touch-input-wrap .kb-trigger-btn{position:absolute;right:6px;top:50%;transform:translateY(-50%)}.kb-trigger-btn:hover{color:var(--coke-red);background:var(--surface-2)}.kb-panel{position:fixed;left:0;right:0;bottom:0;z-index:150;background:var(--surface);border-top:1.5px solid var(--line);box-shadow:var(--shadow-pop);padding:10px 14px 14px;animation:pop .18s cubic-bezier(.2,.7,.3,1)}.kb-toolbar{display:flex;justify-content:flex-end;gap:8px;margin-bottom:8px}.kb-row{display:flex;gap:6px;justify-content:center;margin-bottom:6px}.kb-key{flex:1;max-width:60px;height:46px;border-radius:var(--r-md);border:1px solid var(--line);background:var(--surface-2);font-family:var(--font-display);font-weight:700;font-size:16px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--fg1)}.kb-key:active{background:var(--red-50,#FFF0F0);border-color:var(--coke-red);color:var(--coke-red)}.kb-key.kb-wide{max-width:220px;flex:2}.kb-key.kb-close{background:var(--coke-red);color:#fff;border-color:var(--coke-red)}.kb-key.kb-mode-toggle{flex:none;width:56px;max-width:56px;height:34px;font-size:13px}.kb-accent-popup{position:absolute;bottom:100%;transform:translate(-50%);background:var(--fg1);border-radius:var(--r-sm);padding:6px;display:flex;gap:4px;box-shadow:var(--shadow-pop);z-index:1}.kb-accent-popup button{width:34px;height:34px;border:none;border-radius:var(--r-sm);background:var(--surface);color:var(--fg1);font-size:16px;cursor:pointer}.segmented{display:inline-flex;background:var(--surface-3);border-radius:var(--r-md);padding:4px;gap:3px}.seg{border:none;background:none;cursor:pointer;font-family:var(--font-display);font-weight:700;font-size:13px;color:var(--fg2);padding:8px 15px;border-radius:var(--r-sm);transition:all .14s;white-space:nowrap}.seg.is-active{background:var(--surface);color:var(--coke-red);box-shadow:var(--shadow-card)}.chips{display:flex;gap:8px;flex-wrap:wrap}.chip{flex:none;font-family:var(--font-display);font-weight:600;font-size:13.5px;padding:8px 15px;border-radius:var(--r-pill);background:var(--surface);border:1px solid var(--line);color:var(--fg2);cursor:pointer;transition:all .14s}.chip:hover{border-color:var(--border-strong)}.chip.is-active{background:var(--coke-red);color:#fff;border-color:var(--coke-red)}.tpl-pick{flex:none;width:128px;padding:0;border-radius:var(--r-md);border:1.5px solid var(--line);background:var(--surface);cursor:pointer;overflow:hidden;transition:all .14s;text-align:left}.tpl-pick:hover{border-color:var(--border-strong)}.tpl-pick.is-active{border-color:var(--coke-red);box-shadow:var(--shadow-card),0 0 0 3px #f4000024}.tpl-pick-canvas{display:block;width:100%;aspect-ratio:1080/1920;background:var(--surface-3);border-bottom:1px solid var(--line)}.tpl-pick-label{display:block;padding:8px 10px;font-family:var(--font-display);font-weight:700;font-size:12px;color:var(--fg2)}.tpl-pick.is-active .tpl-pick-label{color:var(--coke-red)}.switch{width:44px;height:26px;border-radius:13px;background:var(--ink-300);position:relative;cursor:pointer;border:none;transition:background .16s;flex:none}.switch:after{content:"";position:absolute;top:3px;left:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000040;transition:transform .16s}.switch.on{background:var(--coke-red)}.switch.on:after{transform:translate(18px)}.prog{height:8px;border-radius:var(--r-pill);background:var(--surface-3);overflow:hidden}.prog>i{display:block;height:100%;border-radius:var(--r-pill);background:var(--coke-red)}.prog.warn>i{background:var(--warning)}.prog.ok>i{background:var(--success)}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#221e1b80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px;animation:fade .16s ease-out}.modal{background:var(--surface);border-radius:var(--r-xl);box-shadow:var(--shadow-pop);width:100%;max-width:520px;max-height:90vh;display:flex;flex-direction:column;overflow:hidden;animation:pop .2s cubic-bezier(.2,.7,.3,1)}.modal.wide{max-width:780px}.modal.fullscreen{max-width:none;width:100vw;height:100vh;max-height:100vh;border-radius:0}.overlay:has(.modal.fullscreen){padding:0}.modal-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:20px 22px;border-bottom:1px solid var(--line)}.modal-head h3{font-family:var(--font-display);font-weight:800;font-size:19px;margin:0;color:var(--fg1)}.modal-body{padding:22px;overflow-y:auto}.modal-foot{display:flex;justify-content:flex-end;gap:10px;padding:16px 22px;border-top:1px solid var(--line);background:var(--surface-2)}@keyframes fade{0%{opacity:0}to{opacity:1}}@keyframes pop{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#221e1b80;z-index:39;animation:fade .16s}.toast-wrap{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center}.toast{background:var(--black-c);color:#fff;border-radius:var(--r-md);padding:13px 18px;font-size:14px;font-weight:600;display:flex;align-items:center;gap:10px;box-shadow:var(--shadow-pop);animation:toastin .25s cubic-bezier(.2,.7,.3,1)}.toast .ke-icon{color:var(--success)}.toast.toast-error{background:var(--bg-raised,#fff);color:var(--fg1);border:1.5px solid var(--coke-red)}.toast.toast-error .ke-icon{color:var(--coke-red)}@keyframes toastin{0%{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}.empty{text-align:center;padding:54px 24px;color:var(--fg3)}.empty .ke-icon{color:var(--ink-400);margin-bottom:12px}.empty h4{font-family:var(--font-display);font-weight:800;font-size:18px;color:var(--fg1);margin:0 0 5px}.empty p{margin:0;font-size:13.5px}.muted{color:var(--fg3)}.mono{font-family:var(--font-mono);font-size:.92em}.price-big{font-family:var(--font-display);font-weight:800;font-style:italic;font-variant-numeric:tabular-nums}.divider{height:1px;background:var(--line);margin:16px 0;border:none}.enter{animation:enter .3s cubic-bezier(.2,.7,.3,1)}@keyframes enter{0%{transform:translateY(8px)}to{transform:none}}@media (prefers-reduced-motion:reduce){.enter{animation:none}}.ke-icon{display:inline-flex;align-items:center;justify-content:center;line-height:0}.ke-icon svg{width:1em;height:1em;stroke-width:var(--sw,2)}.chart-legend{display:flex;gap:16px;flex-wrap:wrap;font-size:12.5px;color:var(--fg2)}.chart-legend span{display:inline-flex;align-items:center;gap:6px}.chart-legend i{width:11px;height:11px;border-radius:3px;display:inline-block}.bar-track{background:var(--surface-3);border-radius:var(--r-sm);overflow:hidden;height:10px;flex:1}.bar-track>i{display:block;height:100%;background:var(--coke-red);border-radius:var(--r-sm)}.login{min-height:100vh;display:grid;grid-template-columns:1.05fr .95fr}.login-brand{background:var(--coke-red);color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}.login-brand .glow{position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.16),transparent 65%);right:-160px;top:-120px}.login-brand .glow2{position:absolute;width:360px;height:360px;border-radius:50%;background:radial-gradient(circle,rgba(0,0,0,.18),transparent 65%);left:-120px;bottom:-120px}.login-brand img{height:96px;position:relative}.login-tag{position:relative}.login-tag h1{font-family:var(--font-display);font-weight:800;font-style:italic;font-size:46px;line-height:.98;margin:0 0 14px;letter-spacing:-.02em}.login-tag p{font-size:16px;opacity:.9;max-width:42ch;line-height:1.5}.login-feats{display:flex;flex-direction:column;gap:13px;position:relative}.login-feat{display:flex;align-items:center;gap:12px;font-weight:600;font-size:14.5px}.login-feat .ke-icon{background:#ffffff2e;width:34px;height:34px;border-radius:var(--r-md)}.login-form-wrap{display:flex;align-items:center;justify-content:center;padding:40px;background:var(--app-bg)}.login-card{width:100%;max-width:380px}.login-card h2{font-family:var(--font-display);font-weight:800;font-size:27px;margin:0 0 4px;color:var(--fg1)}.login-card .lead{color:var(--fg2);font-size:14.5px;margin:0 0 26px}.role-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:20px}.role-opt{border:1.5px solid var(--line);background:var(--surface);border-radius:var(--r-md);padding:14px;cursor:pointer;text-align:left;transition:all .14s}.role-opt:hover{border-color:var(--border-strong)}.role-opt.sel{border-color:var(--coke-red);background:var(--red-50);box-shadow:0 0 0 3px #f400001f}.role-opt .ke-icon{color:var(--coke-red);margin-bottom:8px}.role-opt b{font-family:var(--font-display);font-size:15px;color:var(--fg1);display:block}.role-opt small{color:var(--fg3);font-size:12px}.login-alt{text-align:center;margin-top:18px;font-size:13.5px;color:var(--fg3)}.login-alt a{color:var(--coke-red);font-weight:700;cursor:pointer;text-decoration:none}.pos{display:grid;grid-template-columns:1fr 392px;height:100vh;background:var(--app-bg)}.pos-main{display:flex;flex-direction:column;min-width:0;overflow:hidden;height:100vh}.pos-top{display:flex;align-items:center;gap:14px;padding:16px 24px;background:var(--surface);border-bottom:1px solid var(--line)}.pos-scan{flex:1}.pos-top-actions{display:flex;align-items:center;gap:6px;flex-shrink:0}.pos-caja-btn{display:inline-flex;align-items:center;gap:6px;height:40px;padding:0 12px;border-radius:var(--r-md);border:1.5px solid;font-family:var(--font-display);font-weight:800;font-size:13px;cursor:pointer;white-space:nowrap}.pos-caja-btn.abierta{background:var(--success-bg);color:var(--success);border-color:var(--success)}.pos-caja-btn.cerrada{background:var(--red-50);color:var(--coke-red);border-color:var(--coke-red)}.pos-caja-aviso{display:flex;align-items:center;gap:8px;margin:10px 24px 0;padding:10px 14px;border-radius:var(--r-md);background:var(--red-50);color:var(--coke-red);font-weight:700;font-size:13.5px;cursor:pointer}.delivery-suggest{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--bg-raised,#fff);border:1px solid var(--line);border-radius:var(--r-md);box-shadow:0 6px 24px #00000024;z-index:300;max-height:280px;overflow-y:auto}.delivery-suggest-item{padding:14px 16px;font-size:14.5px;cursor:pointer;border-bottom:1px solid var(--line);line-height:1.35}.delivery-suggest-item:last-child{border-bottom:none}.delivery-suggest-item:hover,.delivery-suggest-item:active{background:var(--ink-100,#F0F0F1)}.pos-crumb{flex-shrink:0;display:flex;align-items:center;gap:10px;padding:14px 24px 0}.pos-crumb .back-btn{display:flex;align-items:center;gap:6px;font-family:var(--font-display);font-weight:700;font-size:13.5px;color:var(--coke-red);background:none;border:none;cursor:pointer;padding:6px 4px}.pos-crumb .title{font-family:var(--font-display);font-weight:800;font-size:15px;color:var(--fg1)}.pos-body{flex:1;min-height:0;overflow-y:auto;padding:14px 24px 20px}.pos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:14px}.postile{background:var(--surface);border:1px solid var(--line);border-radius:var(--r-md);padding:12px;cursor:pointer;text-align:left;transition:transform .12s,box-shadow .14s,border-color .14s;display:flex;flex-direction:column;gap:9px}.postile:hover{box-shadow:var(--shadow-pop);border-color:var(--border-strong);transform:translateY(-2px)}.postile:active{transform:scale(.97)}.postile .ph{height:84px;width:100%}.postile .nm{font-size:13.5px;font-weight:600;line-height:1.25;min-height:34px;color:var(--fg1)}.postile .pr{font-family:var(--font-display);font-weight:800;font-style:italic;font-size:18px;color:var(--fg1)}.postile .st{font-size:11px;color:var(--fg3)}.postile.out{opacity:.5;pointer-events:none}.pos-grid-lg{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:18px}.pos-grid-lg .postile{padding:16px;gap:12px}.pos-grid-lg .postile .ph{height:120px}.poscat-tile{align-items:center;text-align:center;justify-content:center}.poscat-tile .ph{display:flex;align-items:center;justify-content:center;background:var(--surface-2);border-radius:var(--r-md)}.poscat-tile .nm{font-size:14.5px;text-align:center;min-height:auto}.poscat-tile .ct{font-size:11px;color:var(--fg3)}.pos-body-wrap{position:relative;flex:1;min-height:0;display:flex}.pos-body-wrap .pos-body{flex:1}.pos-scroll-btns{position:absolute;right:14px;bottom:24px;display:flex;flex-direction:column;gap:10px;z-index:5}.pos-scroll-btn{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--surface);box-shadow:var(--shadow-pop);display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--fg1);transition:opacity .14s}.pos-scroll-btn:disabled{opacity:.35;cursor:default}.pos-scroll-btn:not(:disabled):hover{color:var(--coke-red);border-color:var(--coke-red)}.pos-cart{background:var(--surface);border-left:1px solid var(--line);display:flex;flex-direction:column;height:100vh;overflow:hidden}.pos-cart-head{padding:12px 16px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.pos-cart-head h3{font-family:var(--font-display);font-weight:800;font-size:18px;margin:0}.pos-lines{flex:1;min-height:60px;overflow-y:auto;padding:8px 16px}.pos-line{display:flex;align-items:center;gap:11px;padding:10px 0;border-bottom:1px solid var(--line-soft)}.pos-line .nm{flex:1;font-size:13.5px;font-weight:600;line-height:1.25}.pos-line .nm small{display:block;color:var(--fg3);font-weight:500;font-size:11.5px}.pos-line .li-pr{font-family:var(--font-display);font-weight:800;font-style:italic;font-variant-numeric:tabular-nums;min-width:74px;text-align:right}.stepper{display:flex;align-items:center;background:var(--surface-3);border-radius:var(--r-sm);overflow:hidden}.stepper button{width:28px;height:30px;background:none;border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--fg1)}.stepper button:hover{color:var(--coke-red)}.stepper span{font-weight:800;font-size:13px;min-width:24px;text-align:center;font-variant-numeric:tabular-nums}.pos-foot{flex-shrink:0;overflow-y:auto;border-top:1px solid var(--line);padding:14px 16px;background:var(--surface)}.pos-cfg-btn{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px;padding:8px 4px;border-radius:var(--r-md);border:1.5px solid var(--line);background:var(--surface);cursor:pointer;font-size:11px;font-weight:700;color:var(--fg2);transition:border-color .14s,color .14s;overflow:hidden}.pos-cfg-btn span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pay-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:8px 0 10px}.pos-cfg-btn.fila{flex-direction:row;justify-content:flex-start;gap:8px;font-size:13px;padding:12px 14px}.pay-opt{border:1.5px solid var(--line);background:var(--surface);border-radius:var(--r-md);padding:8px 6px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:6px;font-size:12px;font-weight:700;color:var(--fg2);transition:all .14s;font-family:var(--font-display)}.pay-opt.sel{border-color:var(--coke-red);background:var(--red-50);color:var(--coke-red)}.pay-opt.cta-opt{border-color:var(--warning);color:var(--warning)}.pay-opt.cta-opt.sel{border-color:var(--warning);background:var(--warning-bg);color:var(--warning)}.pos-total{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:10px}.pos-total b{font-family:var(--font-display);font-weight:800;font-style:italic;font-size:32px;font-variant-numeric:tabular-nums}.pos-client{margin-bottom:14px}.pos-client-search{display:flex;align-items:center;gap:8px;background:var(--surface);border:1.5px solid var(--line);border-radius:var(--r-md);padding:9px 12px;transition:border-color .14s,box-shadow .14s}.pos-client-search:focus-within{border-color:var(--success);box-shadow:0 0 0 3px #1e9e5a29}.pos-client-search input{border:none;background:none;outline:none;font-family:inherit;font-size:14px;color:var(--fg1);width:100%}.pos-client-search .x,.pos-client-chip .x{background:none;border:none;cursor:pointer;color:var(--fg3);display:flex;padding:2px;flex:none}.pos-client-search .x:hover,.pos-client-chip .x:hover{color:var(--coke-red)}.pos-client-results{margin-top:6px;display:flex;flex-direction:column;gap:4px;background:var(--surface-2);border-radius:var(--r-md);padding:6px}.pos-client-results .res{display:flex;align-items:center;gap:10px;width:100%;background:none;border:none;cursor:pointer;padding:8px 10px;border-radius:var(--r-sm);text-align:left;transition:background .12s}.pos-client-results .res:hover{background:var(--surface)}.pos-client-results .res .meta{flex:1;min-width:0}.pos-client-results .res .meta b{font-size:13.5px;font-weight:600;display:block}.pos-client-results .res .meta small{font-size:11.5px;color:var(--fg3)}.pos-client-results .res.create .ico{width:28px;height:28px;border-radius:var(--r-sm);background:var(--red-50);display:flex;align-items:center;justify-content:center;flex:none}.pos-client-hint{font-size:12px;color:var(--fg3);padding:4px 8px}.pos-client-chip{display:flex;align-items:center;gap:10px;background:var(--success-bg);border:1px solid rgba(30,158,90,.3);border-radius:var(--r-md);padding:9px 12px}.pos-client-chip .ico{flex:none;display:flex}.pos-client-chip .meta{flex:1;min-width:0}.pos-client-chip .meta b{font-size:13.5px;font-weight:700;display:block;color:var(--fg1)}.pos-client-chip .meta small{font-size:11.5px;color:var(--fg2);display:flex;align-items:center;gap:3px}.pos-client-form{margin-top:8px;background:var(--surface-2);border-radius:var(--r-md);padding:12px;display:flex;flex-direction:column;gap:9px}.pos-client-formhead{display:flex;align-items:center;justify-content:space-between;font-size:13px}.pos-client-more{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:600;color:var(--fg2);cursor:pointer}.qr-box{background:#fff;padding:18px;border-radius:var(--r-md);display:inline-block;border:1px solid var(--line)}.qr-grid{display:grid;width:216px;height:216px}.qr-grid i{background:var(--black-c)}.store-stage{min-height:100vh;background:var(--app-bg);display:flex;align-items:center;justify-content:center;padding:24px}.phone{width:402px;max-width:100%;height:860px;max-height:94vh;background:var(--bg);border-radius:44px;overflow:hidden;position:relative;box-shadow:var(--shadow-pop);border:10px solid #1a1715;display:flex;flex-direction:column}.phone-screen{flex:1;overflow-y:auto;overflow-x:hidden;background:var(--bg)}.phone-screen::-webkit-scrollbar{display:none}.store-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:11px}.store-catgrid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}.store-cart-fab{position:absolute;bottom:18px;left:18px;right:18px;z-index:18}@media (min-width:901px){.store-stage{align-items:stretch;padding:0}.phone{width:100%;max-width:1180px;height:100vh;max-height:100vh;border-radius:0;border:none;box-shadow:none;margin:0 auto}.store-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:16px}.store-catgrid{grid-template-columns:repeat(auto-fill,minmax(110px,1fr))}}@keyframes bell-ring{0%,to{transform:rotate(0)}15%{transform:rotate(18deg)}30%{transform:rotate(-16deg)}45%{transform:rotate(12deg)}60%{transform:rotate(-8deg)}75%{transform:rotate(4deg)}}.bell-ring{animation:bell-ring .7s ease}@media (max-width:500px){.store-stage{padding:0;height:100dvh;min-height:unset;align-items:stretch;background:#f40000}.phone{width:100%;height:100%;max-height:none;border-radius:0;border:none;box-shadow:none;background:#f40000}.phone-screen{padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.phone .store-top-bar{top:env(safe-area-inset-top)}.store-cart-fab{position:fixed;bottom:calc(18px + env(safe-area-inset-bottom))}}@media (max-width:1100px){.g-4,.g-3{grid-template-columns:repeat(2,1fr)}}@media (max-width:980px){.sidebar{position:fixed;left:0;top:0;transform:translate(-100%);box-shadow:var(--shadow-pop);width:262px}.sidebar.open{transform:none}.sidebar.collapsed{width:262px}.sidebar.collapsed .side-brand-txt,.sidebar.collapsed .nav-item-label,.sidebar.collapsed .side-user-meta{display:block}.sidebar.collapsed .nav-item{justify-content:flex-start;padding:10px 12px}.menu-btn{display:flex}.pos{grid-template-columns:1fr}.pos-cart{position:fixed;right:0;top:0;width:min(392px,90vw);z-index:50;box-shadow:var(--shadow-pop);transform:translate(100%);transition:transform .22s}.pos-cart.open{transform:none}.pos-cart-toggle{display:flex!important}}@media (min-width:981px){.pos-cart-toggle,.pos-cart-close-btn{display:none!important}}@media (max-width:900px){.pos{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) auto}.pos-main{height:auto;min-height:0}.pos-top{padding:12px 16px;flex-wrap:nowrap}.pos-body{padding:12px 16px 16px}.pos-crumb{padding:12px 16px 0}.pos-grid{grid-template-columns:repeat(auto-fill,minmax(132px,1fr))}.pos-grid-lg{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px}.pos-grid-lg .postile .ph{height:96px}.pos-scroll-btns{right:10px;bottom:16px}.pos-scroll-btn{width:40px;height:40px}.pos-cart-toggle,.pos-cart-close-btn{display:none!important}.pos-cart{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto minmax(0,1fr);grid-template-areas:"tabs tabs" "foot head" "foot lines";column-gap:12px;height:50vh;position:static;width:100%;border-left:none;border-top:1px solid var(--line);box-shadow:none;transform:none;overflow:hidden}.pos-cart-tabs{grid-area:tabs}.pos-cart-head{grid-area:head}.pos-lines{grid-area:lines;min-height:0;overflow-y:auto}.pos-foot{grid-area:foot;min-height:0;overflow-y:auto;border-top:none;border-right:1px solid var(--line);display:flex;flex-direction:column}.pos-foot-bottom{margin-top:auto;flex-shrink:0}}@media (max-width:680px){.content{padding:16px}.g-4,.g-3,.g-2{grid-template-columns:1fr}.row{flex-direction:column}.login{grid-template-columns:1fr}.login-brand,.topsearch{display:none}.page-head h2{font-size:24px}.table-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch}.table-scroll .tbl{min-width:560px}.card{overflow-x:auto}.tbl{min-width:520px}}html.tw-side-rojo{--side-bg:var(--coke-red);--side-bg-2:#d40000;--side-fg:#ffe7e5;--side-fg-dim:rgba(255,255,255,.65);--side-line:rgba(255,255,255,.18)}html.tw-side-rojo .nav-item.is-active{background:var(--black-c);color:#fff;box-shadow:none}html.tw-side-rojo .nav-item:hover{background:#ffffff24}html.tw-side-rojo .nav-count{background:var(--black-c)}html.tw-side-rojo .side-brand-txt small{color:#fff}html.tw-side-rojo .av{background:var(--black-c)}html.tw-dense .content{padding:18px}html.tw-dense .card.pad{padding:15px}html.tw-dense .stat{padding:14px 16px}html.tw-dense .stat-ico{margin-bottom:10px;width:38px;height:38px}html.tw-dense .stat-value{font-size:26px}html.tw-dense .tbl tbody td,html.tw-dense .tbl thead th{padding:9px 12px}html.tw-dense .grid,html.tw-dense .row{gap:13px}html.tw-dense .nav-item{padding:8px 12px}html.tw-recto{--r-lg:6px;--r-md:5px;--r-sm:4px;--r-xl:8px;--r-xs:2px}
