/* Sumario – jednoduchý vzhled, světlý i tmavý režim, mobil */
:root {
  color-scheme: light dark;
  --pozadi: #f5f6f8; --karta: #ffffff; --text: #1d2330; --slaby: #5b6475; --cara: #dde1e8;
  --hlavni: #1f5fbf; --hlavni-text: #ffffff; --ok: #1d7a46; --ok-pozadi: #e6f4ec;
  --chyba: #b3261e; --chyba-pozadi: #fbe9e7; --info-pozadi: #e8f0fb;
  --pole: #ffffff; --pole-okraj: #b8bfcc; --pole-zaostreni: rgba(31, 95, 191, .25);
}
@media (prefers-color-scheme: dark) {
  :root {
    --pozadi: #14171c; --karta: #1d2128; --text: #e6e9ef; --slaby: #9aa3b2; --cara: #323844;
    --hlavni: #6ea0f0; --hlavni-text: #0d1117; --ok: #6fd39b; --ok-pozadi: #183326;
    --chyba: #f2948c; --chyba-pozadi: #3a1d1b; --info-pozadi: #1b2a40;
    --pole: #2a303a; --pole-okraj: #566074; --pole-zaostreni: rgba(110, 160, 240, .35);
  }
}
* { box-sizing: border-box; }
body { margin: 0; font: 15px/1.5 system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; background: var(--pozadi); color: var(--text); }
a { color: var(--hlavni); }
.hlava { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px;
  padding: 10px 16px; background: var(--karta); border-bottom: 1px solid var(--cara); }
.logo { font-weight: 700; font-size: 18px; text-decoration: none; color: var(--text); }
nav { display: flex; flex-wrap: wrap; gap: 4px 14px; align-items: center; }
nav a { text-decoration: none; }
.firma-lista { padding: 6px 16px; font-size: 13px; color: var(--slaby); border-bottom: 1px solid var(--cara); }
main { max-width: 1000px; margin: 0 auto; padding: 16px; }
h1 { font-size: 22px; margin: 8px 0 14px; } h2 { font-size: 17px; margin: 0 0 10px; } h3 { font-size: 15px; margin: 14px 0 6px; }
.karta { background: var(--karta); border: 1px solid var(--cara); border-radius: 10px; padding: 16px; margin-bottom: 16px; overflow-x: auto; }
.uzka { max-width: 420px; margin: 32px auto; }
label { display: block; margin: 0 0 12px; font-weight: 500; }
label.volba { font-weight: 400; display: flex; gap: 8px; align-items: flex-start; }
input, select { display: block; width: 100%; margin-top: 4px; padding: 9px 10px; font: inherit; color: var(--text);
  background: var(--pole); border: 1px solid var(--pole-okraj); border-radius: 6px; }
input:focus, select:focus { outline: none; border-color: var(--hlavni); box-shadow: 0 0 0 3px var(--pole-zaostreni); }
input::placeholder { color: var(--slaby); opacity: 1; }
input[type=checkbox], input[type=radio] { accent-color: var(--hlavni); }
label.volba input { width: auto; margin-top: 4px; }
button, .tlacitko { display: inline-block; padding: 9px 16px; font: inherit; font-weight: 600; color: var(--hlavni-text);
  background: var(--hlavni); border: 0; border-radius: 6px; cursor: pointer; text-decoration: none; }
button.druhotne { background: transparent; color: var(--hlavni); border: 1px solid var(--hlavni); }
button.nebezpecne { background: transparent; color: var(--chyba); border: 1px solid var(--chyba); }
button.odkaz { background: none; color: var(--hlavni); padding: 0; font-weight: 400; text-decoration: underline; }
button.male, .male button { padding: 4px 10px; font-size: 13px; }
form.inline { display: inline; }
form.inline input { display: inline-block; width: auto; min-width: 220px; margin: 0 6px 10px 0; }
.mrizka { display: grid; grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)); gap: 0 14px; align-items: end; margin-bottom: 8px; }
.mrizka button { margin-bottom: 12px; }
.akce { display: flex; flex-wrap: wrap; gap: 8px; }
table { width: 100%; border-collapse: collapse; }
th, td { text-align: left; padding: 7px 8px; border-bottom: 1px solid var(--cara); vertical-align: middle; }
th { font-size: 12px; text-transform: uppercase; letter-spacing: .03em; color: var(--slaby); }
tr.neaktivni td { opacity: .5; } tr.aktivni td { font-weight: 600; }
td select { width: auto; display: inline-block; margin: 0 4px 0 0; padding: 4px 6px; }
.male, .male td { font-size: 13px; color: var(--slaby); }
button.male:not(.druhotne):not(.nebezpecne):not(.odkaz) { color: var(--hlavni-text); }
.male button.odkaz, button.odkaz.male { color: var(--hlavni); }
.stred { text-align: center; }
.zprava { padding: 10px 14px; border-radius: 8px; margin-bottom: 14px; background: var(--info-pozadi); }
.zprava.ok { background: var(--ok-pozadi); color: var(--ok); } .zprava.chyba { background: var(--chyba-pozadi); color: var(--chyba); }
.stitek { display: inline-block; padding: 1px 8px; border-radius: 10px; font-size: 12px; background: var(--info-pozadi); }
.stitek.ok { background: var(--ok-pozadi); color: var(--ok); } .stitek.chyba { background: var(--chyba-pozadi); color: var(--chyba); }
code { font-family: ui-monospace, Consolas, monospace; font-size: 14px; word-break: break-all; }
.kody { columns: 2; list-style: none; padding: 0; } .kody li { margin: 4px 0; font-size: 17px; }
.detail { max-width: 260px; word-break: break-word; }
@media (max-width: 600px) { .kody { columns: 1; } th, td { padding: 6px 4px; } }
