/* AIbáze — vzhled dle designového podkladu design_handoff_terralog (hifi).
   Tokeny, typografie a komponenty přeneseny z prototypu; obsah je vždy ze skutečných dat aplikace. */

:root {
  --g900: #0f2e1c;
  --g800: #15401f;
  --g700: #1c5a30;
  --g600: #237440;
  --g500: #2f9153;
  --g100: #dfebdd;
  --g50:  #eef4ea;
  --wheat: #d8a13a;
  --wheat-soft: #f4e6c6;
  --cream: #f6f4ec;
  --paper: #ffffff;
  --ink: #1a2b20;
  --muted: #6f8071;
  --line: #e4e7dd;
  --chyba: #b3261e;
  --chyba-pozadi: #fdeceb;

  --pismo-nadpis: 'Space Grotesk', 'Segoe UI', system-ui, sans-serif;
  --pismo-text: 'IBM Plex Sans', 'Segoe UI', system-ui, sans-serif;
  --pismo-mono: 'IBM Plex Mono', Consolas, monospace;

  --stin-karta: 0 12px 30px -22px rgba(15, 46, 28, .5);
  --stin-hero: 0 20px 44px -28px rgba(15, 46, 28, .9);
  --stin-tlacitko: 0 10px 22px -12px rgba(28, 90, 48, .9);
}

* { box-sizing: border-box; }

html { font-size: 16px; }

