:root{
  --bg:#f4f6fa; --panel:#fff; --line:#e3e8f0; --line2:#eef1f7;
  --text:#101828; --muted:#667085; --muted2:#98a2b3;
  --acc:#4f46e5; --acc-soft:#eef2ff;
  --red:#d92d20; --red-soft:#fef3f2;
  --amber:#b54708; --amber-soft:#fffaeb;
  --green:#067647; --green-soft:#ecfdf3;
  --r:12px; --shadow:0 1px 2px rgba(16,24,40,.06), 0 4px 12px rgba(16,24,40,.05);
}
*{box-sizing:border-box}
html,body{margin:0;padding:0}
body{
  font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Inter,Roboto,Arial,sans-serif;
  background:var(--bg); color:var(--text); font-size:14px; line-height:1.55;
  -webkit-font-smoothing:antialiased;
}
button{font:inherit;cursor:pointer;border:none;background:none;color:inherit}
input,select,textarea{font:inherit;color:inherit}
a{color:var(--acc)}

/* ---------- prihlasovacia / inštalačná obrazovka ---------- */
.stred{min-height:100vh;display:flex;align-items:center;justify-content:center;
  padding:24px 16px;background:linear-gradient(160deg,#1d2939,#0b111d)}
.box{width:100%;max-width:460px;background:#fff;border-radius:16px;padding:26px;
  box-shadow:0 24px 60px rgba(0,0,0,.35)}
.box.siroky{max-width:720px}
.znacka{display:flex;align-items:center;gap:10px;font-weight:700;font-size:18px;margin-bottom:4px}
.znacka .bod{width:28px;height:28px;border-radius:8px;background:var(--acc);color:#fff;
  display:grid;place-items:center;font-size:15px}
.podnadpis{color:var(--muted);font-size:12.5px;margin-bottom:20px}

.pole{margin-bottom:14px}
.pole label{display:block;font-size:11.5px;font-weight:700;color:var(--muted);margin-bottom:5px;
  text-transform:uppercase;letter-spacing:.4px}
.pole input,.pole select,.pole textarea{width:100%;border:1px solid var(--line);border-radius:10px;
  padding:11px 12px;font-size:14px;outline:none;background:#fff}
.pole input:focus,.pole select:focus,.pole textarea:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}
.pole .napoveda{font-size:11.5px;color:var(--muted2);margin-top:5px}
.dvojica{display:grid;grid-template-columns:1fr 1fr;gap:12px}

.tlac{display:inline-flex;align-items:center;justify-content:center;gap:8px;background:var(--acc);
  color:#fff;padding:12px 18px;border-radius:10px;font-size:14px;font-weight:600;width:100%}
.tlac:hover{filter:brightness(1.08)}
.tlac.duch{background:#fff;color:var(--text);border:1px solid var(--line)}
.tlac.duch:hover{background:var(--bg)}
.tlac.zel{background:var(--green)}
.tlac:disabled{opacity:.5;cursor:default}
.tlac.uzky{width:auto;padding:9px 14px;font-size:13px}

.chyba{background:var(--red-soft);border:1px solid #f7cfcb;color:var(--red);border-radius:10px;
  padding:11px 13px;font-size:13px;margin-bottom:14px}
.ok{background:var(--green-soft);border:1px solid #b7e4c7;color:var(--green);border-radius:10px;
  padding:11px 13px;font-size:13px;margin-bottom:14px}
.upoz{background:var(--amber-soft);border:1px solid #f5d9a8;color:#7a4d05;border-radius:10px;
  padding:11px 13px;font-size:12.5px;margin-bottom:14px}
.info{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:11px 13px;
  font-size:12.5px;color:var(--muted);margin-bottom:14px}

.pozn{margin-top:18px;padding-top:15px;border-top:1px solid var(--line2);font-size:11.5px;
  color:var(--muted);line-height:1.7}
.pozn b{color:var(--text)}

.kod-vstup input{text-align:center;font-size:26px;letter-spacing:9px;font-weight:700;padding:12px}
.kluc{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:19px;font-weight:700;
  letter-spacing:2px;background:var(--bg);border:2px dashed var(--acc);border-radius:10px;
  padding:14px;text-align:center;margin-bottom:12px;user-select:all}
.tajomstvo{font-family:ui-monospace,Menlo,monospace;font-size:14px;background:var(--bg);
  border:1px solid var(--line);border-radius:8px;padding:9px;text-align:center;user-select:all;
  word-break:break-all}
.qr{display:flex;justify-content:center;margin:6px 0 14px}
.qr svg{border:1px solid var(--line);border-radius:10px;width:200px;height:200px}

/* ---------- kroky inštalácie ---------- */
.kroky{display:flex;gap:6px;margin-bottom:20px;flex-wrap:wrap}
.krok{flex:1;min-width:26px;height:5px;border-radius:3px;background:var(--line)}
.krok.hotovy{background:var(--green)}
.krok.teraz{background:var(--acc)}

table.zoz{width:100%;border-collapse:collapse;font-size:13px;margin-bottom:14px}
table.zoz th{text-align:left;font-size:11px;text-transform:uppercase;letter-spacing:.4px;
  color:var(--muted2);padding:7px 8px;border-bottom:1px solid var(--line)}
table.zoz td{padding:8px;border-bottom:1px solid var(--line2)}
table.zoz tr:last-child td{border-bottom:none}
.znak{display:inline-block;width:18px}
.ano{color:var(--green);font-weight:700}
.nie{color:var(--red);font-weight:700}

.suhlas-text{max-height:300px;overflow-y:auto;font-size:13px;line-height:1.65;
  border:1px solid var(--line);border-radius:10px;padding:14px;background:#fdfdff;margin-bottom:14px}
.suhlas-text ol{margin:0;padding-left:20px}
.suhlas-text li{margin-bottom:10px}
.zaskrt{display:flex;gap:10px;align-items:flex-start;font-size:13px;cursor:pointer;margin-bottom:14px}
.zaskrt input{width:18px;height:18px;flex:0 0 auto;margin-top:2px;cursor:pointer}

@media (max-width:520px){
  .dvojica{grid-template-columns:1fr}
  .box{padding:20px}
}

/* ---------- správa zamestnancov a pobočiek ---------- */
.nadpis3{font-size:15px;margin:26px 0 10px}
.karta2{border:1px solid var(--line);border-radius:12px;padding:12px 13px;margin-bottom:10px;background:#fff}
.karta2.vypnuta{background:var(--bg);opacity:.75}
.k2hlav{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:9px;font-size:14px}
.k2hlav code{font-size:12px;color:var(--muted);background:var(--bg);padding:1px 7px;border-radius:6px}
.stitok{font-size:10.5px;font-weight:700;border-radius:20px;padding:2px 9px;text-transform:uppercase;letter-spacing:.3px}
.stitok.zeleny{background:var(--green-soft);color:var(--green)}
.stitok.cerveny{background:var(--red-soft);color:var(--red)}
.stitok.oranzovy{background:var(--amber-soft);color:#7a4d05}
.stitok.modry{background:var(--acc-soft);color:var(--acc)}
.stitok.sedy{background:var(--bg);color:var(--muted);border:1px solid var(--line)}
.riadok2{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.riadok2.hore{margin-top:12px}
.riadok2 input,.riadok2 select{flex:1;min-width:130px;border:1px solid var(--line);border-radius:10px;
  padding:9px 11px;font-size:13.5px;outline:none;background:#fff}
.riadok2 input:focus,.riadok2 select:focus{border-color:var(--acc);box-shadow:0 0 0 3px var(--acc-soft)}
.akcie2{display:flex;gap:7px;align-items:center;flex-wrap:wrap;margin-top:9px}
.akcie2 form{display:inline}
.pozn3b{font-size:12px;color:var(--muted);margin-right:auto}
.tlac.cerv{color:var(--red);border-color:#f7cfcb}
.tlac.duch.cerv:hover{background:var(--red-soft)}

@media (max-width:640px){
  .box.siroky{padding:18px}
  .riadok2 input,.riadok2 select{min-width:100%}
  .akcie2{gap:6px}
  .akcie2 .tlac{font-size:12px;padding:8px 11px}
}
