@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&display=swap";.sidebar{width:250px;flex-shrink:0;height:100vh;background-color:var(--color-primary-grey);color:var(--color-white);display:flex;flex-direction:column;overflow:hidden;transition:width .2s ease}.sidebar.collapsed{width:72px}.sidebar-brand{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.85rem .75rem;min-height:64px;background-color:var(--color-secondary-blue)}.sidebar.collapsed .sidebar-brand{flex-direction:column;padding:.75rem .5rem}.sidebar-logo{display:flex;align-items:center;overflow:hidden;min-width:0;text-decoration:none;background-color:var(--color-white);border-radius:.4rem;padding:.35rem .5rem}.sidebar-logo-image{height:28px;width:auto;max-width:150px;display:block}.sidebar.collapsed .sidebar-logo{width:40px;height:40px;padding:.3rem;flex-shrink:0}.sidebar.collapsed .sidebar-logo-image{max-width:none}.sidebar-toggle{display:flex;align-items:center;justify-content:center;width:32px;height:32px;flex-shrink:0;border:none;border-radius:.4rem;background:#ffffff1a;color:var(--color-white);cursor:pointer}.sidebar-toggle:hover{background:#fff3}.sidebar-nav{display:flex;flex-direction:column;gap:.5rem;padding:1rem .75rem;flex:1;overflow-y:auto}.sidebar.collapsed .sidebar-nav{padding:.75rem .5rem}.sidebar-link{display:flex;align-items:center;gap:.75rem;padding:.75rem 1rem;color:var(--color-white);text-decoration:none;border-radius:.5rem;transition:background-color .2s;white-space:nowrap}.sidebar-link:hover{background-color:#ffffff1a}.sidebar-link.active{background-color:var(--color-primary-red);font-weight:600}.sidebar.collapsed .sidebar-link{justify-content:center;padding:.75rem}.sidebar-icon{flex-shrink:0}.sidebar-label{font-size:.95rem}.sidebar.collapsed .sidebar-label{display:none}.sidebar-user{display:flex;flex-direction:column;gap:.75rem;padding:1rem .75rem;border-top:1px solid rgba(255,255,255,.12)}.sidebar.collapsed .sidebar-user{align-items:center;padding:.75rem .5rem}.sidebar-user-info{display:flex;flex-direction:column;min-width:0;line-height:1.3;padding:0 .25rem}.sidebar.collapsed .sidebar-user-info{display:none}.sidebar-user-name{font-weight:600;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-user-email{font-size:.75rem;color:#ffffffbf;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sidebar-signout{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;background:transparent;color:var(--color-white);border:1px solid rgba(255,255,255,.35);border-radius:.4rem;padding:.5rem .75rem;font-weight:600;cursor:pointer}.sidebar-signout:hover{background-color:#ffffff1a}.sidebar.collapsed .sidebar-signout{width:40px;height:40px;padding:0}.sidebar.collapsed .sidebar-signout-label{display:none}.layout{display:flex;min-height:100vh;height:100vh;overflow:hidden}.layout-main{flex:1;min-width:0;overflow-y:auto;padding:2rem;background-color:var(--color-light-grey)}.login-page,.auth-loading{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(160deg,var(--color-secondary-blue) 0%,var(--color-secondary-black) 100%)}.login-card,.auth-loading-card{width:100%;max-width:480px;background:var(--color-white);border-radius:.75rem;padding:2.5rem 2rem;text-align:center;box-shadow:0 20px 40px #00000040}.login-logo,.auth-loading-logo{height:48px;width:auto;margin-bottom:1.5rem}.login-card h1,.auth-loading-card p{color:var(--color-secondary-black)}.login-card h1{font-size:1.75rem;margin-bottom:.75rem}.login-subtitle,.login-hint,.auth-loading-card p{color:var(--color-primary-grey)}.login-subtitle{margin-bottom:2rem}.login-hint{margin-top:1.5rem;font-size:.9rem}.login-error{background:#fdecec;color:var(--color-primary-red);border-radius:.5rem;padding:.85rem 1rem;margin-bottom:1.5rem;text-align:left;font-size:.95rem}.microsoft-signin-button{display:inline-flex;align-items:center;justify-content:center;gap:.75rem;width:100%;border:1px solid #8c8c8c;background:var(--color-white);color:#5e5e5e;font-weight:600;font-size:1rem;padding:.85rem 1rem;border-radius:.4rem;cursor:pointer;transition:background-color .2s,box-shadow .2s}.microsoft-signin-button:hover:not(:disabled){background:#f3f3f3;box-shadow:0 2px 8px #00000014}.microsoft-signin-button:disabled{opacity:.7;cursor:not-allowed}.microsoft-icon{width:18px;height:18px}.home-hero{text-align:center;padding:3rem 2rem;margin-bottom:3rem}.home-hero h1{font-size:2.5rem;margin-bottom:1rem;color:var(--color-secondary-black)}.hero-subtitle{font-size:1.25rem;color:var(--color-medium-grey);margin:0}.quick-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin-bottom:3rem}.action-card{background-color:var(--color-white);border-radius:.5rem;padding:2rem;box-shadow:var(--shadow-md);text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s;display:flex;flex-direction:column;align-items:center;text-align:center}.action-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.action-icon{width:3rem;height:3rem;margin-bottom:1rem;color:var(--color-primary-red);stroke-width:1.5}.action-card h3{margin:0 0 .5rem;font-size:1.25rem;color:var(--color-secondary-black)}.action-card p{margin:0;color:var(--color-medium-grey);font-size:.95rem}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.stat-card{background-color:var(--color-white);border-radius:.5rem;padding:2rem;box-shadow:var(--shadow-md);display:flex;flex-direction:column;align-items:center;text-align:center}.stat-label{font-size:.875rem;font-weight:600;color:var(--color-primary-grey);text-transform:uppercase;letter-spacing:.5px;margin-bottom:.5rem}.stat-value{font-size:2.5rem;font-weight:700;color:var(--color-primary-red)}.page-container{max-width:1400px;margin:0 auto}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{font-size:2rem;color:var(--color-secondary-black)}.btn{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s}.btn-icon{background:none;border:none;font-size:1.25rem;cursor:pointer;padding:.25rem .5rem;border-radius:.25rem;transition:background-color .2s}.btn-icon:hover{background-color:#0000000d}.empty-state{text-align:center;padding:4rem 2rem;background-color:var(--color-white);border-radius:.5rem;box-shadow:var(--shadow-md)}.clients-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem}.client-card{background-color:var(--color-white);border-radius:.5rem;padding:1.5rem;box-shadow:var(--shadow-md);transition:transform .2s,box-shadow .2s}.client-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.client-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.client-card-header h3{margin:0;font-size:1.25rem}.client-card-header h3 a{color:var(--color-secondary-black);text-decoration:none}.client-card-header h3 a:hover{color:var(--color-primary-red)}.client-actions{display:flex;gap:.5rem}.client-info{margin-bottom:.75rem;font-size:.9rem}.client-info .label{font-weight:600;color:var(--color-primary-grey);margin-right:.5rem}.client-info a{color:var(--color-tertiary-blue);text-decoration:none}.client-info a:hover{text-decoration:underline}.loading{text-align:center;padding:2rem;color:var(--color-medium-grey)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:var(--color-white);border-radius:.5rem;width:90%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:var(--shadow-xl)}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem;border-bottom:1px solid var(--color-light-grey)}.modal-header h2{margin:0;font-size:1.5rem;color:var(--color-secondary-black)}.modal-form{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:var(--color-secondary-black)}.form-group input{width:100%;padding:.75rem;border:1px solid var(--color-medium-grey);border-radius:.5rem;font-size:1rem;transition:border-color .2s}.form-group input:focus{outline:none;border-color:var(--color-primary-red)}.modal-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem}.modal-actions button:disabled{opacity:.6;cursor:not-allowed}.client-detail-header{margin-bottom:2rem}.back-link{display:inline-block;margin-bottom:1rem;color:var(--color-primary-red);text-decoration:none;font-weight:500}.back-link:hover{text-decoration:underline}.client-detail-content{display:grid;gap:2rem}.client-info-section,.credentials-section,.tests-section{background-color:var(--color-white);border-radius:.5rem;padding:1.5rem;box-shadow:var(--shadow-md)}.client-info-section h2,.credentials-section h2,.tests-section h2{margin-top:0;margin-bottom:1.5rem;font-size:1.5rem;color:var(--color-secondary-black)}.info-card{display:flex;flex-direction:column;gap:1rem}.info-row{display:flex;gap:1rem;padding:.75rem 0;border-bottom:1px solid var(--color-light-grey)}.info-row:last-child{border-bottom:none}.info-row .label{font-weight:600;color:var(--color-primary-grey);min-width:150px}.info-row a{color:var(--color-tertiary-blue);text-decoration:none}.info-row a:hover{text-decoration:underline}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.tests-list{display:flex;flex-direction:column;gap:1rem}.test-card{border:1px solid var(--color-light-grey);border-radius:.5rem;padding:1.5rem;transition:box-shadow .2s}.test-card:hover{box-shadow:var(--shadow-md)}.test-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.test-card-header h3{margin:0;font-size:1.25rem}.test-card-header h3 a{color:var(--color-secondary-black);text-decoration:none}.test-card-header h3 a:hover{color:var(--color-primary-red)}.status-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.875rem;font-weight:500;text-transform:capitalize}.status-completed{background-color:var(--color-success);color:var(--color-white)}.status-running{background-color:var(--color-info);color:var(--color-white)}.status-failed{background-color:var(--color-error);color:var(--color-white)}.status-cancelled{background-color:var(--color-medium-grey);color:var(--color-white)}.status-pending{background-color:var(--color-warning);color:var(--color-white)}.test-card-body{margin-bottom:1rem}.test-info{margin-bottom:.5rem;font-size:.9rem}.test-info .label{font-weight:600;color:var(--color-primary-grey);margin-right:.5rem}.test-info a{color:var(--color-tertiary-blue);text-decoration:none}.test-info a:hover{text-decoration:underline}.test-card-actions{display:flex;gap:1rem}.test-card-actions .btn{flex:1;text-align:center;text-decoration:none;display:inline-block}.error-state{text-align:center;padding:2rem;color:var(--color-error)}.credentials-list{display:flex;flex-direction:column;gap:1rem}.credential-card{border:1px solid var(--color-light-grey);border-radius:.5rem;padding:1.5rem;transition:box-shadow .2s}.credential-card:hover{box-shadow:var(--shadow-md)}.credential-card-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.credential-card-header h3{margin:0;font-size:1.25rem;color:var(--color-secondary-black)}.credential-description{margin:.25rem 0 0;font-size:.875rem;color:var(--color-primary-grey);font-style:italic}.credential-actions{display:flex;gap:.5rem}.credential-card-body{display:flex;flex-direction:column;gap:.75rem}.credential-info{display:flex;gap:.5rem;font-size:.9rem}.credential-info .label{font-weight:600;color:var(--color-primary-grey);min-width:100px}.password-value{font-family:Courier New,monospace;background-color:var(--color-light-grey);padding:.25rem .5rem;border-radius:.25rem;color:var(--color-secondary-black)}.password-masked{font-family:Courier New,monospace;color:var(--color-medium-grey);letter-spacing:.1rem}.repo-connect-actions{display:flex;flex-wrap:wrap;gap:.5rem}.repo-hint{margin:-.5rem 0 1rem;color:var(--color-medium-grey);font-size:.875rem}.repo-picker-modal{max-width:640px;max-height:80vh;overflow:auto}.repo-picker-list{display:flex;flex-direction:column;gap:.5rem;max-height:50vh;overflow:auto;padding:1rem 0}.checkbox-label{display:flex;align-items:flex-start;gap:.5rem}.test-config-form-container{display:grid;grid-template-columns:2fr 1fr;gap:2rem;max-width:1200px}.test-config-form{background-color:var(--color-white);border-radius:.5rem;padding:2rem;box-shadow:var(--shadow-md)}.test-config-form .form-group{margin-bottom:2rem}.test-config-form label{display:block;margin-bottom:.5rem;font-weight:600;color:var(--color-secondary-black)}.test-config-form input,.test-config-form select{width:100%;padding:.75rem;border:1px solid var(--color-medium-grey);border-radius:.5rem;font-size:1rem;transition:border-color .2s;font-family:inherit}.test-config-form input:focus,.test-config-form select:focus{outline:none;border-color:var(--color-primary-red)}.form-hint{display:block;margin-top:.5rem;font-size:.875rem;color:var(--color-medium-grey)}.form-actions{display:flex;justify-content:flex-end;gap:1rem;margin-top:2rem;padding-top:2rem;border-top:1px solid var(--color-light-grey)}.test-config-info{background-color:var(--color-white);border-radius:.5rem;padding:2rem;box-shadow:var(--shadow-md);height:fit-content}.test-config-info h2{margin-top:0;margin-bottom:1.5rem;font-size:1.5rem;color:var(--color-secondary-black)}.info-section{margin-bottom:2rem}.info-section:last-child{margin-bottom:0}.info-section h3{margin-bottom:1rem;font-size:1.125rem;color:var(--color-primary-grey)}.info-section ul,.info-section ol{margin:0;padding-left:1.5rem;color:var(--color-dark-grey);line-height:1.8}.info-section li{margin-bottom:.5rem}.auth-levels{display:flex;flex-direction:column;gap:.75rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-weight:400}.checkbox-label input[type=checkbox]{width:auto;cursor:pointer}.checkbox-label span{-webkit-user-select:none;user-select:none}.credentials-group{background-color:var(--color-light-grey, #f5f5f5);border-radius:.5rem;padding:1.5rem;margin-top:1rem}.credentials-header{display:block;margin-bottom:1rem;font-weight:600;color:var(--color-secondary-black);font-size:1rem}.credentials-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.credentials-field{display:flex;flex-direction:column}.credentials-field label{margin-bottom:.5rem;font-weight:500;font-size:.875rem;color:var(--color-dark-grey)}.credentials-field input{width:100%}@media (max-width: 968px){.test-config-form-container,.credentials-row{grid-template-columns:1fr}}.btn{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer}.btn-icon{background:none;border:none;cursor:pointer;padding:.25rem}.repo-attach-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.75rem}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal-content{background-color:var(--color-white);border-radius:.5rem;width:90%;max-width:640px;max-height:90vh;overflow-y:auto;padding:0 1.5rem 1.5rem}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:1.5rem 0 1rem}.modal-header h2{margin:0;font-size:1.25rem}.repo-picker-hint{margin:0 0 .75rem}.repo-picker-list{display:flex;flex-direction:column;gap:.5rem;max-height:50vh;overflow:auto;padding:.5rem 0 1rem}.modal-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:1rem;border-top:1px solid var(--color-light-grey)}.loading,.empty-state{padding:1rem 0;color:var(--color-medium-grey)}.dashboard-content{display:grid;grid-template-columns:300px 1fr;gap:2rem}.tests-sidebar{background-color:var(--color-white);border-radius:.5rem;padding:1.5rem;box-shadow:var(--shadow-md);height:fit-content;max-height:calc(100vh - 140px);overflow-y:auto}.tests-sidebar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.tests-sidebar-header h2{margin:0;font-size:1.25rem;color:var(--color-secondary-black)}.toggle-archived{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--color-medium-grey);cursor:pointer;-webkit-user-select:none;user-select:none}.toggle-archived input[type=checkbox]{cursor:pointer;width:18px;height:18px}.toggle-archived:hover{color:var(--color-secondary-black)}.test-filters{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.search-input-container{position:relative}.search-input{width:100%;padding:.75rem;border:1px solid var(--color-light-grey);border-radius:.5rem;font-size:.9rem;transition:border-color .2s}.search-input:focus{outline:none;border-color:var(--color-primary-red)}.search-input::placeholder{color:var(--color-medium-grey)}.status-filter{width:100%;padding:.75rem;border:1px solid var(--color-light-grey);border-radius:.5rem;font-size:.9rem;background-color:var(--color-white);color:var(--color-secondary-black);cursor:pointer;transition:border-color .2s}.status-filter:focus{outline:none;border-color:var(--color-primary-red)}.tests-list{display:flex;flex-direction:column;gap:.75rem}.test-item{padding:1rem;border:1px solid var(--color-light-grey);border-radius:.5rem;text-decoration:none;color:inherit;transition:all .2s;cursor:pointer}.test-item:hover{border-color:var(--color-primary-red);box-shadow:var(--shadow-sm)}.test-item.active{border-color:var(--color-primary-red);background-color:#d1232a0d}.test-item.archived{opacity:.7;background-color:#00000005}.test-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.5rem}.test-item-badges{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.test-item-header h3{margin:0;font-size:1rem;color:var(--color-secondary-black)}.test-item-url{margin:0;font-size:.875rem;color:var(--color-medium-grey);word-break:break-all}.dashboard-main{background-color:var(--color-white);border-radius:.5rem;padding:2rem;box-shadow:var(--shadow-md)}.test-details-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:2rem;padding-bottom:1.5rem;border-bottom:1px solid var(--color-light-grey)}.test-details-header h2{margin:0 0 .5rem;font-size:1.75rem;color:var(--color-secondary-black)}.test-url{margin:0;color:var(--color-medium-grey);font-size:.95rem}.test-controls{display:flex;flex-direction:column;gap:1rem;margin-bottom:2rem}.test-primary-controls{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.test-status-message{padding:.75rem;background-color:var(--color-light-grey);border-radius:.5rem;color:var(--color-medium-grey);font-size:.9rem}.test-status-message p{margin:0}.test-secondary-controls{display:flex;gap:.5rem;padding-top:.5rem;border-top:1px solid var(--color-light-grey)}.status-archived{background-color:var(--color-medium-grey);color:var(--color-white);opacity:.8}.btn-danger{background-color:var(--color-error);color:var(--color-white)}.btn-danger:hover{background-color:#b01e24}.test-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:2rem}.info-card{padding:1rem;background-color:var(--color-light-grey);border-radius:.5rem;display:flex;flex-direction:column;gap:.5rem}.info-card .label{font-size:.875rem;font-weight:600;color:var(--color-primary-grey);text-transform:uppercase;letter-spacing:.5px}.info-card .value{font-size:1rem;color:var(--color-secondary-black)}.test-progress{padding:2rem;background-color:var(--color-light-grey);border-radius:.5rem;text-align:center}.test-progress h3{margin-top:0;margin-bottom:1rem;color:var(--color-secondary-black)}.progress-bar{width:100%;height:8px;background-color:var(--color-medium-grey);border-radius:4px;overflow:hidden;margin-bottom:1rem}.progress-fill{height:100%;background-color:var(--color-primary-red);animation:progress 2s ease-in-out infinite}@keyframes progress{0%{width:0%}50%{width:70%}to{width:100%}}.progress-text{margin:0;color:var(--color-medium-grey);font-size:.95rem}@media (max-width: 968px){.dashboard-content{grid-template-columns:1fr}.tests-sidebar{max-height:none}}.header-actions{display:flex;gap:1rem}.test-summary{margin-bottom:2rem;padding:1.5rem;background-color:var(--color-white);border-radius:.5rem;box-shadow:var(--shadow-md)}.test-summary h2{margin:0 0 .5rem;font-size:1.5rem;color:var(--color-secondary-black)}.test-summary .test-url{margin:0;color:var(--color-medium-grey)}.test-configuration-summary{margin-bottom:2rem;padding:1.5rem;background-color:var(--color-white);border-radius:.5rem;box-shadow:var(--shadow-md)}.test-configuration-summary h3{margin:0 0 1rem;font-size:1.25rem;color:var(--color-secondary-black);border-bottom:2px solid var(--color-light-grey);padding-bottom:.75rem}.config-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem;margin-bottom:1.5rem}.config-item{display:flex;flex-direction:column;gap:.25rem}.config-label{font-size:.875rem;font-weight:600;color:var(--color-primary-grey);text-transform:uppercase;letter-spacing:.5px}.config-value{font-size:1rem;color:var(--color-secondary-black);word-break:break-word}.auth-levels-section{margin-top:1.5rem;padding-top:1.5rem;border-top:1px solid var(--color-light-grey)}.auth-levels-section h4{margin:0 0 1rem;font-size:1.1rem;color:var(--color-secondary-black)}.auth-levels-list{display:flex;flex-direction:column;gap:.75rem}.auth-level-item{display:flex;align-items:center;gap:1rem;padding:.75rem;background-color:var(--color-light-grey);border-radius:.375rem}.auth-badge{padding:.375rem .875rem;border-radius:1rem;font-size:.875rem;font-weight:700;text-transform:uppercase;white-space:nowrap;flex-shrink:0}.auth-badge.auth-unauth{background-color:#6c757d;color:var(--color-white)}.auth-badge.auth-user{background-color:#1976d2;color:var(--color-white)}.auth-badge.auth-admin{background-color:#7b1fa2;color:var(--color-white)}.auth-description{font-size:.875rem;color:var(--color-dark-grey)}.status-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:700;text-transform:uppercase;display:inline-block}.status-completed{background-color:#388e3c;color:var(--color-white)}.status-running{background-color:#1976d2;color:var(--color-white)}.status-failed{background-color:#d32f2f;color:var(--color-white)}.status-cancelled{background-color:#6c757d;color:var(--color-white)}.status-pending{background-color:#fbc02d;color:var(--color-secondary-black)}.results-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:1rem;margin-bottom:2rem}.summary-card{padding:1.5rem;background-color:var(--color-white);border-radius:.5rem;box-shadow:var(--shadow-md);text-align:center;display:flex;flex-direction:column;gap:.5rem}.summary-card.severity-critical{border-top:4px solid #d32f2f}.summary-card.severity-high{border-top:4px solid #f57c00}.summary-card.severity-medium{border-top:4px solid #fbc02d}.summary-card.severity-low{border-top:4px solid #388e3c}.summary-label{font-size:.875rem;font-weight:600;color:var(--color-primary-grey);text-transform:uppercase}.summary-value{font-size:2rem;font-weight:700;color:var(--color-secondary-black)}.findings-list{display:flex;flex-direction:column;gap:1.5rem}.finding-card{background-color:var(--color-white);border-radius:.5rem;padding:1.5rem;box-shadow:var(--shadow-md)}.finding-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--color-light-grey)}.finding-title-section{display:flex;align-items:center;gap:1rem;flex:1}.severity-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:700;text-transform:uppercase;white-space:nowrap}.severity-critical{background-color:#d32f2f;color:var(--color-white)}.severity-high{background-color:#f57c00;color:var(--color-white)}.severity-medium{background-color:#fbc02d;color:var(--color-secondary-black)}.severity-low{background-color:#388e3c;color:var(--color-white)}.severity-info{background-color:var(--color-medium-grey);color:var(--color-white)}.finding-header h3{margin:0;font-size:1.25rem;color:var(--color-secondary-black)}.finding-score{font-weight:600;color:var(--color-primary-grey)}.finding-body{display:flex;flex-direction:column;gap:.75rem}.finding-description{margin:0;color:var(--color-dark-grey);line-height:1.6}.finding-detail{display:flex;gap:.5rem;font-size:.9rem}.finding-detail .label{font-weight:600;color:var(--color-primary-grey)}.finding-detail code{background-color:var(--color-light-grey);padding:.25rem .5rem;border-radius:.25rem;font-family:var(--font-family-monospace);font-size:.875rem;color:var(--color-secondary-black)}.technical-section{margin-bottom:2rem;padding:1.5rem;background-color:var(--color-white);border-radius:.5rem;box-shadow:var(--shadow-md)}.technical-section h2{margin:0 0 1.5rem;font-size:1.5rem;color:var(--color-secondary-black);border-bottom:2px solid var(--color-light-grey);padding-bottom:.75rem}.technical-subsection{margin-bottom:2rem}.technical-subsection:last-child{margin-bottom:0}.technical-subsection h3{margin:0 0 1rem;font-size:1.25rem;color:var(--color-secondary-black)}.endpoints-list{display:flex;flex-direction:column;gap:1rem}.endpoint-item{padding:1rem;background-color:var(--color-light-grey);border-radius:.5rem;border-left:4px solid var(--color-medium-grey)}.endpoint-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.endpoint-url{font-family:var(--font-family-monospace);font-size:.95rem;color:var(--color-secondary-black);background-color:var(--color-white);padding:.5rem .75rem;border-radius:.25rem;word-break:break-all;flex:1;min-width:200px}.endpoint-meta{display:flex;align-items:center;gap:.75rem;flex-shrink:0}.endpoint-severity-badge{padding:.25rem .75rem;border-radius:1rem;font-size:.75rem;font-weight:700;text-transform:uppercase}.endpoint-findings-count{font-size:.875rem;color:var(--color-dark-grey);font-weight:600}.endpoint-findings{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--color-medium-grey)}.endpoint-finding-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;background-color:var(--color-white);border-radius:.25rem;flex-wrap:wrap}.endpoint-finding-item .finding-title{font-size:.9rem;color:var(--color-secondary-black);font-weight:500;flex:1}.endpoint-finding-item .finding-category{font-size:.8rem;color:var(--color-medium-grey);font-style:italic}.owasp-categories{display:flex;flex-direction:column;gap:1.5rem}.owasp-category-item{padding:1rem;background-color:var(--color-light-grey);border-radius:.5rem;border-left:4px solid #1976d2}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.category-header h4{margin:0;font-size:1.1rem;color:var(--color-secondary-black)}.category-count{font-size:.875rem;color:var(--color-dark-grey);font-weight:600}.category-findings{display:flex;flex-direction:column;gap:.75rem}.category-finding-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem;background-color:var(--color-white);border-radius:.25rem}.finding-info{display:flex;flex-direction:column;gap:.25rem;flex:1}.finding-info .finding-title{font-weight:600;color:var(--color-secondary-black);font-size:.95rem}.finding-endpoint{font-family:var(--font-family-monospace);font-size:.8rem;color:var(--color-dark-grey);background-color:var(--color-light-grey);padding:.25rem .5rem;border-radius:.25rem;display:inline-block;max-width:100%;overflow:hidden;text-overflow:ellipsis}.finding-cwe{font-size:.8rem;color:var(--color-medium-grey);font-weight:600}.cwe-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1rem}.cwe-item{padding:1rem;background-color:var(--color-light-grey);border-radius:.5rem;border-left:4px solid #f57c00}.cwe-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.cwe-header h4{margin:0;font-size:1rem;color:var(--color-secondary-black);font-family:var(--font-family-monospace)}.cwe-count{font-size:.875rem;color:var(--color-dark-grey);font-weight:600}.cwe-findings{display:flex;flex-direction:column;gap:.5rem}.cwe-finding-item{display:flex;align-items:center;gap:.75rem;padding:.5rem;background-color:var(--color-white);border-radius:.25rem;flex-wrap:wrap}.cwe-finding-item .finding-title{font-size:.9rem;color:var(--color-secondary-black);font-weight:500;flex:1}.cwe-finding-item .finding-endpoint{font-size:.75rem}.btn{padding:.75rem 1.5rem;border:none;border-radius:.5rem;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s;text-decoration:none;display:inline-block}.btn-primary{background-color:var(--color-primary-red);color:var(--color-white)}.btn-primary:hover{background-color:#b01e24}.btn-secondary:hover{background-color:var(--color-dark-grey)}.btn-danger{background-color:#dc3545;color:var(--color-white)}.btn-danger:hover{background-color:#c82333}.btn-danger:disabled{background-color:var(--color-medium-grey);cursor:not-allowed;opacity:.6}.reports-content{display:grid;gap:2rem}.generate-report-section,.reports-list-section{background-color:var(--color-white);border-radius:.5rem;padding:2rem;box-shadow:var(--shadow-md)}.generate-report-section h2,.reports-list-section h2{margin-top:0;margin-bottom:1.5rem;font-size:1.5rem;color:var(--color-secondary-black)}.generate-form{display:flex;flex-direction:column;gap:1.5rem}.generate-form .form-group{display:flex;flex-direction:column;gap:.5rem}.generate-form label{font-weight:600;color:var(--color-secondary-black)}.generate-form select{padding:.75rem;border:1px solid var(--color-medium-grey);border-radius:.5rem;font-size:1rem;font-family:inherit}.generate-form select:focus{outline:none;border-color:var(--color-primary-red)}.generate-form input[type=checkbox]{margin-right:.5rem}.report-type-options{display:flex;gap:1rem;flex-wrap:wrap}.report-type-option{display:flex;align-items:center;gap:.5rem;padding:.75rem 1.25rem;border:1px solid var(--color-medium-grey);border-radius:.5rem;cursor:pointer;font-weight:500;transition:all .2s}.report-type-option:hover{border-color:var(--color-primary-red)}.report-type-option.selected{border-color:var(--color-primary-red);background-color:#c823330f;color:var(--color-primary-red)}.report-type-option input[type=radio]{accent-color:var(--color-primary-red)}.report-type-badge{display:inline-block;padding:.2rem .6rem;border-radius:1rem;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;margin-bottom:.5rem}.report-type-badge.pentest{background-color:#c823331f;color:var(--color-primary-red)}.report-type-badge.assessment{background-color:#0d6efd1f;color:#0d6efd}.report-type-badge.codescan{background-color:#0110261f;color:var(--color-secondary-blue)}.reports-list{display:flex;flex-direction:column;gap:1rem}.report-card{border:1px solid var(--color-light-grey);border-radius:.5rem;padding:1.5rem;display:flex;justify-content:space-between;align-items:flex-start;gap:1.5rem;transition:box-shadow .2s}.report-card:hover{box-shadow:var(--shadow-md)}.report-header{flex:1;min-width:0}.report-header h3{margin:0 0 .5rem;font-size:1.125rem;color:var(--color-secondary-black)}.report-date{font-size:.875rem;color:var(--color-medium-grey);display:block}.report-meta{margin-top:.5rem}.report-url{font-size:.875rem;color:var(--color-medium-grey);font-style:italic;word-break:break-all}.report-actions{display:flex;gap:1rem;flex-shrink:0;align-items:flex-start}.report-actions .btn{height:2.75rem;line-height:1.25rem;box-sizing:border-box;display:flex;align-items:center;justify-content:center}.report-detail-content{background-color:var(--color-white);border-radius:.5rem;padding:2rem;box-shadow:var(--shadow-md);margin-top:1rem}.report-markdown{line-height:1.8;color:var(--color-secondary-black)}.report-markdown h1{font-size:2rem;margin-top:2rem;margin-bottom:1rem;color:var(--color-secondary-black);border-bottom:2px solid var(--color-primary-red);padding-bottom:.5rem}.report-markdown h2{font-size:1.5rem;margin-top:1.5rem;margin-bottom:.75rem;color:var(--color-secondary-black);border-bottom:1px solid var(--color-light-grey);padding-bottom:.5rem}.report-markdown h3{font-size:1.25rem;margin-top:1.25rem;margin-bottom:.5rem;color:var(--color-secondary-black)}.report-markdown h4{font-size:1.125rem;margin-top:1rem;margin-bottom:.5rem;color:var(--color-secondary-black)}.report-markdown p{margin-bottom:1rem}.report-markdown ul,.report-markdown ol{margin-bottom:1rem;padding-left:2rem}.report-markdown li{margin-bottom:.5rem}.report-markdown code{background-color:var(--color-light-grey);padding:.2rem .4rem;border-radius:.25rem;font-family:var(--font-family-monospace);font-size:.9em}.report-markdown pre{background-color:var(--color-light-grey);padding:1rem;border-radius:.5rem;overflow-x:auto;margin-bottom:1rem}.report-markdown pre code{background-color:transparent;padding:0}.report-markdown table{width:100%;border-collapse:collapse;margin-bottom:1rem}.report-markdown th,.report-markdown td{border:1px solid var(--color-light-grey);padding:.75rem;text-align:left}.report-markdown th{background-color:var(--color-light-grey);font-weight:600;color:var(--color-secondary-black)}.report-markdown blockquote{border-left:4px solid var(--color-primary-red);padding-left:1rem;margin-left:0;margin-bottom:1rem;color:var(--color-medium-grey);font-style:italic}.report-markdown a{color:var(--color-primary-red);text-decoration:none}.report-markdown a:hover{text-decoration:underline}.report-markdown hr{border:none;border-top:2px solid var(--color-light-grey);margin:2rem 0}.settings-content{display:flex;flex-direction:column;gap:2rem}.btn{padding:.5rem 1rem;border:none;border-radius:.5rem;font-size:.875rem;font-weight:500;cursor:pointer}.btn-secondary{background-color:var(--color-medium-grey);color:var(--color-white)}.settings-section{background-color:var(--color-white);border-radius:.5rem;padding:2rem;box-shadow:var(--shadow-md)}.settings-section h2{margin-top:0;margin-bottom:1.5rem;font-size:1.5rem;color:var(--color-secondary-black)}.settings-card{display:flex;flex-direction:column;gap:1.5rem}.setting-item{display:flex;justify-content:space-between;align-items:center;padding:1rem 0;border-bottom:1px solid var(--color-light-grey)}.setting-item:last-child{border-bottom:none}.setting-info{flex:1}.setting-info h3{margin:0 0 .5rem;font-size:1rem;color:var(--color-secondary-black)}.setting-info p{margin:0;font-size:.875rem;color:var(--color-medium-grey)}.setting-value{margin-left:2rem;text-align:right}.repo-connect-actions{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem}.setting-value code{background-color:var(--color-light-grey);padding:.5rem 1rem;border-radius:.25rem;font-family:var(--font-family-monospace);font-size:.875rem;color:var(--color-secondary-black)}.status-indicator{padding:.5rem 1rem;border-radius:1rem;font-size:.875rem;font-weight:600;text-transform:uppercase}.status-connected{background-color:var(--color-success);color:var(--color-white)}.status-disconnected{background-color:var(--color-error);color:var(--color-white)}:root{--color-primary-red: #D1232A;--color-primary-grey: #42515A;--color-secondary-blue: #011026;--color-secondary-black: #050822;--color-tertiary-blue: #58BCEA;--color-tertiary-red: #ED9B9D;--color-success: #4CAF50;--color-warning: #FF9800;--color-error: #D1232A;--color-info: #58BCEA;--color-white: #FFFFFF;--color-black: #000000;--color-light-grey: #F5F5F5;--color-medium-grey: #9E9E9E;--color-dark-grey: #424242;--font-family-primary: "Inter", "Roboto", "Helvetica", "Arial", sans-serif;--font-family-monospace: "Courier New", "Monaco", monospace}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font-family-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-white);color:var(--color-secondary-black);line-height:1.6}#root{min-height:100vh}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:var(--color-light-grey)}::-webkit-scrollbar-thumb{background:var(--color-primary-grey);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--color-secondary-black)}.text-primary-red{color:var(--color-primary-red)}.text-primary-grey{color:var(--color-primary-grey)}.text-secondary-blue{color:var(--color-secondary-blue)}.text-secondary-black{color:var(--color-secondary-black)}.text-tertiary-blue{color:var(--color-tertiary-blue)}.bg-primary-red{background-color:var(--color-primary-red)}.bg-primary-grey{background-color:var(--color-primary-grey)}.bg-secondary-blue{background-color:var(--color-secondary-blue)}.bg-secondary-black{background-color:var(--color-secondary-black)}.bg-tertiary-blue{background-color:var(--color-tertiary-blue)}.bg-tertiary-red{background-color:var(--color-tertiary-red)}
