:root,:root[data-mode=dark]{--v-scrim: rgba(8, 10, 18, .95);--v-bg: #0c0e17;--v-panel: #121520;--v-panel2: #1a1e2c;--v-line: rgba(238, 240, 250, .09);--v-tile: #171a27;--v-tile-brd: rgba(238, 240, 250, .08);--v-text: #eef0fa;--v-dim: rgba(238, 240, 250, .58);--v-accent: #a78bfa;--v-cta: #7c5cf0;--v-cta-ink: #ffffff;--v-cta-glow: 0 8px 30px -10px rgba(124, 92, 240, .65);--v-good: #4ade9c;--v-warn: #fbbf5d;--v-bad: #fb7185;--v-radius: 14px;--v-num: ui-monospace, "SF Mono", Menlo, Consolas, monospace}:root[data-mode=light]{--v-scrim: rgba(233, 235, 245, .96);--v-bg: #eef0f8;--v-panel: #f7f8fd;--v-panel2: #e8eaf4;--v-line: rgba(24, 26, 54, .1);--v-tile: #ffffff;--v-tile-brd: rgba(24, 26, 54, .08);--v-text: #191b2e;--v-dim: rgba(25, 27, 46, .55);--v-accent: #6d3fe0;--v-cta: #6d3fe0;--v-cta-ink: #ffffff;--v-cta-glow: 0 8px 24px -10px rgba(109, 63, 224, .45);--v-good: #0f9d6a;--v-warn: #b97a10;--v-bad: #dc2657}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--v-bg);color:var(--v-text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}button{font:inherit;cursor:pointer}input{font:inherit}.v-num{font-variant-numeric:tabular-nums;font-family:var(--v-num)}.v-app{height:100vh;display:flex;flex-direction:column}.v-health{display:flex;align-items:center;gap:16px;padding:8px 16px;font-size:13px;color:var(--v-dim);background:var(--v-panel);border-bottom:1px solid var(--v-line)}.v-health .v-brand{margin-left:auto;opacity:.5;letter-spacing:.08em}.v-dot{display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;vertical-align:1px}.v-main{flex:1;display:flex;min-height:0}.v-check{width:340px;min-width:300px;display:flex;flex-direction:column;padding:14px 16px;background:var(--v-panel);border-right:1px solid var(--v-line)}.v-check h3{margin:0 0 8px;font-size:16px;font-weight:700}.v-lines{flex:1;overflow-y:auto;min-height:0}.v-line{display:flex;justify-content:space-between;gap:12px;padding:9px 2px;border-bottom:1px solid var(--v-line);cursor:pointer}.v-line .v-price{color:var(--v-dim)}.v-line.voided{text-decoration:line-through;opacity:.4}.v-empty{color:var(--v-dim);padding:10px 2px}.v-total{display:flex;justify-content:space-between;align-items:baseline;padding:12px 2px 10px;border-top:1px solid var(--v-line);font-size:24px;font-weight:780;letter-spacing:-.01em}.v-charge{padding:15px 10px;font-size:17px;font-weight:700;letter-spacing:.02em;background:var(--v-cta);color:var(--v-cta-ink);border:none;border-radius:calc(var(--v-radius) * .7);box-shadow:var(--v-cta-glow);transition:transform .08s ease}.v-charge:active{transform:scale(.985)}.v-charge:disabled{background:var(--v-panel2);color:var(--v-dim);box-shadow:none;cursor:default}.v-btn{padding:11px 14px;min-height:44px;background:var(--v-tile);color:var(--v-text);border:1px solid var(--v-tile-brd);border-radius:calc(var(--v-radius) * .6);transition:transform .08s ease}.v-btn:active{transform:scale(.97)}.v-btn.on{border-color:var(--v-accent);color:var(--v-accent)}.v-btn.sm{padding:5px 12px;min-height:0;font-size:12.5px;color:var(--v-dim)}.v-input{padding:11px 12px;min-height:44px;background:var(--v-bg);color:var(--v-text);border:1px solid var(--v-tile-brd);border-radius:calc(var(--v-radius) * .6)}.v-input::placeholder{color:var(--v-dim)}.v-input:focus,.v-btn:focus-visible,.v-charge:focus-visible{outline:2px solid var(--v-accent);outline-offset:1px}.v-menu{flex:1;display:flex;flex-direction:column;min-width:0;padding:14px 16px}.v-cats{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.v-chip{display:inline-flex;align-items:center;padding:9px 16px;border-radius:999px;font-size:14px;font-weight:600;background:var(--v-tile);color:var(--v-dim);border:1px solid var(--v-tile-brd)}.v-chip.active{background:var(--v-cta);color:var(--v-cta-ink);border-color:transparent;box-shadow:var(--v-cta-glow)}.v-grid{flex:1;overflow-y:auto;display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;align-content:start}.v-tile{min-height:76px;padding:12px 14px;text-align:left;display:flex;flex-direction:column;justify-content:center;gap:5px;background:var(--v-tile);color:var(--v-text);border:1px solid var(--v-tile-brd);border-radius:var(--v-radius);font-size:15px;font-weight:650;transition:transform .08s ease}.v-tile:active{transform:scale(.97)}.v-tile .v-price{font-weight:400;font-size:13px;color:var(--v-dim)}.v-banner{padding:9px 16px;font-size:13px;border-bottom:1px solid var(--v-line);background:var(--v-panel2)}.v-banner.ok{border-left:3px solid var(--v-good)}.v-banner.warn{border-left:3px solid var(--v-warn)}.v-ok{color:var(--v-good)}.v-warn{color:var(--v-warn)}.v-bad{color:var(--v-bad)}.v-dim{color:var(--v-dim)}.v-glyph{width:1.1em;height:1.1em;margin-right:.5em;vertical-align:-.18em;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.v-primary{padding:13px 18px;font-size:15px;font-weight:650;background:var(--v-panel2);color:var(--v-accent);border:1px solid var(--v-accent);border-radius:calc(var(--v-radius) * .6);transition:transform .08s ease}.v-primary:active{transform:scale(.98)}.v-primary:disabled{border-color:var(--v-tile-brd);color:var(--v-dim);cursor:default}.v-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:40;background:var(--v-scrim);display:flex;align-items:center;justify-content:center;color:var(--v-text)}.v-modal{width:300px;display:flex;flex-direction:column;gap:8px;text-align:center}.v-modal h3{margin:0 0 4px;font-size:18px}.v-person{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;font-size:16px;font-weight:600;background:var(--v-tile);color:var(--v-text);border:1px solid var(--v-tile-brd);border-radius:calc(var(--v-radius) * .7);transition:transform .08s ease}.v-person:active{transform:scale(.98)}.v-dots{font-size:22px;letter-spacing:8px;margin:4px 0 8px;color:var(--v-accent)}.v-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.v-key{padding:16px;font-size:20px;font-weight:600;background:var(--v-tile);color:var(--v-text);border:1px solid var(--v-tile-brd);border-radius:calc(var(--v-radius) * .7);transition:transform .08s ease}.v-key:active{transform:scale(.95)}.v-panel{flex:1;display:flex;flex-direction:column;gap:8px;padding:16px;overflow-y:auto;min-width:0}.v-panel.narrow{max-width:470px}.v-panel-head{display:flex;align-items:center;gap:8px;margin-bottom:6px}.v-panel-head h3{margin:0;font-size:17px}.v-row{display:flex;justify-content:space-between;font-size:14px;padding:4px 0}.v-label{font-size:13px;color:var(--v-dim);margin-top:6px}.v-srow{display:flex;gap:10px;align-items:center}.v-srow .v-name{width:140px;font-size:14px}.v-srow .v-onhand{width:120px;font-size:12px;color:var(--v-dim)}.v-qty{width:110px;padding:9px 10px;background:var(--v-bg);color:var(--v-text);border:1px solid var(--v-tile-brd);border-radius:8px}.v-qty:focus{outline:2px solid var(--v-accent);outline-offset:1px}.v-kds-grid{flex:1;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:12px;padding:14px 16px;align-content:start;overflow-y:auto}.v-kds-card{background:var(--v-tile);border:2px solid var(--v-tile-brd);border-radius:var(--v-radius);padding:12px 14px;cursor:pointer;transition:transform .08s ease}.v-kds-card:active{transform:scale(.98)}.v-kds-head{display:flex;justify-content:space-between;margin-bottom:6px;font-size:15px}.v-kds-line{padding:4px 0;font-size:16px;border-bottom:1px dashed var(--v-line)}.v-kds-bump{margin-top:10px;font-size:12px;color:var(--v-dim);text-align:center}.v-center-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px}.v-page-card{width:100%;max-width:420px}.v-wordmark{font-size:24px;font-weight:750;letter-spacing:.06em;margin-bottom:18px}.v-lead{color:var(--v-dim);line-height:1.5;margin:0 0 26px}.v-warnbox{color:var(--v-warn);line-height:1.5;margin:0 0 26px;background:var(--v-panel2);border:1px solid var(--v-warn);border-radius:calc(var(--v-radius) * .6);padding:12px 14px;font-size:14px}.v-code{width:100%;font-size:30px;letter-spacing:4px;text-align:center;padding:14px 12px;margin-bottom:20px;border-radius:calc(var(--v-radius) * .7);border:1px solid var(--v-tile-brd);background:var(--v-panel);color:var(--v-text);font-family:var(--v-num)}.v-code:focus{outline:2px solid var(--v-accent);outline-offset:1px}.v-note{color:var(--v-dim);font-size:12.5px;margin-top:16px;text-align:center}@media(prefers-reduced-motion:reduce){.v-btn,.v-tile,.v-charge,.v-primary,.v-person,.v-key,.v-kds-card{transition:none}}
