:root {
  --bg: #0f1115; --card: #1a1d24; --card2: #21252e; --fg: #e6e8ec; --muted: #9aa2af;
  --line: #2b303b; --accent: #4f8cff; --green: #2ec26a; --amber: #f5a623; --red: #ff5a5a;
}
@media (prefers-color-scheme: light) {
  :root { --bg:#f6f7f9; --card:#fff; --card2:#f0f2f5; --fg:#1a1d24; --muted:#5b6472; --line:#e2e5ea; }
}
* { box-sizing: border-box; }
body { margin:0; background:var(--bg); color:var(--fg); font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif; }
a { color: var(--accent); text-decoration: none; }
header { position:sticky; top:0; z-index:10; background:var(--card); border-bottom:1px solid var(--line);
  display:flex; gap:14px; align-items:center; padding:10px 16px; flex-wrap:wrap; }
header .brand { font-weight:700; }
header nav a { color:var(--muted); margin-right:12px; }
header nav a:hover { color:var(--fg); }
.container { max-width: 1100px; margin: 0 auto; padding: 16px; }
.row { display:flex; gap:12px; flex-wrap:wrap; }
.stat { background:var(--card); border:1px solid var(--line); border-radius:10px; padding:10px 14px; min-width:110px; }
.stat .n { font-size:22px; font-weight:700; }
.stat .l { color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:.4px; }
.filters { display:flex; gap:8px; flex-wrap:wrap; margin:14px 0; }
.filters a, .btn { background:var(--card2); border:1px solid var(--line); color:var(--fg); padding:6px 12px;
  border-radius:20px; font-size:13px; cursor:pointer; }
.filters a.active { background:var(--accent); border-color:var(--accent); color:#fff; }
.cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(300px,1fr)); gap:14px; }
.vcard { background:var(--card); border:1px solid var(--line); border-radius:12px; overflow:hidden; display:flex; flex-direction:column; }
.vcard .img { height:150px; background:var(--card2) center/cover no-repeat; display:flex; align-items:center; justify-content:center; color:var(--muted); }
.vcard .body { padding:12px; }
.vcard h3 { margin:0 0 6px; font-size:15px; }
.vcard .meta { color:var(--muted); font-size:13px; }
.badge { display:inline-block; padding:2px 8px; border-radius:12px; font-size:12px; font-weight:600; }
.badge.qualified { background:rgba(46,194,106,.15); color:var(--green); }
.badge.manual_review { background:rgba(245,166,35,.15); color:var(--amber); }
.badge.rejected { background:rgba(255,90,90,.15); color:var(--red); }
.badge.new { background:var(--card2); color:var(--muted); }
.score { font-weight:700; font-size:18px; }
.risk { color:var(--amber); font-size:12px; margin-top:6px; }
table { width:100%; border-collapse:collapse; }
th,td { text-align:left; padding:8px; border-bottom:1px solid var(--line); font-size:14px; vertical-align:top; }
th { color:var(--muted); font-weight:600; }
.section { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:16px; margin:14px 0; }
.section h2 { margin:0 0 10px; font-size:16px; }
.kv { display:grid; grid-template-columns:180px 1fr; gap:4px 12px; font-size:14px; }
.kv .k { color:var(--muted); }
.bar { height:8px; background:var(--card2); border-radius:4px; overflow:hidden; }
.bar > span { display:block; height:100%; background:var(--accent); }
.prov { font-size:11px; color:var(--muted); border:1px solid var(--line); border-radius:4px; padding:0 4px; margin-left:6px; }
.gallery { display:flex; gap:8px; overflow-x:auto; }
.gallery img { height:110px; border-radius:8px; }
.actions { display:flex; gap:8px; flex-wrap:wrap; margin-top:10px; }
.actions button { background:var(--card2); border:1px solid var(--line); color:var(--fg); padding:8px 12px; border-radius:8px; cursor:pointer; }
.actions button.warn { color:var(--red); }
.pill { font-size:12px; color:var(--muted); }
.overflow { overflow-x:auto; }
input,select { background:var(--card2); border:1px solid var(--line); color:var(--fg); border-radius:8px; padding:8px; }
.login { max-width:340px; margin:12vh auto; }
.err { color:var(--red); }
@media (max-width:640px){ .kv{grid-template-columns:1fr;} .kv .k{margin-top:6px;} }
