/* Barevná schémata. Každé je blok proměnných; výchozí je Sešit, ostatní se zapínají
   atributem `data-paleta` na <html> (static/tema.js) a ukládají se k účtu
   (Nastaveni::PALETY – seznam musí odpovídat tomuhle souboru i tema.js).
   --ts/--tl = sytost a světlost barvy tématu, --tss/--tsl totéž pro jeho tlumené pozadí. */
:root{
  --pozadi:#eaf0f7; --plocha:#ffffff; --text:#1c2740; --tlum:#5b6884;
  --ram:#d3dbe9; --ram2:#b3c0da; --hlavni:#2646b8; --hlavni-tmavy:#1c3590; --na-hlavni:#ffffff;
  --hl-svetle:#e6ecfb; --hover:#eff3fb; --fokus:#bccaf2; --karta2:#f6f8fd; --zvyraz:#f5f3ff; --stopa:#e6ebf4;
  --dobre:#17814f; --dobre-svetle:#e2f4ea; --dobre-ram:#a5d6bd;
  --spatne:#c4430d; --spatne-svetle:#fcebe1; --spatne-ram:#efb99c;
  --var-bg:#fff6dd; --var-text:#8a5d00; --var-ram:#e6d08f; --vtext-ram:#c9b6f5; --vtext-nadpis:#7a5cc4;
  --ts:48%; --tl:38%; --tss:62%; --tsl:93%;
}
html[data-paleta="pastelky"]{
  --pozadi:#f4f6ff; --plocha:#ffffff; --text:#241f3f; --tlum:#645f80;
  --ram:#dcdcf0; --ram2:#bdbde0; --hlavni:#d6451f; --hlavni-tmavy:#b23413; --na-hlavni:#ffffff;
  --hl-svetle:#ffeadf; --hover:#fff3ec; --fokus:#ffc7b0; --karta2:#faf9ff; --zvyraz:#fff7f2; --stopa:#ececf8;
  --dobre:#12805c; --dobre-svetle:#dff5ec; --dobre-ram:#9ad5bd;
  --spatne:#b3261e; --spatne-svetle:#fde7e4; --spatne-ram:#f0b4ae;
  --var-bg:#fff4d6; --var-text:#7a5200; --var-ram:#e5cd8a; --vtext-ram:#f2a98f; --vtext-nadpis:#c2431b;
  --ts:80%; --tl:42%; --tss:85%; --tsl:93%;
}
html[data-paleta="tabule"]{
  --pozadi:#103229; --plocha:#18453a; --text:#f0efe2; --tlum:#a8c4b8;
  --ram:#2b6252; --ram2:#3d7d69; --hlavni:#f4d35e; --hlavni-tmavy:#e3bf3f; --na-hlavni:#1b2b25;
  --hl-svetle:#22554a; --hover:#1d4c41; --fokus:#5c8f7e; --karta2:#143b32; --zvyraz:#1b4a3f; --stopa:#214f43;
  --dobre:#86e0ad; --dobre-svetle:#1f5a46; --dobre-ram:#3a8a69;
  --spatne:#ffa183; --spatne-svetle:#5b3a31; --spatne-ram:#8a5a4a;
  --var-bg:#4a4420; --var-text:#f0d77a; --var-ram:#7a6d2c; --vtext-ram:#b6a3e8; --vtext-nadpis:#cbb8ff;
  --ts:62%; --tl:72%; --tss:40%; --tsl:25%; color-scheme:dark;
}
html[data-paleta="more"]{
  --pozadi:#e3f3f2; --plocha:#ffffff; --text:#0e3b43; --tlum:#4a767c;
  --ram:#c0dddc; --ram2:#9cc7c5; --hlavni:#0f766e; --hlavni-tmavy:#0b5c56; --na-hlavni:#ffffff;
  --hl-svetle:#d7efed; --hover:#ebf7f6; --fokus:#9fd3cf; --karta2:#f4fbfa; --zvyraz:#f0faf9; --stopa:#d3e9e7;
  --dobre:#0f7a55; --dobre-svetle:#dcf3ea; --dobre-ram:#97d3b9;
  --spatne:#b3261e; --spatne-svetle:#fde7e4; --spatne-ram:#f0b4ae;
  --var-bg:#fff4d6; --var-text:#7a5200; --var-ram:#e5cd8a; --vtext-ram:#9fd3cf; --vtext-nadpis:#0b5c56;
  --ts:58%; --tl:34%; --tss:55%; --tsl:92%;
}
html[data-paleta="slunecnice"]{
  --pozadi:#fbf3da; --plocha:#fffdf6; --text:#3a2e12; --tlum:#7a6a42;
  --ram:#ead9a6; --ram2:#d4bf7a; --hlavni:#b45309; --hlavni-tmavy:#92400e; --na-hlavni:#ffffff;
  --hl-svetle:#fdebc2; --hover:#fdf3d6; --fokus:#f2cd7b; --karta2:#fff9e8; --zvyraz:#fff6dc; --stopa:#f1e5bd;
  --dobre:#2f7d32; --dobre-svetle:#e3f3dc; --dobre-ram:#a9d6a1;
  --spatne:#b3261e; --spatne-svetle:#fde7e0; --spatne-ram:#f0b4aa;
  --var-bg:#fff0c2; --var-text:#7a4a00; --var-ram:#e6c25f; --vtext-ram:#e6b95c; --vtext-nadpis:#a05a0a;
  --ts:70%; --tl:38%; --tss:75%; --tsl:90%;
}
html[data-paleta="les"]{
  --pozadi:#e9f1e6; --plocha:#fbfdf9; --text:#1f3326; --tlum:#5a7262;
  --ram:#cddfc9; --ram2:#a9c7a2; --hlavni:#2f6b3a; --hlavni-tmavy:#1f4f29; --na-hlavni:#ffffff;
  --hl-svetle:#dcebd6; --hover:#edf5ea; --fokus:#a6cf9f; --karta2:#f4f9f2; --zvyraz:#f1f7ee; --stopa:#dde9d9;
  --dobre:#1b7f4b; --dobre-svetle:#dcf1e4; --dobre-ram:#95cfae;
  --spatne:#c4430d; --spatne-svetle:#fcebe1; --spatne-ram:#efb99c;
  --var-bg:#fff6dd; --var-text:#8a5d00; --var-ram:#e6d08f; --vtext-ram:#a9c7a2; --vtext-nadpis:#2f6b3a;
  --ts:45%; --tl:34%; --tss:40%; --tsl:91%;
}
html[data-paleta="vecer"]{
  --pozadi:#181b36; --plocha:#20244a; --text:#eceaf7; --tlum:#a9acd0;
  --ram:#343a6e; --ram2:#4a529a; --hlavni:#ffb86b; --hlavni-tmavy:#ffa346; --na-hlavni:#2a1d0a;
  --hl-svetle:#2b3166; --hover:#262b5a; --fokus:#6a73c8; --karta2:#1c2042; --zvyraz:#252a58; --stopa:#2a3064;
  --dobre:#7fe0b0; --dobre-svetle:#1d4a47; --dobre-ram:#3b8a80;
  --spatne:#ff9b8a; --spatne-svetle:#4e2a3a; --spatne-ram:#8a4a58;
  --var-bg:#4a3d1f; --var-text:#ffd98a; --var-ram:#7a6530; --vtext-ram:#8f97e6; --vtext-nadpis:#b4bbff;
  --ts:60%; --tl:72%; --tss:40%; --tsl:26%; color-scheme:dark;
}
html[data-paleta="kontrast"]{
  --pozadi:#ffffff; --plocha:#ffffff; --text:#000000; --tlum:#3a3a3a;
  --ram:#767676; --ram2:#444444; --hlavni:#0b3fd1; --hlavni-tmavy:#082d99; --na-hlavni:#ffffff;
  --hl-svetle:#e4ebff; --hover:#f0f3ff; --fokus:#7b9bff; --karta2:#f6f6f6; --zvyraz:#f3f3ff; --stopa:#e0e0e0;
  --dobre:#006b32; --dobre-svetle:#dff3e6; --dobre-ram:#4c9a6c;
  --spatne:#b00020; --spatne-svetle:#fde4e8; --spatne-ram:#d06070;
  --var-bg:#fff3bf; --var-text:#5c4000; --var-ram:#b38a00; --vtext-ram:#5a4bc4; --vtext-nadpis:#3b2d9e;
  --ts:70%; --tl:30%; --tss:60%; --tsl:94%;
}

