:root{--brand: #ffdc59;--danger-surface: #c44427;--scrim: rgba(0, 0, 0, .45);--focus-ring: #1c1c1c;--focus-halo: #ffdc59;--focus-halo-shadow: 0 0 0 2px var(--focus-halo);--map-control-bg: rgba(20, 24, 31, .92);--map-control-fg: #e6e9ee;--map-control-fg-strong: #ffffff;--on-danger: #ffffff;--swatch-empty: #888888;--map-label-on-light: #1c1c1c;--map-label-on-light-halo: rgba(255, 255, 255, .95);--map-label-on-dark: #ffffff;--map-label-on-dark-halo: rgba(0, 0, 0, .85);--map-grid: rgba(28, 28, 28, .07);--map-contour: rgba(28, 28, 28, .14);--map-machine-loader: #e08a1e;--map-machine-transport: #5182c8;--map-speed-still: #c8321e;--map-speed-slow: #d17a00;--map-speed-mid: #5182c8;--map-speed-fast: #1c1c1c;--map-track-gap: #8a8f99;--map-ink-load: #4e6a2a;--map-ink-dump: #2c3e63;--map-ink-both: #22665e;--map-ink-transport: #3d5f94;--map-ink-adhoc: #a8560f;--map-ink-ghost: #5f6670;--map-on-ink: #ffffff;--font-body: "Figtree", system-ui, sans-serif;--font-mono: "Figtree", system-ui, sans-serif;--font-code: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-brandmark-lg: 30px;--text-headline: 26px;--text-metric-stat: 23px;--text-section: 21px;--text-brandmark: 19px;--text-title: 18px;--text-body: 15px;--text-ui: 14px;--text-action: 13px;--text-micro: 12px;--text-label: 11px;--radius-lg: 12px;--radius: 8px;--radius-sm: 4px;--radius-pill: 999px;--space-1: 2px;--space-2: 4px;--space-3: 6px;--space-4: 8px;--space-5: 10px;--space-6: 12px;--space-7: 14px;--space-8: 16px;--space-9: 18px;--space-10: 24px;--space-11: 32px;--space-12: 48px;--dur-press: .08s;--dur-fast: .12s;--dur-move: .22s;--dur-enter: .35s;--dur-travel: 18s;--ease: ease;--ease-out: ease-out;--z-map-card: 1;--z-map-pin: 2;--z-map-machine: 3;--z-map-control: 10;--z-map-panel: 20;--z-sticky: 100;--z-scrim: 200;--z-drawer: 300;--z-chat: 400;--z-action-bar: 500;--z-modal: 600;--z-popover: 700;--z-toast: 800;--radius-xs: 2px;--control-h: 38px;--control-h-sm: 28px}:root,[data-mode=lys]{--bg: #efece6;--surface: #ffffff;--surface-2: #f8f8f8;--surface-3: #efefef;--chip-raised: #ffffff;--map: #e9ecea;--row: #f4f2ec;--text: #1c1c1c;--text-2: #524e4c;--text-3: #696969;--border: #c9c9c9;--border-2: #e4e4e4;--brand-fg: #1c1c1c;--brand-soft: #fff8de;--brand-deep: #e5c24a;--action: #1c1c1c;--action-hover: #3a3a3a;--action-fg: #ffffff;--action-edge: rgba(255, 255, 255, .16);--track: #e4e1d9;--ok-bg: #e8f2d8;--ok-fg: #537323;--ok-dot: #6e9a2f;--info-bg: #dce6f4;--info-fg: #314e78;--info-dot: #5182c8;--warn-bg: #f6e4cc;--warn-fg: #7d4900;--warn-dot: #d17a00;--err-fg: #a63921;--danger-ghost-fg: #a63921;--zone-load: #6e9a2f;--zone-load-fill: rgba(138, 192, 59, .18);--zone-dump: #5182c8;--zone-dump-fill: rgba(81, 130, 200, .16);--zone-both: #2f8f83;--zone-both-fill: rgba(47, 143, 131, .16);--acc-teal: #0b7d6f;--acc-blue: #2e6fd6;--acc-orange: #c9761a;--acc-green: #2e9e54;--acc-red: #ce4329;--acc-purple: #7b4fd0;--acc-pink: #c13b7e;--shadow-sm: 0 2px 4px rgba(28, 28, 28, .08);--shadow-md: 0 8px 16px rgba(28, 28, 28, .12);--shadow-lg: 0 8px 16px rgba(28, 28, 28, .12);--red-bg: #f9e5e3}[data-mode=dark]{--bg: #15181d;--surface: #1f242b;--surface-2: #262c34;--surface-3: #2a313a;--chip-raised: #333c47;--map: #cfd4da;--row: #222831;--text: #f1f3f5;--text-2: #c2c8d0;--text-3: #8e96a1;--border: #39414b;--border-2: #2e353e;--brand-fg: #1c1c1c;--brand-soft: #33301f;--brand-deep: #e5c24a;--action: #f1f3f5;--action-hover: #d7dce2;--action-fg: #15181d;--action-edge: rgba(0, 0, 0, .18);--track: #2e353e;--ok-bg: #23311a;--ok-fg: #aed57a;--ok-dot: #8ac03b;--info-bg: #1b2a3f;--info-fg: #9bbdec;--info-dot: #6699e0;--warn-bg: #33260f;--warn-fg: #e3ac68;--warn-dot: #e89a4a;--err-fg: #dd6e55;--danger-ghost-fg: #df775f;--zone-load: #8ac03b;--zone-load-fill: rgba(138, 192, 59, .16);--zone-dump: #6699e0;--zone-dump-fill: rgba(102, 153, 224, .16);--zone-both: #3aa99b;--zone-both-fill: rgba(58, 169, 155, .16);--acc-teal: #3fd0bd;--acc-blue: #6ba5f0;--acc-orange: #f0a055;--acc-green: #54c97e;--acc-red: #f0685a;--acc-purple: #a87cee;--acc-pink: #ec74a8;--shadow-sm: 0 2px 6px rgba(0, 0, 0, .4);--shadow-md: 0 10px 24px rgba(0, 0, 0, .5);--shadow-lg: 0 10px 24px rgba(0, 0, 0, .5);--red-bg: #3a1e1a}[data-mode=midnatt]{--bg: #0a0d13;--surface: #11151d;--surface-2: #161b25;--surface-3: #1b212c;--chip-raised: #262e3b;--map: #e8e5de;--row: #0e121a;--text: #edf0f4;--text-2: #9aa4b2;--text-3: #748093;--border: #1e2530;--border-2: #161c25;--brand-fg: #1a1305;--brand-soft: #22251a;--brand-deep: #e5c24a;--action: #edf0f4;--action-hover: #d2d9e2;--action-fg: #0a0d13;--action-edge: rgba(0, 0, 0, .2);--track: #161b25;--ok-bg: #13301f;--ok-fg: #7fd8a8;--ok-dot: #93cf3f;--info-bg: #13233b;--info-fg: #8fb6ee;--info-dot: #5b9df5;--warn-bg: #2e2210;--warn-fg: #e3ac68;--warn-dot: #f5a04a;--err-fg: #db6348;--danger-ghost-fg: #db6348;--zone-load: #93cf3f;--zone-load-fill: rgba(147, 207, 63, .16);--zone-dump: #5b9df5;--zone-dump-fill: rgba(91, 157, 245, .18);--zone-both: #3fd0be;--zone-both-fill: rgba(63, 208, 190, .16);--acc-teal: #2fd4c0;--acc-blue: #5b9df5;--acc-orange: #f5a04a;--acc-green: #46cf7b;--acc-red: #f26a5a;--acc-purple: #a86cf0;--acc-pink: #ec5c9e;--shadow-sm: 0 2px 6px rgba(0, 0, 0, .5);--shadow-md: 0 10px 26px rgba(0, 0, 0, .6);--shadow-lg: 0 10px 26px rgba(0, 0, 0, .6);--red-bg: #331512}:root{--ink: var(--text);--ink-2: var(--text-2);--ink-3: var(--text-3);--line: var(--border);--line-strong: var(--text);--brand-tint: var(--brand-soft);--green: var(--ok-fg);--green-bg: var(--ok-bg);--orange: var(--warn-fg);--orange-bg: var(--warn-bg);--blue: var(--info-fg);--blue-bg: var(--info-bg);--red: var(--acc-red);--teal: var(--zone-both);--teal-bg: var(--zone-both-fill);--cab: var(--surface-3);--cab-2: var(--surface-2);--cab-ink: var(--text-2);--cab-ink-strong: var(--text)}*,*:before,*:after{box-sizing:border-box}button,input,select,textarea{font-family:inherit}html,body,#root{margin:0;min-height:100vh}body{background:var(--bg);color:var(--text);font-family:var(--font-body);font-size:var(--text-body);line-height:1.5;-webkit-font-smoothing:antialiased}h1,h2,h3{font-family:var(--font-body);font-weight:700;letter-spacing:-.01em;margin:0;text-wrap:balance}h1{font-size:var(--text-headline)}h2{font-size:var(--text-title)}h3{font-size:var(--text-body)}p{margin:0}a{color:var(--text);font-weight:600;text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:2px;text-underline-offset:3px}a:hover{text-decoration-color:var(--text)}::selection{background:var(--brand);color:var(--brand-fg)}:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:var(--focus-halo-shadow)}.num{font-family:var(--font-body);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}@keyframes rise-in{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.rise{animation:rise-in var(--dur-enter) var(--ease-out) both}@media(prefers-reduced-motion:reduce){.rise{animation:none}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);font-family:var(--font-body);font-size:var(--text-action);font-weight:700;letter-spacing:.01em;padding:var(--space-4) var(--space-8);min-height:var(--control-h);border-radius:var(--radius-sm);border:none;cursor:pointer;transition:transform var(--dur-press) var(--ease),box-shadow var(--dur-press) var(--ease),background var(--dur-fast) var(--ease);white-space:nowrap;text-decoration:none;line-height:normal}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.55;cursor:not-allowed;transform:none}.btn--primary{background:var(--action);color:var(--action-fg);box-shadow:inset 0 -2px 0 var(--action-edge)}.btn--primary:hover:not(:disabled){background:var(--action-hover)}.btn--secondary{background:var(--surface);color:var(--ink);box-shadow:inset 0 0 0 1.5px var(--ink)}.btn--secondary:hover:not(:disabled){background:var(--surface-2)}.btn--danger{background:var(--danger-surface);color:var(--on-danger);box-shadow:inset 0 -2px #00000040}.btn--ghost{background:transparent;color:var(--ink-2)}.btn--ghost:hover:not(:disabled){background:var(--surface-2);color:var(--ink)}.btn--ghost-danger{background:transparent;color:var(--danger-ghost-fg)}.btn--ghost-danger:hover:not(:disabled){background:var(--surface-2)}.btn--inverse{background:transparent;color:var(--on-danger);box-shadow:inset 0 0 0 1.5px var(--on-danger)}.btn--inverse:hover:not(:disabled){background:var(--on-danger);color:var(--danger-surface)}.btn--inverse:focus-visible{box-shadow:var(--focus-halo-shadow),inset 0 0 0 1.5px var(--on-danger)}.btn--sm{padding:var(--space-3) var(--space-5);font-size:var(--text-micro);min-height:var(--control-h-sm)}@media(max-width:768px){.btn--sm{padding:var(--space-4) var(--space-6)}}.field{display:flex;flex-direction:column;gap:var(--space-2)}.field-label{font-size:var(--text-micro);font-weight:600;color:var(--text-2)}.field-hint{font-size:var(--text-ui);font-weight:400;line-height:1.45;color:var(--text-3);margin-top:-var(--space-1)}.input,.select{font-family:var(--font-body);font-size:var(--text-body);color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-sm);height:var(--control-h);padding:0 var(--space-6);width:100%;transition:border-color var(--dur-fast) var(--ease)}textarea.input{height:auto;padding:var(--space-4) var(--space-6)}.input:hover,.select:hover{border-color:var(--ink-3)}.input:focus,.select:focus{border-color:var(--ink);outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:var(--focus-halo-shadow)}.input::placeholder{color:var(--ink-3)}.input:disabled,.select:disabled{background:var(--surface-2);color:var(--ink-2);border-color:var(--line);cursor:not-allowed}.input--sm,.select--sm{font-size:var(--text-action);height:var(--control-h-sm);padding:0 var(--space-4)}.dialog-scroll{overflow:auto;padding:var(--space-3);margin:-var(--space-3)}.field-error{font-size:var(--text-action);font-weight:600;color:var(--err-fg)}.form-stack>*+*{margin-top:var(--space-8)}.form-stack>.form-hint{margin-top:var(--space-3);font-size:var(--text-ui);line-height:1.45}.form-stack>.form-actions{margin-top:var(--space-10)}.form-legend{font-size:var(--text-ui);font-weight:700;color:var(--text-2);padding-bottom:var(--space-3);border-bottom:1px solid var(--line)}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:hidden}.card-pad{padding:var(--space-9);display:flex;flex-direction:column;gap:var(--space-7)}.card-title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-6)}.page-header{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-8);margin-bottom:var(--space-3)}.page-header .sub{color:var(--ink-2);font-size:var(--text-ui);max-width:60ch}.page-help-link{display:inline-flex;align-items:center;margin-left:var(--space-4);color:var(--text-3);text-decoration:none;border-radius:var(--radius-sm);vertical-align:.08em;transition:color var(--dur-fast) var(--ease)}.page-help-link:hover{color:var(--text)}.stack{display:flex;flex-direction:column;gap:var(--space-9)}.row{display:flex;align-items:center;gap:var(--space-5);flex-wrap:wrap}.list-row{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-4) var(--space-6);padding:var(--space-6) 0;border-top:1px solid var(--line)}.list-row:first-of-type{border-top:none}.list-row .grow{flex:1;min-width:200px}.row-actions{display:flex;align-items:center;gap:var(--space-4);margin-left:auto;flex-shrink:0}.row-actions .btn--ghost,.row-actions .btn--ghost-danger,.table .btn--ghost,.table .btn--ghost-danger{box-shadow:inset 0 0 0 1px var(--border)}.list-row .row-actions>.btn{min-width:8.5em}@media(max-width:768px){.list-row .row-actions>.btn{min-width:0}}.bulk-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-6);padding:var(--space-5) var(--space-6);margin-bottom:var(--space-4);background:var(--surface-2);border:1px solid var(--line);border-radius:var(--radius)}.bulk-bar .bulk-count{font-weight:600}a.list-row-link{color:inherit;font-weight:inherit;text-decoration:none;margin:0 -var(--space-5);padding-inline:var(--space-5);border-radius:var(--radius)}a.list-row-link:hover{background:var(--surface-2)}.list-row-link .list-row-title{font-weight:600;text-decoration:underline;text-decoration-color:var(--brand);text-decoration-thickness:2px;text-underline-offset:3px}a.list-row-link:hover .list-row-title{text-decoration-color:var(--text)}.right{text-align:right}.muted{color:var(--ink-2)}.dim{opacity:.5}.badge{display:inline-flex;align-items:center;gap:var(--space-2);font-size:var(--text-label);font-weight:600;text-transform:uppercase;letter-spacing:.05em;padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill)}.badge--green{background:var(--green-bg);color:var(--green)}.badge--orange{background:var(--orange-bg);color:var(--orange);font-weight:700}.badge--red{background:var(--red-bg);color:var(--err-fg);font-weight:700}.badge--blue{background:var(--blue-bg);color:var(--blue)}.badge--teal{background:var(--teal-bg);color:var(--teal)}.badge--neutral{background:var(--surface-2);color:var(--ink-2)}.badge--zone-load{background:var(--zone-load-fill);color:var(--zone-load)}.badge--zone-dump{background:var(--zone-dump-fill);color:var(--zone-dump)}.badge--zone-both{background:var(--zone-both-fill);color:var(--zone-both)}.badge--brand{background:var(--brand-soft);color:var(--text)}.demo-edge{position:fixed;top:0;left:0;right:0;height:6px;background:repeating-linear-gradient(-45deg,var(--brand) 0 8px,var(--text) 8px 12px);z-index:var(--z-drawer);pointer-events:none}.demo-tag{background:var(--brand);color:var(--brand-fg);font-style:normal;font-weight:700;cursor:default}.error-note{background:var(--red-bg);color:var(--err-fg);border-left:1px solid var(--err-fg);border-radius:var(--radius-sm);padding:var(--space-4) var(--space-6);font-size:var(--text-ui);font-weight:600}.ok-note{background:var(--ok-bg);color:var(--ok-fg);border-left:1px solid var(--ok-fg);border-radius:var(--radius-sm);padding:var(--space-4) var(--space-6);font-size:var(--text-ui);font-weight:600;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.ok-note .grow{flex:1;min-width:0}.smartdok-group-title{font-size:var(--text-body);font-weight:600;margin:0 0 var(--space-2)}.smartdok-changes{list-style:none;margin:var(--space-2) 0 0;padding:0;font-size:var(--text-ui)}.smartdok-reason{display:block;font-size:var(--text-ui);margin-top:var(--space-1)}.star-btn{display:inline-flex;align-items:center;justify-content:center;flex:none;width:var(--space-11);height:var(--space-11);padding:0;border:0;border-radius:var(--radius);background:transparent;color:var(--text-3);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.star-btn svg{fill:transparent;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}.star-btn:hover:not(:disabled){background:var(--surface-2);color:var(--text)}.star-btn--on{color:var(--text)}.star-btn--on svg{fill:var(--brand)}.star-btn:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--focus-ring),inset 0 0 0 4px var(--focus-halo)}.star-btn:disabled{opacity:.5;cursor:default}.switch{position:relative;display:inline-flex;align-items:center;flex:none;width:44px;height:24px;padding:0;border:0;border-radius:var(--radius-pill);background:var(--border);cursor:pointer;transition:background var(--dur-fast) var(--ease)}.switch--on{background:var(--action)}.switch-knob{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:var(--radius-pill);background:var(--surface);transition:transform var(--dur-fast) var(--ease)}.switch--on .switch-knob{transform:translate(20px)}.switch:disabled{opacity:.55;cursor:not-allowed}.smartdok-categories{border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.smartdok-categories-row{display:grid;grid-template-columns:minmax(0,1fr) 110px 90px;gap:var(--space-4);align-items:center;padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-2);font-size:var(--text-ui);font-weight:600}.smartdok-categories-row:nth-child(2n){background:var(--row)}.smartdok-categories-head{border-top:0;background:var(--surface-2);padding-top:var(--space-2);padding-bottom:var(--space-2);font-size:var(--text-label);letter-spacing:.06em;text-transform:uppercase;color:var(--text-3)}.smartdok-categories-row.is-off{color:var(--text-3)}.smartdok-categories-row .num{text-align:right}.smartdok-categories-row .switch-cell{display:flex;justify-content:flex-end}@media(max-width:560px){.smartdok-categories-row{grid-template-columns:minmax(0,1fr) 70px 60px;gap:var(--space-2)}}.smartdok-group{border-bottom:1px solid var(--border)}.smartdok-group-head{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) 0;border:0;background:transparent;font:inherit;font-size:var(--text-ui);font-weight:600;color:var(--text);text-align:left;cursor:pointer}.smartdok-group-head .grow{flex:1}.smartdok-group-head svg{flex:none;width:16px;height:16px}.smartdok-group.is-off .smartdok-group-head{color:var(--text-3)}.smartdok-group.is-off .smartdok-group-name{text-decoration:line-through}.warn-note{background:var(--warn-bg);color:var(--warn-fg);border-left:1px solid var(--warn-fg);border-radius:var(--radius-sm);padding:var(--space-4) var(--space-6);font-size:var(--text-ui);font-weight:600;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-4)}.warn-note .grow{flex:1;min-width:0}.smartdok-choice{width:160px;flex-shrink:0}.smartdok-tons{width:90px;flex-shrink:0}.smartdok-capacity-warn{display:block;color:var(--warn-fg);font-size:var(--text-ui);margin-top:var(--space-1)}.smartdok-ignored>summary{cursor:pointer;font-size:var(--text-body);font-weight:600}.smartdok-ignored[open]>summary{margin-bottom:var(--space-2)}.empty{color:var(--ink-2);text-align:center;padding:var(--space-10) var(--space-8);border:1.5px dashed var(--line);border-radius:var(--radius);display:flex;flex-direction:column;gap:var(--space-4);align-items:center}.empty-title{color:var(--text);font-size:var(--text-body);font-weight:700}.empty-action{display:flex;flex-wrap:wrap;gap:var(--space-5);align-items:center;justify-content:center;margin-top:var(--space-2)}.spinner{width:18px;height:18px;border:2.5px solid var(--line);border-top-color:var(--brand-deep);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.shell{display:grid;grid-template-columns:224px 1fr;min-height:100vh}.sidebar{background:var(--surface-3);color:var(--text-2);border-right:1px solid var(--border);display:flex;flex-direction:column;padding:var(--space-9) var(--space-7);gap:var(--space-2);position:sticky;top:0;height:100vh}.sidebar-logo{font-size:var(--text-brandmark);font-weight:900;font-style:italic;letter-spacing:.02em;color:var(--cab-ink-strong);text-decoration:none;display:flex;align-items:center;gap:var(--space-4);padding:var(--space-2) var(--space-4) var(--space-6)}.brand-mark{display:inline-block;height:1.15em;width:auto;flex:none}.sidebar-logo .brand-mark{height:22px}.sidebar-cobrand{display:flex;flex-direction:column;gap:var(--space-3);margin:var(--space-1) var(--space-4) var(--space-5);padding-top:var(--space-6);border-top:1px solid var(--border-2)}.sidebar-cobrand-label{font-family:var(--font-body);font-size:var(--text-label);font-weight:600;line-height:1;text-transform:uppercase;letter-spacing:1.3px;color:var(--text-3)}.sidebar-cobrand-frame{display:flex;align-items:center;justify-content:flex-start;height:48px;max-width:180px}.sidebar-cobrand-logo{max-height:100%;max-width:100%;width:auto;height:auto;object-fit:contain;object-position:left center}.shell.nav-collapsed .sidebar-cobrand{display:none}.kiosk-logo{max-height:48px;max-width:160px;object-fit:contain}.logo-preview{display:inline-flex;align-items:center;padding:var(--space-4);border:1px solid var(--border);border-radius:var(--radius);background:repeating-conic-gradient(rgba(128,128,128,.14) 0% 25%,transparent 0% 50%) 0 / 16px 16px}.logo-preview img{display:block;max-height:80px;max-width:260px;object-fit:contain}.nav-item{display:flex;align-items:center;gap:var(--space-5);color:var(--cab-ink);text-decoration:none;font-size:var(--text-ui);font-weight:600;padding:var(--space-4) var(--space-5);border-radius:var(--radius-sm);border-left:3px solid transparent}.nav-item:hover{background:var(--surface-2);color:var(--text)}.nav-badge{margin-left:auto;min-width:18px;height:18px;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--orange-bg);color:var(--orange);font-size:var(--text-label);font-weight:700;display:inline-flex;align-items:center;justify-content:center}.shell.nav-collapsed .nav-badge{display:none}.nav-item.active{background:var(--surface);color:var(--text);font-weight:600;box-shadow:var(--shadow-sm);border-left-color:var(--brand)}.nav-item svg{flex-shrink:0;opacity:.75}.sidebar-foot{margin-top:auto;border-top:1px solid var(--cab-2);padding-top:var(--space-5)}.sidebar-collapse{display:flex;align-items:center;gap:var(--space-5);width:100%;margin-bottom:var(--space-3);padding:var(--space-4) var(--space-5);color:var(--cab-ink);background:transparent;border:1px solid transparent;border-radius:var(--radius-sm);font-size:var(--text-ui);font-weight:600;cursor:pointer}.sidebar-collapse:hover{background:var(--surface-2);color:var(--text)}.sidebar-collapse svg{flex-shrink:0;opacity:.75}.shell.nav-collapsed{grid-template-columns:64px 1fr}.shell.nav-collapsed .sidebar{padding-left:var(--space-4);padding-right:var(--space-4)}.shell.nav-collapsed .demo-tag,.shell.nav-collapsed .logo-text,.shell.nav-collapsed .nav-label,.shell.nav-collapsed .account-trigger-text,.shell.nav-collapsed .account-chevron{display:none}.shell.nav-collapsed .sidebar-logo,.shell.nav-collapsed .nav-item,.shell.nav-collapsed .sidebar-collapse,.shell.nav-collapsed .account-trigger{justify-content:center;padding-left:0;padding-right:0;gap:0}.shell.nav-collapsed .account-menu{right:auto;width:248px}.account{position:relative}.account-avatar{flex:none;width:30px;height:30px;border-radius:50%;background:var(--brand);color:var(--brand-fg);display:grid;place-items:center;font-size:var(--text-micro);font-weight:800;letter-spacing:.02em}.account-avatar.lg{width:38px;height:38px;font-size:var(--text-ui)}.account-trigger{width:100%;display:flex;align-items:center;gap:var(--space-5);padding:var(--space-4);border:1px solid transparent;border-radius:var(--radius);background:transparent;cursor:pointer;text-align:left;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease)}.account-trigger:hover,.account-trigger.open{background:var(--cab-2);border-color:var(--border)}.account-trigger-text{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.3}.account-name{color:var(--cab-ink-strong);font-weight:700;font-size:var(--text-ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-company{color:var(--cab-ink);font-size:var(--text-micro);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-chevron{flex:none;color:var(--cab-ink);transition:transform var(--dur-fast) var(--ease)}.account-trigger.open .account-chevron{transform:rotate(180deg)}.account-menu{position:absolute;bottom:calc(100% + 8px);left:0;right:0;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:var(--shadow-md);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1);z-index:var(--z-drawer);animation:account-pop var(--dur-fast) var(--ease-out)}@keyframes account-pop{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@media(prefers-reduced-motion:reduce){.account-menu{animation:none}}.account-menu-head{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-4) var(--space-4) var(--space-5)}.account-menu-id{min-width:0}.account-menu-name{color:var(--text);font-weight:700;font-size:var(--text-ui);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-menu-sub{color:var(--text-2);font-size:var(--text-action)}.account-sep{height:1px;background:var(--border-2);margin:var(--space-2) var(--space-1)}.account-item{display:flex;align-items:center;gap:var(--space-5);width:100%;padding:var(--space-4) var(--space-5);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:var(--text-ui);font-weight:600;cursor:pointer;text-align:left}.account-item svg{flex:none;color:var(--text-2)}.account-item:hover{background:var(--surface-2)}.account-item-label{flex:1;min-width:0}.account-item-value{color:var(--text-2);font-weight:600;font-size:var(--text-action);white-space:nowrap}.account-item.danger,.account-item.danger svg{color:var(--red)}.account-item.danger:hover{background:var(--red-bg)}.account-item[aria-checked=true] svg{color:var(--brand-deep)}.account-back{display:flex;align-items:center;gap:var(--space-3);width:100%;padding:var(--space-3) var(--space-4);border:none;background:transparent;color:var(--text-2);font-size:var(--text-action);font-weight:600;cursor:pointer;text-align:left}.account-back:hover{color:var(--text)}.shell-main{padding:var(--space-11) var(--space-11) var(--space-12);max-width:1060px;width:100%;min-width:0}.table input[type=checkbox],.list-row input[type=checkbox]{flex:none;width:24px;height:24px;margin:0}.modal-close{flex:none;display:grid;place-items:center;width:28px;height:28px;border:none;border-radius:var(--radius-sm);background:none;color:var(--text-2);font-size:var(--text-title);line-height:1;cursor:pointer}.modal-close:hover{background:var(--surface-2);color:var(--text)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-var(--space-1);overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.shell-main.wide{max-width:1760px}.shell-topbar,.sidebar-backdrop{display:none}.hamburger{flex:none;width:38px;height:38px;display:grid;place-items:center;color:var(--text);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer}.hamburger:hover{background:var(--surface-2)}@media(max-width:768px){.shell{grid-template-columns:1fr}.shell-topbar{display:flex;align-items:center;gap:var(--space-6);position:sticky;top:0;z-index:var(--z-sticky);padding:var(--space-5) var(--space-8);background:var(--surface-3);border-bottom:1px solid var(--border)}.shell-topbar .sidebar-logo{padding:0}.sidebar{position:fixed;top:0;left:0;width:260px;max-width:82vw;z-index:var(--z-drawer);transform:translate(-100%);transition:transform var(--dur-move) var(--ease)}.sidebar.open{transform:translate(0);box-shadow:var(--shadow-lg)}.sidebar-backdrop{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-scrim);background:var(--scrim)}.shell-main{padding:var(--space-9) var(--space-8) var(--space-12);max-width:100%}.shell-main.wide{max-width:100%}.sidebar-collapse{display:none}.shell.nav-collapsed{grid-template-columns:1fr}.shell.nav-collapsed .logo-text,.shell.nav-collapsed .nav-label,.shell.nav-collapsed .account-trigger-text,.shell.nav-collapsed .account-chevron{display:revert}.shell.nav-collapsed .demo-tag{display:inline-flex}.shell.nav-collapsed .sidebar{padding-left:var(--space-7);padding-right:var(--space-7)}.shell.nav-collapsed .sidebar-logo{justify-content:flex-start;gap:var(--space-4);padding:var(--space-2) var(--space-4) var(--space-6)}.shell.nav-collapsed .nav-item{justify-content:flex-start;gap:var(--space-5);padding:var(--space-4) var(--space-5)}.shell.nav-collapsed .account-trigger{justify-content:flex-start;gap:var(--space-5);padding:var(--space-4)}}@media(max-width:768px)and (prefers-reduced-motion:reduce){.sidebar{transition:none}}.auth-layout{min-height:100vh;display:grid;justify-items:center;align-content:center;gap:var(--space-9);padding:var(--space-10);background:radial-gradient(1200px 500px at 80% -10%,var(--brand-soft),transparent 60%),var(--bg)}.auth-card{width:100%;max-width:400px}.auth-logo{font-size:var(--text-brandmark-lg);font-weight:900;font-style:italic;display:flex;align-items:center;gap:var(--space-5);margin-bottom:var(--space-7)}.auth-logo .brand-mark{height:32px}.auth-title{font-size:var(--text-title)}.auth-lang{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:var(--space-1);padding:var(--space-2);background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill)}.auth-lang button{border:none;background:transparent;color:var(--text-2);font-family:var(--font-body);font-size:var(--text-ui);font-weight:600;padding:var(--space-2) var(--space-7);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.auth-lang button:hover{color:var(--text)}.auth-lang button.active{background:var(--chip-raised);color:var(--text);box-shadow:var(--shadow-sm)}.table{width:100%;border-collapse:collapse;font-size:var(--text-ui)}.table th{text-align:left;font-size:var(--text-label);font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ink-2);padding:var(--space-4) var(--space-5);border-bottom:2px solid var(--ink)}.table td{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--line)}.topbar{display:flex;align-items:center;gap:var(--space-6);flex-wrap:wrap;margin-bottom:var(--space-2)}.topbar .topbar-title{font-size:var(--text-headline);font-weight:700;letter-spacing:-.01em}.topbar .topbar-date{color:var(--text-3);font-size:var(--text-ui);margin-left:auto}.live-badge{display:inline-flex;align-items:center;gap:var(--space-3);background:var(--ok-bg);color:var(--ok-fg);font-size:var(--text-label);font-weight:600;text-transform:uppercase;letter-spacing:.06em;padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill)}.live-badge .dot{width:7px;height:7px;border-radius:var(--radius-pill);background:var(--ok-dot);animation:pulse-dot 1.6s ease-in-out infinite}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.8)}}@media(prefers-reduced-motion:reduce){.live-badge .dot{animation:none}}.hint{position:relative;display:inline-flex;align-items:center;gap:var(--space-2);cursor:help;text-decoration:underline dotted;text-decoration-color:var(--ink-3);text-underline-offset:3px;border-radius:var(--radius-xs)}.hint-bubble{position:absolute;top:100%;left:0;z-index:var(--z-popover);padding-top:var(--space-3);width:max-content;max-width:min(300px,80vw);opacity:0;visibility:hidden;transition:opacity var(--dur-fast)}.hint-bubble-inner{display:block;padding:var(--space-4) var(--space-6);border-radius:var(--radius);background:var(--ink);color:var(--surface);box-shadow:var(--shadow-md);font-size:var(--text-ui);font-weight:400;line-height:1.4;letter-spacing:0;text-transform:none;text-align:left;white-space:normal}.hint:hover .hint-bubble,.hint:focus .hint-bubble{opacity:1;visibility:visible}@media(prefers-reduced-motion:reduce){.hint-bubble{transition:none}}.kpi-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:var(--space-6)}.kpi-tile{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);padding:var(--space-6) var(--space-8);display:flex;flex-direction:column;gap:var(--space-2)}.kpi-tile .kpi-value{font-family:var(--font-body);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;font-size:var(--text-headline);font-weight:700;line-height:1.05;color:var(--text)}.kpi-tile .kpi-id-dot{display:inline-block;width:7px;height:7px;border-radius:var(--radius-pill);margin-right:var(--space-2);vertical-align:1px}.kpi-tile .kpi-spark{display:block;width:100%;height:22px}.kpi-tile.kpi-stat .kpi-value{font-size:var(--text-metric-stat);font-weight:800}.kpi-tile .kpi-value .kpi-unit{font-size:var(--text-ui);font-weight:600;color:var(--text-2)}.kpi-tile .kpi-label{font-size:var(--text-label);font-weight:600;text-transform:uppercase;letter-spacing:.08em;color:var(--text-3)}.kpi-tile .kpi-trend{font-size:var(--text-micro);font-weight:600}.kpi-tile .kpi-trend.up{color:var(--ok-fg)}.kpi-tile .kpi-trend.down{color:var(--acc-red)}.kpi-tile .kpi-trend.flat{color:var(--text-3)}.progress{height:10px;background:var(--track);border-radius:var(--radius-pill);overflow:hidden}.progress-fill{height:100%;width:100%;border-radius:var(--radius-pill);background:var(--progress-accent, var(--acc-blue));transform:scaleX(var(--progress-pct, 0));transform-origin:left center;transition:transform var(--dur-move) var(--ease)}@media(prefers-reduced-motion:reduce){.progress-fill{transition:none}}.segment{display:inline-flex;flex-wrap:wrap;align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);padding:var(--space-2);gap:var(--space-1);min-height:var(--control-h)}.segment-btn{border:none;background:transparent;color:var(--text-2);font-family:var(--font-body);font-size:var(--text-ui);font-weight:600;padding:var(--space-3) var(--space-8);border-radius:var(--radius-pill);cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.segment-btn:hover{color:var(--text)}.segment-btn.active{background:var(--brand);color:var(--brand-fg);box-shadow:var(--shadow-sm)}.tabs{display:flex;gap:var(--space-1);box-shadow:inset 0 -1px 0 var(--border);margin-bottom:var(--space-9);overflow-x:auto;overflow-y:hidden}.tab{border:none;background:transparent;color:var(--text-2);font-family:var(--font-body);font-size:var(--text-ui);font-weight:600;padding:var(--space-5) var(--space-7);cursor:pointer;border-bottom:2px solid transparent;white-space:nowrap}.list-search{max-width:340px;margin-bottom:var(--space-7)}.tab-panel{display:flex;flex-direction:column;gap:var(--space-9)}.tab:hover{color:var(--text)}.tab.active{color:var(--text);border-bottom-color:var(--brand)}.theme-toggle button:focus-visible,.segment-btn:focus-visible,.auth-lang button:focus-visible,.tab:focus-visible,.account-trigger:focus-visible,.account-item:focus-visible,.account-back:focus-visible,.map-baselayers button:focus-visible,.map-overlay-btn:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:var(--focus-halo-shadow)}.tab:focus-visible{outline:none;box-shadow:inset 0 0 0 2px var(--focus-ring),inset 0 0 0 4px var(--focus-halo)}.btn--primary:focus-visible{box-shadow:var(--focus-halo-shadow),inset 0 -2px 0 var(--action-edge)}.auth-lang button.active:focus-visible{box-shadow:var(--focus-halo-shadow),var(--shadow-sm)}.btn--secondary:focus-visible{box-shadow:var(--focus-halo-shadow),inset 0 0 0 1.5px var(--ink)}.btn--danger:focus-visible{box-shadow:var(--focus-halo-shadow),inset 0 -2px #00000040}.nav-item.active:focus-visible,.segment-btn.active:focus-visible{box-shadow:var(--focus-halo-shadow),var(--shadow-sm)}.map-overlay-btn:focus-visible,.map-baselayers button:focus-visible{box-shadow:var(--focus-halo-shadow),var(--shadow-md)}.chat-fab:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:var(--focus-halo-shadow),0 4px 14px #00000040}.theme-toggle{display:flex;width:100%;background:var(--surface-2);border:1px solid var(--border);border-radius:var(--radius-pill);padding:var(--space-1);gap:var(--space-1)}.theme-toggle button{flex:1;border:none;background:transparent;color:var(--cab-ink);font-family:var(--font-body);font-size:var(--text-label);font-weight:600;padding:var(--space-2) var(--space-3);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap}.theme-toggle button:hover{color:var(--text)}.theme-toggle button.active{background:var(--brand);color:var(--brand-fg)}.dash-grid{display:flex;gap:var(--space-7);align-items:stretch;flex-wrap:wrap}.dash-map-wrap{position:relative;flex:1 1 640px;min-width:320px;border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.dash-map{width:100%;height:var(--dash-map-h, clamp(520px, 76vh, 900px))}.machine-panel{flex:0 0 220px;display:flex;flex-direction:column;max-height:var(--dash-map-h, none)}.machine-list{flex:1 1 auto;min-height:0;overflow-y:auto}.map-tools{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-5);pointer-events:none;z-index:var(--z-map-control)}.map-tools>*{pointer-events:auto}.maplibregl-map,.maplibregl-ctrl,.maplibregl-ctrl button,.maplibregl-ctrl-attrib,.maplibregl-ctrl-attrib-inner,.maplibregl-ctrl-attrib a{font-family:var(--font-body)}.map-baselayers{display:inline-flex;background:var(--map-control-bg);border-radius:var(--radius-pill);padding:var(--space-2);gap:var(--space-1);box-shadow:var(--shadow-md)}.map-baselayers button{border:none;background:transparent;color:var(--map-control-fg);font-family:var(--font-body);font-size:var(--text-action);font-weight:600;padding:var(--space-3) var(--space-7);border-radius:var(--radius-pill);cursor:pointer;white-space:nowrap}.map-baselayers button:hover{color:var(--map-control-fg-strong)}.map-baselayers button.active{background:var(--brand);color:var(--brand-fg)}.map-overlays{display:flex;flex-direction:column;gap:var(--space-4);align-items:flex-end}@media(max-width:768px){.map-tools{flex-direction:column;align-items:flex-start}.map-baselayers{display:flex;flex-wrap:wrap;max-width:100%}.map-overlays{align-items:flex-start}.map-truncated-note{text-align:left;align-self:flex-start}}.map-truncated-note{margin:var(--space-4) 0 0;max-width:240px;text-align:right;align-self:flex-end;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--map-control-bg);color:var(--map-control-fg);font-size:var(--text-micro);line-height:1.35}.map-overlay-btn{display:inline-flex;align-items:center;gap:var(--space-4);border:none;background:var(--map-control-bg);color:var(--map-control-fg);font-family:var(--font-body);font-size:var(--text-action);font-weight:600;padding:var(--space-4) var(--space-6);border-radius:var(--radius-pill);cursor:pointer;box-shadow:var(--shadow-md);white-space:nowrap}.map-overlay-btn:hover{color:var(--map-control-fg-strong)}.map-overlay-btn.active.adhoc{background:var(--warn-dot);color:var(--map-label-on-light)}.map-overlay-btn.active.totals{background:var(--brand);color:var(--brand-fg)}.map-ortofoto-config{position:absolute;top:56px;left:12px;z-index:var(--z-map-panel);display:flex;gap:var(--space-3);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-4);box-shadow:var(--shadow-md);max-width:420px}.machine-row{display:flex;align-items:center;gap:var(--space-5);padding:var(--space-5) 0;border-top:1px solid var(--border-2)}.machine-row:first-of-type{border-top:none}.machine-row.inactive{opacity:.55}.machine-row .machine-body{flex:1 1 0;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.machine-row .machine-name{font-weight:600;font-size:var(--text-ui);overflow-wrap:anywhere}.machine-row .machine-status{font-size:var(--text-micro);font-weight:600}.machine-row .machine-day{margin-left:auto;font-variant-numeric:tabular-nums;font-size:var(--text-ui);color:var(--text-2)}.status-dot{width:8px;height:8px;border-radius:var(--radius-pill);flex-shrink:0}.zone-map-col{flex:1 1 640px;min-width:320px;display:flex;flex-direction:column;gap:var(--space-5)}.zone-admin-list{flex:0 0 300px;display:flex;flex-direction:column;gap:var(--space-5)}@media(max-width:768px){.dash-map-wrap,.zone-map-col{min-width:0}.zone-admin-list{flex:1 1 auto;min-width:0}.zone-card{flex-wrap:wrap}}.zone-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-6) var(--space-6);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-4) var(--space-5)}.zone-card .zone-body{flex:1 1 9em;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.zone-card.editing{border:1.5px solid var(--text)}.zone-card.disabled{opacity:.6}.zone-card .zone-name{font-weight:600;font-size:var(--text-ui);overflow-wrap:anywhere}.drp-wrap{position:relative;display:flex;flex-direction:column;gap:var(--space-2)}.drp-trigger{display:inline-flex;align-items:center;gap:var(--space-4);font-family:var(--font-body);font-size:var(--text-body);color:var(--ink);background:var(--surface);border:1.5px solid var(--line);border-radius:var(--radius-sm);height:var(--control-h);padding:0 var(--space-6);cursor:pointer;white-space:nowrap;transition:border-color var(--dur-fast) var(--ease)}.drp-trigger:hover{border-color:var(--ink-3)}.drp-trigger:focus-visible{outline:2px solid var(--focus-ring);outline-offset:2px;box-shadow:var(--focus-halo-shadow);border-color:var(--ink)}.drp-icon{color:var(--ink-3);flex:none}.drp-placeholder{color:var(--ink-3)}.drp-pop{position:fixed;z-index:var(--z-popover);display:flex;gap:var(--space-9);padding:var(--space-8);max-height:calc(100vh - 16px);overflow:auto;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg)}.drp-cal{min-width:232px}.drp-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-5)}.drp-nav-title{font-weight:600;font-size:var(--text-body)}.drp-nav-btn{border:none;background:transparent;color:var(--ink-2);font-size:var(--text-section);line-height:1;width:28px;height:28px;border-radius:var(--radius-sm);cursor:pointer}.drp-nav-btn:hover{background:var(--surface-2);color:var(--ink)}.drp-month+.drp-month{margin-top:var(--space-3)}.drp-month-cap{font-size:var(--text-action);font-weight:600;color:var(--ink-2);text-transform:capitalize;margin:var(--space-4) 0 var(--space-2)}.drp-grid{display:grid;grid-template-columns:26px repeat(7,1fr);gap:var(--space-1)}.drp-dow{font-size:var(--text-micro);font-weight:600;color:var(--ink-3);text-align:center;padding:var(--space-1) 0}.drp-dow.is-weekend{color:var(--acc-red)}.drp-wk-head{color:transparent}.drp-wk{font-size:var(--text-label);color:var(--ink-3);text-align:center;align-self:center}.drp-day{border:none;background:transparent;color:var(--ink);font-size:var(--text-ui);font-variant-numeric:tabular-nums;height:30px;border-radius:var(--radius-sm);cursor:pointer;transition:background var(--dur-fast) var(--ease)}.drp-day:hover{background:var(--surface-2)}.drp-day.is-out{color:var(--ink-3);opacity:.5}.drp-day.is-weekend:not(.is-out){color:var(--acc-red)}.drp-day.is-today{font-weight:700;text-decoration:underline}.drp-day.in-range{background:var(--brand-soft);border-radius:0}.drp-day.is-end{background:var(--brand);color:var(--brand-fg);font-weight:700;border-radius:var(--radius-sm)}.drp-side{display:flex;flex-direction:column;justify-content:space-between;min-width:168px;border-left:1px solid var(--border-2);padding-left:var(--space-8)}.drp-presets{display:flex;flex-direction:column;gap:var(--space-1)}.drp-preset{display:flex;align-items:center;gap:var(--space-4);border:none;background:transparent;color:var(--ink);font-size:var(--text-ui);text-align:left;padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);cursor:pointer}.drp-preset:hover{background:var(--surface-2)}.drp-radio{width:15px;height:15px;border-radius:50%;border:1.5px solid var(--ink-3);flex:none;position:relative}.drp-preset.active .drp-radio{border-color:var(--brand-deep)}.drp-preset.active .drp-radio:after{content:"";position:absolute;top:3px;right:3px;bottom:3px;left:3px;border-radius:50%;background:var(--brand-deep)}.drp-side .btn{margin-top:var(--space-6);align-self:flex-end}@media(max-width:560px){.drp-pop{flex-direction:column-reverse;gap:var(--space-6)}.drp-side{border-left:none;border-top:1px solid var(--border-2);padding-left:0;padding-top:var(--space-6)}}.kiosk{min-height:100vh;padding:clamp(var(--space-8),2.4vw,var(--space-12));background:var(--bg)}.kiosk .topbar-title{font-size:clamp(22px,2.6vw,42px);font-weight:750}.kiosk .topbar-date{font-size:clamp(14px,1.2vw,20px)}.kiosk .kpi-strip{gap:clamp(var(--space-6),1.4vw,var(--space-10))}.kiosk .kpi-tile{padding:clamp(var(--space-8),1.6vw,var(--space-11))}.kiosk .kpi-tile .kpi-value{font-size:clamp(34px,4vw,62px)}.kiosk .kpi-tile .kpi-label{font-size:clamp(13px,1.1vw,19px)}.kiosk .dash-map{height:clamp(540px,68vh,1100px)}.kiosk .machine-panel{flex-basis:clamp(300px,22vw,420px)}.kiosk-message{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-5);text-align:center}.kiosk-message h1{margin:0;font-size:clamp(24px,3vw,44px)}.kiosk-message p{margin:0;color:var(--text);opacity:.75;max-width:540px}.kiosk-pairing-form{display:flex;align-items:center;gap:var(--space-6);margin-top:var(--space-5)}.kiosk-pairing-form .kiosk-pairing-input{width:clamp(220px,24vw,340px);font-family:var(--font-code);font-size:clamp(20px,2vw,30px);letter-spacing:.18em;text-align:center;text-transform:uppercase;padding:var(--space-6) var(--space-7);height:auto}@media(max-width:480px){.kiosk-pairing-form{flex-wrap:wrap;justify-content:center}.kiosk-pairing-form .kiosk-pairing-input{width:100%;min-width:0}}.kiosk-pairing-error{color:var(--err-fg);opacity:1!important}.kiosk-token-box{margin:var(--space-6) 0 var(--space-2);padding:var(--space-7) var(--space-8);border:1px solid var(--acc-orange);border-radius:var(--radius-sm);background:color-mix(in srgb,var(--acc-orange) 8%,var(--surface))}.kiosk-pairing-code{display:inline-block;font-family:var(--font-code);font-size:clamp(26px,3vw,38px);font-weight:700;letter-spacing:.14em;padding:var(--space-4) var(--space-8);border-radius:var(--radius-sm);background:var(--surface-2)}.help-layout{display:grid;grid-template-columns:240px 1fr;gap:var(--space-11);align-items:start}.help-toc{position:sticky;top:16px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);padding:var(--space-7) var(--space-8)}.help-toc-title{display:block;font-size:var(--text-micro);font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--text-2, var(--text));margin-bottom:var(--space-4)}.help-toc ol{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-1);counter-reset:toc}.help-toc li{counter-increment:toc}.help-toc a{display:block;padding:var(--space-2) var(--space-4);border-radius:var(--radius-sm);color:var(--text);text-decoration:none;font-size:var(--text-ui)}.help-toc a:before{content:counter(toc) ". ";opacity:.5}.help-toc a:hover{background:var(--surface-2)}.help-body{display:flex;flex-direction:column;gap:var(--space-11);max-width:760px}.help-section{scroll-margin-top:var(--space-8)}.help-section h2{margin:0 0 var(--space-5);font-size:var(--text-section)}.help-section p{margin:0 0 var(--space-6);line-height:1.6}.help-list,.help-steps{margin:0 0 var(--space-6);padding-left:var(--space-10);display:flex;flex-direction:column;gap:var(--space-4);line-height:1.55}@media(max-width:820px){.help-layout{grid-template-columns:1fr}.help-toc{position:static}}.setup-steps{display:flex;flex-direction:column}.setup-step{display:grid;grid-template-columns:auto 1fr auto;gap:var(--space-6);align-items:start;padding:var(--space-6) 0;border-bottom:1px solid var(--line)}.setup-step:last-child{border-bottom:none}.setup-step[data-state=locked]{opacity:.55}.setup-step-marker{width:26px;height:26px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:var(--text-action);font-weight:700;border:1.5px solid var(--line);color:var(--ink-2);background:var(--surface-2);flex-shrink:0;margin-top:var(--space-1)}.setup-step[data-state=done] .setup-step-marker{background:var(--green-bg);border-color:var(--green);color:var(--green)}.setup-step--milestone{border-top:2px solid var(--brand);margin-top:var(--space-2);padding-top:var(--space-7)}.setup-step--milestone .setup-step-marker{background:var(--brand-soft);border-color:var(--brand);color:var(--text)}.setup-step-body{display:flex;flex-direction:column;gap:var(--space-2);min-width:0}.setup-step-title{font-weight:700;font-size:var(--text-ui);display:flex;align-items:center;gap:var(--space-4);flex-wrap:wrap}.setup-step-desc{color:var(--ink-2);font-size:var(--text-ui);line-height:1.5}.setup-step-hint{color:var(--ink-2);font-size:var(--text-action);font-style:italic}.setup-step-action{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-1)}.setup-card-head{display:flex;align-items:baseline;gap:var(--space-6);flex-wrap:wrap;margin-bottom:var(--space-5)}.setup-card-head h2{margin:0}.setup-card-progress{color:var(--ink-2);font-size:var(--text-ui);font-weight:600}.setup-card-foot{display:flex;align-items:center;gap:var(--space-6);margin-top:var(--space-6)}.chat-fab{position:fixed;right:20px;bottom:20px;z-index:var(--z-chat);width:52px;height:52px;border-radius:50%;border:none;background:var(--brand);color:var(--brand-fg);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 4px 14px #00000040}.chat-fab:hover{background:var(--brand-deep)}.chat-panel{position:fixed;right:20px;bottom:20px;z-index:var(--z-chat);width:min(400px,calc(100vw - 40px));height:min(600px,calc(100dvh - 40px));display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);box-shadow:0 10px 32px #0000004d;overflow:hidden}.chat-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--border-2);background:var(--surface-2)}.chat-head-title{font-weight:700}.chat-head-actions{display:flex;gap:var(--space-2)}.chat-body{flex:1;overflow-y:auto;padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-5)}.chat-greeting{padding:var(--space-6)}.chat-msg{max-width:88%;padding:var(--space-4) var(--space-6);border-radius:var(--radius);font-size:var(--text-ui);line-height:1.45;overflow-wrap:anywhere}.chat-msg--user{align-self:flex-end;background:var(--brand-soft);border:1px solid var(--brand-deep);white-space:pre-wrap}.chat-msg--assistant{align-self:flex-start;background:var(--surface-2);border:1px solid var(--border-2)}.chat-msg--assistant h3{font-size:var(--text-ui)}.chat-error{color:var(--err-fg);font-size:var(--text-ui);margin:0}.chat-conversations{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2)}.chat-conversations button{width:100%;display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-5);padding:var(--space-5) var(--space-6);border:1px solid var(--border-2);border-radius:var(--radius);background:var(--surface);cursor:pointer;text-align:left;font:inherit;color:inherit}.chat-conversations button:hover{background:var(--surface-2)}.chat-conv-title{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chat-conv-date{font-size:var(--text-micro);flex-shrink:0}.chat-foot{display:flex;gap:var(--space-4);align-items:flex-end;padding:var(--space-5) var(--space-6);border-top:1px solid var(--border-2);background:var(--surface-2)}.chat-foot textarea{flex:1;resize:none;font:inherit;font-size:var(--text-ui);padding:var(--space-4) var(--space-5);border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);color:var(--text)}@media(max-width:560px){.chat-panel{right:0;bottom:0;width:100vw;height:100dvh;border-radius:0;border:none}}.chat-action-card{align-self:stretch;border:1px solid var(--brand-deep);border-radius:var(--radius);background:var(--brand-soft);padding:var(--space-5) var(--space-6)}.chat-action-title{font-weight:700;margin-bottom:var(--space-3)}.chat-action-fields{margin:0 0 var(--space-5);display:flex;flex-direction:column;gap:var(--space-1);font-size:var(--text-ui)}.chat-action-fields>div{display:flex;gap:var(--space-4)}.chat-action-fields dt{min-width:110px;color:var(--text-2)}.chat-action-fields dd{margin:0;font-weight:600;overflow-wrap:anywhere}.chat-action-buttons{display:flex;gap:var(--space-4)}.md-table-scroll{overflow-x:auto;margin:var(--space-4) 0}.md-table-scroll table{border-collapse:collapse;width:100%;font-size:var(--text-ui)}.md-table-scroll th,.md-table-scroll td{padding:var(--space-3) var(--space-5);border:1px solid var(--border-2);text-align:left}.md-table-scroll th{background:var(--surface-2);font-weight:700}.chat-panel.expanded{width:min(1100px,calc(100vw - 40px));height:calc(100dvh - 40px)}.nav-item--button{background:none;border:none;border-left:3px solid transparent;width:100%;cursor:pointer;font:inherit;font-size:var(--text-ui);font-weight:600;text-align:left}.chat-export-card{align-self:stretch;border:1px solid var(--border);border-radius:var(--radius);background:var(--surface-2);padding:var(--space-5) var(--space-6)}.chat-export-title{font-weight:700;font-size:var(--text-ui);margin-bottom:var(--space-4)}.chat-quota-card{align-self:stretch;border:1px solid var(--brand-deep);border-radius:var(--radius);background:var(--brand-soft);padding:var(--space-5) var(--space-6);font-size:var(--text-ui);line-height:1.45}.action-bar{position:fixed;bottom:16px;left:50%;translate:-50% 0;z-index:var(--z-action-bar);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-6);max-width:min(980px,calc(100vw - 32px));max-height:40vh;overflow:auto;padding:var(--space-5) var(--space-8);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-lg);animation:rise-in var(--dur-move) var(--ease-out)}@media(prefers-reduced-motion:reduce){.action-bar{animation:none}}.action-bar-spacer{height:64px}.action-bar .error-note{margin:0}.map-zone-marker{z-index:var(--z-map-card);pointer-events:none}.map-zone-marker:not(.is-full) .map-zone-card,.map-zone-marker:not(.is-chip) .map-zone-chip,.map-zone-marker:not(.is-dot) .map-zone-dot{display:none}.map-zone-chip{display:inline-flex;gap:var(--space-4);padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);background:var(--map-ink-both);color:var(--map-on-ink);font-size:var(--text-micro);font-weight:700;white-space:nowrap;box-shadow:var(--shadow-sm);pointer-events:auto}.map-zone-dot{width:14px;height:14px;border-radius:50%;background:var(--map-ink-both);box-shadow:0 0 0 2px var(--map-on-ink),var(--shadow-sm);pointer-events:auto}.map-zone-marker--load .map-zone-chip,.map-zone-marker--load .map-zone-dot{background:var(--map-ink-load)}.map-zone-marker--dump .map-zone-chip,.map-zone-marker--dump .map-zone-dot{background:var(--map-ink-dump)}.map-far .map-pill--machine .map-pill__text{display:none}.map-zone-card{min-width:150px;border-radius:var(--radius);background:var(--surface);color:var(--text);box-shadow:var(--shadow-md);overflow:hidden;pointer-events:none}.map-zone-card__head{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-6);background:var(--map-ink-both);color:var(--map-on-ink);font-size:var(--text-micro);font-weight:700}.map-zone-card--load .map-zone-card__head{background:var(--map-ink-load)}.map-zone-card--dump .map-zone-card__head{background:var(--map-ink-dump)}.map-zone-card__name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.map-zone-card__row{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-5) var(--space-6) var(--space-6)}.map-zone-card__row+.map-zone-card__row{border-top:1px solid var(--border)}.map-zone-card__figures{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-8)}.map-zone-card__tons{display:inline-flex;align-items:baseline;gap:var(--space-2);font-size:var(--text-headline);font-weight:800;line-height:1;font-variant-numeric:tabular-nums}.map-zone-card__tons .map-zone-card__arrow{font-size:var(--text-title)}.map-zone-card__row--load .map-zone-card__arrow{color:var(--zone-load)}.map-zone-card__row--dump .map-zone-card__arrow{color:var(--zone-dump)}.map-zone-card__trips{color:var(--text-2);font-size:var(--text-action);white-space:nowrap}.map-zone-card__bar{display:flex;gap:var(--space-1);min-height:4px}.map-zone-card__dash{flex:0 1 8px;height:4px;border-radius:var(--radius-xs);background:var(--zone-both)}.map-zone-card__row--load .map-zone-card__dash{background:var(--zone-load)}.map-zone-card__row--dump .map-zone-card__dash{background:var(--zone-dump)}.map-pill{display:inline-flex;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);color:var(--map-on-ink);font-size:var(--text-micro);font-weight:700;white-space:nowrap;box-shadow:var(--shadow-sm);--pill-bg: var(--map-ink-transport);background:var(--pill-bg)}.map-pill:after{content:"";position:absolute;left:50%;bottom:-6px;transform:translate(-50%);border-width:6px 6px 0;border-style:solid;border-color:var(--pill-bg) transparent transparent}.map-pill--machine{z-index:var(--z-map-machine)}.map-pill--loader{--pill-bg: var(--map-ink-load)}.map-pill--transport{--pill-bg: var(--map-ink-transport)}.map-pill--adhoc{--pill-bg: var(--map-ink-adhoc);z-index:var(--z-map-pin)}.map-pill--ghost{--pill-bg: var(--map-ink-ghost);border:1.5px dashed var(--map-on-ink);opacity:.85;font-weight:600;z-index:var(--z-map-pin);cursor:pointer}.map-pill--ghost:hover{opacity:1}.map-ghost-popup .maplibregl-popup-content{background:var(--surface);color:var(--text);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:var(--space-5) var(--space-8) var(--space-5) var(--space-5);font-size:var(--text-ui)}.map-ghost-popup .maplibregl-popup-close-button{color:var(--text-2)}.map-ghost-popup.maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:var(--surface)}.map-ghost-popup.maplibregl-popup-anchor-top .maplibregl-popup-tip{border-bottom-color:var(--surface)}.map-ghost-popup.maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:var(--surface)}.map-ghost-popup.maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:var(--surface)}.map-ghost-popup__body{display:flex;flex-direction:column;gap:var(--space-1)}.map-pill__icon{display:inline-flex}.map-pill__status{width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 1.5px var(--map-on-ink)}.dash-map .maplibregl-canvas-container{isolation:isolate}.prod-stage{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:var(--space-6);min-width:0}.prod-canvas-wrap{position:relative;min-width:0;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--border-2);border-radius:var(--radius);overflow:hidden}.prod-legend{gap:var(--space-4) var(--space-8);flex-wrap:wrap;padding:var(--space-4) var(--space-6);border-bottom:1px solid var(--border-2)}.prod-dot{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:var(--space-3);vertical-align:-1px}.prod-canvas{display:block;width:100%;flex:1 1 auto;min-height:0;cursor:pointer}.prod-log{min-width:0;display:flex;flex-direction:column;gap:var(--space-4);padding:var(--space-6);background:var(--surface-2);border:1px solid var(--border-2);border-radius:var(--radius);overflow-y:auto}.prod-log-list{list-style:none;margin:0;padding:0}.prod-log-list li{border-top:1px solid var(--border-2)}.prod-log-btn{display:grid;grid-template-columns:64px minmax(0,1fr);gap:var(--space-4);width:100%;padding:var(--space-4) 0;background:none;border:0;text-align:left;font:inherit;font-size:var(--text-micro);line-height:1.35;color:var(--text-3);cursor:pointer;border-radius:var(--radius-sm)}.prod-log-btn:hover{color:var(--text)}.prod-log-btn:focus-visible{outline:2px solid var(--brand-deep);outline-offset:2px}.prod-log-list li[data-state=past] .prod-log-btn{color:var(--text)}.prod-log-list li[data-state=now] .prod-log-btn{color:var(--text);font-weight:600}.prod-log-day{font-variant-numeric:tabular-nums;white-space:nowrap}.prod-log-list li[data-state=now] .prod-log-day{color:var(--warn-fg)}@media(max-width:900px){.prod-stage{grid-template-columns:minmax(0,1fr);height:auto!important}.prod-canvas{height:600px}.prod-log{max-height:320px}}.login{min-height:100vh;display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);background:var(--bg)}.login-side{position:relative;overflow:hidden;background:var(--map);border-right:1px solid var(--border);padding:var(--space-12);display:grid;align-content:space-between;gap:var(--space-12)}.login-side>:not(.login-sheet){position:relative}.login-side .login-brand{color:var(--map-label-on-light)}.login-sheet{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%}.login-sheet-mark{offset-path:path("M 120 282 C 140 224, 230 236, 300 150");offset-rotate:0deg;animation:login-travel var(--dur-travel) ease-in-out infinite}.login-sheet--wide .login-sheet-mark{offset-path:path("M 76 100 C 150 30, 240 160, 330 90")}.login-sheet-text{font-family:var(--font-body);font-size:var(--text-label);font-weight:700;letter-spacing:.06em;text-transform:uppercase}@keyframes login-travel{0%,15%{offset-distance:0%}45%,60%{offset-distance:100%}90%,to{offset-distance:0%}}.login-sheet-receive{opacity:0;animation:login-receive var(--dur-travel) ease-in-out infinite}@keyframes login-receive{0%,45%{opacity:0}50%,57%{opacity:.22}62%,to{opacity:0}}.login-sheet-pill-text{font-family:var(--font-body);font-size:var(--text-micro);font-weight:700}.login-fleet{list-style:none;margin:0;padding:var(--space-4) var(--space-8);display:grid}.login-fleet li{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:var(--space-5);padding:var(--space-4) 0;font-size:var(--text-ui);font-weight:600;color:var(--text)}.login-fleet li+li{border-top:1px solid var(--border-2)}.login-fleet-icon{display:inline-flex;width:24px;height:24px;align-items:center;justify-content:center;border-radius:50%;color:var(--map-on-ink)}.login-fleet-icon--loader{background:var(--map-ink-load)}.login-fleet-icon--transport{background:var(--map-ink-transport)}.login-phases{display:grid;justify-items:end;font-size:var(--text-micro);font-weight:600;color:var(--text-2)}.login-phase{grid-area:1 / 1;opacity:0;animation-duration:var(--dur-travel);animation-timing-function:linear;animation-iteration-count:infinite}.login-phase--load{animation-name:login-phase-load}.login-phase--wait{animation-name:login-phase-wait}.login-phase--go{animation-name:login-phase-go}.login-phase--dump{animation-name:login-phase-dump}.login-phase--return{animation-name:login-phase-return}@keyframes login-phase-load{0%,14.9%{opacity:1}15%,89.9%{opacity:0}90%,to{opacity:1}}@keyframes login-phase-wait{0%,14.9%{opacity:0}15%,89.9%{opacity:1}90%,to{opacity:0}}@keyframes login-phase-go{0%,14.9%{opacity:0}15%,44.9%{opacity:1}45%,to{opacity:0}}@keyframes login-phase-dump{0%,44.9%{opacity:0}45%,59.9%{opacity:1}60%,to{opacity:0}}@keyframes login-phase-return{0%,59.9%{opacity:0}60%,89.9%{opacity:1}90%,to{opacity:0}}@media(prefers-reduced-motion:reduce){.login-sheet-mark{animation:none;offset-distance:55%}.login-sheet-receive,.login-phase{animation:none}.login-phase--default{opacity:1}}.login-side-top{display:flex;justify-content:space-between;align-items:center;gap:var(--space-8);flex-wrap:wrap}.login-date{margin:0;font-size:var(--text-label);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-3)}.login-claims{max-width:40ch;font-size:var(--text-body);color:var(--text-2);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.login-pane{animation:none}.login-pane>*{animation:rise-in var(--dur-enter) var(--ease-out) both}.login-pane>:nth-child(2){animation-delay:var(--dur-fast)}.login-pane>:nth-child(3){animation-delay:calc(var(--dur-fast) * 2)}.login-pane>:nth-child(4){animation-delay:calc(var(--dur-fast) * 3)}@media(prefers-reduced-motion:reduce){.login-pane>*{animation:none}}.login-main{display:grid;align-content:center;justify-items:center;padding:var(--space-12) var(--space-10)}@media(max-width:900px){.login{grid-template-columns:1fr;grid-template-rows:auto 1fr}.login-side{min-height:180px;align-content:start;border-right:none;border-bottom:1px solid var(--border);padding:var(--space-8) var(--space-10);gap:0}.login-side .login-brand{font-size:var(--text-brandmark)}.login-side .login-brand .brand-mark{height:22px}.login-claims{display:none}.login-main{align-content:start;padding:var(--space-10) var(--space-10) var(--space-12)}.login-pane{gap:var(--space-9)}.login-pane .auth-lang{justify-self:center}}@media(max-width:768px){.login-form .input,.login-form .btn{height:48px}}.login-pane{width:100%;max-width:420px;display:grid;gap:var(--space-10)}.login-brand{font-size:var(--text-brandmark-lg);font-weight:900;font-style:italic;letter-spacing:.02em;display:flex;align-items:center;gap:var(--space-5)}.login-brand .brand-mark{height:32px}.login-head{display:grid;gap:var(--space-3)}.login-title{margin:0;font-size:var(--text-headline);font-weight:700;letter-spacing:-.01em}.login-lede{margin:0;font-size:var(--text-body);color:var(--text-2);max-width:36ch}.login-form{display:grid;gap:var(--space-7)}.login-note{margin:0;font-size:var(--text-ui);color:var(--text-2)}.login-password-head{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-6)}.login-password-head a{font-size:var(--text-micro);font-weight:600}.login-password{position:relative}.login-password .input{padding-right:var(--space-12)}.login-reveal{position:absolute;right:var(--space-2);top:50%;transform:translateY(-50%);height:var(--control-h-sm);padding:0 var(--space-4);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text-2);font-size:var(--text-action);font-weight:700;cursor:pointer;transition:background var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.login-reveal:hover{background:var(--surface-2);color:var(--text)}.login-alt{margin:0;font-size:var(--text-ui);color:var(--text-2)}.login-linkish{border:none;background:transparent;padding:0;color:var(--text);font-size:var(--text-micro);font-weight:600;text-decoration:underline;text-decoration-color:var(--brand);text-underline-offset:3px;cursor:pointer}.login-caps{font-size:var(--text-micro);font-weight:600;color:var(--warn-fg)}.login-busy{display:inline-flex;align-items:center;gap:var(--space-4)}.login-pane .auth-lang{justify-self:start}.motion-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-5);margin:var(--space-7) 0}.motion-filters .list-search{margin-bottom:0;min-width:220px}.motion-filters .select{width:auto;max-width:100%}.motion-filters .field{gap:var(--space-1)}.motion-filters__spacer{flex:1}.motion-devices tr.is-selected td{background:var(--brand-soft)}.motion-devices tr.is-selected td:first-child{box-shadow:inset 3px 0 0 var(--brand)}.motion-device{display:inline-flex;align-items:center;gap:var(--space-4)}.motion-device__platform{font-size:var(--text-micro);font-weight:700;letter-spacing:.04em;border:1px solid var(--border);border-radius:var(--radius-sm);padding:0 var(--space-3);color:var(--text-2)}.motion-chart{display:grid;gap:var(--space-4)}.motion-legend{display:flex;flex-wrap:wrap;gap:var(--space-8);font-size:var(--text-micro);color:var(--text-2)}.motion-legend__item{display:inline-flex;align-items:center;gap:var(--space-3)}.motion-legend__swatch{width:14px;height:10px;border-radius:var(--radius-xs);border:1px solid var(--border-2)}.motion-legend__swatch--hatch{background:repeating-linear-gradient(45deg,var(--border) 0 1.5px,transparent 1.5px 6px)}.motion-legend__event{width:0;height:12px;border-left:1px dashed var(--text)}.motion-panels{position:relative;display:grid;gap:var(--space-2);outline:none}.motion-panels:focus-visible{outline:2px solid var(--focus-ring);box-shadow:0 0 0 4px var(--focus-halo);border-radius:var(--radius-sm)}.motion-panel{display:grid;grid-template-columns:120px minmax(0,1fr);gap:var(--space-5);align-items:stretch}.motion-panel__label{display:flex;flex-direction:column;justify-content:center;gap:var(--space-1);font-size:var(--text-micro);color:var(--text-3)}.motion-panel__label b{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-ui);color:var(--text)}.motion-panel__label b:before{content:"";width:14px;height:3px;border-radius:var(--radius-xs);background:var(--c)}.motion-panel__now{font-size:var(--text-ui);font-weight:700;color:var(--text)}.motion-panel__plot{min-width:0}.motion-panel__svg{display:block;width:100%;height:auto;overflow:visible;touch-action:none}.motion-hint,.motion-table__hint{margin:0 0 var(--space-4);font-size:var(--text-ui);color:var(--text-2)}.motion-panel--axis .motion-panel__svg{touch-action:auto}.motion-grid{stroke:var(--border-2);stroke-width:1}.motion-axis{stroke:var(--border);stroke-width:1}.motion-tick{fill:var(--text-3);font-size:var(--text-label)}.motion-hatch{stroke:var(--border);stroke-width:1.5}.motion-line{fill:none;stroke-width:2;stroke-linejoin:round;stroke-linecap:round}.motion-area{opacity:.1}.motion-event{stroke:var(--text);stroke-width:1;stroke-dasharray:2 3}.motion-event__label{fill:var(--text);font-size:var(--text-label);font-weight:600}.motion-cross{stroke:var(--text);stroke-width:1}.motion-dot{stroke:var(--surface);stroke-width:2}.motion-band{fill:var(--band)}.motion-band__label{fill:var(--band-ink);font-size:var(--text-label);font-weight:600;letter-spacing:.03em;text-transform:uppercase}.motion-band--queue{--band: color-mix(in srgb, var(--text-3) 12%, transparent);--band-ink: var(--text-2)}.motion-band--load{--band: color-mix(in srgb, var(--acc-green) 18%, transparent);--band-ink: var(--acc-green)}.motion-band--dump{--band: color-mix(in srgb, var(--acc-blue) 16%, transparent);--band-ink: var(--acc-blue)}.motion-legend__swatch.motion-band--queue,.motion-legend__swatch.motion-band--load,.motion-legend__swatch.motion-band--dump{background:var(--band)}.motion-tip{position:absolute;pointer-events:none;z-index:var(--z-map-control);min-width:180px;padding:var(--space-4) var(--space-5);background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);font-size:var(--text-ui)}.motion-tip__time{font-weight:700;margin-bottom:var(--space-2)}.motion-tip__flag{font-weight:400;color:var(--warn-fg)}.motion-tip__row{display:flex;justify-content:space-between;gap:var(--space-7)}.motion-tip__row span{display:inline-flex;align-items:center;gap:var(--space-3);color:var(--text-2)}.motion-tip__row span:before{content:"";width:10px;height:3px;border-radius:var(--radius-xs);background:var(--c)}.motion-tip__phase{margin-top:var(--space-2);font-size:var(--text-micro);color:var(--text-3)}.motion-table-toggle{display:flex;justify-content:flex-end}.motion-table{max-height:360px;overflow:auto;border:1px solid var(--border-2);border-radius:var(--radius-sm)}.motion-table .table th{position:sticky;top:0;background:var(--surface)}.motion-meta{display:flex;flex-wrap:wrap;gap:var(--space-5) var(--space-9);margin-top:var(--space-6);font-size:var(--text-ui);color:var(--text-2)}.motion-meta b{color:var(--text)}.motion-meta__warn{color:var(--warn-fg)}.motion-howto{margin-top:var(--space-8);padding-top:var(--space-6);border-top:1px solid var(--border-2);font-size:var(--text-ui);color:var(--text-2)}.motion-howto h3{font-size:var(--text-ui);margin:0 0 var(--space-3);color:var(--text)}.motion-howto ul{margin:0;padding-left:var(--space-9);display:grid;gap:var(--space-2)}@media(max-width:720px){.motion-panel{grid-template-columns:minmax(0,1fr);gap:var(--space-2)}.motion-panel__label{flex-direction:row;align-items:baseline;justify-content:flex-start;gap:var(--space-5)}.motion-panel--axis>:first-child{display:none}}.track-legend{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-4) var(--space-9);font-size:var(--text-micro);color:var(--text-2)}.track-legend__item{display:inline-flex;align-items:center;gap:var(--space-3)}.track-legend__dot{width:10px;height:10px;border-radius:50%;background:var(--map-speed-still);box-shadow:0 0 0 2px var(--surface)}.track-legend__gap{width:22px;height:0;border-top:2px dashed var(--map-track-gap)}.track-legend__scale{display:grid;gap:var(--space-1)}.track-legend__bar{width:132px;height:6px;border-radius:var(--radius-xs)}.track-legend__ticks{display:flex;justify-content:space-between;font-variant-numeric:tabular-nums}.track-sums{display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-9);font-size:var(--text-micro);color:var(--text-2)}.track-sums b{color:var(--text);font-weight:600;font-variant-numeric:tabular-nums}.track-tip{position:absolute;z-index:var(--z-map-control);pointer-events:none;transform:translate(-50%,calc(-100% - 12px));padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);background:var(--map-control-bg);color:var(--map-control-fg-strong);font-size:var(--text-micro);font-variant-numeric:tabular-nums;white-space:nowrap}.export-menu{position:relative}.export-pop{position:absolute;top:calc(100% + 6px);right:0;min-width:180px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-md);padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-1);z-index:var(--z-popover)}.export-hint{padding:var(--space-3) var(--space-5) var(--space-4);color:var(--text-2);font-size:var(--text-micro);font-weight:600}.export-item{display:flex;align-items:center;width:100%;padding:var(--space-4) var(--space-5);border:none;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:var(--text-ui);font-weight:600;cursor:pointer;text-align:left}.export-item:hover,.export-item:focus-visible{background:var(--surface-2)}
