:root{--text:#d4d4d8;--text-h:#f3f4f6;--bg:#0b1326;--border:#2e303a;--sans:system-ui, "Segoe UI", Roboto, sans-serif;--mono:ui-monospace, Consolas, monospace;font:16px/1.45 var(--sans);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
html,body{background:#0b1326;margin:0}#root{box-sizing:border-box;min-height:100svh}
h1,h2{font-family:var(--sans);letter-spacing:-.02em;color:var(--text-h);font-weight:700}h1{margin:0;font-size:2.5rem}h2{margin:0;font-size:1.4rem}p{margin:0}
*,:before,:after{box-sizing:border-box}.app-shell{max-width:960px;margin:0 auto;padding:2.5rem 1.5rem 4rem}
.login-page{background:#0b1326;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.login-card-wrap{width:100%;max-width:448px;position:relative}.login-glow{pointer-events:none;z-index:0;border-radius:9999px;position:absolute}.login-glow-top{filter:blur(55px);background:#4f46e526;width:520px;height:520px;top:-128px;left:50%;transform:translate(-50%)}.login-glow-bottom{filter:blur(45px);background:#7c3aed1a;height:320px;bottom:-96px;left:3%;right:25%}.login-card{z-index:1;box-sizing:border-box;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#131b2ee6;border-radius:12px;flex-direction:column;gap:24px;width:100%;padding:32px;display:flex;position:relative;box-shadow:0 25px 50px -12px #00000040}.login-header{flex-direction:column;align-items:center;gap:12px;display:flex}.login-logo{background:linear-gradient(135deg,#4f46e5 0%,#171f33 50%,#060e20 100%);border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;display:flex;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a}.login-title{font-family:"Manrope", var(--sans);letter-spacing:-.6px;color:#dae2fd;font-size:24px;font-weight:600}.login-subtitle{font-family:"IBM Plex Sans", var(--sans);color:#c7c4d8;text-align:center;font-size:14px}.login-form{flex-direction:column;gap:16px;width:100%;margin:0;display:flex}.login-field{flex-direction:column;gap:6px;width:100%;display:flex}.login-field-label{font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;text-transform:uppercase;color:#c7c4d8;font-size:12px;font-weight:600}.login-input-wrap{width:100%;position:relative}.login-input-wrap input{box-sizing:border-box;color:#dae2fd;width:100%;font-family:"IBM Plex Sans", var(--sans);background:#060e20;border:1px solid #2d3449;border-radius:8px;padding:11px 14px 11px 40px;font-size:14px}.login-input-wrap input:focus{border-color:#4f46e5;outline:none}.login-input-icon{pointer-events:none;width:16px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.login-input-toggle{cursor:pointer;opacity:.7;background:0 0;border:none;padding:4px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.login-input-toggle:hover{opacity:1}.login-remember{font-family:"IBM Plex Sans", var(--sans);color:#c7c4d8;cursor:pointer;align-items:center;gap:8px;font-size:14px;display:flex}.login-remember input{accent-color:#4f46e5;width:16px;height:16px}.login-submit{color:#fff;width:100%;font-family:"Manrope", var(--sans);background:#4f46e5;border-radius:8px;justify-content:center;align-items:center;gap:8px;margin-top:4px;padding:12px 16px;font-size:18px;font-weight:600;display:flex;box-shadow:0 10px 15px -3px #4f46e54d,0 4px 6px -4px #4f46e54d}.login-submit:disabled{opacity:.7}.login-footer{border-top:1px solid #2d344966;justify-content:center;padding-top:13px;display:flex}.login-footer-link{color:#8a86a8;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:0;font-size:12px;font-weight:600;display:flex}.login-footer-link:hover{color:#c3c0ff}
.top-nav{background:#0b1326;width:100%}.top-nav-inner{justify-content:space-between;align-items:center;max-width:1440px;margin:0 auto;padding:16px 32px;display:flex}.top-nav-left{align-items:center;gap:32px;display:flex}.top-nav-logo{font-family:"Manrope", var(--sans);letter-spacing:-.24px;color:#e2dfff;cursor:pointer;font-size:24px;font-weight:700}.top-nav-hamburger{color:#dae2fd;background:0 0;padding:0;display:none}.mobile-nav-drawer-scrim{z-index:20;background:#0000008c;position:fixed;inset:0}.mobile-nav-drawer{z-index:21;background:#060e20;border-right:1px solid #464555;flex-direction:column;width:min(300px,85vw);display:flex;position:fixed;top:0;bottom:0;left:0;overflow-y:auto}.mobile-nav-drawer-header{border-bottom:1px solid #4645554d;flex-direction:column;gap:16px;padding:24px 24px 17px;display:flex}.mobile-nav-drawer-brand{align-items:center;gap:12px;display:flex}.mobile-nav-drawer-badge{color:#dad7ff;width:40px;height:40px;font-family:"Manrope", var(--sans);background:#4f46e5;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.mobile-nav-drawer-title{font-family:"Manrope", var(--sans);color:#dae2fd;font-size:18px;font-weight:700}.mobile-nav-drawer-subtitle{font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;color:#c7c4d8;font-size:12px;font-weight:600}.mobile-nav-drawer-add-project{color:#dad7ff;width:100%;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;background:#4f46e5;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 0;font-size:12px;font-weight:600;display:flex;box-shadow:0 4px 6px #4f46e533}.mobile-nav-drawer-links{flex-direction:column;flex:1;gap:8px;padding:16px 12px;display:flex}.mobile-nav-drawer-footer{border-top:1px solid #4645554d;flex-direction:column;gap:8px;padding:17px 12px 16px;display:flex}.mobile-nav-drawer-link{appearance:none;color:#c7c4d8;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;padding:8px 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.mobile-nav-drawer-link.is-active{color:#dad7ff;background:#4f46e5}.mobile-nav-drawer-link:disabled{color:#56546a;cursor:not-allowed;background:0 0}.mobile-nav-drawer-link-icon{width:16.667px;height:16.667px}.top-nav-links{align-items:center;gap:24px;display:flex}.top-nav-link{appearance:none;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;color:#c7c4d8;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:6px 0;font-size:14px;font-weight:600}.top-nav-link.is-active{color:#e2dfff;opacity:.8;border-bottom:2px solid #e2dfff}.top-nav-link:disabled{color:#56546a;cursor:not-allowed;background:0 0;border-bottom-color:#0000;border-radius:0}.top-nav-right{align-items:center;gap:16px;display:flex}.top-nav-search{align-items:center;width:256px;display:flex;position:relative}.top-nav-search-icon{width:10.5px;height:10.5px;position:absolute;left:12px}.top-nav-search input{box-sizing:border-box;width:100%;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;color:#dae2fd;background:#171f33;border:1px solid #464555;border-radius:6px;padding:8px 13px 8px 37px;font-size:14px;font-weight:600}.top-nav-search input::placeholder{color:#6b7280}.top-nav-search input:focus{border-color:#6b74a8;outline:none}.top-nav-icon-button{cursor:pointer;background:0 0;border-radius:4px;padding:0;position:relative}.top-nav-icon-button:disabled{cursor:default}.top-nav-icon-button img{display:block}.notification-bell{align-items:center;display:flex;position:relative}.notification-bell-badge{color:#fff;font-family:"IBM Plex Sans", var(--sans);text-align:center;background:#dc2626;border-radius:9999px;min-width:16px;padding:3px 5px;font-size:10px;font-weight:700;line-height:1;position:absolute;top:-6px;right:-8px}.notification-bell-backdrop{z-index:9;position:fixed;inset:0}.notification-bell-menu{z-index:10;background:#1c2338;border:1px solid #464555;border-radius:8px;width:320px;max-width:90vw;position:absolute;top:calc(100% + 10px);right:-8px;overflow:hidden;box-shadow:0 8px 24px #00000059}.notification-bell-menu-header{color:#dae2fd;font-family:"IBM Plex Sans", var(--sans);border-bottom:1px solid #464555;justify-content:space-between;align-items:center;padding:12px 16px;font-size:13px;font-weight:600;display:flex}.notification-bell-menu-header button{color:#c3c0ff;font-family:"IBM Plex Sans", var(--sans);background:0 0;font-size:12px;font-weight:600}.notification-bell-empty{padding:20px 16px}.notification-bell-list{max-height:320px;margin:0;padding:0;list-style:none;overflow-y:auto}.notification-bell-list li.is-unread{background:#4f46e51a}.notification-bell-list button{text-align:left;background:0 0;border-bottom:1px solid #4645554d;flex-direction:column;gap:2px;width:100%;padding:10px 16px;display:flex}.notification-bell-list li:last-child button{border-bottom:none}.notification-bell-message{color:#dae2fd;font-family:"IBM Plex Sans", var(--sans);font-size:13px}.notification-bell-time{color:#8a86a8;font-family:"IBM Plex Sans", var(--sans);font-size:11px}.top-nav-avatar{object-fit:cover;border:1px solid #464555;border-radius:9999px;width:32px;height:32px}.user-menu{align-items:center;display:flex;position:relative}.top-nav-avatar-button{border-radius:9999px}.user-menu-dropdown{z-index:10;background:#1c2338;border:1px solid #464555;border-radius:8px;width:200px;position:absolute;top:calc(100% + 10px);right:-8px;overflow:hidden;box-shadow:0 8px 24px #00000059}.user-menu-username{color:#dae2fd;font-family:"IBM Plex Sans", var(--sans);word-break:break-word;border-bottom:1px solid #464555;padding:12px 16px;font-size:13px;font-weight:600}.user-menu-logout{text-align:left;color:#f0a8a0;width:100%;font-family:"IBM Plex Sans", var(--sans);background:0 0;padding:10px 16px;font-size:13px;font-weight:600;display:block}.user-menu-logout:hover{background:#dc26261f}
.projects-mobile-cards{display:none}.projects-mobile-card{cursor:pointer;background:#131b2e;border:1px solid #464555;border-left:4px solid #0000;border-radius:12px;margin-bottom:16px;padding:21px}.projects-mobile-card.is-failed{background:#222a3d;border-color:#dc26264d #dc26264d #dc26264d #dc2626}.projects-mobile-card-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.projects-mobile-card-header h3{font-family:"Manrope", var(--sans);color:#dae2fd;margin:0 0 4px;font-size:18px;font-weight:600}.projects-mobile-card-meta{font-family:"IBM Plex Sans", var(--sans);color:#c7c4d8;align-items:center;gap:6px;font-size:14px;display:flex}.projects-mobile-card-pill{font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;border-radius:4px;flex-shrink:0;padding:5px 9px;font-size:12px;font-weight:600}.projects-mobile-card-pill.is-passed{color:#16a34a;background:#16a34a1a;border:1px solid #16a34a33}.projects-mobile-card-pill.is-failed{color:#dc2626;background:#dc26261a;border:1px solid #dc262633}.projects-mobile-card-metrics{background:#46455533;border:1px solid #46455533;border-radius:8px;grid-template-columns:1fr 1fr;gap:1px;margin-bottom:12px;display:grid;overflow:hidden}.projects-mobile-card-metrics>div{background:#060e2080;flex-direction:column;gap:4px;padding:12px;display:flex}.projects-mobile-card-metric-label{font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;text-transform:uppercase;color:#c7c4d8;font-size:12px;font-weight:600}.projects-mobile-card-metric-value{font-family:"IBM Plex Sans", var(--sans);color:#dae2fd;font-size:14px}.projects-mobile-card-unscanned{font-family:"IBM Plex Sans", var(--sans);color:#8a86a8;text-overflow:ellipsis;white-space:nowrap;margin:0 0 12px;font-size:14px;overflow:hidden}.projects-mobile-card-unscanned.is-failed{color:#f87171}.projects-mobile-fab{display:none}
.projects-table-card{background:#131b2e;border:1px solid #464555;border-radius:8px;overflow:hidden}.projects-table-card-header{background:#2d344980;border-bottom:1px solid #464555;justify-content:space-between;align-items:center;padding:16px 24px 17px;display:flex}.projects-table-card-header h2{font-family:"Manrope", var(--sans);color:#dae2fd;font-size:18px;font-weight:600}.projects-table-filter{position:relative}.projects-table-filter-btn{color:#dae2fd;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;cursor:pointer;background:#2d3449;border:1px solid #464555;border-radius:4px;align-items:center;gap:8px;padding:7px 13px;font-size:12px;font-weight:600;display:inline-flex}.projects-table-filter-btn.is-active{background:#3a4266;border-color:#6b74a8}.projects-table-filter-backdrop{z-index:9;position:fixed;inset:0}.projects-table-filter-menu{z-index:10;background:#1c2338;border:1px solid #464555;border-radius:6px;min-width:200px;padding:4px;position:fixed;box-shadow:0 8px 24px #00000059}.projects-table-filter-menu li{list-style:none}.projects-table-filter-menu button{text-align:left;color:#dae2fd;width:100%;font-family:"IBM Plex Sans", var(--sans);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:8px 10px;font-size:13px;display:block}.projects-table-filter-menu button:hover{background:#2d3449}.projects-table-filter-menu button.is-active{color:#fff;background:#3a4266;font-weight:600}.projects-table-empty{padding:24px}.projects-table-scroll{overflow-x:auto}.projects-table{border-collapse:collapse;width:100%;min-width:640px}.projects-table thead tr{background:#060e20;border-bottom:1px solid #464555}.projects-table th{text-align:left;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;color:#c7c4d8;white-space:nowrap;padding:12px 18px;font-size:14px;font-weight:600}.projects-table td{vertical-align:middle;border-bottom:1px solid #464555;padding:16.5px 18px}.projects-table tbody tr:last-child td{border-bottom:none}.projects-table tbody tr{cursor:pointer;transition:background .15s}.projects-table tbody tr:hover{background:#2d344959}.pt-align-right{text-align:right}.pt-mono{font-family:"IBM Plex Mono", var(--mono);color:#dae2fd;font-size:14px}.pt-cell-muted{color:#c7c4d8;font-size:14px;font-style:italic}.pt-project-name{font-family:"IBM Plex Sans", var(--sans);color:#dae2fd;overflow-wrap:anywhere;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:14px;font-weight:600;display:flex}.pt-project-url{font-family:"IBM Plex Mono", var(--mono);color:#c7c4d8;overflow-wrap:anywhere;word-break:break-word;margin-top:4px;font-size:11px}.pt-status-badge{font-family:"IBM Plex Sans", var(--sans);white-space:nowrap;border-radius:4px;align-items:center;padding:3px 9px;font-size:12px;font-weight:500;display:inline-flex}.pt-status-completed{color:#16a34a;background:#16a34a33;border:1px solid #16a34a4d}.pt-status-pending{color:#c7c4d8;background:0 0;border:2px dashed #464555}.pt-status-failed{color:#ef4444;background:#dc262633;border:1px solid #dc26264d}.pt-gate{font-family:"IBM Plex Sans", var(--sans);white-space:nowrap;align-items:center;gap:6px;font-size:14px;font-weight:600;display:inline-flex}.pt-gate img{width:11.667px;height:11.667px}.pt-gate-passed{color:#16a34a}.pt-gate-failed{color:#dc2626}.pt-dep-badge{font-family:"IBM Plex Sans", var(--sans);white-space:nowrap;border-radius:9999px;align-items:center;padding:3px 11px;font-size:12px;font-weight:500;display:inline-flex}.pt-dep-neutral{color:#c7c4d8;background:#222a3d;border:1px solid #464555}.pt-dep-severe{color:#ffb4ab;background:#991b1b33;border:1px solid #991b1b80}.pt-dep-warn{color:#ca8a04;background:#ca8a0433;border:1px solid #ca8a0480}.projects-table .project-delete{opacity:0;transition:opacity .15s}.projects-table tr:hover .project-delete{opacity:1}
.projects-empty-state{text-align:center;background:#0b1326;border:1px solid #464555;border-radius:12px;flex-direction:column;align-items:center;gap:8px;margin:1.5rem 0;padding:64px 32px;display:flex}.projects-empty-state-icon{color:#c3c0ff;background:#171f33;border:2px dashed #464555;border-radius:9999px;justify-content:center;align-items:center;width:96px;height:96px;margin-bottom:24px;display:flex}.projects-empty-state h2{font-family:"Manrope", var(--sans);letter-spacing:-.5px;color:#dae2fd;margin:0 0 8px;font-size:28px;font-weight:800}.projects-empty-state p{font-family:"IBM Plex Sans", var(--sans);color:#c7c4d8;max-width:480px;margin:0 0 24px;font-size:16px}.projects-empty-state-cta{color:#dad7ff;font-family:"Manrope", var(--sans);background:#4f46e5;border-radius:8px;align-items:center;gap:12px;margin-bottom:16px;padding:16px 32px;font-size:18px;font-weight:600;display:flex}.projects-empty-state-links{gap:24px;display:flex}.projects-empty-state-links a,.projects-empty-state-links .link-button{color:#c3c0ff;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;font-size:14px;font-weight:600}.link-button{appearance:none;cursor:pointer;background:0 0;border:none;padding:0;text-decoration:underline}.project-form{color:#1a1a1f;background:#f6f6f9;border:1px solid #e8e8ee;border-radius:10px;flex-direction:column;gap:1.1rem;max-width:440px;margin:1.5rem 0;padding:1.5rem;display:flex}.field{flex-direction:column;gap:.4rem;display:flex}.field-label{color:#444;font-size:.85rem;font-weight:600}.project-form input[type=text],.project-form input[type=url],.project-form input[type=password],.project-form textarea,.modal-card input[type=number],.modal-card select{color:#1a1a1f;resize:vertical;background:#fff;border:1px solid #d0d0d5;border-radius:8px;padding:.6rem .85rem;font-family:inherit;font-size:.95rem}.project-form input:focus,.project-form textarea:focus,.modal-card input[type=number]:focus,.modal-card select:focus{outline-offset:1px;outline:2px solid #4f46e5}.field-hint{color:#999;font-size:.78rem}.field-hint code{background:#80808c2e;border-radius:4px;padding:.05rem .35rem}.toggle-field{color:#444;cursor:pointer;align-items:center;gap:.65rem;font-size:.9rem;display:flex}.toggle-input{opacity:0;width:0;height:0;position:absolute}.toggle-track{background:#d3d3da;border-radius:999px;flex-shrink:0;width:40px;height:23px;transition:background .15s;position:relative}.toggle-thumb{background:#fff;border-radius:50%;width:19px;height:19px;transition:transform .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 3px #0000004d}.toggle-input:checked+.toggle-track{background:#4f46e5}.toggle-input:checked+.toggle-track .toggle-thumb{transform:translate(17px)}.toggle-input:focus-visible+.toggle-track{outline-offset:2px;outline:2px solid #4f46e5}.toggle-input:disabled+.toggle-track{opacity:.5;cursor:not-allowed}.project-form-actions{justify-content:flex-end;gap:.75rem;display:flex}.project-form-actions button{padding:.6rem 1.5rem}.project-delete{color:#c0392b;background:0 0;border:1px solid #d0d0d5;border-radius:8px;flex-shrink:0;padding:.4rem .85rem;font-size:.85rem;font-weight:500}.project-delete:hover:not(:disabled){background:#fdecea;border-color:#f0b8b0}.add-project-modal-shell{color:#dae2fd;background:#171f33;border:1px solid #222a3d;border-radius:12px;width:100%;max-width:672px;padding:0;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.add-project-modal-shell .modal-header{background:#0b1326;border-bottom:1px solid #222a3d;margin:0;padding:16px 20px 17px}.add-project-modal-shell .modal-header h2{color:#dae2fd;font-family:"Manrope", var(--sans);align-items:center;gap:12px;font-size:18px;font-weight:600;display:flex}.add-project-header-icon{color:#c3c0ff;background:#4f46e51a;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;display:flex}.add-project-modal-shell .modal-close{color:#c7c4d8}.add-project-modal-shell .modal-close:hover:not(:disabled){color:#dae2fd;background:#ffffff0f}.add-project-modal-shell .project-form{color:inherit;background:0 0;border:none;gap:24px;max-width:none;max-height:70vh;margin:0;padding:20px;overflow-y:auto}.add-project-section{flex-direction:column;gap:16px;width:100%;display:flex}.add-project-modal-shell .form-section-label{color:#c7c4d8;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;text-transform:uppercase;margin:0;font-size:12px;font-weight:600}.add-project-divider{background:#222a3d;width:100%;height:1px}.add-project-modal-shell .field-label{color:#dae2fd;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;font-size:12px;font-weight:600}.required-asterisk{color:#dc2626}.field-label-row{justify-content:space-between;align-items:center;width:100%;display:flex}.field-label-row svg{color:#c7c4d8;cursor:help}.add-project-modal-shell .project-form input[type=text],.add-project-modal-shell .project-form input[type=url],.add-project-modal-shell .project-form input[type=password],.add-project-modal-shell .project-form textarea{color:#dae2fd;font-family:"IBM Plex Sans", var(--sans);background:#131b2e;border:1px solid #464555;font-size:14px}.add-project-modal-shell .project-form input::placeholder,.add-project-modal-shell .project-form textarea::placeholder{color:#8a86a8}.add-project-modal-shell .project-form textarea.mono,.add-project-modal-shell .project-form input.mono{font-family:"IBM Plex Mono", var(--mono);font-size:13px}.add-project-modal-shell .project-form textarea{font-family:"IBM Plex Mono", var(--mono);font-size:11px}.add-project-input-icon-wrap{width:100%;min-width:0;position:relative}.add-project-input-icon-wrap svg{color:#c7c4d8;pointer-events:none;position:absolute;top:50%;left:13px;transform:translateY(-50%)}.add-project-input-with-icon{box-sizing:border-box;width:100%;padding-left:37px!important}.add-project-toggle-row{box-sizing:border-box;cursor:pointer;border-radius:4px;justify-content:space-between;align-items:center;gap:16px;width:100%;padding:9px;display:flex}.add-project-toggle-row:hover{background:#ffffff0a}.add-project-toggle-row.is-card{background:#131b2e;border:1px solid #222a3d;border-radius:8px;padding:13px}.add-project-toggle-row.is-card:hover{background:#131b2e}.add-project-toggle-title{color:#dae2fd;font-family:"IBM Plex Sans", var(--sans);font-size:14px}.add-project-toggle-subtitle{color:#c7c4d8;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;margin-top:2px;font-size:12px;font-weight:600}.add-project-toggle-subtitle code{color:#c3c0ff;font-family:"IBM Plex Mono", var(--mono);background:#ffffff14;border-radius:4px;padding:.05rem .35rem}.add-project-token-field{box-sizing:border-box;border-left:2px solid #4f46e5;flex-direction:column;gap:4px;width:100%;padding-left:18px;display:flex}.add-project-analysis-grid{grid-template-columns:1fr 1fr;gap:16px;width:100%;display:grid}.add-project-modal-shell .field-hint{color:#8a86a8}.add-project-modal-shell .field-hint code{color:#c3c0ff;background:#ffffff14}.add-project-modal-shell .status-message.warning{color:#ea580c}.add-project-modal-shell .status-message.error{color:#f87171}.add-project-modal-shell .status-message.success{color:#16a34a}.add-project-modal-shell .project-form-actions{background:#0b1326;border-top:1px solid #222a3d;margin:8px -20px -20px;padding:17px 20px 16px}.add-project-modal-shell .btn-secondary{color:#dae2fd;font-family:"IBM Plex Sans", var(--sans);background:0 0;border:1px solid #464555;border-radius:8px;padding:9px 17px;font-size:14px;font-weight:600}.add-project-modal-shell .btn-secondary:hover:not(:disabled){color:#dae2fd;background:#ffffff0f}.add-project-submit{color:#dad7ff;font-family:"IBM Plex Sans", var(--sans);background:#4f46e5;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:14px;font-weight:600;display:inline-flex}
.project-detail-layout{align-items:stretch;gap:0;display:flex}.side-nav{background:#060e20;border-right:1px solid #464555;flex-direction:column;flex-shrink:0;width:256px;display:flex}.side-nav-brand{align-items:center;gap:12px;padding:16px 24px;display:flex}.side-nav-brand-badge{color:#dad7ff;width:32px;height:32px;font-family:"Manrope", var(--sans);background:#4f46e5;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:flex}.side-nav-brand-name{font-family:"Manrope", var(--sans);color:#dae2fd;text-overflow:ellipsis;white-space:nowrap;max-width:180px;font-size:18px;font-weight:700;overflow:hidden}.side-nav-brand-branch{font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;color:#c7c4d8;font-size:12px;font-weight:600}.side-nav-cta{padding:0 24px 16px}.side-nav-cta-button{color:#dad7ff;width:100%;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;background:#4f46e5;border-radius:8px;justify-content:center;align-items:center;gap:8px;padding:8px 0;font-size:12px;font-weight:700;display:flex}.side-nav-links{flex-direction:column;flex:1;gap:4px;margin:0;padding:8px 12px 0;list-style:none;display:flex}.side-nav-link{color:#c7c4d8;width:100%;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;text-align:left;background:0 0;border-radius:8px;align-items:center;gap:12px;padding:8px 12px;font-size:14px;font-weight:600;display:flex}.side-nav-link:hover:not(:disabled){background:#ffffff0f}.side-nav-link:disabled{opacity:.4;cursor:not-allowed;background:0 0}.side-nav-link.is-active{color:#dad7ff;background:#4f46e5;font-weight:700}.side-nav-footer{border-top:1px solid #464555;flex-direction:column;gap:4px;padding:17px 12px 16px;display:flex}.side-nav-footer-link{appearance:none;color:#c7c4d8;width:100%;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;opacity:.85;background:0 0;border:none;border-radius:8px;align-items:center;gap:12px;padding:8px 12px;font-size:14px;font-weight:600;text-decoration:none;display:flex}.side-nav-footer-link:hover{opacity:1;background:#1c2338}.mobile-bottom-nav{display:none}.mobile-bottom-nav-item{color:#c7c4d8;font-family:"IBM Plex Sans", var(--sans);background:0 0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;padding:8px 4px;font-size:12px;font-weight:600;display:flex}.mobile-bottom-nav-item.is-active{color:#dae2fd}.mobile-bottom-nav-item:disabled{opacity:.4;cursor:not-allowed;background:0 0}.project-detail-with-sidebar{color:#dae2fd;background:#0b1326;flex:1;min-width:0;min-height:calc(100vh - 66px);padding:2.5rem 1.5rem 4rem}.project-detail-with-sidebar .back-link{color:#8a86a8}.project-detail-with-sidebar .status-message{color:#c7c4d8}.project-detail-with-sidebar .status-message.error{color:#f87171}.project-detail-with-sidebar .status-message.warning{color:#d97706}
.project-header-card{background:#131b2e;border:1px solid #464555;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1.5rem;margin-bottom:1.5rem;padding:25px;display:flex;position:relative;overflow:hidden;box-shadow:0 1px 2px #0000000d}.project-header-card:before{content:"";opacity:.1;filter:blur(32px);background:#8a86a8;border-radius:9999px;width:128px;height:128px;position:absolute;top:-40px;right:-40px}.project-header-card.is-failed:before{background:#dc2626}.project-header-card.is-passed:before{background:#16a34a}.project-header-card-main{flex-direction:column;gap:8px;min-width:0;display:flex;position:relative}.project-header-card-title-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.project-header-card-name{font-family:"Manrope", var(--sans);letter-spacing:-.64px;color:#dae2fd;margin:0;font-size:32px;font-weight:700}.project-header-card-subtitle{font-family:"IBM Plex Mono", var(--mono);color:#8a86a8;margin:0;font-size:.8rem}.project-header-status-pill{font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;text-transform:uppercase;border-radius:9999px;align-items:center;gap:4px;padding:5px 13px;font-size:12px;font-weight:600;display:inline-flex}.project-header-status-pill.is-failed{color:#dc2626;background:#dc262633;border:1px solid #dc26264d}.project-header-status-pill.is-passed{color:#16a34a;background:#16a34a33;border:1px solid #16a34a4d}.project-header-card-meta-row{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.project-header-branch-pill{color:#c7c4d8;background:#222a3d;border:1px solid #464555;border-radius:4px;align-items:center;gap:4px;padding:5px 9px;display:inline-flex}.project-header-branch-pill select{color:#c7c4d8;font-family:"IBM Plex Sans", var(--sans);background:0 0;border:none;padding:0;font-size:14px}.project-header-last-scan{font-family:"IBM Plex Sans", var(--sans);color:#c7c4d8;align-items:center;gap:.5rem;font-size:14px;display:flex}.project-header-commit{font-family:"IBM Plex Mono", var(--mono);background:#c7c4d826;border-radius:4px;padding:.1rem .5rem;font-size:.78rem}.project-header-text-link{color:#8a86a8;font-family:"IBM Plex Sans", var(--sans);background:0 0;border:none;padding:0;font-size:13px;text-decoration:underline}.project-header-text-link:hover:not(:disabled){color:#dae2fd;background:0 0}.project-header-branch-form{align-items:center;gap:.4rem;display:flex}.project-header-branch-form input{color:#dae2fd;background:#222a3d;border:1px solid #464555;border-radius:6px;width:9rem;padding:.3rem .55rem;font-family:inherit;font-size:.85rem}.project-header-card-actions{flex-shrink:0;align-items:center;gap:8px;display:flex;position:relative}.project-header-icon-button{color:#c7c4d8;background:#222a3d;border:1px solid #464555;border-radius:8px;justify-content:center;align-items:center;width:38px;height:38px;padding:9px;display:flex;position:relative}.project-header-icon-button:hover:not(:disabled){color:#dae2fd;background:#2d3449}.project-header-icon-button:disabled{opacity:.4;cursor:not-allowed;background:#222a3d}.project-header-icon-tooltip{color:#283044;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.3px;white-space:nowrap;opacity:0;pointer-events:none;background:#dae2fd;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:600;transition:opacity .15s;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)}.project-header-icon-button:hover .project-header-icon-tooltip{opacity:1}.project-header-run-scan{color:#dad7ff;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;filter:drop-shadow(0 0 7.5px #4f46e533);white-space:nowrap;background:#4f46e5;border-radius:8px;align-items:center;gap:8px;padding:8px 16px;font-size:12px;font-weight:700;display:flex}.project-header-run-scan:hover:not(:disabled){background:#4338ca}.subtitle{color:#8a86a8;margin-top:.35rem;font-size:.95rem}
button{color:#fff;cursor:pointer;background:#4f46e5;border:none;border-radius:8px;padding:.65rem 1.25rem;font-family:inherit;font-size:.95rem;font-weight:500;transition:background .15s,transform .1s}button:hover:not(:disabled){background:#4338ca}button:active:not(:disabled){transform:translateY(1px)}button:disabled{cursor:not-allowed;background:#b3b0e8}.btn-secondary{white-space:nowrap;color:#444;background:0 0;border:1px solid #d0d0d5;border-radius:8px;flex-shrink:0;align-items:center;padding:.65rem 1.25rem;font-size:.95rem;font-weight:500;text-decoration:none;display:inline-flex}.btn-secondary:hover:not(:disabled){color:#1a1a1f;background:#f0f0f4}.btn-secondary:disabled{color:#aaa;background:0 0}.status-message{color:#8a86a8;margin-top:1rem}.status-message.error{color:#e05a4a}.status-message.warning{color:#b1560c}
.results-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.5rem;display:flex}.results-header h1{margin:0}.scan-meta{color:#8a86a8;align-items:center;gap:.75rem;margin-top:.25rem;font-size:.85rem;display:flex}.scan-meta-commit{font-family:var(--mono,monospace);background:#80808c2e;border-radius:4px;padding:.1rem .5rem}.project-detail-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;align-items:center;gap:.75rem;display:flex}.project-branch-row{flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem;display:flex}.branch-select{color:#444;background:#fff;border:1px solid #d0d0d5;border-radius:6px;padding:.35rem .6rem;font-family:inherit;font-size:.85rem}.btn-small{padding:.35rem .7rem;font-size:.85rem}.branch-add-form{align-items:center;gap:.4rem;display:flex}.branch-add-form input{border:1px solid #d0d0d5;border-radius:6px;width:10rem;padding:.35rem .6rem;font-family:inherit;font-size:.85rem}.quality-gate-banner{background:#2d34494d;border-left:4px solid #464555;border-radius:0 8px 8px 0;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 1rem;padding:16px 16px 16px 20px;display:flex}.quality-gate-banner.status-passed{background:#16a34a1a;border-left-color:#16a34a}.quality-gate-banner.status-failed{background:#dc26261a;border-left-color:#dc2626}.quality-gate-banner-main{align-items:center;gap:.85rem;display:flex}.quality-gate-status-icon{color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:.9rem;font-weight:700;display:inline-flex}.status-passed .quality-gate-status-icon{background:#16a34a}.status-failed .quality-gate-status-icon{background:#dc2626}.status-none .quality-gate-status-icon{background:#6b6b80}.quality-gate-title{font-family:"Manrope", var(--sans);font-size:1.1rem;font-weight:600;display:block}.status-passed .quality-gate-title{color:#16a34a}.status-failed .quality-gate-title{color:#dc2626}.status-none .quality-gate-title{color:#c7c4d8}.quality-gate-subtitle{font-family:"IBM Plex Sans", var(--sans);color:#c7c4d8;margin-top:.1rem;font-size:.85rem;display:block}.quality-gate-conditions{flex-direction:column;gap:.4rem;margin:-.5rem 0 1rem;padding:0;list-style:none;display:flex}.quality-gate-condition{background:#171f33;border:1px solid #464555;border-radius:8px;overflow:hidden}.quality-gate-condition.is-skipped{opacity:.7;background:#131b2e}.quality-gate-condition-link{text-align:left;cursor:pointer;background:0 0;border:none;flex-wrap:wrap;align-items:center;gap:.6rem;width:100%;padding:.5rem .85rem;font-family:inherit;font-size:.85rem;display:flex}.quality-gate-condition-link:hover{background:#4f46e526}.quality-gate-condition-icon{flex-shrink:0;font-weight:700}.quality-gate-condition.is-passed .quality-gate-condition-icon{color:#16a34a}.quality-gate-condition.is-failed .quality-gate-condition-icon{color:#dc2626}.quality-gate-condition.is-skipped .quality-gate-condition-icon{color:#8a86a8}.quality-gate-condition-label{color:#dae2fd;font-weight:600}.quality-gate-condition-value{color:#c7c4d8}.quality-gate-condition-skipped-note{color:#8a86a8;font-size:.78rem;font-style:italic}.quality-gate-header-badge{vertical-align:middle;margin-left:.75rem}.quality-gate-modal-intro{margin:0 0 1.1rem}.quality-gate-defaults-button{text-align:center;white-space:normal;width:100%;margin-bottom:1.1rem;display:block}.quality-gate-condition-list{flex-direction:column;gap:.5rem;margin:0 0 1.25rem;padding:0;list-style:none;display:flex}.quality-gate-condition-row{border:1px solid #e8e8ee;border-radius:8px;align-items:center;gap:.6rem;padding:.55rem .85rem;font-size:.88rem;display:flex}.quality-gate-condition-row-label{flex:1;font-weight:600}.quality-gate-condition-row-threshold{color:#8a86a8;white-space:nowrap}.quality-gate-condition-row.is-editing{background:#f6f5ff;border-color:#4f46e5}.quality-gate-condition-edit,.quality-gate-condition-remove{cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:.2rem .4rem;font-size:.82rem;font-weight:600}.quality-gate-condition-edit{color:#4f46e5}.quality-gate-condition-remove{color:#c0392b}.quality-gate-condition-edit:hover,.quality-gate-condition-remove:hover{text-decoration:underline}.quality-gate-add-form{flex-direction:column;gap:1rem;display:flex}.code-section{flex-direction:column;gap:16px;margin-bottom:1.5rem;display:flex}.code-section-elevated{background:#10182c;border:1px solid #4645554d;border-radius:16px;padding:25px}.code-section-header{border-bottom:1px solid #464555;align-items:center;gap:16px;padding-bottom:9px;display:flex}.code-section-header h3{font-family:"Manrope", var(--sans);letter-spacing:-.24px;color:#dae2fd;margin:0;font-size:24px;font-weight:700}.code-section-elevated .code-section-header h3{letter-spacing:-.64px;font-size:32px}.mobile-scope-tabs{display:none}.mobile-scope-tabs button{color:#c7c4d8;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;background:0 0;border-radius:6px;flex:1;padding:8px 0;font-size:12px;font-weight:600}.mobile-scope-tabs button.is-active{color:#dad7ff;background:#4f46e5}.code-section-pill{font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;color:#c7c4d8;background:#222a3d;border:1px solid #464555;border-radius:9999px;padding:5px 13px;font-size:14px;font-weight:600}.scan-progress-banner{background:#4f46e533;border:1px solid #4f46e5;border-radius:8px;align-items:center;gap:16px;margin-bottom:1.5rem;padding:17px;display:flex;position:relative;overflow:hidden}@keyframes scan-progress-indeterminate{0%{transform:translate(-100%)}to{transform:translate(250%)}}.scan-progress-banner-bar{background:#e2dfff;width:40%;height:4px;animation:1.6s ease-in-out infinite scan-progress-indeterminate;position:absolute;bottom:0;left:0}.scan-progress-banner-icon{color:#e2dfff;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;animation:1.6s linear infinite spin;display:flex}@keyframes spin{to{transform:rotate(360deg)}}.scan-progress-banner-title{font-family:"Manrope", var(--sans);color:#dae2fd;margin:0;font-size:18px;font-weight:600}.scan-progress-banner-subtitle{font-family:"IBM Plex Sans", var(--sans);color:#c7c4d8;margin:4px 0 0;font-size:14px}.code-section-pill-calculating{color:#dad7ff;background:#4f46e5;border-color:#4f46e5}.code-section-pill-historical{background:#2d3449}.code-section-is-scanning{opacity:.5;pointer-events:none}.metric-tile-skeleton{background:#171f33;border:1px solid #e2dfff33;border-radius:12px;flex-direction:column;flex:130px;gap:16px;min-width:130px;padding:21px;display:flex}.metric-tile-skeleton-icon,.metric-tile-skeleton-value,.metric-tile-skeleton-label{background:#2d3449;border-radius:4px;animation:1.4s ease-in-out infinite skeleton-pulse}.metric-tile-skeleton-icon{border-radius:9999px;width:16px;height:16px}.metric-tile-skeleton-value{width:64px;height:36px}.metric-tile-skeleton-label{width:88px;height:10px}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.4}}.dependencies-section-card{background:#171f33;border:1px solid #464555;border-radius:12px;margin-bottom:1.5rem;overflow:hidden}.dependencies-section-header{background:#222a3d;border-bottom:1px solid #464555;justify-content:space-between;align-items:center;padding:16px;display:flex}.dependencies-section-title{font-family:"Manrope", var(--sans);color:#dae2fd;align-items:center;gap:12px;font-size:18px;font-weight:600;display:flex}.dependencies-view-all{color:#c3c0ff;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.dependencies-view-all:hover:not(:disabled){background:0 0;text-decoration:underline}.dependencies-section-card .metric-tile-row{padding:20px}.dependencies-section-card .metric-tile{box-shadow:none}.dependency-critical-link{color:#ea580c;background:0 0;border:none;align-self:flex-start;margin:0 20px 20px;padding:0;font-size:.85rem;font-weight:600}.dependency-critical-link:hover:not(:disabled){background:0 0;text-decoration:underline}.back-link{color:#6b6b76;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:.35rem;margin:0 0 1.25rem -.4rem;padding:.35rem .6rem .35rem .4rem;font-size:.85rem;font-weight:500;display:inline-flex}.back-link svg{flex-shrink:0}.back-link:hover:not(:disabled){color:#4f46e5;background:#ffffff0f}.issues-view .subtitle{margin-bottom:1.5rem}
.issues-view-shell{background:#0b1326;min-height:calc(100vh - 66px)}.issues-view-shell .issues-view{max-width:960px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.issues-view-shell .back-link{color:#8a86a8}.issues-view-shell .back-link:hover:not(:disabled){color:#c3c0ff;background:#ffffff0f}.issues-view-shell .overview-tile-kicker{color:#c7c4d8}.issues-view-shell h1{color:#dae2fd;font-family:"Manrope", var(--sans)}.issues-view-shell .subtitle,.issues-view-shell .status-message{color:#c7c4d8}.issues-view-shell .issues-panel{background:#060e20;border:1px solid #4645554d;border-radius:8px;padding:25px}.issues-view-shell .issues-summary{color:#c7c4d8}.issues-view-shell .type-chips{margin-bottom:.5rem}.issues-view-shell .impact-chips{margin-bottom:0}.issues-view-shell .type-chip,.issues-view-shell .impact-chip{color:#dae2fd;background:#2d3449;border-color:#464555;font-weight:400}.issues-view-shell .type-chip .chip-count,.issues-view-shell .impact-chip .chip-count{color:#c7c4d8;background:#2d3449}.issues-view-shell .type-chip:disabled,.issues-view-shell .impact-chip:disabled{color:#c7c4d880;opacity:1;background:#131b2e;border-color:#4645554d}.issues-view-shell .type-chip:disabled .chip-count,.issues-view-shell .impact-chip:disabled .chip-count{color:#c7c4d880;background:#2d344980}.issues-view-shell .impact-chip{background:#0b1326;border:2px dashed #46455580}.issues-view-shell .impact-chip .chip-count{background:0 0}.issues-view-shell .type-chip.is-active,.issues-view-shell .impact-chip.is-active,.issues-view-shell .type-chip.type-linting-issues.is-active,.issues-view-shell .type-chip.type-bug.is-active,.issues-view-shell .type-chip.type-vulnerability.is-active,.issues-view-shell .type-chip.type-security-hotspot.is-active,.issues-view-shell .type-chip.type-code-smell.is-active,.issues-view-shell .type-chip.type-type-error.is-active{color:#dad7ff;background:#4f46e5;border-color:#4f46e5;font-weight:500}.issues-view-shell .type-chip.is-active .chip-count,.issues-view-shell .impact-chip.is-active .chip-count{color:#dad7ff;background:#c3c0ff33}.issues-view-shell .issues-table-scroll{border:1px solid #464555;border-radius:8px;margin-top:1.25rem}.issues-view-shell .issues-table{color:#dae2fd}.issues-view-shell .issues-table th{color:#c7c4d8;letter-spacing:.1em;background:#131b2e;border-bottom-color:#464555}.issues-view-shell .issues-table td{border-bottom-color:#46455580}.issues-view-shell .issue-location-link{color:#c3c0ff;font-family:"IBM Plex Mono", var(--mono)}.issues-view-shell .issue-rule-pill{color:#dae2fd;font-family:"IBM Plex Mono", var(--mono);background:#2d344980;border-radius:4px;padding:.2rem .5rem;font-size:.7rem;display:inline-block}.issues-view-shell .status-cell-muted{color:#8a86a8}.issues-view-shell .issue-author{color:#dae2fd}.issues-view-shell .badge-impact-high{color:#dc2626;background:#dc26261a;border:1px solid #dc262633}.issues-view-shell .badge-impact-major{color:#d97706;background:#d977061a;border:1px solid #d9770633}.issues-view-shell .badge-impact-minor{color:#ca8a04;background:#ca8a041a;border:1px solid #ca8a0433}.issues-view-shell .badge-impact-low{color:#8b92a8;background:#8b92a81a;border:1px solid #8b92a833}.issues-view-shell .badge-muted{color:#8a86a8;background:0 0;border:1px solid #46455580}.issues-view-shell .badge-type-bug{color:#dc2626;background:#dc26261a}.issues-view-shell .badge-type-vulnerability{color:#c3c0ff;background:#9333ea26}.issues-view-shell .badge-type-security-hotspot{color:#ea580c;background:#ea580c26}.issues-view-shell .badge-type-code-smell{color:#ca8a04;background:#ca8a0426}.issues-view-shell .badge-type-type-error{color:#a5b4fc;background:#4f46e526}.issues-view-shell .hotspot-status-select.hotspot-status-to-review{color:#ea580c;background:#ea580c26;border-color:#ea580c4d}.issues-view-shell .hotspot-status-select.hotspot-status-safe{color:#16a34a;background:#16a34a26;border-color:#16a34a4d}.issues-view-shell .hotspot-status-select.hotspot-status-fixed{color:#a5b4fc;background:#4f46e526;border-color:#4f46e54d}.tab-note{margin-bottom:.75rem}.issues-panel{background:#f6f6f9;border:1px solid #e8e8ee;border-radius:10px;padding:1.25rem}.issues-summary{color:#55555c;margin:0 0 1rem;font-size:.9rem}.impact-chips{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.impact-chip{color:#444;background:#fff;border:1px solid #d8d8e2;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .9rem;font-size:.85rem;font-weight:600;display:flex}.impact-chip:hover:not(:disabled){background:#f0f0f4}.impact-chip:disabled{opacity:.4;cursor:not-allowed}.impact-chip .chip-count{color:inherit;background:#80808c2e;border-radius:999px;padding:.05rem .5rem;font-size:.75rem}.impact-chip.is-active{color:#fff;border-color:#0000}.impact-chip.impact-high.is-active{background:#c0392b}.impact-chip.impact-major.is-active{background:#b1560c}.impact-chip.impact-minor.is-active{background:#8a6d00}.impact-chip.impact-low.is-active{background:#5b6472}.impact-chip.is-active .chip-count{color:#fff;background:#ffffff47}.type-chips{flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem;display:flex}.type-chip{color:#444;background:#fff;border:1px solid #d8d8e2;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .9rem;font-size:.85rem;font-weight:600;display:flex}.type-chip:hover:not(:disabled){background:#f0f0f4}.type-chip:disabled{opacity:.4;cursor:not-allowed}.type-chip .chip-count{color:inherit;background:#80808c2e;border-radius:999px;padding:.05rem .5rem;font-size:.75rem}.type-chip.is-active{color:#fff;border-color:#0000}.type-chip.type-linting-issues.is-active{background:#4f46e5}.type-chip.type-bug.is-active{background:#c0392b}.type-chip.type-vulnerability.is-active{background:#8e44ad}.type-chip.type-security-hotspot.is-active{background:#d35400}.type-chip.type-code-smell.is-active{background:#8a6d00}.type-chip.type-type-error.is-active{background:#3178c6}.type-chip.is-active .chip-count{color:#fff;background:#ffffff47}.type-chip.dep-filter-all.is-active{background:#4f46e5}.type-chip.dep-filter-direct.is-active{background:#5b6472}.type-chip.dep-filter-vulnerable.is-active{background:#c0392b}.type-chip.dep-filter-malicious.is-active{background:#7a1f14}.type-chip.dep-filter-license.is-active{background:#b1560c}.severity-chips{flex-wrap:wrap;gap:.5rem;margin-bottom:1.25rem;display:flex}.severity-chip{color:#444;background:#fff;border:1px solid #d8d8e2;border-radius:999px;align-items:center;gap:.45rem;padding:.45rem .9rem;font-size:.85rem;font-weight:600;display:flex}.severity-chip:hover:not(:disabled){background:#f0f0f4}.severity-chip:disabled{opacity:.4;cursor:not-allowed}.severity-chip .chip-count{color:inherit;background:#80808c2e;border-radius:999px;padding:.05rem .5rem;font-size:.75rem}.severity-chip.is-active{color:#fff;border-color:#0000}.severity-chip.severity-critical.is-active{background:#7a1f14}.severity-chip.severity-high.is-active{background:#c0392b}.severity-chip.severity-moderate.is-active{background:#b1560c}.severity-chip.severity-low.is-active{background:#5b6472}.severity-chip.is-active .chip-count{color:#fff;background:#ffffff47}.issues-table-scroll{overflow-x:auto}.issues-cards{display:none}.issue-mobile-card{background:#131b2e;border:1px solid #464555;border-radius:8px;flex-direction:column;gap:8px;margin-bottom:12px;padding:17px;display:flex}.issue-mobile-card-badges{align-items:center;gap:8px;display:flex}.issue-mobile-card-message{color:#dae2fd;font-family:"IBM Plex Sans", var(--sans);margin:0;font-size:16px}.issue-mobile-card-location{text-align:left;color:#c3c0ff;width:100%;font-family:"IBM Plex Mono", var(--mono);overflow-wrap:anywhere;background:#2d344980;border-radius:4px;padding:4px 8px;font-size:13px;display:block}.issue-mobile-card-footer{justify-content:space-between;align-items:center;padding-top:4px;display:flex}.issues-table{border-collapse:collapse;color:#1a1a1f;width:100%;min-width:640px;font-size:.9rem}.issues-table th,.issues-table td{text-align:left;vertical-align:top;border-bottom:1px solid #e5e5eb;padding:.6rem .75rem}.issues-table tbody tr:last-child td{border-bottom:none}.issue-location{white-space:nowrap;font-family:SFMono-Regular,Consolas,monospace}.issue-author-cell{max-width:140px}.issue-author{text-overflow:ellipsis;white-space:nowrap;vertical-align:bottom;max-width:100%;display:inline-block;overflow:hidden}.issue-mobile-card-author{color:#8a86a8;margin:0;font-size:12px}.issue-mobile-card-author .issue-author{color:inherit;max-width:100%}.issue-location-link{color:#4f46e5;font:inherit;cursor:pointer;text-align:left;background:0 0;border:none;padding:0;font-family:inherit}.issue-location-link:hover:not(:disabled){background:0 0;text-decoration:underline}.badge{text-transform:uppercase;white-space:nowrap;border-radius:999px;padding:.15rem .55rem;font-size:.75rem;font-weight:600;display:inline-block}.badge-error{color:#c0392b;background:#fdecea}.badge-warning{color:#8a6d00;background:#fff6df}.badge-off{color:#55555c;background:#eaeaef}.badge-muted{color:#999;background:0 0;border:1px dashed #ccc}.badge-impact-high{color:#c0392b;background:#fdecea}.badge-impact-major{color:#b1560c;background:#fdeee1}.badge-impact-minor{color:#8a6d00;background:#fff6df}.badge-impact-low{color:#5b6472;background:#eef0f5}.badge-type-bug{color:#c0392b;background:#fdecea}.badge-type-vulnerability{color:#8e44ad;background:#f6ecfa}.badge-type-security-hotspot{color:#d35400;background:#fdf0e6}.badge-type-code-smell{color:#8a6d00;background:#fff6df}.badge-type-type-error{color:#3178c6;background:#eaf2fc}.badge-new{color:#1e824c;background:#e9f7ee;margin-left:.6rem}
.overview-tile-kicker{text-transform:uppercase;letter-spacing:.04em;color:#8a86a8;font-size:.72rem;font-weight:700;display:block}.metric-tile-row{flex-wrap:wrap;gap:16px;display:flex}.metric-tile{text-align:left;background:#171f33;border:1px solid #464555;border-radius:12px;flex-direction:column;flex:130px;align-items:flex-start;min-width:130px;padding:21px;transition:border-color .15s;display:flex;box-shadow:0 4px 10px #0000001a}.metric-tile:hover:not(:disabled){background:#171f33;border-color:#6b6b80}.metric-tile:disabled{opacity:.6;cursor:default}.metric-tile-icon{color:#c7c4d8;margin-bottom:16px;display:flex}.metric-tile-value{font-family:"Manrope", var(--sans);letter-spacing:-1.08px;color:#dae2fd;font-size:36px;font-weight:800;line-height:44px}.metric-tile-unit{letter-spacing:-.24px;margin-left:2px;font-size:24px;font-weight:600}.metric-tile-value-danger{color:#dc2626}.metric-tile-value-warn{color:#d97706}.metric-tile-value-good{color:#16a34a}.metric-tile-label{font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;text-transform:uppercase;color:#c7c4d8;margin-top:4px;font-size:14px;font-weight:600}.metric-tile-subtext{font-family:"IBM Plex Sans", var(--sans);color:#8a86a8;text-transform:none;letter-spacing:normal;margin-top:4px;font-size:12px}
.badge-severity-critical{color:#fff;background:#c0392b}.badge-severity-high{color:#c0392b;background:#fdecea}.badge-severity-moderate{color:#b1560c;background:#fdeee1}.badge-severity-low{color:#5b6472;background:#eef0f5}.badge-gate-passed{color:#1e824c;background:#e9f7ee}.badge-gate-failed{color:#c0392b;background:#fdecea}.badge-gate-passed-text{color:#1e824c;font-weight:600}.badge-gate-failed-text{color:#c0392b;font-weight:600}a.badge{text-decoration:none}.dependency-cards{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.dependency-card{background:#fff;border:1px solid #e5e5eb;border-radius:10px;padding:.9rem 1.15rem}.dependency-name{color:#1a1a1f;font-family:SFMono-Regular,Consolas,monospace;font-weight:600}.dependency-version{color:#666;font-family:SFMono-Regular,Consolas,monospace;font-size:.9rem}.dependency-clean{color:#999;margin:.6rem 0 0;font-size:.85rem}.dependency-vulns{border-top:1px solid #eee;flex-direction:column;gap:.5rem;margin:.7rem 0 0;padding:.7rem 0 0;list-style:none;display:flex}.dependency-vulns li{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.dependency-vuln-summary{color:#333;flex:260px;font-size:.88rem}.dependency-vuln-id{color:#4f46e5;white-space:nowrap;font-family:SFMono-Regular,Consolas,monospace;font-size:.78rem;text-decoration:none}.dependency-vuln-id:hover{text-decoration:underline}.dependency-usages{border-top:1px solid #eee;margin:.7rem 0 0;padding:.7rem 0 0}.dependency-usages-label{text-transform:uppercase;letter-spacing:.03em;color:#8a86a8;font-size:.78rem;font-weight:600}.dependency-usage-list{flex-direction:column;gap:.25rem;margin:.4rem 0 0;padding:0;list-style:none;display:flex}.dependencies-view-shell .breadcrumb-row{align-items:center;gap:.35rem;margin-bottom:1.25rem;display:flex}.dependencies-view-shell .breadcrumb-row .back-link{color:#c7c4d8;margin:0}.dependencies-view-shell .breadcrumb-row .back-link:hover:not(:disabled){color:#c3c0ff;background:#ffffff0f}.dependencies-view-shell .breadcrumb-separator{color:#8a86a8;font-size:.85rem}.dependencies-view-shell .breadcrumb-current{color:#dae2fd;font-size:.85rem;font-weight:500}.dependencies-view-shell .overview-tile-kicker{color:#c7c4d8}.dependencies-view-shell h1{color:#dae2fd;font-family:"Manrope", var(--sans)}.dependencies-view-shell .subtitle,.dependencies-view-shell .status-message{color:#c7c4d8}.dependencies-view-shell .btn-secondary{color:#dae2fd;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;background:#222a3d;border:1px solid #464555;border-radius:8px;align-items:center;gap:8px;padding:9px 17px;font-size:12px;font-weight:600;display:inline-flex}.dependencies-view-shell .btn-secondary:hover:not(:disabled){color:#dae2fd;background:#2d3449}.dependencies-view-shell .issues-panel{background:#131b2e;border:1px solid #222a3d;border-radius:12px;flex-direction:column;gap:16px;margin-bottom:1rem;padding:21px;display:flex;box-shadow:0 4px 20px -2px #0000001a}.dependencies-view-shell .filter-row{align-items:center;gap:16px;display:flex}.dependencies-view-shell .filter-row-label{width:80px;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;text-transform:uppercase;color:#c7c4d8;flex-shrink:0;font-size:12px;font-weight:600}.dependencies-view-shell .filters-divider{border-top:1px solid #222a3d}.dependencies-view-shell .type-chips,.dependencies-view-shell .severity-chips{flex:1;margin:0}.dependencies-view-shell .type-chip,.dependencies-view-shell .severity-chip{color:#c7c4d8;background:#171f33;border-color:#464555;font-weight:400}.dependencies-view-shell .type-chip .chip-count,.dependencies-view-shell .severity-chip .chip-count{color:#c7c4d8;background:#0b1326}.dependencies-view-shell .type-chip:disabled,.dependencies-view-shell .severity-chip:disabled{color:#c7c4d8;opacity:.6;background:#171f33;border-color:#464555}.dependencies-view-shell .type-chip.is-active,.dependencies-view-shell .type-chip.dep-filter-all.is-active,.dependencies-view-shell .type-chip.dep-filter-direct.is-active,.dependencies-view-shell .type-chip.dep-filter-vulnerable.is-active,.dependencies-view-shell .type-chip.dep-filter-malicious.is-active,.dependencies-view-shell .type-chip.dep-filter-license.is-active{color:#fff;background:#4f46e5;border-color:#c3c0ff;font-weight:400}.dependencies-view-shell .type-chip.is-active .chip-count{color:#fff;background:#0b13264d}.dependencies-view-shell .severity-dot{border-radius:999px;flex-shrink:0;width:8px;height:8px;display:inline-block}.dependencies-view-shell .severity-dot-critical{background:#991b1b}.dependencies-view-shell .severity-dot-high{background:#dc2626}.dependencies-view-shell .severity-dot-moderate{background:#ea580c}.dependencies-view-shell .severity-dot-low{background:#ca8a04}.dependencies-view-shell .severity-chip.is-active{color:#dae2fd;font-weight:400}.dependencies-view-shell .severity-chip.severity-critical.is-active{background:#171f33;border-color:#991b1b}.dependencies-view-shell .severity-chip.severity-high.is-active{background:#171f33;border-color:#dc2626}.dependencies-view-shell .severity-chip.severity-moderate.is-active{background:#171f33;border-color:#ea580c}.dependencies-view-shell .severity-chip.severity-low.is-active{background:#171f33;border-color:#ca8a04}.dependencies-view-shell .severity-chip.is-active .chip-count{color:#dae2fd;background:#2d3449}.dependencies-view-shell .dependency-cards{gap:1rem}.dependencies-view-shell .dependency-card{background:#131b2e;border:1px solid #222a3d;border-radius:12px;flex-direction:column;gap:16px;padding:20px;display:flex;box-shadow:0 4px 20px -2px #0000001a}.dependencies-view-shell .dependency-card-main{align-items:stretch;gap:24px;display:flex}.dependencies-view-shell .dependency-info{flex-direction:column;flex:0 0 280px;gap:12px;min-width:0;display:flex}.dependencies-view-shell .dependency-name-row{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.dependencies-view-shell .dependency-name{font-family:"Manrope", var(--sans);color:#dae2fd;font-size:18px;font-weight:600}.dependencies-view-shell .dependency-version{font-family:"IBM Plex Sans", var(--sans);color:#c7c4d8;font-size:14px}.dependencies-view-shell .dependency-tags{flex-wrap:wrap;gap:8px;display:flex}.dependencies-view-shell .dependency-tag{color:#c7c4d8;font-family:"IBM Plex Mono", var(--mono);background:#0b1326;border:1px solid #464555;border-radius:4px;padding:3px 9px;font-size:11px}.dependencies-view-shell .dependency-findings{border-left:1px solid #222a3d;flex-direction:column;flex:auto;gap:12px;min-width:0;padding-left:25px;display:flex}.dependencies-view-shell .dependency-findings-label{font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;text-transform:uppercase;color:#c7c4d8;font-size:12px;font-weight:600}.dependencies-view-shell .dependency-clean{color:#8a86a8}.dependencies-view-shell .dependency-vulns{border-top:none;gap:8px;margin:0;padding:0}.dependencies-view-shell .dependency-vulns li{background:#0b1326;border:1px solid #4645554d;border-radius:8px;flex-wrap:nowrap;align-items:flex-start;gap:12px;padding:13px}.dependencies-view-shell .dependency-vuln-body{flex-direction:column;flex:auto;gap:3px;min-width:0;display:flex}.dependencies-view-shell .dependency-vuln-summary{color:#dae2fd;flex:none;margin:0;font-size:14px}.dependencies-view-shell .dependency-vuln-id{color:#c3c0ff;font-family:"IBM Plex Sans", var(--sans);align-items:center;gap:4px;font-size:13px;display:inline-flex}.dependencies-view-shell .badge-severity-critical{color:#991b1b;background:#991b1b33;border:1px solid #991b1b4d}.dependencies-view-shell .badge-severity-high{color:#dc2626;background:#dc262633;border:1px solid #dc26264d}.dependencies-view-shell .badge-severity-moderate{color:#ea580c;background:#ea580c33;border:1px solid #ea580c4d}.dependencies-view-shell .badge-severity-low{color:#ca8a04;background:#ca8a0433;border:1px solid #ca8a044d}.dependencies-view-shell .dependency-usages{border-top-color:#46455580}.dependencies-view-shell .dependency-usages-label{color:#8a86a8}.dependencies-view-shell .issue-location-link{color:#c3c0ff;font-family:"IBM Plex Mono", var(--mono)}.status-cell-muted{color:#999}.hotspot-status-cell{flex-direction:column;gap:.2rem;display:flex}.hotspot-status-select{cursor:pointer;border:1px solid #0000;border-radius:6px;padding:.2rem .4rem;font-size:.78rem;font-weight:600}.hotspot-status-select:disabled{cursor:wait;opacity:.6}.hotspot-status-select.hotspot-status-to-review{color:#d35400;background:#fdf0e6;border-color:#f5d3ae}.hotspot-status-select.hotspot-status-safe{color:#1e824c;background:#e9f7ee;border-color:#b9e3c7}.hotspot-status-select.hotspot-status-fixed{color:#3178c6;background:#eaf2fc;border-color:#bcd9f7}.hotspot-status-error{color:#c0392b;font-size:.72rem}.duplication-groups{flex-direction:column;gap:.75rem;margin:0;padding:0;list-style:none;display:flex}.duplication-group{background:#fff;border:1px solid #e5e5eb;border-radius:10px;padding:1rem 1.15rem}.duplication-group-header{align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.duplication-group-count{color:#666;font-size:.82rem}.duplication-instances{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.duplication-instances li{align-items:center;font-family:SFMono-Regular,Consolas,monospace;font-size:.85rem;display:flex}.file-ranking-list{flex-direction:column;gap:.4rem;margin:0;padding:0;list-style:none;display:flex}.file-ranking-row{justify-content:space-between;align-items:baseline;gap:1rem;font-size:.85rem;display:flex}.file-ranking-row .file-ranking-link{flex:1}.file-ranking-dir{color:#1a1a1f;text-overflow:ellipsis;white-space:nowrap;font-family:SFMono-Regular,Consolas,monospace;font-weight:600;overflow:hidden}.file-ranking-link{color:#4f46e5;font:inherit;cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;min-width:0;padding:0;font-family:SFMono-Regular,Consolas,monospace;overflow:hidden}.file-ranking-link:hover:not(:disabled){background:0 0;text-decoration:underline}.file-ranking-count{color:#666;flex-shrink:0}.file-ranking-more{color:#999;margin:.6rem 0 0;font-size:.8rem}
.duplications-view-shell .breadcrumb-row{align-items:center;gap:.35rem;margin-bottom:1.25rem;display:flex}.duplications-view-shell .breadcrumb-row .back-link{color:#c7c4d8;margin:0}.duplications-view-shell .breadcrumb-row .back-link:hover:not(:disabled){color:#c3c0ff;background:#ffffff0f}.duplications-view-shell .breadcrumb-separator{color:#8a86a8;font-size:.85rem}.duplications-view-shell .breadcrumb-current{color:#dae2fd;font-size:.85rem;font-weight:500}.duplications-view-shell .duplications-heading-row{color:#c7c4d8;align-items:flex-start;gap:12px;display:flex}.duplications-view-shell .duplications-heading-row svg{flex-shrink:0;margin-top:.2em}.duplications-view-shell h1{color:#dae2fd;font-family:"Manrope", var(--sans)}.duplications-view-shell .subtitle,.duplications-view-shell .status-message{color:#c7c4d8}.duplications-view-shell .duplication-stats{gap:16px;margin:1rem 0;display:flex}.duplications-view-shell .duplication-stat-card{box-sizing:border-box;background:#171f33;border:1px solid #464555;border-radius:12px;flex-direction:column;flex:1;gap:4px;padding:21px;display:flex}.duplications-view-shell .duplication-stat-label{font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;color:#c7c4d8;font-size:12px;font-weight:600}.duplications-view-shell .duplication-stat-value{font-family:"Manrope", var(--sans);letter-spacing:-.03em;color:#dae2fd;font-size:36px;font-weight:800}.duplications-view-shell .duplication-stat-value.is-accent{color:#ea580c}.duplications-view-shell .duplication-ranked-lists{align-items:stretch;gap:16px;margin-bottom:1.5rem;display:flex}.duplications-view-shell .duplication-ranked-card{background:#131b2e;border:1px solid #464555;border-radius:12px;flex:1;min-width:0;overflow:hidden}.duplications-view-shell .duplication-ranked-card-header{background:#171f33;border-bottom:1px solid #464555;padding:16px 20px 17px}.duplications-view-shell .duplication-ranked-card-header h3{font-family:"Manrope", var(--sans);color:#dae2fd;margin:0;font-size:18px;font-weight:600}.duplications-view-shell .file-ranking-list{gap:4px;margin:0;padding:8px}.duplications-view-shell .file-ranking-row{border-radius:8px;gap:16px;padding:12px}.duplications-view-shell .file-ranking-link{color:#dae2fd;min-width:0;font-family:"IBM Plex Mono", var(--mono);align-items:center;gap:12px;font-size:13px;display:flex;overflow:visible}.duplications-view-shell .file-ranking-link svg{flex-shrink:0}.duplications-view-shell .file-ranking-link-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.duplications-view-shell .file-ranking-link:hover:not(:disabled){color:#c3c0ff;text-decoration:none}.duplications-view-shell .file-ranking-dir{color:#dae2fd;font-weight:400}.duplications-view-shell .file-ranking-stats{flex-direction:column;flex-shrink:0;align-items:flex-end;gap:2px;display:flex}.duplications-view-shell .file-ranking-count{color:#dae2fd;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;font-size:12px;font-weight:600}.duplications-view-shell .file-ranking-lines{color:#c7c4d8;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;font-size:12px;font-weight:600}.duplications-view-shell .file-ranking-bar{background:#0b1326;border-radius:999px;flex-shrink:0;width:64px;height:8px;display:block;overflow:hidden}.duplications-view-shell .file-ranking-bar-fill{border-radius:999px;height:100%;display:block}.duplications-view-shell .file-ranking-more{color:#8a86a8}.duplications-view-shell .duplication-blocks-heading{font-family:"Manrope", var(--sans);color:#dae2fd;border-bottom:1px solid #464555;margin:0 0 .75rem;padding-bottom:9px;font-size:18px;font-weight:600}.duplications-view-shell .duplication-groups{gap:16px}.duplications-view-shell .duplication-group{background:#171f33;border:1px solid #464555;border-radius:12px;padding:0;overflow:hidden}.duplications-view-shell .duplication-group-header{background:#2d3449;border-bottom:1px solid #464555;justify-content:space-between;margin:0;padding:12px 20px 13px}.duplications-view-shell .duplication-group-title{color:#dae2fd;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;align-items:center;gap:8px;font-size:12px;font-weight:700;display:flex}.duplications-view-shell .duplication-group-hash{color:#c7c4d8;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;font-size:12px;font-weight:600}.duplications-view-shell .duplication-instances{background:#131b2e;gap:8px;padding:20px}.duplications-view-shell .duplication-instances li{font-family:inherit;font-size:inherit;border-radius:4px;align-items:center;gap:12px;padding:9px}.duplications-view-shell .issue-location-link{color:#dae2fd;min-width:0;font-family:"IBM Plex Mono", var(--mono);flex:1;align-items:center;gap:8px;font-size:11px;display:flex}.duplications-view-shell .issue-location-link svg{flex-shrink:0}.duplications-view-shell .duplication-instance-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.duplications-view-shell .duplication-instance-lines{color:#ca8a04;font-family:"IBM Plex Mono", var(--mono);flex-shrink:0;margin-left:auto;font-size:11px}.duplications-view-shell .badge-new{color:#4ade80;background:#22c55e26;margin-left:0}.coverage-pct{text-align:right;flex-shrink:0;min-width:3.2rem;font-weight:700}.coverage-good{color:#1a7f4b}.coverage-warn{color:#b4770a}.coverage-bad{color:#d92d20}
.modal-backdrop{z-index:100;background:#0a0a1099;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-card{color:#1a1a1f;background:#fff;border-radius:14px;width:100%;max-width:460px;padding:1.75rem;box-shadow:0 20px 60px #00000059}.modal-card-wide{max-width:860px}.modal-card-wide .modal-header{gap:1rem}.modal-card-wide .modal-header h2{font-family:var(--mono,monospace);letter-spacing:0;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:1rem;font-weight:600;overflow:hidden}.modal-header{justify-content:space-between;align-items:center;margin-bottom:1.5rem;display:flex}.modal-header h2{color:#1a1a1f}.modal-close{color:#888;background:0 0;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;font-size:1.4rem;line-height:1;display:flex}.modal-close:hover:not(:disabled){color:#1a1a1f;background:#f0f0f4}.modal-card .project-form{background:0 0;border:none;max-width:none;margin:0;padding:0}
.code-view-meta{color:#55555c;margin:-.75rem 0 1.25rem;font-size:.85rem;line-height:1.6}.code-view-meta .badge{vertical-align:middle}.code-view{background:#fafafc;border:1px solid #e5e5eb;border-radius:10px;max-height:60vh;overflow:auto}.code-view-pre{font-family:var(--mono,"SFMono-Regular", Consolas, monospace);margin:0;padding:.5rem 0;font-size:.85rem;line-height:1.7}.code-line{display:flex}.code-line-number{text-align:right;color:#a0a0aa;-webkit-user-select:none;user-select:none;flex-shrink:0;width:3.25rem;padding-right:.85rem}.code-line-text{color:#1a1a1f;white-space:pre;padding-right:1.5rem}.code-line.is-target{background:#fff3cd}.code-line.is-target .code-line-number{color:#8a6d00;font-weight:700}.code-line.is-duplicated,.code-line.is-duplicated.is-target{box-shadow:inset 3px 0 #4f46e5}.code-line.is-uncovered{background:#fdeceb;box-shadow:inset 3px 0 #d92d20}.code-line.is-uncovered.is-target{background:#fff3cd;box-shadow:inset 3px 0 #d92d20}.duplication-legend{vertical-align:middle;border-left:3px solid #4f46e5;padding-left:.45rem}.code-view-modal-shell{color:#dae2fd;background:#222a3d;border:1px solid #464555;border-radius:12px;max-width:896px;padding:0;overflow:hidden;box-shadow:0 25px 50px -12px #00000040}.code-view-modal-shell .modal-header{background:#2d3449;border-bottom:1px solid #464555;margin:0;padding:16px 20px 17px}.code-view-modal-shell .modal-header h2{color:#dae2fd;min-width:0;font-family:"Manrope", var(--sans);align-items:center;gap:12px;font-size:18px;font-weight:600;display:flex}.code-view-modal-shell .modal-header h2 svg{color:#8a86a8;flex-shrink:0}.code-view-modal-title-text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.code-view-modal-shell .modal-close{color:#c7c4d8}.code-view-modal-shell .modal-close:hover:not(:disabled){color:#dae2fd;background:#ffffff0f}.code-view-modal-shell .code-view-banner{background:#131b2e;border-bottom:1px solid #464555;flex-wrap:wrap;align-items:center;gap:16px;padding:12px 20px 13px;display:flex}.code-view-modal-shell .code-view-pill{color:#dae2fd;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;background:#2d3449;border:1px solid #464555;border-radius:999px;flex-shrink:0;align-items:center;gap:8px;padding:7px 13px;font-size:12px;font-weight:600;display:inline-flex}.code-view-modal-shell .code-view-pill svg{color:#8a86a8;flex-shrink:0}.code-view-modal-shell .code-view-pill.is-uncovered svg,.code-view-modal-shell .badge-impact-high svg,.code-view-modal-shell .code-view-pill.badge-impact-high svg{color:#dc2626}.code-view-modal-shell .badge-impact-high{color:#dc2626;background:#dc26261a;border-color:#dc262633}.code-view-modal-shell .badge-impact-major{color:#d97706;background:#d977061a;border-color:#d9770633}.code-view-modal-shell .badge-impact-major svg{color:#d97706}.code-view-modal-shell .badge-impact-minor{color:#ca8a04;background:#ca8a041a;border-color:#ca8a0433}.code-view-modal-shell .badge-impact-minor svg{color:#ca8a04}.code-view-modal-shell .badge-impact-low{color:#8b92a8;background:#8b92a81a;border-color:#8b92a833}.code-view-modal-shell .badge-impact-low svg{color:#8b92a8}.code-view-modal-shell .code-view-banner-divider{background:#464555;flex-shrink:0;width:1px;height:16px}.code-view-modal-shell .code-view-banner-info{color:#c7c4d8;min-width:0;font-family:"IBM Plex Sans", var(--sans);flex-direction:column;gap:2px;font-size:12px;display:flex}.code-view-modal-shell .code-view-banner-info p{margin:0}.code-view-modal-shell .code-view-banner-info strong{color:#c7c4d8;font-weight:600}.code-view-modal-shell .code-view-banner-info code{color:#c3c0ff;font-family:"IBM Plex Mono", var(--mono);font-size:11px}.code-view-modal-shell .code-view-banner-info p:last-child{color:#dae2fd;font-size:14px}.code-view-modal-shell .code-view-banner-position{color:#c7c4d8;font-family:"IBM Plex Mono", var(--mono);flex-shrink:0;margin-left:auto;font-size:11px}.code-view-modal-shell .badge-muted{color:#8a86a8;background:0 0;border:1px solid #46455580}.code-view-modal-shell .duplication-legend{border-left-color:#a5b4fc}.code-view-modal-shell .status-message{color:#c7c4d8;margin:1rem 20px}.code-view-modal-shell .status-message.error{color:#f87171}.code-view-modal-shell .code-view{background:#0b1326;border:none;border-radius:0;max-height:60vh}.code-view-modal-shell .code-view-pre{padding:1rem 0;font-size:13px;line-height:20px}.code-view-modal-shell .code-line-number{color:#464555;width:48px;padding-right:16px}.code-view-modal-shell .code-line-text{color:#dae2fd;padding-right:20px}.code-view-modal-shell .code-line.is-target{background:#dc26261a;box-shadow:inset 4px 0 #dc2626}.code-view-modal-shell .code-line.is-target .code-line-number{color:#dc2626;font-weight:600}.code-view-modal-shell .code-line.is-duplicated{box-shadow:inset 4px 0 #4f46e5}.code-view-modal-shell .code-line.is-duplicated.is-target{background:#dc26261a;box-shadow:inset 4px 0 #dc2626}.code-view-modal-shell .code-line.is-uncovered{background:#ea580c1a;box-shadow:inset 4px 0 #ea580c}.code-view-modal-shell .code-line.is-uncovered.is-target{background:#dc26261a;box-shadow:inset 4px 0 #dc2626}.code-view-modal-shell .tok-keyword{color:#c026d3}.code-view-modal-shell .tok-string{color:#16a34a}.code-view-modal-shell .tok-comment{color:#8a86a8;font-style:italic}.code-view-modal-shell .tok-fn{color:#3178c6}
.documentation-modal-shell{color:#dae2fd;background:#1c2338;border:1px solid #464555;max-width:860px}.documentation-modal-shell .modal-header h2{color:#dae2fd}.documentation-modal-shell .modal-close{color:#c7c4d8}.documentation-modal-shell .modal-close:hover:not(:disabled){color:#dae2fd;background:#ffffff0f}.documentation-modal-body{max-height:70vh;padding-right:4px;line-height:1.6;overflow:auto}.documentation-modal-body h1,.documentation-modal-body h2,.documentation-modal-body h3{font-family:"Manrope", var(--sans);color:#f5f4ff;margin:1.4em 0 .6em}.documentation-modal-body h1:first-child,.documentation-modal-body h2:first-child{margin-top:0}.documentation-modal-body p,.documentation-modal-body ul,.documentation-modal-body ol{margin:0 0 1em}.documentation-modal-body ul,.documentation-modal-body ol{padding-left:1.4em}.documentation-modal-body code{font-family:var(--mono,monospace);background:#2d3449;border-radius:4px;padding:.1em .35em;font-size:.9em}.documentation-modal-body pre{background:#131b2e;border:1px solid #464555;border-radius:8px;margin:0 0 1em;padding:12px 16px;overflow:auto}.documentation-modal-body pre code{background:0 0;padding:0}.documentation-modal-body table{border-collapse:collapse;width:100%;margin:0 0 1em;display:block;overflow-x:auto}.documentation-modal-body th,.documentation-modal-body td{text-align:left;border:1px solid #464555;padding:6px 10px}.documentation-modal-body th{background:#2d3449}.documentation-modal-body a{color:#a5b4fc}.documentation-modal-body hr{border:none;border-top:1px solid #464555;margin:1.5em 0}
.quality-gates-shell{color:#dae2fd;background:#0b1326;justify-content:center;min-height:calc(100vh - 66px);display:flex}.quality-gates-page{flex-direction:column;gap:1.5rem;width:100%;max-width:1440px;padding:2rem;display:flex}.quality-gates-shell .back-link{color:#8a86a8}.quality-gates-shell .back-link:hover:not(:disabled){color:#c3c0ff;background:#ffffff0f}.quality-gates-shell h1{color:#dae2fd;font-family:"Manrope", var(--sans)}.quality-gates-shell .subtitle,.quality-gates-shell .status-message{color:#c7c4d8}.quality-gates-shell .status-message.error{color:#f87171}.quality-gates-header-card{background:#131b2e;border:1px solid #4645554d;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;padding:21px;display:flex;box-shadow:0 4px 12px #0003}.quality-gates-new-btn{color:#dad7ff;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;background:#4f46e5;border:1px solid #4f46e533;border-radius:4px;flex-shrink:0;align-items:center;gap:8px;padding:13px 25px;font-size:12px;font-weight:600;display:inline-flex;box-shadow:0 2px 5px #4f46e54d}.quality-gates-search{align-items:center;width:320px;max-width:100%;display:flex;position:relative}.quality-gates-search svg{color:#c7c4d8;pointer-events:none;position:absolute;left:13px}.quality-gates-search input{color:#dae2fd;width:100%;font-family:"IBM Plex Sans", var(--sans);background:#171f33;border:1px solid #464555;border-radius:6px;padding:10px 17px 10px 41px;font-size:14px}.quality-gates-search input::placeholder{color:#6b7280}.quality-gates-search input:focus{border-color:#4f46e5;outline:none}.quality-gates-condition-dots{align-items:center;gap:4px;margin-top:4px;display:flex}.quality-gates-condition-dots span{border-radius:999px;width:6px;height:6px;display:inline-block}.quality-gates-project-pill{color:#c7c4d8;font-family:"IBM Plex Mono", var(--mono);background:#171f33;border:1px solid #46455580;border-radius:4px;padding:5px 13px;font-size:13px;display:inline-flex}.quality-gates-project-pill.is-empty{opacity:.7;background:0 0;border:2px dashed #464555}.quality-gates-row-actions{opacity:0;justify-content:flex-end;gap:8px;transition:opacity .15s;display:inline-flex}.projects-table tbody tr:hover .quality-gates-row-actions{opacity:1}.quality-gates-action-btn{color:#c7c4d8;font-family:"IBM Plex Sans", var(--sans);background:0 0;border:none;border-radius:4px;padding:4px 8px;font-size:12px;font-weight:600}.quality-gates-action-btn:hover:not(:disabled){color:#dae2fd;background:#ffffff0f}.quality-gates-action-btn.is-danger:hover:not(:disabled){color:#f87171;background:#dc26261a}.quality-gates-footer{color:#c7c4d8;font-family:"IBM Plex Sans", var(--sans);background:#171f334d;border-top:1px solid #4645554d;padding:13px 20px 12px;font-size:14px}
.coverage-view-shell .breadcrumb-row{align-items:center;gap:.35rem;margin-bottom:1.25rem;display:flex}.coverage-view-shell .breadcrumb-row .back-link{color:#c7c4d8;margin:0}.coverage-view-shell .breadcrumb-row .back-link:hover:not(:disabled){color:#c3c0ff;background:#ffffff0f}.coverage-view-shell .breadcrumb-separator{color:#8a86a8;font-size:.85rem}.coverage-view-shell .breadcrumb-current{color:#dae2fd;font-size:.85rem;font-weight:500}.coverage-view-shell h1{color:#dae2fd;font-family:"Manrope", var(--sans)}.coverage-view-shell .subtitle,.coverage-view-shell .status-message{color:#c7c4d8}.coverage-summary-tile{background:#222a3d;border:1px solid #464555;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:1.5rem;margin:1rem 0;padding:21px;display:flex;box-shadow:0 10px 30px -10px #00000080}.coverage-summary-main{flex-direction:column;gap:8px;display:flex}.coverage-summary-main h1{margin:0}.coverage-summary-pct{align-items:baseline;gap:16px;margin:0;display:flex}.coverage-summary-pct-value{font-family:"Manrope", var(--sans);letter-spacing:-.03em;color:#c3c0ff;font-size:36px;font-weight:800}.coverage-summary-pct-label{color:#c7c4d8;font-size:18px}.coverage-summary-lines{color:#c7c4d8;margin:0;font-size:14px}.coverage-summary-stats{align-items:stretch;gap:16px;display:flex}.coverage-summary-stat{background:#171f33;border:1px solid #46455580;border-radius:4px;flex-direction:column;align-items:flex-end;gap:4px;padding:13px;display:flex}.coverage-summary-stat-label{color:#c7c4d8;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;text-transform:uppercase;white-space:nowrap;font-size:12px;font-weight:600}.coverage-summary-stat-value{font-family:"Manrope", var(--sans);letter-spacing:-.01em;color:#dae2fd;font-size:24px;font-weight:600}.coverage-summary-stat-value.is-danger{color:#dc2626}.coverage-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:1rem;display:flex}.coverage-search{align-items:center;width:384px;max-width:100%;display:flex;position:relative}.coverage-search svg{color:#c7c4d8;pointer-events:none;position:absolute;left:13px}.coverage-search input{color:#dae2fd;width:100%;font-family:"IBM Plex Sans", var(--sans);background:#131b2e;border:1px solid #464555;border-radius:6px;padding:10px 17px 10px 41px;font-size:14px}.coverage-search input::placeholder{color:#c7c4d880}.coverage-search input:focus{border-color:#4f46e5;outline:none}.coverage-tier-filters{flex-wrap:wrap;gap:8px;display:flex}.coverage-tier-filter{color:#c3c0ff;font-family:"IBM Plex Sans", var(--sans);background:#171f33;border:1px solid #464555;border-radius:4px;align-items:center;gap:8px;padding:7px 13px;font-size:14px;display:inline-flex}.coverage-tier-filter:disabled{opacity:.5;cursor:not-allowed}.coverage-tier-filter .chip-count{color:#c7c4d8;background:#2d3449;border-radius:4px;padding:.05rem .5rem;font-size:.75rem}.coverage-tier-filter.is-active{color:#1d00a5;background:#c3c0ff;border-color:#c3c0ff}.coverage-tier-filter.is-active .chip-count{color:#1d00a5;background:#222a3d33}.coverage-tier-dot{border-radius:999px;flex-shrink:0;width:8px;height:8px;display:inline-block}.coverage-table-card{background:#131b2e;border:1px solid #464555;border-radius:8px;overflow:hidden;box-shadow:0 1px 2px #0003}.coverage-table-header{background:#171f33;border-bottom:1px solid #464555;align-items:center;gap:16px;padding:16px;display:flex}.coverage-table-header span{color:#c7c4d8;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;text-transform:uppercase;font-size:12px;font-weight:600}.coverage-col-file{flex:0 0 220px;min-width:0}.coverage-col-bar{flex:1}.coverage-col-num{text-align:right;flex:0 0 100px}.coverage-table-body{margin:0;padding:0;list-style:none}.coverage-table-row{border-top:1px solid #46455580;align-items:center;gap:16px;padding:16px;display:flex}.coverage-table-body li:first-child{border-top:none}.coverage-table-row.is-critical{background:#dc26260d;border-left:2px solid #dc262680;padding-left:14px}.coverage-file-link{color:#dae2fd;min-width:0;font-family:"IBM Plex Mono", var(--mono);cursor:pointer;background:0 0;border:none;flex:0 0 220px;align-items:center;gap:12px;padding:0;font-size:13px;display:flex}.coverage-file-link:hover:not(:disabled){color:#c3c0ff}.coverage-file-link svg{color:#8a86a8;flex-shrink:0}.coverage-file-path{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.coverage-bar-cell{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.coverage-view-shell .coverage-pct{text-align:right;width:48px;font-family:"IBM Plex Mono", var(--mono);color:#dae2fd;flex-shrink:0;font-size:13px}.coverage-bar-track{background:#2d3449;border-radius:999px;flex:1;min-width:0;height:6px;overflow:hidden}.coverage-bar-fill{border-radius:999px;height:100%;display:block}.coverage-view-shell .coverage-good{color:#16a34a}.coverage-view-shell .coverage-warn{color:#ca8a04}.coverage-view-shell .coverage-bad{color:#dc2626;font-weight:600}.coverage-bar-fill.coverage-good{background:#16a34a}.coverage-bar-fill.coverage-warn{background:#ca8a04}.coverage-bar-fill.coverage-bad{background:#dc2626}.coverage-view-shell .coverage-col-num.pt-mono{font-size:13px}.coverage-load-more{justify-content:center;margin-top:1rem;display:flex}.coverage-load-more button{color:#c3c0ff;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;background:0 0;border:1px solid #0000;border-radius:4px;align-items:center;gap:8px;padding:9px 17px;font-size:12px;font-weight:600;display:inline-flex}.coverage-load-more button:hover:not(:disabled){background:#ffffff0f}
@media (max-width:768px){.project-detail-layout{flex-direction:column}.side-nav{display:none}.mobile-bottom-nav{z-index:10;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#171f33d9;border-top:1px solid #464555;display:flex;position:fixed;bottom:0;left:0;right:0}.project-detail-with-sidebar{min-height:auto;padding:1.25rem 1rem calc(4rem + 56px)}.project-header-card-actions{width:100%;overflow-x:auto}.project-header-card-subtitle{overflow-wrap:anywhere}.add-project-analysis-grid{grid-template-columns:1fr}.quality-gates-header-card{flex-direction:column;align-items:flex-start}.quality-gates-new-btn{justify-content:center;width:100%}.duplications-view-shell .duplication-stats,.duplications-view-shell .duplication-ranked-lists{flex-direction:column}.mobile-scope-tabs{background:#2d3449;border-radius:8px;gap:4px;margin-bottom:1.5rem;padding:4px;display:flex}.code-section[data-mobile-active=false],.dependencies-section-card[data-mobile-active=false]{display:none}.metric-tile-row{flex-direction:column}.metric-tile{flex:auto;width:100%}.projects .projects-table-card{display:none}.projects-mobile-cards{padding-bottom:6rem;display:block}.projects-empty-state{margin-bottom:6rem}.projects-mobile-fab{z-index:10;color:#dad7ff;background:#4f46e5;border:1px solid #e2dfff33;border-radius:12px;justify-content:center;align-items:center;width:56px;height:56px;display:flex;position:fixed;bottom:24px;right:24px;box-shadow:0 8px 16px #4f46e566}.top-nav-inner{padding:16px}.top-nav-hamburger{display:flex}.top-nav-left{gap:12px}.top-nav-links,.top-nav-search,.top-nav-settings-icon{display:none}.issues-view-shell{padding-bottom:56px}.issues-view-shell .issues-view{padding:1.5rem 1rem 2rem}.issues-table-scroll{display:none}.issues-cards{display:block}.dependencies-view-shell .dependency-card-main{flex-direction:column}.dependencies-view-shell .dependency-info{flex:auto;width:100%}.dependencies-view-shell .filter-row{flex-wrap:wrap}.dependencies-view-shell .dependency-usage-list .issue-location-link{white-space:normal;overflow-wrap:anywhere;width:100%;display:block}.modal-backdrop:has(.modal-card-wide){padding:.5rem}.modal-card-wide{max-width:100%}.code-view-modal-shell .code-view{max-height:70vh}.coverage-view-shell .coverage-summary-tile{flex-direction:column;align-items:stretch}.coverage-view-shell .coverage-summary-stats{width:100%}.coverage-view-shell .coverage-summary-stat{flex:1 1 0;align-items:flex-start}.coverage-view-shell .coverage-controls{flex-direction:column;align-items:stretch}.coverage-view-shell .coverage-search{width:100%}.coverage-view-shell .coverage-tier-filters{flex-wrap:nowrap;padding-bottom:2px;overflow-x:auto}.coverage-view-shell .coverage-tier-filter{flex-shrink:0}.coverage-view-shell .coverage-table-header{display:none}.coverage-view-shell .coverage-table-row{flex-wrap:wrap}.coverage-view-shell .coverage-file-link{flex:100%}.coverage-view-shell .coverage-bar-cell{flex:100%;order:3}.coverage-view-shell .coverage-col-num{text-align:left;flex:none}.duplications-view-shell .duplication-group-header{flex-wrap:wrap;row-gap:4px}.quality-gates-shell .projects-table-card-header{flex-direction:column;align-items:stretch;gap:12px}.quality-gates-shell .quality-gates-search{width:100%}.modal-backdrop:has(.add-project-modal-shell){padding:.5rem}.add-project-modal-shell .project-form-actions{flex-direction:column-reverse}.add-project-modal-shell .project-form-actions button{justify-content:center;width:100%}}
.global-issues-shell{background:#0b1326;min-height:calc(100vh - 66px);padding:24px 32px}.global-issues-layout{align-items:flex-start;gap:16px;max-width:1440px;margin:0 auto;display:flex}.global-issues-filters{background:#222a3dcc;border:1px solid #4645554d;border-radius:8px;flex-direction:column;flex:0 0 256px;gap:16px;padding:17px;display:flex}.global-issues-filters h2{font-family:"Manrope", var(--sans);color:#dae2fd;margin:0;font-size:18px;font-weight:600}.global-issues-filter-group h3{font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;text-transform:uppercase;color:#c7c4d8;margin:0 0 8px;font-size:12px;font-weight:600}.global-issues-project-search{box-sizing:border-box;color:#dae2fd;width:100%;font-family:"IBM Plex Sans", var(--sans);background:#171f33;border:1px solid #46455580;border-radius:4px;margin-bottom:8px;padding:6px 9px;font-size:14px}.global-issues-project-list{flex-direction:column;gap:8px;max-height:160px;display:flex;overflow-y:auto}.global-issues-project-checkbox{color:#dae2fd;font-family:"IBM Plex Sans", var(--sans);align-items:center;gap:8px;font-size:14px;display:flex}.global-issues-type-chips,.global-issues-severity-chips{flex-direction:column;gap:8px;display:flex}.global-issues-severity-chips{flex-flow:wrap}.global-issues-type-chip{color:#dae2fd;font-family:"IBM Plex Sans", var(--sans);background:#171f33;border:1px solid #46455580;border-radius:8px;justify-content:space-between;align-items:center;padding:7px 13px;font-size:14px;display:flex}.global-issues-type-chip .chip-count{font-family:"IBM Plex Mono", var(--mono);color:#c7c4d8;font-size:11px}.global-issues-type-chip.is-active{color:#fff;background:#4f46e5;border-color:#4f46e5}.global-issues-type-chip:disabled{opacity:.5}.global-issues-main{flex-direction:column;flex:1;gap:24px;min-width:0;display:flex}.global-issues-summary{gap:16px;display:flex}.global-issues-summary-card{background:#222a3dcc;border:1px solid #4645554d;border-radius:8px;flex:1;padding:25px}.global-issues-summary-card h3{font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;color:#c7c4d8;margin:0 0 4px;font-size:12px;font-weight:600}.global-issues-summary-value{font-family:"Manrope", var(--sans);letter-spacing:-1.08px;color:#dae2fd;font-size:36px;font-weight:800}.global-issues-summary-value.is-vulnerability{color:#7c3aed}.global-issues-summary-value.is-hotspot{color:#c026d3}.global-issues-list-card{background:#222a3dcc;border:1px solid #4645554d;border-radius:8px;overflow:hidden}.global-issues-list-header{background:#171f3380;border-bottom:1px solid #4645554d;justify-content:space-between;align-items:center;padding:16px;display:flex}.global-issues-list-header h2{font-family:"Manrope", var(--sans);color:#dae2fd;margin:0;font-size:18px;font-weight:600}.global-issues-list{margin:0;padding:0;list-style:none}.global-issue-item{border-bottom:1px solid #46455533;flex-direction:column;gap:4px;padding:16px;display:flex}.global-issue-item:last-child{border-bottom:none}.global-issue-item-badges{align-items:center;gap:8px;display:flex}.global-issue-item-message{font-family:"Manrope", var(--sans);color:#dae2fd;margin:0;font-size:18px;font-weight:600}.global-issue-item-footer{justify-content:space-between;align-items:center;padding-top:8px;display:flex}.global-issue-item-project{font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;color:#b9c8de;font-size:12px;font-weight:600}.global-issue-item-actions{align-items:center;gap:16px;display:flex}.global-issue-item-view-project{color:#c3c0ff;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;background:0 0;font-size:12px;font-weight:600}@media (max-width:768px){.global-issues-shell{padding:16px}.global-issues-layout{flex-direction:column}.global-issues-filters{flex:auto;width:100%}.global-issues-main{width:100%}.global-issues-summary{flex-direction:column}}
.portfolio-shell{background:#0b1326;min-height:calc(100vh - 66px);padding:24px 32px}.portfolio-layout{flex-direction:column;gap:24px;max-width:1440px;margin:0 auto;display:flex}.portfolio-layout h1{font-family:"Manrope", var(--sans);color:#dae2fd;margin:0 0 4px;font-size:30px;font-weight:800}.portfolio-subtitle{font-family:"IBM Plex Sans", var(--sans);color:#c7c4d8;margin:-20px 0 0;font-size:14px}.portfolio-summary{flex-wrap:wrap;gap:16px;display:flex}.portfolio-summary-card{background:#222a3dcc;border:1px solid #4645554d;border-radius:8px;flex:200px;padding:25px}.portfolio-summary-card h3{font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;color:#c7c4d8;text-transform:uppercase;margin:0 0 4px;font-size:12px;font-weight:600}.portfolio-summary-value{font-family:"Manrope", var(--sans);letter-spacing:-1.08px;color:#dae2fd;font-size:36px;font-weight:800}.portfolio-summary-value.is-vulnerable{color:#dc2626}.portfolio-summary-sub{font-family:"IBM Plex Sans", var(--sans);color:#8a86a8;margin:4px 0 0;font-size:12px}.portfolio-table-card{background:#222a3dcc;border:1px solid #4645554d;border-radius:8px;overflow:hidden}.portfolio-table-header{background:#171f3380;border-bottom:1px solid #4645554d;justify-content:space-between;align-items:center;padding:16px;display:flex}.portfolio-table-header h2{font-family:"Manrope", var(--sans);color:#dae2fd;margin:0;font-size:18px;font-weight:600}@media (max-width:768px){.portfolio-shell{padding:16px}.portfolio-summary{flex-direction:column}}
.measures-view{max-width:1200px;margin:0 auto;padding:2.5rem 1.5rem 4rem}.measures-view-header{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:24px;display:flex}.measures-range-selector{background:#171f33;border:1px solid #464555;border-radius:9999px;gap:4px;padding:4px;display:flex}.measures-range-selector button{color:#c7c4d8;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;background:0 0;border-radius:9999px;padding:6px 13px;font-size:12px;font-weight:600}.measures-range-selector button.is-active{color:#dad7ff;background:#4f46e5}.measures-layout{align-items:stretch;gap:16px;margin-bottom:24px;display:flex}.measures-metric-switcher{flex-direction:column;flex:0 0 220px;gap:12px;display:flex}.measures-metric-card{text-align:left;background:#131b2e;border:1px solid #464555;border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;padding:16px;display:flex}.measures-metric-card.is-active{background:#4f46e526;border-color:#4f46e5}.measures-metric-label{font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;color:#c7c4d8;font-size:12px;font-weight:600}.measures-metric-value{font-family:"Manrope", var(--sans);letter-spacing:-1.08px;color:#dae2fd;font-size:36px;font-weight:800;line-height:44px}.measures-chart-card{background:#131b2e;border:1px solid #464555;border-radius:8px;flex:1;min-width:0;padding:25px}.measures-chart-card h2{font-family:"Manrope", var(--sans);color:#dae2fd;margin:0;font-size:18px;font-weight:600}.measures-current-value{align-items:baseline;gap:12px;margin:12px 0;display:flex}.measures-current-value>span:first-child{font-family:"Manrope", var(--sans);font-size:36px;font-weight:800}.measures-current-value .is-good{color:#16a34a}.measures-current-value .is-bad{color:#dc2626}.measures-current-value .is-neutral{color:#8a86a8}.measures-current-value span:not(:first-child){font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;font-size:12px;font-weight:600}.measures-chart-svg{width:100%;height:200px}.measures-chart-axis-label{fill:#8a86a8;font-size:10px;font-family:"IBM Plex Mono", var(--mono)}.measures-recent-scans{background:#131b2e;border:1px solid #464555;border-radius:8px;padding:25px}.measures-recent-scans h2{font-family:"Manrope", var(--sans);color:#dae2fd;margin:0 0 16px;font-size:18px;font-weight:600}.measures-table-scroll{overflow-x:auto}.measures-table{border-collapse:collapse;color:#dae2fd;width:100%}.measures-table th,.measures-table td{text-align:left;border-bottom:1px solid #46455580;padding:.6rem .75rem;font-size:.9rem}.measures-table th{color:#c7c4d8;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.05em;text-transform:uppercase;font-size:.7rem;font-weight:600}@media (max-width:768px){.measures-view{padding:1.5rem 1rem 2rem}.measures-view-header{flex-direction:column;align-items:flex-start}.measures-layout{flex-direction:column}.measures-metric-switcher{flex-flow:wrap;flex:auto;width:100%}.measures-metric-card{flex:45%}}
.settings-view h1{color:#dae2fd;font-family:"Manrope", var(--sans)}.settings-card{background:#131b2e;border:1px solid #464555;border-radius:8px;margin-top:1.5rem;padding:25px}.settings-card h2{font-family:"Manrope", var(--sans);color:#dae2fd;margin:0 0 8px;font-size:18px;font-weight:600}.settings-card .subtitle{color:#c7c4d8}.settings-status{color:#c7c4d8;font-family:"IBM Plex Sans", var(--sans);margin:0 0 12px;font-size:14px}.settings-status-ok{color:#16a34a}
.reports-view{color:#dae2fd;background:#0b1326;min-height:calc(100vh - 66px);padding:2rem}.reports-view-header{background:#131b2e;border:1px solid #4645554d;border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1.5rem;padding:21px;display:flex;box-shadow:0 4px 12px #0003}.reports-view-header h1{color:#dae2fd;font-family:"Manrope", var(--sans);margin:0 0 4px}.reports-view-header .subtitle{color:#c7c4d8;margin:0}.reports-table-card{background:#131b2e;border:1px solid #4645554d;border-radius:8px;overflow:hidden}.reports-table-card-header{background:#2d344980;justify-content:space-between;align-items:center;padding:16px 24px 17px;display:flex}.reports-table-card-header h2{font-family:"Manrope", var(--sans);color:#dae2fd;margin:0;font-size:18px;font-weight:600}.reports-table-card-header input{color:#dae2fd;font-family:"IBM Plex Sans", var(--sans);background:#171f33;border:1px solid #46455580;border-radius:4px;width:240px;max-width:100%;padding:7px 13px;font-size:13px}.reports-table-empty{color:#c7c4d8;padding:24px}.reports-table-scroll{overflow-x:auto}.reports-table{border-collapse:collapse;color:#dae2fd;width:100%}.reports-table th,.reports-table td{text-align:left;border-bottom:1px solid #46455580;padding:.75rem 1.5rem;font-size:.9rem}.reports-table th{color:#c7c4d8;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.05em;text-transform:uppercase;font-size:.7rem;font-weight:600}.reports-table tbody tr:last-child td{border-bottom:none}.reports-project-link{color:#c3c0ff;font-family:"IBM Plex Sans", var(--sans);background:0 0;font-weight:600}.reports-format-pill{font-family:"IBM Plex Mono", var(--mono);border-radius:4px;padding:3px 9px;font-size:11px;font-weight:600;display:inline-block}.reports-format-pdf{color:#f87171;background:#dc262626}.reports-format-csv{color:#16a34a;background:#16a34a26}.reports-download-link{color:#c3c0ff;font-family:"IBM Plex Sans", var(--sans);font-size:12px;font-weight:600}@media (max-width:768px){.reports-view{padding:1rem}.reports-view-header{flex-direction:column;align-items:flex-start}.reports-table-card-header{flex-direction:column;align-items:flex-start;gap:8px}.reports-table-card-header input{width:100%}}
.docs-page{background:#0b1326;min-height:calc(100vh - 66px);padding:24px 32px 48px}.docs-page-header{max-width:1440px;margin:0 auto 24px}.docs-breadcrumb{color:#c7c4d8;align-items:center;gap:.4rem;margin-bottom:12px;font-size:.85rem;display:flex}.docs-breadcrumb-sep{color:#464555}.docs-breadcrumb-current{color:#dae2fd;font-weight:500}.docs-page-header h1{font-family:"Manrope", var(--sans);color:#dae2fd;margin:0 0 6px;font-size:28px;font-weight:700}.docs-page-header .subtitle{color:#c7c4d8;margin:0 0 16px}.docs-page-actions{gap:12px;display:flex}.docs-page-actions button{color:#dae2fd;font-family:"IBM Plex Sans", var(--sans);background:0 0;border:1px solid #464555;border-radius:8px;padding:8px 16px;font-size:13px;font-weight:600}.docs-page-actions button:hover:not(:disabled){background:#ffffff0f}.docs-page-actions button:disabled{opacity:.5;cursor:not-allowed}.docs-page-body{align-items:flex-start;gap:24px;max-width:1440px;margin:0 auto;display:flex}.docs-sidebar{flex-direction:column;flex:0 0 240px;gap:20px;max-height:calc(100vh - 96px);display:flex;position:sticky;top:24px;overflow-y:auto}.docs-sidebar-group{flex-direction:column;gap:2px;display:flex}.docs-sidebar-group-label{color:#8a86a8;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;text-transform:uppercase;justify-content:space-between;align-items:center;padding:0 12px 6px;font-size:11px;font-weight:600;display:flex}.docs-sidebar-group-count{color:#8a86a8;background:#171f33;border-radius:4px;padding:.05rem .4rem;font-size:10px}.docs-sidebar-link{text-align:left;color:#c7c4d8;width:100%;font-family:"IBM Plex Sans", var(--sans);background:0 0;border:none;border-radius:8px;padding:8px 12px;font-size:13px}.docs-sidebar-link:hover{background:#ffffff0f}.docs-sidebar-link.is-active{color:#dad7ff;background:#4f46e5;font-weight:600}.docs-content{color:#dae2fd;background:#131b2e;border:1px solid #464555;border-radius:12px;flex:1;min-width:0;max-height:calc(100vh - 96px);padding:28px 32px;overflow-y:auto}.docs-content .documentation-modal-body{max-height:none;overflow:visible}.docs-section-eyebrow{color:#c3c0ff;font-family:"IBM Plex Mono", var(--mono);letter-spacing:.6px;margin-bottom:8px;font-size:11px;font-weight:600}.docs-section-title{font-family:"Manrope", var(--sans);color:#f5f4ff;margin:0 0 20px;font-size:28px;font-weight:700}.docs-toc{flex-direction:column;flex:0 0 220px;gap:2px;max-height:calc(100vh - 96px);display:flex;position:sticky;top:24px;overflow-y:auto}.docs-toc-label{color:#8a86a8;font-family:"IBM Plex Sans", var(--sans);letter-spacing:.6px;text-transform:uppercase;padding:0 12px 8px;font-size:11px;font-weight:600}.docs-toc-link{text-align:left;color:#c7c4d8;width:100%;font-family:"IBM Plex Sans", var(--sans);background:0 0;border:none;border-left:2px solid #0000;padding:6px 12px;font-size:12.5px}.docs-toc-link:hover{color:#dae2fd;border-left-color:#464555}.docs-toc-empty{color:#8a86a8;padding:0 12px;font-size:12.5px}.docs-toc-footer{border-top:1px solid #464555;margin-top:16px;padding-top:16px}.docs-toc-footer .docs-toc-link{color:#c3c0ff;font-weight:600}@media (max-width:768px){.docs-page{padding:16px}.docs-page-body{flex-direction:column;align-items:stretch}.docs-sidebar{flex-flow:row;gap:12px;width:100%;max-height:none;position:static;overflow-x:auto}.docs-sidebar-group{flex:none}.docs-content{max-height:none;padding:20px}.docs-toc{display:none}}
@media (min-width:600px) and (max-width:768px){.metric-tile-row{flex-direction:row}.metric-tile{width:auto}.global-issues-summary{flex-flow:wrap}.global-issues-summary-card{flex:200px}}