/* Sešit: čtverečkovaný papír jen v pozadí (karty jsou plné, text se na čtverečkách nečte) */
html:not([data-paleta]) body,html[data-paleta="sesit"] body{
  background-image:linear-gradient(#dbe4f1 1px,transparent 1px),linear-gradient(90deg,#dbe4f1 1px,transparent 1px);
  background-size:24px 24px}
*{box-sizing:border-box}
body{margin:0;font:15px/1.6 -apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
     color:var(--text);background:var(--pozadi)}
button{font:inherit;cursor:pointer}
a{color:var(--hlavni)}

/* ---------- přihlášení ---------- */
.karta-stred{max-width:420px;margin:8vh auto;background:var(--plocha);padding:28px 30px;
  border:1px solid var(--ram);border-radius:12px;box-shadow:0 2px 14px rgba(30,40,80,.06)}
.karta-stred h1{margin:0 0 4px;font-size:24px}
.podnadpis{display:block;font-size:13px;font-weight:400;color:var(--tlum);margin-top:2px}
.zalozky{display:flex;gap:6px;margin:18px 0 14px;border-bottom:1px solid var(--ram)}
.zal{background:none;border:0;padding:8px 12px;color:var(--tlum);border-bottom:2px solid transparent}
.zal.akt{color:var(--hlavni);border-bottom-color:var(--hlavni);font-weight:600}
.form{display:flex;flex-direction:column;gap:12px}
.form.skryto{display:none}
label{display:flex;flex-direction:column;gap:4px;font-size:13px;color:var(--tlum)}
input,select,textarea{font:inherit;color:var(--text);padding:8px 10px;border:1px solid var(--ram);
  border-radius:7px;background:var(--plocha)}
input:focus,textarea:focus{outline:2px solid var(--fokus);border-color:var(--hlavni)}
.hlavni{background:var(--hlavni);color:var(--na-hlavni);border:0;padding:10px 14px;border-radius:8px;font-weight:600}
.hlavni:hover{background:var(--hlavni-tmavy)}
.pozn{font-size:12px;color:var(--tlum);margin:0}
.hlaska{margin:14px 0 0;font-size:13px;min-height:18px}
.hlaska.chyba{color:var(--spatne)} .hlaska.ok{color:var(--dobre)}

/* ---------- rozvržení ---------- */
.hlava{display:flex;align-items:center;gap:20px;padding:10px 18px;background:var(--plocha);
  border-bottom:1px solid var(--ram);position:sticky;top:0;z-index:5}
.znacka{font-weight:700;color:var(--text);text-decoration:none}
.hlava nav{display:flex;gap:4px;flex:1}
.nav{background:none;border:0;padding:6px 12px;border-radius:7px;color:var(--tlum);
  text-decoration:none;display:inline-block}
.nav.akt,.nav:hover{background:var(--hl-svetle);color:var(--hlavni)}
.uziv{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--tlum)}
.odkazbtn{background:none;border:0;color:var(--hlavni);text-decoration:underline;padding:0}
/* Procvičování je jeden sloupec uprostřed (Trenér). Filtr není stále vidět, ale
   vyjíždí jako zásuvka zleva na všech šířkách – otevírá ho tlačítko Filtr nad úlohou. */
main{display:grid;grid-template-columns:minmax(0,1fr);gap:18px;padding:18px;align-items:start;
  max-width:820px;margin:0 auto}
main.jedna{max-width:1220px}
body.pohled-uvod main,body.pohled-statistiky main{max-width:1120px}
aside{background:var(--plocha);border:1px solid var(--ram);padding:44px 14px 18px;
  position:fixed;top:0;left:0;bottom:0;z-index:40;width:min(86vw,340px);overflow:auto;
  border-width:0 1px 0 0;box-shadow:0 0 44px rgba(15,23,42,.22);
  transform:translateX(-100%);visibility:hidden;transition:transform .22s ease,visibility 0s .22s}
body.panel-otevreno aside{transform:none;visibility:visible;transition:transform .22s ease,visibility 0s}
body.panel-otevreno .zavrit{display:block}
body.panel-otevreno .zaves{display:block;position:fixed;inset:0;z-index:35;background:rgba(15,23,42,.45)}
section{background:var(--plocha);border:1px solid var(--ram);border-radius:10px;padding:20px 22px;
  min-height:300px;
  /* bez min-width:0 by široký obsah (dlouhý příklad, tabulka) roztáhl sloupec
     gridu nad šířku okna místo aby se vešel */
  min-width:0}
.nacita{color:var(--tlum);padding:20px 0}

/* ---------- filtry ---------- */
.skupina{margin-bottom:16px}
.skupina h3{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--tlum)}
.volby{display:flex;flex-direction:column;gap:2px}
.volba{background:none;border:0;text-align:left;padding:5px 8px;border-radius:6px;font-size:14px;
  display:flex;justify-content:space-between;gap:8px;color:var(--text)}
.volba:hover{background:var(--hover)}
.volba.akt{background:var(--hl-svetle);color:var(--hlavni);font-weight:600}
.volba .pocet{color:var(--tlum);font-size:12px;font-weight:400}
.volba.pod{padding-left:18px;font-size:13px}
.rezim{display:flex;flex-direction:column;gap:4px}
.rezim label{flex-direction:row;align-items:center;gap:7px;font-size:13px;color:var(--text)}

/* ---------- úloha ---------- */
.zdroj{font-size:12px;color:var(--tlum);font-family:ui-monospace,Menlo,monospace}
.postup{display:flex;align-items:center;gap:12px;margin-bottom:14px;flex-wrap:wrap}
.pruh{flex:1;min-width:120px;height:6px;background:var(--stopa);border-radius:3px;overflow:hidden}
.pruh i{display:block;height:100%;background:var(--hlavni)}
.stitek{font-size:12px;color:var(--tlum)}
.stitky{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0 14px}
.stitek-b{font-size:11px;background:var(--hl-svetle);color:var(--hlavni-tmavy);padding:2px 8px;border-radius:20px}
.vtext{background:var(--zvyraz);border-left:3px solid var(--vtext-ram);padding:10px 14px;border-radius:0 8px 8px 0;
  margin:12px 0}
