:root{--space-0:0;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--space-16:64px;--space-20:80px;--font-sans:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-mono:"JetBrains Mono","SF Mono",Consolas,monospace;--text-2xs:0.64rem;--text-xs:0.75rem;--text-sm:0.875rem;--text-base:1rem;--text-md:1.125rem;--text-lg:1.25rem;--text-xl:1.5rem;--text-2xl:1.875rem;--text-3xl:2.25rem;--text-4xl:3rem;--font-normal:400;--font-medium:500;--font-semibold:600;--font-bold:700;--leading-tight:1.3;--leading-normal:1.5;--leading-relaxed:1.6;--leading-heading:1.2;--neutral-0:#FFFFFF;--neutral-50:#F8FAFC;--neutral-100:#F1F5F9;--neutral-200:#E2E8F0;--neutral-300:#CBD5E1;--neutral-400:#94A3B8;--neutral-500:#64748B;--neutral-600:#475569;--neutral-700:#334155;--neutral-800:#1E293B;--neutral-900:#0F172A;--neutral-950:#020617;--surface-primary:#FFFFFF;--surface-secondary:#F8FAFC;--accent-50:#EFF6FF;--accent-100:#DBEAFE;--accent-200:#BFDBFE;--accent-400:#60A5FA;--accent-500:#3B82F6;--accent-600:#2563EB;--accent-700:#1D4ED8;--accent-800:#1E40AF;--accent-900:#1E3A8A;--accent-950:#172554;--success-50:#F0FDF4;--success-100:#DCFCE7;--success-500:#22C55E;--success-600:#16A34A;--success-800:#166534;--success-950:#052E16;--warning-50:#FFFBEB;--warning-100:#FEF3C7;--warning-500:#F59E0B;--warning-600:#D97706;--danger-50:#FEF2F2;--danger-100:#FEE2E2;--danger-500:#EF4444;--danger-600:#DC2626;--danger-700:#B91C1C;--danger-800:#991B1B;--danger-900:#7F1D1D;--danger-950:#450A0A;--purple-500:#7C3AED;--purple-800:#5B21B6;--purple-900:#4C1D95;--purple-950:#2E1065;--orange-500:#F97316;--button-border-color:#d0d5dd;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--radius-xl:16px;--radius-2xl:20px;--radius-full:9999px;--shadow-xs:0 1px 2px rgba(0,0,0,0.04);--shadow-sm:0 1px 3px rgba(0,0,0,0.08);--shadow-md:0 4px 16px rgba(0,0,0,0.08);--shadow-lg:0 12px 32px rgba(0,0,0,0.10);--shadow-xl:0 20px 48px rgba(0,0,0,0.12);--shadow-accent:0 8px 24px rgba(59,130,246,0.25);--shadow-inner:inset 0 1px 2px rgba(0,0,0,0.06);--app-bar-height:52px;--navbar-height:56px;--sidebar-width:240px;--sidebar-collapsed-width:48px;--inspector-width:360px;--navbar-divider:rgba(255,255,255,0.15);--avatar-sm:28px;--avatar-md:32px;--z-base:0;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal-backdrop:400;--z-modal:500;--z-popover:600;--z-tooltip:700;--transition-fast:0.12s cubic-bezier(0.16,1,0.3,1);--transition-normal:0.2s cubic-bezier(0.16,1,0.3,1);--transition-slow:0.3s cubic-bezier(0.16,1,0.3,1)}*,:after,:before{box-sizing:border-box}button{-webkit-appearance:none;-moz-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:var(--leading-normal);color:var(--neutral-700);background:var(--neutral-50);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.btn,body{font-family:var(--font-sans);font-size:var(--text-base)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-weight:500;line-height:1;border:none;border-radius:var(--radius-md);cursor:pointer;transition:all var(--transition-normal);white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-500);color:var(--neutral-0);box-shadow:var(--shadow-xs)}.btn-primary:hover:not(:disabled){background:var(--accent-600);box-shadow:var(--shadow-accent);transform:translateY(-1px)}.btn-primary:active:not(:disabled){background:var(--accent-700);transform:translateY(0)}.btn-secondary{background:var(--neutral-100);color:var(--neutral-700);border:1px solid var(--neutral-200)}.btn-secondary:hover:not(:disabled){background:var(--neutral-200)}.btn-ghost{background:transparent;color:var(--neutral-600)}.btn-ghost:hover:not(:disabled){background:var(--neutral-100)}.btn-danger{background:var(--danger-600);color:var(--neutral-0)}.btn-danger:hover:not(:disabled){background:var(--danger-500)}.btn-sm{padding:var(--space-1) var(--space-3);font-size:var(--text-sm)}.btn-lg{padding:var(--space-3) var(--space-5);font-size:var(--text-md)}.btn-icon{padding:var(--space-2);width:32px;height:32px}.btn-icon.btn-sm{width:28px;height:28px;padding:var(--space-1)}.badge{display:inline-flex;align-items:center;padding:2px var(--space-2);font-size:var(--text-xs);font-weight:600;border-radius:var(--radius-full);text-transform:uppercase;letter-spacing:.3px}.badge-draft{background:linear-gradient(135deg,var(--warning-100),var(--warning-50));color:var(--warning-600);border:1px solid var(--warning-200)}.badge-baseline{background:linear-gradient(135deg,var(--success-100),var(--success-50));color:var(--success-600);border:1px solid var(--success-200)}.badge-archived{background:var(--neutral-200);color:var(--neutral-500);border:1px solid var(--neutral-300)}.badge-critical{background:var(--danger-100);color:var(--danger-600)}.badge-high{background:var(--success-100);color:var(--success-600)}.badge-medium{background:var(--warning-100);color:var(--warning-600)}.badge-low{background:var(--neutral-200);color:var(--neutral-500)}.form-group{margin-bottom:var(--space-3)}.form-label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--neutral-600);margin-bottom:var(--space-1)}.form-input,.form-select,.form-textarea{width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-base);color:var(--neutral-700);background:var(--neutral-0);border:1px solid var(--neutral-300);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast)}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:var(--accent-500);box-shadow:0 0 0 3px var(--accent-100)}.form-input:disabled,.form-select:disabled{background:var(--neutral-100);color:var(--neutral-400);cursor:not-allowed}.form-input-sm{padding:var(--space-1) var(--space-2)}.form-input-sm,.table{font-size:var(--text-sm)}.table{width:100%;border-collapse:collapse}.table th{background:var(--neutral-100);font-weight:600;font-size:var(--text-xs);color:var(--neutral-500);text-transform:uppercase;letter-spacing:.5px;text-align:left;border-bottom:2px solid var(--neutral-200);position:-webkit-sticky;position:sticky;top:0;z-index:var(--z-sticky)}.table td,.table th{padding:var(--space-2) var(--space-3)}.table td{border-bottom:1px solid var(--neutral-200);vertical-align:middle}.table tbody tr{transition:background var(--transition-fast)}.table tbody tr:hover{background:var(--neutral-50)}.table tbody tr.selected{background:var(--accent-50)}.table tbody tr.critical{border-left:3px solid var(--danger-500)}.table tbody tr.critical td:first-child{padding-left:calc(var(--space-3) - 3px)}.card{background:var(--neutral-0);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.card-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--neutral-200);font-weight:600;font-size:var(--text-sm);color:var(--neutral-700)}.card-body{padding:var(--space-4)}.card-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--neutral-200);background:var(--neutral-50);border-radius:0 0 var(--radius-lg) var(--radius-lg)}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-lg{font-size:var(--text-lg)}.text-xl{font-size:var(--text-xl)}.text-muted{color:var(--neutral-500)}.text-danger{color:var(--danger-600)}.text-success{color:var(--success-600)}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.mt-0{margin-top:0}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-4{margin-top:var(--space-4)}.mb-0{margin-bottom:0}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-4{margin-bottom:var(--space-4)}.mr-2{margin-right:var(--space-2)}.ml-2{margin-left:var(--space-2)}.p-0{padding:0}.p-2{padding:var(--space-2)}.p-4{padding:var(--space-4)}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.flex{display:flex}.flex-col{flex-direction:column}.flex-row{display:flex;flex-direction:row}.flex-1{flex:1 1}.flex-shrink-0{flex-shrink:0}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.flex-wrap{flex-wrap:wrap}.w-full{width:100%}.h-full{height:100%}.min-w-0{min-width:0}.overflow-hidden{overflow:hidden}.overflow-auto{overflow:auto}.hidden{display:none}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.divider{height:1px;background:var(--neutral-200);margin:var(--space-3) 0}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.loading{display:flex;align-items:center;justify-content:center;padding:var(--space-8);color:var(--neutral-500)}.error-msg,.loading{font-size:var(--text-sm)}.error-msg{color:var(--danger-600);padding:var(--space-2) 0}.tooltip{position:absolute;background:var(--neutral-800);color:var(--neutral-100);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);white-space:nowrap;z-index:var(--z-tooltip);pointer-events:none;box-shadow:var(--shadow-lg)}.kbd,.tooltip{font-size:var(--text-xs)}.kbd{display:inline-flex;align-items:center;justify-content:center;padding:2px 6px;font-family:var(--font-mono);font-weight:500;color:var(--neutral-600);background:var(--neutral-100);border:1px solid var(--neutral-200);border-radius:var(--radius-sm);box-shadow:0 1px 0 var(--neutral-300)}.navbar{justify-content:space-between;background:var(--neutral-900);color:var(--neutral-0);padding:0 var(--space-5);height:var(--navbar-height);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.navbar,.navbar-left{display:flex;align-items:center}.navbar-left{gap:var(--space-2)}.navbar-brand{display:flex;align-items:center;text-decoration:none;color:var(--neutral-0);font-weight:var(--font-semibold);letter-spacing:-.02em;transition:opacity var(--transition-fast)}.navbar-brand:hover{opacity:.85}.navbar-breadcrumb{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--neutral-300);text-decoration:none;transition:color var(--transition-fast);letter-spacing:-.01em}.navbar-breadcrumb:hover{color:var(--neutral-0)}.navbar-right{display:flex;align-items:center;gap:var(--space-3)}.navbar-email{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--neutral-300);letter-spacing:-.01em}.btn-ghost-dark{background:transparent;color:var(--neutral-300)}.btn-ghost-dark:hover:not(:disabled){background:rgba(255,255,255,.1);color:var(--neutral-0)}.navbar .btn-ghost{color:var(--neutral-300)}.navbar .btn-ghost:hover:not(:disabled){background:rgba(255,255,255,.1);color:var(--neutral-0)}.navbar-divider{color:var(--neutral-500);font-size:var(--text-sm);font-weight:var(--font-normal);-webkit-user-select:none;-moz-user-select:none;user-select:none;flex-shrink:0}.navbar-divider:before{content:"/"}.user-avatar{display:flex;align-items:center;justify-content:center;width:var(--avatar-sm);height:var(--avatar-sm);border-radius:var(--radius-full);background:linear-gradient(135deg,var(--accent-500),var(--accent-600));color:var(--neutral-0);font-weight:var(--font-semibold);flex-shrink:0;letter-spacing:.02em}.badge-role,.user-avatar{font-size:var(--text-2xs);text-transform:uppercase}.badge-role{background:rgba(255,255,255,.12);color:var(--neutral-300);padding:3px 8px;border-radius:var(--radius-sm);font-weight:var(--font-medium);letter-spacing:.5px}.sidebar-item{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast),box-shadow var(--transition-fast);font-size:var(--text-sm);position:relative}.sidebar-item:hover{background:var(--neutral-100)}.sidebar-item--selected{background:var(--accent-50);box-shadow:inset 3px 0 0 var(--accent-500)}.sidebar-action-btn{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);width:100%;background:transparent;border:none;border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);color:var(--neutral-600);transition:background var(--transition-fast),color var(--transition-fast);text-align:left}.sidebar-action-btn:hover:not(:disabled){background:var(--neutral-100);color:var(--neutral-700)}.sidebar-action-btn:disabled{opacity:.5;cursor:not-allowed}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.mb-16{margin-bottom:64px}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.ml-3{margin-left:var(--space-3)}.form-group label{display:block;font-size:var(--text-sm);font-weight:500;color:var(--neutral-600);margin-bottom:var(--space-1)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--space-2) var(--space-3);font-family:var(--font-sans);font-size:var(--text-base);color:var(--neutral-700);background:var(--neutral-50);border:1px solid var(--neutral-300);border-radius:var(--radius-md);transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background var(--transition-fast)}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{background:var(--neutral-0);outline:none;border-color:var(--accent-500);box-shadow:0 0 0 3px var(--accent-100)}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--neutral-400)}.card{transition:box-shadow var(--transition-normal),transform var(--transition-normal)}.card-interactive{cursor:pointer}.card-interactive:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px);border-color:var(--accent-200)}.card-padded{padding:var(--space-8);border:1px solid var(--neutral-200)}.card+.card{margin-top:var(--space-3)}.page-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-12);padding-bottom:var(--space-6);border-bottom:1px solid var(--neutral-200)}.page-title{font-size:var(--text-3xl);font-weight:var(--font-bold);color:var(--neutral-800);margin:0;letter-spacing:-.01em;line-height:var(--leading-heading)}.empty-state{text-align:center;padding:var(--space-20) var(--space-6);color:var(--neutral-500)}.empty-state-title{font-size:var(--text-lg);font-weight:var(--font-medium);color:var(--neutral-600);margin-bottom:var(--space-2)}.empty-state-description{font-size:var(--text-sm);margin-bottom:var(--space-4)}.badge-status{display:inline-flex;align-items:center;padding:2px var(--space-2);font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.3px}.badge-active{background:var(--success-100);color:var(--success-600)}.badge-neutral{background:var(--neutral-200);color:var(--neutral-600)}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:var(--neutral-50)}.login-card{background:var(--neutral-0);border-radius:var(--radius-2xl);padding:var(--space-12);width:420px;box-shadow:var(--shadow-xl)}.login-title{margin-top:0;margin-bottom:var(--space-6);text-align:center;font-size:var(--text-2xl);font-weight:var(--font-bold);color:var(--neutral-800);letter-spacing:-.01em}.login-divider{position:relative;text-align:center;margin:var(--space-5) 0 var(--space-3)}.login-divider span{background:var(--neutral-0);padding:0 var(--space-3);color:var(--neutral-400);font-size:var(--text-sm);position:relative;z-index:1}.login-divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:var(--neutral-200)}.link-button{background:none;border:none;color:var(--accent-500);cursor:pointer;font-weight:var(--font-medium);font-size:var(--text-sm);padding:0}.link-button:hover{color:var(--accent-600);text-decoration:underline}.login-footer{text-align:center;font-size:var(--text-sm);margin-top:var(--space-4);color:var(--neutral-600)}.schedule-full-page{position:absolute;top:var(--navbar-height);left:0;right:0;bottom:0}.schedule-container,.schedule-full-page{display:flex;flex-direction:column;background:var(--neutral-50)}.schedule-container{height:100%}.schedule-version-badge{display:inline-flex;align-items:center;padding:var(--space-1) 10px;border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase}.schedule-badge-draft{background:var(--warning-100);color:var(--warning-600)}.schedule-badge-baseline{background:var(--success-100);color:var(--success-600)}.schedule-badge-imported{background:var(--accent-100);color:var(--accent-700)}.schedule-duration-basis-wrap{position:relative}.schedule-duration-basis-trigger{display:inline-flex;align-items:center;gap:6px;padding:8px 10px;border-radius:10px;border:1px solid var(--neutral-200);background:var(--surface-primary,#FFFFFF);color:var(--neutral-700);font-size:var(--text-xs);font-weight:var(--font-semibold);cursor:pointer;transition:all var(--transition-fast)}.schedule-duration-basis-trigger:hover{border-color:var(--neutral-300)}.schedule-duration-basis-icon{display:inline-flex;align-items:center;color:currentColor}.schedule-duration-basis--working{background:#bbf7d0;border-color:#22c55e;color:#14532d}.schedule-duration-basis--calendar{background:#f8fafc;border-color:#cbd5e1;color:#334155}.schedule-duration-basis--legacy{background:#fff7ed;border-color:#fdba74;color:#9a3412}.schedule-duration-basis--syncing{background:#eff6ff;border-color:#93c5fd;color:#1d4ed8;animation:schedule-duration-basis-pulse 1.1s ease-in-out infinite}@keyframes schedule-duration-basis-pulse{0%{opacity:.65}50%{opacity:1}to{opacity:.65}}.schedule-duration-basis-popover{position:absolute;top:calc(100% + 8px);left:0;z-index:35;width:320px;border:1px solid var(--neutral-200);border-radius:12px;background:var(--surface-primary,#FFFFFF);box-shadow:var(--shadow-lg);padding:14px;display:flex;flex-direction:column;gap:10px}.schedule-duration-basis-popover-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--neutral-900)}.schedule-duration-basis-popover-subtitle{font-size:var(--text-xs);color:var(--neutral-600)}.schedule-duration-basis-segmented{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--neutral-200);border-radius:8px;background:#FFFFFF;overflow:hidden}.schedule-duration-basis-segment{border:none;background:transparent;font-size:var(--text-xs);font-weight:var(--font-medium);color:var(--neutral-600);padding:8px 6px}.schedule-duration-basis-segment.is-active{background:var(--accent-50);color:var(--accent-800)}.schedule-duration-basis-segment:disabled{cursor:not-allowed}.schedule-duration-basis-meta{display:grid;grid-gap:6px;gap:6px}.schedule-duration-basis-meta>div{display:flex;justify-content:space-between;gap:8px;font-size:var(--text-xs);color:var(--neutral-700)}.schedule-duration-basis-meta-label{color:var(--neutral-500)}.schedule-duration-basis-note{border-radius:8px;background:#F1F5F9;border:1px solid var(--neutral-200);color:var(--neutral-700);font-size:var(--text-xs);padding:8px 10px}.schedule-user-area{display:flex;align-items:center;gap:var(--space-3);font-size:var(--text-sm)}.schedule-body{display:flex;flex:1 1;overflow:hidden}.schedule-version-item{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);cursor:pointer;font-size:var(--text-sm);transition:background var(--transition-fast);border:none;background:transparent;width:100%;text-align:left}.schedule-version-item:hover{background:var(--neutral-100)}.schedule-version-item--selected{background:var(--accent-50)}.schedule-main-content{flex:1 1;display:flex;flex-direction:column;overflow:hidden;min-width:0}.schedule-commandbar{display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--neutral-200);background:var(--neutral-0);flex-shrink:0}.schedule-commandbar-row1{display:flex;align-items:center;min-height:44px;gap:var(--space-2)}.schedule-commandbar-row1-main{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex-wrap:wrap}.schedule-commandbar-row2{min-height:40px}.schedule-commandbar-row2-scroll{display:flex;align-items:center;gap:var(--space-2);overflow-x:auto;padding:2px 0;scrollbar-gutter:stable both-edges}.schedule-versions-split{display:inline-flex;align-items:stretch;border:1px solid var(--neutral-300);border-radius:var(--radius-md);background:var(--neutral-0);overflow:visible}.schedule-versions-split-main{border:none;border-right:1px solid var(--neutral-200);border-radius:0;padding:0 var(--space-2);display:inline-flex;align-items:center;gap:var(--space-2);height:32px}.schedule-versions-split-caret{border:none;border-radius:0;color:var(--neutral-500)}.schedule-commandbar-select{height:32px;min-width:110px}.schedule-commandbar-btn{height:32px;white-space:nowrap}.schedule-commandbar-btn--dependency{background:var(--neutral-50);border-color:var(--neutral-200);color:var(--neutral-600)}.schedule-commandbar-btn--dependency:hover:not(:disabled){background:var(--neutral-100);border-color:var(--neutral-300);color:var(--neutral-700)}.schedule-commandbar-icon-btn{width:32px;height:32px;padding:0}.schedule-commandbar-mode{display:inline-flex;align-items:center;border:1px solid var(--neutral-300);border-radius:var(--radius-md);overflow:hidden;background:var(--neutral-0)}.schedule-commandbar-mode-segment{height:32px;min-width:72px;border:none;background:transparent;color:var(--neutral-600);font-size:var(--text-xs);font-weight:var(--font-semibold);cursor:pointer}.schedule-commandbar-mode-segment.is-active{background:var(--accent-50);color:var(--accent-700)}.schedule-commandbar-mode-segment:disabled{opacity:.5;cursor:not-allowed}.schedule-commandbar-spacer{flex:1 1}.schedule-commandbar-selection-chip{display:inline-flex;align-items:center;gap:var(--space-2);padding:0 var(--space-2);border:1px solid var(--neutral-200);border-radius:var(--radius-full);background:var(--neutral-50);height:32px;font-size:var(--text-xs);color:var(--neutral-600)}.schedule-commandbar-undo-group{display:inline-flex;align-items:center;gap:var(--space-1)}.schedule-commandbar-menu{position:relative}.schedule-commandbar-popover{position:absolute;top:calc(100% + 8px);right:0;min-width:320px;max-width:min(560px,80vw);padding:var(--space-3);background:var(--neutral-0);border:1px solid var(--neutral-200);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);z-index:var(--z-dropdown)}.schedule-commandbar-popover--versions{right:auto;left:0;min-width:220px}.schedule-commandbar-popover--version-actions{top:0;left:calc(100% + 8px);right:auto;min-width:220px}.schedule-commandbar-popover--more{min-width:300px}.schedule-commandbar-divider{height:1px;background:var(--neutral-200)}.schedule-commandbar-field-row{display:flex;flex-direction:column;gap:var(--space-1)}.schedule-commandbar-field-label{font-size:var(--text-2xs);color:var(--neutral-500);font-weight:var(--font-semibold);letter-spacing:.3px;text-transform:uppercase}.schedule-commandbar-field-inline{display:inline-flex;align-items:center;gap:var(--space-1);white-space:nowrap}.schedule-commandbar-field-inline-label{font-size:var(--text-xs);color:var(--neutral-500);font-weight:var(--font-medium)}.schedule-commandbar-input{min-width:180px;height:32px}.schedule-commandbar-cp-hint{display:inline-flex;align-items:center;gap:var(--space-2);border:1px solid var(--warning-200);border-radius:var(--radius-md);background:var(--warning-50);color:var(--warning-700);padding:0 var(--space-2);min-height:32px;font-size:var(--text-xs)}.schedule-tooltip-popout{position:fixed;max-width:min(420px,calc(100vw - 16px));padding:10px 12px;border-radius:10px;background:var(--neutral-900);color:var(--neutral-50);font-size:var(--text-xs);line-height:1.45;box-shadow:var(--shadow-lg);border:1px solid rgba(148,163,184,.3);pointer-events:none;z-index:var(--z-tooltip)}.schedule-tooltip-popout--bottom:after,.schedule-tooltip-popout--top:after{content:"";position:absolute;left:50%;width:10px;height:10px;background:inherit;border:inherit;transform:translateX(-50%) rotate(45deg)}.schedule-tooltip-popout--top:after{bottom:-6px;border-top:none;border-left:none}.schedule-tooltip-popout--bottom:after{top:-6px;border-right:none;border-bottom:none}.schedule-commandbar-row-wrap{display:flex;align-items:center;gap:var(--space-1);flex-wrap:wrap;white-space:normal}.schedule-commandbar-separator{width:1px;height:20px;background:var(--neutral-200);flex-shrink:0}.schedule-commandbar-zoom-group{display:inline-flex;align-items:center;gap:var(--space-1)}.schedule-commandbar-scenario-wrap{border:1px solid var(--neutral-200);border-radius:var(--radius-md);padding:var(--space-2);background:var(--neutral-50);overflow-x:auto}.schedule-gantt-pane{flex:1 1}.schedule-gantt-pane,.schedule-inspector{overflow:hidden;background:var(--neutral-0)}.schedule-inspector{width:360px;border-left:1px solid var(--neutral-200);display:flex;flex-direction:column;flex-shrink:0}.schedule-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--space-12);color:var(--neutral-400);font-size:var(--text-sm);text-align:center}.schedule-form-row{display:flex;gap:var(--space-2);padding:var(--space-3);background:var(--neutral-50);border-bottom:1px solid var(--neutral-200);flex-wrap:wrap;align-items:flex-end}.schedule-dependency-form-row{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) 220px 92px auto;align-items:end;grid-gap:var(--space-2);gap:var(--space-2)}.schedule-dependency-form-field{min-width:0}.schedule-dependency-form-field--wide{min-width:220px}.schedule-dependency-form-field--type{min-width:180px}.schedule-dependency-form-field--lag{min-width:84px}.schedule-dependency-form-actions{display:inline-flex;align-items:center;justify-content:flex-end;gap:var(--space-2);min-height:32px}.schedule-form-label-with-help{display:inline-flex;align-items:center;gap:6px}.schedule-inline-help{width:16px;height:16px;border-radius:999px;border:1px solid var(--neutral-300);background:var(--neutral-0);color:var(--neutral-500);font-size:10px;font-weight:var(--font-semibold);display:inline-flex;align-items:center;justify-content:center;cursor:help;position:relative;-webkit-user-select:none;-moz-user-select:none;user-select:none}.schedule-inline-help-tooltip{position:absolute;top:calc(100% + 8px);left:0;width:min(320px,65vw);display:grid;grid-gap:4px;gap:4px;padding:10px 12px;border-radius:10px;background:var(--neutral-900);color:var(--neutral-50);font-size:var(--text-xs);line-height:1.45;border:1px solid rgba(148,163,184,.28);box-shadow:var(--shadow-lg);opacity:0;visibility:hidden;pointer-events:none;z-index:var(--z-tooltip);transition:opacity var(--transition-fast),visibility var(--transition-fast)}.schedule-inline-help:focus-visible .schedule-inline-help-tooltip,.schedule-inline-help:hover .schedule-inline-help-tooltip{opacity:1;visibility:visible}.schedule-inline-help-tooltip strong{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--neutral-0)}@media (max-width:1500px){.schedule-dependency-form-row{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) 200px 84px}.schedule-dependency-form-actions{grid-column:1/-1}}@media (max-width:1100px){.schedule-dependency-form-row{grid-template-columns:1fr}.schedule-dependency-form-actions{justify-content:flex-start}}.schedule-form-group{display:flex;flex-direction:column;gap:var(--space-1)}.schedule-form-label{font-size:var(--text-2xs);font-weight:var(--font-medium);color:var(--neutral-500)}.schedule-form-input{padding:var(--space-1) 10px;font-size:var(--text-sm);border:1px solid var(--neutral-300);border-radius:var(--radius-md);outline:none;transition:border-color var(--transition-fast)}.schedule-form-input:focus{border-color:var(--accent-500)}.schedule-undo-bar{display:flex;align-items:center;justify-content:space-between;background:var(--warning-50);border:1px solid var(--warning-100);border-radius:var(--radius-md);padding:var(--space-1) var(--space-3);margin:var(--space-2) var(--space-4);font-size:var(--text-sm)}.schedule-mode-toggle{display:flex;align-items:center;gap:var(--space-1);padding:var(--space-1) 10px;font-size:var(--text-2xs);font-weight:var(--font-medium);border-radius:var(--radius-sm);border:1px solid;transition:all var(--transition-fast)}.schedule-mode-auto{background:var(--accent-50);border-color:var(--accent-200);color:var(--accent-700)}.schedule-mode-manual{background:var(--warning-100);border-color:var(--warning-300);color:var(--warning-700)}.schedule-health-btn{display:flex;align-items:center;gap:var(--space-1);padding:0 10px;height:32px;font-size:var(--text-xs);font-weight:var(--font-medium);border-radius:var(--radius-sm);cursor:pointer;border:1px solid;transition:all var(--transition-fast)}.schedule-health-valid{background:var(--success-100);border-color:var(--success-200);color:var(--success-600)}.schedule-health-invalid{background:var(--danger-100);border-color:var(--danger-200);color:var(--danger-600)}.schedule-popover{position:absolute;top:100%;left:0;margin-top:var(--space-2);width:min(460px,calc(100vw - 24px));max-height:min(520px,calc(100vh - 120px));background:var(--neutral-0);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);border:1px solid var(--neutral-200);z-index:var(--z-dropdown);overflow:hidden}.schedule-popover-header{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--neutral-200);display:flex;align-items:center;justify-content:space-between}.schedule-popover-header--error{background:var(--danger-50)}.schedule-popover-header--success{background:var(--success-50)}.schedule-popover-body{max-height:min(380px,calc(100vh - 260px));overflow:auto}.schedule-popover-footer{padding:var(--space-3) var(--space-4);border-top:1px solid var(--neutral-200);background:var(--neutral-50);display:flex;justify-content:flex-end;gap:var(--space-2)}.schedule-violation-item{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--neutral-100)}.schedule-violation-item:last-child{border-bottom:none}.schedule-violation-review-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(920px,calc(100vw - 32px));max-height:calc(100vh - 64px);display:flex;flex-direction:column;background:var(--neutral-0);border:1px solid var(--neutral-200);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);z-index:var(--z-modal);overflow:hidden}.schedule-violation-review-header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--neutral-200);background:var(--neutral-50)}.schedule-violation-review-title{font-size:var(--text-base);font-weight:var(--font-semibold);color:var(--neutral-900)}.schedule-violation-review-subtitle{margin-top:var(--space-1);font-size:var(--text-sm);color:var(--neutral-600)}.schedule-violation-review-body{flex:1 1;overflow:auto}.schedule-violation-review-empty{padding:var(--space-6);text-align:center;color:var(--neutral-500);font-size:var(--text-sm)}.schedule-violation-review-item{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--neutral-100)}.schedule-violation-review-item:last-child{border-bottom:none}.schedule-violation-review-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);margin-bottom:var(--space-1)}.schedule-violation-review-actions{display:flex;justify-content:flex-end;margin-top:var(--space-2)}.schedule-violation-review-footer{display:flex;justify-content:flex-end;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border-top:1px solid var(--neutral-200);background:var(--neutral-50)}@media (max-width:1199px){.schedule-commandbar{padding:var(--space-2)}.schedule-commandbar-btn{font-size:var(--text-xs);padding-left:var(--space-2);padding-right:var(--space-2)}.schedule-commandbar-mode-segment{min-width:60px;font-size:var(--text-2xs)}.schedule-commandbar-input{min-width:150px}}@media (max-width:1024px){.schedule-commandbar-row1{flex-wrap:wrap}.schedule-commandbar-popover--more{min-width:min(560px,90vw)}}.schedule-violation-title{font-size:var(--text-sm);font-weight:var(--font-medium);color:var(--neutral-800);margin-bottom:var(--space-1)}.schedule-violation-message{font-size:var(--text-xs);color:var(--neutral-500);line-height:1.4}.schedule-violation-meta{font-size:var(--text-2xs);color:var(--neutral-400);margin-top:var(--space-1);display:flex;gap:var(--space-2)}.schedule-dialog-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:var(--z-modal-backdrop)}.schedule-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--neutral-0);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-6);min-width:360px;z-index:var(--z-modal)}.schedule-dialog-title{font-size:var(--text-base);font-weight:var(--font-semibold);margin-bottom:var(--space-4);color:var(--neutral-700)}.schedule-dialog-warning{margin-top:var(--space-4);padding:var(--space-3);background:var(--warning-100);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--warning-700)}.schedule-dialog-actions{display:flex;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-5)}.schedule-compute-banner{margin:var(--space-3) var(--space-4) 0;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);border:1px solid;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);box-shadow:var(--shadow-sm)}.schedule-compute-banner--analyze{background:linear-gradient(135deg,var(--accent-50),var(--neutral-0));border-color:var(--accent-200)}.schedule-compute-banner--reschedule{background:linear-gradient(135deg,var(--warning-50),var(--neutral-0));border-color:var(--warning-100)}.schedule-compute-banner-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--neutral-800);margin-bottom:2px}.schedule-compute-banner-text{font-size:var(--text-xs);color:var(--neutral-600)}.schedule-compute-banner-actions{display:inline-flex;align-items:center;gap:var(--space-2)}.schedule-compute-banner-dismiss{border:1px solid var(--neutral-200);background:var(--neutral-0);color:var(--neutral-600);border-radius:var(--radius-sm);padding:var(--space-1) var(--space-2);font-size:var(--text-xs);cursor:pointer;transition:all var(--transition-fast)}.schedule-compute-banner-dismiss:hover{border-color:var(--neutral-300);color:var(--neutral-700)}.schedule-compute-dialog{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:min(680px,calc(100vw - 32px));background:var(--neutral-0);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);padding:var(--space-6);z-index:var(--z-modal);border:1px solid var(--neutral-200)}.schedule-compute-dialog-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:var(--neutral-900);margin-bottom:var(--space-2)}.schedule-compute-dialog-subtitle{font-size:var(--text-sm);color:var(--neutral-600);margin-bottom:var(--space-4)}.schedule-compute-sensitivity{margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid var(--neutral-200);border-radius:var(--radius-lg);background:var(--neutral-50);display:grid;grid-gap:var(--space-2);gap:var(--space-2)}.schedule-compute-sensitivity-title{font-size:var(--text-xs);font-weight:var(--font-semibold);color:var(--neutral-700);text-transform:uppercase;letter-spacing:.3px}.schedule-compute-sensitivity-option{display:flex;align-items:flex-start;gap:var(--space-2);font-size:var(--text-sm);color:var(--neutral-700)}.schedule-compute-sensitivity-help{display:block;margin-top:2px;font-size:var(--text-2xs);color:var(--neutral-500);line-height:1.4}.schedule-compute-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:var(--space-3);gap:var(--space-3)}.schedule-compute-option{border:1px solid var(--neutral-200);border-radius:var(--radius-lg);background:var(--neutral-0);padding:var(--space-4);text-align:left;cursor:pointer;transition:transform var(--transition-fast),box-shadow var(--transition-fast),border-color var(--transition-fast)}.schedule-compute-option:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-md)}.schedule-compute-option:disabled{opacity:.6;cursor:not-allowed}.schedule-compute-option--analyze{border-color:var(--accent-200);background:linear-gradient(155deg,var(--accent-50),var(--neutral-0))}.schedule-compute-option--reschedule{border-color:var(--warning-100);background:linear-gradient(155deg,var(--warning-50),var(--neutral-0))}.schedule-compute-option-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--font-semibold);color:var(--neutral-800);margin-bottom:var(--space-2)}.schedule-compute-option-text{font-size:var(--text-xs);line-height:1.4;color:var(--neutral-600)}.schedule-compute-badge{display:inline-flex;align-items:center;border-radius:var(--radius-full);padding:2px var(--space-2);font-size:var(--text-2xs);font-weight:var(--font-semibold);background:var(--accent-100);color:var(--accent-700)}.schedule-compute-dialog-actions{margin-top:var(--space-5);display:flex;justify-content:flex-end}@media (max-width:860px){.schedule-compute-options{grid-template-columns:1fr}}.schedule-activity-header{font-size:var(--text-2xs);font-weight:var(--font-semibold);color:var(--neutral-500);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--space-2)}.schedule-activity-divider{height:1px;background:var(--neutral-200);margin:var(--space-4) 0}[role=button],[role=tab],button,select{-webkit-tap-highlight-color:transparent}[role=button]:focus:not(:focus-visible),[role=tab]:focus:not(:focus-visible),button:focus:not(:focus-visible),select:focus:not(:focus-visible){outline:none!important;outline-width:0!important;outline-style:none!important;outline-color:transparent!important;outline-offset:0!important;box-shadow:none!important}.gantt-toolbar-btn{height:32px;padding:0 12px;font-size:var(--text-xs);font-weight:var(--font-semibold);border:1px solid var(--neutral-300);border-radius:var(--radius-md);background-color:var(--neutral-0);color:var(--neutral-600);cursor:pointer;display:inline-flex;align-items:center;gap:4px;outline:none;transition:background-color .15s,color .15s}.gantt-toolbar-btn[data-active=true]{background-color:var(--accent-50);border-color:var(--accent-200);color:var(--accent-700)}.gantt-toolbar-btn--sm{padding:0 10px}.gantt-toolbar-btn:disabled{opacity:.5;cursor:not-allowed}.gantt-toolbar-btn:focus:not(:focus-visible){border-color:var(--neutral-300)}.gantt-toolbar-btn[data-active=true]:focus:not(:focus-visible){border-color:var(--accent-200)}.inspector-tab{flex:1 1;padding:12px;background:transparent;border:none;border-bottom:2px solid transparent;cursor:pointer;font-size:13px;font-weight:500;color:#737373;margin-bottom:-1px;outline:none;transition:color .15s}.inspector-tab[data-active=true]{color:#3b82f6;border-bottom-color:#3b82f6}.inspector-tab:focus:not(:focus-visible){border-bottom-color:transparent}.inspector-tab[data-active=true]:focus:not(:focus-visible){border-bottom-color:#3b82f6}.schedule-commandbar-select-btn{height:32px;padding:0 28px 0 10px;font-size:var(--text-xs);font-weight:var(--font-semibold);border:1px solid var(--neutral-300);border-radius:var(--radius-md);background-color:var(--neutral-0);color:var(--neutral-600);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1l4 4 4-4' stroke='%2364748B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center;outline:none;white-space:nowrap}[role=button]:focus-visible,[role=tab]:focus-visible,button:focus-visible,select:focus-visible{outline:2px solid var(--accent-500)!important;outline-offset:2px!important}.schedule-commandbar-select-btn:focus-visible{outline-offset:-1px!important}