:root{--fg: #1a1a1a;--muted: #6b7280;--border: #e5e7eb;--bg: #ffffff;--bg-soft: #f9fafb;--accent: #2563eb;--danger: #dc2626;--warn: #d97706;--ok: #059669;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;height:100%}body{background:var(--bg-soft);color:var(--fg);font-size:14px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.layout{display:grid;grid-template-columns:220px 1fr;height:100vh}.sidebar{background:var(--fg);color:#fff;padding:16px 0;overflow-y:auto}.sidebar h1{font-size:14px;margin:0 16px 16px;letter-spacing:.02em;opacity:.7}.sidebar .nav a{display:block;padding:8px 16px;color:#cbd5e1}.sidebar .nav a.active,.sidebar .nav a:hover{background:#ffffff14;color:#fff;text-decoration:none}.sidebar .login{padding:12px 16px;margin-top:24px;border-top:1px solid rgba(255,255,255,.1)}.sidebar .login input{width:100%;font-size:12px;padding:6px 8px;border-radius:4px;border:none}.sidebar .login label{color:#94a3b8;font-size:11px;display:block;margin-bottom:4px}.sidebar .login button{margin-top:8px;width:100%;padding:6px 8px;border-radius:4px;border:none;background:var(--accent);color:#fff;cursor:pointer}.main{padding:24px 32px;overflow-y:auto}.main h2{margin-top:0}.card{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:16px;margin-bottom:16px}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px}.stat-card{background:var(--bg);border:1px solid var(--border);border-radius:6px;padding:16px}.stat-card .label{color:var(--muted);font-size:12px}.stat-card .value{font-size:28px;font-weight:600;margin-top:4px}.table{width:100%;border-collapse:collapse;background:var(--bg);border:1px solid var(--border);border-radius:6px;overflow:hidden}.table th,.table td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border)}.table th{background:var(--bg-soft);font-weight:600;font-size:12px;color:var(--muted)}.table tbody tr:last-child td{border-bottom:0}.table tbody tr:hover{background:var(--bg-soft)}.badge{display:inline-block;padding:2px 8px;border-radius:12px;font-size:11px;background:var(--bg-soft);border:1px solid var(--border)}.badge.severity-high{background:#fee2e2;border-color:#fecaca;color:var(--danger)}.badge.severity-mid{background:#fef3c7;border-color:#fde68a;color:var(--warn)}.badge.severity-low{background:#d1fae5;border-color:#a7f3d0;color:var(--ok)}.badge.status-pending{background:#f3f4f6}.badge.status-fetched{background:#dbeafe;color:var(--accent)}.badge.status-analyzed{background:#d1fae5;color:var(--ok)}.badge.status-failed{background:#fee2e2;color:var(--danger)}.form-row{display:flex;gap:12px;align-items:center;margin-bottom:12px}.form-row label{width:140px;color:var(--muted);font-size:13px}.form-row input,.form-row select,.form-row textarea{flex:1;padding:6px 8px;border-radius:4px;border:1px solid var(--border);font:inherit}.form-row textarea{min-height:80px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.button{padding:6px 14px;border-radius:4px;border:1px solid var(--border);background:var(--bg);cursor:pointer}.button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}.button.danger{background:var(--danger);color:#fff;border-color:var(--danger)}.button:disabled{opacity:.5;cursor:not-allowed}.toolbar{display:flex;gap:8px;align-items:center;margin-bottom:16px;flex-wrap:wrap}.toolbar input,.toolbar select{padding:6px 8px;border-radius:4px;border:1px solid var(--border)}.toolbar .spacer{flex:1}.error{background:#fee2e2;border:1px solid #fecaca;color:var(--danger);padding:8px 12px;border-radius:4px;margin:8px 0}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.markdown{line-height:1.7}.markdown h1{font-size:24px}.markdown h2{font-size:19px;margin-top:24px}.markdown h3{font-size:16px;margin-top:18px}.markdown pre{background:var(--bg-soft);padding:12px;border-radius:4px;overflow-x:auto}.markdown code{background:var(--bg-soft);padding:1px 5px;border-radius:3px;font-size:13px}.markdown pre code{padding:0;background:none}.markdown blockquote{border-left:3px solid var(--border);padding-left:12px;color:var(--muted);margin:8px 0}.markdown table{border-collapse:collapse;margin:12px 0}.markdown th,.markdown td{border:1px solid var(--border);padding:6px 10px}