.vtext-nadpis{font-size:11px;text-transform:uppercase;letter-spacing:.05em;color:var(--vtext-nadpis);font-weight:700}
.zadani{margin:14px 0}
.zadani ol[type="A"]{padding-left:26px}
.figura{margin:12px 0;text-align:center}
.figura img{max-width:100%;border:1px solid var(--ram2);border-radius:8px}
.odpovedni{display:flex;gap:8px;margin:16px 0;flex-wrap:wrap}
.odpovedni input{flex:1;min-width:200px}
.reseni{border:1px solid var(--ram);border-radius:10px;padding:14px 16px;margin-top:6px;background:var(--karta2)}
.reseni h4{margin:0 0 6px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--tlum)}
.spravna{font-size:17px;font-weight:600;margin-bottom:10px}
.verdikt{padding:8px 12px;border-radius:8px;margin-bottom:12px;font-weight:600}
.verdikt.ano{background:var(--dobre-svetle);color:var(--dobre)}
.verdikt.ne{background:var(--spatne-svetle);color:var(--spatne)}
.zmena-uspesnosti{padding:8px 12px;border-radius:8px;margin:-4px 0 12px;background:var(--var-bg);color:var(--var-text);border:1px solid var(--var-ram)}
.zmena-uspesnosti b.dobre{color:var(--dobre)} .zmena-uspesnosti b.spatne{color:var(--spatne)}
.verdikt.nevim{background:var(--var-bg);color:var(--var-text)}
.hodnoceni{display:flex;align-items:center;gap:8px;margin-top:14px;flex-wrap:wrap}
.btn{border:1px solid var(--ram);background:var(--plocha);padding:9px 14px;border-radius:8px;font-weight:600}
.btn:hover{border-color:var(--ram2)}
.btn.dobre{border-color:var(--dobre-ram);color:var(--dobre)} .btn.dobre:hover{background:var(--dobre-svetle)}
.btn.spatne{border-color:var(--spatne-ram);color:var(--spatne)} .btn.spatne:hover{background:var(--spatne-svetle)}
.btn.navrh{box-shadow:0 0 0 3px var(--fokus)}
.ovladani{display:flex;gap:8px;margin-top:18px;padding-top:14px;border-top:1px solid var(--ram);
  align-items:center;flex-wrap:wrap}
.prazdno{text-align:center;color:var(--tlum);padding:40px 10px}
.prazdno strong{display:block;font-size:17px;color:var(--text);margin-bottom:6px}

/* ---------- tabulky ---------- */
table{border-collapse:collapse;width:100%;font-size:14px}
th,td{text-align:left;padding:8px 10px;border-bottom:1px solid var(--ram)}
th{font-size:12px;text-transform:uppercase;letter-spacing:.04em;color:var(--tlum)}
td.c,th.c{text-align:right}
.karty{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:22px}
.karta{background:var(--karta2);border:1px solid var(--ram);border-radius:10px;padding:14px}
.karta b{display:block;font-size:26px;line-height:1.2}
.karta span{font-size:12px;color:var(--tlum)}
.znacka-stav{font-size:11px;padding:2px 8px;border-radius:20px}
.znacka-stav.ano{background:var(--dobre-svetle);color:var(--dobre)}
.znacka-stav.ne{background:var(--var-bg);color:var(--var-text)}

/* ---------- veřejná stránka ke stažení ---------- */
.podpatek{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--ram);
  font-size:13px;color:var(--tlum)}
.archivy{display:flex;flex-direction:column;gap:14px;margin-top:20px}
.archiv{display:flex;gap:18px;align-items:center;justify-content:space-between;
  border:1px solid var(--ram);border-radius:10px;padding:16px 18px;background:var(--karta2);
  flex-wrap:wrap}
.archiv h3{margin:0 0 4px;font-size:17px}
.archiv .pozn{margin:0 0 6px;max-width:62ch}
.archiv .meta{margin:0;font-size:13px;color:var(--tlum)}
.archiv .meta strong{color:var(--text)}
.archiv.chybi{background:var(--var-bg);border-color:var(--var-ram)}
.varovani{margin:8px 0 0;font-size:13px;color:var(--var-text)}
.stahnout{white-space:nowrap;text-decoration:none;display:inline-block}
code{background:var(--stopa);padding:1px 5px;border-radius:4px;font-size:.92em}

/* ---------------------------------------------- poznámka, přeřazení, klíč */

.prekryv{position:fixed;inset:0;background:rgba(15,23,42,.55);display:flex;
  align-items:center;justify-content:center;padding:20px;z-index:50}
.okno{background:var(--plocha);border-radius:12px;padding:22px;max-width:560px;width:100%;
  box-shadow:0 20px 50px rgba(15,23,42,.3)}
.okno h3{margin:0 0 6px}
.okno textarea{width:100%;padding:10px;border:1px solid var(--ram2);border-radius:8px;
  font:inherit;resize:vertical}
.okno-tlacitka{display:flex;gap:10px;justify-content:flex-end;align-items:center;margin-top:12px}
.okno .form{gap:10px}
.stred{align-self:center;font-size:13px}

.prerazeni{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap;background:var(--karta2);
  border:1px solid var(--ram);border-radius:10px;padding:12px;margin:8px 0}
.prerazeni label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--tlum)}
.prerazeni select{padding:7px;border:1px solid var(--ram2);border-radius:7px;font:inherit;
  max-width:280px}

.klic{margin-top:10px}
.klic.skryto{display:none}
.klic figure{margin:10px 0}
.klic img{max-width:100%;border:1px solid var(--ram);border-radius:8px}
.vpravo{margin-left:auto}

/* ------------------------------------------------------------ správa webu */

.odznak{display:inline-block;min-width:18px;padding:0 6px;border-radius:9px;
  background:#dc2626;color:#fff;font-size:11px;font-weight:700;line-height:18px;
  text-align:center;vertical-align:middle}
.rezim.vodorovne{flex-direction:row;gap:18px;margin-bottom:14px}
.rezim.vodorovne label{display:inline-flex;align-items:center;gap:6px;margin:0}

.poznamka{border:1px solid var(--ram);border-left:3px solid var(--hlavni);border-radius:10px;
  padding:12px 14px;margin-bottom:12px;background:var(--plocha)}
.poznamka.hotova{border-left-color:var(--tlum);background:var(--karta2);opacity:.75}
.poznamka-hlava{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:8px}
.poznamka-text{white-space:pre-wrap;margin-bottom:10px}
.poznamka-akce{display:flex;gap:8px;align-items:center;flex-wrap:wrap}

/* ================================================================ mobil ====
   Do 860 px se horní menu i levý filtr schovávají: menu se rozbalí pod
   hlavičkou, filtr vyjede jako zásuvka přes obsah. Stav drží třídy na <body>,
   takže překreslení panelu (kresliPanel) ho nezavře.
   ========================================================================= */

.ikonbtn{display:none;background:none;border:1px solid var(--ram);border-radius:8px;
  padding:7px 11px;color:var(--text);font-weight:600;line-height:1.2}
.ikonbtn:hover{background:var(--hl-svetle);border-color:var(--ram2)}
.zavrit{display:none;position:absolute;top:8px;right:8px;background:none;border:0;
  font-size:26px;line-height:1;color:var(--tlum);padding:2px 8px;border-radius:8px}
.zavrit:hover{background:var(--hover)}
.zaves{display:none}
.tabulka{overflow-x:auto;-webkit-overflow-scrolling:touch}

