/* Poznámka: dřív zde byl @import na Google Fonts (IBM Plex) — odstraněno,
   protože @import blokuje vykreslení stránky, dokud se font nestáhne, což
   na některých hostinzích výrazně zpomaluje každé načtení stránky.
   Používáme jen systémová písma (Segoe UI / Arial), vypadají dobře a
   načtou se okamžitě. */
:root{
  --bg:#12151a;
  --panel:#181c23;
  --panel2:#1f242c;
  --line:#2a303a;
  --text:#e7eaee;
  --text-dim:#9aa4b2;
  --renault:#ffcc33;
  --dacia:#5fb6e0;
  --ok:#4caf7d;
  --warn:#e0a83f;
  --err:#e0605f;
  --mono:"SF Mono",Consolas,"Courier New",monospace;
  --sans:"Segoe UI",Arial,Helvetica,sans-serif;
}
*{box-sizing:border-box;}
body{margin:0;background:var(--bg);color:var(--text);font-family:var(--sans);font-size:15.5px;min-height:100vh;}
.wrap{max-width:1240px;margin:0 auto;padding:40px 28px 80px;}
header{margin-bottom:28px;}
header h1{font-size:29px;margin:0 0 6px;font-weight:700;letter-spacing:-0.01em;}
header h1 a{color:inherit;text-decoration:none;}
header p{margin:0;color:var(--text-dim);font-size:15.5px;}

.panel{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:24px 28px;margin-bottom:20px;}
.row{display:flex;gap:14px;flex-wrap:wrap;}
.field{flex:1;min-width:180px;display:flex;flex-direction:column;gap:7px;}
label{font-size:12.5px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;}
select, textarea, input[type=text], input[type=password], input[type=file]{
  background:var(--panel2);border:1px solid var(--line);color:var(--text);
  border-radius:8px;padding:11px 14px;font-size:15.5px;font-family:var(--sans);outline:none;
}
select:focus, textarea:focus, input:focus{border-color:#4a5568;}
textarea{width:100%;min-height:84px;font-family:var(--mono);font-size:14.5px;resize:vertical;line-height:1.55;}

.brandpick{display:flex;gap:9px;margin-bottom:4px;}
.brandbtn{flex:1;padding:11px 12px;border-radius:8px;border:1px solid var(--line);background:var(--panel2);
  color:var(--text-dim);font-size:15px;cursor:pointer;text-align:center;font-weight:600;text-decoration:none;display:block;}
.brandbtn.active{color:#12151a;background:#ffcc33;border-color:#ffcc33;}

.actions{display:flex;justify-content:space-between;align-items:center;margin-top:16px;gap:12px;flex-wrap:wrap;}
.batch-grid .field{min-width:220px;}
.hint{font-size:13px;color:var(--text-dim);}
button.go, a.go{background:#3d6bff;color:#fff;border:none;padding:12px 26px;border-radius:8px;font-size:15px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;}
button.go:hover, a.go:hover{background:#3159e0;}
label.chk{display:flex;align-items:center;gap:8px;font-size:13.5px;color:var(--text-dim);text-transform:none;letter-spacing:0;cursor:pointer;}

.summary{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap;}
.stat{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:10px 16px;font-size:14px;color:var(--text-dim);}
.stat b{color:var(--text);font-size:17px;display:block;}

table{width:100%;border-collapse:collapse;font-size:14.5px;}
th{text-align:left;font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim);padding:11px 12px;border-bottom:1px solid var(--line);}
td{padding:13px 12px;border-bottom:1px solid var(--line);vertical-align:top;}
tr:last-child td{border-bottom:none;}
.code-cell{font-family:var(--mono);font-weight:600;white-space:nowrap;}
.badge{display:inline-block;font-size:11px;padding:3px 8px;border-radius:20px;font-weight:700;letter-spacing:.02em;text-transform:uppercase;}
.badge.ok{background:rgba(76,175,125,.15);color:var(--ok);}
.badge.other{background:rgba(224,168,63,.15);color:var(--warn);}
.badge.miss{background:rgba(224,96,95,.15);color:var(--err);}
.cat{color:var(--text-dim);font-size:13px;}
.note{color:var(--text-dim);font-size:12.5px;margin-top:4px;}
.src{color:var(--text-dim);font-size:12.5px;}
.popis{white-space:pre-line;}
tr.miss td{color:var(--text-dim);}

.detect{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:16px 22px;margin-bottom:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;}
.detect .lbl{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-bottom:4px;}
.detect .val{font-size:17px;font-weight:700;}
.detect .score{font-size:13.5px;color:var(--text-dim);margin-left:8px;font-weight:400;}
.altlist{display:flex;gap:9px;flex-wrap:wrap;}
.altchip{font-size:13px;padding:6px 12px;border-radius:20px;border:1px solid var(--line);background:var(--panel2);color:var(--text-dim);cursor:pointer;text-decoration:none;}
.altchip:hover{border-color:#4a5568;color:var(--text);}
.altchip.active{background:#3d6bff;border-color:#3d6bff;color:#fff;}

.tabs{display:flex;gap:8px;margin-bottom:20px;border-bottom:1px solid var(--line);}
.tab{padding:11px 18px;font-size:14.5px;font-weight:600;color:var(--text-dim);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;text-decoration:none;}
.tab.active{color:var(--text);border-bottom-color:#3d6bff;}

.updrow{display:flex;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);flex-wrap:wrap;}
.updrow:last-child{border-bottom:none;}
.updrow .name{font-weight:700;font-size:15px;min-width:150px;}
.updrow .meta{font-size:13px;color:var(--text-dim);flex:1;min-width:180px;}
.filebtn{display:inline-block;background:var(--panel2);border:1px solid var(--line);color:var(--text);padding:9px 16px;border-radius:8px;font-size:13.5px;cursor:pointer;}
.filebtn:hover{border-color:#4a5568;}

.empty{text-align:center;padding:50px 20px;color:var(--text-dim);font-size:14.5px;}
.alert{padding:14px 18px;border-radius:9px;font-size:14.5px;margin-bottom:18px;}
.alert.ok{background:rgba(76,175,125,.12);color:var(--ok);border:1px solid rgba(76,175,125,.3);}
.alert.err{background:rgba(224,96,95,.12);color:var(--err);border:1px solid rgba(224,96,95,.3);}
footer{margin-top:30px;color:var(--text-dim);font-size:12.5px;text-align:center;}
