/* ── 🛡 Potvrzovací okno (Honza 9. 9. 2026: „Okno je výchozí windows") ───────────────
   Nahrazuje systémový `confirm()`. Barvy jdou z palety, takže okno drží světlý
   i tmavý režim. Když prohlížeč <dialog> neumí, tenhle blok se nikdy neuplatní
   a padá se zpátky na systémové okno — proto tu není žádná náhradní kostra. */
.zn-potvrdit {
  /* Honza 11. 9. 2026: ve správě školy okno „vyskočilo někam nahoru" a bylo vidět jen
     s kolečkem. Proto natvrdo doprostřed VIDITELNÉ obrazovky, nezávisle na tom, kde je
     stránka odrolovaná a co dělají okolní styly. */
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  margin: 0;
  max-height: calc(100vh - 3rem);
  overflow: auto;
  border: 1px solid var(--card-line);
  border-radius: 14px;
  padding: 0;
  max-width: 30rem;
  width: calc(100% - 2rem);
  background: var(--card);
  color: var(--ink);
  box-shadow: 0 18px 48px rgba(16, 24, 40, .22);
}
.zn-potvrdit::backdrop { background: rgba(16, 24, 40, .45); }
.zn-potvrdit > form { padding: 1.25rem 1.25rem 1rem; }
.zn-potvrdit h2 {
  font-size: 1.05rem;
  font-weight: 800;
  margin: 0 0 .5rem;
  color: var(--ink);
}
.zn-potvrdit #zn-potvrdit-text p { margin: 0 0 .5rem; font-size: .95rem; line-height: 1.45; }
.zn-potvrdit #zn-potvrdit-text p:last-child { margin-bottom: 0; }
/* Doplňující upozornění (např. „začal nový herní rok — rozdejte pracovní listy"). */
.zn-potvrdit #zn-potvrdit-popis {
  margin-top: .75rem;
  padding: .6rem .75rem;
  border-radius: 10px;
  background: var(--amber-soft);
  color: var(--amber-ink);
  font-size: .9rem;
  font-weight: 600;
}
.zn-potvrdit #zn-potvrdit-popis p { margin: 0; }
.zn-potvrdit-tlacitka {
  display: flex;
  justify-content: flex-end;
  gap: .5rem;
  margin-top: 1.1rem;
}
.zn-potvrdit-tlacitka button {
  font-weight: 700;
  font-size: .9rem;
  padding: .5rem 1rem;
  border-radius: 9px;
  cursor: pointer;
  border: 1px solid transparent;
}
#zn-potvrdit-ne {
  background: var(--card);
  color: var(--ink-2);
  border-color: var(--card-line);
}
#zn-potvrdit-ne:hover { background: var(--inset); }
#zn-potvrdit-ano { background: var(--btn); color: var(--btn-ink); }
#zn-potvrdit-ano:hover { background: var(--btn-hover); }
/* Nevratná akce (mazání) — potvrzovací tlačítko je červené, ať se neodklikne omylem. */
.zn-potvrdit--nebezpeci #zn-potvrdit-ano { background: var(--red-ink); }
.zn-potvrdit--nebezpeci #zn-potvrdit-ano:hover { filter: brightness(1.1); }
.zn-potvrdit-tlacitka button:focus-visible { outline: 3px solid var(--green); outline-offset: 2px; }

/* ── 🧾 Připomínka ke třídě („rozdejte nové pracovní listy") ────────────────────────
   Honza 9. 9. 2026: „bude tam jen rozumím, víc neukazovat a okno zmizí, aby to
   nerušilo." Proto jediné tlačítko a žádné zavírací křížky — odkliknutí je trvalé. */