@media (max-width:860px){
  .hlava.skladaci{flex-wrap:wrap;gap:10px;padding:8px 12px}
  .hlava.skladaci .ikonbtn{display:inline-block}
  .hlava.skladaci #nastaveni-btn{margin-left:auto}
  .hlava.skladaci .znacka{font-size:15px}

  /* menu a účet jdou pod hlavičku, až když se rozbalí.
     flex:0 0 100% musí přebít flex:1 ze základního pravidla, jinak by se
     nav vešel do řádku s logem a nezalomil se. */
  .hlava.skladaci nav,
  .hlava.skladaci .uziv{display:none;flex:0 0 100%;width:100%;order:3}
  body.menu-otevreno .hlava.skladaci nav{display:flex;flex-direction:column;gap:2px}
  body.menu-otevreno .hlava.skladaci .uziv{display:flex;justify-content:space-between;
    align-items:center;border-top:1px solid var(--ram);padding-top:10px;margin-top:2px}
  .hlava.skladaci nav .nav{padding:11px 12px;text-align:left;width:100%}
  .hlava.skladaci nav #adminodkaz{display:contents}

  main{grid-template-columns:1fr;padding:12px;gap:12px}

  /* levý panel = vysouvací zásuvka */
  main > .zasuvka{position:fixed;top:0;left:0;bottom:0;z-index:40;
    width:min(86vw,330px);max-height:none;border-radius:0;
    border-width:0 1px 0 0;padding:44px 14px 18px;
    transform:translateX(-100%);transition:transform .22s ease;
    box-shadow:0 0 44px rgba(15,23,42,.22)}
  body.panel-otevreno main > .zasuvka{transform:none}
  body.panel-otevreno .zavrit{display:block}
  body.panel-otevreno .zaves{display:block;position:fixed;inset:0;z-index:35;
    background:rgba(15,23,42,.45)}

  section{padding:14px 15px}
  /* Safari na iOS zoomuje stránku, když má pole písmo menší než 16 px. */
  input,select,textarea{font-size:16px}
  .rezim.vodorovne{flex-wrap:wrap;gap:10px 18px}
  .volba{padding:9px 10px;font-size:15px}
  .btn,.hlavni,.zal{min-height:42px}
  .zadani{overflow-x:auto}
  .archiv{gap:12px}
  .stahnout{width:100%;text-align:center}
  .okno{margin-top:6vh;align-self:flex-start}
  .prekryv{align-items:flex-start;padding:12px}
}

@media (max-width:560px){
  .karta-stred{margin:0;border-radius:0;border-width:0;padding:24px 18px}
  .odpovedni{flex-direction:column;align-items:stretch}
  .odpovedni input{min-width:0;width:100%}
  .ovladani .odkazbtn.vpravo{margin-left:0;width:100%;text-align:left;padding-top:6px}
  .hodnoceni .btn{flex:1}
  .karty{grid-template-columns:1fr 1fr;gap:8px}
  .karta{padding:10px}
  .karta b{font-size:21px}
  th,td{padding:7px 6px;font-size:13px}
  .prerazeni select{max-width:100%;width:100%}
  .poznamka-hlava .vpravo{margin-left:0}
  .prerazeni label{width:100%}
  .prerazeni .btn{flex:1}
}

/* ----------------------------------------------------- přehled provozu ----
   Sloupcový graf bez knihoven. Jedna řada (zobrazení za den) → jeden odstín
   a žádná legenda; počty jsou v bublině nad sloupcem a v tabulce pod grafem.
   -------------------------------------------------------------------------- */

.dvojice{display:grid;grid-template-columns:1fr 1fr;gap:22px;align-items:start}
.dvojice h3:first-child{margin-top:0}
.karta.pozor{background:var(--spatne-svetle);border-color:var(--spatne-ram)}
.karta.pozor b{color:var(--spatne)}

.graf{display:flex;align-items:flex-end;gap:2px;height:150px;padding:18px 0 0;
  border-bottom:1px solid var(--ram)}
.sl{position:relative;flex:1;height:100%;display:flex;align-items:flex-end;min-width:4px}
.sl-pruh{width:100%;background:var(--hlavni);border-radius:4px 4px 0 0;transition:background .12s}
.sl:hover .sl-pruh{background:var(--hlavni-tmavy)}
/* prázdný den ať je poznat, že tam den je */
.sl-pruh[style*="height:0"]{height:2px!important;background:var(--ram)}
.sl-max{position:absolute;top:-16px;left:50%;transform:translateX(-50%);
  font-size:11px;color:var(--tlum);white-space:nowrap}

.bublina{position:absolute;bottom:calc(100% + 8px);left:50%;transform:translateX(-50%);
  background:var(--text);color:var(--pozadi);font-size:12px;line-height:1.45;padding:7px 10px;
  border-radius:8px;white-space:nowrap;opacity:0;pointer-events:none;transition:opacity .1s;
  z-index:3;box-shadow:0 4px 14px rgba(15,23,42,.25)}
.sl:hover .bublina{opacity:1}
.sl:first-child .bublina{left:0;transform:none}
.sl:last-child .bublina{left:auto;right:0;transform:none}

/* filtr na jeden účet a rozpad provozu po uživatelích */
.provoz-filtr{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 18px}
.provoz-filtr label{font-size:13px;color:var(--tlum)}
.provoz-filtr select{max-width:340px}
/* karta s časem místo čísla – „před 3 h“ se do velkého písma nevejde */
.karta b.mensi{font-size:17px;padding:5px 0 4px}
/* účet, který za období nepřišel, ať není stejně výrazný jako ten, kdo byl */
tr.nic td{color:var(--tlum)}
td.spatny-stav{color:var(--spatne);font-weight:600}

.graf-osa{display:flex;justify-content:space-between;font-size:11px;color:var(--tlum);
  margin-top:6px}
.graf-data{margin:14px 0 22px}
.graf-data summary{font-size:13px;color:var(--hlavni);cursor:pointer}
.graf-data .tabulka{max-height:260px;overflow:auto;margin-top:8px}

@media (max-width:860px){
  .dvojice{grid-template-columns:1fr;gap:6px}
  .graf{height:120px}
  .bublina{font-size:11px}
  .provoz-filtr{gap:6px}
  .provoz-filtr select{max-width:100%;width:100%}
}

/* ------------------------------------- číselný příklad a velikost textu ----
   Samostatný příklad („(112 − 112 : 7) : 6 =“) se sází přes celou šířku –
   velikost dopočítá JavaScript podle naměřené šířky. Tlačítka A− / A+ mění
   text úlohy (kvůli školním tabulím), volba se pamatuje v prohlížeči.
   -------------------------------------------------------------------------- */

#obsah{--pismo:1}
.vtext,.zadani{font-size:calc(1em * var(--pismo))}

.priklad{display:block;width:100%;max-width:100%;overflow:hidden;margin:18px 0;padding:14px 10px;text-align:center;
  white-space:nowrap;line-height:1.25;font-weight:600;
  background:var(--karta2);border:1px solid var(--ram);border-radius:10px;
  font-variant-numeric:tabular-nums}
.priklad.zalomeny{white-space:normal}

/* ------------------------------------------------------ klikací nabídka ----
   Úlohy s výběrem z možností se neodpovídají psaním: klepne se rovnou do
   nabídky vypsané v zadání (`ol.klikaci`), u ANO/NE a u řádkových úloh do
   mřížky tlačítek (`.vyber`). Po kontrole se dobarví, jak to mělo být.
   -------------------------------------------------------------------------- */

.vyber-pokyn{margin:10px 0 0}
/* Vypnuté „Zkontrolovat“ – dokud nejsou vyplněné všechny řádky. */
.hlavni:disabled{opacity:.5;cursor:default}
.hlavni:disabled:hover{background:var(--hlavni)}
.zadani ol.klikaci{padding-left:26px}
.zadani ol.klikaci > li{cursor:pointer;padding:7px 10px;margin:4px 0 4px -10px;
  background:var(--karta2);border:1px solid var(--ram);border-radius:8px}
