: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-break-text: #b91c1c;--color-break-line: #dc2626;--color-break-fill: #fecaca;--color-break-row: rgba(220, 38, 38, .12);--color-break-row-soft: rgba(220, 38, 38, .07);--color-contend-text: #92400e;--color-contend-line: #d97706;--color-contend-fill: #fde68a;--color-contend-row: rgba(217, 119, 6, .15);--color-anchor-text: #1d4ed8;--color-derived-text: #334155;--color-adjusted-line: #64748b;--color-trace-line: #7c3aed;--color-trace-fill: rgba(124, 58, 237, .1);--color-bar-body: #1e40af;--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-header-hover: #374151;--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);--z-modal: 1200;--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-amber-text: #92400e;--color-tint-amber-border: #fcd34d;--color-tint-red-light: #fef2f2;--color-tint-gray: #e5e7eb;--color-som-shortage: #ffc7ce;--color-som-ready: #c6efce;--color-som-wip: #ffff99;--color-som-pos-needed: #fed7aa;--color-som-pending: #ddebf7;--color-som-shipped-bg: #006100;--color-som-shipped-text: #fff;--color-som-action: #ffe5cc;--color-som-check: #d9d9d9;--color-overdue-cell: #f8b4b4;--color-overdue-cell-text: #7f1d1d;--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-break-text: #fca5a5;--color-break-line: #ef4444;--color-break-fill: #4c1d1d;--color-break-row: rgba(239, 68, 68, .14);--color-break-row-soft: rgba(239, 68, 68, .09);--color-contend-text: #fcd34d;--color-contend-line: #f59e0b;--color-contend-fill: #40320f;--color-contend-row: rgba(245, 158, 11, .13);--color-anchor-text: #93c5fd;--color-derived-text: #cbd5e1;--color-adjusted-line: #94a3b8;--color-trace-line: #a78bfa;--color-trace-fill: rgba(167, 139, 250, .14);--color-bar-body: #3b82f6;--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-header-hover: #334155;--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-amber-text: #fcd34d;--color-tint-amber-border: #a16207;--color-tint-red-light: #3b1c1c;--color-tint-gray: rgba(156, 163, 175, .16);--color-som-shortage: #3b1c1c;--color-som-ready: #132f21;--color-som-wip: #342a10;--color-som-pos-needed: #3a2410;--color-som-pending: #1a2d42;--color-som-shipped-bg: #132f21;--color-som-shipped-text: #d1fae5;--color-som-action: #352010;--color-som-check: #374151;--color-overdue-cell: #7f1d1d;--color-overdue-cell-text: #fecaca;--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;min-width:fit-content}.mention-dropdown{position:absolute;z-index:1000;min-width:180px;max-width:280px;max-height:240px;overflow-y:auto;padding:4px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-lg);font-size:.85rem;color:var(--color-text-default)}.mention-item{padding:6px 10px;border-radius:5px;cursor:pointer;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mention-item:hover{background:var(--color-bg-hover)}.mention-item.is-selected{background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.mention-empty{padding:6px 10px;color:var(--color-text-muted);cursor:default}.nav-dropdown[data-v-03a965dc]{position:relative;display:inline-block}.nav-dropdown-button[data-v-03a965dc]{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-03a965dc]:hover{color:var(--color-header-text-hover);background:#ffffff14}.nav-dropdown-button.active[data-v-03a965dc]{color:#fff;background:#ffffff1f}.nav-dropdown-button.open[data-v-03a965dc]{color:#fff}.nav-dropdown-button.denied[data-v-03a965dc]{opacity:.45}.button-stack[data-v-03a965dc]{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15}.button-category[data-v-03a965dc]{font-size:.6rem;text-transform:uppercase;letter-spacing:.05em;opacity:.65}.caret[data-v-03a965dc]{font-size:.7rem;line-height:1}.nav-dropdown-menu[data-v-03a965dc]{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-03a965dc]{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-03a965dc]{background:#ffffff14;color:#fff}.nav-dropdown-item.current[data-v-03a965dc]{color:#fff;font-weight:500}.nav-dropdown-item.current[data-v-03a965dc]:before{content:"•";color:var(--color-accent);margin-right:.4rem}.nav-dropdown-item.denied[data-v-03a965dc]{opacity:.45;cursor:not-allowed}.nav-dropdown-item.denied.focused[data-v-03a965dc]{background:transparent}.notif-bell[data-v-d9be88f6]{position:relative;display:inline-block}.btn-bell[data-v-d9be88f6]{position:relative;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-bell[data-v-d9be88f6]:hover,.btn-bell.open[data-v-d9be88f6]{color:#fff;background:#ffffff14}.notif-badge[data-v-d9be88f6]{position:absolute;top:-2px;right:-2px;min-width:16px;height:16px;padding:0 4px;box-sizing:border-box;background:var(--color-danger, #dc2626);color:#fff;border-radius:999px;font-size:.62rem;font-weight:700;line-height:16px;text-align:center}.notif-menu[data-v-d9be88f6]{position:absolute;top:calc(100% + 8px);right:0;width:320px;max-height:420px;overflow-y:auto;background:var(--color-header-bg, #1f2937);border:1px solid var(--color-header-border, #374151);border-radius:6px;box-shadow:0 8px 20px #00000059;z-index:200}.notif-head[data-v-d9be88f6]{display:flex;align-items:center;justify-content:space-between;padding:.6rem .75rem;border-bottom:1px solid var(--color-header-border, #374151)}.notif-title[data-v-d9be88f6]{font-size:.8rem;font-weight:600;color:#fff}.notif-readall[data-v-d9be88f6]{background:none;border:none;color:var(--color-accent, #60a5fa);font-size:.72rem;cursor:pointer;padding:0}.notif-readall[data-v-d9be88f6]:hover{text-decoration:underline}.notif-empty[data-v-d9be88f6]{padding:1.25rem .75rem;text-align:center;color:#9ca3af;font-size:.8rem}.notif-list[data-v-d9be88f6]{list-style:none;margin:0;padding:0}.notif-item[data-v-d9be88f6]{display:flex;gap:.5rem;align-items:flex-start;padding:.6rem .75rem;border-bottom:1px solid rgba(255,255,255,.05);cursor:pointer}.notif-item[data-v-d9be88f6]:hover{background:#ffffff0f}.notif-item.unread[data-v-d9be88f6]{background:#60a5fa14}.notif-item.unavailable[data-v-d9be88f6]{cursor:default}.notif-dot[data-v-d9be88f6]{flex-shrink:0;width:7px;height:7px;margin-top:5px;border-radius:50%;background:var(--color-accent, #60a5fa)}.notif-item:not(.unread) .notif-body[data-v-d9be88f6]{padding-left:15px}.notif-body[data-v-d9be88f6]{min-width:0}.notif-text[data-v-d9be88f6]{font-size:.8rem;color:#e5e7eb}.notif-text strong[data-v-d9be88f6]{color:#fff;font-weight:600}.notif-snippet[data-v-d9be88f6]{margin-top:2px;font-size:.75rem;color:#9ca3af;overflow:hidden;text-overflow:ellipsis;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical}.notif-snippet.deleted[data-v-d9be88f6]{font-style:italic}.notif-time[data-v-d9be88f6]{margin-top:3px;font-size:.68rem;color:#6b7280}.preview-panel[data-v-d449068d]{position:fixed;right:1rem;bottom:1rem;z-index:300;min-width:240px;max-width:340px;padding:.6rem .75rem;background:var(--color-header-bg, #1f2937);color:var(--color-header-text-hover, #f9fafb);border:1px solid #f59e0b;border-radius:6px;box-shadow:0 8px 20px #00000059;font-size:.8rem;line-height:1.35}.preview-head[data-v-d449068d]{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding-bottom:.4rem;border-bottom:1px solid var(--color-header-border, #374151)}.preview-exit[data-v-d449068d]{background:#f59e0b;color:#111827;border:none;border-radius:4px;padding:.2rem .55rem;font-size:.75rem;font-weight:600;cursor:pointer}.preview-section[data-v-d449068d]{margin-top:.5rem}.preview-label[data-v-d449068d]{font-size:.65rem;text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;font-weight:600}.preview-path[data-v-d449068d],.preview-action[data-v-d449068d]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.72rem;color:#9ca3af}.preview-action[data-v-d449068d]{margin-left:.35rem}.ok .preview-action[data-v-d449068d],.denied .preview-action[data-v-d449068d]{color:inherit}.preview-controls[data-v-d449068d]{list-style:none;margin:0;padding:0}.preview-muted[data-v-d449068d]{color:#9ca3af;margin-left:.35rem}.ok[data-v-d449068d]{color:#34d399}.denied[data-v-d449068d]{color:#f87171}.tip{--tip-border: var(--color-text-faint);position:fixed;z-index:9999;max-width:340px;width:max-content;padding:9px 12px;border-radius:8px;background:var(--color-bg-surface-alt);color:var(--color-text-primary);border:1px solid var(--tip-border);font-size:.85rem;line-height:1.4;white-space:normal;pointer-events:none;box-shadow:0 3px 12px #00000029}.tip-arrow{position:absolute;width:12px;height:12px;transform:rotate(45deg);background:inherit;border:1px solid var(--tip-border)}.tip-bottom .tip-arrow{top:-7px;border-right:none;border-bottom:none}.tip-top .tip-arrow{bottom:-7px;border-left:none;border-top:none}.tip.pinned{pointer-events:auto;font-size:.9rem;padding:11px 14px;box-shadow:0 6px 20px #0000003d}#app{min-width:0!important}.app[data-v-0c9c898e]{display:flex;flex-direction:column;height:100vh;overflow-x:hidden}header[data-v-0c9c898e]{background:var(--color-header-bg);color:#fff;padding:.375rem 1.5rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;row-gap:.125rem;min-height:3rem;flex-shrink:0}.header-left[data-v-0c9c898e]{display:flex;align-items:center;gap:2rem;flex-wrap:wrap;min-width:0}header h1[data-v-0c9c898e]{margin:0;font-size:1.1rem;font-weight:600}.brand[data-v-0c9c898e]{text-decoration:none;color:inherit;display:inline-flex;align-items:center}.header-nav[data-v-0c9c898e]{display:flex;align-items:center;gap:.25rem;flex-wrap:wrap}.nav-link[data-v-0c9c898e]{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-0c9c898e]:hover{color:var(--color-header-text-hover);background:#ffffff14}.nav-link.router-link-exact-active[data-v-0c9c898e]{color:#fff;background:#ffffff1f}.header-right[data-v-0c9c898e]{display:flex;align-items:center;margin-left:auto;flex-shrink:0}.user-info[data-v-0c9c898e]{display:flex;align-items:center;gap:.75rem;font-size:.85rem}.animal-name[data-v-0c9c898e]{padding:.15rem .5rem;background:#ffffff14;border-radius:999px;color:#d1d5db;font-size:.75rem;font-weight:500}.staging-badge[data-v-0c9c898e]{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-0c9c898e]{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-0c9c898e]:hover{color:#fff;border-color:#9ca3af}main[data-v-0c9c898e]{flex:1;min-height:0;min-width:0;overflow:auto}.login-page[data-v-0c9c898e]{display:flex;align-items:center;justify-content:center;height:100vh;background:var(--color-login-bg);color:#fff}.login-box[data-v-0c9c898e]{text-align:center;padding:3rem;background:var(--color-login-box);border-radius:8px}.login-box h1[data-v-0c9c898e]{margin:0 0 .5rem;font-size:2rem}.login-box p[data-v-0c9c898e]{margin:0 0 2rem;color:#9ca3af}.btn-login[data-v-0c9c898e]{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-0c9c898e]{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-0c9c898e]:hover{color:#fff;border-color:#9ca3af}.btn-login[data-v-0c9c898e]:hover{background:var(--color-login-btn-hover)}.settings-dropdown[data-v-0c9c898e]{position:relative;display:inline-block}.btn-settings[data-v-0c9c898e]{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-0c9c898e]:hover,.btn-settings.open[data-v-0c9c898e]{color:#fff;background:#ffffff14}.settings-menu[data-v-0c9c898e]{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-0c9c898e]{display:flex;flex-direction:column;gap:.4rem}.settings-section+.settings-section[data-v-0c9c898e]{margin-top:.75rem}.settings-label[data-v-0c9c898e]{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;font-weight:600;padding:0 .25rem}.preview-select[data-v-0c9c898e]{width:100%;background:#ffffff0f;color:var(--color-header-text-hover, #f9fafb);border:1px solid var(--color-header-border, #374151);border-radius:4px;padding:.3rem .4rem;font-size:.8rem;font-family:inherit}.theme-options[data-v-0c9c898e]{display:flex;gap:2px;background:#ffffff0f;border-radius:4px;padding:2px}.text-size-value[data-v-0c9c898e]{margin-left:.4rem;color:#9ca3af;font-weight:400}.text-size-reset[data-v-0c9c898e]{margin-left:.5rem;background:none;border:none;color:#60a5fa;cursor:pointer;font-size:.7rem;padding:0}.text-size-slider[data-v-0c9c898e]{width:100%;margin:0 0 .1rem;accent-color:#60a5fa;cursor:pointer}.theme-option[data-v-0c9c898e]{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-0c9c898e]:hover{color:#e5e7eb}.theme-option.active[data-v-0c9c898e]{background:#ffffff26;color:#fff;font-weight:500}.pending-threads[data-v-b382bf42]{margin-top:1.5rem}.pt-header[data-v-b382bf42]{display:flex;align-items:baseline;gap:.6rem;margin-bottom:.6rem}.pt-header h3[data-v-b382bf42]{margin:0;font-size:1rem}.pt-count[data-v-b382bf42]{color:var(--color-text-muted, #6b7280);font-weight:400}.pt-sub[data-v-b382bf42]{font-size:.78rem;color:var(--color-text-muted, #6b7280)}.pt-state[data-v-b382bf42]{padding:.6rem 0;color:var(--color-text-muted, #6b7280);font-size:.88rem}.pt-state.error[data-v-b382bf42]{color:var(--color-danger, #dc2626)}.pt-list[data-v-b382bf42]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.pt-row[data-v-b382bf42]{display:flex;align-items:baseline;gap:.6rem;padding:.5rem .75rem;background:var(--color-card-bg, var(--color-bg-surface));border:1px solid var(--color-card-border, var(--color-border));border-radius:8px;text-decoration:none;color:var(--color-text-default);transition:border-color .15s}.pt-row[data-v-b382bf42]:hover{border-color:var(--color-accent)}.pt-due[data-v-b382bf42]{flex-shrink:0;min-width:5.5rem;font-size:.78rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.pt-due.overdue[data-v-b382bf42]{color:var(--color-danger);font-weight:600}.pt-body[data-v-b382bf42]{min-width:0;font-size:.88rem;font-weight:500;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pt-meta[data-v-b382bf42]{flex-shrink:0;margin-left:auto;font-size:.78rem;color:var(--color-text-muted);white-space:nowrap}.dashboard-page[data-v-488db679]{max-width:760px;margin:0 auto;padding:1.5rem}.dashboard-header h2[data-v-488db679]{margin:0 0 1rem;font-size:1.25rem}.dashboard-header .count[data-v-488db679]{color:var(--color-text-muted, #6b7280);font-weight:400}.dash-state[data-v-488db679]{padding:2rem 0;color:var(--color-text-muted, #6b7280)}.dash-state.error[data-v-488db679]{color:var(--color-danger, #dc2626)}.task-cards[data-v-488db679]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.task-card[data-v-488db679]{display:block;padding:.7rem .9rem;background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:8px;text-decoration:none;color:var(--color-text-default);transition:border-color .15s,box-shadow .15s}.task-card[data-v-488db679]:hover{border-color:var(--color-accent);box-shadow:0 1px 4px #0003}.task-card-title[data-v-488db679]{font-weight:600;font-size:.95rem;margin-bottom:.25rem;color:var(--color-text-primary)}.task-flag[data-v-488db679]{color:var(--color-danger);margin-right:.25rem}.task-card-meta[data-v-488db679]{font-size:.8rem;color:var(--color-text-muted);display:flex;flex-wrap:wrap;align-items:center;gap:.35rem}.meta-sep[data-v-488db679]{color:var(--color-text-faint)}.meta-status.in_progress[data-v-488db679]{color:var(--color-accent)}.meta-due.overdue[data-v-488db679]{color:var(--color-danger);font-weight:600}.spreadsheet-container[data-v-20558b87]{padding:2rem;max-width:1200px;margin:0 auto}.header[data-v-20558b87]{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.header h1[data-v-20558b87]{margin:0;font-size:1.5rem}.status-bar[data-v-20558b87]{display:flex;gap:1rem;align-items:center}.status-indicator[data-v-20558b87]{padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:500}.status-indicator.connecting[data-v-20558b87]{background-color:var(--color-tint-yellow);color:var(--color-tint-yellow-text)}.status-indicator.connected[data-v-20558b87]{background-color:var(--color-tint-green);color:var(--color-tint-green-text)}.status-indicator.error[data-v-20558b87]{background-color:var(--color-tint-red);color:var(--color-tint-red-text)}.current-user[data-v-20558b87]{font-size:.875rem;color:var(--color-text-muted)}.active-users[data-v-20558b87]{margin-bottom:2rem}.active-users h3[data-v-20558b87]{margin:0 0 .5rem;font-size:1rem;color:var(--color-text-default)}.user-list[data-v-20558b87]{display:flex;gap:.5rem;flex-wrap:wrap}.user-badge[data-v-20558b87]{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-20558b87]{background-color:#ffffff4d;padding:.125rem .375rem;border-radius:.25rem;font-size:.75rem}.spreadsheet[data-v-20558b87]{overflow-x:auto;margin-bottom:2rem}table[data-v-20558b87]{border-collapse:collapse;width:100%;table-layout:fixed;background-color:var(--color-bg-surface);box-shadow:0 1px 3px #0000001a}th[data-v-20558b87],td[data-v-20558b87]{border:1px solid var(--color-border);text-align:left}.column-header[data-v-20558b87],.row-header[data-v-20558b87]{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-20558b87],.row-header[data-v-20558b87]{font-size:.875rem}.cell[data-v-20558b87]{padding:0;min-width:120px;height:40px;cursor:pointer;position:relative;transition:background-color .2s}.cell[data-v-20558b87]:hover{background-color:var(--color-bg-hover)}.cell-display[data-v-20558b87]{display:block;padding:.5rem;width:100%;height:100%}.cell-input[data-v-20558b87]{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-20558b87]{box-shadow:inset 0 0 0 2px var(--color-accent);background-color:var(--color-bg-hover)}.spreadsheet-page[data-v-fb2f8a74]{height:100%;display:flex;flex-direction:column}.controls[data-v-fb2f8a74]{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-fb2f8a74]{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-fb2f8a74]{padding:.5rem 1rem;background:var(--color-accent);color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500}.btn-create[data-v-fb2f8a74]:hover{background:var(--color-accent-hover)}.sheet-layout[data-v-fb2f8a74]{display:flex;flex:1;overflow:hidden}.sidebar[data-v-fb2f8a74]{width:200px;background:var(--color-bg-surface-alt);padding:1rem;border-right:1px solid var(--color-border);overflow-y:auto}.sidebar h3[data-v-fb2f8a74]{margin-top:0;color:var(--color-text-primary);font-size:.85rem;text-transform:uppercase}.sheet-list[data-v-fb2f8a74]{list-style:none;padding:0;margin:0}.sheet-list li[data-v-fb2f8a74]{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-fb2f8a74]:hover{background:var(--color-bg-hover)}.sheet-list li.active[data-v-fb2f8a74]{background:var(--color-accent);color:#fff;border-color:var(--color-accent-hover)}.sheet-content[data-v-fb2f8a74]{flex:1;overflow:auto;padding:1rem}.empty-state[data-v-fb2f8a74]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted)}.loading[data-v-fb2f8a74]{text-align:center;color:var(--color-text-muted)}.virtual-scroll-outer[data-v-fdfb5325]{overflow:auto;height:100%;position:relative;contain:inline-size}.virtual-scroll-header[data-v-fdfb5325]{position:sticky;top:0;z-index:2;min-width:max-content}.virtual-scroll-sentinel[data-v-fdfb5325]{position:relative;width:100%;min-width:max-content}.virtual-scroll-page[data-v-fdfb5325]{position:absolute;width:100%;left:0;top:0}:where(.vis-uniform .virtual-scroll-page)>:where(*){height:var(--vis-row-height, 1.75rem)}.col-filter-menu[data-v-28834be9]{background:var(--color-bg-surface);border:1px solid var(--color-input-border);border-radius:6px;box-shadow:var(--shadow-lg);width:280px;font-size:.75rem;color:var(--color-text-default);display:flex;flex-direction:column}.cfm-section[data-v-28834be9]{padding:.4rem .6rem;border-bottom:1px solid var(--color-input-border)}.cfm-section[data-v-28834be9]:last-child{border-bottom:none}.cfm-sort-btn[data-v-28834be9]{width:100%;text-align:left;background:none;border:none;cursor:pointer;font:inherit;color:inherit;padding:2px 0}.cfm-sort-btn[data-v-28834be9]:hover{color:var(--color-link, #2563eb)}.cfm-search[data-v-28834be9]{width:100%;box-sizing:border-box;font:inherit;padding:3px 6px;border:1px solid var(--color-input-border);border-radius:4px}.cfm-list[data-v-28834be9]{max-height:220px;overflow-y:auto;padding:.25rem .6rem;border-bottom:1px solid var(--color-input-border)}.cfm-check[data-v-28834be9]{display:flex;align-items:center;gap:.4rem;padding:2px 0;cursor:pointer}.cfm-select-all[data-v-28834be9]{font-weight:600;position:sticky;top:0;background:var(--color-bg-surface)}.cfm-val[data-v-28834be9]{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cfm-blank[data-v-28834be9]{font-style:italic;color:var(--color-text-muted, #888)}.cfm-count[data-v-28834be9]{color:var(--color-text-muted, #888);font-variant-numeric:tabular-nums}.cfm-note[data-v-28834be9]{padding:4px 0;color:var(--color-text-muted, #888);font-style:italic}.cfm-error[data-v-28834be9]{color:var(--color-danger, #b91c1c)}.cfm-apply-row[data-v-28834be9]{display:flex;justify-content:space-between;align-items:center;gap:8px}.cfm-negate[data-v-28834be9]{display:inline-flex;align-items:center;gap:5px;font-size:.75rem;color:var(--color-text-muted, #666);cursor:pointer;white-space:nowrap}.cfm-textop[data-v-28834be9],.cfm-numop[data-v-28834be9],.cfm-range[data-v-28834be9]{display:flex;gap:.35rem;align-items:center}.cfm-textop input[data-v-28834be9],.cfm-numop input[data-v-28834be9],.cfm-range input[data-v-28834be9]{flex:1;min-width:0;font:inherit;padding:3px 6px;border:1px solid var(--color-input-border);border-radius:4px}.cfm-textop select[data-v-28834be9],.cfm-numop select[data-v-28834be9]{font:inherit;padding:3px 4px;border:1px solid var(--color-input-border);border-radius:4px}.cfm-presets[data-v-28834be9]{display:flex;flex-wrap:wrap;gap:.3rem}.cfm-preset[data-v-28834be9]{font:inherit;font-size:.6875rem;padding:2px 8px;border:1px solid var(--color-input-border);border-radius:10px;background:none;color:inherit;cursor:pointer}.cfm-preset[data-v-28834be9]:hover{border-color:var(--color-link, #2563eb);color:var(--color-link, #2563eb)}.cfm-preset.active[data-v-28834be9],.cfm-lastn.active .cfm-preset[data-v-28834be9]{background:var(--color-link, #2563eb);border-color:var(--color-link, #2563eb);color:#fff}.cfm-lastn[data-v-28834be9]{display:flex;align-items:center;gap:.3rem}.cfm-lastn input[data-v-28834be9]{width:46px;font:inherit;font-size:.6875rem;padding:2px 4px;border:1px solid var(--color-input-border);border-radius:4px}.cfm-bool[data-v-28834be9]{display:flex;gap:.4rem}.cfm-footer[data-v-28834be9]{display:flex;align-items:center;gap:.4rem}.cfm-spacer[data-v-28834be9]{flex:1}.cfm-footer button[data-v-28834be9],.cfm-apply-row button[data-v-28834be9],.cfm-bool button[data-v-28834be9],.cfm-textop button[data-v-28834be9],.cfm-numop button[data-v-28834be9],.cfm-range button[data-v-28834be9]{font:inherit;font-size:.6875rem;padding:3px 10px;border:1px solid var(--color-input-border);border-radius:4px;background:none;color:inherit;cursor:pointer}button.primary[data-v-28834be9]{background:var(--color-link, #2563eb);border-color:var(--color-link, #2563eb);color:#fff}button.danger[data-v-28834be9]{color:var(--color-danger, #b91c1c)}button[data-v-28834be9]:disabled{opacity:.5;cursor:default}.th-filter-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:999}.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, .6875rem);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, .375rem .375rem));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:2px;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{display:none;font-size:.6875rem;line-height:1;color:#cbd5e1;text-align:center;margin-left:auto}.table-head .th.sortable:hover .sort-arrow{display:inline;opacity:.7}.table-head .th.sorted .sort-arrow{display:inline;opacity:1;color:var(--color-table-header-text)}body.resizing-column .sort-arrow,body.resizing-column .th-filter-btn,.table-head .th:has(>.col-resize-handle:hover) .sort-arrow,.table-head .th:has(>.col-resize-handle:hover) .th-filter-btn{display:none!important}.th-filter-btn{display:none;align-items:center;justify-content:center;border:none;background:none;padding:0 1px;margin:0;cursor:pointer;color:#cbd5e1;border-radius:3px}.table-head .th:hover .th-filter-btn,.th-filter-btn.open{display:inline-flex;opacity:.8}.th-filter-btn:hover{opacity:1;color:var(--color-table-header-text)}.th-filter-btn.active{display:inline-flex;opacity:1;color:var(--color-filter-active, #60a5fa)}.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, .125rem .375rem);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:.625rem;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:has(>.td.spans)>.td:not(.col-rownum):not(.spans){display:none}.td.spans{position:static;width:auto;flex:1 1 auto}.has-sticky .col-rownum{position:sticky;left:0;z-index:2}.td.col-sticky,.th.col-sticky{position:sticky;left:var(--grid-sticky-left, 40px);z-index:1;background:var(--color-bg-surface)}.td.col-sticky:hover{background-color:color-mix(in srgb,#000 3%,var(--color-bg-surface))}.td.col-sticky.in-selection{background-color:color-mix(in srgb,#3b82f6 20%,var(--color-bg-surface))}.td.col-sticky.selected{background-color:color-mix(in srgb,#3b82f6 30%,var(--color-bg-surface))}.has-sticky.no-rownum .col-sticky{left:0}.has-sticky .td.col-sticky:after,.has-sticky .th.col-sticky:after{content:"";position:absolute;top:0;bottom:0;right:-1px;width:1px;background:var(--color-border)}.table-head .th.col-sticky{background:var(--color-table-header-bg);z-index:3}.table-row.row-selected .td.col-sticky{background-color:color-mix(in srgb,#1d4ed8 12%,var(--color-bg-surface))}.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:.6875rem}.col-customer{width:200px;flex-shrink:0}.col-date{width:88px;flex-shrink:0}.col-amount{width:100px;flex-shrink:0}.col-status{width:90px;flex-shrink:0}.col-bool{width:80px;flex-shrink:0}.col-amount-wide{width:148px;flex-shrink:0}.col-synced{width:90px;flex-shrink:0;color:#6b7280;font-size:.6875rem}.td.cell-status{background-color:var(--cs-bg, transparent);background-clip:padding-box;border-radius:5px;color:var(--cs-text, inherit);font-weight:600}.td.cell-status.in-selection{background-color:color-mix(in srgb,#3b82f6 25%,var(--cs-bg, transparent))}.td.cell-status.selected{background-color:color-mix(in srgb,#3b82f6 35%,var(--cs-bg, transparent))}.cs-red{--cs-bg: var(--color-tint-red);--cs-text: var(--color-tint-red-text)}.cs-pink{--cs-bg: var(--color-tint-pink);--cs-text: var(--color-tint-pink-text)}.cs-orange{--cs-bg: var(--color-tint-orange);--cs-text: var(--color-tint-orange-text)}.cs-amber{--cs-bg: var(--color-tint-amber);--cs-text: var(--color-tint-amber-text)}.cs-yellow{--cs-bg: var(--color-tint-yellow);--cs-text: var(--color-tint-yellow-text)}.cs-green{--cs-bg: var(--color-tint-green);--cs-text: var(--color-tint-green-text)}.cs-blue{--cs-bg: var(--color-tint-blue);--cs-text: var(--color-tint-blue-text)}.cs-indigo{--cs-bg: var(--color-tint-indigo);--cs-text: var(--color-tint-indigo-text)}.cs-gray{--cs-bg: var(--color-tint-gray);--cs-text: var(--color-tint-gray-text)}[data-row-color=on] .table-row.row-status,[data-theme=light]:not([data-row-color=off]) .table-row.row-status{background-color:var(--cs-bg, transparent)}.td.cell-overdue{background:var(--color-overdue-cell, #f8b4b4);background-clip:padding-box;border-radius:5px;color:var(--color-overdue-cell-text, #7f1d1d);font-weight:600}.linear-projects-page[data-v-99377153]{height:100%;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.8125rem}.loading-state[data-v-99377153],.empty-state[data-v-99377153]{display:flex;align-items:center;justify-content:center;height:100%;color:var(--color-text-muted)}.report-header[data-v-99377153]{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-99377153]{font-weight:600;font-size:1rem}.report-count[data-v-99377153]{color:var(--color-text-muted);font-size:.8125rem}.table-wrapper[data-v-99377153]{--vis-row-height: 2.5rem;flex:1;display:flex;flex-direction:column;overflow:hidden;--grid-header-font-size: .75rem;--grid-cell-padding: .5rem .75rem;--grid-cell-cursor: default}.row-canceled[data-v-99377153]{background:var(--color-bg-surface-alt)!important;color:var(--color-text-faint)}.color-dot[data-v-99377153]{width:8px;height:8px;border-radius:50%;margin-right:8px;flex-shrink:0}.name-text[data-v-99377153]{font-weight:500}.name-link[data-v-99377153]{color:var(--color-accent);text-decoration:none;font-weight:500;transition:color .2s}.name-link[data-v-99377153]:hover{color:var(--color-accent-hover);text-decoration:underline}.progress-bar[data-v-99377153]{position:relative;width:100%;height:20px;background:var(--color-border);border-radius:4px;overflow:hidden}.progress-fill[data-v-99377153]{position:absolute;left:0;top:0;height:100%;background:linear-gradient(to right,#10b981,#059669);transition:width .3s ease}.progress-text[data-v-99377153]{position:absolute;left:0;right:0;top:0;bottom:0;display:flex;align-items:center;justify-content:center;font-size:.6875rem;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-ec4e453e]{margin-top:16px}.results-header[data-v-ec4e453e]{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.results-title[data-v-ec4e453e]{margin:0;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.results-count[data-v-ec4e453e]{color:var(--color-text-muted);font-weight:400}.results-clear[data-v-ec4e453e]{padding:6px 14px;font-size:.8125rem;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-ec4e453e]:hover{background:var(--color-btn-secondary-hover)}.results-loading[data-v-ec4e453e]{padding:24px;text-align:center;color:var(--color-text-muted);font-size:.875rem}.results-empty[data-v-ec4e453e]{padding:16px 12px;color:var(--color-text-muted);font-size:.8125rem;background:var(--color-bg-surface-alt);border:1px dashed var(--color-border);border-radius:4px}.results-list[data-v-ec4e453e]{display:flex;flex-direction:column;gap:12px}.result-card[data-v-ec4e453e]{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-ec4e453e]{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-ec4e453e]{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-ec4e453e]{background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.badge-bom[data-v-ec4e453e]{background:var(--color-tint-yellow);color:var(--color-tint-yellow-text)}.badge-bom-item[data-v-ec4e453e]{background:var(--color-tint-green);color:var(--color-tint-green-text)}.barcode-label[data-v-ec4e453e]{font-family:monospace;font-size:.9rem;color:var(--color-text-primary);font-weight:500}.result-card-body[data-v-ec4e453e]{padding:10px 14px;display:grid;grid-template-columns:1fr 1fr;gap:6px 16px}.field-row[data-v-ec4e453e]{display:flex;flex-direction:column;gap:1px}.field-label[data-v-ec4e453e]{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);font-weight:600}.field-value[data-v-ec4e453e]{font-size:.85rem;color:var(--color-text-default);word-break:break-word}.scan-page[data-v-26f989d0]{padding:20px;height:100%;overflow-y:auto;box-sizing:border-box}.scan-form[data-v-26f989d0]{display:flex;flex-direction:column;gap:16px;max-width:800px}.operation-row[data-v-26f989d0]{display:flex;flex-direction:column;gap:4px}.operation-row label[data-v-26f989d0]{font-weight:500}.operation-select[data-v-26f989d0]{padding:8px 12px;font-size:1rem;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-26f989d0]{display:flex;gap:16px}.ids-column[data-v-26f989d0]{flex:1;display:flex;flex-direction:column;gap:4px}.ids-column label[data-v-26f989d0]{font-weight:500}.ids-input[data-v-26f989d0]{padding:8px 12px;font-size:.875rem;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-26f989d0]{padding:8px 12px;font-size:.875rem;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-26f989d0]{display:flex;align-items:center}.checkbox-row label[data-v-26f989d0]{display:flex;align-items:center;gap:8px;font-weight:500;cursor:pointer}.submit-button[data-v-26f989d0]{padding:10px 20px;font-size:1rem;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-26f989d0]:hover{background-color:var(--color-btn-primary-hover)}.locate-actions[data-v-26f989d0]{display:flex;gap:8px;align-items:center}.scan-mode-button[data-v-26f989d0]{padding:10px 20px;font-size:1rem;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-26f989d0]:hover{background-color:var(--color-bg-hover)}.event-log[data-v-26f989d0]{max-height:200px;overflow-y:auto;border:1px solid var(--color-border);border-radius:4px;padding:8px;font-family:monospace;font-size:.8125rem}.log-entry[data-v-26f989d0]{padding:4px 0;display:flex;gap:8px}.log-time[data-v-26f989d0]{color:var(--color-log-time);flex-shrink:0}.log-success .log-message[data-v-26f989d0]{color:var(--color-log-success)}.log-error .log-message[data-v-26f989d0]{color:var(--color-log-error)}.tracking-section[data-v-26f989d0]{margin-top:24px;padding-top:20px;border-top:1px solid var(--color-border);max-width:1100px}.tracking-title[data-v-26f989d0]{margin:0 0 4px;font-size:1rem;font-weight:600;color:var(--color-text-primary)}.tracking-help[data-v-26f989d0]{margin:0 0 12px;color:var(--color-text-muted);font-size:.8125rem}.tracking-search[data-v-26f989d0]{display:flex;gap:8px;align-items:center;margin-bottom:12px}.tracking-input[data-v-26f989d0]{flex:1;max-width:480px}.tracking-search-btn[data-v-26f989d0]{align-self:stretch;padding:8px 18px}.tracking-clear-btn[data-v-26f989d0]{padding:8px 14px;font-size:.875rem;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-26f989d0]:hover{background-color:var(--color-btn-secondary-hover)}.tracking-empty[data-v-26f989d0]{padding:16px 12px;color:var(--color-text-muted);font-size:.8125rem;background:var(--color-bg-surface-alt);border:1px dashed var(--color-border);border-radius:4px}.tracking-header[data-v-26f989d0]{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-26f989d0]{color:var(--color-text-default);font-size:.8125rem;font-weight:500}.tracking-truncated[data-v-26f989d0]{color:var(--color-text-muted);font-weight:400}.tracking-table-wrapper[data-v-26f989d0]{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:.8125rem}.tracking-table-wrapper .table-head[data-v-26f989d0]{display:flex;background:var(--color-table-header-bg);color:var(--color-table-header-text);font-weight:600;font-size:.75rem}.tracking-table-wrapper .th[data-v-26f989d0]{padding:8px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tracking-table-wrapper .th.sortable[data-v-26f989d0]{cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color .2s}.tracking-table-wrapper .th.sortable[data-v-26f989d0]:hover{background-color:var(--color-header-bg-alt)}.tracking-table-wrapper .sort-icon[data-v-26f989d0]{display:inline-block;margin-left:4px;font-size:.625rem;color:var(--color-text-faint)}.tracking-table-body[data-v-26f989d0]{background:var(--color-bg-surface)}.tracking-table-wrapper .table-row[data-v-26f989d0]{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-26f989d0]:last-child{border-bottom:none}.tracking-table-wrapper .td[data-v-26f989d0]{padding:8px 12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center}.tracking-table-wrapper .col-time[data-v-26f989d0]{width:240px;flex-shrink:0}.tracking-table-wrapper .col-op[data-v-26f989d0]{width:140px;flex-shrink:0}.tracking-table-wrapper .col-part[data-v-26f989d0]{width:200px;flex-shrink:0;font-family:monospace;font-size:.75rem}.tracking-table-wrapper .col-loc[data-v-26f989d0]{width:180px;flex:1;min-width:120px}.tracking-table-wrapper .col-person[data-v-26f989d0]{width:200px;flex-shrink:0}.modal-backdrop[data-v-39c4387d]{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:grid;place-items:center;padding:16px;background:color-mix(in srgb,var(--color-text-primary) 45%,transparent)}.modal[data-v-39c4387d]{width:min(var(--modal-w),100%);max-height:100%;overflow-y:auto;box-sizing:border-box;background:var(--color-bg-surface);color:var(--color-text-default);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem 1.5rem;box-shadow:0 10px 30px color-mix(in srgb,var(--color-text-primary) 20%,transparent)}.modal.full[data-v-39c4387d]{height:calc(100dvh - 32px);display:flex;flex-direction:column;overflow:hidden}.modal[data-v-39c4387d]:focus{outline:none}@media (max-width: 480px){.modal-backdrop[data-v-39c4387d]{padding:0}.modal[data-v-39c4387d]{border-radius:0}.modal.full[data-v-39c4387d]{height:100dvh}}.modal-header[data-v-39c4387d]{display:flex;justify-content:space-between;align-items:flex-start;gap:.5rem}.modal-header[data-v-39c4387d] h2{margin:0 0 1rem;font-size:1.1rem;color:var(--color-text-primary)}.modal-close[data-v-39c4387d]{background:transparent;border:none;color:var(--color-text-muted);font-size:1.4rem;cursor:pointer;line-height:1;padding:0}.modal-close[data-v-39c4387d]:hover{color:var(--color-text-primary)}.modal[data-v-39c4387d] .modal-actions{display:flex;justify-content:flex-end;gap:.5rem;margin-top:.5rem}.modal[data-v-39c4387d] .btn{border:1px solid var(--color-btn-secondary-border);background:var(--color-btn-secondary-bg);padding:.45rem .8rem;border-radius:6px;cursor:pointer;font-size:.85rem;color:var(--color-btn-secondary-text)}.modal[data-v-39c4387d] .btn:hover:not(:disabled){background:var(--color-btn-secondary-hover)}.modal[data-v-39c4387d] .btn.primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.modal[data-v-39c4387d] .btn.primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.modal[data-v-39c4387d] .btn.danger{background:#b91c1c;border-color:#b91c1c;color:#fff}.modal[data-v-39c4387d] .btn.danger:hover:not(:disabled){background:#991b1b;border-color:#991b1b}.modal[data-v-39c4387d] .btn:disabled{opacity:.6;cursor:default}form[data-v-c543fdf6] .form-warning{background:var(--color-tint-amber);color:var(--color-tint-amber-text);border:1px solid var(--color-tint-amber-border);border-radius:6px;padding:.5rem .7rem;font-size:.8rem;margin-bottom:.75rem}form[data-v-c543fdf6] .form-warning p{margin:0}form[data-v-c543fdf6] .form-warning p+p{margin-top:.35rem}form[data-v-c543fdf6] .form-error{background:var(--color-tint-red);color:var(--color-tint-red-text);border:1px solid var(--color-tint-red-border);border-radius:6px;padding:.5rem .7rem;font-size:.8rem;margin-bottom:.75rem}.modal-title[data-v-d77c9e2a]{display:flex;align-items:baseline;gap:10px}.modal-subtitle[data-v-d77c9e2a]{font-size:.8rem;font-weight:400;color:var(--color-text-muted)}.form-grid[data-v-d77c9e2a]{display:grid;grid-template-columns:1fr 1fr;gap:10px}.field[data-v-d77c9e2a]{display:flex;flex-direction:column;gap:3px}.field-full[data-v-d77c9e2a]{grid-column:1 / -1}.field-label[data-v-d77c9e2a]{font-size:.65rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.form-static[data-v-d77c9e2a]{padding:6px 10px;font-size:.78rem;color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:4px}.gate-note[data-v-d77c9e2a]{font-size:.68rem;color:var(--color-text-muted);line-height:1.4}.form-input[data-v-d77c9e2a]{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;width:100%}.notes-input[data-v-d77c9e2a]{resize:vertical;min-height:48px;font-family:inherit}.ms-section[data-v-d77c9e2a]{margin-top:16px;border-top:1px solid var(--color-border);padding-top:12px}.ms-section-title[data-v-d77c9e2a]{font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:8px}.ms-rows[data-v-d77c9e2a]{border:1px solid var(--color-border);border-radius:4px}.ms-row[data-v-d77c9e2a]{display:grid;grid-template-columns:26px 1fr 150px;align-items:center;gap:8px;padding:6px 10px;border-bottom:1px solid var(--color-border-light)}.ms-row[data-v-d77c9e2a]:last-child{border-bottom:none}.ms-row.done[data-v-d77c9e2a]{background:var(--color-tint-green, rgba(34, 212, 122, .06))}.ms-check[data-v-d77c9e2a]{width:14px;height:14px;accent-color:var(--color-accent);cursor:pointer}.ms-label[data-v-d77c9e2a]{font-size:.8rem}.ms-date[data-v-d77c9e2a]{font-size:.75rem}.actions-spacer[data-v-d77c9e2a]{flex:1}.mech-page[data-v-b4870e4e]{height:100%;display:flex;flex-direction:column;background:var(--color-bg-page);color:var(--color-text-default)}.toolbar[data-v-b4870e4e]{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-b4870e4e]{display:flex;align-items:center;gap:16px}.toolbar-left h2[data-v-b4870e4e]{margin:0;font-size:1rem;font-weight:600}.toolbar-right[data-v-b4870e4e]{display:flex;align-items:center;gap:8px}.tabs[data-v-b4870e4e]{display:flex;gap:2px}.tab[data-v-b4870e4e]{padding:5px 12px;background:transparent;color:var(--color-text-muted);border:1px solid transparent;border-radius:4px;font-size:.8rem;cursor:pointer}.tab[data-v-b4870e4e]:hover{color:var(--color-text-default)}.tab.active[data-v-b4870e4e]{background:var(--color-tint-blue);color:var(--color-accent-hover);border-color:var(--color-tint-blue-border)}.btn-tool[data-v-b4870e4e]{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-tool[data-v-b4870e4e]:hover{background:var(--color-btn-secondary-hover)}.btn-tool[data-v-b4870e4e]:disabled{opacity:.5;cursor:not-allowed}.btn-link[data-v-b4870e4e]{text-decoration:none;display:inline-block}.btn-primary[data-v-b4870e4e]{padding:6px 14px;background:var(--color-accent);color:#fff;border:none;border-radius:4px;font-size:.8rem;cursor:pointer}.btn-primary[data-v-b4870e4e]:disabled{opacity:.5;cursor:not-allowed}.content[data-v-b4870e4e]{flex:1;overflow-y:auto;padding:14px 16px}.loading-state[data-v-b4870e4e],.error-state[data-v-b4870e4e]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);padding:40px}.error-state[data-v-b4870e4e]{color:var(--color-danger)}.kpi-grid[data-v-b4870e4e]{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px;margin-bottom:14px}.kpi[data-v-b4870e4e]{background:var(--color-bg-surface);border:1px solid var(--color-border);border-top:2px solid var(--kpi, var(--color-accent));border-radius:4px;padding:10px 12px}.kpi-label[data-v-b4870e4e]{font-size:.62rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.8px}.kpi-value[data-v-b4870e4e]{font-size:1.5rem;font-weight:700;line-height:1.2}.kpi-sub[data-v-b4870e4e]{font-size:.68rem;color:var(--color-text-muted)}.chart-row[data-v-b4870e4e]{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:16px}.chart-card[data-v-b4870e4e]{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:4px;padding:10px 12px}.chart-title[data-v-b4870e4e]{font-size:.78rem;font-weight:600}.chart-sub[data-v-b4870e4e]{font-size:.65rem;color:var(--color-text-muted);margin-bottom:6px;text-transform:uppercase;letter-spacing:.5px}@media (max-width: 1100px){.chart-row[data-v-b4870e4e]{grid-template-columns:1fr}}.section-title[data-v-b4870e4e]{font-size:.8rem;font-weight:600;margin:14px 0 8px}.section-head[data-v-b4870e4e]{display:flex;justify-content:space-between;align-items:flex-end}.section-head .section-title[data-v-b4870e4e]{margin-bottom:2px}.section-sub[data-v-b4870e4e]{font-size:.65rem;color:var(--color-text-muted);margin-bottom:8px;text-transform:uppercase;letter-spacing:.5px}.team-grid[data-v-b4870e4e]{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px;margin-bottom:16px}.team-card[data-v-b4870e4e]{display:block;width:100%;text-align:left;font:inherit;color:inherit;background:var(--color-bg-surface);border:1px solid var(--color-border);border-top:2px solid transparent;border-radius:4px;padding:10px 12px;cursor:pointer;transition:border-color .12s,transform .12s}.team-card[data-v-b4870e4e]:hover{border-top-color:var(--accent);transform:translateY(-1px)}.team-card[data-v-b4870e4e]:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.team-card[data-v-b4870e4e]:disabled{cursor:default}.team-card[data-v-b4870e4e]:disabled:hover{border-top-color:transparent;transform:none}.team-card.over[data-v-b4870e4e]{border-top-color:#f55353}.team-card.inactive[data-v-b4870e4e]{opacity:.55}.team-head[data-v-b4870e4e]{display:flex;align-items:center;gap:8px;margin-bottom:10px}.avatar[data-v-b4870e4e]{width:32px;height:32px;flex-shrink:0;display:flex;align-items:center;justify-content:center;border:1px solid;border-radius:4px;font-size:.68rem;font-weight:700;letter-spacing:.5px}.team-id[data-v-b4870e4e]{min-width:0}.team-name[data-v-b4870e4e]{font-size:.78rem;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-role[data-v-b4870e4e]{font-size:.6rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.team-flags[data-v-b4870e4e]{margin-left:auto;display:flex;align-items:center;gap:4px}.flag[data-v-b4870e4e]{font-size:.58rem;font-weight:700;letter-spacing:.5px}.flag-ifa[data-v-b4870e4e]{color:#f55353}.flag-ifc[data-v-b4870e4e]{color:#a96df7}.dot[data-v-b4870e4e]{width:6px;height:6px;border-radius:50%;display:inline-block}.load-bar[data-v-b4870e4e]{height:3px;background:var(--color-border);margin-bottom:6px;border-radius:2px;overflow:hidden}.load-fill[data-v-b4870e4e]{height:100%;transition:width .4s ease}.team-meta[data-v-b4870e4e]{display:flex;justify-content:space-between;font-size:.6rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.4px}.team-stats[data-v-b4870e4e]{display:grid;grid-template-columns:repeat(3,1fr);gap:4px;margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border)}.stat[data-v-b4870e4e]{font-size:.55rem;color:var(--color-text-muted);text-align:center;text-transform:uppercase;letter-spacing:.4px}.stat strong[data-v-b4870e4e]{display:block;font-size:1rem;font-weight:700}.stat-done[data-v-b4870e4e]{color:#22d47a}.stat-late[data-v-b4870e4e]{color:#f55353}.team-note[data-v-b4870e4e]{margin-top:6px;font-size:.58rem;color:var(--color-text-muted);font-style:italic}.filter-bar[data-v-b4870e4e]{display:flex;gap:6px;margin-bottom:10px;flex-wrap:wrap}.form-input[data-v-b4870e4e]{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:.78rem}.search-input[data-v-b4870e4e]{min-width:220px}.table-wrap[data-v-b4870e4e]{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:4px;overflow-x:auto}.table-more[data-v-b4870e4e]{margin-top:8px}[data-v-b4870e4e] .proj-table{width:100%;border-collapse:collapse;font-size:.76rem;min-width:900px}[data-v-b4870e4e] .proj-table th{text-align:left;padding:8px 10px;font-size:.62rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.6px;border-bottom:1px solid var(--color-border);white-space:nowrap}[data-v-b4870e4e] .proj-table td{padding:7px 10px;border-bottom:1px solid var(--color-border-light);vertical-align:middle;white-space:nowrap}[data-v-b4870e4e] .proj-table tr:last-child td{border-bottom:none}[data-v-b4870e4e] .proj-table tr:hover td{background:var(--color-bg-hover)}[data-v-b4870e4e] .so-link{color:var(--color-accent-hover);font-weight:600;text-decoration:none}[data-v-b4870e4e] .so-link:hover{text-decoration:underline}[data-v-b4870e4e] .dead-chip{margin-left:6px;font-size:.58rem;padding:1px 5px;border-radius:3px;background:var(--color-tint-red);color:var(--color-tint-red-text);text-transform:uppercase}[data-v-b4870e4e] .cell-customer{max-width:180px;overflow:hidden;text-overflow:ellipsis}[data-v-b4870e4e] .cell-muted{color:var(--color-text-muted);font-size:.72rem}[data-v-b4870e4e] .type-tag{font-size:.68rem;padding:2px 6px;background:var(--color-bg-surface-alt);border:1px solid var(--color-border);border-radius:3px}[data-v-b4870e4e] .volt-tag{font-size:.66rem;font-weight:700;padding:2px 6px;border:1px solid;border-radius:3px}[data-v-b4870e4e] .due-badge{font-size:.64rem;font-weight:600;padding:2px 6px;border-radius:3px;text-transform:uppercase}[data-v-b4870e4e] .due-badge.ok{background:var(--color-tint-green, rgba(34, 212, 122, .12));color:#22d47a}[data-v-b4870e4e] .due-badge.late{background:var(--color-tint-red);color:var(--color-tint-red-text)}[data-v-b4870e4e] .due-badge.warn{background:#f5a6231f;color:#f5a623}[data-v-b4870e4e] .due-badge.far{background:var(--color-tint-blue);color:var(--color-accent-hover)}[data-v-b4870e4e] .due-badge.none{color:var(--color-text-faint)}[data-v-b4870e4e] .ms-dots{display:inline-flex;gap:2px}[data-v-b4870e4e] .ms-dot{width:17px;height:17px;display:inline-flex;align-items:center;justify-content:center;font-size:.58rem;border:1px solid var(--color-border);border-radius:2px;color:var(--color-text-faint)}[data-v-b4870e4e] .ms-dot.done{background:var(--color-tint-green, rgba(34, 212, 122, .12));border-color:#22d47a66;color:#22d47a}[data-v-b4870e4e] .prog-bar{display:flex;align-items:center;gap:6px}[data-v-b4870e4e] .prog-track{width:48px;height:3px;background:var(--color-border);border-radius:2px;overflow:hidden}[data-v-b4870e4e] .prog-fill{height:100%;background:var(--color-accent)}[data-v-b4870e4e] .prog-pct{font-size:.68rem;color:var(--color-accent-hover);min-width:30px}[data-v-b4870e4e] .status-pill{font-size:.64rem;font-weight:600;padding:2px 8px;border-radius:3px;text-transform:uppercase}[data-v-b4870e4e] .status-pill.in-progress{background:var(--color-tint-blue);color:var(--color-accent-hover)}[data-v-b4870e4e] .status-pill.complete{background:var(--color-tint-green, rgba(34, 212, 122, .12));color:#22d47a}[data-v-b4870e4e] .status-pill.on-hold{background:#f5a6231f;color:#f5a623}[data-v-b4870e4e] .cell-notes{max-width:150px;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-muted);font-size:.72rem}[data-v-b4870e4e] .btn-edit{padding:3px 9px;font-size:.68rem}[data-v-b4870e4e] .empty-cell{text-align:center;padding:30px!important;color:var(--color-text-muted)}.can-denied[data-v-f38d9350]{display:inline-block;opacity:.45;cursor:not-allowed}.can-denied[data-v-f38d9350]>*{pointer-events:none}.legend-wrap[data-v-a114425a]{position:relative}.legend-button[data-v-a114425a]{display:inline-flex;align-items:center;gap:.25rem;background:transparent;border:1px solid transparent;padding:2px .5rem;font-size:.75rem;font-family:inherit;color:var(--color-text-default);cursor:pointer;border-radius:4px}.legend-button[data-v-a114425a]:hover{background:var(--color-bg-surface-alt)}.legend-button.open[data-v-a114425a]{background:var(--color-bg-surface-alt);border-color:var(--color-input-border)}.legend-button .caret[data-v-a114425a]{font-size:.7rem;line-height:1}.legend-popover[data-v-a114425a]{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-a114425a]{display:flex;gap:.6rem;align-items:flex-start;padding:.35rem .4rem}.legend-row+.legend-row[data-v-a114425a]{border-top:1px solid var(--color-bg-surface-alt)}.legend-swatch[data-v-a114425a]{flex-shrink:0;width:14px;height:14px;border-radius:3px;margin-top:1px;border:1.5px solid var(--color-border)}.legend-text[data-v-a114425a]{display:flex;flex-direction:column;gap:2px}.legend-title[data-v-a114425a]{font-size:.75rem;font-weight:600;color:var(--color-text-primary)}.legend-detail[data-v-a114425a]{font-size:.6875rem;color:var(--color-text-muted);line-height:1.35}.report-header[data-v-4a662c5e]{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-4a662c5e]{font-weight:600;font-size:.875rem}.report-count[data-v-4a662c5e]{color:var(--color-text-muted);font-size:.75rem}.header-spacer[data-v-4a662c5e]{flex:1}.header-filters[data-v-4a662c5e],.header-tools[data-v-4a662c5e]{display:flex;gap:.75rem;align-items:center}.active-users[data-v-4a662c5e]{display:flex}.active-users[data-v-4a662c5e]>*+*{margin-left:-4px}.user-chip[data-v-4a662c5e]{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:2px solid var(--color-bg-surface-alt);color:#fff;font-size:.5625rem;font-weight:600;letter-spacing:.02em;cursor:default}.user-chip-more[data-v-4a662c5e]{background:var(--color-bg-surface);color:var(--color-text-muted);border-color:var(--color-border);cursor:help}.user-chip-more-wrap[data-v-4a662c5e]{position:relative}.user-roster[data-v-4a662c5e]{position:absolute;top:calc(100% + 6px);right:0;z-index:50;min-width:180px;max-height:320px;overflow-y:auto;padding:.375rem;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 4px 12px #0000001f}.user-roster-row[data-v-4a662c5e]{display:flex;align-items:center;gap:.5rem;padding:.1875rem .25rem;white-space:nowrap}.user-roster-chip[data-v-4a662c5e]{flex:none;border-color:transparent}.user-roster-name[data-v-4a662c5e]{font-size:.75rem}.current-user[data-v-4a662c5e]{font-size:.75rem;color:var(--color-text-muted)}.filter-editor[data-v-c546e282]{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:.75rem;z-index:200}.filter-editor-row[data-v-c546e282]{display:grid;grid-template-columns:70px 1fr;gap:.5rem;align-items:center;margin-bottom:.5rem}.filter-editor-row label[data-v-c546e282]{font-weight:500;color:var(--color-text-default)}.filter-editor-row select[data-v-c546e282],.filter-editor-row input[type=text][data-v-c546e282],.filter-editor-row input[type=number][data-v-c546e282],.filter-editor-row input[type=date][data-v-c546e282]{font-family:inherit;font-size:.75rem;padding:3px 6px;border:1px solid var(--color-input-border);border-radius:4px;width:100%;box-sizing:border-box}.value-input[data-v-c546e282]{display:flex;gap:.35rem;align-items:center}.value-input input[data-v-c546e282]{flex:1;min-width:0}.checklist[data-v-c546e282]{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-c546e282]{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}.filter-editor-buttons[data-v-c546e282]{display:flex;align-items:center;gap:.5rem;margin-top:.75rem}.filter-editor-buttons .spacer[data-v-c546e282]{flex:1}.filter-editor-buttons button[data-v-c546e282]{font-family:inherit;font-size:.75rem;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-c546e282]:hover{background:var(--color-bg-surface-alt)}.filter-editor-buttons button[data-v-c546e282]:disabled{opacity:.5;cursor:not-allowed}.filter-editor-buttons button.primary[data-v-c546e282]{background:var(--color-btn-primary);border-color:var(--color-btn-primary);color:#fff}.filter-editor-buttons button.primary[data-v-c546e282]:hover{background:var(--color-btn-primary-hover)}.filter-editor-buttons button.primary[data-v-c546e282]:disabled{background:var(--color-border);border-color:var(--color-border)}.filter-editor-buttons button.danger[data-v-c546e282]{color:var(--color-danger);border-color:var(--color-tint-red-border)}.filter-editor-buttons button.danger[data-v-c546e282]:hover{background:var(--color-tint-red-light)}.rel-note[data-v-c546e282]{color:var(--color-text-muted, #888);font-style:italic}.filter-bar[data-v-fa059ad7]{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:.75rem}.pill[data-v-fa059ad7]{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-fa059ad7]:hover{background:var(--color-tint-indigo-hover)}.pill.active[data-v-fa059ad7]{background:var(--color-tint-indigo-active);border-color:var(--color-tint-indigo-active-border)}.pill-remove[data-v-fa059ad7]{width:18px;height:18px;border-radius:50%;border:none;background:transparent;color:#3730a3;cursor:pointer;font-size:.875rem;line-height:1;padding:0}.pill-remove[data-v-fa059ad7]:hover{background:#ffffffb3;color:var(--color-text-primary)}.clear-all[data-v-fa059ad7]{font-family:inherit;font-size:.6875rem;padding:2px 8px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;border-radius:4px}.clear-all[data-v-fa059ad7]:hover{background:var(--color-bg-surface-alt);color:var(--color-text-primary)}.filter-link[data-v-77716a54]{font-family:inherit;font-size:.75rem;background:transparent;border:none;color:var(--color-accent);cursor:pointer;padding:2px 4px;border-radius:3px}.filter-link[data-v-77716a54]:hover{text-decoration:underline}.search-wrap[data-v-7c3cd644]{position:relative;display:inline-flex;align-items:center}.search-input[data-v-7c3cd644]{font-family:inherit;font-size:.75rem;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-7c3cd644]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent)}.search-input[data-v-7c3cd644]::-webkit-search-cancel-button{display:none}.search-clear[data-v-7c3cd644]{position:absolute;right:4px;width:16px;height:16px;border:none;background:transparent;color:var(--color-text-muted);cursor:pointer;font-size:.875rem;line-height:1;padding:0;border-radius:3px}.search-clear[data-v-7c3cd644]:hover{background:var(--color-bg-surface-alt);color:var(--color-text-primary)}.view-menu[data-v-71e29013]{position:relative;display:inline-block}.view-button[data-v-71e29013]{display:inline-flex;align-items:center;gap:.25rem;background:transparent;border:1px solid transparent;padding:2px .5rem;font-size:.75rem;font-family:inherit;color:var(--color-text-default);cursor:pointer;border-radius:4px}.view-button[data-v-71e29013]:hover{background:var(--color-bg-surface-alt)}.view-button.open[data-v-71e29013]{background:var(--color-bg-surface-alt);border-color:var(--color-input-border)}.view-button .caret[data-v-71e29013]{font-size:.7rem;line-height:1}.view-popover[data-v-71e29013]{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-71e29013]{display:flex;align-items:center;gap:.4rem;padding:.35rem .5rem;font-size:.75rem;color:var(--color-text-default);cursor:pointer;border-radius:4px;-webkit-user-select:none;user-select:none}.view-row[data-v-71e29013]:hover{background:var(--color-bg-surface-alt)}.view-row.disabled[data-v-71e29013]{color:var(--color-text-faint);cursor:default}.view-row.disabled[data-v-71e29013]:hover{background:transparent}.view-row input[data-v-71e29013]{margin:0;cursor:inherit}.view-divider[data-v-71e29013]{height:1px;background:var(--color-bg-surface-alt);margin:.25rem 0}.views-menu[data-v-beac3be2]{position:relative}.views-button[data-v-beac3be2]{background:none;border:1px solid var(--color-border);border-radius:4px;padding:4px 10px;font-size:.75rem;cursor:pointer;color:var(--color-text-default);white-space:nowrap;max-width:260px;overflow:hidden;text-overflow:ellipsis}.views-button[data-v-beac3be2]:hover,.views-button.open[data-v-beac3be2]{background:var(--color-bg-hover)}.views-button.active[data-v-beac3be2]{border-color:var(--color-accent);color:var(--color-accent)}.caret[data-v-beac3be2]{font-size:.5625rem}.views-popover[data-v-beac3be2]{position:absolute;right:0;top:calc(100% + 4px);z-index:60;background:var(--color-bg-surface);color:var(--color-text-default);border:1px solid var(--color-border);border-radius:6px;box-shadow:var(--shadow-lg);min-width:250px;max-height:420px;overflow-y:auto}.views-section[data-v-beac3be2]{padding:6px 0;border-bottom:1px solid var(--color-border, #f0f0f0)}.views-heading[data-v-beac3be2]{font-size:.625rem;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted, #9ca3af);padding:2px 12px 4px}.views-item-row[data-v-beac3be2]{display:flex;align-items:center}.views-item[data-v-beac3be2]{display:block;width:100%;text-align:left;background:none;border:none;padding:5px 12px;font-size:.75rem;cursor:pointer;color:var(--color-text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.views-item[data-v-beac3be2]:hover{background:var(--color-bg-hover)}.views-item.active[data-v-beac3be2]{color:var(--color-accent);font-weight:600}.views-delete[data-v-beac3be2]{background:none;border:none;color:var(--color-text-muted, #9ca3af);font-size:.875rem;cursor:pointer;padding:0 10px}.views-delete[data-v-beac3be2]:hover{color:var(--color-danger, #dc2626)}.views-footer[data-v-beac3be2]{padding:8px 12px;display:flex;flex-direction:column;gap:6px}.views-footer input[data-v-beac3be2]{font-size:.75rem;padding:4px 6px;border:1px solid var(--color-border, #d1d5db);border-radius:4px}.views-footer>button[data-v-beac3be2]{font-size:.75rem}.views-action[data-v-beac3be2]{background:none;border:none;color:var(--color-accent, #2563eb);font-size:.75rem;cursor:pointer;text-align:left;padding:0}.views-action[data-v-beac3be2]:hover{text-decoration:underline}.column-manager[data-v-7a57cfe2]{display:flex;flex-direction:column;min-height:0}.cm-list[data-v-7a57cfe2]{overflow-y:auto;min-height:0;display:flex;flex-direction:column;gap:2px;padding:6px 0}.cm-item[data-v-7a57cfe2]{display:flex;align-items:center;gap:6px;padding:3px 10px;border-radius:4px;font-size:.75rem}.cm-item[data-v-7a57cfe2]:hover{background:var(--color-bg-hover, #f3f4f6)}.cm-item-hidden .cm-label[data-v-7a57cfe2]{color:var(--color-text-faint, #9ca3af);text-decoration:line-through}.cm-check[data-v-7a57cfe2]{display:flex;align-items:center;gap:7px;cursor:pointer;flex:1;min-width:0}.cm-check input[data-v-7a57cfe2]:disabled{cursor:default}.cm-label[data-v-7a57cfe2]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-move-group[data-v-7a57cfe2]{display:flex;gap:2px}.cm-move[data-v-7a57cfe2]{background:none;border:none;cursor:pointer;font-size:.6875rem;color:var(--color-text-muted, #6b7280);padding:1px 4px;border-radius:3px}.cm-move[data-v-7a57cfe2]:hover:not(:disabled){background:var(--color-border, #e5e7eb);color:var(--color-text-primary)}.cm-move[data-v-7a57cfe2]:disabled{opacity:.3;cursor:default}.cm-footer[data-v-7a57cfe2]{border-top:1px solid var(--color-border, #e5e7eb);padding:6px 10px}.columns-menu[data-v-0f7cf18b]{position:relative}.columns-button[data-v-0f7cf18b]{background:none;border:1px solid var(--color-border);border-radius:4px;padding:4px 10px;font-size:.75rem;cursor:pointer;color:var(--color-text-default);white-space:nowrap}.columns-button[data-v-0f7cf18b]:hover,.columns-button.open[data-v-0f7cf18b]{background:var(--color-bg-hover)}.columns-button.customized[data-v-0f7cf18b]{border-color:var(--color-accent);color:var(--color-accent)}.caret[data-v-0f7cf18b]{font-size:.5625rem}.columns-popover[data-v-0f7cf18b]{position:absolute;right:0;top:calc(100% + 4px);z-index:60;background:var(--color-bg-surface);color:var(--color-text-default);border:1px solid var(--color-border);border-radius:6px;box-shadow:var(--shadow-lg);min-width:260px;max-height:420px;display:flex;flex-direction:column}.columns-reset[data-v-0f7cf18b]{background:none;border:none;color:var(--color-accent);font-size:.75rem;cursor:pointer;padding:0}.columns-reset[data-v-0f7cf18b]:hover{text-decoration:underline}.export-menu[data-v-a0d5d539]{position:relative;display:inline-block}.export-button[data-v-a0d5d539]{display:inline-flex;align-items:center;gap:.25rem;background:transparent;border:1px solid transparent;padding:2px .5rem;font-size:.75rem;font-family:inherit;color:var(--color-text-default);cursor:pointer;border-radius:4px}.export-button[data-v-a0d5d539]:hover{background:var(--color-bg-surface-alt)}.export-button.open[data-v-a0d5d539]{background:var(--color-bg-surface-alt);border-color:var(--color-input-border)}.export-button .caret[data-v-a0d5d539]{font-size:.7rem;line-height:1}.export-popover[data-v-a0d5d539]{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-error[data-v-a0d5d539]{position:absolute;top:calc(100% + 4px);right:0;width:280px;display:flex;align-items:flex-start;gap:.5rem;padding:.5rem .6rem;background:var(--color-tint-red);color:var(--color-tint-red-text);border:1px solid var(--color-input-border);border-radius:6px;box-shadow:var(--shadow-lg);font-size:.75rem;z-index:100}.export-error-close[data-v-a0d5d539]{border:none;background:transparent;color:inherit;cursor:pointer;font-size:.9rem;line-height:1;padding:0}.export-row[data-v-a0d5d539]{display:block;width:100%;text-align:left;padding:.4rem .6rem;background:transparent;border:none;font-family:inherit;font-size:.75rem;color:var(--color-text-default);cursor:pointer;border-radius:4px}.export-row[data-v-a0d5d539]:hover{background:var(--color-bg-hover);color:var(--color-accent-hover)}.refresh-icon[data-v-be1120e5]{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-be1120e5],.report-count .refresh-icon[data-v-be1120e5]{opacity:.6}.refresh-icon[data-v-be1120e5]:hover{opacity:1!important;color:var(--color-accent-hover)}.refresh-icon.busy[data-v-be1120e5]{opacity:1!important;color:var(--color-accent-hover);animation:refresh-spin-be1120e5 .8s linear infinite}.refresh-icon.errored[data-v-be1120e5]{opacity:1!important;color:var(--color-danger)}@keyframes refresh-spin-be1120e5{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.dynamics-link-icon[data-v-276987aa]{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-276987aa],td:hover .dynamics-link-icon[data-v-276987aa],.link-host:hover .dynamics-link-icon[data-v-276987aa]{opacity:.6}.dynamics-link-icon[data-v-276987aa]:hover{opacity:1!important;color:var(--color-accent-hover)}.dynamics-link-icon.errored[data-v-276987aa]{opacity:1!important;color:var(--color-danger)}.note-popover[data-v-4a12844e]{display:flex;flex-direction:column;width:340px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 6px 24px #0000002e;font-size:12px;overflow:hidden}.np-header[data-v-4a12844e]{display:flex;align-items:center;gap:8px;padding:8px 10px;border-bottom:1px solid var(--color-border)}.np-title[data-v-4a12844e]{font-weight:600;white-space:nowrap}.np-so[data-v-4a12844e]{color:var(--color-text-muted);font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.np-count[data-v-4a12844e]{color:var(--color-text-muted);font-size:10px}.np-close[data-v-4a12844e]{margin-left:auto;border:none;background:transparent;font-size:16px;line-height:1;cursor:pointer;color:var(--color-text-muted)}.np-entry[data-v-4a12844e]{padding:8px 10px;border-bottom:1px solid var(--color-border)}.np-input-row[data-v-4a12844e]{display:flex;gap:4px}.np-input[data-v-4a12844e]{flex:1;min-width:0;padding:4px 6px;border:1px solid var(--color-border);border-radius:4px;font:inherit;resize:vertical}.np-save[data-v-4a12844e]{border:1px solid var(--color-border);background:var(--color-bg-surface-alt);border-radius:4px;cursor:pointer;padding:0 10px;font:inherit}.np-save[data-v-4a12844e]:disabled{opacity:.5;cursor:default}.np-presets[data-v-4a12844e]{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.np-chip[data-v-4a12844e]{border:1px solid var(--color-border);background:var(--color-bg-surface-alt);border-radius:12px;padding:2px 9px;font:inherit;font-size:11px;cursor:pointer;color:var(--color-text-default)}.np-chip[data-v-4a12844e]:hover{border-color:var(--color-accent);color:var(--color-tint-blue-text)}.np-chip.selected[data-v-4a12844e]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.np-entry-meta[data-v-4a12844e]{display:flex;justify-content:flex-end;gap:8px;min-height:14px;margin-top:4px}.np-countdown[data-v-4a12844e]{color:var(--color-text-muted);font-size:10px}.np-countdown-low[data-v-4a12844e]{color:var(--color-tint-yellow-text)}.np-state[data-v-4a12844e]{padding:12px 10px;color:var(--color-text-muted)}.np-error[data-v-4a12844e]{color:var(--color-tint-red-text)}.np-list[data-v-4a12844e]{list-style:none;margin:0;padding:0;overflow-y:auto}.np-item[data-v-4a12844e]{padding:7px 10px;border-bottom:1px solid var(--color-border-light)}.np-item[data-v-4a12844e]:last-child{border-bottom:none}.np-body[data-v-4a12844e]{white-space:pre-wrap;word-break:break-word}.np-body-tag+.np-body-text[data-v-4a12844e]{margin-left:6px}.np-meta[data-v-4a12844e]{display:flex;align-items:baseline;gap:6px;margin-top:2px;font-size:11px;color:var(--color-text-muted)}.np-delete[data-v-4a12844e]{margin-left:auto;border:none;background:transparent;cursor:pointer;font-size:10px;color:var(--color-text-muted);text-decoration:underline dotted;padding:0}.np-delete[data-v-4a12844e]:hover{color:var(--color-tint-red-text)}.note-cell-btn{display:flex;align-items:baseline;gap:6px;width:100%;font:inherit;color:inherit;background:transparent;border:none;padding:0;cursor:pointer;text-align:left;white-space:nowrap;overflow:hidden}.note-tag{flex-shrink:0;display:inline-block;max-width:110px;padding:0 6px;border:1px solid var(--color-border);border-radius:10px;background:var(--color-bg-surface-alt);font-size:10px;line-height:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:baseline}.note-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis}.note-date{margin-left:auto;flex-shrink:0;font-size:10px;color:var(--color-text-muted);white-space:nowrap}.note-cell-empty{display:block;color:var(--color-text-muted);opacity:0}.td:hover .note-cell-empty,.note-cell-empty:focus-visible{opacity:.6}.report-page{height:100%;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.75rem}.report-table-wrap{flex:1;display:flex;flex-direction:column;min-height:0;min-width: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:.75rem;color:var(--color-text-default);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input{margin:0;cursor:pointer}.so-detail-link{color:var(--color-accent);text-decoration:none}.so-detail-link:hover{color:var(--color-accent-hover);text-decoration:underline}@keyframes report-row-flash{0%{background-color:color-mix(in srgb,var(--color-accent) 35%,transparent)}to{background-color:transparent}}.table-row.report-row-highlight{animation:report-row-flash 1.6s ease-out;outline:2px solid var(--color-accent);outline-offset:-2px}.col-note{width:260px;flex-shrink:0}.report-tabs{display:inline-flex;gap:.25rem;padding:.25rem;background:var(--color-bg-surface-alt);border-radius:10px}.report-tab{border:none;background:transparent;padding:.45rem .95rem;cursor:pointer;font:inherit;font-size:.82rem;font-weight:500;color:var(--color-text-muted);border-radius:7px;transition:background .12s,color .12s}.report-tab:hover{color:var(--color-text-primary)}.report-tab.active{background:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:0 1px 2px #00000014}.jump-buttons{display:inline-flex;gap:.15rem}.jump-button{display:inline-flex;align-items:center;background:transparent;border:1px solid transparent;padding:2px .4rem;font-size:.75rem;font-family:inherit;color:var(--color-text-default);cursor:pointer;border-radius:4px}.jump-button:hover{background:var(--color-bg-surface-alt)}.col-vendor{width:180px;flex-shrink:0}.col-status{width:70px;flex-shrink:0}.col-lineno{width:64px;flex-shrink:0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.6875rem;color:var(--color-text-muted)}.col-item{width:110px;flex-shrink:0}.col-mfg-code,.col-leadtime{width:80px;flex-shrink:0}.col-desc{width:240px;flex:1;min-width:200px}.col-qty{width:70px;flex-shrink:0}.col-qty-wide{width:96px;flex-shrink:0}.row-so-header{background:var(--color-bg-surface);font-weight:700;border-top:2px solid var(--color-text-primary)}.row-so-header:hover{background:var(--color-bg-hover)}.row-so-archived{color:var(--color-text-muted);font-style:italic}.row-po-header{background:var(--color-bg-surface);font-weight:500;border-top:1px solid var(--color-text-faint)}.row-po-header:hover{background:var(--color-bg-hover)}.row-po-line{font-size:.6875rem;color:var(--color-text-default)}.email-menu[data-v-2317a9e5]{position:relative;display:inline-block;margin-right:.4rem}.email-btn[data-v-2317a9e5]{font-family:inherit;font-size:.75rem;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}.email-btn[data-v-2317a9e5]:hover:not(:disabled),.email-btn.open[data-v-2317a9e5]{background:var(--color-tint-indigo-hover)}.email-btn[data-v-2317a9e5]:disabled{cursor:wait;opacity:.7}.email-btn.busy[data-v-2317a9e5]{opacity:.7}.email-btn .caret[data-v-2317a9e5]{font-size:.7rem;line-height:1}.email-btn.no-email[data-v-2317a9e5]{background:var(--color-bg-surface-alt);color:var(--color-text-muted);border-color:var(--color-border)}.email-btn.no-email[data-v-2317a9e5]:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-default)}.email-popover[data-v-2317a9e5]{position:absolute;top:calc(100% + 4px);right:0;min-width:220px;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}.email-row[data-v-2317a9e5]{display:block;width:100%;text-align:left;padding:.4rem .6rem;background:transparent;border:none;font-family:inherit;font-size:.75rem;color:var(--color-text-default);cursor:pointer;border-radius:4px}.email-row[data-v-2317a9e5]:hover{background:var(--color-bg-hover);color:var(--color-accent-hover)}.vo-page{font-size:.8125rem}.vo-page .report-table-wrap{--vis-row-height: 2.25rem}.vo-page .vo-total-value{color:var(--color-text-muted);font-size:.75rem}.vo-page .vo-row{cursor:pointer}.vo-page .vo-row:hover{background:var(--color-table-row-hover)}.vo-page .col-vendor{width:300px;flex-shrink:0;font-weight:500;gap:.25rem}.vo-page .col-count{width:90px;flex-shrink:0}.vo-page .col-qty{width:120px;flex-shrink:0}.vo-page .col-date-wide{width:130px;flex-shrink:0}.vo-page .col-actions{width:200px;flex-shrink:0;justify-content:flex-end;gap:.5rem}.vo-page .view-btn{font-family:inherit;font-size:.75rem;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}.vo-page .view-btn:hover{background:var(--color-tint-indigo-hover)}.vm-page .report-table-wrap{--vis-row-height: 2.75rem;font-size:.8125rem}.vm-page .vm-row.blocked .td:not(.col-rownum){opacity:.6}.vm-page .col-name{width:300px;flex-shrink:0;font-weight:500}.vm-page .col-contact{width:200px;flex-shrink:0}.vm-page .col-phone{width:120px;flex-shrink:0}.vm-page .col-terms{width:90px;flex-shrink:0}.vm-page .col-flag{width:80px;flex-shrink:0;justify-content:center}.vm-page .col-gl{width:260px;flex-shrink:0}.vm-page .col-email{width:220px;flex-shrink:0}.vm-page .cell-stack{display:flex;flex-direction:column;min-width:0;line-height:1.25}.vm-page .cell-stack>div{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vm-page .name-line{display:inline-flex;align-items:center;gap:.25rem}.vm-page .sub{font-weight:400;font-size:.6875rem;color:var(--color-text-muted)}.vm-page .flag{display:inline-block;font-size:.625rem;font-weight:600;padding:1px 6px;border-radius:8px}.vm-page .flag-item{background:var(--color-tint-indigo);color:var(--color-tint-indigo-text);border:1px solid var(--color-tint-indigo-border)}.vm-page .flag-gl{background:var(--color-tint-green);color:var(--color-tint-green-text);border:1px solid var(--color-tint-green-border)}.vm-page .flag-res{background:var(--color-tint-amber);color:var(--color-tint-amber-text);border:1px solid var(--color-tint-amber-border)}.vm-page .flag-blocked{background:var(--color-tint-red);color:var(--color-tint-red-text);border:1px solid var(--color-tint-red-border)}.report-link-icon[data-v-b9d91f09]{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;width:14px;height:14px;border-radius:3px;color:var(--color-text-muted);opacity:0;transition:opacity .1s,color .1s;flex-shrink:0}.td:hover .report-link-icon[data-v-b9d91f09]{opacity:.6}.report-link-icon[data-v-b9d91f09]:hover{opacity:1;color:var(--color-accent-hover)}.short-items-popover[data-v-36facde1]{display:flex;flex-direction:column;background:var(--color-bg-surface);color:var(--color-text-default);border:1px solid var(--color-border);border-radius:8px;box-shadow:var(--shadow-lg);min-width:380px;max-width:min(640px,calc(100vw - 16px));font-size:.75rem;overflow:hidden}.sip-header[data-v-36facde1]{display:flex;align-items:center;gap:8px;padding:8px 12px;background:var(--color-bg-surface-alt);border-bottom:1px solid var(--color-border);flex-shrink:0}.sip-title[data-v-36facde1]{font-weight:600;color:var(--color-text-primary)}.sip-help[data-v-36facde1]{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;border-radius:50%;border:1px solid var(--color-border, #ccc);font-size:.625rem;color:var(--color-text-muted, #888);cursor:help}.sip-so[data-v-36facde1]{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.6875rem;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:4px;padding:1px 6px;color:var(--color-text-default)}.sip-count[data-v-36facde1]{color:var(--color-text-muted);font-size:.6875rem}.sip-close[data-v-36facde1]{margin-left:auto;background:none;border:none;cursor:pointer;font-size:1rem;line-height:1;color:var(--color-text-faint);padding:0 2px;border-radius:4px}.sip-close[data-v-36facde1]:hover{color:var(--color-text-primary);background:var(--color-bg-hover)}.sip-state[data-v-36facde1]{padding:16px 12px;color:var(--color-text-muted)}.sip-error[data-v-36facde1]{color:var(--color-danger)}.sip-scroll[data-v-36facde1]{overflow:auto;min-height:0;max-height:320px}.sip-table[data-v-36facde1]{border-collapse:collapse;width:100%}.sip-table th[data-v-36facde1],.sip-table td[data-v-36facde1]{padding:4px 8px;text-align:left;white-space:nowrap}.sip-table td[data-v-36facde1]{border-top:1px solid var(--color-border-light)}.sip-table tbody tr:first-child td[data-v-36facde1]{border-top:none}.sip-table th[data-v-36facde1]{position:sticky;top:0;background:var(--color-bg-surface);box-shadow:inset 0 -1px 0 var(--color-border);font-weight:600;font-size:.625rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.sip-table th[data-v-36facde1]:first-child,.sip-table td[data-v-36facde1]:first-child{padding-left:12px}.sip-table th[data-v-36facde1]:last-child,.sip-table td[data-v-36facde1]:last-child{padding-right:12px}.sip-table tbody tr:hover td[data-v-36facde1]{background:var(--color-bg-hover)}.sip-table th.num[data-v-36facde1],.sip-table td.num[data-v-36facde1]{text-align:right;font-variant-numeric:tabular-nums}.sip-item[data-v-36facde1]{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.6875rem;max-width:150px;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-primary)}.sip-item-link[data-v-36facde1]{color:inherit;text-decoration:none;border-bottom:1px dotted var(--color-text-muted, #999)}.sip-item-link[data-v-36facde1]:hover{color:var(--color-accent, #2563eb);border-bottom-color:currentColor}.sip-ext[data-v-36facde1]{visibility:hidden;margin-left:2px;font-size:.625rem}.sip-item-link:hover .sip-ext[data-v-36facde1]{visibility:visible}.sip-msc[data-v-36facde1]{text-align:center}.sip-dot[data-v-36facde1]{display:inline-block;width:10px;height:10px;border-radius:50%;border:1px solid rgba(0,0,0,.25);cursor:help}.sip-dot-fully_received[data-v-36facde1]{background:#c6efce}.sip-dot-partially_received[data-v-36facde1]{background:#ff9}.sip-dot-on_po[data-v-36facde1]{background:#ffe699}.sip-dot-under_ordered[data-v-36facde1]{background:#f4b8c1}.sip-dot-short[data-v-36facde1]{background:#ddd9ee}.sip-dot-not_ordered[data-v-36facde1]{background:#ffc7ce}.sip-dot-over_received[data-v-36facde1]{background:#9dc3e6}.sip-dot-not_in_bom[data-v-36facde1]{background:#d9d9d9}.sip-pulled[data-v-36facde1]{color:var(--color-accent, #2563eb);font-weight:600}.sip-po[data-v-36facde1]{font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.6875rem;max-width:110px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-primary)}.sip-desc[data-v-36facde1]{max-width:210px;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-muted)}.sip-short[data-v-36facde1]{font-weight:600;color:var(--color-danger)}.sip-due[data-v-36facde1]{font-variant-numeric:tabular-nums;font-size:.6875rem;color:var(--color-text-default)}.sip-due-overdue[data-v-36facde1]{color:var(--color-overdue-cell-text, #7f1d1d);background:var(--color-overdue-cell, #f8b4b4);font-weight:600;border-radius:3px}.sip-due-early[data-v-36facde1]{color:var(--color-accent, #2563eb);font-weight:600}.sip-footer[data-v-36facde1]{display:flex;align-items:center;justify-content:flex-end;gap:12px;padding:7px 12px;border-top:1px solid var(--color-border);background:var(--color-bg-surface-alt);flex-shrink:0}.sip-msc-count[data-v-36facde1]{font-size:.6875rem;color:var(--color-text-muted);cursor:help}.sip-link[data-v-36facde1]{color:var(--color-accent);text-decoration:none;font-weight:500}.sip-link[data-v-36facde1]:hover{text-decoration:underline}.col-quote{width:110px;flex-shrink:0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.6875rem;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}.col-short-items{width:90px;flex-shrink:0;text-align:right}.short-items-link{font:inherit;color:inherit;background:transparent;border:none;padding:0;cursor:pointer;text-decoration:underline dotted}.short-items-link:hover{text-decoration:underline}.col-project-type{width:95px;flex-shrink:0}.col-person{width:130px;flex-shrink:0}.som-shortage{--cs-bg: var(--color-som-shortage);--cs-text: var(--color-som-shortage-text)}.som-ready{--cs-bg: var(--color-som-ready);--cs-text: var(--color-som-ready-text)}.som-pos-needed{--cs-bg: var(--color-som-pos-needed);--cs-text: var(--color-som-pos-needed-text)}.som-wip{--cs-bg: var(--color-som-wip);--cs-text: var(--color-som-wip-text)}.som-pending{--cs-bg: var(--color-som-pending);--cs-text: var(--color-som-pending-text)}.som-shipped{--cs-bg: var(--color-som-shipped-bg);--cs-text: var(--color-som-shipped-text)}.som-action{--cs-bg: var(--color-som-action);--cs-text: var(--color-som-action-text)}.som-check{--cs-bg: var(--color-som-check);--cs-text: var(--color-som-check-text)}.som-empty-ao{--cs-bg: var(--color-som-empty-ao);--cs-text: var(--color-som-empty-ao-text)}.detail-header[data-v-27888ab8]{display:flex;align-items:center;gap:12px}.detail-spacer[data-v-27888ab8]{flex:1}.detail-search[data-v-27888ab8]{font-size:.75rem;padding:4px 8px;border:1px solid var(--color-input-border);border-radius:4px;width:280px;font-family:inherit}.detail-search[data-v-27888ab8]:focus{outline:none;border-color:var(--color-accent);box-shadow:0 0 0 2px #2563eb26}.detail-error[data-v-27888ab8]{padding:8px 12px;color:var(--color-danger, #b91c1c);font-size:.75rem}.detail-scroll[data-v-27888ab8]{flex:1 1 auto;min-height:0;border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.detail-scroll .table-row[data-v-27888ab8]{font-size:.75rem}.detail-scroll .bucket-closed .td[data-v-27888ab8]{color:var(--color-text-muted)}.dashboard-page,.kpi-row{--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)}.dashboard-page{--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 2fr 2fr;gap:16px}@media (max-width: 1800px){.middle-row{grid-template-columns:2fr 3fr}}@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:.875rem;font-weight:600;color:var(--text-strong);margin:0}.card-subtitle{font-size:.75rem;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{opacity:.6}.kpi-tile.is-disabled,.kpi-tile.is-readonly{cursor:default}.kpi-tile.is-disabled:hover,.kpi-tile.is-readonly:hover{border-color:var(--card-border);box-shadow:var(--card-shadow)}.kpi-label{font-size:.75rem;font-weight:500;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em;margin:0 0 8px}.kpi-value{font-size:1.75rem;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:.75rem;color:var(--text-muted);min-height:1em}.kpi-value-row{display:flex;align-items:flex-end;gap:10px}.kpi-spark{flex:1;min-width:0;max-width:40%;height:22px;overflow:hidden;pointer-events:none;opacity:.7}.kpi-placeholder{font-size:.6875rem;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:.8125rem;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:.75rem;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:.75rem}.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}.unordered-som-link{font-size:.75rem;color:var(--accent);text-decoration:none;white-space:nowrap}.unordered-som-link:hover{text-decoration:underline}.unordered-headline{display:flex;align-items:baseline;gap:10px;margin-bottom:10px}.unordered-count{font-size:1.75rem;font-weight:700;color:var(--text-strong);line-height:1}.unordered-count.is-warn{color:var(--warn)}.unordered-caption{font-size:.75rem;color:var(--text-muted)}.unordered-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column}.unordered-row{display:grid;grid-template-columns:82px minmax(0,1fr) 90px 74px;gap:8px;align-items:center;padding:4px 6px;font-size:.75rem;border-bottom:1px solid var(--color-border-light)}.unordered-row:last-child{border-bottom:none}.unordered-so{font-weight:600;color:var(--text-strong);white-space:nowrap}.unordered-customer{color:var(--text-default);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.unordered-ao{display:inline-flex;align-items:center;white-space:nowrap;color:var(--text-muted)}.unordered-date{color:var(--text-muted);white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums}.unordered-more{margin-top:6px;font-size:.6875rem;color:var(--text-faint)}.unordered-empty{padding:12px 0;font-size:.75rem;color:var(--text-muted)}.duration-help{display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;margin-left:4px;border-radius:50%;border:1px solid var(--card-border);font-size:.625rem;font-weight:600;color:var(--text-faint);cursor:help;vertical-align:1px}.duration-headline{display:flex;align-items:baseline;gap:10px;margin-bottom:8px}.duration-avg{font-size:1.75rem;font-weight:700;color:var(--text-strong);line-height:1}.duration-caption{font-size:.75rem;color:var(--text-muted)}.duration-stats{display:flex;gap:12px;font-size:.75rem;color:var(--text-muted);font-variant-numeric:tabular-nums;margin-bottom:12px}.duration-months{display:flex;align-items:flex-end;gap:10px;flex:1;min-height:90px}.duration-month{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:0}.duration-bar-track{display:flex;align-items:flex-end;height:64px;width:100%;max-width:48px}.duration-bar{width:100%;border-radius:3px 3px 0 0;background:var(--accent);opacity:.75}.duration-month-avg{font-size:.6875rem;font-weight:600;color:var(--text-strong);font-variant-numeric:tabular-nums}.duration-month-label{font-size:.6875rem;color:var(--text-muted)}.duration-quality{margin-top:8px;font-size:.6875rem;color:var(--text-faint)}.duration-empty{padding:12px 0;font-size:.75rem;color:var(--text-muted)}.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:.75rem;color:var(--text-default)}.filter-banner button{background:transparent;border:0;cursor:pointer;color:var(--accent);font-weight:600;font-size:.75rem}.filter-banner button:hover{text-decoration:underline}.card.detail{flex:1 1 auto;min-height:480px}.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:.75rem}.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)}.cell-bucket{background:var(--bucket-bg, transparent);background-clip:padding-box;border:2px solid transparent;border-radius:5px;color:var(--bucket-text, inherit);font-weight:600}.cell-bucket.past_due{--bucket-bg: var(--color-tint-red);--bucket-text: var(--color-tint-red-text)}.cell-bucket.due_soon{--bucket-bg: var(--color-tint-amber);--bucket-text: var(--color-tint-amber-text)}.cell-bucket.at_risk{--bucket-bg: var(--color-tint-orange);--bucket-text: var(--color-tint-orange-text)}.cell-bucket.on_time{--bucket-bg: var(--color-tint-green);--bucket-text: var(--color-tint-green-text)}.cell-bucket.closed{--bucket-bg: var(--color-tint-gray);--bucket-text: var(--color-tint-gray-text)}.cell-bucket.unscheduled{--bucket-bg: var(--color-bg-surface-alt);--bucket-text: var(--color-text-muted)}.dash-loading,.dash-error{padding:16px;text-align:center;color:var(--text-muted);font-size:.8125rem}.dash-error{color:var(--danger)}.col-ri-item{width:140px;flex-shrink:0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.6875rem}.col-ri-desc{width:260px;flex-shrink:1;min-width:160px}.col-ri-type{width:90px;flex-shrink:0}.col-ri-costing{width:120px;flex-shrink:0}.col-ri-posting{width:140px;flex-shrink:0}.col-ri-lead{width:100px;flex-shrink:0}.col-ri-mfr{width:110px;flex-shrink:0}.col-ri-vendor{width:160px;flex-shrink:0}.ms-collapse-btn{font-family:inherit;font-size:.75rem;background:transparent;border:1px solid transparent;color:var(--color-text-default);cursor:pointer;padding:2px .5rem;border-radius:4px}.ms-collapse-btn:hover{background:var(--color-bg-surface-alt)}.col-sono{width:130px;flex-shrink:0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.6875rem}.col-customer{width:150px;flex-shrink:0}.col-summary{width:300px;flex-shrink:0}.col-item{width:130px;flex-shrink:0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.6875rem}.col-desc{width:220px;flex:1;min-width:160px}.col-vendor{width:130px;flex-shrink:0}.col-buyer{width:70px;flex-shrink:0}.col-source{width:110px;flex-shrink:0}.col-qty-calc{width:110px;flex-shrink:0;white-space:nowrap}.col-pono{width:90px;flex-shrink:0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.6875rem}.col-status{width:130px;flex-shrink:0}.col-amount{width:92px;flex-shrink:0}.ms-so-header{background:var(--color-bg-surface);font-weight:700;border-top:2px solid var(--color-text-primary);cursor:pointer}.ms-so-header:hover{background:var(--color-bg-hover)}.ms-ao-header{font-weight:600;border-top:1px solid var(--color-border);background:var(--color-bg-surface-alt)}.collapse-chevron{font-size:.5625rem;color:var(--color-text-muted);margin-right:4px;display:inline-block;width:10px}.collapse-spinner{display:inline-block;width:8px;height:8px;margin-right:6px;border:1.5px solid var(--color-border);border-top-color:var(--color-text-muted);border-radius:50%;animation:ms-spin .6s linear infinite;vertical-align:middle}@keyframes ms-spin{to{transform:rotate(360deg)}}.ms-sp-only{font-size:.5625rem;font-weight:700;color:var(--color-tint-yellow-text);background:var(--color-tint-yellow);border-radius:3px;padding:0 3px;margin-left:4px}.ms-state-badge{font-size:.625rem;font-weight:700;background:var(--cs-bg, var(--color-tint-gray));color:var(--cs-text, var(--color-text-default));border-radius:3px;padding:1px 6px;margin-right:6px;white-space:nowrap}.ms-counts{display:inline-flex;gap:3px;margin-right:6px}.ms-count{font-size:.625rem;font-weight:700;border-radius:3px;padding:0 4px}.ms-count-short{background:var(--color-tint-indigo);color:var(--color-tint-indigo-text)}.ms-count-notordered{background:var(--color-tint-red);color:var(--color-tint-red-text)}.ms-count-underordered{background:var(--color-tint-pink);color:var(--color-tint-pink-text)}.ms-count-onpo{background:var(--color-tint-amber);color:var(--color-tint-amber-text)}.ms-count-partial{background:var(--color-tint-yellow);color:var(--color-tint-yellow-text)}.ms-count-received{background:var(--color-tint-green);color:var(--color-tint-green-text)}.ms-item-count{font-size:.625rem;font-weight:400;color:var(--color-text-muted);margin-right:6px;white-space:nowrap}.ms-addon-chip{font-size:.625rem;font-weight:600;background:var(--color-tint-indigo);color:var(--color-tint-indigo-text);border-radius:3px;padding:0 5px;white-space:nowrap}.ms-item-row .td{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ms-status-fully_received{--cs-bg: var(--color-tint-green);--cs-text: var(--color-tint-green-text)}.ms-status-partially_received{--cs-bg: var(--color-tint-yellow);--cs-text: var(--color-tint-yellow-text)}.ms-status-on_po{--cs-bg: var(--color-tint-amber);--cs-text: var(--color-tint-amber-text)}.ms-status-under_ordered{--cs-bg: var(--color-tint-pink);--cs-text: var(--color-tint-pink-text)}.ms-status-short{--cs-bg: var(--color-tint-indigo);--cs-text: var(--color-tint-indigo-text)}.ms-status-not_ordered{--cs-bg: var(--color-tint-red);--cs-text: var(--color-tint-red-text)}.ms-status-over_received{--cs-bg: var(--color-tint-blue);--cs-text: var(--color-tint-blue-text)}.ms-status-not_in_bom,.ms-status-no_bom_demand{--cs-bg: var(--color-tint-gray);--cs-text: var(--color-tint-gray-text)}[data-row-color=on] .ms-item-row.row-status,[data-theme=light]:not([data-row-color=off]) .ms-item-row.row-status{border-bottom-color:transparent}.ms-item-row.ms-consumable{color:var(--color-text-muted, #888);font-style:italic}.sb-tabs{display:inline-flex;gap:2px}.sb-tab{padding:4px 10px;border:1px solid var(--color-border, #d1d5db);background:var(--color-bg-surface, #fff);font-size:.75rem;cursor:pointer;border-radius:4px}.sb-tab.active{background:#111827;color:#fff;border-color:#111827}.sb-book-link{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--color-border, #d1d5db);border-radius:4px;background:var(--color-bg-surface, #fff);color:var(--color-text-default);font-size:.75rem;text-decoration:none;white-space:nowrap}.sb-book-link:hover{background:var(--color-bg-surface-alt);color:var(--color-accent-hover)}.sb-match{padding:4px 6px;font-size:.75rem;border:1px solid var(--color-border, #d1d5db);border-radius:4px}.sb-kpis{padding:8px 12px;border-bottom:1px solid var(--color-border, #e5e7eb)}.col-sheetrow{width:64px;flex-shrink:0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.625rem;color:var(--color-text-muted, #9ca3af)}.col-part{width:140px;flex-shrink:0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.6875rem}.col-soref{width:150px;flex-shrink:0}.col-bqty{width:56px;flex-shrink:0}.col-date{width:84px;flex-shrink:0}.col-person{width:90px;flex-shrink:0}.col-person-wide{width:130px;flex-shrink:0}.col-type,.col-loc,.col-material,.col-reason{width:110px;flex-shrink:0}.col-explain{width:200px;flex:1;min-width:140px}.col-matched{width:110px;flex-shrink:0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.625rem;color:var(--color-text-muted, #6b7280)}.sb-unmatched{background:var(--color-tint-yellow);color:var(--color-tint-yellow-text);font-weight:600;padding:1px 4px;border-radius:3px}.sb-closed{background:var(--color-tint-gray);color:var(--color-tint-gray-text);font-style:italic;padding:1px 4px;border-radius:3px}.sb-invalid{background:var(--color-tint-red);color:var(--color-tint-red-text);font-weight:700;padding:1px 4px;border-radius:3px}.tip-anchor{display:inline-flex;align-items:center;min-width:0}.tip-clickable{cursor:help}.field[data-v-1e2d8e7b]{margin-bottom:.9rem;display:flex;flex-direction:column;gap:.3rem}.field>label[data-v-1e2d8e7b]{font-weight:600;font-size:.8rem;color:var(--color-text-default)}.field input[type=text][data-v-1e2d8e7b],.field input[type=number][data-v-1e2d8e7b],.field select[data-v-1e2d8e7b],.field textarea[data-v-1e2d8e7b]{border:1px solid var(--color-input-border, var(--color-border));border-radius:6px;padding:.4rem .55rem;font-size:.85rem;width:100%;box-sizing:border-box;background:var(--color-input-bg, var(--color-bg-surface));color:var(--color-input-text, var(--color-text-default))}.field input[data-v-1e2d8e7b]:disabled,.field select[data-v-1e2d8e7b]:disabled,.field textarea[data-v-1e2d8e7b]:disabled{opacity:.65;cursor:not-allowed;background:var(--color-bg-surface-alt)}.row2[data-v-1e2d8e7b]{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.inline[data-v-1e2d8e7b]{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--color-text-default)}.typeahead[data-v-1e2d8e7b]{position:relative}.typeahead-results[data-v-1e2d8e7b]{position:absolute;top:100%;left:0;right:0;margin:2px 0 0;padding:0;list-style:none;background:var(--color-bg-surface);color:var(--color-text-default);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 6px 18px color-mix(in srgb,var(--color-text-primary) 12%,transparent);max-height:220px;overflow-y:auto;z-index:10}.typeahead-results li[data-v-1e2d8e7b]{padding:.4rem .6rem;cursor:pointer;font-size:.82rem}.typeahead-results li[data-v-1e2d8e7b]:hover{background:var(--color-bg-hover)}.muted[data-v-1e2d8e7b]{color:var(--color-text-muted)}.hint[data-v-1e2d8e7b]{margin:0;font-size:.75rem;color:var(--color-text-muted)}.hint a[data-v-1e2d8e7b]{color:var(--color-accent)}.form-warning-hint[data-v-1e2d8e7b]{font-size:.75rem;opacity:.85}.review-meta[data-v-1e2d8e7b]{display:grid;grid-template-columns:max-content 1fr;gap:.25rem .75rem;margin:0 0 .9rem;font-size:.8rem}.review-meta dt[data-v-1e2d8e7b]{font-weight:600;color:var(--color-text-muted)}.review-meta dd[data-v-1e2d8e7b]{margin:0;color:var(--color-text-default)}.review-meta a[data-v-1e2d8e7b]{color:var(--color-accent)}.review-signoffs[data-v-1e2d8e7b]{display:flex;flex-wrap:wrap;gap:.25rem .75rem}.review-signoff[data-v-1e2d8e7b]{color:var(--color-text-muted);white-space:nowrap}.review-signoff.done[data-v-1e2d8e7b]{color:var(--color-text-default)}.review-due.overdue[data-v-1e2d8e7b]{color:var(--color-overdue-cell-text, #7f1d1d);font-weight:600}.review-priority[data-v-1e2d8e7b]{display:inline-flex;align-items:center;gap:.4rem;margin-right:auto;font-size:.8rem;font-weight:600;color:var(--color-text-default)}.review-priority select[data-v-1e2d8e7b]{border:1px solid var(--color-input-border, var(--color-border));border-radius:6px;padding:.3rem .45rem;font-size:.85rem;background:var(--color-input-bg, var(--color-bg-surface));color:var(--color-input-text, var(--color-text-default))}.deny-fields[data-v-1e2d8e7b]{border-top:1px solid var(--color-border);padding-top:.75rem;margin-top:.25rem}.complete-lede[data-v-5047d327]{margin:0 0 .9rem;font-size:.85rem;color:var(--color-text-muted)}.field[data-v-5047d327]{margin-bottom:.9rem;display:flex;flex-direction:column;gap:.3rem}.field>label[data-v-5047d327]{font-weight:600;font-size:.8rem;color:var(--color-text-default)}.field input[data-v-5047d327],.field textarea[data-v-5047d327]{border:1px solid var(--color-input-border, var(--color-border));border-radius:6px;padding:.4rem .55rem;font-size:.85rem;width:100%;box-sizing:border-box;background:var(--color-input-bg, var(--color-bg-surface));color:var(--color-input-text, var(--color-text-default));font-family:inherit}.aom-dept-select{font-size:12px;padding:2px 4px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-surface);color:var(--color-text-default)}.aom-new-btn{font-size:12px;padding:3px 10px;border:1px solid #2563eb;border-radius:4px;background:#2563eb;color:#fff;cursor:pointer;white-space:nowrap}.aom-new-btn:hover{background:#1d4ed8}.aom-action-error{background:#fef2f2;color:#b91c1c;border-bottom:1px solid #fecaca;padding:.35rem .75rem;font-size:12px}.col-aom-reqno{width:96px;flex-shrink:0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:11px}.col-aom-date{width:84px;flex-shrink:0}.col-aom-so{width:90px;flex-shrink:0}.col-aom-lineup{width:64px;flex-shrink:0}.col-aom-job{width:120px;flex-shrink:0}.col-aom-part{width:170px;flex-shrink:0}.col-aom-qty{width:60px;flex-shrink:0}.col-aom-dest{width:110px;flex-shrink:0}.col-aom-material{width:120px;flex-shrink:0}.col-aom-person{width:110px;flex-shrink:0}.col-aom-disp{width:90px;flex-shrink:0}.col-aom-priority{width:72px;flex-shrink:0}.col-aom-signoff{width:92px;flex-shrink:0;display:flex;align-items:center;justify-content:center}.col-aom-status{width:110px;flex-shrink:0}.col-aom-days{width:90px;flex-shrink:0}.col-aom-stamp{width:150px;flex-shrink:0}.col-aom-ref{width:120px;flex-shrink:0}.col-aom-note{width:220px;flex-shrink:0}.col-aom-actions{width:160px;flex-shrink:0;display:flex;align-items:center;justify-content:flex-start}.aom-actions,.aom-actions>.can-denied{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:center}.aom-signoff{border:1px solid var(--color-border);background:var(--color-bg-surface);border-radius:4px;font-size:11px;line-height:1.1;padding:1px 6px;cursor:pointer;display:inline-flex;align-items:center;gap:3px;color:var(--color-text-muted, #6b7280)}.aom-signoff.done{background:#c6efce;border-color:#86caa0;color:#14532d;font-weight:600}.aom-signoff small{font-size:10px;font-weight:400}.aom-signoff:disabled{opacity:.5;pointer-events:none}.aom-cancel:disabled{pointer-events:none}.aom-signoff-na{font-size:11px;color:var(--color-text-muted, #6b7280)}.aom-part-cell{display:inline-flex;align-items:center;min-width:0;max-width:100%;line-height:1.2}.aom-part-cell .aom-part-link,.aom-part-cell>span:not(.tip-anchor),.aom-part-cell>.tip-anchor{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}.aom-vault-icon{display:inline-flex;align-items:center;justify-content:center;margin-left:4px;width:14px;height:14px;border-radius:3px;color:var(--color-text-muted);opacity:0;transition:opacity .1s,color .1s;flex-shrink:0;text-decoration:none}.td:hover .aom-vault-icon{opacity:.6}.aom-vault-icon:hover{opacity:1!important;color:var(--color-accent-hover)}.aom-vault-icon:focus-visible{opacity:1;color:var(--color-accent);outline:2px solid var(--color-accent);outline-offset:1px}.aom-status{display:inline-block;border-radius:4px;border:1px solid transparent;padding:0 7px;font-size:11px;font-weight:600}.aom-cancel{border:none;background:none;color:var(--color-danger);font-size:11px;cursor:pointer;padding:0;text-decoration:underline}.aom-cancel:disabled{color:var(--color-text-muted);cursor:not-allowed;text-decoration:none;opacity:.75}.aom-review{border:none;background:none;font-size:11px;cursor:pointer;padding:0;text-decoration:underline;color:var(--color-accent)}.aom-part-link{color:var(--color-accent);text-decoration:none}.aom-part-link:hover{text-decoration:underline}@keyframes aom-row-flash{0%{background-color:color-mix(in srgb,var(--color-accent) 35%,transparent)}to{background-color:transparent}}.table-row.aom-row-highlight{animation:aom-row-flash 1.6s ease-out;outline:2px solid var(--color-accent);outline-offset:-2px}.aom-row-duplicate .td{background:var(--color-tint-amber)}.aom-duplicate-icon{flex:none;width:14px;height:14px;margin-right:5px;cursor:help}.aom-row-canceled .td,.aom-row-denied .td{opacity:.55;text-decoration:line-through}.aom-row-canceled .td.col-aom-signoff,.aom-row-canceled .td.col-aom-status,.aom-row-canceled .td.col-aom-actions,.aom-row-denied .td.col-aom-signoff,.aom-row-denied .td.col-aom-status,.aom-row-denied .td.col-aom-actions{text-decoration:none}.so-suggest{display:flex;align-items:center;gap:.5rem;padding:.25rem .75rem .35rem}.so-suggest-btn{font:inherit;font-size:.75rem;padding:2px 8px;border:1px solid var(--color-accent);border-radius:4px;background:var(--color-bg-surface);color:var(--color-accent);cursor:pointer}.so-suggest-btn:hover{background:var(--color-bg-surface-alt)}.so-suggest-btn strong{font-family:SF Mono,Menlo,Consolas,monospace;font-weight:700}.so-suggest-hint{font-size:.7rem;color:var(--color-text-muted)}.col-sono{width:110px;flex-shrink:0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.6875rem}.col-customer{width:170px;flex-shrink:0}.col-fab-status{width:168px;flex-shrink:0}.fab-status-cell{display:inline-flex;align-items:center;gap:.35rem;min-width:0}.addon-bang{display:inline-flex;align-items:center;justify-content:center;width:1.05rem;height:1.05rem;border-radius:999px;border:1.5px solid currentColor;font-size:.7rem;font-weight:800;line-height:1;text-decoration:none;flex-shrink:0}.addon-bang-pending{color:#c62828}.addon-bang-fulfilled{color:#757575}.addon-bang:hover{filter:brightness(.9)}.col-part{width:170px;flex-shrink:0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.6875rem}.col-desc{width:240px;flex:1;min-width:160px}.col-qty{width:56px;flex-shrink:0}.col-material{width:130px;flex-shrink:0}.col-gauge{width:90px;flex-shrink:0}.col-structure{width:100px;flex-shrink:0}.col-category{width:120px;flex-shrink:0}.col-bom{width:150px;flex-shrink:0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.6875rem}.fms-missing-bom{color:#b91c1c;font-weight:700;text-decoration:none}.fms-missing-bom:hover{text-decoration:underline}.fab-badge{font-size:.625rem;font-weight:700;border-radius:3px;padding:1px 6px;white-space:nowrap;text-transform:uppercase;background:var(--color-bg-surface-alt);color:var(--color-text-muted)}.fab-badge.fab-in_fab{background:var(--color-tint-yellow);color:var(--color-tint-yellow-text)}.fab-badge.fab-shipped{background:var(--color-tint-green);color:var(--color-tint-green-text)}a.fab-badge-link{text-decoration:none;cursor:pointer}a.fab-badge-link:hover{filter:brightness(.95);outline:1px solid currentColor}.so-data-page[data-v-ea912995]{height:100%;display:flex;flex-direction:column;background:var(--color-bg-page);color:var(--color-text-default)}.table-container[data-v-ea912995]{--vis-row-height: 2rem;flex:1;display:flex;flex-direction:column;min-height:0;overflow:hidden;--grid-header-font-size: .75rem;--grid-cell-padding: .375rem .75rem}.row-clickable[data-v-ea912995]{cursor:pointer}.so-link[data-v-ea912995]{color:var(--color-accent);text-decoration:none;font-weight:600}.so-link[data-v-ea912995]:hover{text-decoration:underline}.cell-empty[data-v-ea912995]{color:var(--color-text-faint)}.chip-completed[data-v-ea912995]{padding:2px 8px;border-radius:3px;font-size:.7rem;font-weight:600;text-transform:uppercase;background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.status-badge[data-v-ea912995]{padding:2px 8px;border-radius:3px;font-size:.7rem;font-weight:600;text-transform:uppercase;background:var(--color-bg-surface-alt);color:var(--color-text-muted)}.status-badge.open[data-v-ea912995]{background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.status-badge.released[data-v-ea912995]{background:var(--color-tint-green);color:var(--color-tint-green-text)}.mech-dash-link[data-v-ea912995]{font-size:.78rem;color:var(--color-accent-hover);text-decoration:none;white-space:nowrap}.mech-dash-link[data-v-ea912995]:hover{text-decoration:underline}.report-page .col-sel{width:34px;flex-shrink:0;text-align:center}.report-page .col-vendor{width:260px;flex-shrink:0}.report-page .col-docno{width:130px;flex-shrink:0}.report-page .col-doctype{width:90px;flex-shrink:0}.report-page .col-desc{flex:1;min-width:140px}.report-page .col-date{width:78px;flex-shrink:0}.report-page .col-dpd{width:92px;flex-shrink:0}.report-page .col-terms{width:80px;flex-shrink:0}.report-page .col-method{width:82px;flex-shrink:0}.report-page .col-amount{width:108px;flex-shrink:0}.report-page .col-inrun{width:92px;flex-shrink:0}.row-vendor-header{background:var(--color-bg-surface-alt, #f3f4f6);font-weight:600}.row-onhold{opacity:.6}.pick-box{cursor:pointer}.view-tabs{display:flex;gap:2px}.view-tab{border:1px solid var(--color-input-border);background:var(--color-bg-surface);color:var(--color-text-default);font-size:.75rem;padding:3px 10px;cursor:pointer}.view-tab:first-child{border-radius:4px 0 0 4px}.view-tab:last-child{border-radius:0 4px 4px 0}.view-tab.active{background:var(--color-btn-primary);color:#fff;border-color:var(--color-btn-primary)}.due-within-input{width:48px;font-size:.75rem;padding:2px 4px}.summary-tiles{display:flex;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-bg-surface, #fff);flex-wrap:wrap}.tile{border:1px solid var(--color-border, #e5e7eb);border-radius:6px;padding:.35rem .75rem;min-width:120px;background:var(--color-bg-surface)}.tile-label{font-size:.625rem;text-transform:uppercase;color:var(--color-text-muted, #6b7280)}.tile-value{font-size:.875rem;font-weight:600}.tile.warn .tile-value{color:var(--color-tint-yellow-text)}.tile.credit .tile-value{color:var(--color-tint-indigo-text)}.tile.due{border-color:var(--color-accent)}.tile.due .tile-value{color:var(--color-accent)}.selection-bar{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-top:1px solid var(--color-border, #e5e7eb);background:var(--color-bg-surface-alt, #f9fafb)}.selection-bar.active{background:var(--color-tint-blue)}.sel-summary{font-size:.8125rem}.sel-summary.muted{color:var(--color-text-muted, #6b7280)}.create-error{color:var(--color-danger);font-size:.75rem}.vendor-no{font-weight:600}.vendor-name-sub{margin-left:.5rem;font-weight:400;color:var(--color-text-muted, #6b7280)}.netneg-hint{margin-left:.5rem;font-size:.625rem;font-weight:600;color:var(--color-danger, #b91c1c);background:var(--color-tint-red, #fee2e2);border-radius:3px;padding:0 4px}.row-net-negative .td{color:var(--color-danger, #b91c1c)}.report-header[data-v-d01d2a10]{display:flex;align-items:center;gap:1rem;padding:.5rem .75rem;border-bottom:1px solid var(--color-border, #e5e7eb)}.report-title[data-v-d01d2a10]{font-weight:600;font-size:.875rem}.header-spacer[data-v-d01d2a10]{flex:1}.journal-mapping[data-v-d01d2a10]{margin:1.5rem .75rem;padding:.75rem;border:1px solid var(--color-border, #e5e7eb);border-radius:8px;max-width:480px}.journal-mapping-title[data-v-d01d2a10]{font-weight:600;font-size:.8125rem;margin-bottom:.25rem}.journal-mapping-help[data-v-d01d2a10]{font-size:.75rem;color:var(--color-text-muted, #6b7280);margin-bottom:.5rem}.journal-mapping-row[data-v-d01d2a10]{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem}.journal-mapping-method[data-v-d01d2a10]{width:3.5rem;font-size:.8125rem;text-transform:uppercase;font-weight:600}.runs-table-wrap[data-v-d01d2a10]{overflow:auto;padding:.75rem}.runs-table[data-v-d01d2a10]{border-collapse:collapse;font-size:.75rem;min-width:900px}.runs-table th[data-v-d01d2a10],.runs-table td[data-v-d01d2a10]{border-bottom:1px solid var(--color-border, #e5e7eb);padding:6px 10px;text-align:left;white-space:nowrap}.runs-table th[data-v-d01d2a10]{font-weight:600;background:var(--color-bg-surface-alt, #f9fafb)}.num[data-v-d01d2a10]{text-align:right!important}.run-detail{overflow-y:auto}.run-detail .run-header{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;border-bottom:1px solid var(--color-border, #e5e7eb);position:sticky;top:0;background:var(--color-bg-surface, #fff);z-index:5}.run-detail .run-title{font-weight:700;font-size:.9375rem}.run-detail .run-asof{color:var(--color-text-muted, #6b7280);font-size:.75rem}.run-detail .header-spacer{flex:1}.run-detail .action-error{color:var(--color-danger);font-size:.75rem;max-width:360px}.run-detail .run-meta{display:flex;gap:1.25rem;flex-wrap:wrap;padding:.5rem .75rem;border-bottom:1px solid var(--color-border, #e5e7eb);background:var(--color-bg-surface-alt, #f9fafb)}.run-detail .meta-item{display:flex;flex-direction:column}.run-detail .meta-label{font-size:.625rem;text-transform:uppercase;color:var(--color-text-muted, #6b7280)}.run-detail .meta-value{font-size:.8125rem}.run-detail .meta-value.strong{font-weight:700}.run-detail .run-body{padding:.75rem}.run-detail .lines-grid,.run-detail .events-grid{--vis-row-height: 2rem;--grid-cell-padding: .25rem .5rem;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;overflow:hidden;font-size:.75rem}.run-detail .vendor-row .td{background:var(--color-bg-surface-alt, #f3f4f6);border-top:1px solid var(--color-border, #e5e7eb)}.run-detail .vendor-row .td.col-invoice{gap:.75rem}.run-detail .vendor-name{font-weight:600;font-size:.8125rem}.run-detail .vendor-row .dynamics-link-icon{opacity:.5}.run-detail .vendor-row .dynamics-link-icon:hover{opacity:1}.run-detail .vendor-method{font-size:.6875rem;color:var(--color-text-muted, #6b7280)}.run-detail .vendor-total{font-weight:600;margin-left:auto}.run-detail .paid-badge{font-size:.6875rem;font-weight:600;color:var(--color-tint-green-text);background:var(--color-tint-green);padding:1px 8px;border-radius:4px}.run-detail .line-row.excluded .td:not(.col-rownum){opacity:.45;text-decoration:line-through}.run-detail .col-invoice{width:170px;flex-shrink:0;gap:.25rem}.run-detail .col-type{width:100px;flex-shrink:0}.run-detail .col-days{width:110px;flex-shrink:0}.run-detail .col-method{width:90px;flex-shrink:0}.run-detail .col-line-status{width:190px;flex-shrink:0}.run-detail .col-check{width:110px;flex-shrink:0}.run-detail .col-paid{width:130px;flex-shrink:0}.run-detail .col-remove{width:40px;flex-shrink:0}.run-detail .col-stamp{width:150px;flex-shrink:0}.run-detail .col-actor,.run-detail .col-action{width:140px;flex-shrink:0}.run-detail .col-detail{width:480px;flex-shrink:0}.run-detail .amt-input{width:110px;text-align:right;font-size:.75rem;padding:2px 4px}.run-detail .check-input{width:90px;font-size:.75rem;padding:2px 4px}.run-detail .line-status{font-size:.6875rem;font-weight:600}.run-detail .ls-proposed{color:var(--color-text-muted)}.run-detail .ls-approved{color:var(--color-tint-blue-text)}.run-detail .ls-paid,.run-detail .ls-verified{color:var(--color-tint-green-text)}.run-detail .ls-disputed{color:var(--color-danger)}.run-detail .line-remove{border:none;background:none;color:var(--color-danger);font-size:.875rem;cursor:pointer;padding:0 4px}.run-detail .events-block{margin-top:1rem}.run-detail .events-grid{margin-top:.5rem}.run-detail .push-status{display:inline-block;margin-left:6px;padding:0 6px;border-radius:4px;font-size:.625rem;font-weight:600;background:var(--color-bg-surface-alt);color:var(--color-text-muted)}.run-detail .push-status.ps-done{background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.run-detail .push-status.ps-failed{background:var(--color-tint-red);color:var(--color-tint-red-text)}.run-detail .push-status.ps-unmapped{background:var(--color-tint-yellow);color:var(--color-tint-yellow-text)}.status-pill{display:inline-block;padding:1px 8px;border-radius:4px;font-size:.6875rem;font-weight:600}.st-draft{background:var(--color-bg-surface-alt);color:var(--color-text-default)}.st-pending_approval{background:var(--color-tint-yellow);color:var(--color-tint-yellow-text)}.st-approved{background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.st-paid,.st-reconciled{background:var(--color-tint-green);color:var(--color-tint-green-text)}.st-cancelled{background:var(--color-tint-red);color:var(--color-tint-red-text)}.btn{font-size:.75rem;padding:4px 12px;border-radius:4px;border:1px solid var(--color-btn-secondary-border);background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);cursor:pointer}.btn:hover:not(:disabled){background:var(--color-btn-secondary-hover)}.btn:disabled{opacity:.6;cursor:default}.btn.primary{background:var(--color-btn-primary);border-color:var(--color-btn-primary);color:#fff;font-weight:600}.btn.primary:hover:not(:disabled){background:var(--color-btn-primary-hover)}.btn.approve{background:#15803d;border-color:#15803d;color:#fff;font-weight:600}.btn.small{font-size:.6875rem;padding:2px 8px}.btn.subtle{color:var(--color-text-muted)}.runs-link{font-size:.75rem;color:var(--color-accent);text-decoration:none}.runs-link:hover{text-decoration:underline}.link-btn{border:none;background:none;padding:0;cursor:pointer;font-family:inherit}.payto-hint{font-size:.625rem;font-weight:400;color:var(--color-tint-yellow-text);background:var(--color-tint-yellow);border-radius:3px;padding:0 4px}.sync-wrap{display:inline-flex;align-items:center;gap:.4rem}.sync-age{font-size:.6875rem;color:var(--color-text-muted, #6b7280)}.sync-error{font-size:.6875rem;color:var(--color-danger, #b91c1c);max-width:220px}.sync-banner{display:flex;align-items:center;gap:.6rem;padding:.4rem .75rem;font-size:.75rem;background:var(--color-bg-surface-alt, #eff6ff);border-bottom:1px solid var(--color-border, #bfdbfe)}.sync-note{color:var(--color-text-muted, #6b7280)}.sync-spinner{width:12px;height:12px;border:2px solid var(--color-border, #bfdbfe);border-top-color:var(--color-accent, #2563eb);border-radius:50%;animation:syncspin .9s linear infinite}@keyframes syncspin{to{transform:rotate(360deg)}}.recon-body{display:flex;flex:1;min-height:0;gap:12px;padding:12px}.recon-sessions{width:170px;flex-shrink:0;display:flex;flex-direction:column;gap:4px;overflow-y:auto}.recon-session{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:6px 10px;border:1px solid var(--color-border-default);border-radius:6px;background:var(--color-bg-surface);color:var(--color-text-default);font-size:.75rem;cursor:pointer}.recon-session:hover{background:var(--color-bg-surface-alt)}.recon-session.active{background:var(--color-btn-primary);border-color:var(--color-btn-primary);color:#fff}.recon-session.active:hover{background:var(--color-btn-primary)}.recon-session.active .status-pill{background:#fff3;color:#fff}.recon-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:10px}.recon-panel-title{font-weight:600;font-size:.8125rem;display:flex;align-items:center;gap:8px}.recon-summary{border:1px solid var(--color-border-default);border-radius:8px;background:var(--color-bg-surface);padding:10px 14px;display:flex;flex-direction:column;gap:8px}.recon-formula{display:flex;flex-wrap:wrap;align-items:center;gap:6px 24px;font-size:.75rem}.recon-stmt{display:flex;align-items:center;gap:6px}.recon-stmt input{width:130px;padding:3px 6px;border:1px solid var(--color-border-default);border-radius:4px;background:var(--color-bg-surface);color:var(--color-text-default);font-size:.75rem;text-align:right}.recon-line{display:flex;gap:8px;align-items:baseline}.recon-line .num{font-variant-numeric:tabular-nums;font-weight:600}.recon-line.diff.ok .num{color:var(--color-tint-green-text)}.recon-line.diff.bad .num{color:var(--color-tint-red-text)}.recon-drift{font-size:.75rem;padding:6px 10px;border-radius:6px;background:var(--color-tint-red);color:var(--color-tint-red-text)}.recon-actions{display:flex;align-items:center;gap:8px}.recon-group-input{width:76px;padding:3px 6px;border:1px solid var(--color-border-default);border-radius:4px;background:var(--color-bg-surface);color:var(--color-text-default);font-size:.75rem}.recon-select,.recon-month{padding:3px 6px;border:1px solid var(--color-border-default);border-radius:4px;background:var(--color-bg-surface);color:var(--color-text-default);font-size:.75rem}.recon-hint{font-size:.6875rem;color:var(--color-text-muted)}.recon-error{font-size:.75rem;color:var(--color-tint-red-text)}.recon-select-hint{font-size:.6875rem;color:var(--color-tint-yellow-text)}.recon-start{align-items:flex-start}.recon-start .recon-hint{max-width:420px}.pick-wrap{display:inline-flex}.pick-box:disabled{cursor:not-allowed;opacity:.4}.recon-cf-tag{display:inline-block;margin-right:6px;padding:0 6px;border-radius:999px;font-size:.625rem;font-weight:600;background:var(--color-tint-yellow);color:var(--color-tint-yellow-text)}.recon-page .col-sel{width:34px;flex-shrink:0}.recon-page .col-date{width:90px;flex-shrink:0}.recon-page .col-docno{width:120px;flex-shrink:0}.recon-page .col-doctype{width:100px;flex-shrink:0}.recon-page .col-desc{flex:1;min-width:180px}.recon-page .col-amount,.recon-page .col-status{width:130px;flex-shrink:0}.recon-page .col-group{width:70px;flex-shrink:0}.gl-page{position:relative;background:var(--color-bg-page);color:var(--color-text-default)}.gl-page .gl-synced{color:var(--color-text-muted)}.gl-page .gl-body{flex:1;display:flex;min-height:0;position:relative}.gl-page .gl-main{position:relative;flex:1;display:flex;flex-direction:column;min-width:0;min-height:0}.gl-page .gl-grid{--vis-row-height: 2rem;--grid-header-font-size: .75rem}.gl-page .gl-row,.gl-page .gl-row-open{cursor:pointer}.gl-page .gl-row-open .td{background:var(--color-tint-blue)}.gl-page .gl-tabs{display:flex;padding:.35rem .75rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-surface)}.gl-page .gl-tabs .report-tab{padding:.25rem .9rem;text-decoration:none}.gl-page .gl-summary{overflow-y:auto;padding:.5rem .75rem 1.5rem;gap:.75rem}.gl-page .gl-sum-strips{position:sticky;top:-.5rem;z-index:5;margin:-.5rem -.75rem 0;padding:.5rem .75rem;background:var(--color-bg-page);border-bottom:1px solid var(--color-border);display:flex;flex-wrap:wrap;gap:.75rem;align-items:center}.gl-page .gl-sum-panel{flex-shrink:0;display:flex;flex-direction:column;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-surface)}.gl-page .gl-sum-head{display:flex;align-items:flex-start;gap:.75rem;padding:.5rem .75rem;border-bottom:1px solid var(--color-border)}.gl-page .gl-sum-titles{flex:1;min-width:0}.gl-page .gl-sum-title{margin:0;font-size:.875rem;font-weight:700}.gl-page .gl-sum-desc{margin:.15rem 0 0;color:var(--color-text-muted);font-size:.75rem}.gl-page .gl-sum-tools{display:flex;align-items:center;gap:.5rem}.gl-page .gl-sum-panel>.report-state{min-height:5rem;gap:.75rem}.gl-page .gl-sum-retry{border:1px solid var(--color-input-border);border-radius:4px;background:var(--color-bg-surface);padding:.15rem .6rem;font:inherit;color:var(--color-text-default);cursor:pointer}.gl-page .gl-sum-body.gl-sum-stale{opacity:.6}.gl-page .gl-sum-grid{--grid-header-font-size: .75rem;display:flex;flex-direction:column;min-height:0}.gl-page .gl-sum-subtotal .td{font-weight:700;background:var(--color-bg-surface-alt)}.gl-page .gl-sum-idle .td{color:var(--color-text-faint)}.gl-page .gl-drill{border:none;background:transparent;padding:0;font:inherit;color:var(--color-accent);cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gl-page .gl-drill:hover{text-decoration:underline}.gl-page .gl-sum-stack{display:flex;flex-direction:column;align-items:flex-end;width:100%;line-height:1.25}.gl-page .gl-sum-sub{font-size:.6875rem;font-weight:400;color:var(--color-text-faint)}.gl-page .gl-chips{display:inline-flex;gap:.35rem;min-width:0;overflow:hidden}.gl-page .gl-sum-excluded{flex-shrink:0;color:var(--color-text-muted);font-style:italic}.gl-page .gl-top-accounts{min-width:0;overflow:hidden;text-overflow:ellipsis}.gl-page .gl-chip{flex-shrink:0;border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg-surface-alt);padding:0 .45rem;font:inherit;font-size:.6875rem;line-height:1.4;color:var(--color-text-default);cursor:pointer;white-space:nowrap}.gl-page .gl-chip:hover{background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.gl-page .gl-chip-amount{color:var(--color-text-muted)}.gl-page .gl-owner-band .td{background:var(--color-bg-surface-alt)}.gl-page .gl-owner-head{display:inline-flex;align-items:baseline;gap:.75rem;min-width:0}.gl-page .gl-owner-name{font-weight:700}.gl-page .gl-owner-person{color:var(--color-text-muted)}.gl-page .gl-owner-balance{font-weight:600;border-bottom:1px dotted currentColor;cursor:help}.gl-page .gl-class-amount{display:inline-flex;align-items:center;gap:.3rem;overflow:visible;text-overflow:clip}.gl-page .gl-mix{display:flex;width:100%;height:.7rem;border-radius:2px;overflow:hidden;background:var(--color-bg-surface-alt)}.gl-page .gl-mix-seg{height:100%}.gl-page .gl-mix-swatch{flex-shrink:0;display:inline-block;width:.55rem;height:.55rem;border-radius:2px}.gl-page .gl-mix-expense{background:var(--color-accent)}.gl-page .gl-mix-catch_all{background:var(--color-danger)}.gl-page .gl-mix-owner{background:var(--color-warn)}.gl-page .gl-mix-transfer{background:var(--color-text-faint)}.gl-page .gl-mix-vendor{background:var(--color-success)}.gl-page .gl-mix-other{background:var(--color-neutral)}.gl-page .gl-mix-unknown{background:var(--color-border)}.gl-page .gl-strip{padding:.125rem;border-radius:6px}.gl-page .gl-strip .report-tab,.gl-page .gl-strip-earlier{padding:.15rem .5rem;font-size:.75rem;border-radius:4px}.gl-page .gl-strip .report-tab.muted{color:var(--color-text-faint)}.gl-page .gl-strip-earlier{border:none;background:transparent;font-family:inherit;color:var(--color-text-muted);cursor:pointer}.gl-page .gl-strip-earlier:hover,.gl-page .gl-strip-earlier.open{color:var(--color-text-primary);background:var(--color-bg-surface)}.gl-page .gl-neg{color:var(--color-danger)}.gl-page .gl-txn-chip{display:inline-block;border:none;font-family:inherit;line-height:1.4;cursor:pointer;min-width:1.4rem;padding:0 .35rem;border-radius:999px;background:var(--color-bg-surface-alt);color:var(--color-text-muted);font-size:.6875rem;font-weight:600;text-align:center}.gl-page .gl-txn-chip:hover{background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.gl-page .gl-accounts{width:17rem;flex-shrink:0;display:flex;flex-direction:column;min-height:0;border-right:1px solid var(--color-border);background:var(--color-bg-surface)}.gl-page .gl-accounts.collapsed{width:2rem}.gl-page .gl-accounts-head{display:flex;align-items:center;gap:.35rem;padding:.35rem .4rem;border-bottom:1px solid var(--color-border)}.gl-page .gl-accounts-toggle{border:none;background:transparent;color:var(--color-text-muted);font-size:1rem;line-height:1;width:1.25rem;cursor:pointer;padding:0}.gl-page .gl-accounts-toggle:hover{color:var(--color-accent)}.gl-page .gl-accounts-title{font-weight:600}.gl-page .gl-accounts-find{margin:.4rem;padding:.25rem .4rem;font:inherit;border:1px solid var(--color-input-border);border-radius:4px;background:var(--color-bg-surface);color:var(--color-text-default)}.gl-page .gl-accounts-error{padding:.25rem .5rem;color:var(--color-danger)}.gl-page .gl-accounts-list{flex:1;overflow-y:auto;padding-bottom:.5rem}.gl-page .gl-section{margin-top:.25rem}.gl-page .gl-section-head,.gl-page .gl-account{display:flex;align-items:baseline;gap:.4rem;width:100%;border:none;background:transparent;font:inherit;text-align:left;cursor:pointer;color:var(--color-text-default)}.gl-page .gl-section-head{padding:.3rem .5rem .15rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted)}.gl-page .gl-section-head:hover{color:var(--color-accent)}.gl-page .gl-account{padding:.15rem .5rem .15rem .9rem}.gl-page .gl-account:hover{background:var(--color-bg-hover)}.gl-page .gl-account.muted,.gl-page .gl-section-head.muted{color:var(--color-text-faint)}.gl-page .gl-account.selected{background:var(--color-tint-blue);color:var(--color-tint-blue-text);font-weight:600}.gl-page .gl-account-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gl-page .gl-account-count{flex-shrink:0;font-size:.6875rem;font-weight:400;color:var(--color-text-faint)}.gl-page .gl-drawer{position:absolute;top:0;right:0;bottom:0;z-index:20;width:min(40rem,60%);display:flex;flex-direction:column;background:var(--color-bg-surface);border-left:1px solid var(--color-border);box-shadow:var(--shadow-lg)}.gl-page .gl-drawer-head{display:flex;align-items:baseline;gap:.75rem;padding:.5rem .75rem;border-bottom:1px solid var(--color-border)}.gl-page .gl-drawer-title{font-weight:700;font-size:.875rem}.gl-page .gl-drawer-meta{flex:1;min-width:0;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gl-page .gl-drawer-close{border:none;background:transparent;font-size:1.1rem;line-height:1;cursor:pointer;color:var(--color-text-muted)}.gl-page .gl-drawer-close:hover{color:var(--color-text-default)}.gl-page .gl-drawer-grid{--vis-row-height: 2rem;display:flex;flex-direction:column;min-height:0}.gl-page .gl-drawer-footer{overflow:hidden;border-top:2px solid var(--color-border)}.gl-page .gl-txn-current .td{background:var(--color-tint-yellow)}.gl-page .gl-txn-total .td{font-weight:700;background:var(--color-bg-surface-alt)}.gl-page .gl-unbalanced{color:var(--color-danger)}.gl-page .gl-account-link{border:none;background:transparent;padding:0;font:inherit;color:var(--color-accent);cursor:pointer;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gl-page .gl-account-link:hover{text-decoration:underline}.forbidden[data-v-08b336fa]{padding:3rem;text-align:center}.field-label[data-v-cedf6aa0]{font-size:12px;color:var(--color-text-muted, #888)}.num-input[data-v-cedf6aa0]{width:80px}.short-label-input[data-v-cedf6aa0]{width:160px}.cell-sub[data-v-cedf6aa0]{margin-left:6px;font-size:12px;color:var(--color-text-muted, #888)}.saved-line[data-v-cedf6aa0]{font-size:12px;color:var(--color-success, #22d47a)}.config-page[data-v-cedf6aa0]{height:100%;display:flex;flex-direction:column;background:var(--color-bg-page);color:var(--color-text-default)}.toolbar[data-v-cedf6aa0]{padding:8px 16px;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border)}.toolbar h2[data-v-cedf6aa0]{margin:0;font-size:1rem;font-weight:600}.content[data-v-cedf6aa0]{flex:1;overflow-y:auto;padding:16px}.config-section[data-v-cedf6aa0]{max-width:560px}.section-head h3[data-v-cedf6aa0]{margin:0 0 2px;font-size:.9rem}.section-sub[data-v-cedf6aa0]{margin:0 0 10px;font-size:.75rem;color:var(--color-text-muted)}.section-sub a[data-v-cedf6aa0]{color:var(--color-accent-hover)}.config-table[data-v-cedf6aa0]{width:100%;border-collapse:collapse;font-size:.8rem;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:4px}.config-table td[data-v-cedf6aa0]{padding:6px 10px;border-bottom:1px solid var(--color-border-light);vertical-align:middle}.config-table tr:last-child td[data-v-cedf6aa0]{border-bottom:none}.cell-dot[data-v-cedf6aa0]{width:28px}.type-dot[data-v-cedf6aa0]{width:12px;height:12px;display:inline-block;border-radius:3px}.cell-name[data-v-cedf6aa0]{font-weight:600}.cell-actions[data-v-cedf6aa0]{text-align:right}.btn-remove[data-v-cedf6aa0]{padding:2px 8px;background:transparent;color:var(--color-danger);border:1px solid var(--color-tint-red-border);border-radius:3px;font-size:.66rem;cursor:pointer}.btn-remove[data-v-cedf6aa0]:hover{background:var(--color-tint-red);color:var(--color-tint-red-text)}.add-row[data-v-cedf6aa0]{display:flex;gap:6px;margin-top:8px;align-items:center}.form-input[data-v-cedf6aa0]{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:.78rem}.color-input[data-v-cedf6aa0]{width:42px;height:30px;padding:2px;cursor:pointer}.btn-primary[data-v-cedf6aa0]{padding:6px 14px;background:var(--color-accent);color:#fff;border:none;border-radius:4px;font-size:.8rem;cursor:pointer}.btn-primary[data-v-cedf6aa0]:disabled{opacity:.5;cursor:not-allowed}.state-line[data-v-cedf6aa0]{font-size:.8rem;color:var(--color-text-muted);padding:8px 2px}.error-line[data-v-cedf6aa0]{margin-top:8px;color:var(--color-danger);font-size:.8rem}.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:4px;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:4px;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)}.status-muted{background:var(--color-bg-surface-alt, #f3f4f6);color:var(--color-text-muted, #6b7280)}.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-803b2d9d]{display:grid;grid-template-columns:auto 1fr auto;gap:1.5rem}.source-tabs[data-v-803b2d9d]{display:flex;gap:.25rem}.tab[data-v-803b2d9d]{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-803b2d9d]{background:var(--color-table-header-bg);color:var(--color-table-header-text);border-color:var(--color-table-header-bg)}.progress-panel[data-v-803b2d9d]{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-803b2d9d]{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.6rem;font-size:.85rem}.progress-title[data-v-803b2d9d]{display:flex;align-items:center;gap:.6rem;color:var(--color-tint-blue-text)}.progress-table code[data-v-803b2d9d]{background:var(--color-tint-blue);padding:.1rem .45rem;border-radius:3px;font-size:.78rem}.progress-count[data-v-803b2d9d]{color:var(--color-tint-blue-text);font-variant-numeric:tabular-nums;font-weight:500}.progress-bar[data-v-803b2d9d]{height:6px;background:var(--color-tint-blue);border-radius:999px;overflow:hidden}.progress-bar-fill[data-v-803b2d9d]{height:100%;background:linear-gradient(90deg,#2563eb,#3b82f6);transition:width .4s ease}.spinner[data-v-803b2d9d]{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-803b2d9d .8s linear infinite}@keyframes spin-803b2d9d{to{transform:rotate(360deg)}}.toast[data-v-803b2d9d]{display:flex;align-items:center;gap:1rem;padding:.7rem 1rem;border-radius:6px;margin-bottom:1rem;font-size:.9rem}.toast-success[data-v-803b2d9d]{background:var(--color-tint-green);color:var(--color-tint-green-text);border:1px solid var(--color-tint-green-border)}.toast-error[data-v-803b2d9d]{background:var(--color-tint-red);color:var(--color-tint-red-text);border:1px solid var(--color-tint-red-border)}.toast-close[data-v-803b2d9d]{margin-left:auto;background:transparent;border:none;cursor:pointer;color:inherit;font-size:1.1rem;opacity:.6}.toast-close[data-v-803b2d9d]:hover{opacity:1}.fade-enter-active[data-v-803b2d9d],.fade-leave-active[data-v-803b2d9d]{transition:opacity .3s ease}.fade-enter-from[data-v-803b2d9d],.fade-leave-to[data-v-803b2d9d]{opacity:0}.meta-line[data-v-803b2d9d]{font-size:.8rem;color:var(--color-text-default);margin-bottom:.75rem}.meta-line code[data-v-803b2d9d]{background:var(--color-bg-surface);padding:.1rem .4rem;border-radius:3px;border:1px solid var(--color-border)}.table-breakdown[data-v-803b2d9d]{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-803b2d9d],.table-breakdown td[data-v-803b2d9d]{padding:.4rem .75rem;border-bottom:1px solid var(--color-bg-surface-alt)}.table-breakdown th[data-v-803b2d9d]{background:var(--color-bg-surface-alt);font-weight:600}.table-row[data-v-803b2d9d]{cursor:pointer}.table-row[data-v-803b2d9d]:hover{background:var(--color-table-row-alt)}.table-row.active[data-v-803b2d9d]{background:var(--color-bg-hover)}.caret[data-v-803b2d9d]{display:inline-block;width:1rem;color:var(--color-text-muted)}.diff-row>td[data-v-803b2d9d]{background:var(--color-bg-surface-alt);padding:.75rem 1rem}.diff-grid[data-v-803b2d9d]{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.diff-label[data-v-803b2d9d]{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.4rem}.diff-label.created[data-v-803b2d9d]{color:var(--color-tint-green-text)}.diff-label.updated[data-v-803b2d9d]{color:var(--color-tint-blue-text)}.diff-label.deleted[data-v-803b2d9d]{color:var(--color-tint-red-text)}.id-list[data-v-803b2d9d]{list-style:none;padding:0;margin:0;max-height:200px;overflow-y:auto}.id-list li[data-v-803b2d9d]{padding:.15rem 0}.id-list code[data-v-803b2d9d]{font-size:.7rem;color:var(--color-text-default)}.id-list li.more[data-v-803b2d9d]{color:var(--color-text-muted);font-style:italic}.diff-link[data-v-803b2d9d]{text-decoration:none}.diff-link code[data-v-803b2d9d]{color:var(--color-accent, #3b82f6)}.diff-link:hover code[data-v-803b2d9d]{text-decoration:underline}.no-diffs[data-v-803b2d9d]{color:var(--color-text-faint);font-style:italic}.extra-chips[data-v-803b2d9d]{display:inline-flex;gap:6px;margin-left:10px}.run-gap[data-v-803b2d9d],.table-gap[data-v-803b2d9d]{margin-left:6px}.freshness-grid[data-v-803b2d9d]{--vis-row-height: 1.75rem;font-size:.8rem;border:1px solid var(--color-border);border-radius:4px}.table-error[data-v-803b2d9d]{margin-left:8px;color:var(--color-tint-red-text);font-size:.75rem}.extra-chip[data-v-803b2d9d]{font-size:.6875rem;padding:1px 7px;border-radius:10px;background:var(--color-bg-subtle, rgba(128, 128, 128, .12));color:var(--color-text-muted, inherit);white-space:nowrap}.progress-bar-fill.indeterminate[data-v-803b2d9d]{width:35%;animation:indeterminate-slide-803b2d9d 1.4s ease-in-out infinite}@keyframes indeterminate-slide-803b2d9d{0%{margin-left:-35%}to{margin-left:100%}}.exports-blurb[data-v-90073a06]{margin:0 0 1rem;max-width:52rem;line-height:1.45}.filter-label[data-v-90073a06]{display:inline-flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--color-text-muted, #666)}.filter-label select[data-v-90073a06]{padding:.35rem .5rem;border:1px solid var(--color-btn-secondary-border);border-radius:4px;background:var(--color-bg-surface);color:inherit}.btn-secondary[data-v-90073a06]{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)}.btn-secondary[data-v-90073a06]:disabled{opacity:.6;cursor:not-allowed}.table-toolbar[data-v-90073a06]{display:flex;align-items:center;gap:.75rem;margin:1.5rem 0 .5rem}.table-toolbar h3[data-v-90073a06]{margin:0}.table-count[data-v-90073a06]{font-weight:400;font-size:.8rem;text-transform:none;letter-spacing:0}.toolbar-right[data-v-90073a06]{display:flex;align-items:center;gap:.75rem;margin-left:auto}.filter-hint[data-v-90073a06]{font-size:.75rem}.btn-clear-filters[data-v-90073a06]{padding:.3rem .7rem;font-size:.78rem;border-radius:4px;border:1px solid var(--color-btn-secondary-border, #cbd5e1);background:var(--color-bg-surface, #fff);color:var(--color-text-default, #111);cursor:pointer}.btn-clear-filters[data-v-90073a06]:hover:not(:disabled){border-color:var(--color-accent, #2563eb);color:var(--color-accent, #2563eb)}.btn-clear-filters[data-v-90073a06]:disabled{opacity:.5;cursor:not-allowed}.table-scroll[data-v-90073a06]{max-height:min(70vh,720px);overflow:auto;border:1px solid var(--color-border, #e5e7eb);border-radius:4px}.exports-table[data-v-90073a06]{margin:0}.exports-table thead th[data-v-90073a06]{position:sticky;top:0;z-index:2;background:var(--color-table-row-alt, #f3f4f6);box-shadow:inset 0 -1px 0 var(--color-border, #e5e7eb)}.filter-empty[data-v-90073a06]{margin:1rem .25rem}tr.clickable[data-v-90073a06]{cursor:pointer}tr.selected td[data-v-90073a06]{background:var(--color-tint-blue, rgba(37, 99, 235, .08))}.admin-table th.sortable[data-v-90073a06]{position:relative;white-space:nowrap}.th-label[data-v-90073a06]{display:inline-flex;align-items:center;gap:.25rem;cursor:pointer;-webkit-user-select:none;user-select:none}.th-label[data-v-90073a06]:hover,.admin-table th.sorted .th-label[data-v-90073a06]{color:var(--color-accent, #2563eb)}.filter-glyph[data-v-90073a06]{flex:none;opacity:0;transition:opacity .12s ease;color:var(--color-text-muted, #94a3b8)}.admin-table th.has-filter:hover .filter-glyph[data-v-90073a06]{opacity:.7}.admin-table th.filter-on .filter-glyph[data-v-90073a06]{opacity:1;color:var(--color-accent, #2563eb)}.admin-table th.filter-on .th-label[data-v-90073a06]{color:var(--color-accent, #2563eb)}.col-filter[data-v-90073a06]{position:absolute;top:100%;left:0;z-index:5;display:none;margin-top:2px;padding:.4rem;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;background:var(--color-bg-surface, #fff);box-shadow:0 6px 18px #0f172a24}.admin-table th.has-filter:hover .col-filter[data-v-90073a06],.col-filter[data-v-90073a06]:focus-within{display:block}.admin-table th.dismissed .col-filter[data-v-90073a06]{display:none!important}.admin-table th.num .col-filter[data-v-90073a06],.exports-table thead th:nth-last-child(-n+3) .col-filter[data-v-90073a06]{left:auto;right:0}.col-filter-input[data-v-90073a06]{width:9rem;padding:.35rem .45rem;border:1px solid var(--color-btn-secondary-border, #cbd5e1);border-radius:4px;background:var(--color-bg-surface, #fff);color:var(--color-text-default, #111);font-size:.82rem;font-weight:400;text-transform:none;letter-spacing:0}.col-filter-input[data-v-90073a06]:focus{outline:2px solid color-mix(in srgb,var(--color-accent, #2563eb) 45%,transparent);outline-offset:0;border-color:var(--color-accent, #2563eb)}.btn-retry[data-v-90073a06]{margin-left:.5rem;padding:.15rem .55rem;font-size:.75rem;border-radius:4px;border:1px solid var(--color-btn-secondary-border, #cbd5e1);background:var(--color-bg-surface, #fff);color:var(--color-text-default, #111);cursor:pointer;vertical-align:middle}.btn-retry[data-v-90073a06]:hover:not(:disabled){border-color:var(--color-accent, #2563eb);color:var(--color-accent, #2563eb)}.btn-retry[data-v-90073a06]:disabled{opacity:.55;cursor:not-allowed}.detail-actions[data-v-90073a06]{margin-top:.75rem}.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-bda54f6a]{display:inline-flex;gap:.4rem;font-size:.75rem;font-weight:400}.meta-grid[data-v-bda54f6a]{display:grid;grid-template-columns:max-content 1fr;gap:.3rem 1rem;font-size:.8rem;margin:0 0 .75rem}.meta-grid dt[data-v-bda54f6a]{color:var(--color-text-muted);text-transform:uppercase;font-size:.7rem;letter-spacing:.04em}.meta-grid dd[data-v-bda54f6a]{margin:0;color:var(--color-text-primary)}.meta-grid code[data-v-bda54f6a]{font-size:.75rem;word-break:break-all}.payload[data-v-bda54f6a]{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-bda54f6a]{display:flex;gap:.5rem;align-items:center;margin-bottom:.75rem;flex-wrap:wrap}.action-status[data-v-bda54f6a]{display:inline-flex;align-items:center;gap:.5rem;color:var(--color-text-muted);font-size:.8rem}.action-status .spinner[data-v-bda54f6a]{width:12px;height:12px;border:2px solid var(--color-border);border-top-color:var(--color-accent);border-radius:50%;display:inline-block;animation:spin-bda54f6a .8s linear infinite}@keyframes spin-bda54f6a{to{transform:rotate(360deg)}}.action-result[data-v-bda54f6a]{border-radius:4px;padding:.5rem .75rem;margin-bottom:.75rem;font-size:.85rem;line-height:1.5}.action-result.is-ok[data-v-bda54f6a]{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-bda54f6a]{background:var(--color-tint-red);color:var(--color-tint-red-text);border:1px solid var(--color-tint-red-border)}.action-result code[data-v-bda54f6a]{font-size:.8rem}.action-result .fail-detail[data-v-bda54f6a]{display:block;margin-top:.25rem}.today-summary[data-v-bda54f6a]{display:flex;flex-wrap:wrap;gap:0 .35em;font-size:.85rem;margin:0 0 .75rem;line-height:1.6}.today-summary .is-bad[data-v-bda54f6a]{color:var(--color-tint-red-text);font-weight:600}.today-summary .last-error[data-v-bda54f6a]{flex-basis:100%}.today-summary code[data-v-bda54f6a]{font-size:.8rem;word-break:break-word}.contract-failures[data-v-bda54f6a]{margin:0;padding:0;list-style:none;font-size:.85rem}.contract-failures li[data-v-bda54f6a]{padding:.35rem 0;border-bottom:1px solid var(--color-border)}.contract-error[data-v-bda54f6a]{display:block;word-break:break-word}.is-refused .contract-error[data-v-bda54f6a]{color:var(--color-tint-red-text)}.is-unreachable .contract-error[data-v-bda54f6a]{color:var(--color-tint-yellow-text)}.np-admin[data-v-1ed6f2da]{padding:20px 24px;max-width:1100px}.np-admin h1[data-v-1ed6f2da]{font-size:1.25rem;margin:0 0 4px}.np-admin-sub[data-v-1ed6f2da]{color:var(--color-text-muted);font-size:.8125rem;margin:0 0 16px;max-width:640px}.np-admin-error[data-v-1ed6f2da]{color:var(--color-tint-red-text);font-size:.8125rem;margin-bottom:12px}.np-admin-loading[data-v-1ed6f2da]{color:var(--color-text-muted)}.np-admin-cols[data-v-1ed6f2da]{display:flex;gap:24px;flex-wrap:wrap;align-items:flex-start}.np-admin-col[data-v-1ed6f2da]{flex:1;min-width:260px;max-width:340px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:6px;padding:12px 14px}.np-admin-col h2[data-v-1ed6f2da]{font-size:.9375rem;margin:0 0 2px}.np-admin-hint[data-v-1ed6f2da]{font-size:.6875rem;color:var(--color-text-muted);margin-bottom:10px}.np-admin-list[data-v-1ed6f2da]{list-style:none;margin:0 0 10px;padding:0}.np-admin-item[data-v-1ed6f2da]{display:flex;align-items:center;gap:6px;padding:3px 0;font-size:.8125rem;border-bottom:1px solid var(--color-border-light)}.np-admin-label[data-v-1ed6f2da]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.np-admin-actions[data-v-1ed6f2da]{display:flex;gap:2px;opacity:0}.np-admin-item:hover .np-admin-actions[data-v-1ed6f2da]{opacity:1}.np-admin-btn[data-v-1ed6f2da]{border:1px solid var(--color-border);background:var(--color-bg-surface-alt);border-radius:4px;font:inherit;font-size:.75rem;padding:1px 6px;cursor:pointer}.np-admin-btn[data-v-1ed6f2da]:disabled{opacity:.35;cursor:default}.np-admin-del[data-v-1ed6f2da]:hover{color:var(--color-tint-red-text);border-color:var(--color-danger)}.np-admin-add[data-v-1ed6f2da]{display:flex;gap:6px}.np-admin-input[data-v-1ed6f2da]{flex:1;min-width:0;font:inherit;font-size:.8125rem;padding:3px 6px;border:1px solid var(--color-border);border-radius:4px}.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-header .heading h2[data-v-dfacd8a5]{margin-bottom:2px}.subtitle[data-v-dfacd8a5]{font-size:.75rem;color:var(--color-text-muted);margin-bottom:1rem}.task-fields[data-v-dfacd8a5]{display:flex;gap:10px;margin-bottom:14px}.fld[data-v-dfacd8a5]{display:flex;flex-direction:column;gap:3px;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.fld .input[data-v-dfacd8a5]{text-transform:none;letter-spacing:normal}.fld-grow[data-v-dfacd8a5]{flex:1}.section-label[data-v-dfacd8a5]{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);padding-top:10px;margin-bottom:6px;border-top:1px solid var(--color-border)}.hint[data-v-dfacd8a5]{font-size:.75rem;color:var(--color-text-muted);padding:4px 0}.demand-head[data-v-dfacd8a5]{display:flex;align-items:center;gap:6px;margin-bottom:4px;font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted)}.head-resource[data-v-dfacd8a5]{flex:1;min-width:200px}.head-hours[data-v-dfacd8a5],.head-rate[data-v-dfacd8a5]{width:70px}.head-pin[data-v-dfacd8a5]{width:140px}.head-spacer[data-v-dfacd8a5]{width:26px}.demand-row[data-v-dfacd8a5]{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap}.input[data-v-dfacd8a5]{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-dfacd8a5]{width:70px}.input[data-v-dfacd8a5]:focus{outline:none;border-color:var(--color-accent-hover)}.demand-resource[data-v-dfacd8a5]{flex:1;min-width:200px}.demand-pin[data-v-dfacd8a5]{width:140px}.btn-row-del[data-v-dfacd8a5]{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-dfacd8a5]:hover{color:var(--color-danger)}.btn-add-demand[data-v-dfacd8a5]{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-dfacd8a5]:hover{color:var(--color-text-default);border-color:var(--color-text-muted)}.explainer[data-v-dfacd8a5]{margin:14px 0 0;font-size:.7rem;line-height:1.5;color:var(--color-text-muted)}.explainer strong[data-v-dfacd8a5]{color:var(--color-text-default)}.span-note[data-v-dfacd8a5]{font-size:.65rem;color:var(--color-text-muted);background:var(--color-bg-surface-alt);border-radius:3px;padding:2px 6px}.totals-row[data-v-dfacd8a5]{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-dfacd8a5]{color:var(--color-text-muted)}.totals-value[data-v-dfacd8a5]{color:var(--color-text-primary);font-weight:600;margin-left:4px}.totals-detail[data-v-dfacd8a5]{margin-left:8px}.over-tag[data-v-dfacd8a5]{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-dfacd8a5]{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-header .heading h2[data-v-cac31d8d]{margin-bottom:2px}.subtitle[data-v-cac31d8d]{font-size:12px;color:var(--color-text-muted);margin-bottom:1rem}.body[data-v-cac31d8d]{display:flex;flex-direction:column;gap:12px}.file-row .file-input[data-v-cac31d8d]{font-size:13px;color:var(--color-text-default)}.mode-row[data-v-cac31d8d]{display:flex;flex-direction:column;gap:8px}.mode-option[data-v-cac31d8d]{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border:1px solid var(--color-border);border-radius:8px;cursor:pointer}.mode-option.active[data-v-cac31d8d]{border-color:var(--color-accent);background:var(--color-bg-surface-alt)}.mode-option input[data-v-cac31d8d]{margin-top:3px}.mode-title[data-v-cac31d8d]{font-size:13px;font-weight:600}.mode-desc[data-v-cac31d8d]{font-size:12px;color:var(--color-text-muted)}.loading[data-v-cac31d8d]{font-size:13px;color:var(--color-text-muted);padding:6px 0}.error-box[data-v-cac31d8d]{font-size:12.5px;padding:8px 10px;border-radius:6px;border:1px solid var(--color-danger);color:var(--color-danger);background:#dc262614}.done-banner[data-v-cac31d8d]{font-size:14px;font-weight:600;color:var(--color-success)}.stat-grid[data-v-cac31d8d]{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.stat[data-v-cac31d8d]{border:1px solid var(--color-border);border-radius:8px;padding:8px 10px;background:var(--color-bg-surface-alt)}.stat-warn[data-v-cac31d8d]{border-color:var(--color-warn)}.stat-n[data-v-cac31d8d]{font-size:18px;font-weight:700}.stat-l[data-v-cac31d8d]{font-size:11.5px;color:var(--color-text-muted)}.debug-toggle[data-v-cac31d8d]{display:flex;gap:8px;align-items:flex-start;font-size:12px;color:var(--color-text-muted);cursor:pointer}.debug-toggle input[data-v-cac31d8d]{margin-top:2px}.relax[data-v-cac31d8d]{border:1px solid var(--color-border);border-radius:8px;padding:10px 12px;background:var(--color-bg-surface-alt);display:flex;flex-direction:column;gap:8px}.relax-head[data-v-cac31d8d]{font-size:12.5px}.relax-grid[data-v-cac31d8d]{display:flex;flex-direction:column;gap:3px}.relax-row[data-v-cac31d8d]{display:flex;gap:10px;align-items:baseline;font-size:12px}.relax-n[data-v-cac31d8d]{font-weight:700;min-width:48px;text-align:right;font-variant-numeric:tabular-nums}.relax-l[data-v-cac31d8d]{color:var(--color-text-muted)}.relax-warn .relax-n[data-v-cac31d8d],.relax-warn .relax-l[data-v-cac31d8d]{color:var(--color-warn)}.hint[data-v-cac31d8d]{font-size:12px;color:var(--color-text-muted)}.warn-hint[data-v-cac31d8d]{color:var(--color-warn)}.fold[data-v-cac31d8d]{border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.fold-toggle[data-v-cac31d8d]{width:100%;text-align:left;background:var(--color-bg-surface-alt);border:none;color:var(--color-text-default);font-size:12.5px;padding:8px 10px;cursor:pointer}.fold-body[data-v-cac31d8d]{padding:8px 10px;display:flex;flex-direction:column;gap:6px}.chip-wrap[data-v-cac31d8d]{flex-direction:row;flex-wrap:wrap;gap:4px}.chip[data-v-cac31d8d]{font-size:11.5px;padding:2px 8px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg-surface);color:var(--color-text-muted)}.skip-row[data-v-cac31d8d]{display:flex;gap:8px;font-size:12.5px;align-items:baseline}.skip-n[data-v-cac31d8d]{font-weight:700;min-width:40px;text-align:right}.skip-reason[data-v-cac31d8d]{color:var(--color-text-muted)}.modal-header .heading h2[data-v-96fa4a73]{margin-bottom:2px}.subtitle[data-v-96fa4a73]{margin-bottom:1rem}.subtitle[data-v-96fa4a73],.muted[data-v-96fa4a73]{font-size:12px;color:var(--color-text-muted)}.body[data-v-96fa4a73]{display:flex;flex-direction:column;gap:12px;font-size:13px}.capture-row[data-v-96fa4a73]{display:flex;gap:8px;align-items:center}.text-input[data-v-96fa4a73]{flex:1;background:var(--color-bg-surface-alt);color:var(--color-text-default);border:1px solid var(--color-border);border-radius:6px;padding:6px 10px;font-size:13px}.text-input.small[data-v-96fa4a73]{padding:2px 6px;font-size:12px}.hidden-file[data-v-96fa4a73]{display:none}.error[data-v-96fa4a73]{color:var(--color-danger);font-size:12px}.empty[data-v-96fa4a73]{color:var(--color-text-muted);padding:16px 0;text-align:center}.bl-table[data-v-96fa4a73]{width:100%;border-collapse:collapse;font-size:12.5px}.bl-table th[data-v-96fa4a73]{text-align:left;font-weight:600;color:var(--color-text-muted);padding:4px 6px;border-bottom:1px solid var(--color-border)}.bl-table td[data-v-96fa4a73]{padding:6px;border-bottom:1px solid var(--color-border);vertical-align:top}.bl-table tr.active td[data-v-96fa4a73]{background:var(--color-bg-surface-alt)}.bl-table tr.auto .bl-name[data-v-96fa4a73]{color:var(--color-text-muted)}.num[data-v-96fa4a73]{text-align:right}.bl-name[data-v-96fa4a73]{cursor:text}.notes[data-v-96fa4a73]{font-size:11px;color:var(--color-text-muted)}.tag[data-v-96fa4a73]{display:inline-block;margin-left:6px;font-size:10px;padding:1px 5px;border-radius:4px;border:1px solid var(--color-border);color:var(--color-text-muted);vertical-align:middle}.tag.latest[data-v-96fa4a73]{border-color:var(--color-accent);color:var(--color-accent)}.actions[data-v-96fa4a73]{white-space:nowrap;text-align:right}.btn-mini[data-v-96fa4a73]{background:var(--color-bg-surface-alt);border:1px solid var(--color-border);color:var(--color-text-default);border-radius:5px;padding:3px 8px;font-size:11.5px;cursor:pointer;margin-left:4px}.btn-mini[data-v-96fa4a73]:hover:not(:disabled){border-color:var(--color-text-faint)}.btn-mini.on[data-v-96fa4a73]{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.btn-mini.danger[data-v-96fa4a73]:hover:not(:disabled){color:var(--color-danger);border-color:var(--color-danger)}.btn-mini[data-v-96fa4a73]:disabled{opacity:.5;cursor:default}.btn-link[data-v-96fa4a73]{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:11.5px;padding:0 4px}.btn-plain[data-v-96fa4a73]{background:var(--color-bg-surface-alt);border:1px solid var(--color-border);color:var(--color-text-default);border-radius:6px;padding:7px 14px;font-size:13px;cursor:pointer}.btn-primary[data-v-96fa4a73]{background:var(--color-accent);border:1px solid var(--color-accent);color:#fff;border-radius:6px;padding:7px 14px;font-size:13px;cursor:pointer}.btn-primary.danger[data-v-96fa4a73]{background:var(--color-danger);border-color:var(--color-danger)}.btn-primary[data-v-96fa4a73]:disabled,.btn-plain[data-v-96fa4a73]:disabled{opacity:.55;cursor:default}.section-title[data-v-96fa4a73]{font-weight:600;font-size:14px;display:flex;gap:8px;align-items:baseline}.section-title.small[data-v-96fa4a73]{font-size:12.5px}.stat-grid[data-v-96fa4a73]{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.stat[data-v-96fa4a73]{border:1px solid var(--color-border);border-radius:8px;padding:8px 10px;text-align:center}.stat-n[data-v-96fa4a73]{font-size:20px;font-weight:700}.stat-l[data-v-96fa4a73]{font-size:11px;color:var(--color-text-muted)}.hint[data-v-96fa4a73]{font-size:12px;color:var(--color-text-muted);line-height:1.4}.hint.warn[data-v-96fa4a73]{color:var(--color-warn)}.check-row[data-v-96fa4a73]{display:flex;gap:8px;align-items:center;cursor:pointer}.orphan-list[data-v-96fa4a73]{max-height:220px;overflow-y:auto;border:1px solid var(--color-border);border-radius:6px}.orphan-row[data-v-96fa4a73]{display:flex;gap:8px;align-items:center;padding:4px 8px;border-bottom:1px solid var(--color-border);cursor:pointer}.orphan-row[data-v-96fa4a73]:last-child{border-bottom:none}.orphan-name[data-v-96fa4a73]{flex:1}.orphan-verdict[data-v-96fa4a73]{font-size:11px;font-weight:600}.orphan-verdict.del[data-v-96fa4a73]{color:var(--color-danger)}.orphan-verdict.keep[data-v-96fa4a73]{color:var(--color-success)}.done-banner[data-v-96fa4a73]{background:var(--color-tint-green);color:var(--color-tint-green-text);border:1px solid var(--color-tint-green-border);border-radius:6px;padding:8px 12px}.body[data-v-f50d3dc0]{display:flex;flex-direction:column;gap:10px}.lede[data-v-f50d3dc0]{margin:0;font-size:.78rem;color:var(--color-text-muted);line-height:1.45}.panes[data-v-f50d3dc0]{display:grid;grid-template-columns:280px minmax(0,1fr);gap:14px;min-height:0;flex:1}.pane[data-v-f50d3dc0]{display:flex;flex-direction:column;gap:4px;min-height:0;min-width:0}.pane-title[data-v-f50d3dc0]{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-faint);margin-bottom:2px}.focus-note[data-v-f50d3dc0]{text-transform:none;letter-spacing:0;color:var(--color-text-muted);margin-left:6px}.link[data-v-f50d3dc0]{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:.68rem;padding:0}.dept-row[data-v-f50d3dc0]{display:flex;align-items:center;gap:4px;padding:3px 4px;border:1px solid transparent;border-radius:4px;cursor:pointer}.dept-row[data-v-f50d3dc0]:hover{background:var(--color-bg-hover)}.dept-row[data-active=true][data-v-f50d3dc0]{border-color:var(--color-accent);background:var(--color-tint-blue)}.dept-input[data-v-f50d3dc0]{flex:1;min-width:0;height:26px;padding:2px 7px;background:var(--color-input-bg);color:var(--color-input-text);border:1px solid var(--color-input-border);border-radius:4px;font-size:.78rem;outline:none}.dept-input[data-v-f50d3dc0]:focus{border-color:var(--color-accent)}.dept-other[data-v-f50d3dc0]{flex:1;padding:0 8px;font-size:.78rem;color:var(--color-text-muted);font-style:italic}.dept-count[data-v-f50d3dc0]{min-width:28px;text-align:right;font-size:.7rem;font-family:ui-monospace,monospace;color:var(--color-text-faint)}.mv[data-v-f50d3dc0]{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:3px;font-size:.7rem;width:20px;height:20px;padding:0;cursor:pointer}.mv[data-v-f50d3dc0]:hover:not(:disabled){background:var(--color-btn-secondary-bg);color:var(--color-text-primary)}.mv[data-v-f50d3dc0]:disabled{opacity:.3;cursor:not-allowed}.mv-del[data-v-f50d3dc0]{color:var(--color-danger)}.dept-add[data-v-f50d3dc0]{display:flex;gap:4px;margin-top:6px}.btn-small[data-v-f50d3dc0]{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:.74rem;cursor:pointer}.btn-small[data-v-f50d3dc0]:hover{background:var(--color-btn-secondary-hover)}.filter[data-v-f50d3dc0]{flex:0 0 auto;margin-bottom:4px}.name-list[data-v-f50d3dc0]{overflow-y:auto;overflow-x:hidden;min-height:200px;max-height:52vh;border:1px solid var(--color-border-light);border-radius:4px}.name-row[data-v-f50d3dc0]{display:flex;align-items:center;gap:8px;padding:3px 8px;border-bottom:1px solid var(--color-border-light);font-size:.76rem}.name-row[data-v-f50d3dc0]:last-child{border-bottom:none}.name-label[data-v-f50d3dc0]{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-text-default)}.name-meta[data-v-f50d3dc0]{flex:0 0 auto;font-size:.66rem;font-family:ui-monospace,monospace;color:var(--color-text-faint);white-space:nowrap}.tag-new[data-v-f50d3dc0]{font-size:.6rem;color:var(--color-tint-green-text);border:1px solid var(--color-tint-green-border);border-radius:3px;padding:0 4px}.dept-select[data-v-f50d3dc0]{flex:0 0 140px;width:140px;height:24px;background:var(--color-input-bg);color:var(--color-input-text);border:1px solid var(--color-input-border);border-radius:4px;font-size:.74rem}.empty[data-v-f50d3dc0]{padding:12px;font-size:.74rem;color:var(--color-text-faint);font-style:italic}.btn-left[data-v-f50d3dc0]{margin-right:auto}.hsheet[data-v-9593b8b3]{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}.sheet-container[data-v-9593b8b3]{flex:1;min-width:0;overflow:auto}.sheet-grid[data-v-9593b8b3]{position:relative;display:flex;flex-direction:column;width:max-content;min-width:max(100%,var(--sheet-min-width, 0px))}.grid-header[data-v-9593b8b3],.grid-row[data-v-9593b8b3]{display:flex;align-items:stretch;border-bottom:1px solid var(--color-border-light)}.grid-header[data-v-9593b8b3]{position:sticky;top:0;z-index:5;height:30px;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}.grid-filter[data-v-9593b8b3]{display:flex;align-items:stretch;position:sticky;top:30px;z-index:4;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border)}.row-list[data-v-9593b8b3]{list-style:none;margin:0;padding:0}.row-spacer[data-v-9593b8b3]{flex:0 0 auto}.virt-note[data-v-9593b8b3]{margin-left:auto;color:var(--color-text-faint);font-size:.7rem;font-family:Inter,sans-serif}.grid-row[data-v-9593b8b3]{font-size:.78rem;background:var(--color-bg-page)}.grid-row[data-v-9593b8b3]:hover{background:var(--color-bg-hover)}.grid-row[data-parent=true]>.col-name[data-v-9593b8b3-s],.grid-row[data-parent=true] .col-name[data-v-9593b8b3-s]>input.name-input{font-weight:600}.grid-row[data-dragging=true][data-v-9593b8b3]{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-9593b8b3]{opacity:.7;background:#3b82f60f!important}.grid-row[data-selected=true][data-v-9593b8b3]{outline:1px solid var(--color-accent);outline-offset:-1px}.grid-row[data-selected=true]>.col-handle[data-v-9593b8b3]{background:var(--color-accent);color:#fff}.grid-row[data-cut=true][data-v-9593b8b3]{opacity:.45;outline:1px dashed var(--color-accent);outline-offset:-1px}.col-handle[data-v-9593b8b3]{width:28px;flex:0 0 auto;display:flex;align-items:center;justify-content:center;cursor:grab;touch-action:none;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-9593b8b3]:hover{color:var(--color-text-muted);background:#ffffff12}.col-handle[data-v-9593b8b3]:active{cursor:grabbing}.handle-grip[data-v-9593b8b3]{font-size:.85rem;line-height:1;letter-spacing:-2px;font-family:ui-monospace,monospace}.grid-header .col.col-handle[data-v-9593b8b3]{background:#ffffff0d;cursor:default;border-right:1px solid var(--color-border)}.col-handle-actions[data-v-9593b8b3]{overflow:visible;position:relative;z-index:6}.handle-actions[data-v-9593b8b3]{position:absolute;left:100%;top:50%;transform:translateY(-50%);display:none;align-items:center;gap:1px;padding:2px 3px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:4px;box-shadow:0 2px 8px #00000059;z-index:20}.col-handle-actions:hover .handle-actions[data-v-9593b8b3]{display:flex}.ha-btn[data-v-9593b8b3]{background:transparent;color:var(--color-text-muted);border:1px solid transparent;border-radius:3px;font-size:.8rem;line-height:1;width:18px;height:18px;padding:0;cursor:pointer;font-family:ui-monospace,monospace;display:flex;align-items:center;justify-content:center}.ha-btn[data-v-9593b8b3]:hover:not(:disabled){background:var(--color-btn-secondary-bg);color:var(--color-text-primary);border-color:var(--color-border)}.ha-btn[data-v-9593b8b3]:disabled{opacity:.3;cursor:not-allowed}.ha-btn.ha-add[data-v-9593b8b3]{color:var(--color-success);font-size:1rem}.ha-btn.ha-add[data-v-9593b8b3]:hover:not(:disabled){background:color-mix(in srgb,var(--color-success) 18%,transparent);color:var(--color-success)}.ha-btn.ha-del[data-v-9593b8b3]{color:var(--color-danger);font-size:.95rem}.ha-btn.ha-del[data-v-9593b8b3]:hover:not(:disabled){background:var(--color-tint-red);color:var(--color-tint-red-text)}.fold-toolbar[data-v-9593b8b3]{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;flex-wrap:wrap;row-gap:4px}.btn-fold-all[data-v-9593b8b3]{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-9593b8b3]:hover{color:var(--color-text-default);border-color:var(--color-text-faint);background:var(--color-bg-surface)}.fold-icon[data-v-9593b8b3]{font-size:.85rem;line-height:1}.fold-sep[data-v-9593b8b3]{color:var(--color-text-faint);font-size:.68rem;font-family:Inter,sans-serif;text-transform:lowercase;letter-spacing:.02em;margin-left:2px}.btn-level[data-v-9593b8b3]:disabled{opacity:.35;cursor:default}.btn-level[data-v-9593b8b3]{background:transparent;color:var(--color-text-faint);border:1px solid var(--color-border);border-radius:4px;font-size:.72rem;line-height:1;min-width:22px;padding:4px 6px;cursor:pointer;font-family:ui-monospace,monospace;transition:color .15s,border-color .15s,background .15s}.btn-level[data-v-9593b8b3]:hover{color:var(--color-text-default);border-color:var(--color-text-faint);background:var(--color-bg-surface)}.btn-fold-all.btn-fold-active[data-v-9593b8b3],.btn-level.btn-fold-active[data-v-9593b8b3]{color:var(--color-accent);border-color:var(--color-accent);background:var(--color-tint-blue)}.col-row[data-v-9593b8b3]{width:36px;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)}.grid-header .col-row[data-v-9593b8b3]{color:var(--color-text-muted);border-right:1px solid var(--color-border)}.row-num[data-v-9593b8b3]{font-size:.7rem;color:var(--color-text-faint);font-family:ui-monospace,monospace;min-width:14px;text-align:center}.col-depth[data-v-9593b8b3]{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-9593b8b3]{border-right:1px solid var(--color-border)}.depth-controls[data-v-9593b8b3]{display:flex;align-items:center;gap:1px}.btn-depth[data-v-9593b8b3]{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-9593b8b3]:hover:not(:disabled){background:var(--color-btn-secondary-bg);color:var(--color-text-default)}.btn-depth[data-v-9593b8b3]:disabled{opacity:.3;cursor:not-allowed}.depth-val[data-v-9593b8b3]{font-size:.7rem;color:var(--color-text-muted);font-family:ui-monospace,monospace;min-width:16px;text-align:center}.drop-parent-connector[data-v-9593b8b3]{position:absolute;width:2px;background:var(--color-accent-hover);pointer-events:none;z-index:4;opacity:.9}.drop-insert-bar[data-v-9593b8b3]{position:absolute;right:0;height:2px;background:var(--color-accent-hover);pointer-events:none;z-index:4;box-shadow:0 0 6px color-mix(in srgb,var(--color-accent-hover) 60%,transparent)}.drop-insert-bar[data-v-9593b8b3]:before{content:"";position:absolute;left:-3px;top:-3px;width:8px;height:8px;border-radius:50%;background:var(--color-accent-hover)}.grid-row[data-drop-parent=true][data-v-9593b8b3]{background:var(--color-tint-blue)!important;box-shadow:inset 0 0 0 1px var(--color-accent-hover)}.paste-insert-bar[data-v-9593b8b3]{animation:hsheet-paste-pulse-9593b8b3 1.2s ease-in-out infinite}@keyframes hsheet-paste-pulse-9593b8b3{50%{opacity:.45}}.drop-insert-bar[data-invalid=true][data-v-9593b8b3],.drop-insert-bar[data-invalid=true][data-v-9593b8b3]:before{background:var(--color-danger);box-shadow:none}.drag-ghost[data-v-9593b8b3]{position:fixed;z-index:1000;pointer-events:none;display:flex;flex-direction:column;gap:2px;max-width:320px;padding:4px 8px;background:var(--color-bg-surface);border:1px solid var(--color-accent);border-radius:4px;box-shadow:0 4px 14px #00000047;font-family:Inter,sans-serif;font-size:.74rem;color:var(--color-text-default)}.drag-ghost[data-invalid=true][data-v-9593b8b3]{border-color:var(--color-danger)}.dg-label[data-v-9593b8b3]{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dg-reason[data-v-9593b8b3]{font-size:.68rem;color:var(--color-tint-red-text)}.sheet-footer[data-v-9593b8b3]{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-row,.hsheet .col.col-handle-actions{overflow:visible}.hsheet .grid-header .col{padding:0 6px;min-height:0;height:100%;border-right:1px solid var(--color-border);white-space:nowrap;overflow:hidden;position:relative}.hsheet .col-resize{position:absolute;top:0;right:0;width:8px;height:100%;cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;z-index:2}.hsheet .col-resize:after{content:"";position:absolute;top:15%;bottom:15%;right:2px;width:2px;background:transparent;border-radius:1px}.hsheet .col-resize:hover:after{background:var(--color-accent)}body.sheet-col-resizing{cursor:col-resize;-webkit-user-select:none;user-select:none}body.hsheet-dragging,body.hsheet-dragging *{cursor:grabbing!important;-webkit-user-select:none;user-select:none}body.hsheet-dragging .hsheet .handle-actions{display:none!important}.hsheet .grid-filter .col{min-height:0;padding:2px 4px;border-right:1px solid var(--color-border-light);overflow:visible}.hsheet .filter-input{width:100%;height:20px;padding:1px 5px;background:var(--color-input-bg);color:var(--color-input-text);border:1px solid var(--color-input-border);border-radius:3px;font-size:.68rem;font-family:inherit;box-sizing:border-box;outline:none}.hsheet .filter-input:focus{border-color:var(--color-accent)}.hsheet .filter-input::placeholder{color:var(--color-text-faint);font-style:italic}.hsheet .filter-select{cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:16px;background-image:linear-gradient(45deg,transparent 50%,var(--color-text-faint) 50%),linear-gradient(135deg,var(--color-text-faint) 50%,transparent 50%);background-position:calc(100% - 9px) 8px,calc(100% - 5px) 8px;background-size:4px 4px,4px 4px;background-repeat:no-repeat}.hsheet .filter-date-stack{display:flex;flex-direction:column;gap:2px;width:100%}.hsheet .filter-date-stack .filter-input{height:16px;font-size:.6rem;padding:0 2px}.hsheet .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}.hsheet .cell-input:focus{background:var(--color-bg-surface);outline:1px solid var(--color-accent);outline-offset:-1px}.hsheet .cell-input::placeholder{color:var(--color-text-faint);font-style:italic}.hsheet .cell-input:disabled{color:var(--color-text-muted);cursor:not-allowed}.hsheet .num-input{text-align:right;padding-right:17px}.hsheet .num-input::-webkit-inner-spin-button,.hsheet .num-input::-webkit-outer-spin-button{opacity:0;margin:0}.hsheet .num-input:hover::-webkit-inner-spin-button,.hsheet .num-input:focus::-webkit-inner-spin-button{opacity:1}.hsheet .name-input{font-family:Inter,sans-serif}.hsheet select.cell-input{cursor:pointer;padding:3px 2px}.hsheet select.cell-input option{background:var(--color-bg-surface);color:var(--color-text-default)}.hsheet .date-input.date-anchor{color:var(--color-anchor-text);font-weight:600}.hsheet .cell-input.date-derived{color:var(--color-derived-text);font-style:italic}.hsheet .date-input.date-unanchored{color:var(--color-text-faint);font-style:italic}.hsheet .date-input.date-adjusted{text-decoration:underline dotted var(--color-adjusted-line);text-underline-offset:3px}.hsheet .date-mark{position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:.7rem;line-height:1;color:var(--color-adjusted-line);pointer-events:none;-webkit-user-select:none;user-select:none}.hsheet .date-input.date-adjusted{padding-right:30px}.hsheet .date-input.date-stale{opacity:.55}.hsheet .cell-input.alert-late{background:var(--color-break-fill);color:var(--color-break-text);border-radius:3px}.hsheet .cell-input.alert-queued{background:var(--color-contend-fill);color:var(--color-contend-text);border-radius:3px}.hsheet .cell-input.alert-overdue{background:var(--color-overdue-cell);color:var(--color-overdue-cell-text);border-radius:3px}.hsheet .cell-input.trace-source{box-shadow:inset 0 0 0 2px var(--color-trace-line);border-radius:3px}.hsheet .grid-row.trace-target{background:var(--color-trace-fill)!important;box-shadow:inset 3px 0 0 0 var(--color-trace-line)}.hsheet .successor-display{display:flex;flex-wrap:nowrap;gap:4px;padding:4px;align-items:center;overflow:hidden;width:100%}.hsheet .col-succ.succ-expanded{overflow:visible;position:relative;z-index:40}.hsheet .col-succ.succ-expanded .successor-display{position:absolute;top:0;left:0;min-width:100%;max-width:320px;flex-wrap:wrap;overflow:visible;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:4px;box-shadow:0 4px 14px #00000047}.hsheet .succ-more{flex:0 0 auto;padding:0 5px;border:1px solid var(--color-border);border-radius:3px;background:var(--color-bg-surface-alt);color:var(--color-text-muted);font-size:.65rem;line-height:1.5;cursor:pointer}.hsheet .succ-more:hover{background:var(--color-btn-secondary-hover);color:var(--color-text-primary)}.hsheet .succ-chip{flex:0 0 auto;background:var(--color-bg-surface-alt);color:var(--color-text-default);padding:1px 6px;border-radius:3px;font-size:.7rem;white-space:nowrap;line-height:1.3}.hsheet .succ-chip sub{font-size:.6rem;color:var(--color-text-muted);margin-left:2px;vertical-align:baseline}.hsheet .succ-chip.succ-conflict{background:var(--color-tint-red);color:var(--color-tint-red-text)}.hsheet .succ-chip.succ-conflict sub{color:var(--color-tint-red-text)}.hsheet .succ-chip.succ-overrun{background:var(--color-tint-yellow);color:var(--color-tint-yellow-text)}.hsheet .succ-chip.succ-overrun sub{color:var(--color-tint-yellow-text)}.hsheet .succ-chip.succ-implied{background:#a78bfa2e;color:#a78bfa}.hsheet .succ-chip.succ-implied sub{color:#a78bfa}.hsheet .succ-chip-link{cursor:pointer}.hsheet .succ-chip-link:hover{background:var(--color-btn-secondary-hover);color:var(--color-text-primary)}.hsheet .btn-row{padding:3px 8px;border-radius:3px;font-size:.7rem;cursor:pointer;border:none;font-family:Inter,sans-serif;margin:0 2px}.hsheet .btn-save{background:var(--color-success);color:#fff}.hsheet .btn-save:hover{filter:brightness(.85)}.hsheet .btn-save:disabled{opacity:.5;cursor:not-allowed}.hsheet .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}.hsheet .btn-del:hover{background:var(--color-tint-red);color:var(--color-tint-red-text)}.hsheet .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}.hsheet .btn-resources:hover{background:var(--color-btn-secondary-hover)}.hsheet .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;font-family:Inter,sans-serif}.hsheet .btn-footer-add:hover{background:var(--color-btn-secondary-bg);color:var(--color-text-primary)}.hsheet .btn-footer-template{color:#a78bfa;border-color:#7c3aed}.hsheet .btn-footer-template:hover{background:#7c3aed;color:#fff}@keyframes hsheet-row-flash{0%{box-shadow:inset 0 0 0 9999px #3b82f661}to{box-shadow:inset 0 0 0 9999px #3b82f600}}.hsheet .grid-row.row-highlight{animation:hsheet-row-flash 1.6s ease-out forwards}.hsheet .grid-row.row-called-out{outline:2px solid var(--color-accent);outline-offset:-2px;position:relative;z-index:3}.hsheet .name-cell-inner{display:flex;align-items:center;width:100%;height:100%;position:relative;padding-left:0}.hsheet .tree-spacer{flex:0 0 auto;min-width:4px}.hsheet .tree-line{position:absolute;width:1px;background:var(--color-border);pointer-events:none}.hsheet .tree-line-full{top:0;bottom:0}.hsheet .tree-line-corner{top:0;bottom:50%}.hsheet .tree-line-corner:after{content:"";position:absolute;bottom:0;left:0;width:8px;height:1px;background:var(--color-border)}.hsheet .tree-line-tee{top:0;bottom:0}.hsheet .tree-line-tee:after{content:"";position:absolute;top:50%;left:0;width:8px;height:1px;background:var(--color-border)}.hsheet .tree-line-down{top:50%;bottom:0}.hsheet .btn-fold{background:transparent;color:var(--color-text-faint);border:1px solid var(--color-border);border-radius:3px;font-size:.72rem;line-height:1;width:14px;height:14px;min-width:14px;padding:0;cursor:pointer;font-family:ui-monospace,monospace;display:flex;align-items:center;justify-content:center;flex:0 0 auto;margin-right:4px;position:relative;z-index:1}.hsheet .btn-fold:hover:not(.btn-fold-hidden){background:var(--color-btn-secondary-bg);color:var(--color-text-primary);border-color:var(--color-text-faint)}.hsheet .btn-fold-hidden{visibility:hidden;pointer-events:none}.hsheet .name-cell-inner .name-input{flex:1;min-width:0}.project-hover-card[data-v-4883e766]{position:fixed;z-index:9999;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 4px 16px #0000002e;min-width:220px;max-width:300px;font-family:Inter,sans-serif;font-size:.78rem;pointer-events:auto;animation:phc-fade-in-4883e766 .1s ease}@keyframes phc-fade-in-4883e766{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.pt-header[data-v-4883e766]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px 6px;border-bottom:1px solid var(--color-border)}.pt-so-link[data-v-4883e766]{font-weight:600;color:var(--color-accent);text-decoration:none;font-size:.82rem}.pt-so-link[data-v-4883e766]:hover{text-decoration:underline}.pt-so-plain[data-v-4883e766]{font-weight:600;color:var(--color-text-primary);font-size:.82rem}.pt-bc-link[data-v-4883e766]{font-size:.7rem;color:var(--color-text-muted);text-decoration:none;padding:2px 5px;border:1px solid var(--color-border);border-radius:3px;white-space:nowrap;flex-shrink:0}.pt-bc-link[data-v-4883e766]:hover{color:var(--color-text-primary);border-color:var(--color-text-faint);background:var(--color-btn-secondary-hover)}.pt-body[data-v-4883e766]{padding:6px 10px 8px;display:flex;flex-direction:column;gap:3px}.pt-row[data-v-4883e766]{display:flex;gap:8px;align-items:baseline}.pt-label[data-v-4883e766]{flex:0 0 82px;color:var(--color-text-faint);font-size:.7rem;text-transform:uppercase;letter-spacing:.02em}.pt-value[data-v-4883e766]{color:var(--color-text-default);font-size:.78rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.task-sheet-page[data-v-ec07f355]{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-ec07f355]{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;position:relative}.toolbar-left[data-v-ec07f355]{display:flex;align-items:center;gap:8px;font-family:Inter,sans-serif}.toolbar-left h2[data-v-ec07f355]{margin:0;font-size:1rem;font-weight:600}.toolbar-right[data-v-ec07f355]{display:flex;align-items:center;gap:12px}.back-link[data-v-ec07f355]{color:var(--color-accent-hover);text-decoration:none;font-size:.85rem}.back-link[data-v-ec07f355]:hover{text-decoration:underline}.sep[data-v-ec07f355]{color:var(--color-text-faint)}.task-count[data-v-ec07f355]{font-size:.8rem;color:var(--color-text-muted)}.btn-tool[data-v-ec07f355]{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-tool[data-v-ec07f355]:hover{background:var(--color-btn-secondary-hover)}.btn-tool[data-v-ec07f355]:disabled{opacity:.5;cursor:not-allowed}.btn-tool.btn-add[data-v-ec07f355]{background:var(--color-accent);border-color:var(--color-accent-hover);color:#fff}.btn-tool.btn-add[data-v-ec07f355]:hover{background:var(--color-accent-hover)}.project-prompt[data-v-ec07f355]{position:absolute;z-index:30;width:300px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 8px 24px #00000059;padding:10px;font-family:Inter,sans-serif;display:flex;flex-direction:column;gap:6px}.project-prompt-top[data-v-ec07f355]{top:100%;right:16px}.footer-add-wrap[data-v-ec07f355]{position:relative;display:inline-block}.project-prompt-bottom[data-v-ec07f355]{bottom:100%;left:0;margin-bottom:6px}.pp-label[data-v-ec07f355]{font-size:.65rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em}.pp-input[data-v-ec07f355]{height:32px;padding:4px 8px;background:var(--color-input-bg);color:var(--color-input-text);border:1px solid var(--color-input-border);border-radius:4px;font-size:.82rem;outline:none}.pp-input[data-v-ec07f355]:focus{border-color:var(--color-accent)}.pp-error[data-v-ec07f355]{color:var(--color-danger);font-size:.72rem}.pp-actions[data-v-ec07f355]{display:flex;justify-content:flex-end;gap:6px}.col-manager[data-v-ec07f355]{position:absolute;top:100%;right:16px;z-index:30;width:320px;max-height:60vh;overflow:auto;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 8px 24px #00000059;padding:10px;font-family:Inter,sans-serif}.cm-create[data-v-ec07f355]{display:flex;gap:6px;margin-bottom:8px}.cm-input[data-v-ec07f355]{flex:1;height:30px;padding:4px 8px;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}.cm-input[data-v-ec07f355]:focus{border-color:var(--color-accent)}.cm-error[data-v-ec07f355]{color:var(--color-danger);font-size:.72rem;margin-bottom:6px}.cm-list[data-v-ec07f355]{display:flex;flex-direction:column;gap:2px}.cm-item[data-v-ec07f355]{display:flex;align-items:center;gap:6px;padding:3px 4px;border-radius:4px;font-size:.78rem}.cm-item[data-v-ec07f355]:hover{background:var(--color-bg-hover)}.cm-item-hidden .cm-label[data-v-ec07f355]{color:var(--color-text-faint);text-decoration:line-through}.cm-label[data-v-ec07f355]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cm-tag[data-v-ec07f355]{font-size:.6rem;color:#a78bfa;border:1px solid #7c3aed;border-radius:3px;padding:0 4px}.cm-move[data-v-ec07f355],.cm-eye[data-v-ec07f355]{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:3px;font-size:.7rem;padding:1px 5px;cursor:pointer}.cm-move[data-v-ec07f355]:hover:not(:disabled),.cm-eye[data-v-ec07f355]:hover:not(:disabled){background:var(--color-btn-secondary-bg);color:var(--color-text-primary)}.cm-move[data-v-ec07f355]:disabled,.cm-eye[data-v-ec07f355]:disabled{opacity:.3;cursor:not-allowed}.template-bar[data-v-ec07f355]{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-shrink:0;font-family:Inter,sans-serif;flex-wrap:wrap}.template-bar .form-group-inline[data-v-ec07f355]{display:flex;flex-direction:column;gap:3px}.template-bar .form-group-inline label[data-v-ec07f355]{font-size:.65rem;color:var(--color-text-muted);text-transform:uppercase}.template-bar .bar-select[data-v-ec07f355]{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-ec07f355],.empty-state[data-v-ec07f355]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:.9rem}[data-v-ec07f355] .grid-row[data-new=true]{background:#22c55e12}[data-v-ec07f355] .grid-row[data-dirty=true]{background:var(--color-tint-blue)}[data-v-ec07f355] .grid-row[data-ghost=true]{opacity:.7;background:repeating-linear-gradient(135deg,transparent,transparent 6px,var(--color-tint-red) 6px,var(--color-tint-red) 8px)}[data-v-ec07f355] .grid-row[data-ghost=true] .cell-input{pointer-events:none;text-decoration:line-through;color:var(--color-text-muted)}[data-v-ec07f355] .grid-row[data-alert=late],[data-v-ec07f355] .grid-row[data-alert=invalid]{background:var(--color-break-row)!important}[data-v-ec07f355] .grid-row[data-alert=queued]{background:var(--color-contend-row)!important}[data-v-ec07f355] .grid-row[data-alert=overdue]{background:var(--color-break-row-soft)!important;box-shadow:inset 3px 0 0 0 var(--color-break-line)}[data-v-ec07f355] .grid-row[data-alert-stale=true]{background-image:repeating-linear-gradient(45deg,transparent 0,transparent 5px,rgba(127,127,127,.14) 5px,rgba(127,127,127,.14) 10px)}.task-sheet-page .sheet-legend[data-v-ec07f355]{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:4px 12px;font-size:.67rem;color:var(--color-text-muted);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.task-sheet-page .btn-legend[data-v-ec07f355]{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:3px;font-size:.65rem;padding:1px 6px;cursor:pointer}.task-sheet-page .btn-legend[data-v-ec07f355]:hover{color:var(--color-text-primary)}.task-sheet-page .sheet-legend .lg[data-v-ec07f355]{display:inline-flex;align-items:center;gap:5px}.task-sheet-page .sheet-legend .sw[data-v-ec07f355]{display:inline-flex;align-items:center;justify-content:center;min-width:22px;height:15px;padding:0 3px;border-radius:3px;font-size:.65rem;font-style:normal;font-variant-numeric:tabular-nums}.task-sheet-page .sheet-legend .sw-anchor[data-v-ec07f355]{color:var(--color-anchor-text);font-weight:600}.task-sheet-page .sheet-legend .sw-derived[data-v-ec07f355]{color:var(--color-derived-text);font-style:italic}.task-sheet-page .sheet-legend .sw-adjusted[data-v-ec07f355]{color:var(--color-derived-text);font-style:italic;text-decoration:underline dotted var(--color-adjusted-line);text-underline-offset:2px}.task-sheet-page .sheet-legend .sw-late[data-v-ec07f355]{background:var(--color-break-fill)}.task-sheet-page .sheet-legend .sw-queued[data-v-ec07f355]{background:var(--color-contend-fill)}.task-sheet-page .sheet-legend .sw-overdue[data-v-ec07f355]{background:var(--color-overdue-cell);box-shadow:inset 2px 0 0 0 var(--color-break-line)}.task-sheet-page .trace-card[data-v-ec07f355]{position:fixed;z-index:60;transform:translateY(-100%);width:max-content;max-width:min(560px,92vw);padding:7px 10px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:5px;box-shadow:0 4px 14px #00000038;font-size:.7rem;display:grid;grid-template-columns:max-content 1fr;column-gap:10px;row-gap:4px;align-items:baseline}.task-sheet-page .trace-line[data-v-ec07f355]{display:contents}.task-sheet-page .trace-label[data-v-ec07f355]{font-size:.6rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-faint);text-align:right;white-space:nowrap}.task-sheet-page .trace-label-late[data-v-ec07f355]{color:var(--color-break-text)}.task-sheet-page .trace-label-queued[data-v-ec07f355]{color:var(--color-contend-text)}.task-sheet-page .trace-label-overdue[data-v-ec07f355]{color:var(--color-overdue-cell-text)}.task-sheet-page .trace-text[data-v-ec07f355]{font-variant-numeric:tabular-nums;color:var(--color-text-default);white-space:normal;min-width:0}.task-sheet-page .trace-row[data-v-ec07f355]{text-align:left;background:transparent;border:none;padding:0 3px;margin-left:-3px;border-radius:3px;color:var(--color-accent-hover);cursor:pointer;font-size:.7rem;font-variant-numeric:tabular-nums;white-space:normal;min-width:0}.task-sheet-page .trace-row[data-v-ec07f355]:hover{background:var(--color-bg-hover)}.placeholder[data-v-ec07f355]{color:var(--color-text-faint);font-style:italic;padding:0 8px}.placeholder-text[data-v-ec07f355]{font-size:.65rem;color:var(--color-text-muted);font-style:italic}.btn-save-all[data-v-ec07f355]{background:var(--color-accent);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-ec07f355]:hover:not(:disabled){background:var(--color-accent-hover)}.btn-save-all[data-v-ec07f355]:disabled{opacity:.6;cursor:not-allowed}.order-mode[data-v-ec07f355]{display:inline-flex;align-items:center;gap:5px}.om-label[data-v-ec07f355]{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-faint);font-family:Inter,sans-serif}.om-select[data-v-ec07f355]{height:29px;padding:3px 6px;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-om-gear[data-v-ec07f355]{padding:5px 8px;line-height:1}.btn-tool-on[data-v-ec07f355]{border-color:var(--color-accent);color:var(--color-accent)}.uncommitted-pill[data-v-ec07f355]{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:999px;border:1px solid var(--color-border);background:var(--color-bg-surface-alt);color:var(--color-text-default);font-size:.74rem;cursor:pointer;white-space:nowrap}.uncommitted-pill[data-v-ec07f355]:hover{border-color:var(--color-text-faint)}.uncommitted-pill .up-label[data-v-ec07f355]{color:var(--color-text-muted)}.uncommitted-pill .up-later[data-v-ec07f355]{color:var(--color-danger);font-weight:600}.uncommitted-pill .up-earlier[data-v-ec07f355]{color:var(--color-success);font-weight:600}.uncommitted-pill .up-added[data-v-ec07f355]{color:var(--color-tint-green-text)}.uncommitted-pill .up-removed[data-v-ec07f355]{color:var(--color-tint-red-text)}.uncommitted-pill .up-changed[data-v-ec07f355]{color:var(--color-tint-yellow-text)}.uncommitted-pill .up-replanned[data-v-ec07f355]{color:var(--color-text-muted);font-style:italic}.uncommitted-pill .up-none[data-v-ec07f355]{color:var(--color-text-faint)}.uncommitted-stale[data-v-ec07f355]{opacity:.55;background:repeating-linear-gradient(135deg,transparent,transparent 4px,var(--color-border) 4px,var(--color-border) 5px)}.task-sheet-page .col-name.bl-added[data-v-ec07f355]{background:var(--color-tint-green);box-shadow:inset 3px 0 0 var(--color-tint-green-border)}.task-sheet-page .col-name.bl-removed[data-v-ec07f355]{background:var(--color-tint-red);box-shadow:inset 3px 0 0 var(--color-tint-red-border)}.task-sheet-page .col-name.bl-changed[data-v-ec07f355]{background:var(--color-tint-yellow);box-shadow:inset 3px 0 0 var(--color-warn-soft)}.task-sheet-page .col-name.bl-moved[data-v-ec07f355]{box-shadow:inset 3px 0 0 var(--color-warn-soft)}.task-sheet-page .col-baseline[data-v-ec07f355]{justify-content:center;text-align:center}.bl-glyph[data-v-ec07f355]{font-weight:700;font-size:.8rem;cursor:help}.bl-glyph-added[data-v-ec07f355]{color:var(--color-tint-green-text)}.bl-glyph-removed[data-v-ec07f355]{color:var(--color-tint-red-text)}.bl-glyph-changed[data-v-ec07f355],.bl-glyph-moved[data-v-ec07f355]{color:var(--color-tint-yellow-text)}.col-baseline-date[data-v-ec07f355],.col-slip[data-v-ec07f355]{color:var(--color-text-muted);font-family:ui-monospace,monospace;font-size:.74rem}.col-baseline-date .bl-same[data-v-ec07f355]{color:var(--color-text-faint)}.col-slip.slip-later[data-v-ec07f355]{color:var(--color-danger);font-weight:600}.col-slip.slip-earlier[data-v-ec07f355]{color:var(--color-success);font-weight:600}.global-error[data-v-ec07f355]{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{padding:0 6px;color:var(--color-text-muted);justify-content:flex-end;position:relative;overflow:visible}.new-project-select{font-size:.66rem;width:100%;min-width:0}.task-id-num{font-size:.7rem;font-family:ui-monospace,monospace;color:var(--color-text-muted)}.task-id-link{color:var(--color-accent);text-decoration:none;cursor:pointer}.task-id-link:hover{text-decoration:underline}.task-id-new{font-size:.62rem;font-style:italic;color:var(--color-success);text-transform:uppercase;letter-spacing:.04em}.project-hover-area{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .12s;pointer-events:none}.task-sheet-page .col-id:hover .project-hover-area{opacity:1;pointer-events:auto}.task-sheet-page .col-id:hover .task-id-num{opacity:0}.project-jump-btn{display:flex;align-items:center;justify-content:center;width:22px;height:22px;background:var(--color-bg-surface);color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:4px;font-size:.75rem;text-decoration:none;cursor:pointer;transition:background .1s,color .1s;line-height:1}.project-jump-btn:hover{background:var(--color-btn-secondary-hover);color:var(--color-text-primary);border-color:var(--color-text-faint)}.task-sheet-page .col-name{overflow:visible;padding:0}.task-sheet-page .so-prefix{flex:0 0 auto;color:var(--color-text-faint);font-family:ui-monospace,monospace;font-size:.72rem;white-space:nowrap;-webkit-user-select:none;user-select:none;padding-left:2px;margin-right:4px;cursor:help}.task-sheet-page .so-prefix:hover{color:var(--color-accent)}.task-sheet-page .name-cell-inner .name-input{min-width:0}.task-sheet-page .col-row{justify-content:flex-end;padding:0 8px;color:var(--color-text-faint);font-family:ui-monospace,monospace;font-size:.7rem;-webkit-user-select:none;user-select:none}.task-sheet-page .col-parent{justify-content:center;color:var(--color-text-muted);font-size:.72rem}.task-sheet-page .parent-chip{cursor:pointer;padding:1px 6px;border-radius:3px;background:var(--color-bg-surface-alt);color:var(--color-text-default);font-family:ui-monospace,monospace;font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.task-sheet-page .parent-chip:hover{background:var(--color-btn-secondary-hover);color:var(--color-text-primary)}.task-sheet-page .col-pred{position:relative;overflow:visible}.task-sheet-page .grid-header .col-pred,.task-sheet-page .grid-filter .col-pred{overflow:hidden}.task-sheet-page .col-so-ro{color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;padding:0 8px;font-size:.72rem}.task-sheet-page .col-pct .pct-rollup{position:relative;display:flex;align-items:center;justify-content:flex-end;width:100%;height:100%;padding-right:4px;cursor:default;-webkit-user-select:none;user-select:none}.task-sheet-page .col-pct .pct-val{color:var(--color-text-muted);font-family:ui-monospace,monospace;font-size:.72rem}.task-sheet-page .pct-complete-btn{position:absolute;top:2px;right:2px;bottom:2px;left:2px;display:none;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:3px;background:var(--color-bg-surface-alt);color:var(--color-text-default);font-size:.65rem;line-height:1;cursor:pointer}.task-sheet-page .col-pct:hover .pct-complete-btn{display:flex}.task-sheet-page .col-pct:hover .pct-val{visibility:hidden}.task-sheet-page .pct-complete-btn:hover{background:var(--color-tint-green);color:var(--color-tint-green-text);border-color:var(--color-tint-green-border)}.task-sheet-page .so-unapproved{color:var(--color-text-faint);font-style:italic}.task-sheet-page .col-so-amt{color:var(--color-text-muted);padding:0 8px;font-size:.72rem;justify-content:flex-end}.task-sheet-page .clip-hint{font-family:Inter,sans-serif;font-size:.68rem;color:var(--color-accent);border:1px solid var(--color-accent);border-radius:3px;padding:1px 7px;white-space:nowrap}.task-sheet-page .preset-group{display:flex;align-items:center;gap:3px;flex-shrink:0}.task-sheet-page .btn-preset-sep{margin-left:6px;border-left-width:2px}.task-sheet-page .preset-label{font-size:.65rem;color:var(--color-text-faint);text-transform:uppercase;letter-spacing:.04em;margin-right:2px}.task-sheet-page .btn-preset{background:var(--color-bg-surface-alt);border:1px solid var(--color-btn-secondary-border);color:var(--color-text-muted);font-size:.68rem;padding:2px 8px;border-radius:3px;cursor:pointer;white-space:nowrap}.task-sheet-page .btn-preset:hover{color:var(--color-text-primary);border-color:var(--color-text-muted)}.task-sheet-page .btn-preset-active{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.task-sheet-page .succ-chip.succ-binding{border-color:var(--color-break-line);color:var(--color-break-text);font-weight:600}.task-sheet-page .succ-chip.succ-break{border-color:var(--color-break-line);color:var(--color-break-text);background:var(--color-break-fill)}.task-sheet-page .succ-chip.succ-contend{border-color:var(--color-contend-line);color:var(--color-contend-text);background:var(--color-contend-fill)}.task-sheet-page .col-respred.alert-queued{background:var(--color-contend-fill)}.task-sheet-page .respred-span{font-size:.68rem;font-variant-numeric:tabular-nums;color:var(--color-text-muted);white-space:nowrap;cursor:help;margin-right:4px}.task-sheet-page .col-respred.alert-queued .respred-span{color:var(--color-contend-text);font-weight:600}.task-sheet-page .respred-display{display:flex;align-items:center;gap:4px;flex-wrap:nowrap;overflow:hidden}.task-sheet-page .respred-chip{display:inline-flex;align-items:baseline;gap:2px;padding:1px 5px;border-radius:3px;font-size:.7rem;white-space:nowrap;max-width:140px;overflow:hidden;text-overflow:ellipsis;cursor:pointer;background:var(--color-bg-surface-alt);color:var(--color-text-muted);border:1px solid transparent}.task-sheet-page .respred-chip:hover{color:var(--color-text-primary);border-color:var(--color-btn-secondary-border)}.task-sheet-page .respred-chip sub{font-size:.6rem;opacity:.75;bottom:0}.task-sheet-page .respred-blocking{background:var(--color-tint-orange);color:var(--color-warn-soft)}.task-sheet-page .respred-stale{opacity:.55;font-style:italic}.task-sheet-page .btn-queue-jump{background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;padding:0 3px;font-size:.8rem;line-height:1;flex-shrink:0}.task-sheet-page .btn-queue-jump:hover{color:var(--color-accent-hover)}.task-sheet-page .col-resources{justify-content:center}.task-sheet-page .col-actions{width:90px;padding:4px;justify-content:center}.task-sheet-page .col-sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.task-sheet-page .col-sortable:hover{color:var(--color-text-primary)}.task-sheet-page .sort-arrow{margin-left:4px;font-size:.6rem;color:var(--color-accent)}.task-sheet-page .date-cell{position:relative;width:100%;display:flex;align-items:center}.task-sheet-page .date-cell .date-input{padding-right:20px}.task-sheet-page .date-picker{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:18px;min-width:18px;height:20px;padding:0;margin:0;border:none;background:transparent;cursor:pointer;overflow:hidden}.task-sheet-page .date-picker::-webkit-datetime-edit,.task-sheet-page .date-picker::-webkit-inner-spin-button,.task-sheet-page .date-picker::-webkit-clear-button{display:none;-webkit-appearance:none}.task-sheet-page .date-picker::-webkit-calendar-picker-indicator{position:absolute;right:0;top:0;margin:0;padding:0;width:18px;height:100%;opacity:.4;cursor:pointer}.task-sheet-page .date-picker:hover::-webkit-calendar-picker-indicator{opacity:.85}.task-sheet-page .btn-clear-filters{background:transparent;color:var(--color-text-muted);border:1px solid var(--color-border);font-size:.7rem;padding:1px 6px}.task-sheet-page .btn-clear-filters:hover{color:var(--color-danger);border-color:var(--color-tint-red-border)}.task-sheet-page .pred-input.pred-auto{color:#a78bfa;outline:1px solid #7c3aed;outline-offset:-1px;border-radius:3px}.task-sheet-page .pred-dropdown{position:absolute;top:100%;left:0;min-width:280px;max-width:420px;max-height:260px;overflow:auto;z-index:25;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:4px;box-shadow:0 8px 24px #00000059;font-family:Inter,sans-serif}.task-sheet-page .pred-entry{display:flex;align-items:center;gap:6px;padding:3px 8px;font-size:.74rem;cursor:pointer;white-space:nowrap}.task-sheet-page .pred-entry:hover{background:var(--color-bg-hover)}.task-sheet-page .pred-entry-selected{background:var(--color-tint-blue)}.task-sheet-page .pred-entry-dim .pred-entry-name{color:var(--color-text-muted)}.task-sheet-page .pred-entry-disabled{opacity:.45;cursor:not-allowed}.task-sheet-page .pred-check{width:12px;color:var(--color-success);font-size:.7rem;flex:0 0 auto}.task-sheet-page .pred-entry-name{overflow:hidden;text-overflow:ellipsis}.task-sheet-page .pred-entry-proj{color:var(--color-text-faint);font-size:.65rem}.task-sheet-page .pred-entry-id{margin-left:auto;color:var(--color-text-faint);font-size:.65rem;font-family:ui-monospace,monospace}.modal-header .heading h2[data-v-1a7279ad]{margin-bottom:2px}.subtitle[data-v-1a7279ad]{font-size:.75rem;color:var(--color-text-muted);margin-bottom:1rem}.tabs[data-v-1a7279ad]{display:flex;gap:2px;border-bottom:1px solid var(--color-border)}.tabs button[data-v-1a7279ad]{border:none;background:transparent;color:var(--color-text-muted);padding:9px 14px;font-size:.8rem;cursor:pointer;border-bottom:2px solid transparent}.tabs button.active[data-v-1a7279ad]{color:var(--color-text-primary);border-bottom-color:var(--color-accent)}.body[data-v-1a7279ad]{padding-top:16px}.loading[data-v-1a7279ad]{font-size:.8rem;color:var(--color-text-muted)}.section-label[data-v-1a7279ad]{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-faint);margin:12px 0 6px;display:flex;align-items:center;gap:12px}.section-label[data-v-1a7279ad]:first-child{margin-top:0}.pending-block[data-v-1a7279ad]{margin-bottom:6px}.pending-row[data-v-1a7279ad]{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:.78rem;background:var(--color-tint-yellow);color:var(--color-warn-soft);border-left:3px solid var(--color-warn);border-radius:3px;padding:6px 10px;margin-bottom:4px}.days-hint[data-v-1a7279ad]{margin-bottom:8px}.day-grid[data-v-1a7279ad]{display:flex;flex-direction:column;gap:4px}.day-row[data-v-1a7279ad]{display:flex;align-items:flex-start;gap:10px}.day-name[data-v-1a7279ad]{min-width:90px;font-size:.78rem;padding-top:6px;color:var(--color-text-default)}.day-name.off[data-v-1a7279ad]{color:var(--color-text-faint)}.day-shifts[data-v-1a7279ad]{display:flex;flex-wrap:wrap;align-items:center;gap:6px}.shift-pair[data-v-1a7279ad]{display:inline-flex;align-items:center;gap:4px;background:var(--color-bg-surface-alt);border:1px solid var(--color-btn-secondary-border);border-radius:4px;padding:2px 6px}.overnight-tag[data-v-1a7279ad]{font-size:.62rem;font-weight:600;color:var(--color-text-muted);background:var(--color-bg-page);border-radius:3px;padding:1px 4px}.dash[data-v-1a7279ad]{color:var(--color-text-muted)}.input[data-v-1a7279ad]{padding:5px 8px;background:var(--color-input-bg);color:var(--color-input-text);border:1px solid var(--color-input-border);border-radius:4px;font-size:.78rem}.input.time[data-v-1a7279ad]{border:none;background:transparent;padding:2px 0;width:78px}.input.grow[data-v-1a7279ad]{flex:1}.input[data-v-1a7279ad]:focus{outline:none;border-color:var(--color-accent-hover)}.btn-mini[data-v-1a7279ad]{border:1px solid var(--color-btn-secondary-border);background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border-radius:4px;padding:4px 8px;font-size:.72rem;cursor:pointer}.btn-mini[data-v-1a7279ad]:hover{background:var(--color-btn-secondary-hover)}.btn-mini[data-v-1a7279ad]:disabled{opacity:.5;cursor:not-allowed}.btn-mini-danger[data-v-1a7279ad]{border:1px solid var(--color-tint-red-border);background:transparent;color:var(--color-tint-red-text);border-radius:4px;padding:3px 8px;font-size:.7rem;cursor:pointer}.btn-mini-danger[data-v-1a7279ad]:hover{background:var(--color-tint-red)}.btn-x[data-v-1a7279ad]{border:none;background:transparent;color:var(--color-text-muted);font-size:1rem;line-height:1;cursor:pointer;padding:0 2px}.btn-x[data-v-1a7279ad]:hover{color:var(--color-tint-red-text)}.apply-row[data-v-1a7279ad]{display:flex;align-items:center;gap:10px;margin-top:12px}.apply-row label[data-v-1a7279ad]{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;min-width:90px}.hint[data-v-1a7279ad]{font-size:.7rem;color:var(--color-text-muted)}.check-label[data-v-1a7279ad]{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--color-text-default);cursor:pointer;text-transform:none;letter-spacing:normal}.check-label.inline[data-v-1a7279ad]{font-size:.68rem;color:var(--color-text-muted)}.propagate-block[data-v-1a7279ad]{margin:12px 0 4px;padding:10px 12px;background:var(--color-tint-blue);border:1px solid var(--color-tint-blue-border);border-radius:5px}.propagate-head[data-v-1a7279ad]{display:flex;align-items:flex-start;justify-content:space-between;gap:8px;font-size:.78rem;color:var(--color-tint-blue-text);margin-bottom:8px}.propagate-actions[data-v-1a7279ad]{display:flex;align-items:center;gap:6px;margin-bottom:6px}.propagate-list[data-v-1a7279ad]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:2px 12px;max-height:180px;overflow:auto;padding:4px 0}.propagate-list .check-label[data-v-1a7279ad]{font-size:.75rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.propagate-foot[data-v-1a7279ad]{display:flex;justify-content:flex-end;gap:6px;margin-top:8px}.btn-mini.strong[data-v-1a7279ad]{border-color:var(--color-accent);background:var(--color-accent);color:#fff;font-weight:600}.btn-mini.strong[data-v-1a7279ad]:hover{filter:brightness(.9);background:var(--color-accent)}.holiday-add[data-v-1a7279ad]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.holiday-list[data-v-1a7279ad]{max-height:300px;overflow:auto;border:1px solid var(--color-border);border-radius:5px;padding:4px 0}.holiday-row[data-v-1a7279ad]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 12px}.holiday-row[data-v-1a7279ad]:hover{background:var(--color-bg-hover)}.holiday-text[data-v-1a7279ad]{display:flex;align-items:baseline;gap:10px;min-width:0}.holiday-name[data-v-1a7279ad]{font-size:.78rem;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.holiday-when[data-v-1a7279ad]{font-size:.7rem;color:var(--color-text-muted);white-space:nowrap}.scheduling-page[data-v-247b9ae5]{height:100%;display:flex;flex-direction:column;background:var(--color-bg-page);color:var(--color-text-default)}.toolbar[data-v-247b9ae5]{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-247b9ae5]{display:flex;align-items:center;gap:16px}.toolbar-left h2[data-v-247b9ae5]{margin:0;font-size:1rem;font-weight:600}.toolbar-right[data-v-247b9ae5]{display:flex;align-items:center;gap:16px;font-size:.8rem;color:var(--color-text-muted)}.btn-refresh[data-v-247b9ae5]{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-247b9ae5]:hover{background:var(--color-btn-secondary-hover)}.btn-refresh[data-v-247b9ae5]:disabled{opacity:.5;cursor:not-allowed}.loading-state[data-v-247b9ae5],.empty-state[data-v-247b9ae5]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:.9rem}.empty-state a[data-v-247b9ae5]{color:var(--color-accent-hover)}.content[data-v-247b9ae5]{flex:1;display:flex;flex-direction:column;overflow:hidden}.project-list[data-v-247b9ae5]{flex:1;overflow:auto}.project-table[data-v-247b9ae5]{width:100%;border-collapse:collapse;font-size:.8rem}.project-table th[data-v-247b9ae5]{position:sticky;top:0;background:var(--color-table-header-bg);padding:8px 12px;text-align:left;color:var(--color-table-header-text);font-weight:600;border-bottom:2px solid var(--color-btn-secondary-border);white-space:nowrap}.project-table td[data-v-247b9ae5]{padding:8px 12px;border-bottom:1px solid var(--color-border);white-space:nowrap}.project-row[data-v-247b9ae5]{cursor:pointer}.project-row[data-v-247b9ae5]:hover{background:var(--color-bg-hover)}.name-cell[data-v-247b9ae5]{font-weight:600;color:var(--color-text-primary)}.color-dot[data-v-247b9ae5]{width:10px;height:10px;border-radius:50%;display:inline-block;vertical-align:middle;margin-right:8px}.count-cell[data-v-247b9ae5]{text-align:center}.progress-bar-container[data-v-247b9ae5]{position:relative;width:80px;height:16px;background:var(--color-bg-surface-alt);border-radius:3px;overflow:hidden;display:inline-block}.progress-bar-fill[data-v-247b9ae5]{position:absolute;top:0;left:0;height:100%;background:#059669;border-radius:3px;transition:width .3s}.progress-text[data-v-247b9ae5]{position:relative;z-index:1;font-size:.65rem;color:#fff;text-shadow:0 0 3px rgba(0,0,0,.7);line-height:16px;padding:0 4px}.status-badge[data-v-247b9ae5]{padding:2px 8px;border-radius:3px;font-size:.7rem;font-weight:600;text-transform:uppercase}.status-badge.active[data-v-247b9ae5]{background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.status-badge.complete[data-v-247b9ae5]{background:var(--color-tint-green);color:var(--color-tint-green-text)}.status-badge.on_hold[data-v-247b9ae5]{background:var(--color-tint-yellow);color:var(--color-tint-yellow-text)}.so-page[data-v-7f662736]{height:100%;display:flex;flex-direction:column;background:var(--color-bg-page);color:var(--color-text-default)}.toolbar[data-v-7f662736]{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-7f662736]{display:flex;align-items:center;gap:16px}.toolbar-left h2[data-v-7f662736]{margin:0;font-size:1rem;font-weight:600}.toolbar-right[data-v-7f662736]{font-size:.8rem;color:var(--color-text-muted)}.search-input[data-v-7f662736]{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-7f662736]::placeholder{color:var(--color-text-muted)}.filter-check[data-v-7f662736]{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-7f662736]{cursor:pointer;accent-color:var(--color-accent)}.table-container[data-v-7f662736]{flex:1;overflow:auto;--grid-header-font-size: .75rem;--grid-cell-padding: .5rem .75rem;--grid-cell-cursor: default}.so-no[data-v-7f662736]{font-weight:600;color:var(--color-text-primary)}.so-link[data-v-7f662736]{color:var(--color-accent);text-decoration:none}.so-link[data-v-7f662736]:hover{text-decoration:underline}.item-no[data-v-7f662736]{font-family:monospace;font-size:.8rem;cursor:default}.cell-empty[data-v-7f662736]{color:var(--color-text-muted)}.amount[data-v-7f662736]{text-align:right;font-variant-numeric:tabular-nums}.status-badge[data-v-7f662736]{padding:2px 8px;border-radius:3px;font-size:.7rem;font-weight:600;text-transform:uppercase}.status-badge.open[data-v-7f662736]{background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.status-badge.released[data-v-7f662736]{background:var(--color-tint-green);color:var(--color-tint-green-text)}.status-badge.pending[data-v-7f662736]{background:var(--color-tint-yellow);color:var(--color-tint-yellow-text)}.btn-action[data-v-7f662736]{padding:3px 10px;border-radius:3px;font-size:.75rem;cursor:pointer;border:1px solid;white-space:nowrap}.btn-action[data-v-7f662736]:disabled{opacity:.5;cursor:not-allowed}.btn-open[data-v-7f662736]{background:var(--color-tint-green);color:var(--color-tint-green-text);border-color:var(--color-tint-green-border)}.btn-open[data-v-7f662736]:hover:not(:disabled){background:var(--color-success);color:#fff}.loading-state[data-v-7f662736]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.ps-wrap[data-v-feddc42f]{position:relative;display:inline-block}.ps-control[data-v-feddc42f]{width:8.5rem;max-width:100%;box-sizing:border-box;cursor:pointer}.ps-control[data-v-feddc42f]:focus{cursor:text}.ps-menu[data-v-feddc42f]{top:100%;left:0;margin-top:2px}.ps-menu-up[data-v-feddc42f]{top:auto;bottom:100%;margin:0 0 2px}.watch-toggle[data-v-8cc9d18e]{display:inline-flex;align-items:center;font-size:.85rem}.watch-link[data-v-8cc9d18e]{background:none;border:none;padding:.3rem .4rem;color:var(--color-accent);cursor:pointer;font:inherit}.watch-link[data-v-8cc9d18e]:hover{text-decoration:underline}.watch-link[data-v-8cc9d18e]:disabled{opacity:.6;cursor:default}.watching[data-v-8cc9d18e]{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-muted, #6b7280)}.watch-x[data-v-8cc9d18e]{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;padding:0;background:none;border:none;border-radius:3px;color:inherit;font-size:1rem;line-height:1;cursor:pointer}.watch-x[data-v-8cc9d18e]:hover{background:var(--color-danger, #dc2626);color:#fff}.watch-x[data-v-8cc9d18e]:disabled{opacity:.6;cursor:default}.comment-editor[data-v-f0251596]{position:relative;border:1px solid var(--color-input-border);border-radius:8px;background:var(--color-input-bg);color:var(--color-input-text);overflow:visible;transition:border-color .15s ease,box-shadow .15s ease}.comment-editor[data-v-f0251596]:focus-within{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-focus-ring)}.comment-editor-header[data-v-f0251596]{display:flex;align-items:center;flex-wrap:wrap;gap:2px;padding:5px 6px;background:var(--color-bg-surface-alt);border-bottom:1px solid var(--color-border);border-top-left-radius:7px;border-top-right-radius:7px}.ce-group[data-v-f0251596]{display:flex;align-items:center;gap:2px}.ce-divider[data-v-f0251596]{width:1px;align-self:stretch;margin:1px 5px;background:var(--color-text-faint);opacity:.55}.ce-btn[data-v-f0251596]{min-width:28px;height:28px;display:inline-flex;align-items:center;justify-content:center;border:none;background:none;color:var(--color-text-muted);cursor:pointer;border-radius:5px;padding:0 6px;font-size:.85rem;font-weight:600;line-height:1;transition:background .12s ease,color .12s ease}.ce-btn[data-v-f0251596]:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.ce-btn[data-v-f0251596]:disabled{opacity:.4;cursor:not-allowed}.ce-btn.is-active[data-v-f0251596]{background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.ce-bold[data-v-f0251596]{font-weight:700}.ce-italic[data-v-f0251596]{font-style:italic}.ce-strike[data-v-f0251596]{text-decoration:line-through}.ce-code[data-v-f0251596]{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.74rem}.ce-dropdown[data-v-f0251596]{position:relative;display:flex}.ce-dd-trigger[data-v-f0251596]{gap:3px;padding:0 5px}.ce-dd-label[data-v-f0251596]{font-size:.78rem;white-space:nowrap}.ce-dd-icon[data-v-f0251596]{font-size:.95rem}.ce-dd-caret[data-v-f0251596]{font-size:.58rem;opacity:.65}.ce-menu[data-v-f0251596]{position:absolute;top:calc(100% + 4px);left:0;z-index:20;min-width:156px;padding:4px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 6px 18px #00000029;display:flex;flex-direction:column;gap:1px}.ce-menu-item[data-v-f0251596]{display:flex;align-items:center;gap:6px;width:100%;text-align:left;border:none;background:none;color:var(--color-text-primary);cursor:pointer;border-radius:4px;padding:5px 8px;font-size:.82rem;font-weight:500;line-height:1.2}.ce-menu-item[data-v-f0251596]:hover{background:var(--color-bg-hover)}.ce-menu-item.is-active[data-v-f0251596]{background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.ce-mi-glyph[data-v-f0251596]{display:inline-flex;justify-content:center;min-width:1.1em;color:var(--color-text-muted);font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78em}.ce-mi-h1[data-v-f0251596]{font-size:1.05rem;font-weight:700}.ce-mi-h2[data-v-f0251596]{font-size:.95rem;font-weight:700}.ce-mi-h3[data-v-f0251596]{font-size:.85rem;font-weight:600}.ce-link-popover[data-v-f0251596],.ce-link-dialog[data-v-f0251596]{position:absolute;z-index:30;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 6px 18px #00000029;padding:4px 6px}.ce-link-popover[data-v-f0251596]{display:flex;align-items:center;gap:6px;max-width:300px;font-size:.78rem}.ce-lp-url[data-v-f0251596]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--color-accent);text-decoration:underline}.ce-lp-btn[data-v-f0251596]{flex-shrink:0;border:none;background:none;color:var(--color-text-muted);cursor:pointer;border-radius:4px;padding:2px 5px;font-size:.74rem;font-weight:600}.ce-lp-btn[data-v-f0251596]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.ce-link-dialog[data-v-f0251596]{display:flex;flex-direction:column;gap:5px;width:320px;max-width:calc(100% - 8px);padding:8px}.ce-ld-field[data-v-f0251596]{display:flex;align-items:center;gap:6px;font-size:.76rem;color:var(--color-text-muted)}.ce-ld-field span[data-v-f0251596]{width:2.4rem;flex-shrink:0}.ce-ld-field input[data-v-f0251596]{flex:1;min-width:0;border:1px solid var(--color-input-border);border-radius:4px;background:var(--color-input-bg);color:var(--color-input-text);padding:3px 6px;font-size:.8rem}.ce-ld-buttons[data-v-f0251596]{display:flex;justify-content:flex-end;gap:6px}.ce-ld-save[data-v-f0251596],.ce-ld-cancel[data-v-f0251596]{border-radius:4px;padding:3px 10px;font-size:.76rem;cursor:pointer}.ce-ld-save[data-v-f0251596]{border:none;background:var(--color-btn-primary);color:#fff}.ce-ld-save[data-v-f0251596]:disabled{opacity:.5;cursor:not-allowed}.ce-ld-cancel[data-v-f0251596]{border:1px solid var(--color-btn-secondary-border);background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text)}.comment-editor-body[data-v-f0251596] .comment-editor-content{min-height:4.5rem;max-height:16rem;overflow-y:auto;padding:10px 12px;outline:none;font-size:.88rem;line-height:1.5}.comment-editor-body[data-v-f0251596] .comment-editor-content p{margin:0 0 .4rem}.comment-editor-body[data-v-f0251596] .comment-editor-content p:last-child{margin-bottom:0}.comment-editor-body[data-v-f0251596] .comment-editor-content ul,.comment-editor-body[data-v-f0251596] .comment-editor-content ol{margin:.2rem 0;padding-left:1.2rem}.comment-editor-body[data-v-f0251596] .comment-editor-content ol{list-style-type:decimal}.comment-editor-body[data-v-f0251596] .comment-editor-content ol ol{list-style-type:lower-alpha}.comment-editor-body[data-v-f0251596] .comment-editor-content ol ol ol{list-style-type:lower-roman}.comment-editor-body[data-v-f0251596] .comment-editor-content ol ol ol ol{list-style-type:decimal}.comment-editor-body[data-v-f0251596] .comment-editor-content h1,.comment-editor-body[data-v-f0251596] .comment-editor-content h2,.comment-editor-body[data-v-f0251596] .comment-editor-content h3{margin:.4rem 0 .3rem;font-weight:600;line-height:1.25}.comment-editor-body[data-v-f0251596] .comment-editor-content h1{font-size:1.25em}.comment-editor-body[data-v-f0251596] .comment-editor-content h2{font-size:1.12em}.comment-editor-body[data-v-f0251596] .comment-editor-content h3{font-size:1em}.comment-editor-body[data-v-f0251596] .comment-editor-content blockquote{margin:.3rem 0;padding-left:.7rem;border-left:3px solid var(--color-border);color:var(--color-text-muted)}.comment-editor-body[data-v-f0251596] .comment-editor-content hr{border:none;border-top:1px solid var(--color-border);margin:.6rem 0}.comment-editor-body[data-v-f0251596] .comment-editor-content a{color:var(--color-accent);text-decoration:underline}.comment-editor-body[data-v-f0251596] .comment-editor-content code{background:var(--color-bg-surface-alt);border-radius:4px;padding:.05rem .3rem;font-size:.85em}.comment-editor-body[data-v-f0251596] .comment-editor-content pre{background:var(--color-bg-surface-alt);border-radius:6px;padding:.5rem .7rem;margin:.3rem 0;overflow-x:auto}.comment-editor-body[data-v-f0251596] .comment-editor-content pre code{background:none;padding:0;font-size:.82em}.comment-editor-body[data-v-f0251596] .mention{background:var(--color-tint-indigo);color:var(--color-tint-indigo-text);border-radius:4px;padding:0 3px;font-weight:500}.ce-attachments[data-v-f0251596]{list-style:none;margin:0;padding:6px 10px;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:4px}.ce-att[data-v-f0251596]{display:flex;align-items:center;gap:7px;font-size:.78rem}.ce-att.is-error[data-v-f0251596]{color:var(--color-danger)}.ce-att-icon[data-v-f0251596]{font-size:1rem}.ce-att-name[data-v-f0251596]{max-width:50%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--color-text-primary)}.ce-att-size[data-v-f0251596]{color:var(--color-text-muted);font-size:.72rem}.ce-att-bar[data-v-f0251596]{flex:1;height:4px;border-radius:2px;background:var(--color-bg-surface-alt);overflow:hidden}.ce-att-fill[data-v-f0251596]{display:block;height:100%;background:var(--color-accent);transition:width .15s ease}.ce-att-failed[data-v-f0251596]{font-size:.72rem;color:var(--color-danger)}.ce-att-x[data-v-f0251596]{margin-left:auto;border:none;background:none;color:var(--color-text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 2px}.ce-att-x[data-v-f0251596]:hover{color:var(--color-text-primary)}.comment-editor-footer[data-v-f0251596]{display:flex;align-items:center;gap:10px;padding:5px 10px 6px;border-top:1px solid var(--color-border)}.ce-attach-btn[data-v-f0251596]{flex-shrink:0;border:1px solid var(--color-border);background:var(--color-bg-surface-alt);color:var(--color-text-muted);border-radius:5px;padding:2px 8px;font-size:.74rem;cursor:pointer}.ce-attach-btn[data-v-f0251596]:hover:not(:disabled){background:var(--color-bg-hover);color:var(--color-text-primary)}.ce-attach-btn[data-v-f0251596]:disabled{opacity:.5;cursor:not-allowed}.ce-file-input[data-v-f0251596]{display:none}.ce-hint[data-v-f0251596]{font-size:.72rem;color:var(--color-text-faint)}.ce-hint kbd[data-v-f0251596]{background:var(--color-bg-surface-alt);border:1px solid var(--color-border);border-bottom-width:2px;border-radius:4px;padding:0 4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.66rem;color:var(--color-text-muted)}.ce-dropzone[data-v-f0251596]{position:absolute;top:0;right:0;bottom:0;left:0;z-index:10;display:flex;align-items:center;justify-content:center;border-radius:8px;border:2px dashed var(--color-accent);background:var(--color-focus-ring);color:var(--color-accent);font-size:.85rem;font-weight:600;pointer-events:none}.comment-quote[data-v-19557e85]{font-size:.78rem;line-height:1.3;margin-bottom:.3rem}.cq-link[data-v-19557e85],.cq-deleted[data-v-19557e85]{display:inline-flex;align-items:center;gap:4px;max-width:50%}.cq-link[data-v-19557e85]{border:none;background:none;padding:0;cursor:pointer;color:var(--color-accent);font:inherit;text-align:left}.cq-text[data-v-19557e85]{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cq-link:hover .cq-text[data-v-19557e85]{text-decoration:underline}.cq-mark[data-v-19557e85]{flex-shrink:0;color:var(--color-text-faint)}.cq-deleted[data-v-19557e85]{color:var(--color-text-muted);font-style:italic}.reactions[data-v-6c721ad0]{display:flex;flex-wrap:wrap;align-items:center;gap:4px;margin-top:.4rem}.reaction-pill[data-v-6c721ad0]{display:inline-flex;align-items:center;gap:3px;padding:1px 7px;height:22px;background:var(--color-bg-surface-alt);border:1px solid var(--color-border);border-radius:999px;cursor:pointer;font-size:.8rem;line-height:1;color:var(--color-text-default)}.reaction-pill[data-v-6c721ad0]:hover{border-color:var(--color-accent)}.reaction-pill.mine[data-v-6c721ad0]{background:color-mix(in srgb,var(--color-accent) 18%,transparent);border-color:var(--color-accent)}.re-count[data-v-6c721ad0]{font-size:.72rem;font-weight:600;color:var(--color-text-muted)}.reaction-pill.mine .re-count[data-v-6c721ad0]{color:var(--color-accent)}.reaction-add-wrap[data-v-6c721ad0]{position:relative;display:inline-flex}.reaction-add[data-v-6c721ad0]{display:inline-flex;align-items:center;height:22px;padding:0 6px;background:transparent;border:1px solid transparent;border-radius:999px;cursor:pointer;color:var(--color-text-faint);font-size:.85rem;line-height:1}.reaction-add[data-v-6c721ad0]:hover{background:var(--color-bg-surface-alt);border-color:var(--color-border);color:var(--color-text-muted)}.ra-plus[data-v-6c721ad0]{font-size:.7rem;margin-left:1px}.reaction-picker[data-v-6c721ad0]{position:absolute;bottom:calc(100% + 4px);left:0;display:flex;gap:2px;padding:4px;background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:8px;box-shadow:0 4px 14px #00000040;z-index:50}.reaction-choice[data-v-6c721ad0]{background:none;border:none;cursor:pointer;font-size:1.1rem;line-height:1;padding:3px 4px;border-radius:5px}.reaction-choice[data-v-6c721ad0]:hover{background:var(--color-bg-hover)}.attachment-list[data-v-4501f0ac]{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:4px}.attachment[data-v-4501f0ac]{display:flex;align-items:center;gap:8px;padding:4px 6px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-surface)}.att-thumb[data-v-4501f0ac]{flex-shrink:0;display:block;width:40px;height:40px;border-radius:4px;overflow:hidden;background:var(--color-bg-surface-alt)}.att-thumb img[data-v-4501f0ac]{width:100%;height:100%;object-fit:cover;display:block}.att-icon[data-v-4501f0ac]{flex-shrink:0;width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;font-size:1.3rem;background:var(--color-bg-surface-alt);border-radius:4px}.att-meta[data-v-4501f0ac]{min-width:0;flex:1;display:flex;flex-direction:column;line-height:1.25}.att-name[data-v-4501f0ac]{min-width:0;font-size:.82rem;color:var(--color-text-primary);text-decoration:none;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.att-name[data-v-4501f0ac]:hover{text-decoration:underline}.att-name-row[data-v-4501f0ac]{min-width:0;display:flex;align-items:center;gap:6px}.att-size[data-v-4501f0ac],.att-badge[data-v-4501f0ac]{font-size:.72rem;color:var(--color-text-muted)}.att-badge[data-v-4501f0ac]{flex-shrink:0;padding:0 4px;border:1px solid var(--color-border);border-radius:3px;line-height:1.3;letter-spacing:.02em}.att-action[data-v-4501f0ac],.att-remove[data-v-4501f0ac]{flex-shrink:0;width:26px;height:26px;display:inline-flex;align-items:center;justify-content:center;border-radius:5px;border:none;background:none;color:var(--color-text-muted);cursor:pointer;text-decoration:none;font-size:1rem}.att-action[data-v-4501f0ac]:hover,.att-remove[data-v-4501f0ac]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.compact .att-thumb[data-v-4501f0ac],.compact .att-icon[data-v-4501f0ac]{width:32px;height:32px;font-size:1.1rem}.comments-section .section-header[data-v-55a04915]{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:var(--color-bg-surface-alt);border-bottom:1px solid var(--color-border)}.header-controls[data-v-55a04915]{display:flex;align-items:center;gap:.5rem}.header-title[data-v-55a04915]{display:flex;align-items:baseline;gap:.6rem;min-width:0}.feed-summary[data-v-55a04915]{font-size:.75rem;color:var(--color-text-muted);white-space:nowrap}.view-toggle[data-v-55a04915]{display:inline-flex;border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.vt-option[data-v-55a04915]{padding:2px 10px;font-size:.75rem;background:var(--color-bg-surface);color:var(--color-text-muted);border:none;cursor:pointer}.vt-option+.vt-option[data-v-55a04915]{border-left:1px solid var(--color-border)}.vt-option.active[data-v-55a04915]{background:var(--color-accent);color:#fff}.comments-section .section-header h3[data-v-55a04915]{margin:0;font-size:.9rem;font-weight:600}.comments-body[data-v-55a04915]{padding:16px}.comments-section .comment-list[data-v-55a04915]{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.comment-list.thread[data-v-55a04915]{gap:.3rem}.comment-list.thread .comment-item[data-v-55a04915]:not(.comment-reply):not(:first-child){margin-top:.35rem}.comment-item[data-v-55a04915]{position:relative;border:1px solid var(--color-border);border-radius:6px;padding:.6rem .75rem;background:var(--color-bg-surface);color:var(--color-text-default);scroll-margin:80px;transition:box-shadow .15s ease,border-color .15s ease}.comment-list.thread .comment-item[data-v-55a04915]{padding-left:1.4rem}.comment-list.thread .comment-reply[data-v-55a04915]{margin-left:1.5rem}.collapse-toggle[data-v-55a04915]{position:absolute;left:.25rem;top:.55rem;width:1rem;height:1rem;padding:0;display:inline-flex;align-items:center;justify-content:center;background:none;border:none;cursor:pointer;color:var(--color-text-muted);font-size:.7rem;line-height:1;transition:transform .12s ease}.collapse-toggle.collapsed[data-v-55a04915]{transform:rotate(-90deg)}.collapsed-count[data-v-55a04915]{font-size:.72rem;color:var(--color-text-muted);font-style:italic}.comment-resolved-badge[data-v-55a04915]{display:inline-flex;align-items:center;gap:.2rem;font-size:.72rem;font-weight:600;color:var(--color-success, #1a7f5a);background:var(--color-tint-green, rgba(26, 127, 90, .12));border-radius:4px;padding:0 6px;white-space:nowrap}.comment-item.is-resolved-root[data-v-55a04915]{border-left:3px solid var(--color-success, #1a7f5a)}.comment-item.is-resolved-root .comment-body[data-v-55a04915]{opacity:.75}.comment-item[data-v-55a04915] .reactions{justify-content:flex-end}.comment-item.system-comment[data-v-55a04915]{padding:.35rem .75rem;background:var(--color-bg-surface-alt);border-color:transparent}.comment-item.status-superseded[data-v-55a04915]{opacity:.75}.system-row[data-v-55a04915]{display:flex;align-items:baseline;gap:.5rem;font-size:.8rem;min-width:0}.system-time[data-v-55a04915]{flex-shrink:0;min-width:3.4rem;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.system-source[data-v-55a04915]{flex-shrink:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.68rem;font-weight:600;letter-spacing:.03em;color:var(--color-text-muted);white-space:nowrap}.system-content[data-v-55a04915]{min-width:0;overflow-wrap:anywhere}.system-content[data-v-55a04915]>*+*{margin-left:.35rem}.system-subject[data-v-55a04915]{font-weight:600;color:var(--color-tint-blue-text);text-decoration:none;white-space:nowrap}.system-subject[data-v-55a04915]:hover{text-decoration:underline}.system-desc[data-v-55a04915]{color:var(--color-text-muted)}.system-note[data-v-55a04915] p{display:inline;margin:0}.system-note-old[data-v-55a04915]{text-decoration:line-through;color:var(--color-text-muted)}.system-author[data-v-55a04915]{color:var(--color-text-muted)}.system-superseded-tag[data-v-55a04915]{font-size:.68rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:4px;padding:0 5px;white-space:nowrap}.system-delta[data-v-55a04915]{font-size:.78rem;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.system-delta.is-slip[data-v-55a04915]{color:var(--color-danger)}.system-delta.is-gain[data-v-55a04915]{color:var(--color-success, #1a7f5a)}.system-tail[data-v-55a04915]{margin-left:auto;display:inline-flex;align-items:center;gap:.5rem;align-self:center;white-space:nowrap}.reminder-list[data-v-55a04915]{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-direction:column;gap:.2rem}.reminder-row[data-v-55a04915]{display:flex;align-items:baseline;gap:.45rem;font-size:.8rem;flex-wrap:wrap}.reminder-check[data-v-55a04915]{flex-shrink:0;width:1rem;height:1rem;padding:0;border:1px solid var(--color-border);border-radius:3px;background:var(--color-bg-surface);color:transparent;font-size:.7rem;line-height:1;cursor:pointer;align-self:center}.reminder-check[data-v-55a04915]:hover{border-color:var(--color-success, #1a7f5a)}.reminder-check.checked[data-v-55a04915]{color:#fff;background:var(--color-success, #1a7f5a);border-color:var(--color-success, #1a7f5a)}.reminder-check.checked[data-v-55a04915]:hover{opacity:.8}.reminder-body[data-v-55a04915]{color:var(--color-text-primary);min-width:0;overflow-wrap:anywhere}.reminder-owner[data-v-55a04915]{font-weight:600;color:var(--color-text-primary);white-space:nowrap}.reminder-due[data-v-55a04915]{color:var(--color-text-muted);white-space:nowrap;font-variant-numeric:tabular-nums}.reminder-row.is-late .reminder-due[data-v-55a04915]{color:var(--color-danger);font-weight:600}.reminder-row.is-done .reminder-body[data-v-55a04915],.reminder-row.is-done .reminder-owner[data-v-55a04915]{color:var(--color-text-muted);text-decoration:line-through}.reminder-edit-btn[data-v-55a04915],.reminder-edit-save[data-v-55a04915]{padding:0;border:none;background:none;font-size:.72rem;color:var(--color-text-muted);cursor:pointer}.reminder-edit-btn[data-v-55a04915]:hover,.reminder-edit-save[data-v-55a04915]:hover{color:var(--color-text-primary);text-decoration:underline}.reminder-edit-save[data-v-55a04915]{color:var(--color-accent)}.reminder-edit[data-v-55a04915]{display:inline-flex;align-items:center;gap:.35rem}.reminder-select[data-v-55a04915]{padding:1px 4px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-surface);color:var(--color-text-primary);font-size:.75rem;font-family:inherit;max-width:10rem}.remind-control[data-v-55a04915]{display:inline-flex;align-items:center;gap:.35rem;font-size:.8rem;color:var(--color-text-muted);cursor:pointer;white-space:nowrap}.remind-control.armed[data-v-55a04915]{color:var(--color-text-primary)}.remind-control input[data-v-55a04915]{margin:0}.action-list[data-v-55a04915]{margin-top:.4rem;border:1px solid var(--color-border);border-radius:6px;padding:.5rem .6rem;background:var(--color-bg-surface-alt)}.al-grid[data-v-55a04915]{display:grid;grid-template-columns:minmax(8rem,12rem) minmax(0,1fr) minmax(6rem,8rem) 1.4rem;gap:.3rem .5rem;align-items:center}.al-col-head[data-v-55a04915]{font-size:.68rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-muted)}.al-input[data-v-55a04915]{padding:2px 8px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-surface);color:var(--color-text-primary);font-size:.8rem;font-family:inherit;min-width:0}.al-remove[data-v-55a04915]{border:none;background:none;color:var(--color-text-muted);cursor:pointer;font-size:.95rem;padding:0;line-height:1}.al-remove[data-v-55a04915]:hover{color:var(--color-danger)}.al-foot[data-v-55a04915]{display:flex;gap:1rem;margin-top:.45rem}.al-link[data-v-55a04915]{border:none;background:none;padding:0;font-size:.78rem;color:var(--color-accent);cursor:pointer}.al-link[data-v-55a04915]:hover{text-decoration:underline}.al-summary[data-v-55a04915]{font-size:.78rem;color:var(--color-text-muted);white-space:nowrap}.comment-item.is-highlighted[data-v-55a04915]{border-color:var(--color-accent);box-shadow:0 0 0 2px var(--color-focus-ring)}.comment-meta[data-v-55a04915]{display:flex;align-items:center;gap:.5rem;font-size:.82rem;margin-bottom:.35rem}.comment-author[data-v-55a04915]{font-weight:600;color:var(--color-text-primary)}.comment-time[data-v-55a04915],.comment-edited[data-v-55a04915]{color:var(--color-text-muted)}.comment-menu-wrap[data-v-55a04915]{position:relative;display:flex}.meta-state[data-v-55a04915]{margin-left:auto;display:inline-flex;align-items:center;gap:.5rem;min-width:0}.comment-menu-btn[data-v-55a04915]{border:none;background:none;color:var(--color-text-muted);cursor:pointer;font-size:1.1rem;line-height:1;padding:0 4px;border-radius:5px}.comment-menu-btn[data-v-55a04915]:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.comment-menu[data-v-55a04915]{position:absolute;top:calc(100% + 4px);right:0;z-index:20;min-width:120px;padding:4px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:6px;box-shadow:0 6px 18px #00000029;display:flex;flex-direction:column;gap:1px}.cm-item[data-v-55a04915]{text-align:left;border:none;background:none;color:var(--color-text-primary);cursor:pointer;border-radius:4px;padding:5px 8px;font-size:.82rem}.cm-item[data-v-55a04915]:hover{background:var(--color-bg-hover)}.cm-item.danger[data-v-55a04915]{color:var(--color-danger)}.comment-link-copied[data-v-55a04915]{font-size:.72rem;color:var(--color-success, #1a7f5a);white-space:nowrap}.reply-banner[data-v-55a04915]{display:flex;align-items:center;gap:8px;margin-bottom:.4rem;padding:5px 8px;background:var(--color-bg-surface-alt);border:1px solid var(--color-border);border-radius:6px}.reply-banner-label[data-v-55a04915]{flex-shrink:0;font-size:.74rem;color:var(--color-text-muted)}.reply-banner-cancel[data-v-55a04915]{margin-left:auto;flex-shrink:0;border:none;background:none;color:var(--color-text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 2px}.reply-banner-cancel[data-v-55a04915]:hover{color:var(--color-text-primary)}.comment-deleted-body[data-v-55a04915]{color:var(--color-text-muted);font-style:italic;font-size:.85rem}.comment-body[data-v-55a04915] p{margin:0 0 .4rem}.comment-body[data-v-55a04915] p:last-child{margin-bottom:0}.comment-body[data-v-55a04915] ul,.comment-body[data-v-55a04915] ol{margin:.2rem 0;padding-left:1.2rem}.comment-body[data-v-55a04915] ol{list-style-type:decimal}.comment-body[data-v-55a04915] ol ol{list-style-type:lower-alpha}.comment-body[data-v-55a04915] ol ol ol{list-style-type:lower-roman}.comment-body[data-v-55a04915] ol ol ol ol{list-style-type:decimal}.comment-body[data-v-55a04915] h1,.comment-body[data-v-55a04915] h2,.comment-body[data-v-55a04915] h3{margin:.4rem 0 .3rem;font-weight:600;line-height:1.25}.comment-body[data-v-55a04915] h1{font-size:1.25em}.comment-body[data-v-55a04915] h2{font-size:1.12em}.comment-body[data-v-55a04915] h3{font-size:1em}.comment-body[data-v-55a04915] blockquote{margin:.3rem 0;padding-left:.7rem;border-left:3px solid var(--color-border);color:var(--color-text-muted)}.comment-body[data-v-55a04915] hr{border:none;border-top:1px solid var(--color-border);margin:.6rem 0}.comment-body[data-v-55a04915] a{color:var(--color-accent);text-decoration:underline}.comment-body[data-v-55a04915] code{background:var(--color-bg-surface-alt);border-radius:4px;padding:.05rem .3rem;font-size:.85em}.comment-body[data-v-55a04915] pre{background:var(--color-bg-surface-alt);border-radius:6px;padding:.5rem .7rem;margin:.3rem 0;overflow-x:auto}.comment-body[data-v-55a04915] pre code{background:none;padding:0;font-size:.82em}.comment-body[data-v-55a04915] [data-type=mention]{background:var(--color-tint-indigo);color:var(--color-tint-indigo-text);border-radius:4px;padding:0 3px;font-weight:500}.comment-composer[data-v-55a04915]{margin-top:1rem;padding-top:1rem;border-top:1px solid var(--color-border)}.typing-indicator[data-v-55a04915]{font-size:.75rem;font-style:italic;color:var(--color-text-muted);margin-bottom:.3rem}.comment-edit[data-v-55a04915]{margin-top:.75rem}.comment-composer-buttons[data-v-55a04915],.comment-edit-buttons[data-v-55a04915]{margin-top:.4rem;display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.comment-composer-buttons .remind-control[data-v-55a04915],.comment-composer-buttons .al-summary[data-v-55a04915]{margin-left:auto}.btn-submit[data-v-55a04915]{padding:6px 16px;background:var(--color-btn-primary);color:#fff;border:none;border-radius:4px;font-size:.8rem;cursor:pointer}.btn-submit[data-v-55a04915]:hover:not(:disabled){background:var(--color-btn-primary-hover)}.btn-submit[data-v-55a04915]:disabled{opacity:.5;cursor:not-allowed}.btn-cancel[data-v-55a04915]{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}.btn-cancel[data-v-55a04915]:hover{background:var(--color-btn-secondary-hover)}.comments-empty[data-v-55a04915],.comments-error[data-v-55a04915]{color:var(--color-text-muted);font-size:.88rem;padding:.5rem 0}.comments-error[data-v-55a04915]{color:var(--color-danger)}.bc-note[data-v-dbe37fb7]{padding:6px 8px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-surface);font-size:.82rem;line-height:1.3}.bc-note-title[data-v-dbe37fb7]{font-weight:600;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.bc-note-meta[data-v-dbe37fb7]{display:flex;gap:4px;font-size:.72rem;color:var(--color-text-muted)}.bc-note-body[data-v-dbe37fb7]{margin-top:4px;white-space:pre-wrap;overflow-wrap:anywhere;color:var(--color-text-primary)}.bc-note-body.clamped[data-v-dbe37fb7]{display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.bc-note-toggle[data-v-dbe37fb7]{margin-top:2px;padding:0;border:none;background:none;color:var(--color-accent);font-size:.72rem;cursor:pointer}.bc-note-toggle[data-v-dbe37fb7]:hover{text-decoration:underline}.attachments-section .section-header[data-v-16f12d68]{display:flex;align-items:center;padding:12px 16px;background:var(--color-bg-surface-alt);border-bottom:1px solid var(--color-border)}.attachments-section .section-header h3[data-v-16f12d68]{margin:0;font-size:.9rem;font-weight:600}.att-body[data-v-16f12d68]{padding:12px 16px}.att-empty[data-v-16f12d68]{color:var(--color-text-muted);font-size:.88rem}.att-error[data-v-16f12d68]{color:var(--color-danger)}.att-group-bc .att-empty[data-v-16f12d68]{padding:4px 6px}.att-group.att-empty[data-v-16f12d68]{padding:8px 6px}.bc-notes[data-v-16f12d68]{display:flex;flex-direction:column;gap:4px;margin:.4rem 0 0}.att-group[data-v-16f12d68]{border-top:1px solid var(--color-border);padding:6px 0}.att-group[data-v-16f12d68]:first-child{border-top:none;padding-top:0}.att-group-head[data-v-16f12d68]{width:100%;display:flex;align-items:center;gap:6px;padding:4px 6px;border:none;background:none;color:var(--color-text-primary);font-size:.84rem;font-weight:600;cursor:pointer;text-align:left}.att-group-head.static[data-v-16f12d68]{cursor:default}.att-group-head[data-v-16f12d68]:not(.static):hover{background:var(--color-bg-hover);border-radius:5px}.att-caret[data-v-16f12d68]{color:var(--color-text-muted);font-size:.7rem;width:.8rem}.att-count[data-v-16f12d68]{color:var(--color-text-muted);font-weight:500;font-size:.75rem}.mat-thermo[data-v-35d2de4f]{display:flex;flex-direction:column;gap:8px}.thermo-bar[data-v-35d2de4f]{display:flex;width:100%;height:22px;border-radius:5px;overflow:hidden;border:1px solid var(--color-border-light);background:var(--color-bg-surface)}.compact .thermo-bar[data-v-35d2de4f]{height:10px;border-radius:3px}.thermo-empty[data-v-35d2de4f]{flex:1;display:flex;align-items:center;justify-content:center;font-size:.6875rem;color:var(--color-text-secondary)}.thermo-seg[data-v-35d2de4f]{border:none;padding:0;margin:0;display:flex;align-items:center;justify-content:center;font-size:.6875rem;font-weight:600;cursor:pointer;transition:opacity .12s ease,filter .12s ease;min-width:3px;border-right:1px solid rgba(0,0,0,.08)}.thermo-seg[data-v-35d2de4f]:last-child{border-right:none}.thermo-seg.active[data-v-35d2de4f]{filter:brightness(.92) saturate(1.15);box-shadow:inset 0 0 0 2px #00000040}.thermo-seg.dim[data-v-35d2de4f]{opacity:.45}.compact .thermo-seg[data-v-35d2de4f]{cursor:default}.seg-count[data-v-35d2de4f]{pointer-events:none}.thermo-legend[data-v-35d2de4f]{display:flex;flex-wrap:wrap;gap:4px 12px}.legend-item[data-v-35d2de4f]{display:inline-flex;align-items:center;gap:5px;background:none;border:none;padding:2px 4px;border-radius:4px;cursor:pointer;font-size:.6875rem;color:var(--color-text-secondary)}.legend-item[data-v-35d2de4f]:hover{background:var(--color-bg-hover)}.legend-item.active[data-v-35d2de4f]{background:var(--color-bg-hover);color:var(--color-text-primary);font-weight:600}.legend-swatch[data-v-35d2de4f]{width:11px;height:11px;border-radius:2px;border:1px solid rgba(0,0,0,.15)}.legend-count[data-v-35d2de4f]{font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-text-primary)}.so-material-sheet[data-v-94aa6b1b]{width:100%;overflow-x:auto}.mat-grid[data-v-94aa6b1b]{min-width:max-content;border:1px solid var(--color-border-light);border-radius:6px;overflow:hidden}.mat-empty[data-v-94aa6b1b]{padding:16px;text-align:center;font-size:.75rem;color:var(--color-text-secondary)}.col-mat-item{width:120px;flex-shrink:0;font-family:SF Mono,Menlo,Consolas,monospace;font-size:.6875rem}.col-mat-desc{width:260px;flex-shrink:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-mat-vendor{width:150px;flex-shrink:0}.col-mat-buyer{width:110px;flex-shrink:0}.col-mat-qty{width:70px;flex-shrink:0}.col-mat-date{width:100px;flex-shrink:0}.col-mat-status{width:150px;flex-shrink:0;font-weight:600}.detail-page{padding:16px 20px;max-width:1200px;margin:0 auto}.detail-page .toolbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.detail-page .toolbar-left{display:flex;align-items:baseline;gap:8px;min-width:0}.detail-page .toolbar-left h2{margin:0;font-size:1.2rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.detail-page .toolbar-right{display:flex;gap:8px;flex-shrink:0}.detail-page .back-link{color:var(--color-accent);text-decoration:none;font-size:.9rem}.detail-page .back-link:hover{text-decoration:underline}.detail-page .sep{color:var(--color-text-faint)}.detail-page .customer-label{color:var(--color-text-muted);font-size:.85rem}.detail-page .btn-tool{padding:4px 12px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-surface);color:var(--color-text-primary);font-size:.8rem;cursor:pointer;text-decoration:none;white-space:nowrap}.detail-page .btn-tool:hover{background:var(--color-bg-surface-alt)}.detail-page .loading-state,.detail-page .error-state{padding:40px;text-align:center;color:var(--color-text-muted)}.detail-page .error-state{color:var(--color-tint-red-text, #c33)}.detail-page .section{margin-bottom:20px;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-surface);overflow:hidden}.detail-page .section-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--color-border)}.detail-page .section-header h3{margin:0;font-size:.95rem;display:flex;align-items:center;gap:8px}.detail-page .section-header.collapsible{cursor:pointer;-webkit-user-select:none;user-select:none}.detail-page .collapse-icon{color:var(--color-text-faint);font-size:.7rem}.detail-page .section-hint{font-size:.78rem;color:var(--color-text-faint)}.detail-page .field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:2px 24px;padding:10px 14px}.detail-page .field-row{display:flex;justify-content:space-between;gap:12px;padding:3px 0;font-size:.85rem}.detail-page .field-key{color:var(--color-text-muted)}.detail-page .field-value{text-align:right;word-break:break-word}.detail-page .table-wrap{overflow-x:auto}.detail-page .lines-table{width:100%;border-collapse:collapse;font-size:.82rem}.detail-page .lines-table th,.detail-page .lines-table td{padding:6px 10px;border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap}.detail-page .lines-table th{background:var(--color-bg-surface-alt);color:var(--color-text-muted);font-weight:600}.detail-page .lines-table .num{text-align:right}.detail-page .empty{padding:24px;text-align:center;color:var(--color-text-faint);font-size:.85rem}.detail-page .link{color:var(--color-accent);text-decoration:none}.detail-page .link:hover{text-decoration:underline}.detail-page .unmatched-chip{padding:1px 6px;border-radius:8px;background:var(--color-bg-surface-alt);color:var(--color-text-muted);font-size:.7rem}.so-detail-page[data-v-9b2164d9]{max-width:1440px}.so-layout[data-v-9b2164d9]{display:grid;grid-template-columns:185px minmax(0,1fr);gap:0 18px;align-items:start}.so-main[data-v-9b2164d9]{min-width:0;display:flex;flex-direction:column}.so-anchor[data-v-9b2164d9]{scroll-margin-top:72px}.so-sidenav[data-v-9b2164d9]{position:sticky;top:66px;display:flex;flex-direction:column;gap:2px;padding-top:4px;font-size:.82rem}.sn-head[data-v-9b2164d9]{padding:4px 8px 10px}.sn-so[data-v-9b2164d9]{font-size:1.05rem;font-weight:700;color:var(--color-text-primary)}.sn-link[data-v-9b2164d9]{display:flex;align-items:center;gap:6px;padding:5px 8px;border-radius:5px;color:var(--color-text-primary);text-decoration:none;font-weight:500}.sn-link[data-v-9b2164d9]:hover{background:var(--color-bg-hover)}.sn-label[data-v-9b2164d9]{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sn-badge[data-v-9b2164d9]{margin-left:auto;font-size:.68rem;font-weight:700;border-radius:8px;padding:0 6px;line-height:15px}.sn-badge+.sn-badge[data-v-9b2164d9]{margin-left:4px}.sn-badge-red[data-v-9b2164d9]{color:var(--color-danger);background:var(--color-tint-red, rgba(220, 38, 38, .12))}.sn-badge-amber[data-v-9b2164d9]{color:var(--color-tint-amber-text, #92400e);background:var(--color-tint-amber, rgba(245, 158, 11, .15))}.sn-links[data-v-9b2164d9]{margin-top:10px;padding:10px 8px 0;border-top:1px solid var(--color-border);display:flex;flex-direction:column;gap:5px;font-size:.78rem}.sn-links a[data-v-9b2164d9]{color:var(--color-accent);text-decoration:none}.sn-links a[data-v-9b2164d9]:hover{text-decoration:underline}@media (max-width: 980px){.so-layout[data-v-9b2164d9]{grid-template-columns:minmax(0,1fr)}.so-sidenav[data-v-9b2164d9]{display:none}}.overview-grid[data-v-9b2164d9]{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.ov-cell[data-v-9b2164d9]{padding:12px 16px;border-right:1px solid var(--color-border);min-width:0}.ov-cell[data-v-9b2164d9]:last-child{border-right:none}.ov-cell-status[data-v-9b2164d9]{background:var(--color-bg-surface-alt)}.ov-label[data-v-9b2164d9]{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em;margin-bottom:2px}.ov-title[data-v-9b2164d9]{font-size:.95rem;font-weight:600;color:var(--color-text-primary)}.ov-sub[data-v-9b2164d9]{font-size:.8rem;color:var(--color-text-muted)}.ov-money[data-v-9b2164d9]{margin-top:8px;font-size:.95rem;font-weight:600;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.ov-selects[data-v-9b2164d9]{display:flex;align-items:end;gap:8px;margin-top:6px;flex-wrap:wrap}.ov-selects label[data-v-9b2164d9]{display:flex;flex-direction:column;gap:2px;font-size:.7rem;color:var(--color-text-muted)}.ov-select[data-v-9b2164d9]{padding:2px 4px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-surface);color:var(--color-text-primary);font-size:.78rem;max-width:9.5rem}.ov-dates[data-v-9b2164d9]{display:flex;gap:14px;margin-top:8px;font-size:.82rem;color:var(--color-text-primary);font-variant-numeric:tabular-nums;flex-wrap:wrap}.ov-k[data-v-9b2164d9]{font-size:.72rem;color:var(--color-text-muted)}.ov-progress[data-v-9b2164d9]{display:flex;align-items:center;gap:8px;margin-top:8px}.ov-progress-bar[data-v-9b2164d9]{flex:1;height:5px;border-radius:3px;background:var(--color-bg-surface-alt);overflow:hidden}.ov-progress-fill[data-v-9b2164d9]{height:100%;background:var(--color-accent)}.ov-team[data-v-9b2164d9]{display:grid;grid-template-columns:auto minmax(0,1fr);gap:3px 10px;margin-top:4px;font-size:.82rem;color:var(--color-text-primary);align-items:baseline}.ov-team a[data-v-9b2164d9]{color:var(--color-accent);text-decoration:none}.ov-person[data-v-9b2164d9]{align-self:center}.ov-person[data-v-9b2164d9] .ps-control{width:100%;font-size:.82rem;padding:1px 4px;background:transparent;border:1px solid transparent;border-radius:4px;color:var(--color-text-primary)}.ov-person[data-v-9b2164d9] .ps-control:hover,.ov-person[data-v-9b2164d9] .ps-control:focus{border-color:var(--color-border);background:var(--color-bg-surface)}.ov-team a[data-v-9b2164d9]:hover{text-decoration:underline}.bc-fields[data-v-9b2164d9]{border-top:1px solid var(--color-border);padding:6px 16px 10px}.bc-fields-bar[data-v-9b2164d9]{display:flex;align-items:center;justify-content:space-between;gap:8px}.bc-fields-toggle[data-v-9b2164d9]{border:none;background:none;padding:4px 0;font-size:.78rem;color:var(--color-text-muted);cursor:pointer}.bc-fields-toggle[data-v-9b2164d9]:hover{color:var(--color-text-primary)}.kd-table[data-v-9b2164d9]{width:100%;border-collapse:collapse;font-size:.85rem}.kd-table th[data-v-9b2164d9]{text-align:left;padding:6px 16px;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.kd-table td[data-v-9b2164d9]{padding:5px 16px;border-bottom:1px solid var(--color-border-soft, var(--color-border))}.kd-name[data-v-9b2164d9]{font-weight:600;color:var(--color-text-primary);width:40%}.kd-name-inner[data-v-9b2164d9]{display:flex;align-items:center;gap:8px}.kd-check[data-v-9b2164d9]{margin:0}.kd-check-spacer[data-v-9b2164d9]{display:inline-block;width:13px;flex-shrink:0}.kd-muted .kd-name[data-v-9b2164d9]{font-weight:400;color:var(--color-text-muted)}.kd-date[data-v-9b2164d9]{font-variant-numeric:tabular-nums;color:var(--color-text-primary);white-space:nowrap}.kd-late[data-v-9b2164d9]{color:var(--color-danger);font-weight:600}.kd-contend[data-v-9b2164d9]{color:var(--color-tint-amber-text, #92400e);font-weight:600}.kd-task-link[data-v-9b2164d9]{cursor:pointer;text-decoration:underline;text-decoration-style:dotted;text-underline-offset:2px}.kd-task-link[data-v-9b2164d9]:hover{color:var(--color-accent-hover)}.kd-actual[data-v-9b2164d9]{white-space:nowrap}.kd-hint[data-v-9b2164d9]{padding:8px 16px}.kd-quoted[data-v-9b2164d9]{max-width:46rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.kd-source[data-v-9b2164d9]{font-size:.66rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--color-text-muted);border:1px solid var(--color-border);border-radius:4px;padding:0 4px;margin-left:6px;vertical-align:1px}.late-chip[data-v-9b2164d9]{font-size:.72rem;font-weight:700;color:var(--color-danger);background:var(--color-break-row, rgba(220, 38, 38, .09));border-radius:8px;padding:1px 7px}.behind-chip[data-v-9b2164d9]{font-size:.72rem;font-weight:700;color:var(--color-tint-amber-text, #92400e);background:var(--color-tint-amber, rgba(245, 158, 11, .15));border-radius:8px;padding:1px 7px}.mat-chip[data-v-9b2164d9]{font-size:.72rem;font-weight:700;color:#fff;border-radius:8px;padding:1px 7px;white-space:nowrap}.unlinked-boms[data-v-9b2164d9]{padding:4px 16px 10px;border-top:1px solid var(--color-border)}.show-all-lines[data-v-9b2164d9]{display:inline-flex;align-items:center;gap:5px;font-size:.78rem;font-weight:400;color:var(--color-text-muted);cursor:pointer;white-space:nowrap}.show-all-lines input[data-v-9b2164d9]{margin:0}.line-no-cell[data-v-9b2164d9]{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.line-fold[data-v-9b2164d9]{border:none;background:none;padding:0;color:var(--color-text-muted);cursor:pointer;font-size:.65rem;line-height:1}.line-fold[data-v-9b2164d9]:hover{color:var(--color-text-primary)}.line-fold-spacer[data-v-9b2164d9]{display:inline-block;width:10px}.line-child-row td[data-v-9b2164d9]{color:var(--color-text-muted)}.line-child-row .line-no-cell[data-v-9b2164d9]{padding-left:14px}.line-blank-row td[data-v-9b2164d9]{color:var(--color-text-faint, var(--color-text-muted))}.btn-tool[data-v-9b2164d9]:disabled{opacity:.5;cursor:not-allowed}.btn-tool-link[data-v-9b2164d9]{text-decoration:none;display:inline-block}.btn-tool-danger[data-v-9b2164d9]{color:var(--color-danger);border-color:var(--color-tint-red-border)}.btn-tool-danger[data-v-9b2164d9]:hover{background:var(--color-tint-red);color:var(--color-tint-red-text)}.edit-project-form[data-v-9b2164d9]{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}.form-group-inline[data-v-9b2164d9]{display:flex;flex-direction:column;gap:3px}.form-group-inline label[data-v-9b2164d9]{font-size:.65rem;color:var(--color-text-muted);text-transform:uppercase}.form-input[data-v-9b2164d9]{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-9b2164d9]{width:120px}.color-input[data-v-9b2164d9]{width:50px;height:32px;padding:2px;cursor:pointer}.btn-submit[data-v-9b2164d9]{padding:6px 16px;background:var(--color-accent);color:#fff;border:none;border-radius:4px;font-size:.8rem;cursor:pointer}.btn-cancel[data-v-9b2164d9]{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}.mech-body[data-v-9b2164d9]{padding:12px 16px;display:flex;gap:24px;align-items:flex-start;flex-wrap:wrap}.mech-type[data-v-9b2164d9]{display:flex;flex-direction:column;gap:3px}.mech-label[data-v-9b2164d9]{font-size:.65rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.mech-select[data-v-9b2164d9]{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;min-width:180px}.mech-ms-rows[data-v-9b2164d9]{border:1px solid var(--color-border);border-radius:4px;min-width:340px}.mech-ms-row[data-v-9b2164d9]{display:grid;grid-template-columns:26px 1fr 150px;align-items:center;gap:8px;padding:5px 10px;border-bottom:1px solid var(--color-border-light)}.mech-ms-row[data-v-9b2164d9]:last-child{border-bottom:none}.mech-ms-row.done[data-v-9b2164d9]{background:var(--color-tint-green, rgba(34, 212, 122, .06))}.mech-ms-check[data-v-9b2164d9]{width:14px;height:14px;accent-color:var(--color-accent);cursor:pointer}.mech-ms-label[data-v-9b2164d9]{font-size:.8rem}.mech-date[data-v-9b2164d9]{padding:4px 8px;background:var(--color-input-bg);color:var(--color-input-text);border:1px solid var(--color-input-border);border-radius:4px;font-size:.75rem}.mech-date.kd-late[data-v-9b2164d9]{color:var(--color-danger)}.mech-date.kd-contend[data-v-9b2164d9]{color:var(--color-tint-amber-text, #92400e)}.btn-save-all[data-v-9b2164d9]{padding:5px 12px;background:var(--color-accent);color:#fff;border:none;border-radius:4px;font-size:.8rem;font-weight:600;cursor:pointer}.btn-save-all[data-v-9b2164d9]:hover:not(:disabled){background:var(--color-accent-hover)}.btn-save-all[data-v-9b2164d9]:disabled{opacity:.5;cursor:not-allowed}.section-actions[data-v-9b2164d9]{display:flex;align-items:center;gap:8px}.task-count[data-v-9b2164d9]{font-size:.8rem;color:var(--color-text-muted)}.btn-create-project[data-v-9b2164d9]{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-9b2164d9]:hover:not(:disabled){background:var(--color-accent);color:#fff}.btn-create-project[data-v-9b2164d9]:disabled{opacity:.5;cursor:not-allowed}.timeline[data-v-9b2164d9]{padding:8px 16px 12px}.tl-row[data-v-9b2164d9]{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-9b2164d9]{width:180px;flex-shrink:0;color:var(--color-text-muted);font-size:.75rem}.tl-value[data-v-9b2164d9]{color:var(--color-text-primary)}.tl-line .tl-value[data-v-9b2164d9]{color:var(--color-warn-soft)}.tl-none[data-v-9b2164d9]{color:var(--color-text-faint);font-style:italic}[data-v-9b2164d9] .grid-row[data-new=true]{background:#3b82f60d}[data-v-9b2164d9] .grid-row[data-dirty=true]{background:#eab3080f}[data-v-9b2164d9] .grid-row[data-alert=late],[data-v-9b2164d9] .grid-row[data-alert=invalid]{background:var(--color-break-row)!important}[data-v-9b2164d9] .grid-row[data-alert=queued]{background:var(--color-contend-row)!important}[data-v-9b2164d9] .grid-row[data-alert=overdue]{background:var(--color-break-row-soft)!important;box-shadow:inset 3px 0 0 0 var(--color-break-line)}[data-v-9b2164d9] .grid-row[data-alert-stale=true]{background-image:repeating-linear-gradient(45deg,transparent 0,transparent 5px,rgba(127,127,127,.14) 5px,rgba(127,127,127,.14) 10px)}.placeholder[data-v-9b2164d9]{color:var(--color-text-faint)}.placeholder-text[data-v-9b2164d9]{font-size:.7rem;color:var(--color-text-faint);font-style:italic}.loading-state-sm[data-v-9b2164d9]{padding:16px;text-align:center;color:var(--color-text-muted);font-size:.85rem}.material-sheet-wrap[data-v-9b2164d9]{margin-top:12px}.tasks-error[data-v-9b2164d9]{padding:8px 16px;background:var(--color-tint-red);color:#fff;font-size:.8rem}.completed-banner[data-v-9b2164d9]{margin-bottom:12px;padding:8px 12px;border:1px solid var(--color-tint-blue-border);border-radius:4px;background:var(--color-tint-blue);color:var(--color-tint-blue-text);font-size:.85rem}.bom-link[data-v-9b2164d9]{color:var(--color-accent);text-decoration:none}.bom-link[data-v-9b2164d9]:hover{text-decoration:underline}.cell-path[data-v-9b2164d9]{max-width:320px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;direction:rtl;text-align:left}.link-chip[data-v-9b2164d9]{margin-left:6px;padding:1px 6px;border-radius:8px;font-size:.7rem}.link-high[data-v-9b2164d9]{background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.link-fuzzy[data-v-9b2164d9]{background:var(--color-bg-surface-alt);color:var(--color-text-muted);border:1px dashed var(--color-border)}.link-conflict[data-v-9b2164d9]{background:var(--color-tint-red);color:#fff}.link-confirmed[data-v-9b2164d9]{background:var(--color-tint-green, #e2f5e6);color:var(--color-tint-green-text, #1a7f37)}.btn-edit-bom[data-v-9b2164d9]{margin-left:4px;padding:0 4px;border:none;background:none;color:var(--color-text-faint);font-size:.75rem;cursor:pointer;visibility:hidden}tr:hover .btn-edit-bom[data-v-9b2164d9]{visibility:visible}.btn-edit-bom[data-v-9b2164d9]:hover{color:var(--color-accent)}.bom-select[data-v-9b2164d9]{max-width:180px;padding:1px 4px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-surface);color:var(--color-text-default);font-size:.8rem}.cell-empty[data-v-9b2164d9]{color:var(--color-text-faint)}.cell-dead[data-v-9b2164d9]{color:var(--color-text-faint);text-decoration:line-through;cursor:help}.empty-state[data-v-9b2164d9]{padding:24px;text-align:center;color:var(--color-text-faint);font-size:.85rem}.col-name-with-fill[data-v-9b2164d9]{overflow:visible!important}.fill-trigger-wrap[data-v-9b2164d9]{display:flex;align-items:center;flex:0 0 auto}.btn-fill-inline[data-v-9b2164d9]{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;font-family:Inter,sans-serif;margin-right:4px}.btn-fill-inline[data-v-9b2164d9]:hover{background:#7c3aed;color:#fff}.date-input[data-v-9b2164d9]{font-family:ui-monospace,monospace;font-size:.75rem}.date-cell[data-v-9b2164d9]{position:relative;flex-wrap:nowrap;gap:2px;overflow:visible}.date-cell .date-input[data-v-9b2164d9]{min-width:0;flex:1 1 auto;padding-right:20px}.date-picker[data-v-9b2164d9]{position:absolute;right:2px;top:50%;transform:translateY(-50%);width:18px;min-width:18px;height:20px;padding:0;margin:0;border:none;background:transparent;cursor:pointer;overflow:hidden}.date-picker[data-v-9b2164d9]::-webkit-datetime-edit,.date-picker[data-v-9b2164d9]::-webkit-inner-spin-button,.date-picker[data-v-9b2164d9]::-webkit-clear-button{display:none;-webkit-appearance:none}.date-picker[data-v-9b2164d9]::-webkit-calendar-picker-indicator{position:absolute;right:0;top:0;margin:0;padding:0;width:18px;height:100%;opacity:.4;cursor:pointer}.date-picker[data-v-9b2164d9]:hover::-webkit-calendar-picker-indicator{opacity:.85}.rel-cell[data-v-9b2164d9]{gap:3px;flex-wrap:nowrap;overflow:hidden;position:relative}.rel-cell .rel-input[data-v-9b2164d9]{min-width:0;flex:1 1 auto;width:0}.rel-input[data-v-9b2164d9]{text-align:center}.rel-error[data-v-9b2164d9]{outline:1px solid var(--color-danger)!important}.ext-ref-chip[data-v-9b2164d9]{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;overflow:hidden;max-width:52px;text-overflow:ellipsis}.ext-ref-chip[data-v-9b2164d9]:hover{background:var(--color-accent);color:#fff}.ext-ref-chip sup[data-v-9b2164d9]{margin-left:1px;font-size:.65rem;color:var(--color-warn-soft)}.ext-ref-chip-anchor[data-v-9b2164d9]{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-9b2164d9]:hover{background:transparent;color:var(--color-warn-soft)}.btn-rel-edit[data-v-9b2164d9]{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-9b2164d9]:hover{background:var(--color-bg-surface-alt);color:var(--color-text-default)}.so-detail-page .col-name{width:260px;flex:0 0 auto;overflow:visible;padding:0}.so-detail-page .col-hours{width:80px;flex:0 0 auto}.so-detail-page .col-date{width:120px;flex:0 0 auto}.so-detail-page .col-pred{width:140px;flex:0 0 auto}.so-detail-page .col-succ{width:100px;flex:0 0 auto}.so-detail-page .col-assignee{width:130px;flex:0 0 auto}.so-detail-page .col-flag{width:90px;flex:0 0 auto}.so-detail-page .col-status{width:110px;flex:0 0 auto}.so-detail-page .col-resources{width:72px;flex:0 0 auto;justify-content:center}.so-detail-page .col-actions{width:58px;flex:0 0 auto;justify-content:center;gap:2px}.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-subtitle{font-size:.8rem;font-weight:400;color:var(--color-text-muted);margin-left:6px}.rel-editor-body{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-add-row{display:flex;align-items:center;gap:8px;margin-right:auto}.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-type-select{padding:4px 6px;background:var(--color-bg-page);color:var(--color-text-primary);border:1px solid var(--color-border);border-radius:4px;font-size:.82rem;cursor:pointer}.section-subhead[data-v-93f8c96f]{padding:8px 14px 0}.show-all-toggle[data-v-93f8c96f]{display:flex;align-items:center;gap:6px;font-size:.78rem;color:var(--color-text-muted);cursor:pointer}.ops-chip[data-v-93f8c96f]{padding:1px 8px;border-radius:8px;font-size:.72rem;font-weight:600}.ops-chip-pending[data-v-93f8c96f]{background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.ops-chip-failed[data-v-93f8c96f]{background:var(--color-tint-red);color:#fff}.change-chip[data-v-93f8c96f]{padding:1px 8px;border-radius:8px;font-size:.72rem;font-weight:600}.chg-unchanged[data-v-93f8c96f]{background:var(--color-bg-surface-alt);color:var(--color-text-muted)}.chg-create_pending[data-v-93f8c96f]{background:var(--color-tint-green, #e2f5e6);color:var(--color-tint-green-text, #1a7f37)}.chg-update_pending[data-v-93f8c96f]{background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.chg-delete_pending[data-v-93f8c96f]{background:var(--color-tint-red);color:#fff}.chg-manual[data-v-93f8c96f]{background:var(--color-bg-surface-alt);color:var(--color-text-muted);border:1px dashed var(--color-border)}.row-removed td[data-v-93f8c96f]{text-decoration:line-through;color:var(--color-text-faint)}.desc-cell[data-v-93f8c96f]{max-width:300px;overflow:hidden;text-overflow:ellipsis}.qty-changed[data-v-93f8c96f]{font-weight:700;color:var(--color-tint-blue-text)}.op-chip[data-v-93f8c96f]{padding:1px 8px;border-radius:8px;font-size:.72rem;font-weight:600;text-transform:uppercase}.op-create[data-v-93f8c96f]{background:var(--color-tint-green, #e2f5e6);color:var(--color-tint-green-text, #1a7f37)}.op-update[data-v-93f8c96f]{background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.op-delete[data-v-93f8c96f]{background:var(--color-tint-red);color:#fff}.status-chip[data-v-93f8c96f]{padding:1px 8px;border-radius:8px;font-size:.72rem}.status-pending[data-v-93f8c96f]{background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.status-processing[data-v-93f8c96f],.status-superseded[data-v-93f8c96f]{background:var(--color-bg-surface-alt);color:var(--color-text-muted)}.status-done[data-v-93f8c96f]{background:var(--color-tint-green, #e2f5e6);color:var(--color-tint-green-text, #1a7f37)}.status-failed[data-v-93f8c96f]{background:var(--color-tint-red);color:#fff}.error-cell[data-v-93f8c96f]{max-width:260px;overflow:hidden;text-overflow:ellipsis}.btn-retry[data-v-93f8c96f]{padding:2px 10px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-surface);font-size:.75rem;cursor:pointer}.btn-retry[data-v-93f8c96f]:hover{background:var(--color-bg-surface-alt)}.provenance[data-v-93f8c96f]{display:flex;flex-wrap:wrap;gap:16px;padding:8px 14px;font-size:.8rem;color:var(--color-text-muted);border-bottom:1px solid var(--color-border)}.prov-time[data-v-93f8c96f]{margin-left:auto}.deleted-banner[data-v-6090e492]{margin-bottom:12px;padding:8px 12px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-tint-red);color:#fff;font-size:.85rem}.fallback-banner[data-v-1b2e4683]{margin-bottom:12px;padding:8px 12px;border:1px solid var(--color-tint-blue-border, var(--color-border));border-radius:4px;background:var(--color-tint-blue);color:var(--color-tint-blue-text);font-size:.85rem}.type-chip[data-v-1b2e4683]{padding:1px 8px;border-radius:8px;font-size:.72rem;font-weight:600}.type-mechanical[data-v-1b2e4683]{background:var(--color-tint-blue);color:var(--color-tint-blue-text)}.type-electrical[data-v-1b2e4683]{background:var(--color-tint-green, #e2f5e6);color:var(--color-tint-green-text, #1a7f37)}.field-value-path[data-v-1b2e4683]{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;word-break:normal;direction:rtl}.field-value-path .link[data-v-1b2e4683]{white-space:nowrap}.current-chip[data-v-1b2e4683]{padding:1px 6px;border-radius:8px;background:var(--color-tint-green, #e2f5e6);color:var(--color-tint-green-text, #1a7f37);font-size:.7rem;font-weight:600}.match-chip[data-v-1b2e4683]{margin-left:4px;padding:1px 6px;border-radius:8px;background:var(--color-bg-surface-alt);color:var(--color-text-muted);font-size:.7rem;cursor:help}.raw-filters[data-v-1b2e4683]{display:flex;flex-wrap:wrap;gap:6px;padding:8px 0}.filter-chip[data-v-1b2e4683]{padding:3px 10px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-bg-surface);color:var(--color-text-default);font-size:.8rem;cursor:pointer}.filter-chip[data-v-1b2e4683]:hover{background:var(--color-bg-surface-alt)}.filter-chip.active[data-v-1b2e4683]{background:var(--color-accent, #2563eb);border-color:var(--color-accent, #2563eb);color:#fff}.takeoff-group+.takeoff-group[data-v-1b2e4683]{margin-top:12px}.takeoff-uncounted[data-v-1b2e4683]{margin-top:12px}.takeoff-uncounted-wrap[data-v-1b2e4683]{max-height:300px;overflow-y:auto}.takeoff-uncounted-wrap thead th[data-v-1b2e4683]{position:sticky;top:0}.takeoff-note[data-v-1b2e4683]{margin-bottom:6px;font-size:.8rem;color:var(--color-text-muted);cursor:help}.total-row td[data-v-1b2e4683]{background:var(--color-tint-green, #c6efce);color:var(--color-tint-green-text, #1a7f37);font-weight:700}.total-label[data-v-1b2e4683]{text-align:right}.blocked-chip[data-v-e42c95bc]{padding:1px 8px;border-radius:8px;background:var(--color-tint-red);color:#fff;font-size:.72rem;font-weight:600}.redirect-page[data-v-78e26f62]{height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-bg-page);color:var(--color-text-muted)}.redirect-message[data-v-78e26f62]{text-align:center;font-size:.9rem}.redirect-message a[data-v-78e26f62]{color:var(--color-accent-hover)}.redirect-page[data-v-614ac4a1]{height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-bg-page);color:var(--color-text-muted)}.redirect-message[data-v-614ac4a1]{text-align:center;font-size:.9rem}.redirect-message a[data-v-614ac4a1]{color:var(--color-accent-hover)}.templates-page[data-v-dde01f64]{height:100%;display:flex;flex-direction:column;background:var(--color-bg-page);color:var(--color-text-default)}.toolbar[data-v-dde01f64]{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-dde01f64]{margin:0;font-size:1rem;font-weight:600}.btn-add[data-v-dde01f64]{padding:6px 14px;background:var(--color-accent);color:#fff;border:none;border-radius:4px;font-size:.8rem;cursor:pointer}.btn-add[data-v-dde01f64]:hover:not(:disabled){background:var(--color-accent-hover)}.btn-add[data-v-dde01f64]:disabled{opacity:.5;cursor:not-allowed}.table-container[data-v-dde01f64]{flex:1;overflow:auto;display:flex;flex-direction:column;--grid-header-font-size: .75rem;--grid-cell-padding: .625rem .875rem;--grid-cell-cursor: default}.edit-form[data-v-dde01f64]{padding:16px;background:var(--color-bg-surface-alt);border-bottom:2px solid var(--color-border)}.edit-form h3[data-v-dde01f64]{margin:0 0 12px;font-size:.9rem}.form-fields[data-v-dde01f64]{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:12px;max-width:600px}.form-group[data-v-dde01f64]{display:flex;flex-direction:column;gap:4px}.form-group label[data-v-dde01f64]{font-size:.7rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.form-input[data-v-dde01f64]{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-dde01f64]{resize:vertical}.form-input[data-v-dde01f64]:focus{outline:1px solid var(--color-accent);outline-offset:-1px}.form-actions[data-v-dde01f64]{display:flex;gap:8px}.btn-save[data-v-dde01f64]{padding:6px 16px;background:var(--color-accent);color:#fff;border:none;border-radius:4px;font-size:.8rem;cursor:pointer;font-weight:600}.btn-save[data-v-dde01f64]:disabled{opacity:.5;cursor:not-allowed}.btn-cancel[data-v-dde01f64]{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-dde01f64]{cursor:pointer}.row-clickable[data-v-dde01f64]:hover{background:var(--color-bg-hover)}.name-cell[data-v-dde01f64]{font-weight:600;color:var(--color-text-primary)}.btn-edit[data-v-dde01f64]{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-dde01f64]:hover{background:var(--color-btn-secondary-hover)}.btn-delete[data-v-dde01f64]{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-dde01f64]:hover{background:var(--color-tint-red);color:var(--color-tint-red-text)}.empty-row[data-v-dde01f64]{text-align:center;color:var(--color-text-faint);padding:40px 12px;font-style:italic}.loading-state[data-v-dde01f64]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted)}.global-error[data-v-dde01f64]{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-1e57292d]{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-1e57292d]{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-1e57292d]{display:flex;align-items:center;gap:8px;font-family:Inter,sans-serif}.toolbar-right[data-v-1e57292d]{display:flex;align-items:center;gap:12px}.back-link[data-v-1e57292d]{color:var(--color-accent-hover);text-decoration:none;font-size:.85rem}.back-link[data-v-1e57292d]:hover{text-decoration:underline}.sep[data-v-1e57292d]{color:var(--color-text-faint)}.title-input[data-v-1e57292d]{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-1e57292d]:focus{background:var(--color-bg-page);outline:1px solid var(--color-accent)}.row-count[data-v-1e57292d]{font-size:.8rem;color:var(--color-text-muted);font-family:Inter,sans-serif}.btn-tool[data-v-1e57292d]{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-1e57292d]:hover:not(:disabled){background:var(--color-btn-secondary-hover)}.btn-tool[data-v-1e57292d]:disabled{opacity:.5;cursor:not-allowed}.btn-save-all[data-v-1e57292d]{background:var(--color-accent);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-1e57292d]:hover:not(:disabled){background:var(--color-accent-hover)}.btn-save-all[data-v-1e57292d]:disabled{opacity:.6;cursor:not-allowed}.loading-state[data-v-1e57292d]{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-1e57292d]{padding:24px 16px;color:var(--color-text-muted);font-size:.85rem;font-family:Inter,sans-serif}[data-v-1e57292d] .grid-row[data-new=true]{background:#22c55e0d}[data-v-1e57292d] .grid-row[data-alert=break]{background:var(--color-break-row)!important}[data-v-1e57292d] .name-input{font-weight:500;font-family:Inter,sans-serif}[data-v-1e57292d] [data-parent=true] :deep(.name-input){font-weight:700;color:var(--color-text-primary)}[data-v-1e57292d] .pred-input{font-variant-numeric:tabular-nums}[data-v-1e57292d] .pred-input.derived-hint{color:var(--color-text-faint);font-style:italic}[data-v-1e57292d] .pred-input.derived-hint:focus{color:var(--color-text-default);font-style:normal}[data-v-1e57292d] .cell-input.derived-hint::placeholder{color:var(--color-text-muted)}[data-v-1e57292d] .implicit-text{color:var(--color-text-muted);font-style:italic;font-size:.75rem}[data-v-1e57292d] .btn-fill-inline{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;font-family:Inter,sans-serif;margin-right:4px}.btn-fill-inline[data-v-1e57292d]:hover{background:#7c3aed;color:#fff}[data-v-1e57292d] .fill-picker-wrap{position:relative;display:flex;align-items:center}[data-v-1e57292d] .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-1e57292d] .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-1e57292d] .fill-picker-close{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 2px}[data-v-1e57292d] .fill-picker-close:hover{color:var(--color-text-primary)}[data-v-1e57292d] .fill-picker-loading,[data-v-1e57292d] .fill-picker-empty{padding:10px;font-size:.78rem;color:var(--color-text-muted);text-align:center}[data-v-1e57292d] .fill-picker-list{list-style:none;margin:0;padding:4px 0;max-height:200px;overflow-y:auto}[data-v-1e57292d] .fill-picker-item{padding:7px 10px;font-size:.8rem;color:var(--color-text-default);cursor:pointer}[data-v-1e57292d] .fill-picker-item:hover{background:var(--color-bg-hover);color:var(--color-text-primary)}.global-error[data-v-1e57292d]{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-1e57292d]{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-1e57292d]{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-1e57292d]{background:none;border:none;color:var(--color-text-muted);cursor:pointer;font-size:1rem;line-height:1;padding:0 2px}.footer-picker-teleport .fill-picker-close[data-v-1e57292d]:hover{color:var(--color-text-primary)}.footer-picker-teleport .fill-picker-loading[data-v-1e57292d],.footer-picker-teleport .fill-picker-empty[data-v-1e57292d]{padding:10px;font-size:.78rem;color:var(--color-text-muted);text-align:center}.footer-picker-teleport .fill-picker-list[data-v-1e57292d]{list-style:none;margin:0;padding:4px 0;max-height:200px;overflow-y:auto}.footer-picker-teleport .fill-picker-item[data-v-1e57292d]{padding:7px 10px;font-size:.8rem;color:var(--color-text-default);cursor:pointer}.footer-picker-teleport .fill-picker-item[data-v-1e57292d]:hover{background:var(--color-bg-hover);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-header .heading h2[data-v-c5e2b2f5]{margin-bottom:2px}.subtitle[data-v-c5e2b2f5]{font-size:.75rem;color:var(--color-text-muted);margin-bottom:1rem}.warning[data-v-c5e2b2f5]{background:var(--color-contend-fill);border-left:3px solid var(--color-contend-line);padding:8px 12px;font-size:.8rem;color:var(--color-contend-text);margin-bottom:14px;border-radius:3px}.field-group[data-v-c5e2b2f5]{border-left:2px solid var(--color-border);padding-left:12px;margin-bottom:14px}.field-row[data-v-c5e2b2f5]{display:flex;align-items:center;gap:10px;margin-bottom:8px}.field-row label[data-v-c5e2b2f5]{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;min-width:110px}.check-label[data-v-c5e2b2f5]{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--color-text-default);text-transform:none;min-width:auto;cursor:pointer}.check-label input[data-v-c5e2b2f5]{cursor:pointer}.dep-row[data-v-c5e2b2f5]{flex-wrap:wrap;gap:6px}.input[data-v-c5e2b2f5]{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}.input.short[data-v-c5e2b2f5]{width:130px}.input.tiny[data-v-c5e2b2f5]{width:70px}.input[data-v-c5e2b2f5]:focus{outline:none;border-color:var(--color-accent)}.hint[data-v-c5e2b2f5]{font-size:.7rem;color:var(--color-text-muted)}.over-hint[data-v-c5e2b2f5]{color:var(--color-warn);margin-top:6px}.resource-section[data-v-c5e2b2f5]{border-left-color:var(--color-border)}.section-title[data-v-c5e2b2f5]{margin:0 0 8px;font-size:.75rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted);font-weight:600}.demand-row[data-v-c5e2b2f5]{display:flex;align-items:center;gap:6px;margin-bottom:6px;flex-wrap:wrap}.demand-resource[data-v-c5e2b2f5]{flex:1;min-width:200px}.mode-select[data-v-c5e2b2f5]{width:100px}.demand-pin[data-v-c5e2b2f5]{width:140px}.btn-row-del[data-v-c5e2b2f5]{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-c5e2b2f5]:hover{color:var(--color-danger)}.btn-add-demand[data-v-c5e2b2f5]{margin-top:4px;padding:4px 10px;background:transparent;border:1px dashed var(--color-border);color:var(--color-text-muted);border-radius:4px;font-size:.75rem;cursor:pointer}.btn-add-demand[data-v-c5e2b2f5]:hover{color:var(--color-text-default);border-color:var(--color-text-muted)}.override-flag[data-v-c5e2b2f5]{display:inline-flex;align-items:center;gap:4px;font-size:.65rem;color:var(--color-contend-text);background:var(--color-contend-fill);padding:2px 6px;border-radius:3px;margin-left:6px}.btn-clear-ack[data-v-c5e2b2f5]{background:transparent;border:none;color:var(--color-contend-text);cursor:pointer;padding:0 2px;font-size:.8rem}.btn-clear-ack[data-v-c5e2b2f5]:hover{color:var(--color-text-primary)}.dep-summary[data-v-c5e2b2f5]{margin-top:16px;padding:10px 12px;background:var(--color-bg-surface-alt);border-radius:4px}.dep-summary h4[data-v-c5e2b2f5]{margin:0 0 8px;font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase}.dep-summary ul[data-v-c5e2b2f5]{margin:0;padding:0;list-style:none;font-size:.8rem}.dep-summary li[data-v-c5e2b2f5]{padding:3px 0;color:var(--color-text-default)}.dep-summary strong[data-v-c5e2b2f5]{font-size:.7rem;background:var(--color-input-bg);padding:1px 6px;border-radius:3px;margin-right:6px}.dep-summary em[data-v-c5e2b2f5]{color:var(--color-warn);font-size:.7rem;margin-left:6px;font-style:normal}.dep-arrow[data-v-c5e2b2f5]{color:var(--color-text-muted);margin:0 4px}.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-697b9a1b]{display:flex;flex-direction:column;height:100%;background:var(--color-bg-page)}.toolbar[data-v-697b9a1b]{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-697b9a1b],.toolbar-right[data-v-697b9a1b]{display:flex;align-items:center;gap:8px}.back-link[data-v-697b9a1b]{color:var(--color-accent);text-decoration:none;font-size:.8125rem}.back-link[data-v-697b9a1b]:hover{text-decoration:underline}.sep[data-v-697b9a1b]{color:var(--color-text-muted);font-size:.8125rem}h2[data-v-697b9a1b]{margin:0;font-size:.9375rem;font-weight:600;color:var(--color-text-primary)}.user-label[data-v-697b9a1b]{font-size:.8125rem;color:var(--color-text-muted)}.user-select[data-v-697b9a1b]{font-size:.8125rem;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-697b9a1b]{font-size:.75rem;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-697b9a1b]:hover{background:var(--color-bg-hover)}.btn-tool[data-v-697b9a1b]:disabled{opacity:.5;cursor:not-allowed}.loading-state[data-v-697b9a1b],.empty-state[data-v-697b9a1b]{padding:48px;text-align:center;color:var(--color-text-muted);font-size:.875rem}.table-wrap[data-v-697b9a1b]{flex:1;overflow:auto}.todo-table[data-v-697b9a1b]{width:100%;border-collapse:collapse;font-size:.8125rem}.todo-table thead th[data-v-697b9a1b]{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:.75rem;text-transform:uppercase;letter-spacing:.03em}.todo-table tbody td[data-v-697b9a1b]{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-697b9a1b]{background:var(--color-bg-hover)}.task-row.saving td[data-v-697b9a1b]{opacity:.6}.task-row.complete td[data-v-697b9a1b]{color:var(--color-text-muted)}.task-row.complete .col-name[data-v-697b9a1b]{text-decoration:line-through}.col-name .task-link[data-v-697b9a1b]{color:var(--color-accent);text-decoration:none;cursor:pointer}.col-name .task-link[data-v-697b9a1b]:hover{text-decoration:underline}.col-project[data-v-697b9a1b]{max-width:160px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}td.date-manual[data-v-697b9a1b]{color:var(--color-text-primary)}td.date-inferred[data-v-697b9a1b]{color:var(--color-accent);font-style:italic}.col-name[data-v-697b9a1b]{min-width:160px;max-width:280px}.col-date[data-v-697b9a1b]{white-space:nowrap}.col-hours[data-v-697b9a1b]{text-align:right;white-space:nowrap}.col-status[data-v-697b9a1b]{white-space:nowrap}.col-assignee[data-v-697b9a1b]{min-width:140px}.inline-select[data-v-697b9a1b]{font-size:.75rem;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-697b9a1b]{color:var(--color-neutral)}.status-select.in_progress[data-v-697b9a1b]{color:var(--color-warn);font-weight:600}.status-select.complete[data-v-697b9a1b]{color:var(--color-success);font-weight:600}.inline-dt[data-v-697b9a1b]{font-size:.75rem;padding:3px 6px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-surface);color:var(--color-text-primary);width:168px}.timeline-header[data-v-b0a4f346]{background:var(--color-table-header-bg)}.month-row[data-v-b0a4f346]{display:flex;border-bottom:1px solid var(--color-border)}.month-cell[data-v-b0a4f346]{font-size:.75rem;color:var(--color-text-default);padding:4px 0;text-align:center;border-right:1px solid var(--color-border);white-space:nowrap;overflow:hidden;flex-shrink:0}.day-row[data-v-b0a4f346]{display:flex;border-bottom:1px solid var(--color-btn-secondary-border)}.day-cell[data-v-b0a4f346]{font-size:.65rem;color:var(--color-text-muted);text-align:center;padding:2px 0;border-right:1px solid var(--color-border);flex-shrink:0;overflow:hidden;white-space:nowrap}.day-cell.tick[data-v-b0a4f346]{font-size:.55rem;color:var(--color-text-faint)}.day-cell.weekend[data-v-b0a4f346]{background:var(--color-bg-surface-alt)}.day-cell.today[data-v-b0a4f346]{background:var(--color-tint-blue);color:var(--color-tint-blue-text);font-weight:600}.modal-header .heading h2[data-v-a83f199e]{margin-bottom:2px}.subtitle[data-v-a83f199e]{font-size:.75rem;color:var(--color-text-muted);margin-bottom:1rem}.tabs[data-v-a83f199e]{display:flex;gap:2px;border-bottom:1px solid var(--color-border);margin-bottom:16px}.tabs button[data-v-a83f199e]{border:none;background:transparent;color:var(--color-text-muted);padding:9px 14px;font-size:.8rem;cursor:pointer;border-bottom:2px solid transparent;display:inline-flex;align-items:baseline;gap:6px}.tabs button.active[data-v-a83f199e]{color:var(--color-text-primary);border-bottom-color:var(--color-accent)}.tab-metric[data-v-a83f199e]{font-size:.66rem;font-variant-numeric:tabular-nums;color:var(--color-text-faint)}.field-row[data-v-a83f199e]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.field-row label[data-v-a83f199e]{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;min-width:160px}.check-label[data-v-a83f199e]{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--color-text-default);text-transform:none;letter-spacing:normal;min-width:auto;cursor:pointer}.section-label[data-v-a83f199e]{font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-faint);margin:12px 0 6px;display:flex;align-items:center;gap:10px}.section-label[data-v-a83f199e]:first-child{margin-top:0}.days-hint[data-v-a83f199e]{margin-bottom:8px}.day-grid[data-v-a83f199e]{display:flex;flex-direction:column;gap:4px}.day-row[data-v-a83f199e]{display:flex;align-items:center;gap:8px}.day-name[data-v-a83f199e]{min-width:90px;font-size:.78rem;color:var(--color-text-default)}.day-name.off[data-v-a83f199e]{color:var(--color-text-faint)}.unit[data-v-a83f199e]{font-size:.7rem;color:var(--color-text-muted)}.day-note[data-v-a83f199e]{font-size:.68rem;color:var(--color-text-faint);font-style:italic}.agg-note[data-v-a83f199e]{display:block;margin-top:10px}.week-total[data-v-a83f199e]{display:flex;align-items:baseline;gap:8px;margin-top:12px;padding-top:8px;border-top:1px solid var(--color-border-light);font-size:.75rem;color:var(--color-text-muted)}.week-total strong[data-v-a83f199e]{color:var(--color-text-primary);font-variant-numeric:tabular-nums}.input[data-v-a83f199e]{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-a83f199e]{width:100px}.input.tiny[data-v-a83f199e]{width:70px}.input.hours[data-v-a83f199e]{width:76px;text-align:right;font-variant-numeric:tabular-nums}.input.grow[data-v-a83f199e]{flex:1}.input[data-v-a83f199e]:focus{outline:none;border-color:var(--color-accent-hover)}textarea.input[data-v-a83f199e]{resize:vertical;font-family:inherit}.btn-mini[data-v-a83f199e]{border:1px solid var(--color-btn-secondary-border);background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border-radius:4px;padding:3px 8px;font-size:.68rem;cursor:pointer;text-transform:none;letter-spacing:normal}.btn-mini[data-v-a83f199e]:hover{background:var(--color-btn-secondary-hover)}.btn-mini[data-v-a83f199e]:disabled{opacity:.5;cursor:not-allowed}.btn-x[data-v-a83f199e]{border:none;background:transparent;color:var(--color-text-muted);font-size:1rem;line-height:1;cursor:pointer;padding:0 2px}.btn-x[data-v-a83f199e]:hover{color:var(--color-tint-red-text)}.dash[data-v-a83f199e]{color:var(--color-text-muted)}.hint[data-v-a83f199e]{font-size:.7rem;color:var(--color-text-muted);flex:1;line-height:1.4}.hint.pad[data-v-a83f199e]{padding:5px 12px}.holiday-add[data-v-a83f199e]{display:flex;align-items:center;gap:8px;margin-bottom:8px}.holiday-list[data-v-a83f199e]{max-height:260px;overflow:auto;border:1px solid var(--color-border);border-radius:5px;padding:4px 0}.holiday-row[data-v-a83f199e]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:5px 12px}.holiday-row[data-v-a83f199e]:hover{background:var(--color-bg-hover)}.holiday-text[data-v-a83f199e]{display:flex;align-items:baseline;gap:10px;min-width:0}.holiday-name[data-v-a83f199e]{font-size:.78rem;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.holiday-when[data-v-a83f199e]{font-size:.7rem;color:var(--color-text-muted);white-space:nowrap}.badge-local[data-v-a83f199e]{font-size:.6rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-tint-blue-text);background:var(--color-tint-blue);border:1px solid var(--color-tint-blue-border);border-radius:3px;padding:1px 4px;white-space:nowrap}.modal-header .heading h2[data-v-e9577ca0]{margin-bottom:2px}.subtitle[data-v-e9577ca0]{font-size:.75rem;color:var(--color-text-muted);margin-bottom:1rem}.warning[data-v-e9577ca0]{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-e9577ca0]{display:flex;align-items:center;gap:10px;margin-bottom:10px}.field-row label[data-v-e9577ca0]{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.03em;min-width:140px}.check-label[data-v-e9577ca0]{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-e9577ca0]{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-e9577ca0]{width:100px}.input.grow[data-v-e9577ca0]{flex:1}.input[data-v-e9577ca0]:focus{outline:none;border-color:var(--color-accent-hover)}textarea.input[data-v-e9577ca0]{resize:vertical;font-family:inherit}.hint[data-v-e9577ca0]{font-size:.7rem;color:var(--color-text-muted)}.preview[data-v-e9577ca0]{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-e9577ca0]{color:var(--color-text-default)}.footer-spacer[data-v-e9577ca0]{flex:1}.resource-page[data-v-98a26c21]{height:100%;display:flex;flex-direction:column;background:var(--color-bg-page);color:var(--color-text-default);overflow:hidden}.toolbar[data-v-98a26c21]{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 16px;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);flex-shrink:0;flex-wrap:wrap}.toolbar-left[data-v-98a26c21],.toolbar-right[data-v-98a26c21]{display:flex;align-items:center;gap:10px}.toolbar-left h2[data-v-98a26c21]{margin:0;font-size:1rem;font-weight:600}.toolbar-right[data-v-98a26c21]{font-size:.8rem;color:var(--color-text-muted)}.btn-bar[data-v-98a26c21]{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;text-decoration:none;display:inline-flex;align-items:center}.btn-bar[data-v-98a26c21]:hover{background:var(--color-btn-secondary-hover)}.btn-bar[data-v-98a26c21]:disabled{opacity:.5;cursor:not-allowed}.btn-add[data-v-98a26c21]{background:var(--color-tint-blue);color:var(--color-tint-blue-text);border-color:var(--color-tint-blue-border)}.btn-add[data-v-98a26c21]:hover{background:var(--color-accent);color:#fff}.zoom[data-v-98a26c21],.scenario-toggle[data-v-98a26c21]{display:flex;align-items:center;gap:6px;font-size:.75rem;cursor:pointer;white-space:nowrap}.select[data-v-98a26c21]{padding:4px 6px;background:var(--color-input-bg);color:var(--color-input-text);border:1px solid var(--color-input-border);border-radius:4px;font-size:.75rem}.legend[data-v-98a26c21]{display:flex;gap:16px;flex-wrap:wrap;padding:5px 16px;font-size:.68rem;color:var(--color-text-muted);background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.lg[data-v-98a26c21]{display:inline-flex;align-items:center;gap:5px}.sw[data-v-98a26c21]{width:18px;height:9px;border-radius:2px;display:inline-block}.sw-body[data-v-98a26c21]{background:var(--color-bar-body)}.sw-pre[data-v-98a26c21]{background:transparent;border-top:2px dashed var(--color-text-faint);height:0;border-radius:0}.sw-post[data-v-98a26c21]{background:transparent;border-top:2px dashed var(--color-bar-body);height:0;border-radius:0}.sw-needby[data-v-98a26c21]{background:var(--color-text-muted);width:3px;height:12px}.sw-break[data-v-98a26c21]{background:var(--color-break-line)}.sw-contend[data-v-98a26c21]{background:var(--color-contend-line)}.loading-state[data-v-98a26c21],.empty-state[data-v-98a26c21]{flex:1;display:flex;align-items:center;justify-content:center;color:var(--color-text-muted);font-size:.9rem}.gantt-scroll[data-v-98a26c21]{flex:1;overflow:auto;position:relative}.gantt-canvas[data-v-98a26c21]{position:relative}.backdrop[data-v-98a26c21]{position:absolute;background-repeat:repeat;pointer-events:none;z-index:0}.head-row[data-v-98a26c21]{position:sticky;top:0;z-index:5;display:flex;background:var(--color-table-header-bg);border-bottom:2px solid var(--color-btn-secondary-border)}.rows[data-v-98a26c21]{position:relative;z-index:1}.frozen[data-v-98a26c21]{position:sticky;left:0;flex-shrink:0;background:var(--color-bg-surface);border-right:1px solid var(--color-btn-secondary-border);display:flex;align-items:center;z-index:2}.head-frozen[data-v-98a26c21]{padding:0 12px;background:var(--color-table-header-bg);z-index:6}.col-title[data-v-98a26c21]{font-size:.7rem;text-transform:uppercase;letter-spacing:.03em;color:var(--color-text-muted)}.gantt-row[data-v-98a26c21]{display:flex;border-bottom:1px solid var(--color-border)}.gantt-row:hover .frozen[data-v-98a26c21]{background:var(--color-table-row-hover)}.resource-info[data-v-98a26c21]{gap:6px;padding-right:10px}.btn-collapse[data-v-98a26c21],.btn-collapse-placeholder[data-v-98a26c21]{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;flex-shrink:0}.btn-collapse[data-v-98a26c21]:hover{color:var(--color-text-primary)}.resource-meta[data-v-98a26c21]{display:flex;flex-direction:column;min-width:0;font-size:.75rem;line-height:1.25;flex:1}.resource-name[data-v-98a26c21]{color:var(--color-text-primary);font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}.resource-name[data-v-98a26c21]:hover{color:var(--color-accent-hover);text-decoration:underline}.resource-cap[data-v-98a26c21]{color:var(--color-text-muted);font-size:.7rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resource-cap .hot[data-v-98a26c21]{color:var(--color-tint-red-text);font-weight:600}.cap-detail[data-v-98a26c21]{color:var(--color-text-faint)}.cap-late[data-v-98a26c21]{color:var(--color-tint-red-text);cursor:help}.lane[data-v-98a26c21]{position:relative;flex-shrink:0;cursor:crosshair}.wick[data-v-98a26c21]{position:absolute;height:0;pointer-events:none;z-index:0}.wick-pre[data-v-98a26c21]{border-top:2px dashed var(--color-text-faint);opacity:.75}.wick-post[data-v-98a26c21]{border-top:2px dashed var(--color-bar-body);opacity:.8}.proj-bar[data-v-98a26c21]{position:absolute;height:14px;border-radius:2px;display:flex;align-items:center;min-width:4px;cursor:pointer;overflow:hidden;z-index:1;background:var(--color-bar-body)}.proj-bar[data-v-98a26c21]:hover{filter:brightness(1.2)}.proj-bar[data-done=true][data-v-98a26c21]{opacity:.45}.month-stat[data-v-98a26c21]{position:absolute;top:1px;font-size:.6rem;line-height:13px;color:var(--color-text-faint);font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:auto;cursor:help}.month-stat[data-over=true][data-v-98a26c21]{color:var(--color-tint-red-text);font-weight:600}.overrun-seg[data-v-98a26c21]{position:absolute;top:0;bottom:0;pointer-events:none;border-radius:0 2px 2px 0}.proj-bar[data-alert=break] .overrun-seg[data-v-98a26c21]{background:var(--color-break-line)}.proj-bar[data-alert=contend] .overrun-seg[data-v-98a26c21]{background:var(--color-contend-line)}.needby-tick[data-v-98a26c21]{position:absolute;width:2px;height:18px;background:var(--color-text-muted);opacity:.7;pointer-events:none;z-index:1}.needby-tick[data-alert=break][data-v-98a26c21]{background:var(--color-break-line);opacity:1;width:3px}.needby-tick[data-alert=contend][data-v-98a26c21]{background:var(--color-contend-line);opacity:1;width:3px}.bar-label[data-v-98a26c21]{position:relative;font-size:.62rem;color:#fff;padding:0 5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;line-height:1;font-variant-numeric:tabular-nums;z-index:1}.bar-label-out[data-v-98a26c21]{position:absolute;font-size:.62rem;line-height:14px;height:14px;color:var(--color-text-muted);white-space:nowrap;cursor:pointer;font-variant-numeric:tabular-nums;z-index:1}.bar-label-out[data-v-98a26c21]:hover{color:var(--color-accent-hover)}.bar-label-out[data-alert=break][data-v-98a26c21]{color:var(--color-break-text);font-weight:600}.bar-label-out[data-alert=contend][data-v-98a26c21]{color:var(--color-contend-text);font-weight:600}.overflow-pill[data-v-98a26c21]{position:absolute;left:6px;font-size:.62rem;color:var(--color-text-muted);background:var(--color-bg-surface-alt);border:1px solid var(--color-btn-secondary-border);padding:1px 6px;border-radius:3px;height:16px;display:inline-flex;align-items:center;cursor:help;z-index:1}.event-tick[data-v-98a26c21]{position:absolute;top:2px;bottom:2px;width:3px;border-radius:1px;cursor:pointer;z-index:2}.event-committed[data-v-98a26c21]{background:var(--color-warn)}.event-speculative[data-v-98a26c21]{background:var(--color-tint-indigo-text);opacity:.6}.today-line[data-v-98a26c21]{position:absolute;top:0;bottom:0;width:2px;background:var(--color-danger);opacity:.65}.queue-col[data-v-b4f33962]{flex:0 0 320px;background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:6px;display:flex;flex-direction:column;max-height:100%}.queue-head[data-v-b4f33962]{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:10px 12px;border-bottom:1px solid var(--color-border)}.queue-title[data-v-b4f33962]{display:flex;align-items:baseline;gap:6px;min-width:0}.queue-head-right[data-v-b4f33962]{display:flex;align-items:center;gap:6px;flex-shrink:0}.queue-name[data-v-b4f33962]{font-size:.85rem;font-weight:600;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.queue-count[data-v-b4f33962]{font-size:.7rem;color:var(--color-text-muted);background:var(--color-bg-surface-alt);border-radius:8px;padding:1px 7px}.queue-alarm[data-v-b4f33962]{font-size:.65rem;color:var(--color-tint-red-text);background:var(--color-tint-red);border:1px solid var(--color-tint-red-border);border-radius:3px;padding:1px 5px;white-space:nowrap;cursor:help}.btn-head[data-v-b4f33962]{background:transparent;border:1px solid var(--color-border);color:var(--color-text-muted);border-radius:3px;font-size:.62rem;padding:1px 6px;cursor:pointer;white-space:nowrap}.btn-head[data-v-b4f33962]:hover:not(:disabled){color:var(--color-text-default);border-color:var(--color-text-muted)}.btn-head[data-v-b4f33962]:disabled{opacity:.5;cursor:default}.queue-empty[data-v-b4f33962]{padding:14px 12px 4px;font-size:.75rem;color:var(--color-text-faint);font-style:italic}.queue-list[data-v-b4f33962]{list-style:none;margin:0;padding:8px;overflow-y:auto;flex:1}.queue-list[data-empty=true][data-v-b4f33962]{min-height:60px}.queue-card[data-v-b4f33962]{display:flex;gap:6px;padding:7px 8px 7px 4px;margin-bottom:6px;background:var(--color-bg-surface-alt);border:1px solid var(--color-border);border-left:3px solid var(--color-border);border-radius:4px}.queue-card[data-running=true][data-v-b4f33962]{border-left-color:var(--color-success)}.queue-card[data-break=true][data-v-b4f33962]{border-left-color:var(--color-break-line);background:var(--color-break-row)}.queue-card[data-overrun=true][data-v-b4f33962]{border-left-color:var(--color-contend-line);background:var(--color-contend-row)}.queue-card[data-held=true][data-v-b4f33962]{opacity:.82}.queue-card[data-focus=true][data-v-b4f33962]{box-shadow:inset 0 0 0 2px var(--color-accent)}.queue-card[data-selected=true][data-v-b4f33962]{outline:2px solid var(--color-accent);outline-offset:-1px}.queue-card[data-selected=true] .card-grab[data-v-b4f33962]{background:var(--color-accent)}.queue-card[data-selected=true] .card-rank[data-v-b4f33962],.queue-card[data-selected=true] .grip[data-v-b4f33962]{color:var(--color-bg-surface)}.queue-card[data-dim=true][data-v-b4f33962]{opacity:.28}.card-grab[data-v-b4f33962]{flex:0 0 20px;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:grab;padding-top:1px;border-radius:3px;-webkit-user-select:none;user-select:none}.card-grab[data-v-b4f33962]:active{cursor:grabbing}.card-grab[data-v-b4f33962]:hover{background:var(--color-bg-hover)}.card-rank[data-v-b4f33962]{font-size:.7rem;color:var(--color-text-faint);font-variant-numeric:tabular-nums}.grip[data-v-b4f33962]{font-size:.6rem;color:var(--color-text-faint);line-height:1}.card-body[data-v-b4f33962]{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.card-line1[data-v-b4f33962]{display:flex;align-items:center;gap:5px;min-width:0}.card-task[data-v-b4f33962]{font-size:.78rem;color:var(--color-text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;cursor:pointer;flex:1;display:flex;gap:5px;min-width:0}.card-so[data-v-b4f33962]{color:var(--color-text-muted);font-variant-numeric:tabular-nums;flex-shrink:0}.card-tname[data-v-b4f33962]{overflow:hidden;text-overflow:ellipsis}.card-task[data-v-b4f33962]:hover{text-decoration:underline;color:var(--color-accent-hover)}.btn-card-res[data-v-b4f33962]{background:transparent;border:none;color:var(--color-text-faint);cursor:pointer;font-size:.75rem;padding:0 2px;line-height:1;flex-shrink:0}.btn-card-res[data-v-b4f33962]:hover{color:var(--color-accent-hover)}.tag[data-v-b4f33962]{font-size:.6rem;padding:1px 5px;border-radius:3px;white-space:nowrap;flex-shrink:0}.tag-running[data-v-b4f33962]{background:var(--color-tint-green);color:var(--color-success)}.tag-done[data-v-b4f33962]{background:var(--color-bg-surface-alt);color:var(--color-text-muted)}.card-line2[data-v-b4f33962],.card-line3[data-v-b4f33962]{display:flex;align-items:center;gap:6px;font-size:.68rem;color:var(--color-text-muted);min-width:0}.card-project[data-v-b4f33962]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.card-hours[data-v-b4f33962],.card-rate[data-v-b4f33962]{flex-shrink:0}.card-start[data-v-b4f33962],.card-end[data-v-b4f33962]{font-variant-numeric:tabular-nums;cursor:help}.card-start[data-contend=true][data-v-b4f33962]{color:var(--color-contend-text);font-weight:600}.card-start[data-break=true][data-v-b4f33962]{color:var(--color-break-text);font-weight:600}.card-arrow[data-v-b4f33962]{color:var(--color-text-faint)}.card-needby[data-v-b4f33962]{flex-shrink:0;font-variant-numeric:tabular-nums;cursor:help;margin-left:auto}.card-needby[data-break=true][data-v-b4f33962]{color:var(--color-break-text);font-weight:600}.card-needby[data-overrun=true][data-v-b4f33962]{color:var(--color-contend-text);font-weight:600}.card-needby[data-unapproved=true][data-v-b4f33962]{color:var(--color-text-muted);font-style:italic;border:1px dashed var(--color-btn-secondary-border);border-radius:3px;padding:0 4px}.queue-card[data-today-after=true][data-v-b4f33962]{margin-bottom:22px;position:relative}.queue-card[data-today-after=true][data-v-b4f33962]:after{content:"today";position:absolute;left:0;right:0;bottom:-18px;border-top:1px solid var(--color-accent);color:var(--color-accent);font-size:.58rem;text-transform:uppercase;letter-spacing:.07em;padding-top:2px;pointer-events:none}.queue-card[data-done=true][data-v-b4f33962]{opacity:.55}.btn-card-step[data-v-b4f33962]{background:transparent;border:none;color:var(--color-text-faint);cursor:pointer;font-size:.7rem;padding:0 2px;line-height:1;flex-shrink:0}.btn-card-step[data-v-b4f33962]:hover{color:var(--color-accent-hover)}.btn-card-done[data-v-b4f33962]{font-size:.8rem}.btn-card-done[data-v-b4f33962]:hover{color:var(--color-success)}.body[data-v-059aa403]{display:flex;flex-direction:column;gap:10px}.lede[data-v-059aa403]{margin:0;font-size:.82rem;color:var(--color-text-default)}.hint[data-v-059aa403],.aside[data-v-059aa403]{margin:0;font-size:.74rem;color:var(--color-text-muted);line-height:1.45}.aside[data-v-059aa403]{padding:8px 10px;background:var(--color-bg-surface-alt);border-left:2px solid var(--color-btn-secondary-border);border-radius:3px}.choice[data-v-059aa403]{display:flex;gap:9px;align-items:flex-start;padding:9px 11px;border:1px solid var(--color-border);border-radius:5px;cursor:pointer;font-size:.78rem;line-height:1.45}.choice[data-picked=true][data-v-059aa403]{border-color:var(--color-accent);background:var(--color-tint-blue)}.choice em[data-v-059aa403]{display:block;color:var(--color-text-muted);font-size:.72rem;font-style:normal;margin-top:2px}.hours-row[data-v-059aa403]{display:flex;align-items:flex-end;gap:10px;font-size:.76rem;color:var(--color-text-muted)}.hours-row label[data-v-059aa403]{display:flex;flex-direction:column;gap:4px}.planned[data-v-059aa403]{padding-bottom:7px}.input[data-v-059aa403]{padding:5px 8px;background:var(--color-input-bg);color:var(--color-input-text);border:1px solid var(--color-input-border);border-radius:4px;font-size:.8rem;width:110px}.resource-queue-page[data-v-e4746112]{height:100%;display:flex;flex-direction:column;overflow:hidden;padding:10px 20px 0;color:var(--color-text-default)}.page-header[data-v-e4746112]{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:6px;flex-wrap:wrap;flex-shrink:0}.header-left h2[data-v-e4746112]{margin:4px 0 2px;font-size:1.1rem;color:var(--color-text-primary)}.back-link[data-v-e4746112]{font-size:.75rem;color:var(--color-text-muted);text-decoration:none}.back-link[data-v-e4746112]:hover{color:var(--color-accent-hover)}.subtitle[data-v-e4746112]{font-size:.75rem;color:var(--color-text-muted);display:block;max-width:620px;line-height:1.4}.header-right[data-v-e4746112]{display:flex;align-items:center;gap:8px}.toggle[data-v-e4746112]{display:flex;align-items:center;gap:5px;font-size:.75rem;color:var(--color-text-muted);cursor:pointer;white-space:nowrap}.sel-pill[data-v-e4746112]{display:inline-flex;align-items:center;gap:4px;padding:3px 4px 3px 9px;font-size:.72rem;white-space:nowrap;color:var(--color-tint-blue-text);background:var(--color-tint-blue);border:1px solid var(--color-tint-blue-border);border-radius:12px}.sel-clear[data-v-e4746112]{padding:0 4px;background:none;border:0;color:inherit;font-size:.9rem;line-height:1;cursor:pointer;opacity:.7}.sel-clear[data-v-e4746112]:hover{opacity:1}.input[data-v-e4746112]{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;min-width:220px}.input[data-v-e4746112]:focus{outline:none;border-color:var(--color-accent-hover)}.btn-secondary[data-v-e4746112]{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:.8rem;cursor:pointer}.btn-secondary[data-v-e4746112]:disabled{opacity:.5;cursor:not-allowed}.error-banner[data-v-e4746112]{margin-bottom:12px;padding:8px 12px;background:var(--color-tint-red);color:var(--color-tint-red-text);border-left:3px solid var(--color-danger);border-radius:3px;font-size:.8rem}.empty-state[data-v-e4746112]{padding:40px;text-align:center;color:var(--color-text-muted);font-size:.85rem}.move-also[data-v-e4746112]{font-style:normal;color:var(--color-text-faint);font-size:.66rem}.adhoc-form .fld[data-v-e4746112]{display:flex;flex-direction:column;gap:3px;margin-bottom:10px;font-size:.72rem;color:var(--color-text-muted)}.adhoc-form .fld em[data-v-e4746112]{font-style:italic;color:var(--color-text-faint)}.adhoc-form .fld select[data-v-e4746112],.adhoc-form .fld input[data-v-e4746112]{background:var(--color-input-bg, var(--color-bg-surface));border:1px solid var(--color-border);border-radius:4px;color:var(--color-text-default);padding:5px 8px;font-size:.78rem}.adhoc-form .fld-row[data-v-e4746112]{display:flex;gap:10px}.adhoc-form .fld-row .fld[data-v-e4746112]{flex:1}.legend[data-v-e4746112]{display:flex;gap:18px;flex-wrap:wrap;padding:3px 0 6px;font-size:.68rem;line-height:1.3;color:var(--color-text-muted);flex-shrink:0}.lg[data-v-e4746112]{display:flex;align-items:flex-start;gap:6px;flex:1 1 320px}.sw[data-v-e4746112]{flex:0 0 auto;width:4px;align-self:stretch;min-height:14px;border-radius:2px;margin-top:1px}.sw-break[data-v-e4746112]{background:var(--color-break-line)}.sw-contend[data-v-e4746112]{background:var(--color-contend-line)}.sw-muted[data-v-e4746112]{background:var(--color-btn-secondary-border)}.board[data-v-e4746112]{display:flex;gap:14px;align-items:flex-start;overflow-x:auto;padding-bottom:12px;flex:1;min-height:0}.move-banner[data-v-e4746112]{margin:0 0 10px;padding:8px 10px;background:var(--color-tint-blue);color:var(--color-tint-blue-text);border:1px solid var(--color-tint-blue-border);border-radius:4px;font-size:.78rem;line-height:1.4}.hint[data-v-e4746112]{font-size:.78rem;color:var(--color-text-muted);margin:0}.summary[data-v-e4746112]{font-size:.8rem;margin:0 0 10px}.warn[data-v-e4746112]{color:var(--color-warn-soft);margin-left:6px}.good[data-v-e4746112]{color:var(--color-success);margin-left:6px}.move-list[data-v-e4746112]{list-style:none;margin:0;padding:0;font-size:.72rem}.move-list li[data-v-e4746112]{display:flex;gap:10px;padding:4px 6px;border-bottom:1px solid var(--color-border);color:var(--color-text-muted)}.move-list li.imminent[data-v-e4746112]{background:var(--color-tint-orange);color:var(--color-warn-soft)}.move-list li.overrun[data-v-e4746112]{font-weight:600;color:var(--color-tint-red-text)}.move-list li.resolved[data-v-e4746112]{color:var(--color-success)}.move-so[data-v-e4746112]{flex:0 0 82px;font-variant-numeric:tabular-nums;color:var(--color-text-faint);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.move-task[data-v-e4746112]{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.move-dates[data-v-e4746112]{font-variant-numeric:tabular-nums;flex:0 0 212px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.d-was[data-v-e4746112]{color:var(--color-text-faint)}.d-arr[data-v-e4746112]{color:var(--color-text-faint);padding:0 3px}.move-delta[data-v-e4746112]{font-style:normal;margin-left:6px}.move-delta.worse[data-v-e4746112]{color:var(--color-warn-soft)}.move-delta.better[data-v-e4746112]{color:var(--color-success)}.move-list li.overrun .move-delta[data-v-e4746112],.move-list li.resolved .move-delta[data-v-e4746112]{color:inherit}.move-head[data-v-e4746112]{display:flex;gap:10px;padding:0 6px 3px;font-size:.62rem;text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-faint);border-bottom:1px solid var(--color-border)}.sr-page[data-v-7d774d06]{max-width:none;margin:0;padding:1.5rem 1.25rem 3rem;display:flex;flex-direction:column;gap:1.25rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:var(--color-text-default)}.sr-topbar[data-v-7d774d06]{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;flex-wrap:wrap}.sr-title[data-v-7d774d06]{margin:0;font-size:1.35rem;font-weight:650;color:var(--color-text-primary)}.sr-subtitle[data-v-7d774d06]{margin:.15rem 0 0;font-size:.8rem;color:var(--color-text-muted)}.sr-content[data-v-7d774d06]{display:flex;flex-direction:column;gap:1.75rem}.sr-card[data-v-7d774d06]{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.sr-card-head[data-v-7d774d06]{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1.1rem;border-bottom:1px solid var(--color-border)}.sr-card-title[data-v-7d774d06]{margin:0;font-size:.95rem;font-weight:600;color:var(--color-text-primary)}.sr-card-title-group[data-v-7d774d06]{display:flex;align-items:baseline;gap:.6rem}.sr-card-tools[data-v-7d774d06]{display:flex;align-items:center;gap:.75rem}.sr-card-note[data-v-7d774d06]{font-size:.78rem;color:var(--color-text-faint);white-space:nowrap}.sr-filterbar[data-v-7d774d06]{padding:.5rem 1.1rem;border-bottom:1px solid var(--color-border)}.sr-state[data-v-7d774d06]{padding:3rem 1rem;text-align:center;font-size:.9rem;color:var(--color-text-muted)}.sr-state.error[data-v-7d774d06]{color:var(--color-danger)}.sr-empty[data-v-7d774d06]{text-align:center;color:var(--color-text-muted);padding:2rem 1rem}.sr-band-name[data-v-7d774d06]{font-weight:700;color:var(--color-text-primary)}.sr-band-note[data-v-7d774d06]{font-size:.75rem;color:var(--color-text-muted)}.sr-kpis[data-v-7d774d06]{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr))}.sr-kpi--revenue[data-v-7d774d06]{grid-column:span 2;gap:.75rem}.sr-kpi[data-v-7d774d06]{background:var(--color-bg-surface);border:1px solid var(--color-border);border-left:4px solid var(--color-border);border-radius:10px;padding:.8rem 1rem;display:flex;flex-direction:column;gap:.2rem}.sr-kpi-value[data-v-7d774d06]{font-size:1.45rem;font-weight:700;color:var(--color-text-primary);font-variant-numeric:tabular-nums}.sr-kpi-money[data-v-7d774d06]{font-size:1.15rem}.sr-kpi-label[data-v-7d774d06]{font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted);display:inline-flex;align-items:center;gap:.3rem}.sr-kpi.accent-red[data-v-7d774d06]{border-left-color:var(--color-tint-red-border)}.sr-kpi.accent-green[data-v-7d774d06]{border-left-color:var(--color-tint-green-border)}.sr-kpi.accent-orange[data-v-7d774d06]{border-left-color:var(--color-tint-amber-text)}.sr-kpi.accent-yellow[data-v-7d774d06]{border-left-color:var(--color-tint-yellow-text)}.sr-kpi.accent-blue[data-v-7d774d06]{border-left-color:var(--color-tint-blue-border)}.sr-info-btn[data-v-7d774d06]{border:1px solid var(--color-border);background:var(--color-bg-surface-alt);color:var(--color-text-muted);width:1rem;height:1rem;border-radius:50%;font-size:.62rem;font-weight:700;line-height:1;cursor:help;padding:0}.report-page[data-v-f91a3ce1]{height:100%;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.75rem}.report-table-wrap[data-v-f91a3ce1]{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0}.report-state[data-v-f91a3ce1]{flex:1;display:flex;align-items:center;justify-content:center;color:#6b7280}.report-state.error[data-v-f91a3ce1]{color:#b91c1c}.toggle[data-v-f91a3ce1]{display:inline-flex;align-items:center;gap:.3rem;font-size:.75rem;color:var(--color-text-default);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle input[data-v-f91a3ce1]{margin:0;cursor:pointer}.so-detail-link[data-v-f91a3ce1]{color:var(--color-accent);text-decoration:none}.so-detail-link[data-v-f91a3ce1]:hover{color:var(--color-accent-hover);text-decoration:underline}@keyframes report-row-flash-f91a3ce1{0%{background-color:color-mix(in srgb,var(--color-accent) 35%,transparent)}to{background-color:transparent}}.table-row.report-row-highlight[data-v-f91a3ce1]{animation:report-row-flash-f91a3ce1 1.6s ease-out;outline:2px solid var(--color-accent);outline-offset:-2px}.col-note[data-v-f91a3ce1]{width:260px;flex-shrink:0}.report-tabs[data-v-f91a3ce1]{display:inline-flex;gap:.25rem;padding:.25rem;background:var(--color-bg-surface-alt);border-radius:10px}.report-tab[data-v-f91a3ce1]{border:none;background:transparent;padding:.45rem .95rem;cursor:pointer;font:inherit;font-size:.82rem;font-weight:500;color:var(--color-text-muted);border-radius:7px;transition:background .12s,color .12s}.report-tab[data-v-f91a3ce1]:hover{color:var(--color-text-primary)}.report-tab.active[data-v-f91a3ce1]{background:var(--color-bg-surface);color:var(--color-text-primary);box-shadow:0 1px 2px #00000014}.sr-page .sr-grid{--vis-row-height: 2rem;--grid-cell-padding: .25rem .8rem;--grid-header-padding: .5rem .8rem;font-size:.8rem}.sr-page .table-head{background:var(--color-bg-surface-alt);color:var(--color-text-primary);text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid var(--color-border)}.sr-page .table-head .th.col-rownum,.sr-page .table-head .th.col-sticky{background:var(--color-bg-surface-alt);color:var(--color-text-primary)}.sr-page .table-head .th.sortable:hover,.sr-page .table-head .th.sorted{background:var(--color-bg-hover)}.sr-page .table-head .sort-arrow,.sr-page .table-head .th-filter-btn{color:var(--color-text-faint, #cbd5e1)}.sr-page .table-head .th.sorted .sort-arrow,.sr-page .table-head .th-filter-btn:hover{color:var(--color-text-primary)}.sr-page .table-head .th-filter-btn.active{color:var(--color-accent, #2563eb)}.sr-page .table-row:hover .td{background-color:var(--color-bg-surface-alt)}.sr-page .mono{font-variant-numeric:tabular-nums}.sr-page .strong{font-weight:600}.sr-page .col-month,.sr-page .col-person{width:130px;flex-shrink:0}.sr-page .col-status-wide{width:140px;flex-shrink:0}.sr-page .col-qty{width:96px;flex-shrink:0}.sr-page .col-qty-wide{width:130px;flex-shrink:0}.sr-page .col-product-type{width:140px;flex-shrink:0}.sr-page .col-meter{width:180px;flex-shrink:0}.sr-page .sr-grid-footer{height:auto;overflow:hidden;border-top:2px solid var(--color-border)}.sr-page .sr-total .td{font-weight:700;background:var(--color-bg-surface-alt)}.sr-page .sr-band .td{background:var(--color-bg-surface-alt);border-top:2px solid var(--color-border)}.sr-page .sr-band .td.col-sono{font-family:inherit;font-size:inherit;gap:.75rem}.sr-page .sr-link{border:none;background:none;padding:0;cursor:pointer;font:inherit;color:var(--color-accent);font-weight:600}.sr-page .sr-link:hover{text-decoration:underline}.sr-page .sr-meter{display:flex;align-items:center;gap:.5rem;width:100%}.sr-page .sr-meter-track{flex:1;height:6px;border-radius:3px;background:var(--color-bg-surface-alt);overflow:hidden}.sr-page .sr-meter-fill{height:100%;border-radius:3px;background:var(--color-accent)}.sr-page .sr-meter-label{font-size:.72rem;font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.cr-customer-search[data-v-a0b39565]{flex-basis:100%}.cr-customer-list[data-v-a0b39565]{margin-top:4px;max-height:260px;overflow-y:auto;background:var(--color-bg-surface);border:1px solid var(--color-input-border);border-radius:4px;box-shadow:var(--shadow-md)}.cr-customer-option[data-v-a0b39565]{display:flex;gap:12px;width:100%;padding:6px 10px;white-space:nowrap;overflow:hidden;border:0;background:none;font:inherit;font-size:13px;color:var(--color-text-default);text-align:left;cursor:pointer}.cr-customer-option[data-v-a0b39565]:hover,.cr-customer-option[data-v-a0b39565]:focus{background:var(--color-tint-blue)}.cr-customer-no[data-v-a0b39565]{flex:0 0 80px;font-weight:600;color:var(--color-text-muted)}.cr-customer-option span[data-v-a0b39565]:last-child{overflow:hidden;text-overflow:ellipsis}.modal-header .heading h2[data-v-a38f3704]{margin-bottom:2px}.modal-header .cr-hint[data-v-a38f3704]{margin-bottom:1rem}.body[data-v-a38f3704]{display:flex;flex-direction:column;gap:12px;font-size:.8125rem}.cr-error[data-v-a38f3704]{color:var(--color-danger);font-size:.75rem;padding:.25rem .75rem}.cr-warnings[data-v-a38f3704]{margin:.5rem .75rem 0;padding:.35rem .75rem;font-size:.75rem;border:1px solid var(--color-tint-amber-text);border-radius:6px;background:var(--color-tint-amber);color:var(--color-tint-amber-text)}.cr-warnings summary[data-v-a38f3704]{cursor:pointer;font-weight:600}.cr-warnings ul[data-v-a38f3704]{margin:.25rem 0 0;padding-left:1.25rem}.cr-stat-grid[data-v-a38f3704]{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:8px}.cr-stat[data-v-a38f3704]{border:1px solid var(--color-border);border-radius:8px;padding:8px 10px;background:var(--color-bg-surface-alt)}.cr-stat-n[data-v-a38f3704]{font-size:18px;font-weight:700}.cr-stat-l[data-v-a38f3704]{font-size:11.5px;color:var(--color-text-muted)}.cr-form-row[data-v-a38f3704]{display:flex;gap:12px;flex-wrap:wrap}.cr-form-row label[data-v-a38f3704]{display:flex;flex:1 1 240px;flex-direction:column;gap:3px;font-size:12px;color:var(--color-text-muted)}.cr-form-row[data-v-a38f3704] input{width:100%;box-sizing:border-box;font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--color-input-border);border-radius:4px;background:var(--color-bg-surface);color:var(--color-text-default)}.cr-hint[data-v-a38f3704]{font-size:12px;color:var(--color-text-muted)}.cr-hint.warn[data-v-a38f3704]{color:var(--color-warn)}.cr-check[data-v-a38f3704]{display:flex;align-items:flex-start;gap:.5rem;font-size:12px;color:var(--color-text-default)}.cr-check input[data-v-a38f3704]{margin-top:2px}.cr-seg[data-v-a38f3704]{display:inline-flex;border:1px solid var(--color-border);border-radius:4px;overflow:hidden}.cr-seg button[data-v-a38f3704]{font:inherit;font-size:.75rem;padding:4px 12px;border:0;background:var(--color-bg-surface);color:var(--color-text-muted);cursor:pointer}.cr-seg button+button[data-v-a38f3704]{border-left:1px solid var(--color-border)}.cr-seg button.active[data-v-a38f3704]{background:var(--color-accent);color:#fff}.cr-form-row select[data-v-a38f3704]{width:100%;box-sizing:border-box;font:inherit;font-size:13px;padding:6px 8px;border:1px solid var(--color-input-border);border-radius:4px;background:var(--color-bg-surface);color:var(--color-text-default)}.cr-page{height:100%;min-height:0;overflow-y:auto}.cr-page .cr-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.5rem .75rem;border-bottom:1px solid var(--color-border);background:var(--color-bg-surface-alt);font-size:.75rem}.cr-page .cr-toolbar-spacer{flex:1}.cr-page .cr-crumb{color:var(--color-accent);text-decoration:none;font-size:.75rem}.cr-page .cr-crumb:hover{text-decoration:underline}.cr-page .cr-crumb-current{font-size:.75rem;font-weight:600;color:var(--color-text-primary)}.cr-page .cr-title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;padding:.5rem .75rem .25rem}.cr-page .cr-title{margin:0;font-size:1.125rem;font-weight:700;color:var(--color-text-primary)}.cr-page .cr-title-input{font:inherit;font-size:1.125rem;font-weight:700;color:var(--color-text-primary);background:transparent;border:1px solid transparent;border-radius:4px;padding:2px 6px;min-width:320px}.cr-page .cr-title-input:hover{border-color:var(--color-input-border)}.cr-page .cr-title-input:focus{border-color:var(--color-accent);background:var(--color-bg-surface);outline:none}.cr-page .cr-settings{display:flex;gap:.75rem;flex-wrap:wrap;padding:.25rem .75rem .5rem}.cr-page .cr-history{margin:.5rem .75rem 0;padding:.35rem .75rem;font-size:.75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-surface-alt)}.cr-page .cr-history summary{cursor:pointer;font-weight:600}.cr-page .cr-history summary .cr-sub{margin-left:.5rem;font-weight:400}.cr-page .cr-history ul{list-style:none;margin:.25rem 0 .35rem;padding:0}.cr-page .cr-history li{display:flex;gap:.75rem;padding:2px 0}.cr-page .cr-history li.current .cr-history-line{font-weight:600}.cr-page .cr-sub{color:var(--color-text-muted);font-size:.75rem}.cr-page .cr-field{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;color:var(--color-text-muted)}.cr-page .cr-field input,.cr-page .cr-field select{font:inherit;font-size:.75rem;padding:2px 6px;border:1px solid var(--color-input-border);border-radius:4px;background:var(--color-bg-surface);color:var(--color-text-default)}.cr-page .cr-field input.wide{width:240px}.cr-page .cr-btn{font:inherit;font-size:.75rem;padding:3px 10px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-bg-surface);color:var(--color-text-default);cursor:pointer;white-space:nowrap}.cr-page .cr-btn:hover{background:var(--color-bg-hover)}.cr-page .cr-btn.primary{background:var(--color-accent);border-color:var(--color-accent);color:#fff}.cr-page .cr-btn.danger{color:var(--color-danger)}.cr-page .cr-btn.small{padding:1px 6px;font-size:.6875rem}.cr-page .cr-btn.cr-sent{color:var(--color-success);border-color:var(--color-success)}.cr-page .cr-sent-line{color:var(--color-success)}.cr-page .cr-btn:disabled{opacity:.55;cursor:default}.cr-page .cr-link{border:none;background:none;padding:0;font:inherit;color:var(--color-accent);cursor:pointer}.cr-page .cr-link:hover{text-decoration:underline}.cr-page .cr-pill{display:inline-block;padding:1px 8px;border-radius:999px;font-size:.6875rem;font-weight:600;background:var(--cs-bg, var(--color-bg-surface-alt));color:var(--cs-text, var(--color-text-muted))}.cr-page .cr-share{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem}.cr-page .cr-share code{font-size:.6875rem;max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cr-page .cr-error{color:var(--color-danger);font-size:.75rem;padding:.25rem .75rem}.cr-page .cr-banner{padding:.35rem .75rem;font-size:.75rem;background:var(--color-tint-amber);color:var(--color-tint-amber-text)}.cr-page .cr-tabs{display:flex;gap:.25rem;padding:.35rem .75rem 0;border-bottom:1px solid var(--color-border)}.cr-page .cr-tab{font:inherit;font-size:.75rem;padding:.35rem .75rem;border:1px solid transparent;border-bottom:none;border-radius:6px 6px 0 0;background:none;color:var(--color-text-muted);cursor:pointer}.cr-page .cr-tab.active{color:var(--color-text-primary);font-weight:600;border-color:var(--color-border);background:var(--color-bg-surface);margin-bottom:-1px}.cr-page .cr-grid{--vis-row-height: 2rem;border:1px solid var(--color-border);border-radius:6px;overflow:hidden;margin:.5rem .75rem;font-size:.75rem}.cr-page .cr-preview{display:flex;flex-direction:column;flex:1;min-height:60vh;margin:.5rem .75rem;border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.cr-page .cr-warnings{margin:.5rem .75rem 0;padding:.35rem .75rem;font-size:.75rem;border:1px solid var(--color-tint-amber-text);border-radius:6px;background:var(--color-tint-amber);color:var(--color-tint-amber-text)}.cr-page .cr-warnings summary{cursor:pointer;font-weight:600}.cr-page .cr-warnings ul{margin:.25rem 0 0;padding-left:1.25rem}.cr-page .td.edited{box-shadow:inset 3px 0 0 var(--color-accent);background:var(--color-tint-blue)}.cr-page .cr-cell-input{width:100%;min-width:0;font:inherit;font-size:.75rem;padding:1px 4px;border:1px solid transparent;border-radius:3px;background:transparent;color:inherit}.cr-page .cr-cell-input:hover{border-color:var(--color-input-border)}.cr-page .cr-cell-input:focus{border-color:var(--color-accent);background:var(--color-bg-surface);outline:none}.cr-page .td.num .cr-cell-input{text-align:right}.cr-page .cr-clear{border:none;background:none;color:var(--color-text-muted);font-size:.6875rem;cursor:pointer;padding:0 4px}.cr-page .cr-clear:hover{color:var(--color-danger)}.cr-page .cr-row-hidden .td:not(.col-rownum){opacity:.45;text-decoration:line-through}.cr-page .cr-band .td{background:var(--color-bg-surface-alt);border-top:2px solid var(--color-border);font-weight:700}.cr-page .cr-band-note{margin-left:.75rem;font-weight:400;color:var(--color-text-muted)}.cr-page .cr-actions{display:flex;gap:.35rem;align-items:center}.cr-page .cr-seg{display:inline-flex;border:1px solid var(--color-border);border-radius:4px;overflow:hidden}.cr-page .cr-seg button{font:inherit;font-size:.75rem;padding:4px 12px;border:0;background:var(--color-bg-surface);color:var(--color-text-muted);cursor:pointer}.cr-page .cr-seg button+button{border-left:1px solid var(--color-border)}.cr-page .cr-seg button.active{background:var(--color-accent);color:#fff}.sandboxed-html[data-v-05ad2825]{flex:1 1 auto;width:100%;min-height:0;border:0;display:block}.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}.modal-header .heading h2[data-v-38bc22e7]{margin-bottom:.25rem}.heading p[data-v-38bc22e7]{margin:0 0 1rem;font-size:.78rem;color:var(--color-text-muted, #6b7280)}.crop-area[data-v-38bc22e7]{position:relative;height:360px;background:#111;border-radius:8px;overflow:hidden;cursor:crosshair;-webkit-user-select:none;user-select:none}.crop-img[data-v-38bc22e7]{position:absolute;pointer-events:none}.sel-box[data-v-38bc22e7]{position:absolute;border:2px solid #27c2a0;box-shadow:0 0 0 9999px #00000073;cursor:move}.handle.br[data-v-38bc22e7]{position:absolute;right:-6px;bottom:-6px;width:12px;height:12px;background:#27c2a0;border:2px solid #fff;border-radius:2px;cursor:nwse-resize}.search-field[data-v-8c12dfb8]{display:flex;flex-direction:column;gap:.3rem;position:relative}.search-field label[data-v-8c12dfb8]{font-size:.75rem;font-weight:600;color:var(--color-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.03em}.search-field input[data-v-8c12dfb8]{padding:.5rem .6rem;border:1px solid var(--color-border, #d1d5db);border-radius:5px;font-size:.9rem;background:var(--color-bg-surface);color:var(--color-text-primary)}.dropdown[data-v-8c12dfb8]{position:absolute;top:100%;left:0;right:0;z-index:50;background:var(--color-bg-surface);border:1px solid var(--color-border, #d1d5db);border-radius:6px;margin-top:2px;box-shadow:0 8px 20px #00000026;max-height:280px;overflow-y:auto}.dropdown-item[data-v-8c12dfb8]{display:flex;flex-direction:column;gap:1px;width:100%;text-align:left;border:none;background:transparent;padding:.45rem .7rem;cursor:pointer}.dropdown-item[data-v-8c12dfb8]:hover:not(:disabled){background:var(--color-bg-surface-alt)}.dropdown-item[data-v-8c12dfb8]:disabled{opacity:.5;cursor:default}.di-name[data-v-8c12dfb8]{font-size:.88rem;color:var(--color-text-primary)}.di-meta[data-v-8c12dfb8]{font-size:.72rem;color:var(--color-text-muted, #6b7280)}.di-status[data-v-8c12dfb8]{font-size:.68rem;color:var(--color-text-muted, #6b7280)}.di-status.inactive[data-v-8c12dfb8]{color:var(--color-warn, #d97706);font-weight:600}.certs[data-v-bb2b9359]{display:flex;flex-wrap:wrap;gap:.4rem}.cert-chip[data-v-bb2b9359]{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .6rem;border:1px solid var(--color-border, #d1d5db);border-radius:999px;font-size:.82rem;cursor:pointer;background:var(--color-bg-surface)}.photo-row[data-v-af8c1012]{display:flex;align-items:center;gap:.6rem;font-size:.85rem}.photo-thumb[data-v-af8c1012]{width:44px;height:44px;object-fit:cover;border-radius:4px;border:1px solid var(--color-border, #d1d5db)}.no-photo[data-v-af8c1012]{color:#b91c1c;font-size:.78rem}.btn-link[data-v-af8c1012]{border:none;background:transparent;color:#2563eb;cursor:pointer;font-size:.78rem;padding:0}.hint[data-v-af8c1012]{margin:0;font-size:.75rem;color:var(--color-text-muted, #9ca3af)}.preview-col[data-v-6e4375dd]{position:sticky;top:1rem}.pdf-frame[data-v-6e4375dd]{width:100%;height:640px;border:1px solid var(--color-border, #d1d5db);border-radius:8px;background:#fff}.pdf-empty[data-v-6e4375dd]{height:640px;border:1px dashed var(--color-border, #d1d5db);border-radius:8px;font-size:.9rem;text-align:center;padding:1rem}.selected-list[data-v-135256e8]{display:flex;flex-direction:column;gap:.7rem;max-height:520px;overflow-y:auto}.emp-card[data-v-135256e8]{border:1px solid var(--color-border, #e5e7eb);border-radius:8px;padding:.7rem;display:flex;flex-direction:column;gap:.55rem;background:var(--color-bg-surface)}.emp-card-head[data-v-135256e8]{display:flex;align-items:center;justify-content:space-between;font-size:1rem}.emp-card-grid[data-v-135256e8]{display:grid;grid-template-columns:1fr 1fr;gap:.4rem}.emp-card-grid input[data-v-135256e8]{padding:.5rem .6rem;border:1px solid var(--color-border, #d1d5db);border-radius:5px;font-size:.82rem;background:var(--color-bg-surface);color:var(--color-text-primary)}.btn-link[data-v-135256e8]{border:none;background:transparent;color:#2563eb;cursor:pointer;font-size:.78rem;padding:0}.badge-page[data-v-054f5bdf]{max-width:1200px;margin:0 auto;width:100%}.tabs[data-v-054f5bdf]{display:flex;gap:2px;background:var(--color-bg-surface-alt);padding:3px;border-radius:6px}.tabs button[data-v-054f5bdf]{border:none;background:transparent;padding:.4rem 1rem;border-radius:4px;cursor:pointer;font-size:.85rem;color:var(--color-text-muted, #6b7280)}.tabs button.active[data-v-054f5bdf]{background:var(--color-bg-surface);color:var(--color-text-primary);font-weight:600;box-shadow:0 1px 2px #00000014}.mode-grid[data-v-054f5bdf]{display:grid;grid-template-columns:minmax(360px,1fr) minmax(320px,460px);gap:1.5rem;align-items:start;padding:1.25rem 1.5rem}.form-col[data-v-054f5bdf]{display:flex;flex-direction:column;gap:.85rem}.field[data-v-054f5bdf]{display:flex;flex-direction:column;gap:.3rem}.field label[data-v-054f5bdf]{font-size:.75rem;font-weight:600;color:var(--color-text-muted, #6b7280);text-transform:uppercase;letter-spacing:.03em}.field input[type=text][data-v-054f5bdf]{padding:.5rem .6rem;border:1px solid var(--color-border, #d1d5db);border-radius:5px;font-size:.9rem;background:var(--color-bg-surface);color:var(--color-text-primary)}.hint[data-v-054f5bdf]{margin:0;font-size:.75rem;color:var(--color-text-muted, #9ca3af)}.actions[data-v-054f5bdf]{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.4rem}.btn-primary[data-v-054f5bdf]{background:#27c2a0;color:#fff;border:none;font-weight:600;padding:.55rem 1.1rem;border-radius:6px;cursor:pointer}.btn-primary[data-v-054f5bdf]:disabled{background:#9fd8cb;cursor:default}.btn[data-v-054f5bdf],.btn-ghost[data-v-054f5bdf]{padding:.55rem .9rem;border-radius:6px;cursor:pointer;font-size:.85rem;border:1px solid var(--color-border, #d1d5db);background:var(--color-bg-surface);color:var(--color-text-primary)}.btn[data-v-054f5bdf]:disabled{opacity:.5;cursor:default}.btn-ghost[data-v-054f5bdf]{border-color:transparent;color:var(--color-text-muted, #6b7280)}.error[data-v-054f5bdf]{color:#b91c1c;font-size:.82rem;margin:0}.avatar[data-v-0109fb8d]{width:var(--avatar-size, 34px);height:var(--avatar-size, 34px);border-radius:50%;overflow:hidden;background:var(--color-bg-surface-alt);display:flex;align-items:center;justify-content:center;flex-shrink:0}.avatar-img[data-v-0109fb8d]{width:100%;height:100%;object-fit:cover}.avatar-initials[data-v-0109fb8d]{font-size:var(--avatar-initials-size, .7rem);font-weight:600;color:var(--color-text-muted)}.roster-page{background:var(--color-bg-page);color:var(--color-text-default)}.roster-page .filter-input{height:30px;padding:0 .6rem;border:1px solid var(--color-input-border);border-radius:6px;background:var(--color-input-bg);color:var(--color-input-text);font-size:.8rem}.roster-page .btn-secondary{padding:.3rem .75rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-surface);color:var(--color-text-primary);text-decoration:none;font-size:.8rem;cursor:pointer;white-space:nowrap;transition:background .15s}.roster-page .btn-secondary:hover{background:var(--color-bg-hover)}.roster-page .report-table-wrap{--vis-row-height: 2.75rem;--avatar-size: 30px;overflow:hidden}.roster-page .roster-row:hover{background:var(--color-table-row-hover)}.roster-page .col-photo{width:48px;flex-shrink:0}.roster-page .col-id{width:70px;flex-shrink:0;color:var(--color-text-muted)}.roster-page .col-name,.roster-page .col-title,.roster-page .col-dept,.roster-page .col-reviewer{flex:1 1 160px}.roster-page .col-status{width:140px;flex-shrink:0}.roster-page .col-punches{width:80px;flex-shrink:0;color:var(--color-text-muted)}.roster-page .col-action{width:110px;flex-shrink:0;justify-content:flex-end}.roster-page .emp-name{font-weight:500;color:var(--color-text-primary);text-decoration:none}.roster-page .emp-name:hover{color:var(--color-accent-hover);text-decoration:underline}.roster-page .btn-link{background:none;border:none;color:var(--color-accent);cursor:pointer;font-size:.8rem;padding:0}.roster-page .btn-link:hover{text-decoration:underline}.period-btns[data-v-d7078f2f]{display:flex;border:1px solid var(--color-border);border-radius:6px;overflow:hidden}.btn-pnav[data-v-d7078f2f]{padding:.3rem .7rem;border:none;border-right:1px solid var(--color-border);background:var(--color-bg-surface);cursor:pointer;font-size:.78rem;color:var(--color-text-default);transition:background .1s}.btn-pnav[data-v-d7078f2f]:last-child{border-right:none}.btn-pnav[data-v-d7078f2f]:disabled{opacity:.4;cursor:default}.btn-pnav[data-v-d7078f2f]:not(:disabled):hover{background:var(--color-bg-hover)}.punch-flag[data-v-840fc9a2]{display:inline-flex;align-items:center;justify-content:center;width:1rem;height:1rem;border-radius:50%;background:var(--color-danger);color:#fff;font-size:.65rem;font-weight:700;line-height:1;cursor:help;flex-shrink:0}.alloc-ongoing-list[data-v-a481aa42]{display:flex;flex-direction:column;gap:.35rem;margin-bottom:.5rem}.alloc-ongoing[data-v-a481aa42]{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .55rem;font-size:.8rem;color:var(--color-tint-blue-text, #1d4ed8);background:var(--color-tint-blue, #eaf1ff);border:1px solid var(--color-tint-blue-border, #cfe0ff);padding:.45rem .6rem;border-radius:6px}.alloc-ongoing-icon[data-v-a481aa42]{color:#2e7d32;font-size:.7rem;line-height:1}.alloc-ongoing-text[data-v-a481aa42]{font-weight:500}.alloc-ongoing-so[data-v-a481aa42]{font-weight:700}.alloc-ongoing-hint[data-v-a481aa42]{margin-left:auto;font-size:.72rem;font-style:italic;opacity:.75}.alloc-completed[data-v-a481aa42]{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem .55rem;font-size:.8rem;color:var(--color-tint-green-text, #166534);background:var(--color-tint-green, #eaf7ee);border:1px solid var(--color-tint-green-border, #c6e6d0);padding:.45rem .6rem;border-radius:6px}.alloc-completed-icon[data-v-a481aa42]{font-size:.75rem;font-weight:700;line-height:1}.so-wrap[data-v-1d9a93a0]{position:relative}.so-dropdown[data-v-1d9a93a0]{position:absolute;top:calc(100% + 2px);left:0;z-index:100;background:var(--color-card-bg);border:1px solid var(--color-card-border);border-radius:6px;box-shadow:var(--shadow-md);max-height:200px;overflow-y:auto;min-width:300px}.so-option[data-v-1d9a93a0]{display:flex;gap:.6rem;align-items:baseline;padding:.35rem .6rem;cursor:pointer;font-size:.78rem}.so-option[data-v-1d9a93a0]:hover{background:var(--color-tint-blue)}.so-no[data-v-1d9a93a0]{font-weight:600;color:var(--color-accent-hover);flex-shrink:0}.so-cust[data-v-1d9a93a0]{color:var(--color-text-muted);font-size:.72rem}.alloc-row-item[data-v-98a8fd37]{display:grid;grid-template-columns:110px 140px 180px 1fr 150px 28px;gap:6px;align-items:center}.alloc-source-badge[data-v-98a8fd37]{display:inline-block;font-size:.68rem;font-weight:600;line-height:1.2;padding:.2rem .4rem;border-radius:4px;color:var(--color-tint-blue-text, #1d4ed8);background:var(--color-tint-blue, #dbeafe);white-space:nowrap}.alloc-source-badge.overridden[data-v-98a8fd37]{color:var(--color-text-muted, #64748b);background:var(--color-bg-surface-alt, #f1f5f9);font-weight:500}.alloc-source-manual[data-v-98a8fd37]{font-size:.68rem;color:var(--color-text-faint, #94a3b8)}.alloc-row-item[data-v-98a8fd37] .alloc-input{height:28px;padding:0 .5rem;border:1px solid var(--color-input-border);border-radius:5px;background:var(--color-input-bg);font-size:.78rem;color:var(--color-input-text);width:100%;box-sizing:border-box}.alloc-row-item[data-v-98a8fd37] .alloc-input:focus{outline:2px solid var(--color-accent);outline-offset:-1px;border-color:transparent}.input-locked[data-v-98a8fd37]{background:var(--color-bg-surface-alt);color:var(--color-text-muted);cursor:default}.alloc-customer[data-v-98a8fd37]{font-size:.72rem;color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.alloc-del[data-v-98a8fd37]{background:none;border:none;cursor:pointer;color:var(--color-text-faint);font-size:.75rem;padding:.15rem;border-radius:3px;line-height:1}.alloc-del[data-v-98a8fd37]:hover:not(:disabled){color:var(--color-danger);background:var(--color-tint-red)}.alloc-del[data-v-98a8fd37]:disabled{opacity:.3;cursor:default}.alloc-panel[data-v-75eef699]{padding:.75rem 1rem;display:flex;flex-direction:column;gap:.6rem;min-width:700px}.alloc-header[data-v-75eef699]{display:flex;align-items:center;justify-content:space-between}.alloc-title[data-v-75eef699]{font-weight:600;font-size:.82rem;color:var(--color-text-primary)}.alloc-close[data-v-75eef699]{background:none;border:none;cursor:pointer;font-size:.85rem;color:var(--color-text-muted);padding:.15rem .35rem;border-radius:4px}.alloc-close[data-v-75eef699]:hover{background:var(--color-bg-hover)}.alloc-loading[data-v-75eef699]{font-size:.8rem;color:var(--color-text-muted);padding:.5rem 0}.alloc-error[data-v-75eef699]{font-size:.78rem;color:var(--color-tint-red-text);background:var(--color-tint-red);padding:.35rem .5rem;border-radius:4px}.alloc-saved[data-v-75eef699]{font-size:.8rem;font-weight:600;color:var(--color-tint-green-text);background:var(--color-tint-green);padding:.35rem .6rem;border-radius:4px}.alloc-rows[data-v-75eef699]{display:flex;flex-direction:column;gap:4px}.alloc-row-header[data-v-75eef699]{display:grid;grid-template-columns:110px 140px 180px 1fr 150px 28px;gap:6px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);padding:0 2px}.alloc-actions[data-v-75eef699]{display:flex;align-items:center;gap:.5rem;padding-top:.25rem}.alloc-spacer[data-v-75eef699]{flex:1}.btn-alloc-add[data-v-75eef699]{padding:.25rem .6rem;border:1px dashed var(--color-tint-blue-border);border-radius:5px;background:transparent;font-size:.75rem;color:var(--color-accent);cursor:pointer}.btn-alloc-add[data-v-75eef699]:hover{background:var(--color-tint-blue)}.btn-alloc-save[data-v-75eef699]{padding:.3rem .9rem;border:none;border-radius:5px;background:var(--color-btn-primary);color:#fff;font-size:.78rem;font-weight:600;cursor:pointer}.btn-alloc-save[data-v-75eef699]:hover:not(:disabled){background:var(--color-btn-primary-hover)}.btn-alloc-save[data-v-75eef699]:disabled{opacity:.5;cursor:default}.tc-grid{--grid-cell-padding: .25rem .4rem;--grid-header-padding: .4rem .5rem;font-size:.8rem}.tc-grid .table-head{text-transform:uppercase;letter-spacing:.04em;font-size:.7rem}.tc-grid .table-head .th.col-day,.tc-grid .table-head .th.col-total{justify-content:center}.tc-grid .table-head .th.col-weekend{color:var(--color-text-faint)}.tc-grid .col-employee{width:190px;flex-shrink:0}.tc-grid .col-day{width:76px;flex-shrink:0;justify-content:center}.tc-grid .col-total{width:64px;flex-shrink:0;justify-content:center;border-left:1px solid var(--color-border);background:var(--color-bg-surface-alt);font-weight:700;font-size:.75rem;color:var(--color-text-primary)}.tc-grid .tc-emp{min-height:2.6rem}.tc-grid .tc-emp:hover .td:not(.col-rownum){background:var(--color-table-row-hover)}.tc-grid .tc-emp .td.col-day{cursor:pointer}.tc-grid .tc-emp .td.col-day:hover{background:var(--color-tint-indigo)}.tc-grid .tc-emp .td.day-weekend{background:var(--color-bg-surface-alt)}.tc-grid .tc-emp .td.day-flagged{background:var(--color-tint-amber)}.tc-grid .tc-emp .td.day-active{background:var(--color-tint-blue)}.tc-grid .tc-group .td,.tc-grid .tc-alloc .td{background:var(--color-bg-surface-alt)}.tc-grid .tc-group .td.col-employee{gap:.75rem;padding:.4rem .75rem;border-top:1px solid var(--color-border)}.tc-grid .tc-alloc .td.col-employee{display:block;padding:0;overflow:visible;white-space:normal;cursor:default;-webkit-user-select:text;user-select:text;background:var(--color-tint-blue);border-bottom:2px solid var(--color-tint-blue-border)}.tc-grid .alloc-host{width:100%}.tc-grid .group-reviewer{font-weight:600;font-size:.8rem;color:var(--color-text-primary)}.tc-grid .group-total{font-size:.73rem;color:var(--color-text-muted)}.tc-grid .emp-cell{display:flex;align-items:center;gap:.35rem;min-width:0}.tc-grid .avatar-sm{--avatar-size: 22px;--avatar-initials-size: .55rem}.tc-grid .emp-info{display:flex;flex-direction:column;line-height:1.2;min-width:0}.tc-grid .emp-name{font-weight:500;font-size:.75rem;color:var(--color-text-primary);overflow:hidden;text-overflow:ellipsis}.tc-grid .emp-name-link{text-decoration:none;color:inherit}.tc-grid .emp-name-link:hover{color:var(--color-accent-hover);text-decoration:underline}.tc-grid .emp-dept{font-size:.63rem;color:var(--color-text-faint)}.tc-grid .day-cell{display:flex;align-items:center;justify-content:center;gap:.25rem}.tc-grid .day-hours{font-weight:600;font-size:.78rem;color:var(--color-text-primary);line-height:1}.tc-grid .hours-high{color:var(--color-danger)}.tc-grid .day-empty{color:var(--color-text-faint);font-size:.75rem}.tc-grid .total-hrs{font-size:.75rem;font-weight:700}.tc-page[data-v-306dfdc8]{overflow:hidden;background:var(--color-bg-page)}.btn-secondary[data-v-306dfdc8]{padding:.3rem .7rem;border:1px solid var(--color-border);border-radius:6px;text-decoration:none;font-size:.78rem;color:var(--color-text-muted);background:transparent}.btn-secondary[data-v-306dfdc8]:hover{background:var(--color-bg-hover)}.period-nav[data-v-306dfdc8]{display:flex;align-items:center;justify-content:space-between;padding:.5rem 1.5rem;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border)}.period-range[data-v-306dfdc8]{display:flex;align-items:center;gap:.5rem}.period-dates[data-v-306dfdc8]{font-size:.95rem;font-weight:600;color:var(--color-text-primary)}.current-badge[data-v-306dfdc8]{font-size:.7rem;padding:.1rem .45rem;border-radius:4px;background:var(--color-tint-blue);color:var(--color-tint-blue-text);font-weight:500}.filter-input[data-v-306dfdc8]{height:30px;padding:0 .6rem;border:1px solid var(--color-input-border);border-radius:6px;background:var(--color-input-bg);color:var(--color-input-text);font-size:.8rem}.filter-chip[data-v-306dfdc8]{display:flex;align-items:center;gap:.3rem;padding:.15rem .5rem;background:var(--color-tint-blue);border:1px solid var(--color-tint-blue-border);border-radius:999px;font-size:.75rem;color:var(--color-tint-blue-text)}.chip-close[data-v-306dfdc8]{background:none;border:none;cursor:pointer;font-size:.85rem;color:var(--color-tint-blue-text);padding:0;line-height:1}.tc-scroll[data-v-306dfdc8]{padding:0 1.5rem 1rem}.tc-table-wrap[data-v-306dfdc8]{margin-top:1rem;border:1px solid var(--color-border);border-radius:7px;flex:1;min-height:0;overflow:hidden}.breakdown-table[data-v-1a3bc742]{width:100%;border-collapse:collapse;font-size:.8rem}.breakdown-table th[data-v-1a3bc742]{text-align:left;font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-faint);padding:.3rem .4rem;border-bottom:1px solid var(--color-border)}.breakdown-table td[data-v-1a3bc742]{padding:.4rem;border-bottom:1px solid var(--color-border-light)}.breakdown-table tfoot td[data-v-1a3bc742]{border-top:2px solid var(--color-border);border-bottom:none;font-weight:700;padding-top:.5rem}.col-swatch[data-v-1a3bc742]{width:18px}.swatch[data-v-1a3bc742]{display:inline-block;width:10px;height:10px;border-radius:2px}.num[data-v-1a3bc742]{text-align:right}.td-so[data-v-1a3bc742]{font-weight:600;color:var(--color-accent-hover)}.td-cust[data-v-1a3bc742]{color:var(--color-text-muted)}.td-hrs[data-v-1a3bc742]{font-variant-numeric:tabular-nums}.td-pct[data-v-1a3bc742]{color:var(--color-text-faint);font-variant-numeric:tabular-nums}.total-label[data-v-1a3bc742]{color:var(--color-text-default)}.total-hrs[data-v-1a3bc742]{font-variant-numeric:tabular-nums}.total-pct[data-v-1a3bc742]{color:var(--color-text-faint)}.ew-page[data-v-f91a3ce1]{overflow:hidden;background:var(--color-bg-page)}.ew-header[data-v-f91a3ce1]{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.5rem;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);gap:1rem;flex-shrink:0}.ew-header-left[data-v-f91a3ce1]{display:flex;align-items:center;gap:1.25rem}.btn-back[data-v-f91a3ce1]{padding:.3rem .7rem;border:1px solid var(--color-border);border-radius:6px;background:transparent;font-size:.78rem;color:var(--color-text-muted);cursor:pointer;white-space:nowrap}.btn-back[data-v-f91a3ce1]:hover{background:var(--color-bg-hover)}.emp-identity[data-v-f91a3ce1]{display:flex;align-items:center;gap:.6rem}.emp-identity .avatar[data-v-f91a3ce1]{--avatar-size: 36px}.emp-name[data-v-f91a3ce1]{font-size:.9rem;font-weight:600;color:var(--color-text-primary)}.emp-dept[data-v-f91a3ce1]{font-size:.72rem;color:var(--color-text-muted)}.period-nav[data-v-f91a3ce1]{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.period-label[data-v-f91a3ce1]{font-size:.9rem;font-weight:600;display:flex;align-items:center;gap:.4rem}.current-badge[data-v-f91a3ce1]{font-size:.68rem;padding:.1rem .4rem;border-radius:4px;background:var(--color-tint-blue);color:var(--color-tint-blue-text);font-weight:500}.ew-body[data-v-f91a3ce1]{flex:1;display:flex;flex-direction:column;overflow-y:auto;padding:1.5rem}.ew-empty[data-v-f91a3ce1]{margin:0;text-align:center;font-size:.9rem;line-height:1.7}.ew-empty-hint[data-v-f91a3ce1]{font-size:.8rem;color:var(--color-text-faint)}.days-strip[data-v-f91a3ce1]{display:flex;flex-wrap:wrap;gap:.5rem;width:100%;max-width:1100px;margin:0 auto 1.25rem;flex-shrink:0}.day-chip[data-v-f91a3ce1]{display:flex;align-items:center;gap:.4rem;padding:.3rem .6rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-bg-surface);font-size:.78rem}.day-chip-flagged[data-v-f91a3ce1]{background:var(--color-tint-amber);border-color:var(--color-tint-amber-border)}.day-chip-label[data-v-f91a3ce1]{color:var(--color-text-muted)}.day-chip-hours[data-v-f91a3ce1]{font-weight:600;color:var(--color-text-primary)}.content-grid[data-v-f91a3ce1]{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem;width:100%;max-width:1100px;margin:0 auto;flex-shrink:0}@media (max-width: 860px){.content-grid[data-v-f91a3ce1]{grid-template-columns:1fr}}.chart-card[data-v-f91a3ce1],.table-card[data-v-f91a3ce1]{background:var(--color-bg-surface);border:1px solid var(--color-border);border-radius:10px;padding:1.25rem}.card-title[data-v-f91a3ce1]{font-size:.88rem;font-weight:600;color:var(--color-text-primary);margin:0 0 1rem}.month-grid[data-v-563f35ed]{display:flex;flex-direction:column;min-height:100%;background:var(--color-bg-surface)}.dow-row[data-v-563f35ed]{display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--color-border);flex-shrink:0;position:sticky;top:0;background:var(--color-bg-surface);z-index:2}.dow-cell[data-v-563f35ed]{padding:6px 8px;font-size:.7rem;font-weight:600;color:var(--color-text-muted);text-transform:uppercase}.week-row[data-v-563f35ed]{position:relative;display:grid;grid-template-columns:repeat(7,1fr);border-bottom:1px solid var(--color-border);min-height:calc(30px + var(--lanes) * 20px + 24px)}.day-cell[data-v-563f35ed]{position:relative;border-right:1px solid var(--color-border-light);padding:2px 4px;overflow:hidden;cursor:pointer}.day-cell[data-v-563f35ed]:hover{background:var(--color-bg-hover)}.day-cell.other-month[data-v-563f35ed]{background:var(--color-bg-surface-alt)}.day-cell.other-month .day-num[data-v-563f35ed]{color:var(--color-text-faint)}.day-cell.nonwork[data-v-563f35ed]{background-image:repeating-linear-gradient(-45deg,transparent 0 6px,color-mix(in srgb,var(--color-text-faint) 12%,transparent) 6px 7px)}.day-cell.holiday .day-num[data-v-563f35ed]{color:var(--color-text-muted)}.holiday-tag[data-v-563f35ed]{margin-left:5px;font-size:.6rem;font-weight:500;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;vertical-align:2px}.day-cell.today .day-num[data-v-563f35ed]{background:var(--color-accent);color:#fff;border-radius:50%;width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center}.day-head[data-v-563f35ed]{height:24px;display:flex;align-items:center;min-width:0}.day-num[data-v-563f35ed]{font-size:.75rem;font-weight:600;color:var(--color-text-default)}.moment-strip[data-v-563f35ed]{position:absolute;bottom:2px;left:4px;right:4px;display:flex;flex-wrap:wrap;gap:3px}.moment-chip[data-v-563f35ed]{display:inline-flex;align-items:center;gap:3px;font-size:.62rem;font-weight:600;line-height:1;padding:2px 5px;border:none;border-radius:9px;cursor:pointer}.moment-chip .dot[data-v-563f35ed]{width:6px;height:6px;border-radius:50%}.span-layer[data-v-563f35ed]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.span-bar[data-v-563f35ed]{position:absolute;height:17px;display:flex;align-items:center;gap:4px;border-radius:4px;font-size:.66rem;font-weight:500;padding:0 6px;overflow:hidden;white-space:nowrap;pointer-events:auto;cursor:pointer}.span-bar[data-v-563f35ed]:hover{filter:brightness(.96)}.span-bar.cont-left[data-v-563f35ed]{border-top-left-radius:0;border-bottom-left-radius:0}.span-bar.cont-right[data-v-563f35ed]{border-top-right-radius:0;border-bottom-right-radius:0}.span-stripe[data-v-563f35ed]{width:3px;height:12px;border-radius:2px;flex-shrink:0}.span-label[data-v-563f35ed]{overflow:hidden;text-overflow:ellipsis}.overflow-bar[data-v-563f35ed]{position:absolute;height:17px;border-radius:4px;pointer-events:auto;cursor:pointer;overflow:hidden;background:var(--color-bg-surface-alt);background-image:repeating-linear-gradient(-45deg,transparent 0 5px,var(--color-border) 5px 6px);border:1px solid var(--color-border)}.overflow-bar[data-v-563f35ed]:hover{filter:brightness(.97)}.ov-cell[data-v-563f35ed]{position:absolute;top:0;bottom:0;display:flex;align-items:center;padding-left:1px;overflow:hidden;border-left:1px solid var(--color-border-light)}.ov-slot[data-v-563f35ed]{flex:0 0 22px;display:flex;align-items:center;justify-content:flex-start}.pill[data-v-563f35ed]{font-size:.58rem;font-weight:700;line-height:14px;height:14px;padding:0 4px;border-radius:3px;white-space:nowrap}.pill.count[data-v-563f35ed]{background:var(--color-bg-surface);color:var(--color-text-default);border:1px solid var(--color-border)}.pill.ended[data-v-563f35ed]{color:var(--color-tint-red-text);background:var(--color-tint-red)}.pill.started[data-v-563f35ed]{color:var(--color-tint-green-text);background:var(--color-tint-green)}.ov-label[data-v-563f35ed]{flex:1 1 auto;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.62rem;color:var(--color-text-muted);padding:0 4px}.timeline[data-v-981abbd7]{height:100%;overflow:auto;background:var(--color-bg-surface)}.inner[data-v-981abbd7]{position:relative;min-width:100%}.axis[data-v-981abbd7]{position:sticky;top:0;z-index:3;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border)}.day-row[data-v-981abbd7]{display:flex}.day-head[data-v-981abbd7]{flex-shrink:0;display:flex;align-items:center;justify-content:space-between;padding:0 0 0 8px;height:22px;font-size:.72rem;font-weight:600;color:var(--color-text-default);border-right:1px solid var(--color-border);white-space:nowrap;overflow:hidden;cursor:pointer}.day-head.today[data-v-981abbd7]{color:var(--color-accent)}.day-head[data-v-981abbd7]:hover{background:var(--color-bg-hover)}.after-tag[data-v-981abbd7]{flex-shrink:0;text-align:center;font-size:.55rem;font-weight:500;color:var(--color-text-faint);text-transform:uppercase;background:var(--color-bg-surface-alt);height:100%;line-height:22px}.hour-row[data-v-981abbd7]{position:relative;height:15px}.hour-tick[data-v-981abbd7]{position:absolute;top:0;font-size:.56rem;color:var(--color-text-faint);transform:translate(2px);white-space:nowrap;pointer-events:none}.field[data-v-981abbd7]{position:relative}.grid[data-v-981abbd7]{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none}.after-col[data-v-981abbd7]{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--color-text-faint) 8%,transparent)}.shift-col[data-v-981abbd7]{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--color-accent) 7%,transparent)}.blocked-col[data-v-981abbd7]{position:absolute;top:0;bottom:0;background-image:repeating-linear-gradient(-45deg,transparent 0 6px,color-mix(in srgb,var(--color-text-faint) 14%,transparent) 6px 7px)}.holiday-tag[data-v-981abbd7]{margin-left:6px;font-size:.6rem;font-weight:500;color:var(--color-text-muted)}.day-line[data-v-981abbd7]{position:absolute;top:0;bottom:0;width:1px;background:var(--color-border)}.hour-line[data-v-981abbd7]{position:absolute;top:0;bottom:0;width:1px;background:var(--color-border-light)}.moment-row[data-v-981abbd7]{position:absolute;top:0;left:0;right:0;border-bottom:1px solid var(--color-border)}.m-chip[data-v-981abbd7]{position:absolute;top:3px;transform:translate(-50%);min-width:15px;height:18px;border:1.5px solid;border-radius:5px;font-size:.6rem;font-weight:700;line-height:1;padding:0 3px;cursor:pointer;white-space:nowrap}.m-chip.stale[data-v-981abbd7]{font-weight:600}.lanes[data-v-981abbd7]{position:absolute;left:0;right:0}.span-bar[data-v-981abbd7]{position:absolute;display:flex;align-items:center;border-radius:3px;padding:0 5px;font-size:.64rem;overflow:hidden;white-space:nowrap;cursor:pointer;box-shadow:var(--shadow-sm)}.span-bar[data-v-981abbd7]:hover{filter:brightness(.96)}.span-label[data-v-981abbd7]{overflow:hidden;text-overflow:ellipsis}.calendar-page[data-v-527d966d]{height:100%;display:flex;flex-direction:column;background:var(--color-bg-page);color:var(--color-text-default)}.toolbar[data-v-527d966d]{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-527d966d]{display:flex;align-items:center;gap:14px}.toolbar-left h2[data-v-527d966d]{margin:0;font-size:1rem;font-weight:600}.toolbar-right[data-v-527d966d]{display:flex;align-items:center;gap:14px;font-size:.8rem;color:var(--color-text-muted)}.view-switch[data-v-527d966d]{display:inline-flex;border:1px solid var(--color-btn-secondary-border);border-radius:5px;overflow:hidden}.view-switch button[data-v-527d966d]{border:none;background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);padding:5px 12px;font-size:.8rem;cursor:pointer}.view-switch button.active[data-v-527d966d]{background:var(--color-accent);color:#fff}.nav[data-v-527d966d]{display:inline-flex;gap:4px}.nav button[data-v-527d966d]{border:1px solid var(--color-btn-secondary-border);background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border-radius:4px;padding:4px 10px;font-size:.85rem;cursor:pointer;line-height:1}.nav button[data-v-527d966d]:hover{background:var(--color-btn-secondary-hover)}.today-btn[data-v-527d966d]{font-size:.75rem!important}.error-badge[data-v-527d966d]{font-size:.65rem;font-weight:600;text-transform:uppercase;color:var(--color-tint-red-text);background:var(--color-tint-red);border-radius:3px;padding:2px 6px;cursor:help}.ctrl[data-v-527d966d]{display:inline-flex;align-items:center;gap:5px}.ctrl input[type=number][data-v-527d966d]{width:48px;padding:3px 4px;background:var(--color-input-bg);border:1px solid var(--color-input-border);color:var(--color-input-text);border-radius:4px}.ctrl select[data-v-527d966d]{padding:3px 4px;background:var(--color-input-bg);border:1px solid var(--color-input-border);color:var(--color-input-text);border-radius:4px}.btn-refresh[data-v-527d966d]{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-527d966d]:disabled{opacity:.5;cursor:not-allowed}.legend[data-v-527d966d]{display:flex;flex-wrap:wrap;gap:4px 14px;padding:6px 16px;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border);flex-shrink:0}.legend-item[data-v-527d966d]{display:inline-flex;align-items:center;gap:5px;font-size:.72rem;color:var(--color-text-default);cursor:pointer;-webkit-user-select:none;user-select:none}.legend-item.off[data-v-527d966d]{color:var(--color-text-faint)}.legend-item .swatch[data-v-527d966d]{width:10px;height:10px;border-radius:3px}.legend-item.off .swatch[data-v-527d966d]{opacity:.3}.cal-body[data-v-527d966d]{flex:1;display:flex;overflow:hidden}.cal-body[data-v-527d966d]>:first-child{flex:1;overflow:auto}.drawer[data-v-527d966d]{width:300px;flex-shrink:0;border-left:1px solid var(--color-border);background:var(--color-bg-surface);display:flex;flex-direction:column}.drawer-head[data-v-527d966d]{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-bottom:1px solid var(--color-border)}.drawer-head strong[data-v-527d966d]{font-size:.85rem;color:var(--color-text-primary)}.drawer-close[data-v-527d966d]{border:none;background:none;font-size:1.2rem;line-height:1;cursor:pointer;color:var(--color-text-muted)}.drawer-body[data-v-527d966d]{flex:1;overflow:auto;padding:6px 0}.drawer-empty[data-v-527d966d]{padding:16px;font-size:.8rem;color:var(--color-text-muted)}.drawer-row[data-v-527d966d]{display:flex;gap:8px;padding:7px 14px;cursor:pointer}.drawer-row[data-v-527d966d]:hover{background:var(--color-bg-hover)}.row-dot[data-v-527d966d]{width:8px;height:8px;border-radius:50%;margin-top:4px;flex-shrink:0}.row-title[data-v-527d966d]{font-size:.78rem;color:var(--color-text-primary)}.row-sub[data-v-527d966d]{font-size:.68rem;color:var(--color-text-muted)}.drawer-add[data-v-527d966d]{border-top:1px solid var(--color-border);padding:10px 14px}.add-label[data-v-527d966d]{font-size:.66rem;text-transform:uppercase;color:var(--color-text-faint);margin-bottom:6px}.add-options[data-v-527d966d]{display:flex;flex-wrap:wrap;gap:6px}.add-options button[data-v-527d966d]{border:1px solid var(--color-btn-secondary-border);background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary-text);border-radius:4px;padding:4px 8px;font-size:.72rem;cursor:pointer}.add-options button[data-v-527d966d]:hover{background:var(--color-btn-secondary-hover)}.hosted-page[data-v-84226dda]{display:flex;flex-direction:column;width:100%;height:100%;min-height:0}.hosted-page__msg[data-v-84226dda]{padding:24px;color:#6b7280}.hosted-page__msg--error[data-v-84226dda]{color:#b91c1c}