.zn-pripominka {
  display: flex;
  align-items: center;
  gap: .9rem;
  flex-wrap: wrap;
  background: var(--amber-soft, #FCE7C7);
  border: 1px solid var(--amber-ink, #B45309);
  border-radius: 12px;
  padding: .85rem 1rem;
  margin-bottom: 1rem;
}
.zn-pripominka-ikona { color: var(--amber-ink, #B45309); display: flex; }
.zn-pripominka-nadpis { font-weight: 800; color: var(--amber-ink, #B45309); font-size: .95rem; }
/* ⚠️ Barvy z palety, ne natvrdo: v tmavém režimu byl hnědý text (#7C4A11) na tmavém
   jantarovém podkladu nečitelný — 2,08:1 (Honza 10. 9. 2026). Tučný nadpis unese
   jantarovou (`--amber-ink`), ale běžný text pod ním na ni má ve SVĚTLÉM režimu jen
   4,16:1, což je pod hranicí 4,5:1 — proto bere neutrální `--ink`. */
.zn-pripominka-text { margin: .15rem 0 0; font-size: .875rem; color: var(--ink, #1D2433); line-height: 1.4; }
.zn-pripominka form { margin-left: auto; }
.zn-pripominka-ok {
  background: var(--amber-ink, #B45309);
  color: var(--card, #fff);
  font-weight: 700;
  font-size: .85rem;
  padding: .5rem .9rem;
  border-radius: 9px;
  border: 0;
  cursor: pointer;
  white-space: nowrap;
}
.zn-pripominka-ok:hover { filter: brightness(1.08); }

/* ── 📥 Okno hromadného importu žáků (Honza 10. 9. 2026) ────────────────────────────
   Barvy z palety, ať drží světlý i tmavý režim. Soubor se čte v prohlížeči,
   takže okno musí unést i tabulku o šedesáti řádcích — proto vlastní roletka. */
.zn-import {
  border: 1px solid var(--card-line); border-radius: 14px; padding: 0;
  width: min(56rem, calc(100% - 2rem)); max-height: min(90vh, 48rem);
  background: var(--card); color: var(--ink);
  box-shadow: 0 18px 48px rgba(16, 24, 40, .22);
}
.zn-import::backdrop { background: rgba(16, 24, 40, .45); }
.zn-import-hlava {
  display: flex; align-items: center; justify-content: space-between;
  padding: 1rem 1.25rem .75rem; border-bottom: 1px solid var(--card-line);
}
.zn-import-hlava h2 { margin: 0; font-size: 1.05rem; font-weight: 800; display: flex; align-items: center; gap: .5rem; }
.zn-import-zavrit {
  background: none; border: 0; cursor: pointer; font-size: 1.1rem; color: var(--muted);
}
.zn-import-telo { padding: 1.25rem; overflow: auto; max-height: calc(90vh - 12rem); }
.zn-import-zona {
  border: 2px dashed var(--card-line); border-radius: 12px; background: var(--inset);
  padding: 2.25rem 1rem; text-align: center; cursor: pointer; display: grid; gap: .35rem;
}
.zn-import-zona:hover, .zn-import-zona--nad,
.zn-import-zona:focus-visible { border-color: var(--green); background: var(--green-faint); }
.zn-import-zona-ikona { color: var(--green); display: flex; justify-content: center; }
.zn-import-pozn { font-size: .8rem; color: var(--muted); }
.zn-import-slib {
  margin: .85rem 0 0; font-size: .8rem; color: var(--muted);
  background: var(--green-faint); border-radius: 9px; padding: .55rem .75rem;
}
.zn-import-chyba {
  margin: .75rem 0 0; font-size: .85rem; font-weight: 600;
  color: var(--red-ink); background: var(--red-soft); border-radius: 9px; padding: .55rem .75rem;
}
.zn-import-radek {
  display: flex; flex-wrap: wrap; align-items: end; gap: .75rem 1rem; margin-bottom: .85rem;
}
.zn-import-radek label { display: grid; gap: .2rem; font-size: .8rem; color: var(--muted); }
.zn-import-radek select {
  border: 1px solid var(--card-line); border-radius: 8px; padding: .35rem .5rem;
  font-size: .85rem; background: var(--card); color: var(--ink);
}
.zn-import-prepinac { flex-direction: row; align-items: center; gap: .4rem; }
.zn-import-info { font-size: .8rem; color: var(--muted); margin-left: auto; }
.zn-import-info--spatne { color: var(--red-ink); font-weight: 600; }
.zn-import-varovani {
  margin: 0 0 .85rem; font-size: .82rem; line-height: 1.45;
  color: var(--amber-ink); background: var(--amber-soft);
  border-radius: 9px; padding: .6rem .75rem;
}
.zn-import-tabulka-obal { border: 1px solid var(--card-line); border-radius: 10px; overflow: auto; max-height: 22rem; }
.zn-import-tabulka { width: 100%; border-collapse: collapse; font-size: .85rem; }
.zn-import-tabulka th {
  position: sticky; top: 0; background: var(--inset); text-align: left;
  padding: .45rem .6rem; font-size: .72rem; text-transform: uppercase;
  letter-spacing: .04em; color: var(--muted); border-bottom: 1px solid var(--card-line);
}
.zn-import-tabulka td { padding: .3rem .6rem; border-bottom: 1px solid var(--card-line-2); }
.zn-import-pole {
  width: 100%; border: 1px solid transparent; border-radius: 6px; padding: .25rem .4rem;
  font-size: .85rem; background: transparent; color: var(--ink);
}
.zn-import-pole:hover { border-color: var(--card-line); }
.zn-import-pole:focus { border-color: var(--green); outline: none; background: var(--card); }
.zn-import-vysledek { font-weight: 700; }
.zn-import-spatne { color: var(--red-ink); }
.zn-import-nejisty td { background: var(--amber-soft); }
.zn-import-znacka {
  display: inline-flex; align-items: center; justify-content: center;
  width: 1.05rem; height: 1.05rem; margin-left: .35rem; border-radius: 50%;
  background: var(--amber-ink); color: var(--card); font-size: .68rem; cursor: help;
}
.zn-import-pata {
  display: flex; justify-content: flex-end; gap: .5rem;
  padding: .85rem 1.25rem; border-top: 1px solid var(--card-line);
}
.zn-import-tl, .zn-import-tl-tichy {
  font-weight: 700; font-size: .88rem; padding: .5rem 1rem;
  border-radius: 9px; cursor: pointer; border: 1px solid transparent;
}
.zn-import-tl { background: var(--btn); color: var(--btn-ink); }
.zn-import-tl:hover:not(:disabled) { background: var(--btn-hover); }
.zn-import-tl:disabled { opacity: .5; cursor: not-allowed; }
.zn-import-tl-tichy { background: var(--card); color: var(--ink-2); border-color: var(--card-line); }
.zn-import-tl-tichy:hover { background: var(--inset); }

/* Výpis jmen, která se nepřidala (Honza 10. 9. 2026: „napsal bych, která jména
   už v tabulce jsou, celý seznam"). Vlastní roletka — může jich být šedesát. */
.zn-import-seznam {
  margin: .5rem 0 0; padding: 0 0 0 1.1rem; max-height: 11rem; overflow: auto;
  font-weight: 400; font-size: .82rem; line-height: 1.5;
}
.zn-import-seznam li { margin: 0; }
.zn-import-hotovo-nadpis { margin: 0 0 .75rem; font-weight: 800; color: var(--green-dark); }
/* „Testováno na exportu ze Škola OnLine" — drobná pečeť pod výčtem formátů. */
.zn-import-overeno { color: var(--green-dark); font-size: .78rem; }

/* ── 🧭 „Kde ten soubor ve Škola OnLine vezmu?" ─────────────────────────────────────
   Zavřené, ať nepřekáží tomu, kdo soubor už má připravený (Honza 10. 9. 2026). */
.zn-import-navod { margin-top: .85rem; font-size: .84rem; }
.zn-import-navod > summary {
  cursor: pointer; font-weight: 700; color: var(--green-dark);
  padding: .4rem .1rem; list-style: none; display: flex; align-items: center; gap: .4rem;
}
.zn-import-navod > summary::before { content: '▸'; transition: transform .15s; }
.zn-import-navod[open] > summary::before { transform: rotate(90deg); }
.zn-import-navod > summary:hover { text-decoration: underline; }
.zn-import-navod ol {
  margin: .35rem 0 .5rem; padding-left: 1.4rem; line-height: 1.65; color: var(--ink-2);
}
.zn-import-navod li { margin-bottom: .3rem; }
.zn-import-navod p { margin: 0; color: var(--muted); font-size: .8rem; }
.zn-import-navod a { color: var(--green-dark); }
/* Ikona exportu překreslená v našem stylu — cizí obrázek se sem netahá. */
.zn-import-navod-ikona {
  display: inline-flex; vertical-align: middle; margin-left: .35rem; padding: .15rem .3rem;
  border: 1px solid var(--card-line); border-radius: 6px;
  background: var(--inset); color: var(--green-dark);
}

/* 📈 volby navíc v potvrzovacím okně (inflace: zapnout / bez inflace) — základ mají
   z `.zn-potvrdit-tlacitka button`, hlavní volba vypadá jako Potvrdit. */
.zn-potvrdit-volba--hlavni { background: var(--btn); color: var(--btn-ink); }
.zn-potvrdit-volba--hlavni:hover { background: var(--btn-hover); }
