:root{--bg-page: #f9fafb;--bg-surface: #ffffff;--bg-subtle: #f3f4f6;--bg-inset: #f9fafb;--border: #e5e7eb;--border-subtle: #f3f4f6;--text-primary: #111827;--text-secondary: #374151;--text-muted: #6b7280;--text-placeholder: #9ca3af;--text-faint: #d1d5db;--accent-bg: #111827;--accent-fg: #ffffff;--header-bg: #111827;--header-nav-active-bg: #1f2937;--error-bg: #fef2f2;--error-border: #fecaca;--error-text: #dc2626;--error-text-2: #991b1b;--success-bg: #f0fdf4;--success-border: #bbf7d0;--success-text: #15803d;--warning-bg: #fff7ed;--warning-border: #fed7aa;--warning-text: #9a3412;--caution-bg: #fef9c3;--caution-text: #854d0e;--info-bg: #eff6ff;--info-border: #bfdbfe;--info-text: #1d4ed8}@media (prefers-color-scheme: dark){:root{--bg-page: #0d1117;--bg-surface: #161b22;--bg-subtle: #21262d;--bg-inset: #0d1117;--border: #30363d;--border-subtle: #21262d;--text-primary: #e6edf3;--text-secondary: #c9d1d9;--text-muted: #8b949e;--text-placeholder: #6e7681;--text-faint: #484f58;--accent-bg: #e6edf3;--accent-fg: #0d1117;--error-bg: #2d0f0f;--error-border: #6b2020;--error-text: #f87171;--error-text-2: #fca5a5;--success-bg: #0d2a1e;--success-border: #1a4731;--success-text: #4ade80;--warning-bg: #2d1609;--warning-border: #6b3a1a;--warning-text: #fb923c;--caution-bg: #2d230f;--caution-text: #fbbf24;--info-bg: #0d1a2d;--info-border: #1a3a6b;--info-text: #60a5fa}}.page-layout{min-height:100vh;background:var(--bg-page);display:flex;flex-direction:column}.app-card{background:var(--bg-surface);border:1px solid var(--border);border-radius:12px}.btn-primary{background:var(--accent-bg);color:var(--accent-fg);border:none;border-radius:8px;cursor:pointer;font-family:inherit;font-weight:600}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:8px;cursor:pointer;font-family:inherit}.btn-danger{background:transparent;color:var(--error-text);border:1px solid var(--error-border);border-radius:8px;cursor:pointer;font-family:inherit}.btn-remove{background:none;border:none;cursor:pointer;color:var(--text-faint);font-size:18px;line-height:1;padding:2px 4px;border-radius:4px;font-family:inherit}.btn-remove:hover{color:#dc2626}.form-input{background:var(--bg-surface);color:var(--text-primary);border:1px solid var(--border);border-radius:8px;font-family:inherit;outline:none}.form-input:focus{border-color:var(--accent-bg)}.form-input::placeholder{color:var(--text-placeholder)}.app-header{background:var(--header-bg);padding:0 24px;display:flex;align-items:center;justify-content:space-between;height:52px;flex-shrink:0}.app-header-nav-link{padding:4px 10px;border-radius:6px;font-size:13px;font-weight:500;text-decoration:none;color:#9ca3af;background:transparent}.app-header-nav-link.active{color:#fff;background:var(--header-nav-active-bg)}.app-footer{margin-top:auto;padding:24px;text-align:center;border-top:1px solid var(--border-subtle);background:transparent}.app-footer a{color:var(--text-placeholder)}.badge-source{display:inline-block;padding:1px 7px;border-radius:5px;font-size:11px;font-weight:600;letter-spacing:.02em;font-family:monospace;vertical-align:middle}.badge-source-npm{background:#fff1f2;color:#be123c}.badge-source-github{background:var(--bg-subtle);color:var(--text-secondary)}.badge-source-pypi{background:#eff6ff;color:#1d4ed8}.badge-source-nuget{background:#f5f3ff;color:#6d28d9}@media (prefers-color-scheme: dark){.badge-source-npm{background:#2d0f17;color:#f43f5e}.badge-source-pypi{background:#0d1a2a;color:#60a5fa}.badge-source-nuget{background:#1a1226;color:#a78bfa}}.badge-cve{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:5px;font-size:11px;font-weight:700;letter-spacing:.03em;vertical-align:middle;cursor:default}.badge-cve-critical{background:#fee2e2;color:#991b1b}.badge-cve-high{background:#ffedd5;color:#9a3412}.badge-cve-medium{background:#fef9c3;color:#854d0e}.badge-cve-low{background:#f0fdf4;color:#15803d}.badge-cve-unknown{background:var(--bg-subtle);color:var(--text-muted)}@media (prefers-color-scheme: dark){.badge-cve-critical{background:#2d0f0f;color:#f87171}.badge-cve-high{background:#2d1609;color:#fb923c}.badge-cve-medium{background:#2d230f;color:#fbbf24}.badge-cve-low{background:#0d2a1e;color:#4ade80}}.badge-license{display:inline-block;margin-left:8px;padding:1px 7px;border-radius:5px;font-size:11px;font-weight:700;letter-spacing:.03em;vertical-align:middle;cursor:default;font-family:monospace}.badge-license-high{background:#fee2e2;color:#991b1b}.badge-license-medium{background:#fef9c3;color:#854d0e}@media (prefers-color-scheme: dark){.badge-license-high{background:#2d0f0f;color:#f87171}.badge-license-medium{background:#2d230f;color:#fbbf24}}.badge-severity{padding:2px 8px;border-radius:5px;font-size:11px;font-weight:600}.badge-severity-breaking{background:#fef2f2;color:#dc2626}.badge-severity-minor{background:#f0fdf4;color:#16a34a}.badge-severity-security{background:#fff7ed;color:#ea580c}.badge-severity-deprecation{background:#fefce8;color:#ca8a04}@media (prefers-color-scheme: dark){.badge-severity-breaking{background:#2d0f0f;color:#f87171}.badge-severity-minor{background:#0d2a1e;color:#4ade80}.badge-severity-security{background:#2d1609;color:#fb923c}.badge-severity-deprecation{background:#2d230f;color:#fbbf24}}@media (max-width: 640px){.header-email{display:none}.dashboard-main{padding-left:12px!important;padding-right:12px!important}.card-header{flex-wrap:wrap!important}.card-actions{width:100%;margin-left:0!important;padding-top:8px;border-top:1px solid var(--border-subtle)}}*,*:before,*:after{box-sizing:border-box}:root{color-scheme:light dark}html,body{margin:0;padding:0;background:var(--bg-page);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;-webkit-text-size-adjust:100%}input,button,select,textarea{font-family:inherit}input,select,textarea{background-color:var(--bg-surface);color:var(--text-primary)}
