.realtime-status[data-v-04e30090]{display:inline-flex;align-items:center;gap:.4rem;margin-left:auto;margin-right:.5rem;padding:.25rem .55rem;border-radius:999px;border:1px solid var(--line);background:var(--bg-panel);font-size:.75rem;color:var(--ink-muted);-webkit-user-select:none;user-select:none}.dot[data-v-04e30090]{width:.55rem;height:.55rem;border-radius:50%;background:var(--ink-muted);flex:0 0 auto}.is-live[data-v-04e30090]{color:var(--accent);border-color:#3ecf8e73}.is-live .dot[data-v-04e30090]{background:var(--accent);box-shadow:0 0 #3ecf8e8c;animation:pulse-live-04e30090 2s ease-out infinite}.is-connected[data-v-04e30090],.is-reconnecting[data-v-04e30090]{color:var(--warn);border-color:#e6b35a73}.is-connected .dot[data-v-04e30090],.is-reconnecting .dot[data-v-04e30090]{background:var(--warn)}.is-disconnected .dot[data-v-04e30090]{background:var(--ink-muted)}@keyframes pulse-live-04e30090{0%{box-shadow:0 0 #3ecf8e73}70%{box-shadow:0 0 0 6px #3ecf8e00}to{box-shadow:0 0 #3ecf8e00}}.login[data-v-d4bcc17f]{min-height:calc(100vh - 2rem);display:grid;place-items:center}.login-card[data-v-d4bcc17f]{width:min(380px,100%)}.login-card h1[data-v-d4bcc17f]{margin:0 0 .25rem;font-size:1.6rem;letter-spacing:-.03em}.login-card form[data-v-d4bcc17f]{margin-top:1.25rem}.login-card .btn[data-v-d4bcc17f]{width:100%;margin-top:.5rem}.dev-api[data-v-d4bcc17f]{margin:.75rem 0 .25rem;padding:.65rem .75rem;border:1px solid var(--line);border-radius:8px;background:var(--bg)}.check[data-v-d4bcc17f]{display:flex;align-items:center;gap:.4rem;font-size:.9rem}.hint[data-v-d4bcc17f]{margin:.35rem 0 0;font-size:.8rem;font-family:var(--mono);word-break:break-all}.gantt[data-v-1213a0bd]{padding:.75rem;overflow:hidden}.gantt-toolbar[data-v-1213a0bd]{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.5rem;flex-wrap:wrap}.chain-chip[data-v-1213a0bd]{display:flex;align-items:center;gap:.5rem;margin:0 0 .45rem;padding:.35rem .55rem;min-height:1.85rem;box-sizing:border-box;border-radius:6px;background:#3ecf8e1a;border:1px solid rgba(62,207,142,.35);font-size:.75rem}.chain-chip.empty[data-v-1213a0bd]{background:transparent;border-color:transparent}.chain-chip-placeholder[data-v-1213a0bd]{font-size:.72rem}.chain-chip-label[data-v-1213a0bd]{color:var(--ink-muted, #9aab9f);text-transform:uppercase;letter-spacing:.04em;font-size:.65rem;font-weight:700}.chain-chip-path[data-v-1213a0bd]{font-family:var(--mono);color:var(--accent, #3ecf8e);flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chain-chip-clear[data-v-1213a0bd]{border:0;background:transparent;color:var(--ink-muted, #9aab9f);cursor:pointer;font-size:1rem;line-height:1;padding:0 .15rem}.chain-chip-clear[data-v-1213a0bd]:hover{color:var(--ink, #e8efe9)}.lanes-body[data-v-1213a0bd]{position:relative}.gantt.is-marqueeing[data-v-1213a0bd]{cursor:crosshair;-webkit-user-select:none;user-select:none}.gantt.is-marqueeing .lanes-body[data-v-1213a0bd]{touch-action:none}.gantt.is-marqueeing .task-block[data-v-1213a0bd]{cursor:crosshair}.marquee-box[data-v-1213a0bd]{position:fixed;z-index:10000;pointer-events:none;box-sizing:border-box;border:1px solid rgba(125,211,252,.95);background:#7dd3fc29;border-radius:2px}.chain-overlay[data-v-1213a0bd]{position:absolute;left:160px;top:0;z-index:5;pointer-events:none;overflow:visible}.chain-link[data-v-1213a0bd]{stroke:#3ecf8ed9;stroke-width:2;stroke-linecap:round;stroke-dasharray:6 5;animation:chain-dash-1213a0bd .9s linear infinite;filter:drop-shadow(0 0 3px rgba(62,207,142,.45))}.chain-link.branched[data-v-1213a0bd]{stroke:#e6b35af2;stroke-width:2.25;filter:drop-shadow(0 0 3px rgba(230,179,90,.45))}.chain-node[data-v-1213a0bd]{fill:#3ecf8ef2;stroke:#0d1611;stroke-width:1}.chain-node.focus[data-v-1213a0bd]{fill:#e6b35a}.chain-node.fork[data-v-1213a0bd]{fill:#e6b35a;stroke:#e6b35af2;stroke-width:2}@keyframes chain-dash-1213a0bd{to{stroke-dashoffset:-22}}.status-legend[data-v-1213a0bd]{display:flex;align-items:center;gap:.65rem;font-size:.72rem;color:var(--ink-muted, #9aab9f)}.legend-item[data-v-1213a0bd]{display:inline-flex;align-items:center;gap:.3rem}.legend-item i[data-v-1213a0bd]{display:inline-block;width:.65rem;height:.65rem;border-radius:2px;flex-shrink:0}.legend-item.is-active i[data-v-1213a0bd]{background:#3ecf8e;box-shadow:0 0 0 1px #3ecf8eb3}.legend-item.is-awaiting i[data-v-1213a0bd]{background:#e6b35a8c;border:1px dashed rgba(230,179,90,.95);box-sizing:border-box}.legend-item.is-complete i[data-v-1213a0bd]{background:#9aab9f73;box-shadow:inset 0 0 0 1px #9aab9fcc}.zoom[data-v-1213a0bd]{display:flex;align-items:center;gap:.35rem}.zoom .btn[data-v-1213a0bd]{min-width:2rem;padding:.25rem .5rem;font-weight:600}.zoom-label[data-v-1213a0bd]{font-family:var(--mono);font-size:.75rem;min-width:3.5rem;text-align:center}.gantt-scroll[data-v-1213a0bd]{overflow:auto;max-height:calc(100vh - 14rem)}.gantt.is-fullscreen[data-v-1213a0bd]{display:flex;flex-direction:column;min-height:0;flex:1;height:100%}.gantt.is-fullscreen .gantt-scroll[data-v-1213a0bd]{flex:1;min-height:0;max-height:none}.gantt-header[data-v-1213a0bd],.lane-row[data-v-1213a0bd]{display:flex;align-items:stretch}.lane-label[data-v-1213a0bd]{width:160px;flex-shrink:0;padding:.4rem .6rem;border-right:1px solid var(--line);display:flex;flex-direction:column;justify-content:center;font-size:.85rem;position:sticky;left:0;background:var(--bg-elevated);z-index:2}.lane-label.head[data-v-1213a0bd]{font-weight:600;color:var(--ink-muted)}.lane-label strong[data-v-1213a0bd]{font-weight:600}.time-axis[data-v-1213a0bd]{position:relative;height:32px;border-bottom:1px solid var(--line)}.hour-mark[data-v-1213a0bd]{position:absolute;top:4px;font-family:var(--mono);font-size:.65rem;color:var(--ink-muted);white-space:nowrap;transform:translate(2px)}.hour-mark.day-start[data-v-1213a0bd]{color:var(--accent);font-weight:600}.lane-row[data-v-1213a0bd]{border-bottom:1px solid var(--line)}.lane-row.drop-target .lane-track[data-v-1213a0bd]{background:#3ecf8e14}.lane-track[data-v-1213a0bd]{position:relative;background:#0000001f}.grid-line[data-v-1213a0bd]{position:absolute;top:0;bottom:0;width:1px;pointer-events:none}.grid-line.hour[data-v-1213a0bd]{background:#e8efe924}.grid-line.hour.day-start[data-v-1213a0bd]{background:#3ecf8e73;width:2px}.grid-line.quarter[data-v-1213a0bd]{background:#e8efe90f}.task-block[data-v-1213a0bd]{position:absolute;top:8px;height:calc(100% - 16px);border-radius:6px;font-size:.75rem;font-weight:600;display:flex;align-items:center;cursor:grab;overflow:hidden;box-shadow:0 2px 8px #00000040;-webkit-user-select:none;user-select:none;touch-action:none;z-index:1;border:1px solid transparent}.task-block[data-v-1213a0bd]:not(.dragging){transition:left .22s ease,width .22s ease,opacity .18s ease,filter .18s ease,box-shadow .18s ease}.gantt.is-dragging .task-block[data-v-1213a0bd]{transition:none!important}.task-block.selected[data-v-1213a0bd]{outline:2px solid rgba(125,211,252,.95);outline-offset:1px;box-shadow:0 0 0 1px #7dd3fc8c,0 2px 10px #00000059;z-index:3}.selection-banner[data-v-1213a0bd]{margin:.25rem 0 0;font-size:.75rem;color:#7dd3fc}.selection-banner .linkish[data-v-1213a0bd]{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;background:none;padding:0;margin:0;color:#bae6fd;font:inherit;text-decoration:underline;cursor:pointer}.selection-banner .linkish[data-v-1213a0bd]:hover{color:#fff}.task-block.chain-dim[data-v-1213a0bd]{opacity:.22;filter:grayscale(.55) saturate(.4);z-index:0}.task-block.in-chain[data-v-1213a0bd]{z-index:3}.task-block.chain-focus-bar[data-v-1213a0bd]{z-index:4;box-shadow:0 0 0 2px #e6b35ad9,0 4px 14px #00000059}.task-block.status-active[data-v-1213a0bd]{border-color:#3ecf8ef2;box-shadow:0 0 0 1px #3ecf8e8c,0 2px 10px #3ecf8e47;z-index:2}.task-block.status-awaiting[data-v-1213a0bd]{border-color:#e6b35ad9;border-style:dashed;filter:saturate(.7)}.task-block.status-awaiting[data-v-1213a0bd]:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background:repeating-linear-gradient(-45deg,transparent,transparent 4px,rgba(0,0,0,.12) 4px,rgba(0,0,0,.12) 8px)}.task-block.status-complete[data-v-1213a0bd]{border-color:#9aab9fa6;filter:grayscale(.55) saturate(.45);box-shadow:none}.task-block.status-complete .task-text[data-v-1213a0bd]{text-decoration:line-through;opacity:.85}.task-block.dragging[data-v-1213a0bd]{cursor:grabbing;opacity:.92;z-index:4;box-shadow:0 6px 18px #00000073}.task-block.preview[data-v-1213a0bd]{background:#3ecf8e8c;color:#0d1611;border:1px dashed rgba(232,239,233,.85);box-shadow:none;pointer-events:none;z-index:3;opacity:.9}.task-text[data-v-1213a0bd]{flex:1;padding:0 .25rem 0 .4rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;position:relative;z-index:1}.status-badge[data-v-1213a0bd]{flex-shrink:0;font-size:.65rem;line-height:1;padding:0 .3rem 0 0;opacity:.95;position:relative;z-index:1}.task-block.status-active .status-badge[data-v-1213a0bd]{color:#0d1611;text-shadow:0 0 6px rgba(62,207,142,.8)}.task-block.status-awaiting .status-badge[data-v-1213a0bd]{opacity:.9}.task-block.status-complete .status-badge[data-v-1213a0bd]{font-weight:700}.resize-handle[data-v-1213a0bd]{width:8px;align-self:stretch;cursor:ew-resize;background:#00000026;flex-shrink:0}.hint[data-v-1213a0bd]{margin:.6rem 0 0;font-size:.8rem}.pool[data-v-9a63a77c]{display:flex;flex-direction:column;min-height:0;max-height:calc(100vh - 8rem);font-size:.7rem}.pool-head[data-v-9a63a77c]{display:flex;justify-content:space-between;align-items:center;gap:.4rem}.pool-head h2[data-v-9a63a77c]{margin:0;font-size:.85rem}.pool-actions[data-v-9a63a77c]{display:flex;gap:.25rem}.pool-actions .btn[data-v-9a63a77c]{padding:.2rem .4rem;font-size:.65rem}.filters[data-v-9a63a77c]{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.45rem;align-items:center}.filter-select[data-v-9a63a77c]{flex:1 1 100%;min-width:0;background:var(--bg);border:1px solid var(--line);border-radius:4px;padding:.25rem .35rem;font-size:.68rem;color:var(--ink)}.due-date-field[data-v-9a63a77c]{display:flex;align-items:center;gap:.3rem;flex:1 1 100%;min-width:0}.due-date-label[data-v-9a63a77c]{font-size:.62rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--warn, #e6b35a);flex-shrink:0}.due-date-input[data-v-9a63a77c]{flex:1 1 auto;color-scheme:dark}.due-summary[data-v-9a63a77c]{color:var(--warn, #e6b35a)!important}.due-badge[data-v-9a63a77c]{flex-shrink:0;font-size:.58rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.1rem .3rem;border-radius:3px;background:#e6b35a38;border:1px solid rgba(230,179,90,.55);color:#f0d19a}.check[data-v-9a63a77c]{display:flex;align-items:center;gap:.25rem;font-size:.65rem;color:var(--ink-muted)}.note[data-v-9a63a77c],.empty[data-v-9a63a77c]{font-size:.65rem;margin:.35rem 0 0}.selection-hint[data-v-9a63a77c]{color:var(--accent)}.pool-scroll[data-v-9a63a77c]{margin-top:.4rem;overflow:auto;flex:1;min-height:0}.tree-process[data-v-9a63a77c]{margin-bottom:.35rem;border:1px solid var(--line);border-radius:6px;background:#0000001f;overflow:hidden}.tree-node[data-v-9a63a77c]{display:flex;align-items:center;gap:.2rem;position:sticky;top:0;z-index:1}.process-node[data-v-9a63a77c]{background:var(--bg-elevated);border-bottom:1px solid var(--line)}.material-node[data-v-9a63a77c]{background:#0000002e;border-bottom:1px solid rgba(232,239,233,.06)}.tree-toggle[data-v-9a63a77c]{flex:1;min-width:0;display:flex;align-items:center;gap:.3rem;border:0;background:transparent;color:inherit;font:inherit;text-align:left;padding:.35rem .4rem;cursor:pointer}.tree-toggle[data-v-9a63a77c]:hover{background:#3ecf8e14}.chevron[data-v-9a63a77c]{display:inline-block;width:.7rem;color:var(--ink-muted);font-size:.65rem;transition:transform .12s ease}.chevron.open[data-v-9a63a77c]{transform:rotate(90deg);color:var(--accent)}.node-title[data-v-9a63a77c]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-weight:600;font-size:.68rem}.process-node .node-title[data-v-9a63a77c]{color:var(--accent);text-transform:uppercase;letter-spacing:.03em;font-size:.62rem}.material-node .node-title[data-v-9a63a77c]{font-size:.65rem;color:var(--ink)}.node-count[data-v-9a63a77c]{font-family:var(--mono);font-size:.6rem;color:var(--ink-muted);flex-shrink:0}.node-select[data-v-9a63a77c]{border:0;background:transparent;color:var(--ink-muted);width:1.6rem;height:1.6rem;margin-right:.15rem;border-radius:4px;cursor:pointer;font-size:.75rem;line-height:1}.node-select[data-v-9a63a77c]:hover,.node-select.all[data-v-9a63a77c]{color:var(--accent);background:#3ecf8e1f}.node-select.some[data-v-9a63a77c]{color:var(--accent);opacity:.7}.tree-children[data-v-9a63a77c]{padding:.2rem 0 .25rem}.tree-material[data-v-9a63a77c]{margin:.15rem .25rem .25rem;border-radius:4px;overflow:hidden}.tree-material.due-material[data-v-9a63a77c]{box-shadow:0 0 0 1px #e6b35a73}.material-node.due-highlight[data-v-9a63a77c]{background:#e6b35a24}.tree-process.has-due[data-v-9a63a77c]{border-color:#e6b35a59}.pool-list[data-v-9a63a77c]{list-style:none;margin:0;padding:.2rem .25rem .25rem 1rem;display:flex;flex-direction:column;gap:.2rem}.pool-item[data-v-9a63a77c]{border:1px solid var(--line);border-radius:4px;padding:.28rem .4rem;cursor:grab;background:var(--bg);line-height:1.25}.pool-item[data-v-9a63a77c]:hover,.pool-item.selected[data-v-9a63a77c]{border-color:var(--accent-dim);background:#3ecf8e14}.pool-item.due-job[data-v-9a63a77c]{border-color:#e6b35aa6;background:#e6b35a1a}.pool-item.due-job.selected[data-v-9a63a77c]{border-color:var(--warn, #e6b35a);background:#e6b35a29}.due-pill[data-v-9a63a77c]{font-size:.55rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;padding:.05rem .25rem;border-radius:3px;background:#e6b35a47;color:#f0d19a;flex-shrink:0}.line1[data-v-9a63a77c]{display:flex;align-items:baseline;gap:.35rem}.ref[data-v-9a63a77c]{font-family:var(--mono);font-weight:600;font-size:.68rem;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dims[data-v-9a63a77c]{font-family:var(--mono);font-weight:600;font-size:.68rem;color:var(--accent);white-space:nowrap}.qty[data-v-9a63a77c]{color:var(--ink-muted);white-space:nowrap}.line2[data-v-9a63a77c],.line3[data-v-9a63a77c]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line2[data-v-9a63a77c]{color:var(--ink);font-size:.62rem;margin-top:.1rem}.line3[data-v-9a63a77c]{color:var(--ink-muted);font-size:.62rem;margin-top:.05rem}.drawer-head[data-v-ef6fa8b9]{display:flex;justify-content:space-between;gap:1rem;margin-bottom:.85rem}.drawer-head h2[data-v-ef6fa8b9]{margin:0;font-size:1.15rem}.meta[data-v-ef6fa8b9]{display:grid;grid-template-columns:1fr 1fr;gap:.45rem .75rem;margin:0 0 .85rem}.meta dt[data-v-ef6fa8b9]{font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted)}.meta dd[data-v-ef6fa8b9]{margin:.1rem 0 0;font-size:.85rem;font-family:var(--mono)}.links[data-v-ef6fa8b9]{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem}h3[data-v-ef6fa8b9]{margin:1.25rem 0 .5rem;font-size:.95rem}.var-list[data-v-ef6fa8b9]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.55rem}.var-item[data-v-ef6fa8b9]{border:1px solid var(--line);border-radius:6px;padding:.5rem .6rem;background:var(--bg)}.var-head[data-v-ef6fa8b9]{display:flex;justify-content:space-between;gap:.5rem}.var-line[data-v-ef6fa8b9]{font-size:.8rem;margin-top:.15rem}.estimate-row[data-v-ef6fa8b9]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.5rem}.check[data-v-ef6fa8b9]{display:flex;align-items:center;gap:.4rem;font-size:.9rem;color:var(--ink-muted)}.estimate-note[data-v-ef6fa8b9]{font-size:.85rem;margin:0 0 .75rem}.actions[data-v-ef6fa8b9]{display:flex;gap:.5rem;margin-top:1rem}.qty-row[data-v-ef6fa8b9]{margin-top:.4rem;margin-bottom:0}.qty-row input[data-v-ef6fa8b9]{max-width:120px}.title[data-v-7fb3f61e]{margin:0;font-size:1.15rem;letter-spacing:-.02em;flex:1}.plant[data-v-7fb3f61e]{min-height:0}.plant.is-fullscreen[data-v-7fb3f61e]{flex:1;display:flex;flex-direction:column;min-height:0;height:100%;overflow:hidden}.plant.is-fullscreen .toolbar[data-v-7fb3f61e]{margin-bottom:.4rem;flex-shrink:0}.plant.is-fullscreen .info-banner[data-v-7fb3f61e],.plant.is-fullscreen .error[data-v-7fb3f61e]{flex-shrink:0}.plant-grid[data-v-7fb3f61e]{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:1rem;align-items:start}.plant.is-fullscreen .plant-grid[data-v-7fb3f61e]{grid-template-columns:minmax(0,1fr);flex:1;min-height:0;align-items:stretch}.schedule-pane[data-v-7fb3f61e]{min-width:0}.plant.is-fullscreen .schedule-pane[data-v-7fb3f61e]{display:flex;flex-direction:column;min-height:0;height:100%}@media (max-width: 960px){.plant-grid[data-v-7fb3f61e]{grid-template-columns:1fr}}.actions[data-v-7fb3f61e]{display:flex;gap:.5rem;margin-top:1rem;flex-wrap:wrap}.drawer h2[data-v-7fb3f61e]{margin-top:0}.mode-field[data-v-7fb3f61e]{border:1px solid rgba(148,163,184,.35);border-radius:6px;padding:.65rem .75rem}.mode-field legend[data-v-7fb3f61e]{padding:0 .35rem;font-size:.85rem}.mode-field .radio[data-v-7fb3f61e]{display:flex;align-items:center;gap:.45rem;margin:.35rem 0;font-size:.9rem;cursor:pointer}.info-banner[data-v-7fb3f61e]{margin:0 0 .75rem;padding:.45rem .65rem;border:1px solid var(--line);border-radius:6px;background:#3ecf8e14}.split-drawer[data-v-7fb3f61e]{max-width:28rem;width:min(28rem,96vw)}.split-actions[data-v-7fb3f61e]{display:flex;align-items:center;gap:.4rem;margin:.75rem 0 .5rem}.split-list[data-v-7fb3f61e]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem;max-height:min(50vh,22rem);overflow:auto}.split-item[data-v-7fb3f61e]{display:flex;align-items:flex-start;gap:.55rem;border:1px solid var(--line);border-radius:6px;padding:.45rem .55rem;cursor:pointer;background:var(--bg)}.split-item.selected[data-v-7fb3f61e]{border-color:var(--accent-dim);background:#3ecf8e1a}.split-item-body[data-v-7fb3f61e]{min-width:0;flex:1}.split-line1[data-v-7fb3f61e]{display:flex;flex-wrap:wrap;gap:.4rem;align-items:baseline;font-size:.85rem}.split-line2[data-v-7fb3f61e]{font-size:.75rem;margin-top:.15rem}.split-warn[data-v-7fb3f61e]{margin:.65rem 0 0;padding:.5rem .6rem;border-radius:6px;border:1px solid rgba(220,160,60,.45);background:#dca03c1f;color:var(--ink);font-size:.8rem;line-height:1.35}.split-warn.strong[data-v-7fb3f61e]{border-color:#dc643c8c;background:#dc643c24;font-weight:600}.title[data-v-192bad95]{margin:0;font-size:1.25rem;flex:1}.board[data-v-192bad95]{display:flex;gap:.75rem;overflow-x:auto;padding-bottom:1rem;align-items:flex-start}.column[data-v-192bad95]{min-width:260px;max-width:300px;background:var(--bg-elevated);border:1px solid var(--line);border-radius:10px;padding:.75rem}.column header[data-v-192bad95]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.6rem}.column h2[data-v-192bad95]{margin:0;font-size:.95rem}.column ul[data-v-192bad95]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.job-card[data-v-192bad95]{background:var(--bg);border:1px solid var(--line);border-radius:8px;padding:.65rem}.ref[data-v-192bad95]{font-family:var(--mono);font-size:.85rem;font-weight:500}.title-line[data-v-192bad95]{font-size:.9rem;margin:.2rem 0}.meta[data-v-192bad95]{display:flex;justify-content:space-between;font-size:.75rem;gap:.4rem}.job-actions[data-v-192bad95]{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.55rem}.job-actions .btn[data-v-192bad95]{padding:.3rem .5rem;font-size:.8rem}.actions[data-v-192bad95]{display:flex;gap:.5rem}.drawer h2[data-v-192bad95]{margin-top:0}.process-sidebar[data-v-d3c7c739]{padding:.75rem;overflow-y:auto;max-height:calc(100vh - 9rem)}.side-title[data-v-d3c7c739]{margin:0 0 .75rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted)}.process-group[data-v-d3c7c739]{margin-bottom:.85rem}.process-group ul[data-v-d3c7c739]{list-style:none;margin:.25rem 0 0;padding:0 0 0 .35rem;display:flex;flex-direction:column;gap:.2rem}.process-head[data-v-d3c7c739],.machine-row[data-v-d3c7c739]{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.5rem;border:1px solid transparent;background:transparent;color:var(--ink);text-align:left;cursor:pointer;border-radius:6px;padding:.4rem .5rem}.process-head[data-v-d3c7c739]{font-weight:600;font-size:.9rem;background:var(--bg);border-color:var(--line)}.process-head[data-v-d3c7c739]:hover,.machine-row[data-v-d3c7c739]:hover{border-color:var(--accent-dim)}.process-head.active[data-v-d3c7c739],.machine-row.active[data-v-d3c7c739]{border-color:var(--accent);background:#3ecf8e1f}.machine-name[data-v-d3c7c739]{font-size:.82rem;color:var(--ink-muted)}.machine-row.active .machine-name[data-v-d3c7c739]{color:var(--ink)}.count[data-v-d3c7c739]{font-family:var(--mono);font-size:.75rem;color:var(--ink-muted)}.montage[data-v-3f121be5]{flex:0 0 auto;display:grid;gap:2px;border-radius:6px;overflow:hidden;border:1px solid var(--line);background:var(--bg)}.size-md[data-v-3f121be5]{width:56px;height:56px}.size-sm[data-v-3f121be5]{width:44px;height:44px}.cells-1[data-v-3f121be5]{grid-template-columns:1fr;grid-template-rows:1fr}.cells-2[data-v-3f121be5]{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.cells-3[data-v-3f121be5],.cells-4[data-v-3f121be5]{grid-template-columns:1fr 1fr;grid-template-rows:1fr 1fr}.tile[data-v-3f121be5]{min-width:0;min-height:0;background:var(--bg-panel);position:relative;overflow:hidden}.tile img[data-v-3f121be5]{width:100%;height:100%;object-fit:cover;display:block}.tile.broken[data-v-3f121be5]{background:var(--bg-elevated)}.tile.more[data-v-3f121be5]{display:flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:600;color:var(--ink-muted);background:var(--bg-elevated)}.montage.empty[data-v-3f121be5]{display:flex;align-items:center;justify-content:center;color:var(--ink-muted);font-size:.75rem}.process-queue[data-v-2e2932df]{display:flex;flex-direction:column;gap:.85rem;min-width:0}.summary-chips[data-v-2e2932df]{display:flex;flex-wrap:wrap;gap:.45rem}.chip[data-v-2e2932df]{font-size:.78rem;padding:.3rem .65rem;border-radius:999px;border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink-muted)}.chip-active[data-v-2e2932df]{color:var(--accent);border-color:#3ecf8e66}.chip-waiting[data-v-2e2932df]{color:var(--warn);border-color:#e6b35a66}.chip-incoming[data-v-2e2932df]{color:var(--ink-muted);border-color:#94a3b873}.chip-overdue[data-v-2e2932df]{color:var(--danger);border-color:#e07a6a73}.queue-section[data-v-2e2932df]{padding:.75rem}.queue-section header[data-v-2e2932df]{display:flex;justify-content:space-between;align-items:baseline;margin-bottom:.55rem}.queue-section h2[data-v-2e2932df]{margin:0;font-size:.95rem}.empty[data-v-2e2932df]{margin:0;font-size:.85rem}.task-list[data-v-2e2932df]{display:flex;flex-direction:column;gap:.65rem}.task-card[data-v-2e2932df]{border:1px solid var(--line);border-radius:8px;background:var(--bg);overflow:hidden}.task-card.selected[data-v-2e2932df]{border-color:#3ecf8e8c}.task-card.overdue[data-v-2e2932df]{border-color:#e07a6a59}.task-head[data-v-2e2932df],.job-head[data-v-2e2932df],.art-row[data-v-2e2932df]{width:100%;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;font:inherit}.task-head[data-v-2e2932df]{display:flex;align-items:flex-start;gap:.55rem;padding:.7rem .75rem;background:var(--bg-elevated)}.task-card.open .task-head[data-v-2e2932df]{border-bottom:1px solid var(--line)}.task-head[data-v-2e2932df]:hover,.job-head[data-v-2e2932df]:hover,.art-row[data-v-2e2932df]:hover{background:#3ecf8e0f}.chevron[data-v-2e2932df]{display:inline-block;flex:0 0 auto;width:1rem;margin-top:.15rem;color:var(--ink-muted);transition:transform .15s ease;font-size:.85rem;line-height:1}.chevron.open[data-v-2e2932df]{transform:rotate(90deg);color:var(--accent)}.task-main[data-v-2e2932df],.job-main[data-v-2e2932df]{flex:1;min-width:0}.task-title[data-v-2e2932df]{font-weight:600;font-size:.92rem}.task-side[data-v-2e2932df]{display:flex;flex-direction:column;align-items:flex-end;gap:.25rem}.counts[data-v-2e2932df]{font-size:.75rem}.meta[data-v-2e2932df]{display:flex;flex-wrap:wrap;gap:.55rem;font-size:.75rem;margin-top:.2rem}.job-list[data-v-2e2932df]{list-style:none;margin:0;padding:.35rem .5rem .55rem;display:flex;flex-direction:column;gap:.45rem}.job-list.flush[data-v-2e2932df]{padding:.5rem}.job-block[data-v-2e2932df]{border:1px solid var(--line);border-radius:6px;background:var(--bg-elevated);overflow:hidden}.job-head[data-v-2e2932df]{display:flex;align-items:flex-start;gap:.45rem;padding:.55rem .65rem}.job-head.selected[data-v-2e2932df],.art-row.selected[data-v-2e2932df]{background:#3ecf8e24}.job-block.open .job-head[data-v-2e2932df]{border-bottom:1px solid var(--line)}.ref[data-v-2e2932df]{font-family:var(--mono);font-weight:500;font-size:.85rem}.title-line[data-v-2e2932df]{margin-top:.1rem;font-size:.85rem}.art-list[data-v-2e2932df]{list-style:none;margin:0;padding:.35rem .4rem .45rem 1.35rem;display:flex;flex-direction:column;gap:.25rem}.art-row[data-v-2e2932df]{display:flex;align-items:center;gap:.55rem;padding:.35rem .4rem;border-radius:5px}.thumb[data-v-2e2932df]{width:48px;height:auto;max-height:64px;border-radius:5px;border:1px solid var(--line);background:var(--bg);overflow:hidden;position:relative;flex:0 0 auto}.thumb img[data-v-2e2932df]{width:100%;height:100%;object-fit:cover;display:block}.thumb-ph[data-v-2e2932df]{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--ink-muted);font-size:.75rem}.art-name[data-v-2e2932df]{font-size:.82rem}.no-art[data-v-2e2932df]{margin:0;padding:.35rem .65rem .55rem 1.35rem;font-size:.78rem}.badge[data-v-2e2932df]{display:inline-block;font-size:.72rem;padding:.15rem .45rem;border-radius:4px;border:1px solid var(--line)}.badge-active[data-v-2e2932df]{color:#0d1611;background:var(--accent);border-color:var(--accent)}.badge-waiting[data-v-2e2932df]{color:var(--warn);background:#e6b35a26;border-color:#e6b35a73}.badge-unscheduled[data-v-2e2932df],.badge-incoming[data-v-2e2932df]{color:var(--ink-muted)}.due-overdue[data-v-2e2932df]{color:var(--danger);font-weight:600}.ctx-menu{position:fixed;z-index:10000;margin:0;padding:.25rem;list-style:none;min-width:10.5rem;background:var(--bg-elevated, #1a2420);border:1px solid var(--line, #2a3830);border-radius:6px;box-shadow:0 8px 24px #00000059}.ctx-menu button{display:block;width:100%;text-align:left;border:0;background:transparent;color:var(--ink, #e8f0ea);font:inherit;font-size:.75rem;padding:.4rem .55rem;border-radius:4px;cursor:pointer}.ctx-menu button:hover:not(:disabled){background:#3ecf8e24}.ctx-menu button:disabled{opacity:.4;cursor:not-allowed}.process-detail[data-v-dbed7c41]{padding:1rem;overflow-y:auto;max-height:calc(100vh - 9rem);position:sticky;top:4.5rem}.empty-detail[data-v-dbed7c41]{display:flex;align-items:center;justify-content:center;min-height:220px}.detail-head[data-v-dbed7c41]{display:flex;justify-content:space-between;gap:.75rem;align-items:flex-start;margin-bottom:1rem}.detail-head h2[data-v-dbed7c41]{margin:.15rem 0;font-size:1.05rem}.detail-head p[data-v-dbed7c41]{margin:0}.ref[data-v-dbed7c41]{font-family:var(--mono);font-size:.85rem;color:var(--accent)}.meta-grid[data-v-dbed7c41]{display:grid;grid-template-columns:1fr 1fr;gap:.65rem .75rem;margin:0 0 1rem}.meta-grid dt[data-v-dbed7c41]{font-size:.72rem;color:var(--ink-muted);margin:0}.meta-grid dd[data-v-dbed7c41]{margin:.15rem 0 0;font-size:.85rem}.jobs-block[data-v-dbed7c41],.artwork-block[data-v-dbed7c41],.vars[data-v-dbed7c41]{margin-bottom:1rem}.jobs-block h3[data-v-dbed7c41],.artwork-block h3[data-v-dbed7c41],.vars h3[data-v-dbed7c41]{margin:0 0 .5rem;font-size:.85rem;color:var(--ink-muted);text-transform:uppercase;letter-spacing:.04em}.jobs-block ul[data-v-dbed7c41],.vars ul[data-v-dbed7c41]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.jobs-block li[data-v-dbed7c41],.vars li[data-v-dbed7c41]{display:flex;justify-content:space-between;gap:.5rem;font-size:.85rem;padding:.35rem 0;border-bottom:1px solid var(--line)}.size-label[data-v-dbed7c41]{margin:0 0 .45rem;font-size:.78rem}.preview-main[data-v-dbed7c41]{position:relative;width:100%;max-height:min(52vh,420px);border:1px solid var(--line);border-radius:8px;background:var(--bg);overflow:hidden;display:flex;align-items:center;justify-content:center}.preview-main img[data-v-dbed7c41]{width:100%;height:100%;object-fit:contain}.preview-ph[data-v-dbed7c41]{padding:1rem;text-align:center;font-size:.85rem}.nav[data-v-dbed7c41]{position:absolute;top:50%;transform:translateY(-50%);border:1px solid var(--line);background:#1a1f1cd9;color:var(--ink);width:2rem;height:2rem;border-radius:999px;cursor:pointer}.nav[data-v-dbed7c41]:disabled{opacity:.35;cursor:not-allowed}.nav.prev[data-v-dbed7c41]{left:.4rem}.nav.next[data-v-dbed7c41]{right:.4rem}.thumbs[data-v-dbed7c41]{display:flex;gap:.4rem;margin-top:.5rem;overflow-x:auto}.thumb[data-v-dbed7c41]{width:52px;height:52px;border-radius:6px;border:1px solid var(--line);background:var(--bg);padding:0;overflow:hidden;cursor:pointer;flex:0 0 auto}.thumb.active[data-v-dbed7c41]{border-color:var(--accent)}.thumb img[data-v-dbed7c41]{width:100%;height:100%;object-fit:cover;display:block}.actions[data-v-dbed7c41]{margin-top:.5rem}.hint[data-v-dbed7c41]{margin:0;font-size:.85rem}.size-inline[data-v-dbed7c41]{margin-left:.35rem;font-size:.75rem}.process-page[data-v-f3c551ba]{min-height:0}.title[data-v-f3c551ba]{margin:0;font-size:1.25rem}.chips[data-v-f3c551ba]{display:flex;flex-wrap:wrap;gap:.4rem;flex:1}.chip-btn[data-v-f3c551ba]{border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink-muted);border-radius:999px;padding:.3rem .7rem;font-size:.8rem;cursor:pointer}.chip-btn[data-v-f3c551ba]:hover{border-color:var(--accent-dim);color:var(--ink)}.chip-btn.active[data-v-f3c551ba]{border-color:var(--accent);color:var(--ink);background:#3ecf8e24}.process-layout[data-v-f3c551ba]{display:grid;grid-template-columns:minmax(200px,240px) minmax(0,1fr) minmax(280px,340px);gap:.85rem;align-items:start}@media (max-width: 1100px){.process-layout[data-v-f3c551ba]{grid-template-columns:1fr}}.operator-sidebar[data-v-3a678e3b]{padding:.75rem;overflow-y:auto;max-height:calc(100vh - 9rem)}.side-title[data-v-3a678e3b]{margin:0 0 .75rem;font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted)}ul[data-v-3a678e3b]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.operator-row[data-v-3a678e3b]{width:100%;display:flex;justify-content:space-between;align-items:center;gap:.5rem;border:1px solid var(--line);background:var(--bg);color:var(--ink);text-align:left;cursor:pointer;border-radius:6px;padding:.45rem .55rem}.operator-row[data-v-3a678e3b]:hover{border-color:var(--accent-dim)}.operator-row.active[data-v-3a678e3b]{border-color:var(--accent);background:#3ecf8e1f}.operator-name[data-v-3a678e3b]{font-size:.9rem;font-weight:600}.count[data-v-3a678e3b]{font-family:var(--mono);font-size:.75rem;color:var(--ink-muted)}.operator-page[data-v-3fbc63a4]{min-height:0}.title[data-v-3fbc63a4]{margin:0;font-size:1.25rem}.chips[data-v-3fbc63a4]{display:flex;flex-wrap:wrap;gap:.4rem;flex:1}.chip-btn[data-v-3fbc63a4]{border:1px solid var(--line);background:var(--bg-elevated);color:var(--ink-muted);border-radius:999px;padding:.3rem .7rem;font-size:.8rem;cursor:pointer}.chip-btn[data-v-3fbc63a4]:hover{border-color:var(--accent-dim);color:var(--ink)}.chip-btn.active[data-v-3fbc63a4]{border-color:var(--accent);color:var(--ink);background:#3ecf8e24}.operator-layout[data-v-3fbc63a4]{display:grid;grid-template-columns:minmax(200px,240px) minmax(0,1fr) minmax(280px,340px);gap:.85rem;align-items:start}@media (max-width: 1100px){.operator-layout[data-v-3fbc63a4]{grid-template-columns:1fr}}.title[data-v-9832b44e]{margin:0;font-size:1.25rem}.toolbar[data-v-9832b44e]{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;margin-bottom:.75rem}.date-field[data-v-9832b44e]{display:inline-flex;align-items:center;gap:.45rem;font-size:.85rem}.date-field input[data-v-9832b44e]{background:var(--bg-panel);border:1px solid var(--line);color:var(--ink);border-radius:6px;padding:.35rem .5rem}.summary[data-v-9832b44e]{display:flex;flex-wrap:wrap;gap:.75rem 1.25rem;margin-bottom:1rem;font-size:.85rem}.warn-text[data-v-9832b44e]{color:var(--warn)}.empty[data-v-9832b44e]{padding:2rem 0}.table-wrap[data-v-9832b44e]{overflow-x:auto;border:1px solid var(--line);border-radius:10px;background:var(--bg-elevated)}.due-table[data-v-9832b44e]{width:100%;border-collapse:collapse;font-size:.9rem}.due-table th[data-v-9832b44e],.due-table td[data-v-9832b44e]{text-align:left;padding:.75rem .9rem;vertical-align:top;border-bottom:1px solid var(--line)}.due-table th[data-v-9832b44e]{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--ink-muted);background:var(--bg-panel)}.due-table tr:last-child td[data-v-9832b44e]{border-bottom:none}.due-table tr.incomplete[data-v-9832b44e]{background:#e6b35a14}.due-table tr.incomplete td[data-v-9832b44e]:first-child{box-shadow:inset 3px 0 0 var(--warn)}.ref[data-v-9832b44e]{font-family:var(--mono);font-weight:500}.job-title[data-v-9832b44e]{margin-top:.15rem}.due-meta[data-v-9832b44e],.eta-note[data-v-9832b44e],.missing-steps[data-v-9832b44e]{font-size:.75rem;margin-top:.25rem}.eta[data-v-9832b44e]{font-weight:500}.badge[data-v-9832b44e]{display:inline-block;margin-top:.35rem;padding:.15rem .45rem;border-radius:999px;font-size:.72rem;border:1px solid var(--line);color:var(--ink-muted)}.badge.ok[data-v-9832b44e]{color:var(--accent);border-color:#3ecf8e73}.badge.warn[data-v-9832b44e]{color:var(--warn);border-color:#e6b35a73}:root{--bg: #1a1f1c;--bg-elevated: #242b27;--bg-panel: #2c342f;--ink: #e8efe9;--ink-muted: #9aab9f;--accent: #3ecf8e;--accent-dim: #2a9d68;--warn: #e6b35a;--danger: #e07a6a;--line: rgba(232, 239, 233, .12);--lane-h: 56px;--hour-w: 64px;--font: "DM Sans", system-ui, sans-serif;--mono: "IBM Plex Mono", ui-monospace, monospace}*,*:before,*:after{box-sizing:border-box}html,body,#app{margin:0;min-height:100%;font-family:var(--font);background:var(--bg);color:var(--ink)}body{background:radial-gradient(ellipse 80% 50% at 10% -10%,rgba(62,207,142,.12),transparent 50%),radial-gradient(ellipse 60% 40% at 90% 0%,rgba(230,179,90,.08),transparent 45%),var(--bg)}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--accent);text-decoration:none}.app-shell{min-height:100vh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;gap:1.5rem;padding:.75rem 1.25rem;border-bottom:1px solid var(--line);background:#1a1f1cd9;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);position:sticky;top:0;z-index:20}.brand{font-weight:700;letter-spacing:-.02em;font-size:1.1rem}.brand span{color:var(--accent)}.nav{display:flex;gap:.5rem;flex:1}.nav a{color:var(--ink-muted);padding:.4rem .75rem;border-radius:6px;transition:color .15s,background .15s}.nav a.router-link-active,.nav a:hover{color:var(--ink);background:var(--bg-panel)}.app-main{flex:1;padding:1rem 1.25rem 2rem;min-height:0}.app-shell.is-schedule-fullscreen{height:100vh;overflow:hidden}.app-shell.is-schedule-fullscreen .app-main{padding:.5rem .65rem .65rem;display:flex;flex-direction:column;min-height:0;overflow:hidden}.btn{border:1px solid var(--line);background:var(--bg-panel);color:var(--ink);padding:.45rem .85rem;border-radius:6px;cursor:pointer;transition:border-color .15s,background .15s}.btn:hover{border-color:var(--accent-dim)}.btn-primary{background:var(--accent-dim);border-color:var(--accent);color:#0d1611;font-weight:600}.btn-primary:hover{background:var(--accent)}.btn:disabled{opacity:.5;cursor:not-allowed}.panel{background:var(--bg-elevated);border:1px solid var(--line);border-radius:10px;padding:1rem}.muted{color:var(--ink-muted)}.error{color:var(--danger)}.toolbar{display:flex;flex-wrap:wrap;gap:.75rem;align-items:center;margin-bottom:1rem}.toolbar input,.toolbar select{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:.4rem .6rem}.field{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.85rem}.field label{font-size:.8rem;color:var(--ink-muted)}.field input,.field textarea,.field select{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:.5rem .65rem}.drawer-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;z-index:40;display:flex;justify-content:flex-end}.drawer{width:min(420px,100%);background:var(--bg-elevated);border-left:1px solid var(--line);padding:1.25rem;overflow-y:auto;animation:slide-in .2s ease-out}@keyframes slide-in{0%{transform:translate(12px);opacity:.6}to{transform:translate(0);opacity:1}}@keyframes fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.fade-up{animation:fade-up .25s ease-out}