.zadani ol.klikaci > li:hover{background:var(--hl-svetle);border-color:var(--fokus)}
.zadani ol.klikaci > li:focus-visible{outline:2px solid var(--hlavni);outline-offset:1px}
/* Řádky posuzovaných tvrzení (18.1–18.4) bývají vysázené jako seznam A–D;
   odrážka by u nich napovídala volbu, která to není. */
.zadani ol.radkova{list-style:none;padding-left:0}

.vyber{display:flex;flex-direction:column;gap:6px;margin:14px 0}
.vyber.jedna{gap:8px}
.vyber.jedna .vyber-btn{text-align:left;font-weight:400}
.vyber.jedna .vyber-btn b{font-weight:700;margin-right:6px}
/* Nabídka, která je jen v obrázku – klikají se holá písmena vedle sebe. */
.vyber.jedna.pismena{flex-direction:row;flex-wrap:wrap}
.vyber.jedna.pismena .vyber-btn{text-align:center;font-weight:600;min-width:54px}
.vyber-radek{display:flex;align-items:center;gap:10px;flex-wrap:wrap;
  padding:5px 8px;border-radius:8px}
.vyber-radek:nth-child(odd){background:var(--karta2)}
.vyber-klic{min-width:66px;font-weight:600;font-variant-numeric:tabular-nums}
.vyber-volby{display:flex;gap:6px;flex-wrap:wrap}
.vyber-btn{min-width:46px;padding:7px 12px}
.vyber-btn.akt{background:var(--hl-svetle);border-color:var(--hlavni);color:var(--hlavni-tmavy)}
/* Po kontrole: zelená = správně, červená = to, co bylo naklepnuté špatně. */
.zadani ol.klikaci > li.akt{background:var(--hl-svetle);border-color:var(--hlavni)}
.vyber-btn.spravna,.zadani ol.klikaci > li.spravna{background:var(--dobre-svetle);
  border-color:var(--dobre-ram);color:var(--dobre)}
.vyber-btn.chybna,.zadani ol.klikaci > li.chybna{background:var(--spatne-svetle);
  border-color:var(--spatne-ram);color:var(--spatne)}
.zadani ol.klikaci > li.spravna::marker,.zadani ol.klikaci > li.chybna::marker{font-weight:700}

@media (max-width:560px){
  .vyber-btn{min-height:42px;flex:1}
  .vyber-klic{min-width:52px}
  .zadani ol.klikaci > li{padding:9px 10px}
}

/* ------------------------- popup: zadání, související otázky, hledání ---- */

.hledani-radek{display:flex;gap:6px}
.hledani-radek input{flex:1;min-width:0}
.hledani .pozn{font-size:11px;color:var(--tlum);margin-top:4px}
.prekryv.skupina-okno{align-items:flex-start;overflow:auto}
.okno.siroke{--pismo:1;max-width:880px;margin:3vh auto}
.okno-hlava{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;
  margin-bottom:10px;flex-wrap:wrap}
.okno-hlava h3{margin:0}
.otazka{border-top:1px solid var(--ram);padding-top:10px;margin-top:14px}
.otazka.vybrana{background:var(--karta2);border-left:3px solid var(--hlavni);padding-left:12px}
.otazka h4{margin:0 0 4px;font-size:15px}
.otevrit{display:flex;gap:6px 14px;flex-wrap:wrap;align-items:center;font-size:12px;
  color:var(--tlum);margin-top:8px}
.hity{list-style:none;padding:0;margin:8px 0}
.hity li{border-bottom:1px solid var(--ram)}
.hity .odkazbtn{padding:8px 4px;text-align:left;width:100%}

/* ---------------------------------------------- správce: uznávané odpovědi */

.okno h4.mezi{margin:14px 0 4px;font-size:12px;text-transform:uppercase;letter-spacing:.05em;color:var(--tlum)}
.klic-odp{background:var(--karta2);border:1px solid var(--ram);border-radius:8px;padding:8px 12px}
.cipy{display:flex;flex-wrap:wrap;gap:6px}
.cip{background:var(--hl-svetle);color:var(--hlavni-tmavy);border-radius:20px;padding:2px 10px;font-size:13px}
.cip.vlastni{background:var(--dobre-svetle);color:var(--dobre)}
.cip-x{background:none;border:0;color:inherit;font-size:15px;line-height:1;padding:0 0 0 6px;cursor:pointer}
.uz-pridat{margin-top:8px}

/* ====================================================== barevné schéma (volič) */

.paleta-btn{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;
  padding:0;border:1px solid var(--ram);border-radius:50%;background:var(--plocha);color:var(--text)}
.paleta-btn:hover{border-color:var(--hlavni)}
.paleta-btn svg{width:18px;height:18px}
.paleta-menu{position:fixed;top:58px;right:14px;z-index:60;width:min(330px,calc(100vw - 28px));
  background:var(--plocha);border:1px solid var(--ram);border-radius:14px;padding:12px;
  box-shadow:0 12px 40px rgba(15,23,42,.28)}
