:root { --bg: #f7f7fb; --card: #fff; --text: #222; --muted: #666; --border: #e3e3ef; --accent: #3b82f6; }
* { box-sizing: border-box; }
body { margin: 0; font-family: system-ui, -apple-system, Segoe UI, Roboto, sans-serif; background: var(--bg); color: var(--text); }
a { color: var(--accent); text-decoration: none; }
.topbar { display:flex; justify-content:space-between; align-items:flex-start; padding:20px 24px; border-bottom:1px solid var(--border); background:#fff; position:sticky; top:0; gap:16px; }
.topbar h1 { margin:0; font-size:22px; }
.topbar p { margin:4px 0 0; color:var(--muted); }
.topnav { display:flex; gap:14px; margin-top:10px; flex-wrap:wrap; }
.topnav a { font-weight:600; }
.badge { padding:8px 12px; border-radius:999px; background:#eef4ff; color:#1d4ed8; font-size:14px; white-space:nowrap; }
main { max-width: 1200px; margin: 0 auto; padding: 24px; }
.card { background: var(--card); border:1px solid var(--border); border-radius:16px; padding:20px; margin-bottom:20px; box-shadow: 0 1px 3px rgba(0,0,0,.04); }
.hero { display:flex; justify-content:space-between; gap:20px; align-items:flex-end; }
.hero h2 { margin-top: 0; }
.hero-stats { display:flex; gap:12px; flex-wrap:wrap; }
.hero-stats div { min-width:120px; padding:12px 14px; border:1px solid var(--border); border-radius:12px; background:#fafafa; }
.hero-stats strong { display:block; font-size:24px; }
.hero-stats span { color:var(--muted); font-size:13px; }
.muted { color: var(--muted); }
.eyebrow { display:inline-block; padding:6px 10px; border-radius:999px; background:#eef4ff; color:#1d4ed8; font-size:12px; font-weight:700; letter-spacing:.02em; margin-bottom:10px; }
.example-grid { display:grid; grid-template-columns:repeat(2, minmax(0, 1fr)); gap:14px; margin:16px 0 12px; }
.example-card { border:1px solid var(--border); border-radius:14px; padding:16px; background:#fafafa; }
.example-card h3 { margin:6px 0 8px; }
.example-card p { margin:0 0 10px; color:var(--muted); }
.small { font-size:13px; }
.steps { display:grid; grid-template-columns: repeat(3, 1fr); gap:12px; }
.step { padding:16px; border:1px solid var(--border); border-radius:14px; background:#fafafa; }
.step span { display:inline-flex; width:28px; height:28px; align-items:center; justify-content:center; border-radius:50%; background:var(--accent); color:#fff; font-weight:700; margin-bottom:8px; }
.step p { margin:8px 0 0; color:var(--muted); }
.section-heading { display:flex; justify-content:space-between; align-items:flex-start; gap:16px; margin-bottom:16px; }
.section-heading h2 { margin:0; }
.section-heading p { margin:6px 0 0; }
form { display:grid; gap:12px; max-width:540px; }
.account-form { max-width:680px; }
input, select, button { padding:12px 14px; border-radius:10px; border:1px solid var(--border); font:inherit; }
button, .button { display:inline-block; background:var(--accent); color:#fff; border:none; cursor:pointer; padding:12px 14px; border-radius:10px; }
.button.secondary { background:#eef2ff; color:#1e3a8a; }
.actions { display:flex; gap:10px; flex-wrap:wrap; margin-top:10px; }
.report-list, .account-list { padding-left:18px; }
.account-list li { margin-bottom:10px; display:flex; flex-wrap:wrap; gap:10px; align-items:center; }
.account-list span { color:var(--muted); font-size: 14px; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:16px; }
pre { white-space: pre-wrap; word-break: break-word; background:#fafafa; border:1px solid var(--border); border-radius:12px; padding:14px; min-height:120px; }
.sev { display:inline-block; padding:2px 8px; border-radius:999px; color:#fff; font-size:12px; margin-right:6px; }
.sev.high { background:#dc2626; }
.sev.medium { background:#f59e0b; }
.sev.low { background:#0ea5e9; }
.sev.info { background:#6b7280; }
.finding-list { list-style:none; padding:0; margin:0; display:grid; gap:12px; }
.finding-list li { border:1px solid var(--border); border-radius:14px; padding:14px; background:#fafafa; }
.finding-head { display:flex; align-items:center; gap:8px; margin-bottom:10px; flex-wrap:wrap; }
.finding-body { display:grid; gap:6px; color:#333; }
.label { display:inline-block; min-width:72px; color:var(--muted); font-weight:600; }
.pill-row { display:flex; gap:8px; flex-wrap:wrap; margin-top:14px; }
.summary-pill { display:inline-flex; align-items:center; padding:6px 10px; border-radius:999px; background:#eef2ff; color:#1e3a8a; font-size:13px; font-weight:600; }
.summary-pill.success { background:#dcfce7; color:#166534; }
.summary-pill.warning { background:#fef3c7; color:#92400e; }
.summary-pill.danger { background:#fee2e2; color:#991b1b; }
.checklist { display:grid; gap:10px; }
.check-item { padding:12px 14px; border-radius:12px; border:1px solid var(--border); background:#fafafa; }
.check-item.success { border-color:#bbf7d0; background:#f0fdf4; }
.diff-wrap table { width:100%; table-layout:fixed; border-collapse:collapse; }
.diff-summary { display:flex; gap:8px; flex-wrap:wrap; margin-bottom:12px; }
.change-diff th, .change-diff td { border:1px solid var(--border); padding:10px; vertical-align:top; }
.change-diff th { background:#f8fafc; text-align:left; font-size:13px; }
.change-row.change-delete { background:#fff1f2; }
.change-row.change-insert { background:#ecfdf5; }
.change-row.change-replace { background:#eff6ff; }
.line-num { width:64px; color:var(--muted); font-variant-numeric: tabular-nums; }
.diff-cell { word-break:break-word; }
.diff-tag { display:inline-block; padding:3px 8px; border-radius:999px; font-size:12px; font-weight:700; color:#fff; }
.diff-tag.insert { background:#16a34a; }
.diff-tag.delete { background:#dc2626; }
.diff-tag.replace { background:#2563eb; }
.inline-ins { background:#dcfce7; color:#166534; text-decoration:none; padding:0 2px; border-radius:4px; }
.inline-del { background:#fee2e2; color:#991b1b; text-decoration:line-through; padding:0 2px; border-radius:4px; }
.empty-diff { text-align:center; color:var(--muted); }
@media (max-width: 900px) { .grid2 { grid-template-columns:1fr; } .steps { grid-template-columns:1fr; } .topbar { flex-direction:column; gap:12px; } .hero { flex-direction:column; align-items:flex-start; } }
