:root{--bg:#0F1317;--panel:#151B21;--card:#1D242C;--card-2:#252E38;--line:#2B343E;--fg:#E8EDF2;--dim:#94A1AE;--faint:#5E6B78;--new:#5AA2FF;--cook:#F2A93B;--ready:#34C77B;--late:#F0595A;--accent:#2BB3BF;--on-new:#06182E;--on-ready:#05230F;--on-accent:#04211F;--f-ui:"Barlow", "Segoe UI", Roboto, Arial, sans-serif;--f-tight:"Barlow Condensed", "Arial Narrow", "Roboto Condensed", Arial, sans-serif;--tap:56px;color-scheme:dark}[hidden]{display:none!important}html,body{height:100%}body{background:var(--bg);color:var(--fg);font:16px/1.3 var(--f-ui);overflow:hidden;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}button{font:inherit;color:inherit;cursor:pointer;border:0;background:none;touch-action:manipulation}button:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.app{height:100%;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto;padding-left:max(14px,env(safe-area-inset-left,0px));padding-right:max(14px,env(safe-area-inset-right,0px))}.top{display:flex;align-items:center;gap:14px;height:64px;min-width:0;overflow:hidden}.brand{min-width:0;white-space:nowrap}.brand b{display:block;font:700 22px/1 var(--f-tight)}.brand span{color:var(--dim);font-size:13px}.tabs{display:flex;gap:4px;background:var(--panel);padding:4px;border-radius:12px}.tab{display:flex;align-items:center;gap:8px;padding:0 18px;height:48px;border-radius:9px;font:600 18px var(--f-ui);color:var(--dim)}.tab i{font-style:normal;font:700 15px var(--f-ui);background:var(--card-2);color:var(--fg);border-radius:20px;padding:1px 9px;font-variant-numeric:tabular-nums}.tab.on{background:var(--card-2);color:var(--fg)}.tab.on i{background:var(--accent);color:var(--on-accent)}.counts{display:flex;gap:14px;margin-left:auto;color:var(--dim);font-size:14px}.counts span{display:flex;align-items:center;gap:6px}.counts b{color:var(--fg);font:700 22px var(--f-tight);font-variant-numeric:tabular-nums}.dot{width:10px;height:10px;border-radius:50%}.chip{height:48px;padding:0 14px;border-radius:24px;background:var(--panel);border:1px solid var(--line);color:var(--dim);font-weight:600;font-size:15px;white-space:nowrap}.chip.on{color:var(--fg);border-color:var(--accent)}.chip.locked{color:var(--cook);border-color:var(--cook);animation:pulse 1.2s ease-in-out infinite}.clock{font:700 28px var(--f-tight);font-variant-numeric:tabular-nums;min-width:68px;text-align:right}.allday{display:flex;align-items:center;gap:8px;height:44px;overflow:hidden;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}.allday h3{margin:0 6px 0 0;font:700 13px var(--f-ui);letter-spacing:1.5px;text-transform:uppercase;color:var(--dim);white-space:nowrap}.allday ul{display:flex;gap:6px;list-style:none;margin:0;padding:0;overflow-x:auto;scrollbar-width:none}.allday li{display:flex;align-items:center;gap:6px;background:var(--panel);border-radius:8px;padding:5px 10px;white-space:nowrap;font-weight:600;font-size:15px}.allday li b{font:700 20px/1 var(--f-tight);color:var(--cook);font-variant-numeric:tabular-nums}.allday .none{color:var(--faint);font-size:14px}.active{min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:12px;padding-block:10px}.kitchen{display:grid;grid-template-rows:minmax(0,1fr) auto;gap:8px;min-height:0}.grid{display:grid;gap:12px;min-height:0;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));grid-template-rows:repeat(var(--rows,2),minmax(0,1fr))}.tk{background:var(--card);border-radius:12px;display:flex;flex-direction:column;min-height:0;overflow:hidden;border-top:6px solid var(--new);position:relative}.tk.st-cook{border-top-color:var(--cook)}.tk.late{box-shadow:inset 0 0 0 3px var(--late)}.tk.fresh{animation:arrive 1.1s ease-out 4}@keyframes arrive{0%{box-shadow:0 0 #5aa2fff2}to{box-shadow:0 0 0 12px #5aa2ff00}}.tk-h{display:grid;grid-template-columns:1fr auto;gap:2px 8px;padding:10px 12px 6px;align-items:start}.tk-no{font:700 30px/1 var(--f-tight);font-variant-numeric:tabular-nums}.tk-room{font:700 20px/1.1 var(--f-ui)}.tk-clock{text-align:right}.tk-clock b{display:block;font:700 30px/1 var(--f-tight);font-variant-numeric:tabular-nums}.tk-clock span{display:block;font:700 12px var(--f-ui);letter-spacing:1px;text-transform:uppercase;color:var(--new);margin-top:3px}.st-cook .tk-clock span{color:var(--cook)}.tk-clock.over b,.tk-clock.over span,.tk-clock.urgent b{color:var(--late)}.tk-meta{grid-column:1/-1;color:var(--dim);font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tk-items{list-style:none;margin:0;padding:4px 0;flex:1;min-height:0;overflow:hidden;border-top:1px solid var(--line);position:relative}.tk-items li{display:grid;grid-template-columns:30px 1fr;gap:4px;padding:6px 12px;font-size:19px;font-weight:600;line-height:1.2}.tk-items li b{font:700 22px/1 var(--f-tight)}.tk-items li small{display:block;font-size:14px;font-weight:500;color:var(--cook)}.st-cook .tk-items li{cursor:pointer}.tk-items li.cut{visibility:hidden}.tk-run{margin:0 12px 8px;font-size:13.5px;color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tk-run b{color:var(--fg);font-weight:700}.compact .tk-run{margin:0 10px 6px;font-size:12.5px}.tk-items li.done,.tk-items li.done b,.tk-items li.done small{color:var(--faint);text-decoration:line-through}.tk-note{margin:0 10px 6px;padding:5px 8px;border-radius:6px;background:#f0595a29;color:#ffb4b4;font-weight:700;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.more{position:absolute;left:0;right:0;bottom:0;padding:16px 12px 6px;background:linear-gradient(transparent,var(--card) 55%);font:700 14px var(--f-ui);color:var(--accent);text-align:left}.acts{display:flex;gap:8px;padding:0 10px 10px}.act{flex:1;height:64px;border-radius:10px;font:700 26px var(--f-tight);letter-spacing:.6px;text-transform:uppercase}.st-new .act{background:var(--new);color:var(--on-new)}.st-cook .act{background:var(--ready);color:var(--on-ready)}.side{height:64px;min-width:84px;padding:0 10px;border-radius:10px;background:var(--card-2);border:1px solid var(--line);font:700 20px var(--f-tight);color:var(--fg)}.side small{display:block;font:600 11px var(--f-ui);color:var(--dim);letter-spacing:.8px;text-transform:uppercase}.act:active,.side:active{transform:translateY(1px)}.compact .tk-h{padding:8px 10px 4px}.compact .tk-no{font-size:24px}.compact .tk-room{font-size:17px}.compact .tk-clock b{font-size:24px}.compact .tk-meta{display:none}.compact .tk-items li{font-size:16px;padding:3px 10px;grid-template-columns:24px 1fr}.compact .tk-items li b{font-size:18px}.compact .tk-items li small{font-size:13px}.compact .acts{padding:0 8px 8px;gap:6px}.compact .act{height:52px;font-size:22px}.compact .side{height:52px;min-width:70px;font-size:18px}.pager{display:flex;align-items:center;gap:10px;height:56px}.pg{width:72px;height:56px;border-radius:12px;background:var(--panel);border:1px solid var(--line);font:700 26px var(--f-tight)}.pg:disabled{opacity:.3}.pg.alert{border-color:var(--new);background:#5aa2ff2e;animation:pulse 1.2s ease-in-out infinite}.pg-t{font:700 20px var(--f-tight);font-variant-numeric:tabular-nums;white-space:nowrap}.pg-x{color:var(--dim);font-size:14px;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pg-x b{color:var(--new)}.pg-x b.l{color:var(--late)}.mode{color:var(--faint);font-size:13px;white-space:nowrap}@keyframes pulse{50%{opacity:.45}}.rail{background:var(--panel);border-radius:14px;padding:12px;display:flex;flex-direction:column;min-height:0}.rail-h{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:4px 10px;margin-bottom:10px}.rail-h h2,.lane-t{margin:0;font:700 13px var(--f-ui);letter-spacing:1.5px;text-transform:uppercase;color:var(--dim)}.rail-h small{color:var(--faint);font-size:12.5px}.dlist{display:flex;flex-direction:column;gap:10px;overflow-y:auto;min-height:0;flex:1}.dc,.dr{width:100%;text-align:left;cursor:pointer}.dc em.lt{color:var(--late)}.dc{background:var(--card);border-radius:10px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.dc-h{display:flex;align-items:baseline;gap:8px}.dc-h b{font:700 22px/1 var(--f-tight)}.dc-h span{font-weight:700}.dc-h em{margin-left:auto;font:600 18px var(--f-tight);font-style:normal;color:var(--dim);font-variant-numeric:tabular-nums}.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:3px;list-style:none;margin:0;padding:0}.steps li{font-size:11.5px;min-height:30px;font-weight:600;color:var(--faint);display:flex;flex-direction:column;gap:4px;line-height:1.1}.steps li:before{content:"";height:6px;border-radius:3px;background:var(--line)}.steps li.ok{color:var(--dim)}.steps li.ok:before{background:var(--ready)}.steps li.now{color:var(--fg)}.steps li.now:before{background:var(--ready);animation:pulse 1.4s ease-in-out infinite}.dc-who{margin:0;color:var(--dim);font-size:13.5px}.dc-who b{color:var(--fg)}.dc.slow{box-shadow:inset 0 0 0 2px var(--cook)}.dc.atpass{box-shadow:inset 0 0 0 2px var(--accent)}.dc.delivered{background:#34c77b24}.dc.delivered .dc-h em{color:var(--ready)}.dr{display:grid;grid-template-columns:auto auto 1fr auto;gap:8px;align-items:center;background:var(--card);border-radius:8px;padding:8px 10px;font-size:14px}.dr b{font:700 18px var(--f-tight)}.dr span{color:var(--dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dr em{font:600 16px var(--f-tight);font-style:normal;color:var(--dim);font-variant-numeric:tabular-nums}.bar{grid-column:1/-1;height:4px;border-radius:2px;background:var(--line);overflow:hidden}.bar i{display:block;height:100%;background:var(--ready)}.sub{font:700 12px var(--f-ui);letter-spacing:1.2px;text-transform:uppercase;color:var(--faint);margin:4px 2px 0}.empty{color:var(--faint);padding:20px 6px;text-align:center;font-size:15px;grid-column:1/-1}.gv{background:var(--panel);border:1px solid var(--line);border-radius:16px;width:min(1000px,100%);max-height:100%;overflow:auto;padding:20px 22px;display:flex;flex-direction:column;gap:16px}.gv-h{display:flex;align-items:center;gap:16px}.gv-h h2{margin:0;font:700 26px var(--f-tight)}.gv-h p{margin:0;color:var(--dim);font-size:14px}.gv-h button{margin-left:auto;height:var(--tap);padding:0 22px;border-radius:10px;border:1px solid var(--line);font-weight:700}.gv-body{display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}.gv-body figure{margin:0;display:flex;flex-direction:column;gap:8px}.gv-body figcaption{color:var(--dim);font-size:13px}.gv-tv{flex:1 1 560px;min-width:0}.tv-scr{aspect-ratio:16/9;max-width:100%;border:8px solid #050709;border-radius:10px;background:linear-gradient(135deg,#0e2233,#12354f 65%,#0f5560);padding:28px 34px;display:flex;flex-direction:column;gap:8px;color:#f6f4ef}.tv-k{margin:0;font:700 12px var(--f-ui);letter-spacing:1.6px;text-transform:uppercase;color:#f2b63d}.tv-scr h3{margin:0;font:700 34px/1.1 var(--f-tight)}.tv-d{margin:0;color:#d3e2ec;font-size:17px}.tv-i{margin:auto 0 0;color:#b8ccd8;font-size:14px}.gv-ph{flex:0 0 250px}.ph-scr{width:250px;height:470px;border:8px solid #050709;border-radius:34px;background:#f7f8f6;color:#14213d;padding:24px 18px;display:flex;flex-direction:column;gap:8px}.ph-k{margin:0;font:700 12px var(--f-ui);letter-spacing:1.2px;text-transform:uppercase;color:#12707a}.ph-scr h3{margin:0;font:700 26px/1.1 var(--f-tight)}.ph-d{margin:0;color:#3e4c5a;font-size:14px}.ph-i{margin:auto 0 0;color:#5e6b78;font-size:13px}.trk{list-style:none;margin:10px 0;padding:0;display:flex}.trk li{flex:1;display:flex;flex-direction:column;gap:6px;font-size:13px;font-weight:600;color:#7f8c99}.trk li i{height:6px;border-radius:3px;background:#3a4c5c}.trk li.ok i,.trk li.now i{background:#34c77b}.trk li.now i{animation:pulse 1.4s ease-in-out infinite}.trk li.ok,.trk li.now{color:#e8edf2}.trk-h{gap:6px}.trk-v{flex-direction:column;gap:0;margin-top:14px}.trk-v li{flex:none;flex-direction:row;align-items:center;gap:12px;padding:9px 0;color:#9aa5b1;font-size:15px}.trk-v li i{width:14px;height:14px;border-radius:50%;flex:none;background:#d5dbe1}.trk-v li.ok,.trk-v li.now{color:#14213d}.trk-v li.now span{font-weight:700}.done-v{min-height:0;display:flex;flex-direction:column;gap:12px;padding-block:10px}.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.kpi{background:var(--panel);border-radius:12px;padding:10px 14px}.kpi span{display:block;color:var(--dim);font-size:14px}.kpi b{font:700 32px/1.1 var(--f-tight);font-variant-numeric:tabular-nums}.kpi b small{font-size:17px;color:var(--dim);margin-left:4px}.tbl-wrap{flex:1;min-height:0;overflow:auto;background:var(--panel);border-radius:12px}table{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}th{position:sticky;top:0;background:var(--panel);text-align:left;font:700 12.5px var(--f-ui);letter-spacing:1.2px;text-transform:uppercase;color:var(--dim);padding:10px 12px;border-bottom:1px solid var(--line)}td{padding:10px 12px;border-bottom:1px solid var(--line);font-size:16px;white-space:nowrap}td.items{white-space:normal;color:var(--dim);font-size:14px;min-width:200px}td .ono{font:700 20px var(--f-tight)}.flag{font-weight:700;font-size:13px;border-radius:12px;padding:3px 10px}.flag.ok{background:#34c77b29;color:var(--ready)}.flag.over{background:#f0595a29;color:var(--late)}.recall{height:44px;padding:0 14px;border-radius:8px;border:1px solid var(--line);font-weight:600}.scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#05080bbd;z-index:30;display:flex;align-items:center;justify-content:center;padding:24px}.sheet{background:var(--panel);border:1px solid var(--line);border-radius:16px;width:min(560px,100%);max-height:100%;overflow:auto;padding:18px}.sheet .tk{border-radius:12px}.sheet .tk-items{overflow:visible}.sheet-x{display:block;margin:12px 0 0 auto;height:var(--tap);padding:0 22px;border-radius:10px;border:1px solid var(--line);font-weight:700}.flow-p{width:min(980px,100%);height:100%;overflow:auto;background:var(--panel);border-radius:16px;padding:22px 24px;display:flex;flex-direction:column;gap:14px}.flow-h{display:flex;align-items:center;gap:16px}.flow-h h2{margin:0;font:700 28px var(--f-tight)}.flow-h p{margin:0;color:var(--dim);font-size:15px}.flow-h button{margin-left:auto;height:var(--tap);padding:0 20px;border-radius:10px;border:1px solid var(--line);font-weight:700}.fwrap{overflow-x:auto}.ftbl{min-width:820px}.ftbl td,.ftbl th{white-space:normal;vertical-align:top;font-size:14px}.ftbl td:first-child{font:700 18px var(--f-tight);width:150px}.ftbl td small{display:block;color:var(--faint);font:500 12px var(--f-ui)}.ftbl .ev{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:12.5px;color:var(--accent)}.flow-note{color:var(--dim);font-size:14px;margin:0}.toast{position:fixed;right:max(26px,calc(env(safe-area-inset-right,0px) + 12px));bottom:calc(54px + env(safe-area-inset-bottom,0px));width:306px;background:var(--card-2);border:1px solid var(--line);border-radius:12px;padding:10px 10px 10px 18px;display:flex;align-items:center;gap:14px;font-weight:600;box-shadow:0 10px 30px #00000080;z-index:40;max-width:calc(100% - 32px)}.toast span{flex:1;min-width:0;font-size:14.5px;line-height:1.3}.toast button{flex:none;height:48px;padding:0 18px;border-radius:8px;background:var(--accent);color:var(--on-accent);font-weight:700}.rotate{display:none;align-items:center;justify-content:center;gap:10px;padding:8px;background:#f2a93b29;color:var(--cook);font-weight:600;font-size:14px;border-radius:8px;margin-top:6px}.foot{display:flex;align-items:center;gap:8px;height:40px;color:var(--faint);font-size:12.5px;border-top:1px solid var(--line)}.foot button{height:32px;padding:0 12px;border-radius:8px;border:1px dashed var(--faint);color:var(--dim);font-weight:600;font-size:13px}.foot button:first-of-type{margin-left:auto}@media (orientation:portrait) and (min-width:700px){.rotate{display:flex}.top{height:auto;flex-wrap:wrap;padding-block:8px}.brand{flex:1 0 100%}.counts{margin-left:0}.active{grid-template-columns:1fr;grid-template-rows:minmax(0,1fr) 260px}}@media (max-width:699px){body{overflow:auto}.app{height:auto;min-height:100%;display:block}.top{height:auto;flex-wrap:wrap;padding-block:10px}.counts{margin-left:0;width:100%}.active{grid-template-columns:1fr}.grid{grid-template-columns:1fr!important;grid-template-rows:none!important}.tk-items{overflow:visible}.more,.pager{display:none!important}.kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.foot{height:auto;flex-wrap:wrap;padding-block:8px}.toast{left:16px;right:16px;width:auto}}@media (max-width:1180px) and (min-width:700px){.mode,.brand span{display:none}.counts{gap:10px}.counts span{font-size:0}.counts b{font-size:22px}.tab{padding:0 14px}}@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}.tk-note.plain{background:#f2a93b24;color:#f7d9a3}.tk-items li{cursor:default}.banner{position:fixed;left:50%;top:70px;transform:translate(-50%);z-index:50;max-width:min(720px,calc(100% - 32px));padding:10px 18px;border-radius:10px;background:#f0595a2e;border:1px solid var(--late);color:#ffd0d0;font-weight:600;font-size:15px}.banner.info{background:var(--card-2);border-color:var(--line);color:var(--dim)}.foot{gap:12px}.foot>span:first-child{flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.foot-ctl{display:flex;align-items:center;gap:8px;flex:none}.foot-ctl button,.foot-ctl select{height:32px;padding:0 12px;border-radius:8px;border:1px dashed var(--faint);background:none;color:var(--dim);font:600 13px var(--f-ui)}.foot-ctl button.on{color:var(--fg);border-color:var(--accent)}.foot-ctl select{background:var(--bg)}.foot button:first-of-type{margin-left:0}.signin{min-height:100dvh;display:grid;place-items:center;padding:24px 16px;background:var(--bg);color:var(--fg)}.signin form{width:min(24rem,100%);display:grid;gap:14px;background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:26px}.signin h1{margin:0;font:700 28px/1.1 var(--f-tight)}.signin .si-sub{margin:0;color:var(--dim);font-size:15px}.signin label{display:grid;gap:6px;font-weight:600;font-size:14px;color:var(--dim)}.signin input{height:52px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--fg);font:inherit;font-size:17px;-webkit-user-select:text;user-select:text}.signin input:focus-visible{border-color:var(--accent);outline-offset:0}.signin .btn{height:56px;border-radius:10px;background:var(--accent);color:var(--on-accent);font:700 22px var(--f-tight);letter-spacing:.6px;text-transform:uppercase}.signin .btn:disabled{opacity:.6}.signin .si-error{margin:0;color:#ffb4b4;font-weight:600}.signin .si-demo{height:44px;justify-self:start}#root{height:100%}