.paleta-menu[hidden]{display:none}
.paleta-menu h4{margin:0 0 8px;font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--tlum)}
.paleta-mriz{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.paleta-vol{display:flex;align-items:center;gap:9px;text-align:left;padding:7px 9px;border-radius:10px;
  border:1.5px solid transparent;background:var(--karta2);color:var(--text);font-size:14px}
.paleta-vol:hover{border-color:var(--ram2)}
.paleta-vol[aria-pressed="true"]{border-color:var(--hlavni);font-weight:700}
.paleta-vz{display:inline-flex;flex:none;border-radius:50%;overflow:hidden;width:26px;height:26px;
  box-shadow:0 0 0 1px rgba(0,0,0,.18)}
.paleta-vz i{flex:1}

/* ============================================================== úvodní stránka */

body.pohled-uvod #obsah{background:none;border:0;padding:0;min-height:0}
.uvod{display:grid;gap:26px}
.uv-hlava h2{margin:0;font-size:26px;line-height:1.15}
.uv-hlava p{margin:4px 0 0;color:var(--tlum)}
.uv-sekce{display:flex;align-items:baseline;gap:10px;margin:0 0 10px}
.uv-sekce h3{margin:0;font-size:18px}
.uv-sekce span{color:var(--tlum);font-size:13px}
.cesta{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(0,1fr);gap:20px;align-items:start}

.t{--c:hsl(var(--h) var(--ts) var(--tl));--cs:hsl(var(--h) var(--tss) var(--tsl))}
.dnes{display:grid;gap:10px}
.dnes-polozka{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;
  text-align:left;border:1px solid var(--ram);background:var(--plocha);border-radius:16px;
  padding:12px 16px 12px 12px;color:var(--text)}
.dnes-polozka:hover{border-color:var(--c,var(--hlavni))}
.dnes-polozka .bl{width:48px;height:48px;border-radius:14px;background:var(--cs,var(--hl-svetle));
  color:var(--c,var(--hlavni));display:grid;place-items:center;font-weight:800;font-size:12px;
  text-align:center;line-height:1.1}
.dnes-polozka b{display:block;font-size:16px;line-height:1.25}
.dnes-polozka small{color:var(--tlum);font-size:13px}
.dnes-polozka .jdi{font-weight:700;color:var(--hlavni);white-space:nowrap}
.dnes-prazdno{border:1px dashed var(--ram2);border-radius:16px;padding:16px;color:var(--tlum)}

.uv-bok{display:grid;gap:12px}
.uv-karta{background:var(--plocha);border:1px solid var(--ram);border-radius:14px;padding:14px 16px}
.uv-karta .stit{font-size:11px;text-transform:uppercase;letter-spacing:.08em;color:var(--tlum);font-weight:700}
.uv-karta .velke{font-size:30px;font-weight:800;line-height:1.1;margin-top:2px;font-variant-numeric:tabular-nums}
.uv-karta .velke small{font-size:15px;font-weight:600;color:var(--tlum)}
.uv-karta .mala{font-size:13px;color:var(--tlum)}
.cil-pruh{height:10px;border-radius:5px;background:var(--stopa);overflow:hidden;margin:8px 0 4px}
.cil-pruh i{display:block;height:100%;background:var(--hlavni);border-radius:5px}
.kalendar{display:grid;grid-auto-flow:column;grid-template-rows:repeat(7,1fr);gap:3px;margin-top:8px}
.kalendar i{aspect-ratio:1;border-radius:3px;
  background:color-mix(in srgb,var(--hlavni) calc(var(--v) * 1%),var(--stopa))}
.kalendar i.bud{background:transparent;outline:1px dashed var(--ram)}
.serie{display:inline-block;margin-top:8px;padding:2px 10px;border-radius:999px;font-size:13px;font-weight:700;
  background:var(--var-bg);color:var(--var-text)}

.dlazdice{display:grid;grid-template-columns:repeat(auto-fill,minmax(215px,1fr));gap:10px;margin-bottom:22px}
.dlazdice button{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 10px;align-items:center;
  text-align:left;border:1px solid transparent;border-radius:16px;padding:14px;background:var(--cs);
  color:var(--text)}
.dlazdice button:hover{border-color:var(--c)}
@media (prefers-reduced-motion:no-preference){.dlazdice button{transition:transform .12s}
  .dlazdice button:hover{transform:translateY(-2px)}}
.dlazdice .kd{font-size:12px;font-weight:800;letter-spacing:.06em;color:var(--c)}
.dlazdice .nm{font-weight:700;font-size:16px;line-height:1.2;grid-column:1}
.dlazdice .st{grid-column:1/3;margin-top:6px;font-size:12px;color:var(--tlum);display:flex;
  justify-content:space-between;gap:6px;flex-wrap:wrap}
.dlazdice .st .stav{font-weight:800}
.dlazdice .st .stav.procvicit{color:var(--spatne)}
.dlazdice .st .stav.zvladnuto{color:var(--dobre)}
.kruh{grid-row:1/3;grid-column:2;width:54px;height:54px;border-radius:50%;display:grid;place-items:center;
  background:conic-gradient(var(--c) calc(var(--p) * 1%),color-mix(in srgb,var(--c) 22%,transparent) 0)}
.kruh b{width:42px;height:42px;border-radius:50%;background:var(--cs);display:grid;place-items:center;
  font-size:13px;font-weight:800;color:var(--text)}

@media (max-width:860px){
  .cesta{grid-template-columns:1fr}
  .uv-hlava h2{font-size:22px}
}

/* ============================================================ procvičování (Trenér) */

.tr-nav{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:0 0 16px}
.chip{border:1px solid var(--ram);background:var(--karta2);color:var(--text);border-radius:999px;
  padding:4px 12px;font-size:13px;line-height:1.5}
button.chip:hover{border-color:var(--hlavni)}
button.chip.hlav{font-weight:700;color:var(--hlavni);background:var(--hl-svetle);border-color:transparent}
.chip.t{background:var(--cs);color:var(--c);border-color:transparent;font-weight:700}
#obsah.trener{border-top:6px solid var(--c,var(--hlavni))}
.tecky{display:flex;gap:5px;flex:1;min-width:120px;align-items:center}
.tecky i{flex:1;max-width:34px;height:8px;border-radius:4px;background:var(--stopa)}
.tecky i.ok{background:var(--dobre)} .tecky i.zle{background:var(--spatne)}
.tecky i.ted{background:var(--ram2);outline:2px solid var(--hlavni);outline-offset:1px}
.konec{text-align:center;padding:26px 8px}
.konec h2{margin:0 0 4px}
.konec .velke{font-size:44px;font-weight:800;line-height:1.1}
.konec .tlac{display:flex;gap:8px;justify-content:center;flex-wrap:wrap;margin-top:18px}

/* větší dotykové plochy u klikací nabídky */
.zadani ol.klikaci > li{border-radius:12px;padding:10px 12px}
.vyber-btn{border-radius:10px}

/* formuláře ve správě: nastavení webu */
.nast-radek{display:grid;gap:4px;max-width:420px;margin:0 0 16px}
.nast-radek small{color:var(--tlum)}


/* ================================================ info o úloze (sbalitelné) a velikost písma */

.napoveda-uloha{margin:10px 0}
.napoveda-uloha summary{display:inline-flex;align-items:center;gap:6px;cursor:pointer;list-style:none;font-size:.9em;
  padding:3px 10px;border:1px solid var(--var-ram);border-radius:999px;background:var(--var-bg);color:var(--var-text)}
.napoveda-uloha summary::-webkit-details-marker{display:none}
.napoveda-uloha summary:hover{filter:brightness(.97)}
.napoveda-uloha .napoveda-text{margin-top:6px;padding:8px 12px;border:1px solid var(--var-ram);border-left-width:4px;
  border-radius:8px;background:var(--var-bg);color:var(--var-text);font-size:.95em}
/* Štítek úlohy mimo specifikaci JPZ 2026/27 (viz Ulohy::seznam, spec2027) */
.spec2027{margin:0 0 10px;padding:5px 10px;border:1px dashed var(--ram);border-radius:8px;font-size:.88em;color:var(--tlum);background:var(--karta2)}
.spec2027.mimo{border-style:solid;border-color:#d9a070;background:#fbeee4;color:#5a2a00}
html[data-paleta="kontrast"] .spec2027.mimo,html[data-paleta="vecer"] .spec2027.mimo,html[data-paleta="tabule"] .spec2027.mimo{background:transparent;color:var(--text)}
.uv-spec{margin:0 0 14px;padding:10px 14px;border:1px solid var(--ram);border-left:4px solid var(--hlavni);border-radius:10px;font-size:13.5px;color:var(--tlum);background:var(--plocha)}
.uv-spec a{color:var(--hlavni)}
.rezim .pozn{margin-top:6px;font-size:12px;color:var(--tlum)}
/* Správa: přehledy úloh (Provoz → jeden uživatel, záložka Úlohy) */
.uu-zalozky{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 12px}
.uu-zalozky .btn.akt{background:var(--hlavni);color:var(--na-hlavni);border-color:var(--hlavni)}
.sk-nadpis{margin:16px 0 6px;font-size:14px;color:var(--tlum)}
details.skupina{border:1px solid var(--ram);border-radius:10px;background:var(--plocha);margin:6px 0}
details.skupina>summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 14px;padding:10px 14px;cursor:pointer}
details.skupina[open]>summary{border-bottom:1px solid var(--ram);background:var(--karta2);border-radius:10px 10px 0 0}
.sk-nazev{font-weight:600}.sk-cisla{font-size:12px;color:var(--tlum)}
.sk-telo{padding:8px 10px}
details.uloha-radek{border:1px solid var(--ram);border-radius:8px;background:var(--plocha);margin:6px 0}
details.uloha-radek>summary{display:grid;gap:3px;padding:8px 12px;cursor:pointer}
details.uloha-radek[open]>summary{background:var(--hover)}
.ur-hlava{display:flex;flex-wrap:wrap;gap:2px 10px;align-items:baseline}
.ur-tema{font-size:12px;color:var(--hlavni-tmavy)}
.ur-text{font-size:13px;color:var(--text);overflow-wrap:anywhere}
.ur-cisla{display:flex;flex-wrap:wrap;gap:2px 14px;font-size:12px;color:var(--tlum)}
.ur-cisla .moje{color:var(--text)}
.ur-telo{padding:8px 12px 12px;border-top:1px solid var(--ram)}
.ur-telo .lide{display:flex;flex-wrap:wrap;gap:6px;margin:0 0 8px}
table.pokusy td,table.pokusy th{padding:5px 10px;text-align:left}
.vysl{font-weight:600;white-space:nowrap}.vysl.ano{color:var(--dobre)}.vysl.ne{color:var(--spatne)}
.strank{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:center;margin:12px 0}
.strank .btn{padding:6px 12px}.strank .btn:disabled{opacity:.45;cursor:default}
p.strank{text-align:center}
.hledani{display:flex;flex-wrap:wrap;gap:10px 18px;align-items:center;margin:10px 0 14px}
.hledani input[type=search]{flex:1 1 320px;min-width:0;padding:9px 12px;border:1px solid var(--ram2);border-radius:8px;
  background:var(--plocha);color:var(--text);font:inherit}
.hledani label{font-size:13px;color:var(--tlum)}
.info-uloha{margin:18px 0 4px}
.info-btn{display:inline-flex;align-items:center;gap:5px;background:none;border:0;padding:2px 4px;
  font-size:12px;color:var(--tlum);opacity:.8;border-radius:6px}
.info-btn:hover,.info-btn[aria-expanded="true"]{opacity:1;color:var(--hlavni);background:var(--hover)}
#info-panel{margin-top:8px;padding:10px 12px;border:1px dashed var(--ram2);border-radius:10px;
  background:var(--karta2)}
