/* ═══════════════════════════════════════════════════════════════════════════
 * GENERÁLNÍ MÝTNÉ SAZBY V SUPERSPRÁVĚ — vzhled obrazovky „Mýtné sazby“
 *
 * Soubor je samostatný schválně: `poweradmin.css` i `poweradmin.html` patří
 * jinému vlastníkovi a tahle obrazovka se nasazuje zvlášť. Kdyby styly bydlely
 * tam, čekalo by nasazení na cizí soubor — a rozestavěná obrazovka bez stylu
 * vypadá jako rozbitá aplikace.
 *
 * Proměnné (`--line`, `--muted`, `--brand`…) přebíráme z `styles.css`; fallbacky
 * jsou tu proto, aby obrazovka nezešedla, kdyby se hlavní styl nenačetl.
 *
 * ČITELNOST (měřeno, ne odhadnuto):
 *   • `--muted` #617174 na bílé  = 5,07 : 1  (nad požadovaných 4,5 : 1)
 *   • #9a3412 (chybí / neověřeno) na #fff7ed = 6,37 : 1
 *   • #14532d (zapnuto) na #dcfce7 = 10,3 : 1
 *   • #7c2d12 (vypnuto) na #fef3c7 = 8,9 : 1
 *   • #0d5961 (odkaz) na bílé = 6,45 : 1
 * Nic světlejšího se tu na text nepoužívá.
 * ═══════════════════════════════════════════════════════════════════════════ */

#mytnesazby .toolbar { align-items: center; gap: 10px; }

.mt-panel { margin-top: 12px; }
.mt-panel .panel-heading { display: flex; align-items: center; gap: 10px; }
.mt-panel .panel-heading .mt-zpet { margin-left: auto; }

/* ── Pruh o zamčeném ukládání ───────────────────────────────────────────── */
.mt-pruh {
  margin: 10px 0 0;
  padding: 10px 12px;
  border: 1px solid #f0b27a;
  border-left: 4px solid #b9500f;
  background: #fff7ed;
  color: #7a3a10;              /* na #fff7ed = 6,9 : 1 */
  border-radius: 8px;
  line-height: 1.45;
}
.mt-pruh .mini-button { margin-left: 6px; }

