@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700&family=Barlow:wght@400;500;600&display=swap");:root{--bg:#111315;--panel:#1a1d20;--raised:#24282c;--line:#33383d;--fg:#f3f2ef;--muted:#a3a9ae;--steel:#c9ced2;--todo:#f0b23e;--todo-ink:#1d1503;--ok:#45c47a;--ok-ink:#04170b;--warn:#ff7a59;--flag:#e5383b;--flag-bg:#3a1214;--display:"Barlow Condensed","Arial Narrow","Helvetica Neue",sans-serif;--body:"Barlow","Helvetica Neue",Arial,sans-serif;color-scheme:dark}*{box-sizing:border-box}body,html{height:100%;margin:0}body{background:var(--bg);color:var(--fg);font-family:var(--body);font-size:18px;-webkit-tap-highlight-color:transparent}button{font:inherit;color:inherit;cursor:pointer}a:focus-visible,button:focus-visible{outline:3px solid var(--steel);outline-offset:3px}a{color:inherit}.app{min-height:100%;flex-direction:column;padding:max(12px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px));gap:14px}.app,.top{display:flex}.top{align-items:center;gap:18px;flex-wrap:wrap}.top img{height:64px;width:auto}.top h1{font-family:var(--display);font-weight:700;font-size:34px;letter-spacing:.02em;text-transform:uppercase;margin:0;line-height:1}.top .sub{color:var(--muted);font-size:16px;margin-top:4px}.top .grow{flex:1 1;min-width:0}.clock{font-family:var(--display);font-size:40px;font-weight:600;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.daybar{display:flex;gap:10px;flex-wrap:wrap}.day{min-height:64px;padding:0 22px;border-radius:12px;border:3px solid var(--line);background:transparent;font-family:var(--display);font-size:26px;font-weight:700;text-transform:uppercase}.day[aria-pressed=true]{background:var(--steel);color:var(--bg);border-color:var(--steel)}.day small{font-size:18px;font-weight:600;opacity:.75;margin-left:6px}.drivers{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));grid-gap:10px;gap:10px}.drv{text-align:left;background:var(--panel);border:3px solid var(--line);border-radius:12px;padding:12px 16px;min-height:96px;display:flex;flex-direction:column;gap:4px;justify-content:center}.drv[aria-pressed=true]{background:var(--fg);color:var(--bg);border-color:var(--fg)}.drv.unrouted{border-style:dashed}.drv-name{font-family:var(--display);font-size:30px;font-weight:700;text-transform:uppercase;line-height:1}.drv-meta{font-size:16px;color:var(--muted)}.drv[aria-pressed=true] .drv-meta{color:#4a4f54}.drv-flag{align-self:flex-start;background:var(--flag);color:#fff;font-family:var(--display);font-weight:700;font-size:17px;text-transform:uppercase;padding:3px 8px;border-radius:6px}.bar{height:8px;border-radius:4px;background:var(--line);overflow:hidden;margin-top:4px}.bar i{display:block;height:100%;background:var(--ok)}.main{flex:1 1;display:grid;grid-template-columns:minmax(280px,34%) 1fr;grid-gap:16px;gap:16px;min-height:0}.detail,.queue{background:var(--panel);border-radius:14px;min-width:0;display:flex;flex-direction:column}.queue{padding:12px;gap:10px}.q-head{display:flex;justify-content:space-between;gap:8px;align-items:baseline;padding:2px 4px}.q-head b{font-family:var(--display);font-size:24px;text-transform:uppercase}.q-head span{color:var(--muted);font-size:15px}.sync{font-size:14px;color:var(--muted)}.sync.offline{color:var(--warn);font-weight:600}.orders{display:flex;flex-direction:column;gap:10px;overflow-y:auto}.lines>*,.orders>*{flex-shrink:0}.empty{color:var(--muted);padding:24px 8px;font-size:18px}.order-card{text-align:left;background:var(--raised);border:3px solid transparent;border-radius:12px;padding:14px 16px;display:grid;grid-template-columns:1fr auto;grid-gap:4px 12px;gap:4px 12px;align-items:center;min-height:92px}.order-card[aria-current=true]{border-color:var(--steel)}.order-card.has-box{grid-template-columns:auto 1fr auto}.order-card.has-box .oc-meta{grid-column:2}.order-card.has-box .chip{grid-column:3}.order-card.is-sent{opacity:.6}.order-card.flagged{background:var(--flag-bg);border-color:var(--flag)}.order-card.flagged[aria-current=true]{border-color:var(--fg);box-shadow:inset 0 0 0 3px var(--flag)}.oc-name{font-family:var(--display);font-size:28px;font-weight:700;line-height:1.05;overflow-wrap:anywhere}.oc-meta{color:var(--muted);font-size:16px;grid-column:1}.carried{color:var(--flag);font-weight:700}.stop{font-size:30px;width:56px;place-items:center}.slot,.stop{grid-row:1/span 2;font-family:var(--display);font-weight:700;height:56px;border-radius:10px;border:3px solid var(--line);display:grid}.slot{font-size:22px;min-width:72px;padding:0 8px;place-items:center;font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.chip{grid-row:1/span 2;grid-column:2;font-family:var(--display);font-weight:700;font-size:20px;text-transform:uppercase;padding:8px 12px;border-radius:8px;white-space:nowrap}.chip.todo{background:var(--todo);color:var(--todo-ink)}.chip.ready{background:var(--ok);color:var(--ok-ink)}.chip.pack{background:var(--steel);color:var(--bg)}.chip.done{background:transparent;color:var(--muted);border:2px solid var(--line)}.chip.flag{background:var(--flag);color:#fff}.chip.warn{background:transparent;color:var(--warn);border:2px solid var(--warn)}.detail{padding:18px;gap:14px}.d-head{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:flex-end}.d-head h2{font-family:var(--display);font-size:44px;font-weight:700;margin:0;line-height:1;text-wrap:balance}.d-meta{color:var(--muted);font-size:17px;margin-top:6px}.d-src{font-size:15px;color:var(--steel);border:1px solid var(--line);border-radius:6px;padding:6px 10px;white-space:nowrap}.flags{display:flex;gap:8px;flex-wrap:wrap}.flags .chip{grid-row:auto;grid-column:auto}.review{background:var(--flag-bg);border:3px solid var(--flag);border-radius:12px;padding:16px 18px;display:flex;flex-direction:column;gap:10px}.rv-top{display:flex;justify-content:space-between;gap:12px;align-items:center;flex-wrap:wrap}.rv-top b{font-size:30px;line-height:1.05}.rv-top b,.rv-who{font-family:var(--display)}.rv-who{background:var(--flag);color:#fff;font-weight:700;font-size:18px;text-transform:uppercase;padding:4px 10px;border-radius:6px}.rv-links{display:flex;gap:10px 24px;flex-wrap:wrap}.rv-link{color:var(--fg);font-weight:600;font-size:18px;text-underline-offset:4px;padding:6px 0}.held-tag{font-family:var(--display);font-weight:700;font-size:22px;text-transform:uppercase;color:var(--flag)}.lines{display:flex;flex-direction:column;gap:10px;overflow-y:auto;flex:1 1}.section-label{font-size:14px;letter-spacing:.1em;text-transform:uppercase;color:var(--muted);margin:6px 2px 0}.line{width:100%;text-align:left;border-radius:12px;border:3px solid var(--line);background:var(--raised);display:grid;grid-template-columns:1fr auto;align-items:center;grid-gap:4px 16px;gap:4px 16px;padding:14px 18px;min-height:96px}.line:disabled{cursor:default}.line.held{opacity:.7}.ln-name{font-family:var(--display);font-size:32px;font-weight:700;line-height:1.05}.ln-sub{color:var(--muted);font-size:18px;grid-column:1}.ln-right{grid-row:1/span 2;grid-column:2;text-align:right}.line.weigh{border-color:var(--todo)}.line.weigh.done,.line.weigh.held,.line.weigh.readonly{border-color:var(--line)}.line.weigh.done:not(.readonly){border-color:var(--ok)}.line.weigh .cta{display:inline-block;background:var(--todo);color:var(--todo-ink);font-size:26px;text-transform:uppercase;padding:14px 22px;border-radius:10px}.line.weigh .cta,.ln-kg{font-family:var(--display);font-weight:700}.ln-kg{font-size:46px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;line-height:1}.ln-kg small{font-size:26px;color:var(--muted);margin-left:4px}.ln-edit{display:block;font-size:15px;color:var(--muted);margin-top:4px}.line.fixed .tick{width:56px;height:56px;border-radius:10px;border:3px solid var(--line);display:grid;place-items:center;font-size:34px;font-weight:700}.line.fixed.packed .tick{background:var(--ok);border-color:var(--ok);color:var(--ok-ink)}.line.fixed.packed .ln-name{color:var(--muted)}.action-error{background:var(--flag-bg);border:2px solid var(--flag);border-radius:12px;padding:12px 16px;font-size:18px;font-weight:600}.d-foot{flex-direction:column}.d-foot,.foot-row{display:flex;gap:12px}.foot-row{flex-wrap:wrap}.foot-row .secondary{flex:1 1}.confirm{width:100%;min-height:92px;border:0;border-radius:12px;background:var(--ok);color:var(--ok-ink);font-family:var(--display);font-size:34px;font-weight:700;text-transform:uppercase;letter-spacing:.02em;padding:10px 20px}.confirm:disabled{background:var(--raised);color:var(--muted);cursor:not-allowed;border:3px dashed var(--line)}.secondary{min-height:92px;border:3px solid var(--line);background:transparent;border-radius:12px;font-family:var(--display);font-size:26px;font-weight:600;text-transform:uppercase;padding:0 24px}.secondary:disabled{opacity:.5}.secondary.link{display:grid;place-items:center;text-decoration:none}.sent-banner{background:var(--raised);border-radius:12px;padding:16px 18px;display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap;align-items:center}.sent-banner b{font-family:var(--display);font-size:30px}.toast{position:fixed;left:50%;transform:translateX(-50%);bottom:calc(18px + env(safe-area-inset-bottom, 0px));z-index:30;background:var(--fg);color:var(--bg);border-radius:14px;padding:14px 18px;box-shadow:0 10px 40px rgba(0,0,0,.5);max-width:calc(100% - 32px)}.toast.bad{background:var(--flag);color:#fff}.toast b{font-family:var(--display);font-size:26px;display:block;line-height:1.1}.toast span{font-size:15px}.pad-wrap{position:fixed;inset:0;background:rgba(5,6,7,.78);display:grid;place-items:center;z-index:20;padding:max(12px,env(safe-area-inset-top,0px)) max(12px,env(safe-area-inset-right,0px)) max(12px,env(safe-area-inset-bottom,0px)) max(12px,env(safe-area-inset-left,0px))}.pad{background:var(--panel);border-radius:18px;width:min(620px,100%);max-height:100%;overflow-y:auto;padding:20px;display:flex;flex-direction:column;gap:14px}.pad-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.pad h3{font-family:var(--display);font-size:40px;font-weight:700;margin:0;line-height:1}.pad .ordered{color:var(--muted);font-size:20px;margin-top:6px}.pad .ordered b{color:var(--fg)}.close{min-width:76px;min-height:76px;border-radius:12px;background:transparent;font-size:22px;font-weight:600;text-transform:uppercase}.close,.readout{border:3px solid var(--line);font-family:var(--display)}.readout{background:#000;border-radius:12px;padding:12px 20px;text-align:right;font-weight:700;font-size:88px;line-height:1;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;min-height:112px}.readout .unit{font-size:44px;color:var(--muted);margin-left:10px}.readout .ph{color:var(--line)}.warnmsg{color:var(--warn);font-size:20px;font-weight:600;min-height:1.3em}.keys{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px}.key{min-height:88px;border-radius:12px;border:0;background:var(--raised);font-family:var(--display);font-size:48px;font-weight:600}.key:active{background:var(--line)}.pad-actions{display:grid;grid-template-columns:1fr 2fr;grid-gap:10px;gap:10px}.pad-actions .clear{border-radius:12px;border:3px solid var(--line);background:transparent;font-size:30px;font-weight:600}.pad-actions .clear,.pad-actions .save{min-height:92px;font-family:var(--display);text-transform:uppercase}.pad-actions .save{border-radius:12px;border:0;background:var(--ok);color:var(--ok-ink);font-size:34px;font-weight:700}.pad-actions .save.check{background:var(--warn);color:#1c0700}.pad-actions .save:disabled{background:var(--raised);color:var(--muted)}.login{min-height:100%;display:grid;place-items:center;padding:24px 16px}.login-box{width:min(440px,100%);background:var(--panel);border-radius:18px;padding:28px;display:flex;flex-direction:column;gap:14px}.login-box img{height:80px;width:auto;align-self:center}.login-box h1{font-family:var(--display);font-size:40px;text-transform:uppercase;margin:0;line-height:1}.login-box p{margin:0;color:var(--muted)}.login-box form{display:flex;flex-direction:column;gap:12px}.login-box input{min-height:72px;border-radius:12px;border:3px solid var(--line);background:#000;color:var(--fg);font-size:28px;padding:0 16px}.login-box button{min-height:80px;border:0;border-radius:12px;background:var(--ok);color:var(--ok-ink);font-family:var(--display);font-size:30px;font-weight:700;text-transform:uppercase}.login-box button:disabled{opacity:.6}.login-error{color:var(--warn);font-weight:600;min-height:1.3em}@media (min-width:861px){body,html{overflow:hidden}.app{height:100%;min-height:0}.detail,.queue{min-height:0;overflow:hidden}.orders{flex:1 1}.lines,.orders{min-height:0;overscroll-behavior:contain}.login{height:100%;overflow-y:auto}}@media (max-width:860px){.main{grid-template-columns:1fr}.top img{height:48px}.top h1{font-size:26px}.clock{font-size:30px}.d-head h2{font-size:34px}.ln-name{font-size:26px}.ln-kg{font-size:36px}.line{grid-template-columns:1fr}.ln-right{grid-row:auto;grid-column:1;text-align:left}.readout{font-size:64px;min-height:88px}.key{min-height:72px;font-size:40px}}@media (prefers-reduced-motion:no-preference){.confirm,.key,.line,.order-card{transition:border-color .15s,background-color .15s}}