/* ======================================================================
   Nexeek design system — extrahovaný z nexeek-mvp.html (prototyp 2026-03-19)
   Načítá se PO Bootstrap CDN, takže přepisuje konflikty (.btn apod.).
   ====================================================================== */

/* CSS RESET (jen drobnost, Bootstrap reboot většinu řeší) */
* { margin: 0; padding: 0; }
*, *::before, *::after { box-sizing: border-box; }

/* DESIGN TOKENS — DARK THEME (default), pink-magenta accent z prototyp-v2.
   Hodnoty doladěné podle screenshotů 2026-05-13 — accent #d2247c (deep magenta). */
[data-theme="dark"] {
	--bg: #09090b;
	--bg2: #111115;
	--bg3: #18181d;
	--bg4: #1e1e26;
	--border: #2a2a36;
	--border2: #38384a;
	--text: #eeeef5;
	--text2: #8888a8;
	--text3: #52526a;
	--accent: #d2247c;
	--accent2: #e94c8f;
	--accent-s: rgba(210, 36, 124, .14);
	--accent-grad: linear-gradient(135deg, #e94c8f, #9b72f5);
	--green: #25c07a;
	--green-s: rgba(37, 192, 122, .11);
	--amber: #f0a020;
	--amber-s: rgba(240, 160, 32, .11);
	--red: #e85040;
	--red-s: rgba(232, 80, 64, .11);
	--purple: #9b72f5;
	--purple-s: rgba(155, 114, 245, .11);
	--blue: #3b82f6;
	--blue-s: rgba(59, 130, 246, .14);
	--sh: 0 2px 8px rgba(0, 0, 0, .5), 0 12px 32px rgba(0, 0, 0, .3);
	--tbg: rgba(9, 9, 11, .9);
}

/* DESIGN TOKENS — LIGHT THEME */
[data-theme="light"] {
	--bg: #f7f7fa;
	--bg2: #ffffff;
	--bg3: #f0f0f5;
	--bg4: #e8e8f0;
	--border: #e0e0ec;
	--border2: #c8c8dc;
	--text: #111118;
	--text2: #555568;
	--text3: #9898b0;
	--accent: #b21c68;
	--accent2: #d2247c;
	--accent-s: rgba(178, 28, 104, .10);
	--accent-grad: linear-gradient(135deg, #d2247c, #7a52e0);
	--green: #18a864;
	--green-s: rgba(24, 168, 100, .10);
	--amber: #d48a10;
	--amber-s: rgba(212, 138, 16, .10);
	--red: #d03828;
	--red-s: rgba(208, 56, 40, .10);
	--purple: #7a52e0;
	--purple-s: rgba(122, 82, 224, .10);
	--blue: #2563eb;
	--blue-s: rgba(37, 99, 235, .10);
	--sh: 0 1px 4px rgba(0, 0, 0, .08), 0 8px 24px rgba(0, 0, 0, .06);
	--tbg: rgba(247, 247, 250, .92);
}

/* BASE */
html {
	font-size: 14px;
	background: var(--bg);
	color: var(--text);
	font-family: 'DM Sans', system-ui, sans-serif;
	transition: background .2s, color .2s;
}
body {
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	overflow-x: hidden;
	background: var(--bg);
	color: var(--text);
	font-family: 'DM Sans', system-ui, sans-serif;
}
a { color: var(--accent2); text-decoration: none; }
a:hover { color: var(--accent); }

/* TOPBAR */
.topbar {
	height: 56px;
	display: flex;
	align-items: center;
	padding: 0 20px;
	border-bottom: 1px solid var(--border);
	background: var(--tbg);
	backdrop-filter: blur(20px);
	position: sticky;
	top: 0;
	z-index: 200;
	gap: 14px;
}
.logo {
	display: flex;
	align-items: center;
	gap: 9px;
	text-decoration: none;
	flex-shrink: 0;
}
.lm {
	width: 28px; height: 28px;
	border-radius: 8px;
	background: var(--accent-grad);
	display: flex; align-items: center; justify-content: center;
	font-weight: 700; font-size: 13px; color: #fff;
	flex-shrink: 0;
}
.lt { font-size: 15px; font-weight: 600; color: var(--text); letter-spacing: -.3px; }
.lb {
	font-size: 10px; font-weight: 500;
	color: var(--accent2);
	background: var(--accent-s);
	border: 1px solid rgba(210, 36, 124, .28);
	border-radius: 4px;
	padding: 1px 6px;
}
.sw { flex: 1; max-width: 360px; position: relative; }
.sw input {
	width: 100%;
	background: var(--bg3);
	border: 1px solid var(--border);
	border-radius: 8px;
	padding: 7px 12px 7px 34px;
	font-family: inherit; font-size: 13px;
	color: var(--text);
	outline: none;
	transition: .15s;
}
.sw input:focus { border-color: var(--border2); background: var(--bg4); }
.sw input::placeholder { color: var(--text3); }
.si {
	position: absolute; left: 10px; top: 50%;
	transform: translateY(-50%);
	color: var(--text3);
	pointer-events: none;
}
.tr { margin-left: auto; display: flex; align-items: center; gap: 6px; }
.ib {
	width: 32px; height: 32px;
	border-radius: 8px;
	border: 1px solid var(--border);
	background: transparent;
	cursor: pointer;
	display: flex; align-items: center; justify-content: center;
	color: var(--text2);
	transition: .12s;
	flex-shrink: 0;
}
.ib:hover { background: var(--bg3); color: var(--text); border-color: var(--border2); }
.nb-dot { position: relative; }
.nb-dot::after {
	content: '';
	position: absolute; top: 6px; right: 6px;
	width: 6px; height: 6px;
	border-radius: 50%;
	background: var(--red);
	border: 1.5px solid var(--bg);
}
.av {
	width: 32px; height: 32px;
	border-radius: 50%;
	background: var(--accent-grad);
	display: flex; align-items: center; justify-content: center;
	font-size: 11px; font-weight: 600; color: #fff;
	cursor: pointer; flex-shrink: 0;
	border: 1.5px solid var(--border);
	text-decoration: none;
}
.av:hover { color: #fff; }

/* LAYOUT */
.layout { display: flex; flex: 1; min-height: 0; }
.sidebar {
	width: 220px; flex-shrink: 0;
	border-right: 1px solid var(--border);
	padding: 10px 8px;
	display: flex; flex-direction: column;
	gap: 2px;
	position: sticky; top: 56px;
	height: calc(100vh - 56px);
	overflow-y: auto;
	background: var(--bg);
	transition: background .2s;
}
.ns {
	font-size: 10px; font-weight: 600;
	color: var(--text3);
	letter-spacing: .08em; text-transform: uppercase;
	padding: 12px 8px 4px;
}
.ni {
	display: flex; align-items: center; gap: 9px;
	padding: 7px 10px;
	border-radius: 8px;
	cursor: pointer;
	transition: .1s;
	text-decoration: none;
	color: var(--text2);
	font-size: 13px;
}
.ni:hover { background: var(--bg3); color: var(--text); }
.ni.on { background: var(--accent-s); color: var(--accent2); }
.ni.disabled { opacity: .5; cursor: not-allowed; }
.ni.disabled:hover { background: transparent; color: var(--text2); }
.ni-ic { opacity: .55; flex-shrink: 0; transition: .1s; }
.ni.on .ni-ic, .ni:hover .ni-ic { opacity: 1; }
.nbg {
	margin-left: auto;
	font-size: 10px; font-weight: 600;
	background: var(--accent-s); color: var(--accent2);
	border-radius: 4px; padding: 1px 5px;
}
.nbg.w { background: var(--amber-s); color: var(--amber); }
.nbg.todo {
	background: var(--bg4); color: var(--text3);
	font-weight: 500; font-size: 9px; letter-spacing: .04em; text-transform: uppercase;
}
.ndv { height: 1px; background: var(--border); margin: 6px 2px; }
.main { flex: 1; overflow-y: auto; padding: 24px 28px; min-width: 0; }

/* PAGE HEADER */
.ph {
	display: flex; align-items: flex-start; justify-content: space-between;
	margin-bottom: 22px; gap: 16px; flex-wrap: wrap;
}
.pt { font-size: 19px; font-weight: 600; letter-spacing: -.4px; color: var(--text); }
.ps { font-size: 12px; color: var(--text2); margin-top: 2px; }
.pa { display: flex; gap: 8px; flex-shrink: 0; }

/* STATS ROW */
.sr {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 10px;
	margin-bottom: 22px;
}
.sc {
	background: var(--bg2);
	border: 1px solid var(--border);
	border-radius: 12px;
	padding: 16px 18px;
	cursor: pointer;
	transition: .15s;
	position: relative;
	overflow: hidden;
}
.sc:hover {
	border-color: var(--border2);
	transform: translateY(-1px);
	box-shadow: var(--sh);
}
.sab { position: absolute; top: 0; left: 0; right: 0; height: 2px; }
.sl {
	font-size: 11px; font-weight: 500;
	color: var(--text3);
	text-transform: uppercase; letter-spacing: .06em;
	margin-bottom: 9px;
}
.sv {
	font-size: 23px; font-weight: 600;
	letter-spacing: -.7px;
	color: var(--text);
	font-family: 'DM Mono', monospace;
}
.sd { font-size: 11px; margin-top: 5px; display: flex; align-items: center; gap: 3px; }
.up { color: var(--green); }
.dn { color: var(--red); }
.neu { color: var(--text3); }

/* BUTTONS — přepisuje Bootstrap .btn */
.btn {
	display: inline-flex; align-items: center; gap: 7px;
	padding: 7px 14px;
	border-radius: 8px;
	font-family: inherit; font-size: 13px; font-weight: 500;
	cursor: pointer; transition: .12s;
	border: 1px solid transparent;
	white-space: nowrap;
	text-decoration: none;
}
.bp { background: var(--accent); color: #fff; border-color: var(--accent); }
.bp:hover { filter: brightness(1.1); color: #fff; }
.btn.bg2 { background: var(--bg2); color: var(--text2); border-color: var(--border); }
.btn.bg2:hover:not(:disabled) { background: var(--bg3); color: var(--text); border-color: var(--border2); }
.btn.bg2 i { color: var(--text3); transition: color .12s; }
.btn.bg2:hover:not(:disabled) i { color: var(--text2); }
.btn:disabled, .btn[disabled] { opacity: .55; cursor: not-allowed; }
.bd { background: var(--red-s); color: var(--red); }
.bd:hover { background: var(--red); color: #fff; }
.bs { background: var(--green-s); color: var(--green); }
.bs:hover { background: var(--green); color: #fff; }
.btn-block { width: 100%; justify-content: center; }

/* FORM FIELD — prototyp pattern */
.fld { margin-bottom: 14px; }
.fld label, .fld > label {
	display: block;
	font-size: 12px; font-weight: 500;
	color: var(--text2);
	margin-bottom: 6px;
	letter-spacing: 0;
}
.fld input, .fld select, .fld textarea {
	width: 100%;
	background: var(--bg3);
	border: 1px solid var(--border);
	border-radius: 8px;
	padding: 10px 14px;
	font-family: inherit; font-size: 14px;
	color: var(--text);
	outline: none;
	transition: .15s;
}
.fld input:focus, .fld select:focus, .fld textarea:focus {
	border-color: var(--accent);
	background: var(--bg);
}
.fld input::placeholder, .fld textarea::placeholder { color: var(--text3); }
.fld input.err, .fld input.is-invalid { border-color: var(--red) !important; }
.err-msg, .invalid-feedback {
	font-size: 11px; color: var(--red); margin-top: 4px; display: block;
}
/* nápověda pod polem formuláře */
.fld-hint {
	font-size: 11px; color: var(--text3); margin-top: 5px; line-height: 1.4;
}
/* ztlumený řádek tabulky (např. neaktivní produkt) */
tr.row-muted td { opacity: .5; }
tr.row-muted:hover td { opacity: .75; }
/* malé akční tlačítko v tabulkách číselníků */
.btn-xs { padding: 4px 10px; font-size: 12px; }
/* ztlumený badge (archivováno / neaktivní) */
.tag-muted { background: var(--bg3); color: var(--text3); }
/* sdílený modal nové aktivity (_modal-activity.latte) */
.modal-ctx { background: var(--bg3); border-radius: 8px; color: var(--text2); font-size: 12px; }
.dm-ok-sub { color: var(--green); font-size: 12px; margin-top: 2px; }
.dm-intro { color: var(--text2); font-size: 13px; margin-bottom: 14px; }
.action-chip.selected { background: var(--accent); color: #fff; border-color: var(--accent); }

/* TOM SELECT — vyhledávací select, sladění s dark theme + .fld inputy */
.fld .ts-wrapper { width: 100%; margin: 0; }
.ts-wrapper.single .ts-control,
.ts-wrapper .ts-control {
	background: var(--bg3);
	border: 1px solid var(--border);
	border-radius: 8px;
	padding: 9px 14px;
	min-height: 0;
	color: var(--text);
	font-size: 14px;
	box-shadow: none;
}
.ts-wrapper.focus .ts-control {
	border-color: var(--accent);
	background: var(--bg);
	box-shadow: none;
}
.ts-wrapper .ts-control input,
.ts-wrapper .ts-control .item { color: var(--text); }
.ts-wrapper .ts-control input::placeholder { color: var(--text3); }
.ts-wrapper.single.input-active .ts-control { background: var(--bg); }
.ts-wrapper.disabled .ts-control { opacity: .55; }
.ts-dropdown {
	background: var(--bg2);
	border: 1px solid var(--border);
	border-radius: 8px;
	color: var(--text);
	box-shadow: 0 8px 24px rgba(0, 0, 0, .4);
	margin-top: 4px;
}
.ts-dropdown .option { color: var(--text); padding: 8px 14px; }
.ts-dropdown .option.active,
.ts-dropdown .active { background: var(--accent-s); color: var(--text); }
.ts-dropdown .no-results { color: var(--text3); padding: 8px 14px; }
.ts-wrapper.single .ts-control:after { border-color: var(--text2) transparent transparent; }

/* LEAD SEZNAM — kompaktní filtr lišta (dark, grid auto-fill) */
.lf-form {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: 10px 12px;
	align-items: end;
	margin-bottom: 18px;
}
.lf-form .lf-field { display: flex; flex-direction: column; min-width: 0; }
.lf-form .lf-field > label {
	font-size: 11px; font-weight: 600;
	color: var(--text3);
	text-transform: uppercase; letter-spacing: .05em;
	margin-bottom: 5px;
}
.lf-form select, .lf-form input {
	width: 100%;
	background: var(--bg3);
	border: 1px solid var(--border);
	border-radius: 8px;
	padding: 9px 14px;        /* shodné s .ts-control, ať mají všechna pole stejnou výšku */
	font-family: inherit; font-size: 14px;
	line-height: 1.5;
	color: var(--text);
	outline: none;
	transition: .15s;
}
.lf-form select:focus, .lf-form input:focus { border-color: var(--accent); background: var(--bg); }
.lf-form input::placeholder { color: var(--text3); }
.lf-form .ts-wrapper { width: 100%; margin: 0; }
.lf-form .lf-actions {
	grid-column: 1 / -1;
	display: flex; gap: 8px; align-items: center;
	margin-top: 2px;
}

/* FORM CHECK (checkbox + label inline) */
.fcheck { display: flex; align-items: center; gap: 8px; margin-bottom: 12px; }
.fcheck input[type="checkbox"] {
	width: 16px; height: 16px;
	cursor: pointer;
	accent-color: var(--accent);
}
.fcheck label {
	font-size: 12px; color: var(--text2);
	cursor: pointer; margin: 0;
	text-transform: none; letter-spacing: 0; font-weight: 400;
}

/* CARD / PANEL */
.panel, .card-panel {
	background: var(--bg2);
	border: 1px solid var(--border);
	border-radius: 12px;
	padding: 18px;
}
.phd {
	display: flex; align-items: center; justify-content: space-between;
	margin-bottom: 14px;
}
.ptit { font-size: 13px; font-weight: 600; color: var(--text); letter-spacing: -.2px; }

/* TABLE */
.tbl-wrap {
	overflow-x: auto;
	border-radius: 12px;
	border: 1px solid var(--border);
}
.tbl-wrap table { width: 100%; border-collapse: collapse; background: var(--bg2); }
.tbl-wrap thead tr { border-bottom: 1px solid var(--border); }
.tbl-wrap th {
	font-size: 11px; font-weight: 600;
	color: var(--text3);
	text-transform: uppercase; letter-spacing: .06em;
	padding: 10px 14px;
	text-align: left;
	white-space: nowrap;
	background: var(--bg2);
}
.tbl-wrap td {
	padding: 10px 14px;
	font-size: 12px; color: var(--text);
	border-bottom: 1px solid var(--border);
	vertical-align: middle;
}
.tbl-wrap tr:last-child td { border-bottom: none; }
.tbl-wrap th a { color: inherit; text-decoration: none; display: inline-flex; align-items: center; gap: 3px; }
.tbl-wrap th a:hover { color: var(--text); }
.tbl-wrap th a.on { color: var(--text); }
.tbl-wrap th a .bi { font-size: 10px; opacity: .7; }

/* ALERTS — přepisuje Bootstrap, dark theme friendly */
.alert {
	border-radius: 10px;
	padding: 10px 14px;
	font-size: 13px;
	border: 1px solid transparent;
	margin-bottom: 12px;
}
.alert-success { background: var(--green-s); color: var(--green); border-color: rgba(37, 192, 122, .25); }
.alert-danger  { background: var(--red-s);   color: var(--red);   border-color: rgba(232, 80, 64, .25); }
.alert-warning { background: var(--amber-s); color: var(--amber); border-color: rgba(240, 160, 32, .25); }
.alert-info    { background: var(--accent-s); color: var(--accent2); border-color: rgba(79, 110, 247, .25); }

/* TAGS / BADGES */
.tag {
	display: inline-flex; align-items: center;
	font-size: 10px; font-weight: 500;
	border-radius: 4px;
	padding: 2px 7px;
	white-space: nowrap;
}
.tbl-acc { background: var(--accent-s); color: var(--accent2); }
.tbl-grn { background: var(--green-s); color: var(--green); }
.tbl-amb { background: var(--amber-s); color: var(--amber); }
.tbl-red { background: var(--red-s); color: var(--red); }
.tbl-pur { background: var(--purple-s); color: var(--purple); }
.tbl-blu { background: var(--blue-s); color: var(--blue); }

/* SCROLLBAR */
::-webkit-scrollbar { width: 5px; height: 5px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb { background: var(--border2); border-radius: 10px; }

/* TOOLTIP via [tip] attr */
[tip] { position: relative; }
[tip]:hover::after {
	content: attr(tip);
	position: absolute;
	bottom: calc(100% + 6px);
	left: 50%;
	transform: translateX(-50%);
	background: var(--bg4);
	border: 1px solid var(--border2);
	border-radius: 6px;
	padding: 4px 10px;
	font-size: 11px;
	white-space: nowrap;
	color: var(--text2);
	pointer-events: none;
	z-index: 99;
}

/* ANIM */
@keyframes fu { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: translateY(0); } }
.a1 { animation: fu .3s ease both .05s; }
.a2 { animation: fu .3s ease both .1s; }
.a3 { animation: fu .3s ease both .15s; }
.a4 { animation: fu .3s ease both .2s; }

/* FILTER PILLS */
.pills {
	display: flex; flex-wrap: wrap; gap: 8px;
	margin-bottom: 14px;
}
.pill {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 5px 12px;
	border-radius: 999px;
	border: 1px solid var(--border);
	background: transparent;
	color: var(--text2);
	font-size: 12px; font-weight: 500;
	text-decoration: none;
	cursor: pointer;
	transition: .12s;
}
.pill:hover { color: var(--text); border-color: var(--border2); background: var(--bg3); }
.pill.on { background: var(--accent-s); color: var(--accent2); border-color: rgba(210, 36, 124, .28); }
.pill .pill-dot {
	width: 6px; height: 6px; border-radius: 50%;
	background: currentColor;
}
.pill .pill-count { color: var(--text3); font-weight: 400; font-size: 11px; }
.pill.on .pill-count { color: var(--accent); }

/* RADIO PILLS — wrapper label se vstupem skrytým uvnitř, :has() podle checked */
.pills label.pill { cursor: pointer; user-select: none; }
.pills label.pill input[type="radio"] {
	position: absolute;
	opacity: 0;
	width: 0; height: 0;
	pointer-events: none;
}
.pills label.pill:has(input[type="radio"]:checked) {
	background: var(--accent-s);
	color: var(--accent2);
	border-color: rgba(210, 36, 124, .28);
}

/* FORM SECTION HEADER */
.form-section {
	font-size: 11px;
	font-weight: 600;
	color: var(--text3);
	text-transform: uppercase;
	letter-spacing: .07em;
	margin: 22px 0 12px;
	padding-bottom: 8px;
	border-bottom: 1px solid var(--border);
}
.form-section:first-child { margin-top: 0; }

/* TAGY — chip input */
.tags-input {
	background: var(--bg3);
	border: 1px solid var(--border);
	border-radius: 8px;
	padding: 8px 8px 6px;
	transition: .15s;
}
.tags-input:focus-within { border-color: var(--accent); background: var(--bg); }
.tags-chips {
	display: flex; flex-wrap: wrap; gap: 6px;
	margin-bottom: 6px;
}
.tags-chips:empty { margin-bottom: 0; }
.tag-chip {
	display: inline-flex; align-items: center; gap: 4px;
	padding: 3px 4px 3px 9px;
	background: var(--accent-s); color: var(--accent2);
	border: 1px solid rgba(210, 36, 124, .28);
	border-radius: 6px;
	font-size: 12px; font-weight: 500;
}
.tag-chip-x {
	background: transparent; border: none;
	color: var(--accent2); cursor: pointer;
	font-size: 16px; line-height: 1;
	padding: 0 4px;
	border-radius: 4px;
	transition: .12s;
}
.tag-chip-x:hover { background: rgba(210, 36, 124, .22); color: var(--text); }
.tags-add {
	width: 100%;
	background: transparent;
	border: none;
	outline: none;
	color: var(--text);
	padding: 4px 6px;
	font-family: inherit;
	font-size: 13px;
}
.tags-add::placeholder { color: var(--text3); }

/* ── Inline přepínač existující ↔ nová organizace (Lead form) ── */
.org-toggle-link {
	background: transparent; border: none; padding: 0;
	color: var(--accent2); cursor: pointer;
	font-size: 11px; font-weight: 600;
	white-space: nowrap;
}
.org-toggle-link:hover { color: var(--accent); text-decoration: underline; }

/* MALÝ USER-TAG (avatar v list buňce) */
.user-tag-sm {
	display: inline-flex;
	align-items: center; justify-content: center;
	width: 24px; height: 24px;
	border-radius: 50%;
	background: var(--accent-grad);
	color: #fff;
	font-size: 10px; font-weight: 600;
	flex-shrink: 0;
	font-family: 'DM Sans', sans-serif;
	letter-spacing: 0;
}
.user-tag-md {
	display: inline-flex;
	align-items: center; justify-content: center;
	width: 36px; height: 36px;
	border-radius: 50%;
	background: var(--accent-grad);
	color: #fff;
	font-size: 12px; font-weight: 600;
	flex-shrink: 0;
	font-family: 'DM Sans', sans-serif;
}
.user-tag-lg {
	display: inline-flex;
	align-items: center; justify-content: center;
	width: 52px; height: 52px;
	border-radius: 50%;
	background: var(--accent-grad);
	color: #fff;
	font-size: 16px; font-weight: 600;
	flex-shrink: 0;
	font-family: 'DM Sans', sans-serif;
}
.user-row { display: inline-flex; align-items: center; gap: 8px; }
.user-row-md { display: inline-flex; align-items: center; gap: 12px; }
.user-row-md .user-name { font-weight: 500; color: var(--text); line-height: 1.3; }
.user-row-md .user-sub  { color: var(--text3); font-size: 12px; line-height: 1.3; }

/* SIDE-STRIP (barevný proužek vlevo u řádku tabulky) */
.tbl-wrap td.row-strip { padding-left: 0; }
.row-strip-band {
	display: inline-block;
	width: 4px; height: 28px;
	border-radius: 2px;
	margin-right: 12px;
	vertical-align: middle;
	background: var(--border2);
}
.row-strip-band.b2b   { background: var(--amber); }
.row-strip-band.b2g   { background: var(--red); }
.row-strip-band.other { background: var(--purple); }

/* SEKCE ve slide-over view (header capslock + obsah) */
.so-sect-h {
	font-size: 10px; font-weight: 600;
	color: var(--text3);
	letter-spacing: 1px;
	text-transform: uppercase;
	margin: 18px 0 8px;
}
.so-sect-h:first-child { margin-top: 0; }
.so-line { display: flex; align-items: center; gap: 10px; color: var(--text2); padding: 4px 0; }
.so-line i { color: var(--text3); width: 16px; }
.so-org {
	display: flex; align-items: center; gap: 10px;
	padding: 10px 12px;
	border: 1px solid var(--border);
	border-radius: 8px;
	background: var(--bg);
}
.so-deal {
	padding: 12px;
	border: 1px solid var(--border);
	border-radius: 8px;
	background: var(--bg);
	margin-bottom: 8px;
}

/* RATING PILLS (1-10) */
.rating-pills { display: flex; gap: 4px; flex-wrap: wrap; }
.rating-pill {
	width: 32px; height: 32px;
	display: inline-flex; align-items: center; justify-content: center;
	border-radius: 8px;
	border: 1px solid var(--border);
	background: transparent;
	color: var(--text2);
	font-size: 12px; font-weight: 600;
	font-family: 'DM Mono', monospace;
	cursor: pointer;
	transition: .1s;
	user-select: none;
}
.rating-pill:hover { border-color: var(--border2); color: var(--text); }
.rating-pill.on { background: var(--accent); border-color: var(--accent); color: #fff; }

/* SLIDE-OVER PANEL */
.slide-backdrop {
	position: fixed; inset: 0;
	background: rgba(0, 0, 0, .55);
	z-index: 300;
	animation: backdrop-in .15s ease both;
}
@keyframes backdrop-in { from { opacity: 0; } to { opacity: 1; } }
.slide-over {
	position: fixed; top: 0; right: 0; bottom: 0;
	width: 540px; max-width: 96vw;
	background: var(--bg2);
	border-left: 1px solid var(--border);
	z-index: 301;
	display: flex; flex-direction: column;
	overflow: hidden;
	animation: slide-in .25s cubic-bezier(.4, 0, .2, 1) both;
}
@keyframes slide-in { from { transform: translateX(100%); } to { transform: translateX(0); } }
.slide-header {
	padding: 16px 22px;
	border-bottom: 1px solid var(--border);
	display: flex; align-items: center; justify-content: space-between;
	gap: 12px;
}
.slide-title {
	font-size: 16px; font-weight: 600;
	color: var(--text);
	letter-spacing: -.2px;
}
.slide-close {
	width: 30px; height: 30px;
	border-radius: 8px;
	border: 1px solid transparent;
	background: transparent;
	color: var(--text2);
	cursor: pointer;
	display: inline-flex; align-items: center; justify-content: center;
	transition: .12s;
	text-decoration: none;
}
.slide-close:hover { background: var(--bg3); border-color: var(--border); color: var(--text); }
.slide-body {
	padding: 20px 22px;
	overflow-y: auto;
	flex: 1;
}

/* =================================================================== */
/* SIGN-IN PAGE                                                         */
/* =================================================================== */
.sign-wrap {
	min-height: 100vh;
	display: flex; flex-direction: column;
	align-items: center; justify-content: center;
	padding: 24px;
	background: var(--bg);
	gap: 18px;
}
.sign-brand {
	display: flex; align-items: center; gap: 12px;
}
.sign-brand .lm {
	width: 44px; height: 44px;
	border-radius: 12px;
	font-size: 18px;
}
.sign-brand-text {
	display: flex; flex-direction: column; gap: 2px;
}
.sign-brand-name {
	font-size: 18px; font-weight: 700; color: var(--text);
	letter-spacing: -.3px; line-height: 1;
}
.sign-brand-sub {
	font-size: 12px; font-weight: 400; color: var(--text3);
	line-height: 1;
}
.sign-card {
	background: var(--bg2);
	border: 1px solid var(--border);
	border-radius: 14px;
	padding: 28px 30px;
	width: 100%; max-width: 400px;
	box-shadow: var(--sh);
}
.sign-title {
	font-size: 18px; font-weight: 600; color: var(--text);
	letter-spacing: -.3px; margin-bottom: 4px;
}
.sign-sub {
	font-size: 13px; color: var(--text2);
	margin-bottom: 20px;
}
.sign-footer {
	font-size: 11px; color: var(--text3);
	letter-spacing: .02em;
}
.sign-footer .dot { color: var(--text3); margin: 0 6px; }
.sign-card .btn-block {
	padding: 11px 14px;
	font-size: 14px;
	font-weight: 500;
	margin-top: 6px;
}

/* RESPONSIVE */
@media (max-width: 1280px) {
	.sr { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 960px) {
	.sidebar { position: fixed; left: 0; top: 56px; bottom: 0; z-index: 150; transition: transform .25s; }
	.sidebar.collapsed { transform: translateX(-100%); }
}
@media (max-width: 640px) {
	.sr { grid-template-columns: 1fr; }
	.main { padding: 16px; }
}

/* PIPELINE — Stages list (drag&drop, inline edit) */
.stage-row {
	display: flex; align-items: center; gap: 14px;
	padding: 14px 22px;
	border-bottom: 1px solid var(--border);
	background: var(--bg2);
	transition: background .15s;
}
.stage-row:hover { background: var(--bg3); }
.stage-row-ghost { opacity: .4; background: var(--accent-s); }
.stage-handle {
	cursor: grab; color: var(--text3);
	font-size: 18px; padding: 4px 2px;
}
.stage-handle:active { cursor: grabbing; }
.stage-name { flex: 1; min-width: 0; }
.stage-actions { display: flex; gap: 6px; }
.stage-actions .btn { padding: 4px 10px; font-size: 12px; }

.stage-edit-form {
	display: none;
	padding: 18px 22px 18px 50px;
	background: var(--bg3);
	border-bottom: 1px solid var(--border);
}
.stage-edit-form.open { display: block; }
.stage-edit-form .form-control {
	background: var(--bg);
	border: 1px solid var(--border2);
	color: var(--text);
	padding: 8px 10px; font-size: 13px;
	border-radius: 6px; width: 100%;
}
.stage-edit-form label { display: block; margin-bottom: 4px; }

/* Modal pro přesun + smazání stage */
.modal-backdrop-x {
	position: fixed; inset: 0;
	background: rgba(0,0,0,.55);
	z-index: 1000;
	align-items: center; justify-content: center;
}
.modal-x {
	background: var(--bg2);
	border: 1px solid var(--border2);
	border-radius: 14px;
	padding: 0;
	width: 100%; max-width: 480px;
	box-shadow: var(--sh);
	overflow: hidden;
}
.modal-x-header {
	display: flex; align-items: center; justify-content: space-between;
	padding: 16px 22px;
	border-bottom: 1px solid var(--border);
}
.modal-x-title { font-weight: 600; color: var(--text); font-size: 15px; }
.modal-x-close {
	background: none; border: none;
	color: var(--text3); font-size: 20px; cursor: pointer;
	padding: 0; line-height: 1;
}
.modal-x-body { padding: 18px 22px; }
.modal-x-body p { color: var(--text2); font-size: 13px; }
.modal-x-body .form-control {
	background: var(--bg);
	border: 1px solid var(--border2);
	color: var(--text);
	padding: 9px 12px;
	border-radius: 6px;
	width: 100%; font-size: 13px;
}

/* SETTINGS HUB — page title + tabs */
.st-page-title { margin-bottom: 14px; }
.st-page-h { font-size: 22px; font-weight: 600; color: var(--text); letter-spacing: -.3px; }
.st-page-sub { color: var(--text2); font-size: 13px; margin-top: 2px; }

.st-tabs {
	display: flex; gap: 4px;
	border-bottom: 1px solid var(--border);
	margin-bottom: 22px;
	overflow-x: auto;
	scrollbar-width: thin;
}
.st-tab {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 10px 14px;
	color: var(--text3);
	text-decoration: none;
	font-size: 13px;
	border-bottom: 2px solid transparent;
	white-space: nowrap;
	transition: color .15s, border-color .15s;
}
.st-tab:hover:not(.disabled):not(.on) { color: var(--text); }
.st-tab.on {
	color: var(--accent2);
	border-bottom-color: var(--accent2);
	font-weight: 500;
}
.st-tab.disabled {
	color: var(--text3);
	opacity: .45;
	cursor: not-allowed;
}

/* ROLE MATRIX */
.role-matrix th, .role-matrix td {
	border-right: 1px solid var(--border);
	padding: 12px;
	vertical-align: top;
}
.role-matrix td:first-child, .role-matrix th:first-child {
	border-right: 2px solid var(--border2);
}
.rm-select {
	background: var(--bg);
	border: 1px solid var(--border2);
	color: var(--text);
	padding: 6px 8px;
	font-size: 12px;
	border-radius: 6px;
	width: 100%;
	cursor: pointer;
}
.rm-select:hover { border-color: var(--accent2); }
.rm-select:disabled { opacity: .5; }
.rm-cell { position: relative; }

.user-tag-sm {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 22px; height: 22px;
	border-radius: 50%;
	background: var(--accent-s);
	color: var(--accent2);
	font-size: 10px;
	font-weight: 600;
	letter-spacing: .02em;
}

/* ROLE CARDS — grid 3 cols × auto rows */
.role-cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-bottom: 8px;
}
@media (max-width: 1200px) { .role-cards { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 720px)  { .role-cards { grid-template-columns: 1fr; } }

.role-card {
	background: var(--bg2);
	border: 1px solid var(--border);
	border-radius: 12px;
	padding: 16px 18px;
	display: flex;
	flex-direction: column;
	gap: 10px;
	transition: border-color .15s, transform .15s;
}
.role-card:hover { border-color: var(--border2); }
.role-card.is-system { background: linear-gradient(180deg, var(--bg2) 0%, var(--bg3) 100%); }

.role-card-h { display: flex; align-items: center; gap: 12px; }
.role-card-ic {
	width: 38px; height: 38px;
	border-radius: 10px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-size: 16px;
	flex-shrink: 0;
}
.role-card-meta { flex: 1; min-width: 0; }
.role-card-name {
	color: var(--text); font-weight: 600; font-size: 14px;
	letter-spacing: -.1px;
	display: flex; align-items: center; gap: 8px;
}
.role-card-sys {
	font-size: 9px; color: var(--text3);
	letter-spacing: .08em;
	background: var(--bg3);
	padding: 2px 6px;
	border-radius: 3px;
	border: 1px solid var(--border);
}
.role-card-count {
	color: var(--text3); font-size: 11px;
	letter-spacing: .02em; margin-top: 2px;
}
.role-card-desc {
	color: var(--text2); font-size: 12px;
	line-height: 1.5;
	flex: 1;
	min-height: 36px;
}
.role-card-actions { display: flex; gap: 6px; margin-top: 4px; }

.role-card-add {
	background: transparent;
	border: 1px dashed var(--border2);
	color: var(--text3);
	display: flex !important;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 140px;
	text-decoration: none;
	cursor: pointer;
	transition: border-color .15s, color .15s, background .15s;
}
.role-card-add:hover {
	border-color: var(--accent2);
	color: var(--accent2);
	background: var(--accent-s);
}
.role-card-add span { font-size: 13px; font-weight: 500; }

/* ROLE MATRIX — table */
.role-matrix { width: 100%; }
.role-matrix th, .role-matrix td {
	padding: 12px 14px;
	border-bottom: 1px solid var(--border);
	vertical-align: middle;
}
.role-matrix thead th {
	background: var(--bg2);
	color: var(--text2);
	font-weight: 500;
	font-size: 12px;
	letter-spacing: .04em;
	text-transform: uppercase;
	border-bottom: 2px solid var(--border2);
}
.role-matrix .rm-sticky {
	position: sticky; left: 0;
	background: var(--bg2);
	z-index: 4;
	min-width: 240px;
	border-right: 2px solid var(--border2) !important;
}
.role-matrix thead .rm-sticky { z-index: 5; }

.rm-role-h {
	min-width: 150px;
	text-align: center;
	white-space: nowrap;
}
.rm-role-name { display: block; color: var(--text); font-weight: 600; }
.rm-role-count {
	display: inline-block;
	margin-top: 4px;
	font-size: 10px;
	color: var(--text3);
	background: var(--bg3);
	padding: 1px 6px;
	border-radius: 3px;
	letter-spacing: 0;
	text-transform: none;
}

.rm-fn-name { color: var(--text); font-weight: 500; font-size: 13px; }
.rm-fn-desc { color: var(--text3); font-size: 11px; margin-top: 3px; line-height: 1.45; }

.rm-cell { text-align: center; }

/* RM badges — level pills */
.rm-badge {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	padding: 5px 10px;
	border-radius: 999px;
	font-size: 11px;
	font-weight: 500;
	letter-spacing: .02em;
	border: 1px solid transparent;
	cursor: pointer;
	white-space: nowrap;
	transition: filter .12s, transform .08s;
}
.rm-badge:hover:not(:disabled) { filter: brightness(1.15); }
.rm-badge:active:not(:disabled) { transform: translateY(1px); }
.rm-badge:disabled { opacity: .5; cursor: wait; }
.rm-badge i { font-size: 12px; }

.rm-l-none   { background: var(--bg3); color: var(--text3); border-color: var(--border); }
.rm-l-own    { background: var(--amber-s); color: var(--amber); }
.rm-l-team   { background: var(--accent-s); color: var(--accent2); }
.rm-l-all    { background: var(--purple-s); color: var(--purple); }
.rm-l-manage { background: var(--green-s); color: var(--green); }

/* RM dropdown menu */
.rm-menu {
	background: var(--bg2);
	border: 1px solid var(--border2);
	border-radius: 10px;
	padding: 4px;
	box-shadow: var(--sh);
	min-width: 160px;
}
.rm-menu-item {
	color: var(--text2);
	padding: 7px 10px;
	border-radius: 6px;
	font-size: 12px;
	display: flex;
	align-items: center;
}
.rm-menu-item:hover { background: var(--bg3); color: var(--text); }
.rm-menu-item.active {
	background: var(--accent-s);
	color: var(--accent2);
	font-weight: 500;
}

/* LEAD MODUL — kanban board + stat cards */
.lead-stats { grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important; gap: 10px; }
.lead-stats .sc { padding: 12px 14px; }
.lead-stats .sl { font-size: 10px; margin-bottom: 4px; }
.lead-stats .sv { font-size: 20px; }

.kb-board {
	display: grid;
	grid-template-columns: repeat(var(--kb-cols, 5), minmax(190px, 1fr));
	gap: 10px;
	min-height: 60vh;
	overflow-x: auto;
	padding-bottom: 4px;
}

/* ── PROCESS WORKFLOW strip (nad kanbanem) ──────────────────────────── */
.process-workflow {
	display: flex; flex-direction: column; gap: 14px;
	padding: 16px 20px;
	background: var(--bg2);
	border: 1px solid var(--border);
	border-radius: 12px;
	margin-bottom: 14px;
}
.pwf-label {
	font-size: 10px; font-weight: 700;
	color: var(--text3);
	letter-spacing: 1.2px;
	text-transform: uppercase;
}
.pwf-steps {
	display: flex; align-items: flex-start; gap: 6px;
	overflow-x: auto;
}
.pwf-step {
	display: flex; flex-direction: column; gap: 6px;
	flex: 1; min-width: 130px;
}
.pwf-step-h {
	display: inline-flex; align-items: center; gap: 8px;
	color: var(--text); font-size: 13px; font-weight: 500;
}
.pwf-dot {
	width: 9px; height: 9px;
	border-radius: 50%;
	background: var(--accent);
	flex-shrink: 0;
}
.pwf-dot.acc { background: var(--accent); }
.pwf-dot.grn { background: var(--green); }
.pwf-dot.pur { background: var(--purple); }
.pwf-dot.amb { background: var(--amber); }
.pwf-dot.red { background: var(--red); }
.pwf-dot.blu { background: var(--blue); }
.pwf-dot.auto { background: transparent; border: 1px dashed var(--text3); }
.pwf-name { font-weight: 500; }

/* Swatch picker barvy stage (Nastavení → Pipeline → detail) */
.stage-color-picker { display: flex; align-items: center; gap: 7px; }
.stage-color-sw {
	width: 18px; height: 18px; border-radius: 50%;
	border: 2px solid transparent; padding: 0; cursor: pointer;
	transition: transform .1s;
}
.stage-color-sw:hover { transform: scale(1.15); }
.stage-color-sw.on { border-color: var(--text); }
.stage-color-sw.auto { width: 18px; height: 18px; border: 1px dashed var(--text3); }
.stage-color-sw.auto.on { border: 2px solid var(--text); }
.pwf-sub { color: var(--text3); font-size: 11px; padding-left: 17px; }
.pwf-arrow {
	display: flex; align-items: center;
	color: var(--text3); font-size: 12px;
	padding-top: 1px; flex-shrink: 0;
}

/* ── FILTER pills (placeholder pro quick filtry) ─────────────────────── */
.lead-filter-bar {
	display: flex; gap: 6px; flex-wrap: wrap;
	margin-bottom: 16px;
	padding: 6px 4px;
}
.lf-pill {
	display: inline-flex; align-items: center;
	padding: 5px 14px;
	border-radius: 6px;
	border: 1px solid var(--border);
	background: var(--bg2);
	color: var(--text2);
	font-size: 12px; font-weight: 500;
	cursor: pointer;
	transition: .12s;
}
.lf-pill:hover:not(.disabled) { border-color: var(--accent2); color: var(--text); }
.lf-pill.on {
	background: var(--accent-s);
	color: var(--accent2);
	border-color: rgba(210, 36, 124, .35);
}
.lf-pill.disabled {
	opacity: .45;
	cursor: not-allowed;
}
a.lf-pill { text-decoration: none; }
.lf-pill-label {
	display: inline-flex; align-items: center;
	padding: 5px 8px 5px 4px;
	font-size: 11px; font-weight: 700;
	letter-spacing: .04em; text-transform: uppercase;
	color: var(--text3);
	min-width: 78px;
}
/* dvě filtrovací lišty (OBCHODNÍK / AKTIVITA) pod sebou — přitáhnout blíž */
.lead-filter-bar + .lead-filter-bar { margin-top: -10px; }
/* health-barevné pilulky filtru aktivity: barevná ikona, na .on barevný rám */
.lf-pill i { margin-right: 5px; font-size: 11px; }
.lf-act-red  i { color: var(--red); }
.lf-act-amb  i { color: var(--amber); }
.lf-act-pur  i { color: var(--purple); }
.lf-act-grn  i { color: var(--green); }
.lf-act-red.on  { background: rgba(232, 80, 64, .14);  color: var(--red);    border-color: rgba(232, 80, 64, .4); }
.lf-act-amb.on  { background: rgba(240, 160, 32, .14); color: var(--amber);  border-color: rgba(240, 160, 32, .4); }
.lf-act-pur.on  { background: rgba(155, 114, 245, .14); color: var(--purple); border-color: rgba(155, 114, 245, .4); }
.lf-act-grn.on  { background: rgba(37, 192, 122, .14); color: var(--green);  border-color: rgba(37, 192, 122, .4); }
.lf-act-red.on i, .lf-act-amb.on i, .lf-act-pur.on i, .lf-act-grn.on i { color: inherit; }

/* ── KPI summary row (agregátní metriky) ─────────────────────────────── */
.kpi-row {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
	gap: 10px;
	margin-bottom: 14px;
}
.kpi-card {
	background: var(--bg2);
	border: 1px solid var(--border);
	border-top: 3px solid var(--border2);
	border-radius: 10px;
	padding: 14px 16px;
}
.kpi-card.kpi-accent  { border-top-color: var(--accent); }
.kpi-card.kpi-success { border-top-color: var(--green); }
.kpi-card.kpi-warn    { border-top-color: var(--amber); }
.kpi-label {
	color: var(--text3);
	font-size: 10px; font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
}
.kpi-value {
	color: var(--text);
	font-size: 24px; font-weight: 700;
	letter-spacing: -.5px;
	margin: 6px 0 3px;
	font-family: 'DM Mono', monospace;
	line-height: 1;
}
.kpi-cur {
	font-size: 13px;
	color: var(--text3);
	font-weight: 500;
}
.kpi-sub {
	color: var(--text3);
	font-size: 11px;
}

/* ── Lead KPI řada — 5 karet s ikonou, dle předlohy ─────────────────── */
.lead-kpi { grid-template-columns: repeat(5, 1fr); }
@media (max-width: 1200px) { .lead-kpi { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); } }
.kpi-card.kpi-purple { border-top-color: var(--purple); }
.kpi-card.kpi-danger { border-top-color: var(--red); background: var(--red-s); }
.kpi-head {
	display: flex; align-items: flex-start; justify-content: space-between; gap: 8px;
}
.kpi-ic { font-size: 15px; color: var(--text3); opacity: .9; }
.kpi-ic.ic-accent { color: var(--accent2); }
.kpi-ic.ic-green  { color: var(--green); }
.kpi-ic.ic-purple { color: var(--purple); }
.kpi-ic.ic-red    { color: var(--red); }
.kpi-ic.ic-amber  { color: var(--amber); }
.kpi-value.v-amber  { color: var(--amber); }
.kpi-value.v-purple { color: var(--purple); }
.kpi-value.v-red    { color: var(--red); }
.kpi-value.v-green  { color: var(--green); }
.kpi-value .kpi-cur { font-size: 13px; color: var(--text3); font-weight: 500; }
/* Dvojhodnota "X dnes | Y týden" */
.kpi-split { display: flex; align-items: baseline; gap: 14px; font-size: 22px; }
.kpi-split span { display: inline-flex; align-items: baseline; gap: 5px; }
.kpi-split small {
	font-family: inherit; font-size: 11px; font-weight: 500;
	color: var(--text3); letter-spacing: 0;
}
.kpi-split-sep { position: relative; padding-left: 14px; }
.kpi-split-sep::before {
	content: ''; position: absolute; left: 0; top: 50%;
	transform: translateY(-50%);
	width: 1px; height: 16px; background: var(--border2);
}
/* Progress bar (konverze) */
.kpi-bar {
	margin-top: 8px; height: 5px; border-radius: 3px;
	background: var(--bg3); overflow: hidden;
}
.kpi-bar-fill {
	display: block; height: 100%; border-radius: 3px;
	background: linear-gradient(90deg, var(--amber), var(--accent2));
	transition: width .3s;
}

/* =================================================================== */
/* AKTIVITY                                                            */
/* =================================================================== */

/* =================================================================== */
/* DEAL CREATE MODAL                                                   */
/* =================================================================== */
.deal-modal-backdrop {
	background: rgba(0, 0, 0, .68);
}
.deal-modal {
	position: fixed;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
	width: 560px; max-width: 96vw;
	max-height: 90vh;
	background: var(--bg2);
	border: 1px solid var(--border2);
	border-radius: 12px;
	z-index: 301;
	display: flex; flex-direction: column;
	overflow: hidden;
	box-shadow: 0 20px 60px rgba(0, 0, 0, .55);
	animation: modal-pop .18s cubic-bezier(.34, 1.56, .64, 1) both;
}
@keyframes modal-pop {
	from { transform: translate(-50%, -50%) scale(.94); opacity: 0; }
	to   { transform: translate(-50%, -50%) scale(1);   opacity: 1; }
}
.deal-modal-header {
	display: flex; align-items: flex-start; justify-content: space-between;
	gap: 12px;
	padding: 18px 22px 16px;
	border-bottom: 1px solid var(--border);
}
.deal-modal-title {
	color: var(--text);
	font-size: 17px; font-weight: 600;
	letter-spacing: -.2px;
}
.deal-modal-sub {
	color: var(--text3);
	font-size: 12px;
	margin-top: 3px;
}
.deal-modal-body {
	padding: 18px 22px 22px;
	overflow-y: auto;
	flex: 1;
}

/* Sekční label + divider v modalu */
.dm-section-label {
	display: block;
	color: var(--text2);
	font-size: 12px;
	font-weight: 500;
	margin-bottom: 6px;
}
.dm-section-label i { color: var(--text3); }
.dm-section-divider {
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: var(--text3);
	margin: 18px 0 10px;
	padding-bottom: 6px;
	border-bottom: 1px solid var(--border);
}

/* Segment chips (B2B / B2G / Pronájmy / Post-Sale) */
.dm-segment-chips {
	display: flex; flex-wrap: wrap; gap: 6px;
}
.dms-chip {
	flex: 1; min-width: 0;
	padding: 9px 14px;
	border-radius: 8px;
	border: 1px solid var(--border);
	background: var(--bg);
	color: var(--text2);
	font-size: 12px; font-weight: 600;
	letter-spacing: .3px;
	cursor: pointer;
	transition: .12s;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.dms-chip:hover { border-color: var(--text3); color: var(--text); }
.dms-chip.on {
	background: var(--accent-s);
	border-color: var(--accent2);
	color: var(--text);
	box-shadow: 0 0 0 1px var(--accent2);
}
/* Barevné variantní per pipeline name */
.dms-chip.b2b.on { background: var(--amber-s); border-color: var(--amber); box-shadow: 0 0 0 1px var(--amber); }
.dms-chip.b2g.on { background: var(--red-s);   border-color: var(--red);   box-shadow: 0 0 0 1px var(--red); }
.dms-chip.pronájmy.on { background: var(--purple-s); border-color: var(--purple); box-shadow: 0 0 0 1px var(--purple); }
.dms-chip.post-sale.on { background: var(--green-s); border-color: var(--green); box-shadow: 0 0 0 1px var(--green); }

/* Input s suffixem (Kč) */
.dm-input-group {
	position: relative;
}
.dm-input-group .form-control {
	padding-right: 42px;
}
.dm-input-suffix {
	position: absolute;
	right: 12px; top: 50%;
	transform: translateY(-50%);
	color: var(--text3);
	font-size: 12px; font-weight: 500;
	pointer-events: none;
	font-family: 'DM Mono', monospace;
}

/* Form controls v modalu — paritní k Bootstrap default-ish dark theme */
.deal-modal .form-control {
	background: var(--bg);
	border: 1px solid var(--border);
	color: var(--text);
	font-size: 13px;
	padding: 8px 12px;
	border-radius: 6px;
}
.deal-modal .form-control:focus {
	background: var(--bg);
	border-color: var(--accent2);
	color: var(--text);
	box-shadow: 0 0 0 2px rgba(210, 36, 124, .15);
	outline: none;
}
.deal-modal label { color: var(--text2); font-size: 12px; font-weight: 500; }

.dm-actions {
	padding-top: 18px;
	margin-top: 14px !important;
	border-top: 1px solid var(--border);
}

/* ── Activity view-mode tabs (Den/Týden/Měsíc/Seznam) ──────────────── */
.act-view-tabs {
	display: inline-flex;
	gap: 2px;
	padding: 3px;
	background: var(--bg2);
	border: 1px solid var(--border);
	border-radius: 8px;
	margin-right: 8px;
}
.avt-tab {
	padding: 6px 12px;
	border-radius: 6px;
	color: var(--text3);
	font-size: 12px;
	font-weight: 500;
	text-decoration: none;
	transition: .12s;
	display: inline-flex; align-items: center;
}
.avt-tab:hover:not(.disabled):not(.on) { color: var(--text); background: var(--bg3); }
.avt-tab.on { background: var(--bg3); color: var(--text); border: 1px solid var(--border); }
.avt-tab.disabled { opacity: .4; cursor: not-allowed; }

/* Activity KPI mírně menší než deal KPI */
.act-kpi .kpi-value { font-size: 22px; }
.act-kpi .kpi-card { padding: 12px 14px; }

/* ── Měsíční kalendář ───────────────────────────────────────────────── */
.cal-nav {
	display: flex; align-items: center; justify-content: space-between;
	margin: 14px 0 10px;
	padding: 4px 8px;
}
.cal-nav-left { display: inline-flex; align-items: center; gap: 16px; }
.cal-nav-btn {
	display: inline-flex; align-items: center; justify-content: center;
	width: 30px; height: 30px;
	border-radius: 6px;
	border: 1px solid var(--border);
	background: var(--bg2);
	color: var(--text2);
	text-decoration: none;
	transition: .12s;
}
.cal-nav-btn:hover { background: var(--bg3); color: var(--text); border-color: var(--border2); }
.cal-nav-title {
	color: var(--text);
	font-size: 16px; font-weight: 600;
	letter-spacing: -.2px;
	min-width: 140px;
	text-align: center;
}
.cal-nav-today {
	color: var(--accent2);
	font-size: 12px; font-weight: 500;
	text-decoration: none;
	padding: 6px 12px;
	border-radius: 6px;
	border: 1px solid transparent;
	transition: .12s;
}
.cal-nav-today:hover { background: var(--accent-s); border-color: var(--accent2); }

.cal-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 1px;
	background: var(--border);
	border: 1px solid var(--border);
	border-radius: 10px;
	overflow: hidden;
}
.cal-head {
	background: var(--bg2);
	color: var(--text3);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	padding: 8px 10px;
	text-align: left;
}
.cal-head.weekend { color: var(--text3); }

.cal-cell {
	background: var(--bg);
	min-height: 110px;
	padding: 8px 10px;
	display: flex; flex-direction: column;
	gap: 4px;
	position: relative;
	transition: background .1s;
}
.cal-cell:hover { background: var(--bg2); }
.cal-cell.other-month {
	background: var(--bg2);
	opacity: .45;
}
.cal-cell.weekend { background: var(--bg2); }
.cal-cell.weekend.other-month { background: var(--bg); }
.cal-cell.today {
	background: rgba(210, 36, 124, .04);
}

.cal-cell-day {
	color: var(--text2);
	font-size: 12px;
	font-weight: 500;
	font-family: 'DM Mono', monospace;
}
.cal-cell.other-month .cal-cell-day { color: var(--text3); }
.cal-cell-today-badge {
	display: inline-flex; align-items: center; justify-content: center;
	width: 22px; height: 22px;
	border-radius: 50%;
	background: var(--accent);
	color: #fff;
	font-weight: 700;
	box-shadow: 0 2px 8px rgba(210, 36, 124, .35);
}

.cal-cell-acts {
	display: flex; flex-direction: column;
	gap: 3px;
	margin-top: 2px;
	overflow: hidden;
}
.cal-act {
	display: flex; align-items: center; gap: 5px;
	padding: 3px 6px;
	border-radius: 4px;
	background: var(--bg2);
	color: var(--text2);
	font-size: 11px;
	text-decoration: none;
	border-left: 3px solid var(--text3);
	transition: .1s;
	white-space: nowrap; overflow: hidden;
}
.cal-act:hover { background: var(--bg3); filter: brightness(1.15); }
.cal-act i { font-size: 10px; flex-shrink: 0; }
.cal-act-time { font-family: 'DM Mono', monospace; font-size: 10px; flex-shrink: 0; }
.cal-act-subject { flex: 1; overflow: hidden; text-overflow: ellipsis; }

/* Celý záznam v barvě typu (ikona + čas + text) */
.cal-act.tbl-pur { border-left-color: var(--purple); color: var(--purple); }
.cal-act.tbl-acc { border-left-color: var(--accent2); color: var(--accent2); }
.cal-act.tbl-grn { border-left-color: var(--green); color: var(--green); }
.cal-act.tbl-red { border-left-color: var(--red); color: var(--red); }
.cal-act.tbl-amb { border-left-color: var(--amber); color: var(--amber); }
.cal-act.tbl-blu { border-left-color: var(--blue); color: var(--blue); }

.cal-act.done { opacity: .5; text-decoration: line-through; }
.cal-act.overdue { background: var(--red-s); color: var(--red); border-left-color: var(--red); }

/* ── Týdenní kalendář (7 day-stacks) ────────────────────────────────── */
.week-grid {
	display: grid;
	grid-template-columns: repeat(7, 1fr);
	gap: 8px;
	min-height: 60vh;
}
.week-col {
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: 10px;
	display: flex; flex-direction: column;
	overflow: hidden;
}
.week-col.weekend { background: var(--bg2); }
.week-col.today {
	border-color: var(--accent);
	box-shadow: 0 0 0 1px var(--accent), 0 2px 12px rgba(210, 36, 124, .12);
}
.week-col-head {
	padding: 10px 12px;
	border-bottom: 1px solid var(--border);
	display: flex; align-items: center; justify-content: space-between;
	background: var(--bg2);
}
.week-col.today .week-col-head { background: rgba(210, 36, 124, .08); }
.week-col-name {
	color: var(--text2);
	font-size: 10px; font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
}
.week-col.today .week-col-name { color: var(--accent2); }
.week-col-date {
	color: var(--text);
	font-size: 14px; font-weight: 600;
	font-family: 'DM Mono', monospace;
}
.week-col-body {
	padding: 8px;
	display: flex; flex-direction: column;
	gap: 6px;
	flex: 1;
}
.week-col-empty {
	color: var(--text3);
	font-size: 11px;
	text-align: center;
	padding: 20px 4px;
	font-style: italic;
}
.week-act {
	display: block;
	padding: 6px 8px;
	border-radius: 6px;
	background: var(--bg2);
	color: var(--text2);
	text-decoration: none;
	border-left: 3px solid var(--text3);
	transition: .12s;
}
.week-act:hover { background: var(--bg3); filter: brightness(1.15); transform: translateY(-1px); }
.week-act-head {
	display: flex; align-items: center; gap: 5px;
	font-size: 10px;
}
.week-act-head i { font-size: 11px; flex-shrink: 0; }
.week-act-time { font-family: 'DM Mono', monospace; font-weight: 600; }
.week-act-subject {
	font-size: 11px;
	margin-top: 3px;
	line-height: 1.3;
	white-space: normal;
	overflow: hidden;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

/* Celý záznam v barvě typu (sjednoceno s .cal-act) */
.week-act.tbl-pur { border-left-color: var(--purple); color: var(--purple); }
.week-act.tbl-acc { border-left-color: var(--accent2); color: var(--accent2); }
.week-act.tbl-grn { border-left-color: var(--green); color: var(--green); }
.week-act.tbl-red { border-left-color: var(--red); color: var(--red); }
.week-act.tbl-amb { border-left-color: var(--amber); color: var(--amber); }
.week-act.tbl-blu { border-left-color: var(--blue); color: var(--blue); }
.week-act.done { opacity: .5; text-decoration: line-through; }
.week-act.overdue { background: var(--red-s); color: var(--red); border-left-color: var(--red); }

/* ── Denní kalendář (time-grid 07-20) ──────────────────────────────── */
.day-grid {
	position: relative;
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: 10px;
	overflow: hidden;
}
.day-row {
	display: grid;
	grid-template-columns: 70px 1fr;
	border-bottom: 1px solid var(--border);
	height: 60px;
}
.day-row:last-of-type { border-bottom: none; }
.day-time {
	color: var(--text3);
	font-size: 11px;
	font-family: 'DM Mono', monospace;
	padding: 6px 12px;
	border-right: 1px solid var(--border);
	background: var(--bg2);
}
.day-slot {
	background: var(--bg);
}
.day-row:hover .day-slot { background: var(--bg2); }

.day-activities {
	position: absolute;
	top: 0; left: 70px; right: 0; bottom: 0;
	pointer-events: none;
}
.day-act {
	position: absolute;
	left: 8px; right: 8px;
	padding: 6px 10px;
	border-radius: 6px;
	background: var(--bg2);
	color: var(--text2);
	text-decoration: none;
	border-left: 3px solid var(--text3);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .25);
	overflow: hidden;
	pointer-events: auto;
	transition: .12s;
	z-index: 1;
}
.day-act:hover { filter: brightness(1.15); transform: translateY(-1px); z-index: 5; }
.day-act-head {
	display: flex; align-items: center; gap: 6px;
	font-size: 10px;
}
.day-act-head i { font-size: 12px; flex-shrink: 0; }
.day-act-time { font-family: 'DM Mono', monospace; font-weight: 600; }
.day-act-subject {
	font-size: 12px;
	font-weight: 500;
	margin-top: 3px;
	line-height: 1.3;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.day-act.tbl-pur { border-left-color: var(--purple); color: var(--purple); }
.day-act.tbl-acc { border-left-color: var(--accent2); color: var(--accent2); }
.day-act.tbl-grn { border-left-color: var(--green); color: var(--green); }
.day-act.tbl-red { border-left-color: var(--red); color: var(--red); }
.day-act.tbl-amb { border-left-color: var(--amber); color: var(--amber); }
.day-act.tbl-blu { border-left-color: var(--blue); color: var(--blue); }
.day-act.done { opacity: .55; text-decoration: line-through; }
.day-act.overdue { background: var(--red-s); color: var(--red); border-left-color: var(--red); }

/* Právě teď čára */
.day-now {
	position: absolute;
	left: 0; right: 0;
	pointer-events: none;
	z-index: 10;
}
.day-now-line {
	height: 2px;
	background: var(--accent);
	box-shadow: 0 0 8px rgba(210, 36, 124, .55);
}
.day-now-label {
	display: inline-block;
	background: var(--accent);
	color: #fff;
	font-size: 10px;
	font-weight: 700;
	padding: 2px 8px;
	border-radius: 4px;
	letter-spacing: .3px;
	text-transform: uppercase;
	font-family: 'DM Mono', monospace;
	margin-bottom: 2px;
	box-shadow: 0 2px 8px rgba(210, 36, 124, .4);
}

/* Mimo časový rozsah */
.day-out-of-range {
	margin-top: 14px;
	padding: 12px 14px;
	background: var(--bg2);
	border: 1px solid var(--border);
	border-radius: 8px;
	display: flex; flex-direction: column; gap: 6px;
}
.dor-label {
	color: var(--text3);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	margin-bottom: 4px;
}

.day-empty {
	text-align: center;
	padding: 60px 30px;
	color: var(--text3);
}
.day-empty i { font-size: 40px; color: var(--text3); margin-bottom: 12px; display: block; }
.day-empty div { color: var(--text2); font-size: 14px; }

/* ── Type chips (volba typu aktivity ve formuláři) ────────────────── */
.act-type-chips {
	display: flex; flex-wrap: wrap; gap: 6px;
}
.atc-chip {
	display: inline-flex; align-items: center; gap: 6px;
	padding: 7px 12px;
	border-radius: 8px;
	border: 1px solid var(--border);
	background: var(--bg);
	color: var(--text2);
	font-size: 12px; font-weight: 500;
	cursor: pointer;
	transition: .12s;
}
.atc-chip i { font-size: 13px; color: var(--text3); }
.atc-chip:hover { border-color: var(--text3); color: var(--text); }
.atc-chip.on {
	background: var(--accent-s);
	border-color: var(--accent2);
	color: var(--text);
}
.atc-chip.on i { color: var(--accent2); }
.atc-chip.tbl-pur.on { background: var(--purple-s); border-color: var(--purple); }
.atc-chip.tbl-pur.on i { color: var(--purple); }
.atc-chip.tbl-acc.on { background: var(--accent-s); border-color: var(--accent2); }
.atc-chip.tbl-acc.on i { color: var(--accent2); }
.atc-chip.tbl-grn.on { background: var(--green-s);  border-color: var(--green); }
.atc-chip.tbl-grn.on i { color: var(--green); }
.atc-chip.tbl-red.on { background: var(--red-s);    border-color: var(--red); }
.atc-chip.tbl-red.on i { color: var(--red); }
.atc-chip.tbl-amb.on { background: var(--amber-s);  border-color: var(--amber); }
.atc-chip.tbl-amb.on i { color: var(--amber); }
/* Activity-type entity používá .qt-color-* paletu — rovnocenná varianta k .tbl-*. */
.atc-chip.qt-color-accent.on  { background: var(--accent-s); border-color: var(--accent2); }
.atc-chip.qt-color-accent.on i { color: var(--accent2); }
.atc-chip.qt-color-purple.on  { background: var(--purple-s); border-color: var(--purple); }
.atc-chip.qt-color-purple.on i { color: var(--purple); }
.atc-chip.qt-color-green.on   { background: var(--green-s);  border-color: var(--green); }
.atc-chip.qt-color-green.on i  { color: var(--green); }
.atc-chip.qt-color-red.on     { background: var(--red-s);    border-color: var(--red); }
.atc-chip.qt-color-red.on i    { color: var(--red); }
.atc-chip.qt-color-amber.on   { background: var(--amber-s);  border-color: var(--amber); }
.atc-chip.qt-color-amber.on i  { color: var(--amber); }
.atc-chip.qt-color-blue.on    { background: var(--blue-s);   border-color: var(--blue); }
.atc-chip.qt-color-blue.on i   { color: var(--blue); }
.atc-chip.qt-color-neutral.on { background: var(--bg3);      border-color: var(--text3); }
.atc-chip.qt-color-neutral.on i { color: var(--text3); }

/* Inner body + Splnit overlay pro cal-act/day-act/week-act bloky.
   Bloky byly dřív přímo <a>, teď <div> + dva inner <a> (body + check). */
.cal-act, .day-act, .week-act { position: relative; }
.cal-act-body, .day-act-body, .week-act-body {
	display: flex; align-items: center; gap: 6px;
	width: 100%; height: 100%;
	padding: inherit;
	color: inherit; text-decoration: none;
}
.day-act-body, .week-act-body { display: block; }
.cal-act-check, .day-act-check, .week-act-check {
	position: absolute;
	top: 2px; right: 2px;
	width: 16px; height: 16px;
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 10px;
	background: rgba(0, 0, 0, .25);
	color: var(--text);
	border-radius: 3px;
	text-decoration: none;
	opacity: 0;
	transition: opacity .12s, background .12s;
	z-index: 5;
}
.cal-act:hover .cal-act-check,
.day-act:hover .day-act-check,
.week-act:hover .week-act-check { opacity: 1; }
.cal-act-check:hover, .day-act-check:hover, .week-act-check:hover {
	background: var(--green);
	color: #fff;
}
.cal-act-check i, .day-act-check i, .week-act-check i { font-size: 10px; }

/* ── Hlavní list /aktivity (řádky) ─────────────────────────────────── */
.activity-list {
	display: flex; flex-direction: column;
	gap: 8px;
}
.act-row {
	display: grid;
	grid-template-columns: 32px 130px 1fr 220px 120px 32px 80px;
	gap: 14px;
	align-items: center;
	padding: 12px 16px;
	background: var(--bg2);
	border: 1px solid var(--border);
	border-left: 3px solid var(--border);
	border-radius: 10px;
	transition: border-color .12s;
}
.act-row:hover { border-color: var(--border2); }
.act-row.health-danger  { border-left-color: var(--red); }
.act-row.health-warning { border-left-color: var(--amber); }
.act-row.health-ok      { border-left-color: var(--green); }
.act-row.health-done    { border-left-color: var(--text3); opacity: .65; }

.act-check { display: flex; }
.act-check-btn {
	width: 28px; height: 28px;
	border-radius: 6px;
	background: var(--bg);
	border: 1px solid var(--border);
	color: var(--text3);
	display: inline-flex; align-items: center; justify-content: center;
	cursor: pointer;
	transition: .12s;
	font-size: 14px;
	text-decoration: none;
}
.act-check-btn:hover { border-color: var(--accent2); color: var(--accent2); }
.act-check-btn.done {
	background: var(--green-s);
	border-color: var(--green);
	color: var(--green);
}

.act-type { display: flex; align-items: center; gap: 8px; min-width: 0; }
.act-type-ic {
	width: 26px; height: 26px;
	border-radius: 6px;
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 12px;
	flex-shrink: 0;
}
.act-type-ic.tbl-pur { background: var(--purple-s); color: var(--purple); }
.act-type-ic.tbl-acc { background: var(--accent-s); color: var(--accent2); }
.act-type-ic.tbl-grn { background: var(--green-s);  color: var(--green); }
.act-type-ic.tbl-red { background: var(--red-s);    color: var(--red); }
.act-type-ic.tbl-amb { background: var(--amber-s);  color: var(--amber); }
.act-type-ic.tbl-blu { background: var(--blue-s);   color: var(--blue); }
.act-type-ic.tbl-cyn { background: rgba(56, 178, 172, .14); color: #38b2ac; }
.act-type-name {
	color: var(--text2);
	font-size: 12px; font-weight: 500;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}

.act-main { min-width: 0; }
.act-subject {
	color: var(--text); font-weight: 600;
	font-size: 13px;
	text-decoration: none;
	display: block;
	line-height: 1.3;
}
.act-subject:hover { color: var(--accent2); }
.act-subject.done {
	text-decoration: line-through;
	color: var(--text3);
}
.act-desc {
	color: var(--text3);
	font-size: 11px;
	margin-top: 3px;
	line-height: 1.4;
}

.act-link { display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.act-link-item {
	color: var(--text2); font-size: 11px;
	text-decoration: none;
	display: inline-flex; align-items: center;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
	max-width: 100%;
}
.act-link-item:hover { color: var(--accent2); }
.act-link-person { color: var(--text3); }

.act-due { font-family: 'DM Mono', monospace; }
.act-due-date { color: var(--text); font-size: 12px; font-weight: 500; }
.act-due-time { color: var(--text3); font-size: 11px; }
.act-due-flag {
	display: inline-block;
	margin-top: 3px;
	padding: 2px 7px;
	border-radius: 4px;
	font-size: 10px; font-weight: 600;
	letter-spacing: .3px;
	text-transform: uppercase;
	font-family: 'DM Sans', sans-serif;
}
.act-due-flag.today    { background: var(--amber-s); color: var(--amber); border: 1px solid var(--amber); }
.act-due-flag.overdue  { background: var(--red-s);   color: var(--red);   border: 1px solid var(--red); }
.act-due-flag.soon     { background: var(--accent-s); color: var(--accent2); }

.act-assignee { display: flex; justify-content: center; }
.act-actions { display: flex; gap: 4px; }
.act-actions .btn { padding: 4px 9px; font-size: 11px; }

/* Responsive — sloupce klesnou na užší obrazovce */
@media (max-width: 1200px) {
	.act-row {
		grid-template-columns: 32px 1fr 120px 32px;
		gap: 12px;
	}
	.act-row .act-type-name,
	.act-row .act-link,
	.act-row .act-actions { display: none; }
}

/* ── Aktivity feed (uvnitř Lead/Deal detailu) ──────────────────────── */
.act-feed { display: flex; flex-direction: column; gap: 8px; }
.act-feed-item {
	display: flex; align-items: center; gap: 10px;
	padding: 10px 12px;
	background: var(--bg);
	border: 1px solid var(--border);
	border-left: 3px solid var(--border);
	border-radius: 8px;
}
.act-feed-item.health-danger  { border-left-color: var(--red); }
.act-feed-item.health-warning { border-left-color: var(--amber); }
.act-feed-item.health-ok      { border-left-color: var(--green); }
.act-feed-item.health-done    { border-left-color: var(--text3); opacity: .65; }

.act-feed-body { flex: 1; min-width: 0; }
.act-feed-subject {
	color: var(--text); font-weight: 500;
	font-size: 13px;
	text-decoration: none;
	display: block;
}
.act-feed-subject:hover { color: var(--accent2); }
.act-feed-subject.done {
	text-decoration: line-through;
	color: var(--text3);
}
.act-feed-meta {
	color: var(--text3);
	font-size: 11px;
	margin-top: 3px;
	display: flex; gap: 8px; align-items: center;
	font-family: 'DM Mono', monospace;
}
.act-feed-meta i { font-size: 10px; }
.act-feed-flag {
	display: inline-block;
	padding: 1px 7px;
	border-radius: 4px;
	font-size: 10px; font-weight: 600;
	letter-spacing: .3px;
	text-transform: uppercase;
	font-family: 'DM Sans', sans-serif;
}
.act-feed-flag.today   { background: var(--amber-s); color: var(--amber); }
.act-feed-flag.overdue { background: var(--red-s); color: var(--red); }

/* Quick-add chips pro aktivity (v Lead/Deal detail sekci) */
.act-quick-add {
	display: flex; flex-wrap: wrap; gap: 6px;
	margin-bottom: 12px;
}
.aqa-chip {
	display: inline-flex; align-items: center;
	padding: 6px 12px;
	border-radius: 8px;
	background: var(--bg);
	border: 1px solid var(--border);
	color: var(--text2);
	font-size: 12px; font-weight: 500;
	text-decoration: none;
	transition: .12s;
}
.aqa-chip:hover { color: var(--text); border-color: var(--text3); transform: translateY(-1px); }
.aqa-chip.tbl-pur { color: var(--purple); }
.aqa-chip.tbl-pur:hover { background: var(--purple-s); border-color: var(--purple); }
.aqa-chip.tbl-acc { color: var(--accent2); }
.aqa-chip.tbl-acc:hover { background: var(--accent-s); border-color: var(--accent2); }
.aqa-chip.tbl-amb { color: var(--amber); }
.aqa-chip.tbl-amb:hover { background: var(--amber-s); border-color: var(--amber); }
.aqa-chip.tbl-cyn { color: #38b2ac; }
.aqa-chip.tbl-cyn:hover { background: rgba(56, 178, 172, .14); border-color: #38b2ac; }

/* Inline quick-add form (Lead/Deal detail) — sjednoceno s form.latte / planNext modalem.
   Typ chipy = .atc-chip (qt-color-*.on), akce chipy = .action-chip s .selected highlightem. */
.qa-form {
	margin-bottom: 12px;
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: 8px;
	padding: 10px 12px;
}
.qa-form .qa-types { margin-bottom: 8px; }
.qa-form .qa-action-select,
.qa-form .qa-action-other { margin-bottom: 8px; width: 100%; }
.qa-row {
	display: flex; align-items: stretch; gap: 6px;
	margin-bottom: 8px;
}
.qa-input, .qa-date, .qa-desc {
	background: var(--bg2);
	border: 1px solid var(--border);
	border-radius: 6px;
	padding: 8px 12px;
	color: var(--text);
	font-size: 13px;
}
.qa-date { width: 140px; flex-shrink: 0; }
.qa-input:focus, .qa-date:focus, .qa-desc:focus {
	outline: none; border-color: var(--accent2);
}
.qa-submit {
	padding: 8px 14px;
	font-size: 13px;
	display: inline-flex; align-items: center; justify-content: center;
	flex-shrink: 0;
}
.qa-desc {
	width: 100%;
	resize: vertical;
	font-family: inherit;
}

/* Plus tlačítko v sekci headeru (Aktivity / Poznámky) */
.so-sect-add {
	display: inline-flex; align-items: center; justify-content: center;
	width: 22px; height: 22px;
	border-radius: 5px;
	background: var(--bg2);
	border: 1px solid var(--border);
	color: var(--text2);
	margin-left: 8px;
	text-decoration: none;
	font-size: 12px;
	transition: .12s;
}
.so-sect-add:hover { background: var(--accent); color: #fff; border-color: var(--accent); }

/* ── Activity Health dot (v kanban kartě) ──────────────────────────── */
.kb-card-head-l { display: inline-flex; align-items: center; gap: 6px; }
.kb-health-dot {
	width: 8px; height: 8px;
	border-radius: 50%;
	background: var(--text3);
	flex-shrink: 0;
}
.kb-health-dot.health-ok      { background: var(--green); box-shadow: 0 0 0 2px rgba(56, 161, 105, .25); }
.kb-health-dot.health-warning { background: var(--amber); box-shadow: 0 0 0 2px rgba(245, 158, 11, .25); }
.kb-health-dot.health-danger  { background: var(--red);   box-shadow: 0 0 0 2px rgba(229, 62, 62, .25); animation: pulse-danger 1.6s ease-in-out infinite; }
.kb-health-dot.health-none    { background: var(--border2); }

@keyframes pulse-danger {
	0%, 100% { box-shadow: 0 0 0 2px rgba(229, 62, 62, .25); }
	50%      { box-shadow: 0 0 0 5px rgba(229, 62, 62, .12); }
}

/* Karta tělo — barevný left band podle health */
.kb-card.health-band-danger  { border-left: 3px solid var(--red); }
.kb-card.health-band-warning { border-left: 3px solid var(--amber); }
.kb-card.health-band-ok      { border-left: 3px solid var(--green); }
.kb-card.health-band-none    { border-left: 3px solid var(--border); }
.kb-col {
	background: var(--bg2);
	border: 1px solid var(--border);
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	min-height: 200px;
}
.kb-col-h {
	padding: 13px 14px 11px;
	border-bottom: 1px solid var(--border);
	display: flex; flex-direction: column; gap: 5px;
}
.kb-col-h-row {
	display: flex; align-items: center; gap: 9px;
}
.kb-col-dot {
	width: 8px; height: 8px; border-radius: 50%;
	background: var(--accent); flex-shrink: 0;
}
.kb-col-dot.acc { background: var(--accent); }
.kb-col-dot.grn { background: var(--green); }
.kb-col-dot.pur { background: var(--purple); }
.kb-col-dot.amb { background: var(--amber); }
.kb-col-dot.red { background: var(--red); }
.kb-col-dot.blu { background: var(--blue); }
.kb-col-title {
	color: var(--stc, var(--text)); font-weight: 700; font-size: 11px;
	letter-spacing: 1px;
	flex: 1; min-width: 0;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
	display: flex; align-items: center;
}
.kb-col-title i { font-size: 11px; }
.kb-col-count {
	display: inline-flex; align-items: center; justify-content: center;
	min-width: 22px; height: 20px; padding: 0 6px;
	background: var(--stc-s, var(--bg3));
	border-radius: 10px;
	color: var(--stc, var(--text2)); font-size: 11px; font-weight: 700;
	font-family: 'DM Mono', monospace;
	flex-shrink: 0;
}
.kb-col-kc {
	color: var(--text3); font-size: 11px;
	font-family: 'DM Mono', monospace;
}

/* Barevnost stage na boardu — top bar sloupce + obarvený název/count přes --stc */
.kb-col.stc-acc { --stc: var(--accent2); --stc-s: var(--accent-s); }
.kb-col.stc-grn { --stc: var(--green);   --stc-s: var(--green-s); }
.kb-col.stc-pur { --stc: var(--purple);  --stc-s: var(--purple-s); }
.kb-col.stc-amb { --stc: var(--amber);   --stc-s: var(--amber-s); }
.kb-col.stc-red { --stc: var(--red);     --stc-s: var(--red-s); }
.kb-col.stc-blu { --stc: var(--blue);    --stc-s: var(--blue-s); }
.kb-col.stc-acc, .kb-col.stc-grn, .kb-col.stc-pur,
.kb-col.stc-amb, .kb-col.stc-red, .kb-col.stc-blu {
	border-top: 3px solid var(--stc);
}
.kb-col-body {
	padding: 10px;
	display: flex; flex-direction: column; gap: 10px;
	flex: 1;
	min-height: 60px;
}
.kb-col-empty {
	color: var(--text3);
	font-size: 11px;
	text-align: center;
	padding: 18px 8px;
	font-style: italic;
}

.kb-card {
	position: relative;
	background: var(--bg2);
	border: 1px solid var(--border);
	border-radius: 10px;
	padding: 13px 14px;
	cursor: grab;
	transition: border-color .12s, transform .08s;
	display: flex; flex-direction: column; gap: 7px;
}
.kb-card:hover { border-color: var(--border2); }
.kb-card:active { cursor: grabbing; }
.kb-card-ghost { opacity: .4; background: var(--accent-s); }

.kb-card-title {
	color: var(--text);
	font-weight: 600;
	font-size: 14px;
	line-height: 1.3;
	text-decoration: none;
	letter-spacing: -.1px;
	padding-right: 20px;
}
.kb-card-title:hover { color: var(--accent2); }

/* Org jako tichý podtitul přímo pod názvem (bez ikony — dle předlohy) */
.kb-card-sub {
	color: var(--text2); font-size: 12px;
	margin-top: -2px;
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}

.kb-card-val {
	font-family: 'DM Mono', monospace;
	font-size: 15px;
	color: var(--text);
	font-weight: 600;
	letter-spacing: -.3px;
}

/* Červený pruh "Bez aktivity!" */
.kb-card-noact {
	display: flex; align-items: center; gap: 7px;
	padding: 6px 10px;
	background: var(--red-s);
	border: 1px solid rgba(232, 80, 64, .35);
	border-radius: 6px;
	color: var(--red);
	font-size: 11px; font-weight: 600;
}
.kb-card-noact i { font-size: 11px; }

.kb-card-tags { display: flex; flex-wrap: wrap; gap: 5px; }
.kb-card-tags .tag {
	display: inline-flex; align-items: center; gap: 3px;
	font-size: 10px; padding: 2px 8px;
}
.kb-card-tags .tag i { font-size: 8px; }

.kb-card-foot {
	display: flex; align-items: center; justify-content: flex-end;
	margin-top: 1px;
}
.kb-card-age {
	color: var(--text3); font-size: 11px;
	font-family: 'DM Mono', monospace;
}

/* CTA "Převést na Deal" — zelené tlačítko ve spodu karty */
.kb-card-cta {
	display: flex; align-items: center; justify-content: center; gap: 7px;
	margin-top: 5px;
	padding: 9px 12px;
	background: var(--green-s);
	color: var(--green);
	border: 1px solid var(--green);
	border-radius: 8px;
	font-size: 12px; font-weight: 600;
	text-decoration: none;
	transition: .12s;
}
.kb-card-cta:hover {
	background: var(--green);
	color: #fff;
}

/* Příští otevřená aktivita = footer pruh na spodku karty (dle předlohy):
   full-bleed do paddingu .kb-card (13px 14px), horní linka, health tint. */
.kb-card-act {
	display: flex; align-items: center; gap: 6px;
	margin: 1px -14px -13px;
	padding: 9px 14px;
	border-top: 1px solid var(--border);
	border-radius: 0 0 10px 10px;
	text-decoration: none;
	transition: filter .12s;
}
.kb-card-act.health-ok      { background: var(--green-s); border-top-color: rgba(56, 161, 105, .22); }
.kb-card-act.health-warning { background: var(--amber-s); border-top-color: rgba(245, 158, 11, .22); }
.kb-card-act.health-danger  { background: var(--red-s);   border-top-color: rgba(229, 62, 62, .22); }
.kb-card-act:hover { filter: brightness(1.12); }

/* ikona = jen barevný glyph (bez boxu), ať nesplývá s tónovaným pruhem */
.kb-card-act .kb-act-ic.act-type-ic {
	width: auto; height: auto; background: transparent; font-size: 13px;
}
.kb-act-label {
	color: var(--text); font-size: 11.5px; font-weight: 600;
	white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.kb-act-sep { color: var(--text3); }
.kb-act-when {
	flex: 0 0 auto;
	color: var(--text3); font-size: 11px;
	font-family: 'DM Mono', monospace; white-space: nowrap;
}
.kb-act-when.today   { color: var(--amber); font-weight: 600; }
.kb-act-when.overdue { color: var(--red);   font-weight: 600; }

/* Status ikonka aktivit v pravém horním rohu karty */
.kb-card-health {
	position: absolute; top: 12px; right: 12px;
	font-size: 15px; line-height: 1;
}
.kb-card-health.health-ok      { color: var(--green); }
.kb-card-health.health-warning { color: var(--amber); }
.kb-card-health.health-danger  { color: var(--red); }
.kb-card-health.health-none    { color: var(--amber); }

/* Výsledek dealu (VÝHRA/PROHRA) = footer pruh stejným jazykem jako .kb-card-act */
.kb-card-status {
	display: flex; align-items: center; justify-content: center; gap: 7px;
	margin: 1px -14px -13px;
	padding: 10px 14px;
	border-top: 1px solid var(--border);
	border-radius: 0 0 10px 10px;
	font-size: 11.5px; font-weight: 700; letter-spacing: .4px;
}
.kb-card-status i { font-size: 12px; }
.kb-card-status.won  { background: var(--green-s); color: var(--green); border-top-color: rgba(56, 161, 105, .25); }
.kb-card-status.lost { background: var(--red-s);   color: var(--red);   border-top-color: rgba(229, 62, 62, .25); }

/* LEAD DETAIL — pipeline flow + sidebar + tabs */
.lead-pipeline-flow {
	display: flex; gap: 4px;
	margin-bottom: 22px;
	overflow-x: auto;
	padding: 8px 0;
}
.lpf-step {
	flex: 1; min-width: 110px;
	padding: 10px 12px;
	background: var(--bg2);
	border: 1px solid var(--border);
	border-radius: 8px;
	text-align: center;
	position: relative;
}
.lpf-step.current {
	background: var(--accent-s);
	border-color: var(--accent);
}
.lpf-step.won { border-color: var(--green); background: var(--green-s); }
.lpf-step.lost { border-color: var(--red); background: var(--red-s); }
.lpf-dot {
	width: 8px; height: 8px;
	border-radius: 50%;
	background: var(--text3);
	margin: 0 auto 6px;
}
.lpf-step.current .lpf-dot { background: var(--accent); }
.lpf-step.won .lpf-dot { background: var(--green); }
.lpf-step.lost .lpf-dot { background: var(--red); }
.lpf-label { color: var(--text); font-size: 12px; font-weight: 500; }
.lpf-now {
	font-size: 9px;
	color: var(--accent2);
	letter-spacing: .06em;
	text-transform: uppercase;
	margin-top: 4px;
}

/* SIDEBAR info panel */
.lead-info-list { padding: 0 14px 6px; }
.lil-row {
	padding: 12px 0;
	border-bottom: 1px solid var(--border);
}
.lil-row:last-child { border-bottom: none; }
.lil-key {
	font-size: 11px;
	color: var(--text3);
	letter-spacing: .04em;
	text-transform: uppercase;
	margin-bottom: 4px;
}
.lil-val { color: var(--text); font-size: 13px; }
.lil-val a { color: var(--accent2); }

/* TABS — detail */
.lead-tabs {
	display: flex; gap: 2px;
	border-bottom: 1px solid var(--border);
	overflow-x: auto;
	padding: 0 14px;
}
.lead-tab {
	padding: 12px 14px;
	color: var(--text3);
	font-size: 12px;
	text-decoration: none;
	border-bottom: 2px solid transparent;
	white-space: nowrap;
	transition: color .12s, border-color .12s;
}
.lead-tab:hover:not(.disabled):not(.on) { color: var(--text); }
.lead-tab.on {
	color: var(--accent2);
	border-bottom-color: var(--accent2);
	font-weight: 500;
}
.lead-tab.disabled { opacity: .4; pointer-events: none; }
.lead-tab-count {
	font-size: 10px;
	color: var(--text3);
	background: var(--bg3);
	padding: 1px 5px;
	border-radius: 3px;
	margin-left: 4px;
}
.lead-tab.on .lead-tab-count {
	background: var(--accent-s);
	color: var(--accent2);
}
.lead-tab-body { padding: 18px 22px; }

/* NOTES feed */
.note-add textarea {
	width: 100%;
	background: var(--bg);
	border: 1px solid var(--border);
	color: var(--text);
	border-radius: 8px;
	padding: 10px 12px;
	font-family: inherit;
	font-size: 13px;
	outline: none;
	resize: vertical;
}
.note-add textarea:focus { border-color: var(--accent2); background: var(--bg2); }
.notes-feed { display: flex; flex-direction: column; gap: 14px; margin-top: 18px; }
.note-item {
	display: flex; gap: 10px;
	padding: 12px;
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: 8px;
}
.note-body { flex: 1; min-width: 0; }
.note-meta {
	display: flex; align-items: center; gap: 8px;
	font-size: 11px; color: var(--text3);
	margin-bottom: 4px;
}
.note-author { color: var(--text2); font-weight: 500; }
.note-date { color: var(--text3); }
.note-del {
	margin-left: auto;
	color: var(--text3);
	font-size: 12px;
}
.note-del:hover { color: var(--red); }
.note-content {
	color: var(--text);
	font-size: 13px;
	white-space: pre-wrap;
	line-height: 1.5;
}

/* Sekce header s akcí vpravo (+ Přidat …) — toggle skrytého formuláře */
.so-sect-h-flex {
	display: flex; align-items: center; justify-content: space-between;
	gap: 8px;
}
.so-add-btn {
	display: inline-flex; align-items: center; gap: 5px;
	padding: 4px 10px;
	border-radius: 6px;
	background: var(--bg2);
	border: 1px solid var(--border);
	color: var(--text2);
	font-size: 11px; font-weight: 500;
	text-transform: none; letter-spacing: 0;
	cursor: pointer;
	transition: .12s;
}
.so-add-btn:hover { border-color: var(--accent2); color: var(--text); }
.so-add-btn i { font-size: 11px; }

/* PŘÍLOHY — sjednoceno s quick-add aktivit (.qa-form + .act-feed).
   Vlastní jen file-picker (label stylovaný jako .qa-input) + delete. */
.att-pick {
	display: flex; align-items: center; gap: 8px;
	width: 100%;
	margin-bottom: 8px;
	cursor: pointer;
}
.att-pick i { color: var(--text3); flex-shrink: 0; }
.att-pick:hover { border-color: var(--accent2); }
.att-pick-label {
	flex: 1; min-width: 0;
	color: var(--text3);
	overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.att-pick.has-file .att-pick-label { color: var(--text); }
.att-name-input { flex: 1; min-width: 0; }
.att-del { margin-left: auto; color: var(--text3); font-size: 13px; flex-shrink: 0; }
.att-del:hover { color: var(--red); }

/* HISTORY feed */
.history-feed { display: flex; flex-direction: column; gap: 12px; }
.history-item {
	display: flex; gap: 10px;
	padding: 10px 12px;
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: 8px;
}
/* sloučená osa deal+lead: konverze zvýrazněná, lead fáze decentně odlišená */
.history-item-lead { border-left: 3px solid var(--border2); }
.history-item-conv {
	border-color: var(--accent);
	background: var(--accent-s);
}
.history-item-conv .history-field { color: var(--accent2); font-weight: 600; }
.history-body { flex: 1; min-width: 0; }
.history-meta {
	display: flex; align-items: center; gap: 8px;
	font-size: 11px; color: var(--text3);
	margin-bottom: 3px;
}
.history-field {
	color: var(--text2);
	font-weight: 500;
	background: var(--bg3);
	padding: 1px 6px;
	border-radius: 3px;
}
.history-change { color: var(--text); font-size: 12px; }
.hc-old { color: var(--text3); text-decoration: line-through; }
.hc-new { color: var(--text); font-weight: 500; }
.history-change i { color: var(--text3); margin: 0 4px; }
.history-by { color: var(--text3); font-size: 11px; margin-top: 3px; }

/* Bootstrap modal — recolor pro dark theme */
.modal-content .form-control {
	background: var(--bg);
	border: 1px solid var(--border);
	color: var(--text);
	padding: 9px 12px;
	font-size: 13px;
	border-radius: 6px;
}
.modal-content .form-control:focus {
	border-color: var(--accent2);
	background: var(--bg2);
	outline: none;
	box-shadow: none;
}
.modal-content label {
	color: var(--text2);
	font-size: 12px;
	font-weight: 500;
	margin-bottom: 6px;
	display: block;
}

/* =================================================================== */
/* LEAD slide-over (view panel — redesign 2026-05-14 dle prototypu)     */
/* =================================================================== */
.slide-over-wide { width: 760px; }

/* ── HERO HEADER ───────────────────────────────────────────────────── */
.lead-hero {
	background: linear-gradient(180deg, var(--bg2) 0%, var(--bg) 100%);
	margin: -20px -22px 20px;
	padding: 20px 22px 18px;
	border-bottom: 1px solid var(--border);
}
.lead-hero-top {
	display: flex; align-items: flex-start; justify-content: space-between;
	gap: 12px;
	margin-bottom: 8px;
}
.lh-context { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; min-width: 0; }
.lh-stage-pill {
	display: inline-flex; align-items: center;
	padding: 4px 12px;
	border-radius: 999px;
	font-size: 10px; font-weight: 700;
	letter-spacing: 1px;
	background: var(--accent-s);
	color: var(--accent2);
	border: 1px solid rgba(210, 36, 124, .35);
}
.lh-stage-pill.grn { background: var(--green-s); color: var(--green); border-color: var(--green); }
.lh-stage-pill.red { background: var(--red-s); color: var(--red); border-color: var(--red); }
.lh-stage-pill.acc { background: var(--accent-s); color: var(--accent2); border-color: rgba(210, 36, 124, .35); }
.lh-stage-pill.amb { background: var(--amber-s); color: var(--amber); border-color: var(--amber); }
.lh-stage-pill.pur { background: var(--purple-s); color: var(--purple); border-color: var(--purple); }
.lh-stage-pill.blu { background: var(--blue-s); color: var(--blue); border-color: var(--blue); }
.lh-pipeline { color: var(--text2); font-size: 12px; font-weight: 500; }
.lh-actions { display: flex; gap: 6px; flex-shrink: 0; }
.lh-actions .btn { padding: 6px 12px; font-size: 12px; }

.lh-title {
	font-size: 20px; font-weight: 600;
	color: var(--text);
	letter-spacing: -.3px;
	line-height: 1.25;
	margin: 2px 0 14px;
	word-break: break-word;
}

.lh-body {
	display: flex; align-items: flex-end; justify-content: space-between;
	gap: 14px;
	flex-wrap: wrap;
}
.lh-value {
	display: flex; align-items: baseline; gap: 6px;
	font-family: 'DM Mono', monospace;
}
.lh-value-cur {
	color: var(--text3);
	font-size: 14px; font-weight: 500;
}
.lh-value-num {
	color: var(--text);
	font-size: 28px; font-weight: 600;
	letter-spacing: -.5px;
	line-height: 1;
}

.lh-org {
	display: inline-flex; align-items: center; gap: 8px;
	padding: 6px 12px;
	background: var(--bg3);
	border: 1px solid var(--border);
	border-radius: 8px;
	font-size: 13px;
}
.lh-org i { color: var(--text3); }
.lh-org a { color: var(--text); font-weight: 500; text-decoration: none; }
.lh-org a:hover { color: var(--accent2); }

.lh-status {
	margin-top: 12px;
	padding: 8px 14px;
	border-radius: 8px;
	font-weight: 500;
	font-size: 13px;
	display: inline-flex; align-items: center;
}
.tbl-grn-bg { background: var(--green-s); color: var(--green); border: 1px solid var(--green); }
.tbl-red-bg { background: var(--red-s); color: var(--red); border: 1px solid var(--red); }

/* ── PIPELINE STEPPER (krásný step indicator s kruhy + spojnice) ────── */
.lpf-stepper {
	display: flex;
	align-items: flex-start;
	gap: 0;
	margin: 0 0 24px;
	padding: 18px 8px 14px;
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: 12px;
	overflow-x: auto;
}
.lps-step {
	flex: 1; min-width: 0;
	position: relative;
	display: flex; flex-direction: column; align-items: center;
	padding: 0 4px;
}
/* Spojnice mezi kroky — pseudo-element před a po bulletu */
.lps-step:not(:first-child)::before {
	content: '';
	position: absolute;
	top: 13px;
	left: 0;
	width: 50%;
	height: 2px;
	background: var(--border);
	z-index: 0;
}
.lps-step:not(:last-child)::after {
	content: '';
	position: absolute;
	top: 13px;
	left: 50%;
	width: 50%;
	height: 2px;
	background: var(--border);
	z-index: 0;
}
/* Past stages — zelené spojnice */
.lps-step.past:not(:first-child)::before,
.lps-step.past:not(:last-child)::after {
	background: var(--green);
}
.lps-step.current:not(:first-child)::before {
	background: var(--green);
}
.lps-step.won:not(:first-child)::before { background: var(--green); }
.lps-step.lost:not(:first-child)::before { background: var(--red); }

.lps-bullet {
	width: 28px; height: 28px;
	border-radius: 50%;
	background: var(--bg2);
	border: 2px solid var(--border);
	display: inline-flex; align-items: center; justify-content: center;
	color: var(--text3);
	font-size: 13px;
	position: relative; z-index: 1;
	transition: .15s;
}
.lps-step.past .lps-bullet {
	background: var(--green);
	border-color: var(--green);
	color: #fff;
}
.lps-step.current .lps-bullet {
	background: var(--bg2);
	border-color: var(--accent);
	box-shadow: 0 0 0 4px rgba(210, 36, 124, .18);
}
.lps-step.current .lps-dot {
	width: 10px; height: 10px;
	border-radius: 50%;
	background: var(--accent);
}
.lps-step.current.won .lps-bullet { border-color: var(--green); box-shadow: 0 0 0 4px rgba(56, 161, 105, .22); }
.lps-step.current.won .lps-dot { background: var(--green); }
.lps-step.current.lost .lps-bullet { border-color: var(--red); box-shadow: 0 0 0 4px rgba(229, 62, 62, .22); color: var(--red); }
.lps-step.current.lost .lps-dot { display: none; }

.lps-step.won .lps-bullet { background: var(--green); border-color: var(--green); color: #fff; }
.lps-step.lost .lps-bullet { background: var(--red); border-color: var(--red); color: #fff; }

.lps-label {
	margin-top: 8px;
	color: var(--text2);
	font-size: 11px; font-weight: 500;
	text-align: center;
	line-height: 1.3;
	max-width: 100%;
}
.lps-step.current .lps-label {
	color: var(--text);
	font-weight: 600;
}
.lps-step.past .lps-label { color: var(--text2); }
.lps-step.won .lps-label { color: var(--green); font-weight: 600; }
.lps-step.lost .lps-label { color: var(--red); font-weight: 600; }

/* ── SEKCE (vertikální stack) ──────────────────────────────────────── */
.lead-section {
	margin-bottom: 18px;
}
.lead-section-empty {
	padding: 16px;
	background: var(--bg);
	border: 1px dashed var(--border);
	border-radius: 8px;
	color: var(--text3);
	font-size: 12px;
	text-align: center;
}
.lead-section-soon {
	padding: 14px 16px;
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: 8px;
	color: var(--text3);
	font-size: 12px;
	display: flex; align-items: center; gap: 10px;
}
.lead-section-soon i {
	width: 28px; height: 28px;
	border-radius: 6px;
	background: var(--bg2);
	display: inline-flex; align-items: center; justify-content: center;
	color: var(--text3);
}
.so-sect-todo {
	font-size: 9px; font-weight: 600;
	color: var(--text3);
	background: var(--bg2);
	padding: 2px 6px;
	border-radius: 3px;
	border: 1px solid var(--border);
	margin-left: 6px;
	letter-spacing: 0;
	text-transform: lowercase;
}
.so-sect-count {
	font-size: 10px; font-weight: 600;
	color: var(--text3);
	background: var(--bg2);
	padding: 2px 7px;
	border-radius: 999px;
	border: 1px solid var(--border);
	margin-left: 6px;
	letter-spacing: 0;
}

/* ── KLIENT sekce ──────────────────────────────────────────────────── */

.lead-client-org, .lead-client-person, .lead-client-owner {
	display: flex; align-items: flex-start; gap: 12px;
	padding: 12px 14px;
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: 8px;
}
.lead-client-person { grid-column: 1 / -1; }  /* osoba přes celou šíři */
.lead-client-person.empty {
	border-style: dashed;
	align-items: center;
}
.lead-client-person.empty > i {
	width: 32px; height: 32px;
	border-radius: 8px;
	background: var(--bg3);
	display: inline-flex; align-items: center; justify-content: center;
	color: var(--text3);
	font-size: 14px;
	flex-shrink: 0;
}
.lead-client-org > i {
	width: 32px; height: 32px;
	border-radius: 8px;
	background: var(--bg3);
	display: inline-flex; align-items: center; justify-content: center;
	color: var(--text2);
	font-size: 14px;
	flex-shrink: 0;
}
.lead-client-org-name {
	color: var(--text); font-weight: 600; font-size: 14px;
	text-decoration: none;
	display: block;
}
.lead-client-org-name:hover { color: var(--accent2); }
.lead-client-org-meta {
	color: var(--text3); font-size: 11px;
	margin-top: 4px;
	display: flex; gap: 8px; align-items: center; flex-wrap: wrap;
	font-family: 'DM Mono', monospace;
}
.lead-client-person > .user-tag-md {
	width: 36px; height: 36px;
	font-size: 12px;
	flex-shrink: 0;
}
.lead-client-person-name {
	color: var(--text); font-weight: 600; font-size: 14px;
	text-decoration: none;
	display: block;
}
.lead-client-person-name:hover { color: var(--accent2); }
.lead-client-person-pos {
	color: var(--text2); font-size: 12px; margin-top: 2px;
}
.lead-client-person-contact {
	display: flex; gap: 14px; flex-wrap: wrap;
	margin-top: 6px;
	font-size: 11px;
}
.lead-client-person-contact a {
	color: var(--text3); text-decoration: none;
	display: inline-flex; align-items: center;
}
.lead-client-person-contact a:hover { color: var(--accent2); }
.lead-client-person-contact i { font-size: 11px; }

.lead-client-owner > .user-tag-md {
	width: 32px; height: 32px;
	font-size: 11px;
	flex-shrink: 0;
}
.lead-client-owner-name {
	color: var(--text); font-weight: 500; font-size: 13px;
}
.lead-client-owner-role {
	color: var(--text3); font-size: 11px; margin-top: 2px;
}

/* ── PŘÍZNAKY sekce ────────────────────────────────────────────────── */
.lead-flags {
	display: flex; flex-wrap: wrap;
	background: var(--bg);
	border: 1px solid var(--border);
	border-radius: 8px;
}
.lead-flag {
	display: flex; align-items: center; gap: 10px;
	 min-width: 140px;
}
.lead-flag-icon {
	width: 28px; height: 28px;
	border-radius: 6px;
	background: var(--bg2);
	display: inline-flex; align-items: center; justify-content: center;
	color: var(--text2);
	flex-shrink: 0;
}
.lead-flag-label {
	color: var(--text3); font-size: 10px;
	letter-spacing: .5px;
	text-transform: uppercase;
	font-weight: 500;
}
.lead-flag-value {
	color: var(--text); font-size: 13px; font-weight: 500;
	margin-top: 1px;
}

/* ── PRODUKTY — sekce + card grid (předloha prototyp-v2) ───────────────── */
.sec-label {
	font-size: 11px; font-weight: 700; letter-spacing: .06em;
	text-transform: uppercase; color: var(--text3);
	margin: 4px 0 14px;
	display: flex; align-items: baseline; gap: 10px; flex-wrap: wrap;
}
.sec-label-mt { margin-top: 36px; }
.sec-sub {
	font-size: 11px; font-weight: 500; letter-spacing: 0;
	text-transform: none; color: var(--text3);
}

.prod-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(270px, 1fr));
	gap: 16px;
}
.prod-card {
	display: block; text-decoration: none;
	background: var(--bg2);
	border: 1px solid var(--border);
	border-radius: 12px;
	overflow: hidden;
	transition: border-color .14s, transform .14s;
}
.prod-card:hover { border-color: var(--border2); transform: translateY(-2px); }
.prod-card.is-off { opacity: .55; }
.prod-card.is-off:hover { opacity: .8; }
.prod-card-banner { height: 84px; }
.prod-bn-acc { background: linear-gradient(135deg, var(--accent-s), var(--bg3)); }
.prod-bn-grn { background: linear-gradient(135deg, var(--green-s),  var(--bg3)); }
.prod-bn-pur { background: linear-gradient(135deg, var(--purple-s), var(--bg3)); }
.prod-bn-amb { background: linear-gradient(135deg, var(--amber-s),  var(--bg3)); }
.prod-bn-red { background: linear-gradient(135deg, var(--red-s),    var(--bg3)); }
.prod-card-body { padding: 16px; }
.prod-card-head { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.prod-ic {
	width: 34px; height: 34px; border-radius: 9px;
	display: inline-flex; align-items: center; justify-content: center;
	font-size: 16px; flex-shrink: 0;
}
.prod-ic.ic-acc { background: var(--accent-s); color: var(--accent2); }
.prod-ic.ic-grn { background: var(--green-s);  color: var(--green); }
.prod-ic.ic-pur { background: var(--purple-s); color: var(--purple); }
.prod-ic.ic-amb { background: var(--amber-s);  color: var(--amber); }
.prod-ic.ic-red { background: var(--red-s);    color: var(--red); }
.prod-card-name {
	color: var(--text); font-weight: 600; font-size: 14px;
	flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
}
.prod-off-tag { font-size: 10px; padding: 2px 7px; }
.prod-card-desc {
	color: var(--text3); font-size: 12px; line-height: 1.45;
	min-height: 34px; margin-bottom: 14px;
}
.prod-card-stats {
	display: flex; gap: 28px;
	padding-top: 14px; border-top: 1px solid var(--border);
}
.pcs-label {
	font-size: 10px; font-weight: 700; letter-spacing: .05em;
	text-transform: uppercase; color: var(--text3); margin-bottom: 3px;
}
.pcs-val { font-size: 18px; font-weight: 700; color: var(--text); font-family: 'DM Mono', monospace; }
.pcs-val-acc { color: var(--accent2); }
.prod-card-price {
	margin-top: 12px; color: var(--text3);
	font-size: 12px; font-family: 'DM Mono', monospace;
}

.prod-hw-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(420px, 1fr));
	gap: 16px;
}
.prod-hw-card {
	background: var(--bg2);
	border: 1px solid var(--border);
	border-radius: 12px;
	padding: 18px 20px;
}
.prod-hw-head { display: flex; align-items: center; gap: 12px; margin-bottom: 16px; }
.prod-hw-name { color: var(--accent2); font-weight: 700; font-size: 15px; }
.prod-hw-sub { color: var(--text3); font-size: 11px; margin-top: 2px; }
.prod-hw-foot {
	display: flex; align-items: center; justify-content: space-between;
	padding-top: 14px; border-top: 1px solid var(--border);
	color: var(--text2); font-size: 12px;
}
.prod-hw-price { color: var(--text3); font-family: 'DM Mono', monospace; }

/* ── Položky dealu (deal_products) v slide-over detailu ──────────────── */
.dp-subtotal {
	margin-left: auto; color: var(--accent2);
	font-family: 'DM Mono', monospace; font-weight: 700; font-size: 13px;
}
.dp-add { margin-bottom: 14px; }
.dp-pick {
	width: 100%; margin-bottom: 8px;
	background: var(--bg); border: 1px solid var(--border);
	color: var(--text); border-radius: 7px; padding: 7px 9px; font-size: 12px;
}
.dp-add-row { display: flex; align-items: center; gap: 6px; }
.dp-in {
	background: var(--bg); border: 1px solid var(--border);
	color: var(--text); border-radius: 6px; padding: 6px 8px;
	font-size: 12px; font-family: 'DM Mono', monospace; min-width: 0;
}
.dp-in:focus { border-color: var(--accent2); outline: none; }
.dp-in-qty { width: 52px; text-align: right; }
.dp-in-price { width: 92px; text-align: right; flex: 1; }
.dp-in-disc { width: 44px; text-align: right; }
.dp-pct, .dp-x, .dp-unit { color: var(--text3); font-size: 11px; }
.dp-list { display: flex; flex-direction: column; gap: 8px; }
.dp-item {
	background: var(--bg2); border: 1px solid var(--border);
	border-radius: 8px; padding: 9px 11px;
}
.dp-head { display: flex; align-items: center; gap: 8px; }
.dp-thumb {
	display: inline-flex; align-items: center; justify-content: center;
	flex: 0 0 32px; width: 32px; height: 32px;
	background: var(--bg); border: 1px solid var(--border);
	border-radius: 6px; overflow: hidden;
	color: var(--text3); font-size: 14px;
}
.dp-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.dp-name { color: var(--text); font-weight: 600; font-size: 13px; }
.dp-code {
	color: var(--text3); font-size: 11px; font-family: 'DM Mono', monospace;
}
.dp-total {
	margin-left: auto; color: var(--text);
	font-family: 'DM Mono', monospace; font-weight: 700; font-size: 13px;
}
.dp-edit { display: flex; align-items: center; gap: 5px; margin-top: 8px; flex-wrap: wrap; }
.dp-edit .btn-sm { padding: 5px 9px; }
.dp-ro { margin-top: 5px; color: var(--text3); font-size: 12px; font-family: 'DM Mono', monospace; }
.dp-foot {
	display: flex; justify-content: space-between; align-items: center;
	padding: 10px 11px 2px; border-top: 1px solid var(--border);
	margin-top: 2px; color: var(--text2); font-size: 12px;
}
.dp-foot-sum {
	color: var(--accent2); font-weight: 700;
	font-family: 'DM Mono', monospace; font-size: 14px;
}

/* ── Skladové produkty — řádkový výpis (sloupce dle prototyp-v2) ──────── */
.hw-foto {
	width: 32px; height: 32px; border-radius: 6px; font-size: 14px;
}
.hw-foto-img {
	display: inline-block; overflow: hidden; background: var(--bg2);
	border: 1px solid var(--brd); vertical-align: middle;
}
.hw-foto-img img {
	width: 100%; height: 100%; object-fit: cover; display: block;
}
.hw-stav {
	display: inline-flex; align-items: center; justify-content: center;
	width: 26px; height: 26px; border-radius: 6px; font-size: 15px;
	text-decoration: none; transition: .12s;
}
.hw-stav.on  { color: var(--green); }
.hw-stav.off { color: var(--text3); }
.hw-stav:hover { background: var(--bg3); }

/* Datasheet tlačítko v tabulce hw produktů — vedle Stav/Smazat. */
.hw-datasheet {
	display: inline-flex; align-items: center; justify-content: center;
	width: 26px; height: 26px; border-radius: 6px; font-size: 15px;
	color: var(--accent2); text-decoration: none; transition: .12s;
	margin-right: 4px;
}
.hw-datasheet:hover { background: var(--bg3); color: var(--accent); }

/* Datasheet modal — vlastní pattern (ne Bootstrap JS modal, viz pipeline).
   .modal-backdrop-x/.modal-x styly viz výše. JS přepne display: none → flex. */
.ds-modal-sub {
	color: var(--text3); font-size: 12px; margin-top: 2px;
}
.ds-modal-code { font-family: 'DM Mono', monospace; }
.ds-modal-link { color: var(--accent2); text-decoration: none; }
.ds-modal-link:hover { text-decoration: underline; }
.ds-modal-desc {
	color: var(--text2); line-height: 1.55; font-size: 13px;
	margin-bottom: 16px;
}
/* Dvousloupcový layout body: foto vlevo, popis + tabulka vpravo. Pokud
   fotka chybí, .has-image se nepřidá → grid degraduje na 1 sloupec. */
.ds-modal-body.has-image {
	display: grid; grid-template-columns: 240px 1fr; gap: 20px;
	align-items: start;
}
.ds-modal-image {
	background: var(--bg); border: 1px solid var(--border);
	border-radius: 8px; overflow: hidden;
	display: flex; align-items: center; justify-content: center;
	min-height: 240px;
}
.ds-modal-image img {
	max-width: 100%; max-height: 320px;
	object-fit: contain; display: block;
}
@media (max-width: 720px) {
	.ds-modal-body.has-image { grid-template-columns: 1fr; }
	.ds-modal-image { min-height: 0; }
	.ds-modal-image img { max-height: 220px; }
}
.ds-table {
	width: 100%; border-collapse: collapse; font-size: 13px;
}
.ds-table th {
	text-align: left; padding: 8px 16px 8px 0;
	color: var(--text3); font-weight: 500; vertical-align: top;
	width: 38%; border-bottom: 1px solid var(--border);
}
.ds-table td {
	padding: 8px 0; color: var(--text);
	border-bottom: 1px solid var(--border);
}
.ds-table tr:last-child th, .ds-table tr:last-child td { border-bottom: none; }

/* Skladová dostupnost — async načítaná po otevření edit panelu (pokud nex
   neodpoví, zůstane display:none nastaveno z šablony). */
.nx-av { margin: 12px 0 0; padding: 8px 12px; font-size: 12px; }

/* Foto sekce v slide-over panelu produktu (náhled vlevo, upload vpravo) */
.prod-img-row {
	display: flex; gap: 12px; align-items: flex-start; margin-bottom: 8px;
}
.prod-img-preview {
	flex: 0 0 96px; width: 96px; height: 96px; border-radius: 8px;
	background: var(--bg2); border: 1px solid var(--brd); overflow: hidden;
	display: flex; align-items: center; justify-content: center;
}
.prod-img-preview img { width: 100%; height: 100%; object-fit: cover; }
.prod-img-empty {
	color: var(--text3); font-size: 32px; line-height: 1;
}
.prod-img-fields { flex: 1; min-width: 0; }

/* ─── Quote Type color palette (avoids Latte escapeCss escaping var()) ───── */
.qt-color-accent  { color: var(--accent);  background: var(--accent-s); }
.qt-color-amber   { color: var(--amber);   background: var(--amber-s); }
.qt-color-green   { color: var(--green);   background: var(--green-s); }
.qt-color-purple  { color: var(--purple);  background: var(--purple-s); }
.qt-color-red     { color: var(--red);     background: var(--red-s); }
.qt-color-blue    { color: var(--blue);    background: var(--blue-s); }
.qt-color-neutral { color: var(--text3);   background: var(--bg3); }

/* ─── Scénáře (automatizace) — karty + anatomie ─────────────────────────── */
.scn-mono { font-family: 'DM Mono', monospace; }
.scn-card { padding: 16px 18px; }
.scn-off { opacity: .6; }
.scn-card-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 12px; }
.scn-card-main { min-width: 0; }
.scn-name { color: var(--text); font-weight: 600; font-size: 14px; }
.scn-runs { color: var(--text3); font-size: 12px; }
.scn-card-act { display: flex; align-items: center; gap: 6px; flex-shrink: 0; }
.scn-iconbtn { padding: 4px 10px; font-size: 12px; }
.scn-del { color: var(--red); }
.scn-switch { padding-left: 2.6em; cursor: pointer; }
.scn-switch .form-check-input { cursor: pointer; }

.scn-anatomy { margin-top: 14px; padding-top: 14px; border-top: 1px solid var(--border2); }
.scn-col-label { color: var(--text3); font-size: 10px; text-transform: uppercase; letter-spacing: .04em; margin-bottom: 6px; }
.scn-chip { display: inline-flex; align-items: center; background: var(--bg3); border: 1px solid var(--border2);
	border-radius: 6px; padding: 4px 10px; font-size: 12px; color: var(--text); }
.scn-cond, .scn-act { font-size: 12px; color: var(--text2); padding: 3px 0; }
.scn-cond strong, .scn-act strong { color: var(--text); font-weight: 600; }
.scn-muted { color: var(--text3); font-size: 12px; }

/* form inline sekce */
.scn-inline { background: var(--bg3); border: 1px solid var(--border2); border-radius: 6px; padding: 8px; }
.scn-action-row { background: var(--bg2); border: 1px solid var(--border2); border-radius: 6px; padding: 8px; }
.scn-num { max-width: 72px; }
.scn-unit { max-width: 110px; }
.scn-slide { max-width: 600px; }

/* ─── Convert modal (Lead → Deal) ──────────────────────────────────────── */
.cv-modal { background: var(--bg2); border: 1px solid var(--border2); color: var(--text); }
.cv-modal-bd { border-color: var(--border) !important; }
.cv-summary { background: var(--bg3); border: 1px solid var(--border2); border-radius: 8px; }
.cv-source { color: var(--text); font-weight: 500; padding-top: 4px; }
.cv-req { color: var(--accent); }
.cv-persons { max-height: 340px; overflow-y: auto; }
.cv-radio { position: absolute; opacity: 0; width: 0; height: 0; pointer-events: none; }
.cv-person {
	margin: 0;
	border: 1px solid var(--border2); border-radius: 8px;
	background: var(--bg3); cursor: pointer;
	transition: border-color .12s ease, background-color .12s ease;
}
.cv-person:hover { border-color: var(--border); }
.cv-person-info { min-width: 0; }
.cv-person-name { color: var(--text); font-weight: 500; font-size: 14px; }
.cv-person-regions { color: var(--text3); font-size: 11px; }
.cv-group-label {
	font-size: 11px; font-weight: 600; text-transform: uppercase; letter-spacing: .04em;
	color: var(--text2); margin: 2px 0 6px;
}
.cv-group-empty { color: var(--text3); font-size: 12px; font-style: italic; padding: 2px 2px 4px; }
.cv-person-role { color: var(--text2); font-size: 12px; }
.cv-person-check { color: var(--accent); font-size: 17px; opacity: 0; flex: none; }
.cv-radio:checked + .cv-person { border-color: var(--accent); background: var(--accent-s); }
.cv-radio:checked + .cv-person .cv-person-check { opacity: 1; }
.cv-radio:focus-visible + .cv-person { outline: 2px solid var(--accent); outline-offset: 1px; }

/* ─── Přehled Akvizice (Report:Acquisition) ────────────────────────────── */
.acq-updated { color: var(--text3); font-size: 12px; white-space: nowrap; }
.acq-empty-ic { font-size: 40px; color: var(--text3); }

/* KPI karty */
.acq-kpi {
	background: var(--bg2); border: 1px solid var(--border2); border-radius: 10px;
	padding: 16px 18px; height: 100%;
}
.acq-kpi-ic {
	width: 38px; height: 38px; border-radius: 9px; margin-bottom: 12px;
	display: inline-flex; align-items: center; justify-content: center; font-size: 18px;
}
.acq-kpi-label { color: var(--text2); font-size: 12px; }
.acq-kpi-value { color: var(--text); font-size: 30px; font-weight: 700; letter-spacing: -.5px; margin: 2px 0 10px; }

/* sdílený progress bar */
.acq-bar { height: 5px; border-radius: 3px; background: var(--bg4, var(--bg3)); overflow: hidden; }
.acq-bar-fill { display: block; height: 100%; border-radius: 3px; }

/* barevné varianty (ikona = subtle bg + barva, bar-fill = plná barva) */
.acq-kpi-ic.acq-grn { background: var(--green-s);  color: var(--green); }
.acq-kpi-ic.acq-red { background: var(--red-s);    color: var(--red); }
.acq-kpi-ic.acq-acc { background: var(--accent-s); color: var(--accent2); }
.acq-kpi-ic.acq-amb { background: var(--amber-s);  color: var(--amber); }
.acq-bar-fill.acq-grn { background: var(--green); }
.acq-bar-fill.acq-red { background: var(--red); }
.acq-bar-fill.acq-acc { background: var(--accent); }
.acq-bar-fill.acq-amb { background: var(--amber); }

/* karty per osoba */
.acq-person {
	background: var(--bg2); border: 1px solid var(--border2); border-radius: 10px;
	padding: 16px; text-align: center; height: 100%;
}
.acq-av {
	width: 44px; height: 44px; border-radius: 50%; margin: 0 auto 10px;
	display: flex; align-items: center; justify-content: center;
	font-size: 14px; font-weight: 700; color: #fff;
}
.acq-av-0 { background: var(--green); }
.acq-av-1 { background: var(--blue); }
.acq-av-2 { background: var(--accent); }
.acq-av-3 { background: var(--amber); }
.acq-av-4 { background: var(--purple); }
.acq-av-5 { background: var(--red); }
.acq-person-name { color: var(--text); font-weight: 600; font-size: 13px; }
.acq-person-stats { display: flex; justify-content: center; gap: 14px; color: var(--text2); font-size: 12px; margin: 6px 0 10px; }
.acq-person-stats b { color: var(--text); }
.acq-person-rate { color: var(--green); font-size: 12px; font-weight: 600; margin-top: 6px; }

/* panely graf + žebříček */
.acq-panel { padding: 16px 18px; height: 100%; }
.acq-panel-h { font-weight: 600; color: var(--text); font-size: 14px; margin-bottom: 14px; }
.acq-chart-wrap { position: relative; height: 300px; }

/* žebříček */
.acq-rank { width: 100%; }
.acq-rank th { color: var(--text3); font-size: 11px; font-weight: 600; text-transform: uppercase; }
.acq-rank td { color: var(--text); font-size: 13px; }
.acq-rank-pos { color: var(--text2); font-weight: 600; }
.acq-trophy-0 { color: #f0c020; }
.acq-trophy-1 { color: #b8b8c8; }
.acq-trophy-2 { color: #cd8032; }

/* Notifikace */
.notif-badge { position: absolute; top: 2px; right: 2px; min-width: 16px; height: 16px;
	padding: 0 4px; font-size: 10px; line-height: 16px; text-align: center;
	border-radius: 8px; background: var(--accent); color: #fff; }
.notif-dropdown { width: 320px; max-height: 70vh; overflow-y: auto; }
.notif-line { border-bottom: 1px solid var(--border); }
.notif-unread .notif-title { font-weight: 600; }
.notif-unread { background: var(--bg2); }
.notif-title { color: var(--text); }

/* User dropdown menu links */
.user-menu-link { color: var(--text2); font-size: 13px; }
