:root{font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--color-bg-page: #f9fafb;--color-bg-surface: #ffffff;--color-bg-surface-alt: #f3f4f6;--color-bg-hover: #f1f5f9;--color-text-primary: #111827;--color-text-default: #374151;--color-text-muted: #6b7280;--color-text-faint: #9ca3af;--color-border: #e5e7eb;--color-border-light: #f0f0f0;--color-accent: #2563eb;--color-accent-hover: #1d4ed8;--color-danger: #dc2626;--color-warn: #d97706;--color-warn-soft: #f59e0b;--color-success: #059669;--color-neutral: #64748b;--color-header-bg: #1f2937;--color-header-bg-alt: #374151;--color-header-text: #9ca3af;--color-header-text-hover: #e5e7eb;--color-header-border: #374151;--color-input-bg: #ffffff;--color-input-border: #d1d5db;--color-input-text: #374151;--color-card-bg: #ffffff;--color-card-border: #e5e7eb;--color-table-header-bg: #1f2937;--color-table-header-text: #ffffff;--color-table-row-alt: #f9fafb;--color-table-row-hover: #f3f4f6;--color-log-success: #2a7d2a;--color-log-error: #c0392b;--color-log-time: #888888;--color-btn-primary: #2563eb;--color-btn-primary-hover: #1d4ed8;--color-btn-secondary-bg: #f3f4f6;--color-btn-secondary-text: #1f2937;--color-btn-secondary-border: #d1d5db;--color-btn-secondary-hover: #e5e7eb;--color-login-bg: #1f2937;--color-login-box: #374151;--color-login-btn: #0078d4;--color-login-btn-hover: #106ebe;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--shadow-md: 0 4px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 20px rgba(0, 0, 0, .12);--color-tint-green: #d1fae5;--color-tint-green-text: #065f46;--color-tint-green-border: #34d399;--color-tint-red: #fee2e2;--color-tint-red-text: #991b1b;--color-tint-red-border: #f87171;--color-tint-yellow: #fef3c7;--color-tint-yellow-text: #92400e;--color-tint-blue: #dbeafe;--color-tint-blue-text: #1e40af;--color-tint-blue-border: #bfdbfe;--color-tint-indigo: #eef2ff;--color-tint-indigo-text: #1e3a8a;--color-tint-indigo-border: #c7d2fe;--color-tint-indigo-hover: #e0e7ff;--color-tint-indigo-active: #c7d2fe;--color-tint-indigo-active-border: #6366f1;--color-tint-pink: #fecdd3;--color-tint-orange: #fff7ed;--color-tint-amber: #fffbeb;--color-tint-red-light: #fef2f2;--color-som-ready: #c6efce;--color-som-wip: #ffff99;--color-som-pending: #ddebf7;--color-som-shipped-bg: #006100;--color-som-shipped-text: #fff;--color-som-action: #ffe5cc;--color-som-check: #d9d9d9;--color-badge-staging: #b45309;--color-focus-ring: rgba(37, 99, 235, .3);color:var(--color-text-default);background-color:var(--color-bg-page)}[data-theme=dark]{color-scheme:dark;--color-bg-page: #111827;--color-bg-surface: #1f2937;--color-bg-surface-alt: #374151;--color-bg-hover: #374151;--color-text-primary: #f9fafb;--color-text-default: #d1d5db;--color-text-muted: #9ca3af;--color-text-faint: #6b7280;--color-border: #374151;--color-border-light: #2d3748;--color-accent: #3b82f6;--color-accent-hover: #60a5fa;--color-danger: #ef4444;--color-warn: #f59e0b;--color-warn-soft: #fbbf24;--color-success: #10b981;--color-neutral: #94a3b8;--color-header-bg: #0f172a;--color-header-bg-alt: #1e293b;--color-header-text: #9ca3af;--color-header-text-hover: #e5e7eb;--color-header-border: #1e293b;--color-input-bg: #1f2937;--color-input-border: #4b5563;--color-input-text: #d1d5db;--color-card-bg: #1e293b;--color-card-border: #334155;--color-table-header-bg: #1e293b;--color-table-header-text: #e2e8f0;--color-table-row-alt: #1e293b;--color-table-row-hover: #374151;--color-log-success: #4ade80;--color-log-error: #f87171;--color-log-time: #9ca3af;--color-btn-primary: #3b82f6;--color-btn-primary-hover: #60a5fa;--color-btn-secondary-bg: #374151;--color-btn-secondary-text: #d1d5db;--color-btn-secondary-border: #4b5563;--color-btn-secondary-hover: #4b5563;--color-login-bg: #0f172a;--color-login-box: #1e293b;--color-login-btn: #0078d4;--color-login-btn-hover: #106ebe;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .2);--shadow-md: 0 4px 12px rgba(0, 0, 0, .3);--shadow-lg: 0 8px 20px rgba(0, 0, 0, .4);--color-tint-green: #132f21;--color-tint-green-text: #6ee7b7;--color-tint-green-border: #059669;--color-tint-red: #3b1c1c;--color-tint-red-text: #fca5a5;--color-tint-red-border: #dc2626;--color-tint-yellow: #342a10;--color-tint-yellow-text: #fcd34d;--color-tint-blue: #1a2d42;--color-tint-blue-text: #93c5fd;--color-tint-blue-border: #1d4ed8;--color-tint-indigo: #1e1b4b;--color-tint-indigo-text: #a5b4fc;--color-tint-indigo-border: #4338ca;--color-tint-indigo-hover: #312e81;--color-tint-indigo-active: #3730a3;--color-tint-indigo-active-border: #818cf8;--color-tint-pink: #3b1525;--color-tint-orange: #352010;--color-tint-amber: #33280e;--color-tint-red-light: #3b1c1c;--color-som-ready: #132f21;--color-som-wip: #342a10;--color-som-pending: #1a2d42;--color-som-shipped-bg: #132f21;--color-som-shipped-text: #d1fae5;--color-som-action: #352010;--color-som-check: #374151;--color-badge-staging: #b45309;--color-focus-ring: rgba(59, 130, 246, .4)}*{box-sizing:border-box}body{margin:0;padding:0;min-height:100vh;transition:background-color .15s,color .15s}#app{height:100vh;margin:0;padding:0}.nav-dropdown[data-v-e2bb8723]{position:relative;display:inline-block}.nav-dropdown-button[data-v-e2bb8723]{display:inline-flex;align-items:center;gap:.35rem;background:transparent;color:var(--color-header-text);border:none;padding:.35rem .75rem;border-radius:4px;font-size:.85rem;font-family:inherit;cursor:pointer;transition:color .15s,background .15s}.nav-dropdown-button[data-v-e2bb8723]:hover{color:var(--color-header-text-hover);background:#ffffff14}.nav-dropdown-button.active[data-v-e2bb8723]{color:#fff;background:#ffffff1f}.nav-dropdown-button.open[data-v-e2bb8723]{color:#fff}.caret[data-v-e2bb8723]{font-size:.7rem;line-height:1}.nav-dropdown-menu[data-v-e2bb8723]{position:absolute;top:calc(100% + 4px);left:0;min-width:240px;background:var(--color-header-bg);border:1px solid var(--color-header-border);border-radius:6px;box-shadow:0 8px 20px #00000059;list-style:none;padding:.25rem;margin:0;z-index:100}.nav-dropdown-item[data-v-e2bb8723]{padding:.45rem .75rem;border-radius:4px;color:var(--color-header-text-hover);font-size:.85rem;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.nav-dropdown-item.focused[data-v-e2bb8723]{background:#ffffff14;color:#fff}.nav-dropdown-item.current[data-v-e2bb8723]{color:#fff;font-weight:500}.nav-dropdown-item.current[data-v-e2bb8723]:before{content:"•";color:var(--color-accent);margin-right:.4rem}.app[data-v-43acea17]{display:flex;flex-direction:column;height:100vh}header[data-v-43acea17]{background:var(--color-header-bg);color:#fff;padding:0 1.5rem;display:flex;justify-content:space-between;align-items:center;height:48px;flex-shrink:0}.header-left[data-v-43acea17]{display:flex;align-items:center;gap:2rem}header h1[data-v-43acea17]{margin:0;font-size:1.1rem;font-weight:600}.header-nav[data-v-43acea17]{display:flex;align-items:center;gap:.25rem}.nav-link[data-v-43acea17]{display:inline-flex;align-items:center;color:var(--color-header-text);text-decoration:none;padding:.35rem .75rem;border-radius:4px;font-size:.85rem;transition:color .15s,background .15s}.nav-link[data-v-43acea17]:hover{color:var(--color-header-text-hover);background:#ffffff14}.nav-link.router-link-exact-active[data-v-43acea17]{color:#fff;background:#ffffff1f}.header-right[data-v-43acea17]{display:flex;align-items:center}.user-info[data-v-43acea17]{display:flex;align-items:center;gap:.75rem;font-size:.85rem}.animal-name[data-v-43acea17]{padding:.15rem .5rem;background:#ffffff14;border-radius:999px;color:#d1d5db;font-size:.75rem;font-weight:500}.staging-badge[data-v-43acea17]{padding:.15rem .5rem;background:var(--color-badge-staging);color:#fff;border-radius:4px;font-size:.7rem;font-weight:700;letter-spacing:.05em}.btn-logout[data-v-43acea17]{padding:.3rem .6rem;background:transparent;color:var(--color-header-text);border:1px solid var(--color-header-border);border-radius:4px;cursor:pointer;font-size:.8rem}.btn-logout[data-v-43acea17]:hover{color:#fff;border-color:#9ca3af}main[data-v-43acea17]{flex:1;min-height:0;overflow:auto}.login-page[data-v-43acea17]{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--color-login-bg);color:#fff}.login-box[data-v-43acea17]{text-align:center;padding:3rem;background:var(--color-login-box);border-radius:8px}.login-box h1[data-v-43acea17]{margin:0 0 .5rem;font-size:2rem}.login-box p[data-v-43acea17]{margin:0 0 2rem;color:#9ca3af}.btn-login[data-v-43acea17]{padding:.75rem 2rem;background:var(--color-login-btn);color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:1rem;font-weight:500}.btn-logout-secondary[data-v-43acea17]{margin-top:.5rem;padding:.4rem .8rem;background:transparent;color:#9ca3af;border:1px solid #4b5563;border-radius:4px;cursor:pointer;font-size:.85rem}.btn-logout-secondary[data-v-43acea17]:hover{color:#fff;border-color:#9ca3af}.btn-login[data-v-43acea17]:hover{background:var(--color-login-btn-hover)}.settings-dropdown[data-v-43acea17]{position:relative;display:inline-block}.btn-settings[data-v-43acea17]{display:flex;align-items:center;justify-content:center;width:32px;height:32px;background:transparent;color:var(--color-header-text);border:none;border-radius:4px;cursor:pointer;transition:color .15s,background .15s}.btn-settings[data-v-43acea17]:hover,.btn-settings.open[data-v-43acea17]{color:#fff;background:#ffffff14}.settings-menu[data-v-43acea17]{position:absolute;top:calc(100% + 8px);right:0;min-width:180px;background:var(--color-header-bg, #1f2937);border:1px solid var(--color-header-border, #374151);border-radius:6px;box-shadow:0 8px 20px #00000059;padding:.5rem;z-index:200}.settings-section[data-v-43acea17]{display:flex;flex-direction:column;gap:.4rem}.settings-label[data-v-43acea17]{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-weight:600;padding:0 .25rem}.theme-options[data-v-43acea17]{display:flex;gap:2px;background:#ffffff0f;border-radius:4px;padding:2px}.theme-option[data-v-43acea17]{flex:1;padding:.3rem .5rem;background:transparent;color:#9ca3af;border:none;border-radius:3px;font-size:.8rem;font-family:inherit;cursor:pointer;transition:color .15s,background .15s}.theme-option[data-v-43acea17]:hover{color:#e5e7eb}.theme-option.active[data-v-43acea17]{background:#ffffff26;color:#fff;font-weight:500}.spreadsheet-container[data-v-9da71f0e]{padding:2rem;max-width:1200px;margin:0 auto}.header[data-v-9da71f0e]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.header h1[data-v-9da71f0e]{margin:0;font-size:1.5rem}.status-bar[data-v-9da71f0e]{display:flex;gap:1rem;align-items:center}.status-indicator[data-v-9da71f0e]{padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:500}.status-indicator.connecting[data-v-9da71f0e]{background-color:var(--color-tint-yellow);color:var(--color-tint-yellow-text)}.status-indicator.connected[data-v-9da71f0e]{background-color:var(--color-tint-green);color:var(--color-tint-green-text)}.status-indicator.error[data-v-9da71f0e]{background-color:var(--color-tint-red);color:var(--color-tint-red-text)}.current-user[data-v-9da71f0e]{font-size:.875rem;color:var(--color-text-muted)}.active-users[data-v-9da71f0e]{margin-bottom:2rem}.active-users h3[data-v-9da71f0e]{margin:0 0 .5rem;font-size:1rem;color:var(--color-text-default)}.user-list[data-v-9da71f0e]{display:flex;gap:.5rem;flex-wrap:wrap}.user-badge[data-v-9da71f0e]{padding:.5rem .75rem;border-radius:.5rem;color:#fff;font-size:.875rem;font-weight:500;display:flex;align-items:center;gap:.5rem}.user-cell[data-v-9da71f0e]{background-color:#ffffff4d;padding:.125rem .375rem;border-radius:.25rem;font-size:.75rem}.spreadsheet[data-v-9da71f0e]{overflow-x:auto;margin-bottom:2rem}table[data-v-9da71f0e]{border-collapse:collapse;width:100%;table-layout:fixed;background-color:var(--color-bg-surface);box-shadow:0 1px 3px #0000001a}th[data-v-9da71f0e],td[data-v-9da71f0e]{border:1px solid var(--color-border);text-align:left}.column-header[data-v-9da71f0e],.row-header[data-v-9da71f0e]{background-color:var(--color-bg-surface-alt);font-weight:600;color:var(--color-text-default);text-align:center;padding:.5rem;min-width:3rem}.column-header[data-v-9da71f0e],.row-header[data-v-9da71f0e]{font-size:.875rem}.cell[data-v-9da71f0e]{padding:0;min-width:120px;height:40px;cursor:pointer;position:relative;transition:background-color .2s}.cell[data-v-9da71f0e]:hover{background-color:var(--color-bg-hover)}.cell-display[data-v-9da71f0e]{display:block;padding:.5rem;width:100%;height:100%}.cell-input[data-v-9da71f0e]{width:100%;height:100%;border:none;outline:none;padding:.5rem;font-family:inherit;font-size:inherit;background:transparent;box-sizing:border-box}.cell.editing[data-v-9da71f0e]{box-shadow:inset 0 0 0 2px var(--color-accent);background-color:var(--color-bg-hover)}.spreadsheet-page[data-v-7e937811]{height:100%;display:flex;flex-direction:column}.controls[data-v-7e937811]{display:flex;gap:.5rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-surface-alt)}.new-sheet-input[data-v-7e937811]{padding:.5rem;border:1px solid var(--color-input-border);border-radius:4px;font-size:.9rem;background:var(--color-input-bg);color:var(--color-input-text)}.btn-create[data-v-7e937811]{padding:.5rem 1rem;background:var(--color-success);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500}.btn-create[data-v-7e937811]:hover{background:var(--color-success);filter:brightness(.85)}.sheet-layout[data-v-7e937811]{display:flex;flex:1;overflow:hidden}.sidebar[data-v-7e937811]{width:200px;background:var(--color-bg-surface-alt);padding:1rem;border-right:1px solid var(--color-border);overflow-y:auto}.sidebar h3[data-v-7e937811]{margin-top:0;color:var(--color-text-primary);font-size:.85rem;text-transform:uppercase}.sheet-list[data-v-7e937811]{list-style:none;padding:0;margin:0}.sheet-list li[data-v-7e937811]{padding:.6rem;margin-bottom:.4rem;background:var(--color-bg-surface);border-radius:4px;cursor:pointer;border:1px solid transparent;font-size:.9rem}.sheet-list li[data-v-7e937811]:hover{background:var(--color-bg-hover)}.sheet-list li.active[data-v-7e937811]{background:var(--color-accent);color:#fff;border-color:var(--color-accent-hover)}.sheet-content[data-v-7e937811]{flex:1;overflow:auto;padding:1rem}.empty-state[data-v-7e937811]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted)}.loading[data-v-7e937811]{text-align:center;color:var(--color-text-muted)}.virtual-scroll-outer[data-v-119ad8a9]{overflow:auto;height:100%;position:relative}.virtual-scroll-header[data-v-119ad8a9]{position:sticky;top:0;z-index:2;min-width:max-content}.virtual-scroll-sentinel[data-v-119ad8a9]{position:relative;width:100%;min-width:max-content}.virtual-scroll-page[data-v-119ad8a9]{position:absolute;width:100%;left:0;top:0}.table-head{display:flex;background:var(--color-table-header-bg);color:var(--color-table-header-text);font-weight:600;font-size:var(--grid-header-font-size, 11px);min-width:max-content}.table-head .th.col-rownum{background:var(--color-table-header-bg);color:var(--color-table-header-text)}.table-head .th{position:relative;padding:var(--grid-header-padding, var(--grid-cell-padding, 6px 6px));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:4px;box-sizing:border-box;border:2px solid transparent}.th-label{overflow:hidden;text-overflow:ellipsis}.col-resize-handle{position:absolute;top:0;right:0;width:6px;height:100%;cursor:col-resize;opacity:0;background:#ffffff80;transition:opacity .1s}.col-resize-handle:hover,.col-resize-handle.dragging{opacity:1}.table-head .th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.table-head .th.sortable:hover,.table-head .th.sorted{background:var(--color-header-bg-alt)}.sort-arrow{font-size:11px;line-height:1;opacity:0;color:#cbd5e1;transition:opacity .1s;min-width:11px;text-align:center;margin-left:auto}.table-head .th.sortable:hover .sort-arrow{opacity:.7}.table-head .th.sorted .sort-arrow{opacity:1;color:var(--color-table-header-text)}.table-row{display:flex;border-bottom:1px solid var(--color-border-light);align-items:stretch;min-width:max-content;box-sizing:border-box}.td{padding:var(--grid-cell-padding, 2px 6px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:var(--grid-cell-cursor, cell);-webkit-user-select:none;user-select:none;display:flex;align-items:center;box-sizing:border-box;border:2px solid transparent}.td:hover{background-color:#00000008}.td.remote-owned{background-color:color-mix(in srgb,var(--remote-color) 12%,transparent)}.td.re-top{border-top-color:var(--remote-color)}.td.re-right{border-right-color:var(--remote-color)}.td.re-bottom{border-bottom-color:var(--remote-color)}.td.re-left{border-left-color:var(--remote-color)}.td.in-selection{background-color:#3b82f633}.td.selected{background-color:#3b82f64d}.td.selected-top{border-top-color:#1d4ed8}.td.selected-right{border-right-color:#1d4ed8}.td.selected-bottom{border-bottom-color:#1d4ed8}.td.selected-left{border-left-color:#1d4ed8}.num{justify-content:flex-end;text-align:right}.faded{color:#999}.bold{font-weight:700}.col-rownum{width:40px;flex-shrink:0;color:#999;font-size:10px;text-align:right;padding-right:8px;background:var(--color-bg-surface);font-family:SF Mono,Menlo,Consolas,monospace;display:flex;align-items:center;justify-content:flex-end;align-self:stretch;cursor:pointer;-webkit-user-select:none;user-select:none}.col-rownum:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.table-row.row-selected .td{background-color:#1d4ed81f}.col-rownum.rownum-selected{background:#1d4ed8!important;color:#fff;font-weight:600}.col-sono{width:90px;flex-shrink:0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px}.col-customer{width:200px;flex-shrink:0}.col-date{width:80px;flex-shrink:0}.col-amount{width:100px;flex-shrink:0}.col-status{width:90px;flex-shrink:0}.col-bool{width:65px;flex-shrink:0}.col-synced{width:90px;flex-shrink:0;color:#6b7280;font-size:11px}.linear-projects-page[data-v-4ae6c3d7]{height:100%;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px}.loading-state[data-v-4ae6c3d7],.empty-state[data-v-4ae6c3d7]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted)}.report-header[data-v-4ae6c3d7]{display:flex;align-items:baseline;gap:1rem;padding:.75rem 1rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-surface-alt)}.report-title[data-v-4ae6c3d7]{font-weight:600;font-size:16px}.report-count[data-v-4ae6c3d7]{color:var(--color-text-muted);font-size:13px}.table-wrapper[data-v-4ae6c3d7]{flex:1;display:flex;flex-direction:column;overflow:hidden;--grid-header-font-size: 12px;--grid-cell-padding: 8px 12px;--grid-cell-cursor: default}.row-canceled[data-v-4ae6c3d7]{background:var(--color-bg-surface-alt)!important;color:var(--color-text-faint)}.row-completed[data-v-4ae6c3d7]{background:var(--color-tint-green)!important}.row-overdue[data-v-4ae6c3d7]{background:var(--color-tint-pink)!important}.color-dot[data-v-4ae6c3d7]{width:8px;height:8px;border-radius:50%;margin-right:8px;flex-shrink:0}.name-text[data-v-4ae6c3d7]{font-weight:500}.name-link[data-v-4ae6c3d7]{color:var(--color-accent);text-decoration:none;font-weight:500;transition:color .2s}.name-link[data-v-4ae6c3d7]:hover{color:var(--color-accent-hover);text-decoration:underline}.progress-bar[data-v-4ae6c3d7]{position:relative;width:100%;height:20px;background:var(--color-border);border-radius:4px;overflow:hidden}.progress-fill[data-v-4ae6c3d7]{position:absolute;left:0;top:0;height:100%;background:linear-gradient(to right,#10b981,#059669);transition:width .3s ease}.progress-text[data-v-4ae6c3d7]{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;color:var(--color-text-primary)}.scan-overlay[data-v-33740632]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;background:#000c;display:flex;align-items:center;justify-content:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.scan-panel[data-v-33740632]{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;padding:2rem;min-width:400px;max-width:600px;width:90vw;box-shadow:var(--shadow-lg)}.scan-header[data-v-33740632]{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.scan-header h2[data-v-33740632]{margin:0;font-size:1.25rem;color:var(--color-text-primary)}.scan-close-btn[data-v-33740632]{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1.4rem;line-height:1;padding:.2rem .4rem}.scan-close-btn[data-v-33740632]:hover{color:var(--color-text-primary)}.scan-instructions[data-v-33740632]{color:var(--color-text-muted);font-size:.9rem;margin-bottom:1.5rem}.scan-instructions kbd[data-v-33740632]{display:inline-block;padding:.1rem .4rem;background:var(--color-bg-surface-alt);border:1px solid var(--color-border);border-radius:3px;font-family:monospace;font-size:.85em}.scan-live-input[data-v-33740632]{background:var(--color-bg-surface-alt);border:2px solid var(--color-accent);border-radius:8px;padding:1.25rem;margin-bottom:1.5rem}.live-label[data-v-33740632]{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-accent);font-weight:600;margin-bottom:.5rem}.live-value[data-v-33740632]{font-family:monospace;font-size:1.5rem;color:var(--color-text-primary);min-height:2rem;word-break:break-all}.live-value.empty[data-v-33740632]{color:var(--color-text-faint);font-size:1rem;font-family:inherit}.cursor-blink[data-v-33740632]{animation:blink-33740632 1s step-end infinite;color:var(--color-accent)}@keyframes blink-33740632{0%,to{opacity:1}50%{opacity:0}}.scanned-list[data-v-33740632]{border-top:1px solid var(--color-border);padding-top:1rem}.scanned-label[data-v-33740632]{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);font-weight:600;margin-bottom:.5rem}.scanned-item[data-v-33740632]{padding:.4rem .75rem;background:var(--color-bg-surface-alt);border-radius:4px;font-family:monospace;font-size:.9rem;color:var(--color-text-default);margin-bottom:4px}.locate-results[data-v-40c25647]{margin-top:16px}.results-header[data-v-40c25647]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.results-title[data-v-40c25647]{margin:0;font-size:16px;font-weight:600;color:var(--color-text-primary)}.results-count[data-v-40c25647]{color:var(--color-text-muted);font-weight:400}.results-clear[data-v-40c25647]{padding:6px 14px;font-size:13px;background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:1px solid var(--color-btn-secondary-border);border-radius:4px;cursor:pointer}.results-clear[data-v-40c25647]:hover{background:var(--color-btn-secondary-hover)}.results-loading[data-v-40c25647]{padding:24px;text-align:center;color:var(--color-text-muted);font-size:14px}.results-empty[data-v-40c25647]{padding:16px 12px;color:var(--color-text-muted);font-size:13px;background:var(--color-bg-surface-alt);border:1px dashed var(--color-border);border-radius:4px}.results-list[data-v-40c25647]{display:flex;flex-direction:column;gap:12px}.result-card[data-v-40c25647]{border:1px solid var(--color-card-border);border-radius:8px;background:var(--color-card-bg);overflow:hidden;box-shadow:var(--shadow-sm)}.result-card-header[data-v-40c25647]{display:flex;align-items:center;gap:10px;padding:10px 14px;background:var(--color-bg-surface-alt);border-bottom:1px solid var(--color-border)}.entity-badge[data-v-40c25647]{display:inline-block;padding:2px 8px;border-radius:4px;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em}.badge-item[data-v-40c25647]{background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.badge-bom[data-v-40c25647]{background:var(--color-tint-yellow);color:var(--color-tint-yellow-text)}.badge-bom-item[data-v-40c25647]{background:var(--color-tint-green);color:var(--color-tint-green-text)}.barcode-label[data-v-40c25647]{font-family:monospace;font-size:.9rem;color:var(--color-text-primary);font-weight:500}.result-card-body[data-v-40c25647]{padding:10px 14px;display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}.field-row[data-v-40c25647]{display:flex;flex-direction:column;gap:1px}.field-label[data-v-40c25647]{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);font-weight:600}.field-value[data-v-40c25647]{font-size:.85rem;color:var(--color-text-default);word-break:break-word}.scan-page[data-v-4b2eb8a9]{padding:20px;height:100%;overflow-y:auto;box-sizing:border-box}.scan-form[data-v-4b2eb8a9]{display:flex;flex-direction:column;gap:16px;max-width:800px}.operation-row[data-v-4b2eb8a9]{display:flex;flex-direction:column;gap:4px}.operation-row label[data-v-4b2eb8a9]{font-weight:500}.operation-select[data-v-4b2eb8a9]{padding:8px 12px;font-size:16px;border:1px solid var(--color-input-border);border-radius:4px;width:200px;background:var(--color-input-bg);color:var(--color-input-text)}.ids-row[data-v-4b2eb8a9]{display:flex;gap:16px}.ids-column[data-v-4b2eb8a9]{flex:1;display:flex;flex-direction:column;gap:4px}.ids-column label[data-v-4b2eb8a9]{font-weight:500}.ids-input[data-v-4b2eb8a9]{padding:8px 12px;font-size:14px;font-family:monospace;border:1px solid var(--color-input-border);border-radius:4px;background:var(--color-input-bg);color:var(--color-input-text)}.ids-textarea[data-v-4b2eb8a9]{padding:8px 12px;font-size:14px;font-family:monospace;border:1px solid var(--color-input-border);border-radius:4px;background:var(--color-input-bg);color:var(--color-input-text);min-height:200px;resize:vertical}.checkbox-row[data-v-4b2eb8a9]{display:flex;align-items:center}.checkbox-row label[data-v-4b2eb8a9]{display:flex;align-items:center;gap:8px;font-weight:500;cursor:pointer}.submit-button[data-v-4b2eb8a9]{padding:10px 20px;font-size:16px;background-color:var(--color-btn-primary);color:#fff;border:2px solid var(--color-btn-primary);border-radius:4px;cursor:pointer;align-self:flex-start;box-sizing:border-box}.submit-button[data-v-4b2eb8a9]:hover{background-color:var(--color-btn-primary-hover)}.locate-actions[data-v-4b2eb8a9]{display:flex;gap:8px;align-items:center}.scan-mode-button[data-v-4b2eb8a9]{padding:10px 20px;font-size:16px;background-color:var(--color-bg-surface-alt);color:var(--color-text-primary);border:2px solid var(--color-accent);border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .15s;box-sizing:border-box}.scan-mode-button[data-v-4b2eb8a9]:hover{background-color:var(--color-bg-hover)}.event-log[data-v-4b2eb8a9]{max-height:200px;overflow-y:auto;border:1px solid var(--color-border);border-radius:4px;padding:8px;font-family:monospace;font-size:13px}.log-entry[data-v-4b2eb8a9]{padding:4px 0;display:flex;gap:8px}.log-time[data-v-4b2eb8a9]{color:var(--color-log-time);flex-shrink:0}.log-success .log-message[data-v-4b2eb8a9]{color:var(--color-log-success)}.log-error .log-message[data-v-4b2eb8a9]{color:var(--color-log-error)}.tracking-section[data-v-4b2eb8a9]{margin-top:24px;padding-top:20px;border-top:1px solid var(--color-border);max-width:1100px}.tracking-title[data-v-4b2eb8a9]{margin:0 0 4px;font-size:16px;font-weight:600;color:var(--color-text-primary)}.tracking-help[data-v-4b2eb8a9]{margin:0 0 12px;color:var(--color-text-muted);font-size:13px}.tracking-search[data-v-4b2eb8a9]{display:flex;gap:8px;align-items:center;margin-bottom:12px}.tracking-input[data-v-4b2eb8a9]{flex:1;max-width:480px}.tracking-search-btn[data-v-4b2eb8a9]{align-self:stretch;padding:8px 18px}.tracking-clear-btn[data-v-4b2eb8a9]{padding:8px 14px;font-size:14px;background-color:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:1px solid var(--color-btn-secondary-border);border-radius:4px;cursor:pointer}.tracking-clear-btn[data-v-4b2eb8a9]:hover{background-color:var(--color-btn-secondary-hover)}.tracking-empty[data-v-4b2eb8a9]{padding:16px 12px;color:var(--color-text-muted);font-size:13px;background:var(--color-bg-surface-alt);border:1px dashed var(--color-border);border-radius:4px}.tracking-header[data-v-4b2eb8a9]{padding:8px 12px;background:var(--color-bg-surface-alt);border:1px solid var(--color-border);border-bottom:none;border-radius:4px 4px 0 0}.tracking-count[data-v-4b2eb8a9]{color:var(--color-text-default);font-size:13px;font-weight:500}.tracking-truncated[data-v-4b2eb8a9]{color:var(--color-text-muted);font-weight:400}.tracking-table-wrapper[data-v-4b2eb8a9]{border:1px solid var(--color-border);border-top:none;border-radius:0 0 4px 4px;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px}.tracking-table-wrapper .table-head[data-v-4b2eb8a9]{display:flex;background:var(--color-table-header-bg);color:var(--color-table-header-text);font-weight:600;font-size:12px}.tracking-table-wrapper .th[data-v-4b2eb8a9]{padding:8px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tracking-table-wrapper .th.sortable[data-v-4b2eb8a9]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.tracking-table-wrapper .th.sortable[data-v-4b2eb8a9]:hover{background-color:var(--color-header-bg-alt)}.tracking-table-wrapper .sort-icon[data-v-4b2eb8a9]{display:inline-block;margin-left:4px;font-size:10px;color:var(--color-text-faint)}.tracking-table-body[data-v-4b2eb8a9]{background:var(--color-bg-surface)}.tracking-table-wrapper .table-row[data-v-4b2eb8a9]{display:flex;border-bottom:1px solid var(--color-border-light);align-items:center;background:var(--color-bg-surface);height:40px}.tracking-table-wrapper .table-row[data-v-4b2eb8a9]:last-child{border-bottom:none}.tracking-table-wrapper .td[data-v-4b2eb8a9]{padding:8px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center}.tracking-table-wrapper .col-time[data-v-4b2eb8a9]{width:240px;flex-shrink:0}.tracking-table-wrapper .col-op[data-v-4b2eb8a9]{width:140px;flex-shrink:0}.tracking-table-wrapper .col-part[data-v-4b2eb8a9]{width:200px;flex-shrink:0;font-family:monospace;font-size:12px}.tracking-table-wrapper .col-loc[data-v-4b2eb8a9]{width:180px;flex:1;min-width:120px}.tracking-table-wrapper .col-person[data-v-4b2eb8a9]{width:200px;flex-shrink:0}.legend-wrap[data-v-30f05db3]{position:relative}.legend-button[data-v-30f05db3]{display:inline-flex;align-items:center;gap:.25rem;background:transparent;border:1px solid transparent;padding:2px .5rem;font-size:12px;font-family:inherit;color:var(--color-text-default);cursor:pointer;border-radius:4px}.legend-button[data-v-30f05db3]:hover{background:var(--color-bg-surface-alt)}.legend-button.open[data-v-30f05db3]{background:var(--color-bg-surface-alt);border-color:var(--color-input-border)}.legend-button .caret[data-v-30f05db3]{font-size:.7rem;line-height:1}.legend-popover[data-v-30f05db3]{position:absolute;top:calc(100% + 4px);right:0;min-width:280px;background:var(--color-bg-surface);border:1px solid var(--color-input-border);border-radius:6px;box-shadow:var(--shadow-lg);padding:.5rem;z-index:100}.legend-row[data-v-30f05db3]{display:flex;gap:.6rem;align-items:flex-start;padding:.35rem .4rem}.legend-row+.legend-row[data-v-30f05db3]{border-top:1px solid var(--color-bg-surface-alt)}.legend-swatch[data-v-30f05db3]{flex-shrink:0;width:14px;height:14px;border-radius:3px;margin-top:1px}.legend-text[data-v-30f05db3]{display:flex;flex-direction:column;gap:2px}.legend-title[data-v-30f05db3]{font-size:12px;font-weight:600;color:var(--color-text-primary)}.legend-detail[data-v-30f05db3]{font-size:11px;color:var(--color-text-muted);line-height:1.35}.report-header[data-v-c079dfe8]{display:flex;align-items:center;gap:1rem;padding:.5rem .75rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-surface-alt)}.report-title[data-v-c079dfe8]{font-weight:600;font-size:14px}.report-count[data-v-c079dfe8]{color:var(--color-text-muted);font-size:12px}.header-spacer[data-v-c079dfe8]{flex:1}.header-filters[data-v-c079dfe8],.header-tools[data-v-c079dfe8]{display:flex;gap:.75rem;align-items:center}.active-users[data-v-c079dfe8]{display:flex;gap:.5rem}.user-badge[data-v-c079dfe8]{padding:.25rem .5rem;border-radius:.25rem;color:#fff;font-size:11px;font-weight:500}.current-user[data-v-c079dfe8]{font-size:12px;color:var(--color-text-muted)}.filter-editor[data-v-5e2b3c3f]{background:var(--color-bg-surface);border:1px solid var(--color-input-border);border-radius:6px;box-shadow:var(--shadow-lg);padding:.75rem;width:320px;font-size:12px;z-index:200}.filter-editor-row[data-v-5e2b3c3f]{display:grid;grid-template-columns:70px 1fr;gap:.5rem;align-items:center;margin-bottom:.5rem}.filter-editor-row label[data-v-5e2b3c3f]{font-weight:500;color:var(--color-text-default)}.filter-editor-row select[data-v-5e2b3c3f],.filter-editor-row input[type=text][data-v-5e2b3c3f],.filter-editor-row input[type=number][data-v-5e2b3c3f],.filter-editor-row input[type=date][data-v-5e2b3c3f]{font-family:inherit;font-size:12px;padding:3px 6px;border:1px solid var(--color-input-border);border-radius:4px;width:100%;box-sizing:border-box}.value-input[data-v-5e2b3c3f]{display:flex;gap:.35rem;align-items:center}.value-input input[data-v-5e2b3c3f]{flex:1;min-width:0}.checklist[data-v-5e2b3c3f]{display:flex;flex-direction:column;gap:.25rem;border:1px solid var(--color-input-border);border-radius:4px;padding:.35rem .5rem;max-height:140px;overflow-y:auto;width:100%}.check[data-v-5e2b3c3f]{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}.filter-editor-buttons[data-v-5e2b3c3f]{display:flex;align-items:center;gap:.5rem;margin-top:.75rem}.filter-editor-buttons .spacer[data-v-5e2b3c3f]{flex:1}.filter-editor-buttons button[data-v-5e2b3c3f]{font-family:inherit;font-size:12px;padding:4px 10px;border:1px solid var(--color-btn-secondary-border);background:var(--color-bg-surface);border-radius:4px;cursor:pointer}.filter-editor-buttons button[data-v-5e2b3c3f]:hover{background:var(--color-bg-surface-alt)}.filter-editor-buttons button[data-v-5e2b3c3f]:disabled{opacity:.5;cursor:not-allowed}.filter-editor-buttons button.primary[data-v-5e2b3c3f]{background:var(--color-btn-primary);border-color:var(--color-btn-primary);color:#fff}.filter-editor-buttons button.primary[data-v-5e2b3c3f]:hover{background:var(--color-btn-primary-hover)}.filter-editor-buttons button.primary[data-v-5e2b3c3f]:disabled{background:var(--color-border);border-color:var(--color-border)}.filter-editor-buttons button.danger[data-v-5e2b3c3f]{color:var(--color-danger);border-color:var(--color-tint-red-border)}.filter-editor-buttons button.danger[data-v-5e2b3c3f]:hover{background:var(--color-tint-red-light)}.filter-bar[data-v-3362fcf7]{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;padding:.4rem .75rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-surface);font-size:12px}.pill[data-v-3362fcf7]{display:inline-flex;align-items:center;gap:.25rem;padding:2px 4px 2px 10px;background:var(--color-tint-indigo);border:1px solid var(--color-tint-indigo-border);border-radius:12px;cursor:pointer;color:var(--color-tint-indigo-text)}.pill[data-v-3362fcf7]:hover{background:var(--color-tint-indigo-hover)}.pill.active[data-v-3362fcf7]{background:var(--color-tint-indigo-active);border-color:var(--color-tint-indigo-active-border)}.pill-remove[data-v-3362fcf7]{width:18px;height:18px;border-radius:50%;border:none;background:transparent;color:#3730a3;cursor:pointer;font-size:14px;line-height:1;padding:0}.pill-remove[data-v-3362fcf7]:hover{background:#ffffffb3;color:var(--color-text-primary)}.clear-all[data-v-3362fcf7]{font-family:inherit;font-size:11px;padding:2px 8px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:4px}.clear-all[data-v-3362fcf7]:hover{background:var(--color-bg-surface-alt);color:var(--color-text-primary)}.filter-link[data-v-25434149]{font-family:inherit;font-size:12px;background:transparent;border:none;color:var(--color-accent);cursor:pointer;padding:2px 4px;border-radius:3px}.filter-link[data-v-25434149]:hover{text-decoration:underline}.search-wrap[data-v-9f7f0306]{position:relative;display:inline-flex;align-items:center}.search-input[data-v-9f7f0306]{font-family:inherit;font-size:12px;padding:3px 22px 3px 8px;border:1px solid var(--color-input-border);border-radius:4px;width:220px;background:var(--color-input-bg)}.search-input[data-v-9f7f0306]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.search-input[data-v-9f7f0306]::-webkit-search-cancel-button{display:none}.search-clear[data-v-9f7f0306]{position:absolute;right:4px;width:16px;height:16px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:14px;line-height:1;padding:0;border-radius:3px}.search-clear[data-v-9f7f0306]:hover{background:var(--color-bg-surface-alt);color:var(--color-text-primary)}.view-menu[data-v-615e655c]{position:relative;display:inline-block}.view-button[data-v-615e655c]{display:inline-flex;align-items:center;gap:.25rem;background:transparent;border:1px solid transparent;padding:2px .5rem;font-size:12px;font-family:inherit;color:var(--color-text-default);cursor:pointer;border-radius:4px}.view-button[data-v-615e655c]:hover{background:var(--color-bg-surface-alt)}.view-button.open[data-v-615e655c]{background:var(--color-bg-surface-alt);border-color:var(--color-input-border)}.view-button .caret[data-v-615e655c]{font-size:.7rem;line-height:1}.view-popover[data-v-615e655c]{position:absolute;top:calc(100% + 4px);left:0;min-width:160px;background:var(--color-bg-surface);border:1px solid var(--color-input-border);border-radius:6px;box-shadow:var(--shadow-lg);padding:.25rem;z-index:100}.view-row[data-v-615e655c]{display:flex;align-items:center;gap:.4rem;padding:.35rem .5rem;font-size:12px;color:var(--color-text-default);cursor:pointer;border-radius:4px;-webkit-user-select:none;user-select:none}.view-row[data-v-615e655c]:hover{background:var(--color-bg-surface-alt)}.view-row.disabled[data-v-615e655c]{color:var(--color-text-faint);cursor:default}.view-row.disabled[data-v-615e655c]:hover{background:transparent}.view-row input[data-v-615e655c]{margin:0;cursor:inherit}.view-divider[data-v-615e655c]{height:1px;background:var(--color-bg-surface-alt);margin:.25rem 0}.export-menu[data-v-b883eed0]{position:relative;display:inline-block}.export-button[data-v-b883eed0]{display:inline-flex;align-items:center;gap:.25rem;background:transparent;border:1px solid transparent;padding:2px .5rem;font-size:12px;font-family:inherit;color:var(--color-text-default);cursor:pointer;border-radius:4px}.export-button[data-v-b883eed0]:hover{background:var(--color-bg-surface-alt)}.export-button.open[data-v-b883eed0]{background:var(--color-bg-surface-alt);border-color:var(--color-input-border)}.export-button .caret[data-v-b883eed0]{font-size:.7rem;line-height:1}.export-popover[data-v-b883eed0]{position:absolute;top:calc(100% + 4px);right:0;min-width:180px;background:var(--color-bg-surface);border:1px solid var(--color-input-border);border-radius:6px;box-shadow:var(--shadow-lg);padding:.25rem;z-index:100}.export-row[data-v-b883eed0]{display:block;width:100%;text-align:left;padding:.4rem .6rem;background:transparent;border:none;font-family:inherit;font-size:12px;color:var(--color-text-default);cursor:pointer;border-radius:4px}.export-row[data-v-b883eed0]:hover{background:var(--color-bg-hover);color:var(--color-accent-hover)}.refresh-icon[data-v-2ec7292c]{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;margin-left:4px;width:14px;height:14px;border-radius:3px;cursor:pointer;color:var(--color-text-muted);opacity:0;transition:opacity .1s,color .1s,background .1s;flex-shrink:0}.table-row:hover .refresh-icon[data-v-2ec7292c]{opacity:.6}.refresh-icon[data-v-2ec7292c]:hover{opacity:1!important;color:var(--color-accent-hover)}.refresh-icon.busy[data-v-2ec7292c]{opacity:1!important;color:var(--color-accent-hover);animation:refresh-spin-2ec7292c .8s linear infinite}.refresh-icon.errored[data-v-2ec7292c]{opacity:1!important;color:var(--color-danger)}@keyframes refresh-spin-2ec7292c{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dynamics-link-icon[data-v-cd36b7c3]{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:none;padding:0;margin-left:4px;width:14px;height:14px;border-radius:3px;cursor:pointer;color:var(--color-text-muted);opacity:0;transition:opacity .1s,color .1s;flex-shrink:0}.td:hover .dynamics-link-icon[data-v-cd36b7c3],td:hover .dynamics-link-icon[data-v-cd36b7c3]{opacity:.6}.dynamics-link-icon[data-v-cd36b7c3]:hover{opacity:1!important;color:var(--color-accent-hover)}.dynamics-link-icon.errored[data-v-cd36b7c3]{opacity:1!important;color:var(--color-danger)}.report-page{height:100%;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px}.report-table-wrap{flex:1;display:flex;flex-direction:column;min-height:0}.report-state{flex:1;display:flex;align-items:center;justify-content:center;color:#6b7280}.report-state.error{color:#b91c1c}.toggle{display:inline-flex;align-items:center;gap:.3rem;font-size:12px;color:var(--color-text-default);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{margin:0;cursor:pointer}.col-pono{width:90px;flex-shrink:0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px}.col-vendor{width:180px;flex-shrink:0}.col-status{width:70px;flex-shrink:0}.col-lineno{width:55px;flex-shrink:0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;color:var(--color-text-muted)}.col-item{width:110px;flex-shrink:0}.col-mfg-code{width:80px;flex-shrink:0}.col-leadtime{width:70px;flex-shrink:0}.col-desc{width:240px;flex:1;min-width:200px}.col-qty{width:70px;flex-shrink:0}.col-person{width:90px;flex-shrink:0}.row-so-header{background:var(--color-bg-surface);font-weight:700;border-top:2px solid var(--color-text-primary)}.row-po-header{background:var(--color-bg-surface);font-weight:500;border-top:1px solid var(--color-text-faint)}.row-pink{background:var(--color-tint-pink)!important}.row-red{background:var(--color-tint-red)!important}.row-yellow{background:var(--color-tint-yellow)!important}.row-green{background:var(--color-tint-green)}.row-po-line{font-size:11px;color:var(--color-text-default)}.vo-page[data-v-53340a90]{height:100%;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:13px}.vo-total-value[data-v-53340a90]{color:var(--color-text-muted);font-size:12px}.state[data-v-53340a90]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.state.error[data-v-53340a90]{color:var(--color-danger)}.vo-table-wrap[data-v-53340a90]{flex:1;overflow:auto}.vo-table[data-v-53340a90]{width:100%;border-collapse:collapse;font-size:13px}.vo-table thead th[data-v-53340a90]{position:sticky;top:0;background:var(--color-table-header-bg);color:var(--color-table-header-text);font-weight:600;font-size:11px;padding:6px 10px;text-align:left;white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;z-index:1}.vo-table thead th[data-v-53340a90]:hover{background:var(--color-bg-surface-alt)}.vo-table thead th.num[data-v-53340a90]{text-align:right}.arrow[data-v-53340a90]{font-size:10px;color:var(--color-text-faint);opacity:0;margin-left:.25rem}.vo-table thead th:hover .arrow[data-v-53340a90]{opacity:.6}.vo-row[data-v-53340a90]{cursor:pointer;border-bottom:1px solid var(--color-border-light)}.vo-row[data-v-53340a90]:hover{background:var(--color-table-row-hover)}.vo-table td[data-v-53340a90]{padding:6px 10px;white-space:nowrap}.vo-table td.num[data-v-53340a90]{text-align:right}.col-vendor[data-v-53340a90]{min-width:300px;font-weight:500}.actions[data-v-53340a90]{text-align:right;padding:4px 10px}.view-btn[data-v-53340a90],.email-btn[data-v-53340a90]{font-family:inherit;font-size:12px;padding:3px 10px;border:1px solid var(--color-tint-indigo-border);background:var(--color-tint-indigo);color:var(--color-tint-indigo-text);border-radius:4px;cursor:pointer}.view-btn[data-v-53340a90]:hover,.email-btn[data-v-53340a90]:hover:not(:disabled){background:var(--color-tint-indigo-hover)}.email-btn[data-v-53340a90]{margin-right:.4rem}.email-btn[data-v-53340a90]:disabled{cursor:wait;opacity:.7}.email-btn.busy[data-v-53340a90]{opacity:.7}.email-btn.no-email[data-v-53340a90]{background:var(--color-bg-surface-alt);color:var(--color-text-muted);border-color:var(--color-border)}.email-btn.no-email[data-v-53340a90]:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-default)}.col-quote{width:110px;flex-shrink:0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;color:var(--color-text-muted)}.col-master{width:170px;flex-shrink:0;font-weight:500}.col-date-long{width:130px;flex-shrink:0}.col-date-wide{width:210px;flex-shrink:0}.col-status-wide{width:110px;flex-shrink:0}.col-shipped{width:80px;flex-shrink:0}.row-som-ready{background:var(--color-som-ready)}.row-som-wip{background:var(--color-som-wip)}.row-som-pending{background:var(--color-som-pending)}.row-som-shipped{background:var(--color-som-shipped-bg);color:var(--color-som-shipped-text)}.row-som-shipped .td{color:var(--color-som-shipped-text)}.row-som-action{background:var(--color-som-action)}.row-som-check{background:var(--color-som-check)}.detail-header[data-v-9502d925]{display:flex;align-items:center;gap:12px}.detail-spacer[data-v-9502d925]{flex:1}.detail-search[data-v-9502d925]{font-size:12px;padding:4px 8px;border:1px solid var(--color-input-border);border-radius:4px;width:280px;font-family:inherit}.detail-search[data-v-9502d925]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #2563eb26}.detail-scroll[data-v-9502d925]{flex:1 1 auto;min-height:0;border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.row[data-v-9502d925]{display:grid;grid-template-columns:var(--row-grid);height:var(--row-h);align-items:center;font-size:12px}.header-row[data-v-9502d925]{background:var(--color-bg-surface-alt);border-bottom:1px solid var(--color-border);font-weight:600;color:var(--color-text-default);height:30px}.header-row .th[data-v-9502d925]{padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:4px;-webkit-user-select:none;user-select:none}.header-row .th.num[data-v-9502d925]{justify-content:flex-end}.header-row .th.sortable[data-v-9502d925]{cursor:pointer}.header-row .th.sortable[data-v-9502d925]:hover{background:var(--color-border)}.header-row .th .sort-ind[data-v-9502d925]{color:var(--color-text-faint);font-size:10px}.body-row[data-v-9502d925]{border-bottom:1px solid var(--color-border-light)}.body-row[data-v-9502d925]:hover{background:var(--color-bg-surface-alt)!important}.body-row .td[data-v-9502d925]{padding:0 8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:4px}.body-row .td.num[data-v-9502d925]{justify-content:flex-end;font-variant-numeric:tabular-nums}.body-row .td.desc[data-v-9502d925]{color:var(--color-text-default)}.body-row.bucket-past_due[data-v-9502d925]{background:var(--color-tint-red-light)}.body-row.bucket-due_soon[data-v-9502d925]{background:var(--color-tint-amber)}.body-row.bucket-at_risk[data-v-9502d925]{background:var(--color-tint-orange)}.body-row.bucket-on_time[data-v-9502d925]{background:var(--color-tint-green)}.body-row.bucket-closed[data-v-9502d925]{background:var(--color-table-row-alt);color:var(--color-text-muted)}.body-row.bucket-unscheduled[data-v-9502d925]{background:var(--color-bg-surface)}.dashboard-page{--card-bg: var(--color-card-bg);--card-border: var(--color-card-border);--card-shadow: var(--shadow-sm);--text-strong: var(--color-text-primary);--text-default: var(--color-text-default);--text-muted: var(--color-text-muted);--text-faint: var(--color-text-faint);--accent: var(--color-accent);--danger: var(--color-danger);--warn: var(--color-warn);--warn-soft: var(--color-warn-soft);--ok: var(--color-success);--neutral: var(--color-neutral);--bucket-past-due: #dc2626;--bucket-due-soon: #f59e0b;--bucket-at-risk: #ea580c;--bucket-on-time: #059669;--bucket-closed: #6b7280;--bucket-unsched: #94a3b8;height:100%;overflow-y:auto;background:var(--color-bg-page);padding:16px;display:flex;flex-direction:column;gap:16px}.kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px}.middle-row{display:grid;grid-template-columns:2fr 3fr;gap:16px}@media (max-width: 1100px){.middle-row{grid-template-columns:1fr}}.card{background:var(--card-bg);border:1px solid var(--card-border);border-radius:8px;box-shadow:var(--card-shadow);padding:16px;display:flex;flex-direction:column;min-width:0}.card-header{display:flex;align-items:baseline;justify-content:space-between;gap:8px;margin-bottom:12px}.card-title{font-size:14px;font-weight:600;color:var(--text-strong);margin:0}.card-subtitle{font-size:12px;color:var(--text-muted);font-weight:400}.kpi-tile{cursor:pointer;transition:border-color .12s,box-shadow .12s,transform .12s;-webkit-user-select:none;user-select:none}.kpi-tile:hover{border-color:var(--accent);box-shadow:0 2px 8px #2563eb1f}.kpi-tile.is-active{border-color:var(--accent);box-shadow:0 0 0 2px #2563eb26}.kpi-tile.is-disabled{cursor:default;opacity:.6}.kpi-tile.is-disabled:hover{border-color:var(--card-border);box-shadow:var(--card-shadow)}.kpi-label{font-size:12px;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 8px}.kpi-value{font-size:28px;font-weight:700;color:var(--text-strong);line-height:1;margin:0}.kpi-value.is-danger{color:var(--danger)}.kpi-value.is-warn{color:var(--warn)}.kpi-value.is-ok{color:var(--ok)}.kpi-sub{margin-top:6px;font-size:12px;color:var(--text-muted);min-height:1em}.kpi-placeholder{font-size:11px;font-style:italic;color:var(--text-faint);margin-top:2px}.exceptions-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:4px}.exception-item{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:6px;font-size:13px;cursor:pointer;border:1px solid transparent;background:transparent;transition:background .1s,border-color .1s}.exception-item:hover{background:var(--color-bg-surface-alt);border-color:var(--card-border)}.exception-item.is-active{background:#2563eb14;border-color:var(--accent)}.exception-item.is-disabled{cursor:default;opacity:.55}.exception-item.is-disabled:hover{background:transparent;border-color:transparent}.exception-label{color:var(--text-default)}.exception-count{font-weight:600;color:var(--text-strong);font-variant-numeric:tabular-nums}.exception-count.is-danger{color:var(--danger)}.exception-count.is-warn{color:var(--warn)}.status-toggle{display:inline-flex;border:1px solid var(--card-border);border-radius:6px;overflow:hidden}.status-toggle button{background:var(--color-bg-surface);border:0;padding:4px 10px;font-size:12px;cursor:pointer;color:var(--text-muted)}.status-toggle button.is-active{background:var(--accent);color:#fff}.status-body{display:grid;grid-template-columns:minmax(0,1fr) 220px;gap:16px;align-items:center}@media (max-width: 900px){.status-body{grid-template-columns:1fr}}.status-legend{display:flex;flex-direction:column;gap:6px;font-size:12px}.status-legend .item{display:grid;grid-template-columns:12px 1fr auto;gap:8px;align-items:center;padding:4px 6px;border-radius:4px;cursor:pointer}.status-legend .item:hover{background:var(--color-bg-surface-alt)}.status-legend .item.is-active{background:#2563eb14}.status-legend .swatch{width:12px;height:12px;border-radius:2px}.status-legend .label{color:var(--text-default)}.status-legend .count{color:var(--text-muted);font-variant-numeric:tabular-nums}.filter-banner{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#2563eb14;border:1px solid rgba(37,99,235,.25);border-radius:6px;font-size:12px;color:var(--text-default)}.filter-banner button{background:transparent;border:0;cursor:pointer;color:var(--accent);font-weight:600;font-size:12px}.filter-banner button:hover{text-decoration:underline}.card.detail{flex:1 1 auto;min-height:0}.detail-table-wrap{overflow:auto;max-height:70vh;border:1px solid var(--card-border);border-radius:6px}.detail-table{width:100%;border-collapse:separate;border-spacing:0;font-size:12px}.detail-table thead th{position:sticky;top:0;z-index:1;background:var(--color-bg-surface-alt);font-weight:600;text-align:left;padding:6px 8px;border-bottom:1px solid var(--card-border);white-space:nowrap;color:var(--text-default)}.detail-table tbody td{padding:4px 8px;border-bottom:1px solid var(--color-border-light);white-space:nowrap}.detail-table tbody tr:hover{background:var(--color-table-row-hover)}.detail-table .num{text-align:right;font-variant-numeric:tabular-nums}.detail-table .empty{padding:24px;text-align:center;color:var(--text-muted)}.status-pill{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;color:#fff;white-space:nowrap}.status-pill.past_due{background:var(--bucket-past-due)}.status-pill.due_soon{background:var(--bucket-due-soon)}.status-pill.at_risk{background:var(--bucket-at-risk)}.status-pill.on_time{background:var(--bucket-on-time)}.status-pill.closed{background:var(--bucket-closed)}.status-pill.unscheduled{background:var(--bucket-unsched)}.dash-loading,.dash-error{padding:16px;text-align:center;color:var(--text-muted);font-size:13px}.dash-error{color:var(--danger)}.vault-boms-page[data-v-24362648]{height:100%;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:12px}.loading-state[data-v-24362648],.empty-state[data-v-24362648]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted)}.report-header[data-v-24362648]{display:flex;align-items:baseline;gap:1rem;padding:.5rem .75rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-surface-alt)}.report-title[data-v-24362648]{font-weight:600;font-size:14px}.report-count[data-v-24362648]{color:var(--color-text-muted);font-size:12px}.table-wrapper[data-v-24362648]{flex:1;display:flex;flex-direction:column;overflow:hidden}.table-head[data-v-24362648]{display:flex;background:var(--color-table-header-bg);color:var(--color-table-header-text);font-weight:600;font-size:11px;flex-shrink:0}.table-head .th[data-v-24362648]{padding:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-row[data-v-24362648]{display:flex;border-bottom:1px solid var(--color-border-light);align-items:center}.td[data-v-24362648]{padding:2px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.num[data-v-24362648]{text-align:right}.col-rownum[data-v-24362648]{width:40px;flex-shrink:0;color:var(--color-text-faint);font-size:10px;text-align:right;padding-right:8px;background:var(--color-bg-surface);font-family:SF Mono,Menlo,Consolas,monospace;display:flex;align-items:center;justify-content:flex-end;align-self:stretch}.col-project[data-v-24362648]{width:130px;flex-shrink:0}.col-customer[data-v-24362648]{width:140px;flex-shrink:0}.col-type[data-v-24362648]{width:70px;flex-shrink:0}.col-rev[data-v-24362648]{width:40px;flex-shrink:0}.col-part[data-v-24362648]{width:160px;flex-shrink:0}.col-desc[data-v-24362648]{width:160px;flex:1;min-width:100px}.col-mfr[data-v-24362648]{width:100px;flex-shrink:0}.col-qty[data-v-24362648]{width:50px;flex-shrink:0}.col-match[data-v-24362648]{width:65px;flex-shrink:0;text-align:center}.col-bcpart[data-v-24362648]{width:160px;flex-shrink:0}.row-bom-header[data-v-24362648]{background:var(--color-bg-surface-alt);font-weight:700}.bom-label[data-v-24362648]{font-size:12px}.item-indent[data-v-24362648]{padding-left:20px;color:var(--color-text-muted)}.row-bom-item[data-v-24362648]{font-size:11px;color:var(--color-text-default)}.row-green[data-v-24362648]{background:var(--color-tint-green)}.row-yellow[data-v-24362648]{background:var(--color-tint-yellow)}.match-summary[data-v-24362648]{font-weight:600;font-size:11px}.match-exact[data-v-24362648]{color:var(--color-success);font-weight:600}.match-fuzzy[data-v-24362648]{color:var(--color-warn);font-weight:600}.match-none[data-v-24362648]{color:var(--color-text-faint)}.forbidden[data-v-08b336fa]{padding:3rem;text-align:center}.admin-page{padding:1.5rem 2rem;max-width:1400px}.admin-page h2{margin:0}.admin-page h3{margin:1.5rem 0 .75rem;font-size:.95rem;color:var(--color-text-default);display:flex;align-items:center;gap:.75rem}.admin-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem;gap:1rem;flex-wrap:wrap}.admin-controls{display:flex;gap:.75rem;align-items:center;font-size:.85rem;flex-wrap:wrap}.admin-controls select{padding:.3rem .5rem;font-size:.85rem}.btn-refresh{padding:.35rem .75rem;border:1px solid var(--color-btn-secondary-border);background:var(--color-btn-secondary-bg);border-radius:4px;cursor:pointer;font-size:.85rem}.btn-refresh:hover:not(:disabled){background:var(--color-bg-surface-alt)}.btn-run{padding:.35rem .75rem;border:1px solid var(--color-btn-primary);background:var(--color-btn-primary);color:#fff;border-radius:4px;cursor:pointer;font-size:.85rem}.btn-run:hover:not(:disabled){background:var(--color-btn-primary-hover);border-color:var(--color-btn-primary-hover)}.btn-run:disabled{background:var(--color-tint-blue-border);border-color:var(--color-tint-blue-border);cursor:not-allowed}.btn-divider{width:1px;height:1.4rem;background:var(--color-border);margin:0 .25rem}.kpi-strip{display:flex;gap:2rem;padding:1rem 1.25rem;background:var(--color-bg-surface-alt);border:1px solid var(--color-border);border-radius:6px;margin-bottom:1rem;flex-wrap:wrap}.kpi{display:flex;flex-direction:column;gap:.15rem}.kpi-value{font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.kpi-value.ok{color:var(--color-success)}.kpi-value.fail{color:var(--color-danger)}.kpi-value.warn{color:var(--color-warn)}.kpi-value-sm{font-size:.95rem;font-weight:500;color:var(--color-text-primary)}.kpi-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.admin-card{background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:6px;padding:1rem 1.25rem;margin-bottom:1rem}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem}.admin-table th,.admin-table td{padding:.5rem .75rem;text-align:left;border-bottom:1px solid var(--color-bg-surface-alt);vertical-align:top}.admin-table th{background:var(--color-table-row-alt);font-weight:600;color:var(--color-text-default);font-size:.75rem;text-transform:uppercase;letter-spacing:.04em}.admin-table tr.clickable{cursor:pointer}.admin-table tbody tr.clickable:hover{background:var(--color-table-row-hover)}.admin-table tr.selected{background:var(--color-bg-hover)}.admin-table tr.detail-row{cursor:default;background:var(--color-table-row-alt)}.admin-table tr.detail-row>td{padding:1rem 1rem 1.25rem}.pill{display:inline-block;padding:.1rem .55rem;border-radius:999px;font-size:.7rem;font-weight:500;text-transform:lowercase}.pill-ok{background:var(--color-tint-green);color:var(--color-tint-green-text)}.pill-warn{background:var(--color-tint-yellow);color:var(--color-tint-yellow-text)}.pill-fail{background:var(--color-tint-red);color:var(--color-tint-red-text)}.pill-other{background:var(--color-border);color:var(--color-text-default)}.status-pill{display:inline-block;padding:.1rem .6rem;border-radius:999px;font-size:.75rem;font-weight:500}.status-ok{background:var(--color-tint-green);color:var(--color-tint-green-text)}.status-fail{background:var(--color-tint-red);color:var(--color-tint-red-text)}.status-other{background:var(--color-tint-yellow);color:var(--color-tint-yellow-text)}.num{text-align:right;font-variant-numeric:tabular-nums}.muted{color:var(--color-text-faint)}.expand-cell{text-align:center;width:1.5rem;color:var(--color-text-muted)}.admin-info{background:var(--color-tint-blue);color:var(--color-tint-blue-text);padding:.5rem .75rem;border-radius:4px;font-size:.85rem;margin-bottom:.5rem}.admin-error{background:var(--color-tint-red);color:var(--color-tint-red-text);padding:.5rem .75rem;border-radius:4px;font-size:.85rem;margin-bottom:.5rem}.apexcharts-menu{background:var(--color-bg-surface)!important;border-color:var(--color-border)!important;color:var(--color-text-default)!important}.apexcharts-menu-item:hover{background:var(--color-bg-hover)!important}.apexcharts-toolbar svg{fill:var(--color-text-muted)!important}.apexcharts-toolbar svg:hover{fill:var(--color-text-primary)!important}.imports-head[data-v-bd55c974]{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem}.source-tabs[data-v-bd55c974]{display:flex;gap:.25rem}.tab[data-v-bd55c974]{padding:.4rem .9rem;background:transparent;border:1px solid var(--color-btn-secondary-border);border-radius:4px;font-size:.85rem;cursor:pointer;color:var(--color-btn-secondary-text)}.tab.active[data-v-bd55c974]{background:var(--color-table-header-bg);color:var(--color-table-header-text);border-color:var(--color-table-header-bg)}.progress-panel[data-v-bd55c974]{background:var(--color-bg-surface);border:1px solid var(--color-tint-blue-border);border-left:4px solid var(--color-accent);border-radius:6px;padding:.85rem 1rem;margin-bottom:1rem}.progress-head[data-v-bd55c974]{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.6rem;font-size:.85rem}.progress-title[data-v-bd55c974]{display:flex;align-items:center;gap:.6rem;color:var(--color-tint-blue-text)}.progress-table code[data-v-bd55c974]{background:var(--color-tint-blue);padding:.1rem .45rem;border-radius:3px;font-size:.78rem}.progress-count[data-v-bd55c974]{color:var(--color-tint-blue-text);font-variant-numeric:tabular-nums;font-weight:500}.progress-bar[data-v-bd55c974]{height:6px;background:var(--color-tint-blue);border-radius:999px;overflow:hidden}.progress-bar-fill[data-v-bd55c974]{height:100%;background:linear-gradient(90deg,#2563eb,#3b82f6);transition:width .4s ease}.spinner[data-v-bd55c974]{width:14px;height:14px;border:2px solid var(--color-tint-blue-border);border-top-color:var(--color-accent);border-radius:50%;display:inline-block;animation:spin-bd55c974 .8s linear infinite}@keyframes spin-bd55c974{to{transform:rotate(360deg)}}.toast[data-v-bd55c974]{display:flex;align-items:center;gap:1rem;padding:.7rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.toast-success[data-v-bd55c974]{background:var(--color-tint-green);color:var(--color-tint-green-text);border:1px solid var(--color-tint-green-border)}.toast-error[data-v-bd55c974]{background:var(--color-tint-red);color:var(--color-tint-red-text);border:1px solid var(--color-tint-red-border)}.toast-close[data-v-bd55c974]{margin-left:auto;background:transparent;border:none;cursor:pointer;color:inherit;font-size:1.1rem;opacity:.6}.toast-close[data-v-bd55c974]:hover{opacity:1}.fade-enter-active[data-v-bd55c974],.fade-leave-active[data-v-bd55c974]{transition:opacity .3s ease}.fade-enter-from[data-v-bd55c974],.fade-leave-to[data-v-bd55c974]{opacity:0}.meta-line[data-v-bd55c974]{font-size:.8rem;color:var(--color-text-default);margin-bottom:.75rem}.meta-line code[data-v-bd55c974]{background:var(--color-bg-surface);padding:.1rem .4rem;border-radius:3px;border:1px solid var(--color-border)}.table-breakdown[data-v-bd55c974]{width:100%;border-collapse:collapse;font-size:.8rem;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:4px}.table-breakdown th[data-v-bd55c974],.table-breakdown td[data-v-bd55c974]{padding:.4rem .75rem;border-bottom:1px solid var(--color-bg-surface-alt)}.table-breakdown th[data-v-bd55c974]{background:var(--color-bg-surface-alt);font-weight:600}.table-row[data-v-bd55c974]{cursor:pointer}.table-row[data-v-bd55c974]:hover{background:var(--color-table-row-alt)}.table-row.active[data-v-bd55c974]{background:var(--color-bg-hover)}.caret[data-v-bd55c974]{display:inline-block;width:1rem;color:var(--color-text-muted)}.diff-row>td[data-v-bd55c974]{background:var(--color-bg-surface-alt);padding:.75rem 1rem}.diff-grid[data-v-bd55c974]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.diff-label[data-v-bd55c974]{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem}.diff-label.created[data-v-bd55c974]{color:var(--color-tint-green-text)}.diff-label.updated[data-v-bd55c974]{color:var(--color-tint-blue-text)}.diff-label.deleted[data-v-bd55c974]{color:var(--color-tint-red-text)}.id-list[data-v-bd55c974]{list-style:none;padding:0;margin:0;max-height:200px;overflow-y:auto}.id-list li[data-v-bd55c974]{padding:.15rem 0}.id-list code[data-v-bd55c974]{font-size:.7rem;color:var(--color-text-default)}.id-list li.more[data-v-bd55c974]{color:var(--color-text-muted);font-style:italic}.no-diffs[data-v-bd55c974]{color:var(--color-text-faint);font-style:italic}.user-cell[data-v-302759e4]{display:flex;flex-direction:column}.user-email[data-v-302759e4]{font-size:.75rem;color:var(--color-text-muted)}.pageview-list[data-v-302759e4]{width:100%;border-collapse:collapse;font-size:.8rem;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:4px}.pageview-list th[data-v-302759e4],.pageview-list td[data-v-302759e4]{padding:.35rem .75rem;border-bottom:1px solid var(--color-bg-surface-alt);text-align:left}.pageview-list th[data-v-302759e4]{background:var(--color-bg-surface-alt);font-weight:600}.pageview-list code[data-v-302759e4]{font-size:.75rem}.sub-counts[data-v-5d8088b2]{display:inline-flex;gap:.4rem;font-size:.75rem;font-weight:400}.meta-grid[data-v-5d8088b2]{display:grid;grid-template-columns:max-content 1fr;gap:.3rem 1rem;font-size:.8rem;margin:0 0 .75rem}.meta-grid dt[data-v-5d8088b2]{color:var(--color-text-muted);text-transform:uppercase;font-size:.7rem;letter-spacing:.04em}.meta-grid dd[data-v-5d8088b2]{margin:0;color:var(--color-text-primary)}.meta-grid code[data-v-5d8088b2]{font-size:.75rem;word-break:break-all}.payload[data-v-5d8088b2]{background:var(--color-table-header-bg);color:var(--color-border);padding:.75rem;border-radius:4px;font-size:.75rem;overflow-x:auto;max-height:400px}.sub-actions[data-v-5d8088b2]{display:flex;gap:.5rem;align-items:center;margin-bottom:.75rem;flex-wrap:wrap}.action-status[data-v-5d8088b2]{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-text-muted);font-size:.8rem}.action-status .spinner[data-v-5d8088b2]{width:12px;height:12px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;display:inline-block;animation:spin-5d8088b2 .8s linear infinite}@keyframes spin-5d8088b2{to{transform:rotate(360deg)}}.action-result[data-v-5d8088b2]{border-radius:4px;padding:.5rem .75rem;margin-bottom:.75rem;font-size:.85rem;line-height:1.5}.action-result.is-ok[data-v-5d8088b2]{background:var(--color-tint-green);color:var(--color-tint-green-text);border:1px solid var(--color-tint-green-border)}.action-result.is-fail[data-v-5d8088b2]{background:var(--color-tint-red);color:var(--color-tint-red-text);border:1px solid var(--color-tint-red-border)}.action-result code[data-v-5d8088b2]{font-size:.8rem}.action-result .fail-detail[data-v-5d8088b2]{display:block;margin-top:.25rem}.template-picker[data-v-d9eda6da]{font-family:Inter,sans-serif;font-size:.8rem;color:#d1d5db}.picker-row[data-v-d9eda6da]{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.picker-toggle[data-v-d9eda6da]{display:inline-flex;align-items:center;gap:6px;cursor:pointer;-webkit-user-select:none;user-select:none;color:#9ca3af}.picker-toggle input[type=checkbox][data-v-d9eda6da]{cursor:pointer;accent-color:#3b82f6}.picker-select[data-v-d9eda6da]{padding:6px 10px;background:#374151;color:#d1d5db;border:1px solid #4b5563;border-radius:4px;font-size:.8rem;font-family:inherit;min-width:220px}.picker-select[data-v-d9eda6da]:disabled{opacity:.6;cursor:not-allowed}.picker-btn[data-v-d9eda6da]{padding:6px 14px;background:#1d4ed8;color:#fff;border:none;border-radius:4px;font-size:.8rem;cursor:pointer}.picker-btn[data-v-d9eda6da]:hover:not(:disabled){background:#2563eb}.picker-btn[data-v-d9eda6da]:disabled{opacity:.5;cursor:not-allowed}.picker-error[data-v-d9eda6da]{margin-top:6px;color:#fca5a5;font-size:.75rem}.is-disabled[data-v-d9eda6da]{opacity:.6;pointer-events:none}.modal-backdrop[data-v-da0af775]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-da0af775]{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;width:620px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;color:var(--color-text-default);box-shadow:0 10px 40px #00000080}.modal-header[data-v-da0af775]{display:flex;justify-content:space-between;align-items:flex-start;padding:14px 18px;border-bottom:1px solid var(--color-border)}.modal-header h3[data-v-da0af775]{margin:0;font-size:1rem;color:var(--color-text-primary)}.subtitle[data-v-da0af775]{font-size:.75rem;color:var(--color-text-muted);margin-top:2px}.btn-close[data-v-da0af775]{background:transparent;border:none;color:var(--color-text-muted);font-size:1.5rem;cursor:pointer;line-height:1}.btn-close[data-v-da0af775]:hover{color:#fff}.modal-body[data-v-da0af775]{padding:16px 18px;overflow-y:auto;flex:1}.hint[data-v-da0af775]{font-size:.75rem;color:var(--color-text-muted);padding:4px 0}.demand-row[data-v-da0af775]{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap}.input[data-v-da0af775]{padding:6px 10px;background:var(--color-bg-surface-alt);color:var(--color-text-default);border:1px solid var(--color-btn-secondary-border);border-radius:4px;font-size:.8rem}.input.tiny[data-v-da0af775]{width:70px}.input[data-v-da0af775]:focus{outline:none;border-color:var(--color-accent-hover)}.demand-resource[data-v-da0af775]{flex:1;min-width:200px}.mode-select[data-v-da0af775]{width:100px}.demand-pin[data-v-da0af775]{width:140px}.btn-row-del[data-v-da0af775]{background:transparent;color:var(--color-text-muted);border:none;cursor:pointer;padding:2px 6px;font-size:1rem;line-height:1}.btn-row-del[data-v-da0af775]:hover{color:var(--color-danger)}.btn-add-demand[data-v-da0af775]{margin-top:4px;padding:4px 10px;background:transparent;border:1px dashed var(--color-btn-secondary-border);color:var(--color-text-muted);border-radius:4px;font-size:.75rem;cursor:pointer}.btn-add-demand[data-v-da0af775]:hover{color:var(--color-text-default);border-color:var(--color-text-muted)}.totals-row[data-v-da0af775]{margin-top:12px;padding-top:10px;border-top:1px solid var(--color-border);font-size:.75rem;color:var(--color-text-muted)}.totals-label[data-v-da0af775]{color:var(--color-text-muted)}.totals-value[data-v-da0af775]{color:var(--color-text-primary);font-weight:600;margin-left:4px}.totals-detail[data-v-da0af775]{margin-left:8px}.over-tag[data-v-da0af775]{color:var(--color-warn-soft);background:var(--color-tint-yellow);padding:1px 5px;border-radius:3px;margin-left:6px;font-size:.65rem}.override-flag[data-v-da0af775]{display:inline-flex;align-items:center;font-size:.65rem;color:var(--color-warn-soft);background:var(--color-tint-yellow);padding:2px 6px;border-radius:3px}.modal-footer[data-v-da0af775]{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--color-border)}.btn-cancel[data-v-da0af775]{padding:6px 16px;background:var(--color-bg-surface-alt);color:var(--color-text-default);border:1px solid var(--color-btn-secondary-border);border-radius:4px;font-size:.8rem;cursor:pointer}.btn-save[data-v-da0af775]{padding:6px 18px;background:var(--color-success);color:#fff;border:none;border-radius:4px;font-size:.8rem;cursor:pointer;font-weight:600}.btn-save[data-v-da0af775]:hover{background:var(--color-success);filter:brightness(.85)}.btn-save[data-v-da0af775]:disabled{opacity:.5;cursor:not-allowed}.hsheet[data-v-f62d598b]{display:flex;flex-direction:column;flex:1;min-height:0}.sheet-container[data-v-f62d598b]{flex:1;overflow:auto}.sheet-grid[data-v-f62d598b]{position:relative;display:flex;flex-direction:column}.grid-header[data-v-f62d598b],.grid-row[data-v-f62d598b]{display:flex;align-items:stretch;border-bottom:1px solid var(--color-border-light)}.grid-header[data-v-f62d598b]{position:sticky;top:0;z-index:5;background:var(--color-bg-surface);border-bottom:2px solid var(--color-btn-secondary-border);font-family:Inter,sans-serif;font-weight:600;color:var(--color-text-muted);font-size:.72rem}.row-list[data-v-f62d598b]{list-style:none;margin:0;padding:0}.grid-row[data-v-f62d598b]{font-size:.78rem;background:var(--color-bg-page)}.grid-row[data-v-f62d598b]:hover{background:var(--color-bg-hover)}.grid-row[data-parent=true]>.col-name[data-v-f62d598b-s],.grid-row[data-parent=true] .col-name[data-v-f62d598b-s]>input.name-input{font-weight:600}.grid-row[data-dragging=true][data-v-f62d598b]{opacity:.55;background:var(--color-tint-blue)!important;outline:2px solid var(--color-accent-hover);outline-offset:-2px}.grid-row[data-descendant-of-dragged=true][data-v-f62d598b]{opacity:.7;background:#3b82f60f!important}.col-handle[data-v-f62d598b]{width:28px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;cursor:grab;color:var(--color-text-faint);-webkit-user-select:none;user-select:none;background:#ffffff0a;min-height:32px;border-right:1px solid var(--color-border-light)}.col-handle[data-v-f62d598b]:hover{color:var(--color-text-muted);background:#ffffff12}.col-handle[data-v-f62d598b]:active{cursor:grabbing}.handle-grip[data-v-f62d598b]{font-size:.85rem;line-height:1;letter-spacing:-2px;font-family:ui-monospace,monospace}.grid-header .col.col-handle[data-v-f62d598b]{background:#ffffff0d;cursor:default;border-right:1px solid var(--color-border)}.fold-toolbar[data-v-f62d598b]{display:flex;align-items:center;gap:6px;padding:5px 10px;background:var(--color-bg-page);border-bottom:1px solid var(--color-border-light);flex:0 0 auto;min-height:32px}.btn-fold-all[data-v-f62d598b]{display:flex;align-items:center;gap:4px;background:transparent;color:var(--color-text-faint);border:1px solid var(--color-border);border-radius:4px;font-size:.72rem;padding:2px 8px;cursor:pointer;font-family:Inter,sans-serif;transition:color .15s,border-color .15s,background .15s}.btn-fold-all[data-v-f62d598b]:hover{color:var(--color-text-default);border-color:var(--color-text-faint);background:var(--color-bg-surface)}.fold-icon[data-v-f62d598b]{font-size:.85rem;line-height:1}.row-num-wrap[data-v-f62d598b]{display:flex;align-items:center;justify-content:center;gap:2px;width:100%;height:100%}.btn-fold[data-v-f62d598b]{background:transparent;color:var(--color-text-faint);border:1px solid var(--color-border);border-radius:3px;font-size:.78rem;line-height:1;width:16px;height:16px;padding:0;cursor:pointer;font-family:ui-monospace,monospace;display:flex;align-items:center;justify-content:center;flex:0 0 auto}.btn-fold[data-v-f62d598b]:hover:not(.btn-fold-hidden){background:var(--color-btn-secondary-bg);color:var(--color-text-primary);border-color:var(--color-text-faint)}.btn-fold-hidden[data-v-f62d598b]{visibility:hidden;pointer-events:none}.row-num[data-v-f62d598b]{font-size:.7rem;color:var(--color-text-faint);font-family:ui-monospace,monospace;min-width:14px;text-align:center}.fold-vline[data-v-f62d598b]{position:absolute;left:50%;top:100%;transform:translate(-50%);width:1px;height:999px;background:var(--color-border);pointer-events:none;z-index:0}.fold-vline.fold-vline-hidden[data-v-f62d598b]{display:none}.col-row[data-v-f62d598b]{width:58px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;color:var(--color-text-faint);font-size:.7rem;border-right:1px solid var(--color-bg-surface);overflow:hidden;position:relative}.grid-header .col-row[data-v-f62d598b]{color:var(--color-text-muted);border-right:1px solid var(--color-border)}.col-depth[data-v-f62d598b]{width:76px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;border-right:1px solid var(--color-border-light)}.grid-header .col-depth[data-v-f62d598b]{border-right:1px solid var(--color-border)}.depth-controls[data-v-f62d598b]{display:flex;align-items:center;gap:1px}.btn-depth[data-v-f62d598b]{background:transparent;color:var(--color-text-faint);border:1px solid var(--color-border);border-radius:3px;font-size:.8rem;line-height:1;padding:1px 5px;cursor:pointer;font-family:ui-monospace,monospace}.btn-depth[data-v-f62d598b]:hover:not(:disabled){background:var(--color-btn-secondary-bg);color:var(--color-text-default)}.btn-depth[data-v-f62d598b]:disabled{opacity:.3;cursor:not-allowed}.depth-val[data-v-f62d598b]{font-size:.7rem;color:var(--color-text-muted);font-family:ui-monospace,monospace;min-width:16px;text-align:center}.drag-depth-hint[data-v-f62d598b]{position:absolute;top:32px;bottom:0;width:2px;background:var(--color-btn-secondary-border);pointer-events:none;z-index:4;opacity:.45}.drag-depth-hint-active[data-v-f62d598b]{background:var(--color-accent-hover);opacity:.85;width:3px;box-shadow:0 0 6px color-mix(in srgb,var(--color-accent-hover) 60%,transparent)}.sheet-footer[data-v-f62d598b]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--color-border);background:var(--color-bg-page);flex:0 0 auto}.hsheet .col{display:flex;align-items:center;flex:0 0 auto;min-height:32px;padding:0 6px;border-right:1px solid var(--color-border-light);overflow:hidden;box-sizing:border-box}.hsheet .grid-header .col{padding:7px 6px;border-right:1px solid var(--color-border);white-space:nowrap}.task-sheet-page[data-v-3ad5352d]{height:100%;display:flex;flex-direction:column;background:var(--color-bg-page);color:var(--color-text-default);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.toolbar[data-v-3ad5352d]{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);flex:0 0 auto}.toolbar-left[data-v-3ad5352d]{display:flex;align-items:center;gap:8px;font-family:Inter,sans-serif}.toolbar-left h2[data-v-3ad5352d]{margin:0;font-size:1rem;font-weight:600}.toolbar-right[data-v-3ad5352d]{display:flex;align-items:center;gap:12px}.back-link[data-v-3ad5352d]{color:var(--color-accent-hover);text-decoration:none;font-size:.85rem}.back-link[data-v-3ad5352d]:hover{text-decoration:underline}.sep[data-v-3ad5352d]{color:var(--color-text-faint)}.task-count[data-v-3ad5352d]{font-size:.8rem;color:var(--color-text-muted)}.btn-tool[data-v-3ad5352d]{padding:5px 10px;background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:1px solid var(--color-btn-secondary-border);border-radius:4px;font-size:.8rem;cursor:pointer}.btn-tool[data-v-3ad5352d]:hover{background:var(--color-btn-secondary-hover)}.btn-tool[data-v-3ad5352d]:disabled{opacity:.5;cursor:not-allowed}.btn-tool.btn-add[data-v-3ad5352d]{background:var(--color-accent);border-color:var(--color-accent-hover);color:#fff}.btn-tool.btn-add[data-v-3ad5352d]:hover{background:var(--color-accent-hover)}.template-bar[data-v-3ad5352d]{display:flex;align-items:flex-end;gap:16px;padding:10px 16px;background:var(--color-bg-surface-alt);border-bottom:1px solid var(--color-border);flex:0 0 auto;font-family:Inter,sans-serif;flex-wrap:wrap}.template-bar .form-group-inline[data-v-3ad5352d]{display:flex;flex-direction:column;gap:3px}.template-bar .form-group-inline label[data-v-3ad5352d]{font-size:.65rem;color:var(--color-text-muted);text-transform:uppercase}.template-bar .bar-select[data-v-3ad5352d]{width:220px;height:32px;padding:6px 10px;background:var(--color-input-bg);color:var(--color-input-text);border:1px solid var(--color-input-border);border-radius:4px;font-size:.8rem;outline:none}.loading-state[data-v-3ad5352d],.empty-state[data-v-3ad5352d]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:.9rem}[data-v-3ad5352d] .grid-row[data-new=true]{background:#22c55e12}[data-v-3ad5352d] .grid-row[data-dirty=true]{background:var(--color-tint-blue)}[data-v-3ad5352d] .grid-row[data-inconsistent=true]{background:#ef44441a!important}[data-v-3ad5352d] .project-link{color:var(--color-accent-hover);text-decoration:none;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:130px}[data-v-3ad5352d] .project-link:hover{text-decoration:underline}[data-v-3ad5352d] .project-name{font-size:.78rem;color:var(--color-text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block;max-width:130px}[data-v-3ad5352d] .cell-input{width:100%;height:28px;padding:4px 8px;background:transparent;color:var(--color-text-default);border:none;outline:none;font-size:.78rem;font-family:inherit;box-sizing:border-box}[data-v-3ad5352d] .cell-input:focus{background:var(--color-input-bg);outline:1px solid var(--color-accent-hover);outline-offset:-1px}[data-v-3ad5352d] .cell-input::placeholder{color:var(--color-text-faint);font-style:italic}[data-v-3ad5352d] .cell-input:disabled{color:var(--color-text-muted);cursor:not-allowed}[data-v-3ad5352d] .num-input{text-align:right}[data-v-3ad5352d] .name-input{font-family:Inter,sans-serif}[data-v-3ad5352d] .pred-input{text-align:left}[data-v-3ad5352d] .pred-input.rel-error{color:var(--color-danger);outline:1px solid var(--color-danger);outline-offset:-1px}[data-v-3ad5352d] .date-input.date-manual{color:var(--color-accent-hover);font-weight:600}[data-v-3ad5352d] .date-input.date-inferred{color:var(--color-text-primary)}[data-v-3ad5352d] .date-input.date-rollup{color:#a78bfa;font-style:italic}[data-v-3ad5352d] .date-input.date-offset{color:var(--color-text-muted);font-style:italic}[data-v-3ad5352d] .date-input.date-zero{color:var(--color-text-faint);font-style:italic}[data-v-3ad5352d] .date-input.date-conflict{color:var(--color-danger);font-weight:600}[data-v-3ad5352d] .successor-display{display:flex;flex-wrap:wrap;gap:4px;padding:4px;align-items:center}[data-v-3ad5352d] .succ-chip{background:var(--color-btn-secondary-bg);color:var(--color-text-default);padding:1px 6px;border-radius:3px;font-size:.7rem;white-space:nowrap;line-height:1.3}[data-v-3ad5352d] .succ-chip sub{font-size:.6rem;color:var(--color-text-muted);margin-left:2px;vertical-align:baseline}[data-v-3ad5352d] .succ-chip.succ-conflict{background:var(--color-tint-red);color:var(--color-tint-red-text)}[data-v-3ad5352d] .succ-chip.succ-conflict sub{color:var(--color-tint-red-text)}[data-v-3ad5352d] .succ-chip-link{cursor:pointer}[data-v-3ad5352d] .succ-chip-link:hover{background:var(--color-btn-secondary-hover);color:var(--color-text-primary)}@keyframes row-flash-3ad5352d{0%{background:#3b82f659}to{background:transparent}}[data-v-3ad5352d] .grid-row.row-highlight{animation:row-flash-3ad5352d 1.2s ease-out forwards}[data-v-3ad5352d] .placeholder{color:var(--color-text-faint);font-style:italic;padding:0 6px}[data-v-3ad5352d] .placeholder-text{font-size:.65rem;color:var(--color-text-muted);font-style:italic}[data-v-3ad5352d] .btn-resources{padding:3px 10px;background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:1px solid var(--color-btn-secondary-border);border-radius:4px;font-size:.75rem;cursor:pointer;min-width:32px}[data-v-3ad5352d] .btn-resources:hover{background:var(--color-btn-secondary-hover)}[data-v-3ad5352d] .btn-resources .placeholder{color:var(--color-text-faint);padding:0}[data-v-3ad5352d] .btn-row{padding:3px 8px;border-radius:3px;font-size:.7rem;cursor:pointer;border:none;font-family:Inter,sans-serif;margin:0 2px}[data-v-3ad5352d] .btn-save{background:var(--color-success);color:#fff}[data-v-3ad5352d] .btn-save:hover{filter:brightness(.85)}[data-v-3ad5352d] .btn-save:disabled{opacity:.5;cursor:not-allowed}[data-v-3ad5352d] .btn-del{background:transparent;color:var(--color-danger);border:1px solid var(--color-tint-red-border);font-size:.85rem;line-height:1;padding:2px 6px}[data-v-3ad5352d] .btn-del:hover{background:var(--color-tint-red);color:var(--color-tint-red-text)}.btn-save-all[data-v-3ad5352d]{background:var(--color-success);color:#fff;border:none;border-radius:3px;padding:6px 12px;font-size:.78rem;cursor:pointer;font-family:Inter,sans-serif;font-weight:600;white-space:nowrap}.btn-save-all[data-v-3ad5352d]:hover:not(:disabled){filter:brightness(.85)}.btn-save-all[data-v-3ad5352d]:disabled{opacity:.6;cursor:not-allowed}[data-v-3ad5352d] .btn-footer-add{padding:5px 12px;background:var(--color-bg-surface);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:4px;font-size:.78rem;cursor:pointer}[data-v-3ad5352d] .btn-footer-add:hover{background:var(--color-btn-secondary-bg);color:var(--color-text-primary)}.global-error[data-v-3ad5352d]{padding:8px 16px;background:var(--color-tint-red);color:var(--color-tint-red-text);font-size:.8rem;font-family:Inter,sans-serif;flex:0 0 auto}.task-sheet-page .col-id .placeholder[data-v-3ad5352d]{color:var(--color-text-faint);font-style:italic}.task-sheet-page .col-id{width:60px;padding:0 8px;color:var(--color-text-muted);justify-content:flex-end}.task-sheet-page .col-id .placeholder{color:var(--color-text-faint);font-style:italic}.task-sheet-page .col-project{width:140px;padding:0 8px}.task-sheet-page .col-name{width:240px;overflow:visible}.task-sheet-page .col-date{width:108px}.task-sheet-page .col-hours{width:70px}.task-sheet-page .col-pred{width:180px}.task-sheet-page .col-succ{width:160px}.task-sheet-page .col-so-ro{width:120px;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 8px;font-size:.72rem}.task-sheet-page .col-so-amt{width:90px;color:var(--color-text-muted);padding:0 8px;font-size:.72rem;justify-content:flex-end}.task-sheet-page .col-assignee,.task-sheet-page .col-flag{width:140px}.task-sheet-page .col-status{width:110px}.task-sheet-page .col-resources{width:90px;justify-content:center}.task-sheet-page .col-actions{width:90px;padding:4px;justify-content:center}.so-page[data-v-62b14c8b]{height:100%;display:flex;flex-direction:column;background:var(--color-bg-page);color:var(--color-text-default)}.toolbar[data-v-62b14c8b]{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.toolbar-left[data-v-62b14c8b]{display:flex;align-items:center;gap:16px}.toolbar-left h2[data-v-62b14c8b]{margin:0;font-size:1rem;font-weight:600}.toolbar-right[data-v-62b14c8b]{font-size:.8rem;color:var(--color-text-muted)}.search-input[data-v-62b14c8b]{padding:6px 12px;background:var(--color-input-bg);color:var(--color-input-text);border:1px solid var(--color-input-border);border-radius:4px;font-size:.85rem;width:300px}.search-input[data-v-62b14c8b]::placeholder{color:var(--color-text-muted)}.filter-check[data-v-62b14c8b]{display:flex;align-items:center;gap:6px;font-size:.82rem;color:var(--color-text-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.filter-check input[data-v-62b14c8b]{cursor:pointer;accent-color:var(--color-accent)}.table-container[data-v-62b14c8b]{flex:1;overflow:auto;--grid-header-font-size: 12px;--grid-cell-padding: 8px 12px;--grid-cell-cursor: default}.so-no[data-v-62b14c8b]{font-weight:600;color:var(--color-text-primary)}.amount[data-v-62b14c8b]{text-align:right;font-variant-numeric:tabular-nums}.status-badge[data-v-62b14c8b]{padding:2px 8px;border-radius:3px;font-size:.7rem;font-weight:600;text-transform:uppercase}.status-badge.open[data-v-62b14c8b]{background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.status-badge.released[data-v-62b14c8b]{background:var(--color-tint-green);color:var(--color-tint-green-text)}.status-badge.pending[data-v-62b14c8b]{background:var(--color-tint-yellow);color:var(--color-tint-yellow-text)}.actions-cell[data-v-62b14c8b]{text-align:right}.btn-action[data-v-62b14c8b]{padding:3px 10px;border-radius:3px;font-size:.75rem;cursor:pointer;border:1px solid;white-space:nowrap}.btn-action[data-v-62b14c8b]:disabled{opacity:.5;cursor:not-allowed}.btn-create[data-v-62b14c8b]{background:var(--color-tint-blue);color:var(--color-tint-blue-text);border-color:var(--color-tint-blue-border)}.btn-create[data-v-62b14c8b]:hover:not(:disabled){background:var(--color-accent);color:#fff}.btn-open[data-v-62b14c8b]{background:var(--color-tint-green);color:var(--color-tint-green-text);border-color:var(--color-tint-green-border)}.btn-open[data-v-62b14c8b]:hover:not(:disabled){background:var(--color-success);color:#fff}.loading-state[data-v-62b14c8b]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.so-detail-page[data-v-a57234de]{height:100%;display:flex;flex-direction:column;background:var(--color-bg-page);color:var(--color-text-default);overflow:hidden}.toolbar[data-v-a57234de]{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);flex:0 0 auto}.toolbar-left[data-v-a57234de]{display:flex;align-items:center;gap:8px}.toolbar-left h2[data-v-a57234de]{margin:0;font-size:1rem;font-weight:600}.customer-label[data-v-a57234de]{font-size:.82rem;color:var(--color-text-muted);margin-left:4px}.toolbar-right[data-v-a57234de]{display:flex;align-items:center;gap:10px;font-size:.8rem}.back-link[data-v-a57234de]{color:var(--color-accent-hover);text-decoration:none;font-size:.85rem}.back-link[data-v-a57234de]:hover{text-decoration:underline}.sep[data-v-a57234de]{color:var(--color-text-faint)}.btn-tool[data-v-a57234de]{padding:5px 10px;background:var(--color-bg-surface-alt);color:var(--color-text-default);border:1px solid var(--color-btn-secondary-border);border-radius:4px;font-size:.8rem;cursor:pointer}.btn-tool[data-v-a57234de]:hover:not(:disabled){background:var(--color-btn-secondary-hover)}.btn-tool[data-v-a57234de]:disabled{opacity:.5;cursor:not-allowed}.btn-save-all[data-v-a57234de]{padding:5px 12px;background:var(--color-success);color:#fff;border:none;border-radius:4px;font-size:.8rem;font-weight:600;cursor:pointer}.btn-save-all[data-v-a57234de]:hover:not(:disabled){background:var(--color-success);filter:brightness(.85)}.btn-save-all[data-v-a57234de]:disabled{opacity:.5;cursor:not-allowed}.loading-state[data-v-a57234de],.error-state[data-v-a57234de]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:.9rem}.error-state[data-v-a57234de]{color:var(--color-danger)}.content[data-v-a57234de]{flex:1;overflow:auto}.section[data-v-a57234de]{border-bottom:1px solid var(--color-border)}.section-header[data-v-a57234de]{padding:10px 16px;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);display:flex;align-items:center;justify-content:space-between}.section-header.collapsible[data-v-a57234de]{cursor:pointer;-webkit-user-select:none;user-select:none}.section-header.collapsible[data-v-a57234de]:hover{background:var(--color-bg-hover)}.section-header h3[data-v-a57234de]{margin:0;font-size:.9rem;font-weight:600}.collapse-icon[data-v-a57234de]{color:var(--color-text-muted);font-size:.7rem}.section-actions[data-v-a57234de]{display:flex;align-items:center;gap:8px}.task-count[data-v-a57234de]{font-size:.8rem;color:var(--color-text-muted)}.btn-create-project[data-v-a57234de]{margin:16px;padding:8px 20px;background:var(--color-tint-blue);color:var(--color-accent-hover);border:1px solid var(--color-tint-blue-border);border-radius:4px;font-size:.85rem;cursor:pointer}.btn-create-project[data-v-a57234de]:hover:not(:disabled){background:var(--color-accent);color:#fff}.btn-create-project[data-v-a57234de]:disabled{opacity:.5;cursor:not-allowed}.timeline[data-v-a57234de]{padding:8px 16px 12px}.tl-row[data-v-a57234de]{display:flex;gap:16px;padding:5px 0;border-bottom:1px solid var(--color-border-light);font-size:.8rem;align-items:baseline}.tl-label[data-v-a57234de]{width:180px;flex:0 0 auto;color:var(--color-text-muted);font-size:.75rem}.tl-value[data-v-a57234de]{color:var(--color-text-primary)}.tl-line .tl-value[data-v-a57234de]{color:var(--color-warn-soft)}.tl-none[data-v-a57234de]{color:var(--color-text-faint);font-style:italic}.field-grid[data-v-a57234de]{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr))}.field-row[data-v-a57234de]{display:flex;gap:12px;padding:5px 16px;border-bottom:1px solid var(--color-border-light);font-size:.8rem;align-items:baseline}.field-row[data-v-a57234de]:hover{background:var(--color-bg-hover)}.field-key[data-v-a57234de]{width:220px;flex:0 0 auto;color:var(--color-text-muted);font-family:monospace;font-size:.75rem}.field-value[data-v-a57234de]{color:var(--color-text-primary);word-break:break-all}.table-wrap[data-v-a57234de]{overflow-x:auto}.lines-table[data-v-a57234de]{width:100%;border-collapse:collapse;font-size:.75rem;white-space:nowrap}.lines-table th[data-v-a57234de]{position:sticky;top:0;background:var(--color-bg-surface);padding:7px 10px;text-align:left;color:var(--color-text-muted);font-weight:600;border-bottom:2px solid var(--color-btn-secondary-border);font-family:monospace;font-size:.7rem}.lines-table td[data-v-a57234de]{padding:6px 10px;border-bottom:1px solid var(--color-border);color:var(--color-text-default)}.sheet-container[data-v-a57234de]{display:flex;flex-direction:column}.sheet-grid[data-v-a57234de]{font-size:.78rem;font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.grid-header[data-v-a57234de]{display:flex;background:var(--color-bg-surface);border-bottom:2px solid var(--color-btn-secondary-border);min-width:max-content}.row-list[data-v-a57234de]{list-style:none;margin:0;padding:0;min-width:max-content}.grid-row[data-v-a57234de]{display:flex;align-items:stretch;border-bottom:1px solid var(--color-border)}.grid-row[data-v-a57234de]:hover{background:var(--color-bg-hover)}.grid-row[data-new=true][data-v-a57234de]{background:#3b82f60d}.grid-row[data-dirty=true][data-v-a57234de]{background:#eab3080f}.grid-row[data-parent=true]>.col-name[data-v-a57234de]{font-weight:600}.col[data-v-a57234de]{display:flex;align-items:center;flex:0 0 auto;padding:0 6px;border-right:1px solid var(--color-border-light);min-height:32px}.grid-header .col[data-v-a57234de]{padding:7px 6px;color:var(--color-text-muted);font-weight:600;font-size:.72rem;font-family:Inter,sans-serif}.col-row[data-v-a57234de]{width:36px;justify-content:center;flex:0 0 auto;color:var(--color-text-faint);font-size:.7rem}.col-depth[data-v-a57234de]{width:72px;flex:0 0 auto}.col-name[data-v-a57234de]{width:220px;flex:0 0 auto;overflow:visible}.col-hours[data-v-a57234de]{width:64px;flex:0 0 auto}.col-date[data-v-a57234de]{width:120px;flex:0 0 auto}.col-rel[data-v-a57234de]{width:96px;flex:0 0 auto}.col-succ[data-v-a57234de]{width:100px;flex:0 0 auto}.col-assignee[data-v-a57234de]{width:130px;flex:0 0 auto}.col-flag[data-v-a57234de]{width:90px;flex:0 0 auto}.col-status[data-v-a57234de]{width:110px;flex:0 0 auto}.col-resources[data-v-a57234de]{width:72px;flex:0 0 auto;justify-content:center}.col-actions[data-v-a57234de]{width:40px;flex:0 0 auto;justify-content:center}.cell-input[data-v-a57234de]{width:100%;background:transparent;border:none;outline:none;color:var(--color-text-default);font-size:.78rem;font-family:inherit;padding:4px 2px}.cell-input[data-v-a57234de]:focus{background:var(--color-bg-surface);border-radius:3px;outline:1px solid var(--color-accent)}.num-input[data-v-a57234de]{text-align:right}.name-input[data-v-a57234de]{font-family:Inter,sans-serif}.rel-input[data-v-a57234de]{text-align:center}.rel-error[data-v-a57234de]{outline:1px solid var(--color-danger)!important}.date-input[data-v-a57234de]{font-family:ui-monospace,monospace;font-size:.75rem}.date-manual[data-v-a57234de]{color:var(--color-accent-hover);font-weight:600}.date-inferred[data-v-a57234de]{color:var(--color-text-default)}.date-offset[data-v-a57234de]{color:#a78bfa}.date-rollup[data-v-a57234de]{color:var(--color-text-muted);font-style:italic}.date-zero[data-v-a57234de]{color:var(--color-tint-green-text)}.date-conflict[data-v-a57234de]{color:var(--color-danger);font-weight:600}select.cell-input[data-v-a57234de]{cursor:pointer;padding:3px 2px;background:transparent}select.cell-input option[data-v-a57234de]{background:var(--color-bg-surface);color:var(--color-text-default)}.depth-controls[data-v-a57234de]{display:flex;align-items:center;gap:3px}.btn-depth[data-v-a57234de]{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:2px;font-size:.8rem;line-height:1;padding:1px 4px;cursor:pointer}.btn-depth[data-v-a57234de]:hover:not(:disabled){background:var(--color-bg-surface-alt);color:#fff}.btn-depth[data-v-a57234de]:disabled{opacity:.3;cursor:not-allowed}.depth-val[data-v-a57234de]{font-size:.72rem;color:var(--color-text-muted);min-width:14px;text-align:center}.successor-display[data-v-a57234de]{display:flex;flex-wrap:wrap;gap:3px;align-items:center}.succ-chip[data-v-a57234de]{background:var(--color-tint-blue);color:var(--color-tint-blue-text);border-radius:3px;padding:1px 5px;font-size:.7rem;white-space:nowrap}.btn-resources[data-v-a57234de]{padding:2px 8px;background:var(--color-bg-surface-alt);color:var(--color-text-default);border:1px solid var(--color-btn-secondary-border);border-radius:4px;font-size:.72rem;cursor:pointer;min-width:28px}.btn-resources[data-v-a57234de]:hover{background:var(--color-btn-secondary-hover)}.btn-row[data-v-a57234de]{background:transparent;border:1px solid;border-radius:3px;font-size:.75rem;cursor:pointer;padding:2px 6px}.btn-del[data-v-a57234de]{color:var(--color-danger);border-color:var(--color-tint-red-border)}.btn-del[data-v-a57234de]:hover{background:var(--color-tint-red);color:#fff}.placeholder[data-v-a57234de]{color:var(--color-text-faint)}.placeholder-text[data-v-a57234de]{font-size:.7rem;color:var(--color-text-faint);font-style:italic}.loading-state-sm[data-v-a57234de]{padding:16px;text-align:center;color:var(--color-text-muted);font-size:.85rem}.tasks-error[data-v-a57234de]{padding:8px 16px;background:var(--color-tint-red);color:#fff;font-size:.8rem}.empty[data-v-a57234de],.empty-state[data-v-a57234de]{padding:24px;text-align:center;color:var(--color-text-faint);font-size:.85rem}.sheet-footer[data-v-a57234de]{display:flex;align-items:center;gap:8px;padding:8px 12px;border-top:1px solid var(--color-border);background:var(--color-bg-page);flex:0 0 auto}.btn-footer-add[data-v-a57234de]{padding:5px 12px;background:var(--color-bg-surface);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:4px;font-size:.78rem;cursor:pointer}.btn-footer-add[data-v-a57234de]:hover{background:var(--color-bg-surface-alt);color:var(--color-text-primary)}.btn-footer-template[data-v-a57234de]{color:#a78bfa;border-color:#7c3aed}.btn-footer-template[data-v-a57234de]:hover{background:#7c3aed;color:#fff}.col-name-with-fill[data-v-a57234de]{overflow:visible!important}.fill-trigger-wrap[data-v-a57234de]{display:flex;align-items:center;flex:0 0 auto}.btn-fill-inline[data-v-a57234de]{flex:0 0 auto;padding:2px 7px;background:transparent;color:#a78bfa;border:1px solid #7c3aed;border-radius:3px;font-size:.7rem;cursor:pointer;white-space:nowrap}.btn-fill-inline[data-v-a57234de]:hover{background:#7c3aed;color:#fff}.col-handle[data-v-a57234de]{width:28px;flex:0 0 auto;justify-content:center;cursor:grab;color:var(--color-text-faint);-webkit-user-select:none;user-select:none;background:var(--color-bg-surface-alt);opacity:.5}.col-handle[data-v-a57234de]:hover{color:var(--color-text-muted);opacity:.7}.col-handle[data-v-a57234de]:active{cursor:grabbing}.handle-grip[data-v-a57234de]{font-size:.85rem;line-height:1;letter-spacing:-2px;font-family:ui-monospace,monospace}.grid-header .col.col-handle[data-v-a57234de]{background:var(--color-bg-surface-alt);opacity:.7;cursor:default}.sheet-grid[data-v-a57234de]{position:relative}.grid-row[data-dragging=true][data-v-a57234de]{opacity:.6;background:#3b82f633!important;outline:2px solid var(--color-accent);outline-offset:-2px}.grid-row[data-descendant-of-dragged=true][data-v-a57234de]{opacity:.75;background:#3b82f614!important}.drag-depth-hint[data-v-a57234de]{position:absolute;top:32px;bottom:0;width:2px;background:var(--color-btn-secondary-hover);pointer-events:none;z-index:4;opacity:.45}.drag-depth-hint-active[data-v-a57234de]{background:#3b82f6;opacity:.85;width:3px;box-shadow:0 0 6px #3b82f6e6}.rel-cell[data-v-a57234de]{gap:3px;flex-wrap:nowrap;overflow:visible}.rel-cell .rel-input[data-v-a57234de]{min-width:0;flex:1 1 auto}.ext-ref-chip[data-v-a57234de]{display:inline-flex;align-items:center;flex:0 0 auto;padding:1px 5px;background:var(--color-tint-blue);color:var(--color-accent-hover);border-radius:3px;font-size:.68rem;font-weight:600;font-family:ui-monospace,monospace;cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none}.ext-ref-chip[data-v-a57234de]:hover{background:var(--color-accent);color:#fff}.ext-ref-chip sup[data-v-a57234de]{margin-left:1px;font-size:.65rem;color:var(--color-warn-soft)}.ext-ref-chip-anchor[data-v-a57234de]{padding:0 3px;margin-left:2px;background:transparent;color:var(--color-warn-soft);font-size:.85rem;line-height:1}.ext-ref-chip-anchor[data-v-a57234de]:hover{background:transparent;color:var(--color-warn-soft)}.btn-rel-edit[data-v-a57234de]{flex:0 0 auto;width:16px;height:18px;padding:0;background:transparent;color:var(--color-text-faint);border:none;border-radius:2px;font-size:.85rem;line-height:1;cursor:pointer}.btn-rel-edit[data-v-a57234de]:hover{background:var(--color-bg-surface-alt);color:var(--color-text-default)}.date-cell[data-v-a57234de]{position:relative;flex-wrap:nowrap;gap:2px;overflow:visible}.date-cell .date-input[data-v-a57234de]{min-width:0;flex:1 1 auto}.teleported-picker{width:220px;z-index:9999;background:var(--color-bg-surface);border:1px solid var(--color-btn-secondary-border);border-radius:6px;box-shadow:0 8px 24px #00000080;font-family:Inter,sans-serif}.teleported-picker .fill-picker-header{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-bottom:1px solid var(--color-border);font-size:.75rem;color:var(--color-text-muted)}.teleported-picker .fill-picker-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 2px}.teleported-picker .fill-picker-close:hover{color:var(--color-text-default)}.teleported-picker .fill-picker-loading,.teleported-picker .fill-picker-empty{padding:10px;font-size:.78rem;color:var(--color-text-muted);text-align:center}.teleported-picker .fill-picker-list{list-style:none;margin:0;padding:4px 0;max-height:200px;overflow-y:auto}.teleported-picker .fill-picker-item{padding:7px 10px;font-size:.8rem;color:var(--color-text-default);cursor:pointer}.teleported-picker .fill-picker-item:hover{background:var(--color-bg-surface-alt);color:#fff}.rel-editor-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:10000;display:flex;align-items:center;justify-content:center;font-family:Inter,sans-serif}.rel-editor-modal{width:580px;max-width:95vw;max-height:85vh;background:var(--color-bg-surface);border:1px solid var(--color-btn-secondary-border);border-radius:8px;box-shadow:0 12px 32px #0009;display:flex;flex-direction:column;color:var(--color-text-default)}.rel-editor-header{display:flex;justify-content:space-between;align-items:center;padding:12px 16px;border-bottom:1px solid var(--color-border)}.rel-editor-header h3{margin:0;font-size:.95rem;font-weight:600;color:var(--color-text-primary)}.rel-editor-subtitle{font-size:.8rem;font-weight:400;color:var(--color-text-muted);margin-left:6px}.rel-editor-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1.3rem;line-height:1;padding:2px 6px}.rel-editor-close:hover{color:var(--color-text-default)}.rel-editor-body{padding:14px 16px;overflow-y:auto;flex:1 1 auto;min-height:80px}.rel-editor-empty{text-align:center;color:var(--color-text-muted);font-style:italic;padding:20px 0;font-size:.85rem}.rel-editor-row{display:flex;gap:10px;align-items:flex-end;padding:8px 0;border-bottom:1px solid var(--color-border)}.rel-editor-row:last-child{border-bottom:none}.rel-editor-field{flex:1 1 0;display:flex;flex-direction:column;gap:3px;min-width:0}.rel-editor-field label{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.rel-editor-hint{text-transform:none;letter-spacing:0;color:var(--color-text-muted);font-style:italic;margin-left:4px}.rel-editor-input{width:100%;padding:6px 8px;background:var(--color-bg-page);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:4px;font-size:.85rem;font-family:Inter,sans-serif;outline:none}.rel-editor-input:focus{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.rel-editor-input-invalid{border-color:var(--color-danger)}.rel-editor-remove{flex:0 0 auto;width:28px;height:30px;background:transparent;border:1px solid var(--color-tint-red-border);color:var(--color-danger);border-radius:4px;font-size:1rem;cursor:pointer}.rel-editor-remove:hover{background:var(--color-tint-red);color:#fff}.rel-editor-footer{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;border-top:1px solid var(--color-border);background:var(--color-bg-page);border-radius:0 0 8px 8px}.rel-editor-add{padding:6px 12px;background:transparent;color:var(--color-accent-hover);border:1px solid var(--color-tint-blue-border);border-radius:4px;font-size:.82rem;cursor:pointer}.rel-editor-add:hover{background:var(--color-tint-blue);color:#fff}.rel-editor-actions{display:flex;gap:8px}.rel-editor-cancel{padding:6px 14px;background:var(--color-bg-surface-alt);color:var(--color-text-default);border:1px solid var(--color-btn-secondary-border);border-radius:4px;font-size:.82rem;cursor:pointer}.rel-editor-cancel:hover{background:var(--color-btn-secondary-hover)}.rel-editor-save{padding:6px 16px;background:var(--color-success);color:#fff;border:none;border-radius:4px;font-size:.82rem;font-weight:600;cursor:pointer}.rel-editor-save:hover{background:var(--color-success);filter:brightness(.85)}.gantt-row[data-v-8c308f65]{display:flex;height:36px;border-bottom:1px solid var(--color-border)}.gantt-row[data-v-8c308f65]:hover{background:var(--color-bg-hover)}.gantt-row.is-parent[data-v-8c308f65]{background:#00000005}.task-list-cell[data-v-8c308f65]{display:flex;align-items:center;min-width:500px;width:500px;flex-shrink:0;border-right:2px solid var(--color-btn-secondary-border);font-size:.8rem;color:var(--color-text-default)}.task-name[data-v-8c308f65]{flex:1;display:flex;align-items:center;gap:6px;overflow:hidden;white-space:nowrap}.name-text[data-v-8c308f65]{overflow:hidden;text-overflow:ellipsis}.clickable[data-v-8c308f65]{cursor:pointer}.name-text.clickable[data-v-8c308f65]:hover{color:var(--color-tint-blue-text);text-decoration:underline}.status-dot[data-v-8c308f65]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.not_started[data-v-8c308f65]{background:var(--color-text-faint)}.status-dot.in_progress[data-v-8c308f65]{background:var(--color-accent)}.status-dot.complete[data-v-8c308f65]{background:var(--color-success)}.task-assignee[data-v-8c308f65]{width:100px;padding:0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-muted);font-size:.75rem}.task-hours[data-v-8c308f65]{width:50px;text-align:right;padding:0 8px;color:var(--color-text-muted);font-size:.75rem}.task-status-label[data-v-8c308f65]{width:80px;padding:0 8px;font-size:.7rem;color:var(--color-text-faint)}.task-actions[data-v-8c308f65]{width:60px;padding:0 4px;display:flex;align-items:center}.btn-action[data-v-8c308f65]{padding:2px 8px;border:none;border-radius:3px;font-size:.7rem;cursor:pointer}.btn-start[data-v-8c308f65]{background:var(--color-accent);color:#fff}.btn-start[data-v-8c308f65]:hover{filter:brightness(1.15)}.btn-finish[data-v-8c308f65]{background:var(--color-success);color:#fff}.btn-finish[data-v-8c308f65]:hover{filter:brightness(1.15)}.timeline-cell[data-v-8c308f65]{position:relative;flex-shrink:0}.task-bar[data-v-8c308f65]{position:absolute;top:8px;height:14px;border-radius:3px;min-width:4px}.task-bar.not_started[data-v-8c308f65]{background:var(--color-btn-secondary-border)}.task-bar.in_progress[data-v-8c308f65]{background:var(--color-btn-primary)}.task-bar.complete[data-v-8c308f65]{background:var(--color-success)}.task-bar.active[data-v-8c308f65]{background:var(--color-btn-primary)}.task-bar.clickable[data-v-8c308f65]:hover{filter:brightness(1.2);cursor:pointer}.bar-label[data-v-8c308f65]{font-size:.6rem;color:#fff;padding:0 4px;line-height:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.actual-bar[data-v-8c308f65]{position:absolute;top:24px;height:4px;border-radius:2px;background:#fbbf24b3;min-width:4px}.timeline-header[data-v-4bd73464]{position:sticky;top:0;z-index:2;background:var(--color-table-header-bg)}.month-row[data-v-4bd73464]{display:flex;border-bottom:1px solid var(--color-border)}.month-cell[data-v-4bd73464]{font-size:.75rem;color:var(--color-table-header-text);padding:4px 0;text-align:center;border-right:1px solid var(--color-border);white-space:nowrap;overflow:hidden}.day-row[data-v-4bd73464]{display:flex;border-bottom:1px solid var(--color-btn-secondary-border)}.day-cell[data-v-4bd73464]{font-size:.65rem;color:var(--color-table-header-text);text-align:center;padding:2px 0;border-right:1px solid var(--color-border);flex-shrink:0}.day-cell.weekend[data-v-4bd73464]{background:#6b728026}.day-cell.today[data-v-4bd73464]{background:#3b82f640;color:var(--color-accent);font-weight:600}.dependency-svg[data-v-b5fbc834]{position:absolute;top:0;left:0;pointer-events:none}.dependency-line[data-v-b5fbc834]{fill:none;stroke:var(--color-text-faint);stroke-width:1.5}.dependency-line.FS[data-v-b5fbc834]{stroke:var(--color-text-faint)}.dependency-line.SS[data-v-b5fbc834]{stroke:#8b5cf6}.dependency-line.FF[data-v-b5fbc834]{stroke:#f59e0b}.dependency-line.SF[data-v-b5fbc834]{stroke:var(--color-danger)}.dependency-arrow[data-v-b5fbc834],.dependency-arrow.FS[data-v-b5fbc834]{fill:var(--color-text-faint)}.dependency-arrow.SS[data-v-b5fbc834]{fill:#8b5cf6}.dependency-arrow.FF[data-v-b5fbc834]{fill:#f59e0b}.dependency-arrow.SF[data-v-b5fbc834]{fill:var(--color-danger)}.gantt-chart[data-v-aa821e60]{height:100%;display:flex;flex-direction:column;background:var(--color-bg-page);color:var(--color-text-default)}.gantt-body[data-v-aa821e60]{flex:1;display:flex;flex-direction:column;overflow:hidden}.task-list-header[data-v-aa821e60]{display:flex;min-width:500px;width:500px;height:36px;align-items:center;background:var(--color-bg-surface);border-bottom:2px solid var(--color-btn-secondary-border);font-size:.75rem;font-weight:600;color:var(--color-text-muted);flex-shrink:0}.th-name[data-v-aa821e60]{flex:1;padding:0 8px}.th-assignee[data-v-aa821e60]{width:100px;padding:0 8px}.th-hours[data-v-aa821e60]{width:50px;padding:0 8px;text-align:right}.th-status[data-v-aa821e60]{width:80px;padding:0 8px}.th-actions[data-v-aa821e60]{width:60px}.gantt-scroll-container[data-v-aa821e60]{flex:1;overflow:auto;position:relative}.task-list-rows[data-v-aa821e60]{position:relative}.timeline-wrapper[data-v-aa821e60]{position:absolute;top:0;left:500px;overflow:visible}.timeline-body[data-v-aa821e60]{position:relative}.today-line[data-v-aa821e60]{position:absolute;top:0;bottom:0;width:2px;background:#ef444499;z-index:1}.project-page[data-v-42316588]{height:100%;display:flex;flex-direction:column;background:var(--color-bg-page);color:var(--color-text-default)}.toolbar[data-v-42316588]{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.toolbar-left[data-v-42316588]{display:flex;align-items:center;gap:8px}.toolbar-left h2[data-v-42316588]{margin:0;font-size:1rem;font-weight:600}.toolbar-right[data-v-42316588]{display:flex;align-items:center;gap:16px;font-size:.8rem;color:var(--color-text-muted)}.back-link[data-v-42316588]{color:var(--color-accent-hover);text-decoration:none;font-size:.85rem}.back-link[data-v-42316588]:hover{text-decoration:underline}.separator[data-v-42316588]{color:var(--color-text-faint)}.due-date[data-v-42316588]{color:var(--color-warn-soft)}.btn-refresh[data-v-42316588]{padding:6px 12px;background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:1px solid var(--color-btn-secondary-border);border-radius:4px;font-size:.8rem;cursor:pointer}.btn-refresh[data-v-42316588]:hover{background:var(--color-btn-secondary-hover)}.btn-edit-toolbar[data-v-42316588]{padding:6px 12px;background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:1px solid var(--color-btn-secondary-border);border-radius:4px;font-size:.8rem;cursor:pointer}.btn-edit-toolbar[data-v-42316588]:hover{background:var(--color-btn-secondary-hover)}.btn-link[data-v-42316588]{text-decoration:none;display:inline-block;line-height:1}.btn-delete-toolbar[data-v-42316588]{padding:6px 12px;background:transparent;color:var(--color-danger);border:1px solid var(--color-tint-red-border);border-radius:4px;font-size:.8rem;cursor:pointer}.btn-delete-toolbar[data-v-42316588]:hover{background:var(--color-tint-red);color:var(--color-tint-red-text)}.btn-cancel[data-v-42316588]{padding:6px 16px;background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:1px solid var(--color-btn-secondary-border);border-radius:4px;font-size:.8rem;cursor:pointer}.edit-project-form[data-v-42316588]{display:flex;gap:10px;padding:10px 16px;background:var(--color-bg-surface-alt);border-bottom:1px solid var(--color-border);align-items:flex-end;flex-wrap:wrap}.task-row-actions[data-v-42316588]{display:flex;gap:4px;margin-left:auto}.btn-row-edit[data-v-42316588]{padding:2px 6px;background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:1px solid var(--color-btn-secondary-border);border-radius:3px;font-size:.65rem;cursor:pointer}.btn-row-edit[data-v-42316588]:hover{background:var(--color-btn-secondary-hover)}.btn-row-delete[data-v-42316588]{padding:2px 6px;background:transparent;color:var(--color-danger);border:1px solid var(--color-tint-red-border);border-radius:3px;font-size:.65rem;cursor:pointer}.btn-row-delete[data-v-42316588]:hover{background:var(--color-tint-red);color:var(--color-tint-red-text)}.content[data-v-42316588]{flex:1;overflow:auto}.section[data-v-42316588]{border-bottom:1px solid var(--color-border)}.section-header[data-v-42316588]{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:var(--color-bg-surface);cursor:pointer}.section-header h3[data-v-42316588]{margin:0;font-size:.9rem;font-weight:600}.toggle[data-v-42316588]{color:var(--color-accent-hover);font-size:.75rem}.so-detail[data-v-42316588]{padding:12px 16px}.so-fields[data-v-42316588]{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;margin-bottom:16px}.field[data-v-42316588]{display:flex;flex-direction:column;gap:2px}.field label[data-v-42316588]{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase}.field span[data-v-42316588]{font-size:.85rem}.so-lines h4[data-v-42316588]{margin:0 0 8px;font-size:.8rem;color:var(--color-text-muted)}.lines-table[data-v-42316588]{width:100%;border-collapse:collapse;font-size:.75rem}.lines-table th[data-v-42316588]{text-align:left;padding:6px 8px;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.lines-table td[data-v-42316588]{padding:6px 8px;border-bottom:1px solid var(--color-border-light)}.gantt-container[data-v-42316588]{min-height:200px;max-height:60vh;overflow:auto}.empty-gantt[data-v-42316588]{padding:40px;text-align:center;color:var(--color-text-faint)}.btn-add[data-v-42316588]{padding:4px 12px;background:var(--color-accent);color:#fff;border:none;border-radius:3px;font-size:.75rem;cursor:pointer}.btn-add[data-v-42316588]:hover{background:var(--color-accent-hover)}.form-group-inline[data-v-42316588]{display:flex;flex-direction:column;gap:3px}.form-group-inline label[data-v-42316588]{font-size:.65rem;color:var(--color-text-muted);text-transform:uppercase}.add-task-form[data-v-42316588]{display:flex;gap:10px;padding:10px 16px;background:var(--color-bg-surface-alt);border-bottom:1px solid var(--color-border);align-items:flex-end;flex-wrap:wrap}.template-picker-row[data-v-42316588]{padding:8px 16px;background:var(--color-bg-surface-alt);border-bottom:1px solid var(--color-border)}.form-input[data-v-42316588]{padding:6px 10px;background:var(--color-input-bg);color:var(--color-input-text);border:1px solid var(--color-input-border);border-radius:4px;font-size:.8rem}.form-input.short[data-v-42316588]{width:120px}.color-input[data-v-42316588]{width:50px;height:32px;padding:2px;cursor:pointer}.btn-submit[data-v-42316588]{padding:6px 16px;background:var(--color-success);color:#fff;border:none;border-radius:4px;font-size:.8rem;cursor:pointer}.btn-submit[data-v-42316588]:disabled{opacity:.5;cursor:not-allowed}.task-list[data-v-42316588]{padding:4px 0}.task-row[data-v-42316588]{display:flex;align-items:center;gap:8px;padding:6px 12px;font-size:.8rem;border-bottom:1px solid var(--color-border-light)}.task-row[data-v-42316588]:hover{background:var(--color-bg-hover)}.status-dot[data-v-42316588]{width:8px;height:8px;border-radius:50%;flex-shrink:0}.status-dot.not_started[data-v-42316588]{background:var(--color-neutral)}.status-dot.in_progress[data-v-42316588]{background:var(--color-accent)}.status-dot.complete[data-v-42316588]{background:var(--color-success)}.task-name-link[data-v-42316588]{color:var(--color-text-default);text-decoration:none;flex:1}.task-name-link[data-v-42316588]:hover{color:var(--color-accent-hover);text-decoration:underline}.task-meta[data-v-42316588]{color:var(--color-text-muted);font-size:.75rem;min-width:60px}.task-status-label[data-v-42316588]{font-size:.7rem;color:var(--color-text-muted);min-width:80px}.task-status-label.complete[data-v-42316588]{color:var(--color-success)}.task-status-label.in_progress[data-v-42316588]{color:var(--color-accent)}.loading-state[data-v-42316588]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.task-page[data-v-f954aade]{height:100%;display:flex;flex-direction:column;background:#111827;color:#d1d5db}.toolbar[data-v-f954aade]{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:#1f2937;border-bottom:1px solid #374151;flex-shrink:0}.toolbar-left[data-v-f954aade]{display:flex;align-items:center;gap:8px}.toolbar-left h2[data-v-f954aade]{margin:0;font-size:1rem;font-weight:600}.toolbar-right[data-v-f954aade]{display:flex;align-items:center;gap:12px}.back-link[data-v-f954aade]{color:#60a5fa;text-decoration:none;font-size:.85rem}.back-link[data-v-f954aade]:hover{text-decoration:underline}.sep[data-v-f954aade]{color:#4b5563}.btn-refresh[data-v-f954aade]{padding:6px 12px;background:#374151;color:#d1d5db;border:1px solid #4b5563;border-radius:4px;font-size:.8rem;cursor:pointer}.content[data-v-f954aade]{flex:1;overflow:auto}.section[data-v-f954aade]{border-bottom:1px solid #374151}.section-header[data-v-f954aade]{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#1f2937}.section-header h3[data-v-f954aade]{margin:0;font-size:.9rem;font-weight:600}.task-info[data-v-f954aade]{padding:12px 16px}.info-grid[data-v-f954aade]{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px;margin-bottom:12px}.field[data-v-f954aade]{display:flex;flex-direction:column;gap:2px}.field label[data-v-f954aade]{font-size:.7rem;color:#6b7280;text-transform:uppercase}.field span[data-v-f954aade]{font-size:.85rem}.description[data-v-f954aade]{padding:8px 0;color:#9ca3af;font-size:.85rem;border-top:1px solid #1f2937;margin-top:8px}.status-badge[data-v-f954aade]{padding:2px 8px;border-radius:3px;font-size:.75rem;font-weight:600}.status-badge.not_started[data-v-f954aade]{background:var(--color-bg-surface-alt);color:var(--color-text-muted)}.status-badge.in_progress[data-v-f954aade]{background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.status-badge.complete[data-v-f954aade]{background:var(--color-tint-green);color:var(--color-tint-green-text)}.task-actions[data-v-f954aade]{padding:8px 0}.btn-action[data-v-f954aade]{padding:6px 16px;border:none;border-radius:4px;font-size:.8rem;cursor:pointer;font-weight:600}.btn-start[data-v-f954aade]{background:#1d4ed8;color:#fff}.btn-start[data-v-f954aade]:hover{background:#2563eb}.btn-finish[data-v-f954aade]{background:#047857;color:#fff}.btn-finish[data-v-f954aade]:hover{background:#059669}.dep-list[data-v-f954aade]{padding:8px 16px}.dep-row[data-v-f954aade]{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:.8rem}.dep-type[data-v-f954aade]{padding:1px 6px;background:#374151;border-radius:3px;font-size:.7rem;font-weight:600;color:#9ca3af}.dep-label[data-v-f954aade]{color:#6b7280;font-size:.75rem}.dep-link[data-v-f954aade]{color:#60a5fa;text-decoration:none}.dep-link[data-v-f954aade]:hover{text-decoration:underline}.dep-lag[data-v-f954aade]{color:#f59e0b;font-size:.7rem}.dep-project[data-v-f954aade]{color:#6b7280;font-size:.7rem;font-style:italic}.btn-remove-dep[data-v-f954aade]{padding:1px 6px;background:transparent;color:#ef4444;border:1px solid #7f1d1d;border-radius:3px;font-size:.65rem;cursor:pointer;margin-left:auto}.btn-remove-dep[data-v-f954aade]:hover{background:#7f1d1d;color:#fff}.empty-deps[data-v-f954aade]{padding:16px;text-align:center;color:#4b5563;font-size:.8rem}.form-group-inline[data-v-f954aade]{display:flex;flex-direction:column;gap:3px}.form-group-inline label[data-v-f954aade]{font-size:.65rem;color:#6b7280;text-transform:uppercase}.add-dep-form[data-v-f954aade]{display:flex;gap:10px;padding:10px 16px;background:#1a2332;border-bottom:1px solid #374151;align-items:flex-end;flex-wrap:wrap}.form-input.tiny[data-v-f954aade]{width:80px}.btn-add[data-v-f954aade]{padding:4px 12px;background:#1d4ed8;color:#fff;border:none;border-radius:3px;font-size:.75rem;cursor:pointer}.btn-add[data-v-f954aade]:hover{background:#2563eb}.add-task-form[data-v-f954aade]{display:flex;gap:10px;padding:10px 16px;background:#1a2332;border-bottom:1px solid #374151;align-items:flex-end;flex-wrap:wrap}.template-picker-row[data-v-f954aade]{padding:8px 16px;background:#1a2332;border-bottom:1px solid #374151}.form-input[data-v-f954aade]{padding:6px 10px;background:#374151;color:#d1d5db;border:1px solid #4b5563;border-radius:4px;font-size:.8rem}.form-input.short[data-v-f954aade]{width:120px}.color-input[data-v-f954aade]{width:50px;height:32px;padding:2px;cursor:pointer}.btn-submit[data-v-f954aade]{padding:6px 16px;background:#059669;color:#fff;border:none;border-radius:4px;font-size:.8rem;cursor:pointer}.btn-submit[data-v-f954aade]:disabled{opacity:.5;cursor:not-allowed}.btn-edit-toolbar[data-v-f954aade]{padding:6px 12px;background:#374151;color:#d1d5db;border:1px solid #4b5563;border-radius:4px;font-size:.8rem;cursor:pointer}.btn-edit-toolbar[data-v-f954aade]:hover{background:#4b5563}.btn-delete-toolbar[data-v-f954aade]{padding:6px 12px;background:transparent;color:#ef4444;border:1px solid #7f1d1d;border-radius:4px;font-size:.8rem;cursor:pointer}.btn-delete-toolbar[data-v-f954aade]:hover{background:#7f1d1d;color:#fff}.btn-cancel[data-v-f954aade]{padding:6px 16px;background:#374151;color:#d1d5db;border:1px solid #4b5563;border-radius:4px;font-size:.8rem;cursor:pointer}.edit-task-form[data-v-f954aade]{display:flex;gap:10px;padding:10px 16px;background:#1a2332;border-bottom:1px solid #374151;align-items:flex-end;flex-wrap:wrap}.sub-gantt[data-v-f954aade]{height:250px}.empty-sub[data-v-f954aade]{padding:30px;text-align:center;color:#4b5563;font-size:.85rem}.sub-task-list[data-v-f954aade]{padding:4px 0;border-top:1px solid #374151}.sub-task-row[data-v-f954aade]{display:flex;align-items:center;gap:8px;padding:6px 16px;font-size:.8rem;border-bottom:1px solid #1f2937}.sub-task-row[data-v-f954aade]:hover{background:#ffffff08}.sub-name-link[data-v-f954aade]{color:#d1d5db;text-decoration:none;flex:1}.sub-name-link[data-v-f954aade]:hover{color:#93c5fd;text-decoration:underline}.sub-meta[data-v-f954aade]{color:#6b7280;font-size:.75rem;min-width:50px}.sub-status[data-v-f954aade]{font-size:.7rem;color:#6b7280;min-width:80px}.sub-status.complete[data-v-f954aade]{color:#10b981}.sub-status.in_progress[data-v-f954aade]{color:#3b82f6}.sub-actions[data-v-f954aade]{display:flex;gap:4px;margin-left:auto}.btn-row-delete[data-v-f954aade]{padding:2px 6px;background:transparent;color:#ef4444;border:1px solid #7f1d1d;border-radius:3px;font-size:.65rem;cursor:pointer}.btn-row-delete[data-v-f954aade]:hover{background:#7f1d1d;color:#fff}.loading-state[data-v-f954aade]{flex:1;display:flex;align-items:center;justify-content:center;color:#6b7280}.templates-page[data-v-3195da6a]{height:100%;display:flex;flex-direction:column;background:var(--color-bg-page);color:var(--color-text-default)}.toolbar[data-v-3195da6a]{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.toolbar-left h2[data-v-3195da6a]{margin:0;font-size:1rem;font-weight:600}.btn-add[data-v-3195da6a]{padding:6px 14px;background:var(--color-accent);color:#fff;border:none;border-radius:4px;font-size:.8rem;cursor:pointer}.btn-add[data-v-3195da6a]:hover:not(:disabled){background:var(--color-accent-hover)}.btn-add[data-v-3195da6a]:disabled{opacity:.5;cursor:not-allowed}.table-container[data-v-3195da6a]{flex:1;overflow:auto;display:flex;flex-direction:column;--grid-header-font-size: 12px;--grid-cell-padding: 10px 14px;--grid-cell-cursor: default}.edit-form[data-v-3195da6a]{padding:16px;background:var(--color-bg-surface-alt);border-bottom:2px solid var(--color-border)}.edit-form h3[data-v-3195da6a]{margin:0 0 12px;font-size:.9rem}.form-fields[data-v-3195da6a]{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:12px;max-width:600px}.form-group[data-v-3195da6a]{display:flex;flex-direction:column;gap:4px}.form-group label[data-v-3195da6a]{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.form-input[data-v-3195da6a]{padding:8px 10px;background:var(--color-input-bg);color:var(--color-input-text);border:1px solid var(--color-input-border);border-radius:4px;font-size:.85rem;font-family:inherit}.form-input.textarea[data-v-3195da6a]{resize:vertical}.form-input[data-v-3195da6a]:focus{outline:1px solid var(--color-accent);outline-offset:-1px}.form-actions[data-v-3195da6a]{display:flex;gap:8px}.btn-save[data-v-3195da6a]{padding:6px 16px;background:var(--color-success);color:#fff;border:none;border-radius:4px;font-size:.8rem;cursor:pointer;font-weight:600}.btn-save[data-v-3195da6a]:disabled{opacity:.5;cursor:not-allowed}.btn-cancel[data-v-3195da6a]{padding:6px 16px;background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:1px solid var(--color-btn-secondary-border);border-radius:4px;font-size:.8rem;cursor:pointer}.row-clickable[data-v-3195da6a]{cursor:pointer}.row-clickable[data-v-3195da6a]:hover{background:var(--color-bg-hover)}.name-cell[data-v-3195da6a]{font-weight:600;color:var(--color-text-primary)}.btn-edit[data-v-3195da6a]{padding:4px 10px;background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:1px solid var(--color-btn-secondary-border);border-radius:3px;font-size:.75rem;cursor:pointer;margin-right:4px}.btn-edit[data-v-3195da6a]:hover{background:var(--color-btn-secondary-hover)}.btn-delete[data-v-3195da6a]{padding:4px 10px;background:transparent;color:var(--color-danger);border:1px solid var(--color-tint-red-border);border-radius:3px;font-size:.75rem;cursor:pointer}.btn-delete[data-v-3195da6a]:hover{background:var(--color-tint-red);color:var(--color-tint-red-text)}.empty-row[data-v-3195da6a]{text-align:center;color:var(--color-text-faint);padding:40px 12px;font-style:italic}.loading-state[data-v-3195da6a]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.global-error[data-v-3195da6a]{padding:8px 16px;background:var(--color-tint-red);color:var(--color-tint-red-text);font-size:.8rem;flex-shrink:0}.template-editor-page[data-v-059384ac]{height:100%;display:flex;flex-direction:column;background:var(--color-bg-page);color:var(--color-text-default);font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace}.toolbar[data-v-059384ac]{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);flex:0 0 auto}.toolbar-left[data-v-059384ac]{display:flex;align-items:center;gap:8px;font-family:Inter,sans-serif}.toolbar-right[data-v-059384ac]{display:flex;align-items:center;gap:12px}.back-link[data-v-059384ac]{color:var(--color-accent-hover);text-decoration:none;font-size:.85rem}.back-link[data-v-059384ac]:hover{text-decoration:underline}.sep[data-v-059384ac]{color:var(--color-text-faint)}.title-input[data-v-059384ac]{background:transparent;border:none;outline:none;color:var(--color-text-primary);font-size:1rem;font-weight:600;font-family:Inter,sans-serif;min-width:280px;padding:4px 6px;border-radius:4px}.title-input[data-v-059384ac]:focus{background:var(--color-bg-page);outline:1px solid var(--color-accent-hover)}.row-count[data-v-059384ac]{font-size:.8rem;color:var(--color-text-muted);font-family:Inter,sans-serif}.btn-tool[data-v-059384ac]{padding:6px 12px;background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:1px solid var(--color-btn-secondary-border);border-radius:4px;font-size:.8rem;cursor:pointer;font-family:Inter,sans-serif}.btn-tool[data-v-059384ac]:hover:not(:disabled){background:var(--color-btn-secondary-hover)}.btn-tool[data-v-059384ac]:disabled{opacity:.5;cursor:not-allowed}.btn-save-all[data-v-059384ac]{background:var(--color-success);color:#fff;border:none;border-radius:3px;padding:6px 14px;font-size:.8rem;cursor:pointer;font-family:Inter,sans-serif;font-weight:600}.btn-save-all[data-v-059384ac]:hover:not(:disabled){filter:brightness(.85)}.btn-save-all[data-v-059384ac]:disabled{opacity:.6;cursor:not-allowed}.loading-state[data-v-059384ac]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:.9rem;font-family:Inter,sans-serif}.empty-state[data-v-059384ac]{padding:24px 16px;color:var(--color-text-muted);font-size:.85rem;font-family:Inter,sans-serif}[data-v-059384ac] .grid-row[data-new=true]{background:#22c55e0d}[data-v-059384ac] .grid-row[data-inconsistent=true]{background:#ef44441a!important}[data-v-059384ac] .cell-input{width:100%;height:100%;padding:4px 8px;background:transparent;color:var(--color-text-default);border:none;outline:none;font-size:.78rem;font-family:inherit;box-sizing:border-box}[data-v-059384ac] .cell-input:focus{background:var(--color-input-bg);outline:1px solid var(--color-accent-hover);outline-offset:-1px}[data-v-059384ac] .cell-input::placeholder{color:var(--color-text-faint);font-style:italic}[data-v-059384ac] .cell-input.derived-hint::placeholder{color:var(--color-text-faint)}[data-v-059384ac] .name-input{font-weight:500;font-family:Inter,sans-serif}[data-v-059384ac] [data-parent=true] :deep(.name-input){font-weight:700;color:var(--color-text-primary)}[data-v-059384ac] .num-input{text-align:right}[data-v-059384ac] .pred-input{font-variant-numeric:tabular-nums}[data-v-059384ac] .pred-input.rel-error{color:var(--color-danger);outline:1px solid var(--color-danger);outline-offset:-1px}[data-v-059384ac] .pred-input.derived-hint{color:var(--color-text-faint);font-style:italic}[data-v-059384ac] .pred-input.derived-hint:focus{color:var(--color-text-default);font-style:normal}[data-v-059384ac] .successor-display{display:flex;flex-wrap:wrap;gap:4px;padding:4px 8px;align-items:center;width:100%}[data-v-059384ac] .implicit-text{color:var(--color-text-faint);font-style:italic;font-size:.75rem}[data-v-059384ac] .succ-chip{background:var(--color-btn-secondary-bg);color:var(--color-text-default);padding:1px 6px;border-radius:3px;font-size:.7rem;white-space:nowrap;line-height:1.3}[data-v-059384ac] .succ-chip sub{font-size:.6rem;color:var(--color-text-muted);margin-left:2px;vertical-align:baseline}[data-v-059384ac] .succ-chip-link{cursor:pointer}[data-v-059384ac] .succ-chip-link:hover{background:var(--color-btn-secondary-hover);color:var(--color-text-primary)}@keyframes row-flash-059384ac{0%{background:#3b82f659}to{background:transparent}}[data-v-059384ac] .grid-row.row-highlight{animation:row-flash-059384ac 1.2s ease-out forwards}[data-v-059384ac] .placeholder{color:var(--color-text-faint);font-style:italic;padding:0 4px}[data-v-059384ac] .btn-resources{padding:2px 10px;background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:1px solid var(--color-btn-secondary-border);border-radius:4px;font-size:.75rem;cursor:pointer;min-width:32px}[data-v-059384ac] .btn-resources:hover{background:var(--color-btn-secondary-hover)}[data-v-059384ac] .btn-resources .placeholder{color:var(--color-text-faint);padding:0}[data-v-059384ac] .btn-row{padding:3px 8px;border-radius:3px;font-size:.7rem;cursor:pointer;border:none;font-family:Inter,sans-serif}[data-v-059384ac] .btn-del{background:transparent;color:var(--color-danger);border:1px solid var(--color-tint-red-border);font-size:.85rem;line-height:1;padding:2px 6px}[data-v-059384ac] .btn-del:hover{background:var(--color-tint-red);color:var(--color-tint-red-text)}[data-v-059384ac] .btn-fill-inline{flex:0 0 auto;padding:2px 7px;background:transparent;color:#a78bfa;border:1px solid #6d28d9;border-radius:3px;font-size:.7rem;cursor:pointer;white-space:nowrap;font-family:Inter,sans-serif;margin-right:4px}[data-v-059384ac] .btn-fill-inline:hover{background:#4c1d95;color:#e9d5ff}[data-v-059384ac] .fill-picker-wrap{position:relative;display:flex;align-items:center}[data-v-059384ac] .fill-picker-dropdown{position:absolute;top:calc(100% + 4px);left:0;width:220px;background:var(--color-bg-surface);border:1px solid var(--color-btn-secondary-border);border-radius:6px;box-shadow:var(--shadow-lg);z-index:50;font-family:Inter,sans-serif}[data-v-059384ac] .fill-picker-header{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-bottom:1px solid var(--color-border);font-size:.75rem;color:var(--color-text-muted)}[data-v-059384ac] .fill-picker-close{background:none;border:none;color:var(--color-text-faint);cursor:pointer;font-size:1rem;line-height:1;padding:0 2px}[data-v-059384ac] .fill-picker-close:hover{color:var(--color-text-default)}[data-v-059384ac] .fill-picker-loading,[data-v-059384ac] .fill-picker-empty{padding:10px;font-size:.78rem;color:var(--color-text-faint);text-align:center}[data-v-059384ac] .fill-picker-list{list-style:none;margin:0;padding:4px 0;max-height:200px;overflow-y:auto}[data-v-059384ac] .fill-picker-item{padding:7px 10px;font-size:.8rem;color:var(--color-text-default);cursor:pointer}[data-v-059384ac] .fill-picker-item:hover{background:var(--color-btn-secondary-bg);color:var(--color-text-primary)}[data-v-059384ac] .btn-footer-add{padding:5px 12px;background:var(--color-bg-surface);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:4px;font-size:.78rem;font-family:Inter,sans-serif;cursor:pointer}[data-v-059384ac] .btn-footer-add:hover{background:var(--color-btn-secondary-bg);color:var(--color-text-primary)}[data-v-059384ac] .btn-footer-template{color:#a78bfa;border-color:#6d28d9}[data-v-059384ac] .btn-footer-template:hover{background:#4c1d95;color:#e9d5ff}.global-error[data-v-059384ac]{padding:8px 16px;background:var(--color-tint-red);color:var(--color-tint-red-text);font-size:.8rem;font-family:Inter,sans-serif;flex:0 0 auto}.footer-picker-teleport[data-v-059384ac]{width:220px;z-index:9999;background:var(--color-bg-surface);border:1px solid var(--color-btn-secondary-border);border-radius:6px;box-shadow:var(--shadow-lg);font-family:Inter,sans-serif}.footer-picker-teleport .fill-picker-header[data-v-059384ac]{display:flex;justify-content:space-between;align-items:center;padding:6px 10px;border-bottom:1px solid var(--color-border);font-size:.75rem;color:var(--color-text-muted)}.footer-picker-teleport .fill-picker-close[data-v-059384ac]{background:none;border:none;color:var(--color-text-faint);cursor:pointer;font-size:1rem;line-height:1;padding:0 2px}.footer-picker-teleport .fill-picker-close[data-v-059384ac]:hover{color:var(--color-text-default)}.footer-picker-teleport .fill-picker-loading[data-v-059384ac],.footer-picker-teleport .fill-picker-empty[data-v-059384ac]{padding:10px;font-size:.78rem;color:var(--color-text-faint);text-align:center}.footer-picker-teleport .fill-picker-list[data-v-059384ac]{list-style:none;margin:0;padding:4px 0;max-height:200px;overflow-y:auto}.footer-picker-teleport .fill-picker-item[data-v-059384ac]{padding:7px 10px;font-size:.8rem;color:var(--color-text-default);cursor:pointer}.footer-picker-teleport .fill-picker-item[data-v-059384ac]:hover{background:var(--color-btn-secondary-bg);color:var(--color-text-primary)}.template-editor-page .col-name{width:220px;min-width:220px;overflow:visible}.template-editor-page .col-hours{width:72px}.template-editor-page .col-pred{width:160px}.template-editor-page .col-succ{width:140px}.template-editor-page .col-wbs{width:80px;padding:4px 8px;color:var(--color-text-muted);font-size:.75rem;font-variant-numeric:tabular-nums}.template-editor-page .col-date{width:96px;padding:4px 10px;font-variant-numeric:tabular-nums;font-size:.78rem}.template-editor-page .col-resources{width:56px;justify-content:center}.template-editor-page .col-actions{width:50px;justify-content:center}.kanban-card[data-v-9d38bf66]{background:#232f44;border:1px solid #374151;border-left:3px solid #2563eb;border-radius:6px;padding:8px 10px;cursor:grab;-webkit-user-select:none;user-select:none;transition:transform .1s,box-shadow .15s,opacity .15s,border-color .15s}.kanban-card[data-v-9d38bf66]:hover{background:#2a3850;box-shadow:0 2px 8px #0000004d}.kanban-card[data-v-9d38bf66]:active{cursor:grabbing}.kanban-card.highlighted[data-v-9d38bf66]{border-color:#60a5fa;box-shadow:0 0 0 2px #60a5fa40}.kanban-card.dimmed[data-v-9d38bf66]{opacity:.4}.kanban-card.complete[data-v-9d38bf66]{background:#1f3a2e}.kanban-card.in_progress[data-v-9d38bf66]{background:#1e2f4d}.kanban-card.inconsistent[data-v-9d38bf66]{border-color:#f59e0b;background:#2d2417}.card-header[data-v-9d38bf66]{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.project-name[data-v-9d38bf66]{font-size:.8rem;font-weight:600;color:#e5e7eb;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:220px}.badge-warn[data-v-9d38bf66]{color:#f59e0b;font-size:.85rem}.kanban-card.forecast[data-v-9d38bf66]{background:#1c2435;border-style:dashed}.kanban-card.forecast[data-v-9d38bf66]:hover{background:#232f44}.card-dates[data-v-9d38bf66]{display:flex;align-items:center;gap:6px;font-size:.7rem;color:#9ca3af;margin-bottom:6px}.card-dates.forecast[data-v-9d38bf66]{color:#6b7280;font-style:italic}.card-dates.unscheduled[data-v-9d38bf66]{font-style:italic;color:#6b7280}.date-sep[data-v-9d38bf66]{color:#4b5563}.forecast-tag[data-v-9d38bf66]{margin-left:2px;color:#6b7280;font-size:.7rem}.card-meta[data-v-9d38bf66]{display:flex;flex-wrap:wrap;gap:4px}.meta-pill[data-v-9d38bf66]{font-size:.65rem;padding:1px 6px;background:#374151;border-radius:3px;color:#d1d5db}.meta-pill.pinned[data-v-9d38bf66]{background:#1e3a5f;color:#93c5fd}.status-pill[data-v-9d38bf66]{font-size:.65rem;padding:1px 6px;border-radius:3px;margin-left:auto}.status-pill.not_started[data-v-9d38bf66]{background:var(--color-bg-surface-alt);color:var(--color-text-muted)}.status-pill.in_progress[data-v-9d38bf66]{background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.status-pill.complete[data-v-9d38bf66]{background:var(--color-tint-green);color:var(--color-tint-green-text)}.kanban-column[data-v-15e6c130]{flex:0 0 280px;display:flex;flex-direction:column;background:#1a2332;border:1px solid #374151;border-radius:8px;max-height:100%}.column-header[data-v-15e6c130]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid #374151;flex-shrink:0}.column-header h3[data-v-15e6c130]{margin:0;font-size:.85rem;font-weight:600;color:#e5e7eb;letter-spacing:.02em;text-transform:uppercase}.count[data-v-15e6c130]{font-size:.7rem;color:#9ca3af;background:#374151;padding:2px 8px;border-radius:10px}.column-body[data-v-15e6c130]{flex:1;overflow-y:auto;padding:8px}.card-list[data-v-15e6c130]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;min-height:60px}.card-row[data-v-15e6c130]{display:block}.gap-row[data-v-15e6c130]{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#4b556326;border:1px dashed #4b5563;border-radius:6px;height:22px;cursor:copy;list-style:none}.gap-row[data-v-15e6c130]:hover{background:#60a5fa14;border-color:#60a5fa}.gap-line[data-v-15e6c130]{flex:1;height:1px;background:#4b5563}.gap-label[data-v-15e6c130]{font-size:.65rem;color:#6b7280;font-style:italic;white-space:nowrap}.boundary-row[data-v-15e6c130]{display:flex;align-items:center;gap:8px;padding:4px;height:18px;list-style:none;margin:2px 0}.boundary-line[data-v-15e6c130]{flex:1;height:0;border-top:1.5px solid #f59e0b}.boundary-label[data-v-15e6c130]{font-size:.6rem;color:#f59e0b;text-transform:uppercase;letter-spacing:.08em;font-weight:600;white-space:nowrap}.modal-backdrop[data-v-a876b226]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000}.modal[data-v-a876b226]{background:#1f2937;border:1px solid #374151;border-radius:8px;width:620px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;color:#d1d5db;box-shadow:0 10px 40px #00000080}.modal-header[data-v-a876b226]{display:flex;justify-content:space-between;align-items:flex-start;padding:14px 18px;border-bottom:1px solid #374151}.modal-header h3[data-v-a876b226]{margin:0;font-size:1rem;color:#e5e7eb}.subtitle[data-v-a876b226]{font-size:.75rem;color:#9ca3af;margin-top:2px}.btn-close[data-v-a876b226]{background:transparent;border:none;color:#9ca3af;font-size:1.5rem;cursor:pointer;line-height:1}.btn-close[data-v-a876b226]:hover{color:#fff}.modal-body[data-v-a876b226]{padding:16px 18px;overflow-y:auto;flex:1}.warning[data-v-a876b226]{background:#2d2417;border-left:3px solid #f59e0b;padding:8px 12px;font-size:.8rem;color:#fbbf24;margin-bottom:14px;border-radius:3px}.field-group[data-v-a876b226]{border-left:2px solid #374151;padding-left:12px;margin-bottom:14px}.field-row[data-v-a876b226]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.field-row label[data-v-a876b226]{font-size:.75rem;color:#9ca3af;text-transform:uppercase;letter-spacing:.03em;min-width:110px}.check-label[data-v-a876b226]{display:flex;align-items:center;gap:6px;font-size:.8rem;color:#d1d5db;text-transform:none;min-width:auto;cursor:pointer}.check-label input[data-v-a876b226]{cursor:pointer}.dep-row[data-v-a876b226]{flex-wrap:wrap;gap:6px}.input[data-v-a876b226]{padding:6px 10px;background:#374151;color:#d1d5db;border:1px solid #4b5563;border-radius:4px;font-size:.8rem}.input.short[data-v-a876b226]{width:130px}.input.tiny[data-v-a876b226]{width:70px}.input[data-v-a876b226]:focus{outline:none;border-color:#60a5fa}.hint[data-v-a876b226]{font-size:.7rem;color:#6b7280}.over-hint[data-v-a876b226]{color:#f59e0b;margin-top:6px}.resource-section[data-v-a876b226]{border-left-color:#4b5563}.section-title[data-v-a876b226]{margin:0 0 8px;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:#9ca3af;font-weight:600}.demand-row[data-v-a876b226]{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap}.demand-resource[data-v-a876b226]{flex:1;min-width:200px}.mode-select[data-v-a876b226]{width:100px}.demand-pin[data-v-a876b226]{width:140px}.btn-row-del[data-v-a876b226]{background:transparent;color:#9ca3af;border:none;cursor:pointer;padding:2px 6px;font-size:1rem;line-height:1}.btn-row-del[data-v-a876b226]:hover{color:#ef4444}.btn-add-demand[data-v-a876b226]{margin-top:4px;padding:4px 10px;background:transparent;border:1px dashed #4b5563;color:#9ca3af;border-radius:4px;font-size:.75rem;cursor:pointer}.btn-add-demand[data-v-a876b226]:hover{color:#d1d5db;border-color:#6b7280}.override-flag[data-v-a876b226]{display:inline-flex;align-items:center;gap:4px;font-size:.65rem;color:#fbbf24;background:#2d2417;padding:2px 6px;border-radius:3px;margin-left:6px}.btn-clear-ack[data-v-a876b226]{background:transparent;border:none;color:#fbbf24;cursor:pointer;padding:0 2px;font-size:.8rem}.btn-clear-ack[data-v-a876b226]:hover{color:#fff}.dep-summary[data-v-a876b226]{margin-top:16px;padding:10px 12px;background:#111827;border-radius:4px}.dep-summary h4[data-v-a876b226]{margin:0 0 8px;font-size:.75rem;color:#9ca3af;text-transform:uppercase}.dep-summary ul[data-v-a876b226]{margin:0;padding:0;list-style:none;font-size:.8rem}.dep-summary li[data-v-a876b226]{padding:3px 0;color:#d1d5db}.dep-summary strong[data-v-a876b226]{font-size:.7rem;background:#374151;padding:1px 6px;border-radius:3px;margin-right:6px}.dep-summary em[data-v-a876b226]{color:#f59e0b;font-size:.7rem;margin-left:6px;font-style:normal}.dep-arrow[data-v-a876b226]{color:#6b7280;margin:0 4px}.modal-footer[data-v-a876b226]{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid #374151}.btn-cancel[data-v-a876b226]{padding:6px 16px;background:#374151;color:#d1d5db;border:1px solid #4b5563;border-radius:4px;font-size:.8rem;cursor:pointer}.btn-save[data-v-a876b226]{padding:6px 18px;background:#059669;color:#fff;border:none;border-radius:4px;font-size:.8rem;cursor:pointer;font-weight:600}.btn-save[data-v-a876b226]:hover{background:#047857}.btn-save[data-v-a876b226]:disabled{opacity:.5;cursor:not-allowed}.kanban-page[data-v-be4d9133]{height:100%;display:flex;flex-direction:column;background:#0f1420;color:#d1d5db;overflow:hidden}.toolbar[data-v-be4d9133]{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:#1f2937;border-bottom:1px solid #374151;flex-shrink:0}.toolbar-left[data-v-be4d9133]{display:flex;align-items:baseline;gap:14px}.toolbar-left h2[data-v-be4d9133]{margin:0;font-size:1rem;font-weight:600}.meta[data-v-be4d9133]{font-size:.75rem;color:#9ca3af}.toolbar-right[data-v-be4d9133]{display:flex;align-items:center;gap:12px}.link-alt[data-v-be4d9133]{color:#60a5fa;text-decoration:none;font-size:.85rem}.link-alt[data-v-be4d9133]:hover{text-decoration:underline}.btn-refresh[data-v-be4d9133]{padding:6px 12px;background:#374151;color:#d1d5db;border:1px solid #4b5563;border-radius:4px;font-size:.8rem;cursor:pointer}.btn-refresh[data-v-be4d9133]:hover{background:#4b5563}.state[data-v-be4d9133]{flex:1;display:flex;align-items:center;justify-content:center;color:#6b7280;font-size:.9rem}.state.error[data-v-be4d9133]{color:#ef4444}.state a[data-v-be4d9133]{color:#60a5fa}.kanban-scroll[data-v-be4d9133]{flex:1;display:flex;gap:12px;padding:16px;overflow-x:auto;overflow-y:hidden;align-items:stretch}.todo-page[data-v-de5280c4]{display:flex;flex-direction:column;height:100%;background:var(--color-bg-page)}.toolbar[data-v-de5280c4]{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);gap:12px;flex-shrink:0}.toolbar-left[data-v-de5280c4],.toolbar-right[data-v-de5280c4]{display:flex;align-items:center;gap:8px}.back-link[data-v-de5280c4]{color:var(--color-accent);text-decoration:none;font-size:13px}.back-link[data-v-de5280c4]:hover{text-decoration:underline}.sep[data-v-de5280c4]{color:var(--color-text-muted);font-size:13px}h2[data-v-de5280c4]{margin:0;font-size:15px;font-weight:600;color:var(--color-text-primary)}.user-label[data-v-de5280c4]{font-size:13px;color:var(--color-text-muted)}.user-select[data-v-de5280c4]{font-size:13px;padding:4px 8px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-surface);color:var(--color-text-primary)}.btn-tool[data-v-de5280c4]{font-size:12px;padding:4px 10px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-surface);cursor:pointer;color:var(--color-text-primary)}.btn-tool[data-v-de5280c4]:hover{background:var(--color-bg-hover)}.btn-tool[data-v-de5280c4]:disabled{opacity:.5;cursor:not-allowed}.loading-state[data-v-de5280c4],.empty-state[data-v-de5280c4]{padding:48px;text-align:center;color:var(--color-text-muted);font-size:14px}.table-wrap[data-v-de5280c4]{flex:1;overflow:auto}.todo-table[data-v-de5280c4]{width:100%;border-collapse:collapse;font-size:13px}.todo-table thead th[data-v-de5280c4]{position:sticky;top:0;z-index:1;background:var(--color-bg-surface);border-bottom:2px solid var(--color-border);padding:8px 10px;text-align:left;white-space:nowrap;color:var(--color-text-muted);font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em}.todo-table tbody td[data-v-de5280c4]{padding:7px 10px;border-bottom:1px solid var(--color-border-light);color:var(--color-text-primary);vertical-align:middle}.task-row:hover td[data-v-de5280c4]{background:var(--color-bg-hover)}.task-row.saving td[data-v-de5280c4]{opacity:.6}.task-row.complete td[data-v-de5280c4]{color:var(--color-text-muted)}.task-row.complete .col-name[data-v-de5280c4]{text-decoration:line-through}.col-project[data-v-de5280c4]{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}td.date-manual[data-v-de5280c4]{color:var(--color-text-primary)}td.date-inferred[data-v-de5280c4]{color:var(--color-accent);font-style:italic}.col-name[data-v-de5280c4]{min-width:160px;max-width:280px}.col-date[data-v-de5280c4]{white-space:nowrap}.col-hours[data-v-de5280c4]{text-align:right;white-space:nowrap}.col-status[data-v-de5280c4]{white-space:nowrap}.col-assignee[data-v-de5280c4]{min-width:140px}.inline-select[data-v-de5280c4]{font-size:12px;padding:3px 6px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-surface);color:var(--color-text-primary);max-width:100%}.status-select.not_started[data-v-de5280c4]{color:var(--color-neutral)}.status-select.in_progress[data-v-de5280c4]{color:var(--color-warn);font-weight:600}.status-select.complete[data-v-de5280c4]{color:var(--color-success);font-weight:600}.inline-dt[data-v-de5280c4]{font-size:12px;padding:3px 6px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-surface);color:var(--color-text-primary);width:168px}.modal-backdrop[data-v-1b9e9584]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100}.modal[data-v-1b9e9584]{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;width:540px;max-width:95vw;max-height:90vh;display:flex;flex-direction:column;color:var(--color-text-default);box-shadow:0 10px 40px #00000080}.modal-header[data-v-1b9e9584]{display:flex;justify-content:space-between;align-items:center;padding:14px 18px;border-bottom:1px solid var(--color-border)}.modal-header h3[data-v-1b9e9584]{margin:0;font-size:1rem;color:var(--color-text-primary)}.btn-close[data-v-1b9e9584]{background:transparent;border:none;color:var(--color-text-muted);font-size:1.5rem;cursor:pointer;line-height:1}.btn-close[data-v-1b9e9584]:hover{color:#fff}.modal-body[data-v-1b9e9584]{padding:16px 18px;overflow-y:auto;flex:1}.field-row[data-v-1b9e9584]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.field-row label[data-v-1b9e9584]{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;min-width:160px}.check-label[data-v-1b9e9584]{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--color-text-default);text-transform:none;min-width:auto;cursor:pointer}.input[data-v-1b9e9584]{padding:6px 10px;background:var(--color-bg-surface-alt);color:var(--color-text-default);border:1px solid var(--color-btn-secondary-border);border-radius:4px;font-size:.8rem}.input.short[data-v-1b9e9584]{width:100px}.input.tiny[data-v-1b9e9584]{width:70px}.input.grow[data-v-1b9e9584]{flex:1}.input.color[data-v-1b9e9584]{width:40px;height:30px;padding:2px}.input[data-v-1b9e9584]:focus{outline:none;border-color:var(--color-accent-hover)}textarea.input[data-v-1b9e9584]{resize:vertical;font-family:inherit}.hint[data-v-1b9e9584]{font-size:.7rem;color:var(--color-text-muted)}.error[data-v-1b9e9584]{margin-top:8px;padding:6px 10px;background:var(--color-tint-red);color:var(--color-tint-red-text);font-size:.75rem;border-radius:3px;border-left:3px solid var(--color-danger)}.modal-footer[data-v-1b9e9584]{display:flex;justify-content:flex-end;gap:8px;padding:12px 18px;border-top:1px solid var(--color-border)}.btn-cancel[data-v-1b9e9584]{padding:6px 16px;background:var(--color-bg-surface-alt);color:var(--color-text-default);border:1px solid var(--color-btn-secondary-border);border-radius:4px;font-size:.8rem;cursor:pointer}.btn-save[data-v-1b9e9584]{padding:6px 18px;background:var(--color-success);color:#fff;border:none;border-radius:4px;font-size:.8rem;cursor:pointer;font-weight:600}.btn-save[data-v-1b9e9584]:hover{background:var(--color-success);filter:brightness(.85)}.btn-save[data-v-1b9e9584]:disabled{opacity:.5;cursor:not-allowed}.modal-backdrop[data-v-8e718c3f]{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1100}.modal[data-v-8e718c3f]{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;width:500px;max-width:95vw;display:flex;flex-direction:column;color:var(--color-text-default);box-shadow:0 10px 40px #00000080}.modal-header[data-v-8e718c3f]{display:flex;justify-content:space-between;align-items:flex-start;padding:14px 18px;border-bottom:1px solid var(--color-border)}.modal-header h3[data-v-8e718c3f]{margin:0;font-size:1rem;color:var(--color-text-primary)}.subtitle[data-v-8e718c3f]{font-size:.75rem;color:var(--color-text-muted);margin-top:2px}.btn-close[data-v-8e718c3f]{background:transparent;border:none;color:var(--color-text-muted);font-size:1.5rem;cursor:pointer;line-height:1}.btn-close[data-v-8e718c3f]:hover{color:#fff}.modal-body[data-v-8e718c3f]{padding:16px 18px}.warning[data-v-8e718c3f]{background:var(--color-tint-yellow);border-left:3px solid var(--color-warn);padding:8px 12px;font-size:.75rem;color:var(--color-warn-soft);margin-bottom:14px;border-radius:3px}.field-row[data-v-8e718c3f]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.field-row label[data-v-8e718c3f]{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;min-width:140px}.check-label[data-v-8e718c3f]{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--color-text-default);text-transform:none;min-width:auto;cursor:pointer}.input[data-v-8e718c3f]{padding:6px 10px;background:var(--color-bg-surface-alt);color:var(--color-text-default);border:1px solid var(--color-btn-secondary-border);border-radius:4px;font-size:.8rem}.input.short[data-v-8e718c3f]{width:100px}.input.grow[data-v-8e718c3f]{flex:1}.input[data-v-8e718c3f]:focus{outline:none;border-color:var(--color-accent-hover)}textarea.input[data-v-8e718c3f]{resize:vertical;font-family:inherit}.hint[data-v-8e718c3f]{font-size:.7rem;color:var(--color-text-muted)}.preview[data-v-8e718c3f]{margin-top:12px;padding:8px 10px;background:var(--color-bg-page);border-radius:4px;color:var(--color-text-muted);font-size:.75rem}.preview strong[data-v-8e718c3f]{color:var(--color-text-default)}.error[data-v-8e718c3f]{margin-top:8px;padding:6px 10px;background:var(--color-tint-red);color:var(--color-tint-red-text);font-size:.75rem;border-radius:3px;border-left:3px solid var(--color-danger)}.modal-footer[data-v-8e718c3f]{display:flex;align-items:center;gap:8px;padding:12px 18px;border-top:1px solid var(--color-border)}.footer-spacer[data-v-8e718c3f]{flex:1}.btn-cancel[data-v-8e718c3f]{padding:6px 16px;background:var(--color-bg-surface-alt);color:var(--color-text-default);border:1px solid var(--color-btn-secondary-border);border-radius:4px;font-size:.8rem;cursor:pointer}.btn-save[data-v-8e718c3f]{padding:6px 18px;background:var(--color-success);color:#fff;border:none;border-radius:4px;font-size:.8rem;cursor:pointer;font-weight:600}.btn-save[data-v-8e718c3f]:hover{background:var(--color-success);filter:brightness(.85)}.btn-save[data-v-8e718c3f]:disabled{opacity:.5;cursor:not-allowed}.btn-delete[data-v-8e718c3f]{padding:6px 14px;background:transparent;color:var(--color-tint-red-text);border:1px solid var(--color-tint-red-border);border-radius:4px;font-size:.75rem;cursor:pointer}.btn-delete[data-v-8e718c3f]:hover{background:var(--color-tint-red)}.btn-delete[data-v-8e718c3f]:disabled{opacity:.5;cursor:not-allowed}.resource-page[data-v-dcd82a1e]{height:100%;display:flex;flex-direction:column;background:var(--color-bg-page);color:var(--color-text-default)}.toolbar[data-v-dcd82a1e]{display:flex;justify-content:space-between;align-items:center;padding:8px 16px;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.toolbar-left[data-v-dcd82a1e]{display:flex;align-items:center;gap:16px}.toolbar-left h2[data-v-dcd82a1e]{margin:0;font-size:1rem;font-weight:600}.toolbar-right[data-v-dcd82a1e]{display:flex;align-items:center;gap:16px;font-size:.8rem;color:var(--color-text-muted)}.btn-refresh[data-v-dcd82a1e]{padding:6px 12px;background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border:1px solid var(--color-btn-secondary-border);border-radius:4px;font-size:.8rem;cursor:pointer}.btn-refresh[data-v-dcd82a1e]:hover{background:var(--color-btn-secondary-hover)}.btn-refresh[data-v-dcd82a1e]:disabled{opacity:.5;cursor:not-allowed}.scenario-toggle[data-v-dcd82a1e]{display:flex;align-items:center;gap:6px;font-size:.75rem;cursor:pointer}.window-info[data-v-dcd82a1e]{font-size:.75rem;color:var(--color-text-faint)}.loading-state[data-v-dcd82a1e],.empty-state[data-v-dcd82a1e]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-faint);font-size:.9rem}.content[data-v-dcd82a1e],.board[data-v-dcd82a1e]{flex:1;display:flex;flex-direction:column;overflow:hidden}.board-header[data-v-dcd82a1e]{display:flex;background:var(--color-bg-surface);border-bottom:2px solid var(--color-btn-secondary-border);flex-shrink:0;overflow:hidden}.board-body[data-v-dcd82a1e]{flex:1;overflow:auto}.frozen-col[data-v-dcd82a1e]{width:280px;min-width:280px;position:sticky;left:0;z-index:2;background:var(--color-bg-surface);border-right:1px solid var(--color-btn-secondary-border);display:flex;align-items:center}.header-cell[data-v-dcd82a1e]{padding:0 12px;height:32px}.col-title[data-v-dcd82a1e]{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted)}.scroll-col[data-v-dcd82a1e]{flex-shrink:0;overflow:hidden}.resource-row[data-v-dcd82a1e]{display:flex;border-bottom:1px solid var(--color-border-light);position:relative}.resource-info[data-v-dcd82a1e]{display:flex;align-items:center;gap:6px;padding-right:10px;color:var(--color-table-header-text)}.btn-collapse[data-v-dcd82a1e],.btn-collapse-placeholder[data-v-dcd82a1e]{width:14px;height:14px;background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;font-size:.75rem;padding:0;display:inline-flex;align-items:center;justify-content:center}.btn-collapse[data-v-dcd82a1e]:hover{color:var(--color-text-primary)}.kind-badge[data-v-dcd82a1e]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;font-size:.85rem;border-radius:4px;background:var(--color-btn-secondary-bg);flex-shrink:0}.kind-equipment[data-v-dcd82a1e]{background:#1e3a5f}.kind-labor_pool[data-v-dcd82a1e]{background:#064e3b}.kind-overflow[data-v-dcd82a1e]{background:#78350f}.resource-meta[data-v-dcd82a1e]{display:flex;flex-direction:column;min-width:0;font-size:.75rem;line-height:1.2;flex:1}.resource-name[data-v-dcd82a1e]{color:var(--color-text-primary);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;transition:text-decoration-color .15s}.resource-name[data-v-dcd82a1e]:hover{text-decoration-color:var(--color-accent-hover);color:var(--color-accent-hover)}.resource-cap[data-v-dcd82a1e]{color:var(--color-text-muted);font-size:.7rem}.cap-detail[data-v-dcd82a1e]{color:var(--color-text-faint)}.lane[data-v-dcd82a1e]{position:relative;flex-shrink:0;cursor:crosshair}.lane .project-bar[data-v-dcd82a1e],.lane .event-tick[data-v-dcd82a1e],.lane .overflow-pill[data-v-dcd82a1e]{cursor:pointer}.overflow-band[data-v-dcd82a1e]{position:absolute;top:0;bottom:0;background:#ef444414;pointer-events:none}.project-bar[data-v-dcd82a1e]{position:absolute;height:18px;border-radius:3px;display:flex;align-items:center;min-width:8px;cursor:pointer;overflow:hidden}.project-bar[data-v-dcd82a1e]:hover{filter:brightness(1.2)}.project-bar-uncommitted[data-v-dcd82a1e]{opacity:.5;background-image:repeating-linear-gradient(45deg,transparent 0,transparent 4px,rgba(255,255,255,.15) 4px,rgba(255,255,255,.15) 8px)}.bar-label[data-v-dcd82a1e]{font-size:.65rem;color:#fff;padding:0 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.overflow-pill[data-v-dcd82a1e]{position:absolute;left:6px;font-size:.65rem;color:var(--color-text-muted);background:var(--color-btn-secondary-bg);border:1px solid var(--color-btn-secondary-border);padding:1px 6px;border-radius:3px;height:18px;display:inline-flex;align-items:center;cursor:help}.event-tick[data-v-dcd82a1e]{position:absolute;top:2px;bottom:2px;width:3px;border-radius:1px;pointer-events:none}.event-committed[data-v-dcd82a1e]{background:#fbbf24;pointer-events:auto}.event-speculative[data-v-dcd82a1e]{background:#c084fc;pointer-events:auto;opacity:.6}.today-line[data-v-dcd82a1e]{position:absolute;top:0;bottom:0;width:2px;background:#ef444499;z-index:1;pointer-events:none}.btn-add[data-v-dcd82a1e]{background:var(--color-tint-blue);color:var(--color-tint-blue-text);border-color:var(--color-tint-blue-border)}.btn-add[data-v-dcd82a1e]:hover{background:var(--color-accent);color:#fff;border-color:var(--color-accent)}.status-page[data-v-7ecf90d9]{padding:2rem;max-width:600px}h2[data-v-7ecf90d9]{margin:0 0 1rem;font-size:1.1rem;color:var(--color-text-primary)}.status-table[data-v-7ecf90d9]{border-collapse:collapse;font-size:.9rem}.status-table td[data-v-7ecf90d9]{padding:.5rem 1rem .5rem 0}.label[data-v-7ecf90d9]{font-weight:600;color:var(--color-text-default)}.sha[data-v-7ecf90d9]{font-family:ui-monospace,SF Mono,Menlo,Consolas,monospace;color:var(--color-text-muted);font-size:.85rem}
