/* Scitipedie — sdílené .sc-* komponenty (redesign 8/2026, od Fáze 1 — katalogové listy).
   Vrstvení: bootstrap → tokens.css → theme.css → components.css → site.css.
   Barvy výhradně přes var(--sc-*) — hodnoty žijí v tokens.css/theme.css. */

/* ===== Hlavička stránky ===== */
.sc-page-header {
  display: flex; align-items: center; gap: 14px; flex-wrap: wrap;
  margin-bottom: 12px;
}
.sc-page-header h1 { margin: 0; }
.sc-h1-pocet { font-size: 13px; font-weight: 600; color: var(--sc-muted); letter-spacing: 0; }
.sc-toolbar { margin-left: auto; display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.sc-page-podtitulek { font-size: 12.5px; color: var(--sc-muted); margin-top: 2px; max-width: 720px; }
@media (max-width: 767.98px) {
  .sc-page-header { align-items: flex-start; }
  .sc-toolbar { width: 100%; margin-left: 0; }
  .sc-toolbar .btn { flex: 0 0 auto; min-height: 44px; min-width: 44px; max-width: 100%; }
  .sc-toolbar > .dropdown { max-width: 100%; }
  .sc-toolbar-katalog { gap: 12px; align-items: stretch; }
  .sc-toolbar-katalog > .btn, .sc-toolbar-katalog > .dropdown { flex: 1 1 auto; }
  .sc-toolbar-katalog > .dropdown > .btn { width: 100%; }
}

/* ===== Přístupnost ===== */
.sc-skip-link {
  position: fixed; top: 8px; left: 8px; z-index: 2000;
  transform: translateY(-140%);
  padding: 8px 12px; border-radius: var(--sc-r-btn);
  background: var(--sc-card); color: var(--sc-ink); box-shadow: var(--sc-sh-2);
}
.sc-skip-link:focus { transform: translateY(0); }

/* mint „tintované" tlačítko listů — AI akce v toolbaru (plný mint = .sc-btn-ai v theme.css) */
.btn.sc-btn-ai-tint {
  --bs-btn-bg: var(--sc-mint-tint);
  --bs-btn-color: var(--sc-mint-ink);
  --bs-btn-border-color: var(--sc-mint-line);
  --bs-btn-hover-bg: var(--sc-mint);
  --bs-btn-hover-color: var(--sc-ink);
  --bs-btn-hover-border-color: var(--sc-mint);
  --bs-btn-active-bg: var(--sc-mint);
  --bs-btn-active-color: var(--sc-ink);
  --bs-btn-active-border-color: var(--sc-mint);
}

/* ===== Karta ===== */
.sc-karta {
  background: var(--sc-card);
  border: 1px solid var(--sc-line);
  border-radius: var(--sc-r-card);
  box-shadow: var(--sc-sh-1);
}

/* ===== Řádek AI vyhledávání (rozbalovací) ===== */
.sc-ai-radek {
  display: flex; align-items: center; gap: 10px;
  padding: 9px 14px;
  cursor: pointer;
  border: 0; background: transparent; color: inherit;
}
.sc-ikona-mint {
  width: 26px; height: 26px; border-radius: 7px;
  background: var(--sc-mint-tint); color: var(--sc-mint-ink);
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.sc-ai-radek .sc-ai-titulek { font-size: 13px; font-weight: 700; }
.sc-ai-radek .sc-ai-hint { font-size: 12.5px; color: var(--sc-muted); }
.sc-ai-radek .sc-ai-sipka { margin-left: auto; color: var(--sc-muted); transition: transform .2s; }
.sc-ai-radek[aria-expanded="true"] .sc-ai-sipka { transform: rotate(180deg); }
.sc-ai-telo { padding: 0 14px 12px; }
/* varianta s inline vstupem (Reference): mint popisek + pole + tlačítko v jednom řádku */
.sc-ai-radek-hledani { display: flex; align-items: center; gap: 10px; padding: 10px 14px; }
.sc-ai-radek-hledani .sc-ai-popisek {
  display: inline-flex; align-items: center; gap: 7px;
  font-size: 12.5px; font-weight: 700;
  color: var(--sc-mint-ink); white-space: nowrap;
}
.sc-ai-radek-hledani .form-control { border-radius: var(--sc-r-pill); }
.sc-ai-radek-hledani .btn { white-space: nowrap; flex-shrink: 0; }
@media (max-width: 767.98px) {
  .sc-ai-radek-hledani { display: grid; grid-template-columns: minmax(0, 1fr) auto; }
  .sc-ai-radek-hledani .sc-ai-popisek { grid-column: 1 / -1; }
  .sc-ai-radek-hledani .form-control { min-width: 0; width: 100%; min-height: 44px; }
  .sc-ai-radek-hledani .btn { min-height: 44px; }
  .sc-ai-radek-hledani .sc-ai-zrusit { grid-column: 1 / -1; justify-self: start; }
}

/* ===== Chipy (neutrální filtr) ===== */
.sc-chip {
  display: inline-flex; align-items: center; gap: 6px;
  border-radius: var(--sc-r-pill);
  padding: 5px 11px;
  font-size: 12px; font-weight: 600;
  background: var(--sc-card); color: var(--sc-muted);
  border: 1px solid var(--sc-line-2);
  cursor: pointer; user-select: none;
  white-space: nowrap;
}
.sc-chip:hover { border-color: var(--sc-accent); color: var(--sc-accent); }
.sc-chip:focus-visible { outline: 2px solid var(--sc-accent); outline-offset: 2px; }
.sc-chip.dropdown-toggle::after { display: none; } /* šipku kreslí bi-chevron-down v markupu */
.sc-chip + .dropdown-menu, .sc-chipy .dropdown-menu {
  max-width: calc(100vw - 32px);
}
.sc-chipy .dropdown-item { overflow: hidden; text-overflow: ellipsis; }
.sc-chip.sc-chip-aktivni {
  background: var(--sc-accent-tint); color: var(--sc-accent-ink);
  border-color: var(--sc-accent-line);
}
.sc-chip .bi-chevron-down { font-size: 12px; }
.sc-chip .bi-x { font-size: 12px; }
/* aktivní segment (např. filtr stavů „Vše") — navy */
.sc-chip-navy, .sc-chip-navy:hover {
  background: var(--sc-ink); color: var(--sc-card);
  border-color: var(--sc-ink);
  font-weight: 700;
}
.sc-tecka { width: 8px; height: 8px; border-radius: 999px; display: inline-block; flex-shrink: 0; }
.sc-tecka-ok { background: var(--sc-ok); }
.sc-tecka-warn { background: var(--sc-warn); }
.sc-tecka-bad { background: var(--sc-bad); }
/* roadmap (8/2026): neutrální, akcentová (prstenec) a plná akcentová tečka */
.sc-tecka-neutral { background: var(--sc-faint); }
.sc-tecka-accent { background: var(--sc-accent-tint); border: 2px solid var(--sc-accent); box-sizing: border-box; }
.sc-tecka-accent-plny { background: var(--sc-accent); }
/* prošlé/neaktivní řádky (stav nese štítek, ne barva pozadí) */
.sc-tabulka-karta tbody tr.sc-radek-prosly { opacity: .62; }
/* štítek hodnoty (neutrální, neklikací) */
.sc-stitek {
  display: inline-flex; align-items: center;
  border-radius: var(--sc-r-pill);
  padding: 2px 9px;
  font-size: 12px; font-weight: 600;
  background: var(--sc-chip-bg); color: var(--sc-chip-text);
  border: 1px solid var(--sc-chip-line);
  white-space: nowrap;
}
.sc-stitek-plus {
  display: inline-flex;
  border-radius: var(--sc-r-pill);
  padding: 2px 7px;
  font-size: 12px; font-weight: 600;
  color: var(--sc-muted);
  border: 1px dashed var(--sc-line-2);
}

/* informační banner (omezený pohled, poznámky pro správce) */
.sc-info-banner {
  display: flex; align-items: center; gap: 10px;
  padding: 11px 16px;
  border: 1px solid var(--sc-accent-line);
  border-radius: var(--sc-r-card);
  background: var(--sc-accent-tint);
  font-size: 13px;
  color: var(--sc-text);
}
.sc-info-banner > i { color: var(--sc-accent-ink); }

/* stavové štítky (Aktivní / Expiruje brzy / Prošlé, …) */
.sc-stav { display: inline-flex; align-items: center; gap: 5px; border-radius: var(--sc-r-pill);
  padding: 2px 10px; font-size: 12px; font-weight: 700; white-space: nowrap; }
.sc-stav-ok   { background: var(--sc-ok-tint);   color: var(--sc-ok-text); }
.sc-stav-warn { background: var(--sc-warn-tint); color: var(--sc-warn-text); }
.sc-stav-bad  { background: var(--sc-bad-tint);  color: var(--sc-bad); }
/* roadmap (8/2026): Nový = neutrální, Naplánováno = akcent, Ve vývoji = plný akcent */
.sc-stav-neutral { background: var(--sc-chip-bg); color: var(--sc-chip-text); }
.sc-stav-accent { background: var(--sc-accent-tint); color: var(--sc-accent-ink); }
.sc-stav-accent-plny { background: var(--sc-accent); color: var(--sc-card); }

/* ===== Karta s tabulkou ===== */
.sc-tabulka-karta { overflow: hidden; padding: 0; }
.sc-tabulka-hlavicka {
  display: flex; align-items: center; gap: 8px;
  padding: 10px 14px;
  border-bottom: 1px solid var(--sc-line);
  flex-wrap: wrap;
}
.sc-tabulka-hlavicka .sc-vysledky { margin-left: auto; font-size: 12px; color: var(--sc-muted); white-space: nowrap; }
.sc-rychly-filtr {
  display: flex; align-items: center; gap: 8px;
  border: 1px solid var(--sc-line-2);
  border-radius: var(--sc-r-btn);
  padding: 6px 10px;
  width: 250px; max-width: 100%;
  background: var(--sc-card);
  color: var(--sc-muted); font-size: 12.5px;
}
.sc-rychly-filtr:focus-within { border-color: var(--sc-accent); box-shadow: var(--sc-focus); }
.sc-rychly-filtr input {
  border: 0; outline: 0; background: transparent;
  flex: 1; min-width: 0; padding: 0;
  font-size: 12.5px; color: var(--sc-text);
}

/* tabulka uvnitř karty */
.sc-tabulka-karta table.table, .sc-tabulka-karta table.dataTable {
  margin: 0 !important;
  font-size: 13px;
  border-collapse: collapse;
}
.sc-tabulka-karta thead th {
  /* Absolutně umístěné přístupné popisky zůstávají uvnitř posuvné tabulky. */
  position: relative;
  padding: 8px 10px;
  background: var(--sc-head-bg);
  border-bottom: 1px solid var(--sc-line);
  font-size: 12px; font-weight: 700; letter-spacing: .08em;
  text-transform: uppercase;
  color: var(--sc-muted);
  vertical-align: middle;
  white-space: nowrap;
}
.sc-tabulka-karta tbody td {
  padding: 6px 10px;
  border-bottom: 1px solid var(--sc-row-line);
  vertical-align: middle;
  background: transparent;
}
.sc-tabulka-karta tbody tr { background: var(--sc-card); }
.sc-tabulka-karta tbody tr:hover { background: var(--sc-head-bg); }
.sc-tabulka-karta tbody tr.sc-radek-vybrany { background: var(--sc-accent-tint); }
.sc-tabulka-karta .form-check-input, .sc-tabulka-karta input[type="checkbox"] {
  width: 18px; height: 18px; accent-color: var(--sc-ink); cursor: pointer;
}
/* zrušit zebra/hover z Bootstrapu (řídí je pravidla výše) */
.sc-tabulka-karta .table-striped > tbody > tr:nth-of-type(odd) > *,
.sc-tabulka-karta .table-hover > tbody > tr:hover > * {
  --bs-table-bg-type: transparent;
  --bs-table-bg-state: transparent;
}
/* zrušit podbarvení řazeného sloupce z DataTables (šedé pruhy v buňkách) */
.sc-tabulka-karta table.dataTable > tbody > tr > .sorting_1,
.sc-tabulka-karta table.dataTable td.sorting_1 {
  box-shadow: none !important;
  background: transparent !important;
}

/* buňky */
.sc-tab-osoba { display: flex; align-items: center; gap: 9px; color: var(--sc-text); text-decoration: none; }
.sc-tab-osoba:hover { color: var(--sc-accent); }
.sc-tab-osoba img, .sc-tab-avatar {
  width: 28px; height: 28px; border-radius: 999px;
  object-fit: cover; border: 1px solid var(--sc-line);
  flex-shrink: 0;
}
.sc-tab-osoba .sc-tab-jmeno { display: block; font-weight: 700; line-height: 1.25; }
.sc-tab-osoba .sc-tab-pod { display: block; font-size: 12px; color: var(--sc-muted); line-height: 1.25; font-weight: 400; }
.sc-tab-firma { display: inline-flex; align-items: center; gap: 6px; color: var(--sc-muted); font-size: 12px; text-decoration: none; }
.sc-tab-firma:hover { color: var(--sc-accent); }
.sc-tab-firma img { height: 14px; max-width: 46px; object-fit: contain; }
.sc-tab-ikonky { display: inline-flex; align-items: center; gap: 3px; }
.sc-tab-ikonky img {
  width: 20px; height: 20px; border-radius: 5px;
  border: 1px solid var(--sc-line);
  background: var(--sc-card);
  object-fit: contain;
}
/* tag reference (odkaz na /tag/<name>/) */
.sc-tag {
  display: inline-flex; border-radius: var(--sc-r-pill);
  padding: 2px 9px;
  font-size: 12px; font-weight: 600;
  background: var(--sc-accent-tint); color: var(--sc-accent);
  text-decoration: none; white-space: nowrap;
}
.sc-tag:hover { background: var(--sc-accent); color: var(--sc-card); }

/* rozsah projektu jako mini bar-graf (1–3 sloupky dle data-uroven) */
.sc-rozsah {
  display: inline-flex; align-items: center; gap: 6px;
  font-size: 12.5px; color: var(--sc-text); white-space: nowrap;
}
.sc-rozsah .sc-rozsah-bary { display: inline-flex; gap: 2px; align-items: flex-end; height: 12px; }
.sc-rozsah .sc-rozsah-bary span { width: 3px; border-radius: 1px; background: var(--sc-line-2); }
.sc-rozsah .sc-rozsah-bary span:nth-child(1) { height: 5px; }
.sc-rozsah .sc-rozsah-bary span:nth-child(2) { height: 8px; }
.sc-rozsah .sc-rozsah-bary span:nth-child(3) { height: 12px; }
.sc-rozsah[data-uroven="1"] .sc-rozsah-bary span:nth-child(-n+1),
.sc-rozsah[data-uroven="2"] .sc-rozsah-bary span:nth-child(-n+2),
.sc-rozsah[data-uroven="3"] .sc-rozsah-bary span:nth-child(-n+3) { background: var(--sc-accent); }

.sc-tab-cert {
  display: inline-flex; align-items: center; gap: 4px;
  font-size: 12px; font-weight: 700;
  color: var(--sc-accent-ink);
  cursor: help;
}
.sc-akce-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 32px; height: 32px; border-radius: 7px;
  border: none; background: transparent;
  color: var(--sc-muted); cursor: pointer;
}
.sc-akce-btn:hover { background: var(--sc-accent-tint); color: var(--sc-accent); }

/* patička karty s DataTables ovládáním (info + stránkování) */
.sc-tabulka-karta div.dt-container > .row:last-child,
.sc-tabulka-paticka {
  align-items: center;
  padding: 8px 14px;
  border-top: 1px solid var(--sc-line);
  margin: 0;
}
.sc-tabulka-karta div.dt-container > .row:last-child > [class*="col-"]:last-child {
  display: flex; align-items: center; justify-content: flex-end; gap: 8px;
}
.sc-tabulka-karta .dt-info { font-size: 12px; color: var(--sc-muted); padding: 0; }
.sc-tabulka-karta .dt-paging .pagination { margin: 0; justify-content: flex-end; --bs-pagination-font-size: 12px; }
.sc-tabulka-karta div.dt-container > .row { margin: 0; }
.sc-tabulka-karta .dt-length { display: flex; align-items: center; }
.sc-tabulka-karta div.dt-container .dt-length select { font-size: 12px; min-width: 68px; margin: 0; }
/* Text labelu zůstává pro čtečky, vizuálně je vidět jen samotný select. */
.sc-tabulka-karta .dt-length label {
  position: static; display: flex; align-items: center;
  width: auto; height: auto; margin: 0; overflow: visible; clip: auto;
  font-size: 0;
}

/* +/− řádky (výhody a nevýhody, silné a slabé stránky) */
.sc-plus-radek, .sc-minus-radek {
  display: flex; align-items: flex-start; gap: 8px;
  font-size: 13px; line-height: 1.5;
}
.sc-plus-radek i { color: var(--sc-ok); margin-top: 2px; }
.sc-minus-radek i { color: var(--sc-bad); margin-top: 2px; }

/* ===== Pravý panel detailů (rail) — sdílí detaily referencí/produktů/domén/… ===== */
.sc-rail-karta { padding: 16px; }
/* obsahové karty detailů + řádky výčtů (certifikace, projekty, reference) */
.sc-cv-karta { padding: 18px; }
.sc-cv-nadpis { margin: 0 0 12px; font-size: 15px; font-weight: 800; color: var(--sc-ink); }
.sc-cv-radek {
  display: flex; align-items: center; gap: 12px;
  padding: 11px 0;
  border-bottom: 1px solid var(--sc-row-line);
}
.sc-cv-radek:last-child { border-bottom: 0; padding-bottom: 0; }
.sc-cv-radek-titulek { font-size: 13.5px; font-weight: 700; line-height: 1.35; }
.sc-cv-radek-odkaz { color: var(--sc-text); text-decoration: none; }
.sc-cv-radek-odkaz:hover .sc-cv-radek-titulek { color: var(--sc-accent); }
.sc-cv-radek-odkaz .d-block { text-decoration: none; }
a.sc-cv-radek-odkaz:hover { color: var(--sc-accent); }
.sc-cv-datum { font-size: 12px; color: var(--sc-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
/* logo zákazníka/reference v řádku (.sc-cv-radek) — sdílí CV zaměstnance a detail společnosti */
.sc-cv-projekt-logo {
  width: 38px; height: 38px;
  border-radius: 9px;
  border: 1px solid var(--sc-line);
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--sc-faint);
  flex-shrink: 0;
  overflow: hidden;
}
.sc-cv-projekt-logo img { width: 100%; height: 100%; object-fit: contain; }
.sc-rail-radek {
  display: flex; align-items: center; gap: 9px;
  font-size: 13px; font-weight: 600;
  color: var(--sc-text);
  text-decoration: none;
}
a.sc-rail-radek:hover { color: var(--sc-accent); }
.sc-rail-ikona {
  width: 26px; height: 26px;
  border-radius: 6px;
  object-fit: contain;
  border: 1px solid var(--sc-line);
  background: var(--sc-card);
  flex-shrink: 0;
}
.sc-rail-osoba {
  display: flex; align-items: center; gap: 10px;
  color: var(--sc-text);
  text-decoration: none;
}
.sc-rail-osoba img {
  width: 30px; height: 30px;
  border-radius: 999px;
  object-fit: cover;
  border: 1px solid var(--sc-line);
  flex-shrink: 0;
}
a.sc-rail-osoba:hover { color: var(--sc-accent); }
.min-width-0 { min-width: 0; }

/* logo a web společnosti (list karet i detail) */
.sc-firma-logo {
  width: 46px; height: 46px;
  border-radius: 10px;
  background: var(--sc-card);
  border: 1px solid var(--sc-line);
  display: inline-flex; align-items: center; justify-content: center;
  flex-shrink: 0;
}
.sc-firma-logo img { max-width: 36px; max-height: 32px; object-fit: contain; }
.sc-firma-web {
  font-size: 12px; color: var(--sc-muted);
  text-decoration: none;
  position: relative; z-index: 2;   /* nad stretched-link karty */
}
.sc-firma-web:hover { color: var(--sc-accent); }
.sc-firma-web .bi { font-size: 12px; }
.sc-firma-popis {
  color: var(--sc-text);
  font-size: 12.5px;
  line-height: 1.45;
}
.sc-firma-popis > :last-child { margin-bottom: 0; }
.sc-firma-popis ul {
  margin: 0;
  padding-left: 18px;
}
.sc-firma-popis li + li { margin-top: 3px; }

/* Partnerský odznak — sdílený přehledem partnerství a detailem společnosti. */
.sc-partnerstvi-odznak {
  display: grid;
  grid-template-columns: minmax(104px, 34%) minmax(0, 1fr);
  min-height: 122px;
  overflow: hidden;
  border: 1px solid var(--sc-line);
  border-radius: 10px;
  background: var(--sc-card);
}
.sc-partnerstvi-logo-box {
  display: flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  padding: 14px;
  border-right: 1px solid var(--sc-line);
  background: var(--sc-head-bg);
}
.sc-partnerstvi-logo {
  display: block;
  max-width: 100%;
  max-height: 78px;
  object-fit: contain;
}
.sc-partnerstvi-logo-nahrada {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 48px;
  height: 48px;
  border: 1px solid var(--sc-line-2);
  border-radius: 999px;
  color: var(--sc-muted);
  font-size: 23px;
  background: var(--sc-card);
}
.sc-partnerstvi-telo {
  display: flex;
  min-width: 0;
  flex-direction: column;
  align-items: flex-start;
  padding: 12px;
}
.sc-partnerstvi-vendor {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 7px;
  color: var(--sc-muted);
  font-size: 11.5px;
  line-height: 1.25;
}
.sc-partnerstvi-vendor-logo {
  display: block;
  max-width: 64px;
  height: 18px;
  object-fit: contain;
}
.sc-partnerstvi-nazev {
  display: block;
  margin-top: 8px;
  color: var(--sc-ink);
  font-size: 14px;
  font-weight: 800;
  line-height: 1.3;
}
.sc-uroven {
  gap: 6px;
  margin-top: auto;
}
.sc-uroven-tecky { display: inline-flex; gap: 2px; }
.sc-uroven-tecky span {
  width: 5px;
  height: 5px;
  border-radius: 999px;
  background: var(--sc-line-2);
}
.sc-uroven-tecky[data-uroven="1"] span:nth-child(-n+1),
.sc-uroven-tecky[data-uroven="2"] span:nth-child(-n+2),
.sc-uroven-tecky[data-uroven="3"] span:nth-child(-n+3),
.sc-uroven-tecky[data-uroven="4"] span:nth-child(-n+4) { background: var(--sc-accent); }
.sc-partnerstvi-odznak-kompaktni {
  grid-template-columns: 76px minmax(0, 1fr);
  min-height: 94px;
}
.sc-partnerstvi-odznak-kompaktni .sc-partnerstvi-logo-box { padding: 8px; }
.sc-partnerstvi-odznak-kompaktni .sc-partnerstvi-logo { max-height: 52px; }
.sc-partnerstvi-odznak-kompaktni .sc-partnerstvi-logo-nahrada {
  width: 38px;
  height: 38px;
  font-size: 19px;
}
.sc-partnerstvi-odznak-kompaktni .sc-partnerstvi-telo { padding: 9px; }
.sc-partnerstvi-odznak-kompaktni .sc-partnerstvi-vendor-logo {
  max-width: 48px;
  height: 15px;
}
.sc-partnerstvi-odznak-kompaktni .sc-partnerstvi-nazev {
  margin-top: 5px;
  font-size: 12.5px;
}
.sc-partnerstvi-odznak-kompaktni .sc-stitek {
  padding: 2px 6px;
  font-size: 10.5px;
}

/* ===== Spodní lišta výběru (hromadné akce) ===== */
.sc-vyber-lista {
  display: none;
  position: sticky; bottom: 14px; z-index: 1020;
  align-items: center; gap: 10px;
  background: var(--sc-ink); color: var(--sc-card);
  border-radius: 10px;
  padding: 10px 14px;
  box-shadow: var(--sc-sh-2);
  margin-top: 12px;
  flex-wrap: wrap;
}
.sc-vyber-lista.sc-zobrazit { display: flex; }
.sc-vyber-lista .sc-vyber-pocet { font-size: 13px; font-weight: 700; white-space: nowrap; }
.sc-vyber-lista .sc-vyber-oddelovac { width: 1px; height: 18px; background: var(--sc-nav-line); }
.sc-vyber-lista .btn {
  --bs-btn-bg: var(--sc-nav-hover);
  --bs-btn-color: var(--sc-card);
  --bs-btn-border-color: transparent;
  --bs-btn-hover-bg: var(--sc-nav-line);
  --bs-btn-hover-color: var(--sc-card);
  --bs-btn-hover-border-color: transparent;
  --bs-btn-active-bg: var(--sc-nav-line);
  --bs-btn-active-color: var(--sc-card);
  --bs-btn-active-border-color: transparent;
  --bs-btn-font-size: 12.5px;
  --bs-btn-padding-y: 7px;
  --bs-btn-padding-x: 12px;
}
.sc-vyber-lista .sc-vyber-zrusit {
  margin-left: auto;
  --bs-btn-bg: transparent;
  --bs-btn-color: var(--sc-nav-fg);
  --bs-btn-hover-bg: transparent;
  --bs-btn-hover-color: var(--sc-card);
}

/* ===== Mobil a menší tablet: tabulka → karty (role přes sc-m-*) ===== */
@media (max-width: 1199.98px) {
  /* tr jako flex uvnitř display:table nedostane šířku — celá tabulka musí být bloková */
  .sc-tabulka-mobil { display: block; width: 100% !important; }
  .sc-tabulka-mobil tbody { display: block; width: 100%; }
  .sc-tabulka-mobil thead { display: none; }
  .sc-tabulka-mobil tbody tr {
    display: flex; flex-wrap: wrap; align-items: center;
    gap: 6px 10px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--sc-row-line);
  }
  .sc-tabulka-mobil tbody td {
    display: flex; align-items: center;
    border: 0 !important;
    padding: 0 !important;
  }
  .sc-tabulka-mobil td.sc-m-checkbox { order: 0; }
  .sc-tabulka-mobil td.sc-m-hlavni { order: 1; flex: 1; min-width: 0; }
  .sc-tabulka-mobil td.sc-m-vpravo { order: 2; margin-left: auto; }
  /* druhý řádek karty: vždy na vlastní lince pod hlavním řádkem */
  .sc-tabulka-mobil td.sc-m-druhy-radek { order: 3; flex: 0 0 100%; flex-wrap: wrap; gap: 5px; }
  .sc-tabulka-mobil td.sc-m-druhy-radek:empty { display: none; }
  .sc-tabulka-mobil td.sc-m-skryt { display: none; }
  .sc-tabulka-mobil .sc-m-schovat-text { display: none; }
  .sc-tabulka-mobil .sc-tab-osoba img, .sc-tabulka-mobil .sc-tab-avatar { width: 40px; height: 40px; }
  .sc-tabulka-hlavicka .sc-rychly-filtr { width: 100%; }
  .sc-vyber-lista { left: 10px; right: 10px; bottom: 12px; }
  .sc-tabulka-mobil td.sc-m-checkbox { padding: 8px !important; margin: -8px 0 -8px -8px; }
  .sc-akce-btn { width: 44px; height: 44px; flex-shrink: 0; }
  /* patička DT na mobilu: info na vlastním řádku, pod ním volba počtu + stránkování vedle sebe.
     DT 2 BS5 dává buňkám col-md-auto → pod 768 px mají width:100 %, proto width:auto. */
  .sc-tabulka-karta div.dt-container > .row:last-child { gap: 6px 8px; flex-wrap: wrap; justify-content: space-between; }
  .sc-tabulka-karta div.dt-container > .row:last-child > [class*="col-"] { width: auto; flex: 0 1 auto; max-width: 100%; margin: 0; }
  .sc-tabulka-karta div.dt-container > .row:last-child > [class*="col-"]:first-child { flex-basis: 100%; }
  .sc-tabulka-karta div.dt-container > .row:last-child > [class*="col-"]:last-child { display: flex; align-items: center; gap: 8px; width: 100%; justify-content: space-between; }
  .sc-tabulka-karta div.dt-container div.dt-paging ul.pagination { flex-wrap: nowrap; }
  .sc-tabulka-karta .dt-paging .page-link.first,
  .sc-tabulka-karta .dt-paging .page-link.last { display: none; }
  /* Plné číslování DT je širší než mobilní patička; ponechat předchozí, aktuální a další. */
  .sc-tabulka-karta .dt-paging .dt-paging-button:not(.active) .page-link:not(.previous):not(.next) { display: none; }
  .sc-tabulka-karta .dt-paging .page-link.previous,
  .sc-tabulka-karta .dt-paging .page-link.next { font-size: 0; }
  .sc-tabulka-karta .dt-paging .page-link.previous::before,
  .sc-tabulka-karta .dt-paging .page-link.next::before { font-size: 16px; line-height: 1; }
  .sc-tabulka-karta .dt-paging .page-link.previous::before { content: "‹"; }
  .sc-tabulka-karta .dt-paging .page-link.next::before { content: "›"; }
}

/* ===== Hlavička karty s ikonou a podtitulkem (AI importy, dokumentace, …) ===== */
.sc-karta-hlavicka {
  display: flex; align-items: center; gap: 10px;
  padding: 13px 16px;
  border-bottom: 1px solid var(--sc-line);
}
.sc-karta-hlavicka > i { font-size: 16px; color: var(--sc-accent); flex-shrink: 0; }
.sc-karta-titulek { font-size: 16px; font-weight: 800; color: var(--sc-ink); line-height: 1.3; }
.sc-karta-podtitulek { font-size: 12px; color: var(--sc-muted); margin-top: 1px; }
.sc-karta-vpravo { margin-left: auto; display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--sc-muted); white-space: nowrap; }
.sc-karta-telo { padding: 20px 22px; display: flex; flex-direction: column; gap: 12px; }

