/* ============================================================
   SCHŮZKY — plánování a časová osa (Nový admin)
   BEM syntaxe. Semibold = 500 (dle pravidel projektu).
   Barvy aktivit:
     black  = osobní schůzka   #1e293b
     green  = online hovor     #059669
     blue   = tel. obchodník   #2563eb  (barva A)
     orange = tel. péčistka    #ea580c  (barva B)
   ============================================================ */

/* ── Obecné ── */
.blok__hint {
	display: block;
	font-size: 12px;
	color: #64748b;
	margin-top: 2px;
}

/* ============================================================
   IKONA AKTIVITY — jednotný vizuál napříč celou stránkou
   ============================================================ */
.akt {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 3px 6px;
	border-radius: 6px;
	font-size: 13px;
	line-height: 1;
	vertical-align: middle;
}

.akt i {
	font-size: 16px;
	line-height: 1;
}

.akt__label {
	font-size: 12px;
	font-weight: 500;
}

/* barvy podle typu aktivity */
.akt--black  { color: #1e293b; background: #f1f5f9; }
.akt--green  { color: #059669; background: #ecfdf5; }
.akt--blue   { color: #2563eb; background: #eff6ff; }
.akt--orange { color: #ea580c; background: #fff7ed; }

/* stav „čeká na potvrzení" — podtržená / čárkovaná */
.akt--ceka {
	text-decoration: underline;
	text-decoration-style: dashed;
	text-underline-offset: 3px;
	outline: 1px dashed currentColor;
	outline-offset: 1px;
	opacity: 0.85;
}

/* stav „hotovo" v historii — plná ikona (výchozí vzhled) */
.akt--hotovo { }

/* ============================================================
   LEGENDA
   ============================================================ */
.legenda {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px 18px;
}

.legenda__label {
	font-size: 12px;
	font-weight: 500;
	color: #475569;
}

.legenda__item {
	display: inline-flex;
	align-items: center;
	gap: 6px;
}

.legenda__text {
	font-size: 13px;
	color: #334155;
}

.legenda__item--muted .legenda__text {
	color: #94a3b8;
	font-size: 12px;
}

.legenda__sep {
	width: 1px;
	height: 20px;
	background: #e2e8f0;
}

/* ============================================================
   BLOK 1 — PŘEHLED FIREM
   ============================================================ */

/* Roletka na obchodníka (v hlavičce karty) */
.filtr-obchodnik {
	display: flex;
	align-items: center;
	gap: 8px;
}

.filtr-obchodnik__label {
	font-size: 13px;
	font-weight: 500;
	color: #475569;
	margin: 0;
	white-space: nowrap;
}

/* Nativní <select> (fallback, než se navěsí Select2) */
.filtr-obchodnik__select {
	height: 38px;
	min-width: 200px;
	padding: 0 12px;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	background: #fff;
	color: #0f172a;
	font: inherit;
	font-size: 13px;
	cursor: pointer;
}

/* Sjednocení vzhledu Select2 s ostatními filtry této stránky */
.filtr-obchodnik .select2-container--default .select2-selection--single {
	height: 38px !important;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
	display: flex;
	align-items: center;
}
.filtr-obchodnik .select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: 1.2 !important;
	padding-left: 12px;
	padding-right: 28px;
	color: #0f172a;
	font-size: 13px;
	display: flex;
	align-items: center;
}
.filtr-obchodnik .select2-container--default .select2-selection--single .select2-selection__arrow {
	height: auto;
	top: 50%;
	bottom: auto;
	transform: translateY(-50%);
	right: 4px;
}

/* Filtr */
.prehled__filter {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: 1px solid #f1f5f9;
}

.prehled__filter-label {
	font-size: 12px;
	font-weight: 500;
	color: #475569;
	margin-right: 4px;
}

/* svislý oddělovač mezi skupinami filtrů */
.prehled__filter-sep {
	width: 1px;
	height: 20px;
	background: #e2e8f0;
	margin: 0 4px;
}

/* Chip (přepínač filtru) */
.chip {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 4px 10px;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 999px;
	font-size: 12px;
	color: #475569;
	cursor: pointer;
	user-select: none;
	transition: all 0.15s;
}

.chip:hover { border-color: #cbd5e1; }

.chip input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.chip--active {
	background: #eff6ff;
	border-color: #2563eb;
	color: #1e40af;
	font-weight: 500;
}

.chip .akt {
	padding: 0;
	background: transparent;
}

/* Seznam firem */
/* Sdílený grid: firma | zbývá | historie | akce */
.prehled__hlavicka,
.prehled__firma {
	display: grid;
	grid-template-columns: minmax(180px, 1.4fr) minmax(90px, 0.9fr) minmax(160px, 1.3fr) auto;
	align-items: center;
	gap: 16px;
}

/* Hlavička sloupců */
.prehled__hlavicka {
	padding: 0 12px 6px;
	border-bottom: 1px solid #e2e8f0;
	margin-bottom: 4px;
}

.prehled__hl {
	font-size: 11px;
	font-weight: 500;
	color: #94a3b8;
	text-transform: uppercase;
	letter-spacing: 0.03em;
}

.prehled__list {
	display: flex;
	flex-direction: column;
}

.prehled__firma {
	padding: 8px 12px;
	border-radius: 8px;
	transition: background 0.12s;
}

.prehled__firma:not(:last-child) {
	border-bottom: 1px solid #f1f5f9;
}

.prehled__firma:hover {
	background: #f8fafc;
}

.prehled__firma-nazev {
	display: flex;
	align-items: center;
	gap: 10px;
	min-width: 0;
}

/* Odznak kategorie firmy (0–4) */
.prehled__kat {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 24px;
	height: 24px;
	border-radius: 6px;
	font-size: 13px;
	font-weight: 500;
	color: #fff;
	flex-shrink: 0;
	cursor: help;
}

.prehled__kat--4 { background: #7c3aed; }
.prehled__kat--3 { background: #2563eb; }
.prehled__kat--2 { background: #0891b2; }
.prehled__kat--1 { background: #059669; }
.prehled__kat--0 { background: #94a3b8; }

.prehled__firma-text { min-width: 0; }

/* řádek s názvem firmy + štítkem (nová / zavedená) */
.prehled__nazev-radek {
	display: flex;
	align-items: center;
	gap: 8px;
	min-width: 0;
	flex-wrap: wrap;
}

.prehled__link {
	display: block;
	font-size: 14px;
	font-weight: 500;
	color: #1e293b;
	text-decoration: none;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.prehled__link:hover { color: #2563eb; }

.prehled__kontakt {
	display: block;
	font-size: 12px;
	color: #64748b;
}

/* Chybějící aktivity */
.prehled__chybi {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 4px;
}

.prehled__chybi .akt { padding: 2px; background: transparent; }

.prehled__done {
	font-size: 13px;
	font-weight: 500;
	color: #059669;
}

/* Časová osa firmy (2 roky) — kompaktní */
.prehled__osa {
	display: flex;
	align-items: stretch;
	gap: 4px;
	flex-wrap: wrap;
}

.firmaosa__rok {
	display: flex;
	align-items: center;
	gap: 4px;
	padding: 3px 6px;
	background: #f8fafc;
	border-radius: 6px;
}

.firmaosa__rok-label {
	font-size: 10px;
	font-weight: 500;
	color: #94a3b8;
}

.firmaosa__rok-label::before { content: "'"; }

.firmaosa__body {
	display: flex;
	align-items: center;
	gap: 6px;
}

/* jedna aktivita v historii — ikona + datum pod sebou */
.firmaosa__akce {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1px;
}

.firmaosa__datum {
	font-size: 9px;
	line-height: 1;
	color: #94a3b8;
	white-space: nowrap;
}

.firmaosa .akt {
	padding: 1px;
	background: transparent;
}

.firmaosa .akt i { font-size: 14px; }

/* Akce — hlavní tlačítko + rozbalovací menu */
.prehled__akce {
	justify-self: end;
	margin-right: 8px;
}

.prehled__btn {
	white-space: nowrap;
}

.prehled__caret {
	padding-left: 10px;
	padding-right: 18px;
}

/* Rozbalovací menu s reakcemi na připomínku */
.prehled__menu {
	min-width: 300px;
	padding: 6px;
	box-shadow: 0 8px 24px rgba(15, 23, 42, 0.12);
	border: 1px solid #e2e8f0;
	border-radius: 10px;
}

.prehled__menu .dropdown-header {
	font-size: 11px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	color: #94a3b8;
	padding: 4px 10px 6px;
}

.prehled__menu .dropdown-item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 8px 10px;
	border-radius: 8px;
	white-space: normal;
}

.prehled__menu .dropdown-item:hover,
.prehled__menu .dropdown-item:focus {
	background: #f1f5f9;
}

.prehled__menu-ikona {
	font-size: 20px;
	flex-shrink: 0;
	margin-top: 1px;
}

.prehled__menu-ikona--green  { color: #059669; }
.prehled__menu-ikona--blue   { color: #2563eb; }
.prehled__menu-ikona--amber  { color: #d97706; }
.prehled__menu-ikona--orange { color: #ea580c; }

.prehled__menu-nazev {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: #1e293b;
	line-height: 1.3;
}

.prehled__menu-desc {
	display: block;
	font-size: 11px;
	color: #64748b;
	line-height: 1.3;
	margin-top: 1px;
}

.prehled__empty {
	padding: 24px;
	text-align: center;
	color: #94a3b8;
	font-size: 14px;
}

/* Skrytá firma (nad počáteční dávku) */
.prehled__firma--hidden {
	display: none;
}

/* Pruh „Zobrazit dalších N firem" */
.prehled__more {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	margin-top: 16px;
	padding-top: 16px;
	border-top: 1px solid #f1f5f9;
}

.prehled__more-button {
	padding: 9px 20px;
	background: #fff;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	color: #1e3a8a;
	font: inherit;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	transition: background-color 0.15s, border-color 0.15s;
}

.prehled__more-button:hover {
	background: #f1f5f9;
	border-color: #1e3a8a;
}

.prehled__more-info {
	font-size: 12px;
	color: #94a3b8;
}

/* Když je vše zobrazeno — schovat tlačítko, info zůstává */
.prehled__more--done .prehled__more-button {
	display: none;
}

/* ============================================================
   BLOK 2 — SPOLEČNÁ ČASOVÁ OSA
   ============================================================ */
.osa__filter {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px 20px;
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: 1px solid #f1f5f9;
}

.osa__filter-group {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

/* svislý oddělovač mezi skupinami filtrů (Typ | Stav | Obchodník) */
.osa__filter-group + .osa__filter-group {
	padding-left: 20px;
	border-left: 1px solid #e2e8f0;
}

/* skupina s obdobím má vlastní řádek — je širší než ostatní */
/* první skupina v panelu už nemá levý oddělovač */
.osa__filter-group:first-child {
	padding-left: 0;
	border-left: none;
}

/* Filtr období v hlavičce karty — vedle roletky obchodníka */
.filtr-obdobi {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-wrap: wrap;
}

/* ============================================================
   FILTR OBDOBÍ — přepínač rozsahu dat
   (stejný vzhled jako filtr na dashboardu obchodníka)
   ============================================================ */
.filtr {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	background: #fff;
	border: 1px solid #e2e8f0;
	border-radius: 10px;
	padding: 4px;
}

.filtr__button {
	padding: 8px 14px;
	background: transparent;
	border: none;
	border-radius: 7px;
	color: #475569;
	font-size: 13px;
	font-weight: 500;
	cursor: pointer;
	transition: background-color 0.15s, color 0.15s;
	font-family: inherit;
}

.filtr__button:hover { background: #f1f5f9; }

.filtr__button--active { background: #1e3a8a; color: #fff; }
.filtr__button--active:hover { background: #1e3a8a; }

.filtr__button--custom {
	border-left: 1px solid #e2e8f0;
	margin-left: 4px;
	padding-left: 14px;
}

/* Vlastní rozsah — pole Od / Do */
.rozsah {
	margin-bottom: 16px;
	display: flex;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 10px;
	padding: 10px 12px;
	border-radius: 10px;
	border: 1px solid #e2e8f0;
	background: #f8fafc;
}

.rozsah__pole {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.rozsah__label {
	font-size: 11px;
	font-weight: 500;
	color: #64748b;
}

.rozsah__pole .form-control { width: 150px; }

/* Prázdný stav osy po filtraci */
.osa__empty {
	padding: 24px;
	text-align: center;
	font-size: 13px;
	color: #64748b;
	background: #f8fafc;
	border-radius: 10px;
	margin-bottom: 16px;
}

/* ── Horizontální časová osa (ve stylu detailu firmy) ── */
/* obal osy — globální styl kontejneru mu dává overflow-x: auto (posuvník),
   osa se ale nově zalamuje, takže rolování rušíme */
.osa-scroll {
	padding-bottom: 8px;
	overflow-x: visible;
	overflow-y: visible;
	cursor: auto;
}

/* Osa se zalomí do řádků — bez rolování doprava.
   Na řádek se vejde tolik událostí, kolik dovolí šířka;
   řádky pod sebou odděluje mezera.
   Pozn.: globální styl kontejneru nastavuje .osa-line { min-width: max-content }
   — to osu roztáhne a vynutí vodorovný posuvník, proto ho tu rušíme. */
.osa-line {
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	justify-content: center;
	row-gap: 20px;
	padding: 8px 0;
	min-width: 0;
	width: 100%;
}

.osa-line__item {
	background: transparent;
	border: none;
	padding: 8px 4px;
	display: flex;
	flex-direction: column;
	align-items: center;
	/* šířka položky — zalomí se, jakmile se další nevejde */
	flex: 0 1 150px;
	min-width: 140px;
	max-width: 190px;
	text-align: center;
	transition: transform 0.15s;
	/* položka je <button> — reset a kurzor */
	font: inherit;
	color: inherit;
	cursor: pointer;
}

.osa-line__item:hover { transform: translateY(-2px); }
.osa-line__item:hover .osa-line__type { color: #2563eb; }

/* Tečka s ikonou aktivity */
.osa-line__dot {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #cbd5e1;
	color: #fff;
	margin-bottom: 10px;
	border: 3px solid #fff;
	box-shadow: 0 0 0 1px #e2e8f0;
}

.osa-line__dot i { font-size: 17px; line-height: 1; }

/* barvy teček dle typu aktivity */
.osa-line__item--black  .osa-line__dot { background: #1e293b; box-shadow: 0 0 0 1px #1e293b; }
.osa-line__item--green  .osa-line__dot { background: #059669; box-shadow: 0 0 0 1px #059669; }
.osa-line__item--blue   .osa-line__dot { background: #2563eb; box-shadow: 0 0 0 1px #2563eb; }
.osa-line__item--orange .osa-line__dot { background: #ea580c; box-shadow: 0 0 0 1px #ea580c; }

/* stav „čeká na potvrzení" — tečka jen obtah (nevyplněná) + čárkovaně */
.osa-line__item--ceka .osa-line__dot {
	background: #fff;
	border-style: dashed;
}
.osa-line__item--ceka.osa-line__item--black  .osa-line__dot { color: #1e293b; border-color: #1e293b; box-shadow: 0 0 0 1px #cbd5e1; }
.osa-line__item--ceka.osa-line__item--green  .osa-line__dot { color: #059669; border-color: #059669; box-shadow: 0 0 0 1px #a7f3d0; }
.osa-line__item--ceka.osa-line__item--blue   .osa-line__dot { color: #2563eb; border-color: #2563eb; box-shadow: 0 0 0 1px #bfdbfe; }
.osa-line__item--ceka.osa-line__item--orange .osa-line__dot { color: #ea580c; border-color: #ea580c; box-shadow: 0 0 0 1px #fed7aa; }

/* stav „rozpracovaná" — plná barevná tečka + oranžový prstenec (rozdělaná práce) */
.osa-line__item--rozprac .osa-line__dot {
	border-color: #fde68a;
	box-shadow: 0 0 0 2px #f59e0b;
}

.osa-line__date {
	font-size: 11px;
	color: #94a3b8;
	margin-bottom: 4px;
}

.osa-line__type {
	font-size: 13px;
	font-weight: 500;
	color: #0f172a;
	line-height: 1.3;
}

.osa-line__sub {
	font-size: 11px;
	color: #64748b;
	margin-top: 2px;
	line-height: 1.3;
}

.osa-line__mesto {
	font-size: 11px;
	color: #94a3b8;
	margin-top: 2px;
	line-height: 1.3;
	display: flex;
	align-items: center;
	gap: 3px;
}

.osa-line__mesto i { font-size: 11px; }

/* štítek stavu pod položkou */
.osa-line__stav {
	margin-top: 8px;
	font-size: 10px;
	font-weight: 500;
	padding: 2px 9px;
	border-radius: 999px;
	white-space: nowrap;
}

.osa-line__stav--potvrzeno { background: #d1fae5; color: #047857; }
.osa-line__stav--ceka {
	background: #fef3c7;
	color: #92400e;
	text-decoration: underline;
	text-decoration-style: dashed;
	text-underline-offset: 2px;
}
.osa-line__stav--rozpracovana { background: #ffedd5; color: #9a3412; }

/* spojnice mezi body — zarovnaná na střed tečky (34/2 + padding 8) */
.osa-line__connector {
	flex: 1 1 16px;
	min-width: 16px;
	max-width: 48px;
	height: 2px;
	background: #e2e8f0;
	margin-top: 25px;
}

/* ── Detail události (otevře se klikem na položku osy) ── */
.detail {
	margin-top: 20px;
	padding: 16px;
	background: #fff;
	border: 2px solid #2563eb;
	border-radius: 10px;
}

.detail__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 14px;
	padding-bottom: 12px;
	border-bottom: 1px solid #f1f5f9;
}

.detail__title {
	font-size: 15px;
	font-weight: 500;
	color: #1e293b;
	margin: 0 0 2px;
}

.detail__meta {
	font-size: 12px;
	color: #64748b;
}

.detail__head-right {
	display: flex;
	align-items: center;
	gap: 8px;
	flex-shrink: 0;
}

.detail__vystupy {
	margin-bottom: 14px;
}

.detail__stav {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	padding: 10px 12px;
	background: #f1f5f9;
	border-radius: 8px;
	font-size: 12px;
	color: #475569;
	margin-bottom: 14px;
}

.detail__stav i { margin-top: 1px; }

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

.detail__saved {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 13px;
	font-weight: 500;
	color: #047857;
}

.detail__saved i { font-size: 16px; }

/* Termín události (úprava / přesun) */
.detail__termin {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	padding: 10px 12px;
	margin-bottom: 14px;
	background: #f8fafc;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
}

.detail__termin-label {
	display: inline-flex;
	align-items: center;
	font-size: 13px;
	font-weight: 500;
	color: #334155;
	white-space: nowrap;
}

.detail__termin-datum { max-width: 170px; }
.detail__termin-cas   { max-width: 120px; }

.detail__termin-saved {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	font-size: 12px;
	font-weight: 500;
	color: #047857;
}

.detail__termin-saved i { font-size: 15px; }

/* Čekající na výběr termínu */
.cekaji {
	margin-top: 20px;
	padding: 12px 14px;
	background: #fffdf7;
	border: 1px dashed #fcd34d;
	border-radius: 10px;
}

.cekaji__title {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	font-size: 14px;
	font-weight: 500;
	color: #92400e;
	margin: 0 0 10px;
}

.cekaji__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 20px;
	height: 20px;
	padding: 0 6px;
	margin-left: 8px;
	background: #f59e0b;
	color: #fff;
	border-radius: 999px;
	font-size: 11px;
}

.cekaji__hint-inline {
	font-size: 12px;
	font-weight: 400;
	color: #b0894a;
	margin-left: 8px;
}

.cekaji__list {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

/* kompaktní klikací řádek (button) */
.cekaji__item {
	display: flex;
	align-items: center;
	gap: 10px;
	width: 100%;
	padding: 7px 10px;
	background: #fff;
	border: 1px solid #fde68a;
	border-radius: 8px;
	font: inherit;
	text-align: left;
	cursor: pointer;
	transition: border-color 0.12s, box-shadow 0.12s;
}

.cekaji__item:hover {
	border-color: #f59e0b;
	box-shadow: 0 1px 6px rgba(245, 158, 11, 0.15);
}

.cekaji__icon { display: flex; flex-shrink: 0; }
.cekaji__icon .akt { padding: 0; background: transparent; }

.cekaji__firma {
	font-size: 13px;
	font-weight: 500;
	color: #1e293b;
	white-space: nowrap;
	flex-shrink: 0;
}

/* ============================================================
   ŠTÍTEK FIRMY — nová / zavedená
   Používá se v ose, u čekajících položek i v legendě.
   ============================================================ */
.stitek {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 2px 8px;
	border-radius: 999px;
	font-size: 10px;
	font-weight: 500;
	line-height: 1.5;
	white-space: nowrap;
	border: 1px solid transparent;
}

.stitek i { font-size: 11px; }

/* Nová firma — modrá (upozorňuje, že jde o nový vztah) */
.stitek--nova {
	background: #eff6ff;
	color: #1d4ed8;
	border-color: #bfdbfe;
}

/* Zavedená firma — neutrální šedá (běžný režim) */
.stitek--zavedena {
	background: #f1f5f9;
	color: #475569;
	border-color: #e2e8f0;
}

/* Umístění štítku v položce časové osy */
.osa-line__stitek {
	display: block;
	margin-top: 4px;
}

.cekaji__zpusob {
	font-size: 12px;
	color: #64748b;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	flex: 1;
	min-width: 0;
}

.cekaji__zadano {
	font-size: 12px;
	color: #94a3b8;
	white-space: nowrap;
	flex-shrink: 0;
}

.cekaji__wait {
	font-size: 11px;
	font-weight: 500;
	color: #b45309;
	white-space: nowrap;
	padding: 2px 9px;
	background: #fef3c7;
	border-radius: 999px;
	flex-shrink: 0;
}

/* ============================================================
   BLOK 3 — LOGIKA PŘIPOMÍNEK (rozbalovací legenda)
   ============================================================ */

/* details/summary jako rozbalovací karta */
.legenda-blok {
	display: block;
}

.legenda-blok__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	cursor: pointer;
	list-style: none;
	user-select: none;
}

/* skrytí nativního trojúhelníku (Chrome/Safari i FF) */
.legenda-blok__head::-webkit-details-marker { display: none; }
.legenda-blok__head::marker { content: ""; }

.legenda-blok__head:hover h5 { color: #2563eb; }

.legenda-blok__sipka {
	font-size: 18px;
	color: #94a3b8;
	flex-shrink: 0;
	transition: transform 0.2s;
}

.legenda-blok[open] .legenda-blok__sipka {
	transform: rotate(180deg);
}

/* ============================================================
   PŘEDNOSTNÍ PRAVIDLO — nové firmy (schůzka co nejdříve)
   Zvýrazněný pruh nad běžnými intervaly.
   ============================================================ */
.novafirma {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 16px 18px;
	margin-bottom: 20px;
	border-radius: 10px;
	border: 1px solid #bfdbfe;
	border-left: 4px solid #2563eb;
	background: #eff6ff;
}

.novafirma__ikona {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	width: 34px;
	height: 34px;
	border-radius: 50%;
	background: #2563eb;
	color: #fff;
	font-size: 17px;
}

.novafirma__text {
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.novafirma__nadpis {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	font-size: 14px;
	font-weight: 500;
	color: #1e3a8a;
}

.novafirma__desc {
	font-size: 13px;
	line-height: 1.6;
	color: #334155;
}

.novafirma__desc strong { font-weight: 500; color: #1e3a8a; }

.novafirma__poznamka {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	font-size: 12px;
	line-height: 1.5;
	color: #475569;
	padding-top: 6px;
	border-top: 1px dashed #bfdbfe;
}

.novafirma__poznamka i {
	flex-shrink: 0;
	margin-top: 2px;
	color: #2563eb;
}

.novafirma__poznamka strong { font-weight: 500; color: #334155; }

.pravidla {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: 12px;
	margin-bottom: 20px;
}

.pravidla__karta {
	display: flex;
	flex-direction: column;
	gap: 2px;
	padding: 14px 16px;
	border-radius: 10px;
	border-left: 4px solid #cbd5e1;
	background: #f8fafc;
}

.pravidla__karta--blue   { border-left-color: #2563eb; background: #eff6ff; }
.pravidla__karta--green  { border-left-color: #059669; background: #ecfdf5; }
.pravidla__karta--orange { border-left-color: #ea580c; background: #fff7ed; }

.pravidla__hod {
	font-size: 13px;
	font-weight: 500;
	color: #334155;
}

.pravidla__int {
	font-size: 20px;
	color: #1e293b;
}

.pravidla__int strong { font-weight: 500; }

.pravidla__desc {
	font-size: 12px;
	color: #64748b;
}

.pravidla__podnadpis {
	font-size: 14px;
	font-weight: 500;
	color: #334155;
	margin: 0 0 12px;
}

.reakce {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 12px;
	margin-bottom: 16px;
}

.reakce__item {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px 14px;
	border: 1px solid #e2e8f0;
	border-radius: 8px;
}

.reakce__ikona {
	font-size: 22px;
	flex-shrink: 0;
	margin-top: 2px;
}

.reakce__ikona--green  { color: #059669; }
.reakce__ikona--blue   { color: #2563eb; }
.reakce__ikona--amber  { color: #d97706; }
.reakce__ikona--orange { color: #ea580c; }

.reakce__nazev {
	display: block;
	font-size: 14px;
	font-weight: 500;
	color: #1e293b;
}

.reakce__desc {
	display: block;
	font-size: 12px;
	color: #64748b;
	margin-top: 2px;
}

.pojistka {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	padding: 12px 14px;
	background: #fef2f2;
	border: 1px solid #fecaca;
	border-radius: 8px;
	font-size: 13px;
	color: #7f1d1d;
}

.pojistka i {
	font-size: 20px;
	color: #dc2626;
	flex-shrink: 0;
	margin-top: 1px;
}

/* ============================================================
   BLOK 4 — FORMULÁŘ UDÁLOSTI
   ============================================================ */
.udalost {
	border: 2px solid #2563eb;
}

.udalost__form {
	display: flex;
	flex-direction: column;
	gap: 16px;
	max-width: 560px;
}

.udalost__pole {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.udalost__label {
	font-size: 13px;
	font-weight: 500;
	color: #334155;
}

.udalost__req { color: #dc2626; }

.udalost__datum { max-width: 220px; }

/* Přepínač (segmented) */
.prepinac {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.prepinac__opt {
	cursor: pointer;
	margin: 0;
}

.prepinac__opt input {
	position: absolute;
	opacity: 0;
	width: 0;
	height: 0;
}

.prepinac__box {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 8px 14px;
	border: 1px solid #cbd5e1;
	border-radius: 8px;
	font-size: 13px;
	color: #475569;
	background: #fff;
	transition: all 0.15s;
}

.prepinac__opt input:checked + .prepinac__box {
	border-color: #2563eb;
	background: #eff6ff;
	color: #1e40af;
	font-weight: 500;
	box-shadow: 0 0 0 1px #2563eb;
}

.prepinac__box .akt { padding: 0; background: transparent; }

/* Nápověda dopadu stavu */
.udalost__dopad {
	display: flex;
	align-items: flex-start;
	gap: 6px;
	margin-top: 4px;
	padding: 10px 12px;
	background: #f1f5f9;
	border-radius: 8px;
	font-size: 12px;
	color: #475569;
}

.udalost__dopad i { margin-top: 1px; }

.udalost__akce {
	display: flex;
	gap: 8px;
}

.udalost__hr {
	margin: 24px 0;
	border: none;
	border-top: 1px solid #e2e8f0;
}

/* Realizace + výstupy */
.realizace__title {
	font-size: 14px;
	font-weight: 500;
	color: #334155;
	margin: 0 0 12px;
}

.realizace__hint {
	font-size: 12px;
	color: #64748b;
	max-width: 640px;
}

.vystupy {
	margin-top: 12px;
	padding: 16px;
	background: #f8fafc;
	border-radius: 10px;
}

.vystupy__label {
	display: block;
	font-size: 13px;
	font-weight: 500;
	color: #334155;
	margin-bottom: 12px;
}

.vystupy__radek {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 8px 0;
	border-bottom: 1px solid #eef2f6;
}

.vystupy__check {
	display: flex;
	align-items: center;
	gap: 8px;
	margin: 0;
	font-size: 13px;
	color: #334155;
	cursor: pointer;
}

.vystupy__check input { accent-color: #2563eb; }

.vystupy__datum {
	max-width: 160px;
	flex-shrink: 0;
}

.vystupy__stav {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 14px;
}

.vystupy__stav-hint {
	font-size: 12px;
	color: #64748b;
}

/* Faze-badge (převzato z designu projektu) */
.faze-badge {
	display: inline-block;
	padding: 3px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 500;
	white-space: nowrap;
}

.faze-badge--green { background: #d1fae5; color: #047857; }
.faze-badge--amber { background: #fef3c7; color: #92400e; }

/* ── Responzivita ── */
/* Blok 1 — na užších displejích přejde grid do bloků */
@media (max-width: 860px) {
	.prehled__hlavicka { display: none; }

	.prehled__firma {
		grid-template-columns: 1fr auto;
		grid-template-areas:
			"nazev akce"
			"chybi chybi"
			"osa   osa";
		gap: 8px 12px;
		padding: 12px;
	}
	.prehled__firma-nazev { grid-area: nazev; }
	.prehled__chybi       { grid-area: chybi; }
	.prehled__osa         { grid-area: osa; }
	.prehled__btn         { grid-area: akce; }
}

@media (max-width: 640px) {
	.cekaji__item { flex-wrap: wrap; }
	.cekaji__zpusob { flex-basis: 100%; order: 3; }
	.cekaji__zadano { display: none; }

	/* na mobilu se tři události vedle sebe nevejdou — jedna pod druhou */
	.osa-line { grid-template-columns: 1fr; }
	.osa-line__connector { display: none; }
}

/* ============================================================
   Pruh „Zobrazit dalších N akcí" pod společnou časovou osou
   — sdílí vzhled s pruhem u přehledu firem (.prehled__more)
   ============================================================ */
.prehled__more--osa {
	margin-top: 8px;
}
