:root{--bg:#16161a;--surface:#1f1f25;--surface-2:#2a2a32;--border:#35353f;--text:#f2f2f4;--text-dim:#a0a0ac;--accent:#ff8a3d;--accent-text:#1a1a1a;--danger:#ff5f56;--ok:#3ddc84;--radius:12px;--tap:48px;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;overscroll-behavior-y:none;margin:0;font:16px/1.5 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}button,input,select,textarea{font:inherit;color:inherit}.app{flex-direction:column;min-height:100%;display:flex}.topbar{padding:10px 16px;padding-top:max(10px, env(safe-area-inset-top));background:var(--surface);border-bottom:1px solid var(--border);z-index:10;align-items:center;gap:12px;display:flex;position:sticky;top:0}.topbar .brand{letter-spacing:-.02em;margin-right:auto;font-weight:700}.topbar .brand span{color:var(--accent)}.nav{flex-wrap:wrap;gap:4px;display:flex}.nav a{min-height:40px;color:var(--text-dim);border-radius:999px;align-items:center;padding:0 14px;font-size:15px;font-weight:600;text-decoration:none;display:inline-flex}.nav a.active{background:var(--surface-2);color:var(--text)}.who{color:var(--text-dim);text-align:right;font-size:13px;line-height:1.2}.who strong{color:var(--text);font-size:14px;display:block}main{padding:16px;padding-bottom:max(16px, env(safe-area-inset-bottom));flex:1;width:100%;max-width:1100px;margin:0 auto}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:16px}h1{letter-spacing:-.02em;margin:0 0 16px;font-size:22px}h2{letter-spacing:-.01em;margin:0 0 12px;font-size:17px}.btn{min-height:var(--tap);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;justify-content:center;align-items:center;gap:8px;padding:0 18px;font-weight:600;display:inline-flex}.btn:active{transform:scale(.98)}.btn:disabled{opacity:.45;cursor:not-allowed}.btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.btn.danger{color:var(--danger);border-color:color-mix(in srgb, var(--danger) 40%, var(--border))}.btn.small{min-height:36px;padding:0 12px;font-size:14px}.input{width:100%;min-height:var(--tap);border-radius:var(--radius);border:1px solid var(--border);background:var(--bg);padding:0 14px}textarea.input{resize:vertical;min-height:72px;padding:10px 14px}.input:focus,.btn:focus-visible{outline:2px solid var(--accent);outline-offset:1px}label.field{margin-bottom:12px;display:block}label.field span{color:var(--text-dim);margin-bottom:6px;font-size:13px;font-weight:600;display:block}.row{align-items:center;gap:8px;display:flex}.error{background:color-mix(in srgb, var(--danger) 15%, var(--surface));border:1px solid color-mix(in srgb, var(--danger) 45%, transparent);color:#ffd5d2;border-radius:var(--radius);margin-bottom:12px;padding:12px 14px;font-size:14px}.toast{left:50%;bottom:max(20px, env(safe-area-inset-bottom));background:var(--ok);color:#10221a;z-index:100;border-radius:999px;padding:14px 22px;font-weight:700;position:fixed;transform:translate(-50%);box-shadow:0 8px 24px #0006}.muted{color:var(--text-dim)}.empty{text-align:center;color:var(--text-dim);padding:48px 16px}.login-wrap{place-items:center;min-height:100dvh;padding:24px;display:grid}.login-card{width:100%;max-width:360px}.login-card .logo{letter-spacing:-.03em;margin-bottom:4px;font-size:26px;font-weight:800}.login-card .logo span{color:var(--accent)}.order-layout{grid-template-columns:1fr;gap:16px;display:grid}@media (width>=900px){.order-layout{grid-template-columns:1fr 340px;align-items:start}.cart{position:sticky;top:76px}}.cat-tabs{scrollbar-width:none;gap:8px;margin-bottom:4px;padding-bottom:10px;display:flex;overflow-x:auto}.cat-tabs::-webkit-scrollbar{display:none}.cat-tabs button{white-space:nowrap;border:1px solid var(--border);background:var(--surface);min-height:42px;color:var(--text-dim);cursor:pointer;touch-action:manipulation;border-radius:999px;padding:0 16px;font-weight:600}.cat-tabs button.active{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.product-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;display:grid}.product-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;flex-direction:column;justify-content:space-between;gap:8px;min-height:84px;padding:12px;display:flex}.product-btn:active{border-color:var(--accent);transform:scale(.98)}.product-btn .name{font-weight:600;line-height:1.25}.product-btn .price{color:var(--accent);font-variant-numeric:tabular-nums;font-weight:700}.product-btn .stock{color:var(--text-dim);font-size:12px;font-weight:600}.product-btn .stock.low{color:var(--danger)}.cart-line{border-bottom:1px solid var(--border);grid-template-columns:1fr auto;gap:6px 10px;padding:10px 0;display:grid}.qty-controls{align-items:center;gap:6px;display:flex}.qty-btn{border:1px solid var(--border);background:var(--surface-2);cursor:pointer;touch-action:manipulation;border-radius:8px;place-items:center;width:36px;height:36px;font-size:18px;font-weight:700;display:grid}.qty{text-align:center;font-variant-numeric:tabular-nums;min-width:26px;font-weight:700}.line-total{font-variant-numeric:tabular-nums;font-weight:600}.cart-total{justify-content:space-between;align-items:baseline;margin:16px 0;font-size:20px;font-weight:800;display:flex}.cart-total .amount{font-variant-numeric:tabular-nums;color:var(--accent)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:15px}th{text-align:left;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dim);border-bottom:1px solid var(--border);white-space:nowrap;padding:8px 10px;font-size:12px}td{border-bottom:1px solid var(--border);vertical-align:middle;padding:10px}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}tr.inactive td{opacity:.45}.badge{background:var(--surface-2);color:var(--text-dim);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:700;display:inline-block}.badge.admin{background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--accent)}.badge.ok{background:color-mix(in srgb, var(--ok) 18%, transparent);color:var(--ok)}.badge.fail{background:color-mix(in srgb, var(--danger) 20%, transparent);color:var(--danger)}a.btn{color:var(--text);text-decoration:none}.lang-select{width:auto;min-height:36px;padding:0 8px;font-size:13px;font-weight:700}.drag-handle{width:32px;height:32px;color:var(--text-dim);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;border-radius:8px;place-items:center;font-size:18px;display:inline-grid}.drag-handle:active{cursor:grabbing;background:var(--surface-2)}tr.dragging td{background:color-mix(in srgb, var(--accent) 12%, var(--surface))}tr.cancelled td{opacity:.5;text-decoration:line-through}tr.cancelled td .badge{text-decoration:none}.mobile-orderbar{padding:10px 16px calc(10px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--border);z-index:40;align-items:center;gap:10px;display:flex;position:fixed;bottom:0;left:0;right:0}.mobile-orderbar-summary{min-height:var(--tap);border-radius:var(--radius);border:1px solid var(--border);background:var(--surface-2);cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;flex:1;justify-content:space-between;align-items:center;padding:0 14px;font-size:16px;font-weight:700;display:flex}.mobile-orderbar-summary .amount{color:var(--accent);font-variant-numeric:tabular-nums}@media (width>=900px){.mobile-orderbar{display:none}}@media (width<=899.98px){.order-layout{padding-bottom:84px}}@media (width<=700px){.topbar{padding:8px 12px;padding-top:max(8px, env(safe-area-inset-top));flex-wrap:wrap;gap:8px}.nav{scrollbar-width:none;flex-wrap:nowrap;order:10;width:100%;margin:0 -12px;padding:0 12px;overflow-x:auto}.nav::-webkit-scrollbar{display:none}.nav a{flex:none}.who{font-size:12px}.who strong{font-size:13px}main{padding:12px}.orders-table thead{display:none}.orders-table,.orders-table tbody{display:block}.orders-table tr{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);margin-bottom:10px;padding:4px 12px;display:block}.orders-table td{text-align:left;border-bottom:0;justify-content:space-between;align-items:center;gap:10px;padding:7px 0;display:flex}.orders-table td[data-label]:before{content:attr(data-label);color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;flex-shrink:0;font-size:11px;font-weight:700}.orders-table td:not([data-label]){border-top:1px solid var(--border);flex-wrap:wrap;justify-content:flex-start;gap:6px;margin-top:2px;padding-top:10px;white-space:normal!important}}.kds-layout{flex-direction:column;align-items:stretch;gap:14px;display:flex}.kds-main{flex:1;min-width:0}.kds-todo{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:flex-start;gap:10px 26px;padding:10px 14px;display:flex}@media (width>=1000px){.kds-layout{flex-direction:row;align-items:flex-start}.kds-todo{flex-flow:column;flex:0 0 240px;align-items:stretch;gap:12px;max-height:calc(100dvh - 92px);position:sticky;top:76px;overflow-y:auto}.kds-todo.closed{flex-basis:auto}.kds-todo .kds-todo-toggle{align-self:flex-start}}.kds-todo-toggle{letter-spacing:.08em;text-transform:uppercase;min-height:36px;color:var(--accent);white-space:nowrap;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;background:0 0;border:0;align-self:center;padding:0 4px;font-size:13px;font-weight:800}.kds-todo-cat{letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin-bottom:5px;font-size:11px;font-weight:700}.kds-todo-items{flex-wrap:wrap;gap:6px;display:flex}.kds-todo-item{background:var(--surface-2);border:1px solid var(--border);white-space:nowrap;border-radius:8px;padding:4px 10px;font-size:15px;font-weight:700}.kds-todo-qty{color:var(--accent);font-variant-numeric:tabular-nums}.kds-grid{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));align-items:start;gap:12px;display:grid}.kds-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:12px}.kds-card.late{border-color:var(--danger)}.kds-card.done{opacity:.55}.kds-card.cancelled{border-color:var(--danger)}.kds-cancelled{background:color-mix(in srgb, var(--danger) 22%, transparent);color:var(--danger);letter-spacing:.08em;text-transform:uppercase;text-align:center;border-radius:8px;margin-bottom:8px;padding:6px;font-size:16px;font-weight:800}.kds-card.cancelled .kds-item{opacity:.45;cursor:default}.kds-head{align-items:center;gap:10px;margin-bottom:8px;display:flex}.kds-num{color:var(--accent);font-variant-numeric:tabular-nums;font-size:28px;font-weight:800}.kds-meta{flex-direction:column;min-width:0;line-height:1.3;display:flex}.kds-meta strong{font-size:17px}.kds-meta span{color:var(--text-dim);font-size:13px}.kds-note{color:var(--accent);margin:0 0 8px;font-size:15px;font-style:italic}.kds-item{border:1px solid var(--border);background:var(--surface-2);text-align:left;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;border-radius:10px;align-items:center;gap:10px;width:100%;min-height:54px;margin-bottom:6px;padding:6px 10px;font-size:18px;font-weight:600;display:flex}.kds-item:active{transform:scale(.985)}.kds-item.done{opacity:.5;border-color:var(--ok);text-decoration:line-through}.kds-item.cancelled{opacity:.5;border-color:var(--danger);color:var(--danger);cursor:default;text-decoration:line-through}.kds-qty{font-variant-numeric:tabular-nums;color:var(--accent)}.kds-name{flex:1}.kds-item-note{color:var(--text-dim);font-size:13px;font-style:italic;font-weight:400;display:block}.kds-check{width:28px;height:28px;color:var(--ok);border-radius:999px;place-items:center;font-size:20px;text-decoration:none;display:grid}.kds-section{color:var(--text-dim);margin:20px 0 10px}.stat-row{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin-bottom:16px;display:grid}.stat{flex-direction:column;gap:4px;display:flex}.stat span{font-size:13px;font-weight:600}.stat strong{letter-spacing:-.02em;font-variant-numeric:tabular-nums;font-size:24px}.report-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));align-items:start;gap:16px;display:grid}
