:root{--bg: #0b0e13;--panel: #141a24;--panel-2: #1d2531;--line: #29313d;--line-strong: #3b4655;--text: #f3f6fb;--muted: #98a6b6;--accent: #a4cf46;--accent-ink: #0f2008;--amber: #eab308;--amber-ink: #231900;--green: #2bb894;--green-ink: #042019;--red: #f1544a;--red-2: #cc3a33;--r: 6px;--s1: 4px;--s2: 8px;--s3: 12px;--s4: 16px;--s5: 20px;--s6: 24px;--s8: 32px;--measure: 760px;--tap: 48px;color-scheme:dark}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;overflow:hidden}.app{display:flex;flex-direction:column;height:100%;height:100dvh}.gutter{padding-inline:max(var(--s4),env(safe-area-inset-left),calc((100% - var(--measure)) / 2))}.header{display:flex;align-items:center;gap:var(--s3);padding-block:max(var(--s3),env(safe-area-inset-top)) var(--s3);background:#0c0f14;border-bottom:2px solid var(--line-strong)}.header h1{font-size:16px;margin:0;font-weight:800;letter-spacing:.1em;text-transform:uppercase;white-space:nowrap}.header .role{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--muted);font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.04em}.header .push{margin-left:auto}.content{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;padding-bottom:max(var(--s5),env(safe-area-inset-bottom))}.content>:first-child{margin-top:var(--s4)}.tabbar{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--s2);padding-top:var(--s3)}.tabbar .btn{min-height:var(--tap);padding-inline:var(--s2);font-size:13px}button{font:inherit;color:inherit;cursor:pointer;touch-action:manipulation;-webkit-tap-highlight-color:transparent;user-select:none}.btn{appearance:none;border:1px solid var(--line-strong);background:var(--panel-2);color:var(--text);border-radius:var(--r);padding:var(--s3) var(--s5);font-size:15px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;min-height:54px;display:inline-flex;align-items:center;justify-content:center;gap:var(--s2)}.btn:active{transform:translateY(1px)}.btn:focus-visible,.card.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.btn.primary{background:var(--accent);color:var(--accent-ink);border-color:transparent}.btn.ok{background:var(--green);color:var(--green-ink);border-color:transparent}.btn.ghost{background:transparent;border-color:var(--line);color:var(--muted);font-weight:700}.btn.danger{background:var(--red-2);color:#fff;border-color:transparent}.btn.big{min-height:64px;font-size:17px;width:100%}.btn.block{width:100%}.btn.icon{padding:0;width:44px;min-height:44px;flex:0 0 auto}.btn.icon svg{display:block}.btn:disabled{opacity:.4}.grid{display:grid;gap:var(--s3)}.grid.cols{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.grid.c2{grid-template-columns:repeat(2,1fr)}.grid.c3{grid-template-columns:repeat(3,1fr)}.grid+.grid{margin-top:var(--s3)}.row{display:flex;align-items:center;gap:var(--s3)}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.muted{color:var(--muted)}.center{text-align:center}.empty{text-align:center;color:var(--muted);padding:var(--s5)}.sub{font-size:12px;color:var(--muted);font-weight:500}.name{font-weight:600}.qty{font-weight:700;font-variant-numeric:tabular-nums}.inactive{opacity:.5}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);padding:var(--s4)}.card+.card{margin-top:var(--s3)}.card h3{margin:0 0 var(--s2);font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.card .row+.row{margin-top:var(--s3)}.card.clickable{display:block;width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer;touch-action:manipulation}.card.clickable:hover{border-color:var(--line-strong)}.card.clickable:active{background:var(--panel-2)}.card.clickable>.row{flex-wrap:wrap;row-gap:var(--s2)}.meta{margin-left:auto;text-align:right;font-size:13px;color:var(--muted);line-height:1.5}.card+.btn.big{margin-top:var(--s4)}.section-title{position:sticky;top:0;z-index:5;background:var(--bg);font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-weight:800;margin:var(--s4) 0 0;padding:var(--s3) 0 var(--s3) var(--s3)}.section-title:before{content:"";position:absolute;left:0;top:var(--s3);bottom:var(--s3);width:3px;background:var(--line-strong)}.order{border-left:6px solid var(--line-strong)}.order.requested{border-left-color:var(--amber)}.order.accepted{border-left-color:var(--accent)}.order.delivered{border-left-color:var(--green);opacity:.6}.order.cancelled{border-left-color:var(--muted);opacity:.5}.order.alarm{border-left-color:var(--red)}.order.overdue{box-shadow:inset 2px 0 0 var(--amber)}.title{display:inline-flex;align-items:center;gap:var(--s3);flex:1 1 auto;min-width:0;font-size:20px;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.title>.t,.name{min-width:0;overflow-wrap:anywhere;hyphens:auto}.items{font-size:16px;margin-top:var(--s2);font-weight:600}.badge{flex:0 0 auto;font-size:11px;font-weight:800;padding:var(--s1) var(--s2);border-radius:var(--r);text-transform:uppercase;letter-spacing:.05em;background:var(--panel-2)}.badge.requested{background:var(--amber);color:var(--amber-ink)}.badge.accepted{background:var(--accent);color:var(--accent-ink)}.badge.delivered{background:var(--green);color:var(--green-ink)}.ago{font-size:13px;color:var(--muted);font-weight:700;font-variant-numeric:tabular-nums}.ago.overdue{color:var(--amber)}.chip{display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;border-radius:4px;color:#0e1116}.stepper{display:flex;align-items:center;gap:var(--s2);flex:0 0 auto}.stepper button{width:var(--tap);height:var(--tap);border-radius:var(--r);border:1px solid var(--line-strong);background:var(--panel-2);font-size:22px;font-weight:800}.stepper button:disabled{opacity:.35}.stepper .n{min-width:34px;text-align:center;font-size:20px;font-weight:800;font-variant-numeric:tabular-nums}.prodrow{display:flex;align-items:center;justify-content:space-between;gap:var(--s3);padding:var(--s3) 0;border-bottom:1px solid var(--line)}.prodrow:first-child{padding-top:0}.prodrow:last-of-type{border-bottom:none}.card>.btn.big{margin-top:var(--s3)}.btn.pickup{justify-content:flex-start}.btn>.lines{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;text-align:left}.alarm-dock{margin-bottom:var(--s2)}.safety-btn{background:var(--red);color:#fff;border:none;border-radius:var(--r);width:100%;min-height:72px;font-size:22px;font-weight:900;letter-spacing:.1em;text-transform:uppercase}.safety-btn:active{background:var(--red-2)}.safety-btn:focus-visible{outline:2px solid #fff;outline-offset:2px}.pill{flex:0 0 auto;display:inline-flex;align-items:center;gap:var(--s2);padding:var(--s1) var(--s3);border-radius:var(--r);font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;background:var(--panel-2);border:1px solid var(--line)}.pill .dot{width:9px;height:9px;border-radius:50%}.pill.online{color:var(--green)}.pill.online .dot{background:var(--green);box-shadow:0 0 8px var(--green)}.pill.connecting{color:var(--amber)}.pill.connecting .dot{background:var(--amber)}.pill.offline{color:var(--red)}.pill.offline .dot{background:var(--red);box-shadow:0 0 8px var(--red)}.alarm-badge,.work-badge{flex:0 0 auto;font-weight:800;font-size:12px;padding:var(--s1) var(--s3);border-radius:var(--r);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.alarm-badge{background:var(--red);color:#fff;animation:flash 1s steps(2) infinite}.work-badge{background:var(--amber);color:var(--amber-ink)}@keyframes flash{50%{background:var(--red-2)}}.backdrop{position:fixed;inset:0;background:#000000b8;display:flex;align-items:center;justify-content:center;padding:var(--s4);z-index:50}.modal{background:var(--panel);border:1px solid var(--line-strong);border-radius:var(--r);padding:var(--s5);width:100%;max-width:480px;max-height:90dvh;overflow-y:auto}.modal h2{margin:0 0 var(--s4);font-size:16px;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.actions{display:grid;gap:var(--s2);margin-top:var(--s4)}.modal>.actions{position:sticky;bottom:calc(-1 * var(--s5));z-index:1;margin:var(--s4) calc(-1 * var(--s5)) calc(-1 * var(--s5));padding:var(--s3) var(--s5) var(--s5);background:var(--panel);border-top:1px solid var(--line)}input.btn,select.btn{width:100%;min-height:var(--tap);justify-content:flex-start;background:var(--bg);font-size:16px;font-weight:500;text-transform:none;letter-spacing:normal}input.btn::placeholder{color:var(--muted)}select.btn{padding-right:44px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%2398a6b6' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--s4) center}input[type=checkbox]{width:24px;height:24px;margin:0;flex:0 0 auto;accent-color:var(--accent)}.field{display:flex;gap:var(--s3);align-items:flex-start;margin-bottom:var(--s3)}.field>.label{color:var(--muted);font-size:13px;min-width:78px;padding-top:var(--s3)}.field>.control{flex:1;min-width:0}.field>.control>.check-only{min-height:var(--tap);display:flex;align-items:center}.check{display:flex;align-items:center;gap:var(--s2);min-height:40px}.help{font-size:13px;color:var(--muted);margin:0 0 var(--s3);line-height:1.45}.info{display:flex;gap:var(--s3);align-items:flex-start;background:var(--panel-2);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--r);padding:var(--s3) var(--s4);margin-bottom:var(--s4);font-size:13px;line-height:1.5;color:var(--muted)}.info svg{flex:0 0 auto;color:var(--accent);margin-top:1px}.info.warn{border-left-color:var(--red)}.info.warn svg{color:var(--red)}.hold-btn{position:relative;overflow:hidden;touch-action:none}.hold-btn>.fill{position:absolute;inset:0 auto 0 0;background:var(--accent);opacity:.4}.hold-btn>.label{position:relative}.hold-area{margin-top:var(--s8);text-align:center}.hold-area .help{margin-top:var(--s2)}.center-screen{height:100%;display:flex;flex-direction:column;justify-content:center;padding:var(--s6) var(--s4);overflow-y:auto}.center-screen h1{text-align:center;font-size:20px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;margin:0 0 var(--s2)}.center-screen>p{margin:0 0 var(--s6)}.roles{display:grid;gap:var(--s3);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));max-width:var(--measure);margin:0 auto;width:100%}.role-card{text-transform:none;letter-spacing:normal;text-align:left;justify-content:flex-start;padding:var(--s5);min-height:76px;font-size:19px;font-weight:800}.stat{background:var(--panel-2);border:1px solid var(--line);border-radius:var(--r);padding:var(--s3) var(--s4);min-width:0}.stat .v{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums;white-space:nowrap}.stat .k{font-size:11px;color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-weight:700}@media (max-width: 480px){.header{gap:var(--s2)}.header .brand{display:none}.header .role{font-size:15px;font-weight:700;color:var(--text)}.header .pill{padding:var(--s1);gap:0}.header .pill-text{display:none}.tabbar{grid-template-columns:repeat(2,1fr)}.title{font-size:18px}.stat .v{font-size:22px}.stat{padding:var(--s3)}}@media (prefers-reduced-motion: reduce){.alarm-badge{animation:none}.btn:active{transform:none}}