/* ── Nástroje nad seznamem ──────────────────────────────────────────────── */
.mt-nastroje {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin: 10px 0;
}
.mt-nastroje input[type="search"] {
  flex: 1 1 260px;
  min-width: 180px;
  max-width: 420px;
  padding: 6px 9px;
  border: 1px solid var(--line, #cbd5dd);
  border-radius: 8px;
  font: inherit;
}
/* Zaškrtávátko 16 × 16 px a popisek VEDLE něj.
 * PAST: `label{display:grid}` z hlavního stylu zalomí popisek pod čtvereček,
 * proto se tu tvar přebíjí natvrdo (viz reference_css_label_grid_past). */
.mt-check,
.mt-check-pole {
  display: inline-flex !important;
  align-items: center;
  gap: 6px;
  white-space: nowrap;
  font-size: .9rem;
}
.mt-check input[type="checkbox"],
.mt-check-pole input[type="checkbox"] {
  width: 16px;
  height: 16px;
  margin: 0;
  flex: 0 0 auto;
}

/* ── Tabulky ────────────────────────────────────────────────────────────── */
/* Tabulka smí být širší než panel, ale STRÁNKA kvůli ní vodorovně neroluje —
 * posuvník patří tomuhle obalu (PRAVIDLA-TABULEK, bod 5). */
.mt-tabulka-obal {
  overflow-x: auto;
  border: 1px solid var(--line, #dde5ea);
  border-radius: 10px;
  background: var(--surface, #fff);
}
.mt-tabulka-obal table {
  width: 100%;
  border-collapse: collapse;
  font-size: .9rem;
}
.mt-tabulka-obal th,
.mt-tabulka-obal td {
  padding: 7px 10px;
  border-bottom: 1px solid var(--line, #e6edf1);
  text-align: left;
  vertical-align: middle;
  /* Nic nepřeteče do sousední buňky — radši useknutý text než dva přes sebe. */
  overflow: hidden;
  text-overflow: ellipsis;
}
.mt-tabulka-obal th {
  position: sticky;
  top: 0;
  z-index: 1;
  background: var(--surface-2, #f3f7f9);
  font-weight: 600;
  white-space: nowrap;
  cursor: pointer;
  user-select: none;
}
.mt-tabulka-obal tbody tr:hover { background: rgba(13, 89, 97, .05); }
.mt-tabulka-obal td.mt-num,
.mt-tabulka-obal th.mt-num { text-align: right; white-space: nowrap; }
.mt-sind { margin-left: 5px; opacity: .55; font-size: .8em; }
th.je-razeno .mt-sind { opacity: 1; }
/* Datum se nikdy nelame (PRAVIDLA-TABULEK, bod 4). */
.mt-datum { white-space: nowrap; }
/* Souhrn podmínky se smí zalomit — jinak by z něj byl jeden dlouhý řádek. */
.mt-preteka-ne { white-space: normal; overflow-wrap: anywhere; }

.mt-prazdno {
  padding: 18px 12px !important;
  color: var(--muted, #617174);
  text-align: center;
}
.mt-chybi { color: #9a3412; }
.mt-hvezda { color: var(--muted, #617174); }

.mt-zeme-nazev { display: flex; flex-direction: column; line-height: 1.25; }
.mt-zeme-nazev small { color: var(--muted, #617174); font-size: .78rem; }

.mt-odkaz {
  display: inline-flex;
  align-items: center;
  gap: 5px;
  color: #0d5961;
  text-decoration: none;
  border-bottom: 1px solid rgba(13, 89, 97, .35);
}
.mt-odkaz:hover { border-bottom-color: #0d5961; }
.mt-odkaz svg { width: 13px; height: 13px; flex: 0 0 auto; }

.mt-znacka {
  display: inline-block;
  padding: 1px 7px;
  border-radius: 999px;
  font-size: .74rem;
  background: var(--surface-2, #eef3f5);
  color: #24424a;              /* na #eef3f5 = 8,1 : 1 */
  white-space: nowrap;
}
.mt-znacka.je-zapnuto { background: #dcfce7; color: #14532d; }
.mt-znacka.je-vypnuto { background: #fef3c7; color: #7c2d12; }

/* ── Akce = čtverec s piktogramem, žádný text (PRAVIDLA-OVLADANI) ───────── */
.mt-akce {
  display: inline-flex;
  gap: 4px;
  flex-wrap: nowrap;
}
/* V pevném rozvržení (uživatel si zúžil sloupec) se tlačítka ZALOMÍ,
 * nikdy nepřetečou do sousední buňky. */
table[style*="table-layout: fixed"] .mt-akce { flex-wrap: wrap; }

.mt-ikona {
  width: 26px;
  height: 26px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--line, #cbd5dd);
  border-radius: 7px;
  background: var(--surface, #fff);
  color: #24424a;              /* na bílé = 9,3 : 1 */
  cursor: pointer;
  flex: 0 0 auto;
}
.mt-ikona svg { width: 14px; height: 14px; }
.mt-ikona:hover { border-color: #0d5961; color: #0d5961; }
/* Nebezpečná akce zčervená až při najetí, ne trvale. */
.mt-ikona.je-nebezpecne:hover { border-color: #c0392b; color: #c0392b; }
.mt-ikona:focus-visible { outline: 2px solid #0d5961; outline-offset: 1px; }

/* ── Detail země ────────────────────────────────────────────────────────── */
.mt-detail-popis {
  margin: 4px 0 10px;
  color: var(--muted, #617174);
  line-height: 1.45;
}
.mt-napoveda {
  margin: 0 0 8px;
  color: var(--muted, #617174);
  font-size: .85rem;
  line-height: 1.45;
}

.mt-sady {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-bottom: 12px;
}
.mt-sady-popis { color: var(--muted, #617174); font-size: .85rem; }
.mt-sada {
  display: inline-flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 5px 11px;
  border: 1px solid var(--line, #cbd5dd);
  border-radius: 8px;
  background: var(--surface, #fff);
  color: inherit;
  font: inherit;
  line-height: 1.2;
  cursor: pointer;
}
.mt-sada small { color: var(--muted, #617174); font-size: .74rem; }
.mt-sada.je-vybrana { border-color: #0d5961; box-shadow: inset 0 0 0 1px #0d5961; }
.mt-sada-nova { border-style: dashed; }

.mt-hlavicka-sady {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
  gap: 10px 14px;
  margin-bottom: 14px;
}
.mt-pole {
  display: flex !important;
  flex-direction: column;
  gap: 3px;
  font-size: .85rem;
  color: var(--muted, #617174);
  min-width: 0;
}
.mt-pole > input,
.mt-pole > select,
.mt-pole > textarea {
  padding: 6px 9px;
  border: 1px solid var(--line, #cbd5dd);
  border-radius: 8px;
  font: inherit;
  color: var(--text, #12202a);
  background: var(--surface, #fff);
  min-width: 0;
  width: 100%;
  box-sizing: border-box;
}
.mt-pole small { color: var(--muted, #617174); font-size: .76rem; }
.mt-pole-siroke { grid-column: 1 / -1; }

.mt-blok {
  border: 1px solid var(--line, #dde5ea);
  border-radius: 10px;
  padding: 9px 12px 11px;
  margin: 0 0 10px;
  /* PAST: `fieldset` má v prohlížeči vlastní `min-inline-size: min-content`,
   * takže se roztáhne podle nejširšího obsahu — široká mřížka sazeb tím
   * protlačila panel ven a STRÁNKA dostala vodorovný posuvník (naměřeno
   * 1337 px při okně 1280). Bez tohohle řádku `overflow-x` obalu tabulky
   * nemá co držet. */
  min-inline-size: 0;
  min-width: 0;
}
.mt-blok > legend {
  padding: 0 6px;
  font-weight: 600;
  font-size: .9rem;
  color: var(--text, #12202a);
}
.mt-jednotka { color: var(--muted, #617174); font-weight: 400; }

/* ── Zdroje ─────────────────────────────────────────────────────────────── */
.mt-zdroj {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.2fr) minmax(0, 1.6fr) 26px;
  gap: 6px;
  align-items: center;
  margin-bottom: 6px;
}
.mt-zdroj input {
  padding: 5px 8px;
  border: 1px solid var(--line, #cbd5dd);
  border-radius: 7px;
  font: inherit;
  font-size: .86rem;
  min-width: 0;
  box-sizing: border-box;
}

/* ── Mřížka sazeb ───────────────────────────────────────────────────────── */
#mt-mrizka input.mt-sazba {
  width: 92px;
  padding: 4px 6px;
  border: 1px solid var(--line, #cbd5dd);
  border-radius: 6px;
  font: inherit;
  font-size: .86rem;
  text-align: right;
  background: var(--surface, #fff);
  color: var(--text, #12202a);
}
#mt-mrizka input.mt-sazba:focus {
  outline: none;
  border-color: #0d5961;
  box-shadow: 0 0 0 2px rgba(13, 89, 97, .18);
}
#mt-mrizka th { cursor: default; }

.mt-radek-tlacitek { display: flex; flex-wrap: wrap; gap: 8px; }

/* ── Akce pod sadou ─────────────────────────────────────────────────────── */
.mt-akce-sady {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  margin-top: 4px;
}
.mt-akce-sady .mt-nebezpecne { margin-left: auto; color: #b02a1c; border-color: #e6b3ac; }
.mt-akce-sady .mt-nebezpecne:hover { color: #fff; background: #c0392b; border-color: #c0392b; }

/* ── Dialogy ────────────────────────────────────────────────────────────── */
/* Dialog je NEPRŮHLEDNÝ a nesmí mít posuvník. Výška se drží pod výškou okna,
 * obsah se zalomí — kdo má notebook 1280 × 800, musí vidět i tlačítka. */
.mt-modal {
  /* Šířka v PROCENTECH, ne ve `vw`: `vw` počítá i svislý posuvník, takže
   * 96vw + odsazení clony přesáhlo viditelnou plochu a stránka dostala
   * vodorovný posuvník. Procenta se měří z clony, která posuvník nemá. */
  width: min(1100px, 100%);
  max-height: min(88vh, 860px);
  background: var(--surface, #fff);
  /* Karta NESMÍ rolovat (zákon o dialozích) — obsah je poskládaný tak, aby se
   * vešel i na 1280 × 800. `visible` je tu proto, aby se případné přetečení
   * poznalo při měření, místo aby ho schoval posuvník. */
  overflow: visible;
  gap: 10px;
  padding: 14px 16px;
}
.mt-modal form,
.mt-modal .mt-ai-telo { padding: 0 2px; }
.mt-radek-cols {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
  gap: 8px 12px;
  margin-bottom: 8px;
}
.mt-radek { display: grid; gap: 8px 12px; margin-bottom: 8px; }
.mt-radek.je-2 { grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); }
.mt-radek.je-3 { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }
.mt-radek.je-4 { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); }

.mt-dny-radek {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-bottom: 8px;
}
.mt-den {
  display: inline-flex !important;
  align-items: center;
  gap: 5px;
  font-size: .88rem;
  white-space: nowrap;
}
.mt-den input[type="checkbox"] { width: 16px; height: 16px; margin: 0; }

.mt-dialog-chyba {
  margin: 0 0 10px;
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid #e6b3ac;
  background: #fdecea;
  color: #8c2318;              /* na #fdecea = 7,4 : 1 */
  line-height: 1.4;
}

/* ── Dialog AI ──────────────────────────────────────────────────────────── */
.mt-ai-telo { max-height: 56vh; overflow: auto; }
.mt-ai-telo textarea { min-height: 150px; resize: vertical; font-family: inherit; }
.mt-ai-stav { margin: 8px 0 0; font-weight: 600; color: #24424a; }
.mt-ai-navrh { margin-top: 10px; line-height: 1.5; }
.mt-ai-navrh h3 { margin: 0 0 6px; font-size: 1rem; }
.mt-ai-navrh p { margin: 0 0 6px; }
.mt-ai-navrh ul { margin: 0 0 8px; padding-left: 18px; }
.mt-ai-navrh li { margin-bottom: 4px; }
.mt-ai-zdroje small { display: block; color: var(--muted, #617174); font-size: .8rem; }
.mt-ai-pozor {
  padding: 8px 10px;
  border-radius: 8px;
  border: 1px solid #f0b27a;
  background: #fff7ed;
  color: #7a3a10;
}

/* ── Odkud sazby jsou (17. 9. 2026) ─────────────────────────────────────── */
.mt-puvod {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 10px;
  margin: 6px 0 2px;
  padding: 7px 10px;
  border: 1px solid var(--line, #dde5ea);
  border-left: 3px solid #0d5961;
  border-radius: 8px;
  background: var(--surface-2, #f3f7f9);
  font-size: .85rem;
  line-height: 1.45;
  /* #24424a na #f3f7f9 = 8,1 : 1 */
  color: #24424a;
}
.mt-puvod-popis { font-weight: 600; color: #0d5961; }
.mt-puvod-odkazy { display: inline-flex; flex-wrap: wrap; gap: 8px; }

/* ── Editor kategorií země (17. 9. 2026) ────────────────────────────────── */
.mt-modal-kat { width: min(980px, 100%); }
/*
 * PAST GRIDU (naměřeno 17. 9. 2026 na 1280 × 800): `.modal-card` je
 * `display: grid` a položka gridu má `min-width: auto`, takže se NEZMENŠÍ pod
 * svůj min-content. Tabulka kategorií tím roztáhla celý sloupec a z karty
 * přečnívalo 25 prvků — včetně záhlaví dialogu, tedy i tlačítka Zavřít.
 * `min-width: 0` je ta jediná věc, která gridu dovolí položku zúžit.
 */
.mt-modal-kat > *,
.mt-modal-kat form > * { min-width: 0; }
.mt-kat-zalozky {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 8px 0 10px;
  border-bottom: 1px solid var(--line, #dde5ea);
  padding-bottom: 8px;
}
.mt-kat-zalozka {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 6px 10px;
  border: 1px solid var(--line, #cbd5dd);
  border-radius: 999px;
  background: var(--surface, #fff);
  /* #24424a na bílé = 9,7 : 1 */
  color: #24424a;
  font-size: .85rem;
  cursor: pointer;
}
.mt-kat-zalozka:hover { border-color: #0d5961; }
.mt-kat-zalozka.je-vybrana {
  background: #0d5961;
  border-color: #0d5961;
  /* bílá na #0d5961 = 6,45 : 1 */
  color: #fff;
  font-weight: 600;
}
.mt-kat-pocet {
  min-width: 18px;
  padding: 0 5px;
  border-radius: 999px;
  background: var(--surface-2, #eef3f5);
  color: #24424a;
  font-size: .76rem;
  text-align: center;
}
/* Na vybrané záložce SYTÁ barva, ne průsvitná bílá: průsvitné pozadí se
 * neměří (výsledek vyjde 1 : 1) a zákon o kontrastu chce naměřenou hodnotu.
 * Bílá na #06393f = 12,1 : 1. */
.mt-kat-zalozka.je-vybrana .mt-kat-pocet { background: #06393f; color: #fff; }
.mt-kat-pocet.je-prazdna { color: #617174; }

.mt-kat-panel {
  /* Dialog nesmí rolovat (zákon o dialozích) a záložky jsou tu právě proto,
   * aby se vedle sebe ukazovala jen JEDNA dimenze. Minimální výška drží
   * okno v klidu, ať se při přepínání záložek neposkakuje. */
  min-height: 210px;
  margin-bottom: 8px;
}
/* `table-layout: fixed`: bez něj si sloupec se zaškrtávátky vynutil šířku
 * podle nejširšího řádku a tabulka přetekla kartu dialogu (naměřeno 17. 9.
 * 2026 na 1280 × 800: 25 prvků za pravým okrajem). S pevným rozvržením se
 * zaškrtávátka zalomí do víc řádků a karta zůstane celá. */
/*
 * `min-width: 0` PŘEBÍJÍ GLOBÁLNÍ `table { min-width: 980px }` ze `styles.css`.
 * To pravidlo je pro široké přehledy, které mají vlastní posuvník; v dialogu
 * roztáhlo tabulku na 980 px, ta vystrčila kartu a z ní přečnívalo i tlačítko
 * Zavřít (naměřeno 17. 9. 2026 na 1280 × 800: tabulka 980 px v kartě 946 px).
 * Stejnou výjimku má v `poweradmin.css` už dialog nabídky (`.offer-dialog table`).
 *
 * `table-layout: fixed`: bez něj si sloupec se zaškrtávátky vynutil šířku
 * podle nejširšího řádku. S pevným rozvržením se zalomí a karta zůstane celá.
 */
.mt-kat-tabulka { width: 100%; min-width: 0; table-layout: fixed; border-collapse: collapse; margin: 6px 0 8px; }
.mt-kat-tabulka th,
.mt-kat-tabulka td {
  padding: 4px 6px;
  border-bottom: 1px solid var(--line, #e6edf1);
  text-align: left;
  vertical-align: middle;
}
.mt-kat-tabulka th { font-size: .78rem; color: var(--muted, #617174); font-weight: 600; }
.mt-kat-tabulka td input[type="text"] {
  width: 100%;
  min-width: 0;
  padding: 4px 6px;
  border: 1px solid var(--line, #cbd5dd);
  border-radius: 6px;
  background: var(--surface, #fff);
  color: var(--text, #12202a);
  font-size: .86rem;
}
/* Poslední sloupec je vždy úzká akce (piktogram); zbytek si rozdělí obsah. */
.mt-kat-tabulka th:last-child,
.mt-kat-tabulka td:last-child { width: 44px; }
.mt-kat-tabulka.je-se-sitem th:nth-child(1),
.mt-kat-tabulka.je-se-sitem td:nth-child(1) { width: 26%; }
.mt-kat-tabulka.je-se-sitem th:nth-child(2),
.mt-kat-tabulka.je-se-sitem td:nth-child(2) { width: 14%; }
.mt-kat-checky { display: flex; flex-wrap: wrap; gap: 4px 10px; }
.mt-kat-checky .mt-check { font-size: .8rem; white-space: nowrap; }
.mt-kat-prevzeti { margin: 4px 0 2px; max-width: 420px; }

.is-hidden { display: none !important; }

/* ── Úzká obrazovka ─────────────────────────────────────────────────────── */
@media (max-width: 900px) {
  .mt-zdroj { grid-template-columns: minmax(0, 1fr) 26px; }
  .mt-panel .panel-heading { flex-wrap: wrap; }
  .mt-panel .panel-heading .mt-zpet { margin-left: 0; }
  .mt-akce-sady .mt-nebezpecne { margin-left: 0; }
}