#info-panel[hidden]{display:none}
#info-panel .zdroj{margin-bottom:6px}
#info-panel .stitky{margin:0 0 4px}
.pismo-menu{right:58px}
.pismo-vz{flex:none;width:34px;text-align:center;font-weight:700;line-height:1}
a.stitek-b{text-decoration:none}
a.stitek-b:hover{text-decoration:underline}

/* vodorovný pruh na dlaždici tématu: délka = kolik úloh bylo zkoušeno, barva = úspěšnost */
:root{--pruh-s:72%;--pruh-l:44%}
html[data-paleta="tabule"],html[data-paleta="vecer"]{--pruh-l:58%}
html[data-paleta="kontrast"]{--pruh-l:36%}
.pruh-tema{grid-column:1/3;display:block;height:8px;margin-top:10px;border-radius:4px;overflow:hidden;
  background:color-mix(in srgb,var(--text) 14%,transparent)}
.pruh-tema i{display:block;height:100%;border-radius:4px;background:hsl(var(--bh) var(--pruh-s) var(--pruh-l))}
.legenda-temata{margin:0 0 12px;font-size:13px;color:var(--tlum);display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.legenda-stupnice{display:inline-block;width:72px;height:8px;border-radius:4px;
  background:linear-gradient(90deg,hsl(0 var(--pruh-s) var(--pruh-l)),hsl(40 var(--pruh-s) var(--pruh-l)),hsl(125 var(--pruh-s) var(--pruh-l)))}

/* nabídka Nastavení (ozubené kolo) */
.nastaveni-menu{right:146px;width:min(420px,calc(100vw - 28px))}
.nast-sekce h5{margin:0 0 8px;font-size:15px}
.nast-volba{display:flex;flex-direction:row;align-items:flex-start;gap:9px;padding:8px 10px;border-radius:10px;
  background:var(--karta2);margin-bottom:6px;color:var(--text);font-size:14px}
.nast-volba input[type=radio]{margin-top:4px}
.nast-volba input[type=number]{width:84px;padding:4px 8px;margin:0 2px}
.nast-volba small{display:block;color:var(--tlum);font-size:12px;margin-top:2px}
.nast-vypnuto{opacity:.6}
.nast-nahled{margin:10px 2px;min-height:2.6em;font-size:14px}
.nast-akce{display:flex;align-items:center;gap:10px}
@media (max-width:560px){.nastaveni-menu,.pismo-menu{right:14px}}

/* ------------------------------------------------------ průvodce a nápověda */
.napoveda-menu{width:min(300px,calc(100vw - 16px))}
.napoveda-pol{display:block;width:100%;text-align:left;padding:10px 12px;border-radius:10px;border:1.5px solid transparent;
  background:var(--karta2);color:var(--text);font-size:14px;margin-bottom:6px}
.napoveda-pol:last-child{margin-bottom:0}
.napoveda-pol:hover{border-color:var(--hlavni)}
.napoveda-pol small{display:block;color:var(--tlum);font-size:12px;margin-top:2px}

.pr-blok{position:fixed;inset:0;z-index:100;background:transparent}
.pr-blok.tma{background:rgba(8,12,24,.66)}
.pr-blok.napoveda{z-index:100;cursor:help}
.pr-svetlo{position:fixed;z-index:101;border-radius:12px;pointer-events:none;
  box-shadow:0 0 0 100vmax rgba(8,12,24,.66),0 0 0 3px var(--hlavni)}
.pr-svetlo[hidden],.pr-ramec[hidden],.pr-stitek[hidden]{display:none}
.pr-okno{position:fixed;z-index:102;box-sizing:border-box;background:var(--plocha);color:var(--text);
  border:1px solid var(--ram);border-radius:14px;padding:16px 18px 14px;box-shadow:0 16px 48px rgba(0,0,0,.4)}
.pr-okno h3{margin:2px 0 8px;font-size:18px}
.pr-text{font-size:14px;line-height:1.5}
.pr-text p{margin:0 0 8px}
.pr-pocet{font-size:12px;color:var(--tlum);text-transform:uppercase;letter-spacing:.06em;padding-right:80px}
.pr-skip{position:absolute;top:12px;right:14px;background:none;border:0;color:var(--tlum);font-size:13px;
  text-decoration:underline;cursor:pointer;padding:2px 4px}
.pr-skip:hover{color:var(--text)}
.pr-pruh{height:4px;border-radius:2px;background:var(--karta2);margin:12px 0}
.pr-pruh i{display:block;height:100%;border-radius:2px;background:var(--hlavni)}
.pr-ovl{display:flex;justify-content:space-between;gap:8px}
.pr-sip{padding:8px 16px;border-radius:10px;border:1.5px solid var(--ram2);background:var(--karta2);color:var(--text);
  font-size:14px;cursor:pointer}
.pr-sip:hover:not(:disabled){border-color:var(--hlavni)}
.pr-sip:disabled{opacity:.4;cursor:default}
.pr-sip.hlavni{background:var(--hlavni);border-color:var(--hlavni);color:var(--na-hlavni);font-weight:600}
.pr-ramec{position:fixed;z-index:101;pointer-events:none;border:3px solid var(--hlavni);border-radius:12px;
  background:color-mix(in srgb,var(--hlavni) 10%,transparent);box-shadow:0 0 0 2px rgba(255,255,255,.7)}
.pr-stitek{position:fixed;z-index:102;pointer-events:none;background:var(--hlavni);color:var(--na-hlavni);font-size:12px;
  font-weight:600;padding:3px 9px;border-radius:8px;max-width:calc(100vw - 12px)}
.pr-banner{position:fixed;z-index:103;bottom:16px;left:50%;transform:translateX(-50%);display:flex;align-items:center;gap:12px;
  background:var(--plocha);color:var(--text);border:1px solid var(--ram);border-radius:12px;padding:8px 8px 8px 14px;
  font-size:13px;box-shadow:0 8px 28px rgba(0,0,0,.35);width:max-content;max-width:calc(100vw - 16px)}
.pr-banner .pr-sip{padding:5px 12px}
@media (prefers-reduced-motion:no-preference){.pr-svetlo{transition:left .22s,top .22s,width .22s,height .22s}}
@media (max-width:560px){.pr-okno{padding:14px 14px 12px}.pr-text{font-size:13.5px}}

/* ------------------------------------------------------------ plánování */
.planovani .tlum,.planovani small{color:var(--tlum)}
.planovani .ok{color:var(--dobre);font-weight:700}
.planovani h2{margin:22px 0 6px}
.planovani h3{margin:18px 0 6px;font-size:15px;text-transform:capitalize}
.planovani .radek{display:inline-flex;gap:6px;align-items:center;margin:4px 0}
.plan-karty{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px;margin:12px 0 16px}
.plan-karty .karta b{font-size:22px}
.planovani .doporuceni{background:var(--var-bg);color:var(--var-text);border:1px solid var(--var-ram);
  border-radius:10px;padding:10px 14px}
.plan-tab td,.skoly-tab td{vertical-align:middle}
.plan-tab .pruh{display:inline-block;width:110px;min-width:0;vertical-align:middle}
.terminy{display:flex;flex-direction:column;gap:6px}
.termin{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center;padding:9px 12px;border:1px solid var(--ram);
  border-radius:10px;background:var(--plocha);cursor:pointer}
.termin.dop{border-color:var(--var-ram);background:var(--var-bg)}
.termin.ano{border-color:var(--dobre-ram);background:var(--dobre-svetle)}
.termin .kdy{font-weight:700;min-width:130px}
.termin .stitek{font-size:12px;color:var(--var-text);font-weight:600}
.termin .kdo{font-size:12px;color:var(--dobre);font-weight:600}
.filtr{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:10px 0}
.skoly-tab td.c,.skoly-tab th{text-align:center}
.skoly-tab th:nth-child(2){text-align:left}
.skoly-tab tr.skola{cursor:pointer}
.skoly-tab tr.skola:hover,.skoly-tab tr.otevrena{background:var(--hover)}
.srdce{background:none;border:0;font-size:22px;line-height:1;color:var(--ram2);cursor:pointer;padding:4px 6px}
.srdce.jini{color:var(--spatne-ram)}
.srdce.moje{color:#d6336c}
.srdce small{font-size:11px;margin-left:2px;color:var(--tlum)}
.skoly-tab tr.detail td{background:var(--karta2);padding:12px 16px}
.detail-obsah h4{margin:14px 0 6px}
.pozn{background:var(--plocha);border:1px solid var(--ram);border-radius:8px;padding:8px 10px;margin:6px 0}
.pozn-form{display:flex;gap:8px;align-items:flex-start;margin-top:8px}
.pozn-form textarea{flex:1}
.zdroje{margin-top:16px;color:var(--tlum);font-size:13px}
@media (max-width:700px){
  .skoly-tab th:nth-child(n+7),.skoly-tab td:nth-child(n+7){display:none}
  .skoly-tab tr.detail td{display:table-cell}
  .termin .kdy{min-width:0}
}
.filtr label,.planovani label.radek{display:inline-flex;flex-direction:row;align-items:center;gap:6px}
.tema-teorie{border:1px solid var(--ram);border-radius:10px;background:var(--plocha);margin:8px 0;padding:6px 12px}
.tema-teorie summary{cursor:pointer;padding:6px 0}
.tema-teorie .podtemata{display:flex;flex-direction:column;gap:6px;padding:6px 0 10px}
.planovani label.termin{flex-direction:row;justify-content:flex-start;text-align:left;align-items:center}
.skoly-tab th.raz{cursor:pointer;user-select:none;white-space:nowrap}
.skoly-tab th.raz:hover,.skoly-tab th.raz.akt{color:var(--hlavni)}
.obt{display:inline-block;min-width:34px;padding:2px 6px;border-radius:999px;color:#fff;font-size:13px;
  background:hsl(calc(130 - var(--o) * 1.1) 55% 40%)}
.skoly-tab tr.detail td{display:table-cell}

/* Plánování: recenze škol (pozitiva / negativa) */
.recenze{margin:14px 0}
.recenze h4{margin:0 0 6px}
.plusminus{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:10px 0}
.plusminus ul{margin:6px 0 0;padding-left:18px}
.plusminus li{margin-bottom:5px}
.plusminus ul.plusy li::marker{color:#2e8b57;content:"＋ "}
.plusminus ul.minusy li::marker{color:#c0392b;content:"－ "}
@media (max-width:640px){.plusminus{grid-template-columns:1fr}}

/* Plánování: multiselect typu školy */
details.multi{position:relative;display:inline-block}
details.multi>summary{cursor:pointer;list-style:none;padding:7px 28px 7px 10px;border:1px solid var(--tlum);border-radius:8px;background:var(--plocha);color:var(--text);white-space:nowrap}
details.multi>summary::-webkit-details-marker{display:none}
details.multi>summary::after{content:"▾";position:absolute;right:10px;top:7px}
.multi-menu{position:absolute;z-index:20;left:0;top:calc(100% + 4px);min-width:100%;padding:6px 10px;border:1px solid var(--tlum);border-radius:8px;background:var(--plocha);box-shadow:0 4px 14px rgba(0,0,0,.15)}
.multi-menu .radek{display:flex;gap:8px;align-items:center;padding:4px 0;white-space:nowrap}

/* Plánování: analytický profil školy */
.profil{margin:10px 0 14px;padding:10px 14px;border-left:4px solid var(--tlum);background:var(--pozadi);border-radius:0 8px 8px 0}
.profil p{margin:6px 0}
.profil .profil-veta{font-size:16px;font-weight:600}
.profil ul{margin:4px 0 8px;padding-left:20px}

/* Plánování: co škola nabízí */
.nabidka{margin:14px 0}
.nabidka h4{margin:0 0 6px}
.nabidka dl{display:grid;grid-template-columns:max-content 1fr;gap:4px 14px;margin:0}
.nabidka dt{font-weight:600;color:var(--tlum)}
.nabidka dd{margin:0}
@media (max-width:640px){.nabidka dl{grid-template-columns:1fr}.nabidka dt{margin-top:6px}}

/* Plánování: porovnání škol vedle sebe */
.porov{background:none;border:1px solid var(--ram);border-radius:6px;font-size:15px;line-height:1;color:var(--tlum);cursor:pointer;padding:3px 5px;margin-left:2px}
.porov.akt{color:#fff;background:var(--hlavni);border-color:var(--hlavni)}
.porov-bar{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 10px}
.porov-bar .chip{display:inline-flex;align-items:center;gap:4px;padding:4px 10px}
.porov-x{background:none;border:0;cursor:pointer;color:var(--tlum);font-size:15px;line-height:1;padding:0 2px}
.porovnani{margin:6px 0 18px;padding:10px 12px;border:1px solid var(--ram);border-radius:10px;background:var(--plocha)}
.porovnani table{table-layout:fixed;width:100%;font-size:14px}
.porovnani th:first-child{width:170px;text-align:left;font-weight:600;color:var(--tlum);vertical-align:top}
.porovnani thead th{text-align:left;vertical-align:top}
.porovnani td{vertical-align:top;text-align:left;word-wrap:break-word}
.porovnani ul{margin:0;padding-left:16px}
@media (max-width:640px){.porovnani th:first-child{width:110px}.porovnani table{font-size:13px}}
