.project-switcher{position:relative;display:inline-block}.project-switcher-button{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#fff;border:1px solid #d1d5db;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;color:#1f2937;transition:all .2s;min-width:200px}.project-switcher-button:hover{border-color:#9ca3af;background:#f9fafb}.project-switcher-button:disabled{cursor:not-allowed;opacity:.6}.project-icon{font-size:16px}.project-name{flex:1;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dropdown-arrow{font-size:10px;color:#6b7280}.project-dropdown{position:absolute;top:calc(100% + 4px);left:0;background:#fff;border:1px solid #d1d5db;border-radius:8px;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;min-width:300px;max-width:400px;z-index:1000}.project-dropdown--portal{position:fixed;z-index:9999}.project-dropdown-header{padding:12px 16px;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;align-items:center}.project-dropdown-header>span{font-size:12px;font-weight:600;text-transform:uppercase;color:#6b7280}.archive-toggle{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:12px;color:#4b5563}.archive-toggle input[type=checkbox]{cursor:pointer;width:14px;height:14px}.archive-toggle-text{font-weight:400}.project-list{max-height:300px;overflow-y:auto}.project-empty{padding:32px 16px;text-align:center;color:#9ca3af;font-size:14px}.project-empty-state{padding:32px 16px;text-align:center}.empty-state-docs-link{display:inline-block;margin-top:16px;color:#3b82f6;text-decoration:none;font-size:14px;font-weight:500;padding:8px 12px;border-radius:4px;transition:all .2s}.empty-state-docs-link:hover{background:#eff6ff;text-decoration:underline}.project-item-wrapper{position:relative;border-bottom:1px solid #f3f4f6}.project-item-wrapper.active{background:#eff6ff;border-left:3px solid #3b82f6}.project-item{width:100%;padding:12px 16px;border:none;background:none;text-align:left;cursor:pointer;transition:background .2s}.project-item:hover{background:#f9fafb}.project-item-wrapper.active .project-item:hover{background:#dbeafe}.project-item-content{display:flex;justify-content:space-between;align-items:center;gap:8px}.project-item-info{flex:1;min-width:0}.project-item-name{font-size:14px;font-weight:500;color:#1f2937;margin-bottom:4px;display:flex;align-items:center;gap:8px}.archived-badge{display:inline-block;padding:2px 6px;background:#fef3c7;color:#92400e;font-size:10px;font-weight:600;border-radius:4px;text-transform:uppercase}.project-item-description{font-size:12px;color:#6b7280;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.project-actions-trigger{padding:4px 8px;background:none;border:none;color:#6b7280;font-size:18px;font-weight:700;cursor:pointer;border-radius:4px;transition:all .2s;line-height:1}.project-actions-trigger:hover{background:#f3f4f6;color:#1f2937}.project-actions-dropdown{position:absolute;top:100%;right:8px;background:#fff;border:1px solid #d1d5db;border-radius:6px;box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f;z-index:1001;min-width:120px;overflow:hidden}.project-action-item{width:100%;padding:8px 12px;background:none;border:none;text-align:left;font-size:14px;color:#374151;cursor:pointer;transition:background .2s}.project-action-item:hover{background:#f9fafb}.project-action-delete{color:#dc2626}.project-action-delete:hover{background:#fee2e2}.project-dropdown-footer{padding:8px;border-top:1px solid #e5e7eb}.project-create-button{width:100%;padding:10px 16px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s;display:flex;align-items:center;justify-content:center;gap:6px}.project-create-button:hover{background:#2563eb}.project-create-form{display:flex;flex-direction:column;gap:8px}.project-create-form input,.project-create-form textarea{padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;font-family:inherit}.project-create-form input:focus,.project-create-form textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.project-create-form textarea{resize:vertical;min-height:60px}.project-create-actions{display:flex;gap:8px}.project-cancel-button,.project-submit-button{flex:1;padding:8px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.project-cancel-button{background:#f3f4f6;color:#4b5563}.project-cancel-button:hover{background:#e5e7eb}.project-submit-button{background:#3b82f6;color:#fff}.project-submit-button:hover:not(:disabled){background:#2563eb}.project-submit-button:disabled{opacity:.6;cursor:not-allowed}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:2000}.modal-container{background:#fff;border-radius:8px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;width:90%;padding:24px}.modal-title{font-size:18px;font-weight:600;color:#1f2937;margin:0 0 16px}.modal-field{margin-bottom:16px}.modal-field label{display:block;font-size:14px;font-weight:500;color:#374151;margin-bottom:6px}.modal-field input,.modal-field textarea{width:100%;padding:8px 12px;border:1px solid #d1d5db;border-radius:4px;font-size:14px;font-family:inherit;box-sizing:border-box}.modal-field input:focus,.modal-field textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.modal-field textarea{resize:vertical;min-height:80px}.modal-message{font-size:14px;color:#4b5563;margin:0 0 12px;line-height:1.5}.modal-warning{font-size:13px;color:#6b7280;background:#f9fafb;padding:8px 12px;border-radius:4px;margin:0 0 16px;line-height:1.4}.modal-actions{display:flex;gap:8px;margin-top:16px}.modal-cancel-button,.modal-submit-button,.modal-delete-button{flex:1;padding:10px 16px;border:none;border-radius:4px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.modal-cancel-button{background:#f3f4f6;color:#4b5563}.modal-cancel-button:hover{background:#e5e7eb}.modal-submit-button{background:#3b82f6;color:#fff}.modal-submit-button:hover:not(:disabled){background:#2563eb}.modal-delete-button{background:#dc2626;color:#fff}.modal-delete-button:hover:not(:disabled){background:#b91c1c}.modal-submit-button:disabled,.modal-delete-button:disabled{opacity:.6;cursor:not-allowed}.modal-section{margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.modal-section-title{font-size:14px;font-weight:600;color:#374151;margin:0 0 12px}.celoxis-loading{padding:12px;text-align:center;color:#6b7280;font-size:14px;background:#f9fafb;border-radius:4px}.celoxis-error{padding:12px;color:#dc2626;font-size:14px;background:#fef2f2;border:1px solid #fee2e2;border-radius:4px}.celoxis-current{display:flex;align-items:center;gap:8px;padding:12px;background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;margin-bottom:12px}.celoxis-label{font-size:13px;color:#6b7280}.celoxis-value{flex:1;font-size:14px;font-weight:500;color:#1f2937}.celoxis-unlink{padding:4px 10px;background:#fff;border:1px solid #d1d5db;border-radius:4px;color:#6b7280;font-size:12px;cursor:pointer;transition:all .2s}.celoxis-unlink:hover{background:#f9fafb;border-color:#9ca3af;color:#374151}.celoxis-project-list{max-height:200px;overflow-y:auto;border:1px solid #e5e7eb;border-radius:4px;margin-top:8px}.celoxis-project-item{padding:10px 12px;border-bottom:1px solid #f3f4f6;cursor:pointer;transition:background .2s;display:flex;flex-wrap:wrap;gap:8px;align-items:center}.celoxis-project-item:last-child{border-bottom:none}.celoxis-project-item:hover{background:#f9fafb}.celoxis-project-item.selected{background:#eff6ff;border-left:3px solid #3b82f6}.celoxis-project-name{font-size:14px;font-weight:500;color:#1f2937;flex:1;min-width:0}.celoxis-project-code{font-size:12px;color:#3b82f6;font-weight:600;background:#eff6ff;padding:2px 6px;border-radius:3px}.celoxis-project-client{font-size:12px;color:#6b7280}.celoxis-hint{padding:12px;text-align:center;color:#9ca3af;font-size:13px;background:#f9fafb;border-radius:4px;margin-top:8px}.main-navigation{background:linear-gradient(180deg,#1e3a5f,#2d1b4e);box-shadow:2px 0 12px #0000004d;position:fixed;top:0;left:0;bottom:0;z-index:1000;width:70px;transition:width .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.main-navigation,.main-navigation *,.main-navigation a,.main-navigation a:visited,.main-navigation a:link,.main-navigation button{color:#fff!important}.main-navigation.expanded{width:300px}.nav-container{display:flex;flex-direction:column;gap:16px;height:100%;padding:16px 0}.nav-brand{display:flex;align-items:center;gap:12px;padding:8px 16px;min-height:44px}.nav-brand-icon{font-size:24px;min-width:24px;text-align:center}.nav-brand-text{display:flex;flex-direction:column;gap:2px;white-space:nowrap}.nav-brand h1{margin:0;font-size:18px;font-weight:800;text-shadow:0 1px 2px rgba(0,0,0,.3);letter-spacing:.3px}.nav-subtitle{font-size:12px;font-weight:500;opacity:.9}.nav-links{display:flex;flex-direction:column;gap:4px;flex:1;list-style:none;margin:0;padding:0 8px;overflow-y:auto;overflow-x:hidden}.nav-links::-webkit-scrollbar{width:6px}.nav-links::-webkit-scrollbar-track{background:#ffffff1a}.nav-links::-webkit-scrollbar-thumb{background:#ffffff4d;border-radius:3px}.nav-links::-webkit-scrollbar-thumb:hover{background:#fff6}.nav-links li{margin:0;padding:0}.nav-link{display:flex;align-items:center;gap:12px;padding:12px;min-height:44px;text-decoration:none;border-radius:8px;transition:all .2s;font-size:15px;font-weight:600;position:relative;white-space:nowrap;width:100%;letter-spacing:.2px}.nav-link:hover{background-color:#ffffff26}.nav-link:focus-visible{outline:2px solid #ffffff;outline-offset:2px;background-color:#fff3}.nav-link.active{background-color:#fff3;font-weight:700}.nav-link.active:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;background-color:#fff;border-radius:0 2px 2px 0}.nav-icon{font-size:20px;min-width:20px;text-align:center}.nav-link.active span:not(.nav-icon){font-weight:700}@media (max-width: 768px){.main-navigation{width:60px}.main-navigation.expanded{width:220px}.nav-link{padding:10px}}@media (prefers-contrast: high){.nav-link{border:1px solid rgba(255,255,255,.3)}.nav-link:focus-visible{border:2px solid white}}.nav-group{list-style:none;margin:0;padding:0}.nav-group-header{display:flex;align-items:center;gap:12px;width:100%;padding:12px;min-height:44px;background:transparent;border:none;border-radius:8px;font-size:15px;font-weight:700;text-align:left;cursor:pointer;transition:all .2s;letter-spacing:.2px}.nav-group-header:hover{background-color:#ffffff26}.nav-group-header:focus-visible{outline:2px solid #ffffff;outline-offset:2px;background-color:#fff3}.nav-group-header.active-group,.nav-group-header.expanded{background-color:#ffffff1a}.nav-group-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-phase-badge{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;font-size:11px;font-weight:700;background:#ffffff40;border-radius:50%;color:#fff;margin-right:4px;flex-shrink:0;text-shadow:none;box-shadow:0 1px 2px #0003}.nav-group-header:hover .nav-phase-badge{background:#ffffff59}.nav-group-header.active-group .nav-phase-badge,.nav-group-header.expanded .nav-phase-badge{background:#fff6}.nav-group-chevron{font-size:10px;transition:transform .2s ease;opacity:.8}.nav-group-chevron.expanded{transform:rotate(180deg)}.nav-group-items{list-style:none;margin:0;padding:0;overflow:hidden;transition:max-height .3s ease,opacity .2s ease}.nav-group-items.expanded{max-height:500px;opacity:1}.nav-group-items.collapsed{max-height:0;opacity:0}.nav-group-item{padding-left:36px}.nav-group-item .nav-icon{font-size:16px;min-width:16px}.nav-action-item{background:none;border:none;width:100%;text-align:left;font:inherit;cursor:pointer}.nav-group+.nav-group{margin-top:4px}.main-navigation.expanded .nav-group+.nav-group:before{content:"";display:block;height:1px;background:#ffffff1a;margin:4px 12px}.nav-group-item.active:before{content:"";position:absolute;left:24px;top:12px;bottom:12px;width:3px;background-color:#fff;border-radius:0 2px 2px 0}.nav-logout{display:flex;align-items:center;gap:12px;margin-top:auto;padding:12px 24px;color:#fffc;text-decoration:none;font-size:13px;font-weight:500;transition:color .2s,background .2s;border:none;border-top:1px solid rgba(255,255,255,.1);background:none;cursor:pointer;width:100%;text-align:left}.nav-logout:hover{color:#fff;background:#ffffff1a}.nav-logout svg{flex-shrink:0}.nav-user-indicator{display:flex;align-items:center;gap:10px;padding:10px 16px;margin:0 8px;background:#ffffff1a;border-radius:8px;color:#fff;min-height:44px}.user-avatar{width:32px;height:32px;min-width:32px;display:flex;align-items:center;justify-content:center;background:#fff3;border-radius:50%;font-size:14px;font-weight:600;color:#fff;text-transform:uppercase}.user-info{display:flex;flex-direction:column;gap:2px;overflow:hidden}.user-name{font-size:14px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-role{font-size:11px;font-weight:700;padding:3px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;width:fit-content}.user-role.role-admin{background:#ef44444d;color:#fecaca}.user-role.role-engineer{background:#3b82f64d;color:#bfdbfe}.user-role.role-viewer{background:#22c55e4d;color:#bbf7d0}.user-role.role-guest{background:#9ca3af4d;color:#e5e7eb}.nav-group-disabled .nav-group-header{opacity:.5;cursor:default}.nav-group-disabled .nav-group-header:hover{background-color:transparent}.nav-group-disabled .nav-group-header .nav-icon{filter:grayscale(100%)}.nav-group-disabled .nav-group-items .nav-link{opacity:.5;pointer-events:none}.nav-group-disabled .nav-phase-badge{opacity:.6}.nav-other-users{display:flex;flex-direction:column;gap:6px;padding:8px 16px;margin:0 8px;background:#ffffff14;border-radius:8px}.other-users-label{font-size:11px;text-transform:uppercase;letter-spacing:.5px;font-weight:600;opacity:.85}.other-users-avatars{display:flex;align-items:center;gap:4px;flex-wrap:wrap}.other-user-avatar{width:28px;height:28px;min-width:28px;display:flex;align-items:center;justify-content:center;border-radius:50%;font-size:10px;font-weight:600;color:#fff;cursor:default;transition:transform .15s ease;border:2px solid rgba(255,255,255,.3)}.other-user-avatar:hover{transform:scale(1.1);z-index:1}.other-user-avatar.more-users{background:#fff3;font-size:9px}.other-user-avatar.clickable{cursor:pointer}.other-user-avatar.clickable:hover{transform:scale(1.15);box-shadow:0 2px 8px #0000004d}.other-users-pages{display:flex;flex-direction:column;gap:4px;margin-top:6px;padding-top:6px;border-top:1px solid rgba(255,255,255,.1)}.other-user-page{display:flex;align-items:center;gap:6px;font-size:12px;cursor:pointer;padding:5px 8px;border-radius:4px;transition:background .15s ease}.other-user-page:hover{background:#ffffff1f}.other-user-page-name{font-weight:700}.other-user-page-location{font-size:11px;opacity:.75}.nav-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;background:#ef4444cc;border-radius:9px;color:#fff;margin-left:auto;flex-shrink:0;text-shadow:none;box-shadow:0 1px 3px #0000004d}.nav-link:hover .nav-badge{background:#ef4444f2;box-shadow:0 2px 4px #0006}.nav-link.active .nav-badge{background:#ef4444}.nav-phases{display:flex;flex-direction:column;gap:2px;flex:0 0 auto;list-style:none;margin:0;padding:0 8px;overflow:visible}.nav-separator{height:1px;background:#ffffff26;margin:8px 16px}:root{--snake-complete: #10B981;--snake-active: #06B6D4;--snake-pending: #4B5563;--snake-line-width: 2px;--snake-node-size: 10px;--snake-glow-size: 8px}.nav-phases,.nav-phase{position:relative}.nav-snake-node{position:absolute;left:8px;top:22px;width:var(--snake-node-size);height:var(--snake-node-size);border-radius:50%;z-index:2;transition:all .3s ease}.nav-snake-segment{position:absolute;left:12px;top:32px;width:var(--snake-line-width);height:calc(100% - 10px);z-index:1;transition:background .3s ease}.nav-phase:last-child .nav-snake-segment{display:none}.nav-snake-node--complete{background:var(--snake-complete);box-shadow:0 0 0 2px #10b9814d}.nav-snake-segment--complete{background:var(--snake-complete)}.nav-snake-node--active{background:var(--snake-active);box-shadow:0 0 0 3px #06b6d466;animation:snake-pulse 2s ease-in-out infinite}.nav-snake-segment--active{background:linear-gradient(to bottom,var(--snake-complete) 0%,var(--snake-active) 100%)}.nav-snake-node--pending{background:transparent;border:2px solid var(--snake-pending);box-sizing:border-box}.nav-snake-segment--pending{background:repeating-linear-gradient(to bottom,var(--snake-pending) 0px,var(--snake-pending) 4px,transparent 4px,transparent 8px)}@keyframes snake-pulse{0%,to{box-shadow:0 0 #06b6d466}50%{box-shadow:0 0 0 var(--snake-glow-size) #06b6d400}}@media (prefers-reduced-motion: reduce){.nav-snake-node--active{animation:none;box-shadow:0 0 0 4px #06b6d480}}.main-navigation:not(.expanded) .nav-snake-node,.main-navigation:not(.expanded) .nav-snake-segment{display:none}.main-navigation.expanded .nav-phase-header{padding-left:26px}.nav-phase{list-style:none;margin:0;padding:0}.nav-phase-header-row{display:flex;align-items:center;position:relative}.nav-phase-header-row:hover .nav-meet-button{opacity:1}.nav-phase-header{display:flex;align-items:center;gap:10px;flex:1;padding:10px 12px;min-height:44px;background:transparent;border:none;border-radius:8px;font-size:14px;font-weight:700;text-align:left;cursor:pointer;transition:all .2s;letter-spacing:.2px}.nav-phase-header:hover{background-color:#ffffff1f}.nav-phase-header:focus-visible{outline:2px solid #ffffff;outline-offset:2px;background-color:#ffffff26}.nav-phase-header.expanded{background-color:#ffffff14}.nav-phase-number{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;font-size:14px;font-weight:600;border-radius:50%;transition:all .2s;text-shadow:none}.nav-phase-number--complete{background:#10b981;color:#fff}.nav-phase-number--active{background:#3b82f6;color:#fff;box-shadow:0 0 0 3px #3b82f64d}.nav-phase-number--pending{background:#ffffff26;color:#fffc}.nav-phase-badge-collapsed{position:absolute;top:6px;right:6px;min-width:16px;height:16px;padding:0 4px;font-size:10px;font-weight:700;background:#ef4444;border-radius:8px;color:#fff;display:flex;align-items:center;justify-content:center;text-shadow:none}.nav-phase-badge-inline{min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;background:#ef4444;border-radius:9px;color:#fff!important;display:inline-flex;align-items:center;justify-content:center;text-shadow:none;margin-left:4px;flex-shrink:0}.nav-phase-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-phase-status{font-size:12px;font-weight:600;white-space:nowrap;opacity:.9}.nav-phase-status--complete{color:#6ee7b7}.nav-phase-status--active{color:#93c5fd}.nav-phase-status--pending{color:#fff9}.nav-phase-chevron{font-size:10px;transition:transform .2s ease;opacity:.7}.nav-phase-chevron.expanded{transform:rotate(180deg)}.nav-phase-items{list-style:none;margin:0;padding:0;overflow:hidden;transition:max-height .25s ease,opacity .2s ease}.nav-phase-items.expanded{max-height:500px;opacity:1}.nav-phase-items.collapsed{max-height:0;opacity:0}.nav-phase-item{display:flex;align-items:center;gap:10px;padding:8px 12px 8px 50px;min-height:38px;text-decoration:none;border-radius:6px;transition:all .15s;font-size:14px;font-weight:600;position:relative;letter-spacing:.1px}.nav-phase-item:hover{background-color:#ffffff1a}.nav-phase-item:focus-visible{outline:2px solid #ffffff;outline-offset:-2px}.nav-phase-item.active{background-color:#ffffff2e}.nav-phase-item.active:before{content:"";position:absolute;left:40px;top:8px;bottom:8px;width:3px;background:#fff;border-radius:0 2px 2px 0}.nav-phase-item-icon{font-size:16px;min-width:16px;text-align:center}.nav-phase-item-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nav-phase-item-status{font-size:12px;min-width:16px;text-align:center}.nav-phase-item-status--complete{color:#6ee7b7}.nav-phase-item-status--active{color:#93c5fd}.nav-phase-item-status--not-started{color:#ffffff80}.nav-phase-item-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;font-size:11px;font-weight:700;background:#ef4444d9;border-radius:9px;color:#fff;text-shadow:none}.nav-session-indicator{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:600;padding:2px 6px;border-radius:4px;white-space:nowrap}.nav-session-indicator--work{color:#60a5fa;background:#60a5fa26}.nav-session-indicator--meeting{color:#a78bfa;background:#a78bfa26}.nav-session-indicator-icon{font-size:11px}.nav-session-indicator-label{font-size:10px;font-weight:600}.nav-meet-button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;margin-right:4px;background:transparent;border:1px solid rgba(255,255,255,.3);border-radius:6px;cursor:pointer;opacity:0;transition:all .15s;flex-shrink:0}.nav-meet-button:hover{background:#3b82f6cc;border-color:#3b82f6cc;transform:scale(1.1)}.nav-meet-button:focus-visible{outline:2px solid white;outline-offset:2px;opacity:1}.nav-meet-button-icon{font-size:14px;line-height:1}@keyframes badge-pulse{0%,to{transform:scale(1)}50%{transform:scale(1.1)}}.nav-phase-badge-collapsed.new{animation:badge-pulse 2s ease-in-out 3}@media (prefers-reduced-motion: reduce){.nav-phase-header,.nav-phase-items,.nav-phase-chevron,.nav-meet-button{transition:none}.nav-phase-badge-collapsed.new{animation:none}}.page-error-boundary{display:flex;align-items:center;justify-content:center;min-height:400px;padding:2rem;background-color:var(--background-color, #f9fafb)}.page-error-content{text-align:center;max-width:500px}.page-error-icon{color:#ef4444;margin-bottom:1.5rem}.page-error-icon svg{display:inline-block}.page-error-title{font-size:1.5rem;font-weight:600;color:#111827;margin:0 0 .75rem}.page-error-message{font-size:1rem;color:#6b7280;margin:0 0 1.5rem;line-height:1.5}.page-error-details{text-align:left;margin-bottom:1.5rem;background-color:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:1rem}.page-error-details summary{cursor:pointer;font-weight:500;color:#991b1b;font-size:.875rem}.page-error-stack{margin-top:.75rem;padding:.75rem;background-color:#fff;border-radius:4px;font-size:.75rem;overflow-x:auto;white-space:pre-wrap;word-break:break-word;color:#7f1d1d;max-height:200px;overflow-y:auto}.page-error-actions{display:flex;gap:.75rem;justify-content:center}.page-error-btn{padding:.625rem 1.25rem;font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease}.page-error-btn-primary{background-color:#3b82f6;color:#fff;border:none}.page-error-btn-primary:hover{background-color:#2563eb}.page-error-btn-primary:focus{outline:none;box-shadow:0 0 0 3px #3b82f64d}.page-error-btn-secondary{background-color:#fff;color:#374151;border:1px solid #d1d5db}.page-error-btn-secondary:hover{background-color:#f3f4f6}.page-error-btn-secondary:focus{outline:none;box-shadow:0 0 0 3px #3b82f64d}.dark-mode .page-error-boundary{background-color:var(--background-color, #1f2937)}.dark-mode .page-error-title{color:#f9fafb}.dark-mode .page-error-message{color:#9ca3af}.dark-mode .page-error-details{background-color:#450a0a;border-color:#7f1d1d}.dark-mode .page-error-details summary{color:#fca5a5}.dark-mode .page-error-stack{background-color:#1f2937;color:#fca5a5}.dark-mode .page-error-btn-secondary{background-color:#374151;color:#f9fafb;border-color:#4b5563}.dark-mode .page-error-btn-secondary:hover{background-color:#4b5563}.command-item{display:flex;align-items:center;padding:12px 16px;cursor:pointer;border-radius:6px;transition:background-color .15s ease;list-style:none}.command-item:hover,.command-item.selected{background-color:var(--color-bg-hover, #f3f4f6)}.command-item.selected{background-color:var(--color-bg-selected, #e5e7eb)}.command-item-content{display:flex;align-items:center;width:100%;gap:12px}.command-item-icon{font-size:20px;flex-shrink:0;width:24px;text-align:center}.command-item-text{flex:1;min-width:0}.command-item-label{font-size:14px;font-weight:500;color:var(--color-text-primary, #111827);margin-bottom:2px}.command-item-description{font-size:12px;color:var(--color-text-secondary, #6b7280);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.command-item-shortcut{flex-shrink:0;margin-left:auto}.command-item-shortcut kbd{display:inline-block;padding:2px 8px;font-size:11px;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;color:var(--color-text-secondary, #6b7280);background-color:var(--color-bg-kbd, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:4px;box-shadow:0 1px #0000001a}@media (prefers-color-scheme: dark){.command-item:hover,.command-item.selected{background-color:var(--color-bg-hover, #374151)}.command-item.selected{background-color:var(--color-bg-selected, #4b5563)}.command-item-label{color:var(--color-text-primary, #f9fafb)}.command-item-description{color:var(--color-text-secondary, #9ca3af)}.command-item-shortcut kbd{color:var(--color-text-secondary, #9ca3af);background-color:var(--color-bg-kbd, #1f2937);border-color:var(--color-border, #374151)}}.create-failure-mode-modal{max-width:700px;width:90%}.create-failure-mode-modal h2{margin-bottom:1.5rem;color:#1f2937;font-size:1.5rem;font-weight:600}.create-failure-mode-modal .form-row{display:grid;gap:1rem;margin-bottom:1rem}.create-failure-mode-modal .form-row:has(.form-group:nth-child(2)){grid-template-columns:1fr 1fr}.create-failure-mode-modal .fmea-ratings-row{grid-template-columns:1fr 1fr 1fr 1fr;gap:.75rem}.create-failure-mode-modal .form-group{display:flex;flex-direction:column}.create-failure-mode-modal .form-group label{margin-bottom:.5rem;font-weight:500;color:#374151;font-size:.875rem;display:flex;align-items:center;gap:.5rem}.create-failure-mode-modal .field-hint{font-size:.75rem;color:#6b7280;font-weight:400}.create-failure-mode-modal .field-hint.optional{color:#9ca3af}.create-failure-mode-modal .field-description{margin-top:.25rem;font-size:.75rem;color:#6b7280;line-height:1.2}.create-failure-mode-modal input,.create-failure-mode-modal select,.create-failure-mode-modal textarea{padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:.375rem;font-size:.875rem;color:#1f2937;background-color:#fff;transition:border-color .15s ease-in-out}.create-failure-mode-modal input:focus,.create-failure-mode-modal select:focus,.create-failure-mode-modal textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.create-failure-mode-modal input:disabled,.create-failure-mode-modal select:disabled,.create-failure-mode-modal textarea:disabled{background-color:#f3f4f6;cursor:not-allowed}.create-failure-mode-modal input[type=number]{text-align:center;font-weight:500}.create-failure-mode-modal textarea{resize:vertical;min-height:60px;font-family:inherit}.create-failure-mode-modal .rpn-display{justify-content:center}.create-failure-mode-modal .rpn-value-display{display:flex;flex-direction:column;align-items:center;padding:1rem;background:linear-gradient(135deg,#f0f9ff,#e0f2fe);border:2px solid #3b82f6;border-radius:.5rem;margin-bottom:.25rem}.create-failure-mode-modal .rpn-number{font-size:2rem;font-weight:700;color:#1e40af;line-height:1}.create-failure-mode-modal .rpn-formula{font-size:.75rem;color:#6b7280;margin-top:.25rem}.create-failure-mode-modal .modal-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid #e5e7eb}.create-failure-mode-modal .btn{padding:.625rem 1.25rem;border-radius:.375rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .15s ease-in-out;border:none}.create-failure-mode-modal .btn:disabled{opacity:.5;cursor:not-allowed}.create-failure-mode-modal .btn-secondary{background-color:#fff;color:#374151;border:1px solid #d1d5db}.create-failure-mode-modal .btn-secondary:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.create-failure-mode-modal .btn-primary{background-color:#3b82f6;color:#fff;border:1px solid #3b82f6}.create-failure-mode-modal .btn-primary:hover:not(:disabled){background-color:#2563eb;border-color:#2563eb}@media (max-width: 768px){.create-failure-mode-modal{max-width:95%}.create-failure-mode-modal .form-row:has(.form-group:nth-child(2)){grid-template-columns:1fr}.create-failure-mode-modal .fmea-ratings-row{grid-template-columns:1fr 1fr}.create-failure-mode-modal .rpn-number{font-size:1.5rem}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-overlay[data-testid=component-modal-overlay] .modal-content[data-testid=component-modal]{background:#fff;border-radius:12px;padding:0;max-width:950px!important;width:95%!important;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.modal-body{flex:1;overflow-y:auto;padding:0 24px 24px}.modal-header-actions{display:flex;align-items:center;gap:12px}.modal-header-actions .btn-primary{padding:8px 16px;font-size:14px}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid #e5e7eb}.modal-header h2{margin:0;font-size:1.25rem;font-weight:600}.modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#6b7280;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background-color .2s}.modal-close:hover{background-color:#f3f4f6}form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;font-weight:500;margin-bottom:.5rem;color:#374151}.form-group input,.form-group select,.form-group textarea{width:100%;padding:.5rem .75rem;border:1px solid #d1d5db;border-radius:4px;font-size:.875rem;font-family:inherit}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-group textarea{resize:vertical}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;padding-top:1rem;border-top:1px solid #e5e7eb}.btn-primary,.btn-secondary{padding:.5rem 1rem;border-radius:4px;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s;border:none}.btn-primary{background-color:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background-color:#2563eb}.btn-primary:disabled{background-color:#9ca3af;cursor:not-allowed}.btn-secondary{background-color:#fff;color:#374151;border:1px solid #d1d5db}.btn-secondary:hover{background-color:#f9fafb}.command-palette-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:flex-start;justify-content:center;padding-top:10vh;z-index:9999;animation:fadeIn .15s ease}.command-palette{width:90%;max-width:640px;background-color:var(--color-bg-primary, #ffffff);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;overflow:hidden;animation:slideUp .2s ease}@keyframes slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.command-palette-search{display:flex;align-items:center;gap:12px;padding:16px;border-bottom:1px solid var(--color-border, #e5e7eb)}.command-palette-search-icon{font-size:20px;flex-shrink:0;opacity:.6}.command-palette-input{flex:1;border:none;outline:none;font-size:16px;color:var(--color-text-primary, #111827);background:transparent}.command-palette-input::placeholder{color:var(--color-text-secondary, #9ca3af)}.command-palette-hint{flex-shrink:0;font-size:12px;color:var(--color-text-secondary, #6b7280)}.command-palette-hint kbd{display:inline-block;padding:2px 6px;font-size:11px;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;color:var(--color-text-secondary, #6b7280);background-color:var(--color-bg-kbd, #f9fafb);border:1px solid var(--color-border, #e5e7eb);border-radius:4px;box-shadow:0 1px #0000001a}.command-palette-results{max-height:60vh;overflow-y:auto;padding:8px}.command-palette-results::-webkit-scrollbar{width:8px}.command-palette-results::-webkit-scrollbar-track{background:transparent}.command-palette-results::-webkit-scrollbar-thumb{background-color:var(--color-scrollbar, #d1d5db);border-radius:4px}.command-palette-results::-webkit-scrollbar-thumb:hover{background-color:var(--color-scrollbar-hover, #9ca3af)}.command-palette-section{margin-bottom:16px}.command-palette-section:last-child{margin-bottom:0}.command-palette-section-header{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary, #6b7280);padding:8px 16px 4px;margin-bottom:4px}.command-palette-list{margin:0;padding:0;list-style:none}.command-palette-empty{text-align:center;padding:40px 20px}.command-palette-empty p{margin:0;font-size:14px;color:var(--color-text-primary, #111827)}.command-palette-empty-hint{margin-top:8px;font-size:12px;color:var(--color-text-secondary, #6b7280)!important}@media (prefers-color-scheme: dark){.command-palette{background-color:var(--color-bg-primary, #1f2937)}.command-palette-search{border-bottom-color:var(--color-border, #374151)}.command-palette-input{color:var(--color-text-primary, #f9fafb)}.command-palette-input::placeholder{color:var(--color-text-secondary, #6b7280)}.command-palette-hint kbd{color:var(--color-text-secondary, #9ca3af);background-color:var(--color-bg-kbd, #374151);border-color:var(--color-border, #4b5563)}.command-palette-section-header{color:var(--color-text-secondary, #9ca3af)}.command-palette-empty p{color:var(--color-text-primary, #f9fafb)}.command-palette-empty-hint{color:var(--color-text-secondary, #9ca3af)!important}.command-palette-results::-webkit-scrollbar-thumb{background-color:var(--color-scrollbar, #4b5563)}.command-palette-results::-webkit-scrollbar-thumb:hover{background-color:var(--color-scrollbar-hover, #6b7280)}}.shortcuts-help-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:9999;animation:fadeIn .15s ease}.shortcuts-help{width:90%;max-width:800px;max-height:90vh;background-color:var(--color-bg-primary, #ffffff);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;animation:slideUp .2s ease}.shortcuts-help-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--color-border, #e5e7eb)}.shortcuts-help-title{margin:0;font-size:20px;font-weight:600;color:var(--color-text-primary, #111827)}.shortcuts-help-close{background:none;border:none;font-size:24px;color:var(--color-text-secondary, #6b7280);cursor:pointer;padding:4px 8px;border-radius:4px;transition:background-color .15s ease}.shortcuts-help-close:hover{background-color:var(--color-bg-hover, #f3f4f6)}.shortcuts-help-search{padding:16px 24px;border-bottom:1px solid var(--color-border, #e5e7eb)}.shortcuts-help-search-input{width:100%;padding:10px 12px;border:1px solid var(--color-border, #e5e7eb);border-radius:6px;font-size:14px;color:var(--color-text-primary, #111827);background-color:var(--color-bg-secondary, #f9fafb);outline:none;transition:border-color .15s ease}.shortcuts-help-search-input:focus{border-color:var(--color-primary, #3b82f6);background-color:var(--color-bg-primary, #ffffff)}.shortcuts-help-search-input::placeholder{color:var(--color-text-secondary, #9ca3af)}.shortcuts-help-content{flex:1;overflow-y:auto;padding:24px}.shortcuts-help-content::-webkit-scrollbar-thumb{background-color:var(--color-scrollbar, #d1d5db);border-radius:4px}.shortcuts-help-content::-webkit-scrollbar-thumb:hover{background-color:var(--color-scrollbar-hover, #9ca3af)}.shortcuts-help-section{margin-bottom:32px}.shortcuts-help-section:last-child{margin-bottom:0}.shortcuts-help-section-title{margin:0 0 16px;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary, #6b7280)}.shortcuts-help-list{display:grid;gap:12px}.shortcuts-help-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 16px;background-color:var(--color-bg-secondary, #f9fafb);border-radius:6px}.shortcuts-help-item-keys{display:flex;align-items:center;gap:6px;flex-shrink:0}.shortcuts-key{display:inline-block;padding:4px 8px;font-size:12px;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;color:var(--color-text-primary, #111827);background-color:var(--color-bg-primary, #ffffff);border:1px solid var(--color-border, #d1d5db);border-radius:4px;box-shadow:0 1px #0000001a;min-width:24px;text-align:center}.shortcuts-separator{font-size:12px;color:var(--color-text-secondary, #9ca3af);margin:0 2px}.shortcuts-help-item-description{flex:1;font-size:14px;color:var(--color-text-primary, #111827)}.shortcuts-help-empty p{margin:0;font-size:14px;color:var(--color-text-primary, #111827)}.shortcuts-help-empty-hint{margin-top:8px;font-size:12px;color:var(--color-text-secondary, #6b7280)!important}.shortcuts-help-footer{padding:16px 24px;border-top:1px solid var(--color-border, #e5e7eb);background-color:var(--color-bg-secondary, #f9fafb)}.shortcuts-help-footer-text{margin:0;font-size:12px;color:var(--color-text-secondary, #6b7280);text-align:center}.shortcuts-help-footer-text kbd{display:inline-block;padding:2px 6px;font-size:11px;font-family:SF Mono,Monaco,Inconsolata,Courier New,monospace;color:var(--color-text-secondary, #6b7280);background-color:var(--color-bg-primary, #ffffff);border:1px solid var(--color-border, #d1d5db);border-radius:3px;box-shadow:0 1px #0000000d}@media (prefers-color-scheme: dark){.shortcuts-help{background-color:var(--color-bg-primary, #1f2937)}.shortcuts-help-header{border-bottom-color:var(--color-border, #374151)}.shortcuts-help-title{color:var(--color-text-primary, #f9fafb)}.shortcuts-help-close:hover{background-color:var(--color-bg-hover, #374151)}.shortcuts-help-search{border-bottom-color:var(--color-border, #374151)}.shortcuts-help-search-input{border-color:var(--color-border, #4b5563);color:var(--color-text-primary, #f9fafb);background-color:var(--color-bg-secondary, #374151)}.shortcuts-help-search-input:focus{border-color:var(--color-primary, #60a5fa);background-color:var(--color-bg-primary, #1f2937)}.shortcuts-help-section-title{color:var(--color-text-secondary, #9ca3af)}.shortcuts-help-item{background-color:var(--color-bg-secondary, #374151)}.shortcuts-key{color:var(--color-text-primary, #f9fafb);background-color:var(--color-bg-primary, #1f2937);border-color:var(--color-border, #4b5563)}.shortcuts-help-item-description,.shortcuts-help-empty p{color:var(--color-text-primary, #f9fafb)}.shortcuts-help-empty-hint{color:var(--color-text-secondary, #9ca3af)!important}.shortcuts-help-footer{border-top-color:var(--color-border, #374151);background-color:var(--color-bg-secondary, #374151)}.shortcuts-help-footer-text kbd{color:var(--color-text-secondary, #9ca3af);background-color:var(--color-bg-primary, #1f2937);border-color:var(--color-border, #4b5563)}.shortcuts-help-content::-webkit-scrollbar-thumb{background-color:var(--color-scrollbar, #4b5563)}.shortcuts-help-content::-webkit-scrollbar-thumb:hover{background-color:var(--color-scrollbar-hover, #6b7280)}}.welcome-screen{max-width:1200px;margin:0 auto;padding:3rem 2rem;min-height:100vh;display:flex;align-items:center;justify-content:center}.welcome-content{width:100%}.welcome-title{font-size:3rem;font-weight:700;text-align:center;margin-bottom:1rem;color:#1a1a1a}.welcome-subtitle{font-size:1.5rem;text-align:center;color:#666;margin-bottom:3rem}.path-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin-bottom:2rem}.path-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:2rem;cursor:pointer;transition:all .2s ease;text-align:left;display:flex;flex-direction:column;gap:1rem}.path-card:hover{border-color:var(--path-color);box-shadow:0 8px 24px #0000001f;transform:translateY(-4px)}.path-icon{width:64px;height:64px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:32px;margin-bottom:.5rem}.path-info{display:flex;align-items:baseline;justify-content:space-between;gap:1rem}.path-title{font-size:1.5rem;font-weight:600;margin:0;color:#1a1a1a}.path-time{font-size:.875rem;color:#666;white-space:nowrap;margin:0}.path-description{font-size:1rem;color:#666;line-height:1.6;margin:0}.welcome-actions{text-align:center;margin-top:3rem}.skip-button{background:none;border:none;color:#666;font-size:1rem;cursor:pointer;text-decoration:underline;padding:.5rem 1rem;transition:color .2s ease}.skip-button:hover{color:#1a1a1a}@media (max-width: 768px){.welcome-title{font-size:2rem}.welcome-subtitle{font-size:1.25rem}.path-grid{grid-template-columns:1fr}}.template-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:1rem;height:100%}.template-card:hover{border-color:#4a90e2;box-shadow:0 8px 24px #4a90e226;transform:translateY(-4px)}.template-card:focus{outline:2px solid #4a90e2;outline-offset:2px}.template-card-header{display:flex;flex-direction:column;gap:.5rem}.template-card-title{font-size:1.25rem;font-weight:600;margin:0;color:#1a1a1a;line-height:1.4}.template-card-industry{display:inline-block;background:#e3f2fd;color:#1976d2;padding:.25rem .75rem;border-radius:6px;font-size:.875rem;font-weight:500;width:fit-content}.template-card-body{flex:1}.template-card-description{font-size:.9375rem;color:#666;line-height:1.6;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.template-card-footer{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding-top:1rem;border-top:1px solid #e0e0e0}.template-card-meta{display:flex;flex-direction:column;gap:.25rem}.template-card-date{font-size:.875rem;color:#999}.template-card-button{background:#4a90e2;border:none;border-radius:8px;padding:.5rem 1rem;font-size:.9375rem;font-weight:500;color:#fff;cursor:pointer;transition:all .2s ease;white-space:nowrap}.template-card-button:hover{background:#357abd;transform:translate(2px)}@media (max-width: 480px){.template-card-footer{flex-direction:column;align-items:stretch}.template-card-button{width:100%;text-align:center}}.template-preview-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.template-preview-modal{background:#fff;border-radius:16px;max-width:700px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 48px #0003;animation:modalFadeIn .2s ease-out}.template-preview-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid #e0e0e0}.template-preview-header h2{font-size:1.5rem;font-weight:600;margin:0;color:#1a1a1a}.template-preview-close{background:none;border:none;font-size:2rem;line-height:1;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease}.template-preview-close:hover{background:#f5f5f5;color:#1a1a1a}.template-preview-body{overflow-y:auto;padding:2rem;flex:1}.template-preview-section{margin-bottom:2rem}.template-preview-section:last-child{margin-bottom:0}.template-preview-section h3{font-size:1.125rem;font-weight:600;margin:0 0 1rem;color:#1a1a1a}.template-preview-details{display:flex;flex-direction:column;gap:.75rem}.template-preview-detail{display:flex;gap:.75rem}.template-preview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.template-preview-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;color:#666}.template-preview-error{color:#d32f2f;font-size:.9375rem;padding:1rem;text-align:center;background:#ffebee;border-radius:6px}.template-preview-includes{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.template-preview-includes li{font-size:.9375rem;color:#1a1a1a;display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#f5f5f5;border-radius:6px}.template-preview-footer{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem;border-top:1px solid #e0e0e0}.btn-primary:hover{background:#357abd}@media (max-width: 768px){.template-preview-modal{max-width:100%;max-height:100vh;border-radius:0}.template-preview-header,.template-preview-body,.template-preview-footer{padding:1rem}.template-preview-stats{grid-template-columns:1fr}.template-preview-footer{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}.template-select-screen{max-width:1400px;margin:0 auto;padding:2rem;min-height:80vh}.template-header{display:flex;align-items:center;gap:1.5rem;margin-bottom:2rem}.btn-back{background:none;border:1px solid #e0e0e0;border-radius:8px;padding:.5rem 1rem;font-size:1rem;cursor:pointer;transition:all .2s ease;color:#666}.btn-back:hover{border-color:#1a1a1a;color:#1a1a1a;background:#f5f5f5}.template-title h2{font-size:2rem;font-weight:700;margin:0 0 .5rem;color:#1a1a1a}.template-title p{font-size:1rem;color:#666;margin:0}.template-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;margin-top:2rem}.template-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem}.template-loading .spinner{width:48px;height:48px;border:4px solid #e0e0e0;border-top-color:#1a1a1a;border-radius:50%;animation:spin .8s linear infinite}.template-loading p{font-size:1.125rem;color:#666}.template-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem;text-align:center}.template-error h2{font-size:1.5rem;font-weight:600;color:#d32f2f;margin:0}.template-error p{font-size:1rem;color:#666;margin:0}.template-error .btn-secondary{margin-top:1rem}.template-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;gap:1rem;text-align:center}.template-empty h2{font-size:1.5rem;font-weight:600;color:#1a1a1a;margin:0}.template-empty p{font-size:1rem;color:#666;margin:.5rem 0;max-width:500px}.template-empty .btn-secondary{margin-top:1rem}@media (max-width: 768px){.template-select-screen{padding:1rem}.template-header{flex-direction:column;align-items:flex-start}.template-title h2{font-size:1.5rem}.template-grid{grid-template-columns:1fr}}.project-preview-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:2000;padding:1rem}.project-preview-modal{background:#fff;border-radius:16px;max-width:700px;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 24px 48px #0003;animation:modalFadeIn .2s ease-out}@keyframes modalFadeIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}.project-preview-header{display:flex;align-items:center;justify-content:space-between;padding:1.5rem 2rem;border-bottom:1px solid #e0e0e0}.project-preview-header h2{font-size:1.5rem;font-weight:600;margin:0;color:#1a1a1a;line-height:1.4}.project-preview-close{background:none;border:none;font-size:2rem;line-height:1;color:#666;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:all .2s ease;flex-shrink:0}.project-preview-close:hover:not(:disabled){background:#f5f5f5;color:#1a1a1a}.project-preview-close:disabled{opacity:.5;cursor:not-allowed}.project-preview-body{overflow-y:auto;padding:2rem;flex:1}.project-preview-section{margin-bottom:2rem}.project-preview-section:last-child{margin-bottom:0}.project-preview-section h3{font-size:1.125rem;font-weight:600;margin:0 0 1rem;color:#1a1a1a}.project-preview-details{display:flex;flex-direction:column;gap:.75rem}.project-preview-detail{display:flex;gap:.75rem}.detail-label{font-weight:600;color:#666;min-width:100px}.detail-value{color:#1a1a1a}.detail-value p{margin:0;line-height:1.6}.project-preview-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:1rem}.stat-card{background:#f5f5f5;border-radius:8px;padding:1.25rem;text-align:center}.stat-value{font-size:2rem;font-weight:700;color:#4a90e2;margin-bottom:.5rem}.stat-label{font-size:.875rem;color:#666;font-weight:500}.project-preview-loading{display:flex;align-items:center;justify-content:center;gap:.75rem;padding:1.5rem;color:#666}.spinner-small{width:20px;height:20px;border:2px solid #e0e0e0;border-top-color:#4a90e2;border-radius:50%;animation:spin .6s linear infinite}.project-preview-error-text{color:#d32f2f;font-size:.9375rem;padding:1rem;text-align:center;background:#ffebee;border-radius:6px}.project-preview-error{color:#d32f2f;font-size:.875rem;margin-top:.5rem;padding:.5rem;background:#ffebee;border-radius:4px}.project-preview-includes{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.75rem}.project-preview-includes li{font-size:.9375rem;color:#1a1a1a;display:flex;align-items:center;gap:.5rem;padding:.5rem;background:#f5f5f5;border-radius:6px}.project-name-input{width:100%;padding:.75rem 1rem;font-size:1rem;border:2px solid #e0e0e0;border-radius:8px;transition:border-color .2s ease;font-family:inherit}.project-name-input:focus{outline:none;border-color:#4a90e2}.project-name-input:disabled{background:#f5f5f5;cursor:not-allowed}.project-preview-footer{display:flex;gap:1rem;justify-content:flex-end;padding:1.5rem 2rem;border-top:1px solid #e0e0e0}.btn-primary{background:#4a90e2;border:none;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;color:#fff;cursor:pointer;transition:all .2s ease}.btn-primary:hover:not(:disabled){background:#357abd}.btn-secondary:hover:not(:disabled){border-color:#1a1a1a;background:#f5f5f5}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 768px){.project-preview-modal{max-width:100%;max-height:100vh;border-radius:0}.project-preview-header,.project-preview-body,.project-preview-footer{padding:1rem}.project-preview-stats{grid-template-columns:1fr}.project-preview-footer{flex-direction:column-reverse}.btn-primary,.btn-secondary{width:100%}}.copy-select-screen{min-height:500px;display:flex;flex-direction:column}.copy-header{margin-bottom:2rem}.btn-back{background:none;border:none;color:#4a90e2;font-size:1rem;font-weight:500;cursor:pointer;padding:.5rem 0;margin-bottom:1rem;display:inline-flex;align-items:center;gap:.5rem;transition:color .2s ease}.btn-back:hover{color:#357abd}.copy-title h2{font-size:1.75rem;font-weight:600;margin:0 0 .5rem;color:#1a1a1a}.copy-title p{font-size:1rem;color:#666;margin:0;line-height:1.5}.copy-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem;gap:1rem}.spinner{width:40px;height:40px;border:3px solid #e0e0e0;border-top-color:#4a90e2;border-radius:50%;animation:spin .8s linear infinite}.copy-loading p{font-size:1rem;color:#666;margin:0}.copy-error{text-align:center;padding:3rem 2rem}.copy-error h2{font-size:1.5rem;font-weight:600;color:#d32f2f;margin:0 0 1rem}.copy-error p{font-size:1rem;color:#666;margin:0 0 2rem}.copy-empty{text-align:center;padding:3rem 2rem}.copy-empty h2{font-size:1.5rem;font-weight:600;color:#1a1a1a;margin:0 0 1rem}.copy-empty p{font-size:1rem;color:#666;margin:0 0 .75rem;line-height:1.6}.copy-empty p:last-of-type{margin-bottom:2rem}.copy-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;flex:1}.copy-project-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:1.5rem;cursor:pointer;transition:all .2s ease;display:flex;flex-direction:column;gap:1rem}.copy-project-card:hover{border-color:#4a90e2;box-shadow:0 4px 12px #4a90e21a;transform:translateY(-2px)}.copy-project-card:focus{outline:2px solid #4a90e2;outline-offset:2px}.copy-project-header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.copy-project-header h3{font-size:1.125rem;font-weight:600;color:#1a1a1a;margin:0;flex:1;line-height:1.4}.copy-project-industry{background:#e3f2fd;color:#1976d2;font-size:.75rem;font-weight:500;padding:.25rem .75rem;border-radius:12px;white-space:nowrap}.copy-project-description{font-size:.9375rem;color:#666;margin:0;line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.copy-project-footer{display:flex;align-items:center;justify-content:space-between;margin-top:auto;padding-top:1rem;border-top:1px solid #f0f0f0}.copy-project-date{font-size:.875rem;color:#999}.btn-preview{background:#4a90e2;border:none;border-radius:6px;padding:.5rem 1rem;font-size:.9375rem;font-weight:500;color:#fff;cursor:pointer;transition:background .2s ease}.btn-preview:hover{background:#357abd}.btn-secondary{background:#fff;border:2px solid #e0e0e0;border-radius:8px;padding:.75rem 1.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;color:#1a1a1a}.btn-secondary:hover{border-color:#1a1a1a;background:#f5f5f5}@media (max-width: 768px){.copy-list{grid-template-columns:1fr}.copy-title h2{font-size:1.5rem}.copy-project-card{padding:1.25rem}}.rpn-slider{width:100%;height:8px;border-radius:4px;background:linear-gradient(to right,#10b981,#eab308,#ea580c,#dc2626);outline:none;-webkit-appearance:none}.rpn-slider::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid #3b82f6;cursor:pointer;box-shadow:0 2px 4px #0003}.rpn-slider::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background:#fff;border:2px solid #3b82f6;cursor:pointer;box-shadow:0 2px 4px #0003}.slider-labels{display:flex;justify-content:space-between;font-size:11px;color:#6b7280;margin-top:4px}.rpn-result{margin-top:32px;padding:24px;background:#f9fafb;border-radius:8px;text-align:center}.rpn-formula{font-size:14px;color:#6b7280;margin-bottom:12px}.rpn-value{font-size:48px;font-weight:700;line-height:1;margin-bottom:8px}.rpn-level{font-size:18px;font-weight:600;margin-bottom:16px}.rpn-explanation{font-size:14px;color:#4b5563;font-style:italic}.review-sections{display:flex;flex-direction:column;gap:24px;margin:24px 0}.review-section{background:#f9fafb;padding:20px;border-radius:8px;border-left:3px solid #3b82f6}.review-section-title{font-size:16px;font-weight:600;color:#1f2937;margin:0 0 16px}.review-item{display:flex;gap:12px;padding:8px 0;border-bottom:1px solid #e5e7eb}.review-item:last-child{border-bottom:none}.review-label{font-size:14px;font-weight:500;color:#6b7280;min-width:120px}.review-value{font-size:14px;color:#1f2937;flex:1}.review-rpn{border-left-color:#10b981}.review-rpn-total{margin-top:8px;padding-top:16px;border-top:2px solid #e5e7eb;border-bottom:none}.review-rpn-value{font-size:24px;font-weight:700;color:#10b981}.error-message{padding:12px 16px;background:#fee2e2;border:1px solid #f87171;border-radius:6px;color:#dc2626;font-size:14px;margin-top:16px}@media (max-width: 640px){.review-item{flex-direction:column;gap:4px}.review-label{min-width:auto}}.scratch-wizard{width:100%;max-width:800px;margin:0 auto;padding:24px}.wizard-stepper{display:flex;justify-content:space-between;margin-bottom:48px;position:relative}.wizard-stepper:before{content:"";position:absolute;top:20px;left:40px;right:40px;height:2px;background:#e5e7eb;z-index:0}.stepper-step{display:flex;flex-direction:column;align-items:center;gap:8px;position:relative;z-index:1;flex:1}.stepper-circle{width:40px;height:40px;border-radius:50%;background:#fff;border:2px solid #e5e7eb;display:flex;align-items:center;justify-content:center;font-weight:600;color:#9ca3af;transition:all .3s}.stepper-step.active .stepper-circle{background:#3b82f6;border-color:#3b82f6;color:#fff}.stepper-step.completed .stepper-circle{background:#10b981;border-color:#10b981;color:#fff}.stepper-label{font-size:12px;font-weight:500;color:#6b7280;text-align:center;max-width:100px}.stepper-step.active .stepper-label{color:#1f2937;font-weight:600}.wizard-step-content{background:#fff;border-radius:8px;padding:32px;box-shadow:0 1px 3px #0000001a}.step-container{display:flex;flex-direction:column;gap:24px}.step-title{font-size:24px;font-weight:600;color:#1f2937;margin:0 0 8px}.step-subtitle{font-size:14px;color:#6b7280;margin:0 0 24px}.step-form{display:flex;flex-direction:column;gap:20px}.form-field{display:flex;flex-direction:column;gap:6px}.form-field label{font-size:14px;font-weight:500;color:#374151}.form-field input,.form-field textarea,.form-field select{padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .2s}.form-field input:focus,.form-field textarea:focus,.form-field select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.form-field textarea{resize:vertical;min-height:80px}.field-hint{font-size:12px;color:#6b7280;font-style:italic}.field-error{font-size:12px;color:#dc2626}.step-actions{display:flex;gap:12px;margin-top:32px;justify-content:space-between}.btn{padding:10px 20px;border:none;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary{background:#f3f4f6;color:#4b5563}.btn-secondary:hover{background:#e5e7eb}.btn-primary{background:#3b82f6;color:#fff}.btn-primary:hover:not(:disabled){background:#2563eb}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-success{background:#10b981;color:#fff}.btn-success:hover:not(:disabled){background:#059669}@media (max-width: 768px){.wizard-stepper{flex-wrap:wrap;gap:16px}.wizard-stepper:before{display:none}.stepper-label{font-size:11px}}.wizard-shell{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:9999;display:flex;align-items:center;justify-content:center;padding:1rem;overflow-y:auto}.wizard-container{background:#f5f5f5;border-radius:16px;max-width:1400px;width:100%;max-height:95vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #0000004d}.wizard-close{position:absolute;top:1rem;right:1rem;background:#fff;border:none;width:40px;height:40px;border-radius:50%;font-size:24px;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:all .2s ease;box-shadow:0 2px 8px #0000001a}.wizard-close:hover{background:#f0f0f0;transform:scale(1.1)}.wizard-stepper{display:flex;justify-content:center;align-items:center;padding:2rem;background:#fff;border-bottom:1px solid #e0e0e0;gap:1rem}.stepper-step{display:flex;flex-direction:column;align-items:center;gap:.5rem;flex:1;max-width:150px;position:relative}.stepper-step:after{content:"";position:absolute;top:20px;left:50%;width:100%;height:2px;background:#e0e0e0;z-index:-1}.stepper-step:last-child:after{display:none}.stepper-step.completed:after{background:#4caf50}.stepper-number{width:40px;height:40px;border-radius:50%;background:#e0e0e0;color:#666;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:1.125rem;transition:all .3s ease}.stepper-step.active .stepper-number{background:#2196f3;color:#fff;box-shadow:0 4px 12px #2196f34d}.stepper-step.completed .stepper-number{background:#4caf50;color:#fff}.stepper-label{font-size:.875rem;color:#666;text-align:center}.stepper-step.active .stepper-label{color:#2196f3;font-weight:600}.stepper-step.completed .stepper-label{color:#4caf50}.wizard-step-content{padding:2rem;min-height:400px}.wizard-placeholder{background:#fff;border-radius:12px;padding:3rem;text-align:center;min-height:400px;display:flex;flex-direction:column;align-items:center;justify-content:center}.wizard-placeholder h2{font-size:2rem;margin-bottom:1rem;color:#1a1a1a}.wizard-placeholder p{font-size:1.125rem;color:#666}.spinner{width:48px;height:48px;border:4px solid #e0e0e0;border-top-color:#2196f3;border-radius:50%;animation:spin .8s linear infinite;margin-top:1rem}@media (max-width: 768px){.wizard-stepper{padding:1rem;gap:.5rem}.stepper-step{max-width:80px}.stepper-label{font-size:.75rem}.stepper-number{width:32px;height:32px;font-size:1rem}.wizard-step-content{padding:1rem}}/**
 * Copyright (c) 2014 The xterm.js authors. All rights reserved.
 * Copyright (c) 2012-2013, Christopher Jeffrey (MIT License)
 * https://github.com/chjj/term.js
 * @license MIT
 *
 * Permission is hereby granted, free of charge, to any person obtaining a copy
 * of this software and associated documentation files (the "Software"), to deal
 * in the Software without restriction, including without limitation the rights
 * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
 * copies of the Software, and to permit persons to whom the Software is
 * furnished to do so, subject to the following conditions:
 *
 * The above copyright notice and this permission notice shall be included in
 * all copies or substantial portions of the Software.
 *
 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
 * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
 * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 * THE SOFTWARE.
 *
 * Originally forked from (with the author's permission):
 *   Fabrice Bellard's javascript vt100 for jslinux:
 *   http://bellard.org/jslinux/
 *   Copyright (c) 2011 Fabrice Bellard
 *   The original design remains. The terminal itself
 *   has been extended to include xterm CSI codes, among
 *   other features.
 */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm .xterm-scroll-area{visibility:hidden}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{-webkit-user-select:text;user-select:text;white-space:pre}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.terminal-chat-fab{position:fixed;bottom:16px;right:16px;width:40px;height:40px;border-radius:50%;background:#1f2937;border:2px solid #374151;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #0000004d;transition:transform .2s,box-shadow .2s,opacity .3s,border-color .2s;z-index:1000;font-size:20px;line-height:1}.terminal-chat-fab:hover{transform:scale(1.1);box-shadow:0 4px 12px #0006;border-color:#6366f1}.terminal-chat-fab.hidden{opacity:0;pointer-events:none;transform:scale(.8)}.terminal-chat-fab-badge{position:absolute;top:2px;right:2px;width:10px;height:10px;border-radius:50%;background:#22c55e;border:2px solid #1f2937;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.6}}.terminal-minimized-pill{position:fixed;bottom:16px;right:16px;display:flex;align-items:center;justify-content:center;width:40px;height:40px;background:#1f2937;border:2px solid #374151;border-radius:50%;cursor:pointer;font-size:20px;box-shadow:0 2px 8px #0000004d;transition:transform .2s,box-shadow .2s,border-color .2s;z-index:1000}.terminal-minimized-pill:hover{transform:scale(1.1);box-shadow:0 4px 12px #0006;border-color:#6366f1}.terminal-pill-badge{position:absolute;top:2px;right:2px;width:10px;height:10px;border-radius:50%;background:#22c55e;border:2px solid #1f2937;animation:pulse 2s infinite}.terminal-chat-panel{position:fixed;bottom:0;right:0;width:600px;height:50vh;background:#1a1b26;display:flex;flex-direction:column;z-index:1001;transition:transform .3s cubic-bezier(.4,0,.2,1),opacity .3s;box-shadow:-4px -4px 24px #0006;border-top-left-radius:12px;transform:translateY(100%);opacity:0}.terminal-chat-panel.open{transform:translateY(0);opacity:1}.terminal-chat-panel.minimized{left:-9999px!important;right:auto!important;bottom:auto!important;top:0!important;visibility:hidden;pointer-events:none;opacity:0;transition:none!important}.terminal-chat-panel.floating{bottom:auto;right:auto;border-radius:12px;box-shadow:0 8px 32px #00000080;transition:none}.resize-handle{position:absolute;z-index:10}.resize-n,.resize-s{left:8px;right:8px;height:6px;cursor:ns-resize}.resize-e,.resize-w{top:8px;bottom:8px;width:6px;cursor:ew-resize}.resize-n{top:0}.resize-s{bottom:0}.resize-e{right:0}.resize-w{left:0}.resize-ne,.resize-nw,.resize-se,.resize-sw{width:12px;height:12px}.resize-ne{top:0;right:0;cursor:nesw-resize}.resize-nw{top:0;left:0;cursor:nwse-resize}.resize-se{bottom:0;right:0;cursor:nwse-resize}.resize-sw{bottom:0;left:0;cursor:nesw-resize}.terminal-chat-header{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;background:#16161e;border-bottom:1px solid #2a2b3d;border-top-left-radius:12px;border-top-right-radius:12px;-webkit-user-select:none;user-select:none}.terminal-chat-panel.docked .terminal-chat-header{border-top-right-radius:0}.terminal-chat-title{display:flex;align-items:center;gap:8px;font-weight:600;font-size:13px;color:#a9b1d6}.terminal-chat-title svg{color:#7aa2f7}.drag-handle{color:#565a7e;font-size:16px;cursor:grab}.drag-handle:active{cursor:grabbing}.terminal-chat-header-actions{display:flex;align-items:center;gap:4px}.terminal-header-btn{background:none;border:none;cursor:pointer;padding:6px;color:#787c99;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.terminal-header-btn:hover{background:#ffffff1a;color:#a9b1d6}.terminal-header-btn.active{background:#7aa2f733;color:#7aa2f7}.terminal-chat-status-dot{width:8px;height:8px;border-radius:50%;margin:0 4px}.terminal-chat-close{background:none;border:none;cursor:pointer;padding:6px;color:#787c99;border-radius:6px;display:flex;align-items:center;justify-content:center;transition:background .2s,color .2s}.terminal-chat-close:hover{background:#f7768e33;color:#f7768e}.terminal-settings{background:#16161e;border-bottom:1px solid #2a2b3d;padding:12px;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:16px;max-height:200px;overflow-y:auto}.terminal-settings-section h4{margin:0 0 8px;font-size:11px;font-weight:600;text-transform:uppercase;color:#565a7e;letter-spacing:.5px}.terminal-settings-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;font-size:12px;color:#a9b1d6}.terminal-settings-row label{flex:1;min-width:80px}.terminal-settings-row select,.terminal-settings-row input[type=number]{background:#1a1b26;border:1px solid #2a2b3d;border-radius:4px;padding:4px 8px;color:#a9b1d6;font-size:12px;min-width:100px}.terminal-settings-row select:focus,.terminal-settings-row input:focus{outline:none;border-color:#7aa2f7}.terminal-settings-row input[type=range]{flex:1;max-width:80px}.terminal-settings-row input[type=checkbox]{width:16px;height:16px;accent-color:#7aa2f7}.terminal-settings-row span{min-width:40px;text-align:right;color:#565a7e;font-size:11px}.terminal-context-toast{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;padding:8px 16px;font-size:12px;font-weight:500;text-align:center}body.terminal-context-mode{cursor:crosshair!important}body.terminal-context-mode [data-context]{cursor:pointer!important;outline:2px dashed transparent;outline-offset:2px;transition:outline-color .2s,background-color .2s}body.terminal-context-mode [data-context]:hover{outline-color:#3b82f6;background-color:#3b82f61a}body.terminal-context-mode td,body.terminal-context-mode th,body.terminal-context-mode label,body.terminal-context-mode h1,body.terminal-context-mode h2,body.terminal-context-mode h3,body.terminal-context-mode h4,body.terminal-context-mode h5,body.terminal-context-mode h6,body.terminal-context-mode button:not(.terminal-header-btn):not(.terminal-chat-fab):not(.terminal-minimized-pill),body.terminal-context-mode [role=button],body.terminal-context-mode .ag-cell,body.terminal-context-mode .node-label{cursor:pointer!important;transition:background-color .2s,box-shadow .2s}body.terminal-context-mode td:hover,body.terminal-context-mode th:hover,body.terminal-context-mode label:hover,body.terminal-context-mode h1:hover,body.terminal-context-mode h2:hover,body.terminal-context-mode h3:hover,body.terminal-context-mode h4:hover,body.terminal-context-mode h5:hover,body.terminal-context-mode h6:hover,body.terminal-context-mode button:not(.terminal-header-btn):not(.terminal-chat-fab):not(.terminal-minimized-pill):hover,body.terminal-context-mode [role=button]:hover,body.terminal-context-mode .ag-cell:hover,body.terminal-context-mode .node-label:hover{background-color:#3b82f626!important;box-shadow:inset 0 0 0 2px #3b82f680}body.terminal-context-mode .terminal-chat-panel,body.terminal-context-mode .terminal-chat-panel *{cursor:default!important}.terminal-chat-body{flex:1;display:flex;flex-direction:column;overflow:hidden;padding:8px;min-height:0}.terminal-chat-terminal{flex:1;width:100%;height:100%;border-radius:6px;overflow:hidden}.terminal-chat-terminal .xterm{padding:4px}.terminal-chat-terminal .xterm-viewport{border-radius:6px}.terminal-chat-terminal .xterm-viewport::-webkit-scrollbar{width:8px}.terminal-chat-terminal .xterm-viewport::-webkit-scrollbar-track{background:#1a1b26;border-radius:4px}.terminal-chat-terminal .xterm-viewport::-webkit-scrollbar-thumb{background:#3d3f5c;border-radius:4px}.terminal-chat-terminal .xterm-viewport::-webkit-scrollbar-thumb:hover{background:#565a7e}.terminal-chat-terminal .xterm-selection div{background-color:#7aa2f74d!important}.terminal-chat-terminal .xterm,.terminal-chat-terminal .xterm-screen{width:100%!important;height:100%!important}@media (max-width: 768px){.terminal-chat-panel.docked{width:100%;border-top-left-radius:12px;border-top-right-radius:12px}.terminal-chat-header{border-top-right-radius:12px}.terminal-settings{grid-template-columns:1fr}}.terminal-settings::-webkit-scrollbar{width:6px}.terminal-settings::-webkit-scrollbar-track{background:transparent}.terminal-settings::-webkit-scrollbar-thumb{background:#3d3f5c;border-radius:3px}.terminal-settings::-webkit-scrollbar-thumb:hover{background:#565a7e}.step-progress{display:flex;align-items:center;gap:4px}.step-progress-dot{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;transition:all .2s;flex-shrink:0}.step-progress-dot.completed{background-color:#ffffffe6;color:#16a34a}.step-progress-dot.current{background-color:#fff;color:#2563eb;box-shadow:0 0 0 3px #ffffff4d}.step-progress-dot.pending{background-color:#fff3;color:#ffffffb3}.step-progress-line{width:16px;height:2px;background-color:#ffffff4d;transition:background-color .2s}.step-progress-line.completed{background-color:#ffffffb3}.session-bar{display:flex;align-items:center;justify-content:space-between;padding:8px 16px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;box-shadow:0 2px 4px #0000001a;gap:16px}.session-bar-left{display:flex;align-items:center;gap:8px}.session-type-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;background-color:#fff3;border-radius:4px;font-size:13px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.session-bar-center{display:flex;align-items:center;gap:16px;flex:1;justify-content:center}.session-step-info{font-size:14px;font-weight:500;white-space:nowrap}.session-bar-right{display:flex;align-items:center;gap:8px}.session-bar-btn{padding:6px 12px;font-size:13px;font-weight:500;border:none;border-radius:4px;cursor:pointer;transition:background-color .15s,opacity .15s}.session-bar-btn-notes{background-color:#fff3;color:#fff}.session-bar-btn-notes:hover{background-color:#ffffff4d}.session-bar-btn-pause{background-color:#ffffffe6;color:#2563eb}.session-bar-btn-pause:hover{background-color:#fff}.session-bar-btn-exit{background-color:transparent;color:#fffc;border:1px solid rgba(255,255,255,.3)}.session-bar-btn-exit:hover{background-color:#ffffff1a;color:#fff}.session-start-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.session-start-modal{background-color:#fff;border-radius:12px;width:100%;max-width:560px;max-height:90vh;overflow:auto;box-shadow:0 20px 25px -5px #0000001a}.session-start-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e5e7eb;position:sticky;top:0;background:#fff;z-index:1}.session-start-modal-title{margin:0;font-size:18px;font-weight:600}.session-start-modal-close{background:none;border:none;font-size:24px;cursor:pointer;color:#6b7280;padding:4px;line-height:1}.session-start-modal-close:hover{color:#374151}.session-start-modal-content{padding:24px;display:flex;flex-direction:column;gap:16px}.session-start-modal-subtitle{margin:0;color:#6b7280;font-size:14px}.session-phase-progress{display:flex;gap:4px;margin-bottom:8px}.session-phase-indicator{flex:1;display:flex;flex-direction:column;align-items:center;padding:8px 4px;border-radius:6px;color:#fff;font-size:11px}.session-phase-number{font-weight:700;font-size:14px}.session-phase-name{font-weight:500;text-transform:uppercase;letter-spacing:.5px}.session-phase-group{border:1px solid #e5e7eb;border-radius:8px;overflow:hidden}.session-phase-header{display:flex;justify-content:space-between;align-items:center;width:100%;padding:12px 16px;background:#f9fafb;border:none;border-left:4px solid;cursor:pointer;font-size:14px;transition:background .15s}.session-phase-header:hover{background:#f3f4f6}.session-phase-header-left{display:flex;align-items:center;gap:10px}.session-phase-badge{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:12px}.session-phase-title{font-weight:600;color:#111827}.session-phase-count{color:#6b7280;font-size:12px}.session-phase-chevron{color:#6b7280;font-size:10px}.session-phase-content{padding:8px;display:flex;flex-direction:column;gap:8px;border-top:1px solid #e5e7eb}.session-type-card{border:2px solid #e5e7eb;border-radius:8px;padding:12px;cursor:pointer;transition:all .15s;background:transparent;width:100%;text-align:left}.session-type-card:hover,.session-type-card:focus{border-color:#3b82f6;background-color:#eff6ff;outline:none}.session-type-card:focus{box-shadow:0 0 0 2px #3b82f6}.session-type-card--legacy{opacity:.8}.session-type-card--legacy:hover,.session-type-card--legacy:focus{border-color:#9ca3af;background-color:#f9fafb}.session-type-card-inner{display:flex;align-items:flex-start;gap:12px}.session-type-card-icon{font-size:24px;line-height:1}.session-type-card-content{flex:1;min-width:0}.session-type-card-title{font-weight:600;font-size:14px;color:#111827;margin-bottom:2px;display:flex;align-items:center;gap:8px}.session-type-card-desc{font-size:12px;color:#6b7280;margin-bottom:4px}.session-type-card-meta{font-size:11px;color:#9ca3af}.session-legacy-section{border:1px solid #d1d5db;border-radius:8px;overflow:hidden;margin-top:8px}.session-legacy-header{display:flex;align-items:center;gap:8px;width:100%;padding:10px 16px;background:#f3f4f6;border:none;cursor:pointer;font-size:13px}.session-legacy-header:hover{background:#e5e7eb}.session-legacy-title{font-weight:500;color:#6b7280}.session-legacy-badge{background:#fef3c7;color:#92400e;font-size:10px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase}.session-legacy-tag{background:#f3f4f6;color:#6b7280;font-size:10px;font-weight:500;padding:2px 6px;border-radius:4px;text-transform:uppercase}.session-legacy-content{padding:12px;display:flex;flex-direction:column;gap:8px;border-top:1px solid #e5e7eb}.session-legacy-note{margin:0;padding:8px 12px;background:#fef3c7;border-radius:6px;font-size:12px;color:#92400e}.guide-panel{background-color:#fff;border-left:1px solid #e5e7eb;display:flex;flex-direction:column;transition:all .2s ease}.guide-panel.docked{width:320px;height:100%;flex-shrink:0}.guide-panel.collapsed{width:32px;height:100%;flex-shrink:0;background-color:#f9fafb;display:flex;align-items:flex-start;justify-content:center;padding-top:8px}.guide-panel.undocked{position:fixed;right:16px;top:80px;width:320px;max-height:calc(100vh - 120px);border-radius:8px;box-shadow:0 10px 25px #00000026;border:1px solid #e5e7eb;z-index:100;overflow:hidden}.guide-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e5e7eb;background-color:#f9fafb;flex-shrink:0}.guide-panel-step-label{font-size:14px;font-weight:600;color:#374151}.guide-panel-header-actions{display:flex;align-items:center;gap:4px}.guide-panel-icon-btn{width:28px;height:28px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;cursor:pointer;color:#6b7280;transition:all .15s}.guide-panel-icon-btn:hover{background-color:#e5e7eb;color:#374151}.guide-panel-expand-btn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:4px;cursor:pointer;color:#6b7280;transition:all .15s}.guide-panel-expand-btn:hover{background-color:#e5e7eb;color:#374151}.guide-panel-content{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:16px}.guide-section{display:flex;flex-direction:column;gap:8px}.guide-section-title{font-size:11px;font-weight:600;color:#9ca3af;text-transform:uppercase;letter-spacing:.5px;display:flex;align-items:center;gap:8px}.guide-objective{font-size:14px;color:#374151;line-height:1.5;margin:0}.guide-tips-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.guide-tips-list li{font-size:13px;color:#6b7280;padding-left:16px;position:relative;line-height:1.4}.guide-tips-list li:before{content:"•";position:absolute;left:0;color:#3b82f6}.guide-checklist{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.guide-checklist li{display:flex;align-items:flex-start;gap:8px;font-size:13px;color:#374151}.guide-checklist li input[type=checkbox]{margin-top:2px;cursor:pointer}.guide-checklist li span{line-height:1.4}.guide-add-note-btn{width:20px;height:20px;display:inline-flex;align-items:center;justify-content:center;background-color:#3b82f6;color:#fff;border:none;border-radius:4px;font-size:14px;font-weight:600;cursor:pointer;transition:background-color .15s}.guide-add-note-btn:hover{background-color:#2563eb}.guide-notes-list{display:flex;flex-direction:column;gap:8px}.guide-note{background-color:#fefce8;border:1px solid #fef08a;border-radius:6px;padding:10px}.guide-note p{margin:0 0 4px;font-size:13px;color:#374151;line-height:1.4}.guide-note-time{font-size:11px;color:#9ca3af}.guide-no-notes{font-size:13px;color:#9ca3af;font-style:italic;margin:0}.guide-panel-footer{display:flex;gap:8px;padding:16px;border-top:1px solid #e5e7eb;background-color:#f9fafb;flex-shrink:0}.guide-nav-btn{flex:1;padding:10px 16px;font-size:14px;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s}.guide-nav-back{background-color:#fff;border:1px solid #d1d5db;color:#374151}.guide-nav-back:hover:not(:disabled){background-color:#f3f4f6}.guide-nav-back:disabled{opacity:.5;cursor:not-allowed}.guide-nav-next{background-color:#3b82f6;border:none;color:#fff}.guide-nav-next:hover{background-color:#2563eb}.session-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:24px}.session-detail-modal{background:#fff;border-radius:16px;width:100%;max-width:600px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 40px #0003;outline:none;color:#1f2937}.session-detail-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e0e0e0}.header-title{display:flex;align-items:center;gap:12px}.session-type-icon{font-size:28px}.session-detail-header h2{margin:0;font-size:20px;font-weight:600;color:#1a1a1a}.close-btn{width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:none;border:none;font-size:24px;color:#666;cursor:pointer;border-radius:6px;transition:background-color .2s}.close-btn:hover{background:#f3f4f6}.session-detail-meta{display:flex;align-items:center;gap:24px;padding:16px 24px;background:#f8f9fa;border-bottom:1px solid #e0e0e0;flex-wrap:wrap}.meta-item{display:flex;align-items:center;gap:6px;font-size:13px;color:#4b5563}.meta-label{font-weight:500}.status-badge{padding:4px 8px;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.status-badge.status-active{background:#dcfce7;color:#166534}.status-badge.status-paused{background:#fef3c7;color:#92400e}.status-badge.status-completed{background:#dbeafe;color:#1e40af}.status-badge.status-abandoned{background:#f3f4f6;color:#6b7280}.session-detail-content{flex:1;overflow-y:auto;padding:24px}.timeline-section h3,.notes-section h3{margin:0 0 16px;font-size:14px;font-weight:600;color:#1a1a1a;text-transform:uppercase;letter-spacing:.5px}.timeline{position:relative;padding-left:24px}.timeline:before{content:"";position:absolute;left:11px;top:4px;bottom:4px;width:2px;background:#e0e0e0}.timeline-item{position:relative;padding-bottom:20px}.timeline-item:last-child{padding-bottom:0}.timeline-marker{position:absolute;left:-24px;top:0;width:24px;height:24px;border-radius:50%;background:#fff;border:2px solid #e0e0e0;display:flex;align-items:center;justify-content:center;font-size:12px;font-weight:600;color:#666;z-index:1}.timeline-item.completed .timeline-marker{background:#3b82f6;border-color:#3b82f6;color:#fff}.timeline-item.current .timeline-marker{border-color:#3b82f6;color:#3b82f6}.timeline-content{padding-left:12px}.timeline-step-name{font-weight:500;color:#1a1a1a;margin-bottom:8px}.timeline-item.completed .timeline-step-name{color:#4b5563}.timeline-notes{display:flex;flex-direction:column;gap:6px}.timeline-note{display:flex;gap:8px;font-size:13px;padding:8px 12px;background:#f8f9fa;border-radius:6px}.timeline-note .note-time{color:#666;font-size:11px;white-space:nowrap}.timeline-note .note-content{color:#1a1a1a;flex:1}.notes-section{margin-top:24px;padding-top:24px;border-top:1px solid #e0e0e0}.notes-list{display:flex;flex-direction:column;gap:8px}.note-item{display:flex;gap:12px;padding:12px;background:#f8f9fa;border-radius:8px;font-size:13px}.note-item .note-time{color:#666;font-size:11px;white-space:nowrap}.note-item .note-step{color:#3b82f6;font-size:11px;font-weight:500;white-space:nowrap}.note-item .note-content{color:#1a1a1a;flex:1}.session-detail-footer{display:flex;justify-content:flex-end;gap:12px;padding:16px 24px;border-top:1px solid #e0e0e0}.export-btn{padding:10px 20px;background:#f3f4f6;color:#1a1a1a;border:1px solid #e0e0e0;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s,border-color .2s}.export-btn:hover:not(:disabled){background:#e5e7eb;border-color:#d1d5db}.export-btn:disabled{opacity:.6;cursor:not-allowed}.resume-btn{padding:10px 20px;background:#3b82f6;color:#fff;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.resume-btn:hover{background:#2563eb}.close-btn-secondary{padding:10px 20px;background:#f3f4f6;color:#1a1a1a;border:none;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:background-color .2s}.close-btn-secondary:hover{background:#e5e7eb}.dark-mode .session-detail-modal{background:#1e1e1e;color:#e5e7eb}.dark-mode .session-detail-header{border-color:#333}.dark-mode .session-detail-header h2{color:#e5e7eb}.dark-mode .close-btn{color:#9ca3af}.dark-mode .close-btn:hover{background:#333}.dark-mode .session-detail-meta{background:#252525;border-color:#333}.dark-mode .meta-item{color:#9ca3af}.dark-mode .timeline-section h3,.dark-mode .notes-section h3{color:#e5e7eb}.dark-mode .timeline:before{background:#333}.dark-mode .timeline-marker{background:#1e1e1e;border-color:#444;color:#9ca3af}.dark-mode .timeline-item.completed .timeline-marker{background:#3b82f6;border-color:#3b82f6;color:#fff}.dark-mode .timeline-item.current .timeline-marker{border-color:#3b82f6;color:#3b82f6}.dark-mode .timeline-step-name{color:#e5e7eb}.dark-mode .timeline-item.completed .timeline-step-name{color:#9ca3af}.dark-mode .timeline-note,.dark-mode .note-item{background:#252525}.dark-mode .timeline-note .note-time,.dark-mode .note-item .note-time{color:#9ca3af}.dark-mode .timeline-note .note-content,.dark-mode .note-item .note-content{color:#e5e7eb}.dark-mode .note-item .note-step{color:#60a5fa}.dark-mode .notes-section,.dark-mode .session-detail-footer{border-color:#333}.dark-mode .export-btn{background:#333;color:#e0e0e0;border-color:#444}.dark-mode .export-btn:hover:not(:disabled){background:#444;border-color:#555}.dark-mode .close-btn-secondary{background:#333;color:#e0e0e0}.dark-mode .close-btn-secondary:hover{background:#444}.dark-mode .status-badge.status-active{background:#16a34a33;color:#4ade80}.dark-mode .status-badge.status-paused{background:#eab30833;color:#facc15}.dark-mode .status-badge.status-completed{background:#3b82f633;color:#60a5fa}.dark-mode .status-badge.status-abandoned{background:#6b728033;color:#9ca3af}.work-session-bar{position:fixed;top:0;left:0;right:0;height:36px;background:linear-gradient(135deg,#1e3a5f,#2d5a87);color:#fff;z-index:1100;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px #00000026;transition:background .2s ease}.work-session-bar.paused{background:linear-gradient(135deg,#4a4a4a,#6a6a6a)}.work-session-bar-content{display:flex;align-items:center;gap:16px;max-width:100%;padding:0 16px}.work-session-status{display:flex;align-items:center;gap:6px;font-weight:500;font-size:13px}.work-session-icon{font-size:14px}.work-session-label{letter-spacing:.02em}.work-session-time{font-size:13px;font-weight:600;opacity:.9;font-variant-numeric:tabular-nums}.work-session-actions{display:flex;align-items:center;gap:8px}.work-session-btn{display:flex;align-items:center;gap:4px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);color:#fff;padding:4px 10px;border-radius:4px;font-size:12px;cursor:pointer;transition:background .15s ease,border-color .15s ease}.work-session-btn:hover{background:#fff3;border-color:#ffffff4d}.work-session-btn:focus-visible{outline:2px solid #60a5fa;outline-offset:2px}.work-session-btn-label{font-weight:500}.work-session-menu-container{position:relative}.work-session-menu{position:absolute;top:calc(100% + 8px);right:0;min-width:200px;background:#fff;border-radius:8px;box-shadow:0 4px 20px #00000026;padding:6px 0;z-index:1200;animation:slideDown .15s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.work-session-menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:10px 14px;border:none;background:none;color:#374151;font-size:13px;text-align:left;cursor:pointer;transition:background .1s ease}.work-session-menu-item:hover:not(:disabled){background:#f3f4f6}.work-session-menu-item:disabled{opacity:.5;cursor:not-allowed}.work-session-menu-item-danger{color:#dc2626}.work-session-menu-item-danger:hover:not(:disabled){background:#fef2f2}.work-session-menu-icon{font-size:14px;width:18px;text-align:center}.work-session-menu-separator{height:1px;background:#e5e7eb;margin:6px 0}.work-session-backdrop{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1099}.work-session-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1300;animation:fadeIn .15s ease}.work-session-modal{background:#fff;border-radius:12px;width:100%;max-width:480px;margin:16px;box-shadow:0 8px 40px #0003;animation:modalSlideUp .2s ease}.work-session-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb}.work-session-modal-header h3{font-size:16px;font-weight:600;color:#111827;margin:0}.work-session-modal-close{background:none;border:none;font-size:24px;color:#9ca3af;cursor:pointer;padding:0;line-height:1;transition:color .15s ease}.work-session-modal-close:hover{color:#374151}.work-session-modal-content{padding:20px}.work-session-note-input{width:100%;padding:12px;border:1px solid #d1d5db;border-radius:8px;font-size:14px;font-family:inherit;resize:vertical;min-height:100px;transition:border-color .15s ease,box-shadow .15s ease}.work-session-note-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.work-session-note-input::placeholder{color:#9ca3af}.work-session-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:16px}.work-session-modal-btn{padding:10px 18px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease,opacity .15s ease}.work-session-modal-btn:disabled{opacity:.5;cursor:not-allowed}.work-session-modal-btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.work-session-modal-btn-secondary:hover:not(:disabled){background:#e5e7eb}.work-session-modal-btn-primary{background:#3b82f6;border:1px solid #3b82f6;color:#fff}.work-session-modal-btn-primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}@media (max-width: 480px){.work-session-btn-label{display:none}.work-session-bar-content{gap:12px}}@media (prefers-reduced-motion: reduce){.work-session-menu,.work-session-modal-overlay,.work-session-modal{animation:none}}.meeting-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1300;animation:fadeIn .15s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.meeting-modal{background:#fff;border-radius:12px;width:100%;max-width:540px;max-height:90vh;margin:16px;box-shadow:0 8px 40px #0003;animation:modalSlideUp .2s ease;display:flex;flex-direction:column}.meeting-modal-large{max-width:680px}@keyframes modalSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.meeting-modal-header{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #e5e7eb}.meeting-modal-header h2{font-size:18px;font-weight:600;color:#111827;margin:0}.meeting-modal-close{background:none;border:none;font-size:28px;color:#9ca3af;cursor:pointer;padding:0;line-height:1;transition:color .15s ease}.meeting-modal-close:hover{color:#374151}.meeting-modal-content{padding:20px;overflow-y:auto;flex:1}.meeting-modal-footer{padding:16px 20px;border-top:1px solid #e5e7eb;display:flex;justify-content:flex-end;gap:10px}.meeting-modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px;padding-top:16px;border-top:1px solid #e5e7eb}.meeting-form-group{margin-bottom:16px}.meeting-form-group label{display:block;font-size:13px;font-weight:600;color:#374151;margin-bottom:6px}.meeting-input{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .15s ease,box-shadow .15s ease}.meeting-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.meeting-select{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;background:#fff;cursor:pointer}.meeting-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.meeting-textarea{width:100%;padding:10px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:14px;font-family:inherit;resize:vertical;min-height:60px}.meeting-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.meeting-hint{display:block;font-size:12px;color:#6b7280;margin-top:4px}.meeting-radio-group{display:flex;flex-direction:column;gap:8px;margin-bottom:10px}.meeting-radio-label{display:flex;align-items:center;gap:8px;font-size:14px;cursor:pointer}.meeting-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:10px 18px;border-radius:6px;font-size:14px;font-weight:500;cursor:pointer;transition:background .15s ease,opacity .15s ease}.meeting-btn:disabled{opacity:.5;cursor:not-allowed}.meeting-btn-sm{padding:6px 12px;font-size:13px}.meeting-btn-primary{background:#3b82f6;border:1px solid #3b82f6;color:#fff}.meeting-btn-primary:hover:not(:disabled){background:#2563eb;border-color:#2563eb}.meeting-btn-secondary{background:#f3f4f6;border:1px solid #d1d5db;color:#374151}.meeting-btn-secondary:hover:not(:disabled){background:#e5e7eb}.meeting-btn-outline{background:transparent;border:1px solid #d1d5db;color:#374151}.meeting-btn-outline:hover:not(:disabled){background:#f3f4f6}.meeting-agenda-list{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:12px}.meeting-agenda-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:#fff;border:1px solid #e5e7eb;border-radius:4px;margin-bottom:6px}.meeting-agenda-grip{color:#9ca3af;cursor:grab}.meeting-agenda-number{font-weight:500;color:#6b7280;min-width:20px}.meeting-agenda-text{flex:1;font-size:14px}.meeting-agenda-remove{background:none;border:none;color:#9ca3af;font-size:18px;cursor:pointer;padding:0 4px}.meeting-agenda-remove:hover{color:#dc2626}.meeting-agenda-add{display:flex;gap:8px;margin-top:8px}.meeting-agenda-input{flex:1}.meeting-panel{position:fixed;right:0;top:36px;width:320px;height:calc(100vh - 36px);background:#fff;border-left:1px solid #e5e7eb;display:flex;flex-direction:column;z-index:1000;box-shadow:-4px 0 20px #0000001a}.meeting-panel.paused{opacity:.9}.meeting-panel-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:linear-gradient(135deg,#1e3a5f,#2d5a87);color:#fff}.meeting-panel-title{display:flex;align-items:center;gap:8px;font-size:12px;font-weight:600;letter-spacing:.05em}.meeting-panel-icon{font-size:14px}.meeting-panel-btn{background:#ffffff1a;border:none;color:#fff;width:24px;height:24px;border-radius:4px;cursor:pointer;font-size:16px;line-height:1}.meeting-panel-btn:hover{background:#fff3}.meeting-panel-error{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;background:#fef2f2;border-bottom:1px solid #fecaca;color:#dc2626;font-size:13px}.meeting-panel-error-dismiss{background:none;border:none;color:#dc2626;font-size:18px;cursor:pointer;padding:0 4px;line-height:1;opacity:.7;transition:opacity .15s ease}.meeting-panel-error-dismiss:hover{opacity:1}.meeting-panel-info{padding:16px}.meeting-panel-meeting-title{font-size:15px;font-weight:600;color:#111827;margin:0 0 4px}.meeting-panel-elapsed{font-size:13px;color:#6b7280}.meeting-panel-divider{height:1px;background:#e5e7eb;margin:0 16px}.meeting-panel-section{padding:0}.meeting-panel-section-header{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;background:none;border:none;font-size:11px;font-weight:600;color:#6b7280;letter-spacing:.05em;cursor:pointer;text-align:left}.meeting-panel-section-header:hover{background:#f9fafb}.meeting-panel-toggle{font-size:10px}.meeting-panel-section-content{padding:0 16px 16px}.meeting-attendee{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:14px}.meeting-attendee-icon{font-size:14px}.meeting-attendee-role{color:#6b7280;font-size:12px}.meeting-agenda-panel-item{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:4px;font-size:13px}.meeting-agenda-panel-item.current{background:#eff6ff}.meeting-agenda-panel-item.completed{color:#6b7280}.meeting-agenda-status{width:16px;text-align:center}.meeting-agenda-label{flex:1}.meeting-agenda-complete-btn{background:#10b981;border:none;color:#fff;width:20px;height:20px;border-radius:50%;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center}.meeting-agenda-complete-btn:hover{background:#059669}.meeting-note-item{padding:8px;background:#f9fafb;border-radius:6px;margin-bottom:8px}.meeting-note-header{display:flex;gap:8px;font-size:11px;color:#6b7280;margin-bottom:4px}.meeting-note-content{font-size:13px;line-height:1.4}.meeting-note-add{margin-top:8px;display:flex;flex-direction:column;gap:8px}.meeting-show-more{background:none;border:none;color:#3b82f6;font-size:12px;cursor:pointer;text-align:left;padding:4px 0}.meeting-action-item{display:flex;gap:10px;padding:8px 0;border-bottom:1px solid #f3f4f6}.meeting-action-item:last-child{border-bottom:none}.meeting-action-checkbox{font-size:14px;color:#9ca3af}.meeting-action-content{flex:1}.meeting-action-desc{font-size:13px;margin-bottom:2px}.meeting-action-meta{font-size:11px;color:#6b7280}.meeting-action-due{margin-left:8px}.meeting-action-form{display:flex;flex-direction:column;gap:8px;padding:12px;background:#f9fafb;border-radius:8px;margin-top:8px}.meeting-action-form-row{display:flex;gap:8px}.meeting-action-form-row .meeting-input,.meeting-action-form-row .meeting-select{flex:1}.meeting-action-form-actions{display:flex;justify-content:flex-end;gap:8px}.meeting-panel-footer{margin-top:auto;padding:16px;border-top:1px solid #e5e7eb;display:flex;justify-content:center;gap:12px}.meeting-summary-content{max-height:60vh;overflow-y:auto}.meeting-summary-title{display:flex;align-items:center;gap:10px;margin-bottom:16px}.meeting-summary-icon{font-size:24px}.meeting-summary-title h3{font-size:18px;font-weight:600;margin:0}.meeting-summary-divider{height:1px;background:#e5e7eb;margin:16px 0}.meeting-summary-section h4{font-size:13px;font-weight:600;color:#6b7280;text-transform:uppercase;letter-spacing:.05em;margin:0 0 12px}.meeting-summary-details{display:flex;flex-direction:column;gap:8px}.meeting-summary-detail{display:flex;gap:8px;font-size:14px}.meeting-detail-label{font-weight:500;color:#374151;min-width:100px}.meeting-detail-value{color:#6b7280}.meeting-summary-agenda{display:flex;flex-direction:column;gap:6px}.meeting-summary-agenda-item{display:flex;align-items:center;gap:8px;font-size:14px}.meeting-summary-agenda-item.completed .meeting-agenda-icon{color:#10b981}.meeting-summary-agenda-item.incomplete .meeting-agenda-icon{color:#9ca3af}.meeting-agenda-partial{color:#f59e0b;font-size:12px}.meeting-summary-completion{margin-top:8px;font-size:13px;font-weight:500;color:#374151}.meeting-summary-table{width:100%;border-collapse:collapse;font-size:13px}.meeting-summary-table th,.meeting-summary-table td{padding:8px 12px;text-align:left;border-bottom:1px solid #e5e7eb}.meeting-summary-table th{font-weight:600;color:#374151;background:#f9fafb}.meeting-summary-table td:nth-child(n+2){text-align:center}.meeting-summary-notes{margin:0;padding-left:20px}.meeting-summary-notes li{font-size:14px;margin-bottom:6px}.meeting-notes-more{color:#6b7280;font-style:italic}.meeting-summary-actions{display:flex;flex-direction:column;gap:12px}.meeting-summary-action{display:flex;gap:10px;padding:10px;background:#f9fafb;border-radius:6px}.meeting-action-check{font-size:16px;color:#9ca3af}.meeting-action-details{flex:1}.meeting-action-details .meeting-action-desc{font-weight:500;margin-bottom:4px}.meeting-action-details .meeting-action-meta{display:flex;gap:16px}.meeting-summary-export{display:flex;justify-content:center;gap:12px;margin-top:8px}@media (max-width: 640px){.meeting-modal{max-width:none;margin:8px;max-height:95vh}.meeting-panel{width:100%}}@media (prefers-reduced-motion: reduce){.meeting-modal-overlay,.meeting-modal{animation:none}}.dark-mode .meeting-modal-overlay{background:#000000b3}.dark-mode .meeting-modal{background:var(--bg-primary, #0f172a);border:1px solid var(--border-color, #334155);box-shadow:0 8px 40px #00000080}.dark-mode .meeting-modal-header{border-bottom-color:var(--border-color, #334155)}.dark-mode .meeting-modal-header h2{color:var(--text-primary, #f8fafc)}.dark-mode .meeting-modal-close{color:var(--text-muted, #64748b)}.dark-mode .meeting-modal-close:hover{color:var(--text-primary, #f8fafc)}.dark-mode .meeting-modal-footer,.dark-mode .meeting-modal-actions{border-top-color:var(--border-color, #334155)}.dark-mode .meeting-form-group label{color:var(--text-secondary, #cbd5e1)}.dark-mode .meeting-input{background:var(--bg-secondary, #1e293b);border-color:var(--border-color, #334155);color:var(--text-primary, #f8fafc)}.dark-mode .meeting-input::placeholder{color:var(--text-muted, #64748b)}.dark-mode .meeting-input:focus{border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px #3b82f633}.dark-mode .meeting-select{background:var(--bg-secondary, #1e293b);border-color:var(--border-color, #334155);color:var(--text-primary, #f8fafc)}.dark-mode .meeting-select:focus{border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px #3b82f633}.dark-mode .meeting-textarea{background:var(--bg-secondary, #1e293b);border-color:var(--border-color, #334155);color:var(--text-primary, #f8fafc)}.dark-mode .meeting-textarea::placeholder{color:var(--text-muted, #64748b)}.dark-mode .meeting-textarea:focus{border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px #3b82f633}.dark-mode .meeting-hint{color:var(--text-muted, #64748b)}.dark-mode .meeting-radio-label{color:var(--text-primary, #f8fafc)}.dark-mode .meeting-btn-secondary{background:var(--bg-secondary, #1e293b);border-color:var(--border-color, #334155);color:var(--text-primary, #f8fafc)}.dark-mode .meeting-btn-secondary:hover:not(:disabled){background:var(--bg-tertiary, #334155)}.dark-mode .meeting-btn-outline{border-color:var(--border-color, #334155);color:var(--text-primary, #f8fafc)}.dark-mode .meeting-btn-outline:hover:not(:disabled){background:var(--bg-secondary, #1e293b)}.dark-mode .meeting-agenda-list{background:var(--bg-secondary, #1e293b);border-color:var(--border-color, #334155)}.dark-mode .meeting-agenda-item{background:var(--bg-primary, #0f172a);border-color:var(--border-color, #334155)}.dark-mode .meeting-agenda-grip,.dark-mode .meeting-agenda-number{color:var(--text-muted, #64748b)}.dark-mode .meeting-agenda-text{color:var(--text-primary, #f8fafc)}.dark-mode .meeting-agenda-remove{color:var(--text-muted, #64748b)}.dark-mode .meeting-agenda-remove:hover{color:#ef4444}.dark-mode .meeting-panel{background:var(--bg-primary, #0f172a);border-left-color:var(--border-color, #334155);box-shadow:-4px 0 20px #0000004d}.dark-mode .meeting-panel-meeting-title{color:var(--text-primary, #f8fafc)}.dark-mode .meeting-panel-elapsed{color:var(--text-muted, #64748b)}.dark-mode .meeting-panel-divider{background:var(--border-color, #334155)}.dark-mode .meeting-panel-section-header{color:var(--text-muted, #64748b)}.dark-mode .meeting-panel-section-header:hover{background:var(--bg-secondary, #1e293b)}.dark-mode .meeting-attendee{color:var(--text-primary, #f8fafc)}.dark-mode .meeting-attendee-role{color:var(--text-muted, #64748b)}.dark-mode .meeting-agenda-panel-item{color:var(--text-primary, #f8fafc)}.dark-mode .meeting-agenda-panel-item.current{background:#3b82f61a}.dark-mode .meeting-agenda-panel-item.completed{color:var(--text-muted, #64748b)}.dark-mode .meeting-note-item{background:var(--bg-secondary, #1e293b)}.dark-mode .meeting-note-header{color:var(--text-muted, #64748b)}.dark-mode .meeting-note-content{color:var(--text-primary, #f8fafc)}.dark-mode .meeting-show-more{color:var(--primary, #3b82f6)}.dark-mode .meeting-action-item{border-bottom-color:var(--border-color, #334155)}.dark-mode .meeting-action-checkbox{color:var(--text-muted, #64748b)}.dark-mode .meeting-action-desc{color:var(--text-primary, #f8fafc)}.dark-mode .meeting-action-meta{color:var(--text-muted, #64748b)}.dark-mode .meeting-action-form{background:var(--bg-secondary, #1e293b)}.dark-mode .meeting-panel-footer{border-top-color:var(--border-color, #334155)}.dark-mode .meeting-summary-title h3{color:var(--text-primary, #f8fafc)}.dark-mode .meeting-summary-divider{background:var(--border-color, #334155)}.dark-mode .meeting-summary-section h4{color:var(--text-muted, #64748b)}.dark-mode .meeting-detail-label{color:var(--text-secondary, #cbd5e1)}.dark-mode .meeting-detail-value{color:var(--text-muted, #64748b)}.dark-mode .meeting-summary-agenda-item{color:var(--text-primary, #f8fafc)}.dark-mode .meeting-summary-completion{color:var(--text-secondary, #cbd5e1)}.dark-mode .meeting-summary-table th{background:var(--bg-secondary, #1e293b);color:var(--text-secondary, #cbd5e1);border-bottom-color:var(--border-color, #334155)}.dark-mode .meeting-summary-table td{color:var(--text-primary, #f8fafc);border-bottom-color:var(--border-color, #334155)}.dark-mode .meeting-summary-notes li{color:var(--text-primary, #f8fafc)}.dark-mode .meeting-notes-more{color:var(--text-muted, #64748b)}.dark-mode .meeting-summary-action{background:var(--bg-secondary, #1e293b)}.dark-mode .meeting-action-check{color:var(--text-muted, #64748b)}.dark-mode .meeting-action-details .meeting-action-desc{color:var(--text-primary, #f8fafc)}.meeting-btn:focus-visible,.meeting-modal-close:focus-visible,.meeting-agenda-remove:focus-visible,.meeting-agenda-complete-btn:focus-visible,.meeting-show-more:focus-visible,.meeting-panel-btn:focus-visible,.meeting-panel-section-header:focus-visible{outline:2px solid var(--primary, #3b82f6);outline-offset:2px}.meeting-input:focus-visible,.meeting-select:focus-visible,.meeting-textarea:focus-visible{outline:none;border-color:var(--primary, #3b82f6);box-shadow:0 0 0 3px #3b82f626}.App{min-height:100vh;background-color:#f5f5f5;display:flex;flex-direction:column}.app-layout{display:flex;flex:1;position:relative;margin-left:70px;transition:margin-left .3s cubic-bezier(.4,0,.2,1)}.App-main{flex:1;width:100%;overflow-y:auto;position:relative;z-index:1}.floating-help-button{position:fixed;bottom:24px;right:24px;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;cursor:pointer;box-shadow:0 4px 12px #00000026;transition:all .3s cubic-bezier(.4,0,.2,1);z-index:999;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;opacity:.9}.floating-help-button:hover{opacity:1;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.floating-help-button:active{transform:translateY(0);box-shadow:0 2px 8px #00000026}.floating-help-button:focus-visible{outline:2px solid #667eea;outline-offset:2px}.floating-help-icon{display:flex;align-items:center;justify-content:center;width:100%;height:100%}.skip-to-content{position:absolute;top:-40px;left:0;background:#667eea;color:#fff;padding:8px 16px;text-decoration:none;z-index:1000;border-radius:0 0 4px}.skip-to-content:focus{top:0}body.dark-mode{background-color:#111827;color:#e5e7eb}body.dark-mode .App{background-color:#111827}body.compact-mode{--spacing-base: .75rem}body.sidebar-right .app-layout{margin-left:0;margin-right:70px;flex-direction:row-reverse}body.show-grid-lines table td,body.show-grid-lines table th{border:1px solid #e5e7eb}body.dark-mode.show-grid-lines table td,body.dark-mode.show-grid-lines table th{border:1px solid #374151}button.btn-primary,.btn-primary{background-color:var(--primary-color)!important}a:not(.btn){color:var(--primary-color)}.components-page,.risk-assessment-page,.cause-effect-page,.user-stories-page,.commissioning-page,.requirements-page,.mitigations-page,.scenarios-page,.baseline-manager-page,.coverage-matrix-page,.entity-graph-page,.entity-timeline-page,.visualizations-page,.settings-page,.backup-restore-page,.template-library-page,.template-manager-page,.template-management-page,.import-wizard-page,.placeholder-page,.completeness-dashboard,.predictive-analysis-dashboard,.test-plans-page,.scenario-comparison-page,.failure-mode-templates-page,.error-paths-page{max-width:none!important;width:100%!important;padding-left:24px;padding-right:24px}.App-main>div:first-child{max-width:none;width:100%}@media (max-width: 768px){.app-layout{margin-left:60px}body.sidebar-right .app-layout{margin-left:0;margin-right:60px}.floating-help-button{width:44px;height:44px;bottom:20px;right:20px;font-size:22px}}@media (max-width: 480px){.app-layout{margin-left:60px}body.sidebar-right .app-layout{margin-left:0;margin-right:60px}.floating-help-button{width:40px;height:40px;bottom:16px;right:16px;font-size:20px}}.page-loading-fallback{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;gap:16px;color:#6b7280}.page-loading-fallback .loading-spinner{width:40px;height:40px;border:3px solid #e5e7eb;border-top-color:var(--primary-color, #3b82f6);border-radius:50%;animation:page-spinner .8s linear infinite}.page-loading-fallback p{margin:0;font-size:14px}@keyframes page-spinner{to{transform:rotate(360deg)}}.dark-mode .page-loading-fallback{color:#9ca3af}.dark-mode .page-loading-fallback .loading-spinner{border-color:#374151;border-top-color:var(--primary-color, #3b82f6)}@media (max-width: 1024px){.guide-panel.docked{display:none}}@media print{.main-navigation,.floating-help-button,.terminal-chat-fab,.terminal-chat-panel,.terminal-minimized-pill,.session-bar,.guide-panel,.command-palette-overlay,.keyboard-shortcuts-modal,.Toaster,[data-sonner-toaster],div[style*="position: fixed"][style*="z-index: 9999"],[role=status][aria-live=polite],.skip-to-content{display:none!important}.app-layout,body.sidebar-right .app-layout{margin-left:0!important;margin-right:0!important}.App-main{width:100%!important;margin:0!important;padding:0!important}body{background:#fff!important;margin:0!important;padding:0!important}.App{background:#fff!important;min-height:auto!important}.no-print{display:none!important}*{-webkit-print-color-adjust:exact!important;print-color-adjust:exact!important}}:root{--page-max-width-wide: 1600px;--page-max-width-standard: 1400px;--page-padding: 24px;--page-min-height: calc(100vh - 60px) ;--page-title-color: #1f2937;--page-subtitle-color: #6b7280;--page-text-color: #374151;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-weight-normal: 400;--font-weight-medium: 500;--font-weight-semibold: 600;--font-weight-bold: 700;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--section-gap: 24px;--card-padding: 24px;--radius-sm: .25rem;--radius-md: .375rem;--radius-lg: .5rem;--radius-xl: .75rem;--radius-full: 9999px;--card-radius: 8px;--primary-color: #3b82f6;--type-system: #3b82f6;--type-subsystem: #22c55e;--type-component: #eab308;--type-part: #a855f7;--connection-electrical: #f97316;--connection-data: #3b82f6;--connection-mechanical: #6b7280;--connection-fluid: #06b6d4;--connection-thermal: #ef4444;--risk-critical: #dc2626;--risk-high: #f97316;--risk-medium: #eab308;--risk-low: #22c55e;--z-dropdown: 50;--z-sticky: 100;--z-modal: 1000;--z-tooltip: 1050;--z-toast: 1100}:root[data-theme=light]{--bg-primary: #ffffff;--bg-secondary: #f9fafb;--bg-tertiary: #f3f4f6;--bg-hover: #f3f4f6;--text-primary: #111827;--text-secondary: #6b7280;--text-tertiary: #9ca3af;--border-color: #e5e7eb;--border-hover: #d1d5db;--accent-primary: #4f46e5;--accent-hover: #4338ca;--accent-light: #eef2ff;--success: #10b981;--warning: #f59e0b;--error: #ef4444;--info: #3b82f6;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1)}:root[data-theme=dark]{--bg-primary: #1a1a1a;--bg-secondary: #262626;--bg-tertiary: #2d2d2d;--bg-hover: #363636;--text-primary: #f9fafb;--text-secondary: #d1d5db;--text-tertiary: #9ca3af;--border-color: #404040;--border-hover: #525252;--accent-primary: #818cf8;--accent-hover: #a5b4fc;--accent-light: #312e81;--success: #34d399;--warning: #fbbf24;--error: #f87171;--info: #60a5fa;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .3);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .4);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .5)}.m-3{margin:.75rem}.m-5{margin:1.25rem}.m-6{margin:1.5rem}.m-8{margin:2rem}.my-0{margin-top:0;margin-bottom:0}.my-1{margin-top:.25rem;margin-bottom:.25rem}.my-3{margin-top:.75rem;margin-bottom:.75rem}.my-6{margin-top:1.5rem;margin-bottom:1.5rem}.my-8{margin-top:2rem;margin-bottom:2rem}.mx-0{margin-left:0;margin-right:0}.mx-1{margin-left:.25rem;margin-right:.25rem}.mx-2{margin-left:.5rem;margin-right:.5rem}.mx-3{margin-left:.75rem;margin-right:.75rem}.mx-4{margin-left:1rem;margin-right:1rem}.mt-0{margin-top:0}.mt-2{margin-top:.5rem}.mt-5{margin-top:1.25rem}.mt-6{margin-top:1.5rem}.mt-8{margin-top:2rem}.mb-0{margin-bottom:0}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.ml-0{margin-left:0}.mr-0{margin-right:0}.mr-auto{margin-right:auto}.p-5{padding:1.25rem}.py-0{padding-top:0;padding-bottom:0}.py-6{padding-top:1.5rem;padding-bottom:1.5rem}.px-0{padding-left:0;padding-right:0}.px-1{padding-left:.25rem;padding-right:.25rem}.px-8{padding-left:2rem;padding-right:2rem}.pt-0{padding-top:0}.pt-1{padding-top:.25rem}.pt-3{padding-top:.75rem}.pt-6{padding-top:1.5rem}.pb-0{padding-bottom:0}.pb-1{padding-bottom:.25rem}.pb-3{padding-bottom:.75rem}.pb-6{padding-bottom:1.5rem}.pl-0{padding-left:0}.pl-1{padding-left:.25rem}.pl-3{padding-left:.75rem}.pr-0{padding-right:0}.pr-1{padding-right:.25rem}.pr-3{padding-right:.75rem}.gap-x-1{column-gap:.25rem}.gap-x-3{column-gap:.75rem}.gap-y-1{row-gap:.25rem}.gap-y-3{row-gap:.75rem}.text-xxs{font-size:.625rem;line-height:.875rem}.text-primary{color:var(--primary-color, #3b82f6)}.text-secondary{color:var(--text-secondary, #6b7280)}.text-muted{color:var(--text-tertiary, #9ca3af)}.text-success{color:var(--success, #10b981)}.text-warning{color:var(--warning, #f59e0b)}.text-error{color:var(--error, #ef4444)}.text-info{color:var(--info, #3b82f6)}.text-justify{text-align:justify}.leading-none{line-height:1}.leading-tight{line-height:1.25}.leading-snug{line-height:1.375}.leading-normal{line-height:1.5}.leading-relaxed{line-height:1.625}.leading-loose{line-height:2}.flex-auto{flex:1 1 auto}.flex-initial{flex:0 1 auto}.flex-none{flex:none}.flex-shrink-0{flex-shrink:0}.self-auto{align-self:auto}.self-stretch{align-self:stretch}.grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.col-span-1{grid-column:span 1 / span 1}.col-span-3{grid-column:span 3 / span 3}.col-span-4{grid-column:span 4 / span 4}.w-0{width:0}.w-1{width:.25rem}.w-2{width:.5rem}.w-16{width:4rem}.w-20{width:5rem}.w-24{width:6rem}.w-32{width:8rem}.w-40{width:10rem}.w-48{width:12rem}.w-56{width:14rem}.w-64{width:16rem}.w-3\/4{width:75%}.h-0{height:0}.h-1{height:.25rem}.h-2{height:.5rem}.h-16{height:4rem}.h-20{height:5rem}.h-24{height:6rem}.h-32{height:8rem}.h-40{height:10rem}.h-48{height:12rem}.max-h-full{max-height:100%}.max-h-screen{max-height:100vh}.bg-gray-300{background-color:#d1d5db}.bg-gray-400{background-color:#9ca3af}.bg-gray-500{background-color:#6b7280}.bg-gray-600{background-color:#4b5563}.bg-gray-700{background-color:#374151}.bg-gray-800{background-color:#1f2937}.bg-gray-900{background-color:#111827}.bg-primary{background-color:var(--primary-color, #3b82f6)}.bg-success{background-color:var(--success, #10b981)}.bg-warning{background-color:var(--warning, #f59e0b)}.bg-error{background-color:var(--error, #ef4444)}.bg-info{background-color:var(--info, #3b82f6)}.bg-success-light{background-color:#d1fae5}.bg-warning-light{background-color:#fef3c7}.bg-error-light{background-color:#fee2e2}.bg-info-light{background-color:#dbeafe}.bg-black{background-color:#000}.border-t{border-top-width:1px;border-top-style:solid}.border-b{border-bottom-width:1px;border-bottom-style:solid}.border-l{border-left-width:1px;border-left-style:solid}.border-r{border-right-width:1px;border-right-style:solid}.border-l-0{border-left-width:0}.border-r-0{border-right-width:0}.border-primary{border-color:var(--primary-color, #3b82f6)}.border-success{border-color:var(--success, #10b981)}.border-warning{border-color:var(--warning, #f59e0b)}.border-error{border-color:var(--error, #ef4444)}.transition-none{transition-property:none}.select-auto{-webkit-user-select:auto;user-select:auto}.z-auto{z-index:auto}.static{position:static}.inset-x-0{left:0;right:0}.inset-y-0{top:0;bottom:0}.top-full{top:100%}.bottom-1{bottom:.25rem}.bottom-2{bottom:.5rem}.bottom-4{bottom:1rem}.left-1{left:.25rem}.left-2{left:.5rem}.left-4{left:1rem}.whitespace-normal{white-space:normal}.whitespace-pre-line{white-space:pre-line}.break-normal{overflow-wrap:normal;word-break:normal}.break-words{overflow-wrap:break-word}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.overflow-scroll{overflow:scroll}.overflow-visible{overflow:visible}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:var(--z-modal, 1000);display:flex;align-items:center;justify-content:center;padding:16px}.modal-container{position:fixed;top:0;right:0;bottom:0;left:0;overflow-y:auto;display:flex;min-height:100%;align-items:center;justify-content:center;padding:16px}.modal-panel{background-color:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;width:100%;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;transform:translateZ(0)}.modal-sm{max-width:24rem}.modal-md{max-width:28rem}.modal-lg{max-width:32rem}.modal-xl{max-width:42rem}.modal-2xl{max-width:56rem}.modal-full{max-width:90vw}.modal-header{padding:20px 24px;border-bottom:2px solid #f3f4f6;background-image:linear-gradient(to right,#f9fafb,#fff);display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.modal-title{font-size:1.25rem;font-weight:700;color:#111827;margin:0;display:flex;align-items:center;gap:8px}.modal-title-icon{color:var(--primary-color, #3b82f6);width:20px;height:20px;flex-shrink:0}.modal-close-btn{padding:8px;color:#6b7280;background-color:transparent;border:none;border-radius:8px;cursor:pointer;transition:all .15s ease;display:flex;align-items:center;justify-content:center;flex-shrink:0}.modal-close-btn:hover{background-color:#f3f4f6;color:#111827}.modal-close-btn:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.modal-close-btn svg,.modal-close-btn .icon{width:20px;height:20px}.modal-body{padding:24px;overflow-y:auto;flex:1}.modal-body-compact{padding:16px 24px}.modal-footer{padding:16px 24px 20px;border-top:2px solid #e5e7eb;display:flex;justify-content:flex-end;gap:12px;flex-shrink:0}.modal-footer-center{justify-content:center}.modal-footer-between{justify-content:space-between}.modal-form-group{margin-bottom:20px}.modal-form-group:last-child{margin-bottom:0}.modal-form-label{display:block;font-size:14px;font-weight:600;color:#111827;margin-bottom:8px}.modal-form-required{color:#ef4444;margin-left:2px}.modal-form-input{display:block;width:100%;padding:12px 16px;border-radius:8px;border:2px solid #e5e7eb;background-color:#fff;box-shadow:0 1px 2px #0000000d;transition:all .2s ease;color:#111827;font-size:14px}.modal-form-input:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 4px #3b82f61a}.modal-form-input.error{border-color:#ef4444}.modal-form-input.error:focus{box-shadow:0 0 0 4px #ef44441a}.modal-form-textarea{resize:vertical;min-height:100px}.modal-form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:20px 20px;padding-right:44px}.modal-form-error{margin-top:6px;font-size:13px;color:#dc2626}.modal-form-hint{margin-top:6px;font-size:13px;color:#6b7280}.modal-form-row{display:flex;gap:16px}.modal-form-row>*{flex:1}.modal-form-row.single>*{flex:none;width:100%}.modal-btn{padding:12px 24px;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center;gap:8px}.modal-btn:disabled{cursor:not-allowed;opacity:.6}.modal-btn-primary{color:#fff;background-color:var(--primary-color, #3b82f6);border:none;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.modal-btn-primary:hover:not(:disabled){background-color:#2563eb}.modal-btn-primary:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.modal-btn-secondary{color:#374151;background-color:#fff;border:2px solid #e5e7eb;box-shadow:0 1px 2px #0000000d}.modal-btn-secondary:hover:not(:disabled){background-color:#f9fafb;border-color:#d1d5db}.modal-btn-secondary:focus{outline:2px solid #6b7280;outline-offset:2px}.modal-btn-danger{color:#fff;background-color:#dc2626;border:none}.modal-btn-danger:hover:not(:disabled){background-color:#b91c1c}.modal-btn-danger:focus{outline:2px solid #dc2626;outline-offset:2px}.modal-alert-icon{width:48px;height:48px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 16px}.modal-alert-icon.warning{background-color:#fef3c7;color:#f59e0b}.modal-alert-icon.danger{background-color:#fee2e2;color:#dc2626}.modal-alert-icon.success{background-color:#dcfce7;color:#22c55e}.modal-alert-icon.info{background-color:#dbeafe;color:#3b82f6}.modal-alert-icon svg{width:24px;height:24px}.modal-alert-text{text-align:center;color:#6b7280;font-size:14px;line-height:1.6}.modal-tabs{display:flex;border-bottom:2px solid #e5e7eb;padding:0 24px;margin:0;background-color:#f9fafb}.modal-tab{padding:12px 16px;font-size:14px;font-weight:500;color:#6b7280;background:none;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;cursor:pointer;transition:all .15s ease}.modal-tab:hover{color:#374151}.modal-tab.active{color:var(--primary-color, #3b82f6);border-bottom-color:var(--primary-color, #3b82f6)}.dark-mode .modal-panel,:root[data-theme=dark] .modal-panel{background-color:#1f2937;box-shadow:0 25px 50px -12px #00000080}.dark-mode .modal-header,:root[data-theme=dark] .modal-header{background-image:linear-gradient(to right,#1f2937,#1f2937);border-bottom-color:#374151}.dark-mode .modal-title,:root[data-theme=dark] .modal-title{color:#f9fafb}.dark-mode .modal-close-btn,:root[data-theme=dark] .modal-close-btn{color:#9ca3af}.dark-mode .modal-close-btn:hover,:root[data-theme=dark] .modal-close-btn:hover{background-color:#374151;color:#f9fafb}.dark-mode .modal-footer,:root[data-theme=dark] .modal-footer{border-top-color:#374151}.dark-mode .modal-form-label,:root[data-theme=dark] .modal-form-label{color:#f9fafb}.dark-mode .modal-form-input,:root[data-theme=dark] .modal-form-input{background-color:#374151;border-color:#4b5563;color:#f9fafb}.dark-mode .modal-form-input:focus,:root[data-theme=dark] .modal-form-input:focus{border-color:#60a5fa;box-shadow:0 0 0 4px #60a5fa33}.dark-mode .modal-form-hint,:root[data-theme=dark] .modal-form-hint{color:#9ca3af}.dark-mode .modal-btn-secondary,:root[data-theme=dark] .modal-btn-secondary{background-color:#374151;border-color:#4b5563;color:#f9fafb}.dark-mode .modal-btn-secondary:hover:not(:disabled),:root[data-theme=dark] .modal-btn-secondary:hover:not(:disabled){background-color:#4b5563;border-color:#6b7280}.dark-mode .modal-tabs,:root[data-theme=dark] .modal-tabs{background-color:#1f2937;border-bottom-color:#374151}.dark-mode .modal-tab,:root[data-theme=dark] .modal-tab{color:#9ca3af}.dark-mode .modal-tab:hover,:root[data-theme=dark] .modal-tab:hover{color:#f9fafb}.dark-mode .modal-tab.active,:root[data-theme=dark] .modal-tab.active{color:#60a5fa;border-bottom-color:#60a5fa}.dark-mode .modal-alert-text,:root[data-theme=dark] .modal-alert-text{color:#d1d5db}.modal-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:modal-spin .8s linear infinite}.modal-btn-secondary .modal-spinner{border-color:#6b72804d;border-top-color:#6b7280}@keyframes modal-spin{to{transform:rotate(360deg)}}.modal-enter{opacity:0}.modal-enter-active{opacity:1;transition:opacity .3s ease-out}.modal-exit{opacity:1}.modal-exit-active{opacity:0;transition:opacity .2s ease-in}.modal-panel-enter{opacity:0;transform:scale(.95)}.modal-panel-enter-active{opacity:1;transform:scale(1);transition:all .3s ease-out}.modal-panel-exit{opacity:1;transform:scale(1)}.modal-panel-exit-active{opacity:0;transform:scale(.95);transition:all .2s ease-in}@media (max-width: 640px){.modal-overlay,.modal-container{padding:8px}.modal-panel{border-radius:12px;max-height:95vh}.modal-header{padding:16px 20px}.modal-title{font-size:1.125rem}.modal-body{padding:20px}.modal-footer{padding:12px 20px 16px;flex-direction:column}.modal-footer .modal-btn{width:100%}.modal-form-row{flex-direction:column;gap:0}.modal-tabs{padding:0 16px;overflow-x:auto}.modal-tab{padding:10px 12px;white-space:nowrap}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 20px;font-size:14px;font-weight:600;line-height:1.4;border-radius:8px;border:2px solid transparent;cursor:pointer;transition:all .15s ease;text-decoration:none;white-space:nowrap}.btn:focus{outline:none}.btn:focus-visible{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.btn:disabled,.btn.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn-primary{background-color:var(--primary-color, #3b82f6);border-color:var(--primary-color, #3b82f6);color:#fff;box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.btn-primary:hover:not(:disabled){background-color:#2563eb;border-color:#2563eb}.btn-primary:active:not(:disabled){background-color:#1d4ed8;border-color:#1d4ed8}.btn-secondary{background-color:#fff;border-color:#e5e7eb;color:#374151;box-shadow:0 1px 2px #0000000d}.btn-secondary:hover:not(:disabled){background-color:#f9fafb;border-color:#d1d5db}.btn-secondary:active:not(:disabled){background-color:#f3f4f6;border-color:#9ca3af}.btn-danger{background-color:#dc2626;border-color:#dc2626;color:#fff}.btn-danger:hover:not(:disabled){background-color:#b91c1c;border-color:#b91c1c}.btn-danger:active:not(:disabled){background-color:#991b1b;border-color:#991b1b}.btn-ghost{background-color:transparent;border-color:transparent;color:#374151}.btn-ghost:hover:not(:disabled){background-color:#f3f4f6}.btn-ghost:active:not(:disabled){background-color:#e5e7eb}.btn-outline-primary{background-color:transparent;border-color:var(--primary-color, #3b82f6);color:var(--primary-color, #3b82f6)}.btn-outline-primary:hover:not(:disabled){background-color:var(--primary-color, #3b82f6);color:#fff}.btn-outline-secondary{background-color:transparent;border-color:#d1d5db;color:#6b7280}.btn-outline-secondary:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af;color:#374151}.btn-success{background-color:#22c55e;border-color:#22c55e;color:#fff}.btn-success:hover:not(:disabled){background-color:#16a34a;border-color:#16a34a}.btn-warning{background-color:#f59e0b;border-color:#f59e0b;color:#fff}.btn-warning:hover:not(:disabled){background-color:#d97706;border-color:#d97706}.btn-xs{padding:4px 10px;font-size:12px;border-radius:6px;gap:4px}.btn-sm{padding:6px 14px;font-size:13px;border-radius:6px;gap:6px}.btn-md{padding:10px 20px;font-size:14px;border-radius:8px}.btn-lg{padding:14px 28px;font-size:16px;border-radius:10px;gap:10px}.btn-xl{padding:18px 36px;font-size:18px;border-radius:12px;gap:12px}.btn-block{width:100%}.btn-icon{padding:10px;min-width:40px;min-height:40px}.btn-icon.btn-xs{padding:4px;min-width:24px;min-height:24px}.btn-icon.btn-sm{padding:6px;min-width:32px;min-height:32px}.btn-icon.btn-lg{padding:14px;min-width:52px;min-height:52px}.btn-round{border-radius:9999px}.btn-loading:after{content:"";position:absolute;width:16px;height:16px;top:50%;left:50%;margin-left:-8px;margin-top:-8px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:btn-spin .6s linear infinite}.btn-primary.btn-loading:after,.btn-danger.btn-loading:after,.btn-success.btn-loading:after,.btn-warning.btn-loading:after{border-color:#ffffff4d;border-right-color:#fff}@keyframes btn-spin{to{transform:rotate(360deg)}}.btn-group{display:inline-flex}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-radius:8px 0 0 8px}.btn-group .btn:last-child{border-radius:0 8px 8px 0}.btn-group .btn:not(:last-child){border-right-width:1px}.btn-group .btn+.btn{margin-left:-2px}.form-input,.form-textarea,.form-select{display:block;width:100%;padding:10px 14px;font-size:14px;font-weight:400;line-height:1.5;color:#111827;background-color:#fff;border:2px solid #e5e7eb;border-radius:8px;transition:border-color .15s ease,box-shadow .15s ease}.form-input::placeholder,.form-textarea::placeholder{color:#9ca3af}.form-input:hover:not(:disabled):not(:focus),.form-textarea:hover:not(:disabled):not(:focus),.form-select:hover:not(:disabled):not(:focus){border-color:#d1d5db}.form-input:focus,.form-textarea:focus,.form-select:focus{outline:none;border-color:var(--primary-color, #3b82f6);box-shadow:0 0 0 4px #3b82f61a}.form-input:disabled,.form-textarea:disabled,.form-select:disabled{background-color:#f9fafb;color:#9ca3af;cursor:not-allowed}.form-input.error,.form-textarea.error,.form-select.error{border-color:#ef4444}.form-input.error:focus,.form-textarea.error:focus,.form-select.error:focus{box-shadow:0 0 0 4px #ef44441a}.form-input.success,.form-textarea.success,.form-select.success{border-color:#22c55e}.form-input.success:focus,.form-textarea.success:focus,.form-select.success:focus{box-shadow:0 0 0 4px #22c55e1a}.form-input-sm,.form-textarea-sm,.form-select-sm{padding:6px 10px;font-size:13px;border-radius:6px}.form-input-lg,.form-textarea-lg,.form-select-lg{padding:14px 18px;font-size:16px;border-radius:10px}.form-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:20px 20px;padding-right:44px;cursor:pointer}.form-textarea{resize:vertical;min-height:100px}.form-textarea-fixed{resize:none}.form-checkbox,.form-radio{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border:2px solid #d1d5db;background-color:#fff;cursor:pointer;transition:all .15s ease;flex-shrink:0}.form-checkbox{border-radius:4px}.form-radio{border-radius:50%}.form-checkbox:hover:not(:disabled),.form-radio:hover:not(:disabled){border-color:#9ca3af}.form-checkbox:focus,.form-radio:focus{outline:none;box-shadow:0 0 0 4px #3b82f61a;border-color:var(--primary-color, #3b82f6)}.form-checkbox:checked,.form-radio:checked{background-color:var(--primary-color, #3b82f6);border-color:var(--primary-color, #3b82f6)}.form-checkbox:checked{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M12.207 4.793a1 1 0 010 1.414l-5 5a1 1 0 01-1.414 0l-2-2a1 1 0 011.414-1.414L6.5 9.086l4.293-4.293a1 1 0 011.414 0z'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:12px 12px}.form-radio:checked{background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Ccircle cx='8' cy='8' r='4'/%3E%3C/svg%3E");background-position:center;background-repeat:no-repeat;background-size:8px 8px}.form-checkbox:disabled,.form-radio:disabled{background-color:#f3f4f6;cursor:not-allowed}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-label{display:block;font-size:14px;font-weight:600;color:#111827;margin-bottom:8px}.form-label-required:after{content:" *";color:#ef4444}.form-hint{margin-top:6px;font-size:13px;color:#6b7280}.form-error{margin-top:6px;font-size:13px;color:#dc2626}.form-row{display:flex;gap:16px}.form-row>*{flex:1}.form-check{display:flex;align-items:center;gap:10px;cursor:pointer}.form-check-label{font-size:14px;color:#374151;cursor:pointer}.form-input-icon{position:relative}.form-input-icon .form-input{padding-left:44px}.form-input-icon .icon{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#9ca3af;pointer-events:none;width:20px;height:20px}.form-input-addon{display:flex}.form-input-addon .form-input{border-radius:0}.form-input-addon .form-input:first-child{border-radius:8px 0 0 8px}.form-input-addon .form-input:last-child{border-radius:0 8px 8px 0}.form-addon{display:flex;align-items:center;padding:10px 14px;font-size:14px;color:#6b7280;background-color:#f9fafb;border:2px solid #e5e7eb;white-space:nowrap}.form-addon:first-child{border-right:none;border-radius:8px 0 0 8px}.form-addon:last-child{border-left:none;border-radius:0 8px 8px 0}.dark-mode .btn-secondary,:root[data-theme=dark] .btn-secondary{background-color:#374151;border-color:#4b5563;color:#f9fafb}.dark-mode .btn-secondary:hover:not(:disabled),:root[data-theme=dark] .btn-secondary:hover:not(:disabled){background-color:#4b5563;border-color:#6b7280}.dark-mode .btn-ghost,:root[data-theme=dark] .btn-ghost{color:#d1d5db}.dark-mode .btn-ghost:hover:not(:disabled),:root[data-theme=dark] .btn-ghost:hover:not(:disabled){background-color:#374151}.dark-mode .btn-outline-secondary,:root[data-theme=dark] .btn-outline-secondary{border-color:#4b5563;color:#9ca3af}.dark-mode .btn-outline-secondary:hover:not(:disabled),:root[data-theme=dark] .btn-outline-secondary:hover:not(:disabled){background-color:#374151;border-color:#6b7280;color:#f9fafb}.dark-mode .form-input,.dark-mode .form-textarea,.dark-mode .form-select,:root[data-theme=dark] .form-input,:root[data-theme=dark] .form-textarea,:root[data-theme=dark] .form-select{background-color:#374151;border-color:#4b5563;color:#f9fafb}.dark-mode .form-input::placeholder,.dark-mode .form-textarea::placeholder,:root[data-theme=dark] .form-input::placeholder,:root[data-theme=dark] .form-textarea::placeholder{color:#9ca3af}.dark-mode .form-input:hover:not(:disabled):not(:focus),.dark-mode .form-textarea:hover:not(:disabled):not(:focus),.dark-mode .form-select:hover:not(:disabled):not(:focus),:root[data-theme=dark] .form-input:hover:not(:disabled):not(:focus),:root[data-theme=dark] .form-textarea:hover:not(:disabled):not(:focus),:root[data-theme=dark] .form-select:hover:not(:disabled):not(:focus){border-color:#6b7280}.dark-mode .form-input:focus,.dark-mode .form-textarea:focus,.dark-mode .form-select:focus,:root[data-theme=dark] .form-input:focus,:root[data-theme=dark] .form-textarea:focus,:root[data-theme=dark] .form-select:focus{border-color:#60a5fa;box-shadow:0 0 0 4px #60a5fa33}.dark-mode .form-input:disabled,.dark-mode .form-textarea:disabled,.dark-mode .form-select:disabled,:root[data-theme=dark] .form-input:disabled,:root[data-theme=dark] .form-textarea:disabled,:root[data-theme=dark] .form-select:disabled{background-color:#1f2937;color:#6b7280}.dark-mode .form-label,:root[data-theme=dark] .form-label{color:#f9fafb}.dark-mode .form-hint,:root[data-theme=dark] .form-hint{color:#9ca3af}.dark-mode .form-check-label,:root[data-theme=dark] .form-check-label{color:#d1d5db}.dark-mode .form-checkbox,.dark-mode .form-radio,:root[data-theme=dark] .form-checkbox,:root[data-theme=dark] .form-radio{background-color:#374151;border-color:#4b5563}.dark-mode .form-checkbox:hover:not(:disabled),.dark-mode .form-radio:hover:not(:disabled),:root[data-theme=dark] .form-checkbox:hover:not(:disabled),:root[data-theme=dark] .form-radio:hover:not(:disabled){border-color:#6b7280}.dark-mode .form-addon,:root[data-theme=dark] .form-addon{background-color:#1f2937;border-color:#4b5563;color:#9ca3af}@media (max-width: 640px){.form-row{flex-direction:column;gap:0}.btn-group{flex-direction:column}.btn-group .btn{border-radius:0}.btn-group .btn:first-child{border-radius:8px 8px 0 0}.btn-group .btn:last-child{border-radius:0 0 8px 8px}.btn-group .btn:not(:last-child){border-right-width:2px;border-bottom-width:1px}.btn-group .btn+.btn{margin-left:0;margin-top:-2px}}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;background-color:var(--bg-secondary, #f9fafb);border:1px dashed var(--border-color, #e5e7eb);border-radius:var(--radius-lg, 8px);min-height:200px}.empty-state-icon{display:flex;align-items:center;justify-content:center;width:80px;height:80px;margin-bottom:20px;color:var(--text-tertiary, #9ca3af);opacity:.6}.empty-state-icon svg{width:64px;height:64px}.empty-state-icon.emoji{font-size:48px;opacity:.5}.empty-state-title{margin:0 0 8px;font-size:1.25rem;font-weight:600;color:var(--text-primary, #111827);line-height:1.4}.empty-state-description{margin:0 0 20px;font-size:.9375rem;color:var(--text-secondary, #6b7280);max-width:400px;line-height:1.6}.empty-state-action{margin-top:4px}.empty-state-cta{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:600;color:#fff;background-color:var(--primary-color, #3b82f6);border:none;border-radius:8px;cursor:pointer;transition:all .2s ease;box-shadow:0 1px 3px #0000001a}.empty-state-cta:hover{background-color:#2563eb;transform:translateY(-1px);box-shadow:0 4px 6px -1px #0000001a}.empty-state-cta:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.empty-state-cta:active{transform:translateY(0)}.empty-state-sm{padding:32px 16px;min-height:120px}.empty-state-sm .empty-state-icon{width:48px;height:48px;margin-bottom:12px}.empty-state-sm .empty-state-icon svg{width:36px;height:36px}.empty-state-sm .empty-state-icon.emoji{font-size:32px}.empty-state-sm .empty-state-title{font-size:1rem;margin-bottom:4px}.empty-state-sm .empty-state-description{font-size:.875rem;margin-bottom:12px}.empty-state-sm .empty-state-cta{padding:8px 16px;font-size:13px}.empty-state-lg{padding:80px 32px;min-height:400px}.empty-state-lg .empty-state-icon{width:120px;height:120px;margin-bottom:28px}.empty-state-lg .empty-state-icon svg{width:96px;height:96px}.empty-state-lg .empty-state-icon.emoji{font-size:72px}.empty-state-lg .empty-state-title{font-size:1.5rem;margin-bottom:12px}.empty-state-lg .empty-state-description{font-size:1rem;max-width:500px;margin-bottom:28px}.empty-state-lg .empty-state-cta{padding:14px 28px;font-size:15px}.empty-state-card{background-color:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-style:solid;box-shadow:var(--shadow-sm, 0 1px 2px 0 rgba(0, 0, 0, .05))}.empty-state-inline{background-color:transparent;border:none;padding:24px 16px;min-height:auto}.empty-state-subtle{background-color:var(--bg-tertiary, #f3f4f6);border:none}.empty-cell,.empty-row td{text-align:center;padding:32px 16px;color:var(--text-secondary, #6b7280);font-style:italic}.empty-list{display:flex;flex-direction:column;align-items:center;padding:24px 16px;color:var(--text-secondary, #6b7280);font-size:.875rem;text-align:center}.empty-list-icon{font-size:24px;margin-bottom:8px;opacity:.5}.viz-empty-state{composes:empty-state}.reports-empty{composes:empty-state;composes:empty-state-card}.scenarios-empty-state,.baseline-empty-state{composes:empty-state;composes:empty-state-lg}.test-plans-empty{composes:empty-state;composes:empty-state-card}.entity-graph-empty{composes:empty-state}.empty-icon{composes:empty-state-icon;composes:emoji}.dark-mode .empty-state,:root[data-theme=dark] .empty-state{background-color:var(--bg-secondary, #262626);border-color:var(--border-color, #404040)}.dark-mode .empty-state-card,:root[data-theme=dark] .empty-state-card{background-color:var(--bg-primary, #1a1a1a);border-color:var(--border-color, #404040)}.dark-mode .empty-state-subtle,:root[data-theme=dark] .empty-state-subtle{background-color:var(--bg-tertiary, #2d2d2d)}.dark-mode .empty-state-title,:root[data-theme=dark] .empty-state-title{color:var(--text-primary, #f9fafb)}.dark-mode .empty-state-description,:root[data-theme=dark] .empty-state-description{color:var(--text-secondary, #d1d5db)}.dark-mode .empty-state-icon,:root[data-theme=dark] .empty-state-icon{color:var(--text-tertiary, #9ca3af)}.dark-mode .empty-cell,.dark-mode .empty-row td,:root[data-theme=dark] .empty-cell,:root[data-theme=dark] .empty-row td{color:var(--text-secondary, #d1d5db)}.dark-mode .empty-list,:root[data-theme=dark] .empty-list{color:var(--text-secondary, #d1d5db)}.dark-mode .empty-state-cta,:root[data-theme=dark] .empty-state-cta{background-color:#60a5fa}.dark-mode .empty-state-cta:hover,:root[data-theme=dark] .empty-state-cta:hover{background-color:#3b82f6}@media (max-width: 640px){.empty-state{padding:32px 16px;min-height:150px}.empty-state-icon{width:60px;height:60px;margin-bottom:16px}.empty-state-icon svg{width:48px;height:48px}.empty-state-icon.emoji{font-size:40px}.empty-state-title{font-size:1.125rem}.empty-state-description{font-size:.875rem;max-width:300px}.empty-state-lg{padding:48px 20px;min-height:300px}.empty-state-lg .empty-state-icon{width:80px;height:80px}.empty-state-lg .empty-state-icon svg{width:64px;height:64px}.empty-state-lg .empty-state-title{font-size:1.25rem}.empty-state-lg .empty-state-description{font-size:.9375rem;max-width:350px}}.empty-state-animated{animation:emptyStateFadeIn .3s ease-out}@keyframes emptyStateFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.empty-state-hint{font-size:.8125rem;color:var(--text-tertiary, #9ca3af);margin-top:-12px;margin-bottom:16px}.dark-mode .empty-state-hint,:root[data-theme=dark] .empty-state-hint{color:#6b7280}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:16px;min-height:200px}.loading-state-message{margin:0;color:var(--text-secondary, #6b7280);font-size:14px;text-align:center}.loading-state-submessage{margin:4px 0 0;color:var(--text-tertiary, #9ca3af);font-size:13px;text-align:center}.loading-state-sm{padding:24px 16px;gap:12px;min-height:120px}.loading-state-sm .loading-state-message{font-size:13px}.loading-state-lg{padding:60px 24px;gap:20px;min-height:300px}.loading-state-lg .loading-state-message{font-size:16px}.page-loading,.loading-state-page{display:flex;align-items:center;justify-content:center;min-height:300px;flex:1}.loading-state-inline{display:inline-flex;align-items:center;gap:8px;padding:8px 12px;min-height:auto}.loading-state-inline .loading-state-message{font-size:13px}.loading-spinner{display:inline-flex;align-items:center;justify-content:center;vertical-align:middle}.loading-spinner-circle{border:3px solid var(--border-color, #e5e7eb);border-top-color:var(--primary-color, #3b82f6);border-radius:50%;animation:loading-spin .8s linear infinite}.loading-spinner-xs .loading-spinner-circle,.loading-spinner-circle.loading-spinner-xs{width:16px;height:16px;border-width:2px}.loading-spinner-sm .loading-spinner-circle,.loading-spinner-circle.loading-spinner-sm{width:20px;height:20px;border-width:2px}.loading-spinner-md .loading-spinner-circle,.loading-spinner-circle.loading-spinner-md{width:32px;height:32px;border-width:3px}.loading-spinner-lg .loading-spinner-circle,.loading-spinner-circle.loading-spinner-lg{width:48px;height:48px;border-width:4px}.loading-spinner-xl .loading-spinner-circle,.loading-spinner-circle.loading-spinner-xl{width:64px;height:64px;border-width:5px}.loading-spinner-circle{width:32px;height:32px}.loading-spinner-white .loading-spinner-circle{border-color:#ffffff4d;border-top-color:#fff}.loading-spinner-gray .loading-spinner-circle{border-color:#6b72804d;border-top-color:#6b7280}.loading-spinner-success .loading-spinner-circle{border-color:#22c55e4d;border-top-color:var(--success, #22c55e)}.loading-spinner-warning .loading-spinner-circle{border-color:#f59e0b4d;border-top-color:var(--warning, #f59e0b)}.loading-spinner-error .loading-spinner-circle{border-color:#ef44444d;border-top-color:var(--error, #ef4444)}@keyframes loading-spin{to{transform:rotate(360deg)}}.loading-skeleton-line{height:20px;background:linear-gradient(90deg,var(--bg-tertiary, #e5e7eb) 25%,var(--bg-secondary, #f3f4f6) 50%,var(--bg-tertiary, #e5e7eb) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:4px}.loading-skeleton-line-3\/4,.loading-skeleton-line-75{width:75%}.loading-skeleton-line-1\/2,.loading-skeleton-line-50{width:50%}.loading-skeleton-line-1\/4,.loading-skeleton-line-25{width:25%}.loading-skeleton-line-1\/3,.loading-skeleton-line-33{width:33%}.loading-skeleton-line-2\/3,.loading-skeleton-line-66{width:66%}.loading-skeleton-line-sm{height:14px}.loading-skeleton-line-lg{height:28px}.loading-skeleton-line-xl{height:40px}.loading-skeleton-circle{width:48px;height:48px;border-radius:50%;background:linear-gradient(90deg,var(--bg-tertiary, #e5e7eb) 25%,var(--bg-secondary, #f3f4f6) 50%,var(--bg-tertiary, #e5e7eb) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;flex-shrink:0}.loading-skeleton-circle-sm{width:32px;height:32px}.loading-skeleton-circle-lg{width:64px;height:64px}.loading-skeleton-circle-xl{width:80px;height:80px}.loading-skeleton-rect{width:100%;height:100px;border-radius:8px;background:linear-gradient(90deg,var(--bg-tertiary, #e5e7eb) 25%,var(--bg-secondary, #f3f4f6) 50%,var(--bg-tertiary, #e5e7eb) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite}.loading-skeleton-card{padding:16px;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;background-color:var(--bg-primary, #ffffff)}.loading-skeleton-row{display:flex;gap:16px;padding:12px 0;border-bottom:1px solid var(--border-color, #e5e7eb)}.loading-skeleton-row>*{flex:1}.loading-pulse{width:100%;height:100%;min-height:40px;background:linear-gradient(90deg,var(--bg-tertiary, #e5e7eb) 25%,var(--bg-secondary, #f3f4f6) 50%,var(--bg-tertiary, #e5e7eb) 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:4px}.loading-pulse-slow{animation-duration:2s}.loading-pulse-fast{animation-duration:1s}.loading-progress{width:100%;height:8px;background-color:var(--bg-tertiary, #e5e7eb);border-radius:4px;overflow:hidden}.loading-progress-bar{height:100%;background-color:var(--primary-color, #3b82f6);border-radius:4px;transition:width .3s ease}.loading-progress-indeterminate .loading-progress-bar{width:30%;animation:loading-progress-indeterminate 1.5s ease-in-out infinite}@keyframes loading-progress-indeterminate{0%{transform:translate(-100%)}50%{transform:translate(200%)}to{transform:translate(-100%)}}.loading-progress-sm{height:4px}.loading-progress-lg{height:12px}.loading-progress-success .loading-progress-bar{background-color:var(--success, #22c55e)}.loading-progress-warning .loading-progress-bar{background-color:var(--warning, #f59e0b)}.loading-progress-error .loading-progress-bar{background-color:var(--error, #ef4444)}.loading-dots{display:inline-flex;align-items:center;gap:4px}.loading-dot{width:8px;height:8px;border-radius:50%;background-color:var(--primary-color, #3b82f6);animation:loading-dots-bounce 1.4s ease-in-out infinite both}.loading-dot:nth-child(1){animation-delay:-.32s}.loading-dot:nth-child(2){animation-delay:-.16s}.loading-dot:nth-child(3){animation-delay:0s}@keyframes loading-dots-bounce{0%,80%,to{transform:scale(.6);opacity:.5}40%{transform:scale(1);opacity:1}}.loading-dots-sm .loading-dot{width:6px;height:6px}.loading-dots-lg .loading-dot{width:12px;height:12px}.loading-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background-color:#fffc;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:10;gap:16px}.loading-overlay-dark{background-color:#00000080}.loading-overlay-transparent{background-color:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.loading-overlay-fullscreen{position:fixed;z-index:var(--z-modal, 1000)}.btn-loading{position:relative;color:transparent!important;pointer-events:none}.btn-loading:after{content:"";position:absolute;top:50%;left:50%;width:16px;height:16px;margin:-8px 0 0 -8px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:loading-spin .8s linear infinite}.btn-loading.btn-secondary:after,.btn-loading.modal-btn-secondary:after{border-color:#6b72804d;border-top-color:#6b7280}.viz-loading{composes:loading-state;composes:loading-state-lg}.reports-loading,.matrix-loading{composes:loading-state}.entity-graph-loading{composes:loading-state;composes:loading-state-lg}.mitigations-loading,.scenarios-loading{composes:loading-state}.block-diagram-loading{composes:loading-state;composes:loading-state-lg}.dark-mode .loading-state-message,:root[data-theme=dark] .loading-state-message{color:var(--text-secondary, #d1d5db)}.dark-mode .loading-state-submessage,:root[data-theme=dark] .loading-state-submessage{color:var(--text-tertiary, #9ca3af)}.dark-mode .loading-spinner-circle,:root[data-theme=dark] .loading-spinner-circle{border-color:var(--border-color, #404040);border-top-color:#60a5fa}.dark-mode .loading-skeleton-line,.dark-mode .loading-skeleton-circle,.dark-mode .loading-skeleton-rect,.dark-mode .loading-pulse,:root[data-theme=dark] .loading-skeleton-line,:root[data-theme=dark] .loading-skeleton-circle,:root[data-theme=dark] .loading-skeleton-rect,:root[data-theme=dark] .loading-pulse{background:linear-gradient(90deg,#2d2d2d 25%,#363636,#2d2d2d 75%);background-size:200% 100%}.dark-mode .loading-skeleton-card,:root[data-theme=dark] .loading-skeleton-card{background-color:var(--bg-secondary, #262626);border-color:var(--border-color, #404040)}.dark-mode .loading-skeleton-row,:root[data-theme=dark] .loading-skeleton-row{border-bottom-color:var(--border-color, #404040)}.dark-mode .loading-progress,:root[data-theme=dark] .loading-progress{background-color:#2d2d2d}.dark-mode .loading-progress-bar,:root[data-theme=dark] .loading-progress-bar{background-color:#60a5fa}.dark-mode .loading-dot,:root[data-theme=dark] .loading-dot{background-color:#60a5fa}.dark-mode .loading-overlay,:root[data-theme=dark] .loading-overlay{background-color:#1a1a1acc}.dark-mode .loading-overlay-dark,:root[data-theme=dark] .loading-overlay-dark{background-color:#000000b3}@media (max-width: 640px){.loading-state{padding:32px 16px;gap:12px;min-height:150px}.loading-state-lg{padding:40px 16px;min-height:200px}.loading-spinner-lg .loading-spinner-circle,.loading-spinner-circle.loading-spinner-lg{width:40px;height:40px}.loading-spinner-xl .loading-spinner-circle,.loading-spinner-circle.loading-spinner-xl{width:48px;height:48px}}@media (prefers-reduced-motion: reduce){.loading-spinner-circle,.loading-skeleton-line,.loading-skeleton-circle,.loading-skeleton-rect,.loading-pulse,.loading-progress-bar,.loading-dot,.btn-loading:after{animation:none}.loading-progress-indeterminate .loading-progress-bar{animation:none;transform:none}.loading-skeleton-line,.loading-skeleton-circle,.loading-skeleton-rect,.loading-pulse{background:var(--bg-tertiary, #e5e7eb)}.loading-dot{opacity:1;transform:scale(1)}}.kbd,kbd,.shortcut-key,.shortcuts-key{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:2px 8px;font-family:ui-monospace,SF Mono,Monaco,Inconsolata,Menlo,Consolas,monospace;font-size:12px;font-weight:600;color:var(--text-primary, #374151);background-color:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #d1d5db);border-radius:6px;box-shadow:0 1px 2px #0000000d,0 1px #0000001a;text-transform:uppercase;white-space:nowrap;-webkit-user-select:none;user-select:none}.kbd-sm,.shortcut-key-sm{min-width:20px;height:20px;padding:2px 6px;font-size:10px}.kbd-lg,.shortcut-key-lg{min-width:32px;height:32px;padding:4px 12px;font-size:14px}.kbd-modifier,.shortcut-key-modifier{min-width:32px}.kbd-esc,.kbd-escape{min-width:36px}.kbd-space{min-width:60px}.shortcut-separator,.shortcuts-separator,.kbd-separator{display:inline-flex;align-items:center;justify-content:center;font-size:12px;color:var(--text-tertiary, #9ca3af);margin:0 4px}.shortcut-separator-plus:before{content:"+"}.shortcut-separator-then:before{content:"→"}.shortcut-combo,.shortcut-keys{display:inline-flex;align-items:center;gap:4px;flex-shrink:0}.shortcut-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;background-color:var(--bg-secondary, #f9fafb);border-radius:8px;transition:background-color .15s ease}.shortcut-item:hover{background-color:var(--bg-hover, #f3f4f6)}.shortcut-item-compact{padding:8px 12px;gap:12px}.shortcut-item-description,.shortcut-description{flex:1;font-size:14px;color:var(--text-primary, #111827)}.shortcut-item-description-muted{color:var(--text-secondary, #6b7280)}.shortcuts-list{display:flex;flex-direction:column;gap:8px}.shortcuts-list-compact{gap:4px}.shortcuts-list-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px}.shortcuts-category,.shortcuts-section,.shortcuts-help-section{margin-bottom:24px}.shortcuts-category:last-child,.shortcuts-section:last-child,.shortcuts-help-section:last-child{margin-bottom:0}.shortcuts-category-title,.shortcuts-section-title,.shortcuts-help-section-title{margin:0 0 12px;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;color:var(--text-secondary, #6b7280)}.shortcuts-help-backdrop,.shortcuts-help-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:20px;z-index:var(--z-modal, 9999);animation:shortcuts-fadeIn .15s ease-out}@keyframes shortcuts-fadeIn{0%{opacity:0}to{opacity:1}}.shortcuts-help,.shortcuts-help-modal{width:90%;max-width:680px;max-height:85vh;background-color:var(--bg-primary, #ffffff);border-radius:16px;box-shadow:0 20px 40px #0003;display:flex;flex-direction:column;animation:shortcuts-slideUp .2s ease-out;overflow:hidden}@keyframes shortcuts-slideUp{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.shortcuts-help-header{display:flex;align-items:center;justify-content:space-between;padding:18px 24px;border-bottom:1px solid var(--border-color, #e5e7eb);flex-shrink:0}.shortcuts-help-title,.shortcuts-help-header h2{margin:0;font-size:18px;font-weight:700;color:var(--text-primary, #111827)}.shortcuts-help-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:8px;font-size:20px;color:var(--text-secondary, #9ca3af);cursor:pointer;transition:all .15s ease}.shortcuts-help-close:hover{background-color:var(--bg-hover, #f3f4f6);color:var(--text-primary, #374151)}.shortcuts-help-close:focus{outline:2px solid var(--primary-color, #3b82f6);outline-offset:2px}.shortcuts-help-search{padding:12px 24px;border-bottom:1px solid var(--border-color, #e5e7eb);flex-shrink:0}.shortcuts-help-search-input{width:100%;padding:10px 14px;border:1px solid var(--border-color, #e5e7eb);border-radius:8px;font-size:14px;color:var(--text-primary, #111827);background-color:var(--bg-secondary, #f9fafb);outline:none;transition:all .15s ease}.shortcuts-help-search-input:focus{border-color:var(--primary-color, #3b82f6);background-color:var(--bg-primary, #ffffff);box-shadow:0 0 0 3px #3b82f61a}.shortcuts-help-search-input::placeholder{color:var(--text-tertiary, #9ca3af)}.shortcuts-help-content{flex:1;overflow-y:auto;padding:20px 24px}.shortcuts-help-content::-webkit-scrollbar{width:8px}.shortcuts-help-content::-webkit-scrollbar-track{background:transparent}.shortcuts-help-content::-webkit-scrollbar-thumb{background-color:var(--border-color, #d1d5db);border-radius:4px}.shortcuts-help-content::-webkit-scrollbar-thumb:hover{background-color:var(--text-tertiary, #9ca3af)}.shortcuts-help-content-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.shortcuts-help-list{display:flex;flex-direction:column;gap:8px}.shortcuts-help-item{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 14px;background-color:var(--bg-secondary, #f9fafb);border-radius:8px}.shortcuts-help-item-keys{display:flex;align-items:center;gap:4px;flex-shrink:0}.shortcuts-help-item-description{flex:1;font-size:14px;color:var(--text-primary, #111827)}.shortcuts-help-empty{text-align:center;padding:40px 20px}.shortcuts-help-empty p{margin:0;font-size:14px;color:var(--text-primary, #111827)}.shortcuts-help-empty-hint{margin-top:8px!important;font-size:13px;color:var(--text-secondary, #6b7280)!important}.shortcuts-help-footer{padding:14px 24px;border-top:1px solid var(--border-color, #e5e7eb);background-color:var(--bg-secondary, #f9fafb);flex-shrink:0}.shortcuts-help-footer-text,.shortcuts-help-footer p{margin:0;font-size:12px;color:var(--text-secondary, #6b7280);text-align:center}.shortcuts-help-footer kbd{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;margin:0 2px;background-color:var(--bg-tertiary, #e5e7eb);border:1px solid var(--border-color, #d1d5db);border-radius:4px;font-family:ui-monospace,SF Mono,monospace;font-size:10px;font-weight:600;color:var(--text-secondary, #6b7280)}.shortcut-hint{display:inline-flex;align-items:center;gap:2px;margin-left:8px;opacity:.6}.shortcut-hint .kbd,.shortcut-hint .shortcut-key{min-width:18px;height:18px;padding:0 4px;font-size:10px}.shortcut-hint .shortcut-separator{font-size:10px;margin:0 2px}@media (hover: none) and (pointer: coarse){.shortcut-hint{display:none}}.shortcuts-cheatsheet{display:flex;flex-direction:column;gap:8px;padding:12px;background-color:var(--bg-secondary, #1f2937);border-radius:8px;min-width:200px}.shortcuts-cheatsheet-row{display:flex;align-items:center;justify-content:space-between;gap:16px}.shortcuts-cheatsheet-action{font-size:13px;color:var(--text-primary, #f9fafb)}.shortcuts-cheatsheet-keys{display:flex;align-items:center;gap:4px}.shortcuts-cheatsheet .kbd,.shortcuts-cheatsheet .shortcut-key{background-color:#ffffff1a;border-color:#fff3;color:var(--text-primary, #f9fafb)}.dark-mode .kbd,.dark-mode kbd,.dark-mode .shortcut-key,.dark-mode .shortcuts-key,:root[data-theme=dark] .kbd,:root[data-theme=dark] kbd,:root[data-theme=dark] .shortcut-key,:root[data-theme=dark] .shortcuts-key{color:var(--text-primary, #f9fafb);background-color:var(--bg-tertiary, #374151);border-color:var(--border-color, #4b5563);box-shadow:0 1px 2px #0003,0 1px #0000004d}.dark-mode .shortcut-separator,.dark-mode .shortcuts-separator,:root[data-theme=dark] .shortcut-separator,:root[data-theme=dark] .shortcuts-separator{color:var(--text-tertiary, #6b7280)}.dark-mode .shortcut-item,.dark-mode .shortcuts-help-item,:root[data-theme=dark] .shortcut-item,:root[data-theme=dark] .shortcuts-help-item{background-color:var(--bg-tertiary, #374151)}.dark-mode .shortcut-item:hover,:root[data-theme=dark] .shortcut-item:hover{background-color:var(--bg-hover, #4b5563)}.dark-mode .shortcut-item-description,.dark-mode .shortcuts-help-item-description,:root[data-theme=dark] .shortcut-item-description,:root[data-theme=dark] .shortcuts-help-item-description{color:var(--text-primary, #f9fafb)}.dark-mode .shortcuts-category-title,.dark-mode .shortcuts-section-title,.dark-mode .shortcuts-help-section-title,:root[data-theme=dark] .shortcuts-category-title,:root[data-theme=dark] .shortcuts-section-title,:root[data-theme=dark] .shortcuts-help-section-title{color:var(--text-secondary, #9ca3af)}.dark-mode .shortcuts-help,.dark-mode .shortcuts-help-modal,:root[data-theme=dark] .shortcuts-help,:root[data-theme=dark] .shortcuts-help-modal{background-color:var(--bg-primary, #1f2937)}.dark-mode .shortcuts-help-header,:root[data-theme=dark] .shortcuts-help-header{border-bottom-color:var(--border-color, #374151)}.dark-mode .shortcuts-help-title,.dark-mode .shortcuts-help-header h2,:root[data-theme=dark] .shortcuts-help-title,:root[data-theme=dark] .shortcuts-help-header h2{color:var(--text-primary, #f9fafb)}.dark-mode .shortcuts-help-close,:root[data-theme=dark] .shortcuts-help-close{color:var(--text-secondary, #9ca3af)}.dark-mode .shortcuts-help-close:hover,:root[data-theme=dark] .shortcuts-help-close:hover{background-color:var(--bg-hover, #374151);color:var(--text-primary, #f9fafb)}.dark-mode .shortcuts-help-search,:root[data-theme=dark] .shortcuts-help-search{border-bottom-color:var(--border-color, #374151)}.dark-mode .shortcuts-help-search-input,:root[data-theme=dark] .shortcuts-help-search-input{border-color:var(--border-color, #4b5563);color:var(--text-primary, #f9fafb);background-color:var(--bg-tertiary, #374151)}.dark-mode .shortcuts-help-search-input:focus,:root[data-theme=dark] .shortcuts-help-search-input:focus{border-color:#60a5fa;background-color:var(--bg-primary, #1f2937)}.dark-mode .shortcuts-help-content::-webkit-scrollbar-thumb,:root[data-theme=dark] .shortcuts-help-content::-webkit-scrollbar-thumb{background-color:var(--border-color, #4b5563)}.dark-mode .shortcuts-help-content::-webkit-scrollbar-thumb:hover,:root[data-theme=dark] .shortcuts-help-content::-webkit-scrollbar-thumb:hover{background-color:var(--text-secondary, #6b7280)}.dark-mode .shortcuts-help-empty p,:root[data-theme=dark] .shortcuts-help-empty p{color:var(--text-primary, #f9fafb)}.dark-mode .shortcuts-help-empty-hint,:root[data-theme=dark] .shortcuts-help-empty-hint{color:var(--text-secondary, #9ca3af)!important}.dark-mode .shortcuts-help-footer,:root[data-theme=dark] .shortcuts-help-footer{border-top-color:var(--border-color, #374151);background-color:var(--bg-tertiary, #374151)}.dark-mode .shortcuts-help-footer-text,.dark-mode .shortcuts-help-footer p,:root[data-theme=dark] .shortcuts-help-footer-text,:root[data-theme=dark] .shortcuts-help-footer p{color:var(--text-secondary, #9ca3af)}.dark-mode .shortcuts-help-footer kbd,:root[data-theme=dark] .shortcuts-help-footer kbd{background-color:var(--bg-secondary, #262626);border-color:var(--border-color, #4b5563);color:var(--text-secondary, #9ca3af)}@media (max-width: 640px){.shortcuts-help-backdrop,.shortcuts-help-overlay{padding:12px}.shortcuts-help,.shortcuts-help-modal{max-height:90vh;border-radius:12px}.shortcuts-help-header{padding:14px 18px}.shortcuts-help-title,.shortcuts-help-header h2{font-size:16px}.shortcuts-help-search{padding:10px 18px}.shortcuts-help-content{padding:16px 18px}.shortcuts-help-content-grid{grid-template-columns:1fr;gap:16px}.shortcuts-help-footer{padding:12px 18px}.shortcuts-help-item,.shortcut-item{padding:8px 12px;gap:12px}.shortcuts-help-item-description,.shortcut-item-description{font-size:13px}.kbd,.shortcut-key,.shortcuts-key{min-width:22px;height:22px;font-size:11px}}@media (prefers-reduced-motion: reduce){.shortcuts-help-backdrop,.shortcuts-help-overlay,.shortcuts-help,.shortcuts-help-modal{animation:none}.shortcut-item,.shortcuts-help-close,.shortcuts-help-search-input{transition:none}}.block-diagram-shortcuts .shortcut-key{composes:shortcut-key}.block-diagram-shortcuts .shortcut-description{composes:shortcut-item-description}.system-states-shortcuts .shortcut-key{composes:shortcut-key}.system-states-shortcuts .shortcut-description{composes:shortcut-item-description}*:focus-visible{outline:3px solid #2563eb;outline-offset:2px;border-radius:4px}*:focus:not(:focus-visible){outline:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,[role=button]:focus-visible,[role=link]:focus-visible,[role=tab]:focus-visible,[role=menuitem]:focus-visible{outline:3px solid #2563eb;outline-offset:2px;box-shadow:0 0 0 4px #2563eb33}button.danger:focus-visible,[data-variant=danger]:focus-visible{outline-color:#dc2626;box-shadow:0 0 0 4px #dc262633}.skip-to-content{position:absolute;top:-100px;left:0;z-index:9999;padding:12px 24px;background-color:#2563eb;color:#fff;font-size:16px;font-weight:600;text-decoration:none;border-radius:0 0 8px;transition:top .2s ease-in-out}.skip-to-content:focus{top:0;outline:3px solid #ffffff;outline-offset:-3px}button,a,input[type=checkbox],input[type=radio],[role=button],[role=link],[role=tab]{min-height:44px;min-width:44px;padding:max(12px,calc((44px - 1em)/2))}button.btn-sm,.button-small{min-height:44px;padding:12px 16px}button.icon-only,[aria-label]:not([aria-label=""]):empty{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center}body{font-size:16px;line-height:1.5}h1{font-size:2rem;line-height:1.25;margin-bottom:1rem}h2{font-size:1.5rem;line-height:1.33;margin-bottom:.75rem}h3{font-size:1.25rem;line-height:1.4;margin-bottom:.5rem}p{margin-bottom:1em;line-height:1.5}.text-primary{color:#1e40af}.bg-primary{background-color:#2563eb;color:#fff}.text-secondary{color:#374151}.bg-secondary{background-color:#6b7280;color:#fff}.text-danger{color:#b91c1c}.bg-danger{background-color:#dc2626;color:#fff}.text-success{color:#15803d}.bg-success{background-color:#16a34a;color:#fff}.text-warning{color:#a16207}.bg-warning{background-color:#ca8a04;color:#000}.text-muted{color:#4b5563}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sr-only-focusable:focus{position:static;width:auto;height:auto;padding:inherit;margin:inherit;overflow:visible;clip:auto;white-space:normal}[tabindex="-1"]:focus{outline:none}[role=tab][aria-selected=true]:focus-visible{outline:3px solid #2563eb;outline-offset:-3px}.status-message{padding:12px 16px;border-radius:6px;margin-bottom:16px;border-left:4px solid currentColor}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}@media (prefers-contrast: high){button,input,select,textarea{border:2px solid currentColor}*:focus-visible{outline-width:4px}}.loading-spinner{border:3px solid rgba(0,0,0,.1);border-top-color:#2563eb;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}[aria-busy=true]{position:relative}.modal-backdrop{background-color:#00000080}table{border-collapse:collapse;width:100%}th{text-align:left;font-weight:600;background-color:#f3f4f6;padding:12px;border:1px solid #d1d5db}td{padding:12px;border:1px solid #d1d5db}input:invalid,select:invalid,textarea:invalid{border-color:#dc2626}.required:after{content:" *";color:#dc2626;font-weight:700}.error-message{color:#b91c1c;font-size:14px;margin-top:4px;display:flex;align-items:center;gap:4px}input:valid:not(:placeholder-shown){border-color:#16a34a}@media (min-width: 320px){html{font-size:100%}}@media (prefers-color-scheme: dark){body{background-color:#111827;color:#f9fafb}*:focus-visible{outline-color:#60a5fa}.bg-primary{background-color:#1e40af}.text-muted{color:#9ca3af}}*{box-sizing:border-box;transition:background-color .2s ease,color .2s ease,border-color .2s ease,box-shadow .2s ease}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:16px;line-height:1.5;background-color:var(--bg-primary, #ffffff);color:var(--text-primary, #111827)}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{width:100%;min-height:100vh}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-10{width:2.5rem}.h-3{height:.75rem}.h-5{height:1.25rem}.h-10{height:2.5rem}.text-orange-500{color:#f97316}.text-green-300{color:#86efac}.text-red-600{color:#dc2626}.text-blue-700{color:#1d4ed8}.bg-white{background-color:#fff}.bg-gray-50{background-color:#f9fafb}.bg-gray-100{background-color:#f3f4f6}.bg-gray-200{background-color:#e5e7eb}.bg-blue-50{background-color:#eff6ff}.bg-blue-100{background-color:#dbeafe}.bg-blue-600{background-color:#2563eb}.bg-green-50{background-color:#f0fdf4}.bg-red-50{background-color:#fef2f2}.border{border-width:1px;border-style:solid}.border-red-200{border-color:#fecaca}.border-green-200{border-color:#bbf7d0}.rounded{border-radius:.25rem}.rounded-md{border-radius:.375rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mt-1{margin-top:.25rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mx-auto{margin-left:auto;margin-right:auto}.gap-1{gap:.25rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.flex{display:flex}.flex-1{flex:1 1 0%}.flex-col{flex-direction:column}.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}.text-xs{font-size:.75rem;line-height:1rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.font-bold{font-weight:700}.uppercase{text-transform:uppercase}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-center{text-align:center}.line-clamp-1{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1}.line-clamp-2{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2}.animate-spin{animation:spin 1s linear infinite}.animate-pulse{animation:pulse 2s cubic-bezier(.4,0,.6,1) infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.overflow-hidden{overflow:hidden}.overflow-y-auto{overflow-y:auto}.shadow-sm{box-shadow:0 1px 2px #0000000d}.shadow-xl{box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.divide-y>*+*{border-top-width:1px}.divide-gray-100>*+*{border-color:#f3f4f6}.opacity-25{opacity:.25}.opacity-50{opacity:.5}.opacity-75{opacity:.75}.max-h-\[500px\]{max-height:500px}.max-h-\[60vh\]{max-height:60vh}.fixed{position:fixed}.relative{position:relative}.inset-0{top:0;right:0;bottom:0;left:0}.z-50{z-index:50}.cursor-pointer{cursor:pointer}.cursor-not-allowed{cursor:not-allowed}.cursor-grab{cursor:grab}.cursor-grabbing{cursor:grabbing}.cursor-move{cursor:move}.hidden{display:none}.block{display:block}.inline{display:inline}.inline-block{display:inline-block}.grid{display:grid}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.col-span-2{grid-column:span 2 / span 2}.col-span-full{grid-column:1 / -1}.m-0{margin:0}.m-1{margin:.25rem}.m-2{margin:.5rem}.m-4{margin:1rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-auto{margin-left:auto}.mr-1{margin-right:.25rem}.mr-2{margin-right:.5rem}.mr-3{margin-right:.75rem}.mr-4{margin-right:1rem}.my-2{margin-top:.5rem;margin-bottom:.5rem}.my-4{margin-top:1rem;margin-bottom:1rem}.p-0{padding:0}.p-1{padding:.25rem}.p-3{padding:.75rem}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pr-2{padding-right:.5rem}.pr-4{padding-right:1rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pb-2{padding-bottom:.5rem}.pb-4{padding-bottom:1rem}.w-auto{width:auto}.w-1\/2{width:50%}.w-1\/3{width:33.333333%}.w-2\/3{width:66.666667%}.w-1\/4{width:25%}.min-w-0{min-width:0}.min-w-full{min-width:100%}.max-w-xs{max-width:20rem}.max-w-sm{max-width:24rem}.max-w-md{max-width:28rem}.max-w-lg{max-width:32rem}.max-w-xl{max-width:36rem}.max-w-full{max-width:100%}.h-full{height:100%}.h-auto{height:auto}.h-screen{height:100vh}.min-h-0{min-height:0}.min-h-screen{min-height:100vh}.flex-row{flex-direction:row}.flex-row-reverse{flex-direction:row-reverse}.flex-col-reverse{flex-direction:column-reverse}.flex-grow{flex-grow:1}.flex-grow-0{flex-grow:0}.flex-shrink{flex-shrink:1}.items-end{align-items:flex-end}.items-baseline{align-items:baseline}.items-stretch{align-items:stretch}.justify-start{justify-content:flex-start}.justify-end{justify-content:flex-end}.justify-around{justify-content:space-around}.justify-evenly{justify-content:space-evenly}.self-start{align-self:flex-start}.self-center{align-self:center}.self-end{align-self:flex-end}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-5{gap:1.25rem}.gap-6{gap:1.5rem}.gap-8{gap:2rem}.gap-x-2{column-gap:.5rem}.gap-x-4{column-gap:1rem}.gap-y-2{row-gap:.5rem}.gap-y-4{row-gap:1rem}.text-base{font-size:1rem;line-height:1.5rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.font-normal{font-weight:400}.font-light{font-weight:300}.italic{font-style:italic}.not-italic{font-style:normal}.text-left{text-align:left}.text-right{text-align:right}.underline{text-decoration:underline}.no-underline{text-decoration:none}.line-through{text-decoration:line-through}.whitespace-nowrap{white-space:nowrap}.whitespace-pre{white-space:pre}.whitespace-pre-wrap{white-space:pre-wrap}.break-words{word-wrap:break-word}.break-all{word-break:break-all}.text-inherit{color:inherit}.text-current{color:currentColor}.text-black{color:#000}.text-gray-800{color:#1f2937}.text-indigo-500{color:#6366f1}.text-indigo-600{color:#4f46e5}.text-indigo-700{color:#4338ca}.text-yellow-500{color:#eab308}.text-yellow-600{color:#ca8a04}.text-purple-500{color:#a855f7}.text-purple-600{color:#9333ea}.bg-transparent{background-color:transparent}.bg-indigo-50{background-color:#eef2ff}.bg-indigo-100{background-color:#e0e7ff}.bg-indigo-500{background-color:#6366f1}.bg-indigo-600{background-color:#4f46e5}.bg-yellow-50{background-color:#fefce8}.bg-yellow-100{background-color:#fef9c3}.bg-purple-50{background-color:#faf5ff}.bg-purple-100{background-color:#f3e8ff}.border-0{border-width:0}.border-2{border-width:2px}.border-4{border-width:4px}.border-r{border-right-width:1px}.border-l{border-left-width:1px}.border-t-0{border-top-width:0}.border-b-0{border-bottom-width:0}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-dotted{border-style:dotted}.border-none{border-style:none}.border-transparent{border-color:transparent}.border-current{border-color:currentColor}.border-gray-400{border-color:#9ca3af}.border-indigo-200{border-color:#c7d2fe}.border-indigo-500{border-color:#6366f1}.border-blue-200{border-color:#bfdbfe}.rounded-none{border-radius:0}.rounded-sm{border-radius:.125rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}.rounded-3xl{border-radius:1.5rem}.rounded-t{border-top-left-radius:.25rem;border-top-right-radius:.25rem}.rounded-b{border-bottom-left-radius:.25rem;border-bottom-right-radius:.25rem}.rounded-l{border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.rounded-r{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.shadow{box-shadow:0 1px 3px #0000001a,0 1px 2px #0000000f}.shadow-md{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.shadow-lg{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.shadow-2xl{box-shadow:0 25px 50px -12px #00000040}.shadow-inner{box-shadow:inset 0 2px 4px #0000000f}.shadow-none{box-shadow:none}.opacity-0{opacity:0}.opacity-10{opacity:.1}.opacity-20{opacity:.2}.opacity-30{opacity:.3}.opacity-40{opacity:.4}.opacity-60{opacity:.6}.opacity-70{opacity:.7}.opacity-80{opacity:.8}.opacity-90{opacity:.9}.opacity-100{opacity:1}.transition{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.duration-75{transition-duration:75ms}.duration-100{transition-duration:.1s}.duration-150{transition-duration:.15s}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.duration-500{transition-duration:.5s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.ease-in-out{transition-timing-function:cubic-bezier(.4,0,.2,1)}.transform{transform:translate(var(--tw-translate-x)) translateY(var(--tw-translate-y)) rotate(var(--tw-rotate)) skew(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-0{transform:rotate(0)}.rotate-45{transform:rotate(45deg)}.rotate-90{transform:rotate(90deg)}.rotate-180{transform:rotate(180deg)}.-rotate-45{transform:rotate(-45deg)}.-rotate-90{transform:rotate(-90deg)}.scale-100{transform:scale(1)}.scale-105{transform:scale(1.05)}.scale-110{transform:scale(1.1)}.translate-x-0{transform:translate(0)}.translate-y-0{transform:translateY(0)}.pointer-events-none{pointer-events:none}.pointer-events-auto{pointer-events:auto}.select-none{-webkit-user-select:none;user-select:none}.select-text{-webkit-user-select:text;user-select:text}.select-all{-webkit-user-select:all;user-select:all}.visible{visibility:visible}.invisible{visibility:hidden}.absolute{position:absolute}.sticky{position:sticky}.top-0{top:0}.right-0{right:0}.bottom-0{bottom:0}.left-0{left:0}.top-1{top:.25rem}.right-1{right:.25rem}.top-2{top:.5rem}.right-2{right:.5rem}.top-4{top:1rem}.right-4{right:1rem}.z-0{z-index:0}.z-10{z-index:10}.z-20{z-index:20}.z-30{z-index:30}.z-40{z-index:40}.object-contain{object-fit:contain}.object-cover{object-fit:cover}.object-fill{object-fit:fill}.object-none{object-fit:none}.list-none{list-style-type:none}.list-disc{list-style-type:disc}.list-decimal{list-style-type:decimal}.list-inside{list-style-position:inside}.list-outside{list-style-position:outside}.hover\:bg-blue-50:hover{background-color:#eff6ff}.hover\:bg-blue-600:hover{background-color:#2563eb}.hover\:bg-indigo-600:hover{background-color:#4f46e5}.hover\:text-gray-700:hover{color:#374151}.hover\:text-blue-600:hover{color:#2563eb}.hover\:text-indigo-600:hover{color:#4f46e5}.hover\:border-gray-300:hover{border-color:#d1d5db}.hover\:shadow-md:hover{box-shadow:0 4px 6px -1px #0000001a,0 2px 4px -1px #0000000f}.hover\:shadow-lg:hover{box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d}.hover\:opacity-100:hover{opacity:1}.hover\:scale-105:hover{transform:scale(1.05)}.focus\:outline-none:focus{outline:2px solid transparent;outline-offset:2px}.focus\:ring-2:focus{box-shadow:0 0 0 2px #3b82f680}.focus\:ring-blue-500:focus{box-shadow:0 0 0 2px #3b82f680}.focus\:ring-indigo-500:focus{box-shadow:0 0 0 2px #6366f180}.focus\:border-blue-500:focus{border-color:#3b82f6}.focus\:border-indigo-500:focus{border-color:#6366f1}.active\:bg-gray-100:active{background-color:#f3f4f6}.active\:bg-blue-700:active{background-color:#1d4ed8}.active\:scale-95:active{transform:scale(.95)}.disabled\:bg-gray-100:disabled{background-color:#f3f4f6}.group:hover .group-hover\:visible{visibility:visible}.group:hover .group-hover\:opacity-100{opacity:1}.group:hover .group-hover\:text-blue-600{color:#2563eb}.fmea-page{min-height:var(--page-min-height, calc(100vh - 60px) );background-color:var(--bg-secondary, #f9fafb);padding:var(--page-padding, 24px)}.fmea-page-content{max-width:var(--page-max-width-standard, 1400px);margin:0 auto}.fmea-page-content--wide{max-width:var(--page-max-width-wide, 1600px)}.fmea-page-content--full{max-width:none}.fmea-page-header{margin-bottom:var(--section-gap, 24px)}.fmea-page-header h1{margin:0 0 8px;font-size:1.75rem;font-weight:600;color:var(--page-title-color, #1f2937)}.fmea-page-header p{margin:0;font-size:.875rem;color:var(--page-subtitle-color, #6b7280)}.fmea-page-toolbar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;justify-content:space-between;margin-bottom:var(--section-gap, 24px);padding:16px;background-color:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:var(--card-radius, 8px)}.fmea-page-toolbar__filters{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.fmea-page-toolbar__actions{display:flex;gap:8px;align-items:center}.fmea-card{background-color:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:var(--card-radius, 8px);padding:var(--card-padding, 24px);box-shadow:var(--shadow-sm)}.fmea-kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:16px;margin-bottom:var(--section-gap, 24px)}.fmea-kpi-card{background-color:var(--bg-primary, #ffffff);border:1px solid var(--border-color, #e5e7eb);border-radius:var(--card-radius, 8px);padding:16px;text-align:center}.fmea-kpi-card__value{font-size:1.75rem;font-weight:700;color:var(--page-title-color, #1f2937);line-height:1.2}.fmea-kpi-card__label{font-size:.75rem;color:var(--page-subtitle-color, #6b7280);text-transform:uppercase;letter-spacing:.05em;margin-top:4px}.fmea-kpi-card--blue{border-left:4px solid #3b82f6}.fmea-kpi-card--green{border-left:4px solid #10b981}.fmea-kpi-card--yellow{border-left:4px solid #f59e0b}.fmea-kpi-card--red{border-left:4px solid #ef4444}.fmea-kpi-card--purple{border-left:4px solid #8b5cf6}.fmea-kpi-card--teal{border-left:4px solid #14b8a6}.fmea-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px 24px;text-align:center;background-color:var(--bg-primary, #ffffff);border:1px dashed var(--border-color, #e5e7eb);border-radius:var(--card-radius, 8px)}.fmea-empty-state__icon{font-size:3rem;margin-bottom:16px}.fmea-empty-state h2{margin:0 0 8px;font-size:1.25rem;font-weight:600;color:var(--page-title-color, #1f2937)}.fmea-empty-state p{margin:0;color:var(--page-subtitle-color, #6b7280);max-width:400px}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;padding:60px 20px;text-align:center}.empty-state-icon{font-size:64px;color:#9ca3af;margin-bottom:24px}.empty-state-title{font-size:24px;font-weight:600;color:#1f2937;margin:0 0 12px}.empty-state-description{font-size:16px;color:#6b7280;max-width:400px;margin:0 0 32px;line-height:1.5}.empty-state-action{margin-top:8px}.empty-state-cta{padding:12px 24px;background:#3b82f6;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:500;cursor:pointer;transition:background .2s}.empty-state-cta:hover{background:#2563eb}.fmea-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 16px;font-size:.875rem;font-weight:500;border-radius:6px;cursor:pointer;transition:all .15s ease;border:1px solid transparent}.fmea-btn--primary{background-color:var(--accent-primary, #4f46e5);color:#fff}.fmea-btn--primary:hover:not(:disabled){background-color:var(--accent-hover, #4338ca)}.fmea-btn--secondary{background-color:var(--bg-primary, #ffffff);color:var(--text-primary, #111827);border-color:var(--border-color, #e5e7eb)}.fmea-btn--secondary:hover:not(:disabled){background-color:var(--bg-secondary, #f9fafb)}.fmea-btn--success{background-color:var(--success, #10b981);color:#fff}.fmea-btn--success:hover:not(:disabled){background-color:#059669}.fmea-btn:disabled{opacity:.5;cursor:not-allowed}.fmea-input,.fmea-select{padding:8px 12px;font-size:.875rem;border:1px solid var(--border-color, #e5e7eb);border-radius:6px;background-color:var(--bg-primary, #ffffff);color:var(--text-primary, #111827);transition:border-color .15s ease}.fmea-input:focus,.fmea-select:focus{outline:none;border-color:var(--accent-primary, #4f46e5);box-shadow:0 0 0 3px #4f46e51a}.fmea-input::placeholder{color:var(--text-tertiary, #9ca3af)}.transition-colors{transition-property:background-color,border-color,color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.transition-transform{transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.hover\:bg-gray-50:hover{background-color:#f9fafb}.hover\:bg-gray-100:hover{background-color:#f3f4f6}.hover\:bg-gray-300:hover{background-color:#d1d5db}.hover\:bg-blue-700:hover{background-color:#1d4ed8}.hover\:bg-green-100:hover{background-color:#dcfce7}.hover\:text-gray-900:hover{color:#111827}.hover\:text-blue-700:hover{color:#1d4ed8}.disabled\:opacity-50:disabled{opacity:.5}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.border-l-4{border-left-width:4px}.border-l-red-400{border-left-color:#f87171}.inline-flex{display:inline-flex}.gap-1\.5{gap:.375rem}.py-1\.5{padding-top:.375rem;padding-bottom:.375rem}.text-gray-700{color:#374151}.border{border-width:1px}.border-gray-300{border-color:#d1d5db}.bg-orange-500{background-color:#f97316}.hover\:bg-orange-600:hover{background-color:#ea580c}.shrink-0{flex-shrink:0}.min-h-full{min-height:100%}.w-full{width:100%}.max-w-3xl{max-width:48rem}.max-w-2xl{max-width:42rem}.max-w-4xl{max-width:56rem}.transform{transform:translateZ(0)}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-8{padding-top:2rem;padding-bottom:2rem}.p-2{padding:.5rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.p-8{padding:2rem}.border-b{border-bottom-width:1px}.border-t{border-top-width:1px}.border-gray-200{border-color:#e5e7eb}.border-gray-100{border-color:#f3f4f6}.bg-opacity-50{--tw-bg-opacity: .5}.bg-black{background-color:rgb(0 0 0 / var(--tw-bg-opacity, 1))}.text-gray-900{color:#111827}.text-gray-600{color:#4b5563}.text-gray-500{color:#6b7280}.text-gray-400{color:#9ca3af}.text-gray-300{color:#d1d5db}.text-blue-600{color:#2563eb}.text-orange-600{color:#ea580c}.text-white{color:#fff}.space-y-4>*+*{margin-top:1rem}.space-y-3>*+*{margin-top:.75rem}.space-y-2>*+*{margin-top:.5rem}.tracking-wide{letter-spacing:.025em}.bg-orange-100{background-color:#ffedd5}.bg-green-100{background-color:#dcfce7}.bg-red-100{background-color:#fee2e2}.hover\:text-gray-500:hover{color:#6b7280}.hover\:bg-blue-100:hover{background-color:#dbeafe}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.h-4{height:1rem}.h-6{height:1.5rem}.h-8{height:2rem}.h-12{height:3rem}.w-6{width:1.5rem}.w-8{width:2rem}.w-12{width:3rem}.border-b-2{border-bottom-width:2px}.text-green-600{color:#16a34a}.text-green-700{color:#15803d}.text-red-700{color:#b91c1c}.react-flow__resize-control{z-index:100!important;pointer-events:auto!important}.react-flow__resize-control.handle{opacity:1!important}.react-flow__resize-control.handle.bottom-right,.react-flow__resize-control.handle.bottom-left,.react-flow__resize-control.handle.top-right,.react-flow__resize-control.handle.top-left{width:14px!important;height:14px!important;border-radius:4px!important;background-color:#fff!important;border:2px solid #3b82f6!important;box-shadow:0 2px 4px #00000026!important}.react-flow__resize-control.handle.bottom-right{cursor:nwse-resize!important}.react-flow__resize-control.handle.bottom-left,.react-flow__resize-control.handle.top-right{cursor:nesw-resize!important}.react-flow__resize-control.handle.top-left{cursor:nwse-resize!important}.react-flow__edge{cursor:pointer!important}.react-flow__edge path{cursor:pointer!important}.react-flow__edge-interaction{cursor:pointer!important}.react-flow__resize-control.line{border-color:#3b82f6!important;border-width:2px!important}.nodrag{pointer-events:auto!important;cursor:default!important}.react-flow__node.container-node{pointer-events:none!important}.react-flow__node.container-node>div{pointer-events:none!important}.react-flow__node.container-node [data-header=true],.react-flow__node.container-node .react-flow__handle,.react-flow__node.container-node .react-flow__resize-control,.react-flow__node.container-node button{pointer-events:auto!important}.react-flow__node:not(.container-node){pointer-events:auto!important}.field-required:after{content:" *";color:#dc2626;font-weight:500}.MuiInputLabel-root.Mui-required:after{content:" *";color:#dc2626}.field-error{color:#dc2626;font-size:.75rem;margin-top:4px;display:flex;align-items:center;gap:4px}.field-error:before{content:"!";display:inline-flex;align-items:center;justify-content:center;width:14px;height:14px;background:#dc2626;color:#fff;border-radius:50%;font-size:10px;font-weight:700}.field-has-error input,.field-has-error textarea,.field-has-error select{border-color:#dc2626!important;background-color:#fef2f2}.field-has-error input:focus,.field-has-error textarea:focus,.field-has-error select:focus{box-shadow:0 0 0 2px #dc262633}.main-navigation{isolation:isolate!important;z-index:9999!important}.react-flow__pane{touch-action:none}.main-navigation,.main-navigation *{pointer-events:auto!important}.main-navigation .nav-link,.main-navigation .nav-group-header,.main-navigation button{position:relative;z-index:10000!important}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 20px;gap:16px}.loading-state-message{margin:0;color:#6b7280;font-size:14px}.loading-spinner{display:inline-flex;align-items:center;vertical-align:middle}.loading-skeleton{display:flex;flex-direction:column;gap:12px;width:100%}.loading-skeleton-line{height:20px;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:4px}.loading-skeleton-line-full{width:100%}.loading-skeleton-line-3\/4{width:75%}.loading-skeleton-line-1\/2{width:50%}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.loading-pulse{width:100%;height:100%;min-height:40px;background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6,#e5e7eb 75%);background-size:200% 100%;animation:skeleton-shimmer 1.5s infinite;border-radius:4px}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.page{padding:24px;min-height:100%}.page-loading{display:flex;align-items:center;justify-content:center;min-height:300px}.page-header{margin-bottom:24px}.page-title-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap}.page-title{display:flex;align-items:center;gap:12px}.page-title h1{margin:0;font-size:24px;font-weight:600;color:#1f2937}.page-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:24px;padding:0 8px;background:#e5e7eb;border-radius:12px;font-size:14px;font-weight:500;color:#374151}.page-actions{display:flex;align-items:center;gap:12px}.page-subtitle{margin:8px 0 0;font-size:14px;color:#6b7280;line-height:1.5}.page-toolbar{display:flex;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}
