:root{
  /* světlý motiv je výchozí — appka se používá hlavně venku na denním světle,
     kde tmavé UI špatně čitelné kvůli odleskům. Barvy dle logomanuálu AUTOCENTRUM
     Jičín 2025: oranžová EF7C05 (Pantone 716C), tmavá 101820 (Pantone Black 6C). */
  --bg:#eef2f6; --card:#ffffff; --card2:#e5eaf1; --text:#0f172a; --muted:#475569;
  --accent:#ef7c05; --accent-fg:#101820; --ok:#15803d; --warn:#a16207; --err:#b91c1c;
  --border:#cbd5e1;
  /* Odkazy: brandová EF7C05 má na světlém pozadí jen ~2,6:1 (WCAG AA chce 4,5:1)
     — proto ztmavený odstín JEN pro text odkazů; tlačítka/taby s oranžovým
     POZADÍM a tmavým textem (--accent-fg) vyhovují dál. #a35400 ≈ 4,9:1. */
  --link:#a35400;
  --danger-bg:#7f1d1d; --danger-fg:#fecaca;
}
:root[data-theme="dark"]{
  --bg:#101820; --card:#1b242e; --card2:#252f3a; --text:#e7ebee; --muted:#93a0ab;
  --accent:#ef7c05; --accent-fg:#101820; --ok:#4ade80; --warn:#facc15; --err:#f87171;
  --border:#354250;
  --link:var(--accent);   /* na tmavém pozadí má EF7C05 ~6,4:1 — vyhovuje */
  --danger-bg:#7f1d1d; --danger-fg:#fecaca;
}
*{box-sizing:border-box; -webkit-tap-highlight-color:transparent;}
body{margin:0; font-family:'Manrope',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif; background:var(--bg); color:var(--text);
  transition:background-color .15s, color .15s;}
h1,h2,.logoWordmark{font-weight:800;}
header{padding:12px 16px; display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; border-bottom:1px solid var(--card2);}
header h1{margin:0; font-size:18px; flex:1 1 auto; min-width:0; display:flex; align-items:center; gap:8px;}
.logoMark{height:26px; width:auto; display:inline-block; vertical-align:middle; flex:0 0 auto; margin-right:8px;}
header .ver{font-size:11px; font-weight:400; color:var(--muted); display:block; margin-top:2px;}
header .who{font-size:12px; color:var(--muted); text-align:right; flex:0 0 auto;}
.headerNav{display:flex; gap:6px; flex-wrap:wrap; align-items:center;}
.navLink{display:inline-block; font-size:13px; font-weight:600; padding:6px 14px; border-radius:8px; background:var(--card2); color:var(--text);}
.navLink.active{background:var(--accent); color:var(--accent-fg);}
.themeBtn{background:var(--card2); padding:6px 10px; font-size:16px; line-height:1; border-radius:8px; flex:0 0 auto;}
@media (max-width:640px){
  header{padding:7px 12px; gap:4px 10px;}
  header h1{font-size:15px;}
  header .ver{font-size:9px;}
  header .who{font-size:11px;}
  .headerNav{flex:1 0 100%; order:5;}
  .navLink{padding:4px 10px; font-size:11px;}
}
main{padding:14px 12px 60px; max-width:1100px; margin:0 auto;}
main.narrow{max-width:560px;}
.card{background:var(--card); border-radius:12px; padding:14px; margin-top:12px;}
h2{font-size:15px; margin:0 0 10px;}
.sectionLabel{font-size:11px; font-weight:700; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); margin:20px 2px 6px;}
details.card>summary{font-size:15px; font-weight:600; margin:-2px 0 0; cursor:pointer; list-style:revert; user-select:none;}
details.card[open]>summary{margin-bottom:10px;}
details.card>summary::marker{color:var(--muted);}
label{font-size:12px; color:var(--muted); display:block; margin:8px 0 4px;}
input,select{width:100%; background:var(--card2); color:var(--text); border:1px solid var(--border); border-radius:8px; padding:11px; font-size:15px;}
button{border:0; border-radius:10px; padding:12px 14px; font-size:15px; font-weight:600; background:var(--card2); color:var(--text); cursor:pointer;}
button.primary{background:var(--accent); color:var(--accent-fg);}
button.danger{background:var(--danger-bg); color:var(--danger-fg);}
button.small{padding:6px 10px; font-size:12px; font-weight:400;}
button:disabled{opacity:.45; cursor:default;}
.btnRow{display:flex; gap:8px; margin-top:12px;}
.btnRow>button{flex:1;}
.badge{display:inline-block; font-size:11px; padding:2px 9px; border-radius:99px; background:var(--card2); color:var(--muted);}
.badge.ok{color:var(--ok);} .badge.warn{color:var(--warn);} .badge.err{color:var(--err);}
/* Kontejnery tabulek roluji do stran samostatně. Bez toho se na mobilu (375 px)
   táhla do šířky celá stránka včetně hlavičky a karet — tabulka „Vše naskenované"
   má 8 sloupců a nikdy se nevejde. */
#tableWrap,#importsList,#conflictList,#lList,#uList,#healthOut,#statsOut,#auditOut{overflow-x:auto;}
table{width:100%; border-collapse:collapse; font-size:13px;}
th{color:var(--muted); font-weight:600; text-align:left; padding:7px 8px; border-bottom:1px solid var(--card2); font-size:11px; text-transform:uppercase;}
td{padding:7px 8px; border-bottom:1px solid var(--card2); font-family:ui-monospace,Menlo,Consolas,monospace;}
td.n{font-family:inherit;}
.stats{display:grid; grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); gap:8px; margin-top:12px;}
.stat{background:var(--card); border-radius:12px; padding:12px; text-align:center;}
.stat b{display:block; font-size:26px;}
.stat span{font-size:11px; color:var(--muted);}
.stat.ok b{color:var(--ok);} .stat.err b{color:var(--err);} .stat.warn b{color:var(--warn);}
.tabs{display:flex; gap:6px; margin-top:14px; flex-wrap:wrap;}
.tabs button{flex:0 0 auto; padding:8px 14px; font-size:13px; border-radius:8px;}
.tabs button.active{background:var(--accent); color:var(--accent-fg);}
.msg{margin-top:10px; font-size:13px; color:var(--muted); min-height:18px;}
.msg.err{color:var(--err);} .msg.ok{color:var(--ok);} .msg.warn{color:var(--warn);}
a{color:var(--link); text-decoration:none;}
.row{display:flex; gap:8px; align-items:end;}
.row>div{flex:1;}
/* rozložení .locBtns si definuje scanner.html sám (flex) — tady jen aktivní stav */
.locBtns button.active{background:var(--accent); color:var(--accent-fg);}
.list-item{display:flex; align-items:center; gap:10px; padding:9px 0; border-bottom:1px solid var(--card2);}
.list-item:last-child{border-bottom:0;}
.vinMono{font-family:ui-monospace,Menlo,Consolas,monospace;}
.spin{display:inline-block; width:14px; height:14px; border:2px solid var(--muted); border-top-color:transparent; border-radius:50%; animation:sp 1s linear infinite; vertical-align:-2px;}
@keyframes sp{to{transform:rotate(360deg);}}
