:root {
  --fg:#0f172a; --muted:#64748b; --border:#e2e8f0; --bg:#f8fafc; --panel:#ffffff;
  --accent:#1d4ed8; --accent-2:#0ea5e9; --danger:#ef4444; --warn:#f59e0b; --ok:#10b981;
}
* { box-sizing: border-box; }
html, body { margin:0; padding:0; background:var(--bg); color:var(--fg); font: 14px/1.55 Inter, system-ui, -apple-system, Segoe UI, Roboto, Arial; }
.container { width:1440px; margin:0 auto; padding:16px 24px 32px; }
.topbar { display:flex; align-items:center; justify-content:space-between; border-bottom:1px solid var(--border); padding-bottom:12px; margin-bottom:16px; }
.subtitle { color:var(--muted); margin-top:4px; }
.controls { display:flex; align-items:center; gap:16px; }
.switch { display:flex; align-items:center; gap:8px; user-select:none; }
.lang button { margin-left:8px; padding:6px 10px; border:1px solid var(--border); background:#fff; cursor:pointer; border-radius:8px; }
.layout { display:grid; grid-template-columns: 220px 1fr; gap:16px; }
.sidebar { background:var(--panel); border:1px solid var(--border); border-radius:12px; padding:12px; }
.sidebar ul { list-style:none; padding:0; margin:0; }
.sidebar li { padding:10px 12px; border-radius:8px; cursor:pointer; }
.sidebar li.active, .sidebar li:hover { background:#eef2ff; color:#1d4ed8; }
.content { display:flex; flex-direction:column; gap:16px; }
.panel { background:var(--panel); border:1px solid var(--border); border-radius:12px; padding:12px; }
.panel-head { display:flex; justify-content:space-between; align-items:center; gap:8px; }
#searchInput { padding:8px 10px; border:1px solid var(--border); border-radius:8px; width:280px; }
.table { width:100%; border-collapse: collapse; }
.table th, .table td { border-bottom:1px solid var(--border); padding:8px; text-align:left; }
.table th { cursor:pointer; user-select:none; }
.badge { font-size:12px; padding:2px 6px; border-radius:999px; border:1px solid var(--border); background:#fff; }
.footer { margin-top:24px; color:var(--muted); text-align:center; }
.pre { background:#0b1020; color:#c7d2fe; padding:12px; border-radius:8px; overflow:auto; min-height:60px; }
.finding { border:1px dashed var(--border); padding:8px; border-radius:8px; margin-bottom:8px; background:#fff; }
.sev-high { border-color:var(--danger); }
.sev-medium { border-color:var(--warn); }
.sev-low { border-color:var(--ok); }
.kpi-grid { display:grid; grid-template-columns: repeat(4, 1fr); gap:12px; }
.kpi { background:linear-gradient(135deg, #e0e7ff, #f0f9ff); border:1px solid var(--border); border-radius:12px; padding:16px; }
.kpi h3 { margin:0 0 8px; font-size:14px; color:#334155; }
.kpi .num { font-size:28px; font-weight:700; }
.hidden { display:none; }
.rtl { direction: rtl; }
