.app-shell{align-items:stretch;min-height:100vh;display:flex}.app-nav-drawer{--nav-width:15rem;flex:0 0 var(--nav-width);width:var(--nav-width);background:var(--surface);border-right:1px solid var(--border);flex-direction:column;height:100vh;transition:width .2s,flex-basis .2s;display:flex;position:sticky;top:0;overflow:hidden}.app-nav-drawer--collapsed{--nav-width:3.5rem}.app-nav-drawer-brand{border-bottom:1px solid var(--border);padding:1.1rem .85rem .85rem}.app-nav-drawer-logo{letter-spacing:-.02em;color:var(--text);white-space:nowrap;text-overflow:ellipsis;font-size:1.05rem;font-weight:700;text-decoration:none;display:block;overflow:hidden}.app-nav-drawer-logo-mark{background:rgba(var(--accent-rgb), .14);width:2rem;height:2rem;color:var(--accent-hover);letter-spacing:.02em;border-radius:8px;justify-content:center;align-items:center;font-size:.72rem;font-weight:700;display:inline-flex}.app-nav-drawer-nav{flex:1;padding:.75rem .55rem;overflow-y:auto}.app-nav-drawer-list{flex-direction:column;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.app-nav-drawer-item{width:100%;color:var(--muted);text-align:left;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:.65rem;padding:.55rem .65rem;font-size:.9rem;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:flex}.app-nav-drawer-item:hover{background:var(--surface2);color:var(--text)}.app-nav-drawer-item--active{border-color:rgba(var(--accent-rgb), .35);color:var(--accent-hover);background:rgba(var(--accent-rgb), .12)}.app-nav-drawer--collapsed .app-nav-drawer-item{justify-content:center;padding:.55rem}.app-nav-drawer-item-icon{flex-shrink:0;display:inline-flex}.app-nav-drawer-item-label{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.app-nav-drawer-footer{border-top:1px solid var(--border);flex-direction:column;gap:.35rem;margin-top:auto;padding:.65rem .55rem .85rem;display:flex}.app-nav-drawer-toggle,.app-nav-drawer-sign-out{width:100%;color:var(--muted);background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:.65rem;padding:.55rem .65rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:flex}.app-nav-drawer-toggle:hover,.app-nav-drawer-sign-out:hover{background:var(--surface2);color:var(--text)}.app-nav-drawer--collapsed .app-nav-drawer-toggle,.app-nav-drawer--collapsed .app-nav-drawer-sign-out{justify-content:center;padding:.55rem}.app-main{flex:1;min-width:0}.app{max-width:1280px;margin:0 auto;padding:1.75rem 1.25rem 3rem}.app-header{margin-bottom:1.75rem}.app-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1.25rem;margin-bottom:.35rem;display:flex}.app-header-tools{border-top:1px solid var(--border);flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1.25rem;padding-top:.75rem;display:flex}.app-header-row h1{letter-spacing:-.02em;margin:0;font-size:1.65rem;font-weight:600}.app-header-auth{flex-shrink:0;margin-left:auto}.app-header-sign-out{color:var(--muted);border-radius:.35rem;padding:.35rem .5rem;font-size:.9rem;font-weight:600;text-decoration:none}.app-header-sign-out:hover{color:var(--text);background:var(--surface-2)}.view-mode-toolbar-group{flex-shrink:0;align-items:flex-end}.app-header-tools .sbom-export-toolbar-group{align-items:flex-end}.view-mode-toolbar-group .workspace-chips{justify-content:flex-end}.view-mode-chips .chip{cursor:pointer;font-weight:600}.app-header p{color:var(--muted);margin:0;font-size:.95rem}.toolbar{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;align-items:stretch;gap:1rem;margin-bottom:1.5rem;padding:1rem 1.1rem;display:flex}.toolbar-search-row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.toolbar-search-row .toolbar-group{flex:min(100%,16rem);min-width:0}.toolbar-filters-toggle{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface2);color:var(--text);flex-shrink:0;justify-content:center;align-items:center;padding:.5rem .85rem;font-size:.85rem;font-weight:600;display:none}.toolbar-filters{flex-direction:column;gap:1rem;display:flex}.package-grid-legend{margin-top:.5rem;margin-bottom:0}@media (max-width:767px){.toolbar-filters-toggle{display:inline-flex}.toolbar-filters{display:none}.toolbar-filters--open{display:flex}}.toolbar-primary{flex-wrap:wrap;align-items:flex-end;gap:1rem 1.25rem;display:flex}.toolbar-scope-row{border-top:1px solid var(--border);flex-wrap:wrap;align-items:flex-end;gap:1rem 1.25rem;padding-top:.75rem;display:flex}.toolbar-scope-row>.toolbar-group{flex:min(12rem,100%);min-width:0}.toolbar-scope-row .repo-filter{width:100%;max-width:100%}.toolbar-scope-row .repo-filter-trigger{box-sizing:border-box;max-width:none}.toolbar-scope-row .toolbar-group>span:first-child{letter-spacing:.02em;color:var(--muted);font-size:.72rem;font-weight:600}.toolbar-group--grow{flex:1;min-width:min(100%,260px)}.toolbar-group{flex-direction:column;gap:.35rem;display:flex}.toolbar-group label{letter-spacing:.02em;color:var(--muted);font-size:.72rem;font-weight:600}.repo-filter{position:relative}.repo-filter-trigger{text-align:left;border:1px solid var(--border);background:var(--surface2);width:100%;max-width:22rem;color:var(--text);cursor:pointer;border-radius:6px;padding:.45rem .65rem;font-size:.88rem}.repo-filter-trigger:hover{border-color:var(--accent-dim)}.repo-filter-panel{z-index:200;background:var(--surface2);border:1px solid var(--border);border-radius:8px;flex-direction:column;min-width:min(100%,28rem);max-width:min(100vw - 2.5rem,32rem);max-height:min(320px,50vh);display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 36px #0006}.repo-filter-actions{border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;gap:.65rem;padding:.45rem .65rem;display:flex}.repo-filter-search-wrap{border-bottom:1px solid var(--border);flex-shrink:0;padding:.5rem .65rem .35rem}.repo-filter-search-label{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:.35rem;font-size:.68rem;font-weight:600;display:block}.repo-filter-search-input{box-sizing:border-box;border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);border-radius:6px;padding:.4rem .55rem;font-size:.85rem}.repo-filter-search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .2);outline:none}.repo-filter-empty{color:var(--muted);padding:.65rem .75rem;font-size:.82rem;list-style:none}.repo-filter-link{color:var(--accent);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;font-size:.78rem;font-weight:500;text-decoration:underline}.repo-filter-list{flex:1;min-height:0;margin:0;padding:.25rem 0;list-style:none;overflow-y:auto}.repo-filter-option{cursor:pointer;color:var(--text);align-items:center;gap:.45rem;padding:.35rem .75rem;font-size:.82rem;display:flex}.repo-filter-option:hover{background:rgba(var(--accent-rgb), .08)}.repo-filter-list--single{flex-direction:column;gap:0;padding:.25rem 0;display:flex}.repo-filter-single-option{box-sizing:border-box;width:100%;color:var(--text);text-align:left;cursor:pointer;background:0 0;border:none;border-radius:0;margin:0;padding:.4rem .75rem;font-size:.82rem;display:block}.repo-filter-single-option:hover{background:rgba(var(--accent-rgb), .08)}.repo-filter-single-option--active{background:rgba(var(--accent-rgb), .12);font-weight:600}.repo-filter-hint{color:var(--muted);max-width:44rem;margin:.4rem 0 0;font-size:.75rem;line-height:1.4}.search-input{border:1px solid var(--border);background:var(--surface2);min-width:220px;color:var(--text);border-radius:6px;padding:.45rem .65rem;font-size:.9rem}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .22);outline:none}.type-toggles{flex-wrap:wrap;gap:.5rem;display:flex}.type-toggles label{text-transform:none;letter-spacing:normal;color:var(--text);cursor:pointer;align-items:center;gap:.35rem;font-size:.85rem;font-weight:500;display:flex}.workspace-chips{flex-wrap:wrap;gap:.35rem;display:flex}.chip{border:1px solid var(--border);background:var(--surface2);color:var(--muted);border-radius:999px;padding:.25rem .55rem;font-size:.78rem;font-weight:500}.chip.on{border-color:var(--accent-dim);color:var(--accent);background:rgba(var(--accent-rgb), .14)}.chip:focus-visible{box-shadow:0 0 0 2px rgba(var(--accent-rgb), .45);outline:none}.repo-filter-trigger:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .22);outline:none}.breadcrumb{flex-wrap:wrap;align-items:center;gap:.35rem;margin-bottom:1.25rem;font-size:.88rem;display:flex}.breadcrumb button{color:var(--text);font-size:inherit;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.breadcrumb button:hover{color:var(--text)}.breadcrumb .sep{color:var(--muted);-webkit-user-select:none;user-select:none}.breadcrumb .current{color:var(--muted)}.grid{gap:1.25rem;display:grid}@media (min-width:900px){.grid.two{grid-template-columns:1fr 1fr}}.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-height:280px;padding:1rem 1.1rem}.panel h2{margin:0 0 .75rem;font-size:.95rem;font-weight:600}.panel-heading-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem 1rem;margin-bottom:.75rem;display:flex}.panel-heading-row h2{flex:auto;min-width:min(100%,10rem);margin:0;font-size:.95rem;font-weight:600}.npm-external-link{color:var(--accent);text-underline-offset:2px;flex-shrink:0;font-size:.82rem;font-weight:500;text-decoration:underline}.npm-external-link:hover{color:var(--text)}.npm-external-link:focus-visible{box-shadow:0 0 0 2px rgba(var(--accent-rgb), .45);border-radius:4px;outline:none}.panel-heading-count{color:var(--muted);font-size:.88em;font-weight:500}.panel--treemap{min-height:0;margin-bottom:1.25rem}.panel--packages{min-height:0;overflow:visible}.package-grid-intro{color:var(--muted);max-width:48rem;margin:0 0 1rem;font-size:.82rem}.package-grid-empty{color:var(--muted);margin:1rem 0;font-size:.9rem}.package-grid-loader{justify-content:center;align-items:center;padding:1.5rem 0;display:flex}.package-grid-loader--initial{min-height:8rem}.package-grid-load-more{justify-content:center;align-items:center;padding:1rem 0 0;display:flex}.package-grid-load-more-btn{border:1px solid var(--accent-dim);background:rgba(var(--accent-rgb), .12);color:var(--text);font-size:.85rem;font-weight:600;font-family:var(--font);cursor:pointer;border-radius:8px;padding:.5rem 1.1rem;transition:border-color .15s,background .15s}.package-grid-load-more-btn:hover{border-color:var(--accent);background:rgba(var(--accent-rgb), .2)}.package-grid-load-more-btn:focus-visible{box-shadow:0 0 0 2px rgba(var(--accent-rgb), .45);outline:none}.package-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.65rem;margin:0;padding:0;list-style:none;display:grid;overflow:visible}.package-grid>li{overflow:visible}@media (min-width:640px){.package-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr))}}.package-card{text-align:left;border:1px solid var(--border);background:var(--surface2);width:100%;color:var(--text);cursor:pointer;border-radius:8px;flex-direction:column;align-items:stretch;gap:.45rem;padding:.65rem .75rem;transition:border-color .15s,box-shadow .15s,background .15s;display:flex;overflow:visible}.package-card:hover{border-color:var(--accent-dim);background:var(--surface-hover);box-shadow:0 0 0 1px rgba(var(--accent-rgb), .18)}.package-card:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb), .35);outline:none}.package-card-license{color:var(--muted);word-break:break-word;font-size:.68rem;line-height:1.35}.package-card-name-row{flex-wrap:wrap;align-items:center;gap:.35rem .5rem;display:flex}.package-card-name{word-break:break-word;color:var(--text);flex:auto;min-width:0;font-size:.78rem;font-weight:600;line-height:1.35}.package-card-badge{text-transform:uppercase;letter-spacing:.04em;border:1px solid var(--border);border-radius:4px;flex-shrink:0;padding:.12rem .35rem;font-size:.58rem;font-weight:700;line-height:1.2}.package-card-badge--stale{color:#fbbf24;background:#fbbf2414;border-color:#fbbf2473}.package-card-badge--missing{color:#94a3b8;background:#94a3b81a;border-color:#94a3b866}.package-card-badge--vuln{color:#fb923c;text-transform:none;letter-spacing:.02em;background:#fb923c1a;border-color:#fb923c73;font-weight:600}.package-card-badge--registry{text-transform:none;letter-spacing:.02em;font-size:.56rem;font-weight:800}.package-card-badge--registry-npm{color:#fca5a5;background:#f871711a;border-color:#f8717173}.package-card-badge--registry-pypi{color:#93c5fd;background:#3b82f61f;border-color:#60a5fa73}.package-card-versions{flex-wrap:wrap;align-items:center;gap:6px;min-height:16px;display:flex;overflow:visible}.version-dot-wrap{flex-shrink:0;justify-content:center;align-items:center;display:inline-flex;position:relative}.version-dot-wrap[data-tooltip]:hover:after{content:attr(data-tooltip);white-space:nowrap;color:var(--text);border:1px solid var(--border);pointer-events:none;z-index:100;background:#1e1e1e;border-radius:6px;padding:.3rem .5rem;font-size:.72rem;font-weight:500;line-height:1.2;position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%);box-shadow:0 6px 20px #00000073}.version-dot{opacity:.95;background:linear-gradient(145deg,#6a6a6a 0%,#454545 100%);border-radius:4px;flex-shrink:0;width:14px;height:14px;box-shadow:inset 0 1px #ffffff0f}.version-dot--vuln{background:linear-gradient(145deg,#f59e0b 0%,#c2410c 100%);box-shadow:0 0 0 1px #e85d0459}.version-dot-wrap:hover .version-dot--vuln{opacity:1;box-shadow:0 0 0 2px #e85d048c}.version-dot-more{color:var(--accent);font-size:.65rem;font-weight:600;font-family:var(--mono);cursor:help;margin-left:1px}.package-card-meta{color:var(--muted);letter-spacing:.01em;font-size:.68rem}.package-card--pv{gap:.35rem}.package-card--pv .package-card-name-row{align-items:flex-start}.package-card--pv .package-card-name{flex:0 auto}.package-card-pv-version{color:var(--muted);word-break:break-word;font-size:.72rem;font-weight:500;line-height:1.35}.package-card-versions--single{min-height:16px}.version-dot-spacer{flex-shrink:0;width:14px;height:14px}.chart-wrap{width:100%;height:320px}.chart-wrap--wide{height:min(420px,55vh);min-height:280px}.chart-wrap--treemap{height:min(440px,58vh);min-height:300px}.panel--version-chart{min-height:0}.version-chart-layout{flex-wrap:wrap;align-items:stretch;gap:1rem 1.25rem;min-height:0;display:flex}.version-chart-layout__chart{flex:340px;min-width:0}.package-repo-version-list{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);box-sizing:border-box;flex:0 280px;min-width:min(100%,220px);max-height:min(420px,55vh);margin:0;padding:.55rem .7rem .65rem;overflow:auto}.package-repo-version-list-heading{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:0 0 .45rem;font-size:.72rem;font-weight:600}.package-repo-version-list-items{margin:0;padding:0;list-style:none}.package-repo-version-list-item{border-bottom:1px solid var(--border);word-break:break-word;padding:.2rem 0;font-size:.78rem;line-height:1.45}.package-repo-version-list-item:last-child{border-bottom:none}.package-repo-version-list-empty{color:var(--muted);margin:0;font-size:.8rem;line-height:1.4}.registry-meta-npm{color:var(--muted);word-break:break-word;margin:0 0 .85rem;font-size:.78rem;line-height:1.45}.chart-hint{color:var(--muted);margin:.5rem 0 0;font-size:.8rem}.vulnerability-list{background:#e85d0414;border:1px solid #e85d0459;border-radius:6px;margin:0 0 1rem;padding:.65rem .75rem}.vulnerability-list-heading{text-transform:uppercase;letter-spacing:.06em;color:#e8a066;margin:0 0 .4rem;font-size:.72rem;font-weight:600}.vulnerability-ids{color:var(--text);margin:0;padding-left:1.1rem;font-size:.82rem}.vulnerability-ids li{margin:.2rem 0}.vulnerability-row{list-style:inherit;flex-wrap:wrap;align-items:baseline;gap:.35rem .75rem;display:flex}.vulnerability-severity{color:#e8e0d8;word-break:break-word;flex:12rem;min-width:0;font-size:.78rem}.vulnerability-id-link{color:var(--accent);font:inherit;font-family:var(--mono);cursor:pointer;text-align:left;text-underline-offset:2px;background:0 0;border:none;margin:0;padding:0;text-decoration:underline;display:inline}.vulnerability-id-link:hover{color:#ff6b6b}.table-wrap{border:1px solid var(--border);border-radius:6px;max-height:420px;overflow:auto}table.data{border-collapse:collapse;width:100%;font-size:.85rem}table.data th,table.data td{text-align:left;border-bottom:1px solid var(--border);padding:.5rem .65rem}table.data th{background:var(--surface2);text-transform:uppercase;letter-spacing:.05em;color:var(--muted);font-size:.72rem;font-weight:600;position:sticky;top:0}table.data tbody tr:hover{background:rgba(var(--accent-rgb), .07)}.mono{font-family:var(--mono);font-size:.82rem}.status{text-align:center;color:var(--muted);padding:2rem}.status.error{color:var(--error-text)}.status--loading{flex-direction:column;justify-content:center;align-items:center;gap:.75rem;min-height:12rem;display:flex}.app-gate-loading{background:var(--bg);min-height:100vh;color:var(--text);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:2rem 1.25rem;display:flex}.app-gate-loading-title{color:var(--text);margin:0;font-size:1.05rem;font-weight:500}.app-gate-loading-subtitle{max-width:24rem;color:var(--muted);margin:0;font-size:.9rem;line-height:1.45}.meta{color:var(--muted);margin-top:.75rem;font-size:.8rem}.data-source-line{margin-top:.5rem}.deployer-help{text-align:left;max-width:36rem;margin-top:1rem;margin-left:auto;margin-right:auto}.deployer-help summary{cursor:pointer;color:var(--text);font-weight:600}.deployer-help p{margin:.5rem 0 0}.sbom-export-toolbar-group{flex:14rem;min-width:min(100%,18rem);max-width:28rem}.sbom-export-toolbar-group--inline{align-items:flex-end;min-width:min(100%,20rem);margin-left:auto}.sbom-export-toolbar-group--inline .sbom-export-actions{justify-content:flex-end}.sbom-export-toolbar-group--inline .sbom-export-hint{text-align:right}.sbom-export-toolbar-group>span{letter-spacing:.02em;color:var(--muted);font-size:.72rem;font-weight:600}.sbom-export-actions{flex-wrap:wrap;gap:.4rem;margin-top:.25rem;display:flex}.sbom-export-btn{border:1px solid var(--border);background:var(--surface2);color:var(--text);cursor:pointer;border-radius:6px;padding:.35rem .6rem;font-size:.8rem;font-weight:600}.sbom-export-btn:hover{border-color:var(--accent-dim)}.sbom-export-hint{margin:.35rem 0 0;font-size:.72rem;line-height:1.4}.sbom-export-hint--status{color:var(--muted)}.sbom-export-hint--error{color:var(--error-text)}@media (max-width:980px){.sbom-export-toolbar-group--inline{align-items:flex-start;min-width:100%;max-width:none;margin-left:0}.sbom-export-toolbar-group--inline .sbom-export-actions{justify-content:flex-start}.sbom-export-toolbar-group--inline .sbom-export-hint{text-align:left}}.app-header-title-nav{flex-wrap:wrap;align-items:center;gap:.65rem 1rem;display:flex}.app-header-title-nav h1{margin:0}.app-nav-tabs{flex-shrink:0}.client-assignment-panel{margin-top:.5rem}.client-assignment-panel .settings-toolbar{margin-top:.75rem}.client-assignment-panel .settings-filter-summary{margin:0 0 .75rem}.client-assignment-cell{vertical-align:middle;min-width:12rem}.client-assignment-panel .vuln-scan-cell-wrap{vertical-align:middle;text-align:center;width:7rem}.client-assignment-panel .vuln-scan-cell{flex-direction:column;align-items:center;gap:.25rem;display:flex}.client-assignment-panel .vuln-scan-toggle{cursor:pointer;margin:0}.client-assignment-panel .vuln-scan-cell-error{max-width:10rem;font-size:.75rem}.client-combo{max-width:22rem;position:relative}.client-combo-input{width:100%;max-width:22rem}.client-combo-list{z-index:150;background:var(--surface);border:1px solid var(--border);border-radius:6px;max-height:min(280px,42vh);margin:0;padding:.25rem 0;list-style:none;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 6px 20px #0000001f}.client-combo-list--floating{z-index:200;position:fixed;top:auto;right:auto}.client-combo-option{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;padding:.4rem .65rem;font-size:.88rem;display:block}.client-combo-option:hover:not(:disabled){background:var(--surface2)}.client-combo-option:disabled{opacity:.45;cursor:not-allowed}.client-combo-option--create{color:var(--accent);font-weight:600}.client-combo-error{color:var(--accent);white-space:pre-wrap;margin:.35rem 0 0;font-size:.8rem;line-height:1.35}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.scans-panel{margin-top:.5rem}.scans-panel .settings-analysis-toolbar{gap:.65rem}.scans-panel .settings-analysis-toolbar .sbom-export-toolbar-group{flex:none}.scans-panel .scan-status-panel{margin-top:0}.scan-section{margin-top:1.25rem}.scan-section-heading{margin:0 0 .65rem;font-size:1rem;font-weight:600}.scan-active-list,.scan-status-active-list{flex-direction:column;gap:.75rem;display:flex}.scan-run-card{border:1px solid var(--border);background:var(--surface2);border-radius:8px;padding:.85rem 1rem}.scan-run-card--compact{padding:.65rem .75rem}.scan-run-card-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.scan-run-card-title{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.scan-host-chip{background:var(--surface);border:1px solid var(--border);border-radius:4px;padding:.15rem .45rem;font-size:.75rem;font-weight:600;display:inline-block}.scan-workspace-slug{font-family:var(--mono,ui-monospace, monospace);font-size:.9rem}.scan-status-badge{white-space:nowrap;border-radius:999px;padding:.2rem .55rem;font-size:.78rem;font-weight:600;display:inline-block}.scan-status-badge--compact{font-size:.72rem}.scan-status-badge--active{color:#93c5fd;background:#3b82f626}.scan-status-badge--phase2{color:#fcd34d;background:#f59e0b26}.scan-status-badge--ok{color:#86efac;background:#22c55e26}.scan-status-badge--error{color:#fca5a5;background:#ef444426}.scan-progress-block{margin-top:.65rem}.scan-progress-bar{background:var(--surface);border:1px solid var(--border);border-radius:999px;height:.45rem;overflow:hidden}.scan-progress-bar-fill{background:var(--accent);border-radius:999px;height:100%;transition:width .35s}.scan-progress-meta{margin:.35rem 0 0}.scan-status-panel{flex-direction:column;gap:.5rem;width:100%;margin-top:.5rem;display:flex}.scan-status-panel--compact .scan-run-card{margin:0}.scan-view-all-link{color:var(--accent);cursor:pointer;background:0 0;border:none;align-self:flex-start;margin-top:.25rem;padding:0;font-size:.88rem;text-decoration:underline}.scan-view-all-link:hover{opacity:.85}.settings-analysis-toolbar{flex-direction:column;align-items:stretch}.scan-history-wrap{overflow-x:auto}.scan-history-table{border-collapse:collapse;width:100%;font-size:.88rem}.scan-history-table th,.scan-history-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:.5rem .65rem}.scan-history-table th{color:var(--muted);font-size:.8rem;font-weight:600}.scan-history-expand-btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:4px;padding:.25rem .55rem;font-size:.8rem}.scan-history-expand-btn:hover,.scan-history-detail-row td{background:var(--surface2)}.scan-history-failure-list{margin:.35rem 0 0;padding-left:1.25rem}.scan-history-error-msg{color:var(--accent)}.scan-history-row-expanded td{border-bottom-color:#0000}.settings-tabs{gap:.5rem;margin-bottom:1.25rem;display:flex}.settings-tabs__btn{border:1px solid var(--border);background:var(--surface);color:var(--text);cursor:pointer;border-radius:6px;padding:.45rem .9rem;font-size:.9rem}.settings-tabs__btn--active{border-color:var(--accent);color:var(--accent)}.integrations-panel{flex-direction:column;gap:1rem;display:flex}.integrations-intro,.onboarding-lead{color:var(--muted);max-width:52rem;line-height:1.5}.integrations-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;padding:1rem 1.1rem}.integrations-card__header{align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.integrations-card__header h3{margin:0;font-size:1.05rem}.integrations-badge{background:color-mix(in srgb, var(--accent) 18%, transparent);color:var(--accent);border-radius:4px;padding:.15rem .5rem;font-size:.75rem}.integrations-badge--muted{background:var(--surface2);color:var(--muted)}.integrations-meta{gap:.35rem;margin:0 0 .75rem;font-size:.88rem;display:grid}.integrations-meta dt{color:var(--muted);font-weight:500}.integrations-meta dd{margin:0}.integrations-fields{gap:.65rem;margin-bottom:.75rem;display:grid}.integrations-fields label{flex-direction:column;gap:.3rem;font-size:.88rem;display:flex}.integrations-fields input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:4px;padding:.45rem .55rem}.integrations-actions{flex-wrap:wrap;gap:.5rem;display:flex}.integrations-actions .btn,.onboarding-footer .btn{border:1px solid var(--accent);background:var(--accent);color:var(--bg);cursor:pointer;border-radius:6px;padding:.45rem .85rem;font-size:.88rem}.integrations-actions .btn:disabled,.onboarding-footer .btn:disabled{opacity:.5;cursor:not-allowed}.integrations-actions .btn-secondary{background:var(--surface);color:var(--text);border-color:var(--border)}.integrations-status--ok{color:var(--accent)}.integrations-status--err{color:#e57373}.integrations-note{color:var(--muted);margin:0;font-size:.82rem}.onboarding-page{max-width:48rem}.onboarding-footer{flex-direction:column;gap:.5rem;margin-top:1.5rem;display:flex}.subscribe-page{max-width:40rem}.subscribe-lead{color:var(--muted);margin:0 0 1rem;line-height:1.5}.subscribe-features{margin:0 0 1.5rem 1.25rem;line-height:1.6}.subscribe-actions{flex-direction:column;align-items:flex-start;gap:.75rem;display:flex}.billing-panel{flex-direction:column;gap:.75rem;max-width:40rem;display:flex}.billing-panel__title{margin:0;font-size:1.1rem}.billing-panel__badge{color:#ffc107;background:#ffc10726;border-radius:999px;width:fit-content;margin:0;padding:.2rem .55rem;font-size:.85rem;font-weight:600;display:inline-block}.billing-panel__copy{color:var(--muted);margin:0;line-height:1.5}.status--error{color:#f87171}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.org-switcher{padding:0 .75rem .75rem;position:relative}.org-switcher__trigger{border:1px solid var(--border);background:var(--surface);width:100%;color:var(--text);cursor:pointer;text-align:left;border-radius:8px;align-items:center;gap:.5rem;padding:.55rem .65rem;font-size:.85rem;display:flex}.org-switcher__trigger:hover{border-color:var(--accent)}.org-switcher__icon{color:var(--muted);flex-shrink:0;display:inline-flex}.org-switcher__label{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.org-switcher__chevron{color:var(--muted);font-size:.75rem}.org-switcher__menu{z-index:20;border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;gap:.25rem;padding:.35rem;display:flex;position:absolute;top:calc(100% - .35rem);left:.75rem;right:.75rem;box-shadow:0 8px 24px #0000002e}.org-switcher__option{width:100%;color:var(--text);cursor:pointer;text-align:left;background:0 0;border:none;border-radius:6px;flex-direction:column;align-items:flex-start;gap:.15rem;padding:.5rem .6rem;display:flex}.org-switcher__option:hover{background:#ffffff0a}.org-switcher__option--current{background:#60a5fa1f}.org-switcher__option-name{font-size:.9rem}.org-switcher__option-meta{color:var(--muted);text-transform:capitalize;font-size:.75rem}.org-switcher__option--action{border-top:1px solid var(--border);color:var(--accent);margin-top:.15rem;padding-top:.65rem}.app-nav-drawer--collapsed .org-switcher{padding-left:.5rem;padding-right:.5rem}.app-nav-drawer--collapsed .org-switcher__trigger{justify-content:center;padding:.55rem}.org-modal-backdrop{z-index:50;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.org-modal{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:min(100%,28rem);padding:1.25rem}.org-modal__title{margin:0 0 .35rem;font-size:1.15rem}.org-modal__lead{color:var(--muted);margin:0 0 1rem;line-height:1.5}.org-modal__form{flex-direction:column;gap:.85rem;display:flex}.org-modal__field{flex-direction:column;gap:.35rem;font-size:.85rem;display:flex}.org-modal__field input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:.5rem .65rem}.org-modal__error{color:#f87171;margin:0;font-size:.85rem}.org-modal__actions{justify-content:flex-end;gap:.5rem;margin-top:.25rem;display:flex}.org-modal__btn{border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:.45rem .85rem;font-size:.9rem}.org-modal__btn--primary{background:var(--accent);border-color:var(--accent);color:#0b1220}.org-modal__btn--secondary{color:var(--text);background:0 0}.app-modal-backdrop{z-index:50;background:#0000008c;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.app-modal{border:1px solid var(--border);background:var(--surface);border-radius:10px;width:min(100%,28rem);padding:1.25rem;box-shadow:0 12px 40px #00000059}.app-modal__title{margin:0 0 .5rem;font-size:1.15rem}.app-modal__body{color:var(--muted);margin:0 0 1.25rem;font-size:.95rem;line-height:1.55}.app-modal__actions{justify-content:flex-end;gap:.5rem;display:flex}.app-modal__btn{border:1px solid var(--border);cursor:pointer;border-radius:6px;padding:.45rem .85rem;font-size:.9rem}.app-modal__btn:disabled{opacity:.65;cursor:not-allowed}.app-modal__btn--primary{background:var(--accent);border-color:var(--accent);color:#0b1220}.app-modal__btn--danger{color:#fff;background:#dc2626;border-color:#dc2626}.app-modal__btn--secondary{color:var(--text);background:0 0}.team-panel{flex-direction:column;gap:1rem;display:flex}.team-invite-form__row{flex-wrap:wrap;align-items:flex-end;gap:.75rem;display:flex}.team-invite-form__field{flex-direction:column;flex:12rem;gap:.35rem;font-size:.85rem;display:flex}.team-invite-form__field input,.team-invite-form__field select{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:6px;padding:.5rem .65rem}.team-invite-form__field--role{flex:0 8rem}.team-invite-form__submit{border:1px solid var(--accent);background:var(--accent);color:#0b1220;cursor:pointer;border-radius:6px;padding:.55rem .9rem;font-size:.9rem}.integrations-card__title{margin:0 0 .75rem;font-size:1rem}.team-invites-table{border-collapse:collapse;width:100%;font-size:.9rem}.team-invites-table th,.team-invites-table td{border-bottom:1px solid var(--border);text-align:left;padding:.55rem .35rem}.team-invites-table__revoke{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:6px;padding:.25rem .55rem;font-size:.8rem}.accept-invite-page{max-width:36rem;margin:4rem auto;padding:0 1.25rem}.accept-invite-page h1{margin-bottom:.75rem}.accept-invite-page__error{color:#f87171}.accept-invite-page__actions{flex-wrap:wrap;gap:.75rem;margin-top:1.25rem;display:flex}.accept-invite-page__btn{border:1px solid var(--border);cursor:pointer;border-radius:6px;justify-content:center;align-items:center;padding:.55rem .95rem;font-size:.9rem;text-decoration:none;display:inline-flex}.accept-invite-page__btn--primary{background:var(--accent);border-color:var(--accent);color:#0b1220}.accept-invite-page__btn--secondary{color:var(--text);background:0 0}.accept-invite-page__link{color:var(--accent);margin-top:1rem;display:inline-block}.trends-dashboard .trends-hint{margin:1.25rem 0}.toolbar-group-heading{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.toolbar-group-heading>span:first-child{letter-spacing:.02em;color:var(--muted);font-size:.72rem;font-weight:600}.toolbar-group-heading-actions{flex-shrink:0;align-items:center;gap:.35rem;display:inline-flex}.toolbar-group-heading-sep{color:var(--muted);font-size:.78rem;line-height:1}.trends-date-range{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.trends-date-range input[type=date]{border:1px solid var(--border);background:var(--surface);color:var(--text);font:inherit;border-radius:6px;padding:.35rem .5rem}.trends-chart-wrap{border:1px solid var(--border);background:var(--surface);border-radius:8px;margin-top:1.5rem;padding:1rem}.trends-delta-summary{margin-top:1.25rem}.trends-delta-summary-heading{margin:0 0 .75rem;font-size:.95rem}.trends-delta-cards{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;display:grid}.trends-delta-card{border:1px solid var(--border);background:var(--surface);border-radius:8px;flex-direction:column;gap:.25rem;padding:.85rem 1rem;display:flex}.trends-delta-card-value{font-size:1.5rem;font-weight:600;line-height:1.2}.trends-delta-card-label{color:var(--muted,#9ca3af);font-size:.85rem}.trends-delta-card-action{color:var(--accent);text-underline-offset:2px;align-self:flex-start;margin-top:.35rem;font-size:.8rem;font-weight:500;text-decoration:underline}.trends-delta-card--addressed .trends-delta-card-value{color:#16a34a}.trends-delta-card--outstanding .trends-delta-card-value{color:#d97706}.trends-delta-card--new .trends-delta-card-value{color:#dc2626}.trends-delta-table-wrap{margin-top:1.5rem}.trends-delta-table-heading{margin:0 0 .75rem;font-size:1rem}.trends-delta-table{border-collapse:collapse;width:100%;font-size:.9rem}.trends-delta-table th,.trends-delta-table td{border-bottom:1px solid var(--border);text-align:left;padding:.5rem .75rem}.trends-delta-table th{color:var(--muted,#9ca3af);font-weight:600}
