:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#f5f6f8;--surface:#fff;--text:#16191f;--muted:#5b6472;--border:#dde1e7;--hover:#1e5ac814;--accent:#1f5fd1;--accent-text:#fff;--sev-critical:#c4261d;--sev-high:#d9680b;--sev-medium:#a07800;--sev-low:#3c7a3a;--good:#1b7f3b;--bad:#c4261d;--warn-bg:#fff4d6;--warn-text:#5c4300;--info-bg:#e6effc;--info-text:#15397a;--chart-open:#1f5fd1;--chart-new:#d9680b;--chart-fixed:#2e8b57;--chart-dim:#9db6e0;--radius:10px;--font:system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--mono:ui-monospace, SFMono-Regular, Menlo, Consolas, monospace}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#0f1218;--surface:#181c24;--text:#e6e9ef;--muted:#9aa4b2;--border:#2b323e;--hover:#78aaff1f;--accent:#5b92f0;--accent-text:#0b1220;--sev-critical:#ff6b61;--sev-high:#ff9a4d;--sev-medium:#e6c04a;--sev-low:#6fc16c;--good:#5ccf85;--bad:#ff6b61;--warn-bg:#3b2f0b;--warn-text:#ffe49a;--info-bg:#14264a;--info-text:#b6d0ff;--chart-open:#5b92f0;--chart-new:#ff9a4d;--chart-fixed:#5ccf85;--chart-dim:#34445f}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--text);font:15px/1.5 var(--font);margin:0}h1{margin:0 0 1rem;font-size:1.5rem}h2{margin:0 0 .75rem;font-size:1.05rem}a{color:var(--accent)}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--accent);outline-offset:2px}.muted{color:var(--muted)}.mono{font-family:var(--mono);font-size:.85em}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.skip-link{background:var(--accent);color:var(--accent-text);z-index:10;padding:.5rem 1rem;position:absolute;top:0;left:-999px}.skip-link:focus{left:0}.app-header{background:var(--surface);border-bottom:1px solid var(--border);z-index:5;position:sticky;top:0}.app-header-inner{flex-wrap:wrap;align-items:center;gap:1.25rem;max-width:1280px;margin:0 auto;padding:.6rem 1rem;display:flex}.brand{font-weight:700}.app-header nav{flex:1;gap:.25rem;display:flex}.nav-link{color:var(--text);border-radius:8px;padding:.35rem .75rem;text-decoration:none}.nav-link:hover{background:var(--hover)}.nav-link.active{background:var(--hover);color:var(--accent);font-weight:600}.user-box{align-items:center;gap:.75rem;display:flex}.app-main{max-width:1280px;margin:0 auto;padding:1.25rem 1rem 3rem}.page{flex-direction:column;gap:1rem;display:flex}.page>h1{margin-bottom:0}.card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);min-width:0;padding:1rem}.card-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.5rem;display:flex}.card-head h2{margin:0}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:1rem;display:grid}.state{border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem;display:flex}.state-error{background:var(--warn-bg);color:var(--warn-text)}.empty{text-align:center;padding:1rem 0}.spinner{border:2px solid var(--border);border-top-color:var(--accent);border-radius:50%;width:1rem;height:1rem;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.spinner{animation:none}}.login-wrap{place-items:center;min-height:100vh;padding:1rem;display:grid}.login-card{flex-direction:column;gap:.9rem;width:min(100%,380px);display:flex}.login-card h1{margin:0}.btn{font:inherit;border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--text);cursor:pointer;border-radius:8px;align-items:center;gap:.4rem;padding:.4rem .85rem;text-decoration:none;display:inline-flex}.btn:hover:not(:disabled){background:var(--hover)}.btn:disabled,.btn[aria-disabled=true]{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.btn-primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.1)}.btn-ghost{background:0 0;border-color:#0000}.btn-small{min-height:30px;padding:.15rem .6rem;font-size:.85rem}.filter-bar{flex-wrap:wrap;align-items:flex-end;gap:.75rem 1.25rem;display:flex}.filter-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:.75rem 1.25rem;display:flex}.chip-group{flex-wrap:wrap;gap:.4rem;display:flex}.chip{font:inherit;border:1px solid var(--border);background:var(--surface);min-height:34px;color:var(--muted);cursor:pointer;border-radius:999px;align-items:center;gap:.4rem;padding:.3rem .8rem;display:inline-flex}.chip-dot{background:var(--muted);border-radius:50%;width:.6rem;height:.6rem}.chip-critical .chip-dot{background:var(--sev-critical)}.chip-high .chip-dot{background:var(--sev-high)}.chip-medium .chip-dot{background:var(--sev-medium)}.chip-low .chip-dot{background:var(--sev-low)}.chip.is-on{color:var(--text);border-color:var(--accent);background:var(--hover);font-weight:600}.field{flex-direction:column;gap:.2rem;display:flex}.field.grow{flex:1;min-width:180px}.field-label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.75rem}input,select{font:inherit;border:1px solid var(--border);background:var(--surface);min-height:36px;color:var(--text);border-radius:8px;padding:.3rem .6rem}.toggle{cursor:pointer;align-items:center;gap:.5rem;min-height:36px;display:inline-flex}.toggle input{width:1.1rem;height:1.1rem;min-height:0}.segmented{border:1px solid var(--border);border-radius:8px;display:inline-flex;overflow:hidden}.seg-btn{font:inherit;background:var(--surface);min-height:34px;color:var(--text);cursor:pointer;border:0;padding:.35rem .8rem}.seg-btn+.seg-btn{border-left:1px solid var(--border)}.seg-btn[aria-pressed=true]{background:var(--accent);color:var(--accent-text);font-weight:600}.tabs{border-bottom:1px solid var(--border);gap:.25rem;display:flex}.tab{color:var(--muted);border-bottom:3px solid #0000;margin-bottom:-1px;padding:.5rem 1rem;text-decoration:none}.tab.active{color:var(--text);border-bottom-color:var(--accent);font-weight:600}.banner-list{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.banner{border-radius:8px;padding:.6rem .9rem}.banner-warn{background:var(--warn-bg);color:var(--warn-text)}.banner-info{background:var(--info-bg);color:var(--info-text)}.pagination{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.75rem;margin-top:.75rem;display:flex}.pagination .muted{margin-right:auto}.toolbar{justify-content:flex-end;margin:.75rem 0;display:flex}.export-box,.download-box{flex-wrap:wrap;align-items:center;gap:.6rem;display:inline-flex}.inline-error{color:var(--bad);margin:0;font-size:.9rem}.note-inline{color:var(--muted);font-size:.85rem}.note{color:var(--muted);font-size:.9rem}.note summary{cursor:pointer}.breadcrumb ol{flex-wrap:wrap;gap:.25rem;margin:0;padding:0;list-style:none;display:flex}.breadcrumb li+li:before{content:"›";color:var(--muted);margin-right:.25rem}.breadcrumb [aria-current=page]{font-weight:600}.sbom-row{flex-wrap:wrap;align-items:center;gap:.75rem;margin:0 0 .75rem;display:flex}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:.75rem;margin:0;display:grid}.kpi-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:.15rem;padding:.9rem 1rem;display:flex}.kpi-card dd{margin:0}.kpi-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:.8rem}.kpi-value{font-variant-numeric:tabular-nums;font-size:1.9rem;font-weight:700;line-height:1.2}.kpi-delta{font-size:.85rem;font-weight:600}.kpi-hint{color:var(--muted);font-size:.8rem}.tone-good{color:var(--good)}.tone-bad{color:var(--bad)}.tone-neutral{color:var(--muted)}.chart-box{width:100%;min-width:0}.chart-box text{fill:var(--muted)}.as-of{font-size:.85rem;font-weight:400}.table-wrap{overflow-x:auto}.data-table{border-collapse:collapse;font-variant-numeric:tabular-nums;width:100%}.data-table th,.data-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:top;padding:.5rem .65rem}.data-table thead th{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap;font-size:.78rem}.data-table tbody tr:hover{background:var(--hover)}.data-table .num{text-align:right}.data-table tbody th{font-weight:500}.name-cell{flex-wrap:wrap;align-items:baseline;gap:.4rem;display:flex}.name-cell .sub{font-size:.8rem}.th-btn{font:inherit;text-transform:inherit;letter-spacing:inherit;color:inherit;cursor:pointer;background:0 0;border:0;align-items:center;gap:.25rem;padding:0;display:inline-flex}.sort-arrow{min-width:.7rem;font-size:.65rem}.findings .wrap{word-break:break-all;max-width:280px}.badge{border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:.05rem .5rem;font-size:.72rem;font-weight:600;display:inline-block}.badge-stale{background:var(--warn-bg);color:var(--warn-text);border-color:#0000;margin-left:.4rem}.badge-status-vuln{color:var(--sev-high);border-color:var(--sev-high)}.badge-status-passed{color:var(--good);border-color:var(--good)}.badge-status-error,.badge-status-unreadable{color:var(--bad);border-color:var(--bad)}.sev{font-weight:600}.sev-critical{color:var(--sev-critical)}.sev-high{color:var(--sev-high)}.sev-medium{color:var(--sev-medium)}.sev-low{color:var(--sev-low)}.sev-summary{flex-wrap:wrap;gap:1.25rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.repo-header h1{margin-bottom:.25rem}.repo-header p{margin:.1rem 0}
