:root{--elevana-midnight-blue:#241e4a;--elevana-pigment-green:#4db053;--elevana-raspberry:#d40e43;--elevana-grape:#62187c;--elevana-ink:#1a1a1a;--elevana-midnight-blue-tint:#2a334b;--color-primary:var(--elevana-midnight-blue);--color-primary-hover:#1a1636;--color-primary-light:#3d3568;--color-primary-dark:#120f25;--color-success:var(--elevana-pigment-green);--color-success-hover:#3d8a42;--color-success-light:#6bc770;--color-warning:#f59e0b;--color-warning-hover:#d97706;--color-warning-light:#fbbf24;--color-error:var(--elevana-raspberry);--color-error-hover:#b00c38;--color-error-light:#e83f68;--color-error-bg:#fee2e2;--color-error-border:#fecaca;--color-info:var(--elevana-midnight-blue);--color-info-hover:#1a1636;--color-info-light:#3d3568;--color-comment-outstanding:#d40e430a;--color-comment-resolved:#4db0530f;--color-gray-50:#f9fafb;--color-gray-100:#f3f4f6;--color-gray-200:#e5e7eb;--color-gray-300:#d1d5db;--color-gray-400:#9ca3af;--color-gray-500:#6b7280;--color-gray-600:#4b5563;--color-gray-700:#374151;--color-gray-800:#1f2937;--color-gray-900:#111827;--color-content-bg:#fff;--color-content-heading:var(--elevana-midnight-blue);--color-content-body:var(--elevana-ink);--color-structure:var(--elevana-midnight-blue);--color-structure-tint:var(--elevana-midnight-blue-tint);--color-structure-light:#f0f2f8;--color-structure-text:#e8e9ec;--color-rail-surface:#1a1538;--color-rail-tooltip-surface:#0d0a22;--rail-collapsed:56px;--color-action-primary:var(--elevana-pigment-green);--color-action-admin:var(--elevana-grape);--color-action-admin-muted:#4d1261;--color-state-resolved:var(--elevana-pigment-green);--color-state-unresolved:var(--elevana-raspberry);--color-state-error:var(--elevana-raspberry);--color-surface-subtle:#f6f7f9;--color-border-subtle:#e2e4e8;--color-text-muted:#6b7280;--color-background:#fff;--color-background-alt:var(--color-surface-subtle);--color-surface:#fff;--color-surface-hover:var(--color-gray-50);--color-border:var(--color-border-subtle);--color-border-light:var(--color-gray-100);--color-border-dark:var(--color-gray-300);--color-text:var(--color-gray-900);--color-text-secondary:var(--color-gray-500);--color-text-tertiary:var(--color-gray-400);--color-text-disabled:var(--color-gray-300);--spacing-1:4px;--spacing-2:8px;--spacing-3:12px;--spacing-4:16px;--spacing-5:20px;--spacing-6:24px;--spacing-7:28px;--spacing-8:32px;--spacing-10:40px;--spacing-12:48px;--spacing-16:64px;--spacing-20:80px;--spacing-24:96px;--spacing-xs:var(--spacing-1);--spacing-sm:var(--spacing-2);--spacing-md:var(--spacing-4);--spacing-lg:var(--spacing-6);--spacing-xl:var(--spacing-8);--spacing-2xl:var(--spacing-12);--font-sans:"Poppins", "Calibri", "Roboto", -apple-system, BlinkMacSystemFont, "Segoe UI", "Oxygen", "Ubuntu", sans-serif;--font-mono:"Courier New", Courier, monospace;--font-size-xs:12px;--font-size-sm:14px;--font-size-base:16px;--font-size-lg:18px;--font-size-xl:20px;--font-size-2xl:24px;--font-size-3xl:30px;--font-size-4xl:36px;--line-height-tight:1.25;--line-height-snug:1.375;--line-height-normal:1.5;--line-height-relaxed:1.625;--line-height-loose:2;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--radius-none:0;--radius-sm:2px;--radius-base:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-full:9999px;--shadow-sm:0 1px 2px 0 #0000000d;--shadow-base:0 1px 3px 0 #0000001a, 0 1px 2px 0 #0000000f;--shadow-md:0 4px 6px -1px #0000001a, 0 2px 4px -1px #0000000f;--shadow-lg:0 10px 15px -3px #0000001a, 0 4px 6px -2px #0000000d;--shadow-xl:0 20px 25px -5px #0000001a, 0 10px 10px -5px #0000000a;--shadow-2xl:0 25px 50px -12px #00000040;--z-base:0;--z-dropdown:1000;--z-sticky:1020;--z-fixed:1030;--z-modal-backdrop:1040;--z-modal:1050;--z-popover:1060;--z-tooltip:1070;--transition-fast:.15s;--transition-base:.2s;--transition-slow:.3s;--transition-slower:.5s;--transition-timing:cubic-bezier(.4, 0, .2, 1);--transition-colors:color var(--transition-base) var(--transition-timing), background-color var(--transition-base) var(--transition-timing), border-color var(--transition-base) var(--transition-timing);--transition-all:all var(--transition-base) var(--transition-timing);--transition-transform:transform var(--transition-base) var(--transition-timing);--transition-opacity:opacity var(--transition-base) var(--transition-timing)}.autocomplete-field{width:100%;font-family:inherit}.autocomplete-input-wrapper{width:100%;position:relative}.autocomplete-input{border:1px solid var(--color-gray-300);box-sizing:border-box;border-radius:4px;width:100%;padding:8px 12px;font-size:14px;transition:border-color .2s,box-shadow .2s}.autocomplete-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #241e4a1a}.autocomplete-input:disabled{background-color:var(--color-gray-100);color:var(--color-gray-400);cursor:not-allowed}.autocomplete-input.loading{padding-right:36px}.autocomplete-spinner{font-size:16px;animation:1s linear infinite spin;position:absolute;top:50%;right:12px;transform:translateY(-50%)}@keyframes spin{0%{transform:translateY(-50%)rotate(0)}to{transform:translateY(-50%)rotate(360deg)}}.autocomplete-dropdown{border:1px solid var(--color-gray-300);z-index:999999;pointer-events:auto;background:#fff;border-radius:0 0 4px 4px;max-height:200px;overflow-y:auto;box-shadow:0 4px 12px #00000026}.autocomplete-option{cursor:pointer;border-bottom:1px solid var(--color-gray-100);padding:10px 12px;transition:background-color .15s}.autocomplete-option:hover{background-color:var(--color-gray-100)}.autocomplete-option.selected{background-color:var(--color-primary-light);color:#fff;font-weight:500}.autocomplete-option:last-child{border-bottom:none}.autocomplete-option.add-as-other{color:var(--color-gray-600);background-color:var(--color-gray-50);font-style:italic}.autocomplete-option.add-as-other:hover{background-color:var(--color-gray-100);color:var(--color-gray-800)}.validation-dialog-overlay{z-index:99999;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.validation-dialog{background:#fff;border-radius:8px;max-width:400px;padding:24px;animation:.2s ease-out slideUp;box-shadow:0 10px 25px #0003}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.validation-title{color:var(--color-gray-800);margin:0 0 12px;font-size:16px;font-weight:600}.validation-message{color:var(--color-gray-600);margin:0 0 16px;font-size:14px;line-height:1.5}.validation-suggestions{background-color:var(--color-gray-50);border-left:3px solid var(--color-primary);border-radius:4px;margin:16px 0;padding:12px}.suggestions-label{color:var(--color-gray-800);margin:0 0 8px;font-size:13px;font-weight:600}.suggestions-list{flex-wrap:wrap;gap:8px;display:flex}.suggestion-button{border:1px solid var(--color-primary);color:var(--color-primary);cursor:pointer;background-color:#fff;border-radius:4px;padding:6px 12px;font-size:13px;transition:all .2s}.suggestion-button:hover{background-color:var(--color-primary);color:#fff}.validation-actions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.validation-actions .btn{cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:14px;transition:all .2s}.validation-actions .btn-secondary{background-color:var(--color-gray-100);color:var(--color-gray-800)}.validation-actions .btn-secondary:hover{background-color:var(--color-gray-200)}.validation-actions .btn-primary{background-color:var(--color-primary);color:#fff}.validation-actions .btn-primary:hover{background-color:var(--color-primary-hover)}.other-text-input-wrapper{border-top:1px solid var(--color-gray-200);margin-top:8px;padding-top:8px}.other-text-input{border:1px solid var(--color-gray-300);box-sizing:border-box;background-color:var(--color-gray-50);border-radius:4px;width:100%;padding:8px 12px;font-size:14px;transition:border-color .2s}.other-text-input:focus{border-color:var(--color-primary);background-color:#fff;outline:none}.other-text-input:disabled{background-color:var(--color-gray-100);color:var(--color-gray-400);cursor:not-allowed}.autocomplete-dropdown::-webkit-scrollbar{width:8px}.autocomplete-dropdown::-webkit-scrollbar-track{background:var(--color-gray-100)}.autocomplete-dropdown::-webkit-scrollbar-thumb{background:var(--color-gray-400);border-radius:4px}.autocomplete-dropdown::-webkit-scrollbar-thumb:hover{background:var(--color-gray-600)}.app-header{top:0;left:var(--rail-collapsed,56px);z-index:1000;background:var(--elevana-midnight-blue);box-shadow:var(--shadow-lg);border-bottom:none;height:64px;position:fixed;right:0}.header-content{max-width:100%;height:100%;padding:0 var(--spacing-6);grid-template-columns:1fr auto 1fr;align-items:center;display:grid}.header-left{justify-self:start;align-items:center;display:flex}.header-logo{align-items:center;gap:var(--spacing-3);display:flex}.header-logo-image{width:auto;height:32px}.app-badge{color:#fff;border-radius:var(--radius-md);font-size:var(--font-size-sm);text-transform:uppercase;letter-spacing:.05em;background:#ffffff26;padding:4px 10px;font-weight:500}.header-center{justify-content:center;justify-self:center;align-items:center;display:flex}.header-right{justify-self:end;align-items:center;display:flex}.user-controls{align-items:center;gap:var(--spacing-4);display:flex}.user-email{color:#ffffffe6;font-size:var(--font-size-sm);font-weight:500}.user-role{margin-left:var(--spacing-2);opacity:.8;font-size:.9em}.logout-button{background:var(--elevana-pigment-green);color:#fff;border-radius:var(--radius-md);padding:var(--spacing-2) var(--spacing-4);font-size:var(--font-size-sm);cursor:pointer;border:none;font-weight:500;transition:background-color .15s ease-in-out}.logout-button:hover{background:var(--color-success-hover)}.logout-button:focus{outline:none;box-shadow:0 0 0 2px #4db05366}.header-script-status{align-items:center;gap:var(--spacing-3);padding:6px var(--spacing-3);border-radius:var(--radius-lg);background:#ffffff1a;border:1px solid #fff3;display:flex}.header-status-badge{border-radius:var(--radius-base);text-transform:uppercase;letter-spacing:.025em;padding:2px 6px;font-size:11px;font-weight:600}.header-component-count{color:#ffffffe6;font-size:13px;font-weight:500}.header-last-saved{font-size:var(--font-size-xs);color:#ffffffb3;font-weight:400}@media (width<=768px){.header-content{padding:0 var(--spacing-4);grid-template-columns:auto 1fr auto}.header-center{margin-right:var(--spacing-3);justify-content:end}.header-script-status{gap:var(--spacing-2);padding:var(--spacing-1) var(--spacing-2)}.header-last-saved{display:none}.header-component-count{font-size:var(--font-size-xs)}.header-status-badge{font-size:10px}.user-email{display:none}.logout-button{padding:6px var(--spacing-3);font-size:13px}}.nav-sidebar{background:var(--color-structure-light);border-right:1px solid var(--color-gray-200);z-index:1;flex-direction:column;flex-shrink:0;width:280px;height:100vh;transition:width .3s;display:flex;position:relative;box-shadow:2px 0 10px #0000000d}.nav-sidebar--collapsed{width:60px}.nav-header{padding:var(--spacing-4) var(--spacing-4) var(--spacing-3);background:var(--color-structure-tint);justify-content:space-between;align-items:flex-start;gap:var(--spacing-2);border-bottom:1px solid #ffffff1f;min-height:48px;display:flex}.nav-brand{gap:var(--spacing-1);flex-direction:column;flex:1;min-width:0;display:flex}.nav-brand h2{font-size:var(--font-size-lg);color:var(--color-structure-text);margin:0 0 var(--spacing-1) 0;font-weight:700}.nav-brand p{font-size:var(--font-size-xs);color:#ffffffbf;align-items:center;gap:var(--spacing-2);margin:0;display:flex}.nav-refresh-indicator{opacity:.7;font-size:10px;animation:2s linear infinite nav-spin}@keyframes nav-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.nav-toggle{background:var(--color-gray-100);border:1px solid var(--color-gray-200);border-radius:var(--radius-md);padding:var(--spacing-2);cursor:pointer;color:var(--color-gray-500);font-size:var(--font-size-xs);width:var(--spacing-8);height:var(--spacing-8);justify-content:center;align-items:center;transition:all .15s;display:flex}.nav-toggle:hover{background:var(--color-gray-200);color:var(--color-gray-600)}.nav-content{padding:var(--spacing-4) 0;flex:1;overflow-y:auto}.nav-section{margin-bottom:var(--spacing-6)}.nav-section-title{font-size:var(--font-size-xs);color:var(--color-gray-600);text-transform:uppercase;letter-spacing:.05em;margin:0 var(--spacing-5) var(--spacing-3) var(--spacing-5);padding-bottom:var(--spacing-2);border-bottom:1px solid var(--color-gray-100);font-weight:600}.nav-list{padding:0 var(--spacing-3)}.nav-project{margin-bottom:var(--spacing-1)}.nav-project-item{padding:var(--spacing-3) var(--spacing-2);border-radius:var(--radius-lg);cursor:pointer;align-items:center;gap:var(--spacing-3);transition:all .15s;display:flex}.nav-project-item:hover{background:var(--color-gray-100)}.nav-project-item--selected{background:var(--color-structure);border:none;border-left:3px solid var(--elevana-pigment-green)}.nav-project-item--selected .nav-project-title,.nav-project-item--selected .nav-project-meta,.nav-project-item--selected .nav-project-expand{color:#fff}.nav-project-item--selected:hover{background:var(--color-structure)}.nav-project-icon{font-size:var(--font-size-base);min-width:var(--spacing-5)}.nav-project-info{flex:1;min-width:0}.nav-project-title{font-size:var(--font-size-sm);color:var(--color-gray-900);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-weight:500;overflow:hidden}.nav-project-meta{color:var(--color-gray-600);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.nav-project-expand{color:var(--color-gray-400);font-size:10px;transition:transform .15s}.nav-video-list{margin-left:var(--spacing-8);margin-top:var(--spacing-2);border-left:2px solid var(--color-gray-200);padding-left:var(--spacing-4)}.nav-video-item{padding:var(--spacing-2);border-radius:var(--radius-md);cursor:pointer;align-items:center;gap:10px;margin-bottom:2px;transition:all .15s;display:flex}.nav-video-item:hover{background:var(--color-gray-50)}.nav-video-item--selected{background:var(--color-structure);border:none;border-left:3px solid var(--elevana-pigment-green)}.nav-video-item--selected .nav-video-title,.nav-video-item--selected .nav-video-meta{color:#fff}.nav-video-item--selected:hover{background:var(--color-structure)}.nav-video-info{flex:1;min-width:0}.nav-video-title{color:var(--color-gray-800);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:13px;font-weight:500;overflow:hidden}.nav-video-meta{color:var(--color-gray-600);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.nav-video-status{width:var(--spacing-2);height:var(--spacing-2);border-radius:var(--radius-full);flex-shrink:0}.status-ready{background:var(--color-success);box-shadow:0 0 0 2px #10b98133}.status-processing{background:var(--color-warning);box-shadow:0 0 0 2px #f59e0b33}.status-pending{background:var(--color-gray-500);box-shadow:0 0 0 2px #6b728033}.nav-collapsed-hint{padding:var(--spacing-5);align-items:center;gap:var(--spacing-2);flex-direction:column;display:flex}.nav-collapsed-icon{font-size:var(--font-size-2xl)}.nav-collapsed-count{font-size:var(--font-size-xs);color:var(--elevana-midnight-blue);border-radius:var(--radius-xl);padding:var(--spacing-1) var(--spacing-2);min-width:var(--spacing-5);text-align:center;background:#241e4a1a;font-weight:600}@media (width<=768px){.nav-sidebar,.nav-sidebar--collapsed{width:60px}}.nav-content::-webkit-scrollbar{width:var(--spacing-2)}.nav-content::-webkit-scrollbar-track{background:0 0}.nav-content::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:3px}.nav-content::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.nav-loading{padding:var(--spacing-5);color:var(--color-gray-500);font-size:var(--font-size-sm);justify-content:center;align-items:center;display:flex}.nav-loading-spinner{width:var(--spacing-4);height:var(--spacing-4);margin-right:var(--spacing-2);border:2px solid var(--color-gray-100);border-radius:var(--radius-full);border-top-color:var(--elevana-midnight-blue);animation:1s ease-in-out infinite nav-spin;display:inline-block}.nav-error{padding:var(--spacing-4) var(--spacing-5);color:var(--color-error-hover);background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:var(--radius-md);margin:var(--spacing-2) var(--spacing-3);font-size:13px}.nav-empty{padding:var(--spacing-5);text-align:center;color:var(--color-gray-500);font-size:13px;font-style:italic}.nav-empty-icon{font-size:var(--font-size-3xl);margin-bottom:var(--spacing-2);opacity:.5}.nav-search-container{width:100%;margin-bottom:var(--spacing-2);position:relative}.nav-search-input{width:100%;padding:var(--spacing-2) var(--spacing-3);padding-right:var(--spacing-8);border-radius:var(--radius-md);color:var(--color-structure-text,#fff);font-size:var(--font-size-sm);box-sizing:border-box;background:#ffffff1f;border:1px solid #ffffff2e;outline:none;transition:all .15s}.nav-search-input::placeholder{color:#ffffff80}.nav-search-input:focus{background:#ffffff2e;border-color:#ffffff59;box-shadow:0 0 0 2px #ffffff14}.nav-search-clear{right:var(--spacing-2);color:#ffffff80;cursor:pointer;border-radius:var(--radius-sm);background:0 0;border:none;padding:2px 4px;font-size:16px;line-height:1;transition:color .15s;position:absolute;top:50%;transform:translateY(-50%)}.nav-search-clear:hover{color:#fffc}.nav-filter-controls{border-radius:var(--radius-md,6px);background:#ffffff14;gap:0;width:100%;padding:2px;display:flex}.nav-filter-btn{padding:5px var(--spacing-2,6px);border-radius:calc(var(--radius-md,6px) - 2px);color:#ffffff8c;font-size:var(--font-size-xs,.75rem);cursor:pointer;white-space:nowrap;background:0 0;border:none;flex:1;font-weight:500;line-height:1.4;transition:all .15s}.nav-filter-btn:hover{color:#ffffffd9;background:#ffffff0f}.nav-filter-btn--active{color:#fff;background:#ffffff26;font-weight:600;box-shadow:0 1px 3px #0003}.nav-filter-btn--active:hover{background:#ffffff2e}.nav-sidebar--embedded{width:100%;height:100%;box-shadow:none;border-right:none}.nav-header--embedded{align-items:stretch;gap:var(--spacing-2);flex-direction:column;min-height:auto}.nav-header--embedded .nav-search-input{background:#ffffff26;border-color:#fff3}.nav-header--embedded .nav-search-input:focus{background:#ffffff38;border-color:#fff6}.rail-gutter{width:var(--rail-collapsed,56px);flex:0 0 var(--rail-collapsed,56px);background:var(--color-rail-surface);height:100%}.rail{width:var(--rail-collapsed,56px);background:var(--color-rail-surface);color:#ffffffd1;z-index:1100;flex-direction:column;transition:width .18s;display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden}.rail.rail-expanded{width:232px;box-shadow:4px 0 16px #00000026}.rail-top{border-bottom:1px solid #ffffff14;flex:0 0 64px;align-items:center;height:64px;display:flex}.rail-toggle{color:#fff;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:12px;width:100%;height:100%;padding:0;font-family:inherit;display:flex}.rail-toggle:hover{background:#ffffff0a}.rail-mark{letter-spacing:-.02em;color:#fff;flex:0 0 56px;justify-content:center;align-items:center;width:56px;font-size:18px;font-weight:700;display:flex}.rail-mark .v{color:var(--elevana-raspberry)}.rail-mark .a{color:var(--elevana-pigment-green)}.rail-mark-label{letter-spacing:-.01em;color:#fff;white-space:nowrap;opacity:0;font-size:14px;font-weight:500;transition:opacity .12s}.rail.rail-expanded .rail-mark-label{opacity:1}.rail-list{flex-direction:column;flex:1;padding:8px 0;display:flex;overflow:hidden}.rail-item{color:#ffffffd1;cursor:pointer;text-align:left;background:0 0;border:0;flex:0 0 44px;align-items:center;width:100%;height:44px;margin:0;padding:0;font-family:inherit;font-size:13px;display:flex;position:relative}.rail-item:hover{color:#fff;background:#ffffff0f}.rail-item--active{color:#fff;background:#ffffff1a}.rail-item--active:before{content:"";background:var(--color-action-primary);border-radius:0 2px 2px 0;width:3px;position:absolute;top:6px;bottom:6px;left:0}.rail-item--disabled{opacity:.4;cursor:not-allowed}.rail-item--disabled:hover{color:#ffffffd1;background:0 0}.rail-item-icon{flex:0 0 56px;justify-content:center;align-items:center;width:56px;display:flex}.rail-item-label{opacity:0;flex-direction:column;flex:1;gap:1px;min-width:0;padding-right:12px;transition:opacity .12s;display:flex}.rail.rail-expanded .rail-item-label{opacity:1}.rail-item-label-name{color:#fff;letter-spacing:-.005em;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:500;overflow:hidden}.rail-item-label-sub{color:#ffffff8c;letter-spacing:0;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.rail-tip{background:var(--color-rail-tooltip-surface);color:#fff;white-space:nowrap;pointer-events:none;opacity:0;z-index:100;border:1px solid #ffffff14;border-radius:4px;padding:4px 10px;font-size:12px;transition:opacity 80ms .3s;position:absolute;top:50%;left:64px;transform:translateY(-50%)}.rail-item:hover .rail-tip{opacity:1}.rail.rail-expanded .rail-tip{display:none}.rail-foot{border-top:1px solid #ffffff14;padding:8px 0}.rail-toggle:focus-visible,.rail-item:focus-visible{outline:2px solid var(--color-action-primary);outline-offset:-2px}.nav-tree{flex-direction:column;height:100%;display:flex;overflow:hidden}.nav-tree-search{border-bottom:1px solid var(--color-gray-100);flex-shrink:0;padding:12px}.nav-tree-search-input{border:1px solid var(--color-gray-200);width:100%;color:var(--color-gray-800);background:var(--color-gray-50);box-sizing:border-box;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%239ca3af' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='8'/%3E%3Cline x1='21' y1='21' x2='16.65' y2='16.65'/%3E%3C/svg%3E");background-position:10px;background-repeat:no-repeat;background-size:16px 16px;border-radius:6px;outline:none;padding:8px 12px 8px 34px;font-size:13px;transition:border-color .15s,box-shadow .15s}.nav-tree-search-input:focus{border-color:var(--color-primary);background-color:#fff;box-shadow:0 0 0 3px #241e4a1a}.nav-tree-search-input::placeholder{color:var(--color-gray-400)}.nav-tree-list{flex:1;padding:8px 12px;overflow-y:auto}.nav-tree-list::-webkit-scrollbar{width:6px}.nav-tree-list::-webkit-scrollbar-track{background:0 0}.nav-tree-list::-webkit-scrollbar-thumb{background:var(--color-gray-300);border-radius:3px}.nav-tree-list::-webkit-scrollbar-thumb:hover{background:var(--color-gray-400)}.nav-tree-project{margin-bottom:4px}.nav-tree-project-item{cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:10px 8px;transition:all .15s;display:flex}.nav-tree-project-item:hover{background:var(--color-gray-100)}.nav-tree-project-item--selected{background:var(--color-gray-100);border-left:3px solid var(--color-primary)}.nav-tree-project-item--selected:hover{background:var(--color-gray-200)}.nav-tree-project-icon{min-width:20px;font-size:16px}.nav-tree-project-info{flex:1;min-width:0}.nav-tree-project-title{color:var(--color-gray-800);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:14px;font-weight:500;overflow:hidden}.nav-tree-project-meta{color:var(--color-gray-500);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.nav-tree-project-expand{color:var(--color-gray-400);font-size:10px;transition:transform .15s}.nav-tree-video-list{border-left:2px solid var(--color-gray-100);margin-top:4px;margin-left:32px;padding-left:12px}.nav-tree-video-item{cursor:pointer;border-radius:6px;align-items:center;gap:10px;margin-bottom:2px;padding:8px;transition:all .15s;display:flex}.nav-tree-video-item:hover{background:var(--color-gray-50)}.nav-tree-video-item--selected{background:var(--color-gray-100);border-left:3px solid var(--color-primary)}.nav-tree-video-item--selected:hover{background:var(--color-gray-200)}.nav-tree-video-info{flex:1;min-width:0}.nav-tree-video-title{color:var(--color-gray-700);white-space:nowrap;text-overflow:ellipsis;margin-bottom:2px;font-size:13px;font-weight:500;overflow:hidden}.nav-tree-video-meta{color:var(--color-gray-500);white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.nav-tree-video-status{border-radius:50%;flex-shrink:0;width:8px;height:8px}.nav-tree-video-status.status-ready{background:var(--color-success);box-shadow:0 0 0 2px #4db05333}.nav-tree-video-status.status-processing{background:var(--color-warning);box-shadow:0 0 0 2px #f59e0b33}.nav-tree-video-status.status-pending{background:var(--color-gray-500);box-shadow:0 0 0 2px #6b728033}.nav-tree-loading{color:var(--color-gray-500);justify-content:center;align-items:center;padding:20px;font-size:14px;display:flex}.nav-tree-error{color:var(--color-error);background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:6px;margin:8px 12px;padding:16px 20px;font-size:13px}.nav-tree-empty{text-align:center;color:var(--color-gray-500);padding:20px;font-size:13px;font-style:italic}.shot-table-container{background:#fff;border-radius:4px;flex-direction:column;gap:12px;padding:16px;display:flex}.shot-table-header{border-bottom:1px solid #ddd;justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.shot-table-header h3{color:#333;margin:0;font-size:16px}.shot-table-loading,.shot-table-error{text-align:center;color:#666;padding:24px;font-size:14px}.shot-table-error{color:#c33;background:#fee;border-radius:4px}.shot-table-empty{text-align:center;color:#999;background:#f9f9f9;border:1px dashed #ddd;border-radius:4px;padding:32px;font-size:14px}.shot-table-wrapper{z-index:0;border:1px solid #ddd;border-radius:4px;position:relative;overflow:auto visible}.shot-table-scroll{overflow:visible}.shot-table{border-collapse:collapse;border-spacing:0;background:#fff;width:100%;font-size:12px}.shot-table th{text-align:left;color:#333;white-space:nowrap;z-index:10;background:#f5f5f5;border-bottom:1px solid #ddd;padding:8px 6px;font-weight:600;position:sticky;top:0}.shot-table td{vertical-align:top;z-index:auto;border-bottom:1px solid #eee;padding:8px 6px;position:relative;overflow:visible}.shot-table tbody tr{z-index:auto;height:auto;position:relative}.shot-table tbody tr:hover{background:#f9f9f9}.shot-table tbody tr.editing{background:#f0f0f0}.col-number{text-align:center;width:40px}.col-source{width:70px}.col-shot-type,.col-location{width:130px}.col-movement{width:65px}.col-subject{width:152px}.col-variant{width:120px}.col-action{width:153px}.col-notes-btn{text-align:center;width:50px}.col-stock-ref{width:140px}.col-actions{text-align:center;width:80px}.field-dimmed{opacity:.5;pointer-events:none}.stock-ref-na{color:#999;text-align:center;font-style:italic;display:block}.shot-table input[type=text],.autocomplete-field{width:100%}.form-control{box-sizing:border-box;border:1px solid #d0d0d0;border-radius:3px;width:100%;padding:6px 8px;font-family:inherit;font-size:12px}.form-control-text{padding:6px 8px;font-size:12px}.shot-table .autocomplete-field{flex-direction:column;gap:0;display:flex}.shot-table .autocomplete-input{min-height:30px;padding:6px 8px;font-size:12px}.shot-table .autocomplete-dropdown{max-height:150px;font-size:12px}.shot-table .autocomplete-option{padding:6px 8px;font-size:12px}.shot-table .other-text-input{margin-top:4px;padding:4px 6px;font-size:12px}.conditional-row{background:#fafafa}.conditional-row:hover{background:#f0f0f0}.conditional-label{color:#06c;white-space:nowrap;background:#e8f4f8;border-radius:3px;margin-right:8px;padding:4px 8px;font-size:11px;font-weight:500;display:inline-block}.conditional-input{box-sizing:border-box;background-color:#fff;width:100%;padding:6px 8px;font-size:12px}.btn-small{cursor:pointer;border:none;border-radius:3px;padding:4px 8px;font-size:11px;transition:background-color .2s}.btn-primary{color:#fff;cursor:pointer;background:#4a90e2;border:none;border-radius:4px;padding:8px 16px;font-size:13px;transition:background-color .2s}.btn-primary:disabled{cursor:not-allowed;background:#ccc}.shot-table-actions{align-items:center;gap:8px;display:flex}.btn-secondary{color:#fff;cursor:pointer;background:#6b7280;border:none;border-radius:4px;padding:8px 16px;font-size:13px;transition:background-color .2s}.library-modal-overlay{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.library-modal-content{background:#fff;border-radius:8px;flex-direction:column;width:90%;max-width:800px;max-height:85vh;display:flex;box-shadow:0 4px 6px #0000001a,0 10px 20px #00000026}.library-modal-header{border-bottom:1px solid #e5e7eb;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.library-modal-header h2{color:#111827;margin:0;font-size:18px;font-weight:600}.library-modal-close{color:#6b7280;cursor:pointer;background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;font-size:24px;transition:background-color .2s,color .2s;display:flex}.library-modal-close:hover{color:#111827;background:#f3f4f6}.library-modal-body{flex:1;padding:0;overflow-y:auto}.library-modal-body .card-header{justify-content:space-between;align-items:baseline;margin-bottom:8px;display:flex}.library-modal-body .shot-name{color:#111827;font-size:14px;font-weight:600}.library-modal-body .duration{color:#6b7280;background:#f3f4f6;border-radius:4px;padding:2px 8px;font-size:12px}.library-modal-body .card-content{margin-bottom:8px}.library-modal-body .shot-description{color:#374151;margin:0 0 8px;font-size:13px;line-height:1.5}.library-modal-body .shot-type-badge{color:#1f2937;background:#e0e7ff;border-radius:4px;margin-right:6px;padding:3px 8px;font-size:11px;font-weight:500;display:inline-block}.library-modal-body .card-notes{border-top:1px solid #f3f4f6;margin-top:8px;padding-top:8px}.library-modal-body .card-notes small{color:#6b7280;font-size:12px;font-style:italic}.btn-notes{cursor:pointer;background:#f3f4f6;border:1px solid #d1d5db;border-radius:4px;padding:4px 8px;font-size:14px;transition:background-color .2s,border-color .2s}.btn-notes:hover{background:#e5e7eb;border-color:#9ca3af}.btn-notes.active{background:#dbeafe;border-color:#3b82f6}.btn-notes.has-notes{background:#fef3c7;border-color:#f59e0b}.btn-notes.has-notes.active{background:#fde68a;border-color:#d97706}.notes-row{background:#f9fafb}.notes-row:hover{background:#f3f4f6}.notes-row td{padding:12px 8px}.notes-container{flex-direction:column;gap:8px;display:flex}.notes-label{color:#374151;margin:0;font-size:12px;font-weight:500}.notes-textarea{resize:vertical;box-sizing:border-box;border:1px solid #d1d5db;border-radius:4px;width:100%;min-height:60px;padding:8px 10px;font-family:inherit;font-size:12px;line-height:1.5}.notes-textarea:focus{border-color:#3b82f6;outline:none;box-shadow:0 0 0 2px #3b82f61a}.notes-textarea::placeholder{color:#9ca3af}.form-control-select{box-sizing:border-box;cursor:pointer;background:#fff;border:1px solid #d0d0d0;border-radius:3px;width:100%;padding:6px 4px;font-family:inherit;font-size:11px}.form-control-select:focus{border-color:#4a90e2;outline:none;box-shadow:0 0 0 2px #4a90e21a}.modal-overlay{z-index:10000;background-color:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:var(--color-background,#fff);border-radius:8px;flex-direction:column;width:90%;max-width:500px;max-height:80vh;display:flex;box-shadow:0 4px 20px #00000026}.assignment-modal .modal-title{border-bottom:1px solid var(--color-border,#e0e0e0);margin:0;padding:16px 20px;font-size:1.25rem;font-weight:600}.assignment-modal .modal-body{flex:1;padding:20px;overflow-y:auto}.assignment-modal .modal-footer{border-top:1px solid var(--color-border,#e0e0e0);justify-content:flex-end;gap:12px;padding:16px 20px;display:flex}.script-selector{margin-bottom:16px}.script-selector label{margin-bottom:8px;font-weight:500;display:block}.script-selector select{border:1px solid var(--color-border,#e0e0e0);border-radius:4px;width:100%;padding:8px 12px;font-size:.9rem}.component-list{flex-direction:column;gap:8px;display:flex}.component-list-label{margin-bottom:4px;font-weight:500}.component-option{border:1px solid var(--color-border,#e0e0e0);cursor:pointer;border-radius:6px;padding:12px 16px;transition:all .2s}.component-option:hover{background-color:var(--color-hover,#f5f5f5);border-color:var(--color-primary-light,#90caf9)}.component-option.selected{background-color:var(--color-primary-bg,#e3f2fd);border-color:var(--color-primary,#1976d2)}.component-option:focus{outline:2px solid var(--color-primary,#1976d2);outline-offset:2px}.component-number{color:var(--color-text-primary,#333);margin-bottom:4px;font-size:.9rem;font-weight:600}.component-preview{color:var(--color-text-secondary,#666);font-size:.85rem;line-height:1.4}.component-word-count{color:var(--color-text-muted,#999);margin-top:4px;font-size:.75rem}.loading-message,.no-components-message{text-align:center;color:var(--color-text-secondary,#666);padding:20px;font-style:italic}.btn{cursor:pointer;border:none;border-radius:4px;padding:8px 16px;font-size:.9rem;font-weight:500;transition:all .2s}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--color-primary,#1976d2);color:#fff}.btn-primary:hover:not(:disabled){background-color:var(--color-primary-dark,#1565c0)}.btn-secondary{background-color:var(--color-background-secondary,#f5f5f5);color:var(--color-text-primary,#333);border:1px solid var(--color-border,#e0e0e0)}.btn-secondary:hover:not(:disabled){background-color:var(--color-hover,#e0e0e0)}.broll-section{background:#f0f7ff;border:1px solid #cce0f5;border-radius:4px;flex-direction:column;gap:12px;margin-bottom:16px;padding:16px;display:flex}.broll-section-header{border-bottom:1px solid #cce0f5;justify-content:space-between;align-items:center;padding-bottom:12px;display:flex}.broll-section-header h3{color:#1a5490;margin:0;font-size:16px}.broll-section-loading,.broll-section-error{text-align:center;color:#666;padding:24px;font-size:14px}.broll-section-error{color:#c33;background:#fee;border-radius:4px}.broll-section-empty{text-align:center;color:#1a5490;background:#e8f2ff;border:1px dashed #99c2e8;border-radius:4px;padding:32px;font-size:14px}.broll-section-actions{align-items:center;gap:8px;display:flex}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:#333;background:#f5f5f5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}html,body{margin:0;padding:0}#root{min-height:100vh}button{cursor:pointer;background:0 0;border:none;font-family:inherit}input,select,textarea{font-family:inherit}.app-layout{background:#fff;flex:1;width:100%;padding-top:64px;display:flex;overflow:hidden}.sidebar{background:#fafafa;border-right:1px solid #ddd;flex-shrink:0;width:280px;overflow-y:auto}.main-content{background:#f5f5f5;flex-direction:column;flex:1;padding:24px;display:flex;overflow:hidden}.content-header{margin-bottom:24px}.content-header h2{color:#333;margin:0 0 8px;font-size:24px;font-weight:600}.content-header p{color:#666;margin:0;font-size:14px}.content-container{background:#fff;border:1px solid #e5e5e5;border-radius:8px;flex-direction:column;flex:1;display:flex;overflow:hidden}.workspace{flex:1;display:flex;overflow:hidden}.center-panel{border-right:1px solid #ddd;flex-direction:column;flex:1;display:flex;overflow:hidden}.right-panel{background:#fafafa;border-left:1px solid #ddd;width:350px;overflow-y:auto}.scenes-workspace{width:100%;height:100vh;padding-left:var(--rail-collapsed,56px);flex-direction:column;display:flex;overflow:hidden}.loading{color:#666;justify-content:center;align-items:center;height:100%;font-size:14px;display:flex}.error-message{color:#c33;background:#fee;border:1px solid #fcc;border-radius:4px;margin:8px;padding:16px}.success-message{color:#3c3;background:#efe;border:1px solid #cfc;border-radius:4px;margin:8px;padding:16px}table{border-collapse:collapse;width:100%;font-size:13px}th{text-align:left;color:#333;background:#f0f0f0;border-bottom:1px solid #ddd;padding:8px;font-weight:600}td{border-bottom:1px solid #eee;padding:8px}tr:hover{background:#f9f9f9}.btn{border-radius:4px;padding:6px 12px;font-size:13px;font-weight:500;transition:all .2s}.btn-primary{color:#fff;background:#2563eb}.btn-primary:hover{background:#1d4ed8}.btn-danger{color:#fff;background:#ef4444}.btn-danger:hover{background:#dc2626}.btn-secondary{color:#333;background:#e5e7eb}.btn-secondary:hover{background:#d1d5db}.form-group{margin-bottom:12px}.form-label{color:#333;margin-bottom:4px;font-size:13px;font-weight:500;display:block}.form-control{border:1px solid #ddd;border-radius:4px;width:100%;padding:6px 8px;font-size:13px}.form-control:focus{border-color:#2563eb;outline:none;box-shadow:0 0 0 3px #2563eb1a}.modal{z-index:1000;background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-content{background:#fff;border-radius:8px;width:90%;max-width:500px;max-height:90vh;padding:24px;overflow-y:auto;box-shadow:0 10px 40px #0003}.modal-header{color:#333;margin-bottom:16px;font-size:18px;font-weight:600}.modal-footer{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}html,body,#root{overflow-anchor:none}.content-scroll{overflow-anchor:none;flex:1;padding:20px 20px 50vh;overflow-y:auto}.component-card{overflow-anchor:none;background:#fff;border:1px solid #e5e5e5;border-radius:6px;margin-bottom:16px;overflow:hidden}.component-header{cursor:pointer;color:#333;background:#f8f9fa;border:none;border-bottom:1px solid #e5e5e5;justify-content:space-between;align-items:center;width:100%;padding:14px 16px;font-size:14px;font-weight:500;transition:background .2s;display:flex}.component-header:hover{background:#f0f1f3}.toggle-icon{color:#999;font-size:12px}.component-body{padding:16px}.component-text{margin-bottom:16px}.component-text h3{color:#333;margin:0 0 8px;font-size:16px;font-weight:600}.component-text p{color:#666;margin:0;font-size:14px;line-height:1.6}.empty-state{text-align:center;color:#666;flex-direction:column;justify-content:center;align-items:center;padding:40px 20px;display:flex}.empty-state h3{color:#333;margin:0 0 8px;font-size:18px;font-weight:600}.empty-state p{margin:0;font-size:14px}.error-state{color:#c33;background:#fee;border:1px solid #fcc;border-radius:4px;padding:16px}.error-state p{margin:0;font-size:14px}.right-sidebar{background:#fafafa;border-left:1px solid #ddd;width:320px;display:none;overflow-y:auto}@media (width<=768px){.sidebar{width:60px}.content-wrapper{padding:0 12px}.error-message,.success-message{margin:4px;padding:12px}}
