.sbom-page.svelte-15hxe7g{gap:var(--space-5);flex-direction:column;display:flex}.page-header.svelte-15hxe7g{justify-content:space-between;align-items:center;gap:var(--space-4);background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-4) var(--space-5);display:flex}.header-left.svelte-15hxe7g{align-items:center;gap:var(--space-3);display:flex}.header-icon.svelte-15hxe7g{border-radius:var(--radius-md);background:color-mix(in srgb, var(--color-accent-500) 12%, transparent);width:36px;height:36px;color:var(--color-accent-500);flex-shrink:0;justify-content:center;align-items:center;display:flex}.header-title.svelte-15hxe7g{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-fg-primary);margin:0;line-height:1.2}.header-subtitle.svelte-15hxe7g{font-size:var(--text-sm);color:var(--color-fg-muted);margin:2px 0 0}.card.svelte-15hxe7g{background:var(--color-bg-elevated);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.upload-card.svelte-15hxe7g{padding:var(--space-5);gap:var(--space-3);flex-direction:column;display:flex}.upload-zone.svelte-15hxe7g{border:2px dashed var(--color-border);border-radius:var(--radius-md);justify-content:center;align-items:center;gap:var(--space-2);text-align:center;cursor:default;-webkit-user-select:none;user-select:none;flex-direction:column;padding:2.5rem 1.5rem;transition:border-color .15s,background-color .15s;display:flex}.upload-zone.is-dragging.svelte-15hxe7g{border-color:var(--color-accent-500);background-color:color-mix(in srgb, var(--color-accent-500) 5%, transparent)}.upload-zone.is-uploading.svelte-15hxe7g{border-color:color-mix(in srgb, var(--color-accent-500) 50%, var(--color-border));background-color:color-mix(in srgb, var(--color-accent-500) 3%, transparent);cursor:wait}.upload-icon.svelte-15hxe7g{color:var(--color-fg-muted);margin-bottom:var(--space-1);justify-content:center;align-items:center;transition:color .15s;display:flex}.upload-icon.icon-dragging.svelte-15hxe7g{color:var(--color-accent-500)}.upload-spinner.svelte-15hxe7g{margin-bottom:var(--space-1);justify-content:center;align-items:center;display:flex}.upload-prompt.svelte-15hxe7g{font-size:var(--text-sm);color:var(--color-fg-secondary);align-items:center;gap:.3rem;margin:0;display:flex}.browse-btn.svelte-15hxe7g{color:var(--color-accent-500);font-size:inherit;font-weight:var(--weight-medium);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;padding:0;text-decoration:underline}.browse-btn.svelte-15hxe7g:hover{color:var(--color-accent-600)}.upload-hint.svelte-15hxe7g{font-size:var(--text-xs);color:var(--color-fg-muted);margin:0}.upload-state-label.svelte-15hxe7g{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-fg-primary);margin:0}.upload-state-hint.svelte-15hxe7g{font-size:var(--text-xs);color:var(--color-fg-muted);margin:0}.upload-error.svelte-15hxe7g{align-items:center;gap:var(--space-2);padding:.625rem var(--space-3);background:color-mix(in srgb, var(--color-danger) 8%, transparent);border:1px solid color-mix(in srgb, var(--color-danger) 22%, transparent);border-radius:var(--radius-md);font-size:var(--text-sm);color:var(--color-danger);display:flex}.upload-error.svelte-15hxe7g svg:where(.svelte-15hxe7g){flex-shrink:0}.upload-error.svelte-15hxe7g span:where(.svelte-15hxe7g){flex:1}.error-dismiss.svelte-15hxe7g{padding:0 var(--space-1);color:var(--color-fg-muted);cursor:pointer;background:0 0;border:none;flex-shrink:0;margin-left:auto;font-size:1.125rem;line-height:1}.error-dismiss.svelte-15hxe7g:hover{color:var(--color-fg-primary)}.history-hd.svelte-15hxe7g{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;display:flex}.history-title.svelte-15hxe7g{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-fg-primary);margin:0}.refresh-btn.svelte-15hxe7g{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-fg-secondary);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--motion-fast) ease, color var(--motion-fast) ease, border-color var(--motion-fast) ease;background:0 0;padding:.3125rem .625rem;display:inline-flex}.refresh-btn.svelte-15hxe7g:hover:not(:disabled){background-color:color-mix(in srgb, var(--color-fg-primary) 6%, transparent);color:var(--color-fg-primary);border-color:var(--color-border-strong)}.refresh-btn.svelte-15hxe7g:disabled{opacity:.5;cursor:not-allowed}.state-row.svelte-15hxe7g{justify-content:center;align-items:center;gap:var(--space-3);padding:3.5rem var(--space-5);font-size:var(--text-sm);color:var(--color-fg-muted);display:flex}.state-error.svelte-15hxe7g{color:var(--color-danger)}.state-noauth.svelte-15hxe7g{color:var(--color-fg-muted);gap:var(--space-2)}.auth-link.svelte-15hxe7g{color:var(--color-accent-500);font-weight:var(--weight-medium);text-decoration:none}.auth-link.svelte-15hxe7g:hover{text-decoration:underline}.state-empty.svelte-15hxe7g{gap:var(--space-3);flex-direction:column}.state-empty.svelte-15hxe7g p:where(.svelte-15hxe7g){color:var(--color-fg-muted);font-size:var(--text-sm);margin:0}.table-scroll.svelte-15hxe7g{overflow-x:auto}.import-table.svelte-15hxe7g{border-collapse:collapse;width:100%;font-size:var(--text-sm)}.import-table.svelte-15hxe7g thead:where(.svelte-15hxe7g) tr:where(.svelte-15hxe7g){border-bottom:1px solid var(--color-border)}.import-table.svelte-15hxe7g th:where(.svelte-15hxe7g){padding:.5625rem var(--space-4);text-align:left;font-size:var(--text-xs);font-weight:var(--weight-semibold);color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.th-expand.svelte-15hxe7g{width:36px;padding-right:0!important}.import-table.svelte-15hxe7g th.th-num:where(.svelte-15hxe7g),.td-num.svelte-15hxe7g{text-align:center;min-width:5rem}.import-row.svelte-15hxe7g{border-bottom:1px solid var(--color-border);cursor:pointer;transition:background-color 80ms}.import-row.svelte-15hxe7g:last-of-type:not(.is-expanded){border-bottom:none}.import-row.svelte-15hxe7g:hover{background-color:color-mix(in srgb, var(--color-fg-primary) 3%, transparent)}.import-row.is-expanded.svelte-15hxe7g{background-color:color-mix(in srgb, var(--color-accent-500) 5%, transparent);border-bottom-color:#0000}.import-table.svelte-15hxe7g td:where(.svelte-15hxe7g){padding:.8125rem var(--space-4);color:var(--color-fg-secondary);vertical-align:middle}.td-expand.svelte-15hxe7g{width:36px;padding-right:0!important}.chevron.svelte-15hxe7g{color:var(--color-fg-muted);transition:transform .2s var(--ease-out);align-items:center;display:inline-flex}.chevron.is-open.svelte-15hxe7g{color:var(--color-accent-500);transform:rotate(90deg)}.file-cell.svelte-15hxe7g{align-items:center;gap:var(--space-2);min-width:0;max-width:300px;display:flex}.file-icon.svelte-15hxe7g{color:var(--color-fg-muted);flex-shrink:0;align-items:center;display:flex}.file-name.svelte-15hxe7g{font-weight:var(--weight-medium);color:var(--color-fg-primary);text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);overflow:hidden}.spec-ver.svelte-15hxe7g{font-size:var(--text-xs);color:var(--color-fg-muted);background:color-mix(in srgb, var(--color-fg-muted) 10%, transparent);border-radius:var(--radius-sm);white-space:nowrap;flex-shrink:0;padding:.125rem .4375rem}.fmt-badge.svelte-15hxe7g{border-radius:var(--radius-sm);font-size:.6875rem;font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;align-items:center;padding:.1875rem .5rem;display:inline-flex}.fmt-cyclonedx.svelte-15hxe7g,.fmt-spdx.svelte-15hxe7g{background:color-mix(in srgb, var(--color-accent-500) 12%, transparent);color:var(--color-accent-500)}.status-chip.svelte-15hxe7g{border-radius:var(--radius-full);font-size:.6875rem;font-weight:var(--weight-medium);white-space:nowrap;align-items:center;padding:.1875rem .5625rem;display:inline-flex}.status-complete.svelte-15hxe7g{background:color-mix(in srgb, var(--color-success) 12%, transparent);color:var(--color-success)}.status-failed.svelte-15hxe7g{background:color-mix(in srgb, var(--color-danger) 12%, transparent);color:var(--color-danger)}.status-processing.svelte-15hxe7g{background:color-mix(in srgb, var(--color-warning) 12%, transparent);color:var(--color-warning)}.status-pending.svelte-15hxe7g{background:color-mix(in srgb, var(--color-fg-muted) 12%, transparent);color:var(--color-fg-muted)}.td-num.svelte-15hxe7g{font-variant-numeric:tabular-nums;font-weight:var(--weight-medium);color:var(--color-fg-primary);white-space:nowrap}.td-date.svelte-15hxe7g{white-space:nowrap;font-size:var(--text-xs);color:var(--color-fg-muted);font-variant-numeric:tabular-nums}.td-actions.svelte-15hxe7g{white-space:nowrap}.action-group.svelte-15hxe7g{align-items:center;gap:var(--space-1);display:flex}.action-btn.svelte-15hxe7g{border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-fg-secondary);font-size:.6875rem;font-weight:var(--weight-medium);cursor:pointer;background:0 0;align-items:center;padding:.25rem .5625rem;transition:background-color .1s,color .1s,border-color .1s;display:inline-flex}.action-btn.svelte-15hxe7g:hover{background:color-mix(in srgb, var(--color-fg-primary) 7%, transparent);color:var(--color-fg-primary);border-color:var(--color-border-strong)}.detail-row.svelte-15hxe7g>td:where(.svelte-15hxe7g){background:color-mix(in srgb, var(--color-accent-500) 2%, var(--color-bg-base));border-bottom:2px solid var(--color-border);padding:0}.detail-state.svelte-15hxe7g{align-items:center;gap:var(--space-2);padding:var(--space-4) var(--space-5);font-size:var(--text-sm);color:var(--color-fg-muted);display:flex}.detail-error.svelte-15hxe7g{color:var(--color-danger)}.detail-panel.svelte-15hxe7g{padding:var(--space-4) var(--space-5);gap:var(--space-4);flex-direction:column;display:flex}.detail-meta.svelte-15hxe7g{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-fg-secondary);flex-wrap:wrap;display:flex}.detail-meta-item.svelte-15hxe7g strong:where(.svelte-15hxe7g){color:var(--color-fg-primary);font-weight:var(--weight-semibold)}.detail-meta-sep.svelte-15hxe7g{color:var(--color-fg-muted)}.comp-wrap.svelte-15hxe7g{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.comp-table.svelte-15hxe7g{border-collapse:collapse;width:100%;font-size:var(--text-xs)}.comp-table.svelte-15hxe7g thead:where(.svelte-15hxe7g) tr:where(.svelte-15hxe7g){background:color-mix(in srgb, var(--color-fg-muted) 5%, transparent);border-bottom:1px solid var(--color-border)}.comp-table.svelte-15hxe7g th:where(.svelte-15hxe7g){padding:.4375rem var(--space-3);text-align:left;font-weight:var(--weight-semibold);color:var(--color-fg-muted);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap}.comp-table.svelte-15hxe7g td:where(.svelte-15hxe7g){padding:.5625rem var(--space-3);color:var(--color-fg-secondary);border-bottom:1px solid color-mix(in srgb, var(--color-border) 55%, transparent);vertical-align:middle}.comp-row.svelte-15hxe7g:last-child td:where(.svelte-15hxe7g){border-bottom:none}.comp-name.svelte-15hxe7g{font-weight:var(--weight-medium);color:var(--color-fg-primary);text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.comp-ver.svelte-15hxe7g{font-variant-numeric:tabular-nums;white-space:nowrap}.eco-tag.svelte-15hxe7g{background:color-mix(in srgb, var(--color-fg-muted) 10%, transparent);border-radius:var(--radius-sm);color:var(--color-fg-secondary);font-weight:var(--weight-medium);padding:.125rem .4375rem}.muted.svelte-15hxe7g{color:var(--color-fg-muted)}.cve-list.svelte-15hxe7g{flex-wrap:wrap;align-items:center;gap:.25rem;display:flex}.cve-tag.svelte-15hxe7g{background:color-mix(in srgb, var(--color-danger) 8%, transparent);border:1px solid color-mix(in srgb, var(--color-danger) 20%, transparent);border-radius:var(--radius-sm);color:var(--color-danger);font-size:.6875rem;font-weight:var(--weight-medium);white-space:nowrap;padding:.125rem .4375rem;text-decoration:none;transition:background-color .1s;display:inline-block}.cve-tag.svelte-15hxe7g:hover{background:color-mix(in srgb, var(--color-danger) 16%, transparent);text-decoration:none}.cve-overflow.svelte-15hxe7g{color:var(--color-fg-muted);padding:.125rem .25rem;font-size:.6875rem}.load-more.svelte-15hxe7g{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border);justify-content:center;display:flex}.load-more-btn.svelte-15hxe7g{align-items:center;gap:var(--space-2);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-fg-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:background-color var(--motion-fast) ease, color var(--motion-fast) ease, border-color var(--motion-fast) ease;background:0 0;padding:.4375rem 1.125rem;display:inline-flex}.load-more-btn.svelte-15hxe7g:hover:not(:disabled){background:color-mix(in srgb, var(--color-fg-primary) 6%, transparent);color:var(--color-fg-primary);border-color:var(--color-border-strong)}.load-more-btn.svelte-15hxe7g:disabled{opacity:.6;cursor:not-allowed}.spinner.svelte-15hxe7g{border:2px solid var(--color-border);border-top-color:var(--color-accent-500);border-radius:var(--radius-full);flex-shrink:0;width:18px;height:18px;animation:.65s linear infinite svelte-15hxe7g-spin}.spinner-sm.svelte-15hxe7g{border-width:1.5px;width:13px;height:13px}@keyframes svelte-15hxe7g-spin{to{transform:rotate(360deg)}}
