@charset "UTF-8";.App{text-align:center;min-height:100vh;display:flex;flex-direction:column}@media (min-width: 769px){.App.authenticated{margin-left:80px}}@media (max-width: 768px){.App.authenticated{padding-top:60px}}.project-creation-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.project-creation-modal{background:var(--surface);border-radius:20px;width:100%;max-width:700px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 50px #0003;border:1px solid var(--gray-100);animation:slideIn .3s ease-out;position:relative}.project-creation-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1.5rem;border-bottom:1px solid var(--gray-100);background:linear-gradient(135deg,var(--gray-50) 0%,var(--surface) 100%)}.project-creation-modal .modal-header h2{margin:0;color:var(--gray-900);font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,var(--gray-900) 0%,var(--gray-700) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.project-creation-modal .modal-header .close-button{background:none;border:none;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray-500);transition:all .2s ease}.project-creation-modal .modal-header .close-button:hover:not(:disabled){background:var(--gray-200);color:var(--gray-700);transform:scale(1.05)}.project-creation-modal .modal-header .close-button:disabled{opacity:.5;cursor:not-allowed}.project-creation-modal .modal-header .close-button svg{width:20px;height:20px}.project-creation-modal .modal-content{display:flex;flex-direction:column;max-height:calc(90vh - 120px)}.project-creation-modal .modal-content .form-scroll-area{flex:1;overflow-y:auto;padding:2rem 2rem 0}.project-creation-modal .modal-content .form-scroll-area .project-form .form-group{margin-bottom:2rem;text-align:left}.project-creation-modal .modal-content .form-scroll-area .project-form .form-group label{display:block;margin-bottom:.75rem;font-weight:600;color:var(--gray-800);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.project-creation-modal .modal-content .form-scroll-area .project-form .form-group .form-input,.project-creation-modal .modal-content .form-scroll-area .project-form .form-group .form-textarea,.project-creation-modal .modal-content .form-scroll-area .project-form .form-group .form-select{width:100%;padding:1rem 1.25rem;border:2px solid var(--gray-200);border-radius:12px;font-size:1rem;transition:all .2s ease;background:var(--surface);color:var(--gray-900)}.project-creation-modal .modal-content .form-scroll-area .project-form .form-group .form-input:focus,.project-creation-modal .modal-content .form-scroll-area .project-form .form-group .form-textarea:focus,.project-creation-modal .modal-content .form-scroll-area .project-form .form-group .form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-primary) 10%,transparent);transform:translateY(-1px)}.project-creation-modal .modal-content .form-scroll-area .project-form .form-group .form-input:disabled,.project-creation-modal .modal-content .form-scroll-area .project-form .form-group .form-textarea:disabled,.project-creation-modal .modal-content .form-scroll-area .project-form .form-group .form-select:disabled{background:var(--gray-50);color:var(--gray-500);cursor:not-allowed;border-color:var(--gray-200)}.project-creation-modal .modal-content .form-scroll-area .project-form .form-group .form-input::placeholder,.project-creation-modal .modal-content .form-scroll-area .project-form .form-group .form-textarea::placeholder,.project-creation-modal .modal-content .form-scroll-area .project-form .form-group .form-select::placeholder{color:var(--gray-400)}.project-creation-modal .modal-content .form-scroll-area .project-form .form-group .form-textarea{resize:vertical;min-height:120px;font-family:inherit;line-height:1.5}.project-creation-modal .modal-content .form-scroll-area .project-form .form-group small{display:block;margin-top:.75rem;color:var(--gray-500);font-size:.8rem;line-height:1.4}.project-creation-modal .modal-content .form-scroll-area .project-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}@media (max-width: 768px){.project-creation-modal .modal-content .form-scroll-area .project-form .form-row{grid-template-columns:1fr;gap:1rem}}.project-creation-modal .modal-content .form-scroll-area .project-form .error-message{background:linear-gradient(135deg,color-mix(in srgb,var(--color-error) 10%,transparent),color-mix(in srgb,var(--color-error) 5%,transparent));color:var(--color-error);padding:1rem 1.25rem;border-radius:12px;margin-bottom:2rem;font-size:.875rem;border:1px solid color-mix(in srgb,var(--color-error) 20%,transparent);text-align:left;font-weight:500}.project-creation-modal .modal-content .form-actions{flex-shrink:0;display:flex;gap:1rem;justify-content:flex-end;padding:2rem;border-top:1px solid var(--gray-100);background:var(--surface)}.project-creation-modal .modal-content .form-actions button{padding:1rem 2rem;border:none;border-radius:12px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.project-creation-modal .modal-content .form-actions button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.project-creation-modal .modal-content .form-actions button.btn-secondary{background:var(--gray-200);color:var(--gray-700)}.project-creation-modal .modal-content .form-actions button.btn-secondary:hover:not(:disabled){background:var(--gray-300);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.project-creation-modal .modal-content .form-actions button.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--color-primary) 30%,transparent)}.project-creation-modal .modal-content .form-actions button.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px color-mix(in srgb,var(--color-primary) 40%,transparent)}@keyframes slideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 768px){.project-creation-modal{margin:0;border-radius:20px 20px 0 0;max-height:95vh}.project-creation-modal .modal-header{padding:1.5rem 1.5rem 1rem}.project-creation-modal .modal-header h2{font-size:1.25rem}.project-creation-modal .modal-content{max-height:calc(95vh - 100px)}.project-creation-modal .modal-content .form-scroll-area{padding:1rem 1.5rem 0}.project-creation-modal .modal-content .form-scroll-area .project-form .form-group{margin-bottom:1.5rem}.project-creation-modal .modal-content .form-scroll-area .project-form .form-group .form-input,.project-creation-modal .modal-content .form-scroll-area .project-form .form-group .form-textarea,.project-creation-modal .modal-content .form-scroll-area .project-form .form-group .form-select{padding:.875rem 1rem;font-size:.938rem}.project-creation-modal .modal-content .form-actions{flex-direction:column;gap:.75rem;padding:1.5rem}.project-creation-modal .modal-content .form-actions button{width:100%;padding:.875rem 1rem;font-size:.875rem}.project-creation-modal.workspace-edit-modal .modal-content .form-scroll-area{padding:1rem 1.5rem 0}.project-creation-modal-overlay{padding:0;align-items:flex-end}}.sessions-list{display:flex;flex-direction:column;gap:12px}.session-item{display:flex;align-items:center;justify-content:space-between;padding:16px;background:var(--surface-secondary, var(--gray-50));border:1px solid var(--border-color, var(--gray-200));border-radius:8px;cursor:pointer;transition:all .2s ease}.session-item:hover{background:var(--surface-hover, var(--gray-100));border-color:var(--primary-color, var(--blue-600));transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.session-main{flex:1;min-width:0}.session-title{font-size:16px;font-weight:600;margin:0 0 4px;color:var(--text-primary, var(--gray-900));overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.session-subject{display:inline-block;padding:2px 8px;background:var(--primary-color-light, var(--sky-100));color:var(--primary-color, var(--blue-600));border-radius:4px;font-size:12px;font-weight:500;margin-bottom:6px}.session-meta{display:flex;gap:8px;font-size:13px;color:var(--text-secondary, var(--gray-600));margin-top:4px}.delete-button{padding:8px;background:transparent;border:none;border-radius:4px;cursor:pointer;color:var(--text-secondary, var(--gray-600));transition:all .2s ease}.delete-button:hover{background:var(--error-bg, var(--red-50));color:var(--error-color, var(--red-600))}.delete-button svg{display:block}.empty-state{text-align:center;padding:60px 20px;color:var(--text-secondary, var(--gray-600))}.empty-state p{font-size:16px;font-weight:500;margin:0 0 8px;color:var(--text-primary, var(--gray-900))}.empty-state small{font-size:14px;color:var(--text-secondary, var(--gray-600))}.loading-state{text-align:center;padding:60px 20px;color:var(--text-secondary, var(--gray-600))}.loading-state .spinner{width:40px;height:40px;margin:0 auto 16px;border:3px solid var(--border-color, var(--gray-200));border-top-color:var(--primary-color, var(--blue-600));border-radius:50%;animation:spin .8s linear infinite}.loading-state p{margin:0}.mobile-topbar{display:none;position:fixed;top:0;left:0;right:0;height:60px;background:var(--surface);border-bottom:1px solid var(--gray-200);box-shadow:0 2px 8px #0000001a;z-index:1000}.mobile-topbar .topbar-container{display:flex;align-items:center;justify-content:space-between;height:100%;padding:0 1rem}.mobile-topbar .mobile-menu-toggle{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border:none;background:none;color:var(--gray-700);cursor:pointer;border-radius:10px;transition:all .2s ease}.mobile-topbar .mobile-menu-toggle:hover{background:var(--gray-100);color:var(--gray-900)}.mobile-topbar .mobile-menu-toggle svg{width:28px;height:28px}.mobile-topbar .topbar-logo{position:absolute;left:50%;transform:translate(-50%)}.mobile-topbar .topbar-logo a{display:flex;align-items:center;justify-content:center;width:auto;min-width:100px;max-width:min(48vw,200px);height:40px;padding:0 .65rem;border-radius:10px;background:var(--color-primary);color:#fff;transition:all .2s ease}.mobile-topbar .topbar-logo a:hover{background:var(--color-primary-dark)}.mobile-topbar .topbar-logo a .nav-wordmark-logo{width:100%;height:auto;max-height:22px;display:block;color:#fff}.mobile-topbar .topbar-user .btn-auth-small{padding:.5rem 1.25rem;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;border:none;background:var(--color-primary);color:#fff;box-shadow:0 2px 6px color-mix(in srgb,var(--color-primary) 30%,transparent);transition:all .2s ease}.mobile-topbar .topbar-user .btn-auth-small:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 10px color-mix(in srgb,var(--color-primary) 40%,transparent)}.mobile-topbar .topbar-user .user-avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;border:2px solid var(--gray-200);cursor:pointer;transition:all .2s ease}.mobile-topbar .topbar-user .user-avatar:hover{border-color:var(--color-primary);box-shadow:0 2px 8px color-mix(in srgb,var(--color-primary) 20%,transparent)}.mobile-topbar .topbar-user .user-avatar img{width:100%;height:100%;object-fit:cover}.mobile-topbar .topbar-user .user-avatar .avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;font-weight:600;font-size:1rem}.mobile-topbar .mobile-menu{position:absolute;top:100%;left:0;right:0;background:var(--surface);border-bottom:1px solid var(--gray-200);box-shadow:0 4px 12px #0000001a;padding:.5rem;animation:slideDown .2s ease}.mobile-topbar .mobile-menu .mobile-menu-item{display:flex;align-items:center;gap:1rem;padding:1rem;color:var(--gray-700);background:none;border:none;border-radius:8px;transition:all .2s ease;text-decoration:none;font-size:.9375rem;width:100%;text-align:left;cursor:pointer}.mobile-topbar .mobile-menu .mobile-menu-item:hover{background:var(--gray-100);color:var(--gray-900)}.mobile-topbar .mobile-menu .mobile-menu-item.active{background:var(--color-primary);color:#fff;font-weight:500}.mobile-topbar .mobile-menu .mobile-menu-item.logout{color:var(--gray-700)}.mobile-topbar .mobile-menu .mobile-menu-item.logout:hover{background:color-mix(in srgb,var(--color-error) 10%,transparent);color:var(--color-error)}.mobile-topbar .mobile-menu .mobile-menu-item.sign-up{background:var(--color-primary);color:#fff;font-weight:600;box-shadow:0 2px 8px color-mix(in srgb,var(--color-primary) 30%,transparent)}.mobile-topbar .mobile-menu .mobile-menu-item.sign-up:hover{background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--color-primary) 40%,transparent)}.mobile-topbar .mobile-menu .mobile-menu-item svg{width:20px;height:20px;flex-shrink:0}.mobile-topbar .mobile-menu .mobile-menu-item span{flex:1}.mobile-topbar .mobile-menu .mobile-menu-divider{height:1px;background:var(--gray-200);margin:.5rem 0}.mobile-topbar .mobile-user-dropdown{position:absolute;top:100%;right:1rem;background:var(--surface);border-radius:12px;box-shadow:0 8px 24px #0000001f;border:1px solid var(--gray-200);padding:1rem;min-width:200px;animation:slideDown .2s ease}.mobile-topbar .mobile-user-dropdown .dropdown-header{padding-bottom:.75rem;border-bottom:1px solid var(--gray-100);margin-bottom:.75rem;text-align:left}.mobile-topbar .mobile-user-dropdown .dropdown-header .user-name{display:block;font-weight:600;color:var(--gray-900);font-size:.875rem;margin-bottom:.25rem;text-align:left}.mobile-topbar .mobile-user-dropdown .dropdown-header .user-name.clickable{cursor:pointer;transition:all .2s ease;padding:.25rem .5rem;border-radius:6px;margin:-.25rem -.5rem .25rem}.mobile-topbar .mobile-user-dropdown .dropdown-header .user-name.clickable:hover{background:var(--gray-100);color:var(--color-primary)}.mobile-topbar .mobile-user-dropdown .dropdown-header .user-role{display:block;font-size:.75rem;color:var(--gray-600);text-transform:capitalize;text-align:left}.mobile-topbar .mobile-user-dropdown .dropdown-item .dropdown-link{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:.5rem;padding:.75rem;color:var(--gray-700);font-size:.875rem;font-weight:inherit;font-family:inherit;border-radius:8px;cursor:pointer;transition:all .2s ease;text-decoration:none;background:none;border:none;text-align:left}.mobile-topbar .mobile-user-dropdown .dropdown-item .dropdown-link:hover{background:var(--gray-100);color:var(--color-primary)}.mobile-topbar .mobile-user-dropdown .dropdown-item .dropdown-link svg{width:16px;height:16px}.mobile-topbar .mobile-user-dropdown .dropdown-item.credits-item{padding:.75rem;border-radius:8px;cursor:pointer;transition:all .2s ease;min-height:44px;display:flex;align-items:center;overflow:hidden;max-width:100%}.mobile-topbar .mobile-user-dropdown .dropdown-item.credits-item:hover{background:var(--gray-100)}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.sidebar{position:fixed;left:0;top:0;height:100vh;width:80px;background:var(--surface);border-right:1px solid var(--gray-200);box-shadow:2px 0 8px #0000001a;z-index:1000;display:flex;flex-direction:column}.sidebar .sidebar-container{display:flex;flex-direction:column;height:100%;padding:1.5rem 0}.sidebar .sidebar-logo{display:flex;justify-content:center;align-items:center;padding:0 .35rem 2rem;border-bottom:1px solid var(--gray-100);margin-bottom:2rem}.sidebar .sidebar-logo a{display:flex;align-items:center;justify-content:center;width:auto;height:auto;padding:0;background:none;color:var(--color-primary);transition:opacity .2s ease}.sidebar .sidebar-logo a:hover{opacity:.82}.sidebar .sidebar-logo a .sidebar-wordmark-logo{width:52px;height:auto;display:block;color:var(--color-primary)}.sidebar .sidebar-nav{flex:1;display:flex;flex-direction:column;gap:.5rem;padding:0 1rem}.sidebar .sidebar-nav .sidebar-nav-item{display:flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:12px;color:var(--gray-600);background:transparent;cursor:pointer;transition:all .2s ease;position:relative}.sidebar .sidebar-nav .sidebar-nav-item:hover{background:var(--gray-100);color:var(--gray-900);transform:translateY(-1px)}.sidebar .sidebar-nav .sidebar-nav-item.active{background:var(--color-primary);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--color-primary) 30%,transparent)}.sidebar .sidebar-nav .sidebar-nav-item.active:hover{background:var(--color-primary-dark)}.sidebar .sidebar-nav .sidebar-nav-item.active:before{content:"";position:absolute;left:-1.5rem;top:50%;transform:translateY(-50%);width:3px;height:20px;background:var(--color-primary);border-radius:0 2px 2px 0}.sidebar .sidebar-nav .sidebar-nav-item svg{width:20px;height:20px}.sidebar .sidebar-user{padding:1rem;border-top:1px solid var(--gray-100)}.sidebar .sidebar-user .sidebar-auth-buttons{display:flex;flex-direction:column;gap:.75rem}.sidebar .sidebar-user .sidebar-auth-buttons .btn-auth-signup{padding:.75rem 1.5rem;border-radius:10px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none;background:var(--color-primary);color:#fff;box-shadow:0 2px 8px color-mix(in srgb,var(--color-primary) 30%,transparent)}.sidebar .sidebar-user .sidebar-auth-buttons .btn-auth-signup:hover{background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in srgb,var(--color-primary) 40%,transparent)}.sidebar .sidebar-user .sidebar-user-dropdown{position:relative}.sidebar .sidebar-user .sidebar-user-dropdown .sidebar-user-trigger{display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease}.sidebar .sidebar-user .sidebar-user-dropdown .sidebar-user-trigger:hover{transform:scale(1.05)}.sidebar .sidebar-user .sidebar-user-dropdown .sidebar-user-trigger .user-avatar{width:48px;height:48px;border-radius:50%;overflow:hidden;border:2px solid var(--gray-200);transition:all .2s ease}.sidebar .sidebar-user .sidebar-user-dropdown .sidebar-user-trigger .user-avatar:hover{border-color:var(--color-primary);box-shadow:0 4px 12px color-mix(in srgb,var(--color-primary) 20%,transparent)}.sidebar .sidebar-user .sidebar-user-dropdown .sidebar-user-trigger .user-avatar img{width:100%;height:100%;object-fit:cover}.sidebar .sidebar-user .sidebar-user-dropdown .sidebar-user-trigger .user-avatar .avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;background:var(--color-primary);color:#fff;font-weight:600;font-size:1.125rem}.sidebar .sidebar-user .sidebar-user-dropdown .sidebar-user-dropdown-menu{position:absolute;bottom:100%;left:100%;margin-left:1rem;background:var(--surface);border-radius:12px;box-shadow:0 8px 32px #0000001f;border:1px solid var(--gray-200);min-width:200px;padding:1rem;z-index:1001}.sidebar .sidebar-user .sidebar-user-dropdown .sidebar-user-dropdown-menu:before{content:"";position:absolute;bottom:1rem;left:-.5rem;width:0;height:0;border:.5rem solid transparent;border-right-color:var(--surface);border-bottom:none;border-left:none;border-top:none}.sidebar .sidebar-user .sidebar-user-dropdown .sidebar-user-dropdown-menu .dropdown-header{padding-bottom:.75rem;border-bottom:1px solid var(--gray-100);margin-bottom:.75rem;text-align:left}.sidebar .sidebar-user .sidebar-user-dropdown .sidebar-user-dropdown-menu .dropdown-header .user-name{display:block;font-weight:600;color:var(--gray-900);font-size:.875rem;margin-bottom:.25rem;text-align:left}.sidebar .sidebar-user .sidebar-user-dropdown .sidebar-user-dropdown-menu .dropdown-header .user-name.clickable{cursor:pointer;transition:all .2s ease;padding:.25rem .5rem;border-radius:6px;margin:-.25rem -.5rem .25rem}.sidebar .sidebar-user .sidebar-user-dropdown .sidebar-user-dropdown-menu .dropdown-header .user-name.clickable:hover{background:var(--gray-100);color:var(--color-primary)}.sidebar .sidebar-user .sidebar-user-dropdown .sidebar-user-dropdown-menu .dropdown-header .user-role{display:block;font-size:.75rem;color:var(--gray-600);text-transform:capitalize;text-align:left}.sidebar .sidebar-user .sidebar-user-dropdown .sidebar-user-dropdown-menu .dropdown-item .dropdown-link{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:.5rem;padding:.75rem;color:var(--gray-700);font-size:.875rem;font-weight:inherit;font-family:inherit;border-radius:8px;cursor:pointer;transition:all .2s ease;text-decoration:none;background:none;border:none;text-align:left}.sidebar .sidebar-user .sidebar-user-dropdown .sidebar-user-dropdown-menu .dropdown-item .dropdown-link:hover{background:var(--gray-100);color:var(--color-primary)}.sidebar .sidebar-user .sidebar-user-dropdown .sidebar-user-dropdown-menu .dropdown-item .dropdown-link svg{width:16px;height:16px}.sidebar .sidebar-user .sidebar-user-dropdown .sidebar-user-dropdown-menu .dropdown-item.credits-item{padding:.75rem;border-radius:8px;cursor:pointer;transition:all .2s ease;min-height:44px;display:flex;align-items:center;overflow:hidden;max-width:100%}.sidebar .sidebar-user .sidebar-user-dropdown .sidebar-user-dropdown-menu .dropdown-item.credits-item:hover{background:var(--gray-100)}.sidebar .sidebar-user .sidebar-user-dropdown .sidebar-user-dropdown-menu .dropdown-item.logout .logout-button{width:100%;display:flex;align-items:center;justify-content:flex-start;gap:.5rem;padding:.75rem;border:none;background:none;color:var(--gray-700);font-size:.875rem;border-radius:8px;cursor:pointer;transition:all .2s ease;text-align:left}.sidebar .sidebar-user .sidebar-user-dropdown .sidebar-user-dropdown-menu .dropdown-item.logout .logout-button:hover{background:var(--gray-100);color:var(--color-error)}.sidebar .sidebar-user .sidebar-user-dropdown .sidebar-user-dropdown-menu .dropdown-item.logout .logout-button svg{width:16px;height:16px}@media (max-width: 768px){.sidebar{display:none}.mobile-topbar{display:block}}.dropdown-item.theme-switcher{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem}.dropdown-item.theme-switcher .theme-switcher-label{font-size:.875rem;color:var(--gray-700)}.dropdown-item.theme-switcher .theme-switcher-options{display:flex;gap:.25rem;background:var(--gray-100);border-radius:8px;padding:.2rem}.dropdown-item.theme-switcher .theme-switcher-options .theme-switcher-option{display:flex;align-items:center;justify-content:center;width:26px;height:26px;padding:0;border:none;border-radius:6px;background:transparent;color:var(--gray-500);cursor:pointer;transition:all .15s ease}.dropdown-item.theme-switcher .theme-switcher-options .theme-switcher-option:hover{color:var(--gray-700)}.dropdown-item.theme-switcher .theme-switcher-options .theme-switcher-option.active{background:var(--surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.dropdown-item.workspace-switcher{display:block;padding:.25rem .5rem;position:relative}.dropdown-item.workspace-switcher .workspace-trigger{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.4rem .25rem;border:none;background:transparent;color:var(--gray-700);font-family:inherit;font-size:.875rem;cursor:pointer;border-radius:6px}.dropdown-item.workspace-switcher .workspace-trigger:hover:not(:disabled){background:var(--gray-50)}.dropdown-item.workspace-switcher .workspace-trigger:disabled{cursor:default}.dropdown-item.workspace-switcher .workspace-heading{display:inline-flex;align-items:center;gap:.5rem;flex-shrink:0;color:var(--gray-500)}.dropdown-item.workspace-switcher .workspace-label{color:var(--gray-700);white-space:nowrap}.dropdown-item.workspace-switcher .workspace-current{display:inline-flex;align-items:center;gap:.25rem;min-width:0;color:var(--gray-500);font-size:.8125rem}.dropdown-item.workspace-switcher .workspace-current-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:8.5rem}.dropdown-item.workspace-switcher .workspace-chevron{flex-shrink:0;transition:transform .15s ease}.dropdown-item.workspace-switcher .workspace-chevron.open{transform:translate(2px)}.dropdown-item.workspace-switcher .workspace-panel{position:absolute;left:100%;top:-.25rem;margin-left:.5rem;z-index:1002;width:15rem;padding:.4rem;background:var(--surface);border:1px solid var(--gray-200);border-radius:10px;box-shadow:0 8px 24px #00000029;animation:workspace-flyout-in .12s ease-out}@keyframes workspace-flyout-in{0%{opacity:0;transform:translate(-4px)}to{opacity:1;transform:translate(0)}}.dropdown-item.workspace-switcher .workspace-search{width:100%;height:30px;margin-bottom:.25rem;padding:0 .5rem;border:1px solid var(--gray-200);border-radius:6px;background:var(--surface);color:var(--gray-700);font-size:.8125rem;font-family:inherit}.dropdown-item.workspace-switcher .workspace-search:focus{outline:none;border-color:var(--color-primary)}.dropdown-item.workspace-switcher .workspace-list{list-style:none;margin:0;padding:0;max-height:12rem;overflow-y:auto}.dropdown-item.workspace-switcher .workspace-option{display:flex;align-items:center;justify-content:space-between;gap:.5rem;width:100%;padding:.4rem .5rem;border:none;border-radius:6px;background:transparent;color:var(--gray-700);font-family:inherit;font-size:.8125rem;text-align:left;cursor:pointer}.dropdown-item.workspace-switcher .workspace-option:hover:not(:disabled){background:var(--gray-50)}.dropdown-item.workspace-switcher .workspace-option:disabled{opacity:.6;cursor:wait}.dropdown-item.workspace-switcher .workspace-option.current{color:var(--color-primary);font-weight:600}.dropdown-item.workspace-switcher .workspace-option-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-item.workspace-switcher .workspace-check{flex-shrink:0}.dropdown-item.workspace-switcher .workspace-empty{padding:.5rem;color:var(--gray-500);font-size:.75rem}.mobile-user-dropdown .dropdown-item.workspace-switcher .workspace-panel{left:auto;right:100%;margin-left:0;margin-right:.5rem}.dropdown-item.mcp-switcher{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.5rem .75rem}.dropdown-item.mcp-switcher .mcp-switcher-label{font-size:.875rem;color:var(--gray-700);white-space:nowrap}.dropdown-item.mcp-switcher .mcp-switcher-options{display:flex;gap:.25rem;background:var(--gray-100);border-radius:8px;padding:.2rem}.dropdown-item.mcp-switcher .mcp-switcher-options .mcp-switcher-option{display:flex;align-items:center;gap:.3rem;height:26px;padding:0 .5rem;border:none;border-radius:6px;background:transparent;color:var(--gray-500);font-size:.75rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:all .15s ease}.dropdown-item.mcp-switcher .mcp-switcher-options .mcp-switcher-option:hover:not(:disabled){color:var(--gray-700)}.dropdown-item.mcp-switcher .mcp-switcher-options .mcp-switcher-option.active{background:var(--surface);color:var(--color-primary);box-shadow:var(--shadow-sm)}.dropdown-item.mcp-switcher .mcp-switcher-options .mcp-switcher-option:disabled{cursor:default;opacity:.7}.dropdown-item.mcp-switcher .mcp-switcher-options .mcp-switcher-option:disabled.active{opacity:1}.loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:300px}.loading-container.full-screen{position:fixed;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,var(--gray-50) 0%,var(--gray-100) 100%);z-index:9999;min-height:100vh}.loading-spinner{border:3px solid var(--gray-200);border-top:3px solid var(--color-primary);border-radius:50%;width:48px;height:48px;animation:spin 1s linear infinite;margin-bottom:1.5rem;box-shadow:0 4px 12px color-mix(in srgb,var(--color-primary) 20%,transparent)}.loading-container p{color:var(--gray-600);font-size:1.125rem;font-weight:500;margin:0}.page-content-loading-area{min-height:calc(100vh - 5rem);display:flex;align-items:center;justify-content:center;padding:2rem 1rem;box-sizing:border-box;width:100%}.page-with-navbar.page-with-navbar--page-loading{padding-top:0;min-height:100vh;display:flex;flex-direction:column}@media screen and (max-width: 768px){.page-with-navbar.page-with-navbar--page-loading{min-height:calc(100vh - 60px)}}.page-with-navbar.page-with-navbar--page-loading .page-content-loading-area{flex:1;min-height:0}.toast{position:fixed;bottom:24px;right:24px;display:flex;align-items:center;gap:12px;padding:14px 16px;background:var(--surface);border-radius:8px;box-shadow:0 4px 12px #00000026,0 0 0 1px #0000000d;min-width:300px;max-width:450px;z-index:10000;opacity:0;transform:translate(100px);transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:none}.toast--visible{opacity:1;transform:translate(0);pointer-events:all}.toast__icon{flex-shrink:0;display:flex;align-items:center;justify-content:center}.toast__message{flex:1;margin:0;font-size:14px;line-height:1.5;color:var(--gray-700)}.toast__close{flex-shrink:0;background:transparent;border:none;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;color:var(--gray-500);transition:all .2s}.toast__close:hover{background:#0000000d;color:var(--gray-700)}.toast__close:active{transform:scale(.95)}.toast--success .toast__icon{color:var(--green-500)}.toast--error .toast__icon{color:var(--red-500)}.toast--warning .toast__icon{color:var(--amber-500)}.toast--info .toast__icon{color:var(--color-primary)}@keyframes slideInRight{0%{opacity:0;transform:translate(100px)}to{opacity:1;transform:translate(0)}}@keyframes slideOutRight{0%{opacity:1;transform:translate(0)}to{opacity:0;transform:translate(100px)}}.dashboard{max-width:1200px;margin:0 auto;padding:2rem;min-height:calc(100vh - 80px);display:grid;grid-template-rows:auto 1fr;grid-template-columns:minmax(0,1fr)}@media screen and (max-width: 768px){.dashboard{padding:1rem;min-height:calc(100vh - 70px)}}.dashboard .dashboard-header{margin-bottom:3rem}.dashboard .dashboard-header .header-content{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem}@media screen and (max-width: 768px){.dashboard .dashboard-header .header-content{flex-direction:column;gap:1rem}}.dashboard .dashboard-header .header-content .organization-selector{position:relative;display:inline-block}.dashboard .dashboard-header .header-content .organization-selector .org-dropdown{background:color-mix(in srgb,var(--color-primary) 5%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 10%,transparent);border-radius:.75rem;padding:.5rem 2.5rem .5rem 1rem;font-size:.875rem;font-weight:600;color:var(--gray-900);cursor:pointer;transition:all .3s ease;min-width:200px;-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 8 4 4 4-4'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .5rem center;background-size:1.5em 1.5em}.dashboard .dashboard-header .header-content .organization-selector .org-dropdown:hover{background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:color-mix(in srgb,var(--color-primary) 20%,transparent)}.dashboard .dashboard-header .header-content .organization-selector .org-dropdown:focus{outline:none;background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:color-mix(in srgb,var(--color-primary) 20%,transparent)}@media screen and (max-width: 768px){.dashboard .dashboard-header .header-content .organization-selector .org-dropdown{min-width:150px;font-size:.875rem}}.dashboard .dashboard-header .header-content .create-project-section{display:flex;flex-direction:column;align-items:flex-end;gap:.5rem}.dashboard .dashboard-header .header-content .create-project-section .project-limit-info{font-size:.75rem;color:var(--gray-600);font-weight:500}.dashboard .dashboard-header .header-content .create-project-section .project-limit-info .limit-reached{color:var(--color-error);font-weight:600}.dashboard .dashboard-header .header-content .create-project-btn{background:var(--color-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.75rem;font-weight:600;font-size:.875rem;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem;box-shadow:var(--shadow-md)}.dashboard .dashboard-header .header-content .create-project-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-lg)}.dashboard .dashboard-header .header-content .create-project-btn:disabled{background:linear-gradient(135deg,var(--gray-400) 0%,var(--gray-500) 100%);cursor:not-allowed;opacity:.6}.dashboard .dashboard-header .header-content .create-project-btn svg{width:16px;height:16px}.dashboard .dashboard-main{display:flex;flex-direction:column;min-height:0;align-self:stretch}.dashboard .dashboard-main .projects-section--empty{flex:1;display:flex;align-items:center;justify-content:center;min-height:0;padding:1.5rem 0 2rem}.dashboard .dashboard-main .projects-section .projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:1.5rem}@media screen and (max-width: 768px){.dashboard .dashboard-main .projects-section .projects-grid{grid-template-columns:1fr;gap:1rem}}.dashboard .dashboard-main .projects-section .projects-grid .project-card{background:var(--surface);border:1px solid var(--gray-200);border-radius:.75rem;padding:0;cursor:pointer;transition:all .3s ease;box-shadow:var(--shadow-sm);overflow:hidden}.dashboard .dashboard-main .projects-section .projects-grid .project-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--color-primary)}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero{position:relative;width:100%;min-height:140px;display:flex;align-items:flex-end;background-size:cover;background-position:center;background-repeat:no-repeat}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero.with-image{background-color:var(--gray-900)}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero.with-image .project-hero-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(to bottom,#0000001a,#000000b3);z-index:1}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero.with-image .project-hero-content h3{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.6)}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero.with-image .project-hero-content .project-description{color:#fffffff2;text-shadow:0 1px 4px rgba(0,0,0,.6)}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero.without-image{background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 5%,transparent),color-mix(in srgb,var(--color-primary-light) 5%,transparent))}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero.without-image .project-hero-content h3{color:var(--gray-900)}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero.without-image .project-hero-content .project-description{color:var(--gray-600)}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero .project-hero-content{position:relative;z-index:2;padding:1.5rem;width:100%}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero .project-hero-content h3{font-size:1.25rem;font-weight:600;margin:0 0 .5rem;text-align:left;line-height:1.3}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero .project-hero-content .project-description{font-size:.875rem;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-align:left}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero .project-menu-container{position:absolute;top:.75rem;right:.75rem;z-index:10}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero .project-menu-container .project-menu-button{width:36px;height:36px;border-radius:50%;background:color-mix(in srgb,var(--surface) 90%,transparent);border:1px solid var(--glass-border);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;padding:0;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:0 2px 8px #0000001a}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero .project-menu-container .project-menu-button:hover{background:var(--surface);transform:scale(1.05);box-shadow:0 4px 12px #00000026}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero .project-menu-container .project-menu-button svg{color:var(--gray-700)}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero .project-menu-container .project-menu-dropdown{position:absolute;top:calc(100% + .5rem);right:0;background:var(--surface);border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 8px 24px #00000026;min-width:160px;overflow:hidden;z-index:100;animation:slideDown .2s ease}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero .project-menu-container .project-menu-dropdown .menu-item{display:flex;align-items:center;justify-content:flex-start;gap:.75rem;width:100%;padding:.75rem 1rem;border:none;background:var(--surface);text-align:left;cursor:pointer;transition:all .2s ease;font-size:.875rem;font-weight:500;color:var(--gray-700);border-bottom:1px solid var(--gray-100)}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero .project-menu-container .project-menu-dropdown .menu-item:last-child{border-bottom:none}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero .project-menu-container .project-menu-dropdown .menu-item svg{flex-shrink:0;color:currentColor}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero .project-menu-container .project-menu-dropdown .menu-item:hover{background:var(--gray-50);color:var(--gray-900)}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero .project-menu-container .project-menu-dropdown .menu-item.edit-item{color:var(--color-primary)}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero .project-menu-container .project-menu-dropdown .menu-item.edit-item:hover{background:color-mix(in srgb,var(--color-primary) 5%,transparent);color:var(--color-primary)}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero .project-menu-container .project-menu-dropdown .menu-item.delete-item{color:var(--color-error)}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-hero .project-menu-container .project-menu-dropdown .menu-item.delete-item:hover{background:color-mix(in srgb,var(--color-error) 5%,transparent);color:var(--color-error)}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-footer{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-top:1px solid var(--gray-100)}.dashboard .dashboard-main .projects-section .projects-grid .project-card .project-footer .last-updated{font-size:.75rem;color:var(--gray-500)}.dashboard .dashboard-main .projects-section .empty-projects{width:100%;max-width:440px;margin:0 auto;text-align:center}.dashboard .dashboard-main .projects-section .empty-projects-card{padding:2.5rem 2rem 2.25rem;background:linear-gradient(180deg,var(--gray-50) 0%,var(--surface) 48%);border:1px solid var(--gray-200);border-radius:1.5rem;box-shadow:var(--shadow-md),0 0 0 1px #fffc inset}@media screen and (max-width: 768px){.dashboard .dashboard-main .projects-section .empty-projects-card{padding:2rem 1.5rem}}.dashboard .dashboard-main .projects-section .empty-icon{display:inline-flex;align-items:center;justify-content:center;width:5.5rem;height:5.5rem;margin:0 auto 1.5rem;border-radius:50%;background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary);box-shadow:0 1px #ffffffe6 inset}.dashboard .dashboard-main .projects-section .empty-title{font-size:1.375rem;font-weight:600;letter-spacing:-.02em;color:var(--gray-900);margin:0 0 .75rem;line-height:1.25}.dashboard .dashboard-main .projects-section .empty-lead{color:var(--gray-600);font-size:.9375rem;line-height:1.55;margin:0 0 1rem}.dashboard .dashboard-main .projects-section .empty-hint{color:var(--gray-500);font-size:.8125rem;line-height:1.5;margin:0 0 1.5rem}.dashboard .dashboard-main .projects-section .empty-cta{display:inline-flex;align-items:center;justify-content:center;gap:.375rem;padding:.65rem 1.25rem;font-size:.875rem;font-weight:600;color:#fff;background:var(--color-primary);border-radius:.75rem;text-decoration:none;box-shadow:var(--shadow-sm);transition:background .15s ease-in-out,transform .15s ease-in-out,box-shadow .15s ease-in-out}.dashboard .dashboard-main .projects-section .empty-cta svg{flex-shrink:0;opacity:.95}.dashboard .dashboard-main .projects-section .empty-cta:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-md);transform:translateY(-1px)}.dashboard .dashboard-main .projects-section .empty-cta:focus-visible{outline:2px solid color-mix(in srgb,var(--color-primary) 45%,transparent);outline-offset:2px}.dashboard-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:var(--gray-500);font-size:1rem}.dashboard-loading .loading-spinner{width:32px;height:32px;border:3px solid var(--gray-200);border-top:3px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}.dashboard-loading p{margin:0}.projects-container{padding:2rem;max-width:1400px;margin:0 auto}.projects-container .projects-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.projects-container .projects-header h1{margin:0;font-size:2rem;color:var(--gray-900)}.projects-container .loading{text-align:center;padding:3rem;color:var(--gray-600)}.projects-container .no-tenant,.projects-container .no-projects{text-align:center;padding:4rem 2rem}.projects-container .no-tenant h2,.projects-container .no-projects h2{margin-bottom:1rem;color:var(--gray-800)}.projects-container .no-tenant p,.projects-container .no-projects p{color:var(--gray-600);margin-bottom:2rem}.projects-container .projects-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.projects-container .project-card{background:var(--surface);border:1px solid var(--gray-200);border-radius:8px;padding:1.5rem;transition:all .2s ease}.projects-container .project-card:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.projects-container .project-card .project-card-header{display:flex;justify-content:space-between;align-items:start;margin-bottom:1rem}.projects-container .project-card .project-card-header h3{margin:0;font-size:1.25rem;color:var(--gray-900)}.projects-container .project-card .project-description{color:var(--gray-600);margin:.5rem 0 1rem;font-size:.9rem}.projects-container .project-card .project-card-features{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:1rem}.projects-container .project-card .project-card-features .feature-pill{display:inline-block;padding:.2rem .6rem;border-radius:10px;font-size:.7rem;font-weight:600;letter-spacing:.3px}.projects-container .project-card .project-card-features .feature-pill.enabled{background:var(--green-50);color:var(--green-700)}.projects-container .project-card .project-card-features .feature-pill.disabled{background:var(--gray-50);color:var(--gray-400)}.projects-container .project-card .settings-btn{background:none;border:none;padding:4px;border-radius:6px;cursor:pointer;color:var(--gray-400);display:flex;align-items:center;justify-content:center;transition:all .2s ease}.projects-container .project-card .settings-btn:hover{background:var(--gray-100);color:var(--gray-700)}.projects-container .project-card .project-card-footer{padding-top:1rem;border-top:1px solid var(--gray-100)}.projects-container .project-card .project-card-footer small{color:var(--gray-400);font-size:.85rem}.projects-container .badge{padding:.25rem .75rem;border-radius:12px;font-size:.75rem;font-weight:600;text-transform:uppercase}.projects-container .badge.badge-success{background:var(--green-50);color:var(--green-700)}.projects-container .badge.badge-inactive{background:var(--gray-100);color:var(--gray-500)}.projects-container .btn-primary{background:var(--sky-600);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;cursor:pointer;transition:background .2s ease}.projects-container .btn-primary:hover{background:var(--sky-700)}.profile{padding:2rem;max-width:800px;margin:0 auto}.profile h1{color:var(--gray-900);margin-bottom:2rem;font-size:2.5rem;font-weight:700;text-align:left;letter-spacing:-.025em}.profile-loading{display:flex;align-items:center;justify-content:center;min-height:400px;font-size:1rem;color:var(--gray-500)}.profile-card{background:var(--surface);border-radius:1rem;box-shadow:var(--shadow-md);overflow:hidden;border:1px solid var(--gray-100)}.profile-header{display:flex;align-items:center;padding:2rem;background:var(--gray-50);border-bottom:1px solid var(--gray-200)}.profile-picture{width:100px;height:100px;border-radius:50%;margin-right:2rem;object-fit:cover;border:3px solid white;box-shadow:var(--shadow-md)}.profile-info h2{color:var(--gray-900);margin-bottom:.5rem;font-size:1.75rem;font-weight:600}.profile-email{color:var(--gray-600);font-size:1rem;margin-bottom:.75rem}.verified-badge{display:inline-block;background:linear-gradient(135deg,var(--color-success) 0%,var(--color-success-dark) 100%);color:#fff;padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em}.profile-details{padding:2rem}.profile-details h3{color:var(--gray-900);margin-bottom:1.5rem;font-size:1.25rem;font-weight:600}.detail-row{display:flex;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--gray-200);transition:all .15s ease-in-out}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:600;color:var(--gray-700)}.detail-value{color:var(--gray-600);text-align:right;word-break:break-all}@media screen and (max-width: 768px){.profile{padding:1.5rem}.profile h1{font-size:2rem;margin-bottom:1.5rem}.profile-header{flex-direction:column;text-align:center;padding:1.5rem}.profile-picture{margin-right:0;margin-bottom:1.5rem;width:80px;height:80px}.profile-info h2{font-size:1.5rem}.profile-details{padding:1.5rem}.profile-details h3{font-size:1.125rem;margin-bottom:1rem}.detail-row{flex-direction:column;text-align:left;padding:.75rem 0;gap:.25rem}.detail-value{text-align:left;font-size:.875rem}}@media screen and (max-width: 480px){.profile{padding:1rem}.profile-email{font-size:.875rem}.verified-badge{font-size:.75rem;padding:.25rem .5rem}}.login-page{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background-color:var(--gray-100);overflow:hidden;font-family:Inter,system-ui,-apple-system,sans-serif}.login-background{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;z-index:0;pointer-events:none}.login-background .gradient-sphere{position:absolute;border-radius:50%;filter:blur(120px);opacity:.7;animation:float 25s infinite ease-in-out alternate}.login-background .sphere-1{width:800px;height:800px;background:radial-gradient(circle,#3b82f659,#3b82f600 70%);top:-200px;left:-100px;animation-delay:0s}.login-background .sphere-2{width:700px;height:700px;background:radial-gradient(circle,#0ea5e94d,#0ea5e900 70%);bottom:-150px;right:-100px;animation-delay:-5s}.login-background .sphere-3{width:900px;height:900px;background:radial-gradient(circle,#6366f140,#6366f100 70%);top:20%;left:30%;animation-delay:-10s}@keyframes float{0%{transform:translate(0) scale(1)}50%{transform:translate(30px,-50px) scale(1.1)}to{transform:translate(-20px,20px) scale(.9)}}.login-card{position:relative;z-index:1;width:100%;max-width:440px;background:var(--surface);background:color-mix(in srgb,var(--surface) 88%,transparent);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--gray-200);border-radius:24px;padding:3rem;box-shadow:var(--shadow-xl);display:flex;flex-direction:column;align-items:center}.login-card .logo-wrapper{margin-bottom:.5rem;padding:1.5rem;display:flex;justify-content:center;align-items:center}.login-card .logo-wrapper .login-logo{max-width:220px;width:100%;height:auto;display:block;color:var(--color-primary)}.login-card .login-prompt{text-align:center;margin-bottom:2rem;width:100%;padding-top:1.5rem;border-top:1px solid var(--gray-200)}.login-card .login-prompt h2{color:var(--gray-900);font-size:1.75rem;font-weight:700;margin-bottom:.5rem}.login-card .login-prompt p{color:var(--gray-500);font-size:.95rem}.login-card .login-error{width:100%;padding:.75rem 1rem;background:var(--red-50);border:1px solid var(--red-200);border-radius:10px;color:var(--red-600);font-size:.85rem;text-align:center}.login-card .social-buttons{display:flex;flex-direction:column;gap:.75rem;width:100%}.login-card .social-button{width:100%;padding:.85rem 1.25rem;background:var(--gray-100);color:var(--gray-800);border:1px solid var(--gray-300);border-radius:12px;font-size:.95rem;font-weight:500;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.75rem;transition:all .2s ease;box-shadow:0 1px 3px #0000000f}.login-card .social-button .social-icon{display:flex;align-items:center}.login-card .social-button:hover:not(:disabled){background:var(--gray-200);border-color:var(--gray-400);box-shadow:0 4px 12px #00000014;transform:translateY(-1px)}.login-card .social-button:active:not(:disabled){transform:translateY(0);box-shadow:0 1px 3px #0000000f}.login-card .social-button:disabled{opacity:.6;cursor:not-allowed}.login-card .login-footer{margin-top:2rem;text-align:center}.login-card .login-footer p{color:var(--gray-400);font-size:.8rem;line-height:1.5}@media (max-width: 480px){.login-page{background:var(--gray-50);align-items:flex-end}.login-card{max-width:100%;border-radius:32px 32px 0 0;border-bottom:none;border-left:none;border-right:none;padding:3rem 1.5rem 4rem}.login-card .logo-wrapper .login-logo{max-width:180px}}.project-creation{max-width:1200px;margin:0 auto;padding:2rem}.project-creation .header{display:flex;align-items:center;gap:1rem;margin-bottom:2rem}.project-creation .header .back-button{background:transparent;color:var(--gray-600);border:1px solid var(--gray-200);padding:.5rem 1rem;border-radius:.5rem;font-size:.875rem;transition:all .25s ease-in-out}.project-creation .header .back-button:hover{background:var(--gray-50);color:var(--gray-800);border-color:var(--gray-300)}.project-creation .header h1{font-size:2rem;font-weight:700;color:var(--gray-900);margin:0}.project-creation .content .project-form-container{display:grid;grid-template-columns:2fr 1fr;gap:2rem}@media screen and (max-width: 1024px){.project-creation .content .project-form-container{grid-template-columns:1fr}}.project-creation .content .form-card{background:var(--surface);border-radius:1rem;padding:2rem;box-shadow:var(--shadow-md);border:1px solid var(--gray-100)}.project-creation .content .form-card h2{font-size:1.5rem;font-weight:600;color:var(--gray-900);margin-bottom:.5rem}.project-creation .content .form-card .form-description{color:var(--gray-600);margin-bottom:2rem;line-height:1.6}.project-creation .content .form-card .project-form .form-group{margin-bottom:1.5rem}.project-creation .content .form-card .project-form .form-group label{display:block;font-weight:500;color:var(--gray-700);margin-bottom:.5rem;font-size:.875rem}.project-creation .content .form-card .project-form .form-group .form-input,.project-creation .content .form-card .project-form .form-group .form-textarea,.project-creation .content .form-card .project-form .form-group .form-select{width:100%;padding:.75rem;border:1px solid var(--gray-200);border-radius:.5rem;font-size:.875rem;transition:all .15s ease-in-out;background:var(--surface)}.project-creation .content .form-card .project-form .form-group .form-input:focus,.project-creation .content .form-card .project-form .form-group .form-textarea:focus,.project-creation .content .form-card .project-form .form-group .form-select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 10%,transparent)}.project-creation .content .form-card .project-form .form-group .form-input::placeholder,.project-creation .content .form-card .project-form .form-group .form-textarea::placeholder,.project-creation .content .form-card .project-form .form-group .form-select::placeholder{color:var(--gray-400)}.project-creation .content .form-card .project-form .form-group .form-textarea{resize:vertical;min-height:80px}.project-creation .content .form-card .project-form .form-group small{display:block;color:var(--gray-500);font-size:.75rem;margin-top:.25rem}.project-creation .content .form-card .project-form .form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}@media screen and (max-width: 768px){.project-creation .content .form-card .project-form .form-row{grid-template-columns:1fr}}.project-creation .content .form-card .project-form .error-message{background:#ef44441a;color:var(--color-error);padding:.75rem;border-radius:.5rem;border:1px solid rgba(239,68,68,.2);margin-bottom:1.5rem;font-size:.875rem}.project-creation .content .form-card .project-form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem;border-top:1px solid var(--gray-200)}@media screen and (max-width: 768px){.project-creation .content .form-card .project-form .form-actions{flex-direction:column}}.project-creation .content .form-card .project-form .form-actions .btn-secondary{background:var(--surface);color:var(--gray-700);border:1px solid var(--gray-200);padding:.75rem 1.5rem;border-radius:.5rem;font-weight:500;transition:all .25s ease-in-out}.project-creation .content .form-card .project-form .form-actions .btn-secondary:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-300)}.project-creation .content .form-card .project-form .form-actions .btn-secondary:disabled{opacity:.5;cursor:not-allowed}.project-creation .content .form-card .project-form .form-actions .btn-primary{background:var(--color-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:.5rem;font-weight:500;transition:all .25s ease-in-out}.project-creation .content .form-card .project-form .form-actions .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:var(--shadow-lg)}.project-creation .content .form-card .project-form .form-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}.project-creation .content .info-card{background:var(--gray-50);border-radius:1rem;padding:2rem;border:1px solid var(--gray-200);height:fit-content}.project-creation .content .info-card h3{font-size:1.25rem;font-weight:600;color:var(--gray-900);margin-bottom:1.5rem}.project-creation .content .info-card .info-steps .step{display:flex;gap:1rem;margin-bottom:1.5rem}.project-creation .content .info-card .info-steps .step:last-child{margin-bottom:0}.project-creation .content .info-card .info-steps .step .step-number{width:2rem;height:2rem;background:var(--color-primary);color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:.875rem;flex-shrink:0}.project-creation .content .info-card .info-steps .step .step-content h4{font-size:1rem;font-weight:600;color:var(--gray-900);margin-bottom:.25rem}.project-creation .content .info-card .info-steps .step .step-content p{color:var(--gray-600);font-size:.875rem;line-height:1.5;margin:0}@media screen and (max-width: 768px){.project-creation{padding:1rem}.project-creation .header{flex-direction:column;align-items:flex-start;gap:.5rem}.project-creation .header h1{font-size:1.75rem}.project-creation .content .project-form-container{gap:1.5rem}.project-creation .content .form-card,.project-creation .content .info-card{padding:1.5rem}}.info-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:9998;background:var(--backdrop);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}.info-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:9999;width:min(460px,100vw - 32px);max-height:88vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--gray-200);border-radius:16px;box-shadow:var(--shadow-xl);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;color:var(--gray-800)}.info-modal:focus{outline:none}.info-modal.is-explainer{width:min(620px,100vw - 32px)}.info-modal .info-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--gray-100)}.info-modal .info-modal-header h3{margin:0;font-size:1.125rem;font-weight:600;color:var(--gray-900)}.info-modal .info-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:.5rem;background:none;color:var(--gray-500);cursor:pointer;transition:all .15s ease-in-out}.info-modal .info-modal-close:hover{background:var(--gray-200);color:var(--gray-800)}.info-modal .info-modal-close:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 25%,transparent)}.info-modal .info-modal-body{padding:1.5rem;overflow-y:auto;flex:1;min-height:0;font-size:.9rem;line-height:1.6;color:var(--gray-700)}.info-modal .info-modal-body p{margin:0 0 .75rem}.info-modal .info-modal-body p:last-child{margin-bottom:0}.info-modal .info-modal-body code{font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;font-size:.88em;background:var(--gray-100);color:var(--gray-800);padding:.05rem .35rem;border-radius:.375rem}.info-modal .info-modal-body strong{color:var(--gray-900);font-weight:600}.info-modal .info-modal-alert{display:flex;align-items:flex-start;gap:.75rem}.info-modal .info-modal-alert p{margin:0;color:var(--gray-700)}.info-modal .info-modal-alert .info-modal-icon{flex-shrink:0}.info-modal .info-modal-alert.type-success .info-modal-icon{color:var(--color-success)}.info-modal .info-modal-alert.type-error .info-modal-icon{color:var(--color-error)}.info-modal .info-modal-alert.type-warning .info-modal-icon{color:var(--color-warning)}.info-modal .info-modal-alert.type-info .info-modal-icon{color:var(--color-primary)}.info-modal .info-modal-section+.info-modal .info-modal-section{margin-top:1.25rem}.info-modal .info-modal-section h4{margin:0 0 .35rem;font-size:.8125rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500)}.info-modal .info-modal-footer{display:flex;justify-content:flex-end;padding:1rem 1.5rem;border-top:1px solid var(--gray-100)}.info-modal .info-modal-done{padding:.55rem 1.25rem;border:none;border-radius:12px;background:var(--color-primary-dark);color:#fff;font-family:inherit;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.info-modal .info-modal-done:hover{filter:brightness(.92)}.info-modal .info-modal-done:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 30%,transparent)}.dialog-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);z-index:9998;animation:fadeIn .2s ease-out}.credit-history-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--surface);border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;width:90vw;max-width:700px;max-height:85vh;display:flex;flex-direction:column;z-index:10000;animation:slideUp .2s ease-out}.credit-history-modal .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}.credit-history-modal .modal-header{padding:1.5rem 2rem;border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center}.credit-history-modal .modal-header h3{margin:0;font-size:1.25rem;font-weight:600;color:var(--gray-900)}.credit-history-modal .modal-header .close-button{background:transparent;border:none;cursor:pointer;padding:8px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:background .2s;color:var(--gray-500)}.credit-history-modal .modal-header .close-button:hover{background:#0000001a}.credit-history-modal .balance-header{padding:16px 28px;background:var(--gray-50);border-bottom:1px solid var(--gray-200);display:flex;justify-content:space-between;align-items:center}.credit-history-modal .balance-header .balance-label{font-size:.875rem;color:var(--gray-500);font-weight:500}.credit-history-modal .balance-header .balance-value{font-size:1.5rem;font-weight:700;color:var(--gray-900)}.credit-history-modal .modal-content{flex:1;overflow-y:auto;padding:0;min-height:300px}.credit-history-modal .loading-state,.credit-history-modal .error-state,.credit-history-modal .empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:var(--gray-500)}.credit-history-modal .loading-state .spinner,.credit-history-modal .error-state .spinner,.credit-history-modal .empty-state .spinner{width:40px;height:40px;border:3px solid var(--gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:16px}.credit-history-modal .loading-state p,.credit-history-modal .error-state p,.credit-history-modal .empty-state p{margin:8px 0 0;font-size:.9375rem}.credit-history-modal .loading-state button,.credit-history-modal .error-state button,.credit-history-modal .empty-state button{margin-top:12px;padding:8px 16px;background:var(--color-primary);color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:.875rem;transition:background .2s}.credit-history-modal .loading-state button:hover,.credit-history-modal .error-state button:hover,.credit-history-modal .empty-state button:hover{background:var(--color-primary-dark)}.credit-history-modal .transactions-list{display:flex;flex-direction:column}.credit-history-modal .transaction-item{display:flex;justify-content:space-between;align-items:flex-start;padding:16px 28px;border-bottom:1px solid var(--gray-100);transition:background .15s}.credit-history-modal .transaction-item:hover{background:var(--gray-50)}.credit-history-modal .transaction-item:last-child{border-bottom:none}.credit-history-modal .transaction-item .transaction-left{display:flex;gap:12px;flex:1}.credit-history-modal .transaction-item .transaction-icon{flex-shrink:0;margin-top:2px}.credit-history-modal .transaction-item .transaction-icon.grant{color:var(--green-500)}.credit-history-modal .transaction-item .transaction-icon.deduct{color:var(--red-500)}.credit-history-modal .transaction-item .transaction-details{flex:1}.credit-history-modal .transaction-item .transaction-details .transaction-type{font-weight:600;color:var(--gray-900);font-size:.9375rem;margin-bottom:4px}.credit-history-modal .transaction-item .transaction-details .transaction-reason{color:var(--gray-500);font-size:.875rem;margin-bottom:4px;line-height:1.4}.credit-history-modal .transaction-item .transaction-details .transaction-by{color:var(--gray-400);font-size:.8125rem;font-style:italic}.credit-history-modal .transaction-item .transaction-right{display:flex;flex-direction:column;align-items:flex-end;text-align:right;min-width:140px}.credit-history-modal .transaction-item .transaction-right .transaction-amount{font-weight:700;font-size:1.125rem;margin-bottom:4px}.credit-history-modal .transaction-item .transaction-right .transaction-amount.positive{color:var(--green-500)}.credit-history-modal .transaction-item .transaction-right .transaction-amount.negative{color:var(--red-500)}.credit-history-modal .transaction-item .transaction-right .transaction-balance{font-size:.8125rem;color:var(--gray-500);margin-bottom:4px}.credit-history-modal .transaction-item .transaction-right .transaction-date{font-size:.75rem;color:var(--gray-400)}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-48%)}to{opacity:1;transform:translate(-50%,-50%)}}@media (max-width: 768px){.credit-history-modal{width:95vw;max-height:90vh}.credit-history-modal .modal-header{padding:20px}.credit-history-modal .balance-header{padding:12px 20px}.credit-history-modal .transaction-item{padding:14px 20px;flex-direction:column;gap:12px}.credit-history-modal .transaction-item .transaction-right{width:100%;flex-direction:row;justify-content:space-between;align-items:center}.credit-history-modal .transaction-item .transaction-right .transaction-amount{order:1}.credit-history-modal .transaction-item .transaction-right .transaction-balance{order:3}.credit-history-modal .transaction-item .transaction-right .transaction-date{order:2}}.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}.tenant-management{max-width:1200px;margin:0 auto;padding:2rem}.tenant-management .dashboard-header{margin-bottom:3rem}.tenant-management .dashboard-header .header-content{display:flex;justify-content:flex-start;align-items:flex-start;margin-bottom:1.5rem}.tenant-management .dashboard-header .header-content .left-section{display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.tenant-management .dashboard-header .header-content .organization-selector{position:relative;display:inline-block}.tenant-management .dashboard-header .header-content .organization-selector .org-dropdown{background:color-mix(in srgb,var(--color-primary) 5%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 10%,transparent);border-radius:.75rem;padding:.5rem 2.5rem .5rem 1rem;font-size:.875rem;font-weight:600;color:var(--gray-900);cursor:pointer;transition:all .3s ease;min-width:200px;-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 8 4 4 4-4'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .5rem center;background-size:1.5em 1.5em}.tenant-management .dashboard-header .header-content .organization-selector .org-dropdown:hover{background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:color-mix(in srgb,var(--color-primary) 20%,transparent)}.tenant-management .dashboard-header .header-content .organization-selector .org-dropdown:focus{outline:none;background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:color-mix(in srgb,var(--color-primary) 20%,transparent)}.tenant-management .dashboard-header .header-content .organization-selector .org-dropdown:disabled{opacity:.6;cursor:not-allowed}@media screen and (max-width: 768px){.tenant-management .dashboard-header .header-content .organization-selector .org-dropdown{min-width:150px;font-size:.875rem}}.tenant-management .dashboard-header .header-content .header-info h1{margin:0 0 .5rem;font-size:2rem;font-weight:700;color:var(--gray-900)}.tenant-management .dashboard-header .header-content .header-info .subtitle{margin:0;color:var(--gray-600);font-size:.875rem}.tenant-management .dashboard-header .header-content .header-info .subtitle .subscription{text-transform:capitalize;font-weight:500}.tenant-management .dashboard-header .header-content .header-info .subtitle .seats-info{color:var(--gray-600);font-weight:500}.tenant-management .header{margin-bottom:3rem;padding-bottom:2rem;border-bottom:1px solid var(--gray-200)}.tenant-management .header h1{margin:0 0 1rem;font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,var(--gray-900) 0%,var(--gray-700) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.tenant-management .header .tenant-info h2{margin:0 0 .75rem;color:var(--gray-700);font-size:1.25rem;font-weight:600}.tenant-management .header .tenant-info .tenant-meta{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.tenant-management .header .tenant-info .subscription{background:var(--color-primary);color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:500;text-transform:capitalize}.tenant-management .header .tenant-info .seats-info{color:var(--gray-600);font-size:.875rem;font-weight:500}.tenant-management .header .tenant-info .seats-info .seats-available{color:var(--color-success);font-weight:600}.tenant-management .header .tenant-info .seats-info .seats-full{color:var(--color-error);font-weight:600}.tenant-management .management-content .section{margin-bottom:2rem;background:var(--surface);border-radius:16px;box-shadow:0 4px 20px #00000014;border:1px solid var(--gray-100);overflow:visible;position:relative;z-index:1}.tenant-management .management-content .section:has(.context-menu){z-index:30}.tenant-management .management-content .section .section-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;background:linear-gradient(135deg,var(--gray-50) 0%,var(--surface) 100%);border-bottom:1px solid var(--gray-100)}.tenant-management .management-content .section .section-header h3{margin:0;color:var(--gray-900);font-size:1.25rem;font-weight:600}.tenant-management .management-content .section .section-header .invite-button{background:var(--color-primary);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease;display:flex;align-items:center;gap:.5rem}.tenant-management .management-content .section .section-header .invite-button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--color-primary) 30%,transparent)}.tenant-management .management-content .section .section-header .invite-button:disabled{background:linear-gradient(135deg,var(--gray-400) 0%,var(--gray-500) 100%);cursor:not-allowed;opacity:.6}.tenant-management .management-content .section .section-header .invite-button:before{content:"+";font-size:1.125rem;font-weight:600}.tenant-management .management-content .section .pending-count{color:var(--color-warning);font-weight:500;font-size:.9rem}.tenant-management .management-content .section .pending-row{background:linear-gradient(135deg,#ffc1070d,#ffc10705)}.tenant-management .management-content .section .pending-row:hover{background:linear-gradient(135deg,#ffc1071a,#ffc1070d)}.tenant-management .management-content .section .rejected-row{background:linear-gradient(135deg,#f4433608,#f4433603);opacity:.7}.tenant-management .management-content .section .rejected-row:hover{background:linear-gradient(135deg,#f443360f,#f4433608)}.tenant-management .management-content .section .users-table,.tenant-management .management-content .section .invitations-table{overflow-x:auto;overflow-y:visible;-webkit-overflow-scrolling:touch;padding-bottom:200px;margin-bottom:-200px;scrollbar-width:thin;scrollbar-color:var(--gray-300) transparent}.tenant-management .management-content .section .users-table::-webkit-scrollbar,.tenant-management .management-content .section .invitations-table::-webkit-scrollbar{height:6px}.tenant-management .management-content .section .users-table::-webkit-scrollbar-track,.tenant-management .management-content .section .invitations-table::-webkit-scrollbar-track{background:transparent}.tenant-management .management-content .section .users-table::-webkit-scrollbar-thumb,.tenant-management .management-content .section .invitations-table::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.tenant-management .management-content .section .users-table:hover::-webkit-scrollbar-thumb,.tenant-management .management-content .section .invitations-table:hover::-webkit-scrollbar-thumb{background:var(--gray-400)}.tenant-management .management-content .section .users-table table,.tenant-management .management-content .section .invitations-table table{width:100%;border-collapse:collapse}.tenant-management .management-content .section .users-table table th,.tenant-management .management-content .section .users-table table td,.tenant-management .management-content .section .invitations-table table th,.tenant-management .management-content .section .invitations-table table td{text-align:left;padding:1.25rem 1.5rem;border-bottom:1px solid var(--gray-100)}.tenant-management .management-content .section .users-table table th:nth-child(1),.tenant-management .management-content .section .users-table table td:nth-child(1),.tenant-management .management-content .section .invitations-table table th:nth-child(1),.tenant-management .management-content .section .invitations-table table td:nth-child(1){width:20%;min-width:180px}.tenant-management .management-content .section .users-table table th:nth-child(2),.tenant-management .management-content .section .users-table table td:nth-child(2),.tenant-management .management-content .section .invitations-table table th:nth-child(2),.tenant-management .management-content .section .invitations-table table td:nth-child(2){width:20%;min-width:160px}.tenant-management .management-content .section .users-table table th:nth-child(3),.tenant-management .management-content .section .users-table table td:nth-child(3),.tenant-management .management-content .section .invitations-table table th:nth-child(3),.tenant-management .management-content .section .invitations-table table td:nth-child(3){width:12%;min-width:110px}.tenant-management .management-content .section .users-table table th:nth-child(4),.tenant-management .management-content .section .users-table table td:nth-child(4),.tenant-management .management-content .section .invitations-table table th:nth-child(4),.tenant-management .management-content .section .invitations-table table td:nth-child(4){width:10%;min-width:90px;text-align:center}.tenant-management .management-content .section .users-table table th:nth-child(5),.tenant-management .management-content .section .users-table table td:nth-child(5),.tenant-management .management-content .section .invitations-table table th:nth-child(5),.tenant-management .management-content .section .invitations-table table td:nth-child(5){width:12%;min-width:100px;text-align:center}.tenant-management .management-content .section .users-table table th:nth-child(6),.tenant-management .management-content .section .users-table table td:nth-child(6),.tenant-management .management-content .section .invitations-table table th:nth-child(6),.tenant-management .management-content .section .invitations-table table td:nth-child(6){width:13%;min-width:100px}.tenant-management .management-content .section .users-table table th:nth-child(7),.tenant-management .management-content .section .users-table table td:nth-child(7),.tenant-management .management-content .section .invitations-table table th:nth-child(7),.tenant-management .management-content .section .invitations-table table td:nth-child(7){width:8%;min-width:70px;text-align:center}.tenant-management .management-content .section .users-table table th,.tenant-management .management-content .section .invitations-table table th{background:var(--gray-50);font-weight:600;color:var(--gray-700);font-size:.875rem;text-transform:uppercase;letter-spacing:.5px}.tenant-management .management-content .section .users-table table tr,.tenant-management .management-content .section .invitations-table table tr{transition:background-color .2s ease}.tenant-management .management-content .section .users-table table tr:hover,.tenant-management .management-content .section .invitations-table table tr:hover{background:var(--gray-50)}.tenant-management .management-content .section .users-table table tr:last-child td,.tenant-management .management-content .section .invitations-table table tr:last-child td{border-bottom:none}.tenant-management .management-content .section .users-table table .user-info,.tenant-management .management-content .section .invitations-table table .user-info{display:flex;align-items:center;gap:.75rem}.tenant-management .management-content .section .users-table table .user-info .user-avatar,.tenant-management .management-content .section .invitations-table table .user-info .user-avatar{width:40px;height:40px;border-radius:50%;object-fit:cover;border:2px solid var(--gray-200);flex-shrink:0;margin-top:.25rem}.tenant-management .management-content .section .users-table table .user-info .user-details,.tenant-management .management-content .section .invitations-table table .user-info .user-details{display:flex;flex-direction:column;gap:.4rem;min-width:0;flex:1}.tenant-management .management-content .section .users-table table .user-info .user-details .user-name-row,.tenant-management .management-content .section .invitations-table table .user-info .user-details .user-name-row{display:flex;align-items:center;gap:.5rem;min-width:0}.tenant-management .management-content .section .users-table table .user-info .user-details .user-name-row .user-name,.tenant-management .management-content .section .invitations-table table .user-info .user-details .user-name-row .user-name{color:var(--gray-900);font-weight:600;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:200px}.tenant-management .management-content .section .users-table table .user-info .user-details .user-name-row .you-badge,.tenant-management .management-content .section .invitations-table table .user-info .user-details .user-name-row .you-badge{background:linear-gradient(135deg,var(--color-success) 0%,var(--color-success-light) 100%);color:#fff;padding:.15rem .5rem;border-radius:10px;font-size:.65rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.tenant-management .management-content .section .users-table table .user-info .user-details .user-status-row,.tenant-management .management-content .section .invitations-table table .user-info .user-details .user-status-row{display:flex;align-items:center;gap:.5rem}.tenant-management .management-content .section .users-table table .user-info .user-details .status-badge,.tenant-management .management-content .section .invitations-table table .user-info .user-details .status-badge{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:6px;font-size:.7rem;font-weight:500;width:fit-content;white-space:nowrap}.tenant-management .management-content .section .users-table table .user-info .user-details .status-badge.pending,.tenant-management .management-content .section .invitations-table table .user-info .user-details .status-badge.pending{background:color-mix(in srgb,var(--color-warning) 15%,transparent);color:var(--color-warning-dark)}.tenant-management .management-content .section .users-table table .user-info .user-details .status-badge.rejected,.tenant-management .management-content .section .invitations-table table .user-info .user-details .status-badge.rejected{background:color-mix(in srgb,var(--color-error) 15%,transparent);color:var(--color-error-dark)}.tenant-management .management-content .section .users-table table .user-info .user-details .status-badge.inactive,.tenant-management .management-content .section .invitations-table table .user-info .user-details .status-badge.inactive{background:color-mix(in srgb,var(--gray-500) 15%,transparent);color:var(--gray-600)}.tenant-management .management-content .section .users-table table .role-text,.tenant-management .management-content .section .invitations-table table .role-text{color:var(--gray-600);font-weight:500;text-transform:capitalize}.tenant-management .management-content .section .users-table table .credits-cell,.tenant-management .management-content .section .invitations-table table .credits-cell{text-align:center}.tenant-management .management-content .section .users-table table .credits-cell .credits-badge,.tenant-management .management-content .section .invitations-table table .credits-cell .credits-badge{display:inline-block;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 10%,transparent),color-mix(in srgb,var(--color-primary) 5%,transparent));color:var(--color-primary);padding:.35rem .75rem;border-radius:12px;font-size:.8rem;font-weight:600;border:1px solid color-mix(in srgb,var(--color-primary) 20%,transparent)}.tenant-management .management-content .section .users-table table .last-login,.tenant-management .management-content .section .invitations-table table .last-login{color:var(--gray-700)}.tenant-management .management-content .section .users-table table .last-login .never-login,.tenant-management .management-content .section .invitations-table table .last-login .never-login{color:var(--gray-400);font-style:italic}.tenant-management .management-content .section .users-table table .actions-cell,.tenant-management .management-content .section .invitations-table table .actions-cell{position:relative}.tenant-management .management-content .section .users-table table .status,.tenant-management .management-content .section .invitations-table table .status{padding:.5rem 1rem;border-radius:8px;font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.tenant-management .management-content .section .users-table table .status.active,.tenant-management .management-content .section .invitations-table table .status.active{background:color-mix(in srgb,var(--color-success) 10%,transparent);color:var(--color-success)}.tenant-management .management-content .section .users-table table .status.inactive,.tenant-management .management-content .section .invitations-table table .status.inactive{background:color-mix(in srgb,var(--color-error) 10%,transparent);color:var(--color-error)}.tenant-management .management-content .section .users-table table .status.pending,.tenant-management .management-content .section .invitations-table table .status.pending{background:color-mix(in srgb,var(--color-warning) 10%,transparent);color:var(--color-warning)}.tenant-management .management-content .section .users-table table .status.accepted,.tenant-management .management-content .section .invitations-table table .status.accepted,.tenant-management .management-content .section .users-table table .status.verified,.tenant-management .management-content .section .invitations-table table .status.verified{background:color-mix(in srgb,var(--color-success) 10%,transparent);color:var(--color-success)}.tenant-management .management-content .section .users-table table .status.unverified,.tenant-management .management-content .section .invitations-table table .status.unverified{background:color-mix(in srgb,var(--color-warning) 10%,transparent);color:var(--color-warning)}.tenant-management .management-content .section .users-table table .status.rejected,.tenant-management .management-content .section .invitations-table table .status.rejected{background:color-mix(in srgb,var(--color-error) 10%,transparent);color:var(--color-error)}.tenant-management .management-content .section .users-table table select,.tenant-management .management-content .section .invitations-table table select{padding:.5rem .75rem;border:1px solid var(--gray-200);border-radius:8px;background:var(--surface);font-size:.875rem;color:var(--gray-700);transition:all .2s ease}.tenant-management .management-content .section .users-table table select:focus,.tenant-management .management-content .section .invitations-table table select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 10%,transparent)}.tenant-management .management-content .section .users-table table select:disabled,.tenant-management .management-content .section .invitations-table table select:disabled{background:var(--gray-50);color:var(--gray-500);cursor:not-allowed}.tenant-management .management-content .section .users-table table .context-menu-container,.tenant-management .management-content .section .invitations-table table .context-menu-container{position:relative;display:inline-block}.tenant-management .management-content .section .users-table table .context-menu-container .context-menu-trigger,.tenant-management .management-content .section .invitations-table table .context-menu-container .context-menu-trigger{background:var(--surface);border:1px solid var(--gray-300);border-radius:6px;width:32px;height:28px;cursor:pointer;font-size:1.2rem;line-height:1;display:flex;align-items:center;justify-content:center;color:var(--gray-600);transition:all .2s ease}.tenant-management .management-content .section .users-table table .context-menu-container .context-menu-trigger:hover,.tenant-management .management-content .section .invitations-table table .context-menu-container .context-menu-trigger:hover{background:var(--gray-50);border-color:var(--gray-400);color:var(--gray-900)}.tenant-management .management-content .section .users-table table .context-menu-container .context-menu-trigger:active,.tenant-management .management-content .section .invitations-table table .context-menu-container .context-menu-trigger:active{background:var(--gray-100)}.tenant-management .management-content .section .users-table table .context-menu-container .context-menu,.tenant-management .management-content .section .invitations-table table .context-menu-container .context-menu{position:absolute;right:0;top:calc(100% + 4px);background:var(--surface);border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 4px 12px #00000026;z-index:1000;min-width:160px;overflow:visible;animation:slideDown .15s ease-out}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.tenant-management .management-content .section .users-table table .context-menu-container .context-menu .context-menu-item,.tenant-management .management-content .section .invitations-table table .context-menu-container .context-menu .context-menu-item{display:flex;align-items:center;justify-content:flex-start;width:100%;padding:.65rem 1rem;border:none;background:var(--surface);text-align:left;cursor:pointer;font-size:.8rem;color:var(--gray-700);transition:background .15s ease;border-bottom:1px solid var(--gray-100);white-space:nowrap}.tenant-management .management-content .section .users-table table .context-menu-container .context-menu .context-menu-item:last-child,.tenant-management .management-content .section .invitations-table table .context-menu-container .context-menu .context-menu-item:last-child{border-bottom:none}.tenant-management .management-content .section .users-table table .context-menu-container .context-menu .context-menu-item:hover,.tenant-management .management-content .section .invitations-table table .context-menu-container .context-menu .context-menu-item:hover{background:var(--gray-50);color:var(--gray-900)}.tenant-management .management-content .section .users-table table .context-menu-container .context-menu .context-menu-item.approve,.tenant-management .management-content .section .invitations-table table .context-menu-container .context-menu .context-menu-item.approve{color:var(--color-success);font-weight:500}.tenant-management .management-content .section .users-table table .context-menu-container .context-menu .context-menu-item.approve:hover,.tenant-management .management-content .section .invitations-table table .context-menu-container .context-menu .context-menu-item.approve:hover{background:color-mix(in srgb,var(--color-success) 5%,transparent);color:var(--color-success-dark)}.tenant-management .management-content .section .users-table table .context-menu-container .context-menu .context-menu-item.approve:disabled,.tenant-management .management-content .section .invitations-table table .context-menu-container .context-menu .context-menu-item.approve:disabled{opacity:.5;cursor:not-allowed}.tenant-management .management-content .section .users-table table .context-menu-container .context-menu .context-menu-item.approve:disabled:hover,.tenant-management .management-content .section .invitations-table table .context-menu-container .context-menu .context-menu-item.approve:disabled:hover{background:var(--surface);color:var(--color-success)}.tenant-management .management-content .section .users-table table .context-menu-container .context-menu .context-menu-item.danger,.tenant-management .management-content .section .invitations-table table .context-menu-container .context-menu .context-menu-item.danger{color:var(--color-error)}.tenant-management .management-content .section .users-table table .context-menu-container .context-menu .context-menu-item.danger:hover,.tenant-management .management-content .section .invitations-table table .context-menu-container .context-menu .context-menu-item.danger:hover{background:color-mix(in srgb,var(--color-error) 5%,transparent);color:var(--color-error-dark)}.tenant-management .loading{text-align:center;padding:3rem;color:var(--gray-600);font-size:1.125rem}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999;animation:fadeIn .2s ease-out;pointer-events:auto;display:block;visibility:visible}.modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:var(--surface);border-radius:16px;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #00000026;border:1px solid var(--gray-100);z-index:10000;animation:slideUp .2s ease-out;pointer-events:auto;display:block;visibility:visible}.modal:focus{outline:none}.modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--gray-100);background:var(--gray-50)}.modal .modal-header h3{margin:0;color:var(--gray-900);font-size:1.25rem;font-weight:600}.modal .modal-header .close-button{background:none;border:none;font-size:1.5rem;cursor:pointer;color:var(--gray-500);width:32px;height:32px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:all .2s ease}.modal .modal-header .close-button:hover{background:var(--gray-200);color:var(--gray-700)}.modal form{padding:2rem}.modal form .form-group{margin-bottom:1.5rem}.modal form .form-group label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--gray-700);font-size:.875rem}.modal form .form-group input,.modal form .form-group select,.modal form .form-group textarea{width:100%;padding:.75rem 1rem;border:1px solid var(--gray-200);border-radius:8px;font-size:.875rem;transition:all .2s ease;background:var(--surface)}.modal form .form-group input:focus,.modal form .form-group select:focus,.modal form .form-group textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 10%,transparent)}.modal form .form-group input::placeholder,.modal form .form-group select::placeholder,.modal form .form-group textarea::placeholder{color:var(--gray-400)}.modal form .form-group textarea{resize:vertical;min-height:100px;font-family:inherit}.modal form .form-group small{display:block;margin-top:.5rem;color:var(--gray-500);font-size:.75rem;line-height:1.4}.modal form .form-group .chat-roles-group{margin-bottom:.75rem}.modal form .form-group .chat-roles-group-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);margin-bottom:.4rem}.modal form .form-group .chat-role-option-wire{margin-left:.5rem;font-size:.72rem;background:var(--gray-100);padding:.05rem .4rem;border-radius:5px;color:var(--gray-600)}.modal form .form-group .chat-roles-options{display:flex;flex-direction:column;gap:.5rem}.modal form .form-group .chat-roles-options .chat-role-option{position:relative;display:flex;align-items:center;gap:.75rem;padding:.75rem .9rem;border:1px solid var(--gray-200);border-radius:10px;cursor:pointer;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease;margin-bottom:0;font-weight:400}.modal form .form-group .chat-roles-options .chat-role-option input[type=checkbox]{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.modal form .form-group .chat-roles-options .chat-role-option:after{content:"";flex:0 0 auto;margin-left:auto;width:20px;height:20px;border-radius:50%;border:2px solid var(--gray-300);background:transparent no-repeat center/12px 12px;transition:all .15s ease}.modal form .form-group .chat-roles-options .chat-role-option:hover{border-color:color-mix(in srgb,var(--color-primary) 45%,transparent);background:color-mix(in srgb,var(--color-primary) 4%,transparent)}.modal form .form-group .chat-roles-options .chat-role-option:has(input:checked){border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 7%,transparent);box-shadow:0 0 0 1px var(--color-primary) inset}.modal form .form-group .chat-roles-options .chat-role-option:has(input:checked):after{border-color:var(--color-primary);background-color:var(--color-primary);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6L9 17l-5-5'/%3E%3C/svg%3E")}.modal form .form-group .chat-roles-options .chat-role-option:has(input:focus-visible){outline:2px solid var(--color-primary);outline-offset:2px}.modal form .form-group .chat-roles-options .chat-role-option-text{display:flex;flex-direction:column;gap:.15rem}.modal form .form-group .chat-roles-options .chat-role-option-name{font-weight:600;font-size:.85rem;color:var(--gray-800);text-transform:capitalize}.modal form .form-group .chat-roles-options .chat-role-option-desc{font-size:.75rem;color:var(--gray-500);line-height:1.35}.modal form .form-actions{display:flex;gap:1rem;justify-content:flex-end;margin-top:2rem}.modal form .form-actions button{padding:.75rem 1.5rem;border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:500;transition:all .2s ease}.modal form .form-actions button[type=button]{background:var(--gray-200);color:var(--gray-700)}.modal form .form-actions button[type=button]:hover{background:var(--gray-300);transform:translateY(-1px)}.modal form .form-actions button[type=submit]{background:var(--color-primary);color:#fff}.modal form .form-actions button[type=submit]:hover{transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--color-primary) 30%,transparent)}@media (max-width: 768px){.tenant-management{padding:1rem}.tenant-management .header{margin-bottom:2rem;padding-bottom:1.5rem}.tenant-management .header h1{font-size:2rem}.tenant-management .header .tenant-info h2{font-size:1.1rem}.tenant-management .header .tenant-info .tenant-meta{flex-direction:column;align-items:flex-start;gap:.5rem}.tenant-management .management-content .section{border-radius:12px}.tenant-management .management-content .section .section-header{padding:1rem;flex-direction:column;gap:1rem;align-items:flex-start}.tenant-management .management-content .section .section-header h3{font-size:1.1rem}.tenant-management .management-content .section .section-header .invite-button{width:100%;justify-content:center}.tenant-management .management-content .section .users-table table{display:block;width:100%}.tenant-management .management-content .section .users-table table thead{display:none}.tenant-management .management-content .section .users-table table tbody{display:block;width:100%}.tenant-management .management-content .section .users-table table tr{display:block;background:var(--surface);border:1px solid var(--gray-200);border-radius:0;margin-bottom:0;padding:.85rem;position:relative;border-bottom:none}.tenant-management .management-content .section .users-table table tr:first-child{border-radius:10px 10px 0 0}.tenant-management .management-content .section .users-table table tr:last-child{border-radius:0 0 10px 10px;border-bottom:1px solid var(--gray-200)}.tenant-management .management-content .section .users-table table tr:only-child{border-radius:10px;border-bottom:1px solid var(--gray-200)}.tenant-management .management-content .section .users-table table tr.pending-row{border-left-color:var(--color-warning);border-left-width:3px}.tenant-management .management-content .section .users-table table tr.rejected-row{border-left-color:var(--color-error);border-left-width:3px}.tenant-management .management-content .section .users-table table td{display:block;padding:.35rem 0;border:none;text-align:left!important}.tenant-management .management-content .section .users-table table td:before{content:attr(data-label);font-weight:600;color:var(--gray-600);font-size:.7rem;text-transform:uppercase;letter-spacing:.3px;display:inline-block;margin-right:.5rem;min-width:70px}.tenant-management .management-content .section .users-table table td:first-child{padding-top:0;padding-bottom:.5rem;margin-bottom:.5rem;border-bottom:1px solid var(--gray-100)}.tenant-management .management-content .section .users-table table td:first-child:before{display:none}.tenant-management .management-content .section .users-table table td.actions-cell{position:absolute;top:.85rem;right:.85rem;padding:0}.tenant-management .management-content .section .users-table table td.actions-cell:before{display:none}.tenant-management .management-content .section .users-table table td:last-of-type:not(.actions-cell){padding-bottom:0}.tenant-management .management-content .section .users-table table td .user-info{margin-bottom:0}.tenant-management .management-content .section .users-table table td .user-info .user-avatar{width:42px;height:42px}.tenant-management .management-content .section .users-table table td .user-info .user-details .user-name-row .user-name{font-size:.95rem;max-width:calc(100vw - 120px)}.tenant-management .management-content .section .users-table table td .user-info .user-details .user-name-row .you-badge{font-size:.6rem;padding:.1rem .4rem}.tenant-management .management-content .section .users-table table td .user-info .user-details .user-status-row{margin-top:.25rem}.tenant-management .management-content .section .users-table table td .user-info .user-details .status-badge{font-size:.65rem;padding:.2rem .5rem}.tenant-management .management-content .section .users-table table td .credits-badge{font-size:.8rem;padding:.25rem .6rem}.tenant-management .management-content .section .users-table table td select{width:auto;max-width:150px;font-size:.8rem;padding:.35rem .5rem}.tenant-management .management-content .section .users-table table td .role-text,.tenant-management .management-content .section .users-table table td .never-login{font-size:.85rem}.tenant-management .management-content .section .users-table table .context-menu-container .context-menu{right:0;left:auto}.tenant-management .management-content .section .invitations-table{overflow-x:auto;-webkit-overflow-scrolling:touch}.tenant-management .management-content .section .invitations-table table{min-width:600px}.tenant-management .management-content .section .invitations-table table th,.tenant-management .management-content .section .invitations-table table td{padding:.75rem 1rem;font-size:.85rem}.modal{width:95%;max-width:95%;max-height:85vh}.modal .modal-header{padding:1rem 1.5rem}.modal .modal-header h3{font-size:1.1rem}.modal form{padding:1.5rem}.modal form .form-group{margin-bottom:1.25rem}.modal form .form-group label{font-size:.85rem}.modal form .form-group input,.modal form .form-group select,.modal form .form-group textarea{font-size:.85rem;padding:.65rem .85rem}.modal form .form-group small{font-size:.7rem}.modal form .form-actions{flex-direction:column-reverse;gap:.75rem}.modal form .form-actions button{width:100%;padding:.85rem 1.5rem;font-size:.9rem}}@media (max-width: 480px){.tenant-management{padding:.75rem}.tenant-management .header{margin-bottom:1.5rem;padding-bottom:1rem}.tenant-management .header h1{font-size:1.5rem}.tenant-management .header .tenant-info h2{font-size:1rem}.tenant-management .header .tenant-info .tenant-meta .subscription,.tenant-management .header .tenant-info .tenant-meta .seats-info{font-size:.75rem}.tenant-management .management-content .section .section-header{padding:.75rem}.tenant-management .management-content .section .section-header h3{font-size:1rem}.tenant-management .management-content .section .section-header .invite-button{padding:.65rem 1.25rem;font-size:.8rem}.tenant-management .management-content .section .users-table table,.tenant-management .management-content .section .invitations-table table{min-width:650px}.tenant-management .management-content .section .users-table table th,.tenant-management .management-content .section .users-table table td,.tenant-management .management-content .section .invitations-table table th,.tenant-management .management-content .section .invitations-table table td{padding:.65rem .75rem;font-size:.8rem}.tenant-management .management-content .section .users-table table .user-info .user-avatar,.tenant-management .management-content .section .invitations-table table .user-info .user-avatar{width:28px;height:28px}.tenant-management .management-content .section .users-table table .user-info .user-details .user-name-row .user-name,.tenant-management .management-content .section .invitations-table table .user-info .user-details .user-name-row .user-name{font-size:.8rem;max-width:100px}.tenant-management .management-content .section .users-table table .context-menu-container .context-menu,.tenant-management .management-content .section .invitations-table table .context-menu-container .context-menu{min-width:140px}.tenant-management .management-content .section .users-table table .context-menu-container .context-menu .context-menu-item,.tenant-management .management-content .section .invitations-table table .context-menu-container .context-menu .context-menu-item{padding:.7rem .9rem;font-size:.8rem}.modal{width:100%;max-width:100%;max-height:90vh;border-radius:12px 12px 0 0}.modal .modal-header{padding:.85rem 1.25rem}.modal .modal-header h3{font-size:1rem}.modal form{padding:1.25rem}}.tenant-management .section .users-table code{background:color-mix(in srgb,var(--color-primary) 6%,transparent);color:var(--gray-900);padding:.2rem .45rem;border-radius:4px;font-family:Courier New,monospace;font-size:.82rem}.tenant-management .section .users-table .empty-row{text-align:center;color:var(--gray-400);font-style:italic;padding:1.5rem}.modal .modal-body{padding:2rem}.modal .modal-body .modal-note{margin:0 0 1.5rem;color:var(--gray-700);font-size:.875rem;line-height:1.55}.modal .modal-body .modal-note strong{color:var(--gray-900)}.modal .modal-body .field-label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--gray-700);font-size:.875rem}.modal .modal-body .token-reveal{display:flex;align-items:center;gap:.75rem;padding:.75rem .75rem .75rem 1rem;background:var(--gray-50);border:1px solid var(--gray-200);border-radius:10px}.modal .modal-body .token-reveal code{flex:1;min-width:0;font-family:Courier New,monospace;font-size:.85rem;color:var(--gray-900);word-break:break-all}.modal .modal-body .token-reveal .copy-btn{flex-shrink:0;padding:.5rem .9rem;border:1px solid var(--gray-300);border-radius:8px;background:var(--surface);color:var(--gray-700);font-size:.8rem;font-weight:600;cursor:pointer;transition:all .2s ease}.modal .modal-body .token-reveal .copy-btn:hover{background:var(--gray-100)}.modal .modal-body .modal-actions{display:flex;justify-content:flex-end;margin-top:1.75rem}.modal .modal-body .modal-actions button.primary{padding:.75rem 1.5rem;border:none;border-radius:8px;background:var(--color-primary);color:#fff;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.modal .modal-body .modal-actions button.primary:hover{transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--color-primary) 30%,transparent)}.subscription-page{max-width:1200px;margin:0 auto;padding:3rem 2rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.subscription-page .subscription-header{margin-bottom:3rem;text-align:center}.subscription-page .subscription-header h1{font-size:2.5rem;font-weight:800;color:var(--gray-900);margin-bottom:1rem;letter-spacing:-.025em}.subscription-page .subscription-header p{color:var(--gray-500);font-size:1.125rem;max-width:600px;margin:0 auto}.subscription-page .current-subscription-card{background:linear-gradient(to right bottom,var(--surface),var(--gray-50));border:1px solid color-mix(in srgb,var(--color-primary) 15%,transparent);border-radius:20px;padding:2.5rem;margin-bottom:5rem;box-shadow:0 10px 25px -5px color-mix(in srgb,var(--color-primary) 10%,transparent),0 8px 10px -6px color-mix(in srgb,var(--color-primary) 5%,transparent);position:relative;overflow:hidden}.subscription-page .current-subscription-card:before{content:"";position:absolute;top:0;left:0;width:100%;height:4px;background:var(--color-primary)}.subscription-page .current-subscription-card .subscription-info .tier-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--gray-100)}.subscription-page .current-subscription-card .subscription-info .tier-header h2{font-size:1.5rem;font-weight:700;margin:0;color:var(--gray-800);display:flex;align-items:center;gap:.75rem}.subscription-page .current-subscription-card .subscription-info .tier-header .tier-badge{padding:.5rem 1.25rem;border-radius:9999px;font-weight:700;font-size:.875rem;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 2px 4px #0000000d}.subscription-page .current-subscription-card .subscription-info .tier-header .tier-badge.tier-badge-free{background:var(--gray-100);color:var(--gray-600)}.subscription-page .current-subscription-card .subscription-info .tier-header .tier-badge.tier-badge-basic{background:var(--blue-50);color:var(--color-primary);border:1px solid var(--blue-200)}.subscription-page .current-subscription-card .subscription-info .tier-header .tier-badge.tier-badge-premium{background:var(--amber-50);color:var(--amber-500);border:1px solid var(--amber-200)}.subscription-page .current-subscription-card .subscription-info .tier-header .tier-badge.tier-badge-enterprise{background:var(--purple-50);color:var(--purple-500);border:1px solid var(--purple-200)}.subscription-page .current-subscription-card .subscription-info .subscription-details{display:flex;flex-direction:column;margin-bottom:2.5rem;background:var(--surface);border-radius:16px;border:1px solid var(--gray-200);overflow:hidden}.subscription-page .current-subscription-card .subscription-info .subscription-details .detail-item{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--gray-100);transition:background-color .2s ease}.subscription-page .current-subscription-card .subscription-info .subscription-details .detail-item:last-child{border-bottom:none}.subscription-page .current-subscription-card .subscription-info .subscription-details .detail-item:hover{background-color:var(--gray-50)}.subscription-page .current-subscription-card .subscription-info .subscription-details .detail-item .label{font-size:.95rem;font-weight:500;color:var(--gray-600)}.subscription-page .current-subscription-card .subscription-info .subscription-details .detail-item .value{font-size:1rem;font-weight:600;color:var(--gray-900);display:flex;align-items:center;gap:.75rem}.subscription-page .current-subscription-card .subscription-info .subscription-details .detail-item .value .status-active{color:var(--green-600);background:var(--green-100);padding:.25rem .75rem;border-radius:9999px;font-size:.875rem}.subscription-page .current-subscription-card .subscription-info .subscription-details .detail-item .value .status-expired{color:var(--red-600);background:var(--red-100);padding:.25rem .75rem;border-radius:9999px;font-size:.875rem}.subscription-page .current-subscription-card .subscription-info .subscription-details .detail-item .value .days-remaining{color:var(--gray-500);font-size:.875rem;font-weight:400}.subscription-page .current-subscription-card .subscription-info .cancel-btn{background:var(--surface);color:var(--red-500);border:1px solid var(--red-300);padding:.75rem 1.5rem;border-radius:10px;font-weight:600;font-size:.95rem;cursor:pointer;transition:all .2s ease;display:inline-flex;align-items:center;justify-content:center}.subscription-page .current-subscription-card .subscription-info .cancel-btn:hover:not(:disabled){background:var(--red-50);border-color:var(--red-500)}.subscription-page .current-subscription-card .subscription-info .cancel-btn:disabled{opacity:.5;cursor:not-allowed}.subscription-page .available-plans{margin-bottom:4rem}.subscription-page .available-plans h2{text-align:center;font-size:2rem;font-weight:800;color:var(--gray-900);margin-bottom:3rem;letter-spacing:-.025em}.subscription-page .available-plans .plans-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:2rem;align-items:stretch}.subscription-page .available-plans .plans-grid .plan-card{background:var(--surface);border:1px solid var(--gray-200);border-radius:24px;padding:2.5rem 2rem;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;display:flex;flex-direction:column;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008}.subscription-page .available-plans .plans-grid .plan-card:hover{transform:translateY(-8px);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;border-color:var(--gray-300)}.subscription-page .available-plans .plans-grid .plan-card.current-plan{border:2px solid var(--color-primary);box-shadow:0 20px 25px -5px color-mix(in srgb,var(--color-primary) 15%,transparent),0 10px 10px -5px color-mix(in srgb,var(--color-primary) 5%,transparent);transform:scale(1.03);z-index:10;background:linear-gradient(to bottom,var(--surface),var(--gray-50))}.subscription-page .available-plans .plans-grid .plan-card.current-plan:hover{transform:scale(1.03) translateY(-4px)}.subscription-page .available-plans .plans-grid .plan-card.current-plan .current-badge{position:absolute;top:0;left:50%;transform:translate(-50%,-50%);background:var(--color-primary);color:#fff;padding:.5rem 1.5rem;border-radius:9999px;font-size:.875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;box-shadow:0 4px 6px -1px color-mix(in srgb,var(--color-primary) 30%,transparent)}.subscription-page .available-plans .plans-grid .plan-card .plan-header{text-align:center;margin-bottom:2rem;padding-bottom:2rem;border-bottom:1px solid var(--gray-100)}.subscription-page .available-plans .plans-grid .plan-card .plan-header h3{font-size:1.125rem;font-weight:700;color:var(--gray-500);margin-bottom:1rem;text-transform:uppercase;letter-spacing:.1em}.subscription-page .available-plans .plans-grid .plan-card .plan-header .plan-price{font-size:1.75rem;font-weight:700;color:var(--gray-900);line-height:1.2;letter-spacing:-.01em}.subscription-page .available-plans .plans-grid .plan-card .plan-features{list-style:none;padding:0;margin:0 0 2.5rem;flex-grow:1}.subscription-page .available-plans .plans-grid .plan-card .plan-features li{padding:.75rem 0;display:flex;align-items:flex-start;color:var(--gray-700);line-height:1.5;font-size:1rem}.subscription-page .available-plans .plans-grid .plan-card .plan-features li .feature-icon{color:var(--color-primary);background:var(--blue-50);border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-weight:600;margin-right:1rem;flex-shrink:0;font-size:.875rem}.subscription-page .available-plans .plans-grid .plan-card .plan-action{margin-top:auto}.subscription-page .available-plans .plans-grid .plan-card .plan-action button{width:100%;padding:1.125rem 1.5rem;border-radius:12px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease;border:none}.subscription-page .available-plans .plans-grid .plan-card .plan-action button.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 4px 6px -1px color-mix(in srgb,var(--color-primary) 20%,transparent)}.subscription-page .available-plans .plans-grid .plan-card .plan-action button.btn-primary:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-2px);box-shadow:0 6px 8px -1px color-mix(in srgb,var(--color-primary) 30%,transparent)}.subscription-page .available-plans .plans-grid .plan-card .plan-action button.btn-secondary{background:var(--gray-100);color:var(--gray-400);border:1px solid var(--gray-200);cursor:not-allowed}.subscription-page .available-plans .plans-grid .plan-card .plan-action button:disabled{opacity:.7;cursor:not-allowed}.subscription-page .subscription-help{background:var(--gray-50);border-radius:16px;padding:2rem;border-left:4px solid var(--color-primary)}.subscription-page .subscription-help h3{font-size:1.25rem;font-weight:600;color:var(--gray-800);margin-bottom:.75rem}.subscription-page .subscription-help p{color:var(--gray-600);margin-bottom:.5rem;line-height:1.6}.subscription-page .subscription-help .help-note{color:var(--gray-400);font-size:.875rem;font-style:italic;margin-top:1rem}.subscription-page .error-state{text-align:center;padding:4rem 2rem;background:var(--surface);border-radius:20px;border:1px solid var(--red-100);box-shadow:0 10px 25px -5px #0000000d}.subscription-page .error-state h2{color:var(--gray-800);margin-bottom:1rem;font-size:1.875rem;font-weight:700}.subscription-page .error-state p{color:var(--gray-500);margin-bottom:2rem;font-size:1.125rem}.subscription-page .error-state .btn-primary{background:var(--color-primary);color:#fff;border:none;padding:.875rem 2rem;border-radius:10px;font-weight:600;font-size:1rem;cursor:pointer;transition:all .2s ease}.subscription-page .error-state .btn-primary:hover{background:var(--color-primary-dark);transform:translateY(-2px)}@media (max-width: 1024px){.subscription-page .available-plans .plans-grid{grid-template-columns:repeat(2,1fr);gap:1.5rem}}@media (max-width: 768px){.subscription-page{padding:2rem 1rem}.subscription-page .subscription-header h1{font-size:2rem}.subscription-page .subscription-header p{font-size:1rem}.subscription-page .current-subscription-card{padding:1.5rem;border-radius:16px}.subscription-page .current-subscription-card .subscription-info .tier-header{flex-direction:column;align-items:flex-start;gap:1rem}.subscription-page .current-subscription-card .subscription-info .subscription-details .detail-item{flex-direction:column;align-items:flex-start;gap:.5rem}.subscription-page .available-plans h2{font-size:1.75rem}.subscription-page .available-plans .plans-grid{grid-template-columns:1fr}.subscription-page .available-plans .plans-grid .plan-card.current-plan{transform:scale(1)}.subscription-page .available-plans .plans-grid .plan-card.current-plan:hover{transform:translateY(-4px)}}.repo-select-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000008c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem;animation:rsFadeIn .2s ease-out}.repo-select-modal{background:var(--surface);border-radius:20px;width:100%;max-width:620px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 25px 50px #00000040;border:1px solid var(--gray-100);animation:rsSlideIn .3s ease-out}.rs-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.75rem 1rem;border-bottom:1px solid var(--gray-100)}.rs-header .rs-header-left{display:flex;align-items:center;gap:.75rem}.rs-header .rs-header-left h2{margin:0;font-size:1.25rem;font-weight:700;color:var(--gray-900)}.rs-header .rs-header-left .rs-count{background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary);padding:2px 10px;border-radius:20px;font-size:.75rem;font-weight:600}.rs-header .rs-header-left .rs-limit-info{font-size:.75rem;font-weight:500;color:var(--gray-500)}.rs-header .rs-header-left .rs-limit-info.rs-limit-reached{color:var(--color-error);font-weight:600}.rs-header .rs-close{background:none;border:none;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray-500);transition:all .2s ease}.rs-header .rs-close:hover:not(:disabled){background:var(--gray-200);color:var(--gray-700)}.rs-header .rs-close:disabled{opacity:.5;cursor:not-allowed}.rs-search-bar{position:relative;padding:.875rem 1.75rem;border-bottom:1px solid var(--gray-100)}.rs-search-bar .rs-search-icon{position:absolute;left:2.5rem;top:50%;transform:translateY(-50%);color:var(--gray-400);pointer-events:none}.rs-search-bar input{width:100%;padding:.625rem .75rem .625rem 2.25rem;border:1.5px solid var(--gray-200);border-radius:10px;font-size:.875rem;color:var(--gray-900);background:var(--gray-50);transition:all .2s ease;outline:none}.rs-search-bar input::placeholder{color:var(--gray-400)}.rs-search-bar input:focus{border-color:var(--color-primary);background:var(--surface);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 10%,transparent)}.rs-error{margin:.75rem 1.75rem 0;background:linear-gradient(135deg,color-mix(in srgb,var(--color-error) 10%,transparent),color-mix(in srgb,var(--color-error) 5%,transparent));color:var(--color-error);padding:.625rem 1rem;border-radius:10px;font-size:.8125rem;border:1px solid color-mix(in srgb,var(--color-error) 20%,transparent);font-weight:500}.rs-body{flex:1;overflow-y:auto;min-height:200px}.rs-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 1rem;gap:1rem}.rs-loading .rs-spinner{width:32px;height:32px;border:3px solid var(--gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:rsSpin .7s linear infinite}.rs-loading p{margin:0;color:var(--gray-500);font-size:.875rem}.rs-empty{display:flex;align-items:center;justify-content:center;padding:3rem 1.75rem;color:var(--gray-500);font-size:.875rem;text-align:center}.rs-list{list-style:none;margin:0;padding:.5rem 0}.rs-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1.75rem;cursor:pointer;transition:background .15s ease}.rs-item:hover{background:var(--gray-50)}.rs-item.selected{background:color-mix(in srgb,var(--color-primary) 4%,transparent)}.rs-item.selected .rs-checkbox{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.rs-item.disabled{opacity:.45;cursor:not-allowed}.rs-item.disabled:hover{background:transparent}.rs-item .rs-checkbox{width:22px;height:22px;min-width:22px;border:2px solid var(--gray-300);border-radius:6px;display:flex;align-items:center;justify-content:center;margin-top:1px;transition:all .15s ease}.rs-item .rs-repo-info{flex:1;min-width:0}.rs-item .rs-repo-name{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.rs-item .rs-repo-name .rs-full-name{font-size:.875rem;font-weight:600;color:var(--gray-900);word-break:break-word}.rs-item .rs-repo-name .rs-private-badge{background:rgba(var(--amber-500),.12);color:var(--amber-800);padding:1px 6px;border-radius:4px;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.3px;flex-shrink:0}.rs-item .rs-description{margin:.25rem 0 0;font-size:.8125rem;color:var(--gray-500);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.rs-item .rs-meta{display:flex;align-items:center;gap:.625rem;margin-top:.375rem}.rs-item .rs-meta span{font-size:.75rem;color:var(--gray-400);font-weight:500}.rs-item .rs-meta .rs-language{color:var(--gray-600)}.rs-item .rs-meta .rs-language:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--gray-400);margin-right:4px;vertical-align:middle}.rs-footer{display:flex;justify-content:flex-end;gap:.625rem;padding:1rem 1.75rem;border-top:1px solid var(--gray-100);background:var(--gray-50);border-radius:0 0 20px 20px}.rs-footer button{padding:.5rem 1.25rem;border-radius:10px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease}.rs-footer button:disabled{opacity:.5;cursor:not-allowed}.rs-footer .rs-btn-cancel{background:var(--surface);border:1.5px solid var(--gray-200);color:var(--gray-700)}.rs-footer .rs-btn-cancel:hover:not(:disabled){background:var(--gray-100)}.rs-footer .rs-btn-save{background:var(--color-primary);border:none;color:#fff}.rs-footer .rs-btn-save:hover:not(:disabled){background:var(--color-primary-dark);transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--color-primary) 30%,transparent)}@keyframes rsFadeIn{0%{opacity:0}to{opacity:1}}@keyframes rsSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes rsSpin{to{transform:rotate(360deg)}}@media (max-width: 768px){.repo-select-overlay{padding:0;align-items:flex-end}.repo-select-modal{border-radius:20px 20px 0 0;max-height:95vh}.rs-header{padding:1.25rem 1.25rem .875rem}.rs-search-bar{padding:.75rem 1.25rem}.rs-search-bar .rs-search-icon{left:2rem}.rs-item{padding:.75rem 1.25rem}.rs-footer{padding:.875rem 1.25rem}}.integration-details-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:modalFadeIn .2s ease-out}.integration-details-modal{background:var(--surface);border-radius:20px;width:100%;max-width:500px;box-shadow:0 25px 50px #0003;border:1px solid var(--gray-100);animation:modalSlideIn .3s ease-out}.integration-details-modal .modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 2rem;border-bottom:1px solid var(--gray-100);background:linear-gradient(135deg,var(--gray-50) 0%,var(--surface) 100%);border-radius:20px 20px 0 0}.integration-details-modal .modal-header h2{margin:0;color:var(--gray-900);font-size:1.25rem;font-weight:700;background:linear-gradient(135deg,var(--gray-900) 0%,var(--gray-700) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.integration-details-modal .modal-header .close-button{background:none;border:none;width:36px;height:36px;border-radius:10px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray-500);transition:all .2s ease}.integration-details-modal .modal-header .close-button:hover:not(:disabled){background:var(--gray-200);color:var(--gray-700)}.integration-details-modal .modal-header .close-button:disabled{opacity:.5;cursor:not-allowed}.integration-details-modal .modal-body{padding:2rem}.integration-details-modal .modal-body .error-banner{background:linear-gradient(135deg,color-mix(in srgb,var(--color-error) 10%,transparent),color-mix(in srgb,var(--color-error) 5%,transparent));color:var(--color-error);padding:.75rem 1rem;border-radius:10px;margin-bottom:1.5rem;font-size:.875rem;border:1px solid color-mix(in srgb,var(--color-error) 20%,transparent);font-weight:500}.integration-details-modal .modal-body .integration-state-content .description{margin:0 0 1.5rem;color:var(--gray-500);line-height:1.6;font-size:.9375rem}.integration-details-modal .modal-body .integration-state-content .connection-info{background:var(--gray-50);border-radius:12px;padding:1.25rem;margin-bottom:2rem;border:1px solid var(--gray-100)}.integration-details-modal .modal-body .integration-state-content .connection-info .info-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0}.integration-details-modal .modal-body .integration-state-content .connection-info .info-row:not(:last-child){border-bottom:1px solid var(--gray-200)}.integration-details-modal .modal-body .integration-state-content .connection-info .info-row .label{font-size:.875rem;color:var(--gray-500);font-weight:500}.integration-details-modal .modal-body .integration-state-content .connection-info .info-row .value{font-size:.875rem;color:var(--gray-900);font-weight:600}.integration-details-modal .modal-body .integration-state-content .modal-fields{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:1.5rem}.integration-details-modal .modal-body .integration-state-content .modal-fields .modal-field{display:flex;flex-direction:column;gap:.375rem;flex:1 1 100%}.integration-details-modal .modal-body .integration-state-content .modal-fields .modal-field.half{flex:1 1 calc(50% - .5rem)}.integration-details-modal .modal-body .integration-state-content .modal-fields .modal-field span{font-size:.8125rem;font-weight:600;color:var(--gray-700)}.integration-details-modal .modal-body .integration-state-content .modal-fields .modal-field input{padding:.75rem .875rem;border:1px solid var(--gray-200);border-radius:10px;font-size:.875rem;background:var(--surface);color:var(--gray-900);transition:border-color .2s ease,box-shadow .2s ease}.integration-details-modal .modal-body .integration-state-content .modal-fields .modal-field input::placeholder{color:var(--gray-400)}.integration-details-modal .modal-body .integration-state-content .modal-fields .modal-field input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,transparent)}.integration-details-modal .modal-body .integration-state-content .modal-fields .modal-field input:disabled{opacity:.6;cursor:not-allowed}.integration-details-modal .modal-body .integration-state-content .modal-result{padding:.75rem 1rem;border-radius:10px;margin-bottom:1.5rem;font-size:.875rem;font-weight:500}.integration-details-modal .modal-body .integration-state-content .modal-result.ok{background:color-mix(in srgb,var(--color-success, #16a34a) 10%,transparent);color:var(--color-success, #16a34a);border:1px solid color-mix(in srgb,var(--color-success, #16a34a) 25%,transparent)}.integration-details-modal .modal-body .integration-state-content .modal-result.fail{background:color-mix(in srgb,var(--color-error) 10%,transparent);color:var(--color-error);border:1px solid color-mix(in srgb,var(--color-error) 25%,transparent)}.integration-details-modal .modal-body .integration-state-content .modal-actions{display:flex;flex-direction:column;gap:.75rem}.integration-details-modal .modal-body .integration-state-content .modal-actions.row{flex-direction:row;flex-wrap:wrap}.integration-details-modal .modal-body .integration-state-content .modal-actions.row button{flex:1 1 auto;width:auto}.integration-details-modal .modal-body .integration-state-content .modal-actions.single-action{align-items:stretch}.integration-details-modal .modal-body .integration-state-content .modal-actions button.btn-danger{background:var(--surface);border:1px solid color-mix(in srgb,var(--color-error) 40%,transparent);color:var(--color-error);box-shadow:0 2px 4px #0000000d}.integration-details-modal .modal-body .integration-state-content .modal-actions button.btn-danger:hover:not(:disabled){background:color-mix(in srgb,var(--color-error) 8%,transparent);border-color:color-mix(in srgb,var(--color-error) 60%,transparent);transform:translateY(-2px)}.integration-details-modal .modal-body .integration-state-content .modal-actions button{width:100%;display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem 1.5rem;border:none;border-radius:12px;cursor:pointer;font-size:.875rem;font-weight:600;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.integration-details-modal .modal-body .integration-state-content .modal-actions button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.integration-details-modal .modal-body .integration-state-content .modal-actions button.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--color-primary) 30%,transparent)}.integration-details-modal .modal-body .integration-state-content .modal-actions button.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 20px color-mix(in srgb,var(--color-primary) 40%,transparent)}.integration-details-modal .modal-body .integration-state-content .modal-actions button.btn-secondary{background:var(--surface);border:1px solid color-mix(in srgb,var(--color-error) 30%,transparent);color:var(--color-error);box-shadow:0 2px 4px #0000000d}.integration-details-modal .modal-body .integration-state-content .modal-actions button.btn-secondary:hover:not(:disabled){background:color-mix(in srgb,var(--color-error) 5%,transparent);border-color:color-mix(in srgb,var(--color-error) 50%,transparent);transform:translateY(-2px);box-shadow:0 4px 12px color-mix(in srgb,var(--color-error) 15%,transparent)}.integration-details-modal .modal-body .integration-state-content .modal-actions button.connect-btn{background:var(--gray-900);box-shadow:0 4px 12px #00000026}.integration-details-modal .modal-body .integration-state-content .modal-actions button.connect-btn:hover:not(:disabled){background:var(--gray-800);box-shadow:0 8px 20px #0003}@keyframes modalFadeIn{0%{opacity:0}to{opacity:1}}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@media (max-width: 768px){.integration-details-overlay{padding:0;align-items:flex-end}.integration-details-modal{border-radius:20px 20px 0 0}.integration-details-modal .modal-header{padding:1.25rem 1.5rem}.integration-details-modal .modal-body{padding:1.5rem}}.integrations-page{max-width:1200px;margin:0 auto;padding:3rem 2rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}.integrations-page .integrations-header{margin-bottom:3rem;text-align:center}.integrations-page .integrations-header h1{font-size:2.5rem;font-weight:800;color:var(--gray-900);margin-bottom:1rem;letter-spacing:-.025em}.integrations-page .integrations-header p{color:var(--gray-500);font-size:1.125rem;max-width:600px;margin:0 auto}.integrations-page .error-banner{background:linear-gradient(135deg,color-mix(in srgb,var(--color-error) 10%,transparent),color-mix(in srgb,var(--color-error) 5%,transparent));color:var(--color-error);padding:1rem;border-radius:12px;margin-bottom:2rem;text-align:center;font-weight:500;border:1px solid color-mix(in srgb,var(--color-error) 20%,transparent)}.integrations-page .integrations-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto}.integrations-page .integration-tile{background:var(--surface);border:1px solid var(--gray-200);border-radius:8px;padding:1.5rem;transition:all .2s ease;position:relative;display:flex;flex-direction:column;box-shadow:0 1px 3px #0000000d;cursor:pointer;min-height:160px;align-items:flex-start}.integrations-page .integration-tile:hover:not(.disabled){box-shadow:0 4px 12px #00000014;border-color:var(--gray-300)}.integrations-page .integration-tile.connected{border:1px solid var(--gray-200);background:var(--surface)}.integrations-page .integration-tile.disabled{opacity:.6;cursor:default}.integrations-page .integration-tile .tile-header{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:1.25rem}.integrations-page .integration-tile .provider-icon{width:40px;height:40px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.integrations-page .integration-tile .provider-icon svg{width:32px;height:32px}.integrations-page .integration-tile .provider-icon.github-icon{color:var(--gray-900)}.integrations-page .integration-tile .provider-icon.gitlab-icon{color:var(--orange-500)}.integrations-page .integration-tile .provider-icon.bitbucket-icon{color:var(--blue-500)}.integrations-page .integration-tile .tile-header-right{display:flex;align-items:center}.integrations-page .integration-tile .status-badge{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:7rem;min-height:1.5rem;padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:500;border:1px solid var(--gray-200);background:var(--surface);color:var(--gray-700)}.integrations-page .integration-tile .status-badge.active{border-color:var(--color-success);color:var(--color-success)}.integrations-page .integration-tile .status-badge.status-badge--pending{color:var(--color-primary);border-color:var(--color-primary)}.integrations-page .integration-tile h3{margin:0 0 .5rem;font-size:1.125rem;font-weight:600;color:var(--gray-900);width:100%;text-align:left}.integrations-page .integration-tile p{margin:0;font-size:.875rem;color:var(--gray-500);line-height:1.5;text-align:left}.integrations-page .ai-providers-section{margin-top:3rem}.integrations-page .ai-providers-section .ai-providers-header{margin-bottom:1.5rem}.integrations-page .ai-providers-section .ai-providers-header h2{font-size:1.5rem;font-weight:700;color:var(--gray-900);margin:0 0 .375rem;letter-spacing:-.02em}.integrations-page .ai-providers-section .ai-providers-header p{margin:0;color:var(--gray-500);font-size:.9375rem}.integrations-page .ai-providers-section .ai-providers-header .ai-platform-hint{color:var(--gray-700);font-weight:500}.integrations-page .ai-provider-tile .provider-icon.anthropic-icon{color:#d97757}.integrations-page .ai-provider-tile .provider-icon.openai-icon{color:var(--gray-900)}.integrations-page .ai-provider-tile .provider-icon.bedrock-icon{color:var(--orange-500)}@media (max-width: 768px){.integrations-page{padding:2rem 1rem}.integrations-page .integrations-header h1{font-size:2rem}.integrations-page .integrations-grid{grid-template-columns:1fr}}@keyframes skeleton-pulse{0%,to{opacity:.4}50%{opacity:.8}}.skeleton{background:var(--gray-200);border-radius:6px;animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-metric{display:flex;flex-direction:column;gap:.5rem}.skeleton-text{height:12px}.skeleton-text.skeleton-text-sm{width:60px}.skeleton-text.skeleton-text-md{width:120px}.skeleton-text.skeleton-text-lg{width:80px;height:20px}.skeleton-card{display:flex;flex-direction:column;gap:1rem}.skeleton-card .skeleton-header{height:16px;width:40%}.skeleton-card .skeleton-body{height:120px;flex:1}.skeleton-chart{display:flex;flex-direction:column;height:100%}.skeleton-chart-line .skeleton-chart-area{flex:1;display:flex;align-items:center;overflow:hidden}.skeleton-chart-line .skeleton-chart-area .skeleton-line-svg{width:100%;height:100%}.skeleton-chart-line .skeleton-chart-area .skeleton-line-path{stroke:#e5e7eb;animation:skeleton-pulse 1.5s ease-in-out infinite}.skeleton-chart-line .skeleton-chart-area .skeleton-line-path-2{animation-delay:.3s}.skeleton-chart-line .skeleton-chart-footer{display:flex;gap:1.5rem;padding-top:.75rem}.skeleton-chart-line .skeleton-severity{width:80px;height:40px;border-radius:6px}.skeleton-chart-pie{display:flex;align-items:center;gap:1.5rem}.skeleton-chart-pie .skeleton-pie-container .skeleton-pie-circle{width:120px;height:120px;border-radius:50%}.skeleton-chart-pie .skeleton-pie-legend{flex:1;display:flex;flex-direction:column;gap:.75rem}.skeleton-chart-pie .skeleton-pie-legend .skeleton-legend-item{display:flex;align-items:center;gap:.75rem}.skeleton-chart-pie .skeleton-pie-legend .skeleton-legend-dot{width:8px;height:8px;border-radius:50%}.skeleton-chart-pie .skeleton-pie-legend .skeleton-legend-text{width:100px;height:12px}.skeleton-chart-bar .skeleton-bar-container{display:flex;flex-direction:column;gap:1rem}.skeleton-chart-bar .skeleton-bar-item{display:flex;flex-direction:column;gap:.25rem}.skeleton-chart-bar .skeleton-bar-label{width:80px;height:12px}.skeleton-chart-bar .skeleton-bar-track{width:100%;height:16px;background:var(--gray-100);border-radius:4px;overflow:hidden}.skeleton-chart-bar .skeleton-bar-fill{height:100%;border-radius:4px}.skeleton-list{display:flex;flex-direction:column;gap:.5rem}.skeleton-list .skeleton-list-item{display:flex;align-items:center;gap:.75rem;padding:.375rem 0}.skeleton-list .skeleton-list-icon{width:8px;height:8px;border-radius:50%;flex-shrink:0}.skeleton-list .skeleton-list-content{flex:1}.skeleton-list .skeleton-list-value{width:32px;height:14px}.dashboard-card{background:var(--surface);border-radius:16px;padding:1rem 1.5rem;box-shadow:0 1px 3px #0000000d;height:100%;display:flex;flex-direction:column;overflow:hidden;transition:all .2s ease}@media screen and (max-width: 1024px){.dashboard-card{max-height:400px}}.dashboard-card:hover{box-shadow:0 2px 8px #0000000f}.dashboard-card.has-error{border:1px solid color-mix(in srgb,var(--color-error) 30%,transparent);background:var(--red-50)}.dashboard-card .card-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;flex-shrink:0}.dashboard-card .card-header .card-title{font-size:1rem;font-weight:600;color:var(--gray-900);margin:0}.dashboard-card .card-header .card-action{display:flex;align-items:center;gap:.5rem}.dashboard-card .card-content{flex:1;min-height:0;position:relative;display:flex;flex-direction:column;overflow:auto}.dashboard-card .card-content::-webkit-scrollbar{width:6px}.dashboard-card .card-content::-webkit-scrollbar-track{background:var(--gray-100);border-radius:3px}.dashboard-card .card-content::-webkit-scrollbar-thumb{background:var(--gray-300);border-radius:3px}.dashboard-card .card-content::-webkit-scrollbar-thumb:hover{background:var(--gray-400)}.dashboard-card .card-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:3rem 2rem;text-align:center}.dashboard-card .card-error svg{width:48px;height:48px;color:var(--color-error);opacity:.8}.dashboard-card .card-error p{margin:0;font-size:.9375rem;color:var(--gray-600)}.dashboard-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;padding:2rem;text-align:center;color:var(--gray-500)}.dashboard-empty p{margin:0;font-size:.875rem}.custom-line-chart{width:100%;position:relative}.custom-line-chart .chart-canvas{display:block;width:100%}.custom-line-chart .chart-legend{display:flex;gap:1.5rem;justify-content:center;margin-top:.75rem;flex-wrap:wrap}.custom-line-chart .chart-legend .legend-item{display:flex;align-items:center;gap:.5rem}.custom-line-chart .chart-legend .legend-item .legend-color{width:12px;height:2px;border-radius:1px}.custom-line-chart .chart-legend .legend-item .legend-label{font-size:.8125rem;color:var(--gray-600);font-weight:500;text-transform:capitalize}.drilldown-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.drilldown-modal.split-view{background:var(--surface);border-radius:12px;width:90vw;height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003;overflow:hidden}.drilldown-modal.split-view .drilldown-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.5rem;border-bottom:1px solid var(--gray-200);background:var(--surface);flex-shrink:0}.drilldown-modal.split-view .drilldown-header h2{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin:0}.drilldown-modal.split-view .drilldown-header .close-btn{width:32px;height:32px;padding:0;border-radius:6px;background:transparent;border:1px solid transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray-600);transition:background .15s,color .15s,border-color .15s}.drilldown-modal.split-view .drilldown-header .close-btn:hover{background:var(--gray-100);color:var(--gray-900)}.drilldown-modal.split-view .drilldown-tabs{display:flex;align-items:center;gap:0;padding:0 1.5rem;border-bottom:1px solid var(--gray-200);background:var(--surface);flex-shrink:0;flex-wrap:wrap;row-gap:.5rem}.drilldown-modal.split-view .drilldown-tabs .drilldown-tab{display:inline-flex;align-items:center;gap:.4rem;padding:.625rem 1rem;background:none;border:none;border-bottom:2px solid transparent;border-radius:0;font-size:.875rem;font-weight:500;color:var(--gray-500);cursor:pointer;transition:color .15s,border-color .15s;white-space:nowrap;margin-bottom:-1px}.drilldown-modal.split-view .drilldown-tabs .drilldown-tab:hover{color:var(--gray-700)}.drilldown-modal.split-view .drilldown-tabs .drilldown-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.drilldown-modal.split-view .drilldown-tabs .drilldown-tab .tab-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 4px;border-radius:999px;background:var(--red-100);color:var(--red-600);font-size:.6875rem;font-weight:700}.drilldown-modal.split-view .drilldown-tabs .drilldown-tab .tab-count--closed{background:var(--green-50);color:var(--green-600)}.drilldown-modal.split-view .drilldown-tabs .drilldown-filters{display:flex;align-items:center;gap:.75rem;margin-left:auto;flex-wrap:wrap}.drilldown-modal.split-view .drilldown-tabs .drilldown-filters select{padding:.375rem 2rem .375rem .75rem;border:1px solid var(--gray-200);border-radius:6px;font-size:.8125rem;background:var(--surface);color:var(--gray-700);cursor:pointer;min-width:120px}.drilldown-modal.split-view .drilldown-tabs .drilldown-filters select:focus{outline:none;border-color:var(--color-primary)}.drilldown-modal.split-view .drilldown-tabs .drilldown-filters .ack-toggle{display:flex;align-items:center;gap:.5rem;font-size:.8125rem;color:var(--gray-500);cursor:pointer}.drilldown-modal.split-view .drilldown-tabs .drilldown-filters .ack-toggle input{cursor:pointer}.drilldown-modal.split-view .drilldown-tabs .drilldown-filters .filter-chip{display:inline-flex;align-items:center;padding:.25rem .625rem;border:1px solid var(--gray-200);border-radius:999px;background:var(--gray-100);font-size:.75rem;color:var(--gray-700);cursor:pointer;white-space:nowrap}.drilldown-modal.split-view .drilldown-tabs .drilldown-filters .filter-chip:hover{background:var(--gray-200)}.drilldown-modal.split-view .drilldown-activity{flex:1;overflow-y:auto;padding:1.5rem;min-height:0}.drilldown-modal.split-view .activity-tab{max-width:800px;margin:0 auto}.drilldown-modal.split-view .activity-tab .activity-filters{display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1.5rem}.drilldown-modal.split-view .activity-tab .activity-filter-chip{padding:.3rem .875rem;border:1px solid var(--gray-200);border-radius:999px;background:var(--surface);font-size:.8125rem;color:var(--gray-500);cursor:pointer;transition:all .15s}.drilldown-modal.split-view .activity-tab .activity-filter-chip:hover{border-color:var(--gray-300);color:var(--gray-700)}.drilldown-modal.split-view .activity-tab .activity-filter-chip.active{background:var(--color-primary);border-color:var(--color-primary);color:#fff}.drilldown-modal.split-view .activity-tab .activity-state{text-align:center;color:var(--gray-400);font-size:.875rem;padding:3rem 0}.drilldown-modal.split-view .activity-tab .activity-list{list-style:none;margin:0;padding:0;border-left:2px solid var(--gray-200);margin-left:.5rem}.drilldown-modal.split-view .activity-tab .activity-event{position:relative;padding:.75rem 0 .75rem 1.5rem}.drilldown-modal.split-view .activity-tab .activity-event .activity-event-dot{position:absolute;left:-7px;top:1rem;width:12px;height:12px;border-radius:50%;border:2px solid white}.drilldown-modal.split-view .activity-tab .activity-event .activity-event-body{display:flex;flex-direction:column;gap:.2rem}.drilldown-modal.split-view .activity-tab .activity-event .activity-event-header{display:flex;align-items:baseline;flex-wrap:wrap;gap:.375rem}.drilldown-modal.split-view .activity-tab .activity-event .activity-event-cat{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em}.drilldown-modal.split-view .activity-tab .activity-event .activity-event-type{font-size:.75rem;color:var(--gray-500)}.drilldown-modal.split-view .activity-tab .activity-event .activity-event-time{font-size:.75rem;color:var(--gray-400);margin-left:auto}.drilldown-modal.split-view .activity-tab .activity-event .activity-event-title{font-size:.875rem;color:var(--gray-900);font-weight:500}.drilldown-modal.split-view .activity-tab .activity-event .activity-event-desc{font-size:.8125rem;color:var(--gray-600)}.drilldown-modal.split-view .activity-tab .activity-event .activity-event-meta{font-size:.75rem;color:var(--gray-500)}.drilldown-modal.split-view .activity-tab .activity-event .activity-event-meta code{background:var(--gray-100);padding:1px 4px;border-radius:3px;font-size:.7rem}.drilldown-modal.split-view .drilldown-content{display:flex;flex:1;min-height:0;overflow:hidden}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar{width:350px;border-right:1px solid var(--gray-200);display:flex;flex-direction:column;background:var(--gray-50);flex-shrink:0;text-align:left}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .sidebar-scroll{flex:1;overflow-y:auto;min-height:0}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .sidebar-loading,.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .sidebar-empty{padding:2rem;text-align:center;color:var(--gray-400);font-size:.875rem}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-list{display:flex;flex-direction:column;gap:.5rem;padding:.625rem .625rem .75rem}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item{position:relative;padding:.75rem .875rem .8125rem;background:var(--surface);border:1px solid var(--gray-200);border-radius:10px;cursor:pointer;box-shadow:0 1px 2px #0f172a08;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease,background .15s ease}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item:hover:not(.selected){border-color:var(--gray-300);box-shadow:0 6px 14px #0f172a12;transform:translateY(-1px)}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item.selected{background:linear-gradient(135deg,#336d5312,#336d5304 70%,#336d5300);border-color:#336d5366;box-shadow:0 0 0 3px #336d531a,0 4px 12px #336d5314}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item.selected .item-title{color:var(--gray-900)}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item.selected .item-type{color:var(--color-primary-dark)}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item .item-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.375rem}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item .item-header .severity-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 0 2px #fff,0 0 0 3px #0f172a0d}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item .item-header .item-type{font-size:.75rem;font-weight:600;color:var(--gray-600);flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;letter-spacing:-.005em}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item .item-header .item-date{font-size:.6875rem;color:var(--gray-400);font-variant-numeric:tabular-nums;font-weight:500}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item .item-title{font-size:.875rem;font-weight:500;color:var(--gray-800);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item .item-node{display:flex;align-items:center;gap:.375rem;margin-top:.25rem;min-width:0}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item .item-node code{font-size:.6875rem;font-family:JetBrains Mono,SF Mono,Monaco,monospace;color:var(--gray-700);background:var(--gray-100);border:1px solid var(--gray-200);border-radius:4px;padding:.0625rem .375rem;white-space:nowrap}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item .item-node .item-node-file{font-size:.6875rem;color:var(--gray-400);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item .item-badge{display:inline-flex;align-items:center;margin-top:.375rem;padding:.125rem .5rem;border-radius:999px;font-size:.6875rem;font-weight:600;letter-spacing:.02em}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item .item-badge+.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item .item-badge{margin-left:.375rem}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item .item-badge--fixed{background:var(--green-50);color:var(--green-600);border:1px solid var(--green-200)}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item .item-badge--ack{background:var(--gray-100);color:var(--gray-500);border:1px solid var(--gray-200)}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item .item-badge--drift{background:var(--purple-50);color:var(--purple-600);border:1px solid var(--purple-200)}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item .item-badge--violation,.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item .item-badge--vuln-reachable{background:var(--red-50);color:var(--red-600);border:1px solid var(--red-200)}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item .item-badge--vuln-unreachable{background:var(--green-50);color:var(--green-600);border:1px solid var(--green-200)}.drilldown-modal.split-view .drilldown-content .drilldown-sidebar .insight-item .item-badge--vuln-unknown{background:var(--amber-50);color:var(--amber-600);border:1px solid var(--amber-200)}.drilldown-modal.split-view .drilldown-content .sidebar-pagination{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-top:1px solid var(--gray-200);background:var(--gray-50);flex-shrink:0}.drilldown-modal.split-view .drilldown-content .sidebar-pagination span{font-size:.8125rem;color:var(--gray-500)}.drilldown-modal.split-view .drilldown-content .sidebar-pagination button{width:28px;height:28px;border:1px solid var(--gray-200);border-radius:6px;background:var(--surface);color:var(--gray-700);font-size:.875rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s}.drilldown-modal.split-view .drilldown-content .sidebar-pagination button:hover:not(:disabled){border-color:var(--color-primary);color:var(--color-primary)}.drilldown-modal.split-view .drilldown-content .sidebar-pagination button:disabled{opacity:.35;cursor:not-allowed}.drilldown-modal.split-view .drilldown-content .drilldown-main{flex:1;display:flex;flex-direction:column;overflow-y:auto;background:var(--surface)}.drilldown-modal.split-view .drilldown-content .drilldown-main .detail-empty{display:flex;align-items:center;justify-content:center;height:100%;color:var(--gray-400);font-size:.9375rem}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail{padding:2rem;max-width:900px;margin:0 auto;width:100%}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-header{position:relative;margin-bottom:1.75rem;padding:1.25rem 1.5rem 1.125rem;background:linear-gradient(180deg,var(--surface) 0%,var(--gray-50) 100%);border:1px solid var(--gray-100);border-radius:14px;box-shadow:0 1px 2px #0f172a08}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-header .detail-title-row{display:flex;align-items:flex-start;justify-content:space-between;gap:1.5rem;margin-bottom:.875rem}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-header .detail-title-row h3{margin:0;font-size:1rem;font-weight:500;color:var(--gray-700);line-height:1.55;letter-spacing:0;text-align:left;max-width:60ch}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-header .detail-title-row .detail-actions{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-header .detail-title-row .ack-btn-lg,.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-header .detail-title-row .timeline-btn-lg{display:inline-flex;align-items:center;gap:.375rem;padding:.4375rem .875rem;background:var(--surface);border:1px solid var(--gray-200);border-radius:8px;color:var(--gray-700);font-size:.8125rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:transform .15s ease,box-shadow .15s ease,border-color .15s ease,color .15s ease,background .15s ease;box-shadow:0 1px 2px #0f172a0a}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-header .detail-title-row .ack-btn-lg:hover,.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-header .detail-title-row .timeline-btn-lg:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--gray-50);box-shadow:0 3px 8px #336d5324;transform:translateY(-1px)}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-header .detail-title-row .ack-btn-lg:active,.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-header .detail-title-row .timeline-btn-lg:active{transform:translateY(0);box-shadow:0 1px 2px #0f172a0f}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-header .detail-title-row .ack-btn-lg--active{background:var(--green-50);border-color:var(--green-200);color:var(--green-700)}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-header .detail-title-row .ack-btn-lg--active svg{flex-shrink:0}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-header .detail-title-row .ack-btn-lg--active:hover{background:var(--red-50);border-color:var(--red-200);color:var(--red-700);box-shadow:0 3px 8px #b91c1c1f}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-header .detail-title-row .timeline-btn-lg{margin-left:0}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-header .detail-title-row .ack-badge{display:inline-flex;align-items:center;gap:.375rem;padding:.4375rem .75rem;background:var(--green-50);color:var(--green-700);border:1px solid var(--green-200);border-radius:8px;font-size:.8125rem;font-weight:600}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-header .detail-title-row .ack-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-header .detail-meta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-header .detail-meta .meta-tag{display:inline-flex;align-items:center;gap:.375rem;padding:.3125rem .625rem;border:1px solid var(--gray-200);border-radius:7px;font-size:.75rem;font-weight:600;color:var(--gray-600);background:var(--surface);text-transform:capitalize;letter-spacing:.005em;box-shadow:0 1px 1px #0f172a05}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-header .detail-meta .meta-tag[style*=color]:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-header .detail-meta .meta-date{font-size:.75rem;color:var(--gray-500);margin-left:auto;font-variant-numeric:tabular-nums;font-weight:500}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-body .description-box{background:var(--gray-100);padding:1rem 1.25rem;border-radius:0 8px 8px 0;color:var(--gray-700);font-size:.9375rem;line-height:1.6;margin-bottom:2rem;border-left:4px solid var(--gray-300);text-align:left}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-body .json-viewer-container{margin-top:1.25rem;border:1px solid var(--gray-200);border-radius:8px;background:var(--gray-50);overflow:hidden;transition:border-color .15s ease}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-body .json-viewer-container[open]{border-color:var(--gray-300)}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-body .json-viewer-container>summary{display:flex;align-items:center;gap:.5rem;padding:.6rem .875rem;font-size:.8125rem;font-weight:600;color:var(--gray-600);cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-body .json-viewer-container>summary::-webkit-details-marker{display:none}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-body .json-viewer-container>summary .raw-details-chevron{font-size:.7rem;color:var(--gray-400);transition:transform .15s ease}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-body .json-viewer-container>summary .raw-details-label{text-transform:uppercase;letter-spacing:.05em}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-body .json-viewer-container>summary .raw-details-hint{color:var(--gray-400);font-weight:500;text-transform:none;letter-spacing:0}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-body .json-viewer-container>summary:hover{color:var(--gray-800)}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-body .json-viewer-container[open]>summary .raw-details-chevron{transform:rotate(90deg)}.drilldown-modal.split-view .drilldown-content .drilldown-main .insight-detail .detail-body .json-viewer-container .json-scroll{background:#0f172a;border-top:1px solid var(--gray-200);padding:1.25rem 1.5rem;overflow-x:auto;font-family:JetBrains Mono,Fira Code,monospace;font-size:.8125rem;line-height:1.5;color:#e2e8f0;box-shadow:inset 0 2px 4px #0000004d;text-align:left;max-height:360px;overflow-y:auto}.json-key{color:#7dd3fc}.json-str{color:#a5f3fc}.json-num{color:#fca5a5}.json-bool{color:var(--amber-300)}.json-null{color:var(--gray-400);font-style:italic}.json-punct{color:var(--gray-500)}.json-obj,.json-array{display:block}.json-indent{padding-left:1.5rem;border-left:1px solid rgba(255,255,255,.1);margin-left:.25rem}.json-item,.json-prop{margin:2px 0;display:block}.type-detail-box{background:var(--surface);border:1px solid var(--gray-100);border-radius:14px;padding:1.125rem 1.25rem;margin-bottom:1.25rem;display:flex;flex-direction:column;gap:.5rem;box-shadow:0 1px 3px #0f172a0a,0 1px 2px #0f172a05}.type-detail-row{display:flex;align-items:center;gap:.75rem;padding:.375rem 0}.type-detail-label{font-size:.6875rem;color:var(--gray-500);font-weight:700;min-width:110px;flex-shrink:0;text-align:left;text-transform:uppercase;letter-spacing:.06em}.type-detail-code{font-size:.8125rem;font-family:JetBrains Mono,SF Mono,Monaco,monospace;color:var(--gray-800);background:var(--gray-100);padding:.1875rem .5rem;border-radius:5px;word-break:break-all;border:1px solid var(--gray-200);font-weight:500}.type-detail-services{display:inline-flex;align-items:center;gap:.25rem}.type-detail-services .type-detail-arrow{color:var(--gray-400);font-weight:500}.type-detail-absent{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;color:var(--red-700);background:var(--red-50);border:1px solid var(--red-200);padding:.25rem .5rem .25rem .4375rem;border-radius:6px;font-weight:600;font-style:normal;letter-spacing:.005em}.type-detail-absent:before{content:"";width:5px;height:5px;border-radius:50%;background:currentColor;flex-shrink:0}.type-detail-versions{display:flex;align-items:center;gap:.5rem}.dep-version-old{font-size:.75rem;font-family:JetBrains Mono,SF Mono,Monaco,monospace;padding:.1875rem .5rem;border-radius:5px;background:var(--red-50);color:var(--red-700);text-decoration:line-through;border:1px solid var(--red-200);font-weight:500}.dep-version-new{font-size:.75rem;font-family:JetBrains Mono,SF Mono,Monaco,monospace;padding:.1875rem .5rem;border-radius:5px;background:var(--green-50);color:var(--green-700);border:1px solid var(--green-200);font-weight:600}.dep-version-arrow{color:var(--gray-400);font-weight:600}.type-detail-split{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.375rem}.type-detail-side{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:12px;padding:.875rem 1rem .9375rem;display:flex;flex-direction:column;gap:.375rem;transition:border-color .15s ease,box-shadow .15s ease,background .15s ease}.type-detail-side:hover{border-color:var(--gray-200);background:var(--surface);box-shadow:0 4px 12px #0f172a0d}.type-detail-side .type-detail-row{padding:.1875rem 0;gap:.625rem}.type-detail-side .type-detail-label{min-width:0}.type-detail-side-summary{font-size:.8125rem;color:var(--gray-700);line-height:1.5;padding:.125rem 0 .25rem;text-align:left}.type-detail-side-summary code.type-detail-code{font-size:.75rem;padding:.0625rem .375rem;margin:0 .0625rem}.type-detail-foot{margin-top:.25rem;font-size:.6875rem;color:var(--gray-400);font-weight:500;letter-spacing:.01em;text-align:left}.type-detail-evidence{margin-top:.5rem;padding-top:.625rem;border-top:1px dashed var(--gray-200)}.type-detail-evidence-content{display:inline-flex;align-items:center;gap:.5rem;flex-wrap:wrap}.type-detail-evidence-type{font-size:.75rem;color:var(--gray-600);font-weight:600}.evidence-confidence{display:inline-flex;align-items:center;gap:.375rem}.evidence-confidence .evidence-confidence-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.evidence-confidence .evidence-confidence-label{font-size:.6875rem;font-weight:600;color:var(--gray-600);letter-spacing:.01em}.evidence-confidence--good .evidence-confidence-dot{background:var(--color-success)}.evidence-confidence--mid .evidence-confidence-dot{background:var(--color-warning)}.evidence-confidence--low .evidence-confidence-dot{background:var(--color-error)}.type-detail-side-label{display:flex;align-items:center;gap:.5rem;align-self:stretch;font-size:.9375rem;font-weight:700;letter-spacing:-.005em;color:var(--gray-900);margin:0 -.25rem .625rem;padding:0 .25rem .5rem;border-bottom:1px solid var(--gray-100)}.type-detail-side-label:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;box-shadow:0 0 0 3px var(--side-dot-halo, rgba(15, 23, 42, .06));flex-shrink:0}.type-detail-side-label--consumer{--side-dot-halo: var(--blue-100)}.type-detail-side-label--consumer:before{background:var(--blue-600)}.type-detail-side-label--provider{--side-dot-halo: var(--purple-100)}.type-detail-side-label--provider:before{background:var(--purple-600)}.type-detail-link{font-size:.8125rem;font-weight:600;color:var(--color-primary-dark);text-decoration:none}.type-detail-link:hover{text-decoration:underline}.type-detail-cvss{font-size:.8125rem;font-weight:700;color:var(--gray-700)}.type-detail-row--block{align-items:flex-start;flex-direction:column;gap:.375rem}.type-detail-call-sites{display:flex;flex-direction:column;gap:.25rem;width:100%;padding-left:.125rem}.type-detail-call-site{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;flex-wrap:wrap}.type-detail-call-site-arrow{color:var(--gray-400);font-weight:600}.type-detail-safe{font-size:.8125rem;color:var(--green-600);font-weight:500;background:var(--green-50);border:1px solid var(--green-100);border-radius:6px;padding:.5rem .75rem}.timeline-drawer{position:absolute;top:0;right:0;bottom:0;left:0;background:#0f172a73;display:flex;justify-content:flex-end;z-index:10}.timeline-drawer .timeline-drawer-panel{width:min(560px,80%);height:100%;background:var(--surface);box-shadow:-8px 0 24px #0000001f;display:flex;flex-direction:column;overflow:hidden}.timeline-drawer .timeline-drawer-panel .timeline-drawer-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.25rem;border-bottom:1px solid var(--gray-200)}.timeline-drawer .timeline-drawer-panel .timeline-drawer-header h3{margin:0;font-size:1rem;color:var(--gray-900)}.timeline-drawer .timeline-drawer-panel .timeline-drawer-header .close-btn{width:32px;height:32px;padding:0;border-radius:6px;background:transparent;border:1px solid transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray-600);transition:background .15s,color .15s,border-color .15s}.timeline-drawer .timeline-drawer-panel .timeline-drawer-header .close-btn:hover{background:var(--gray-100);color:var(--gray-900)}.timeline-drawer .timeline-drawer-panel .timeline-drawer-body{flex:1;overflow-y:auto;padding:1rem 1.25rem}.timeline-drawer .timeline-loading,.timeline-drawer .timeline-empty{color:var(--gray-500);font-size:.875rem;padding:2rem 0;text-align:center}.timeline-drawer .timeline-list{list-style:none;margin:0;padding:.25rem 0 .5rem;position:relative}.timeline-drawer .timeline-event{position:relative;margin:0 0 .625rem 1.875rem;padding:.75rem .9375rem .8125rem;background:var(--surface);border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 1px 2px #0f172a08;transition:border-color .15s ease,box-shadow .15s ease,transform .15s ease}.timeline-drawer .timeline-event:hover{border-color:var(--gray-300);box-shadow:0 6px 16px #0f172a12;transform:translateY(-1px)}.timeline-drawer .timeline-event:before{content:"";position:absolute;left:-1.625rem;top:.9375rem;width:10px;height:10px;border-radius:50%;background:var(--gray-400);box-shadow:0 0 0 3px #fff,0 0 0 5px #94a3b838;z-index:1}.timeline-drawer .timeline-event:after{content:"";position:absolute;left:-1.375rem;top:-.625rem;bottom:-.625rem;width:2px;background:linear-gradient(180deg,var(--gray-200) 0%,var(--gray-100) 100%);border-radius:1px;z-index:0}.timeline-drawer .timeline-event:first-child:after{top:1.25rem}.timeline-drawer .timeline-event:last-child:after{bottom:auto;height:1.875rem}.timeline-drawer .timeline-event:first-child:last-child:after{display:none}.timeline-drawer .timeline-event--insight:before{background:var(--blue-600);box-shadow:0 0 0 3px #fff,0 0 0 5px #3462f638}.timeline-drawer .timeline-event--scan:before{background:var(--purple-600);box-shadow:0 0 0 3px #fff,0 0 0 5px #7c3aed38}.timeline-drawer .timeline-event--workflow:before{background:var(--green-600);box-shadow:0 0 0 3px #fff,0 0 0 5px #05966938}.timeline-drawer .timeline-event--user_action:before{background:var(--amber-600);box-shadow:0 0 0 3px #fff,0 0 0 5px #d9770638}.timeline-drawer .timeline-event--opened:before{background:var(--red-500);box-shadow:0 0 0 3px #fff,0 0 0 5px #ef444438}.timeline-drawer .timeline-event--closed:before{background:var(--green-500);box-shadow:0 0 0 3px #fff,0 0 0 5px #10b98138}.timeline-drawer .timeline-event--acknowledged:before{background:var(--indigo-500);box-shadow:0 0 0 3px #fff,0 0 0 5px #6366f138}.timeline-drawer .timeline-event--unacknowledged:before{background:var(--gray-400);box-shadow:0 0 0 3px #fff,0 0 0 5px #94a3b847}.timeline-drawer .timeline-event .timeline-event-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.4375rem}.timeline-drawer .timeline-event .timeline-event-type{display:inline-flex;align-items:center;padding:.1875rem .5rem;background:var(--gray-100);border:1px solid var(--gray-200);border-radius:5px;font-size:.6875rem;font-weight:500;color:var(--gray-600)}.timeline-drawer .timeline-event .timeline-event-when{font-size:.6875rem;color:var(--gray-400);font-variant-numeric:tabular-nums;font-weight:400;flex-shrink:0}.timeline-drawer .timeline-event .timeline-event-title{font-size:.875rem;font-weight:500;color:var(--gray-900);line-height:1.4;text-align:left;margin:0 0 .1875rem;letter-spacing:-.005em}.timeline-drawer .timeline-event .timeline-event-desc{font-size:.8125rem;font-weight:400;color:var(--gray-600);line-height:1.5;text-align:left;margin:0 0 .375rem}.timeline-drawer .timeline-event .timeline-event-commit,.timeline-drawer .timeline-event .timeline-event-actor{display:inline-flex;align-items:center;gap:.375rem;font-size:.75rem;font-weight:400;color:var(--gray-500);margin-top:.25rem;margin-right:.625rem}.timeline-drawer .timeline-event .timeline-event-commit code,.timeline-drawer .timeline-event .timeline-event-actor code{background:var(--gray-100);border:1px solid var(--gray-200);padding:.0625rem .4375rem;border-radius:4px;font-size:.6875rem;font-family:JetBrains Mono,SF Mono,Monaco,monospace;color:var(--gray-800);font-weight:400}.drilldown-modal{position:relative}.fix-suggestion-card{position:relative;margin:1.5rem 0;background:var(--surface);border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 1px 2px #0f172a0a;overflow:hidden;text-align:left}.fix-suggestion-card:before{content:"";position:absolute;top:0;bottom:0;left:0;width:4px;background:linear-gradient(180deg,var(--color-primary) 0%,#244e3d 100%)}.fix-suggestion-card__header{display:flex;align-items:center;gap:.75rem;padding:.875rem 1.25rem;border-bottom:1px solid var(--gray-100);background:linear-gradient(180deg,var(--gray-100) 0%,var(--surface) 100%)}.fix-suggestion-card__icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;background:var(--color-primary);color:#fff;flex-shrink:0}.fix-suggestion-card__title-block{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.2}.fix-suggestion-card__title{margin:0;font-size:.95rem;font-weight:700;color:var(--gray-900);letter-spacing:-.005em}.fix-suggestion-card__subtitle{margin-top:.15rem;font-size:.7rem;font-weight:500;color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em}.fix-suggestion-card__body{padding:1rem 1.25rem;font-size:.875rem;line-height:1.65;color:var(--gray-800)}.fix-suggestion-card__body>:first-child{margin-top:0}.fix-suggestion-card__body>:last-child{margin-bottom:0}.fix-suggestion-card__body h1,.fix-suggestion-card__body h2,.fix-suggestion-card__body h3,.fix-suggestion-card__body h4{margin:1.1rem 0 .5rem;font-weight:700;color:var(--gray-900);letter-spacing:-.01em}.fix-suggestion-card__body h1{font-size:1rem}.fix-suggestion-card__body h2{font-size:.95rem}.fix-suggestion-card__body h3{font-size:.88rem}.fix-suggestion-card__body h4{font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;color:var(--gray-600)}.fix-suggestion-card__body p{margin:0 0 .65rem}.fix-suggestion-card__body ul,.fix-suggestion-card__body ol{margin:.25rem 0 .75rem 1.25rem;padding:0}.fix-suggestion-card__body li{margin-bottom:.3rem}.fix-suggestion-card__body li::marker{color:var(--color-primary)}.fix-suggestion-card__body strong{font-weight:700;color:var(--gray-900)}.fix-suggestion-card__body em{color:var(--gray-600)}.fix-suggestion-card__body table{display:block;width:100%;overflow-x:auto;border-collapse:collapse;margin:.5rem 0 .75rem;font-size:.8rem}.fix-suggestion-card__body table th,.fix-suggestion-card__body table td{border:1px solid var(--gray-200);padding:.3rem .55rem;text-align:left;white-space:nowrap}.fix-suggestion-card__body table th{background:var(--gray-100);font-weight:600}.fix-suggestion-card__body table tr:nth-child(2n) td{background:var(--gray-50)}.fix-suggestion-card__body code{background:var(--gray-100);border:1px solid var(--gray-200);padding:.05rem .4rem;border-radius:4px;font-family:JetBrains Mono,SF Mono,Monaco,monospace;font-size:.78rem;color:#244e3d}.fix-suggestion-card__body pre{margin:.5rem 0 .85rem;background:#0f172a;color:#e2e8f0;padding:.85rem 1rem;border-radius:8px;overflow-x:auto;font-size:.78rem;line-height:1.55;box-shadow:inset 0 2px 6px #00000059}.fix-suggestion-card__body pre code{background:transparent;border:none;padding:0;color:inherit;font-size:inherit}.fix-suggestion-card__body a{color:var(--color-primary);text-decoration:underline;text-underline-offset:2px}.fix-suggestion-card__body a:hover{color:#244e3d}.fix-suggestion-card__body blockquote{margin:.5rem 0;padding:.4rem .85rem;border-left:3px solid var(--gray-200);color:var(--gray-600);font-style:italic}.fix-suggestion-card__sources{padding:.75rem 1.25rem;background:var(--gray-50);border-top:1px solid var(--gray-100);display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.fix-suggestion-card__sources-label{display:inline-flex;align-items:center;gap:.35rem;font-size:.7rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.06em;margin-right:.5rem}.fix-suggestion-card__sources ul{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}.fix-suggestion-card__sources li code{display:inline-block;font-size:.72rem;color:#244e3d;background:var(--gray-100);border:1px solid rgba(var(--color-primary),.2);padding:.15rem .5rem;border-radius:999px;font-family:JetBrains Mono,SF Mono,Monaco,monospace}.drift-target-label{font-size:.6875rem;font-weight:600;color:var(--purple-600);background:var(--purple-50);border:1px solid var(--purple-200);border-radius:999px;padding:.125rem .5rem;letter-spacing:.02em}.item-node-kind{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.03em;color:var(--amber-700);background:var(--amber-50);border-radius:4px;padding:.0625rem .375rem;margin-right:.375rem}.drift-source-icon{display:inline-flex;align-items:center;flex-shrink:0}.drift-claims{display:flex;flex-direction:column;gap:.5rem;width:100%}.drift-claim{border:1px solid var(--gray-200);border-radius:10px;overflow:hidden}.drift-claim-side{display:flex;align-items:baseline;gap:.625rem;padding:.5625rem .75rem;text-align:left}.drift-claim-side--doc{background:var(--amber-50);border-bottom:1px solid var(--gray-200)}.drift-claim-side--code{background:var(--gray-50)}.drift-claim-tag{flex-shrink:0;min-width:82px;font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em}.drift-claim-side--doc .drift-claim-tag{color:var(--amber-700)}.drift-claim-side--code .drift-claim-tag{color:var(--gray-600)}.drift-claim-text{font-size:.8125rem;color:var(--gray-700);line-height:1.5}.drift-claim-side--doc .drift-claim-text{font-style:italic}.incoming-impact-modal .item-subtitle{font-size:.75rem;color:var(--gray-500);margin-top:4px}.incoming-impact-modal .item-subtitle code{font-family:monospace;color:var(--gray-700);background:var(--gray-100);padding:1px 5px;border-radius:3px}.incoming-impact-modal .insight-empty{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;color:var(--gray-500);padding:32px;text-align:center}.incoming-impact-modal .insight-empty p{margin:0 0 6px;font-size:13px}.incoming-impact-modal .insight-empty__hint{font-size:12px;color:var(--gray-400)}.dep-pie-chart{position:relative}.dep-pie-chart .dep-pie-container{position:relative;display:flex;align-items:center;justify-content:center}.dep-pie-chart .dep-pie-container .dep-pie-center{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);text-align:center;pointer-events:none}.dep-pie-chart .dep-pie-container .dep-pie-center .center-value{font-size:1.25rem;font-weight:700;color:var(--gray-900);line-height:1}.dep-pie-chart .dep-pie-container .dep-pie-center .center-label{font-size:.6875rem;color:var(--gray-500);font-weight:500;margin-top:.125rem}.dep-pie-chart .dep-pie-tooltip{position:fixed;background:#000000e0;color:#fff;padding:.5rem .75rem;border-radius:6px;pointer-events:none;z-index:1000;font-size:.8125rem}.dep-pie-chart .dep-pie-tooltip .tooltip-name{font-weight:600;margin-bottom:.125rem}.dep-pie-chart .dep-pie-tooltip .tooltip-value{font-size:.75rem;opacity:.9}.health-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;min-height:120px;padding:1rem;text-align:center}.health-empty-title{font-size:.875rem;font-weight:600;color:var(--gray-600);margin-bottom:.25rem}.health-empty-sub{font-size:.75rem;color:var(--gray-400)}.health-split-card{display:flex;flex-direction:column;flex:1;min-height:0;overflow:visible}.health-split-card .risk-chart-container{gap:.5rem}.health-split-card .risk-chart-container .chart-wrapper{min-width:100px}.health-split-card .risk-chart-container .chart-legend-side{gap:.25rem}.health-split-card .risk-chart-container .chart-legend-side .legend-item{font-size:.6875rem;padding:0}.health-split-top{flex:1;min-height:0}.health-split-bottom{border-top:1px solid var(--gray-100);padding-top:.375rem;margin-top:.375rem;flex-shrink:0}.health-trend-header{margin-bottom:.25rem}.health-trend-title{font-size:.625rem;font-weight:600;color:var(--gray-400);text-transform:uppercase;letter-spacing:.04em}.health-sparkline{width:100%;height:32px;position:relative}.health-sparkline canvas{display:block}.sparkline-tooltip{position:fixed;transform:translate(-50%,-110%);background:#1e293b;color:#fff;border-radius:6px;padding:3px 8px;font-size:.625rem;white-space:nowrap;pointer-events:none;z-index:100;display:flex;align-items:center;gap:.375rem;box-shadow:0 2px 6px #0003}.sparkline-tooltip .sparkline-tooltip-score{font-weight:700}.sparkline-tooltip .sparkline-tooltip-date{color:var(--gray-400)}.enrich-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.enrich-modal{background:var(--surface);border-radius:12px;width:min(720px,94vw);max-height:85vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003;overflow:hidden}.enrich-modal .enrich-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.5rem;border-bottom:1px solid var(--gray-200);background:var(--surface);flex-shrink:0}.enrich-modal .enrich-header h2{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin:0;text-align:left}.enrich-modal .enrich-header .enrich-subtitle{margin:2px 0 0;font-size:.75rem;color:var(--gray-500);text-align:left}.enrich-modal .enrich-header .close-btn{width:32px;height:32px;min-width:32px;padding:0;border-radius:6px;background:transparent;border:1px solid transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray-600);transition:background .15s,color .15s}.enrich-modal .enrich-header .close-btn:hover{background:var(--gray-100);color:var(--gray-900)}.enrich-modal .enrich-body{padding:1rem 1.5rem 1.5rem;text-align:left;overflow-y:auto;flex:1}.enrich-back-link{display:inline-flex;align-items:center;gap:.375rem;background:none;border:none;padding:0;margin-bottom:.875rem;font-size:.8125rem;font-weight:500;color:var(--gray-500);cursor:pointer}.enrich-back-link:hover{color:var(--gray-900)}.enrich-error{background:var(--red-50);border:1px solid var(--red-200);color:var(--red-700);border-radius:8px;padding:.625rem .875rem;font-size:.8125rem;margin-bottom:1rem}.enrich-primary-btn,.enrich-secondary-btn,.enrich-danger-btn{display:inline-flex;align-items:center;gap:.375rem;border-radius:8px;padding:.5rem .875rem;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s,border-color .15s,color .15s;border:1px solid transparent}.enrich-primary-btn:disabled,.enrich-secondary-btn:disabled,.enrich-danger-btn:disabled{opacity:.5;cursor:not-allowed}.enrich-primary-btn{background:#1a1a1a;color:#fff}.enrich-primary-btn:hover:not(:disabled){background:#333}.enrich-secondary-btn{background:var(--surface);border-color:var(--gray-200);color:var(--gray-700)}.enrich-secondary-btn:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-300)}.enrich-danger-btn{background:var(--surface);border-color:var(--red-200);color:var(--red-600)}.enrich-danger-btn:hover:not(:disabled){background:var(--red-50)}.enrich-field{margin-bottom:1rem}.enrich-field>label{display:block;margin-bottom:.375rem;font-weight:600;color:var(--gray-700);font-size:.8125rem}.enrich-input,.enrich-select,.enrich-textarea{width:100%;border:1px solid var(--gray-200);border-radius:8px;padding:.5rem .75rem;font-size:.875rem;color:var(--gray-800);background:var(--surface);outline:none;transition:border-color .15s,box-shadow .15s;box-sizing:border-box;font-family:inherit}.enrich-input:focus,.enrich-select:focus,.enrich-textarea:focus{border-color:var(--gray-400);box-shadow:0 0 0 3px #94a3b826}.enrich-input::placeholder,.enrich-select::placeholder,.enrich-textarea::placeholder{color:var(--gray-400)}.enrich-textarea{min-height:200px;font-family:JetBrains Mono,Menlo,Consolas,monospace;font-size:.8125rem;line-height:1.55;resize:vertical}.enrich-type-icon{display:inline-block;vertical-align:middle;border-radius:3px;object-fit:contain;flex-shrink:0}.enrich-dd{position:relative}.enrich-dd-trigger{display:flex;align-items:center;gap:.5rem;width:100%;border:1px solid var(--gray-200);border-radius:8px;padding:.5rem .75rem;font-size:.875rem;color:var(--gray-800);background:var(--surface);cursor:pointer;transition:border-color .15s}.enrich-dd-trigger:hover{border-color:var(--gray-300)}.enrich-dd-trigger .enrich-dd-label{flex:1;text-align:left;font-weight:500}.enrich-dd-trigger .enrich-dd-chevron{color:var(--gray-400)}.enrich-dd-panel{position:absolute;top:calc(100% + 6px);left:0;right:0;z-index:30;background:var(--surface);border-radius:12px;box-shadow:0 10px 32px #0f172a29;border:1px solid var(--gray-100);padding:.625rem}.enrich-dd-search{display:flex;align-items:center;gap:.5rem;background:var(--gray-100);border-radius:8px;padding:.5rem .75rem;color:var(--gray-400);margin-bottom:.5rem}.enrich-dd-search input{flex:1;border:none;background:none;outline:none;font-size:.875rem;color:var(--gray-800);font-family:inherit}.enrich-dd-search input::placeholder{color:var(--gray-400)}.enrich-dd-search.enrich-search-standalone{background:var(--gray-100);margin-bottom:.375rem}.enrich-dd-list{border-top:1px solid var(--gray-100);padding-top:.375rem;max-height:240px;overflow-y:auto}.enrich-dd-empty{color:var(--gray-400);font-size:.8125rem;padding:.5rem .625rem}.enrich-dd-option{display:flex;align-items:center;gap:.625rem;width:100%;padding:.5625rem .625rem;background:none;border:none;border-radius:8px;cursor:pointer;text-align:left;font-size:.875rem;color:var(--gray-800);font-family:inherit;margin-bottom:2px;transition:background .12s}.enrich-dd-option:hover:not(:disabled){background:var(--gray-100)}.enrich-dd-option.selected{background:var(--gray-100);font-weight:600}.enrich-dd-option:disabled{cursor:default;color:var(--gray-400)}.enrich-dd-option:disabled .enrich-type-icon{opacity:.9}.enrich-dd-option .enrich-dd-option-label{flex:1}.enrich-dd-option .enrich-dd-soon{font-size:.6875rem;font-weight:600;color:var(--color-primary);background:#336d531a;border-radius:5px;padding:1px 6px;white-space:nowrap}.enrich-dd-option .enrich-dd-check{color:var(--gray-800);flex-shrink:0}.enrich-actions{display:flex;justify-content:flex-end;gap:.625rem;margin-top:.75rem}.enrich-toolbar{display:flex;justify-content:flex-end;margin-bottom:.75rem}.enrich-loading,.enrich-picker-hint{color:var(--gray-400);font-size:.8125rem;padding:.375rem 0}.enrich-empty{text-align:center;padding:2.5rem 1rem;color:var(--gray-600)}.enrich-empty .enrich-empty-icon{font-size:1.75rem;display:block;margin-bottom:.5rem}.enrich-empty p{margin:.25rem 0;font-weight:600;font-size:.875rem}.enrich-empty .enrich-empty-sub{font-weight:400;font-size:.8125rem;color:var(--gray-400);max-width:400px;margin:.375rem auto 0;line-height:1.5}.enrich-row{display:flex;align-items:center;gap:.75rem;padding:.625rem .75rem;border:1px solid var(--gray-200);border-radius:8px;margin-bottom:.5rem;cursor:pointer;transition:border-color .15s,background .15s;background:var(--surface)}.enrich-row:hover{border-color:var(--gray-300);background:var(--gray-50)}.enrich-row-icon{display:flex;align-items:center}.enrich-row-main{flex:1;display:flex;flex-direction:column;gap:1px;min-width:0}.enrich-row-title{font-weight:600;color:var(--gray-800);font-size:.875rem}.enrich-row-meta{font-size:.71875rem;color:var(--gray-400)}.enrich-row-delete{background:none;border:none;color:#d1d5db;cursor:pointer;padding:.375rem;border-radius:6px;display:flex;transition:color .15s,background .15s}.enrich-row-delete:hover{color:var(--red-600);background:var(--red-50)}.enrich-detail-meta{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.enrich-detail-meta .enrich-detail-actions{margin-left:auto;display:flex;gap:.5rem}.enrich-content-view{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;padding:.875rem 1rem;font-family:JetBrains Mono,Menlo,Consolas,monospace;font-size:.78125rem;line-height:1.6;color:var(--gray-700);white-space:pre-wrap;word-break:break-word;max-height:300px;overflow-y:auto;margin:0 0 1rem}.enrich-label-badge{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border:1px solid;border-radius:5px;padding:1px 6px;white-space:nowrap}.enrich-node-picker{margin-top:.5rem}.enrich-node-picker .enrich-input{margin-bottom:.375rem}.enrich-picker-results{border:1px solid var(--gray-200);border-radius:8px;overflow:hidden auto;max-height:200px}.enrich-picker-row{display:flex;align-items:center;gap:.625rem;width:100%;padding:.5rem .75rem;background:none;border:none;border-bottom:1px solid var(--gray-100);cursor:pointer;text-align:left;font-size:.8125rem}.enrich-picker-row:last-child{border-bottom:none}.enrich-picker-row:hover:not(:disabled){background:var(--gray-50)}.enrich-picker-row:disabled{opacity:.55;cursor:default}.enrich-picker-name{font-weight:600;color:var(--gray-800);white-space:nowrap}.enrich-picker-loc{color:var(--gray-400);font-size:.71875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;flex:1}.enrich-picker-attached{font-size:.6875rem;color:var(--green-600);font-weight:600}.enrich-attached-list{margin-top:1rem}.enrich-attached-list>label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--gray-700);font-size:.8125rem}.enrich-link-row{display:flex;align-items:center;gap:.625rem;padding:.5rem .75rem;border:1px solid var(--gray-200);border-radius:8px;margin-bottom:.375rem;font-size:.8125rem;background:var(--surface)}.enrich-link-row.stale{border-left:3px solid var(--amber-500);border-top-left-radius:0;border-bottom-left-radius:0}.enrich-link-row.broken{border-left:3px solid var(--red-600);border-top-left-radius:0;border-bottom-left-radius:0}.enrich-stale-badge{font-size:.6875rem;font-weight:700;color:var(--amber-700);background:var(--amber-100);border-radius:5px;padding:1px 6px;white-space:nowrap}.enrich-stale-badge.broken{color:var(--red-700);background:var(--red-100)}.enrich-verify-btn{background:var(--surface);border:1px solid var(--green-200);color:var(--green-700);border-radius:6px;padding:.25rem .5rem;font-size:.71875rem;font-weight:600;cursor:pointer;white-space:nowrap}.enrich-verify-btn:hover{background:var(--green-50)}.enrich-char-counter{margin-top:.25rem;font-size:.6875rem;color:var(--gray-400);text-align:right;font-variant-numeric:tabular-nums}.enrich-char-counter--warn{color:var(--amber-600)}.enrich-char-counter--full{color:var(--red-600);font-weight:600}.business-flow-modal{background:var(--surface);border-radius:12px;width:min(640px,92vw);max-height:84vh;overflow-y:auto;box-shadow:0 18px 50px #02061759}.business-flow-modal-header{display:flex;align-items:center;gap:.625rem;padding:1rem 1.25rem;border-bottom:1px solid var(--gray-200);position:sticky;top:0;background:inherit;z-index:1}.business-flow-modal-icon{display:flex;align-items:center;flex-shrink:0}.business-flow-modal-title{flex:1;margin:0;font-size:.9375rem;font-weight:600;color:var(--gray-900);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.business-flow-rename-input{flex:1;font-size:.875rem;padding:.25rem .5rem;border:1px solid var(--gray-300);border-radius:6px;background:var(--surface);color:var(--gray-900)}.business-flow-modal-actions{display:flex;gap:.25rem;flex-shrink:0}.business-flow-modal-actions button{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:6px;background:transparent;color:var(--gray-500);cursor:pointer}.business-flow-modal-actions button:hover{background:var(--gray-100);color:var(--gray-900)}.business-flow-modal-loading{padding:2rem;text-align:center;color:var(--gray-500);font-size:.8125rem}.business-flow-modal-body{padding:1rem 1.25rem 1.25rem}.business-flow-narrative{margin:0 0 .75rem;font-size:.8125rem;line-height:1.5;color:var(--gray-700)}.business-flow-section-title{margin:1rem 0 .5rem;font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--gray-500)}.business-flow-section-title .flow-count{font-weight:500}.business-flow-chain{margin:0;padding:0;list-style:none;display:flex;flex-direction:column}.bf-step{display:flex;gap:.75rem;align-items:stretch}.bf-step-rail{display:flex;flex-direction:column;align-items:center;flex-shrink:0;width:24px}.bf-step-node{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;font-size:.6875rem;font-weight:700;flex-shrink:0;background:var(--amber-50);color:var(--amber-700);border:1.5px solid var(--amber-600)}.bf-step-node--function{background:color-mix(in srgb,var(--indigo-500) 14%,transparent);color:var(--indigo-500);border-color:var(--indigo-500)}.bf-step-line{flex:1;width:2px;min-height:.5rem;margin:2px 0;background:var(--gray-200)}.bf-step-body{flex:1;min-width:0;padding-bottom:.875rem}.bf-step:last-child .bf-step-body{padding-bottom:0}.bf-step-head{display:flex;align-items:center;flex-wrap:wrap;gap:.375rem;min-height:24px}.bf-step-title{font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;font-size:.75rem;font-weight:600;color:var(--gray-900);word-break:break-word}.bf-step-kind{font-size:.625rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--indigo-500);background:color-mix(in srgb,var(--indigo-500) 12%,transparent);border-radius:4px;padding:.0625rem .3125rem}.bf-step .service-chip{background:var(--amber-50);color:var(--amber-700);border-radius:4px;padding:.0625rem .375rem;font-size:.6875rem;font-weight:600}.bf-step-missing{display:inline-flex;align-items:center;gap:.2rem;color:var(--amber-700);font-size:.6875rem;font-weight:600}.bf-step-purpose{margin-top:.25rem;font-size:.75rem;line-height:1.45;color:var(--gray-500)}.business-flow-side-effects{margin:0;padding-left:1.25rem;font-size:.75rem;color:var(--gray-600)}.business-flow-side-effects li{margin-bottom:.2rem}.business-flow-empty{margin:0 0 .5rem;font-size:.75rem;color:var(--gray-400)}.business-flow-doc{display:flex;align-items:center;gap:.375rem;padding:.3rem 0;font-size:.8125rem;color:var(--gray-700)}.business-flow-attach-btn,.business-flow-candidate,.business-flow-cancel{display:inline-flex;align-items:center;gap:.3rem;margin-top:.375rem;padding:.3rem .625rem;border:1px dashed var(--gray-300);border-radius:6px;background:transparent;font-size:.75rem;color:var(--gray-600);cursor:pointer}.business-flow-attach-btn:hover,.business-flow-candidate:hover,.business-flow-cancel:hover{background:var(--gray-100);color:var(--gray-900)}.business-flow-candidates{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem}.business-flow-cancel{border-style:solid}.business-flows-modal{background:var(--surface);border-radius:12px;width:min(720px,94vw);max-height:82vh;display:flex;flex-direction:column;overflow:hidden;box-shadow:0 18px 50px #02061759}.business-flows-modal-header{display:flex;align-items:center;gap:.75rem;padding:1.125rem 1.25rem;border-bottom:1px solid var(--gray-200);flex-shrink:0}.business-flows-modal-icon{display:flex;align-items:center;flex-shrink:0}.business-flows-modal-heading{flex:1;min-width:0}.business-flows-modal-heading h3{margin:0;font-size:1rem;font-weight:600;color:var(--gray-900)}.business-flows-modal-heading p{margin:.125rem 0 0;font-size:.75rem;color:var(--gray-500)}.business-flows-modal-close{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border:none;border-radius:7px;background:transparent;color:var(--gray-500);cursor:pointer;flex-shrink:0}.business-flows-modal-close:hover{background:var(--gray-100);color:var(--gray-900)}.business-flows-modal-body{padding:.875rem 1rem 1.125rem;overflow-y:auto}.business-flows-modal-empty{padding:2.5rem 1.5rem;text-align:center;font-size:.8125rem;color:var(--gray-500);line-height:1.5}.business-flows-list{display:flex;flex-direction:column;gap:.5rem}.business-flow-row{display:flex;align-items:center;gap:.75rem;width:100%;text-align:left;padding:.75rem .875rem;border-radius:10px;border:1px solid var(--gray-200);background:var(--surface);cursor:pointer;transition:background .12s ease,border-color .12s ease}.business-flow-row:hover{background:var(--gray-100);border-color:var(--gray-300)}.business-flow-icon{display:flex;align-items:center;flex-shrink:0}.business-flow-content{flex:1;min-width:0;display:flex;flex-direction:column;gap:.3125rem}.business-flow-name{font-size:.875rem;font-weight:600;color:var(--gray-900);display:flex;align-items:center;gap:.5rem;min-width:0}.business-flow-name-text{min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.business-flow-entry{color:var(--gray-400);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.business-flow-rel{flex-shrink:0;font-size:.625rem;font-weight:600;letter-spacing:.02em;text-transform:uppercase;color:var(--gray-500);background:var(--gray-100);border:1px solid var(--gray-200);border-radius:999px;padding:.0625rem .4375rem}.business-flow-path{display:flex;align-items:center;flex-wrap:wrap;gap:.3125rem;font-size:.6875rem}.business-flow-path .service-chip{background:var(--amber-50);color:var(--amber-700);border-radius:5px;padding:.0625rem .375rem;font-weight:600}.business-flow-path .service-arrow{color:var(--gray-400)}.business-flow-trailing{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.business-flow-steps{font-size:.6875rem;color:var(--gray-500);white-space:nowrap}.business-flow-badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.6875rem;font-weight:600;color:var(--gray-600);border:1px solid var(--gray-200);border-radius:999px;padding:.125rem .5rem;white-space:nowrap}.business-flow-badge--drift{color:var(--amber-700);background:var(--amber-100);border-color:transparent}.dep-lifecycle-modal{background:var(--surface);border-radius:12px;width:min(640px,90vw);max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0003;overflow:hidden}.dep-lifecycle-header{display:flex;align-items:flex-start;justify-content:space-between;padding:1.25rem 1.5rem;border-bottom:1px solid var(--gray-200);flex-shrink:0}.dep-lifecycle-header .dep-lifecycle-title h2{margin:0 0 .25rem;font-size:1.125rem;font-weight:700;color:var(--gray-900);font-family:SF Mono,Monaco,monospace}.dep-lifecycle-header .dep-lifecycle-title p{margin:0;font-size:.8125rem;color:var(--gray-500)}.dep-lifecycle-header .dep-lifecycle-close{background:none;border:none;color:var(--gray-500);cursor:pointer;padding:4px;border-radius:4px;display:flex;align-items:center;justify-content:center}.dep-lifecycle-header .dep-lifecycle-close:hover{color:var(--gray-900);background:var(--gray-100)}.dep-lifecycle-body{flex:1;overflow-y:auto;padding:1.5rem}.dep-lifecycle-state{text-align:center;color:var(--gray-400);font-size:.875rem;padding:2rem 0}.dep-lifecycle-repo-name{font-size:.75rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.75rem}.dep-lifecycle-meta{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.dep-lifecycle-eco{padding:.2rem .6rem;background:var(--gray-100);border-radius:999px;font-size:.75rem;font-weight:600;color:var(--gray-600)}.dep-lifecycle-since{font-size:.8125rem;color:var(--gray-400)}.dep-lifecycle-timeline{list-style:none;margin:0;padding:0;border-left:2px solid var(--gray-200);margin-left:.5rem}.dep-lifecycle-event{position:relative;padding:.875rem 0 .875rem 1.5rem}.dep-lifecycle-event .dep-lifecycle-dot{position:absolute;left:-7px;top:1.125rem;width:12px;height:12px;border-radius:50%;border:2px solid white;flex-shrink:0}.dep-lifecycle-event .dep-lifecycle-event-body{display:flex;flex-direction:column;gap:.375rem}.dep-lifecycle-event .dep-lifecycle-event-header{display:flex;align-items:center;justify-content:space-between;gap:1rem}.dep-lifecycle-event .dep-lifecycle-kind{font-size:.875rem;font-weight:600}.dep-lifecycle-event .dep-lifecycle-date{font-size:.75rem;color:var(--gray-400)}.dep-lifecycle-event .dep-lifecycle-versions{display:flex;align-items:center;gap:.5rem}.dep-lifecycle-event .dep-ver{padding:.125rem .5rem;border-radius:4px;font-size:.8125rem;font-family:SF Mono,Monaco,monospace;font-weight:500}.dep-lifecycle-event .dep-ver--old{background:var(--red-50);color:var(--red-600);text-decoration:line-through}.dep-lifecycle-event .dep-ver--new{background:var(--green-50);color:var(--green-600)}.dep-lifecycle-event .dep-ver-arrow{color:var(--gray-400);font-size:.875rem}.dep-lifecycle-event .dep-lifecycle-commit{font-size:.75rem;color:var(--gray-500)}.dep-lifecycle-event .dep-lifecycle-commit code{background:var(--gray-100);padding:1px 4px;border-radius:3px;font-size:.7rem}.react-flow{direction:ltr;--xy-edge-stroke-default: #b1b1b7;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #555;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(255, 255, 255, .5);--xy-minimap-background-color-default: #fff;--xy-minimap-mask-background-color-default: rgba(240, 240, 240, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #e2e2e2;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: transparent;--xy-background-pattern-dots-color-default: #91919a;--xy-background-pattern-lines-color-default: #eee;--xy-background-pattern-cross-color-default: #e2e2e2;background-color:var(--xy-background-color, var(--xy-background-color-default));--xy-node-color-default: inherit;--xy-node-border-default: 1px solid #1a192b;--xy-node-background-color-default: #fff;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(0, 0, 0, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #1a192b;--xy-node-border-radius-default: 3px;--xy-handle-background-color-default: #1a192b;--xy-handle-border-color-default: #fff;--xy-selection-background-color-default: rgba(0, 89, 220, .08);--xy-selection-border-default: 1px dotted rgba(0, 89, 220, .8);--xy-controls-button-background-color-default: #fefefe;--xy-controls-button-background-color-hover-default: #f4f4f4;--xy-controls-button-color-default: inherit;--xy-controls-button-color-hover-default: inherit;--xy-controls-button-border-color-default: #eee;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #ffffff;--xy-edge-label-color-default: inherit;--xy-resize-background-color-default: #3367d9}.react-flow.dark{--xy-edge-stroke-default: #3e3e3e;--xy-edge-stroke-width-default: 1;--xy-edge-stroke-selected-default: #727272;--xy-connectionline-stroke-default: #b1b1b7;--xy-connectionline-stroke-width-default: 1;--xy-attribution-background-color-default: rgba(150, 150, 150, .25);--xy-minimap-background-color-default: #141414;--xy-minimap-mask-background-color-default: rgba(60, 60, 60, .6);--xy-minimap-mask-stroke-color-default: transparent;--xy-minimap-mask-stroke-width-default: 1;--xy-minimap-node-background-color-default: #2b2b2b;--xy-minimap-node-stroke-color-default: transparent;--xy-minimap-node-stroke-width-default: 2;--xy-background-color-default: #141414;--xy-background-pattern-dots-color-default: #777;--xy-background-pattern-lines-color-default: #777;--xy-background-pattern-cross-color-default: #777;--xy-node-color-default: #f8f8f8;--xy-node-border-default: 1px solid #3c3c3c;--xy-node-background-color-default: #1e1e1e;--xy-node-group-background-color-default: rgba(240, 240, 240, .25);--xy-node-boxshadow-hover-default: 0 1px 4px 1px rgba(255, 255, 255, .08);--xy-node-boxshadow-selected-default: 0 0 0 .5px #999;--xy-handle-background-color-default: #bebebe;--xy-handle-border-color-default: #1e1e1e;--xy-selection-background-color-default: rgba(200, 200, 220, .08);--xy-selection-border-default: 1px dotted rgba(200, 200, 220, .8);--xy-controls-button-background-color-default: #2b2b2b;--xy-controls-button-background-color-hover-default: #3e3e3e;--xy-controls-button-color-default: #f8f8f8;--xy-controls-button-color-hover-default: #fff;--xy-controls-button-border-color-default: #5b5b5b;--xy-controls-box-shadow-default: 0 0 2px 1px rgba(0, 0, 0, .08);--xy-edge-label-background-color-default: #141414;--xy-edge-label-color-default: #f8f8f8}.react-flow__background{background-color:var(--xy-background-color-props, var(--xy-background-color, var(--xy-background-color-default)));pointer-events:none;z-index:-1}.react-flow__container{position:absolute;width:100%;height:100%;top:0;left:0}.react-flow__pane{z-index:1}.react-flow__pane.draggable{cursor:grab}.react-flow__pane.dragging{cursor:grabbing}.react-flow__pane.selection{cursor:pointer}.react-flow__viewport{transform-origin:0 0;z-index:2;pointer-events:none}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow__edge-path{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default));stroke-width:var(--xy-edge-stroke-width, var(--xy-edge-stroke-width-default));fill:none}.react-flow__connection-path{stroke:var(--xy-connectionline-stroke, var(--xy-connectionline-stroke-default));stroke-width:var(--xy-connectionline-stroke-width, var(--xy-connectionline-stroke-width-default));fill:none}.react-flow .react-flow__edges{position:absolute}.react-flow .react-flow__edges svg{overflow:visible;position:absolute;pointer-events:none}.react-flow__edge{pointer-events:visibleStroke}.react-flow__edge.selectable{cursor:pointer}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge.selectable:focus .react-flow__edge-path,.react-flow__edge.selectable:focus-visible .react-flow__edge-path{stroke:var(--xy-edge-stroke-selected, var(--xy-edge-stroke-selected-default))}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__arrowhead polyline{stroke:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__arrowhead polyline.arrowclosed{fill:var(--xy-edge-stroke, var(--xy-edge-stroke-default))}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}svg.react-flow__connectionline{z-index:1001;overflow:visible;position:absolute}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{position:absolute;-webkit-user-select:none;-moz-user-select:none;user-select:none;pointer-events:all;transform-origin:0 0;box-sizing:border-box;cursor:default}.react-flow__node.selectable{cursor:pointer}.react-flow__node.draggable{cursor:grab;pointer-events:all}.react-flow__node.draggable.dragging{cursor:grabbing}.react-flow__nodesselection{z-index:3;transform-origin:left top;pointer-events:none}.react-flow__nodesselection-rect{position:absolute;pointer-events:all;cursor:grab}.react-flow__handle{position:absolute;pointer-events:none;min-width:5px;min-height:5px;width:6px;height:6px;background-color:var(--xy-handle-background-color, var(--xy-handle-background-color-default));border:1px solid var(--xy-handle-border-color, var(--xy-handle-border-color-default));border-radius:100%}.react-flow__handle.connectingfrom{pointer-events:all}.react-flow__handle.connectionindicator{pointer-events:all;cursor:crosshair}.react-flow__handle-bottom{top:auto;left:50%;bottom:0;transform:translate(-50%,50%)}.react-flow__handle-top{top:0;left:50%;transform:translate(-50%,-50%)}.react-flow__handle-left{top:50%;left:0;transform:translate(-50%,-50%)}.react-flow__handle-right{top:50%;right:0;transform:translate(50%,-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__pane.selection .react-flow__panel{pointer-events:none}.react-flow__panel{position:absolute;z-index:5;margin:15px}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.top.center,.react-flow__panel.bottom.center{left:50%;transform:translate(-15px) translate(-50%)}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.left.center,.react-flow__panel.right.center{top:50%;transform:translateY(-15px) translateY(-50%)}.react-flow__attribution{font-size:10px;background:var(--xy-attribution-background-color, var(--xy-attribution-background-color-default));padding:2px 3px;margin:0}.react-flow__attribution a{text-decoration:none;color:#999}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{position:absolute;width:100%;height:100%;pointer-events:none;-webkit-user-select:none;-moz-user-select:none;user-select:none;left:0;top:0}.react-flow__viewport-portal{position:absolute;width:100%;height:100%;left:0;top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__minimap{background:var( --xy-minimap-background-color-props, var(--xy-minimap-background-color, var(--xy-minimap-background-color-default)) )}.react-flow__minimap-svg{display:block}.react-flow__minimap-mask{fill:var( --xy-minimap-mask-background-color-props, var(--xy-minimap-mask-background-color, var(--xy-minimap-mask-background-color-default)) );stroke:var( --xy-minimap-mask-stroke-color-props, var(--xy-minimap-mask-stroke-color, var(--xy-minimap-mask-stroke-color-default)) );stroke-width:var( --xy-minimap-mask-stroke-width-props, var(--xy-minimap-mask-stroke-width, var(--xy-minimap-mask-stroke-width-default)) )}.react-flow__minimap-node{fill:var( --xy-minimap-node-background-color-props, var(--xy-minimap-node-background-color, var(--xy-minimap-node-background-color-default)) );stroke:var( --xy-minimap-node-stroke-color-props, var(--xy-minimap-node-stroke-color, var(--xy-minimap-node-stroke-color-default)) );stroke-width:var( --xy-minimap-node-stroke-width-props, var(--xy-minimap-node-stroke-width, var(--xy-minimap-node-stroke-width-default)) )}.react-flow__background-pattern.dots{fill:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-dots-color-default)) )}.react-flow__background-pattern.lines{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-lines-color-default)) )}.react-flow__background-pattern.cross{stroke:var( --xy-background-pattern-color-props, var(--xy-background-pattern-color, var(--xy-background-pattern-cross-color-default)) )}.react-flow__controls{display:flex;flex-direction:column;box-shadow:var(--xy-controls-box-shadow, var(--xy-controls-box-shadow-default))}.react-flow__controls.horizontal{flex-direction:row}.react-flow__controls-button{display:flex;justify-content:center;align-items:center;height:26px;width:26px;padding:4px;border:none;background:var(--xy-controls-button-background-color, var(--xy-controls-button-background-color-default));border-bottom:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) );color:var( --xy-controls-button-color-props, var(--xy-controls-button-color, var(--xy-controls-button-color-default)) );cursor:pointer;-webkit-user-select:none;-moz-user-select:none;user-select:none}.react-flow__controls-button svg{width:100%;max-width:12px;max-height:12px;fill:currentColor}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-input,.react-flow__node-default,.react-flow__node-output,.react-flow__node-group{padding:10px;border-radius:var(--xy-node-border-radius, var(--xy-node-border-radius-default));width:150px;font-size:12px;color:var(--xy-node-color, var(--xy-node-color-default));text-align:center;border:var(--xy-node-border, var(--xy-node-border-default));background-color:var(--xy-node-background-color, var(--xy-node-background-color-default))}.react-flow__node-input.selectable:hover,.react-flow__node-default.selectable:hover,.react-flow__node-output.selectable:hover,.react-flow__node-group.selectable:hover{box-shadow:var(--xy-node-boxshadow-hover, var(--xy-node-boxshadow-hover-default))}.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible{box-shadow:var(--xy-node-boxshadow-selected, var(--xy-node-boxshadow-selected-default))}.react-flow__node-group{background-color:var(--xy-node-group-background-color, var(--xy-node-group-background-color-default))}.react-flow__nodesselection-rect,.react-flow__selection{background:var(--xy-selection-background-color, var(--xy-selection-background-color-default));border:var(--xy-selection-border, var(--xy-selection-border-default))}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls-button:hover{background:var( --xy-controls-button-background-color-hover-props, var(--xy-controls-button-background-color-hover, var(--xy-controls-button-background-color-hover-default)) );color:var( --xy-controls-button-color-hover-props, var(--xy-controls-button-color-hover, var(--xy-controls-button-color-hover-default)) )}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__controls-button:last-child{border-bottom:none}.react-flow__controls.horizontal .react-flow__controls-button{border-bottom:none;border-right:1px solid var( --xy-controls-button-border-color-props, var(--xy-controls-button-border-color, var(--xy-controls-button-border-color-default)) )}.react-flow__controls.horizontal .react-flow__controls-button:last-child{border-right:none}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.top,.react-flow__resize-control.bottom{cursor:ns-resize}.react-flow__resize-control.top.left,.react-flow__resize-control.bottom.right{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{width:5px;height:5px;border:1px solid #fff;border-radius:1px;background-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));translate:-50% -50%}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.top.left,.react-flow__resize-control.handle.bottom.left{left:0}.react-flow__resize-control.handle.top.right,.react-flow__resize-control.handle.bottom.right{left:100%}.react-flow__resize-control.line{border-color:var(--xy-resize-background-color, var(--xy-resize-background-color-default));border-width:0;border-style:solid}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{width:1px;transform:translate(-50%);top:0;height:100%}.react-flow__resize-control.line.left{left:0;border-left-width:1px}.react-flow__resize-control.line.right{left:100%;border-right-width:1px}.react-flow__resize-control.line.top,.react-flow__resize-control.line.bottom{height:1px;transform:translateY(-50%);left:0;width:100%}.react-flow__resize-control.line.top{top:0;border-top-width:1px}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.react-flow__edge-textbg{fill:var(--xy-edge-label-background-color, var(--xy-edge-label-background-color-default))}.react-flow__edge-text{fill:var(--xy-edge-label-color, var(--xy-edge-label-color-default))}.node-enrichments .node-enrich-empty{font-size:.75rem;color:var(--gray-400);margin:.25rem 0 .5rem}.node-enrichments .node-enrich-doc{display:flex;align-items:center;gap:.5rem;padding:.375rem .5rem;border:1px solid var(--gray-100);border-radius:8px;margin-bottom:.375rem;font-size:.8125rem;background:var(--surface)}.node-enrichments .node-enrich-title{font-weight:600;color:var(--gray-800);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-enrichments .node-enrich-attach-btn,.node-enrichments .node-enrich-candidate,.node-enrichments .node-enrich-cancel{display:block;width:100%;text-align:left;background:none;border:1px dashed var(--gray-300);border-radius:8px;padding:.375rem .5rem;font-size:.75rem;color:var(--gray-600);cursor:pointer;margin-top:.375rem;transition:all .15s ease}.node-enrichments .node-enrich-attach-btn:hover,.node-enrichments .node-enrich-candidate:hover,.node-enrichments .node-enrich-cancel:hover{background:var(--gray-50);border-color:var(--gray-400)}.node-enrichments .node-enrich-candidate{border-style:solid;font-weight:600;display:flex;align-items:center;gap:.375rem}.node-enrichments .node-enrich-cancel{border:none;color:var(--gray-400);text-align:center}.node-flows .node-flow-row{display:flex;align-items:center;gap:.4rem;width:100%;text-align:left;padding:.375rem .5rem;margin-top:.25rem;border:1px solid var(--gray-200);border-radius:7px;background:var(--surface);cursor:pointer;transition:background .12s ease}.node-flows .node-flow-row:hover{background:var(--gray-100)}.node-flows .node-flow-name{flex:1;min-width:0;font-size:.75rem;color:var(--gray-700);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.node-flows .node-flow-steps{flex-shrink:0;font-size:.6875rem;color:var(--gray-400);white-space:nowrap}.graph-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.graph-modal{background:var(--surface);border-radius:12px;width:92vw;height:88vh;display:flex;flex-direction:column;box-shadow:0 24px 64px #0003;overflow:hidden}.graph-modal .graph-header{display:flex;align-items:center;justify-content:space-between;padding:.875rem 1.5rem;border-bottom:1px solid var(--gray-200);flex-shrink:0}.graph-modal .graph-header h2{font-size:1.125rem;font-weight:600;color:var(--gray-900);margin:0}.graph-modal .graph-header .scan-live-badge{display:flex;align-items:center;gap:6px;font-size:.8rem;font-weight:500;color:var(--green-600);background:var(--green-50);border:1px solid var(--green-200);border-radius:999px;padding:4px 12px;white-space:nowrap}.graph-modal .graph-header .scan-live-badge .scan-live-dot{width:8px;height:8px;border-radius:50%;background:var(--green-500);animation:scan-pulse 1.5s ease-in-out infinite}@keyframes scan-pulse{0%,to{opacity:1}50%{opacity:.3}}.graph-modal .graph-header .graph-header-actions{display:flex;align-items:center;gap:.5rem}.graph-modal .graph-header .graph-header-actions .close-btn{width:32px;height:32px;border-radius:6px;background:transparent;border:1px solid transparent;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray-600);margin-left:.25rem}.graph-modal .graph-header .graph-header-actions .close-btn:hover{background:var(--gray-100);color:var(--gray-900)}.graph-modal .graph-body{flex:1;display:flex;background:var(--gray-50);overflow:hidden;min-height:0}.graph-modal .graph-body .graph-left{flex:1;display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}.graph-modal .graph-body .graph-canvas{flex:1;position:relative;min-width:0;min-height:0;overflow:hidden;display:flex;flex-direction:column}.graph-modal .graph-body .graph-canvas .react-flow__edge{cursor:pointer}.graph-modal .graph-body .graph-canvas__branch-empty-note{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);z-index:4;margin:0;max-width:16rem;padding:0 .75rem;text-align:center;font-size:.875rem;line-height:1.45;color:var(--gray-500);pointer-events:none}.graph-modal .graph-body .graph-canvas__branch-empty-note .graph-canvas__branch-empty-name{display:block;margin-top:.35rem;font-weight:600;color:var(--gray-600)}.graph-modal .graph-body .graph-canvas__flow-wrap{flex:1;min-height:0;min-width:0;position:relative;overflow:hidden;display:flex;flex-direction:column}.graph-modal .graph-body .graph-canvas__flow-wrap>*:not(.graph-canvas__branch-empty-note){flex:1;min-height:0;width:100%}.graph-modal .graph-body .graph-canvas .graph-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;color:var(--gray-400);font-size:.9375rem;background:var(--gray-50);z-index:5}.graph-modal .graph-body .graph-canvas .node-search{width:240px;font-size:.8125rem}.graph-modal .graph-body .graph-canvas .node-search__input-wrap{position:relative;display:flex;align-items:center;background:var(--surface);border:1px solid var(--gray-300);border-radius:8px;box-shadow:0 1px 2px #0000000f}.graph-modal .graph-body .graph-canvas .node-search__input-wrap:focus-within{border-color:var(--blue-600);box-shadow:0 0 0 3px #3462f626}.graph-modal .graph-body .graph-canvas .node-search__icon{position:absolute;left:9px;color:var(--gray-400);pointer-events:none}.graph-modal .graph-body .graph-canvas .node-search__input{width:100%;border:none;outline:none;background:transparent;padding:7px 26px 7px 28px;font-size:.8125rem;color:var(--gray-800);border-radius:8px}.graph-modal .graph-body .graph-canvas .node-search__input::placeholder{color:var(--gray-400)}.graph-modal .graph-body .graph-canvas .node-search__clear{position:absolute;right:6px;display:flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:transparent;color:var(--gray-400);font-size:16px;line-height:1;cursor:pointer;border-radius:4px}.graph-modal .graph-body .graph-canvas .node-search__clear:hover{color:var(--gray-600);background:var(--gray-100)}.graph-modal .graph-body .graph-canvas .node-search__results{margin:4px 0 0;padding:4px;list-style:none;max-height:260px;overflow-y:auto;background:var(--surface);border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 4px 12px #0000001f}.graph-modal .graph-body .graph-canvas .node-search__empty{padding:8px 10px;color:var(--gray-400);font-size:.8125rem}.graph-modal .graph-body .graph-canvas .node-search__result{display:flex;align-items:center;gap:8px;padding:6px 8px;border-radius:6px;cursor:pointer}.graph-modal .graph-body .graph-canvas .node-search__result--active{background:var(--indigo-50)}.graph-modal .graph-body .graph-canvas .node-search__dot{flex-shrink:0;width:9px;height:9px;border-radius:50%}.graph-modal .graph-body .graph-canvas .node-search__label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--gray-800)}.graph-modal .graph-body .graph-canvas .node-search__type{flex-shrink:0;font-size:.6875rem;color:var(--gray-400);text-transform:uppercase;letter-spacing:.02em}.graph-modal .graph-body .graph-side-panel{width:360px;flex-shrink:0;border-left:1px solid var(--gray-200);background:var(--gray-50);overflow-y:auto;display:flex;flex-direction:column;padding:1rem;gap:1rem}.graph-modal .graph-body .graph-side-panel>*{flex-shrink:0}.graph-modal .graph-body .graph-side-panel .side-panel-empty{display:flex;align-items:center;justify-content:center;flex:1;padding:2rem;color:var(--gray-400);font-size:.9375rem;text-align:center;border:2px dashed var(--gray-200);border-radius:12px;background:var(--surface)}.graph-modal .graph-body .graph-side-panel .side-panel-header{background:var(--surface);padding:1.5rem;border-radius:12px;border:1px solid var(--gray-200);box-shadow:0 1px 3px #0000000d;display:flex;flex-direction:column;align-items:center;gap:.75rem}.graph-modal .graph-body .graph-side-panel .side-panel-header .side-panel-logo{width:64px;height:64px;border-radius:50%;object-fit:contain;border:1px solid var(--gray-100);padding:2px;background:var(--surface)}.graph-modal .graph-body .graph-side-panel .side-panel-header .side-panel-avatar{width:64px;height:64px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;font-family:Inter,sans-serif;color:#fff;flex-shrink:0}.graph-modal .graph-body .graph-side-panel .side-panel-header .side-panel-title{margin:0;font-size:1rem;font-weight:600;color:var(--gray-900);text-align:center;word-break:break-word}.graph-modal .graph-body .graph-side-panel .side-panel-header .side-panel-type-badge{font-size:.6875rem;font-weight:600;padding:.25rem .5rem;border:1px solid;border-radius:999px;color:var(--gray-600)}.graph-modal .graph-body .graph-side-panel .side-panel-header.side-panel-header--edge{padding:1.125rem 1.25rem;gap:.5rem}.graph-modal .graph-body .graph-side-panel .edge-relation{background:var(--surface);padding:1.25rem;border-radius:12px;border:1px solid var(--gray-200);box-shadow:0 1px 3px #0000000d;text-align:left}.graph-modal .graph-body .graph-side-panel .edge-relation .edge-relation__sentence{margin:0 0 .875rem;font-size:.8125rem;line-height:1.5;color:var(--gray-600);word-break:break-word}.graph-modal .graph-body .graph-side-panel .edge-relation .edge-relation__chain{display:flex;flex-direction:column;gap:.375rem}.graph-modal .graph-body .graph-side-panel .edge-relation .edge-relation__node{display:flex;align-items:center;gap:.5rem;min-width:0}.graph-modal .graph-body .graph-side-panel .edge-relation .edge-relation__node .edge-relation__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.graph-modal .graph-body .graph-side-panel .edge-relation .edge-relation__node .edge-relation__name{font-size:.8125rem;font-weight:600;color:var(--gray-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.graph-modal .graph-body .graph-side-panel .edge-relation .edge-relation__node .edge-relation__type{font-size:.6875rem;color:var(--gray-400);flex-shrink:0}.graph-modal .graph-body .graph-side-panel .edge-relation .edge-relation__arrow{margin-left:3px;padding-left:.75rem;border-left:2px solid var(--gray-200);font-family:SF Mono,Fira Code,monospace;font-size:.6875rem;font-weight:600;color:var(--gray-500)}.graph-modal .graph-body .graph-side-panel .side-panel-details{background:var(--surface);padding:1.25rem;border-radius:12px;border:1px solid var(--gray-200);box-shadow:0 1px 3px #0000000d;text-align:left}.graph-modal .graph-body .graph-side-panel .side-panel-details .detail-row{display:flex;flex-direction:column;gap:.25rem;padding:.5rem 0;font-size:.8125rem}.graph-modal .graph-body .graph-side-panel .side-panel-details .detail-row:not(:last-child){border-bottom:1px solid var(--gray-100)}.graph-modal .graph-body .graph-side-panel .side-panel-details .detail-row .detail-key{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500)}.graph-modal .graph-body .graph-side-panel .side-panel-details .detail-row .detail-val{color:var(--gray-900);font-weight:500}.graph-modal .graph-body .graph-side-panel .side-panel-details .detail-row .detail-val.warn{color:var(--amber-600)}.graph-modal .graph-body .graph-side-panel .side-panel-details .detail-row .detail-link{color:var(--color-primary);word-break:break-all;font-size:.75rem}.graph-modal .graph-body .graph-side-panel .side-panel-details .detail-row .detail-link:hover{text-decoration:underline}.graph-modal .graph-body .graph-side-panel .side-panel-flow-card{background:var(--surface);padding:1rem 1.25rem;border-radius:12px;border:1px solid var(--gray-200);box-shadow:0 1px 3px #0000000d;text-align:left}.graph-modal .graph-body .graph-side-panel .side-panel-flow-card .flow-card-title{margin:0 0 .5rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);display:flex;align-items:center;gap:.375rem}.graph-modal .graph-body .graph-side-panel .side-panel-flow-card .flow-card-title .flow-count{color:var(--gray-400);font-weight:500}.graph-modal .graph-body .graph-side-panel .side-panel-flow-card .flow-purpose{margin:0;font-size:.8125rem;line-height:1.5;color:var(--gray-900)}.graph-modal .graph-body .graph-side-panel .side-panel-flow-card .flow-steps{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.graph-modal .graph-body .graph-side-panel .side-panel-flow-card .flow-steps li{display:flex;gap:.625rem;align-items:flex-start;font-size:.8125rem;color:var(--gray-700);line-height:1.45}.graph-modal .graph-body .graph-side-panel .side-panel-flow-card .flow-steps .flow-step-num{flex-shrink:0;width:20px;height:20px;border-radius:50%;background:var(--indigo-50);color:var(--indigo-700);font-size:.6875rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center}.graph-modal .graph-body .graph-side-panel .side-panel-flow-card .flow-call{border-left:3px solid var(--pink-600);padding:.25rem 0 .25rem .625rem;font-size:.8125rem;margin-bottom:.5rem}.graph-modal .graph-body .graph-side-panel .side-panel-flow-card .flow-call:last-child{margin-bottom:0}.graph-modal .graph-body .graph-side-panel .side-panel-flow-card .flow-call .flow-call-method{font-weight:700;color:var(--pink-600);margin-right:.375rem}.graph-modal .graph-body .graph-side-panel .side-panel-flow-card .flow-call .flow-call-service{color:var(--gray-900);font-weight:500}.graph-modal .graph-body .graph-side-panel .side-panel-flow-card .flow-call .flow-call-path{color:var(--gray-500)}.graph-modal .graph-body .graph-side-panel .side-panel-flow-card .flow-call .flow-call-purpose{display:block;color:var(--gray-500);font-size:.75rem;margin-top:.125rem}.graph-modal .graph-body .graph-side-panel .side-panel-flow-card .flow-bullets{list-style:disc;margin:0;padding-left:1.125rem;font-size:.8125rem;color:var(--gray-700);line-height:1.5}.graph-modal .graph-body .graph-side-panel .side-panel-flow-card .flow-bullets li{margin-bottom:.25rem}.graph-modal .graph-body .graph-side-panel .side-panel-flow-card .flow-bullets li:last-child{margin-bottom:0}.graph-modal .graph-body .graph-side-panel .side-panel-flow-card .flow-params{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.graph-modal .graph-body .graph-side-panel .side-panel-flow-card .flow-params li{font-size:.8125rem;color:var(--gray-700);line-height:1.45;padding:.375rem .625rem;background:var(--gray-50);border-radius:6px;border-left:3px solid var(--indigo-500)}.graph-modal .graph-body .graph-side-panel .side-panel-flow-card .flow-params .flow-param-name{font-weight:600;color:var(--gray-900);margin-right:.375rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.75rem}.graph-modal .graph-body .graph-side-panel .side-panel-flow-card .flow-params .flow-param-type{color:var(--indigo-500);font-weight:500;margin-right:.5rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.6875rem;padding:.0625rem .375rem;background:var(--indigo-50);border-radius:4px}.graph-modal .graph-body .graph-side-panel .side-panel-flow-card .flow-params .flow-param-purpose{display:block;color:var(--gray-500);margin-top:.25rem}.graph-modal .graph-body .graph-side-panel .side-panel-list-card{background:var(--surface);padding:1rem 1.25rem;border-radius:12px;border:1px solid var(--gray-200);box-shadow:0 1px 3px #0000000d;text-align:left}.graph-modal .graph-body .graph-side-panel .side-panel-list-card .list-card-title{margin:0 0 .5rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);display:flex;align-items:center;gap:.375rem}.graph-modal .graph-body .graph-side-panel .side-panel-list-card .list-card-title .list-card-count{color:var(--gray-400);font-weight:500}.graph-modal .graph-body .graph-side-panel .side-panel-list-card .list-card-empty,.graph-modal .graph-body .graph-side-panel .side-panel-list-card .list-card-loading{font-size:.8125rem;color:var(--gray-400)}.graph-modal .graph-body .graph-side-panel .side-panel-list-card .list-card-items{list-style:none;margin:0;padding:0;max-height:320px;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem}.graph-modal .graph-body .graph-side-panel .side-panel-list-card .list-card-item{display:flex;flex-direction:column;padding:.375rem .625rem;border-radius:6px;font-size:.8125rem;background:var(--gray-50)}.graph-modal .graph-body .graph-side-panel .side-panel-list-card .list-card-item .list-card-item-row{display:flex;justify-content:space-between;align-items:center}.graph-modal .graph-body .graph-side-panel .side-panel-list-card .list-card-item .list-card-item-hops{color:var(--gray-500);font-size:.75rem;flex-shrink:0;margin-left:.5rem}.graph-modal .graph-body .graph-side-panel .side-panel-list-card--endpoints .list-card-item{background:var(--pink-50)}.graph-modal .graph-body .graph-side-panel .side-panel-list-card--endpoints .list-card-item .list-card-item-method{font-weight:700;color:var(--pink-600);margin-right:.375rem}.graph-modal .graph-body .graph-side-panel .side-panel-list-card--endpoints .list-card-item .list-card-item-path{color:var(--gray-700)}.graph-modal .graph-body .graph-side-panel .side-panel-list-card--functions .list-card-item{background:var(--indigo-50)}.graph-modal .graph-body .graph-side-panel .side-panel-list-card--functions .list-card-item .list-card-item-name{color:var(--gray-700);font-weight:600}.graph-modal .graph-body .graph-side-panel .side-panel-list-card--functions .list-card-item .list-card-item-kind{color:var(--gray-400);margin-left:.375rem;font-weight:500}.graph-modal .graph-body .graph-side-panel .list-card-outbound{list-style:none;margin:.375rem 0 0;padding:0;display:flex;flex-direction:column;gap:.1875rem}.graph-modal .graph-body .graph-side-panel .list-card-outbound--standalone{margin:0}.graph-modal .graph-body .graph-side-panel .list-card-outbound-item{display:flex;align-items:center;gap:.375rem;padding:.25rem .5rem;background:var(--orange-50);border-left:2px solid var(--amber-500);border-radius:3px;font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:.75rem;color:var(--amber-900)}.graph-modal .graph-body .graph-side-panel .list-card-outbound-method{font-weight:700;color:var(--orange-700)}.graph-modal .graph-body .graph-side-panel .list-card-outbound-service{font-weight:700;color:var(--orange-800);flex-shrink:0}.graph-modal .graph-body .graph-side-panel .list-card-outbound-url{color:var(--amber-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;flex:1}.graph-modal .graph-body .graph-side-panel .list-card-outbound-callee{color:var(--orange-800);font-style:italic;flex-shrink:0}.graph-modal .graph-body .graph-side-panel .side-panel-flow-empty,.graph-modal .graph-body .graph-side-panel .side-panel-flow-loading{font-size:.8125rem;color:var(--gray-400);padding:.75rem 1rem;background:var(--gray-50);border:1px dashed var(--gray-200);border-radius:12px;text-align:left}.graph-modal .graph-body .graph-side-panel .side-panel-flow-footer{font-size:.6875rem;color:var(--gray-400);text-align:left;margin:0}.graph-modal .graph-body .graph-side-panel .side-panel-connections{background:var(--surface);border-radius:12px;border:1px solid var(--gray-200);box-shadow:0 1px 3px #0000000d;overflow:hidden}.graph-modal .graph-body .graph-side-panel .side-panel-connections h5{margin:0;padding:.875rem 1.125rem .625rem;font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-400);border-bottom:1px solid var(--gray-100)}.graph-modal .graph-body .graph-side-panel .side-panel-connections .connection-card{padding:.75rem 1.125rem;border-bottom:1px solid var(--gray-100)}.graph-modal .graph-body .graph-side-panel .side-panel-connections .connection-card:last-child{border-bottom:none}.graph-modal .graph-body .graph-side-panel .side-panel-connections .connection-card .connection-header{display:flex;align-items:center;gap:.625rem;margin-bottom:.3rem}.graph-modal .graph-body .graph-side-panel .side-panel-connections .connection-card .conn-badge{font-size:.75rem;font-weight:600;color:var(--gray-700)}.graph-modal .graph-body .graph-side-panel .side-panel-connections .connection-card .conn-badge.conn-badge--service_dependency{color:var(--sky-600)}.graph-modal .graph-body .graph-side-panel .side-panel-connections .connection-card .conn-version{font-family:SF Mono,Fira Code,monospace;font-size:.6875rem;color:var(--gray-400)}.graph-modal .graph-body .graph-side-panel .side-panel-connections .connection-card .conn-meta-row{display:flex;flex-direction:column;gap:.125rem;margin-bottom:.25rem}.graph-modal .graph-body .graph-side-panel .side-panel-connections .connection-card .conn-meta-row .conn-endpoint{font-family:SF Mono,Fira Code,monospace;font-size:.6875rem;color:var(--gray-500);word-break:break-all}.graph-modal .graph-body .graph-side-panel .side-panel-connections .connection-card .conn-usages{display:flex;flex-wrap:wrap;gap:.25rem}.graph-modal .graph-body .graph-side-panel .side-panel-connections .connection-card .conn-usages .conn-usage-loc{display:inline-flex;align-items:center;gap:.25rem;font-family:SF Mono,Fira Code,monospace;font-size:.625rem;color:var(--gray-400)}.graph-modal .graph-body .graph-side-panel .side-panel-connections .connection-card .conn-usages .conn-usage-loc svg{opacity:.4;flex-shrink:0}.graph-modal .graph-body .graph-side-panel .side-panel-related{background:var(--surface);padding:1.25rem;border-radius:12px;border:1px solid var(--gray-200);box-shadow:0 1px 3px #0000000d}.graph-modal .graph-body .graph-side-panel .side-panel-related h5{margin:0 0 .75rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500)}.graph-modal .graph-body .graph-side-panel .side-panel-related .related-card{display:flex;align-items:center;gap:.75rem;padding:.625rem 0;border-bottom:1px solid var(--gray-100)}.graph-modal .graph-body .graph-side-panel .side-panel-related .related-card:last-child{border-bottom:none}.graph-modal .graph-body .graph-side-panel .side-panel-related .related-card .related-logo{width:32px;height:32px;border-radius:50%;object-fit:contain;flex-shrink:0}.graph-modal .graph-body .graph-side-panel .side-panel-related .related-card .related-avatar{width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;font-family:Inter,sans-serif;color:#fff;flex-shrink:0}.graph-modal .graph-body .graph-side-panel .side-panel-related .related-card .related-info{display:flex;flex-direction:column;gap:.125rem;min-width:0}.graph-modal .graph-body .graph-side-panel .side-panel-related .related-card .related-info .related-name{font-size:.875rem;font-weight:500;color:var(--gray-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.graph-modal .graph-body .graph-side-panel .side-panel-related .related-card .related-info .related-type{font-size:.6875rem;color:var(--gray-500)}.graph-legend{flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:1.25rem;padding:.55rem 1.375rem;background:color-mix(in srgb,var(--surface) 96%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:999px;box-shadow:0 4px 16px #0000001a;border:1px solid var(--gray-200);white-space:nowrap;margin:.75rem auto}.graph-legend .legend-entry{display:flex;align-items:center;gap:.4rem;font-size:.8125rem;font-family:Inter,sans-serif;color:var(--gray-600);font-weight:500;cursor:pointer;padding:.2rem .5rem;border-radius:999px;transition:opacity .2s,background .2s}.graph-legend .legend-entry:hover{background:var(--hover-veil)}.graph-legend .legend-entry--active{background:var(--active-veil);font-weight:600}.graph-legend .legend-entry--dimmed{opacity:.35}.graph-legend .legend-entry .legend-shape{width:10px;height:10px;border-radius:50%;flex-shrink:0;border:1px solid var(--glass-border)}.graph-legend .legend-entry .legend-shape--service{border-radius:3px}.graph-legend .legend-divider{width:1px;height:16px;background:var(--gray-200);flex-shrink:0}.dep-node{border-radius:50%;border:2px solid;background:var(--surface);box-shadow:inset 0 1px 4px #0000000f;display:flex;align-items:center;justify-content:center;position:relative;cursor:pointer;transition:opacity .25s,box-shadow .15s}.dep-node:hover{box-shadow:inset 0 1px 4px #0000000f,0 0 0 4px #3462f626}.dep-node--center{border-width:3px}.dep-node--dimmed{opacity:.2}.dep-node--dimmed .dep-node__label{display:none}.dep-node__logo{width:56%;height:56%;object-fit:contain;pointer-events:none}.dep-node__logo[data-on-dark]{filter:none}.dep-node__avatar{width:56%;height:56%;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:700;font-family:Inter,sans-serif;color:#fff;pointer-events:none;flex-shrink:0;opacity:.9}.dep-node__label{position:absolute;top:calc(100% + 6px);left:50%;transform:translate(-50%);font-size:11px;font-family:Inter,sans-serif;font-weight:500;color:var(--gray-700);white-space:nowrap;max-width:100px;overflow:hidden;text-overflow:ellipsis;text-align:center;pointer-events:none}.dep-node--center .dep-node__label{font-weight:700;font-size:13px;color:var(--gray-900)}:root[data-theme=dark] [data-on-dark]{filter:invert(1)}@media (prefers-color-scheme: dark){:root:not([data-theme=light]) [data-on-dark]{filter:invert(1)}}.dep-node__vuln-badge{position:absolute;top:-4px;right:-4px;width:18px;height:18px;border-radius:50%;background:var(--red-600);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid white;z-index:10;pointer-events:none}.dep-node__incoming-badge{position:absolute;top:-4px;left:-4px;width:18px;height:18px;border-radius:50%;background:var(--amber-500);color:#fff;font-size:11px;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid white;z-index:10;pointer-events:none}.incoming-card{flex-shrink:0;background:var(--surface);border:1px solid var(--gray-200);border-radius:12px;padding:12px 14px;box-shadow:0 1px 3px #0000000d;text-align:left}.incoming-card__head{display:flex;align-items:center;justify-content:flex-start;gap:8px;margin-bottom:8px;text-align:left}.incoming-card__head-label{font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500)}.incoming-card__count{font-size:11px;font-weight:600;color:var(--gray-500);background:var(--gray-100);padding:1px 7px;border-radius:999px}.incoming-card__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.incoming-item{display:flex;align-items:flex-start;justify-content:flex-start;gap:10px;padding:8px 0;border-top:1px solid var(--gray-100);min-width:0;text-align:left}.incoming-item:first-child{border-top:none;padding-top:4px}.incoming-item__dot{width:8px;height:8px;border-radius:50%;margin-top:6px;flex-shrink:0}.incoming-item__body{flex:1;min-width:0;text-align:left;display:flex;flex-direction:column;align-items:flex-start}.incoming-item__title{font-size:12.5px;font-weight:500;color:var(--gray-900);line-height:1.4;word-break:break-word;text-align:left}.incoming-item__meta{display:flex;align-items:center;justify-content:flex-start;gap:6px;margin-top:4px;font-size:11px;color:var(--gray-500);min-width:0;text-align:left}.incoming-item__chip{font-family:monospace;font-size:10.5px;color:var(--gray-700);background:var(--gray-50);border:1px solid var(--gray-100);padding:1px 6px;border-radius:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}.incoming-item__repo{font-size:11px;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.incoming-item__loc{margin-top:3px;font-size:10.5px;color:var(--gray-400);font-family:monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left;width:100%}.side-panel-vulnerabilities{padding:12px 0;border-bottom:1px solid var(--gray-200)}.side-panel-vulnerabilities h5{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500)}.vuln-summary-row{display:flex;gap:8px;align-items:center;margin-bottom:10px}.vuln-count{font-size:12px;font-weight:600;padding:2px 8px;border-radius:10px}.vuln-count--total{background:var(--red-50);color:var(--red-600)}.vuln-count--reachable{background:var(--amber-100);color:var(--amber-600)}.vuln-sev{font-size:11px;font-weight:600;padding:2px 8px;border-radius:10px;text-transform:capitalize}.vuln-sev--critical{background:var(--pink-100);color:var(--pink-700)}.vuln-sev--high{background:var(--red-50);color:var(--red-600)}.vuln-sev--medium{background:var(--amber-50);color:var(--amber-600)}.vuln-sev--low{background:var(--green-50);color:var(--green-600)}.vuln-loading{font-size:12px;color:var(--gray-400);padding:8px 0}.vuln-list{display:flex;flex-direction:column;gap:8px}.vuln-list__fallback-note{font-size:11px;color:var(--gray-500);background:var(--amber-100);border:1px solid var(--amber-300);border-radius:6px;padding:8px 10px;margin:0 0 4px}.vuln-list__show-all-btn{font-size:11px;color:var(--color-primary-dark);background:none;border:none;cursor:pointer;padding:4px 0;margin-bottom:4px;text-align:left}.vuln-list__show-all-btn:hover{text-decoration:underline}.vuln-card{background:var(--gray-50);border:1px solid var(--gray-200);border-radius:8px;padding:10px}.vuln-card__header{display:flex;align-items:center;gap:6px;margin-bottom:4px}.vuln-card__id{font-size:12px;font-weight:600;color:var(--color-primary-dark);text-decoration:none}.vuln-card__id:hover{text-decoration:underline}.vuln-card__version{font-size:11px;color:var(--gray-500);margin-left:auto}.vuln-card__summary{font-size:12px;color:var(--gray-700);margin:0 0 6px;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.vuln-card__meta{display:flex;align-items:center;gap:10px}.vuln-card__cvss{font-size:11px;color:var(--gray-500);font-weight:500}.vuln-card__sites{margin-top:6px;display:flex;flex-direction:column;gap:2px}.vuln-sev-dot{width:8px;height:8px;border-radius:50%;display:inline-block;flex-shrink:0}.vuln-sev-dot--critical{background:var(--pink-700)}.vuln-sev-dot--high{background:var(--red-600)}.vuln-sev-dot--medium{background:var(--amber-600)}.vuln-sev-dot--low{background:var(--green-600)}.vuln-sev-dot--unknown{background:var(--gray-400)}.vuln-reach{font-size:11px;font-weight:600;display:flex;align-items:center;gap:3px}.vuln-reach__icon{width:14px;height:14px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:9px;font-weight:700;color:#fff;background:currentColor}.vuln-site{font-size:11px;font-family:SF Mono,Monaco,monospace;color:var(--gray-500)}.info-tip{position:relative;display:inline-flex;align-items:center;vertical-align:middle;margin-left:.4rem;font-weight:400;font-size:1rem;text-transform:none;letter-spacing:normal}.info-tip-trigger{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;border-radius:50%;background:none;color:var(--gray-500);cursor:pointer;transition:color .15s ease-in-out,background .15s ease-in-out}.info-tip-trigger:hover,.info-tip-trigger[aria-expanded=true]{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent)}.info-tip-trigger:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 25%,transparent)}.info-tip-trigger--warning{color:var(--color-warning-dark)}.info-tip-trigger--warning:hover,.info-tip-trigger--warning[aria-expanded=true]{color:var(--color-warning-dark);background:color-mix(in srgb,var(--color-warning) 18%,transparent)}.info-tip-trigger--warning:focus-visible{box-shadow:0 0 0 3px color-mix(in srgb,var(--color-warning) 30%,transparent)}.info-tip-bubble{position:absolute;top:calc(100% + 8px);z-index:50;display:block;width:max-content;max-width:320px;padding:.65rem .8rem;border:1px solid var(--gray-200);border-radius:.5rem;background:var(--surface);box-shadow:var(--shadow-lg);color:var(--gray-700);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:.8125rem;font-weight:400;line-height:1.55;text-align:left;white-space:normal;cursor:default}.info-tip-bubble.align-left{left:-.5rem}.info-tip-bubble.align-right{right:-.5rem}.info-tip-bubble code{font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;font-size:.9em;background:var(--gray-100);padding:.05rem .3rem;border-radius:.375rem}.info-tip-bubble:before{content:"";position:absolute;top:-5px;width:9px;height:9px;background:var(--surface);border-left:1px solid var(--gray-200);border-top:1px solid var(--gray-200);transform:rotate(45deg)}.info-tip-bubble.align-left:before{left:1rem}.info-tip-bubble.align-right:before{right:1rem}@media (max-width: 640px){.info-tip-bubble{max-width:min(280px,78vw)}}.scan-stages{list-style:none;margin:0;padding:.875rem 1rem;border-top:1px solid color-mix(in srgb,var(--gray-200) 70%,transparent)}.scan-stage{position:relative;display:grid;grid-template-columns:24px 1fr;align-items:center;column-gap:.75rem;min-height:36px}.scan-stage:before{content:"";position:absolute;left:11px;top:0;bottom:0;width:2px;background:var(--gray-200)}.scan-stage--first:before{top:50%}.scan-stage--last:before{bottom:50%}.scan-stage .scan-stage-label{text-align:left;font-size:.78125rem;font-weight:500;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.scan-stage .scan-stage-meta{text-align:right;font-size:.71875rem;font-weight:500;color:var(--gray-400);font-variant-numeric:tabular-nums;white-space:nowrap;max-width:65%;overflow:hidden;text-overflow:ellipsis}.scan-stage-body{display:flex;flex-direction:column;gap:3px;min-width:0}.scan-stage-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem;min-width:0}.scan-stage-row .scan-stage-label{flex:1 1 auto;min-width:0}.scan-stage-row .scan-stage-meta{flex:0 1 auto}.scan-stage-row .info-tip{flex:0 0 auto;margin-left:0;font-size:inherit}.scan-stage-row .info-tip-trigger{width:18px;height:18px}.scan-stage--last .info-tip-bubble{top:auto;bottom:calc(100% + 8px)}.scan-stage-progressbar{display:block;height:3px;border-radius:2px;background:color-mix(in srgb,var(--color-primary) 15%,transparent);overflow:hidden}.scan-stage-progressbar-fill{display:block;height:100%;border-radius:inherit;background:var(--color-primary);transition:width .6s ease}.scan-stage-rail{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center}.scan-stage-node{position:relative;display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:7px;background:var(--gray-100);color:var(--gray-400);box-shadow:0 0 0 3px var(--surface);transition:background .2s ease,color .2s ease,box-shadow .2s ease}.scan-stage-retry{position:absolute;top:0;right:0;bottom:0;left:0;display:inline-flex;align-items:center;justify-content:center;padding:0;border:none;border-radius:inherit;cursor:pointer;background:color-mix(in srgb,var(--color-primary) 92%,transparent);color:#fff;opacity:0;transform:scale(.8);pointer-events:none;transition:opacity .15s ease,transform .15s ease}.scan-stage--retryable .scan-stage-node:hover .scan-stage-retry,.scan-stage--retryable .scan-stage-retry:focus-visible{opacity:1;transform:scale(1);pointer-events:auto}.scan-stage--retryable .scan-stage-retry:focus-visible{outline:2px solid var(--color-primary-dark);outline-offset:1px}.scan-stage-hollow{width:7px;height:7px;border-radius:50%;background:currentColor;opacity:.55}.scan-stage-spinner{width:13px;height:13px;border-radius:50%;border:2px solid color-mix(in srgb,var(--color-primary) 25%,transparent);border-top-color:var(--color-primary);animation:scan-stage-spin .7s linear infinite}.scan-stage--completed .scan-stage-node{background:color-mix(in srgb,var(--color-success) 13%,var(--surface));color:var(--color-success-dark);box-shadow:0 0 0 3px var(--surface)}.scan-stage--completed .scan-stage-label{color:var(--gray-700)}.scan-stage--completed .scan-stage-meta{color:var(--gray-500)}.scan-stage--in_progress .scan-stage-node{background:color-mix(in srgb,var(--color-primary) 13%,var(--surface));color:var(--color-primary);box-shadow:0 0 0 4px var(--surface),0 0 0 5px color-mix(in srgb,var(--color-primary) 22%,transparent),0 0 10px 2px color-mix(in srgb,var(--color-primary) 16%,transparent)}.scan-stage--in_progress .scan-stage-label{color:var(--color-primary-dark);font-weight:600}.scan-stage--in_progress .scan-stage-meta{color:var(--color-primary)}.scan-stage--failed .scan-stage-node{background:color-mix(in srgb,var(--color-error) 13%,var(--surface));color:var(--color-error-dark);box-shadow:0 0 0 4px var(--surface),0 0 0 5px color-mix(in srgb,var(--color-error) 20%,transparent),0 0 10px 2px color-mix(in srgb,var(--color-error) 14%,transparent)}.scan-stage--failed .scan-stage-label,.scan-stage--failed .scan-stage-meta{color:var(--color-error-dark)}.scan-stage--skipped .scan-stage-node{background:var(--gray-100);color:var(--gray-400)}.scan-stage--skipped .scan-stage-label{color:var(--gray-400)}.scan-stage--skipped .scan-stage-meta{color:var(--gray-400);font-style:italic}.scan-stage--cancelled .scan-stage-node{background:color-mix(in srgb,var(--color-warning) 13%,var(--surface));color:var(--color-warning-dark);box-shadow:0 0 0 3px var(--surface)}.scan-stage--cancelled .scan-stage-label{color:var(--gray-600)}.scan-stage--cancelled .scan-stage-meta{color:var(--color-warning-dark);font-style:italic}.scan-stage--partial .scan-stage-meta{color:var(--gray-500)}.scan-stage--disabled .scan-stage-node{background:var(--gray-100);color:var(--gray-400);box-shadow:0 0 0 3px var(--surface)}.scan-stage--disabled .scan-stage-label{color:var(--gray-400)}.scan-stage--disabled .scan-stage-meta{color:var(--gray-400);font-style:italic}.scan-stage--pending .scan-stage-node{background:var(--gray-100);color:var(--gray-400)}.scan-stage--pending .scan-stage-label{color:var(--gray-400)}@keyframes scan-stage-spin{to{transform:rotate(360deg)}}.scan-history-modal{max-width:640px}.scan-modal-header{align-items:flex-start!important;padding:1.5rem 1.75rem 1.25rem!important}.scan-modal-header .scan-modal-header-text{display:flex;flex-direction:column;gap:.25rem;min-width:0}.scan-modal-header .scan-modal-header-text h2{font-size:1.375rem!important;letter-spacing:-.01em}.scan-modal-header .scan-modal-subtitle{margin:0;font-size:.8125rem;color:var(--gray-500);font-weight:500;line-height:1.3}.scan-modal-header .scan-modal-header-actions{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.scan-icon-button{background:transparent;border:none;width:32px;height:32px;border-radius:8px;display:inline-flex;align-items:center;justify-content:center;color:var(--gray-500);cursor:pointer;transition:background .15s,color .15s,transform .15s;padding:0}.scan-icon-button:hover:not(:disabled){background:var(--gray-100);color:var(--gray-800)}.scan-icon-button:active:not(:disabled){transform:scale(.94)}.scan-icon-button:disabled{opacity:.5;cursor:not-allowed}.scan-icon-spin{animation:scan-spin .8s linear infinite}.scan-history-modal .scan-scroll-area{padding:1.25rem 1.75rem 1.5rem!important;max-height:65vh}.scan-section+.scan-section{margin-top:1.5rem}.scan-section-title{display:flex;align-items:center;gap:.5rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--gray-500);margin:0 0 .625rem 2px}.pulse-dot{width:7px;height:7px;border-radius:50%;background:var(--color-success);box-shadow:0 0 color-mix(in srgb,var(--color-success) 55%,transparent);animation:pulse-glow 1.6s ease-out infinite}@keyframes pulse-glow{0%{box-shadow:0 0 color-mix(in srgb,var(--color-success) 55%,transparent)}to{box-shadow:0 0 0 8px color-mix(in srgb,var(--color-success) 0%,transparent)}}.scan-row,.scan-group{position:relative;background:var(--surface);border:1px solid var(--gray-200);border-radius:14px;overflow:hidden;box-shadow:0 1px 2px #0f172a0a;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.scan-row+.scan-row,.scan-row+.scan-group,.scan-group+.scan-row,.scan-group+.scan-group{margin-top:.625rem}.scan-row:hover,.scan-group:hover{border-color:var(--gray-300);box-shadow:0 6px 18px #0f172a12;transform:translateY(-1px)}.scan-row-main{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.875rem 1rem}.scan-row--active,.scan-group--active{border-color:color-mix(in srgb,var(--color-primary) 40%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--color-primary) 5%,transparent),color-mix(in srgb,var(--color-primary) 1.2%,transparent)),var(--surface);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary) 18%,transparent),0 8px 22px color-mix(in srgb,var(--color-primary) 10%,transparent)}.scan-row--active:hover,.scan-group--active:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--color-primary) 24%,transparent),0 10px 26px color-mix(in srgb,var(--color-primary) 13%,transparent)}.scan-row--failed,.scan-group--failed{border-color:color-mix(in srgb,var(--color-error) 35%,transparent);background:linear-gradient(180deg,color-mix(in srgb,var(--color-error) 3.5%,transparent) 0%,var(--surface) 70%);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-error) 14%,transparent),0 6px 18px color-mix(in srgb,var(--color-error) 8%,transparent)}.scan-row--failed:hover,.scan-group--failed:hover{box-shadow:0 0 0 1px color-mix(in srgb,var(--color-error) 18%,transparent),0 8px 22px color-mix(in srgb,var(--color-error) 11%,transparent)}.scan-row-left{flex:1;min-width:0}.scan-row-top{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.scan-status{display:inline-flex;align-items:center;gap:.375rem;font-size:.6875rem;font-weight:600;padding:.1875rem .5rem .1875rem .4375rem;border-radius:999px;letter-spacing:.01em;line-height:1}.scan-status .scan-status-dot{width:6px;height:6px;border-radius:50%;background:currentColor;flex-shrink:0}.scan-status.status--completed{background:color-mix(in srgb,var(--color-success) 10%,transparent);color:var(--color-success-dark)}.scan-status.status--running{background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary-dark)}.scan-status.status--running .scan-status-dot{animation:status-pulse 1.4s ease-in-out infinite}.scan-status.status--pending{background:color-mix(in srgb,var(--color-warning) 12%,transparent);color:var(--color-warning-dark)}.scan-status.status--failed{background:color-mix(in srgb,var(--color-error) 10%,transparent);color:var(--color-error-dark)}@keyframes status-pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}.scan-type{font-size:.6875rem;font-weight:500;color:var(--gray-400);text-transform:capitalize;letter-spacing:.02em}.scan-branch{display:inline-flex;align-items:center;font-size:.6875rem;font-weight:600;padding:.125rem .4375rem;border-radius:5px;background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary-dark);font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;letter-spacing:-.01em}.scan-service-badge{display:inline-flex;align-items:center;font-size:.6875rem;font-weight:600;padding:.125rem .4375rem;border-radius:5px;background:color-mix(in srgb,var(--color-accent) 10%,transparent);color:var(--color-accent-dark);font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;letter-spacing:-.01em}.scan-row-meta{display:flex;align-items:center;gap:.375rem;margin-top:.375rem;font-size:.75rem;color:var(--gray-400);font-variant-numeric:tabular-nums}.scan-row-meta .meta-sep{color:var(--gray-300)}.scan-error{margin-top:.5rem;font-size:.75rem;color:var(--color-error-dark);background:color-mix(in srgb,var(--color-error) 6%,transparent);padding:.375rem .5rem;border-radius:6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:320px}.scan-row-stats{display:flex;align-items:center;gap:.375rem;flex-shrink:0}.scan-row-stats .stat{display:inline-flex;align-items:center;gap:.3125rem;padding:.25rem .4375rem;border-radius:7px;background:var(--gray-50);font-size:.75rem;font-weight:600;color:var(--gray-600);font-variant-numeric:tabular-nums}.scan-row-stats .stat svg{color:var(--gray-400)}.scan-row-stats .stat--warn{background:color-mix(in srgb,var(--color-warning) 10%,transparent);color:var(--color-warning-dark)}.scan-row-stats .stat--warn svg{color:var(--color-warning-dark)}.scan-stages-toggle{display:flex;width:fit-content;align-items:center;gap:.3125rem;margin:.125rem 0 .625rem 1rem;padding:.25rem .5rem .25rem .375rem;border:1px solid var(--gray-200);border-radius:7px;background:var(--gray-50);color:var(--gray-500);font-size:.6875rem;font-weight:600;letter-spacing:.02em;cursor:pointer;transition:background .15s,border-color .15s,color .15s}.scan-stages-toggle:hover{background:var(--surface);border-color:var(--gray-300);color:var(--gray-700)}.scan-stages-toggle .scan-stages-toggle-chevron{color:var(--gray-400);transition:transform .18s ease}.scan-stages-toggle--open .scan-stages-toggle-chevron{transform:rotate(180deg)}.scan-stages-loading{padding:0 1rem .75rem;text-align:left;font-size:.75rem;color:var(--gray-400)}.coverage-pill{display:inline-flex;align-items:center;gap:.4375rem;padding:.25rem .4375rem;border-radius:6px;background:var(--gray-50);border:1px solid var(--gray-200);cursor:pointer;transition:background .15s,border-color .15s,box-shadow .15s;font-family:inherit;line-height:1}.coverage-pill:hover:not(:disabled){background:var(--surface);border-color:var(--gray-300)}.coverage-pill:focus-visible{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,transparent)}.coverage-pill--static{cursor:help}.coverage-pill .coverage-pill-bar{width:32px;height:4px;background:var(--gray-200);border-radius:999px;overflow:hidden}.coverage-pill .coverage-pill-fill{height:100%;border-radius:999px;transition:width .3s ease-out}.coverage-pill .coverage-pill-value{font-size:.6875rem;font-weight:700;font-variant-numeric:tabular-nums}.coverage-pill .coverage-pill-chevron{color:var(--gray-400);transition:transform .18s ease-out;flex-shrink:0}.coverage-pill--open{background:var(--surface);border-color:var(--gray-300)}.coverage-pill--open .coverage-pill-chevron{transform:rotate(180deg);color:var(--gray-600)}.coverage-pill--good .coverage-pill-fill{background:var(--color-success)}.coverage-pill--good .coverage-pill-value{color:var(--color-success-dark)}.coverage-pill--mid .coverage-pill-fill{background:var(--color-warning)}.coverage-pill--mid .coverage-pill-value{color:var(--color-warning-dark)}.coverage-pill--low .coverage-pill-fill{background:var(--color-error)}.coverage-pill--low .coverage-pill-value{color:var(--color-error-dark)}.coverage-details{border-top:1px solid var(--gray-100);background:linear-gradient(180deg,var(--gray-50) 0%,var(--gray-100) 100%);padding:.875rem 1rem 1rem;animation:coverage-slide .2s ease-out;border-bottom-left-radius:13px;border-bottom-right-radius:13px}@keyframes coverage-slide{0%{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}.coverage-details-summary{display:flex;align-items:center;gap:.625rem;flex-wrap:wrap;padding-bottom:.75rem;border-bottom:1px dashed var(--gray-200);margin-bottom:.75rem}.coverage-details-pct{font-size:1.125rem;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:-.02em;line-height:1}.coverage-details-pct--good{color:var(--color-success-dark)}.coverage-details-pct--mid{color:var(--color-warning-dark)}.coverage-details-pct--low{color:var(--color-error-dark)}.coverage-details-headline{display:inline-flex;align-items:baseline;gap:.25rem;font-size:.8125rem;color:var(--gray-700);font-variant-numeric:tabular-nums}.coverage-details-headline strong{font-weight:700;color:var(--gray-800)}.coverage-details-headline .coverage-details-sep{color:var(--gray-300)}.coverage-details-headline .coverage-details-label{margin-left:.25rem;color:var(--gray-500);font-weight:500}.coverage-details-meta{display:inline-flex;align-items:center;gap:.375rem;margin-left:auto}.coverage-details-chip{display:inline-flex;align-items:center;font-size:.6875rem;font-weight:600;padding:.1875rem .4375rem;border-radius:5px;background:var(--gray-100);color:var(--gray-600);font-variant-numeric:tabular-nums}.coverage-details-chip--warn{background:color-mix(in srgb,var(--color-warning) 12%,transparent);color:var(--color-warning-dark)}.coverage-details-section+.coverage-details-section{margin-top:.875rem}.coverage-details-h{margin:0 0 .5rem;font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500);text-align:left}.coverage-deps{display:grid;grid-template-columns:max-content minmax(60px,1fr) auto auto;align-items:center;column-gap:.75rem;row-gap:.375rem;font-variant-numeric:tabular-nums}.coverage-dep-name{font-size:.75rem;font-weight:600;color:var(--gray-700);font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:180px}.coverage-dep-bar{height:5px;background:var(--gray-200);border-radius:999px;overflow:hidden}.coverage-dep-fill{height:100%;border-radius:999px;transition:width .3s ease-out}.coverage-dep-fill--good{background:var(--color-success)}.coverage-dep-fill--mid{background:var(--color-warning)}.coverage-dep-fill--low{background:var(--color-error)}.coverage-dep-stat{font-size:.6875rem;color:var(--gray-500);font-weight:500;text-align:right}.coverage-dep-pct{font-size:.6875rem;font-weight:700;text-align:right}.coverage-dep-pct--good{color:var(--color-success-dark)}.coverage-dep-pct--mid{color:var(--color-warning-dark)}.coverage-dep-pct--low{color:var(--color-error-dark)}.coverage-unresolved{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:max-content minmax(0,1fr) auto;row-gap:0;column-gap:.75rem}@media (max-width: 560px){.coverage-unresolved{grid-template-columns:1fr;column-gap:0}}.coverage-unresolved-item{display:grid;grid-template-columns:subgrid;grid-column:1/-1;align-items:baseline;padding:.375rem 0;font-size:.6875rem;line-height:1.3;border-bottom:1px solid var(--gray-200)}.coverage-unresolved-item:last-child{border-bottom:none}@media (max-width: 560px){.coverage-unresolved-item{grid-template-columns:1fr;row-gap:.125rem}}.coverage-unresolved-call{display:block;font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;font-weight:600;color:var(--gray-800);text-align:left;justify-self:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coverage-unresolved-call .coverage-unresolved-dot{color:var(--gray-400)}.coverage-unresolved-loc{font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.coverage-unresolved-reason{display:block;color:var(--color-warning-dark);font-style:italic;text-align:left;justify-self:start;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.coverage-show-more{margin-top:.5rem;background:transparent;border:1px solid var(--gray-200);color:var(--gray-600);font-size:.6875rem;font-weight:600;padding:.3125rem .625rem;border-radius:6px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.coverage-show-more:hover{border-color:var(--color-primary);color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 4%,transparent)}.scan-loading{text-align:center;padding:3.5rem 1rem;color:var(--gray-500)}.scan-loading .scan-spinner{width:28px;height:28px;margin:0 auto .875rem;border:2.5px solid var(--gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:scan-spin .8s linear infinite}.scan-loading p{margin:0;font-size:.8125rem;font-weight:500}.scan-empty{display:flex;flex-direction:column;align-items:center;text-align:center;padding:3rem 1rem;gap:.5rem}.scan-empty .scan-empty-icon{width:48px;height:48px;border-radius:12px;background:var(--gray-100);color:var(--gray-400);display:flex;align-items:center;justify-content:center;margin-bottom:.5rem}.scan-empty p{margin:0;font-size:.9375rem;font-weight:600;color:var(--gray-700)}.scan-empty span{font-size:.8125rem;color:var(--gray-400)}.scan-empty--error .scan-empty-icon{background:color-mix(in srgb,var(--color-error) 8%,transparent);color:var(--color-error)}.scan-empty--error p{color:var(--color-error-dark)}.scan-empty-action{margin-top:.75rem;background:var(--surface);border:1px solid var(--gray-200);color:var(--gray-700);font-size:.75rem;font-weight:600;padding:.4375rem .875rem;border-radius:8px;cursor:pointer;transition:border-color .15s,color .15s,background .15s}.scan-empty-action:hover{border-color:var(--color-primary);color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 4%,transparent)}.scan-group-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;padding:.875rem 1rem;cursor:pointer;text-align:left;border-radius:inherit;transition:background .15s;-webkit-user-select:none;user-select:none}.scan-group-header:hover{background:var(--gray-50)}.scan-group-header:focus-visible{outline:none;box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--color-primary) 30%,transparent)}.scan-group--active .scan-group-header:hover,.scan-group--failed .scan-group-header:hover{background:transparent}.scan-group-left{flex:1;min-width:0}.scan-group-toggle{display:inline-flex;align-items:center;gap:.3125rem;font-size:.6875rem;font-weight:600;color:var(--gray-500);margin-left:.125rem}.scan-chevron{color:var(--gray-400);transition:transform .18s ease-out;flex-shrink:0}.scan-chevron--open{transform:rotate(90deg)}.scan-group-children{position:relative;padding:.25rem 1rem .625rem 1.625rem;margin:0 .25rem}.scan-group-children:before{content:"";position:absolute;left:1.125rem;top:.25rem;bottom:.625rem;width:1.5px;background:var(--gray-200);border-radius:1px}.scan-child-row{position:relative;display:flex;flex-direction:column;gap:.5rem;padding:.5rem .5rem .5rem .625rem;border-radius:6px;transition:background .15s}.scan-child-row:hover{background:var(--gray-50)}.scan-child-row:before{content:"";position:absolute;left:-.5rem;top:1.1rem;width:.5rem;height:1.5px;background:var(--gray-200)}.scan-child-row--active{background:color-mix(in srgb,var(--color-primary) 4%,transparent)}.scan-child-row--active .scan-status-dot{animation:status-pulse 1.4s ease-in-out infinite}.scan-child-main{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.scan-child-left{display:flex;align-items:center;gap:.4375rem;min-width:0}.scan-child-duration{font-size:.6875rem;color:var(--gray-400);font-variant-numeric:tabular-nums}.scan-child-stats{display:flex;align-items:center;gap:.625rem;flex-shrink:0}.scan-child-stat{font-size:.6875rem;font-weight:600;color:var(--gray-500);font-variant-numeric:tabular-nums}.scan-child-stat--warn{color:var(--color-warning-dark)}@keyframes scan-spin{to{transform:rotate(360deg)}}.scan-stop-button{display:inline-flex;align-items:center;gap:.35rem;padding:.25rem .6rem;border:1px solid color-mix(in srgb,var(--color-error) 35%,transparent);border-radius:6px;background:transparent;color:var(--color-error-dark);font-size:.75rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.scan-stop-button:hover{background:color-mix(in srgb,var(--color-error) 10%,transparent);border-color:color-mix(in srgb,var(--color-error) 55%,transparent)}.scan-retry-modes{display:flex;flex-direction:column;gap:.6rem;margin-bottom:1.25rem;text-align:left}.scan-retry-mode{display:flex;align-items:flex-start;gap:.6rem;padding:.7rem .85rem;border:1px solid var(--gray-200);border-radius:8px;cursor:pointer;transition:border-color .15s ease,background .15s ease}.scan-retry-mode input{margin-top:.2rem;accent-color:var(--color-primary)}.scan-retry-mode span{display:flex;flex-direction:column;gap:.15rem}.scan-retry-mode strong{font-size:.875rem;font-weight:600;color:var(--gray-800)}.scan-retry-mode em{font-style:normal;font-size:.78rem;line-height:1.4;color:var(--gray-600)}.scan-retry-mode:hover{border-color:var(--gray-300)}.scan-retry-mode--on{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 6%,transparent)}.scan-action-error{margin-bottom:1rem;padding:.55rem .7rem;border-radius:6px;background:color-mix(in srgb,var(--color-error) 10%,transparent);color:var(--color-error-dark);font-size:.8125rem;line-height:1.4;text-align:left}.svc-select-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0000008c;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem;animation:svcFadeIn .2s ease-out}.svc-select-modal{background:var(--surface);border-radius:20px;width:100%;max-width:580px;max-height:85vh;display:flex;flex-direction:column;box-shadow:0 25px 50px #00000040;border:1px solid var(--gray-100);animation:svcSlideIn .3s ease-out}.svc-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 1.75rem .75rem}.svc-header .svc-header-left{display:flex;align-items:center;gap:.75rem}.svc-header .svc-header-left h2{margin:0;font-size:1.25rem;font-weight:700;color:var(--gray-900)}.svc-header .svc-count{background:color-mix(in srgb,var(--color-jade) 10%,transparent);color:var(--color-jade);padding:2px 10px;border-radius:20px;font-size:.75rem;font-weight:600}.svc-header .svc-countdown{font-variant-numeric:tabular-nums;font-size:.8125rem;font-weight:700;color:var(--gray-500);background:var(--gray-50);border-radius:8px;padding:4px 10px}.svc-header .svc-countdown.svc-countdown--urgent{color:var(--color-error);background:color-mix(in srgb,var(--color-error) 10%,transparent)}.svc-subtitle{margin:0;padding:0 1.75rem 1rem;font-size:.8125rem;line-height:1.5;color:var(--gray-500);border-bottom:1px solid var(--gray-100)}.svc-error{margin:1rem 1.75rem 0;padding:.75rem 1rem;border-radius:10px;background:color-mix(in srgb,var(--color-error) 8%,transparent);color:var(--color-error);font-size:.8125rem;font-weight:500}.svc-body{flex:1;overflow-y:auto;padding:1rem 1.75rem}.svc-toggle-all{background:none;border:none;padding:0 0 .75rem;cursor:pointer;font-size:.75rem;font-weight:600;color:var(--color-jade)}.svc-toggle-all:hover{text-decoration:underline}.svc-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.5rem}.svc-item{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;border:1.5px solid var(--gray-200);border-radius:12px;cursor:pointer;transition:all .15s ease;text-align:left}.svc-item:hover{border-color:var(--gray-300);background:var(--gray-50)}.svc-item.selected{border-color:var(--color-jade);background:color-mix(in srgb,var(--color-jade) 5%,transparent)}.svc-checkbox{width:20px;height:20px;min-width:20px;margin-top:1px;border:2px solid var(--gray-300);border-radius:6px;display:flex;align-items:center;justify-content:center;background:var(--surface);color:#fff;transition:all .15s ease}.svc-item.selected .svc-checkbox{border-color:var(--color-jade);background:var(--color-jade)}.svc-info{display:flex;flex-direction:column;gap:3px;min-width:0}.svc-name-row{display:flex;align-items:center;gap:.5rem}.svc-name-row .svc-name{font-size:.875rem;font-weight:600;color:var(--gray-900)}.svc-badge{font-size:.625rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:2px 7px;border-radius:6px}.svc-badge.svc-badge--library{background:var(--gray-100);color:var(--gray-500)}.svc-meta{display:flex;align-items:center;gap:.625rem;font-size:.75rem;color:var(--gray-400);min-width:0}.svc-meta .svc-path{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.svc-meta .svc-ecosystem{text-transform:capitalize}.svc-loading,.svc-empty{display:flex;flex-direction:column;align-items:center;gap:.75rem;padding:2.5rem 1rem;color:var(--gray-400);font-size:.875rem}.svc-spinner{width:28px;height:28px;border:3px solid var(--gray-200);border-top-color:var(--color-jade);border-radius:50%;animation:svcSpin .8s linear infinite}.svc-footer{display:flex;justify-content:flex-end;gap:.75rem;padding:1rem 1.75rem 1.5rem;border-top:1px solid var(--gray-100)}.svc-btn-cancel,.svc-btn-save{padding:.625rem 1.25rem;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .15s ease}.svc-btn-cancel{background:none;border:1.5px solid var(--gray-200);color:var(--gray-500)}.svc-btn-cancel:hover:not(:disabled){border-color:var(--gray-300);color:var(--gray-900)}.svc-btn-save{background:var(--color-jade);border:1.5px solid var(--color-jade);color:#fff}.svc-btn-save:hover:not(:disabled){filter:brightness(.95)}.svc-btn-save:disabled{opacity:.5;cursor:not-allowed}@keyframes svcFadeIn{0%{opacity:0}to{opacity:1}}@keyframes svcSlideIn{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes svcSpin{to{transform:rotate(360deg)}}.settings-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;animation:fadeIn .2s ease-out}.settings-modal{background:var(--surface);border-radius:20px;width:100%;max-width:1100px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 25px 50px #0003;border:1px solid var(--gray-100);animation:slideIn .3s ease-out;overflow:hidden}.settings-modal-header{display:flex;justify-content:space-between;align-items:center;padding:2rem 2rem 1.5rem;border-bottom:1px solid var(--gray-100);background:linear-gradient(135deg,var(--gray-50) 0%,var(--surface) 100%)}.settings-modal-header h2{margin:0;color:var(--gray-900);font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,var(--gray-900) 0%,var(--gray-700) 100%);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.settings-modal-header .close-button{background:none;border:none;width:40px;height:40px;border-radius:12px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--gray-500);transition:all .2s ease}.settings-modal-header .close-button:hover{background:var(--gray-200);color:var(--gray-700);transform:scale(1.05)}.settings-modal-header .close-button svg{width:20px;height:20px}.settings-modal-tabs{display:flex;gap:4px;padding:1rem 2rem 0;border-bottom:2px solid var(--gray-100);background:var(--surface)}.settings-modal-tabs .tab-button{background:none;border:none;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:600;color:var(--gray-500);cursor:pointer;border-bottom:3px solid transparent;transition:all .2s ease;display:flex;align-items:center;gap:.5rem;border-radius:8px 8px 0 0;position:relative;top:2px}.settings-modal-tabs .tab-button:hover:not(.active){color:var(--gray-700);background-color:var(--gray-50)}.settings-modal-tabs .tab-button.active{color:var(--color-primary);background-color:var(--surface);border-bottom-color:var(--color-primary)}.settings-modal-tabs .tab-button .tab-badge{background-color:var(--gray-200);color:var(--gray-600);padding:2px 8px;border-radius:12px;font-size:.75rem;font-weight:700;min-width:24px;text-align:center}.settings-modal-tabs .tab-button.active .tab-badge{background-color:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary)}.settings-error{display:flex;align-items:center;gap:12px;padding:1rem 2rem;background-color:var(--red-50);color:var(--red-800);border-left:4px solid var(--red-600);margin:1rem 2rem 0;border-radius:8px;font-size:.875rem}.settings-error svg{flex-shrink:0;color:var(--red-600)}.settings-modal-content{flex:1;overflow-y:auto;padding:2rem;background:var(--gray-50);min-height:500px}.settings-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px 20px;color:var(--gray-500)}.settings-loading .spinner{width:48px;height:48px;border:4px solid var(--gray-200);border-top-color:var(--color-primary);border-radius:50%;animation:spin .8s linear infinite;margin-bottom:1.5rem}.settings-loading p{margin:0;font-size:1rem;font-weight:500}.settings-modal-footer{display:flex;justify-content:flex-end;gap:1rem;padding:1.5rem 2rem;border-top:1px solid var(--gray-100);background:var(--surface)}.settings-modal-footer button{padding:.75rem 1.5rem;border-radius:12px;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;border:none}.settings-modal-footer button.btn-secondary{background-color:var(--surface);color:var(--gray-700);border:2px solid var(--gray-300)}.settings-modal-footer button.btn-secondary:hover:not(:disabled){background-color:var(--gray-50);border-color:var(--gray-400)}.settings-modal-footer button.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.settings-modal-footer button.btn-primary{background:var(--color-primary);color:#fff;box-shadow:0 4px 12px color-mix(in srgb,var(--color-primary) 30%,transparent)}.settings-modal-footer button.btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 16px color-mix(in srgb,var(--color-primary) 40%,transparent)}.settings-modal-footer button.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(30px) scale(.95);opacity:0}to{transform:translateY(0) scale(1);opacity:1}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes slideOut{0%{transform:translateY(0) scale(1);opacity:1}to{transform:translateY(20px) scale(.96);opacity:0}}.settings-modal-overlay.is-exiting{animation:fadeOut .2s ease-in forwards}.settings-modal-overlay.is-exiting .settings-modal{animation:slideOut .25s ease-in forwards}.test-editor-modal{display:flex;flex-direction:column;min-height:0;height:90vh}.test-editor-body{flex:1 1 auto;min-height:0;overflow-y:auto;padding:1.5rem 2rem 2rem;background:var(--gray-50);display:flex;flex-direction:column;gap:1rem}.test-editor-modal .settings-modal-footer,.test-editor-modal .settings-modal-header{flex-shrink:0}.test-editor-row{display:grid;grid-template-columns:160px 1fr;align-items:center;gap:1rem}.test-editor-row label{font-size:.875rem;font-weight:600;color:var(--gray-700);text-align:left;justify-self:start}.test-editor-row input,.test-editor-row select,.test-editor-row textarea{padding:.5rem .75rem;border:1px solid var(--gray-300);border-radius:8px;font-size:.9375rem;font-family:inherit;background:var(--surface);width:100%}.test-editor-row textarea{font-family:JetBrains Mono,monospace;font-size:.8125rem;min-height:280px;resize:vertical}.test-editor-step-tabs{display:flex;gap:4px;border-bottom:2px solid var(--gray-200);margin-top:.5rem}.test-editor-step-tabs .tab-button{background:none;border:none;padding:.5rem 1rem;font-size:.875rem;font-weight:600;color:var(--gray-500);cursor:pointer;border-bottom:3px solid transparent}.test-editor-step-tabs .tab-button.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.test-editor-step-card{background:var(--surface);border:1px solid var(--gray-200);border-radius:10px;display:flex;flex-direction:column;box-shadow:0 1px 2px #0000000a;overflow:visible;min-width:0}.test-editor-step-card .step-card-header{display:flex;justify-content:space-between;align-items:center;padding:.6rem .875rem;border-bottom:1px solid var(--gray-100);background:var(--gray-50);font-weight:600;color:var(--gray-800);border-radius:10px 10px 0 0}.test-editor-step-card .step-card-title{display:flex;align-items:center;gap:.5rem}.test-editor-step-card .step-card-num{background:var(--gray-200);color:var(--gray-700);padding:1px 8px;border-radius:12px;font-size:.75rem;font-weight:700}.test-editor-step-card .step-card-kind{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;padding:1px 8px;border-radius:6px;background:color-mix(in srgb,var(--color-primary) 10%,transparent);color:var(--color-primary)}.test-editor-step-card .step-card-kind.step-card-kind-request{background:#3b82f61f;color:var(--blue-700)}.test-editor-step-card .step-card-kind.step-card-kind-assert{background:#10b9811f;color:var(--green-700)}.test-editor-step-card .step-card-kind.step-card-kind-delay{background:#a855f71f;color:var(--purple-800)}.test-editor-step-card .step-card-kind.step-card-kind-script{background:#ec48991f;color:var(--pink-800)}.test-editor-step-card .step-card-kind.step-card-kind-unknown{background:var(--gray-200);color:var(--gray-700)}.test-editor-step-card .step-card-body{padding:.875rem;display:flex;flex-direction:column;gap:.625rem;min-width:0;overflow:visible}.test-editor-step-card .step-card-actions{display:flex;gap:.25rem}.test-editor-step-card .step-card-actions button{background:var(--surface);border:1px solid var(--gray-300);border-radius:6px;padding:.2rem .55rem;font-size:.75rem;cursor:pointer;color:var(--gray-700);min-width:28px}.test-editor-step-card .step-card-actions button:hover{background:var(--gray-100)}.test-editor-step-card .step-card-actions button:disabled{opacity:.4;cursor:not-allowed}.test-editor-step-card .step-card-actions button.step-card-remove{color:var(--red-700);border-color:#b91c1c40}.test-editor-step-card .step-card-actions button.step-card-remove:hover{background:var(--red-50)}.step-field-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:.75rem;align-items:start;min-width:0}.step-field-row>label{font-size:.8125rem;font-weight:600;color:var(--gray-600);padding-top:.4rem}.step-field-row .step-field-control{display:flex;flex-direction:column;gap:.25rem;min-width:0}.step-field-row input,.step-field-row select,.step-field-row textarea{padding:.4rem .6rem;border:1px solid var(--gray-300);border-radius:6px;font-size:.875rem;font-family:inherit;background:var(--surface);width:100%}.step-field-row textarea{font-family:JetBrains Mono,monospace;font-size:.8125rem}.step-field-error{color:var(--red-700);font-size:.75rem;font-family:JetBrains Mono,monospace}.step-json-area{min-height:110px;resize:vertical}.step-script-area{min-height:130px;resize:vertical}.step-kv-rows{display:flex;flex-direction:column;gap:.25rem}.step-kv-row{display:grid;grid-template-columns:minmax(120px,1fr) minmax(120px,2fr) auto;gap:.4rem;align-items:center}.step-kv-row>input{padding:.35rem .55rem;border:1px solid var(--gray-300);border-radius:6px;font-family:JetBrains Mono,monospace;font-size:.8125rem}.step-kv-row.is-duplicate>input,.step-kv-row.is-duplicate .combobox .combobox-inputrow{border-color:var(--red-600);background:var(--red-50)}.step-kv-row.is-duplicate:after{content:"duplicate field";grid-column:1/-1;font-size:.7rem;color:var(--red-700);font-style:italic;padding-left:.25rem}.step-kv-add{align-self:flex-start;background:var(--surface);border:1px dashed var(--gray-400);color:var(--gray-700);padding:.25rem .6rem;border-radius:6px;font-size:.75rem;cursor:pointer}.step-kv-add:hover{background:var(--gray-100)}.step-kv-remove{background:var(--surface);border:1px solid var(--gray-300);color:var(--red-700);width:28px;border-radius:6px;cursor:pointer;font-size:1rem;line-height:1}.step-kv-remove:hover{background:var(--red-50)}.step-subsection{border-top:1px dashed var(--gray-200);padding-top:.625rem;display:flex;flex-direction:column;gap:.4rem}.step-subsection .step-subsection-title{font-size:.8125rem;font-weight:600;color:var(--gray-700);display:flex;align-items:center;gap:.5rem}.step-subsection .step-subsection-title .muted{color:var(--gray-500);font-weight:400}.step-subsection .step-subsection-title .step-kv-add{margin-left:auto}.step-assertion-row{display:grid;grid-template-columns:110px minmax(0,1fr) 110px minmax(0,1fr) auto;gap:.4rem;align-items:center;min-width:0}.step-assertion-row input,.step-assertion-row select{padding:.35rem .55rem;border:1px solid var(--gray-300);border-radius:6px;font-size:.8125rem;font-family:JetBrains Mono,monospace}.test-editor-empty{background:var(--surface);border:1px dashed var(--gray-300);border-radius:10px;padding:1.5rem;text-align:center;color:var(--gray-500);font-size:.875rem}.combobox{position:relative;display:flex;flex-direction:column;min-width:0}.combobox .combobox-inputrow{display:flex;align-items:stretch;border:1px solid var(--gray-300);border-radius:6px;background:var(--surface);overflow:hidden;transition:border-color .15s ease}.combobox .combobox-inputrow:focus-within{border-color:var(--color-primary)}.combobox .combobox-inputrow input{flex:1;border:none;background:transparent;padding:.35rem .55rem;font-size:.8125rem;font-family:JetBrains Mono,monospace;outline:none;min-width:0}.combobox.is-disabled .combobox-inputrow{background:var(--gray-100);border-color:var(--gray-200);cursor:not-allowed}.combobox.is-disabled .combobox-inputrow input{background:transparent;color:var(--gray-500);cursor:not-allowed}.combobox.is-disabled .combobox-inputrow .combobox-chevron{background:var(--gray-100);color:var(--gray-300);cursor:not-allowed;pointer-events:none}.combobox.is-open .combobox-inputrow{border-color:var(--color-primary)}.combobox .combobox-chevron{background:transparent;border:none;border-left:1px solid var(--gray-200);color:var(--gray-500);width:26px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .1s ease,color .1s ease}.combobox .combobox-chevron:hover{background:color-mix(in srgb,var(--color-primary) 6%,transparent);color:var(--color-primary)}.combobox .combobox-chevron:disabled{opacity:.4;cursor:not-allowed}.combobox.is-open .combobox-chevron svg{transform:rotate(180deg);color:var(--color-primary)}.combobox .combobox-popover{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:1500;background:var(--surface);border:1px solid var(--gray-200);border-radius:8px;box-shadow:0 10px 24px #0000001f;max-height:240px;overflow-y:auto;padding:4px;display:flex;flex-direction:column}.combobox .combobox-empty{padding:.6rem .75rem;font-size:.8125rem;color:var(--gray-500);font-style:italic}.combobox .combobox-option{background:none;border:none;text-align:left;padding:.4rem .6rem;border-radius:6px;font-size:.8125rem;font-family:JetBrains Mono,monospace;cursor:pointer;color:var(--gray-800);display:flex;justify-content:space-between;align-items:center;gap:.5rem}.combobox .combobox-option:hover{background:color-mix(in srgb,var(--color-primary) 8%,transparent);color:var(--color-primary)}.combobox .combobox-option.selected{background:color-mix(in srgb,var(--color-primary) 12%,transparent);color:var(--color-primary);font-weight:600}.combobox .combobox-option-hint{font-size:.7rem;color:var(--gray-500);font-family:inherit;text-transform:uppercase;letter-spacing:.04em}.test-editor-suggestions-banner{display:flex;flex-wrap:wrap;gap:.4rem;align-items:center;background:color-mix(in srgb,var(--color-primary) 6%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 18%,transparent);color:var(--gray-700);padding:.45rem .75rem;border-radius:8px;font-size:.8125rem}.test-editor-suggestions-banner .suggest-pill{background:var(--surface);border:1px solid color-mix(in srgb,var(--color-primary) 25%,transparent);color:var(--color-primary);padding:1px 8px;border-radius:12px;font-weight:600}.test-editor-suggestions-banner .suggest-hint{color:var(--gray-500)}.step-kv-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.step-kv-preset{background:var(--surface);border:1px solid var(--gray-300);border-radius:6px;padding:.25rem .5rem;font-size:.75rem;color:var(--color-primary);font-weight:600;cursor:pointer}.step-kv-preset:hover{background:color-mix(in srgb,var(--color-primary) 5%,transparent);border-color:var(--color-primary)}.step-schema-hint{margin-top:.4rem;font-size:.75rem;color:var(--gray-600)}.step-schema-hint summary{cursor:pointer;font-weight:600;color:var(--color-primary)}.step-schema-hint ul{list-style:none;margin:.4rem 0 0;padding:0;display:flex;flex-wrap:wrap;gap:.35rem}.step-schema-hint li{background:var(--surface);border:1px solid var(--gray-200);border-radius:6px;padding:2px 8px;font-family:JetBrains Mono,monospace}.step-schema-hint li .schema-hint-required{margin-left:.4rem;color:var(--amber-700);font-family:inherit;font-weight:600}.step-schema-hint-empty{font-size:.75rem;color:var(--gray-500);font-style:italic}.test-editor-add-step{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center;padding-top:.25rem}.test-editor-add-step .add-step-label{font-size:.8125rem;font-weight:600;color:var(--gray-600)}.test-editor-add-step button{background:var(--surface);border:1px dashed var(--gray-400);color:var(--gray-700);padding:.4rem .8rem;border-radius:6px;cursor:pointer;font-size:.8125rem}.test-editor-add-step button:hover{background:var(--gray-100);border-color:var(--color-primary);color:var(--color-primary)}.test-editor-error{background:var(--red-50);color:var(--red-800);border-left:4px solid var(--red-600);padding:.5rem .75rem;border-radius:6px;font-size:.8125rem}.test-badge-user-edited{background:#f59e0b1f;color:var(--amber-800);padding:2px 8px;border-radius:6px;font-size:.75rem;font-weight:600}.test-badge-user-created{background:#6366f11f;color:var(--indigo-800);padding:2px 8px;border-radius:6px;font-size:.75rem;font-weight:600}.test-badge-schema-drift{background:#eab3082e;color:var(--amber-800);padding:2px 8px;border-radius:6px;font-size:.75rem;font-weight:600;cursor:pointer;border:1px solid rgba(234,179,8,.4)}.test-badge-needs-review{font-size:.625rem;font-weight:600;padding:2px 6px;border-radius:4px;background:#f973162e;color:var(--orange-800);white-space:nowrap;cursor:pointer}.test-needs-review-banner{background:#f9731614;border-left:3px solid rgba(249,115,22,.7);color:var(--orange-800);padding:10px 12px;margin:8px 0 12px;border-radius:0 4px 4px 0;font-size:.85rem;line-height:1.5}.test-needs-review-banner ul{margin:6px 0 6px 18px;padding:0}.test-needs-review-banner code{background:#f973161f;padding:1px 5px;border-radius:3px;font-size:.8rem}.test-row-edit-button{background:none;border:1px solid var(--gray-300);border-radius:6px;padding:2px 6px;cursor:pointer;color:var(--gray-600);font-size:.75rem}.test-row-edit-button:hover{background:var(--gray-100);color:var(--gray-800)}.test-config-modal{max-width:900px}.test-config-modal .service-selector{padding:.375rem .75rem;border:1px solid var(--gray-300);border-radius:6px;font-size:.8125rem;color:var(--gray-700);background:var(--surface);margin-left:auto;margin-right:.75rem;min-width:180px}.test-config-modal .header-actions{display:flex;align-items:center;gap:.75rem}.test-config-modal .actions-dropdown{position:relative}.test-config-modal .actions-dropdown .actions-chevron{transition:transform .15s ease}.test-config-modal .actions-dropdown .actions-chevron.open{transform:rotate(180deg)}.test-config-modal .actions-dropdown .actions-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:1100;background:var(--surface);border:1px solid var(--gray-200);border-radius:12px;box-shadow:0 12px 28px #00000024;min-width:260px;padding:6px;display:flex;flex-direction:column;gap:2px}.test-config-modal .actions-dropdown .actions-menu-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .75rem;background:none;border:none;border-radius:8px;cursor:pointer;text-align:left;color:var(--gray-800);transition:background .1s ease,color .1s ease}.test-config-modal .actions-dropdown .actions-menu-item svg{flex-shrink:0;color:var(--color-primary);align-self:center}.test-config-modal .actions-dropdown .actions-menu-item:hover:not(:disabled){background:color-mix(in srgb,var(--color-primary) 8%,transparent)}.test-config-modal .actions-dropdown .actions-menu-item:hover:not(:disabled) .actions-menu-item-title{color:var(--color-primary)}.test-config-modal .actions-dropdown .actions-menu-item:disabled{cursor:not-allowed;opacity:.5}.test-config-modal .actions-dropdown .actions-menu-item:disabled svg{color:var(--gray-400)}.test-config-modal .actions-dropdown .actions-menu-item:disabled .actions-menu-item-title{color:var(--gray-500)}.test-config-modal .actions-dropdown .actions-menu-item:disabled .actions-menu-item-desc{color:var(--gray-400)}.test-config-modal .actions-dropdown .actions-menu-item-text{display:flex;flex-direction:column;align-items:flex-start;text-align:left;gap:2px;flex:1;min-width:0}.test-config-modal .actions-dropdown .actions-menu-item-title{font-weight:600;font-size:.875rem;color:var(--gray-800);text-align:left;align-self:flex-start}.test-config-modal .actions-dropdown .actions-menu-item-desc{font-size:.75rem;color:var(--gray-500);text-align:left;align-self:flex-start}.test-config-modal .btn-generate{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;border:none;border-radius:10px;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s;white-space:nowrap}.test-config-modal .btn-generate:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 14px color-mix(in srgb,var(--color-primary) 35%,transparent)}.test-config-modal .btn-generate:disabled{opacity:.7;cursor:not-allowed;transform:none}.test-config-modal .btn-generate .btn-spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .8s linear infinite}.test-config-modal .generate-success{display:flex;align-items:center;gap:.75rem;padding:.75rem 2rem;background:var(--green-50);color:var(--green-800);font-size:.875rem;font-weight:500;border-bottom:1px solid var(--green-200)}.test-config-modal .generate-success svg{flex-shrink:0;color:var(--green-600)}.tests-tab{text-align:left}.tests-empty{display:flex;flex-direction:column;align-items:center;padding:3rem;color:var(--gray-400);text-align:center}.tests-empty svg{margin-bottom:1rem}.tests-empty p{margin:0;font-weight:600;color:var(--gray-500)}.tests-empty span{font-size:.875rem;margin-top:.25rem}.tests-summary{display:flex;gap:1rem;margin-bottom:1.25rem}.tests-stat{display:flex;flex-direction:column;align-items:center;padding:.75rem 1.5rem;background:var(--surface);border:1px solid var(--gray-200);border-radius:12px;min-width:100px}.tests-stat .tests-stat-value{font-size:1.5rem;font-weight:700;color:var(--gray-800)}.tests-stat .tests-stat-label{font-size:.75rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em}.tests-list{display:flex;flex-direction:column;gap:2px;background:var(--gray-200);border:1px solid var(--gray-200);border-radius:12px;overflow:hidden}.test-row{background:var(--surface)}.test-row.expanded .test-row-chevron{transform:rotate(90deg)}.test-row-header{display:flex;align-items:center;gap:.5rem;padding:.625rem 1rem;cursor:pointer;transition:background .1s}.test-row-header:hover{background:var(--gray-50)}.test-row-chevron{flex-shrink:0;color:var(--gray-400);transition:transform .15s}.test-method{font-size:.6875rem;font-weight:700;padding:2px 6px;border-radius:4px;font-family:SF Mono,Fira Code,monospace;flex-shrink:0}.test-method.test-method-get{background:var(--blue-100);color:var(--blue-700)}.test-method.test-method-post{background:var(--green-100);color:var(--green-600)}.test-method.test-method-put,.test-method.test-method-patch{background:var(--amber-100);color:var(--amber-600)}.test-method.test-method-delete{background:var(--red-100);color:var(--red-600)}.test-endpoint{font-size:.8125rem;font-weight:600;color:var(--gray-700);font-family:SF Mono,Fira Code,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}.test-name-label{font-size:.8125rem;color:var(--gray-500);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.test-row-badges{display:flex;gap:.375rem;flex-shrink:0}.test-badge{font-size:.625rem;font-weight:600;padding:2px 6px;border-radius:4px;background:var(--gray-100);color:var(--gray-600);white-space:nowrap;text-transform:capitalize}.test-source-badge{font-size:.625rem;font-weight:600;padding:2px 6px;border-radius:4px;white-space:nowrap}.test-source-badge.test-source-deterministic{background:var(--blue-100);color:var(--blue-700)}.test-source-badge.test-source-llm{background:var(--purple-100);color:var(--purple-600)}.test-priority-badge{font-size:.625rem;font-weight:600;padding:2px 6px;border-radius:4px;white-space:nowrap}.test-priority-badge.test-priority-critical{background:var(--red-100);color:var(--red-600)}.test-priority-badge.test-priority-high{background:var(--amber-100);color:var(--amber-600)}.test-priority-badge.test-priority-medium{background:var(--gray-100);color:var(--gray-600)}.test-priority-badge.test-priority-low{background:var(--gray-50);color:var(--gray-400)}.test-row-detail{padding:0 1rem 1rem;border-top:1px solid var(--gray-100);background:var(--gray-50)}.test-steps-header{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0 .5rem;font-size:.75rem;font-weight:600;color:var(--gray-500);text-transform:uppercase;letter-spacing:.05em}.test-category-label{font-size:.6875rem;font-weight:600;padding:2px 8px;border-radius:6px;background:var(--gray-200);color:var(--gray-600);text-transform:capitalize}.test-step{background:var(--surface);border:1px solid var(--gray-200);border-radius:10px;margin-bottom:.5rem;overflow:hidden}.test-step-header{display:flex;align-items:center;gap:.5rem;padding:.625rem .75rem;border-bottom:1px solid var(--gray-100);background:var(--surface)}.test-step-number{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:6px;background:var(--gray-100);color:var(--gray-600);font-size:.6875rem;font-weight:700;flex-shrink:0}.test-step-url{font-size:.75rem;color:var(--gray-600);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.test-step-section{padding:.5rem .75rem;border-bottom:1px solid var(--gray-50)}.test-step-section:last-child{border-bottom:none}.test-step-label{display:block;font-size:.6875rem;font-weight:600;color:var(--gray-400);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem}.test-step-code{display:block;padding:.5rem .625rem;background:var(--gray-900);color:#e5e7eb;border-radius:8px;font-size:.75rem;font-family:SF Mono,Fira Code,monospace;overflow-x:auto;white-space:pre;line-height:1.4;margin:0;max-height:200px}.test-assertion{display:flex;align-items:center;gap:.375rem;padding:.25rem 0;font-size:.75rem}.test-assertion .assertion-type{font-weight:600;color:var(--gray-600);background:var(--gray-100);padding:1px 6px;border-radius:4px}.test-assertion .assertion-path{color:var(--gray-700);font-family:SF Mono,Fira Code,monospace;font-size:.6875rem}.test-assertion .assertion-op{font-weight:600;color:var(--color-primary)}.test-assertion .assertion-value{color:var(--gray-600);font-family:SF Mono,Fira Code,monospace;font-size:.6875rem;background:var(--gray-50);padding:1px 4px;border-radius:3px}.test-capture{font-size:.75rem;padding:.25rem 0}.test-capture code{font-family:SF Mono,Fira Code,monospace;font-size:.6875rem;background:var(--gray-100);padding:1px 4px;border-radius:3px;color:var(--gray-700)}.env-tab-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1.5rem;gap:1rem}.env-tab-header .env-tab-description{margin:0;color:var(--gray-500);font-size:.875rem;line-height:1.5;max-width:520px;text-align:left}.btn-add{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .2s}.btn-add:hover{transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--color-primary) 30%,transparent)}.env-form-card,.vpn-upload-card{background:var(--surface);border:1px solid var(--gray-200);border-radius:14px;padding:1.5rem;margin-bottom:1.5rem;box-shadow:0 2px 8px #0000000a;text-align:left}.env-form-card h4,.vpn-upload-card h4{margin:0 0 1rem;font-size:1rem;font-weight:600;color:var(--gray-800);text-align:left}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.375rem;text-align:left}.form-group label{font-size:.8125rem;font-weight:600;color:var(--gray-600);text-align:left}.form-group input,.form-group select{padding:.625rem .75rem;border:1.5px solid var(--gray-200);border-radius:10px;font-size:.875rem;color:var(--gray-800);background:var(--surface);transition:border-color .15s}.form-group input:focus,.form-group select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 10%,transparent)}.form-group input::placeholder,.form-group select::placeholder{color:var(--gray-400)}.form-group input[type=file]{padding:.5rem;border-style:dashed}.form-group .file-dropzone{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:1.5rem 1rem;border:2px dashed var(--gray-300);border-radius:12px;background:var(--gray-50);cursor:pointer;transition:all .2s;text-align:center}.form-group .file-dropzone:hover,.form-group .file-dropzone.dragover{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 4%,transparent)}.form-group .file-dropzone:hover svg,.form-group .file-dropzone.dragover svg{color:var(--color-primary)}.form-group .file-dropzone.has-file{flex-direction:row;padding:.75rem 1rem;border-style:solid;border-color:var(--green-500);background:var(--green-50);gap:.75rem}.form-group .file-dropzone.has-file svg{color:var(--green-500);flex-shrink:0}.form-group .file-dropzone svg{color:var(--gray-400);transition:color .2s}.form-group .file-dropzone .file-dropzone-text{font-size:.875rem;font-weight:500;color:var(--gray-600)}.form-group .file-dropzone .file-dropzone-hint{font-size:.75rem;color:var(--gray-400)}.form-group .file-dropzone .file-dropzone-name{font-size:.875rem;font-weight:600;color:var(--gray-700);flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.form-group .file-dropzone .file-dropzone-remove{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:8px;background:none;color:var(--gray-400);cursor:pointer;flex-shrink:0}.form-group .file-dropzone .file-dropzone-remove:hover{background:var(--red-50);color:var(--red-600)}.form-group .form-hint{font-size:.75rem;color:var(--gray-400)}.form-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:1.25rem}.form-actions .btn-secondary{padding:.5rem 1rem;background:var(--surface);border:1.5px solid var(--gray-300);border-radius:10px;font-size:.875rem;font-weight:600;color:var(--gray-600);cursor:pointer}.form-actions .btn-secondary:hover{background:var(--gray-50)}.form-actions .btn-primary{padding:.5rem 1rem;background:var(--color-primary);color:#fff;border:none;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer}.form-actions .btn-primary:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px color-mix(in srgb,var(--color-primary) 30%,transparent)}.form-actions .btn-primary:disabled{opacity:.5;cursor:not-allowed}.token-reveal{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--amber-50);border:1px solid var(--amber-400);border-radius:12px;margin-bottom:1.5rem;font-size:.875rem}.token-reveal svg{flex-shrink:0;color:var(--amber-500)}.token-reveal strong{display:block;font-size:.8125rem;color:var(--gray-700);margin-bottom:.25rem}.token-reveal code{display:block;font-size:.8125rem;color:var(--gray-800);background:#0000000d;padding:.25rem .5rem;border-radius:6px;word-break:break-all}.token-reveal button{padding:.375rem .75rem;background:var(--surface);border:1px solid var(--gray-300);border-radius:8px;font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap}.token-reveal button:hover{background:var(--gray-50)}.env-list{display:flex;flex-direction:column;gap:.75rem}.env-card{background:var(--surface);border:1px solid var(--gray-200);border-radius:12px;overflow:hidden;transition:border-color .15s}.env-card:hover{border-color:var(--gray-300)}.env-card-header{display:flex;justify-content:space-between;align-items:center;padding:.875rem 1.25rem;border-bottom:1px solid var(--gray-100);background:var(--gray-50)}.env-card-header .env-name{display:flex;align-items:center;gap:.5rem;font-weight:600;font-size:.9375rem;color:var(--gray-800)}.env-dot{width:8px;height:8px;border-radius:50%;background:var(--gray-400)}.env-dot.default{background:var(--green-500)}.env-default-badge{font-size:.6875rem;font-weight:600;background:var(--green-50);color:var(--green-600);padding:2px 8px;border-radius:6px}.btn-icon-danger{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--gray-200);border-radius:8px;background:var(--surface);color:var(--gray-500);cursor:pointer;flex-shrink:0;transition:all .15s}.btn-icon-danger:hover{background:var(--red-50);border-color:var(--red-300);color:var(--red-600)}.btn-icon-danger svg{flex-shrink:0}.env-card-body{padding:.875rem 1.25rem;display:flex;gap:2rem;text-align:left}.env-field{display:flex;flex-direction:column;gap:.25rem}.env-field .env-field-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-400)}.env-field code{font-size:.8125rem;color:var(--gray-700)}.env-auth-badge,.env-vpn-badge{font-size:.75rem;font-weight:600;padding:2px 8px;border-radius:6px;background:var(--gray-100);color:var(--gray-600)}.env-vpn-badge{background:var(--green-50);color:var(--green-600)}.env-empty{display:flex;flex-direction:column;align-items:center;padding:3rem;color:var(--gray-400);text-align:center}.env-empty svg{margin-bottom:1rem}.env-empty p{margin:0;font-weight:600;color:var(--gray-500)}.env-empty span{font-size:.875rem;margin-top:.25rem}.vpn-tab-description{margin:0 0 1.5rem;color:var(--gray-500);font-size:.875rem;line-height:1.5;text-align:left}.vpn-status-list{display:flex;flex-direction:column;gap:.75rem;margin-top:1.5rem}.vpn-status-card{display:flex;align-items:center;gap:.75rem;padding:1rem 1.25rem;background:var(--surface);border:1px solid var(--gray-200);border-radius:12px}.vpn-status-card svg{color:var(--green-500);flex-shrink:0}.vpn-status-card strong{display:block;color:var(--gray-800);font-size:.9375rem}.vpn-status-card span{display:block;color:var(--gray-500);font-size:.8125rem}.vpn-empty{text-align:center;padding:2rem;color:var(--gray-400);font-size:.875rem}.cli-tab-description{margin:0 0 1.5rem;color:var(--gray-500);font-size:.875rem;line-height:1.5}.cli-step-card{display:flex;align-items:flex-start;gap:1rem;padding:1.25rem;background:var(--surface);border:1px solid var(--gray-200);border-radius:12px;margin-bottom:.75rem;text-align:left}.cli-step-card .cli-step-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:10px;background:linear-gradient(135deg,var(--color-primary),var(--color-primary-dark));color:#fff;font-weight:700;font-size:.875rem;flex-shrink:0}.cli-step-card .cli-step-number svg{color:#fff}.cli-step-card .cli-step-content{flex:1;min-width:0;text-align:left}.cli-step-card .cli-step-content h4{margin:0 0 .5rem;font-size:.9375rem;font-weight:600;color:var(--gray-800);text-align:left}.cli-step-card .cli-step-content .cli-step-hint{margin:.5rem 0 0;font-size:.8125rem;color:var(--gray-500);line-height:1.4;text-align:left}.cli-tab,.cli-tab-description{text-align:left}.cli-code-block{display:block;padding:.75rem 1rem;background:var(--gray-900);color:#e5e7eb;border-radius:10px;font-size:.8125rem;font-family:SF Mono,Fira Code,monospace;overflow-x:auto;white-space:pre;line-height:1.5;text-align:left}pre.cli-code-block{margin:0;text-align:left}.test-status-badge{font-size:.625rem;font-weight:700;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.03em}.test-status-badge.test-status-pass{background:var(--green-100);color:var(--green-600)}.test-status-badge.test-status-fail{background:var(--red-100);color:var(--red-600)}.test-status-badge.test-status-error{background:var(--amber-100);color:var(--amber-600)}.test-status-badge.test-status-skip{background:var(--gray-100);color:var(--gray-500)}.test-status-badge.test-status-not-run{background:var(--gray-100);color:var(--gray-400)}.test-history-section{margin-top:.75rem;border-top:1px solid var(--gray-200);padding-top:.5rem}.test-history-empty{padding:1rem;text-align:center;color:var(--gray-400);font-size:.8125rem}.test-history-list{display:flex;flex-direction:column;gap:4px}.test-history-item{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;padding:.5rem .75rem;background:var(--surface);border:1px solid var(--gray-200);border-radius:8px;font-size:.75rem}.test-status-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.test-status-dot.status-pass{background:var(--green-600)}.test-status-dot.status-fail{background:var(--red-600)}.test-status-dot.status-error{background:var(--amber-600)}.test-status-dot.status-skip{background:var(--gray-400)}.test-history-status{font-weight:600;text-transform:uppercase;min-width:44px;margin-right:.25rem}.test-history-duration{color:var(--gray-500);font-family:SF Mono,Fira Code,monospace;font-size:.6875rem;min-width:50px;margin-right:.5rem}.test-history-date{color:var(--gray-400);margin-left:auto;white-space:nowrap}.test-history-error{display:block;width:100%;margin-top:.25rem;padding:.375rem .5rem;background:var(--red-50);border-radius:6px;color:var(--red-600);font-size:.6875rem;font-family:SF Mono,Fira Code,monospace}.results-tab{text-align:left}button.btn-primary,.dep-workspace-dashboard.dep-workspace-error button{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-md)}button.btn-primary:hover:not(:disabled),.dep-workspace-dashboard.dep-workspace-error button:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-xl);background:var(--color-primary-dark);box-shadow:var(--shadow-lg)}.dep-workspace-dashboard{height:100vh;background:var(--gray-100);padding:1rem;display:flex;flex-direction:column;gap:1rem;font-family:Inter,sans-serif;overflow:hidden}@media screen and (max-width: 1024px){.dep-workspace-dashboard{height:auto;min-height:100vh;overflow-y:auto}}.dep-workspace-dashboard.dep-workspace-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:50vh;gap:1rem}.dep-workspace-dashboard.dep-workspace-error p{font-size:1.25rem;color:var(--gray-600)}.dep-workspace-header{display:flex;justify-content:space-between;align-items:center;flex-shrink:0}@media screen and (max-width: 768px){.dep-workspace-header{flex-direction:column;align-items:flex-start;gap:1rem}}.dep-workspace-header .header-left{display:flex;align-items:center;gap:1rem}.dep-workspace-header .header-left .back-button{width:32px;height:32px;border-radius:8px;background:var(--surface);border:1px solid var(--gray-200);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;padding:0}.dep-workspace-header .header-left .back-button:hover{background:var(--gray-50);border-color:var(--gray-300)}.dep-workspace-header .header-left .back-button svg{width:16px;height:16px;color:var(--gray-600)}.dep-workspace-header .header-left .workspace-info{text-align:left}.dep-workspace-header .header-left .workspace-info h1{font-size:1.5rem;font-weight:600;color:var(--gray-900);margin:0;line-height:1.2;text-align:left}.dep-workspace-header .header-left .workspace-info .workspace-description{font-size:.875rem;color:var(--gray-600);margin:.25rem 0 0;text-align:left}.dep-workspace-header .header-left .workspace-info .workspace-freshness{font-size:.75rem;color:var(--gray-500);margin:.125rem 0 0;text-align:left}.dep-workspace-header .header-left .workspace-info .workspace-freshness time{cursor:help;border-bottom:1px dotted var(--gray-400)}.dep-workspace-header .header-right{display:flex;align-items:center;gap:.75rem}.dep-workspace-header .header-right .branch-selector{position:relative;display:inline-block}.dep-workspace-header .header-right .branch-selector .branch-dropdown{background:color-mix(in srgb,var(--color-primary) 5%,transparent);border:1px solid color-mix(in srgb,var(--color-primary) 10%,transparent);border-radius:8px;padding:.5rem 2.5rem .5rem 1rem;font-size:.875rem;font-weight:600;color:var(--gray-900);cursor:pointer;transition:all .3s ease;min-width:180px;-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 8 4 4 4-4'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right .5rem center;background-size:1.5em 1.5em}.dep-workspace-header .header-right .branch-selector .branch-dropdown:hover{background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:color-mix(in srgb,var(--color-primary) 20%,transparent)}.dep-workspace-header .header-right .branch-selector .branch-dropdown:focus{outline:none;background:color-mix(in srgb,var(--color-primary) 10%,transparent);border-color:color-mix(in srgb,var(--color-primary) 20%,transparent)}.dep-workspace-header .header-right .scan-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--surface);border:1px solid var(--gray-200);border-radius:8px;font-size:.875rem;font-weight:500;color:var(--gray-700);cursor:pointer;transition:all .15s}.dep-workspace-header .header-right .scan-btn:hover:not(:disabled){background:var(--gray-50);border-color:var(--color-primary);color:var(--color-primary)}.dep-workspace-header .header-right .scan-btn:disabled{opacity:.6;cursor:not-allowed}.dep-workspace-header .header-right .scan-btn svg{flex-shrink:0}.dep-workspace-header .header-right .scan-btn .spin{animation:spin 1s linear infinite}.dep-workspace-header .header-right .scan-control-group{display:inline-flex;align-items:stretch}.dep-workspace-header .header-right .scan-control-group .scan-btn,.dep-workspace-header .header-right .scan-control-group .scan-history-btn{position:relative}.dep-workspace-header .header-right .scan-control-group .scan-btn{border-top-right-radius:0;border-bottom-right-radius:0}.dep-workspace-header .header-right .scan-control-group .scan-history-btn{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:-1px}.dep-workspace-header .header-right .scan-control-group .scan-btn:hover:not(:disabled),.dep-workspace-header .header-right .scan-control-group .scan-history-btn:hover{z-index:1}.dep-workspace-header .header-right .scan-history-btn{display:flex;align-items:center;justify-content:center;width:34px;padding:0;background:var(--surface);border:1px solid var(--gray-200);border-radius:8px;color:var(--gray-500);cursor:pointer;transition:all .15s}.dep-workspace-header .header-right .scan-history-btn:hover{background:var(--gray-50);border-color:var(--color-primary);color:var(--color-primary)}.dep-workspace-header .header-right .scan-history-btn svg{flex-shrink:0}.dep-workspace-header .header-right .graph-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--surface);border:1px solid var(--gray-200);border-radius:8px;font-size:.875rem;font-weight:500;color:var(--gray-700);cursor:pointer;transition:all .15s}.dep-workspace-header .header-right .graph-btn:hover{background:var(--gray-50);border-color:var(--color-primary);color:var(--color-primary)}.dep-workspace-header .header-right .graph-btn svg{flex-shrink:0}.dep-workspace-header .header-right .header-badge{display:flex;align-items:center;gap:.5rem;padding:.5rem 1rem;background:var(--surface);border:1px solid var(--gray-200);border-radius:8px;font-size:.875rem;font-weight:500;color:var(--gray-700)}.dep-workspace-header .header-right .header-badge svg{color:var(--color-primary)}.inventory-bar-container{background:var(--surface);border-radius:12px;padding:.75rem 1.5rem;display:flex;align-items:center;gap:3rem;box-shadow:0 1px 3px #0000000d;flex-shrink:0;flex-wrap:wrap}@media screen and (max-width: 1024px){.inventory-bar-container{gap:1.5rem}}.inventory-bar-container .inventory-group{display:flex;align-items:center;gap:1.5rem}.inventory-bar-container .inventory-group .group-label{font-size:.875rem;font-weight:600;color:var(--gray-900);margin-right:.5rem}.inventory-bar-container .inventory-group .inventory-item{display:flex;align-items:baseline;gap:.5rem}.inventory-bar-container .inventory-group .inventory-item .item-label{font-size:.875rem;color:var(--gray-600)}.inventory-bar-container .inventory-group .inventory-item .item-value{font-size:1rem;font-weight:600;color:var(--gray-900)}.dep-main-grid{display:grid;grid-template-columns:2fr 1fr;gap:1rem;flex:1.6;min-height:0}@media screen and (max-width: 1024px){.dep-main-grid{grid-template-columns:1fr;flex:none;min-height:400px}}.dep-bottom-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;flex:.85;min-height:0}@media screen and (max-width: 1024px){.dep-bottom-grid{grid-template-columns:1fr;flex:none;height:auto}}.severity-bar-chart{display:flex;flex-direction:column;gap:.75rem;flex:1;justify-content:center}.severity-bar-chart .severity-bar-row{display:flex;align-items:center;gap:.75rem;transition:opacity .2s}.severity-bar-chart .severity-bar-row:hover{opacity:.85}.severity-bar-chart .severity-bar-row .severity-bar-label{width:60px;font-size:.8125rem;font-weight:500;color:var(--gray-500);text-transform:capitalize;text-align:right}.severity-bar-chart .severity-bar-row .severity-bar-track{flex:1;height:20px;background:var(--gray-100);border-radius:6px;overflow:hidden}.severity-bar-chart .severity-bar-row .severity-bar-fill{height:100%;border-radius:6px;transition:width .5s ease}.severity-bar-chart .severity-bar-row .severity-bar-count{width:36px;font-size:.875rem;font-weight:700;color:var(--gray-900);text-align:right}.severity-stats-row{display:flex;justify-content:space-between;margin-top:1.5rem;padding-top:.5rem;flex-shrink:0}.severity-stats-row .severity-stat-item{display:flex;flex-direction:column;gap:.125rem;padding-left:1rem;border-left-width:3px;border-left-style:solid;cursor:pointer;transition:opacity .2s}.severity-stats-row .severity-stat-item:hover{opacity:.8}.severity-stats-row .severity-stat-item .stat-value{font-size:1.25rem;font-weight:700;color:var(--gray-900);line-height:1}.severity-stats-row .severity-stat-item .stat-label{font-size:.75rem;color:var(--gray-600);font-weight:500}.issues-by-type-list{display:flex;flex-direction:column;gap:.25rem;height:100%;overflow-y:auto}.issues-by-type-list .issues-section-label{font-size:.6875rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500);padding:.5rem .75rem .125rem;text-align:left}.issues-by-type-list .issues-section-label--drift{color:var(--purple-600);margin-top:.375rem;border-top:1px solid var(--gray-100);padding-top:.625rem}.issues-by-type-list .issues-section-label--incoming{color:var(--amber-700);cursor:help}.issues-by-type-list .issue-type-item{display:flex;align-items:center;gap:.75rem;padding:.375rem .75rem;cursor:pointer;border-radius:6px;transition:background-color .2s}.issues-by-type-list .issue-type-item:hover{background-color:var(--gray-50)}.issues-by-type-list .issue-type-item--muted{opacity:.7}.issues-by-type-list .issue-type-item--muted .issue-name,.issues-by-type-list .issue-type-item--muted .issue-count{color:var(--purple-600)}.issues-by-type-list .issue-type-item--incoming{background:var(--amber-50);border:1px solid var(--amber-200)}.issues-by-type-list .issue-type-item--incoming:hover{background-color:var(--amber-100)}.issues-by-type-list .issue-type-item--incoming .issue-count{color:var(--amber-700)}.issues-by-type-list .issue-type-item .issue-info{flex:1;min-width:0;display:flex;align-items:center;gap:.5rem}.issues-by-type-list .issue-type-item .issue-info .issue-name-col{display:flex;flex-direction:column;gap:2px;min-width:0}.issues-by-type-list .issue-type-item .issue-info .issue-type-icon{display:flex;align-items:center;flex-shrink:0}.issues-by-type-list .issue-type-item .issue-info .issue-name{font-size:.8125rem;color:var(--gray-800);font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.issues-by-type-list .issue-type-item .issue-info .issue-name--sub{font-size:.6875rem;color:var(--amber-800);font-weight:500}.issues-by-type-list .issue-type-item .issue-info .vuln-breakdown{display:flex;gap:4px;flex-wrap:wrap}.issues-by-type-list .issue-type-item .issue-count-group{display:flex;align-items:center;gap:.3rem;margin-left:.5rem;flex-shrink:0}.issues-by-type-list .issue-type-item .issue-count-group .severity-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0;margin-left:2px}.issues-by-type-list .issue-type-item .issue-count{font-weight:600;font-size:.8125rem;color:var(--gray-900);min-width:18px;text-align:right}.issues-by-type-list .issue-type-item .issue-delta{font-size:.7rem;font-weight:400;border-radius:4px;padding:0 3px}.issues-by-type-list .issue-type-item .issue-delta--fixed{color:var(--green-600)}.issues-by-type-list .issue-type-item .issue-delta--added{color:var(--red-500)}.reach-tag{font-size:.625rem;font-weight:600;padding:1px 6px;border-radius:8px;letter-spacing:.02em;flex-shrink:0;text-transform:uppercase}.reach-tag--reachable{background:var(--red-50);color:var(--red-600)}.reach-tag--unreachable{background:var(--green-50);color:var(--green-600)}.reach-tag--unknown{background:var(--amber-50);color:var(--amber-600)}.risk-chart-container{display:flex;align-items:center;justify-content:space-between;gap:1rem;height:100%}.risk-chart-container .chart-legend-side{flex:1;display:flex;flex-direction:column;justify-content:center;gap:.5rem;min-width:0}.risk-chart-container .chart-legend-side .legend-item{display:flex;align-items:center;font-size:.8125rem;padding:.125rem 0}.risk-chart-container .chart-legend-side .legend-item .legend-dot{width:6px;height:6px;border-radius:50%;margin-right:.75rem;flex-shrink:0}.risk-chart-container .chart-legend-side .legend-item .legend-name{color:var(--gray-500);font-weight:500;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.risk-chart-container .chart-legend-side .legend-item .legend-val{color:var(--gray-900);font-weight:700;margin-left:.75rem}.risk-chart-container .chart-legend-side .legend-item .legend-pct{color:var(--gray-400);font-weight:400;width:3.5ch;text-align:right;margin-left:.75rem}.risk-chart-container .chart-wrapper{flex-shrink:0;display:flex;align-items:center;justify-content:center;min-width:140px;position:relative}.recent-insights-filter{background:none;border:none;font-size:.625rem;color:var(--gray-400);cursor:pointer;padding:1px 5px;border-radius:4px;font-weight:500;letter-spacing:.01em;transition:all .15s}.recent-insights-filter:hover{color:var(--gray-500);background:var(--gray-100)}.recent-insights-filter--active{color:var(--green-600);background:var(--green-50)}.recent-insights-filter--active:hover{background:var(--green-100)}.recent-insights-list{display:flex;flex-direction:column;gap:.25rem;height:100%;overflow-y:auto}.recent-insights-list .recent-insight-row{display:flex;align-items:center;gap:.625rem;padding:.375rem .5rem;border-radius:6px;transition:background-color .15s}.recent-insights-list .recent-insight-row:hover{background:var(--gray-50)}.recent-insights-list .recent-insight-row--clickable{cursor:pointer}.recent-insights-list .recent-insight-row--clickable:hover{background:var(--blue-50)}.recent-insights-list .recent-insight-row .insight-type-icon{display:flex;align-items:center;flex-shrink:0}.recent-insights-list .recent-insight-row .insight-type-icon--placeholder{width:17px}.recent-insights-list .recent-insight-row .insight-content{flex:1;min-width:0}.recent-insights-list .recent-insight-row .insight-content .insight-title{font-size:.8125rem;color:var(--gray-900);font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:left}.recent-insights-list .recent-insight-row .insight-content .insight-meta{font-size:.6875rem;color:var(--gray-400);text-align:left;display:flex;align-items:center;gap:.375rem}.recent-insights-list .recent-insight-row .insight-content .insight-meta .category-tag{font-size:.5625rem;font-weight:600;padding:.0625rem .375rem;border-radius:999px;letter-spacing:.02em}.recent-insights-list .recent-insight-row .insight-content .insight-meta .category-tag--changelog{background:var(--purple-50);color:var(--purple-600);border:1px solid var(--purple-200)}.recent-insights-list .recent-insight-row .insight-content .insight-meta .category-tag--violation,.recent-insights-list .recent-insight-row .insight-content .insight-meta .category-tag--reachable{background:var(--red-50);color:var(--red-600);border:1px solid var(--red-200)}.recent-insights-list .recent-insight-row .insight-content .insight-meta .category-tag--unreachable{background:var(--green-50);color:var(--green-600);border:1px solid var(--green-200)}.recent-insights-list .recent-insight-row .insight-content .insight-meta .category-tag--unknown{background:var(--amber-50);color:var(--amber-600);border:1px solid var(--amber-200)}.recent-insights-list .recent-insight-row .insight-content .insight-meta .service-attribution{display:inline-flex;align-items:center;gap:.125rem}.recent-insights-list .recent-insight-row .insight-content .insight-meta .service-attribution .service-chip{font-size:.5625rem;font-weight:600;padding:.0625rem .375rem;border-radius:4px;letter-spacing:.02em;background:var(--blue-50);color:var(--blue-700);border:1px solid var(--blue-200);font-family:ui-monospace,SFMono-Regular,monospace}.recent-insights-list .recent-insight-row .insight-content .insight-meta .service-attribution .service-chip--provider{background:var(--green-50);color:var(--green-700);border-color:var(--green-200)}.recent-insights-list .recent-insight-row .insight-content .insight-meta .service-attribution .service-arrow{color:var(--gray-400);font-size:.6875rem}.recent-insights-list .recent-insight-row .severity-badge{width:22px;height:22px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:.625rem;font-weight:700;flex-shrink:0}.recent-insights-list .recent-insight-row--muted{opacity:.6}.recent-insights-list .recent-insight-row--fixed{opacity:.55}.recent-insights-list .recent-insight-row--fixed .insight-title{text-decoration:line-through;text-decoration-color:var(--gray-400)}.recent-insights-list .recent-insight-row .ack-badge{font-size:.5625rem;font-weight:700;padding:.125rem .375rem;border-radius:999px;background:var(--green-100);color:var(--green-800);flex-shrink:0}.open-issues-chart-container{display:flex;flex-direction:column;height:100%;justify-content:space-between;overflow:hidden}.open-issues-chart-container .custom-line-chart{flex:1;min-height:0}.open-issues-chart-container .custom-line-chart .chart-legend{display:none}.scan-toast{position:fixed;bottom:1.5rem;right:1.5rem;display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border-radius:10px;font-size:.875rem;font-weight:500;box-shadow:0 4px 16px #0000001f;z-index:1000;animation:slideUp .25s ease}.scan-toast--success{background:var(--green-50);color:var(--green-800);border:1px solid var(--green-200)}.scan-toast--error{background:var(--red-50);color:var(--red-800);border:1px solid var(--red-200)}.scan-toast svg{flex-shrink:0}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.tenant-management.analytics-page .dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1.5rem}.tenant-management.analytics-page .dashboard-header .header-content{margin-bottom:0}.tenant-management.analytics-page .an-range{display:inline-flex;gap:.2rem;padding:.25rem;background:var(--gray-100);border-radius:.75rem;flex-shrink:0}.tenant-management.analytics-page .an-range button{border:none;background:transparent;cursor:pointer;padding:.45rem .95rem;border-radius:.5rem;font-size:.85rem;font-weight:600;color:var(--gray-500);transition:all .15s ease-in-out}.tenant-management.analytics-page .an-range button:hover{color:var(--gray-800)}.tenant-management.analytics-page .an-range button.active{background:var(--surface);color:var(--gray-900);box-shadow:var(--shadow-sm)}.tenant-management.analytics-page .section.an-lead{display:grid;grid-template-columns:minmax(220px,1fr) 2fr;gap:1rem;align-items:stretch;background:none;border:none;box-shadow:none;padding:0}@media (max-width: 900px){.tenant-management.analytics-page .section.an-lead{grid-template-columns:1fr}}.tenant-management.analytics-page .an-hero{display:flex;flex-direction:column;justify-content:center;gap:.4rem;padding:1.5rem;border-radius:16px;background:color-mix(in srgb,var(--color-primary) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--color-primary) 18%,transparent)}.tenant-management.analytics-page .an-hero .an-hero-label{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--gray-500)}.tenant-management.analytics-page .an-hero .an-hero-value{font-size:2.75rem;line-height:1;font-weight:700;color:var(--gray-900);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.tenant-management.analytics-page .an-hero .an-hero-hint{font-size:.82rem;color:var(--gray-500);line-height:1.4}.tenant-management.analytics-page .an-kpi-row{display:grid;grid-template-columns:repeat(2,1fr);gap:1rem}@media (max-width: 620px){.tenant-management.analytics-page .an-kpi-row{grid-template-columns:1fr}}.tenant-management.analytics-page .an-kpi{display:flex;flex-direction:column;justify-content:center;gap:.25rem;padding:1.1rem 1.25rem;background:var(--surface);border:1px solid var(--gray-200);border-radius:16px}.tenant-management.analytics-page .an-kpi .an-kpi-label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--gray-500)}.tenant-management.analytics-page .an-kpi .an-kpi-value{font-size:1.45rem;font-weight:700;color:var(--gray-900);font-variant-numeric:tabular-nums;line-height:1.1}.tenant-management.analytics-page .an-kpi .an-kpi-hint{font-size:.75rem;color:var(--gray-400);line-height:1.35}.tenant-management.analytics-page .an-kpi.is-warn{box-shadow:inset 3px 0 0 var(--color-warning)}.tenant-management.analytics-page .section-header{display:flex;align-items:baseline;gap:.75rem;flex-wrap:wrap}.tenant-management.analytics-page .section-header .section-sub{font-size:.8rem;color:var(--gray-400);font-weight:400}.tenant-management.analytics-page .users-table{padding-bottom:0;margin-bottom:0}.tenant-management.analytics-page .users-table table{table-layout:auto}.tenant-management.analytics-page .users-table table th,.tenant-management.analytics-page .users-table table td{width:auto;min-width:0;padding:.7rem 1rem}.tenant-management.analytics-page .users-table table th:first-child,.tenant-management.analytics-page .users-table table td:first-child{width:30%;min-width:200px}.tenant-management.analytics-page .users-table table tbody tr:hover td{background:color-mix(in srgb,var(--color-primary) 4%,transparent)}.tenant-management.analytics-page .users-table table tbody tr:last-child td{border-bottom:none}.tenant-management.analytics-page .users-table th.num,.tenant-management.analytics-page .users-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.tenant-management.analytics-page .users-table .muted{color:var(--gray-400)}.tenant-management.analytics-page .users-table td.when{white-space:nowrap;font-variant-numeric:tabular-nums}.tenant-management.analytics-page .users-table td.an-user{white-space:nowrap}.tenant-management.analytics-page .users-table .an-bar-cell .an-bar-label{display:block}.tenant-management.analytics-page .users-table .an-bar-cell .an-bar{display:block;height:3px;min-width:2px;margin-top:.45rem;background:color-mix(in srgb,var(--color-primary) 45%,transparent);border-radius:0 2px 2px 0}.tenant-management.analytics-page .users-table .an-args{max-width:460px}.tenant-management.analytics-page .users-table .an-args .an-arg-set{display:flex;flex-wrap:wrap;gap:.3rem}.tenant-management.analytics-page .users-table .an-args .an-arg-set+.an-arg-set{margin-top:.35rem}.tenant-management.analytics-page .users-table .an-args .an-arg{display:inline-flex;align-items:stretch;border-radius:5px;overflow:hidden;font-family:Courier New,monospace;font-size:.76rem;line-height:1.5;max-width:100%}.tenant-management.analytics-page .users-table .an-args .an-arg-k{padding:.1rem .4rem;background:var(--gray-100);color:var(--gray-500);white-space:nowrap}.tenant-management.analytics-page .users-table .an-args .an-arg-v{padding:.1rem .45rem;background:color-mix(in srgb,var(--color-warning) 14%,var(--surface));color:var(--gray-900);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.tenant-management.analytics-page .users-table .an-tag{display:inline-block;min-width:1.9rem;padding:.1rem .5rem;border-radius:999px;font-size:.74rem;font-weight:600;background:color-mix(in srgb,var(--color-warning) 18%,var(--surface));color:var(--gray-900);white-space:nowrap}.tenant-management.analytics-page .an-note{padding:1.15rem 1.35rem;border-radius:.75rem;background:var(--gray-100);color:var(--gray-600);font-size:.9rem;line-height:1.55}.tenant-management.analytics-page .an-note p{margin:0}.tenant-management.analytics-page .an-note.is-error{background:color-mix(in srgb,var(--color-error) 8%,var(--surface));border:1px solid color-mix(in srgb,var(--color-error) 25%,transparent);color:var(--gray-800)}.chat-agent-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--backdrop);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:9999}.chat-agent-modal{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);z-index:10000;width:min(760px,94vw);max-height:92vh;display:flex;flex-direction:column;background:var(--surface);border:1px solid var(--gray-200);border-radius:1rem;box-shadow:var(--shadow-xl);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;color:var(--gray-800)}.chat-agent-modal:focus{outline:none}.chat-agent-modal .agent-modal-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;border-bottom:1px solid var(--gray-100);background:var(--surface-muted);border-radius:1rem 1rem 0 0}.chat-agent-modal .agent-modal-header h3{margin:0;font-size:1.125rem;font-weight:700;color:var(--gray-900);display:flex;align-items:center;gap:.6rem}.chat-agent-modal .agent-modal-header .agent-modal-close{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:none;border-radius:.5rem;background:none;color:var(--gray-500);cursor:pointer;transition:all .15s ease-in-out}.chat-agent-modal .agent-modal-header .agent-modal-close:hover{background:var(--gray-200);color:var(--gray-800)}.chat-agent-modal .scope-badge{padding:.15rem .55rem;font-size:.68rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;border-radius:999px;background:var(--indigo-50);color:var(--indigo-700)}.chat-agent-modal .agent-modal-form{display:flex;flex-direction:column;flex:1;min-height:0}.chat-agent-modal .agent-modal-body{padding:1.5rem;overflow-y:auto;flex:1;min-height:0}.chat-agent-modal .agent-field{margin-bottom:1.25rem}.chat-agent-modal .agent-field>label{display:block;margin-bottom:.4rem;font-size:.8125rem;font-weight:700;color:var(--gray-700)}.chat-agent-modal .agent-field .agent-hint{display:block;margin-top:.4rem;font-size:.78rem;line-height:1.5;color:var(--gray-500)}.chat-agent-modal .agent-field input[type=text],.chat-agent-modal .agent-field textarea{width:100%;padding:.6rem .8rem;border:1px solid var(--gray-200);border-radius:.5rem;background:var(--surface);color:var(--gray-800);font-family:inherit;font-size:.875rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}.chat-agent-modal .agent-field input[type=text]::placeholder,.chat-agent-modal .agent-field textarea::placeholder{color:var(--gray-400)}.chat-agent-modal .agent-field input[type=text]:focus,.chat-agent-modal .agent-field textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,transparent)}.chat-agent-modal .agent-field input[type=text]:disabled,.chat-agent-modal .agent-field textarea:disabled{background:var(--gray-100);color:var(--gray-500);cursor:not-allowed}.chat-agent-modal .agent-field textarea{resize:vertical;min-height:7rem;line-height:1.55}.chat-agent-modal .agent-field-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:0 1rem}@media (max-width: 620px){.chat-agent-modal .agent-field-row{grid-template-columns:1fr}}.chat-agent-modal .agent-tool-picker{display:flex;flex-wrap:wrap;gap:.4rem;padding:.75rem;border:1px solid var(--gray-200);border-radius:.5rem;background:var(--surface-muted);max-height:13rem;overflow-y:auto}.chat-agent-modal .agent-tool-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.3rem .7rem;border:1px solid var(--gray-200);border-radius:999px;background:var(--surface);color:var(--gray-600);font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;font-size:.76rem;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s ease-in-out}.chat-agent-modal .agent-tool-chip input{position:absolute;opacity:0;width:0;height:0}.chat-agent-modal .agent-tool-chip:hover{border-color:var(--gray-300)}.chat-agent-modal .agent-tool-chip.is-selected{background:color-mix(in srgb,var(--color-primary) 12%,transparent);border-color:var(--color-primary);color:var(--color-primary);font-weight:600}.chat-agent-modal .agent-tool-chip:has(input:focus-visible){box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 20%,transparent)}.chat-agent-modal .agent-picker-empty{padding:.5rem .25rem;font-size:.8rem;color:var(--gray-500)}.chat-agent-modal .agent-advanced-toggle{display:inline-flex;align-items:center;gap:.35rem;margin:0 0 1rem;padding:0;background:none;border:none;font-family:inherit;font-size:.8125rem;font-weight:700;color:var(--gray-700);cursor:pointer}.chat-agent-modal .agent-advanced-toggle:hover{text-decoration:underline}.chat-agent-modal .agent-advanced{padding:.25rem 0 .25rem 1rem;margin-bottom:1rem;border-left:2px solid var(--gray-200)}.chat-agent-modal .agent-switch{display:flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:600;color:var(--gray-700);cursor:pointer}.chat-agent-modal .agent-switch input{accent-color:var(--color-primary);cursor:pointer}.chat-agent-modal .agent-test{margin-top:.5rem;padding:1rem;border:1px dashed var(--gray-300);border-radius:.75rem;background:var(--surface-muted)}.chat-agent-modal .agent-test>label{display:block;margin-bottom:.5rem;font-size:.8125rem;font-weight:700;color:var(--gray-700)}.chat-agent-modal .agent-test-row{display:flex;gap:.5rem}.chat-agent-modal .agent-test-row input{flex:1}.chat-agent-modal .agent-test-meta{margin-top:.75rem;font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;font-size:.72rem;color:var(--gray-500)}.chat-agent-modal .agent-test-answer{margin:.5rem 0 0;padding:.75rem;max-height:15rem;overflow-y:auto;background:var(--surface);border:1px solid var(--gray-200);border-radius:.5rem;color:var(--gray-800);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-size:.8125rem;line-height:1.55;white-space:pre-wrap;word-break:break-word}.chat-agent-modal .agent-alert{margin-top:.75rem;padding:.6rem .75rem;border-radius:.5rem;font-size:.8125rem;background:var(--red-50);border:1px solid var(--red-200);color:var(--red-700)}.chat-agent-modal .agent-modal-footer{display:flex;justify-content:flex-end;gap:.6rem;padding:1rem 1.5rem;border-top:1px solid var(--gray-100);background:var(--surface-muted);border-radius:0 0 1rem 1rem}.chat-agent-modal .btn{padding:.5rem 1.1rem;border-radius:.5rem;border:1px solid var(--gray-200);background:var(--surface);color:var(--gray-700);font-family:inherit;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .15s ease-in-out}.chat-agent-modal .btn:hover:not(:disabled){background:var(--gray-50);border-color:var(--gray-300)}.chat-agent-modal .btn:disabled{opacity:.5;cursor:not-allowed}.chat-agent-modal .btn.btn-primary{background:var(--color-primary-dark);border-color:var(--color-primary-dark);color:#fff}.chat-agent-modal .btn.btn-primary:hover:not(:disabled){filter:brightness(.92)}:root{color-scheme:light;--color-jade: #336d53;--color-primary: #336d53;--color-primary-light: rgb(106.89625, 185.70375, 150.37625);--color-primary-dark: rgb(41.24625, 88.15375, 67.12625);--color-secondary: #f8fafc;--color-accent: #06b6d4;--color-accent-light: #67e8f9;--color-accent-dark: #0891b2;--color-success: #10b981;--color-success-light: #6ee7b7;--color-success-dark: #059669;--color-warning: #f59e0b;--color-warning-light: #fcd34d;--color-warning-dark: #d97706;--color-error: #ef4444;--color-error-light: #fca5a5;--color-error-dark: #dc2626;--surface: #ffffff;--surface-muted: #fbfcfd;--bg-body-start: #f8fafc;--bg-body-end: #f1f5f9;--glass-bg: rgba(255, 255, 255, .9);--glass-border: rgba(255, 255, 255, .2);--backdrop: rgba(15, 23, 42, .5);--sheen: rgba(255, 255, 255, .7);--hover-veil: rgba(15, 23, 42, .05);--active-veil: rgba(15, 23, 42, .08);--gray-50: #f8fafc;--gray-100: #f1f5f9;--gray-200: #e2e8f0;--gray-300: #cbd5e1;--gray-400: #94a3b8;--gray-500: #64748b;--gray-600: #475569;--gray-700: #334155;--gray-800: #1e293b;--gray-900: #0f172a;--code-bg: #0d1117;--code-text: #c9d1d9;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .1), 0 8px 10px -6px rgb(0 0 0 / .1);--red-50: #fef2f2;--red-100: #fee2e2;--red-200: #fecaca;--red-300: #fca5a5;--red-400: #f87171;--red-500: #ef4444;--red-600: #dc2626;--red-700: #b91c1c;--red-800: #991b1b;--red-900: #7f1d1d;--green-50: #ecfdf5;--green-100: #d1fae5;--green-200: #a7f3d0;--green-300: #6ee7b7;--green-400: #34d399;--green-500: #10b981;--green-600: #059669;--green-700: #047857;--green-800: #065f46;--green-900: #064e3b;--amber-50: #fffbeb;--amber-100: #fef3c7;--amber-200: #fde68a;--amber-300: #fcd34d;--amber-400: #fbbf24;--amber-500: #f59e0b;--amber-600: #d97706;--amber-700: #b45309;--amber-800: #92400e;--amber-900: #78350f;--orange-50: #fff7ed;--orange-300: #fdba74;--orange-500: #f97316;--orange-700: #c2410c;--orange-800: #9a3412;--blue-50: #eff6ff;--blue-100: #dbeafe;--blue-200: #bfdbfe;--blue-300: #93c5fd;--blue-400: #60a5fa;--blue-500: #3b82f6;--blue-600: #2563eb;--blue-700: #1d4ed8;--blue-800: #1e40af;--blue-900: #1e3a8a;--indigo-50: #eef2ff;--indigo-100: #e0e7ff;--indigo-200: #c7d2fe;--indigo-300: #a5b4fc;--indigo-400: #818cf8;--indigo-500: #6366f1;--indigo-600: #4f46e5;--indigo-700: #4338ca;--indigo-800: #3730a3;--indigo-900: #312e81;--purple-50: #faf5ff;--purple-100: #f3e8ff;--purple-200: #e9d5ff;--purple-300: #d8b4fe;--purple-400: #c084fc;--purple-500: #a855f7;--purple-600: #9333ea;--purple-700: #7e22ce;--purple-800: #6b21a8;--purple-900: #581c87;--pink-50: #fdf2f8;--pink-100: #fce7f3;--pink-500: #ec4899;--pink-600: #db2777;--pink-700: #be185d;--pink-800: #9d174d;--teal-50: #f0fdfa;--teal-100: #ccfbf1;--teal-500: #14b8a6;--teal-600: #0d9488;--teal-700: #0f766e;--teal-800: #115e59;--cyan-50: #ecfeff;--cyan-100: #cffafe;--cyan-200: #a5f3fc;--cyan-300: #67e8f9;--cyan-500: #06b6d4;--cyan-600: #0891b2;--cyan-700: #0e7490;--cyan-800: #155e75;--sky-50: #f0f9ff;--sky-100: #e0f2fe;--sky-300: #7dd3fc;--sky-500: #0ea5e9;--sky-600: #0284c7;--sky-700: #0369a1;--sky-800: #075985}:root[data-theme=dark]{color-scheme:dark;--color-primary: #43926e;--color-primary-light: #6db894;--color-primary-dark: #3a7d5e;--color-secondary: #0f172a;--color-accent: #22d3ee;--color-accent-light: #67e8f9;--color-accent-dark: #06b6d4;--color-success: #34d399;--color-success-light: #6ee7b7;--color-success-dark: #10b981;--color-warning: #fbbf24;--color-warning-light: #fcd34d;--color-warning-dark: #f59e0b;--color-error: #f87171;--color-error-light: #fca5a5;--color-error-dark: #ef4444;--surface: #151e2e;--surface-muted: #121a29;--bg-body-start: #0b1121;--bg-body-end: #101827;--glass-bg: rgba(21, 30, 46, .9);--glass-border: rgba(148, 163, 184, .15);--backdrop: rgba(2, 6, 16, .65);--sheen: rgba(255, 255, 255, .06);--hover-veil: rgba(255, 255, 255, .06);--active-veil: rgba(255, 255, 255, .1);--gray-50: #1b2536;--gray-100: #223047;--gray-200: #2e3f58;--gray-300: #3e5170;--gray-400: #64748b;--gray-500: #8ea1b8;--gray-600: #aebfd2;--gray-700: #cbd8e5;--gray-800: #e2ebf4;--gray-900: #f1f6fb;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .4);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .45), 0 2px 4px -2px rgb(0 0 0 / .45);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .5);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .55), 0 8px 10px -6px rgb(0 0 0 / .55);--red-50: #2b1618;--red-100: #3b1d1f;--red-200: #542629;--red-300: #7f3538;--red-400: #ef4444;--red-500: #f87171;--red-600: #f87171;--red-700: #fca5a5;--red-800: #fecaca;--red-900: #fee2e2;--green-50: #12271f;--green-100: #16352a;--green-200: #1d4a39;--green-300: #27654e;--green-400: #10b981;--green-500: #34d399;--green-600: #34d399;--green-700: #6ee7b7;--green-800: #a7f3d0;--green-900: #d1fae5;--amber-50: #2a2110;--amber-100: #3a2d12;--amber-200: #533f15;--amber-300: #78591a;--amber-400: #f59e0b;--amber-500: #fbbf24;--amber-600: #fbbf24;--amber-700: #fcd34d;--amber-800: #fde68a;--amber-900: #fef3c7;--orange-50: #2b1c10;--orange-300: #7c4a1e;--orange-500: #fb923c;--orange-700: #fdba74;--orange-800: #fed7aa;--blue-50: #14213a;--blue-100: #1a2c4e;--blue-200: #233d6b;--blue-300: #2f5391;--blue-400: #3b82f6;--blue-500: #60a5fa;--blue-600: #60a5fa;--blue-700: #93c5fd;--blue-800: #bfdbfe;--blue-900: #dbeafe;--indigo-50: #1c2044;--indigo-100: #252a5c;--indigo-200: #32387e;--indigo-300: #444ca8;--indigo-400: #6366f1;--indigo-500: #818cf8;--indigo-600: #818cf8;--indigo-700: #a5b4fc;--indigo-800: #c7d2fe;--indigo-900: #e0e7ff;--purple-50: #251837;--purple-100: #331f4d;--purple-200: #472a6b;--purple-300: #613a92;--purple-400: #a855f7;--purple-500: #c084fc;--purple-600: #c084fc;--purple-700: #d8b4fe;--purple-800: #e9d5ff;--purple-900: #f3e8ff;--pink-50: #31141f;--pink-100: #451b2c;--pink-500: #f472b6;--pink-600: #f472b6;--pink-700: #f9a8d4;--pink-800: #fbcfe8;--teal-50: #0f2723;--teal-100: #133630;--teal-500: #2dd4bf;--teal-600: #2dd4bf;--teal-700: #5eead4;--teal-800: #99f6e4;--cyan-50: #0f2530;--cyan-100: #133342;--cyan-200: #1a4a5f;--cyan-300: #226076;--cyan-500: #22d3ee;--cyan-600: #22d3ee;--cyan-700: #67e8f9;--cyan-800: #a5f3fc;--sky-50: #102436;--sky-100: #153249;--sky-300: #1f5a82;--sky-500: #38bdf8;--sky-600: #38bdf8;--sky-700: #7dd3fc;--sky-800: #bae6fd}@media (prefers-color-scheme: dark){:root:not([data-theme=light]){color-scheme:dark;--color-primary: #43926e;--color-primary-light: #6db894;--color-primary-dark: #3a7d5e;--color-secondary: #0f172a;--color-accent: #22d3ee;--color-accent-light: #67e8f9;--color-accent-dark: #06b6d4;--color-success: #34d399;--color-success-light: #6ee7b7;--color-success-dark: #10b981;--color-warning: #fbbf24;--color-warning-light: #fcd34d;--color-warning-dark: #f59e0b;--color-error: #f87171;--color-error-light: #fca5a5;--color-error-dark: #ef4444;--surface: #151e2e;--surface-muted: #121a29;--bg-body-start: #0b1121;--bg-body-end: #101827;--glass-bg: rgba(21, 30, 46, .9);--glass-border: rgba(148, 163, 184, .15);--backdrop: rgba(2, 6, 16, .65);--sheen: rgba(255, 255, 255, .06);--hover-veil: rgba(255, 255, 255, .06);--active-veil: rgba(255, 255, 255, .1);--gray-50: #1b2536;--gray-100: #223047;--gray-200: #2e3f58;--gray-300: #3e5170;--gray-400: #64748b;--gray-500: #8ea1b8;--gray-600: #aebfd2;--gray-700: #cbd8e5;--gray-800: #e2ebf4;--gray-900: #f1f6fb;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .4);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .45), 0 2px 4px -2px rgb(0 0 0 / .45);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .5), 0 4px 6px -4px rgb(0 0 0 / .5);--shadow-xl: 0 20px 25px -5px rgb(0 0 0 / .55), 0 8px 10px -6px rgb(0 0 0 / .55);--red-50: #2b1618;--red-100: #3b1d1f;--red-200: #542629;--red-300: #7f3538;--red-400: #ef4444;--red-500: #f87171;--red-600: #f87171;--red-700: #fca5a5;--red-800: #fecaca;--red-900: #fee2e2;--green-50: #12271f;--green-100: #16352a;--green-200: #1d4a39;--green-300: #27654e;--green-400: #10b981;--green-500: #34d399;--green-600: #34d399;--green-700: #6ee7b7;--green-800: #a7f3d0;--green-900: #d1fae5;--amber-50: #2a2110;--amber-100: #3a2d12;--amber-200: #533f15;--amber-300: #78591a;--amber-400: #f59e0b;--amber-500: #fbbf24;--amber-600: #fbbf24;--amber-700: #fcd34d;--amber-800: #fde68a;--amber-900: #fef3c7;--orange-50: #2b1c10;--orange-300: #7c4a1e;--orange-500: #fb923c;--orange-700: #fdba74;--orange-800: #fed7aa;--blue-50: #14213a;--blue-100: #1a2c4e;--blue-200: #233d6b;--blue-300: #2f5391;--blue-400: #3b82f6;--blue-500: #60a5fa;--blue-600: #60a5fa;--blue-700: #93c5fd;--blue-800: #bfdbfe;--blue-900: #dbeafe;--indigo-50: #1c2044;--indigo-100: #252a5c;--indigo-200: #32387e;--indigo-300: #444ca8;--indigo-400: #6366f1;--indigo-500: #818cf8;--indigo-600: #818cf8;--indigo-700: #a5b4fc;--indigo-800: #c7d2fe;--indigo-900: #e0e7ff;--purple-50: #251837;--purple-100: #331f4d;--purple-200: #472a6b;--purple-300: #613a92;--purple-400: #a855f7;--purple-500: #c084fc;--purple-600: #c084fc;--purple-700: #d8b4fe;--purple-800: #e9d5ff;--purple-900: #f3e8ff;--pink-50: #31141f;--pink-100: #451b2c;--pink-500: #f472b6;--pink-600: #f472b6;--pink-700: #f9a8d4;--pink-800: #fbcfe8;--teal-50: #0f2723;--teal-100: #133630;--teal-500: #2dd4bf;--teal-600: #2dd4bf;--teal-700: #5eead4;--teal-800: #99f6e4;--cyan-50: #0f2530;--cyan-100: #133342;--cyan-200: #1a4a5f;--cyan-300: #226076;--cyan-500: #22d3ee;--cyan-600: #22d3ee;--cyan-700: #67e8f9;--cyan-800: #a5f3fc;--sky-50: #102436;--sky-100: #153249;--sky-300: #1f5a82;--sky-500: #38bdf8;--sky-600: #38bdf8;--sky-700: #7dd3fc;--sky-800: #bae6fd}}*{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;scroll-behavior:smooth}body{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;font-weight:400;line-height:1.6;color:var(--gray-700);background:linear-gradient(135deg,var(--bg-body-start) 0%,var(--bg-body-end) 100%);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.2;color:var(--gray-800);margin-bottom:1rem}h1{font-size:2.5rem;font-weight:700;letter-spacing:-.025em}h2{font-size:2rem;font-weight:600}h3{font-size:1.5rem;font-weight:600}h4{font-size:1.25rem;font-weight:600}p{margin-bottom:1rem;color:var(--gray-600)}button{cursor:pointer;border:none;border-radius:.5rem;font-family:inherit;font-size:.875rem;font-weight:500;padding:.5rem 1.5rem;transition:all .25s ease-in-out;display:inline-flex;align-items:center;justify-content:center;gap:.25rem;text-decoration:none}button:disabled{opacity:.5;cursor:not-allowed;transform:none!important}button.btn-primary{background:var(--color-primary);color:#fff;box-shadow:var(--shadow-md)}button.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-xl);background:var(--color-primary-dark);box-shadow:var(--shadow-lg)}button.btn-secondary{background:var(--surface);color:var(--gray-700);border:1px solid var(--gray-200);box-shadow:var(--shadow-sm)}button.btn-secondary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-xl);border-color:var(--color-primary);color:var(--color-primary)}button.btn-ghost{background:transparent;color:var(--gray-600)}button.btn-ghost:hover:not(:disabled){background:var(--gray-100);color:var(--color-primary)}button.btn-danger{background:var(--color-error);color:#fff}button.btn-danger:hover:not(:disabled){background:var(--color-error-dark);transform:translateY(-2px);box-shadow:var(--shadow-xl)}button.btn-accent{background:var(--color-primary);color:#fff}button.btn-accent:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-xl);background:var(--color-primary-dark);box-shadow:var(--shadow-lg)}button.btn-success{background:var(--color-success);color:#fff}button.btn-success:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-xl);background:var(--color-success-dark);box-shadow:var(--shadow-lg)}a{text-decoration:none;color:var(--color-primary);transition:color .15s ease-in-out}a:hover{color:var(--color-primary-dark)}input,textarea,select{font-family:inherit;font-size:.875rem;padding:.5rem 1rem;border:1px solid var(--gray-200);border-radius:.5rem;background:var(--surface);color:var(--gray-700);transition:all .15s ease-in-out}input:focus,textarea:focus,select:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 10%,transparent)}input::placeholder,textarea::placeholder,select::placeholder{color:var(--gray-400)}.card{background:var(--surface);border-radius:.75rem;box-shadow:var(--shadow-md);padding:2rem;transition:all .25s ease-in-out;border:1px solid var(--gray-100)}.card:hover{transform:translateY(-2px);box-shadow:var(--shadow-xl)}.card.card-glass{background:var(--glass-bg);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--glass-border)}.card.card-dark{background:#1e293b;color:#f1f5f9;border:1px solid #334155}.card.card-code{background:var(--code-bg);color:var(--code-text);border:1px solid #334155;font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace}.main-content{min-height:calc(100vh - 80px);padding:3rem;max-width:1400px;margin:0 auto}.page-with-navbar{padding-top:80px;min-height:100vh}@media screen and (max-width: 768px){.page-with-navbar{padding-top:70px}}.grid{display:grid;gap:1.5rem}.grid.grid-2{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.grid.grid-3{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.grid.grid-4{grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.text-center{text-align:center}.text-left{text-align:left}.text-right{text-align:right}.flex{display:flex}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-sm{gap:.5rem}.gap-md{gap:1rem}.gap-lg{gap:1.5rem}.w-full{width:100%}.h-full{height:100%}.mb-sm{margin-bottom:.5rem}.mb-md{margin-bottom:1rem}.mb-lg{margin-bottom:1.5rem}.mb-xl{margin-bottom:2rem}.mt-sm{margin-top:.5rem}.mt-md{margin-top:1rem}.mt-lg{margin-top:1.5rem}.mt-xl{margin-top:2rem}.p-sm{padding:.5rem}.p-md{padding:1rem}.p-lg{padding:1.5rem}.p-xl{padding:2rem}.loading{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--gray-500);font-size:.875rem}.loading-spinner{width:24px;height:24px;border:2px solid var(--gray-200);border-top:2px solid var(--color-primary);border-radius:50%;animation:spin 1s linear infinite;margin-right:.5rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.code-block{background:var(--code-bg);color:var(--code-text);border-radius:.75rem;padding:1.5rem;font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;font-size:.875rem;line-height:1.6;overflow-x:auto;border:1px solid #334155}.syntax-keyword{color:#d2a8ff}.syntax-string{color:#7ee787}.syntax-comment{color:#ffa657}.syntax-function{color:#79c0ff}.syntax-variable{color:#ffa657}@media screen and (max-width: 1024px){.main-content{padding:2rem}h1{font-size:2rem}h2{font-size:1.75rem}h3{font-size:1.375rem}}@media screen and (max-width: 768px){.main-content{padding:1.5rem}body{font-size:.875rem}h1{font-size:1.75rem}h2{font-size:1.5rem}h3{font-size:1.25rem}.card{padding:1.5rem}button{font-size:.875rem;padding:.25rem 1rem}}@media screen and (max-width: 480px){.main-content,.card{padding:1rem}.grid{gap:1rem}}.tenant-management.ai-agents-page .dashboard-header{margin-bottom:2rem}.tenant-management.ai-agents-page .dashboard-header .header-info h1{display:flex;align-items:center;gap:.15rem}.tenant-management.ai-agents-page .page-info-button{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;border:none;border-radius:50%;background:none;color:var(--gray-500);cursor:pointer;transition:color .15s ease-in-out,background .15s ease-in-out}.tenant-management.ai-agents-page .page-info-button:hover{color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,transparent)}.tenant-management.ai-agents-page .page-info-button:focus-visible{outline:none;box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 25%,transparent)}.tenant-management.ai-agents-page .management-content .section:has(.info-tip-bubble){z-index:30}.tenant-management.ai-agents-page .section-header h3{display:flex;align-items:center}.tenant-management.ai-agents-page .agents-message{padding:2rem;color:var(--gray-500);font-size:.9rem}.tenant-management.ai-agents-page .agents-banner{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1.25rem;border-radius:.75rem;font-size:.875rem;margin-bottom:1.5rem;border:1px solid transparent}.tenant-management.ai-agents-page .agents-banner.error{background:var(--red-50);border-color:var(--red-200);color:var(--red-700)}.tenant-management.ai-agents-page .agents-banner.notice{background:var(--green-50);border-color:var(--green-200);color:var(--green-700)}.tenant-management.ai-agents-page .agents-banner button{margin-left:auto;background:none;border:none;color:inherit;opacity:.7;cursor:pointer;padding:0;line-height:1;font-size:.9rem}.tenant-management.ai-agents-page .agents-banner button:hover{opacity:1}.tenant-management.ai-agents-page .management-content .section .users-table{padding-bottom:0;margin-bottom:0}.tenant-management.ai-agents-page .management-content .section .users-table table th:nth-child(1),.tenant-management.ai-agents-page .management-content .section .users-table table td:nth-child(1){width:34%;min-width:240px;text-align:left}.tenant-management.ai-agents-page .management-content .section .users-table table th:nth-child(2),.tenant-management.ai-agents-page .management-content .section .users-table table td:nth-child(2){width:20%;min-width:170px;text-align:left}.tenant-management.ai-agents-page .management-content .section .users-table table th:nth-child(3),.tenant-management.ai-agents-page .management-content .section .users-table table td:nth-child(3){width:30%;min-width:220px;text-align:left}.tenant-management.ai-agents-page .management-content .section .users-table table th:nth-child(4),.tenant-management.ai-agents-page .management-content .section .users-table table td:nth-child(4){width:16%;min-width:190px;text-align:right}.tenant-management.ai-agents-page .management-content .section .users-table .empty-row{color:var(--gray-500);font-size:.875rem;text-align:center}.tenant-management.ai-agents-page .agent-disabled-row .agent-name,.tenant-management.ai-agents-page .agent-disabled-row .agent-desc{opacity:.65}.tenant-management.ai-agents-page .agent-cell{display:flex;flex-direction:column;gap:.35rem;min-width:0}.tenant-management.ai-agents-page .agent-name-row{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.tenant-management.ai-agents-page .agent-name{color:var(--gray-900);font-weight:600;font-size:.95rem}.tenant-management.ai-agents-page .agent-badge{display:inline-flex;align-items:center;padding:.25rem .6rem;border-radius:6px;font-size:.7rem;font-weight:500;white-space:nowrap}.tenant-management.ai-agents-page .agent-badge.builtin{background:var(--indigo-50);color:var(--indigo-700)}.tenant-management.ai-agents-page .agent-badge.inactive{background:color-mix(in srgb,var(--gray-500) 15%,transparent);color:var(--gray-600)}.tenant-management.ai-agents-page .agent-desc{color:var(--gray-600);font-size:.8125rem;line-height:1.5}.tenant-management.ai-agents-page .agent-wire{font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;font-size:.78rem;color:var(--gray-600);background:var(--gray-100);padding:.15rem .5rem;border-radius:.375rem;word-break:break-all}.tenant-management.ai-agents-page .agent-tools{display:flex;flex-wrap:wrap;align-items:center;gap:.3rem}.tenant-management.ai-agents-page .agent-tools code{font-family:JetBrains Mono,Fira Code,Monaco,Consolas,monospace;font-size:.72rem;background:var(--gray-50);border:1px solid var(--gray-200);color:var(--gray-600);padding:.1rem .45rem;border-radius:999px;white-space:nowrap}.tenant-management.ai-agents-page .agent-tools-more{font-size:.72rem;color:var(--gray-500);font-weight:600}.tenant-management.ai-agents-page .agent-actions-cell{vertical-align:middle}.tenant-management.ai-agents-page .agent-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.tenant-management.ai-agents-page .agent-action{padding:.35rem .75rem;border:1px solid var(--gray-200);border-radius:.5rem;background:var(--surface);color:var(--gray-700);font-family:inherit;font-size:.78rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:all .2s ease}.tenant-management.ai-agents-page .agent-action:hover{background:var(--gray-50);border-color:var(--gray-300);color:var(--gray-900)}.tenant-management.ai-agents-page .agent-action.danger{color:var(--red-600);border-color:var(--red-200)}.tenant-management.ai-agents-page .agent-action.danger:hover{background:var(--red-50);border-color:var(--red-300)}