/* štítek „AI" u polí předvyplněných umělou inteligencí (mint = výhradně AI) */
.sc-ai-stitek {
  display: inline-flex; align-items: center; gap: 4px;
  background: var(--sc-mint-tint); color: var(--sc-mint-ink);
  border-radius: var(--sc-r-pill);
  padding: 1px 7px;
  font-size: 12px; font-weight: 700; letter-spacing: .04em;
  vertical-align: middle; white-space: nowrap; line-height: 1.5;
}
.sc-ai-stitek i { font-size: 12px; }
.sc-ai-stitek-navrh { letter-spacing: 0; font-size: 12px; padding: 1px 8px; }

/* ikonové tlačítko koše (30 px, s rámečkem; .sc-akce-btn je menší bez rámečku) */
.sc-kos-btn {
  display: inline-flex; align-items: center; justify-content: center;
  width: 30px; height: 30px; border-radius: 7px;
  border: 1px solid var(--sc-line-2); background: var(--sc-card);
  color: var(--sc-muted); cursor: pointer; flex-shrink: 0;
  padding: 0;
}
.sc-kos-btn:hover { border-color: var(--sc-bad); color: var(--sc-bad); }

/* varovná karta (nenalezené položky, chyby vstupu) + chipy do administrace */
.sc-warn-karta {
  border: 1px solid var(--sc-warn-line);
  background: var(--sc-warn-tint);
  border-radius: var(--sc-r-card);
  padding: 13px 15px;
}
.sc-warn-karta-nadpis { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 700; color: var(--sc-ink); }
.sc-warn-karta-nadpis i { color: var(--sc-warn); }
.sc-warn-karta-text { font-size: 12px; color: var(--sc-muted); margin-top: 4px; line-height: 1.5; }
.sc-warn-karta-text a { color: var(--sc-accent-ink); }
.sc-warn-karta-chipy { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.sc-chip-warn {
  display: inline-flex; align-items: center; gap: 6px;
  background: var(--sc-card); color: var(--sc-text);
  border: 1px solid var(--sc-warn-line);
  border-radius: var(--sc-r-pill);
  padding: 4px 11px;
  font-size: 12px; font-weight: 600;
  text-decoration: none; white-space: nowrap;
}
.sc-chip-warn i { color: var(--sc-warn); }
a.sc-chip-warn:hover { border-color: var(--sc-warn); color: var(--sc-text); }

/* mint banner (shrnutí AI kroku) */
.sc-mint-banner {
  display: flex; align-items: flex-start; gap: 10px;
  background: var(--sc-mint-tint);
  border: 1px solid var(--sc-mint-line);
  border-radius: var(--sc-r-card);
  padding: 12px 14px;
  font-size: 13px; color: var(--sc-ink); line-height: 1.5;
}
.sc-mint-banner > i { color: var(--sc-mint-ink); font-size: 15px; margin-top: 1px; flex-shrink: 0; }
.sc-mint-banner .sc-ai-stitek { background: var(--sc-card); }

/* prázdný stav (výsledky hledání, detail tagu, seznamy bez položek) */
.sc-prazdny-stav {
  padding: 34px 22px;
  display: flex; flex-direction: column; align-items: center; gap: 8px;
  text-align: center;
  font-size: 13px; color: var(--sc-muted);
}
.sc-prazdny-stav > i { font-size: 26px; color: var(--sc-faint); }
.sc-prazdny-nadpis { font-size: 14.5px; font-weight: 700; color: var(--sc-ink); }

/* ===== Textový obsah: ukázky kódu, callouty, tabulky v textu ===== */
.sc-kod {
  margin: 10px 0;
  background: var(--sc-ink); color: var(--sc-code-fg);
  border-radius: var(--sc-r-card);
  padding: 13px 15px;
  font-family: var(--sc-font-mono); font-size: 12px; line-height: 1.65;
  overflow: auto; white-space: pre;
}
.sc-kod code { color: inherit; background: transparent; padding: 0; font-family: inherit; font-size: inherit; white-space: pre; }
.sc-callout {
  display: flex; align-items: flex-start; gap: 9px;
  background: var(--sc-accent-tint);
  border: 1px solid var(--sc-accent-line);
  border-radius: var(--sc-r-card);
  padding: 11px 13px; margin: 12px 0;
  font-size: 12.5px; color: var(--sc-accent-ink); line-height: 1.6;
}
.sc-callout > i { margin-top: 2px; flex-shrink: 0; }
.sc-callout p:last-child { margin-bottom: 0; }
.sc-callout-warn { background: var(--sc-warn-tint); border-color: var(--sc-warn-line); color: var(--sc-text); }
.sc-callout-warn > i { color: var(--sc-warn); }
.sc-callout-ok { background: var(--sc-ok-tint); border-color: var(--sc-ok-line); color: var(--sc-text); }
.sc-callout-ok > i { color: var(--sc-ok); }
.sc-callout-bad { background: var(--sc-bad-tint); border-color: var(--sc-bad-line); color: var(--sc-text); }
.sc-callout-bad > i { color: var(--sc-bad); }
.sc-callout-neutral { background: var(--sc-head-bg); border-color: var(--sc-line); color: var(--sc-text); }
.sc-callout-neutral > i { color: var(--sc-muted); }
.sc-text-tabulka {
  border: 1px solid var(--sc-line);
  border-radius: var(--sc-r-card);
  overflow: auto; margin: 12px 0;
}
.sc-text-tabulka table { width: 100%; border-collapse: collapse; font-size: 12.5px; margin: 0; }
.sc-text-tabulka-auto table { width: auto; min-width: 320px; }
.sc-text-tabulka thead tr { background: var(--sc-head-bg); }
.sc-text-tabulka th {
  text-align: left; padding: 8px 12px;
  border-bottom: 1px solid var(--sc-line);
  font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
  color: var(--sc-muted); white-space: nowrap;
}

/* ===== Utility a sdílené vzory detailů/nástrojů ===== */
.sc-pozn { font-size: 12.5px; color: var(--sc-muted); }
.sc-logo-24, .sc-logo-32, .sc-logo-46 { object-fit: contain; }
.sc-logo-24 { width: 24px; height: 24px; }
.sc-logo-32 { width: 32px; height: 32px; }
.sc-logo-46 { width: 46px; height: 46px; }
.sc-napoveda { cursor: help; }
.sc-kruh { border-radius: 999px; object-fit: cover; }
.sc-m-popisek, .sc-m-jen-mobil { display: none; }
.sc-dropdown-hlavicka {
  padding: 6px 12px; font-size: 12px; font-weight: 700;
  color: var(--sc-muted); text-transform: uppercase; letter-spacing: .06em;
}
/* nabídka s popisky a podtitulky: Bootstrap default 10rem lámal texty do 3 řádků */
.sc-dropdown-menu { --bs-dropdown-min-width: 280px; }
.sc-dropdown-polozka {
  display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 1px 8px;
  padding: 8px 12px; color: var(--sc-text); text-decoration: none;
  white-space: normal;
}
.sc-dropdown-polozka strong, .sc-dropdown-polozka small { display: block; }
.sc-dropdown-polozka > i { grid-row: 1 / span 2; margin-top: 2px; color: var(--sc-muted); }
.sc-dropdown-podtitulek { font-size: 12px; color: var(--sc-muted); white-space: normal; }
.nav-tabs.sc-taby { border-bottom-color: var(--sc-line); gap: 4px; }
.nav-tabs.sc-taby .nav-link {
  border: 0; border-bottom: 2px solid transparent; border-radius: 0;
  color: var(--sc-muted); font-size: 12px; font-weight: 700;
}
.nav-tabs.sc-taby .nav-link.active { color: var(--sc-ink); border-bottom-color: var(--sc-ink); }
.sc-skeleton-radek, .sc-skeleton {
  display: block; min-height: 14px; border-radius: var(--sc-r-btn);
  background: linear-gradient(90deg, var(--sc-head-bg), var(--sc-line), var(--sc-head-bg));
  background-size: 200% 100%; animation: sc-skeleton 1.3s linear infinite;
}
@keyframes sc-skeleton { to { background-position: -200% 0; } }
.sc-ai-vysledky { display: grid; gap: 8px; }
.sc-ai-vysledek { padding: 10px 12px; border: 1px solid var(--sc-line); border-radius: var(--sc-r-btn); }
.sc-ai-vysledek:hover { background: var(--sc-head-bg); }
.sc-ai-navrh {
  padding: 12px 14px; border: 1px solid var(--sc-line);
  border-radius: var(--sc-r-card); background: var(--sc-head-bg);
}
.sc-vice-odkaz { display: inline-flex; margin-top: 10px; font-size: 12.5px; font-weight: 700; }
.sc-sloupec-checkbox { width: 34px; }
.sc-sloupec-hlavni { max-width: 330px; }
.sc-priloha-plocha { background: var(--sc-head-bg); }
.sc-priloha-obrazek { max-height: 75vh; }
.sc-priloha-pdf { height: 75vh; }
.tooltip-inner { max-width: max-content; text-align: left; }

@media (max-width: 1199.98px) {
  .sc-m-popisek {
    display: block; width: 100%; font-size: 12px; font-weight: 700;
    color: var(--sc-muted); text-transform: uppercase; letter-spacing: .06em;
  }
  .sc-m-jen-mobil { display: inline; }
  .sc-tabulka-mobil td.sc-m-dlazdice {
    order: 3; flex: 0 0 calc(33.333% - 7px); min-width: 0;
    flex-direction: column; align-items: flex-start;
    padding: 7px 5px !important; border-radius: var(--sc-r-btn);
    background: var(--sc-head-bg);
  }
}
.sc-text-tabulka td { padding: 7px 12px; border-bottom: 1px solid var(--sc-row-line); vertical-align: top; line-height: 1.5; }
.sc-text-tabulka tbody tr:last-child td { border-bottom: 0; }
.sc-text-tabulka td:first-child { font-weight: 700; }
.sc-text-tabulka .sc-mono { font-family: var(--sc-font-mono); color: var(--sc-muted); font-weight: 400; }

/* ===== Karty skupin (výsledky hledání, detail tagu) — jedna komponenta, ne kopie ===== */
.sc-skupina-karta { overflow: hidden; }
.sc-skupina-hlavicka {
  display: flex; align-items: center; gap: 9px;
  padding: 11px 16px;
  border-bottom: 1px solid var(--sc-line);
  background: var(--sc-head-bg);
  font-size: 13px; font-weight: 700; color: var(--sc-ink);
}
.sc-skupina-hlavicka i { color: var(--sc-muted); }
.sc-skupina-pocet { font-size: 12px; font-weight: 600; color: var(--sc-muted); font-variant-numeric: tabular-nums; }
.sc-polozka {
  display: flex; align-items: flex-start; gap: 11px;
  padding: 11px 16px;
  border-bottom: 1px solid var(--sc-row-line);
  color: var(--sc-text);
  text-decoration: none;
}
.sc-polozka:last-child { border-bottom: 0; }
a.sc-polozka:hover { background: var(--sc-head-bg); color: var(--sc-text); }
.sc-polozka-ikona {
  width: 28px; height: 28px;
  border-radius: 7px;
  object-fit: contain;
  border: 1px solid var(--sc-line);
  background: var(--sc-card);
  flex-shrink: 0;
  color: var(--sc-faint);
  display: inline-flex; align-items: center; justify-content: center;
}
.sc-polozka-ikona-kulata { border-radius: 999px; object-fit: cover; }
.sc-polozka-ikona-bez { border: 0; background: transparent; color: var(--sc-muted); font-size: 15px; }
.sc-polozka-titulek { display: block; font-size: 13.5px; font-weight: 700; }
.sc-polozka-typ { font-weight: 600; color: var(--sc-muted); font-size: 12px; }
.sc-polozka-popis { display: block; font-size: 12px; color: var(--sc-muted); line-height: 1.5; margin-top: 2px; }
.sc-polozka-vpravo { margin-left: auto; flex-shrink: 0; display: inline-flex; align-items: center; gap: 8px; }
.sc-zobrazit-vse { display: none; }
@media (max-width: 767.98px) {
  /* sbalená skupina: první dvě položky + „Zobrazit vše (N)" (hlavička je 1. potomek) */
  .sc-skupina-karta.sc-sbalena .sc-polozka:nth-child(n+4) { display: none; }
  .sc-skupina-karta.sc-sbalena .sc-zobrazit-vse { display: flex; justify-content: center; margin: 8px 12px 12px; }
}

/* Podklad řádku řídí aplikace i po načtení DataTables Bootstrap skinu. */
.sc-tabulka-karta table.table.dataTable > tbody > tr > td {
  background: transparent;
  box-shadow: none;
}
.sc-tabulka-karta div.dt-container > .row > div:has(> table) {
  min-width: 0; padding-inline: 0; overflow-x: auto;
}
.sc-filtry-toggle { display: none; }
.sc-razeni-mobil { display: none; }
.sc-chipy, .sc-chipy [data-sc-filtry] { min-width: 0; max-width: 100%; }
.sc-chip { max-width: 100%; }
.sc-chip-aktivni { white-space: normal; text-align: left; overflow-wrap: anywhere; }
.sc-chip .bi { flex-shrink: 0; }
@media (max-width: 1199.98px) {
  .sc-razeni-mobil { display: flex; min-width: 0; max-width: 100%; }
  .sc-razeni-mobil .sc-chip { white-space: normal; text-align: left; }
  .sc-tabulka-karta div.dt-container > .row > div:has(> table) { overflow: visible; }
  .sc-tabulka-mobil colgroup { display: none; }
  .sc-filtry-toggle { display: inline-flex; min-height: 44px; }
  .sc-chipy.sc-filtry-sbalene [data-sc-filtry] > :not(.sc-chip-aktivni) { display: none !important; }
  .sc-chipy.sc-filtry-sbalene [data-sc-filtry]:not(:has(.sc-chip-aktivni)) { display: none !important; }
  .sc-chipy .dropdown-menu {
    position: static !important; transform: none !important;
    max-width: 100%; min-width: 0; width: min(22rem, 100%);
    max-height: min(320px, 50dvh); overflow-y: auto;
  }
  .sc-chipy .dropdown:has(.dropdown-menu.show) { flex-basis: 100%; width: 100%; }
  .sc-chipy .dropdown-item { white-space: normal; overflow-wrap: anywhere; min-height: 44px; }
  .sc-chipy .sc-chip, .sc-chipy .btn { min-height: 44px; }
  .sc-tabulka-hlavicka .sc-vysledky { margin-left: auto; }
}
