/* ==========================================================================================
   DocEnt — design system (jediná globální šablona stylů).

   Pravidla (poučení z Manage / Admin KWP.Serveru / KSO báze):
     • Všechno stylování je TADY. Stránky nemají lokální kopie stylů polí, tlačítek, karet ani tabulek.
       Stránkové CSS (wwwroot/css/stranky/*.css) smí jen rozložit obsah stránky, nikdy předefinovat komponentu.
     • Barvy jsou CSS proměnné; skin (Správa → Vzhled) je jen přebije v <style> v hlavičce.
     • Ikony jen Bootstrap Icons (žádné emoji).
     • Pole se vykresluje JEDNOU cestou (Razor partial _Pole) — tady je jeho jediný vzhled.
     • Katalog všech komponent s ukázkami: /Komponenty (kuchařka).
   ========================================================================================== */

:root {
    /* značka KARAT (firemní barvy; v obou skinech stejné) */
    --navy:#030333; --navy2:#0a0a4a; --green:#87AC3D; --green-l:#A6CC5A;

    /* SVĚTLÝ SKIN (výchozí) — role barev; stránky používají jen tyto proměnné, nikdy pevné barvy */
    --green-d:#52711a;                 /* zelená pro TEXT a IKONY na světlém pozadí (kontrast AA); originální zelenou drž pro plochy a podtržení */
    --bg:#f0f2f5; --plocha:#fff; --povrch2:#f6f7f9; --vstup-bg:#fff;
    --text:#1a1a2e; --muted:#5d6577; --slabe:#6b7385; --nadpis:#030333;
    --line:#e2e4e9; --line2:#eef0f3; --line3:#d5d9e0; --line4:#b9bfca;
    --hlavicka-bg:#fff;
    --prim-bg:#030333; --prim-bg-h:#0a0a4a; --prim-text:#fff;      /* hlavní tlačítko */
    --zel-text:#030333;                                              /* text na zelené ploše */
    --toast-bg:#030333; --toast-text:#fff;
    --platno:#e9ecf2;                                                /* podklad pod stránkou dokumentu */
    --nahled-bg:#e5e7eb;

    /* stavy */
    --ok:#166534; --ok-bg:#dcfce7; --info:#1e40af; --info-bg:#eff6ff; --info-text:#1e3a8a;
    --varovani:#92400e; --varovani-bg:#fffbeb; --chyba:#b91c1c; --chyba-bg:#fef2f2; --chyba-plna:#b91c1c;
    --ostrazity-bg:#fef3c7;
    /* akcent značky (výběr, potvrzeno, odkazy v Ověření údajů): firemní tmavě modrá, plocha je její světlý odstín; žádná cizí sytě modrá */
    --akcent:#030333; --akcent-bg:#eceef8; --akcent-ram:#aab0d4;
    /* čára v Ověření údajů: hlavní barva + okraj (halo), aby byla vidět na textu dokumentu i na ploše; předvolby se vybírají atributem data-cara (viz stranky/overeni.css) */
    --papir:#fff; --papir-text:#1a1a2e;   /* stránka dokumentu je bílá v obou skinech */
    --cara-okraj:#fff;
    --cara-karat:#030333; --cara-karat-okraj:#87AC3D;
    --cara-modra:#1d4ed8; --cara-zelena:#3f7a12; --cara-cervena:#c62828; --cara-oranzova:#c2570c; --cara-fialova:#6d28d9; --cara-kontrast:#000;
    --zluta:#f59e0b; --zluta-text:#92400e;
    --ram-var:#f3d08a; --ram-chyba:#fca5a5; --ram-ok:#bbf7d0;
    --graf-2:#030333;
    --syn-str:#0b6b3a; --syn-cis:#1e40af; --syn-bool:#9d174d; --varovani-cara:#d97706;

    /* tvar */
    --r-s:6px; --r-m:10px; --r-l:14px;
    --stin-1:0 1px 2px rgba(3,3,51,.06);
    --stin-2:0 4px 14px rgba(3,3,51,.10);
    --stin-3:0 12px 40px rgba(3,3,51,.22);
    --ring:0 0 0 3px color-mix(in srgb, var(--green) 28%, transparent);
    --rychle:.14s ease;
    --vyska-hlavicky:3.4rem;
    color-scheme:light;
}

/* TMAVÝ SKIN — pozadí je odvozené z firemní tmavě modré #030333, zelená zůstává akcent. Text je světlý (kontrast AA). */
:root[data-theme="dark"] {
    --green-d:#a6cc5a;
    --bg:#030333; --plocha:#0b0b3d; --povrch2:#0f0f47; --vstup-bg:#070735;
    --text:#e6e8f5; --muted:#a4a9c9; --slabe:#8b91b8; --nadpis:#fff;
    --line:#22225f; --line2:#161650; --line3:#33337a; --line4:#4a4a92;
    --hlavicka-bg:#05053f;
    --prim-bg:#87AC3D; --prim-bg-h:#a6cc5a; --prim-text:#030333;
    --toast-bg:#1c1c6b; --toast-text:#fff;
    --platno:#14144f;
    --nahled-bg:#14144f;

    --ok:#86efac; --ok-bg:#0e2a1d; --info:#9cc2ff; --info-bg:#0f1f55; --info-text:#c3d9ff;
    --varovani:#fcd34d; --varovani-bg:#2e2508; --chyba:#fca5a5; --chyba-bg:#3a1220; --chyba-plna:#c62828;
    --ostrazity-bg:#3a2e0b;
    --akcent:#a6cc5a; --akcent-bg:#1a1a63; --akcent-ram:#4a4a92;
    --papir:#fff; --papir-text:#1a1a2e;
    --cara-okraj:#030333;
    --cara-karat:#a6cc5a; --cara-karat-okraj:#030333;
    --cara-modra:#7db0ff; --cara-zelena:#a6cc5a; --cara-cervena:#ff8f8f; --cara-oranzova:#fbbf24; --cara-fialova:#c4a1ff; --cara-kontrast:#fff;
    --zluta:#fbbf24; --zluta-text:#fcd34d;
    --ram-var:#7a5f1a; --ram-chyba:#8f3a4a; --ram-ok:#2f7a50;
    --graf-2:#9cc2ff;
    --syn-str:#86efac; --syn-cis:#9cc2ff; --syn-bool:#f9a8d4; --varovani-cara:#fbbf24;

    --stin-1:0 1px 2px rgba(0,0,0,.35);
    --stin-2:0 4px 14px rgba(0,0,0,.45);
    --stin-3:0 12px 40px rgba(0,0,0,.6);
    color-scheme:dark;
}

* { margin:0; padding:0; box-sizing:border-box; }
[hidden] { display:none !important; }
html { scroll-behavior:smooth; }
body { font-family:'Segoe UI',Roboto,Arial,sans-serif; background:var(--bg); color:var(--text); display:flex; flex-direction:column; min-height:100vh; font-size:14px; line-height:1.45; }
a { color:var(--nadpis); }
a:hover { color:var(--green-d); }
img { max-width:100%; }
::selection { background:color-mix(in srgb, var(--green) 35%, var(--plocha)); }
:focus-visible { outline:2px solid var(--green); outline-offset:2px; }
.muted { color:var(--muted); }
.mala { font-size:.78rem; }
.vpravo { margin-left:auto; }
.nowrap { white-space:nowrap; }
.mono { font-family:Consolas,'Courier New',monospace; }
.cislo { text-align:right; font-variant-numeric:tabular-nums; }

/* ======================================== HLAVIČKA (horní menu) ======================================== */
/* Jedna lišta nahoře: logo, hlavní oblasti, vpravo fronta, nápověda, skin, uživatel. Ucha oblasti jsou druhý řádek (.podhlavicka).
   Obsah pod tím jde přes celou šířku okna. Pod 900 px se oblasti sbalí do tlačítka. */
.preskocit { position:absolute; left:.5rem; top:-4rem; z-index:200; background:var(--prim-bg); color:var(--prim-text); padding:.5rem .9rem; border-radius:var(--r-m); text-decoration:none; font-weight:600; }
.preskocit:focus { top:.5rem; }

.hlavicka { position:sticky; top:0; z-index:60; display:flex; align-items:center; gap:.9rem; height:var(--vyska-hlavicky); padding:0 1rem; background:var(--hlavicka-bg); border-bottom:1px solid var(--line); }
.hlavicka-logo { display:flex; align-items:center; flex:none; border-radius:var(--r-s); text-decoration:none; }
.logo-znacka { display:inline-flex; align-items:center; line-height:0; }
.logo-znacka img { height:1.75rem; width:auto; display:block; }
.logo-znacka .logo-tmave { display:none; }
:root[data-theme="dark"] .logo-znacka .logo-svetle { display:none; }
:root[data-theme="dark"] .logo-znacka .logo-tmave { display:block; }

.hlavni-menu { display:flex; align-items:stretch; gap:.1rem; height:100%; margin-left:.5rem; min-width:0; }
.hlavni-menu a { display:flex; align-items:center; gap:.45rem; padding:0 .8rem; color:var(--muted); text-decoration:none; font-size:.9rem; font-weight:500; white-space:nowrap;
    border-top:3px solid transparent; border-bottom:3px solid transparent; transition:color var(--rychle), background var(--rychle); }