body {
  margin: 0;
  font-family: var(--pismo-text);
  background: linear-gradient(180deg, #eef0e8, #e7eadf) fixed;
  color: var(--ink);
  line-height: 1.5;
  -webkit-font-smoothing: antialiased;
}

a { color: var(--g600); }
::selection { background: var(--wheat-soft); }
input, button, select, textarea { font-family: inherit; }
input::placeholder, textarea::placeholder { color: #9aa89c; }

@keyframes rise {
  from { opacity: 0; transform: translateY(10px); }
  to { opacity: 1; transform: none; }
}

/* ---------- Hlavička a navigace ---------- */

.hlavicka {
  position: sticky;
  top: 0;
  z-index: 40;
  background: var(--g900);
  color: #eaf3e6;
  box-shadow: 0 2px 0 rgba(0, 0, 0, .15), 0 10px 30px -18px rgba(0, 0, 0, .6);
}

.hlavicka-vnitrek {
  max-width: 1240px;
  margin: 0 auto;
  padding: 0 clamp(16px, 4vw, 32px);
  min-height: 64px;
  display: flex;
  align-items: center;
  gap: 8px 20px;
  flex-wrap: wrap;
}

.logo {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-right: auto;
  text-decoration: none;
  color: inherit;
  padding: 8px 0;
}

.logo-dlazdice {
  width: 34px;
  height: 34px;
  flex: none;
  border-radius: 9px;
  background: linear-gradient(150deg, var(--g500), var(--wheat));
  display: grid;
  place-items: center;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .2);
}

.logo-nazev {
  font-family: var(--pismo-nadpis);
  font-weight: 700;
  font-size: 17px;
  letter-spacing: -.01em;
  line-height: 1.05;
}

/* „AI“ zlatě — v bezpatkovém písmu jinak velké I splývá s malým l (čte se „Albáze“). */
.ai-zvyrazneni { color: var(--wheat); }

.logo-popis {
  font-size: 10.5px;
  letter-spacing: .14em;
  text-transform: uppercase;
  color: #9dc4a6;
  line-height: 1.2;
}

.hlavni-nav {
  display: flex;
  align-items: center;
  gap: 2px;
  flex-wrap: wrap;
}

.hlavni-nav a {
  position: relative;
  color: #cfe3ce;
  text-decoration: none;
  font-size: 14.5px;
  font-weight: 600;
  padding: 20px 14px;
  transition: background .15s;
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}

.hlavni-nav a:hover { background: rgba(255, 255, 255, .08); color: #fff; }

.hlavni-nav a.aktivni { color: #fff; }

.hlavni-nav a.aktivni::after {
  content: '';
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 0;
  height: 3px;
  background: var(--wheat);
  border-radius: 3px 3px 0 0;
}

.hlavni-nav a.nav-pridat {
  margin-left: 12px;
  background: var(--wheat);
  color: #3a2a06;
  border-radius: 10px;
  font-size: 14px;
  font-weight: 700;
  padding: 10px 16px;
  min-height: 0;
  box-shadow: 0 6px 16px -8px rgba(216, 161, 58, .9);
  transition: filter .15s;
}

.hlavni-nav a.nav-pridat:hover { filter: brightness(1.08); background: var(--wheat); }
.hlavni-nav a.nav-pridat.aktivni::after { display: none; }

/* ---------- „Ozvat se dnes“ s akcemi po ruce ---------- */
/* Podle způsobu se nabídne vytočení čísla, e-mail nebo navigace — na telefonu
   je to jedno klepnutí místo cesty do detailu subjektu. */
.ozvat-seznam { display: grid; gap: 2px; }

.ozvat-radek {
  display: grid;
  grid-template-columns: 38px minmax(0, 1fr) auto;
  align-items: center;
  gap: 12px;
  padding: 10px 0;
  border-top: 1px solid var(--line);
}
.ozvat-radek:first-child { border-top: 0; }

.ozvat-jmeno { text-decoration: none; color: inherit; min-width: 0; display: block; }
.ozvat-jmeno:hover strong { text-decoration: underline; }
.ozvat-podradek { display: block; font-size: 13px; color: var(--muted); margin-top: 1px; }

.ozvat-posunuto {
  display: inline-block;
  padding: 1px 7px;
  border-radius: 999px;
  background: var(--wheat-soft);
  color: #6b4f10;
  font-size: 11.5px;
  font-weight: 600;
}

.ozvat-akce { display: flex; flex-wrap: wrap; gap: 6px; justify-content: flex-end; }

/* Připomenutí ve vybraném dni kalendáře — stejná tlačítka jako na Přehledu. */
.kalendar-jednani-sakci {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
}
.kalendar-jednani-jmeno { text-decoration: none; color: inherit; min-width: 0; display: block; }
.kalendar-jednani-jmeno:hover strong { text-decoration: underline; }

@media (max-width: 760px) {
  /* Na telefonu tlačítka pod jméno a přes celou šířku — velký terč pro prst. */
  .ozvat-radek { grid-template-columns: 30px minmax(0, 1fr); row-gap: 8px; }
  .ozvat-akce { grid-column: 1 / -1; justify-content: stretch; }
  .ozvat-akce .tlacitko { flex: 1 1 auto; justify-content: center; min-height: 40px; }
  .kalendar-jednani-sakci { grid-template-columns: 1fr; }
  .kalendar-jednani-sakci .ozvat-akce { justify-content: stretch; }
}

/* Sloupce „Ozvat se“ a „Ceník“ v seznamu subjektů */
.radek-ozvat, .radek-cenik { font-size: 13px; min-width: 0; }

.ozvat-stitek {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: var(--paper);
  color: var(--muted);
  white-space: nowrap;
  font-size: 12px;
}

.ozvat-stitek.dnes {
  border-color: #c8a24a;
  background: var(--wheat-soft);
  color: #6b4f10;
  font-weight: 600;
}

.cenik-stitek {
  display: inline-block;
  padding: 2px 8px;
  border-radius: 999px;
  border: 1px solid var(--line);
  font-size: 12px;
  white-space: nowrap;
}

/* ---------- Přehled: dlaždice „co dnes dělat“ ---------- */

.prehled-podtitul {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 15px;
}

.prehled-dlazdice {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 12px;
  margin: 0 0 16px;
}

.dlazdice {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 14px 16px 15px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-left: 4px solid var(--g700);
  border-radius: 14px;
  text-decoration: none;
  color: var(--ink);
  box-shadow: var(--stin-karta);
  transition: transform .12s, box-shadow .12s;
}

.dlazdice:hover { transform: translateY(-2px); box-shadow: 0 16px 34px -22px rgba(15, 46, 28, .6); }
.dlazdice.zlata { border-left-color: var(--wheat); }

.dlazdice-titul {
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--muted);
}

.dlazdice-cislo {
  font-family: var(--pismo-nadpis);
  font-weight: 700;
  font-size: 30px;
  line-height: 1.05;
  letter-spacing: -.02em;
}

.dlazdice-popis { font-size: 12.5px; color: var(--muted); }

/* Přehled na počítači ve dvou sloupcích (podle návrhu 1.35fr / .95fr):
   vlevo to, co se čte a řeší, vpravo souhrny. Na telefonu jeden pod druhým. */
.prehled-mrizka {
  display: grid;
  grid-template-columns: 1.35fr .95fr;
  gap: 18px;
  align-items: start;
}

.prehled-sloupec { display: flex; flex-direction: column; gap: 18px; min-width: 0; }
.prehled-sloupec > .karta { margin: 0; }

@media (max-width: 1000px) {
  .prehled-mrizka { grid-template-columns: 1fr; }
}

/* Na telefonu dvě dlaždice na řádek, ať se nemusí dlouho rolovat. */
@media (max-width: 760px) {
  .prehled-dlazdice { grid-template-columns: 1fr 1fr; gap: 10px; }
  .dlazdice { padding: 11px 12px 12px; }
  .dlazdice-cislo { font-size: 25px; }
  .dlazdice-titul { font-size: 10.5px; }
  .dlazdice-popis { font-size: 11.5px; }
}


/* Ceník na Přehledu: pruh rozdáno / zbývá */
.cenik-pruh {
  display: flex;
  height: 10px;
  border-radius: 999px;
  overflow: hidden;
  background: var(--g50);
  margin: 4px 0 10px;
}
.cenik-pruh span { display: block; min-width: 0; }
.cenik-pruh-predano { background: #6ea8d8; }
.cenik-pruh-odeslano { background: var(--g500); }
.cenik-pruh-zbyva { background: var(--line); }

.cenik-legenda {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  font-size: 13px;
  color: var(--muted);
}
.cenik-legenda span { display: inline-flex; align-items: center; gap: 6px; }
/* Vlastní názvy tříd, aby se nekřížily s podbarvením řádku (to má !important). */
.cenik-legenda .tecka { width: 9px; height: 9px; border-radius: 50%; background: var(--line); flex: none; }
.cenik-legenda .tecka.tecka-predano { background: #6ea8d8; }
.cenik-legenda .tecka.tecka-odeslano { background: var(--g500); }

/* Trasa na dnes — časová osa podle grafického návrhu:
   vlevo čas (neproporcionální písmo), pak barevná tečka, pak název a podřádek. */
.trasa-osa-souhrn { margin: 2px 0 12px; color: var(--muted); font-size: 13.5px; }

.trasa-osa { display: grid; }

.trasa-osa-radek {
  display: grid;
  grid-template-columns: 52px 12px minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  padding: 9px 0;
  border-top: 1px solid #f2f4ec;
}
.trasa-osa-radek:first-child { border-top: 0; }

.trasa-osa-cas {
  font-family: var(--pismo-mono);
  font-size: 13px;
  color: var(--ink);
  text-align: right;
}
.trasa-osa-cas.tlumeny { color: var(--muted); }

.trasa-osa-tecka {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1.5px solid rgba(15, 46, 28, .25);
  box-sizing: border-box;
}

.trasa-osa-text { min-width: 0; }
.trasa-osa-nazev {
  display: block;
  font-weight: 600;
  font-size: 14.5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.trasa-osa-pod { display: block; font-size: 12.5px; color: var(--muted); }

/* „Na mapě“ v záhlaví karty je tlačítko, ale má vypadat jako odkaz. */
.karta-hlavicka button.odkaz-dal {
  background: none;
  border: 0;
  padding: 0;
  cursor: pointer;
  font: inherit;
}

/* ---------- Dolní lišta na telefonu ---------- */
/* Na počítači není vidět; na úzkém displeji nahradí horní nabídku, protože
   ta na telefonu zabírala dva řádky a půl obrazovky. Všech sedm agend je
   zvlášť — nic není schované pod „Víc“. */
.dolni-nav { display: none; }

@media (max-width: 760px) {
  /* Horní lišta zůstane jen s logem a tlačítkem Přidat. */
  .hlavni-nav a:not(.nav-pridat) { display: none; }
  .hlavni-nav { margin-left: auto; }
  .hlavni-nav a.nav-pridat { margin-left: 0; }

  .dolni-nav {
    display: grid;
    grid-template-columns: repeat(7, 1fr);
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 900;
    background: var(--g900);
    border-top: 1px solid rgba(255, 255, 255, .1);
    padding-bottom: env(safe-area-inset-bottom, 0);
    box-shadow: 0 -8px 24px -16px rgba(15, 46, 28, .9);
  }

  .dolni-nav a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    min-width: 0;
    padding: 7px 1px 6px;
    color: #9dc4a6;
    text-decoration: none;
    font-size: 8.5px;
    font-weight: 600;
    letter-spacing: -0.01em;
    line-height: 1.15;
    text-align: center;
  }

  .dolni-nav a svg { width: 20px; height: 20px; flex: none; }

  /* Delší názvy se smí zkrátit třemi tečkami, ať se lišta nerozjede. */
  .dolni-nav a span {
    display: block;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .dolni-nav a.aktivni {
    color: #fff;
    background: rgba(255, 255, 255, .1);
  }

  .dolni-nav a.aktivni svg { color: var(--wheat); }

  /* Obsah nesmí končit pod lištou. */
  body { padding-bottom: 62px; }
}

/* ---------- Obsah ---------- */

.obsah {
  max-width: 1240px;
  margin: 0 auto;
  padding: clamp(20px, 3vw, 36px) clamp(16px, 4vw, 32px) 60px;
}

.pohled { animation: rise .4s ease both; }

h1 {
  font-family: var(--pismo-nadpis);
  font-size: clamp(26px, 3.4vw, 36px);
  font-weight: 700;
  letter-spacing: -.02em;
  margin: 0 0 20px;
}

h2 {
  font-family: var(--pismo-nadpis);
  font-weight: 600;
  font-size: 15px;
  margin: 0 0 14px;
}

.eyebrow {
  font-size: 12px;
  letter-spacing: .16em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 600;
}

.karta {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 18px;
  box-shadow: var(--stin-karta);
  padding: 20px 22px;
  margin-bottom: 16px;
}

.karta.bez-vycpavky { padding: 0; overflow: hidden; }

.chyba-karta { border-color: var(--chyba); }

.tlumene { color: var(--muted); }

.skryte { display: none !important; }

.mono { font-family: var(--pismo-mono); }

/* ---------- Přehled ---------- */

.prehled-hlavicka { margin-bottom: 22px; }
.prehled-hlavicka h1 { margin: 4px 0 0; font-size: clamp(30px, 4vw, 42px); }

.hero-pas {
  display: grid;
  grid-template-columns: minmax(220px, 382px) minmax(320px, 1fr);
  gap: 16px;
  align-items: stretch;
  margin-bottom: 20px;
}

.hero-karta {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 18px;
  padding: 22px 24px;
  box-shadow: var(--stin-karta);
  position: relative;
  overflow: hidden;
}

.hero-karta.tmava {
  background: linear-gradient(155deg, var(--g800), var(--g600));
  border: 0;
  color: #eaf3e6;
  box-shadow: 0 18px 40px -24px rgba(15, 46, 28, .8);
}

.hero-karta.tmava::before {
  content: '';
  position: absolute;
  right: -20px;
  top: -20px;
  width: 120px;
  height: 120px;
  border-radius: 50%;
  background: rgba(216, 161, 58, .22);
}

.hero-titulek {
  font-size: 12px;
  letter-spacing: .12em;
  text-transform: uppercase;
  font-weight: 600;
  color: var(--muted);
}

.hero-karta.tmava .hero-titulek { color: #a9cbaf; }

.hero-cislo {
  font-family: var(--pismo-mono);
  font-size: clamp(32px, 3vw, 42px);
  font-weight: 600;
  line-height: 1;
  margin-top: 10px;
  color: var(--g700);
}

.hero-karta.tmava .hero-cislo { color: #eaf3e6; font-size: clamp(36px, 3.4vw, 46px); }

.hero-cislo .jednotka { font-size: .55em; color: var(--muted); }
.hero-karta.tmava .jednotka { color: #bcd6bf; }

.hero-pozn { font-size: 13px; color: var(--muted); margin-top: 8px; }
.hero-karta.tmava .hero-pozn { color: #bcd6bf; }

.prehled-hledani-karta {
  display: flex;
  flex-direction: column;
  justify-content: center;
  margin-bottom: 0;
}

.prehled-hledani-karta h2 { margin-top: 0; }

.prehled-poznamky { margin-bottom: 20px; }

.aktivita-seznam {
  display: flex;
  flex-direction: column;
}

.aktivita-radek {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
  text-decoration: none;
  color: inherit;
}

.aktivita-radek:last-child { border-bottom: 0; }

.aktivita-ikona {
  flex: none;
  width: 32px;
  height: 32px;
  border-radius: 9px;
  background: var(--g100);
  color: var(--g700);
  display: grid;
  place-items: center;
  font-size: 14px;
  font-weight: 700;
}

.aktivita-text {
  min-width: 0;
  font-size: 13.5px;
  line-height: 1.38;
}

.aktivita-text strong {
  display: block;
  margin-bottom: 3px;
}

.aktivita-obsah {
  display: block;
  color: var(--muted);
}

/* Jednořádkové poznámky (PC): co se nevejde, se ořízne. Na mobilu se třída
   nepoužívá, takže text zůstává víceřádkový jako dřív. */
.aktivita-jednoradkove .aktivita-obsah {
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Nadpis karty jako odkaz (klik na „Poslední poznámky z jednání“). */
.karta-nadpis-odkaz {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  text-decoration: none;
  color: inherit;
}
.karta-nadpis-odkaz h2 { margin: 0; }
.karta-nadpis-odkaz .karta-nadpis-sipka {
  color: var(--g700);
  font-weight: 700;
  opacity: 0;
  transform: translateX(-3px);
  transition: opacity .15s, transform .15s;
}
.karta-nadpis-odkaz:hover .karta-nadpis-sipka { opacity: 1; transform: none; }
.karta-nadpis-odkaz:hover h2 { color: var(--g700); }
/* Na dotykových zařízeních není hover — šipka ať je vidět rovnou. */
@media (pointer: coarse) {
  .karta-nadpis-odkaz .karta-nadpis-sipka { opacity: .6; transform: none; }
}

/* Stránkování (po stovkách poznámek). */
.strankovani {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  margin: 16px 0 2px;
}
.strankovani-stav { font-size: 13px; color: var(--muted); }

.aktivita-kdy {
  font-size: 12px;
  color: var(--muted);
  white-space: nowrap;
  padding-top: 2px;
}

@media (max-width: 760px) {
  .hero-pas { grid-template-columns: 1fr; }
}

@media (max-width: 600px) {
  .aktivita-radek { grid-template-columns: 32px minmax(0, 1fr); }
  .aktivita-kdy {
    grid-column: 2;
    padding-top: 0;
  }
}

.hledani-pole {
  display: flex;
  align-items: center;
  gap: 12px;
  background: var(--cream);
  border: 1.5px solid var(--line);
  border-radius: 12px;
  padding: 12px 18px;
}

.hledani-pole:focus-within { border-color: var(--g500); }

.hledani-pole input {
  flex: 1;
  min-width: 0;
  border: 0;
  background: none;
  outline: none;
  font-size: 16px;
  color: var(--ink);
  padding: 4px 0;
}

.karta-hlavicka {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}

.karta-hlavicka h2 { margin: 0; margin-right: auto; }
.karta-hlavicka .odkaz-dal { background: none; border: 0; color: var(--g600); font-weight: 600; font-size: 13.5px; cursor: pointer; text-decoration: none; }
.karta-hlavicka .odkaz-dal:hover { color: var(--g800); }
.karta-hlavicka .meta { font-size: 12px; color: var(--muted); }

.cloud-panel .karta-hlavicka { margin-bottom: 10px; }

.cloud-stav {
  display: inline-flex;
  align-items: center;
  min-height: 26px;
  padding: 4px 10px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 800;
}

.cloud-stav.online {
  color: #1f4e25;
  background: #dff3e4;
}

.cloud-stav.offline {
  color: #4f5960;
  background: #eceff1;
}

.cloud-formular {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, 1fr);
  gap: 12px 16px;
  margin-top: 12px;
}

.cloud-prihlasen {
  margin: 12px 0 0;
}

@media (max-width: 640px) {
  .cloud-formular { grid-template-columns: 1fr; }
}

/* ---------- Avatar s iniciálami ---------- */

.avatar {
  flex: none;
  border-radius: 12px;
  display: grid;
  place-items: center;
  font-family: var(--pismo-nadpis);
  font-weight: 700;
}

.avatar.v44 { width: 44px; height: 44px; font-size: 15px; }
.avatar.v38 { width: 38px; height: 38px; font-size: 13px; border-radius: 10px; }
.avatar.b0 { background: #e2efdd; color: #2b6b38; }
.avatar.b1 { background: #dcefe4; color: #1f7a52; }
.avatar.b2 { background: #f6e7c8; color: #8a6414; }
.avatar.b3 { background: #ece0ef; color: #7a4f86; }
.avatar.b4 { background: #dde7f0; color: #3a5f86; }

/* ---------- Štítky (tag chips) ---------- */

.radek-stitky { display: flex; gap: 6px; flex-wrap: wrap; margin-top: 6px; }
.velke-stitky { margin: -10px 0 16px; }

.stitek {
  display: inline-block;
  padding: 4px 11px;
  border-radius: 999px;
  font-size: 12px;
  font-weight: 600;
  background: #e6eae2;
  color: #556;
}

.stitek.typ-zemedelstvi { background: #e2efdd; color: #2b6b38; }
.stitek.typ-vinarstvi { background: #ece0ef; color: #7a4f86; }
.stitek.typ-zelenina { background: #dcefe4; color: #1f7a52; }
.stitek.typ-sady { background: #f6e7c8; color: #8a6414; }
.stitek.typ-chmel { background: #eef0cf; color: #6e7016; }
.stitek.typ-ostatni { background: #e6eae2; color: #5a6659; }
.stitek-archiv { background: #f1d6ce; color: #7c3421; }
.stitek-aktivni { background: var(--g600); color: #fff; }
.stitek-zdroj { background: var(--g100); color: var(--g700); }
.stitek-evidence { background: #d8eadb; color: #20572a; }
.stitek-lpis { background: var(--wheat-soft); color: #8a6414; font-family: var(--pismo-mono); font-size: 11.5px; }
.stitek-eko { background: #d3ecd3; color: #1c5c1c; }

.stitek-ukazka {
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  color: var(--wheat);
  border: 1px solid var(--wheat-soft);
  background: #fdf7ea;
  padding: 1px 6px;
  border-radius: 5px;
}

/* ---------- Formulářové prvky ---------- */

.popisek {
  display: block;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--muted);
  margin: 14px 0 6px;
}

.pole {
  width: 100%;
  padding: 11px 13px;
  font-size: 14.5px;
  border: 1.5px solid var(--line);
  border-radius: 10px;
  background: var(--paper);
  color: var(--ink);
  min-height: 44px;
  font-family: inherit;
  outline: none;
  transition: border-color .15s;
}

.pole:focus { border-color: var(--g500); }
.pole.velke { font-size: 16px; }
.pole.mono, input#pole-ico, input#pole-rozloha, input#fakt-psc, input#doda-psc, input#pole-dic { font-family: var(--pismo-mono); }

textarea.pole { resize: vertical; }

.mrizka-2 {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0 16px;
}

@media (max-width: 600px) {
  .mrizka-2 { grid-template-columns: 1fr; }
}

.pole-s-tlacitkem { display: flex; gap: 8px; }
.pole-s-tlacitkem .pole { flex: 1; min-width: 0; }
.pole-s-tlacitkem .tlacitko { white-space: nowrap; }

.chyba-pole {
  color: var(--chyba);
  background: var(--chyba-pozadi);
  border-radius: 10px;
  padding: 7px 11px;
  margin-top: 6px;
  font-size: 13px;
}

.sekce-titulek {
  font-family: var(--pismo-nadpis);
  font-weight: 600;
  font-size: 14px;
  color: var(--g700);
  letter-spacing: .02em;
  margin: 26px 0 6px;
}

.sekce-titulek:first-child { margin-top: 0; }

.formular-uzky { max-width: 760px; margin: 0 auto; }
.formular-uzky h1 { margin-bottom: 6px; }
.formular-podtitul { color: var(--muted); font-size: 14.5px; margin: 0 0 24px; }

.formular-paticka {
  display: flex;
  gap: 12px;
  justify-content: flex-end;
  flex-wrap: wrap;
  margin-top: 26px;
  padding-top: 20px;
  border-top: 1px solid var(--line);
}

.provozovny-formular {
  display: flex;
  flex-direction: column;
  gap: 12px;
}

.provozovna-formular {
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 12px;
  background: #fbfcfa;
}

.provozovna-formular-hlavicka {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 10px;
  margin-bottom: 2px;
}

.provozovna-formular-hlavicka strong {
  color: var(--g700);
  font-size: 13.5px;
}

.provozovna-formular textarea.pole {
  min-height: 70px;
}

.formular-provozovny-akce {
  margin: 10px 0 0;
}

.provozovny-prazdne {
  margin: 4px 0 0;
}

/* ---------- Chips (zaškrtávací štítky) ---------- */

.chips-rada { display: flex; flex-wrap: wrap; gap: 8px; }

.chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 8px;
  border: 1.5px solid var(--line);
  background: var(--paper);
  color: var(--ink);
  font-size: 13px;
  font-weight: 600;
  padding: 8px 16px;
  border-radius: 999px;
  cursor: pointer;
  transition: .15s;
  min-height: 40px;
}

.chip:hover { background: var(--g50); }

.chip input {
  position: absolute;
  opacity: 0;
  pointer-events: none;
}

.chip:has(input:checked), .chip.aktivni-chip { border-color: var(--g700); background: var(--g700); color: #fff; }
.chip:has(input:focus-visible) { outline: 2px solid var(--g500); outline-offset: 2px; }

/* Filtr Skupina: rozbalovací panel se zaškrtávátky (víc skupin naráz). */
.skupina-filtr { position: relative; display: inline-block; }
.chip-skupina-filtr { list-style: none; }
.chip-skupina-filtr::-webkit-details-marker { display: none; }
.chip-skupina-filtr::after {
  content: '▾';
  font-size: 11px;
  opacity: .8;
  margin-left: 2px;
}
.skupina-filtr[open] > .chip-skupina-filtr::after { content: '▴'; }
.skupina-panel {
  position: absolute;
  left: 0;
  top: calc(100% + 8px);
  z-index: 60;
  width: max(240px, 100%);
  max-height: 320px;
  overflow: auto;
  box-shadow: 0 24px 48px -20px rgba(15, 46, 28, .45);
}
.skupina-seznam {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 0 0 12px;
}
.skupina-seznam .zaskrtavaci { font-size: 14px; }
.skupina-vse {
  display: flex;
  font-size: 14px;
  padding-bottom: 8px;
  margin-bottom: 8px;
  border-bottom: 1px solid var(--line);
}

.chip.chip-zemedelstvi:has(input:checked) { background: #e2efdd; border-color: #e2efdd; color: #2b6b38; }
.chip.chip-vinarstvi:has(input:checked) { background: #ece0ef; border-color: #ece0ef; color: #7a4f86; }
.chip.chip-zelenina:has(input:checked) { background: #dcefe4; border-color: #dcefe4; color: #1f7a52; }
.chip.chip-sady:has(input:checked) { background: #f6e7c8; border-color: #f6e7c8; color: #8a6414; }
.chip.chip-chmel:has(input:checked) { background: #eef0cf; border-color: #eef0cf; color: #6e7016; }
.chip.chip-ostatni:has(input:checked) { background: #e6eae2; border-color: #e6eae2; color: #5a6659; }

/* Segmenty potenciálu — tlačítka s viditelným zaškrtávacím boxem */

.seg-chip {
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 10px;
  border: 1.5px solid var(--line);
  background: var(--paper);
  color: var(--ink);
  font-size: 14px;
  font-weight: 600;
  padding: 10px 15px;
  border-radius: 11px;
  cursor: pointer;
  transition: .15s;
  min-height: 44px;
}

.seg-chip input { position: absolute; opacity: 0; pointer-events: none; }

.seg-chip .box {
  width: 18px;
  height: 18px;
  flex: none;
  border-radius: 5px;
  border: 2px solid #c3ccbf;
  display: grid;
  place-items: center;
  color: #fff;
  font-size: 12px;
  line-height: 1;
}

.seg-chip:has(input:checked) { border-color: var(--g500); background: var(--g50); color: var(--g800); }
.seg-chip:has(input:checked) .box { border-color: var(--g600); background: var(--g600); }
.seg-chip:has(input:checked) .box::before { content: '✓'; }
.seg-chip:has(input:focus-visible) { outline: 2px solid var(--g500); outline-offset: 2px; }

/* ---------- Zaškrtávací řádky (ostatní checkboxy) ---------- */

.zaskrtavaci {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  padding: 8px 10px;
  cursor: pointer;
  border-radius: 10px;
  min-height: 44px;
  font-size: 14px;
}

.zaskrtavaci:hover { background: var(--g50); }
.zaskrtavaci input { width: 18px; height: 18px; accent-color: var(--g600); }
.zaskrtavaci.vetsi { font-weight: 600; }

fieldset.filtr-skupina {
  border: 1.5px solid var(--line);
  border-radius: 12px;
  margin: 14px 0 0;
  padding: 8px 12px 12px;
}

fieldset.filtr-skupina legend {
  font-size: 12.5px;
  font-weight: 600;
  color: var(--muted);
  padding: 0 6px;
}

/* ---------- Tlačítka ---------- */

.tlacitko {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 11px 20px;
  min-height: 44px;
  font-size: 14px;
  font-weight: 600;
  font-family: inherit;
  border-radius: 11px;
  border: 1.5px solid var(--line);
  background: var(--paper);
  color: var(--ink);
  cursor: pointer;
  text-decoration: none;
  transition: .15s;
}

.tlacitko:hover { background: var(--g50); }

.tlacitko.primarni {
  background: var(--g700);
  border-color: var(--g700);
  color: #fff;
  font-weight: 700;
  box-shadow: var(--stin-tlacitko);
}

.tlacitko.primarni:hover { filter: brightness(1.06); background: var(--g700); }

.tlacitko.akcent {
  background: var(--wheat);
  border-color: var(--wheat);
  color: #3a2a06;
  font-weight: 700;
  box-shadow: 0 6px 16px -8px rgba(216, 161, 58, .9);
}

.tlacitko.akcent:hover { filter: brightness(1.08); background: var(--wheat); }

.tlacitko.nebezpecne { color: var(--chyba); border-color: #e5b5b2; }
.tlacitko.nebezpecne:hover { background: var(--chyba-pozadi); }

.tlacitko.maly { min-height: 36px; padding: 7px 14px; font-size: 13px; }
.tlacitko.velky { font-size: 15px; padding: 13px 26px; }

.tlacitko:disabled { opacity: .5; cursor: not-allowed; }

.tlacitka-rada {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin: 18px 0;
  align-items: center;
}

@media (pointer: coarse) {
  .tlacitko.maly { min-height: 44px; }
}

/* ---------- Seznam subjektů ---------- */

.seznam-hlavicka {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-end;
  gap: 12px;
  margin-bottom: 10px;
}

.seznam-hlavicka h1 { margin: 0; margin-right: auto; }
.seznam-hlavicka h1 .pocet { font-family: var(--pismo-mono); font-size: 18px; color: var(--muted); font-weight: 500; }

.seznam-hledani-obal {
  display: flex;
  align-items: center;
  gap: 10px;
  background: var(--paper);
  border: 1.5px solid var(--line);
  border-radius: 11px;
  padding: 4px 14px;
  min-width: min(280px, 100%);
}

.seznam-hledani-obal:focus-within { border-color: var(--g500); }
.seznam-hledani-obal input { border: 0; background: none; outline: none; font-size: 14px; flex: 1; min-width: 0; min-height: 40px; }

.pocet-vysledku { margin: 6px 4px; color: var(--muted); font-size: 13px; }
.pocet-vysledku strong { font-family: var(--pismo-mono); color: var(--g700); }

.radek-poctu {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
}

.kontakt-akce {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.kontakt-akce .tlumene { font-size: 12.5px; }

/* Záhlaví sloupců je samostatná karta v přišpendleném bloku; řádky navazují pod ním. */
.tabulka-hlava-obal {
  border-radius: 18px 18px 0 0;
  border-bottom: 0;
  margin-bottom: 0;
  box-shadow: none;
}

.tabulka-telo {
  border-radius: 0 0 18px 18px;
  border-top: 0;
}

/* Na počítači horní část Subjektů drží u horního okraje i při rolování seznamem. */
@media (min-width: 761px) {
  .seznam-pevny {
    position: sticky;
    top: 64px;
    z-index: 30;
    background: linear-gradient(180deg, #eef0e8, #e7eadf) fixed;
    padding-top: 6px;
  }

  .radek-stav-filtru {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
  }

  .radek-stav-filtru #filtry-blok {
    margin-top: 0;
    position: relative;
    flex: 0 0 auto;
  }

  #filtry-blok[open] > .karta {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    width: min(720px, calc(100vw - 64px));
    z-index: 60;
    box-shadow: 0 24px 48px -20px rgba(15, 46, 28, .45);
  }
}

.tabulka-hlava {
  display: grid;
  grid-template-columns: 2.2fr 1fr .8fr 1.2fr .8fr .9fr .8fr auto;
  gap: 12px;
  padding: 14px 22px;
  background: var(--g50);
  border-bottom: 1px solid var(--line);
  font-size: 11.5px;
  letter-spacing: .1em;
  text-transform: uppercase;
  color: var(--muted);
  font-weight: 600;
}

.tabulka-hlava .vpravo { text-align: right; }

.seznam-radku { display: flex; flex-direction: column; }

.radek-subjektu {
  display: grid;
  grid-template-columns: 2.2fr 1fr .8fr 1.2fr .8fr .9fr .8fr auto;
  gap: 12px;
  align-items: center;
  padding: 13px 22px;
  text-decoration: none;
  color: inherit;
  border-bottom: 1px solid var(--line);
  transition: background .12s;
}

.seznam-radku .radek-subjektu:last-child { border-bottom: none; }
.radek-subjektu:hover { background: var(--g50); }

.radek-subjekt-bunka { display: flex; align-items: center; gap: 12px; min-width: 0; }

.radek-nazev {
  /* Blok, ne řádkový text — jinak ořez třemi tečkami vůbec nefunguje
     a dlouhý název se v úzkém okně přelije přes sloupec Město. */
  display: block;
  max-width: 100%;
  font-weight: 600;
  font-size: 14.5px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.radek-nazev-blok { min-width: 0; display: flex; flex-direction: column; gap: 3px; align-items: flex-start; }

.radek-skupina {
  display: inline-block;
  font-size: 11.5px;
  font-weight: 600;
  color: var(--muted);
  background: var(--cream);
  border: 1px solid var(--line);
  padding: 1px 9px;
  border-radius: 999px;
  white-space: nowrap;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
}

.radek-mesto { font-size: 13.5px; color: var(--muted); }
.radek-vymera { font-family: var(--pismo-mono); font-size: 13.5px; text-align: right; color: var(--g700); white-space: nowrap; }
.radek-subjektu .radek-stitky { margin: 0; }

.stav-badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 600;
  color: var(--g600);
  white-space: nowrap;
}

.stav-badge .tecka { width: 8px; height: 8px; border-radius: 50%; background: var(--g600); }
.stav-badge.archiv { color: #8a8a8a; }
.stav-badge.archiv .tecka { background: #8a8a8a; }
.stav-badge.potencialni { color: #8a6414; }
.stav-badge.potencialni .tecka { background: var(--wheat); }

.stitek.stitek-osetreni { background: #fdf3dd; color: #8a6414; }

.radek-osetreni { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }

/* Mapa tras */
#mapa-plocha {
  height: min(62vh, 640px);
  min-height: 380px;
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--stin-karta);
  z-index: 0;
}

/* Seznam zastávek je pod mapou, aby se mapa při naplánování neposouvala. */
#mapa-trasa-info:not(:empty) { margin-top: 14px; }

/* Vysvětlivky barev bodů na mapě. */
.mapa-legenda {
  display: flex;
  flex-wrap: wrap;
  gap: 6px 16px;
  align-items: center;
  margin: 10px 0 0;
  font-size: 12.5px;
  color: var(--muted);
}
.mapa-legenda-polozka { display: inline-flex; align-items: center; gap: 6px; }
.mapa-legenda-tecka {
  width: 12px;
  height: 12px;
  border-radius: 50%;
  border: 1.5px solid #fff;
  box-shadow: 0 0 0 1px rgba(0, 0, 0, .12);
}
.mapa-legenda-start { background: #fff; border-color: #0f2e1c; }
.mapa-legenda-tecka.mala { width: 8px; height: 8px; }

/* Panel „Celá ČR“ v Potenciálních */
.potencial-cr-panel { margin-bottom: 16px; }
.potencial-cr-info { font-size: 14px; line-height: 1.5; color: var(--ink); }
.potencial-cr-prubeh {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-wrap: wrap;
  margin: 10px 0 0;
  font-size: 14px;
  color: var(--g700);
  font-weight: 600;
}

.mapa-panel-rada {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  gap: 14px 22px;
}

.mapa-panel-rada .popisek { display: block; margin: 0 0 4px; }

.mapa-zastavky { margin: 0 0 14px; }

.mapa-zastavka {
  background: #fff;
  border: 1px solid var(--line);
  margin: 4px 6px 4px 0;
}

.mapa-zastavka-cil {
  border-color: #b3261e;
  background: #fdeceb;
  color: #7a1c15;
  font-weight: 700;
}

/* Seznam zastávek s časem schůzky u každé (jeden řádek na zastávku). */
.mapa-zastavky-seznam { display: flex; flex-direction: column; gap: 6px; }
.mapa-zastavka-radek {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 5px 8px;
  border: 1px solid var(--line);
  border-radius: 8px;
  background: #fff;
  font-size: 13px;
}
.mapa-zastavka-radek.mapa-zastavka-cil { border-color: #b3261e; background: #fdeceb; color: #7a1c15; }
.mapa-zastavka-cislo { font-weight: 700; flex: none; min-width: 18px; align-self: flex-start; padding-top: 2px; }
.mapa-zastavka-text { flex: 1 1 auto; min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.mapa-zastavka-nazev { min-width: 0; }
.mapa-zastavka-detail { font-size: 11.5px; color: var(--muted); }
.mapa-zastavka-detail a { color: inherit; }
.mapa-zastavka-radek.mapa-zastavka-cil .mapa-zastavka-detail { color: #9a4a44; }
.mapa-zastavka-radek .mapa-zastavka-cas { width: auto; flex: none; padding: 4px 6px; align-self: center; }
.stitek-ares { background: #1a1a1a; color: #fff; font-size: 10px; padding: 1px 5px; }

.mapa-vyradit {
  border: 0;
  background: transparent;
  color: var(--chyba);
  cursor: pointer;
  font-weight: 700;
  padding: 0 2px;
}

.mapa-cislo {
  /* Svítivě modrá jako čára trasy — černá splývala s tečkami potenciálních z ARES. */
  background: #2979ff;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font: 700 12px/1 var(--pismo-mono);
  border: 2px solid #fff;
  box-shadow: 0 1px 4px rgba(0, 0, 0, .4);
}

.mapa-popup-cil {
  border: 0;
  background: var(--g100);
  border-radius: 6px;
  padding: 2px 8px;
  cursor: pointer;
  font-weight: 600;
  color: var(--g700);
}

body.rezim-cteni .hlavni-nav a[data-nav="mapa"],
body.rezim-cteni .dolni-nav a[data-nav="mapa"] { display: none; }
body.rezim-cteni .hlavni-nav a[data-nav="trasy"],
body.rezim-cteni .dolni-nav a[data-nav="trasy"] { display: none; }

/* Uložení trasy a agenda Trasy */
.mapa-ulozit {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 12px 0 0;
  padding: 12px 0 0;
  border-top: 1px solid var(--line);
}
.mapa-ulozit .popisek { margin: 0; }

.trasy-seznam { display: flex; flex-direction: column; gap: 14px; }
.trasa-hlavicka {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 8px 16px;
  align-items: flex-start;
}
.trasa-datum { font-weight: 800; font-size: 17px; }
.trasa-cas { font-weight: 700; font-size: 14px; color: var(--g700); margin-left: 6px; }
.trasa-cil { color: var(--muted); font-size: 14px; margin-top: 2px; }
.trasa-souhrn { color: var(--muted); font-size: 13px; }
.trasa-zastavky { display: flex; flex-wrap: wrap; gap: 6px; margin: 12px 0 0; }
.trasa-zastavky-detail { margin: 12px 0 0; }

/* Povinné logo Mapy.cz v atribuci mapy (min. 30 px, klikatelné) */
/* Měřítko mapy — čitelné i nad satelitním podkladem */
.leaflet-control-scale-line {
  background: rgba(255, 255, 255, .82);
  border: 1px solid rgba(15, 46, 28, .45);
  border-top: 0;
  padding: 1px 6px 2px;
  font: 600 11px/1.3 var(--pismo-text);
  color: var(--ink);
  text-shadow: none;
  box-shadow: none;
}

.leaflet-control-attribution .mapy-logo { display: inline-block; vertical-align: middle; }
.leaflet-control-attribution .mapy-logo img { height: 30px; display: block; }

/* Našeptávač adres ve formuláři subjektu */
.adresa-naseptavac { margin: 0 0 12px; }

/* Přesné polohy adres v panelu Celá ČR */
.potencial-polohy {
  margin: 12px 0 0;
  padding: 10px 12px;
  border-top: 1px solid var(--line);
  font-size: 13.5px;
}

.potencial-zmeny {
  margin: 10px 0 0;
  padding: 10px 12px 0;
  border-top: 1px solid var(--line);
  font-size: 13.5px;
}
.potencial-polohy-rozpad { margin: 6px 0 0; padding-left: 20px; }
.potencial-polohy-rozpad li { margin: 2px 0; }

/* Rozklikávací kategorie změn proti minulému stažení */
.zmena-kategorie { margin: 6px 0 0; }
.zmena-kategorie > summary {
  cursor: pointer;
  padding: 4px 0;
  border-top: 1px solid var(--line);
}
.zmena-kategorie[open] > summary { font-weight: 600; }
.zmena-seznam {
  max-height: 320px;
  overflow-y: auto;
  margin: 4px 0 0;
  padding-left: 20px;
}
.zmena-seznam li { margin: 0 0 8px; line-height: 1.45; }
.zmena-detail { font-size: 12.5px; color: var(--ink); }

.potencial-zmeny-seznam { margin: 6px 0 0; padding-left: 20px; }
.potencial-zmeny-seznam li { margin: 2px 0; }
.potencial-zmeny-historie { margin: 6px 0 0; }
.potencial-zmeny-historie summary { cursor: pointer; color: var(--muted); }

/* Dutý kroužek v legendě = poloha jen podle obce (přesná adresa není v registru) */
.mapa-legenda-tecka.mapa-legenda-duty {
  background: #fff;
  border: 1px solid #1a1a1a;
}
.mapa-legenda-zdroj {
  margin-left: auto;
  color: var(--muted);
  font-size: 11.5px;
  white-space: nowrap;
}

/* ---------- Ceník: jemné podbarvení podle způsobu ---------- */
/* předáno = světle modrá, odesláno = světle zelená */
.cenik-predano { background: #eef6fd !important; }
.cenik-odeslano { background: #eef7f0 !important; }
a.radek-subjektu.cenik-predano:hover { background: #e2f0fb !important; }
a.radek-subjektu.cenik-odeslano:hover { background: #e3f2e7 !important; }

.cenik-blok {
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.cenik-blok #blok-cenik-zpusob { margin: 8px 0 0; }
.cenik-blok .popisek { display: block; margin: 0 0 4px; }

/* Samostatná karta Ceník v detailu subjektu — stejný tvar jako karta „Ozvat se“ */
.cenik-stav {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  margin: 0 0 12px;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: #fff;
  font-size: 14px;
}
.cenik-stav .tecka { width: 9px; height: 9px; border-radius: 50%; background: #2d72a5; flex: none; }
.cenik-stav em { font-style: normal; color: var(--muted); }
.karta.cenik-odeslano .cenik-stav .tecka { background: #2f9153; }

.cenik-form { display: grid; gap: 10px; }
.cenik-form .pole { width: auto; }
.cenik-karta .cenik-form { margin-top: 12px; }

.cenik-vzorek {
  display: inline-block;
  padding: 2px 8px;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 12px;
}

/* Volby trasy (odjezd, pobyt, provoz, mýtné, dálnice, optimalizace) */
.mapa-volby-trasy {
  display: flex;
  align-items: center;
  gap: 8px 10px;
  flex-wrap: wrap;
  margin: 12px 0 0;
  padding-top: 12px;
  border-top: 1px solid var(--line);
}
.mapa-volby-trasy .chip.maly { padding: 4px 10px; min-height: 30px; font-size: 12px; }

/* Souhrn časů příjezdu nad seznamem zastávek */
.mapa-casy-souhrn {
  margin: 0 0 10px;
  padding: 8px 12px;
  border-radius: 10px;
  font-size: 13px;
  font-weight: 600;
  background: #eef7ff;
  border: 1px solid #bdd7ef;
  color: #204761;
}
.mapa-casy-souhrn.kolize { background: #fdeceb; border-color: #f0b3ae; color: #7a1c15; }

/* Štítek s časem příjezdu u zastávky */
.stitek-prijezd { background: #e7f1e9; color: #2b6b38; font-size: 10.5px; }
.stitek-prijezd.pozde { background: #b3261e; color: #fff; }

/* Kolik km a minut je z předchozí zastávky */
.mapa-zastavka-usek { display: block; font-size: 11px; color: var(--muted); font-style: italic; }

.mapa-zpresnit { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mapa-zpresnit-prubeh { font-size: 13px; color: var(--g700); font-weight: 600; }

.mapa-potencial-filtry {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 8px;
  margin: 0 0 12px;
  padding: 8px 10px;
  background: #f4f4f4;
  border: 1px solid var(--line);
  border-radius: 10px;
}
.mapa-potencial-filtry .chip.maly { padding: 4px 10px; min-height: 30px; font-size: 12px; }

.mapa-filtry {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px;
  margin: 0 0 14px;
}

.mapa-popisek {
  background: rgba(255, 255, 255, .88);
  border: 1px solid var(--line);
  border-radius: 6px;
  padding: 1px 6px;
  font: 600 11px/1.4 var(--pismo-text);
  color: var(--ink);
  box-shadow: none;
  white-space: nowrap;
}

.mapa-popisek::before { display: none; }

/* Hromádka potenciálních firem: počet uvnitř kolečka (jako u výdejních míst) */
.mapa-hromadka-cislo {
  background: none;
  border: 0;
  box-shadow: none;
  padding: 0;
  margin: 0;
  font: 700 11px/1 var(--pismo-text);
  color: #ffffff;
  text-shadow: 0 1px 2px rgba(0, 0, 0, .45);
  pointer-events: none;   /* klik projde na kolečko pod číslem */
  white-space: nowrap;
}
.mapa-hromadka-cislo::before { display: none; }

/* Výpis firem z hromádky, kterou už nejde rozdělit přiblížením */
.hromadka-seznam {
  max-height: 190px;
  overflow-y: auto;
  margin: 6px 0 0;
}
.hromadka-radek {
  padding: 3px 0;
  border-top: 1px solid var(--line);
  line-height: 1.45;
}
.hromadka-radek:first-child { border-top: 0; }

/* Kompaktní řádek (Naposledy upravené na Přehledu) */

.radek-kompakt {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 13px 16px;
  border-radius: 12px;
  text-decoration: none;
  color: inherit;
  transition: background .12s;
}

.radek-kompakt:hover { background: var(--g50); }
.radek-kompakt .telo { min-width: 0; margin-right: auto; }
.radek-kompakt .jmeno { display: flex; align-items: center; gap: 8px; font-weight: 600; font-size: 15px; flex-wrap: wrap; }
.radek-kompakt .meta { display: flex; align-items: center; gap: 10px; margin-top: 3px; font-size: 13px; color: var(--muted); flex-wrap: wrap; }
.radek-kompakt .meta .mono-ha { font-family: var(--pismo-mono); color: var(--g600); }
.radek-kompakt .radek-stitky { margin: 0; justify-content: flex-end; }

/* Užší displeje: tabulka se poskládá do karty */

@media (max-width: 760px) {
  .tabulka-hlava-obal { display: none; }
  .tabulka-telo { border-radius: 18px; border-top: 1px solid var(--line); }
  .radek-subjektu {
    grid-template-columns: 1fr;
    gap: 6px;
    padding: 14px 16px;
  }
  .radek-vymera { text-align: left; }
}

/* ---------- Filtry ---------- */

#filtry-blok { margin-top: 14px; }

#filtry-blok summary {
  cursor: pointer;
  font-weight: 600;
  font-size: 13.5px;
  color: var(--muted);
  padding: 8px 2px;
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 8px;
  list-style: none;
}

#filtry-blok summary::-webkit-details-marker { display: none; }
#filtry-blok summary::before { content: '▸'; color: var(--g700); }
#filtry-blok[open] summary::before { content: '▾'; }

.filtry-mrizka {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
  gap: 16px;
  padding-top: 6px;
}

.rozsah { display: flex; align-items: center; gap: 8px; }

/* ---------- Detail subjektu ---------- */

.zpet-odkaz {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: var(--muted);
  font-weight: 600;
  font-size: 13.5px;
  text-decoration: none;
  margin-bottom: 16px;
  min-height: 44px;
}

.zpet-odkaz:hover { color: var(--g700); }

.detail-hero {
  background: linear-gradient(150deg, var(--g800), var(--g600));
  color: #eaf3e6;
  border-radius: 20px;
  padding: 26px 28px;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 20px;
  box-shadow: var(--stin-hero);
  margin-bottom: 18px;
}

.detail-hero .avatar-hero {
  width: 66px;
  height: 66px;
  flex: none;
  border-radius: 18px;
  background: rgba(255, 255, 255, .14);
  color: #fff;
  display: grid;
  place-items: center;
  font-family: var(--pismo-nadpis);
  font-weight: 700;
  font-size: 24px;
}

.detail-hero .telo { margin-right: auto; min-width: min(280px, 100%); }

.detail-hero h1 {
  font-size: clamp(24px, 3vw, 32px);
  margin: 0;
  letter-spacing: -.01em;
  display: inline;
}

.detail-hero .radek-jmena { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }

.status-pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12.5px;
  font-weight: 600;
  background: rgba(255, 255, 255, .16);
  padding: 4px 10px;
  border-radius: 999px;
  white-space: nowrap;
}

.status-pill .tecka { width: 7px; height: 7px; border-radius: 50%; background: #7fe0a0; }
.status-pill.archiv .tecka { background: #f0b9a5; }
.status-pill.potencialni .tecka { background: var(--wheat); }

.detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 16px;
  margin-top: 8px;
  font-size: 14px;
  color: #cfe3ce;
}

.detail-hero .akce { display: flex; gap: 10px; flex-wrap: wrap; }

.tlacitko.hero-sekundarni {
  background: rgba(255, 255, 255, .14);
  border: 0;
  color: #fff;
  font-size: 13.5px;
}

.tlacitko.hero-sekundarni:hover { background: rgba(255, 255, 255, .24); }

.detail-mrizka {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 16px;
  align-items: start;
  margin-bottom: 16px;
}

.detail-mrizka .karta { margin-bottom: 0; border-radius: 16px; }

dl.udaje {
  margin: 0;
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 8px 16px;
  font-size: 13.5px;
}

dl.udaje dt { font-size: 12px; color: var(--muted); font-weight: 600; padding-top: 1px; }
dl.udaje dd { margin: 0; font-weight: 500; }
dl.udaje dd.mono-udaj { font-family: var(--pismo-mono); color: var(--g700); }

.adresa { margin: 0; font-size: 13.5px; line-height: 1.6; }

/* ---------- Poznámky (časová osa) ---------- */

.poznamka-form { margin-bottom: 18px; }
.poznamka-form-rada { display: flex; gap: 10px; margin-bottom: 10px; flex-wrap: wrap; }
.poznamka-form-rada input[type="date"] { flex: 0 0 auto; width: auto; font-family: var(--pismo-mono); font-size: 13.5px; }
.poznamka-form-rada textarea { flex: 1; min-width: 220px; }

.poznamky-seznam { display: flex; flex-direction: column; }

.poznamka { display: flex; gap: 14px; }

.poznamka .osa {
  display: flex;
  flex-direction: column;
  align-items: center;
  flex: none;
  width: 11px;
}

.poznamka .osa .tecka { width: 11px; height: 11px; border-radius: 50%; background: var(--g500); margin-top: 5px; flex: none; }
.poznamka .osa .cara { width: 2px; flex: 1; background: var(--line); min-height: 14px; }
.poznamka:last-child .osa .cara { background: transparent; }

.poznamka .telo { padding-bottom: 18px; min-width: 0; flex: 1; }
.poznamka-datum { font-family: var(--pismo-mono); font-weight: 600; font-size: 12.5px; color: var(--g700); }
.poznamka-text { font-size: 13.5px; line-height: 1.6; color: #46564a; margin: 4px 0 6px; }
.poznamka-akce { display: flex; gap: 6px; }
.poznamka-akce .tlacitko.maly { min-height: 32px; padding: 4px 12px; font-size: 12.5px; }
.poznamka-editace { margin-top: 6px; }
.poznamka-datum-editace { width: auto; font-family: var(--pismo-mono); font-size: 13px; min-height: 38px; }

.poznamka-ozvat-rada {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0 0 10px;
}

.poznamka-ozvat-rada > div { min-width: 150px; }
.poznamka-ozvat-editace { margin-top: 8px; }

.poznamka-ozvat {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  flex-wrap: wrap;
  margin: 0 0 8px;
  padding: 5px 9px;
  border: 1px solid #bdd7ef;
  border-radius: 9px;
  background: #eef7ff;
  color: #204761;
  font-size: 12.5px;
}

.poznamka-ozvat span { color: #476a82; font-weight: 600; }
.poznamka-ozvat strong { font-family: var(--pismo-mono); }
.poznamka-ozvat em { font-style: normal; font-weight: 700; }

/* Karta „Ozvat se“ v detailu */
.ozvatse-stav {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
  padding: 8px 12px;
  border: 1px solid #bdd7ef;
  border-radius: 10px;
  background: #eef7ff;
  color: #204761;
  margin: 0 0 12px;
}
.ozvatse-stav .tecka { width: 9px; height: 9px; border-radius: 50%; background: #2d72a5; }
.ozvatse-stav strong { font-family: var(--pismo-mono); }
.ozvatse-stav em { font-style: normal; font-weight: 700; }
.ozvatse-stav.dnes { border-color: var(--wheat); background: #fdf3dd; color: #6e5316; }
.ozvatse-stav.dnes .tecka { background: var(--wheat); }

.ozvatse-form {
  display: flex;
  align-items: flex-end;
  gap: 10px;
  flex-wrap: wrap;
}
.ozvatse-form > div { min-width: 140px; }
.ozvatse-form .popisek { margin-top: 0; }

.prehled-ozvat .aktivita-ikona.ozvat-telefonicky { color: #2d72a5; }
.prehled-ozvat .aktivita-ikona.ozvat-mailem { color: #2f9153; }
.prehled-ozvat .aktivita-ikona.ozvat-osobne { color: #8a6414; }

/* ---------- Uvítání, veřejné zdroje, LPIS ---------- */

.uvitani { text-align: center; padding: 40px 20px; }
.uvitani .tlacitka-rada { justify-content: center; }

.verejne-odkazy {
  display: flex;
  flex-direction: column;
  gap: 8px;
  align-items: flex-start;
}

.mala-poznamka { font-size: 12.5px; margin: 10px 0 0; line-height: 1.5; }

.lpis-napoveda {
  background: var(--g50);
  border: 1px solid var(--g100);
  border-radius: 11px;
  padding: 10px 14px;
  margin-top: 8px;
  font-size: 13px;
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  color: #3f5646;
}

/* ---------- Potenciální zákazníci ---------- */

.stranka-hlavicka { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 6px; }
.stranka-hlavicka h1 { margin: 0; }

.pill-zivy {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  font-size: 12px;
  font-weight: 600;
  color: var(--g700);
  background: var(--g100);
  padding: 5px 11px;
  border-radius: 999px;
  white-space: nowrap;
}

.pill-zivy::before {
  content: '';
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--g500);
  box-shadow: 0 0 0 3px rgba(47, 145, 83, .22);
}

.potencial-uvod { color: var(--muted); font-size: 14.5px; margin: 0 0 22px; max-width: 620px; line-height: 1.55; }

.segmenty-rada { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }

.napoveda-segmentu {
  background: var(--g50);
  border: 1px solid var(--g100);
  border-radius: 11px;
  padding: 12px 16px;
  font-size: 13.5px;
  color: #3f5646;
  line-height: 1.5;
  margin-bottom: 18px;
}

.napoveda-segmentu strong { color: var(--g700); }
.napoveda-segmentu div + div { margin-top: 6px; }
.seznam-oboru { font-size: 12.5px; line-height: 1.55; }

.info-tlacitko {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-left: 8px;
  border-radius: 50%;
  border: 1.5px solid var(--g500);
  background: transparent;
  color: var(--g700);
  font-family: 'IBM Plex Serif', Georgia, serif;
  font-style: italic;
  font-weight: 700;
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
  vertical-align: -3px;
}
.info-tlacitko:hover { background: var(--g100); }

.provozovna + .provozovna {
  margin-top: 10px;
  padding-top: 10px;
  border-top: 1px dashed var(--g100);
}

/* Přihlašovací brána */
.brana-obal {
  display: flex;
  justify-content: center;
  padding: 48px 0;
}

.brana-karta {
  width: 100%;
  max-width: 420px;
}

.brana-karta h1 { margin-bottom: 6px; }

body.brana-aktivni .hlavni-nav { display: none; }

/* Režim čtení */
body.rezim-cteni .hlavni-nav a[data-nav="kalendar"],
body.rezim-cteni .hlavni-nav a[data-nav="nastaveni"],
body.rezim-cteni .dolni-nav a[data-nav="kalendar"],
body.rezim-cteni .dolni-nav a[data-nav="nastaveni"],
body.rezim-cteni .hlavni-nav a.nav-pridat { display: none; }
/* Ve režimu čtení zbydou v dolní liště 4 agendy, tak se rozprostřou. */
@media (max-width: 760px) {
  body.rezim-cteni .dolni-nav { grid-template-columns: repeat(4, 1fr); }
  body.rezim-cteni .dolni-nav a { font-size: 10px; }
}

#cteni-blok {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  margin-left: 12px;
}

.cteni-stitek {
  display: inline-flex;
  align-items: center;
  padding: 4px 12px;
  border-radius: 999px;
  background: var(--wheat);
  color: #2a1f04;
  font-size: 12.5px;
  font-weight: 700;
  white-space: nowrap;
}

.potencial-filtry {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
  gap: 16px;
}

.potencial-filtry .popisek { margin-top: 0; }

.upozorneni-male {
  font-size: 13px;
  color: #8a6414;
  background: var(--wheat-soft);
  border-radius: 10px;
  padding: 9px 13px;
  margin: 14px 0 0;
}

.napoveda-uzemi { font-size: 12px; margin: 12px 2px 4px; }

.mistni-filtry {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  align-items: center;
}

.rozsah.uzky input.pole { width: 140px; }

.stitek-velikost { background: #dde7f0; color: #3a5f86; }
.stitek-riziko { background: var(--chyba-pozadi); color: var(--chyba); font-weight: 700; }
.lpis-hodnota { color: #8a6414; font-family: var(--pismo-mono); }

.varovani-karta {
  background: var(--chyba-pozadi);
  border: 1px solid #f0b9b4;
  color: #7c1d16;
  border-radius: 14px;
  padding: 12px 18px;
  margin-bottom: 16px;
  font-size: 14px;
  line-height: 1.55;
}

/* ---------- Diktování (mikrofon) ---------- */

.tlacitko.mikrofon { gap: 7px; }

@keyframes pulz {
  0%, 100% { box-shadow: 0 0 0 0 rgba(179, 38, 30, .45); }
  50% { box-shadow: 0 0 0 7px rgba(179, 38, 30, 0); }
}

.tlacitko.mikrofon.nahrava {
  background: var(--chyba);
  border-color: var(--chyba);
  color: #fff;
  animation: pulz 1.2s ease infinite;
}

.tlacitko.mikrofon.nahrava .mikrofon-text::after { content: '… (ukončit)'; }

.vysledky-hlavicka { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; padding: 0 4px; margin-bottom: 14px; }
.vysledky-hlavicka p { margin: 0; font-size: 14px; color: #46564a; }
.vysledky-hlavicka strong { font-family: var(--pismo-mono); color: var(--g700); }
.vysledky-hlavicka .tlumene { font-size: 12.5px; }

.potencial-seznam { display: flex; flex-direction: column; }

.potencial-radek {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 16px;
  padding: 18px 22px;
  border-bottom: 1px solid var(--line);
}

.potencial-seznam .potencial-radek:last-child { border-bottom: none; }
.potencial-radek:hover { background: var(--g50); }
.potencial-udaje { min-width: 0; margin-right: auto; }
.potencial-nazev { font-family: var(--pismo-nadpis); font-weight: 700; font-size: 17px; letter-spacing: -.01em; }
.potencial-udaje .radek-detail { display: flex; flex-wrap: wrap; gap: 6px 10px; margin-top: 5px; font-size: 13px; color: var(--muted); }
.potencial-udaje .radek-detail .mono-ico { font-family: var(--pismo-mono); color: #566; }
.potencial-adresa { color: var(--muted); font-size: 12.5px; margin-top: 3px; }
.potencial-akce { flex: none; display: flex; flex-direction: column; gap: 8px; }
.potencial-odkazy { display: flex; gap: 6px; }
.potencial-odkazy .tlacitko { flex: 1; }

.stav-nacitani { display: flex; align-items: center; gap: 14px; }

.spinner {
  width: 22px;
  height: 22px;
  flex: none;
  border-radius: 50%;
  border: 3px solid var(--g100);
  border-top-color: var(--g600);
  animation: tocit .8s linear infinite;
}

@keyframes tocit { to { transform: rotate(360deg); } }

.potencial-prazdny { text-align: center; padding: 32px 16px; }

.strankovani { display: flex; gap: 10px; justify-content: center; margin: 18px 0; }

@media (max-width: 640px) {
  .potencial-radek { align-items: flex-start; flex-direction: column; }
  .potencial-akce, .potencial-akce .tlacitko { width: 100%; }
}

/* ---------- Vyskakovací detail (potenciální zákazník) ---------- */

.prekryv {
  position: fixed;
  inset: 0;
  background: rgba(15, 46, 28, .45);
  z-index: 60;
  display: flex;
  align-items: flex-start;
  justify-content: center;
  padding: clamp(12px, 4vh, 48px) 16px;
  overflow-y: auto;
}

.modal-karta {
  background: var(--paper);
  border-radius: 18px;
  box-shadow: var(--stin-hero);
  max-width: 680px;
  width: 100%;
  padding: 24px 26px;
  animation: rise .25s ease both;
  max-height: 88vh;
  overflow-y: auto;
}

.modal-karta h2 {
  font-size: 20px;
  margin: 0 0 4px;
}

.modal-zahlavi { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.modal-zahlavi .telo { min-width: 0; margin-right: auto; }

.potencial-udaje.klikaci { cursor: pointer; }

/* ---------- Oznámení (toast) ---------- */

#toast {
  position: fixed;
  left: 50%;
  bottom: 24px;
  transform: translateX(-50%) translateY(20px);
  background: var(--g900);
  color: #eaf3e6;
  padding: 13px 21px;
  border-radius: 12px;
  box-shadow: 0 14px 34px -12px rgba(15, 46, 28, .6);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s, transform .25s;
  max-width: min(92vw, 480px);
  text-align: center;
  z-index: 100;
  font-size: 14px;
}

#toast.zobrazeny { opacity: 1; transform: translateX(-50%) translateY(0); }
#toast.chyba { background: var(--chyba); }

/* ---------- Kalendář jednání ---------- */

.kalendar-hlavicka {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 16px;
  flex-wrap: wrap;
  margin-bottom: 16px;
}

.kalendar-hlavicka h1 { margin-bottom: 4px; }
.kalendar-hlavicka p { margin: 0; font-size: 14.5px; }

.kalendar-nastroje {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.kalendar-filtr {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 38px;
  padding: 7px 11px;
  border: 1px solid var(--line);
  border-radius: 10px;
  background: var(--paper);
  color: var(--ink);
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
  user-select: none;
}

.kalendar-filtr input { accent-color: var(--chyba); }
.kalendar-filtr-ozvat input { accent-color: #2d72a5; }
.kalendar-filtr-jednani { border-color: #edc7ca; background: #fffafa; }
.kalendar-filtr-ozvat { border-color: #bdd7ef; background: #f4f9ff; }

.kalendar-legenda {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 8px 12px;
  margin: -4px 0 16px;
  color: var(--muted);
  font-size: 12.5px;
}

.kalendar-legenda-nadpis {
  color: var(--ink);
  font-weight: 800;
}

.kalendar-legenda-polozka {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 24px;
}

.kalendar-legenda-barva {
  width: 28px;
  height: 14px;
  border-left: 4px solid;
  border-radius: 5px;
  box-shadow: inset 0 0 0 1px rgba(30, 45, 35, .08);
}

.kalendar-legenda-jednani {
  border-left-color: var(--chyba);
  background: #f7dfe1;
}

.kalendar-legenda-telefonicky {
  border-left-color: #111;
  background: #eceff1;
}

.kalendar-legenda-mailem {
  border-left-color: #2e7d32;
  background: #dff3e4;
}

.kalendar-legenda-osobne {
  border-left-color: #2d72a5;
  background: #dff0ff;
}

.tlacitko.ikona {
  width: 42px;
  padding: 0;
  justify-content: center;
  font-size: 21px;
  line-height: 1;
}

.kalendar-main {
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--stin-karta);
}

.kalendar-den-detail {
  margin-top: 16px;
  padding: 20px 22px;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 16px;
  box-shadow: var(--stin-karta);
}

.kalendar-den-detail h2 {
  font-size: 16px;
  margin: 4px 0 10px;
  text-transform: capitalize;
}

.kalendar-den-seznam {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.kalendar-jednani {
  display: block;
  border: 1px solid var(--line);
  border-left: 4px solid var(--chyba);
  border-radius: 10px;
  padding: 9px 11px;
  text-decoration: none;
  color: inherit;
  background: #fffafa;
}

.kalendar-jednani:hover { background: #fff4f4; }
.kalendar-jednani.kalendar-jednani-ozvat,
.kalendar-jednani.kalendar-jednani-ozvat-telefonicky {
  border-left-color: #111;
  background: #f4f5f6;
}

.kalendar-jednani.kalendar-jednani-ozvat:hover,
.kalendar-jednani.kalendar-jednani-ozvat-telefonicky:hover { background: #eceff1; }

.kalendar-jednani.kalendar-jednani-ozvat-mailem {
  border-left-color: #2e7d32;
  background: #f3fbf4;
}

.kalendar-jednani.kalendar-jednani-ozvat-mailem:hover { background: #e6f5e9; }

.kalendar-jednani.kalendar-jednani-ozvat-osobne {
  border-left-color: #2d72a5;
  background: #f4f9ff;
}

.kalendar-jednani.kalendar-jednani-ozvat-osobne:hover { background: #eaf4ff; }
.kalendar-jednani strong { display: block; font-size: 13.5px; margin-bottom: 3px; }
.kalendar-jednani span { font-size: 12.5px; color: var(--muted); }

.kalendar-main { overflow: hidden; }

.kalendar-main-hlavicka {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 15px 16px;
  border-bottom: 1px solid var(--line);
}

.kalendar-main-hlavicka h2 {
  margin: 0;
  font-size: 20px;
  text-transform: capitalize;
}

.kalendar-scroll { overflow-x: auto; }

.kalendar-tyden-hlavicka,
.kalendar-mrizka {
  min-width: 790px;
  display: grid;
  grid-template-columns: repeat(7, minmax(108px, 1fr));
}

.kalendar-tyden-hlavicka {
  border-bottom: 1px solid var(--line);
  background: #fbfcfa;
}

.kalendar-tyden-hlavicka span {
  padding: 9px 10px;
  font-size: 12px;
  font-weight: 700;
  color: var(--muted);
  border-right: 1px solid var(--line);
}

.kalendar-tyden-hlavicka span:last-child { border-right: 0; }

.kalendar-den {
  min-height: 126px;
  border-right: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  padding: 8px;
  background: #fff;
  cursor: pointer;
}

.kalendar-den:hover { background: var(--g50); }

.kalendar-den:nth-child(7n) { border-right: 0; }
.kalendar-den.mimo { background: #fafbf8; color: #98a49a; }
.kalendar-den.vybrany { box-shadow: inset 0 0 0 2px var(--chyba); }
.kalendar-den.dnes .kalendar-den-cislo { background: var(--chyba); color: #fff; font-weight: 700; }

.kalendar-den-cislo {
  border: 0;
  background: transparent;
  border-radius: 999px;
  width: 28px;
  height: 28px;
  display: inline-grid;
  place-items: center;
  color: inherit;
  cursor: pointer;
  font-family: var(--pismo-mono);
  font-size: 13px;
}

.kalendar-den-cislo:hover { background: var(--g50); }

.kalendar-udalosti {
  display: flex;
  flex-direction: column;
  gap: 4px;
  margin-top: 6px;
}

.kalendar-udalost {
  display: block;
  min-height: 24px;
  padding: 3px 6px 4px 8px;
  border-left: 4px solid var(--chyba);
  border-radius: 6px;
  background: #f7dfe1;
  color: #4f2b2f;
  text-decoration: none;
  overflow: hidden;
}

.kalendar-udalost:hover { filter: brightness(.98); }
.kalendar-udalost.archivovana { opacity: .7; }
.kalendar-udalost.kalendar-udalost-ozvat,
.kalendar-udalost.kalendar-udalost-ozvat-telefonicky {
  border-left-color: #111;
  background: #eceff1;
  color: #111;
}

.kalendar-udalost.kalendar-udalost-ozvat-mailem {
  border-left-color: #2e7d32;
  background: #dff3e4;
  color: #1f4e25;
}

.kalendar-udalost.kalendar-udalost-ozvat-osobne {
  border-left-color: #2d72a5;
  background: #dff0ff;
  color: #1f3d55;
}

.kalendar-udalost-subjekt,
.kalendar-udalost-text {
  display: block;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  line-height: 1.25;
}

.kalendar-udalost-subjekt { font-weight: 700; font-size: 11.5px; }
.kalendar-udalost-text { font-size: 11.5px; }

.kalendar-vice {
  border: 0;
  background: transparent;
  color: var(--g700);
  font-size: 12px;
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  padding: 2px 4px;
}


/* ---------- Uložené trasy podle grafického návrhu ---------- */
/* Kompaktní řádek: datum · cíl a souhrn · tlačítka. Zastávky na rozkliknutí. */
.trasy-seznam { display: grid; gap: 10px; }
.trasa-karta { margin: 0; padding: 0; overflow: hidden; }

.trasa-radek {
  display: grid;
  grid-template-columns: 100px minmax(0, 1fr) auto;
  align-items: center;
  gap: 14px;
  padding: 14px 18px;
}

.trasa-radek .trasa-datum {
  font-family: var(--pismo-mono);
  font-size: 13.5px;
  color: var(--muted);
}

.trasa-radek-text { min-width: 0; }
.trasa-radek .trasa-cil {
  display: block;
  font-weight: 600;
  font-size: 15.5px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.trasa-radek .trasa-souhrn { display: block; font-size: 13px; color: var(--muted); }
.trasa-radek-akce { display: flex; gap: 8px; flex: none; }

.trasa-detail { border-top: 1px solid var(--line); }
.trasa-detail > summary {
  cursor: pointer;
  padding: 9px 18px;
  font-size: 13px;
  font-weight: 600;
  color: var(--g600);
}
.trasa-detail[open] > summary { border-bottom: 1px solid var(--line); }
.trasa-detail > *:not(summary) { padding: 0 18px 14px; }

@media (max-width: 760px) {
  .trasa-radek { grid-template-columns: 1fr; gap: 8px; }
  .trasa-radek-akce .tlacitko { flex: 1 1 auto; justify-content: center; }
}

/* Zadání cíle trasy textem s našeptávačem (vedle klepnutí na bod v mapě) */
.mapa-cil-blok { min-width: 260px; flex: 1 1 260px; }
.mapa-cil-blok input { width: 100%; }
.mapa-cil-blok .mala-poznamka { display: block; margin-top: 4px; }

/* ---------- Mapa na celou obrazovku ---------- */
/* Tlačítkem se mapa roztáhne přes celé okno (na počítači i na telefonu).
   Panel, legenda a seznam zastávek se schovají, ať je vidět jen mapa;
   zpět se to vrátí stejným tlačítkem nebo klávesou Esc. */
body.mapa-cela { overflow: hidden; }

body.mapa-cela .hlavicka,
body.mapa-cela .dolni-nav,
body.mapa-cela #mapa-panel,
body.mapa-cela #mapa-trasa-info,
body.mapa-cela .mapa-legenda,
body.mapa-cela .mapa-potencial-filtry,
body.mapa-cela .stranka-hlavicka,
body.mapa-cela .mapa-uvod { display: none !important; }

body.mapa-cela .obsah { max-width: none; padding: 0; margin: 0; }

body.mapa-cela #mapa-plocha {
  /* Leaflet drží na kontejneru position:relative, proto !important. */
  position: fixed !important;
  top: 0 !important;
  left: 0 !important;
  right: 0 !important;
  bottom: 0 !important;
  /* Výšku říkáme naplno: kontejner Leafletu má děti absolutně umístěné,
     takže z „auto“ by se složil do několika pixelů. */
  width: 100vw !important;
  height: 100vh !important;
  height: 100dvh !important;
  min-height: 0;
  border: 0;
  border-radius: 0;
  box-shadow: none;
  z-index: 500;
}

/* Tlačítko pro přepnutí: v běžném zobrazení je nad mapou vpravo, v režimu
   celé obrazovky plave nad mapou. Je mimo panel, takže nezmizí s ním. */
.mapa-celo-prepinac { display: block; margin: 0 0 10px auto; }

body.mapa-cela .mapa-celo-prepinac {
  position: fixed;
  top: calc(10px + env(safe-area-inset-top, 0px));
  right: 10px;
  z-index: 600;
  box-shadow: 0 8px 20px -10px rgba(15, 46, 28, .9);
}

/* ---------- Seznam subjektů na telefonu jako karty (podle grafického návrhu) ---------- */
/* Na počítači zůstává tabulka: obal se chová jako dřív a tlačítka jsou skrytá. */
.radek-akce { display: none; }
.tlacitko.zakazany { opacity: .5; pointer-events: none; }

/* ---------- Kompaktní rozbalovací filtry (stejné na PC i telefonu) ---------- */
.filtr-chipy { display: flex; flex-wrap: wrap; gap: 8px; }

.filtr-chip { position: relative; }

.filtr-chip > summary {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  list-style: none;
  cursor: pointer;
}
.filtr-chip > summary::-webkit-details-marker { display: none; }

.filtr-sipka { font-size: 10px; color: var(--muted); }
.filtr-chip[open] .filtr-sipka { transform: rotate(180deg); }
.filtr-chip > summary.aktivni-chip .filtr-sipka { color: rgba(255, 255, 255, .8); }

.filtr-pocet {
  display: inline-grid;
  place-items: center;
  min-width: 18px;
  height: 18px;
  padding: 0 4px;
  border-radius: 999px;
  background: var(--wheat);
  color: #3a2a06;
  font-size: 11px;
  font-weight: 700;
}

.filtr-panel {
  position: absolute;
  z-index: 40;
  top: calc(100% + 6px);
  left: 0;
  min-width: 220px;
  max-height: 320px;
  overflow-y: auto;
  margin: 0;
  padding: 10px 12px;
  display: grid;
  gap: 2px;
  box-shadow: 0 18px 40px -22px rgba(15, 46, 28, .7);
}
.filtr-panel .zaskrtavaci { padding: 5px 2px; }
.filtr-panel .tlacitko { margin-top: 6px; justify-self: start; }

@media (max-width: 760px) {
  /* Na telefonu se panel otevírá přes celou šířku pod celou řadou filtrů —
     ať je u prvního i posledního filtru stejně velký a vždy celý v obrazovce.
     (Zarovnání k jednomu chipu vyjíždělo u pravých filtrů mimo displej.) */
  .filtr-chipy { position: relative; }
  .filtr-chip { position: static; }
  .filtr-panel {
    left: 0;
    right: 0;
    min-width: 0;
    max-width: none;
    max-height: 46vh;
  }
}

/* Doladění rozbalovacích filtrů: větší rozestupy, panel kousek od chipu,
   tlačítka Vybrat vše / Zrušit vše v jedné řádce. */
.filtr-chipy { gap: 12px; }
.filtr-panel { top: calc(100% + 8px); }
.filtr-panel-akce { display: flex; gap: 8px; margin-top: 8px; }
.filtr-panel-akce .tlacitko { margin-top: 0; }

/* „Další filtry“ se přesunuly mimo řadu chipů — ukotvení panelu musí jít s nimi,
   jinak se otevíral u jiného prvku. */
#filtry-blok { position: relative; }

/* Řádek návratu na start v seznamu zastávek */
.mapa-zastavka-navrat .mapa-zastavka-cislo { color: var(--muted); }
.mapa-zastavka-navrat .mapa-zastavka-nazev { color: var(--muted); font-weight: 500; }

/* Kompaktní hlavička Subjektů: jeden řádek filtrů, těsnější řádek počtu. */
.radek-stav-filtru {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  flex-wrap: wrap;
  margin: 0 0 4px;
}
.radek-stav-filtru #filtry-blok { margin-top: 0; position: relative; flex: 0 0 auto; }
#filtry-blok summary { padding: 6px 2px; }

.radek-poctu { margin: 0 0 8px; }
.kontakt-akce { gap: 6px; }
.kontakt-akce .tlacitko.maly { padding: 6px 10px; font-size: 12.5px; }

@media (max-width: 760px) {
  /* Na telefonu se řada zalomí, ale mezery zůstávají malé. */
  .radek-stav-filtru { align-items: flex-start; }
}

/* Kulaté ikonové tlačítko (Volat / Navigovat na mobilní kartě subjektu). */
.ikona-tlacitko {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  border: 1px solid var(--line);
  background: var(--paper);
  color: var(--g700);
  flex: 0 0 auto;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
}
.ikona-tlacitko.volat { background: var(--g50); border-color: #c7dbc9; }
.ikona-tlacitko:active { transform: scale(.94); }
.ikona-tlacitko.zakazany { opacity: .35; pointer-events: none; }

/* Návod na jednorázovou úpravu cloudu (Nastavení → Synchronizace). */
.cloud-sql { margin-top: 10px; }
.cloud-sql > summary { cursor: pointer; font-size: 13px; color: var(--g700); font-weight: 600; }
.cloud-sql-kod {
  background: var(--g50);
  border: 1px solid var(--line);
  border-radius: 10px;
  padding: 10px 12px;
  font-family: var(--pismo-mono);
  font-size: 12px;
  line-height: 1.5;
  white-space: pre;
  overflow-x: auto;
  margin: 8px 0 0;
}

/* ---------- Karta subjektu na telefonu (podle grafického návrhu) ---------- */
/* Na počítači se místo karet vykresluje řádek tabulky, takže tyhle styly
   platí jen tam, kde se karty opravdu objeví. */

.karta-subjektu {
  display: flex;
  align-items: stretch;
  background: var(--paper);
  border: 1px solid var(--line);
  border-radius: 17px;
  overflow: hidden;
  box-shadow: 0 14px 30px -24px rgba(15, 46, 28, .7);
}

/* Barevný proužek u levého okraje říká stav na první pohled. */
.karta-pruh { width: 4px; flex: none; background: var(--g600); }
.karta-subjektu.stav-potencialni .karta-pruh { background: #d8a13a; }
.karta-subjektu.stav-archiv .karta-pruh { background: #a9b1a6; }

.karta-telo { flex: 1; min-width: 0; display: flex; flex-direction: column; }

.karta-hlavni {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 12px 8px 11px 12px;
  color: var(--ink);
  text-decoration: none;
}

.karta-vrch { display: flex; align-items: flex-start; gap: 9px; min-width: 0; }
.karta-nazev-blok { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 3px; }

.karta-radek-nazvu { display: flex; align-items: center; gap: 7px; min-width: 0; }
.karta-nazev {
  flex: 1;
  min-width: 0;
  font-size: 16px;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Varování o nespolehlivém plátci DPH: na kartě jen malé červené kolečko,
   celé vysvětlení je v bublině a v detailu subjektu. */
.karta-radek-nazvu .stitek-riziko {
  flex: none;
  width: 18px;
  height: 18px;
  padding: 0;
  margin: 0;
  border-radius: 50%;
  display: grid;
  place-items: center;
  font-size: 0;
  border: 1px solid #f0c4c0;
}
.karta-radek-nazvu .stitek-riziko::before {
  content: '!';
  font-size: 11px;
  font-weight: 700;
}

.karta-stav {
  flex: none;
  margin-left: auto;
  padding-left: 6px;
  display: inline-flex;
  align-items: center;
  gap: 5px;
  font-size: 12px;
  font-weight: 600;
  white-space: nowrap;
  color: var(--g600);
}
.karta-stav .tecka { width: 7px; height: 7px; border-radius: 50%; background: currentColor; }
.karta-subjektu.stav-potencialni .karta-stav { color: #8a6414; }
.karta-subjektu.stav-potencialni .karta-stav .tecka { background: #d8a13a; }
.karta-subjektu.stav-archiv .karta-stav { color: #8a8a8a; }
.karta-subjektu.stav-archiv .karta-stav .tecka { background: #a9b1a6; }

/* Město · rozloha · LPIS — jeden úsporný řádek pod názvem. */
.karta-meta {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: 4px 7px;
  min-width: 0;
  font-size: 13px;
  color: var(--muted);
}
/* Když se město, rozloha a stav nevejdou vedle sebe, odskočí stav na další
   řádek — město se tím nezkracuje kvůli popisku stavu. */
.karta-mesto { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.karta-ha { flex: none; font-family: var(--pismo-mono); color: var(--g600); }
.karta-mesto + .karta-ha::before { content: '· '; color: #c3cdbe; }
.karta-lpis {
  flex: none;
  font-family: var(--pismo-mono);
  font-size: 11px;
  font-weight: 600;
  padding: 1px 6px;
  border-radius: 5px;
  background: #f4e6c6;
  color: #8a6414;
}

.karta-stitky { display: flex; flex-wrap: wrap; gap: 6px; min-width: 0; }
.karta-stitky .stitek { margin: 0; }
.stitek-skupina {
  max-width: 100%;
  background: #f6f4ec;
  color: var(--muted);
  border: 1px solid var(--line);
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

/* Patička: kdy se ozvat a jak je na tom ceník. Podbarvení podle ceníku. */
.karta-paticka {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px 9px;
  border-top: 1px solid #eef0e9;
  background: #fbfcf8;
  font-size: 12.5px;
  color: var(--muted);
}
.karta-subjektu.cenik-predano .karta-paticka { background: #f5faff; }
.karta-subjektu.cenik-odeslano .karta-paticka { background: #f5faf6; }
.karta-paticka-polozka { display: inline-flex; align-items: center; gap: 5px; min-width: 0; }
.karta-paticka-polozka.vpravo { margin-left: auto; }
.karta-paticka .ozvat-stitek,
.karta-paticka .cenik-stitek { margin: 0; }
.karta-paticka .cenik-stitek.zadny {
  background: var(--paper);
  border: 1px solid var(--line);
  color: var(--muted);
}
.karta-paticka .tlumene { color: var(--muted); }

/* Tři kulaté akce u pravého okraje: volat, e-mail, navigovat. */
.karta-akce {
  flex: none;
  display: flex;
  flex-direction: column;
  justify-content: center;
  gap: 7px;
  padding: 8px 8px;
  border-left: 1px solid #eef0e9;
  background: #fbfcf8;
}

/* ---------- Hlavička Subjektů na telefonu ---------- */

.pocet-zobrazeno { display: none; }
.hledani-filtry { display: none; }
.akce-ikona { display: none; }
.akce-pocet { display: none; }

@media (max-width: 760px) {
  .seznam-radku { display: grid; gap: 10px; padding: 10px 12px 16px; }

  /* Počet nalezených k nadpisu, hledání přes celou šířku. */
  .seznam-hlavicka { align-items: center; gap: 8px; margin-bottom: 8px; }
  .seznam-hlavicka h1 { flex: none; }
  .pocet-zobrazeno {
    display: block;
    margin-left: auto;
    font-size: 12px;
    color: var(--muted);
  }
  .seznam-hledani-obal { flex: 1 0 100%; }

  /* Další filtry se otevírají ikonou v hledání. */
  .hledani-filtry {
    display: grid;
    place-items: center;
    flex: none;
    width: 34px;
    height: 34px;
    border: 0;
    border-radius: 10px;
    background: #f1f5ea;
    color: var(--g600);
  }
  .radek-stav-filtru #filtry-blok > summary { display: none; }
  #filtry-blok[open] > .karta { position: static; width: auto; box-shadow: none; }

  /* Filtry se zalamují do dvou řádků. Posuvný řádek (jako v návrhu) tu být
     nemůže — posuvná oblast ořízne rozbalený panel a filtr pak nejde použít. */
  .filtr-chipy { flex-wrap: wrap; gap: 7px; }
  .filtr-chip { flex: none; }

  /* Hromadné akce: hlavní tlačítko s počtem, zbytek jako ikony. */
  .kontakt-akce { display: flex; align-items: center; gap: 7px; width: 100%; }
  .kontakt-akce .akce-hlavni { flex: 1; min-width: 0; justify-content: center; }
  .kontakt-akce .akce-hlavni .akce-text { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
  .akce-ikona { display: inline-flex; align-items: center; }
  .akce-pocet {
    display: inline-block;
    font-family: var(--pismo-mono);
    font-size: 11.5px;
    font-weight: 600;
    padding: 1px 6px;
    border-radius: 6px;
    background: var(--paper);
    border: 1px solid #d5e3d3;
  }
  .kontakt-akce .tlacitko:not(.akce-hlavni) {
    flex: none;
    width: 36px;
    padding: 0;
    justify-content: center;
  }
  .kontakt-akce .tlacitko:not(.akce-hlavni) .akce-text { display: none; }
  .kontakt-akce #pocet-emailu { display: none; }
  .radek-poctu #pocet-vysledku { display: none; }
}

/* ---------- Telefon na šířku: nízké okno ---------- */
/* Vodorovně má obraz místa dost, svisle skoro žádné — horní lišta a dolní
   nabídka se proto stlačí, ať zbyde co nejvíc na samotný seznam. */
@media (max-height: 500px) {
  .hlavicka-vnitrek { min-height: 44px; padding: 0 clamp(12px, 2.5vw, 24px); }
  .logo { padding: 3px 0; gap: 9px; }
  .logo-dlazdice { width: 26px; height: 26px; border-radius: 8px; }
  .logo-dlazdice svg { width: 16px; height: 16px; }
  .logo-nazev { font-size: 15px; }
  /* Podtitulek „Evidence subjektů“ je jen ozdoba — na výšku 44 px se nevejde. */
  .logo-popis { display: none !important; }
  .hlavni-nav a { padding: 12px 11px; font-size: 13.5px; min-height: 38px; }
  .obsah { padding-top: 14px; padding-bottom: 40px; }
  h1 { font-size: 24px; }
  .seznam-pevny { top: 44px; }

  .dolni-nav a { padding: 4px 1px 3px; font-size: 8px; gap: 2px; }
  .dolni-nav a svg { width: 17px; height: 17px; }
}

/* ---------- Varování o rizicích (Přehled, karta pod Ceníkem) ---------- */
/* Karta vede obě rizika naráz — nespolehlivé plátce DPH i subjekty vedené
   v insolvenčním rejstříku — a rovnou je jmenuje. Bez rizika se nevykreslí. */
.varovna-karta {
  background: #fdeceb;
  border-color: #f0c4c0;
  color: #8a2b22;
  display: grid;
  gap: 14px;
}
.varovna-sekce + .varovna-sekce { border-top: 1px solid #f0c4c0; padding-top: 14px; }
.varovna-hlavicka { display: flex; align-items: center; gap: 8px; font-size: 14.5px; }
.varovny-znak { flex: none; font-size: 16px; }
.varovna-veta { margin: 6px 0 0; font-size: 13.5px; line-height: 1.5; }
/* Jména jsou klikatelná, ale bez podtržení — jinak je z věty změť čar. */
.varovna-veta a { color: #8a2b22; font-weight: 600; text-decoration: none; }
.varovna-veta a:hover { color: #6d1f18; text-decoration: underline; }
.varovne-dalsi { margin-top: 6px; }
.varovne-dalsi > summary {
  cursor: pointer;
  font-size: 13px;
  font-weight: 600;
  color: #8a2b22;
}
.varovna-karta .tlacitko {
  background: #fff;
  border-color: #f0c4c0;
  color: #8a2b22;
}

.stitek-insolvence {
  background: #fdeceb;
  color: #8a2b22;
  border: 1px solid #f0c4c0;
  white-space: nowrap;
}

.varovani-insolvence { border-color: #f0c4c0; }
.varovani-insolvence a { text-decoration: underline; }

/* Upozornění v Subjektech, že je zapnuté omezení na rizikové subjekty. */
.riziko-filtr-pas {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  margin: 0 0 8px;
  padding: 9px 12px;
  border-radius: 10px;
  background: #fdeceb;
  border: 1px solid #f0c4c0;
  color: #8a2b22;
  font-size: 13px;
}
.riziko-filtr-pas .tlacitko { margin-left: auto; }

/* Zastávka, jejíž poloha je jen orientační (střed obce, ne konkrétní adresa). */
.stitek-orientacni {
  background: #fdf3dd;
  color: #8a6414;
  border: 1px solid #e8d4a0;
  white-space: nowrap;
}

.mapa-orientacni-souhrn {
  margin: 8px 0 0;
  padding: 9px 12px;
  border-radius: 10px;
  background: #fdf3dd;
  border: 1px solid #e8d4a0;
  color: #6b4f10;
  font-size: 13px;
  line-height: 1.45;
}

/* Přehled pro čtecí účty: jeden sloupec (poznámky, ceník, případná rizika). */
.prehled-mrizka.prehled-cteni { grid-template-columns: 1fr; }
