:root{--bg:#f4f5f7;--card:#fff;--ink:#1b1f24;--mute:#6b7280;--line:#e3e6ea;--acc:#0f766e;--acc2:#115e59;--warn:#b45309;--warnbg:#fff7ed;--okbg:#ecfdf5;--ok:#047857;--crit:#b91c1c;--critbg:#fef2f2;--info:#1d4ed8;--infobg:#eff6ff}
*{box-sizing:border-box}
body{margin:0;font:14px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;background:var(--bg);color:var(--ink)}
a{color:var(--acc);text-decoration:none}a:hover{text-decoration:underline}
header.top{display:flex;align-items:center;gap:18px;padding:10px 20px;background:#111827;color:#e5e7eb;flex-wrap:wrap}
header .brand{color:#fff;font-weight:700;font-size:16px;letter-spacing:.2px}header .brand span{color:#5eead4}
header nav{display:flex;gap:4px;flex-wrap:wrap}
header nav a{color:#cbd5e1;padding:6px 10px;border-radius:6px}header nav a.on,header nav a:hover{background:#1f2937;color:#fff;text-decoration:none}
header .meta{margin-left:auto;color:#9ca3af;font-size:12px}header .meta a{color:#9ca3af}
main{padding:20px;max-width:1500px;margin:0 auto}
h1{font-size:22px;margin:0 0 14px}h2{font-size:16px;margin:22px 0 8px}h3{font-size:14px;margin:14px 0 6px}
.banner{padding:10px 20px;border-bottom:1px solid var(--line)}
.banner.ok{background:var(--okbg);color:var(--ok)}.banner.warn{background:var(--warnbg);color:var(--warn)}
.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px}
.card{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:14px}
.card .n{font-size:26px;font-weight:700}.card .l{color:var(--mute);font-size:12px}
.box{background:var(--card);border:1px solid var(--line);border-radius:10px;padding:16px;margin-bottom:16px}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:900px){.grid2{grid-template-columns:1fr}}
table{width:100%;border-collapse:collapse;background:var(--card)}
th,td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
th{font-size:12px;text-transform:uppercase;letter-spacing:.4px;color:var(--mute);background:#fafbfc}
tr:hover td{background:#fbfcfd}
.num{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums}
.mute{color:var(--mute)}.small{font-size:12px}
.tag{display:inline-block;padding:2px 7px;border-radius:999px;font-size:11px;background:#e5e7eb;color:#374151;white-space:nowrap}
.tag.ok{background:var(--okbg);color:var(--ok)}.tag.warn{background:var(--warnbg);color:var(--warn)}.tag.crit{background:var(--critbg);color:var(--crit)}.tag.info{background:var(--infobg);color:var(--info)}
.tag.exact{background:#d1fae5;color:#065f46}.tag.variant{background:#fef3c7;color:#92400e}.tag.similar{background:#e0e7ff;color:#3730a3}
.pos-cheaper{color:var(--ok);font-weight:600}.pos-pricier{color:var(--crit);font-weight:600}
button,.btn{background:var(--acc);color:#fff;border:0;border-radius:7px;padding:7px 12px;font:inherit;cursor:pointer}
button:hover,.btn:hover{background:var(--acc2);text-decoration:none}
button.sec,.btn.sec{background:#fff;color:var(--ink);border:1px solid #cbd5e1}button.sec:hover{background:#f3f4f6}
button.danger{background:var(--crit)}button.small,.btn.small{padding:4px 9px;font-size:12px}
input[type=text],input[type=number],input[type=password],input[type=url],select,textarea{font:inherit;padding:7px 9px;border:1px solid #cbd5e1;border-radius:7px;width:100%;background:#fff}
textarea{min-height:70px}
label{display:block;font-size:12px;color:var(--mute);margin-bottom:3px}
.field{margin-bottom:10px}
.inline{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.inline .field{margin:0}.inline form{display:inline}
.toolbar input,.toolbar select,.inline input,.inline select{width:auto}.inline .field[style*="flex:1"] input{width:100%}
.toolbar{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:10px 0}
.thumb{width:44px;height:44px;object-fit:cover;border-radius:6px;border:1px solid var(--line);background:#fff}
.bar{display:flex;height:14px;border-radius:7px;overflow:hidden;background:#e5e7eb;margin:6px 0}
.bar div{height:100%}.bar .c{background:#10b981}.bar .e{background:#94a3b8}.bar .p{background:#ef4444}.bar .u{background:#e5e7eb}
details summary{cursor:pointer;color:var(--acc)}
.login{max-width:360px;margin:80px auto}
code{background:#f3f4f6;padding:1px 5px;border-radius:4px;font-size:12px}
.kv td:first-child{color:var(--mute);width:160px}
.switch{display:inline-flex;align-items:center;gap:6px}