.hlavni-menu a:hover { color:var(--nadpis); background:color-mix(in srgb, var(--green) 9%, transparent); }
.hlavni-menu a.aktivni { color:var(--nadpis); font-weight:600; border-bottom-color:var(--green); }
.hlavni-menu a i { font-size:1rem; }
.hlavni-menu .odznak { min-width:1.2rem; height:1.2rem; padding:0 .35rem; border-radius:999px; background:var(--green); color:var(--zel-text); font-size:.68rem; font-weight:700; display:inline-flex; align-items:center; justify-content:center; }
.hlavni-menu .odznak.varovani { background:var(--zluta); color:#030333; }
.hlavicka-menu-tlacitko { display:none; width:2.3rem; height:2.3rem; border-radius:var(--r-m); border:1px solid var(--line3); background:var(--plocha); color:var(--nadpis); font-size:1.3rem; cursor:pointer; align-items:center; justify-content:center; }

.hlavicka-vpravo { margin-left:auto; display:flex; align-items:center; gap:.5rem; flex:none; }
.vyvoj-stitek { display:inline-flex; align-items:center; gap:.35rem; padding:.2rem .6rem; border-radius:999px; background:var(--varovani-bg); color:var(--varovani); font-size:.74rem; font-weight:600; }
.ikona-tlacitko, .napoveda-tlacitko, .skin-prepinac { width:2.1rem; height:2.1rem; border-radius:50%; border:1px solid var(--line3); background:var(--plocha); color:var(--nadpis); cursor:pointer; display:inline-flex; align-items:center; justify-content:center; font-size:1rem; transition:background var(--rychle), border-color var(--rychle), color var(--rychle); flex:none; }
.ikona-tlacitko:hover, .napoveda-tlacitko:hover, .skin-prepinac:hover { background:var(--prim-bg); color:var(--prim-text); border-color:var(--prim-bg); }
/* zvonek „Na tebe čeká“ s odznakem počtu (obnovuje notifikace.js) */
.zvonek { position:relative; width:2.1rem; height:2.1rem; border-radius:50%; border:1px solid var(--line3); background:var(--plocha); color:var(--nadpis); display:inline-flex; align-items:center; justify-content:center; font-size:1rem; text-decoration:none; flex:none; transition:background var(--rychle), border-color var(--rychle), color var(--rychle); }
.zvonek:hover { background:var(--prim-bg); color:var(--prim-text); border-color:var(--prim-bg); }
.zvonek .odznak { position:absolute; top:-.35rem; right:-.45rem; min-width:1.15rem; height:1.15rem; padding:0 .3rem; border-radius:999px; background:var(--green); color:var(--zel-text); font-size:.66rem; font-weight:700; display:inline-flex; align-items:center; justify-content:center; }
.zvonek .odznak[hidden] { display:none; }

/* nabídka uživatele */
.uzivatel { position:relative; }
.uzivatel-tlacitko { max-width:19rem; display:inline-flex; align-items:center; gap:.5rem; padding:.2rem .6rem .2rem .25rem; border-radius:999px; border:1px solid var(--line3); background:var(--plocha); color:var(--text); font:inherit; font-size:.82rem; cursor:pointer; max-width:14rem; }
.uzivatel-tlacitko:hover, .uzivatel-tlacitko[aria-expanded=true] { border-color:var(--green); }
.uzivatel-tlacitko .avatar { width:1.6rem; height:1.6rem; border-radius:50%; background:var(--green); color:var(--zel-text); display:flex; align-items:center; justify-content:center; font-size:.7rem; font-weight:700; flex:none; }
.uzivatel-tlacitko .jmeno { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.uzivatel-tlacitko .sipka { font-size:.65rem; color:var(--muted); }
.uzivatel-menu { position:absolute; right:0; top:calc(100% + .45rem); min-width:15rem; background:var(--plocha); border:1px solid var(--line3); border-radius:var(--r-m); box-shadow:var(--stin-3); padding:.35rem; z-index:70; }
.uzivatel-menu .uzivatel-hlavicka { padding:.5rem .65rem .55rem; border-bottom:1px solid var(--line2); margin-bottom:.3rem; display:flex; flex-direction:column; gap:.1rem; color:var(--nadpis); }
.uzivatel-menu a, .uzivatel-menu button { display:flex; align-items:center; gap:.6rem; width:100%; padding:.5rem .65rem; border:0; border-radius:var(--r-s); background:none; color:var(--text); font:inherit; font-size:.86rem; text-align:left; text-decoration:none; cursor:pointer; }
.uzivatel-menu a:hover, .uzivatel-menu button:hover, .uzivatel-menu a:focus-visible, .uzivatel-menu button:focus-visible { background:color-mix(in srgb, var(--green) 14%, transparent); }
.uzivatel-menu i { color:var(--green-d); width:1.1rem; text-align:center; }

/* Kontext: kde se uživatel pohybuje a v jaké roli (organizace + role), přepínání organizace */
.kontext-text { display:flex; flex-direction:column; line-height:1.2; min-width:0; text-align:left; }
.kontext-org { font-size:.82rem; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
/* Štítek aktivní organizace v hlavičce (vždy viditelný; odstín z ID organizace přes --org-odstin, žádná pevná barva stránky) */
.org-stitek { display:inline-flex; align-items:center; gap:.35rem; max-width:14rem; padding:.22rem .65rem; border-radius:999px; font-size:.8rem; font-weight:600; line-height:1.2; text-decoration:none;
  background:hsl(var(--org-odstin, 210) 70% 92%); color:hsl(var(--org-odstin, 210) 60% 24%); border:1px solid hsl(var(--org-odstin, 210) 50% 72%); }
.org-stitek-platforma { background:var(--povrch2); color:var(--text); border-color:var(--line); cursor:pointer; font-family:inherit; }
/* Pruh „Nastavuješ na úrovni …“ (platforma / organizace) na stránkách, kde úroveň rozhoduje o tom, komu se změna týká */
.uroven-pruh { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:.6rem 1rem; padding:.7rem 1rem; margin:0 0 1rem; border-radius:var(--r-m); border:1px solid var(--line); }
.uroven-organizace { background:hsl(var(--org-odstin, 210) 70% 94%); border-color:hsl(var(--org-odstin, 210) 50% 72%); color:hsl(var(--org-odstin, 210) 60% 22%); }
.uroven-platforma { background:var(--povrch2); }
:root[data-theme="dark"] .uroven-organizace { background:hsl(var(--org-odstin, 210) 40% 20%); border-color:hsl(var(--org-odstin, 210) 40% 40%); color:hsl(var(--org-odstin, 210) 75% 88%); }
.uroven-text { display:flex; flex-direction:column; gap:.15rem; min-width:14rem; flex:1; }
.uroven-popisek { font-size:.72rem; text-transform:uppercase; letter-spacing:.04em; opacity:.75; }
.uroven-nazev { font-size:1.05rem; }
.uroven-vysvetleni { font-size:.85rem; opacity:.9; }
.uroven-prepnout { display:flex; flex-wrap:wrap; gap:.4rem; }
/* tichý jednořádkový pruh „Kde to platí“ (uroven.js) */
.uroven-tichy { justify-content:flex-start; gap:.4rem .8rem; padding:.45rem .8rem; font-size:.84rem; }
.uroven-tichy .uroven-vysvetleni { flex:1; min-width:12rem; font-size:.82rem; color:var(--muted); opacity:1; }
.uroven-tichy .uroven-odkaz { margin-left:auto; white-space:nowrap; color:var(--info); font-weight:600; text-decoration:none; }
.uroven-tichy .uroven-odkaz:hover { text-decoration:underline; }
.klic-urovne td { vertical-align:top; }
.klic-pouzit { outline:2px solid var(--akcent); outline-offset:-2px; }
.klic-pouzije { margin:.4rem 0 .8rem; }
.chyba-text { color:var(--chyba); }
.org-stitek span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.org-stitek:hover { filter:brightness(.97); }
:root[data-theme="dark"] .org-stitek { background:hsl(var(--org-odstin, 210) 40% 22%); color:hsl(var(--org-odstin, 210) 75% 86%); border-color:hsl(var(--org-odstin, 210) 40% 42%); }
@media (max-width:700px) { .org-stitek { max-width:7rem; } }
.kontext-role { font-size:.68rem; color:var(--muted); white-space:nowrap; }
.kontext-popis { margin:.55rem 0; font-size:.8rem; line-height:1.45; color:var(--text); }
.kontext-volba { display:flex; flex-direction:column; gap:.2rem; }
.kontext-volba-popisek { font-size:.7rem; text-transform:uppercase; letter-spacing:.04em; color:var(--muted); margin:.15rem 0; }
.kontext-volba button { display:flex; align-items:center; gap:.55rem; width:100%; padding:.45rem .6rem; border:0; border-radius:var(--r-s); background:none; color:var(--text); font:inherit; font-size:.84rem; text-align:left; cursor:pointer; }
.kontext-volba button:hover, .kontext-volba button:focus-visible { background:color-mix(in srgb, var(--green) 14%, transparent); }
.kontext-volba button.aktivni { font-weight:600; color:var(--nadpis); }
.kontext-volba button i { color:var(--green-d); width:1.1rem; text-align:center; }
@media (max-width:900px) { .kontext-role { display:none; } .kontext-tlacitko { max-width:9rem; } }
/* Náhled „zobrazit jako“: trvale viditelný pruh pod hlavičkou (jen náhled, změny zakázané) a okno výběru */
.nahled-rezimy { display:flex; gap:.5rem; flex-wrap:wrap; margin:.8rem 0; }
.nahled-rezim { display:inline-flex; align-items:center; gap:.45rem; padding:.45rem .8rem; border:1px solid var(--line3); border-radius:var(--r-m); background:var(--plocha); color:var(--nadpis); cursor:pointer; font-size:.86rem; }
.nahled-rezim:has(input:checked) { border-color:var(--green); background:color-mix(in srgb, var(--green) 14%, transparent); font-weight:600; }
.nahled-seznam { display:flex; flex-direction:column; max-height:16rem; overflow-y:auto; border:1px solid var(--line3); border-radius:var(--r-m); }
.nahled-radek { display:flex; align-items:flex-start; gap:.6rem; padding:.45rem .7rem; cursor:pointer; border-bottom:1px solid var(--line2); }
.nahled-radek:last-child { border-bottom:0; }
.nahled-radek:hover, .nahled-radek:has(input:checked) { background:color-mix(in srgb, var(--green) 14%, transparent); }
.nahled-radek input { margin-top:.3rem; }
.nahled-radek-text { display:flex; flex-direction:column; min-width:0; }
.uzivatel-menu form { margin:0; }
.uzivatel-verze { margin-top:.3rem; padding:.45rem .65rem .3rem; border-top:1px solid var(--line2); font-size:.72rem; color:var(--slabe); display:flex; gap:.4rem; align-items:center; }

/* podhlavička = ucha oblasti (druhý řádek) */
.podhlavicka { background:var(--plocha); border-bottom:1px solid var(--line); padding:0 1rem; }
.podhlavicka .zalozky { margin:0; border-bottom:0; gap:.1rem; }
.podhlavicka .zalozky a { padding:.6rem .85rem; }
.podhlavicka .zalozky-popisek { align-self:center; font-size:.68rem; font-weight:600; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); padding:0 .6rem 0 .1rem; min-width:9.5rem; white-space:nowrap; }
.podhlavicka + .podhlavicka { border-top:1px solid var(--line2); }
.podhlavicka .zalozky a .pocet { background:var(--green); color:var(--zel-text); border-radius:999px; padding:0 .45rem; font-size:.7rem; font-weight:700; font-variant-numeric:tabular-nums; }

/* ======================================== OBSAH ======================================== */
.obsah { flex:1; min-width:0; display:flex; flex-direction:column; }
.stranka-hlavicka { display:flex; align-items:baseline; gap:1rem; margin-bottom:.7rem; }
.stranka-hlavicka > div { display:flex; align-items:baseline; gap:.2rem 1rem; flex-wrap:wrap; }
.stranka-hlavicka .drobky { order:2; margin:0; }
.stranka-hlavicka h1 { font-size:1.15rem; font-weight:600; color:var(--nadpis); line-height:1.25; }
.stranka-hlavicka .popis { margin-left:auto; font-size:.78rem; color:var(--muted); }
.drobky { display:flex; align-items:center; gap:.4rem; font-size:.78rem; color:var(--muted); margin-bottom:.1rem; }
.drobky a { color:var(--muted); text-decoration:none; } .drobky a:hover { color:var(--nadpis); }
.drobky i { font-size:.65rem; }
.plocha { padding:1rem 1.25rem 3rem; width:100%; }
.plocha.uzka { max-width:1000px; margin-inline:auto; }

/* ukazatel fronty v hlavičce */
.fronta-ukazatel { display:inline-flex; align-items:center; gap:.5rem; padding:.35rem .75rem; border:1px solid var(--line3); border-radius:999px; background:var(--plocha); color:var(--muted); font-size:.78rem; text-decoration:none; transition:border-color var(--rychle), background var(--rychle); white-space:nowrap; }
.fronta-ukazatel:hover { border-color:var(--green); color:var(--nadpis); }
.fronta-ukazatel .tecka { width:.5rem; height:.5rem; border-radius:50%; background:var(--slabe); flex:none; }
.fronta-ukazatel.zije .tecka { background:var(--green); animation:puls 1.4s ease-in-out infinite; }
.fronta-ukazatel.chyba .tecka { background:#ef4444; }
/* Puntík spojení stránky s AI (MCP): šedá = ovládání vypnuté, zelená = spojeno, pulzující = AI právě ovládá stránku, červená = server neodpovídá */
.ai-puntik { display:inline-flex; align-items:center; gap:.4rem; padding:.35rem .65rem; border:1px solid var(--line3); border-radius:999px; background:var(--plocha); color:var(--muted); font:inherit; font-size:.78rem; cursor:pointer; white-space:nowrap; }
.ai-puntik:hover { border-color:var(--green); color:var(--nadpis); }
.ai-puntik .tecka { width:.5rem; height:.5rem; border-radius:50%; background:var(--slabe); flex:none; }
.ai-puntik[data-stav="zije"] .tecka { background:var(--green); }
.ai-puntik[data-stav="pracuje"] .tecka { background:var(--green); animation:puls 0.8s ease-in-out infinite; }
.ai-puntik[data-stav="pracuje"] { border-color:var(--green); color:var(--nadpis); }
.ai-puntik[data-stav="chyba"] .tecka { background:#ef4444; }
.ai-ramecek { position:fixed; z-index:9000; display:none; pointer-events:none; border:3px solid var(--green); border-radius:.5rem; box-shadow:0 0 0 4px color-mix(in srgb, var(--green) 30%, transparent); transition:all .25s ease; }
.ai-bublina { position:fixed; z-index:9001; display:none; pointer-events:none; max-width:250px; padding:.4rem .65rem; border-radius:.5rem; background:var(--navy); color:#fff; font-size:.8rem; box-shadow:0 4px 14px rgba(0,0,0,.25); }
.fronta-ukazatel b { color:var(--text); font-variant-numeric:tabular-nums; }
@keyframes puls { 0%,100% { box-shadow:0 0 0 0 color-mix(in srgb, var(--green) 55%, transparent); } 50% { box-shadow:0 0 0 .35rem color-mix(in srgb, var(--green) 0%, transparent); } }


/* ======================================== KARTY, MŘÍŽKY ======================================== */
.karta { background:var(--plocha); border:1px solid var(--line); border-radius:var(--r-m); padding:1.1rem 1.3rem; margin-bottom:1rem; }
.karta > h2, .karta-hlavicka h2 { font-size:.98rem; font-weight:600; color:var(--nadpis); margin-bottom:.7rem; display:flex; align-items:center; gap:.5rem; }
.karta h3 { font-size:.76rem; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); margin:1.1rem 0 .4rem; font-weight:600; }
.karta p { line-height:1.6; } .karta p + p { margin-top:.5rem; }
.karta-hlavicka { display:flex; align-items:center; gap:.75rem; margin-bottom:.8rem; flex-wrap:wrap; }
.karta-hlavicka h2 { margin:0; }
.karta-hlavicka .akce { margin-left:auto; display:flex; gap:.4rem; flex-wrap:wrap; }
.karta.bez-okraje { padding:0; overflow:hidden; }
.karta.zvyrazneni { border-color:var(--green); box-shadow:0 0 0 1px var(--green) inset; }
.mrizka { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:1rem; }
.mrizka > .karta { margin-bottom:0; }
.mrizka.uzka { grid-template-columns:repeat(auto-fill,minmax(200px,1fr)); }
.dvasloupce { display:grid; grid-template-columns:1fr 1fr; gap:1rem; align-items:start; }
.dvasloupce > .karta { margin-bottom:0; }
.rada { display:flex; gap:.8rem; flex-wrap:wrap; align-items:flex-end; }
.rada > * { flex:1; min-width:150px; }
.rada.bez-roztazeni > * { flex:none; }
.dlazdice { display:block; text-decoration:none; color:inherit; transition:box-shadow var(--rychle), border-color var(--rychle), transform var(--rychle); }
.dlazdice:hover { border-color:var(--green); box-shadow:var(--stin-2); transform:translateY(-1px); color:inherit; }
.dlazdice .ikona { font-size:1.5rem; color:var(--green-d); }
.dlazdice h2 { margin:.5rem 0 .3rem; }
.dlazdice.nedostupna { opacity:.55; pointer-events:none; }

/* ======================================== TLAČÍTKA ======================================== */
.tlacitko { display:inline-flex; align-items:center; justify-content:center; gap:.45rem; padding:.5rem 1rem; min-height:2.35rem; border-radius:var(--r-m); border:1px solid var(--line3); background:var(--plocha); color:var(--nadpis); font:inherit; font-size:.86rem; font-weight:600; cursor:pointer; text-decoration:none; transition:border-color var(--rychle), background var(--rychle), box-shadow var(--rychle), transform .06s; white-space:nowrap; position:relative; }
.tlacitko:hover { border-color:var(--nadpis); color:var(--nadpis); }
.tlacitko:active { transform:translateY(1px); }
.tlacitko.primarni { background:var(--prim-bg); color:var(--prim-text); border-color:var(--prim-bg); }
.tlacitko.primarni:hover { background:var(--prim-bg-h); color:var(--prim-text); border-color:var(--prim-bg-h); }
.tlacitko.zelene { background:var(--green); color:var(--zel-text); border-color:var(--green); }
.tlacitko.zelene:hover { background:var(--green-l); border-color:var(--green-l); color:var(--zel-text); }
.tlacitko.nebezpecne { color:var(--chyba); border-color:color-mix(in srgb, var(--chyba) 35%, var(--line3)); }
.tlacitko.nebezpecne:hover { background:var(--chyba-bg); border-color:var(--chyba); color:var(--chyba); }
.tlacitko.nebezpecne.plne { background:var(--chyba-plna); color:#fff; border-color:var(--chyba-plna); }
.tlacitko.tichy { border-color:transparent; background:transparent; color:var(--muted); }
.tlacitko.tichy:hover { background:var(--line2); color:var(--nadpis); border-color:transparent; }
.tlacitko.male { padding:.28rem .65rem; min-height:1.8rem; font-size:.78rem; border-radius:var(--r-s); }
.tlacitko.velke { padding:.7rem 1.4rem; min-height:2.9rem; font-size:.95rem; }
.tlacitko.jen-ikona { padding:.4rem; min-width:2.35rem; }
.tlacitko.male.jen-ikona { min-width:1.8rem; padding:.2rem; }
.tlacitko:disabled, .tlacitko[aria-disabled=true] { opacity:.5; cursor:not-allowed; transform:none; }
.tlacitko.nacitani { color:transparent !important; pointer-events:none; }
.tlacitko.nacitani::after { content:""; position:absolute; width:1rem; height:1rem; border:2px solid rgba(255,255,255,.4); border-top-color:#fff; border-radius:50%; animation:otoc .7s linear infinite; }
.tlacitko:not(.primarni):not(.zelene).nacitani::after { border-color:var(--line3); border-top-color:var(--nadpis); }
.skupina-tlacitek { display:inline-flex; } .skupina-tlacitek .tlacitko { border-radius:0; margin-left:-1px; } .skupina-tlacitek .tlacitko:first-child { border-radius:var(--r-m) 0 0 var(--r-m); margin-left:0; } .skupina-tlacitek .tlacitko:last-child { border-radius:0 var(--r-m) var(--r-m) 0; }
@keyframes otoc { to { transform:rotate(360deg); } }

/* ======================================== FORMULÁŘ ("form jazyk") ======================================== */
.formular { display:block; }
.formular .fsekce { display:flex; align-items:center; gap:.55rem; font-size:.78rem; font-weight:700; text-transform:uppercase; letter-spacing:.06em; color:var(--nadpis); margin:1.4rem 0 .7rem; padding-bottom:.45rem; border-bottom:1px solid var(--line2); counter-increment:fsekce; }
.formular .fsekce:first-child { margin-top:.2rem; }
.formular { counter-reset:fsekce; }
.formular .fsekce::before { content:counter(fsekce); width:1.35rem; height:1.35rem; border-radius:50%; background:var(--prim-bg); color:var(--prim-text); display:inline-flex; align-items:center; justify-content:center; font-size:.68rem; letter-spacing:0; }
.formular .fsekce.bez-cisla::before { display:none; }
.formular .fsekce .sekce-info { margin-left:auto; }

/* pole = popisek + ovládací prvek + vodítko + chyba. Jediná cesta: Razor partial _Pole */
.pole { margin-bottom:1rem; position:relative; }
.pole > .pole-popisek { display:flex; align-items:center; gap:.4rem; font-size:.8rem; font-weight:600; color:var(--text); margin-bottom:.3rem; }
.pole > .pole-popisek .povinne { color:var(--chyba); }
.pole > .pole-popisek .vychozi { margin-left:auto; font-weight:400; font-size:.72rem; color:var(--slabe); display:inline-flex; align-items:center; gap:.3rem; }
.pole > .pole-popisek .vychozi button { background:none; border:0; color:var(--green-d); cursor:pointer; font-size:.74rem; padding:0; }
.pole > .pole-popisek .vychozi button:hover { text-decoration:underline; }
.pole .pole-vodítko, .pole .pole-vodidko { font-size:.76rem; color:var(--muted); margin-top:.3rem; line-height:1.4; }
.pole .pole-chyba { font-size:.76rem; color:var(--chyba); margin-top:.3rem; display:none; }
.pole.ma-chybu .pole-chyba { display:block; }
.pole.ma-chybu .vstup, .pole.ma-chybu input, .pole.ma-chybu select, .pole.ma-chybu textarea { border-color:var(--chyba); }
.pole.zmeneno > .pole-popisek::after { content:""; width:.45rem; height:.45rem; border-radius:50%; background:var(--green); margin-left:.2rem; }
.pole.kratke { max-width:14rem; } .pole.stredni { max-width:28rem; } .pole.siroke { max-width:46rem; }
.pole-info { color:var(--slabe); cursor:help; font-size:.85rem; position:relative; }
.pole-info:hover { color:var(--green-d); }
.fgrid { display:grid; grid-template-columns:repeat(auto-fit,minmax(240px,1fr)); gap:0 1.2rem; }
.fgrid .pole { max-width:none; }
.fgrid .plna { grid-column:1/-1; }

/* "co a proč" — vysvětlující karta; globální přepínač nápovědy ji schová */
.napoveda-karta { display:flex; gap:.7rem; padding:.75rem 1rem; border-radius:var(--r-m); background:var(--info-bg); color:var(--info-text); font-size:.84rem; line-height:1.5; margin-bottom:1rem; border:1px solid color-mix(in srgb, var(--info) 14%, transparent); }
.napoveda-karta > i { color:var(--info); margin-top:.15rem; font-size:1rem; flex:none; }
.napoveda-karta b { color:var(--info-text); }
.napoveda-karta ul { margin:.3rem 0 0 1.1rem; }
body.skryj-napovedu .napoveda-karta:not(.vzdy) { display:none; }
.prepinac-napovedy { display:inline-flex; align-items:center; gap:.4rem; font-size:.78rem; color:var(--muted); cursor:pointer; }

/* ======================================== VSTUPY ======================================== */
.vstup, input[type=text], input[type=password], input[type=number], input[type=email], input[type=url], input[type=search], input[type=date], input[type=datetime-local], select, textarea {
    display:block; width:100%; padding:.52rem .75rem; min-height:2.5rem; border:1px solid var(--line3); border-radius:var(--r-m); background:var(--vstup-bg); color:var(--text);
    font:inherit; font-size:.9rem; line-height:1.4; transition:border-color var(--rychle), box-shadow var(--rychle), background var(--rychle); appearance:none; -webkit-appearance:none; }
.vstup:hover, input:hover, select:hover, textarea:hover { border-color:var(--line4); }
.vstup:focus, input:focus, select:focus, textarea:focus { outline:none; border-color:var(--green); box-shadow:var(--ring); }
::placeholder { color:var(--slabe); }
input:disabled, select:disabled, textarea:disabled, .vstup:disabled { background:var(--line2); color:var(--muted); cursor:not-allowed; }
input[readonly] { background:var(--povrch2); }
textarea { min-height:5.5rem; resize:vertical; }
textarea.kod, .vstup.kod { font-family:Consolas,'Courier New',monospace; font-size:.82rem; }
select { padding-right:2.2rem; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 16 16' fill='%236b7280'%3E%3Cpath d='M1.646 4.646a.5.5 0 0 1 .708 0L8 10.293l5.646-5.647a.5.5 0 0 1 .708.708l-6 6a.5.5 0 0 1-.708 0l-6-6a.5.5 0 0 1 0-.708z'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right .8rem center; cursor:pointer; }
select[multiple] { background-image:none; padding-right:.75rem; }
input[type=number] { -moz-appearance:textfield; } input[type=number]::-webkit-outer-spin-button, input[type=number]::-webkit-inner-spin-button { -webkit-appearance:none; margin:0; }
input[type=checkbox], input[type=radio] { width:auto; min-height:0; padding:0; appearance:auto; -webkit-appearance:auto; accent-color:var(--green-d); box-shadow:none; }
input[type=file] { padding:.4rem; }
input[type=color] { width:3rem; min-height:2.5rem; padding:.2rem; cursor:pointer; }

/* přepínač (ano/ne) — nikdy holý checkbox */
.prepinac { display:inline-flex; align-items:center; gap:.65rem; cursor:pointer; user-select:none; font-size:.88rem; }
.prepinac input { position:absolute; opacity:0; width:0; height:0; }
.prepinac .posuvnik { position:relative; width:2.6rem; height:1.45rem; border-radius:999px; background:var(--line3); transition:background var(--rychle); flex:none; }
.prepinac .posuvnik::after { content:""; position:absolute; top:.17rem; left:.17rem; width:1.11rem; height:1.11rem; border-radius:50%; background:#fff; box-shadow:0 1px 3px rgba(0,0,0,.3); transition:transform var(--rychle); }
.prepinac input:checked + .posuvnik { background:var(--green); }
.prepinac input:checked + .posuvnik::after { transform:translateX(1.15rem); }
.prepinac input:focus-visible + .posuvnik { box-shadow:var(--ring); }
.prepinac input:disabled + .posuvnik { opacity:.5; }
.prepinac .prepinac-text small { display:block; color:var(--muted); font-size:.74rem; margin-top:.1rem; }

/* segment (2–5 možností vedle sebe) */
.segment { display:inline-flex; background:var(--line2); border-radius:var(--r-m); padding:.2rem; gap:.15rem; max-width:100%; flex-wrap:wrap; }
.segment label { position:relative; cursor:pointer; }
.segment input { position:absolute; opacity:0; width:0; height:0; }
.segment span { display:inline-flex; align-items:center; gap:.4rem; padding:.38rem .85rem; border-radius:calc(var(--r-m) - 3px); font-size:.82rem; font-weight:600; color:var(--muted); transition:background var(--rychle), color var(--rychle); white-space:nowrap; }
.segment label:hover span { color:var(--nadpis); }
.segment input:checked + span { background:var(--plocha); color:var(--nadpis); box-shadow:var(--stin-1); }
.segment input:focus-visible + span { box-shadow:var(--ring); }
.segment.plny { display:flex; } .segment.plny label { flex:1; } .segment.plny span { justify-content:center; width:100%; }

/* karty výběru (radio jako dlaždice s popisem) */
.volby { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:.6rem; }
.volba { position:relative; cursor:pointer; }
.volba input { position:absolute; opacity:0; width:0; height:0; }
.volba > div { border:1px solid var(--line3); border-radius:var(--r-m); padding:.75rem .9rem; transition:border-color var(--rychle), background var(--rychle), box-shadow var(--rychle); background:var(--plocha); height:100%; }
.volba:hover > div { border-color:var(--line4); }
.volba input:checked + div { border-color:var(--green); background:color-mix(in srgb, var(--green) 7%, var(--plocha)); box-shadow:0 0 0 1px var(--green) inset; }
.volba input:focus-visible + div { box-shadow:var(--ring); }
.volba b { display:block; font-size:.88rem; margin-bottom:.15rem; } .volba small { color:var(--muted); font-size:.76rem; line-height:1.35; display:block; }
.volba i { color:var(--green-d); margin-right:.3rem; }

/* číslo se šipkami a jednotkou */
.cislo-vstup { position:relative; display:flex; align-items:stretch; }
.cislo-vstup input { text-align:left; padding-right:5.4rem; }
.cislo-vstup .jednotka { position:absolute; right:4.6rem; top:50%; transform:translateY(-50%); font-size:.78rem; color:var(--muted); pointer-events:none; }
.cislo-vstup .sipky { position:absolute; right:.25rem; top:.25rem; bottom:.25rem; display:flex; gap:.15rem; }
.cislo-vstup .sipky button { width:1.7rem; border:0; border-radius:var(--r-s); background:var(--line2); color:var(--nadpis); cursor:pointer; font-size:.8rem; display:flex; align-items:center; justify-content:center; }
.cislo-vstup .sipky button:hover { background:var(--line3); }

/* heslo s okem */
.heslo-vstup { position:relative; } .heslo-vstup input { padding-right:2.8rem; }
.heslo-vstup button { position:absolute; right:.3rem; top:50%; transform:translateY(-50%); border:0; background:none; color:var(--muted); cursor:pointer; padding:.35rem .45rem; border-radius:var(--r-s); }
.heslo-vstup button:hover { color:var(--nadpis); background:var(--line2); }
.heslo-vstup .stav-klice { position:absolute; right:2.8rem; top:50%; transform:translateY(-50%); font-size:.72rem; }

/* barva (vzorek + hex) */
.barva-vstup { display:flex; align-items:center; gap:.5rem; } .barva-vstup input[type=text] { max-width:7rem; font-family:Consolas,monospace; text-transform:uppercase; }
.barva-vstup .vzorek { width:2.5rem; height:2.5rem; border-radius:var(--r-m); border:1px solid var(--line3); position:relative; overflow:hidden; flex:none; cursor:pointer; }
.barva-vstup .vzorek input { position:absolute; inset:-6px; width:calc(100% + 12px); height:calc(100% + 12px); border:0; padding:0; cursor:pointer; opacity:0; }

/* tagy (seznam hodnot) */
.tagy { display:flex; flex-wrap:wrap; gap:.35rem; align-items:center; padding:.35rem .5rem; min-height:2.5rem; border:1px solid var(--line3); border-radius:var(--r-m); background:var(--plocha); cursor:text; transition:border-color var(--rychle), box-shadow var(--rychle); }
.tagy:hover { border-color:var(--line4); } .tagy:focus-within { border-color:var(--green); box-shadow:var(--ring); }
.tagy .tag { display:inline-flex; align-items:center; gap:.3rem; padding:.18rem .3rem .18rem .6rem; border-radius:999px; background:var(--line2); font-size:.8rem; max-width:100%; }
.tagy .tag span { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.tagy .tag button { border:0; background:color-mix(in srgb, var(--text) 12%, transparent); color:var(--muted); width:1.15rem; height:1.15rem; border-radius:50%; cursor:pointer; font-size:.65rem; display:flex; align-items:center; justify-content:center; flex:none; }
.tagy .tag button:hover { background:var(--chyba); color:#fff; }
.tagy input { flex:1; min-width:8rem; border:0 !important; box-shadow:none !important; padding:.2rem .1rem; min-height:1.7rem; background:transparent; }
.tagy-nabidka { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.4rem; align-items:center; font-size:.76rem; color:var(--muted); }
.cip { display:inline-flex; align-items:center; gap:.3rem; padding:.2rem .65rem; border-radius:999px; border:1px dashed var(--line3); background:var(--plocha); font-size:.78rem; color:var(--nadpis); cursor:pointer; font-family:inherit; }
.cip:hover { border-color:var(--green); background:color-mix(in srgb, var(--green) 8%, var(--plocha)); }
.cip i { font-size:.7rem; color:var(--green-d); }

/* combobox s hledáním */
.kombo { position:relative; }
.kombo > input { padding-right:2.2rem; }
.kombo > .kombo-sipka { position:absolute; right:.8rem; top:50%; transform:translateY(-50%); color:var(--muted); pointer-events:none; font-size:.75rem; }
.kombo-seznam { position:absolute; left:0; right:0; top:calc(100% + .25rem); background:var(--plocha); border:1px solid var(--line3); border-radius:var(--r-m); box-shadow:var(--stin-2); max-height:18rem; overflow-y:auto; z-index:60; padding:.25rem; }
.kombo-polozka { display:flex; align-items:baseline; gap:.75rem; padding:.45rem .6rem; border-radius:var(--r-s); cursor:pointer; font-size:.84rem; }
.kombo-polozka .id { font-family:Consolas,monospace; font-size:.8rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.kombo-polozka .poznamka { margin-left:auto; color:var(--muted); font-size:.72rem; white-space:nowrap; }
.kombo-polozka .nazev { color:var(--muted); font-size:.76rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.kombo-polozka.vybrana, .kombo-polozka:hover { background:color-mix(in srgb, var(--green) 12%, var(--plocha)); }
.kombo-prazdno { padding:.7rem .8rem; color:var(--muted); font-size:.82rem; }
.kombo-polozka mark { background:color-mix(in srgb, var(--green) 35%, var(--plocha)); color:inherit; border-radius:2px; }

/* ======================================== UPOZORNĚNÍ, TOASTY, MODAL, ZÁSUVKA ======================================== */
.upozorneni { padding:.7rem 1rem; border-radius:var(--r-m); margin-bottom:1rem; font-size:.88rem; line-height:1.5; display:flex; gap:.65rem; align-items:flex-start; }
.upozorneni > i { margin-top:.12rem; flex:none; font-size:1rem; }
.upozorneni.info { background:var(--info-bg); color:var(--info); } .upozorneni.varovani { background:var(--varovani-bg); color:var(--varovani); }
.upozorneni.chyba { background:var(--chyba-bg); color:var(--chyba); } .upozorneni.ok { background:var(--ok-bg); color:var(--ok); }
.upozorneni .akce { margin-left:auto; flex:none; }

.toasty { position:fixed; right:1.2rem; bottom:1.2rem; z-index:300; display:flex; flex-direction:column; gap:.55rem; align-items:flex-end; pointer-events:none; max-width:min(26rem, calc(100vw - 2rem)); }
.toast { pointer-events:auto; background:var(--toast-bg); color:var(--toast-text); border-radius:var(--r-m); padding:.7rem 1rem .7rem .85rem; box-shadow:var(--stin-3); display:flex; gap:.65rem; align-items:flex-start; font-size:.86rem; line-height:1.4; animation:toast-dovnitr .22s ease; border-left:4px solid var(--green); cursor:pointer; }
.toast.chyba { border-left-color:#ef4444; } .toast.varovani { border-left-color:#f59e0b; } .toast.info { border-left-color:#60a5fa; }
.toast i { margin-top:.1rem; font-size:1rem; flex:none; }
.toast .tx b { display:block; margin-bottom:.1rem; }
.toast .toast-akce { margin-left:.6rem; padding:0; border:0; background:transparent; color:inherit; font:inherit; font-weight:700; text-decoration:underline; cursor:pointer; }
.toast .toast-akce:focus-visible { outline:2px solid currentColor; outline-offset:2px; }
.toast.odchazi { animation:toast-ven .18s ease forwards; }
@keyframes toast-dovnitr { from { opacity:0; transform:translateY(8px) scale(.98); } to { opacity:1; transform:none; } }
@keyframes toast-ven { to { opacity:0; transform:translateX(12px); } }

.modal-pozadi { position:fixed; inset:0; background:rgba(3,3,51,.5); backdrop-filter:blur(2px); z-index:200; display:flex; align-items:center; justify-content:center; padding:1rem; animation:zasediv .15s ease; }
.modal { background:var(--plocha); border-radius:var(--r-l); box-shadow:var(--stin-3); width:min(34rem, 100%); max-height:calc(100vh - 2rem); display:flex; flex-direction:column; animation:modal-dovnitr .18s ease; }
.modal.siroky { width:min(60rem, 100%); }
.modal-hlavicka { display:flex; align-items:center; gap:.7rem; padding:1rem 1.3rem .6rem; }
.modal-hlavicka h2 { font-size:1.05rem; color:var(--nadpis); margin:0; flex:1; }
.modal-hlavicka .ikona-vyznam { width:2.3rem; height:2.3rem; border-radius:50%; display:flex; align-items:center; justify-content:center; background:var(--info-bg); color:var(--info); font-size:1.1rem; flex:none; }
.modal-hlavicka .ikona-vyznam.nebezpecne { background:var(--chyba-bg); color:var(--chyba); }
.modal-telo { padding:.3rem 1.3rem 1rem; overflow-y:auto; color:var(--text); line-height:1.55; }
.modal-paticka { display:flex; justify-content:flex-end; gap:.5rem; padding:.8rem 1.3rem 1.1rem; }
@keyframes zasediv { from { opacity:0; } to { opacity:1; } }
@keyframes modal-dovnitr { from { opacity:0; transform:translateY(10px) scale(.98); } to { opacity:1; transform:none; } }

.zasuvka-pozadi { position:fixed; inset:0; background:rgba(3,3,51,.35); z-index:180; animation:zasediv .15s ease; }
.zasuvka { position:fixed; top:0; right:0; bottom:0; width:min(34rem, 100vw); background:var(--plocha); z-index:190; box-shadow:var(--stin-3); display:flex; flex-direction:column; animation:zasuvka-dovnitr .2s ease; }
.zasuvka.siroka { width:min(56rem, 100vw); }
.zasuvka-drzadlo { position:absolute; left:-4px; top:0; bottom:0; width:9px; cursor:ew-resize; z-index:2; }
.zasuvka-drzadlo:hover, .zasuvka.tazena .zasuvka-drzadlo { background:color-mix(in srgb, var(--green) 45%, transparent); }
.zasuvka.tazena { user-select:none; animation:none; }
.zasuvka-hlavicka { display:flex; align-items:center; gap:.7rem; padding:1rem 1.3rem; border-bottom:1px solid var(--line); }
.zasuvka-hlavicka h2 { flex:1; font-size:1.05rem; color:var(--nadpis); margin:0; }
.zasuvka-telo { padding:1.1rem 1.3rem 2rem; overflow-y:auto; flex:1; }
@keyframes zasuvka-dovnitr { from { transform:translateX(100%); } to { transform:none; } }

/* tooltip */
[data-tip] { position:relative; }
[data-tip]:hover::after, [data-tip]:focus-visible::after { content:attr(data-tip); position:absolute; left:50%; bottom:calc(100% + .45rem); transform:translateX(-50%); background:var(--toast-bg); color:var(--toast-text); font-size:.72rem; font-weight:400; line-height:1.35; padding:.4rem .6rem; border-radius:var(--r-s); width:max-content; max-width:18rem; white-space:normal; text-align:left; z-index:120; box-shadow:var(--stin-2); pointer-events:none; }
[data-tip][data-tip-dole]:hover::after { bottom:auto; top:calc(100% + .45rem); }

/* paleta příkazů (Ctrl+K) */
.paleta { width:min(36rem, 100%); background:var(--plocha); border-radius:var(--r-l); box-shadow:var(--stin-3); overflow:hidden; align-self:flex-start; margin-top:12vh; animation:modal-dovnitr .15s ease; }
.paleta input { border:0; border-bottom:1px solid var(--line); border-radius:0; min-height:3.2rem; padding:.8rem 1.1rem; font-size:1rem; }
.paleta input:focus { box-shadow:none; }
.paleta ul { list-style:none; max-height:20rem; overflow-y:auto; padding:.35rem; }
.paleta li a { display:flex; align-items:center; gap:.7rem; padding:.55rem .75rem; border-radius:var(--r-s); text-decoration:none; color:var(--text); font-size:.88rem; }
.paleta li a i { color:var(--green-d); width:1.1rem; text-align:center; }
.paleta li a small { margin-left:auto; color:var(--muted); }
.paleta li.vybrana a, .paleta li a:hover { background:color-mix(in srgb, var(--green) 12%, var(--plocha)); }

/* ======================================== ŠTÍTKY, STAVY ======================================== */
.stitek { display:inline-flex; align-items:center; gap:.3rem; padding:.12rem .55rem; border-radius:999px; font-size:.7rem; font-weight:600; background:var(--line2); color:var(--muted); white-space:nowrap; line-height:1.5; }
.stitek.ok, .stitek.lokalni { background:var(--ok-bg); color:var(--ok); } .stitek.cloud, .stitek.varovani { background:var(--ostrazity-bg); color:var(--varovani); }
.stitek.chyba { background:var(--chyba-bg); color:var(--chyba); } .stitek.info { background:var(--info-bg); color:var(--info); }
.stitek.navy { background:var(--prim-bg); color:var(--prim-text); }
/* stavy úloh ve frontě */
.stav { display:inline-flex; align-items:center; gap:.4rem; padding:.15rem .6rem; border-radius:999px; font-size:.72rem; font-weight:600; white-space:nowrap; }
.stav::before { content:""; width:.45rem; height:.45rem; border-radius:50%; background:currentColor; }
.stav.cekajici { background:var(--line2); color:var(--muted); }
.stav.bezi { background:var(--info-bg); color:var(--info); } .stav.bezi::before { animation:puls-modry 1.2s ease-in-out infinite; }
.stav.hotovo { background:var(--ok-bg); color:var(--ok); } .stav.chyba { background:var(--chyba-bg); color:var(--chyba); } .stav.zruseno { background:var(--line2); color:var(--slabe); text-decoration:line-through; }
@keyframes puls-modry { 0%,100% { opacity:1; } 50% { opacity:.25; } }

/* ======================================== TABULKY, METRIKY ======================================== */
.tabulka-obal { overflow-x:auto; border-radius:var(--r-m); }
table.tabulka { width:100%; border-collapse:collapse; font-size:.86rem; }
table.tabulka th { text-align:left; font-size:.7rem; text-transform:uppercase; letter-spacing:.05em; color:var(--muted); padding:.55rem .7rem; border-bottom:1px solid var(--line); white-space:nowrap; font-weight:600; background:var(--povrch2); position:sticky; top:0; }
table.tabulka td { padding:.55rem .7rem; border-bottom:1px solid var(--line2); vertical-align:top; }
table.tabulka tr:last-child td { border-bottom:0; }
table.tabulka tbody tr { transition:background var(--rychle); } table.tabulka tbody tr:hover { background:var(--povrch2); }
table.tabulka tbody tr.klikaci { cursor:pointer; }
table.tabulka td.cislo, table.tabulka th.cislo { text-align:right; font-variant-numeric:tabular-nums; }
table.tabulka td.prazdno { color:var(--slabe); font-style:italic; }
table.tabulka.hustá td, table.tabulka.husta td { padding:.3rem .6rem; }
code, .kod { font-family:Consolas,'Courier New',monospace; font-size:.82rem; background:var(--line2); padding:.05rem .35rem; border-radius:4px; }
pre.kod code { background:none; padding:0; border-radius:0; color:inherit; font-size:inherit; }
pre.kod { display:block; padding:.8rem 1rem; overflow:auto; max-height:28rem; white-space:pre-wrap; word-break:break-word; line-height:1.45; border-radius:var(--r-m); background:#0f172a; color:#e2e8f0; }

.metriky { display:grid; grid-template-columns:repeat(auto-fit,minmax(150px,1fr)); gap:.8rem; }
.metrika { background:var(--plocha); border:1px solid var(--line); border-radius:var(--r-m); padding:.8rem 1rem; }
.metrika .hodnota { font-size:1.7rem; font-weight:700; color:var(--nadpis); line-height:1.1; font-variant-numeric:tabular-nums; }
.metrika .hodnota small { font-size:.9rem; font-weight:500; color:var(--muted); }
.metrika .popisek { font-size:.74rem; color:var(--muted); margin-top:.25rem; text-transform:uppercase; letter-spacing:.04em; }
.metrika .interval { font-size:.72rem; color:var(--slabe); margin-top:.15rem; }
.metrika.dobra .hodnota { color:var(--ok); } .metrika.spatna .hodnota { color:var(--chyba); }

/* pruh s procentem (a volitelným intervalem spolehlivosti) */
.pruh { position:relative; height:.55rem; background:var(--line2); border-radius:999px; overflow:hidden; }
.pruh > span { position:absolute; left:0; top:0; bottom:0; border-radius:999px; background:var(--green); }
.pruh.interval::after { content:""; position:absolute; top:.12rem; bottom:.12rem; left:var(--od,0%); width:calc(var(--do,0%) - var(--od,0%)); background:color-mix(in srgb, var(--nadpis) 35%, transparent); border-radius:2px; }
.pruh.zlute > span { background:#f59e0b; } .pruh.cervene > span { background:#ef4444; }

/* mapa chyb (pole × model): barva podle procenta */
.mapa-tepla td.bunka { text-align:center; font-variant-numeric:tabular-nums; font-size:.8rem; font-weight:600; min-width:4rem; background:color-mix(in srgb, var(--green) calc(var(--p, 0) * 1%), #fecaca); color:#14240a; }
.mapa-tepla td.bunka.nic { background:var(--line2); color:var(--slabe); }

/* prázdný stav a kostry */
.prazdno-stav { text-align:center; padding:2.5rem 1rem; color:var(--muted); }
.prazdno-stav > i { font-size:2.4rem; color:var(--line3); display:block; margin-bottom:.6rem; }
.prazdno-stav h3 { text-transform:none; letter-spacing:0; font-size:1rem; color:var(--nadpis); margin:0 0 .3rem; }
.prazdno-stav p { max-width:30rem; margin:0 auto .9rem; }
.kostra { background:linear-gradient(90deg, var(--line2) 25%, var(--povrch2) 37%, var(--line2) 63%); background-size:400% 100%; animation:kostra 1.3s ease infinite; border-radius:var(--r-s); min-height:1rem; }
@keyframes kostra { 0% { background-position:100% 50%; } 100% { background-position:0 50%; } }

/* ======================================== DROPZÓNA, DRAG & DROP ======================================== */
.dropzona { border:2px dashed var(--line3); border-radius:var(--r-l); padding:1.6rem 1rem; text-align:center; color:var(--muted); cursor:pointer; transition:border-color var(--rychle), background var(--rychle); position:relative; }
.dropzona:hover, .dropzona.nad { border-color:var(--green); background:color-mix(in srgb, var(--green) 6%, var(--plocha)); }
.dropzona > i { font-size:2rem; color:var(--green-d); display:block; margin-bottom:.35rem; }
.dropzona b { color:var(--nadpis); }
.dropzona .podtitul { font-size:.78rem; margin-top:.2rem; }
.dropzona.kompaktni { padding:.9rem .8rem; } .dropzona.kompaktni > i { font-size:1.3rem; display:inline; margin-right:.5rem; vertical-align:middle; }
.dropzona input[type=file] { position:absolute; inset:0; opacity:0; cursor:pointer; width:100%; height:100%; }
body.pretahuje-soubor::after { content:"Pusť soubor kamkoli"; position:fixed; inset:0; z-index:250; background:color-mix(in srgb, var(--green) 20%, rgba(3,3,51,.55)); color:#fff; display:flex; align-items:center; justify-content:center; font-size:1.6rem; font-weight:700; border:6px dashed #fff; pointer-events:none; }
.nahravani-seznam { list-style:none; margin-top:.7rem; display:flex; flex-direction:column; gap:.4rem; }
.nahravani-seznam li { display:flex; align-items:center; gap:.6rem; padding:.45rem .7rem; border:1px solid var(--line); border-radius:var(--r-m); background:var(--plocha); font-size:.82rem; }
.nahravani-seznam li .nazev { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; text-align:left; }
.nahravani-seznam li .pruh { width:6rem; }

/* řazení tažením */
.razeni > * { position:relative; }
.razeni .uchyt { cursor:grab; color:var(--slabe); padding:.2rem .35rem; border-radius:var(--r-s); flex:none; }
.razeni .uchyt:hover { color:var(--nadpis); background:var(--line2); }
.razeni .pretahuje { opacity:.45; }
.razeni .cil-pusteni::before { content:""; position:absolute; left:0; right:0; top:-.3rem; height:3px; border-radius:2px; background:var(--green); }

/* ======================================== ZÁLOŽKY, ROZBALOVAČE ======================================== */
/* 🔴 Záložky se při nedostatku místa ZALAMUJÍ, nikdy neposouvají. Dřív tu bylo `overflow-x:auto`: prohlížeč pak dopočítá `overflow-y:auto` a protože
   odkaz má `margin-bottom:-1px` (aby jeho spodní linka překryla linku lišty), vznikl nesmyslný svislý posuvník se šipkami vpravo od záložek. */
.zalozky { display:flex; flex-wrap:wrap; gap:.2rem; border-bottom:1px solid var(--line); margin-bottom:1rem; overflow:visible; }
.zalozky button, .zalozky a { background:none; border:0; padding:.55rem .9rem; font:inherit; font-size:.86rem; color:var(--muted); cursor:pointer; border-bottom:2px solid transparent; margin-bottom:-1px; text-decoration:none; white-space:nowrap; display:inline-flex; align-items:center; gap:.4rem; }
.zalozky button:hover, .zalozky a:hover { color:var(--nadpis); }
.zalozky button.aktivni, .zalozky a.aktivni { color:var(--nadpis); font-weight:600; border-bottom-color:var(--green); }
.rozbalovac { border:1px solid var(--line); border-radius:var(--r-m); background:var(--plocha); margin-bottom:.6rem; }
.rozbalovac > summary { list-style:none; cursor:pointer; padding:.75rem 1rem; display:flex; align-items:center; gap:.7rem; font-weight:600; color:var(--nadpis); }
.rozbalovac > summary::-webkit-details-marker { display:none; }
.rozbalovac > summary::before { content:"\F285"; font-family:"bootstrap-icons"; font-size:.75rem; color:var(--muted); transition:transform var(--rychle); }
.rozbalovac[open] > summary::before { transform:rotate(90deg); }
.rozbalovac[open] > summary { border-bottom:1px solid var(--line2); }
.rozbalovac > .telo { padding:1rem; }

/* lišta neuložených změn (formuláře s data-sledovat) */
.uloz-lista { position:fixed; left:50%; bottom:1.2rem; transform:translate(-50%, 140%); background:var(--toast-bg); color:var(--toast-text); border:1px solid var(--line3); border-radius:var(--r-l); padding:.6rem .7rem .6rem 1.1rem; display:flex; align-items:center; gap:.9rem; box-shadow:var(--stin-3); z-index:120; transition:transform .2s ease; font-size:.86rem; }
.uloz-lista.viditelna { transform:translate(-50%, 0); }
.uloz-lista .tlacitko { border-color:rgba(255,255,255,.3); background:transparent; color:#fff; } .uloz-lista .tlacitko:hover { background:rgba(255,255,255,.12); }
.uloz-lista .tlacitko.zelene { background:var(--green); border-color:var(--green); color:var(--zel-text); }
.uloz-lista kbd { background:rgba(255,255,255,.15); border-radius:4px; padding:.05rem .35rem; font-size:.72rem; }
kbd { font-family:inherit; background:var(--line2); border:1px solid var(--line3); border-bottom-width:2px; border-radius:4px; padding:.05rem .4rem; font-size:.72rem; }

/* ======================================== NÁPOVĚDA ======================================== */
.napoveda-stranka { display:grid; grid-template-columns:15rem minmax(0,1fr); gap:1.6rem; align-items:start; }
.napoveda-obsah { position:sticky; top:5rem; }
.napoveda-obsah .hledani { margin-bottom:.8rem; }
.napoveda-obsah nav { display:flex; flex-direction:column; gap:.1rem; }
.napoveda-obsah nav a { display:flex; gap:.55rem; align-items:center; padding:.4rem .6rem; border-radius:var(--r-s); text-decoration:none; color:var(--muted); font-size:.84rem; }
.napoveda-obsah nav a:hover { background:var(--line2); color:var(--nadpis); }
.napoveda-obsah nav a.aktivni { background:color-mix(in srgb, var(--green) 14%, var(--plocha)); color:var(--nadpis); font-weight:600; }
.napoveda-tema { scroll-margin-top:5rem; margin-bottom:1.2rem; }
.napoveda-tema h2 { display:flex; align-items:center; gap:.6rem; }
.napoveda-tema h2 i { color:var(--green-d); }
.napoveda-tema h4 { font-size:.9rem; margin:1.1rem 0 .35rem; color:var(--nadpis); }
.napoveda-tema ul, .napoveda-tema ol { margin:.4rem 0 .6rem 1.3rem; line-height:1.6; }
.napoveda-tema li { margin-bottom:.2rem; }
.napoveda-tema table.tabulka td, .napoveda-tema table.tabulka th { background:transparent; }
.napoveda-tema .skryto-hledanim { display:none; }

/* vizuální schémata v nápovědě */
.schema { display:flex; align-items:stretch; gap:.4rem; flex-wrap:wrap; margin:.8rem 0 1rem; }
.schema .krok { flex:1; min-width:8.5rem; background:var(--plocha); border:1px solid var(--line3); border-radius:var(--r-m); padding:.7rem .8rem; text-align:center; position:relative; }
.schema .krok i { font-size:1.3rem; color:var(--green-d); display:block; margin-bottom:.2rem; }
.schema .krok b { display:block; font-size:.82rem; color:var(--nadpis); } .schema .krok small { color:var(--muted); font-size:.72rem; line-height:1.3; display:block; margin-top:.15rem; }
.schema .sipka { align-self:center; color:var(--slabe); font-size:1.1rem; }
.vrstvy { display:flex; flex-direction:column; gap:.4rem; margin:.8rem 0 1rem; max-width:38rem; }
.vrstvy .vrstva { display:flex; align-items:center; gap:.8rem; padding:.6rem .9rem; border-radius:var(--r-m); border:1px solid var(--line3); background:var(--plocha); }
.vrstvy .vrstva .cislo { width:1.7rem; height:1.7rem; border-radius:50%; background:var(--prim-bg); color:var(--prim-text); display:flex; align-items:center; justify-content:center; font-size:.78rem; font-weight:700; flex:none; text-align:center; }
.vrstvy .vrstva b { font-size:.86rem; color:var(--nadpis); } .vrstvy .vrstva small { display:block; color:var(--muted); font-size:.76rem; }
.vrstvy .vrstva:nth-child(2) { margin-left:1rem; } .vrstvy .vrstva:nth-child(3) { margin-left:2rem; } .vrstvy .vrstva:nth-child(4) { margin-left:3rem; } .vrstvy .vrstva:nth-child(5) { margin-left:4rem; }

/* ======================================== ČTEČKA, SADY (rozložení) ======================================== */
.ctecka { display:grid; grid-template-columns:minmax(280px,340px) minmax(0,1fr) minmax(340px,1.05fr); gap:1rem; align-items:start; }
.ctecka > .karta { margin-bottom:0; }
.nahled { text-align:center; background:var(--nahled-bg); border-radius:var(--r-m); padding:.6rem; min-height:12rem; position:relative; }
.nahled img { max-width:100%; height:auto; box-shadow:0 1px 8px rgba(0,0,0,.25); background:#fff; }
.listovani { display:flex; align-items:center; justify-content:center; gap:.7rem; margin-top:.6rem; font-size:.82rem; }
.stranky { display:flex; flex-wrap:wrap; gap:.35rem; margin-top:.5rem; }
.stranky label { display:flex; align-items:center; gap:.3rem; font-size:.78rem; padding:.2rem .55rem; border:1px solid var(--line3); border-radius:var(--r-s); cursor:pointer; background:var(--plocha); }
.metriky-radek { display:flex; flex-wrap:wrap; gap:.4rem 1rem; font-size:.78rem; color:var(--muted); margin-bottom:.8rem; }
.metriky-radek b { color:var(--text); }
.behy { list-style:none; font-size:.8rem; margin-top:.5rem; }
.behy li { padding:.4rem .6rem; border:1px solid var(--line2); border-radius:var(--r-s); margin-bottom:.3rem; cursor:pointer; display:flex; gap:.5rem; align-items:center; background:var(--plocha); }
.behy li:hover, .behy li.aktivni { border-color:var(--green); background:color-mix(in srgb, var(--green) 6%, var(--plocha)); }
.behy li .m { margin-left:auto; color:var(--muted); white-space:nowrap; }
.pracuje { display:flex; align-items:center; gap:.6rem; padding:1rem; color:var(--muted); }
.tocik { width:1.1rem; height:1.1rem; border:2px solid var(--line3); border-top-color:var(--green); border-radius:50%; animation:otoc .8s linear infinite; flex:none; }
.rozdeleny { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1.1fr); gap:1rem; align-items:start; }
.rozdeleny .nahled { position:sticky; top:5rem; max-height:calc(100vh - 7rem); overflow:auto; }

/* ======================================== LEGACY (starší stránky, dokud se nemigrují) ======================================== */
label.pole { display:block; margin-bottom:.8rem; font-size:.8rem; font-weight:600; color:var(--text); }
label.pole > span.napoveda { display:block; font-weight:400; margin-top:.2rem; font-size:.76rem; color:var(--muted); }
label.pole > input, label.pole > select, label.pole > textarea { margin-top:.3rem; }
.zaskrtavatko { display:flex; align-items:center; gap:.5rem; font-size:.86rem; margin-bottom:.8rem; }
.zaskrtavatko input { width:auto; margin:0; }
.nahrat { border:2px dashed var(--line3); border-radius:var(--r-l); padding:1.4rem 1rem; text-align:center; color:var(--muted); cursor:pointer; transition:border-color var(--rychle), background var(--rychle); }
.nahrat:hover, .nahrat.nad { border-color:var(--green); background:color-mix(in srgb, var(--green) 6%, var(--plocha)); }
.nahrat i { font-size:1.8rem; color:var(--green-d); display:block; margin-bottom:.3rem; }

/* ======================================== RESPONSIVITA ======================================== */
@media (max-width:1250px) { .ctecka { grid-template-columns:minmax(260px,320px) 1fr; } .ctecka > :nth-child(3) { grid-column:1 / -1; } .rozdeleny { grid-template-columns:1fr; } .rozdeleny .nahled { position:static; max-height:none; } }
/* užší okno: hlavička se nesmí překrývat, proto se zmenšuje po stupních dřív, než by se prvky střetly (plná hlavička s 7 oblastmi potřebuje ~1700 CSS px):
   1) vpravo zmizí popisky, jméno a role, zůstanou ikony, tečky a avatar (celé jméno je v nabídce uživatele a v bublině),
   2) hlavní menu zůstane jako ikony, text jen u aktivní oblasti (název je v bublině), 3) pod 900 px se menu sbalí do tlačítka */
@media (max-width:1750px) {
    .ai-puntik .popis, .fronta-ukazatel .popis, .kontext-text, .uzivatel-tlacitko .sipka, .vyvoj-stitek span { display:none; }
    .fronta-ukazatel { padding:.35rem .55rem; } .uzivatel-tlacitko { padding:.2rem .25rem; }
    .hlavni-menu a { padding:0 .6rem; }
    .org-stitek { max-width:11rem; }
}
@media (max-width:1350px) and (min-width:901px) {
    .hlavni-menu a:not(.aktivni) .text { display:none; }
    .hlavni-menu a:not(.aktivni) { padding:0 .7rem; }
}
@media (max-width:900px) {
    .napoveda-stranka { grid-template-columns:1fr; } .napoveda-obsah { position:static; } .dvasloupce { grid-template-columns:1fr; }
    /* hlavní menu se sbalí do tlačítka a rozbalí pod hlavičkou */
    .hlavicka { gap:.6rem; padding:0 .7rem; }
    .hlavicka-menu-tlacitko { display:inline-flex; order:-1; }
    .hlavni-menu { display:none; position:absolute; left:0; right:0; top:100%; height:auto; margin:0; flex-direction:column; background:var(--hlavicka-bg); border-bottom:1px solid var(--line); box-shadow:var(--stin-2); padding:.4rem .5rem .6rem; }
    body.menu-otevreno .hlavni-menu { display:flex; }
    .hlavni-menu a { padding:.7rem .8rem; border-top:0; border-bottom:0; border-left:3px solid transparent; border-radius:var(--r-s); font-size:.95rem; }
    .hlavni-menu a.aktivni { border-left-color:var(--green); background:color-mix(in srgb, var(--green) 12%, transparent); }
    .podhlavicka { overflow-x:auto; padding:0 .5rem; } .podhlavicka .zalozky { flex-wrap:nowrap; }
}
@media (max-width:800px) {
    .plocha { padding:.8rem .8rem 3rem; }
    .stranka-hlavicka { flex-wrap:wrap; }
    .ctecka { grid-template-columns:1fr; }
    .fgrid { grid-template-columns:1fr; }
    .toasty { left:.8rem; right:.8rem; max-width:none; align-items:stretch; }
}
@media (prefers-reduced-motion:reduce) { *, *::before, *::after { animation-duration:.01ms !important; transition-duration:.01ms !important; scroll-behavior:auto !important; } }
@media print { .hlavicka, .podhlavicka, .toasty, .uloz-lista { display:none !important; } body { background:#fff; color:#000; } .plocha { padding:0; max-width:none; } }

/* Předání do KARATu: výsledek zkušebního běhu */
.predani-kontroly { list-style:none; margin:.4rem 0; padding:0; font-size:.86rem; }
.predani-kontroly li { padding:.15rem 0; }
.predani-kontroly .predani-chyba { color:var(--chyba); }
.predani-kontroly .predani-varovani { color:var(--zluta-text); }
.predani-kontroly .predani-info { color:var(--muted); }

/* Rozsahy platnosti (Správa → Nastavení): výběr „Pracuješ s“, štítky původu, přehled odchylek */
.kontext-rozsahu .kontext-veta { font-size:1rem; margin-bottom:.7rem; display:flex; align-items:center; gap:.5rem; }
.kontext-rozsahu .kontext-veta b { color:var(--nadpis); }
.stav-radek { display:flex; align-items:center; gap:.6rem; flex-wrap:wrap; margin:-.5rem 0 1rem; }
.stav-radek .odkud { font-size:.76rem; color:var(--muted); }
.stav-radek .odkud summary { cursor:pointer; }
.stav-radek .odkud ul { margin:.3rem 0 0 1.1rem; }
.karta.odchylky > summary { cursor:pointer; font-weight:600; color:var(--nadpis); display:flex; align-items:center; gap:.5rem; }
.karta.odchylky table { width:100%; margin-top:.6rem; border-collapse:collapse; }
.karta.odchylky th, .karta.odchylky td { text-align:left; padding:.3rem .5rem; border-bottom:1px solid var(--line); font-size:.85rem; }
.pokrocile-odkaz { margin-top:1rem; }
.odkaz-tlacitko { background:none; border:0; color:var(--muted); cursor:pointer; font-size:.8rem; padding:0; }
.odkaz-tlacitko:hover { color:var(--nadpis); text-decoration:underline; }
.pole input:disabled, .pole select:disabled { background:var(--line2); color:var(--muted); cursor:default; }

/* ======================================== MULTITLAČÍTKO (hlavní akce + rozbalovací nabídka dalších voleb) ========================================
   Hlavní část je obyčejné .tlacitko, šipka vpravo rozbalí nabídku (role=menu). Ovládání klávesnicí řeší js/vytezeni-jinym.js (šipky, Home/End, Esc). */
.multitlacitko { position:relative; display:inline-flex; }
.multitlacitko > .tlacitko:first-child { border-top-right-radius:0; border-bottom-right-radius:0; }
.multitlacitko > .multitlacitko-sipka { border-top-left-radius:0; border-bottom-left-radius:0; margin-left:-1px; padding-left:.55rem; padding-right:.55rem; min-width:2.2rem; }
.multitlacitko > .multitlacitko-sipka[aria-expanded=true] { background:var(--line2); border-color:var(--nadpis); }
.multitlacitko-menu { position:absolute; right:0; top:calc(100% + .35rem); min-width:19rem; max-width:min(26rem, 92vw); background:var(--plocha); border:1px solid var(--line3); border-radius:var(--r-m); box-shadow:var(--stin-3); padding:.35rem; z-index:70; }
.multitlacitko-menu[hidden] { display:none; }
.multitlacitko-nadpis { padding:.4rem .65rem .2rem; font-size:.7rem; font-weight:600; letter-spacing:.05em; text-transform:uppercase; color:var(--muted); }
.multitlacitko-polozka { display:flex; align-items:flex-start; gap:.6rem; width:100%; padding:.5rem .65rem; border:0; border-radius:var(--r-s); background:none; color:var(--text); font:inherit; font-size:.86rem; text-align:left; cursor:pointer; }
.multitlacitko-polozka:hover, .multitlacitko-polozka:focus-visible { background:color-mix(in srgb, var(--green) 14%, transparent); outline:none; }
.multitlacitko-polozka > i { color:var(--green-d); width:1.1rem; text-align:center; margin-top:.1rem; }
.multitlacitko-polozka.cloud > i { color:var(--varovani); }
.multitlacitko-polozka .popis { display:flex; flex-direction:column; gap:.1rem; min-width:0; }
.multitlacitko-polozka .popis b { font-weight:600; color:var(--nadpis); word-break:break-word; }
.multitlacitko-polozka .popis small { color:var(--muted); font-size:.76rem; }
.multitlacitko-pozn { padding:.45rem .65rem .35rem; border-top:1px solid var(--line2); margin-top:.3rem; font-size:.76rem; color:var(--muted); }

/* Oddíl zvláštních oprávnění uživatele (Správa → Uživatelé): každý kód má vlastní výběr, výchozí = podle role. */
.opravneni-bunka { display:flex; flex-direction:column; gap:.3rem; min-width:13rem; }
.opravneni-radek { display:flex; align-items:center; justify-content:space-between; gap:.5rem; font-size:.8rem; color:var(--muted); }
.opravneni-radek select { min-width:8.5rem; }

/* Jeden box „kdo jsem a kde pracuji“ (avatar, jméno, organizace a role; nabídka s přepínačem organizace). V náhledu je to pořád tentýž box:
   zvýrazněný, s textem „Náhled jako …“ a návratem za dělicí čárou uvnitř téhož rámečku. */
.uzivatel { display:inline-flex; align-items:stretch; }
.uzivatel-tlacitko { border-radius:var(--r-m); }
.uzivatel-nahled { border:1px solid var(--varovani-cara); border-radius:var(--r-m); background:var(--varovani-bg); }
.uzivatel-nahled .uzivatel-tlacitko { border:0; background:none; }
.uzivatel-nahled .uzivatel-tlacitko .avatar { background:var(--varovani); color:#fff; }
.kontext-nahled-stitek { font-size:.62rem; font-weight:700; text-transform:uppercase; letter-spacing:.05em; color:var(--varovani); }
.kontext-navrat { display:inline-flex; align-items:center; gap:.4rem; padding:0 .8rem; border:0; border-left:1px solid var(--varovani-cara); border-radius:0 var(--r-m) var(--r-m) 0; background:none; color:var(--varovani); font:inherit; font-size:.8rem; font-weight:700; cursor:pointer; white-space:nowrap; }
.kontext-navrat:hover { background:var(--varovani); color:#fff; }
.uzivatel-menu { right:0; }
.uzivatel-menu .kontext-popis { margin:.35rem .65rem; }
.uzivatel-menu .kontext-volba { padding:0 .35rem; }
@media (max-width:900px) { .kontext-navrat span { display:none; } .kontext-role { display:none; } }

/* Odkaz na stránku, kterou člověk nesmí otevřít, se ukáže jako text (viz OdkazPodlePrav) */
.odkaz-nedostupny { color:var(--muted); cursor:default; }
/* orientace: organizace v cestě stránky je vidět víc než ostatní články */
.drobky .drobek-org { font-weight: 600; color: var(--text); }
.drobky .drobek-org .bi { color: var(--akcent); }
