/* WoodAccept – moderní vzhled (volba uživatele, BasePresenter::isModernUi()).
   Načítá se v @layout.latte jen pro body.ui-modern, všechna pravidla jsou omezená na .ui-modern,
   takže klasický vzhled se nemění. Stránky lze převádět postupně šablonami "<akce>.modern.latte".
-------------------------------------------------- */
body.ui-modern {
	--wa-bg: #f6f7f9;
	--wa-surface: #ffffff;
	--wa-bar: #e9ecef;
	--wa-line: #dde1e5;
	--wa-fg: #212529;
	--wa-muted: #6c757d;
	--wa-accent: #1f6fb2;
	--wa-accent-soft: #e3eef8;
	--wa-success: #23863b;
	--wa-radius: .35rem;
	--wa-shadow: 0 10px 30px rgba(20, 30, 40, .14);
	--wa-nav-h: 60px;

	background-color: var(--wa-bg);
	padding-top: calc(var(--wa-nav-h) + 12px);
}

/* ---------- navbar ---------- */
.ui-modern .navbar-modern {
	min-height: var(--wa-nav-h);
	padding: .35rem 1rem;
	background: var(--wa-surface);
	border-bottom: 1px solid var(--wa-line);
	box-shadow: 0 1px 4px rgba(20, 30, 40, .06);
}

/* barva odběratele (nav.mondi, nav.storaenso … ve woodaccept.css) jako tenký akcent */
.ui-modern .navbar-modern.mondi,
.ui-modern .navbar-modern.woodpaper,
.ui-modern .navbar-modern.maresch,
.ui-modern .navbar-modern.mm,
.ui-modern .navbar-modern.wotan,
.ui-modern .navbar-modern.storaenso,
.ui-modern .navbar-modern.mercer,
.ui-modern .navbar-modern.labewood,
.ui-modern .navbar-modern.pha,
.ui-modern .navbar-modern.hnzl {
	border-bottom-width: 4px;
}

.ui-modern .navbar-modern .navbar-brand {
	padding: 0;
	margin-right: 1.25rem;
}

.ui-modern .navbar-modern .navbar-brand img {
	height: 24px;
	width: auto;
}

.ui-modern .navbar-modern .navbar-collapse {
	gap: .35rem;
}

.ui-modern .nm-right {
	margin-left: auto;
	display: flex;
	align-items: center;
	gap: .35rem;
}

.ui-modern .nm-item {
	position: relative;
}

.ui-modern .nm-toggle {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	padding: .3rem .55rem;
	border: 1px solid transparent;
	border-radius: var(--wa-radius);
	color: var(--wa-fg);
	text-decoration: none;
	white-space: nowrap;
	line-height: 1.2;
}

.ui-modern .nm-toggle:hover,
.ui-modern .nm-toggle:focus,
.ui-modern .show > .nm-toggle {
	background: var(--wa-bar);
	color: var(--wa-fg);
	text-decoration: none;
}

.ui-modern .nm-toggle.dropdown-toggle::after {
	margin-left: .15rem;
	color: var(--wa-muted);
}

.ui-modern .nm-module {
	font-weight: 600;
}

.ui-modern .nm-module .far {
	color: var(--wa-accent);
}

.ui-modern .nm-storage {
	background: #fff3cd;
	border-color: #ffe08a;
}

/* moduly jako záložky (navbar-modern.latte), aktivní podbarvená barvou odběratele; zbytek ve „Více“ */
.ui-modern .nm-tabs {
	display: flex;
	align-items: center;
	gap: .15rem;
	min-width: 0;
}

.ui-modern .nm-tab {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .35rem .65rem;
	border-radius: var(--wa-radius);
	color: var(--wa-muted);
	font-weight: 500;
	white-space: nowrap;
	text-decoration: none !important;
}

.ui-modern .nm-tab i {
	font-size: .9em;
	opacity: .75;
}

.ui-modern .nm-tab:hover {
	background: var(--wa-bar);
	color: var(--wa-fg);
}

.ui-modern .nm-tab.active {
	background: var(--wa-brand-soft, #e4f3e8);
	color: var(--wa-brand-dark, #1e7e34);
	font-weight: 700;
}

.ui-modern .nm-tab.active i {
	color: var(--wa-brand, #28a745);
	opacity: 1;
}

.ui-modern .nm-more > .nm-toggle {
	color: var(--wa-muted);
}

.ui-modern .nm-more > .nm-toggle.is-active {
	background: var(--wa-brand-soft, #e4f3e8);
	color: var(--wa-brand-dark, #1e7e34);
	font-weight: 700;
}

.ui-modern .nm-more .dropdown-menu {
	min-width: 14rem;
}

.ui-modern .nm-purchaser {
	border-color: var(--wa-line);
	background: var(--wa-bg);
}

.ui-modern .nm-text {
	display: grid;
	text-align: left;
	min-width: 0;
}

.ui-modern .nm-name {
	font-weight: 600;
	font-size: .85rem;
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 16rem;
}

.ui-modern .nm-sub {
	font-size: .72rem;
	color: var(--wa-muted);
	overflow: hidden;
	text-overflow: ellipsis;
	max-width: 16rem;
}

/* vlajka země odběratele – jen malá značka vedle kódu */
.ui-modern .nm-sub img {
	width: 16px !important;
	height: auto !important;
	max-height: 11px;
	vertical-align: 0;
	margin-right: .1rem;
}

.ui-modern .nm-lang img,
.ui-modern .navbar-modern .dropdown-item img.lang {
	width: 14px;
	height: auto;
}

.ui-modern .nm-sub b {
	color: var(--wa-fg);
	letter-spacing: .03em;
}

/* logo odběratele (images/purchasers/<kód>.png) v rámečku */
.ui-modern .nm-logo {
	display: inline-grid;
	place-items: center;
	width: 52px;
	height: 34px;
	flex: none;
	background: #fff;
	border: 1px solid var(--wa-line);
	border-radius: .3rem;
	padding: 2px 4px;
}

.ui-modern #navbar-purchaser .nm-logo img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
}

.ui-modern .nm-logo.small {
	width: 42px;
	height: 28px;
}

.ui-modern .nm-lang {
	font-weight: 600;
	font-size: .8rem;
}

.ui-modern .nm-avatar {
	display: inline-grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	flex: none;
	border-radius: 50%;
	background: var(--wa-accent);
	color: #fff;
	font-size: .75rem;
	font-weight: 700;
}

/* rozbalovací nabídky */
.ui-modern .navbar-modern .dropdown-menu {
	margin-top: .4rem;
	padding: .35rem;
	border: 1px solid var(--wa-line);
	border-radius: .45rem;
	box-shadow: var(--wa-shadow);
	max-height: calc(100vh - var(--wa-nav-h) - 30px);
	overflow-y: auto;
}

.ui-modern .navbar-modern .dropdown-item {
	display: flex;
	align-items: center;
	gap: .5rem;
	border-radius: .25rem;
	padding: .4rem .6rem;
	font-size: .875rem;
}

.ui-modern .navbar-modern .dropdown-item.active,
.ui-modern .navbar-modern .dropdown-item:active {
	background: var(--wa-accent-soft);
	color: var(--wa-fg);
	font-weight: 600;
}

.ui-modern .navbar-modern .dropdown-item > i {
	width: 1.1rem;
	text-align: center;
	color: var(--wa-muted);
}

.ui-modern .nm-menu-head,
.ui-modern .nm-group {
	font-size: .7rem;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: var(--wa-muted);
	font-weight: 700;
	padding: .45rem .6rem .25rem;
}

.ui-modern .nm-purchasers {
	min-width: 20rem;
}

/* skupiny odběratelů – sbalitelné, s podbarveným záhlavím a počtem */
.ui-modern .nm-groups {
	display: grid;
	gap: .3rem;
	margin: 0;
}

.ui-modern .nm-group-wrap {
	border: 1px solid var(--wa-line);
	border-radius: .35rem;
	overflow: hidden;
}

.ui-modern .nm-group-head {
	display: flex;
	align-items: center;
	gap: .5rem;
	width: 100%;
	border: 0;
	background: var(--wa-bar);
	padding: .45rem .6rem;
	font-size: .78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--wa-fg);
	text-align: left;
	cursor: pointer;
}

.ui-modern .nm-group-head:hover {
	background: #dfe3e7;
}

.ui-modern .nm-group-head:focus {
	outline: 2px solid var(--wa-accent);
	outline-offset: -2px;
}

.ui-modern .nm-group-count {
	background: var(--wa-surface);
	color: var(--wa-muted);
	border-radius: 999px;
	padding: 0 .45rem;
	font-size: .7rem;
	letter-spacing: 0;
}

.ui-modern .nm-chevron {
	margin-left: auto;
	font-size: .7rem;
	color: var(--wa-muted);
	transition: transform .2s;
}

.ui-modern .nm-group-head.collapsed .nm-chevron {
	transform: rotate(-90deg);
}

.ui-modern .nm-group-items {
	padding: .25rem;
	background: var(--wa-surface);
}

.ui-modern .nm-purchaser-item .nm-name {
	flex: 1;
	max-width: none;
}

/* #navbar-purchaser – přebije "#navbar-purchaser img { width: 50px }" z woodaccept.css */
.ui-modern #navbar-purchaser .nm-flag {
	width: 16px;
	height: auto;
	flex: none;
	opacity: .85;
}

@media (prefers-reduced-motion: reduce) {
	.ui-modern .nm-chevron {
		transition: none;
	}
}

.ui-modern .nm-search {
	margin: .1rem 0 .3rem;
}

.ui-modern .nm-code {
	display: inline-block;
	width: 1.8rem;
	color: var(--wa-muted);
	font-size: .75rem;
}

/* mobil a tablet: sbalený navbar, položky pod sebou */
@media (max-width: 991.98px) {
	.ui-modern .navbar-modern .navbar-collapse {
		max-height: calc(100vh - var(--wa-nav-h));
		overflow-y: auto;
		padding: .5rem 0;
	}

	.ui-modern .nm-right {
		margin-left: 0;
		flex-direction: column;
		align-items: stretch;
	}

	.ui-modern .nm-item,
	.ui-modern .nm-toggle {
		width: 100%;
	}

	.ui-modern .nm-tabs {
		flex-direction: column;
		align-items: stretch;
		margin-bottom: .25rem;
	}

	.ui-modern .nm-tab {
		padding: .45rem .55rem;
	}

	.ui-modern .navbar-modern .dropdown-menu {
		position: static;
		float: none;
		box-shadow: none;
		max-height: 60vh;
	}

	.ui-modern .nm-purchasers {
		min-width: 0;
	}

	.ui-modern .nm-name,
	.ui-modern .nm-sub {
		max-width: none;
	}
}

/* ---------- obsah: lehčí vzhled běžných prvků (i na nepřevedených stránkách) ---------- */
.ui-modern .card {
	border-color: var(--wa-line);
	border-radius: var(--wa-radius);
}

.ui-modern .modal-content {
	border: 0;
	border-radius: .5rem;
	box-shadow: var(--wa-shadow);
}

.ui-modern .table thead th {
	border-bottom-width: 1px;
}

.ui-modern .footer {
	background: var(--wa-surface);
	border-top: 1px solid var(--wa-line);
}

/* ---------- sestavy: štítky aktivních filtrů pod lištou (Report/default.latte) ---------- */
.ui-modern .nm-active-filters {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .35rem;
	margin: -.4rem 0 1rem;
}

.ui-modern .nm-af-label {
	font-size: .8rem;
	color: var(--wa-muted);
	margin-right: .15rem;
}

.ui-modern .nm-chip {
	display: inline-flex;
	align-items: center;
	border: 1px solid var(--wa-line);
	background: var(--wa-surface);
	border-radius: 999px;
	font-size: .8rem;
	overflow: hidden;
}

.ui-modern .nm-chip-open {
	border: 0;
	background: transparent;
	padding: .15rem .3rem .15rem .7rem;
	color: var(--wa-fg);
	cursor: pointer;
}

.ui-modern .nm-chip-open:only-child {
	padding-right: .7rem;
}

.ui-modern .nm-chip-open:hover {
	color: var(--wa-accent);
}

.ui-modern .nm-chip-key {
	color: var(--wa-muted);
	margin-right: .15rem;
}

.ui-modern .nm-chip-x {
	display: inline-grid;
	place-items: center;
	width: 1.5rem;
	height: 1.5rem;
	margin-right: .15rem;
	border-radius: 50%;
	color: var(--wa-muted);
	font-size: 1rem;
	line-height: 1;
	text-decoration: none;
}

.ui-modern .nm-chip-x:hover {
	background: #fbe6e8;
	color: #c82333;
	text-decoration: none;
}

/* ---------- filtr sestavy jako postranní panel zleva (modal #filter.nm-drawer) – na stejné straně jako tlačítko Filtr ---------- */
.ui-modern .modal.nm-drawer .modal-dialog {
	position: fixed;
	top: 0;
	left: 0;
	bottom: 0;
	margin: 0;
	width: 460px;
	max-width: 100%;
	height: 100%;
	max-height: none;
	transform: translateX(-100%);
	transition: transform .25s ease-out;
}

.ui-modern .modal.nm-drawer.show .modal-dialog {
	transform: none;
}

.ui-modern .modal.nm-drawer .modal-content {
	height: 100%;
	max-height: none;
	border-radius: 0;
}

.ui-modern .modal.nm-drawer .modal-header {
	padding: .8rem 1.1rem;
	border-bottom: 1px solid var(--wa-line);
}

.ui-modern .modal.nm-drawer .modal-title {
	font-size: 1.05rem;
	font-weight: 600;
}

.ui-modern .modal.nm-drawer .modal-body {
	padding: 0;
}

@media (prefers-reduced-motion: reduce) {
	.ui-modern .modal.nm-drawer .modal-dialog {
		transition: none;
	}
}

/* ---------- moderní šablona filtru (FormAcceptanceReportFilterFactory.modern.latte) ---------- */
.ui-modern .nmf {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	font-size: .875rem;
}

.ui-modern .nm-drawer .nmf {
	border: 0;
	border-radius: 0;
	min-height: 100%;
	display: flex;
	flex-direction: column;
}

.ui-modern .nmf-body {
	padding: .2rem 1.1rem .8rem;
	flex: 1;
}

.ui-modern .nmf-sec {
	padding: .9rem 0;
	border-bottom: 1px solid var(--wa-line);
}

.ui-modern .nmf-title {
	font-size: .72rem;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: var(--wa-muted);
	font-weight: 700;
	margin: 0 0 .55rem;
}

.ui-modern .nmf .form-group {
	margin-bottom: .65rem;
}

.ui-modern .nmf-label {
	display: flex;
	align-items: center;
	gap: .35rem;
	font-size: .8rem;
	font-weight: 600;
	margin-bottom: .25rem;
}

.ui-modern .nmf-label label {
	margin: 0;
}

.ui-modern .nmf-del {
	margin-left: auto;
	color: var(--wa-muted);
	cursor: pointer;
	padding: .15rem .3rem;
	border-radius: .25rem;
	float: none !important;
}

.ui-modern .nmf-del:hover {
	color: #c82333;
	background: #fbe6e8;
}

.ui-modern .nmf-report .select2-container .select2-selection {
	border-color: var(--wa-accent);
	font-weight: 600;
}

/* volby sestavy (zobrazuje je woodaccept.js podle vybrané sestavy); prázdný box se skryje */
.ui-modern .nmf-options {
	display: grid;
	gap: .55rem;
	background: var(--wa-accent-soft);
	border-radius: var(--wa-radius);
	padding: .6rem .7rem;
}

.ui-modern .nmf-options:not(:has(> div:not(.d-none))) {
	display: none;
}

.ui-modern .nmf-options label {
	font-size: .8rem;
	font-weight: 600;
	margin-bottom: .15rem;
}

.ui-modern .nmf-radios label,
.ui-modern .nmf-check label {
	font-weight: 400;
	margin-right: .8rem;
}

.ui-modern .nmf-check input,
.ui-modern .nmf-radios input {
	margin-right: .3rem;
}

.ui-modern .nmf-range {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	gap: .4rem;
	align-items: center;
	margin-bottom: .4rem;
}

.ui-modern .nmf-dash {
	color: var(--wa-muted);
}

.ui-modern .nmf-presets #date-buttons .del {
	display: none;
}

.ui-modern .nmf-presets .btn-group {
	margin: 0 .3rem .35rem 0;
}

.ui-modern .nmf-presets .btn {
	border-color: var(--wa-line);
	background: var(--wa-surface);
	color: var(--wa-fg);
	border-radius: 999px !important;
	padding: .3rem .85rem;
	font-size: .84rem;
}

.ui-modern .nmf-presets .btn:hover {
	border-color: var(--wa-accent);
	color: var(--wa-accent);
}

.ui-modern .nmf-cols {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
	gap: 0 .6rem;
}

.ui-modern .nmf-acc {
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	margin-top: .6rem;
	overflow: hidden;
}

.ui-modern .nmf-acc-head {
	display: flex;
	align-items: center;
	gap: .5rem;
	width: 100%;
	border: 0;
	background: var(--wa-surface);
	padding: .6rem .75rem;
	font-weight: 600;
	text-align: left;
	color: var(--wa-fg);
}

.ui-modern .nmf-acc-head:hover {
	background: var(--wa-bar);
}

.ui-modern .nmf-count {
	background: var(--wa-accent);
	color: #fff;
	border-radius: 999px;
	font-size: .7rem;
	padding: .05rem .45rem;
	font-weight: 700;
}

.ui-modern .nmf-chevron {
	margin-left: auto;
	font-size: .7rem;
	color: var(--wa-muted);
	transition: transform .2s;
}

.ui-modern .nmf-acc-head.collapsed .nmf-chevron {
	transform: rotate(-90deg);
}

.ui-modern .nmf-acc-body {
	padding: .4rem .75rem .3rem;
	border-top: 1px solid var(--wa-line);
}

.ui-modern .nmf-remember2 {
	display: flex;
	justify-content: flex-end;
	margin-bottom: .4rem;
}

/* přepínač Zapamatovat – stejný vzhled v patičce i v sekci Ostatní */
.ui-modern .nmf-switch {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	margin: 0;
	font-size: .82rem;
	font-weight: 400;
	cursor: pointer;
}

.ui-modern .nmf-note {
	font-size: .78rem;
	color: var(--wa-muted);
	margin: .2rem 0 .6rem;
}

/* patička filtru – v postranním panelu stále vidět */
.ui-modern .nmf-foot {
	display: flex;
	align-items: center;
	gap: .75rem;
	padding: .75rem 1.1rem;
	border-top: 1px solid var(--wa-line);
	background: var(--wa-surface);
	position: sticky;
	bottom: 0;
	z-index: 2;
}

.ui-modern .nmf-foot-opts {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .3rem .9rem;
	font-size: .82rem;
}

.ui-modern .nmf-foot-opts label {
	margin: 0;
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	cursor: pointer;
}

.ui-modern .nmf-export {
	display: inline-flex;
	gap: .6rem;
	color: var(--wa-muted);
}

.ui-modern .nmf-foot input[type="submit"],
.ui-modern .nmf-foot button[type="submit"] {
	margin-left: auto;
	padding: .4rem 1.3rem;
	font-weight: 600;
}

/* přepínač místo zaškrtávátka (Zapamatovat) */
.ui-modern .nmf-switch input[type="checkbox"] {
	appearance: none;
	-webkit-appearance: none;
	width: 2.1rem;
	height: 1.15rem;
	border-radius: 999px;
	background: var(--wa-line);
	position: relative;
	cursor: pointer;
	margin: 0;
	transition: background .2s;
}

.ui-modern .nmf-switch input[type="checkbox"]::after {
	content: "";
	position: absolute;
	top: .15rem;
	left: .15rem;
	width: .85rem;
	height: .85rem;
	border-radius: 50%;
	background: #fff;
	transition: left .2s;
}

.ui-modern .nmf-switch input[type="checkbox"]:checked {
	background: var(--wa-accent);
}

.ui-modern .nmf-switch input[type="checkbox"]:checked::after {
	left: 1.1rem;
}

.ui-modern .nmf-switch input[type="checkbox"]:focus-visible {
	outline: 2px solid var(--wa-accent);
	outline-offset: 2px;
}

/* období ve filtru: rychlé volby ve dvojicích tento / minulý (den, týden, měsíc, čtvrtletí, rok) ve 4 sloupcích,
   zvýrazněná volba odpovídající zadanému období */
.ui-modern .nmf-period-presets {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .25rem;
	margin-bottom: .55rem;
}

/* mezera mezi dvojicemi tento / minulý (sloupce 1–2 a 3–4) */
.ui-modern .nmf-preset:nth-child(4n+3) {
	margin-left: .35rem;
}

.ui-modern .nmf-preset {
	border: 1px solid var(--wa-line);
	background: var(--wa-surface);
	border-radius: var(--wa-radius);
	padding: .2rem .2rem;
	font-size: .74rem;
	line-height: 1.2;
	color: var(--wa-fg);
	text-align: center;
	cursor: pointer;
}

.ui-modern .nmf-preset:hover {
	border-color: var(--wa-accent);
	color: var(--wa-accent);
}

.ui-modern .nmf-preset.active {
	background: var(--wa-accent);
	border-color: var(--wa-accent);
	color: #fff;
	font-weight: 600;
}

.ui-modern .nmf-period-links {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .3rem .8rem;
	margin: .1rem 0 .4rem;
}

.ui-modern .nmf-period-links .btn-link {
	font-size: .8rem;
}

.ui-modern .nmf-period-links .collapsed .nmf-chevron {
	transform: rotate(-90deg);
}

.ui-modern #nmf-more-periods {
	padding-top: .3rem;
}


/* úzký panel / mobil: dvojice pod sebou ve 2 sloupcích */
@media (max-width: 400px) {
	.ui-modern .nmf-period-presets {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ui-modern .nmf-preset:nth-child(4n+3) {
		margin-left: 0;
	}
}

/* ---------- hlavní stránka přejímek (Acceptance/Default/default.modern.latte) ---------- */
/* vodoznak loga „20 let“ (.body-logo) – na moderních úvodních stránkách je logo v záhlaví (.nm-head-logo),
   na ostatních stránkách s bodyLogo zůstává vodoznak jako v klasickém vzhledu */
body.ui-modern.body-logo:has(.nm-head-logo) {
	background-image: none;
}

.ui-modern .nm-page-head:has(.nm-head-logo) {
	align-items: center;
}

.ui-modern .nm-head-logo {
	height: 4.6rem;
	width: auto;
	margin-left: auto;
}

/* na mobilu bez loga – zabírá místo nad obsahem */
@media (max-width: 575.98px) {
	.ui-modern .nm-head-logo {
		display: none;
	}
}

.ui-modern .nm-home {
	max-width: 1400px;
	margin: 0 auto;
	padding-bottom: 4rem;
}

.ui-modern .nm-page-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .2rem 1rem;
	margin: .2rem 0 1rem;
}

.ui-modern .nm-page-head h1 {
	font-size: 1.5rem;
	font-weight: 700;
	margin: 0;
}

.ui-modern .nm-page-sub {
	color: var(--wa-muted);
	margin: 0;
}

.ui-modern .nm-home-grid {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	gap: 1.5rem;
	align-items: start;
}

@media (max-width: 991.98px) {
	.ui-modern .nm-home-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

.ui-modern .nm-section-title {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: .78rem;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: var(--wa-muted);
	font-weight: 700;
	margin: 0 0 .6rem;
}

.ui-modern .nm-count {
	background: var(--wa-bar);
	color: var(--wa-fg);
	border-radius: 999px;
	padding: .05rem .5rem;
	font-size: .72rem;
	letter-spacing: 0;
}

/* filtr na stránce: patička v toku (pevná patička aplikace by ji jinak zakryla) */
.ui-modern .nm-home .nmf-foot {
	position: static;
	border-radius: 0 0 var(--wa-radius) var(--wa-radius);
}

/* aktuality */
.ui-modern .nm-news-list {
	display: grid;
	gap: .6rem;
}

.ui-modern .nm-news {
	display: flex;
	gap: 1rem;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: .9rem 1rem;
}

.ui-modern .nm-news.is-alert {
	background: #fff8e1;
	border-color: #f0c96a;
}

.ui-modern .nm-news-date {
	flex: none;
	display: grid;
	align-content: start;
	justify-items: center;
	width: 4.2rem;
	padding: .45rem .2rem;
	border-radius: var(--wa-radius);
	background: var(--wa-bg);
	color: var(--wa-fg);
	text-decoration: none;
	font-variant-numeric: tabular-nums;
}

.ui-modern .nm-news-date:hover {
	text-decoration: none;
	color: var(--wa-accent);
}

.ui-modern .nm-news-day {
	font-size: 1.05rem;
	font-weight: 700;
	line-height: 1.1;
	white-space: nowrap;
}

.ui-modern .nm-news-year {
	font-size: .72rem;
	color: var(--wa-muted);
}

.ui-modern .nm-news-body {
	min-width: 0;
	flex: 1;
}

.ui-modern .nm-news-tags,
.ui-modern .nm-article-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .3rem;
	margin-bottom: .3rem;
}

.ui-modern .nm-tag {
	display: inline-flex;
	align-items: center;
	gap: .25rem;
	font-size: .68rem;
	font-weight: 700;
	letter-spacing: .03em;
	border-radius: 999px;
	padding: .08rem .5rem;
	background: var(--wa-bar);
	color: var(--wa-fg);
}

.ui-modern .nm-tag-new {
	background: var(--wa-accent-soft);
	color: var(--wa-accent);
}

.ui-modern .nm-tag-alert {
	background: #c82333;
	color: #fff;
}

.ui-modern .nm-news-title {
	font-size: 1rem;
	font-weight: 600;
	margin: 0 0 .3rem;
	text-wrap: balance;
}

.ui-modern .nm-news-title a {
	color: var(--wa-fg);
}

.ui-modern .nm-news-title a:hover {
	color: var(--wa-accent);
	text-decoration: none;
}

.ui-modern .nm-news-text {
	font-size: .875rem;
	color: #495057;
	margin: 0 0 .35rem;
	overflow-wrap: anywhere;
}

.ui-modern .nm-news-more {
	font-size: .82rem;
	font-weight: 600;
}

.ui-modern .nm-empty {
	display: flex;
	align-items: center;
	gap: .5rem;
	color: var(--wa-muted);
	background: var(--wa-surface);
	border: 1px dashed var(--wa-line);
	border-radius: var(--wa-radius);
	padding: 1.2rem 1rem;
	margin: 0;
}

/* detail aktuality (Acceptance/News/default.modern.latte) */
.ui-modern .nm-article-wrap {
	max-width: 760px;
	margin: 0 auto;
	padding-bottom: 4rem;
}

.ui-modern .nm-back {
	display: inline-block;
	font-size: .85rem;
	margin: .2rem 0 .8rem;
}

.ui-modern .nm-article {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: 1.4rem 1.6rem;
}

.ui-modern .nm-article.is-alert {
	border-color: #f0c96a;
}

.ui-modern .nm-article-meta {
	color: var(--wa-muted);
	font-size: .85rem;
	gap: .5rem;
}

.ui-modern .nm-article-title {
	font-size: 1.6rem;
	font-weight: 700;
	margin: .3rem 0 1rem;
	text-wrap: balance;
}

.ui-modern .nm-article-text {
	font-size: 1rem;
	line-height: 1.6;
	max-width: 65ch;
	overflow-wrap: anywhere;
}

.ui-modern .nm-article-text img {
	max-width: 100%;
	height: auto;
}

.ui-modern .nm-attachment {
	display: inline-flex;
	align-items: center;
	gap: .7rem;
	margin-top: 1.2rem;
	padding: .6rem .9rem;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	background: var(--wa-bg);
	color: var(--wa-fg);
}

.ui-modern .nm-attachment:hover {
	border-color: var(--wa-accent);
	text-decoration: none;
}

.ui-modern .nm-attachment > i {
	font-size: 1.3rem;
	color: var(--wa-accent);
}

.ui-modern .nm-attachment small {
	display: block;
	color: var(--wa-muted);
	font-size: .72rem;
}

@media (max-width: 575.98px) {
	.ui-modern .nm-news {
		gap: .7rem;
		padding: .75rem;
	}

	.ui-modern .nm-news-date {
		width: 3.4rem;
	}

	.ui-modern .nm-article {
		padding: 1rem;
	}
}

/* ---------- sestavy (app/presenters/templates/Reports/*.latte) – jen obrazovka v moderním vzhledu;
   exporty XLS/PDF mají vlastní styly a třídu ui-modern nemají ---------- */
.ui-modern #reportDiv > h1,
.ui-modern #reportDiv h1 {
	font-size: 1.35rem;
	font-weight: 700;
	margin: .4rem 0 .2rem;
	text-wrap: balance;
}

.ui-modern #reportDiv h4 {
	font-size: .85rem;
	font-weight: 400;
	color: var(--wa-muted);
	margin: 0 0 .7rem;
}

.ui-modern .report-info {
	display: flex;
	flex-wrap: wrap;
	gap: .3rem .5rem;
	font-size: .8rem;
	margin-bottom: .8rem;
}

.ui-modern .report-info strong {
	font-weight: 600;
	color: var(--wa-muted);
}

.ui-modern .tip {
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	background: var(--wa-surface);
	font-size: .8rem;
	padding: .6rem .8rem;
	margin: 0 0 .8rem;
}

.ui-modern .tip h4 {
	border: 0;
	background: transparent;
	text-align: left;
	font-size: .72rem;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: var(--wa-muted);
	font-weight: 700;
	margin: 0 0 .3rem;
}

/* tabulka sestavy */
.ui-modern table.report {
	font-family: inherit;
	font-size: 12px;
	border-collapse: separate;
	border-spacing: 0;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	font-variant-numeric: tabular-nums;
	margin-bottom: 1rem;
}

.ui-modern table.report th,
.ui-modern table.report td {
	font-size: 12px;
	padding: 5px 8px;
	border: 0;
	border-right: 1px solid #edf0f2;
	border-bottom: 1px solid #edf0f2;
	vertical-align: middle;
}

.ui-modern table.report th:last-child,
.ui-modern table.report td:last-child {
	border-right: 0;
}

/* záhlaví: světlé, popisky se smí zalomit, zarovnané dolů */
.ui-modern table.report .r-header th,
.ui-modern table.report .report-r-header2 th,
.ui-modern table.report th.side {
	background: #f1f3f5;
	color: #343a40;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.25;
	vertical-align: bottom;
	white-space: normal;
	border-bottom: 1px solid var(--wa-line);
}

.ui-modern table.report thead tr:first-child th:first-child {
	border-top-left-radius: var(--wa-radius);
}

.ui-modern table.report thead tr:first-child th:last-child {
	border-top-right-radius: var(--wa-radius);
}

/* opakované záhlaví na konci tabulky – na obrazovce zbytečné (plovoucí záhlaví), v exportech zůstává */
.ui-modern table.report tfoot .r-header2 {
	display: none;
}

/* řádky: jemné prokládání (jen řádky bez vlastní barvy a ne v tabulkách, které barví řádky po skupinách – Záměry .hilight)
   a zvýraznění řádku pod myší */
.ui-modern table.report:not(.hilight) tbody tr:not([class]):nth-child(even) > td {
	background: #fafbfc;
}

.ui-modern table.report tbody tr:hover > td {
	background: var(--wa-accent-soft);
}

.ui-modern table.report td.table-warning,
.ui-modern table.report th.table-warning {
	background: #fff8e1 !important;
}

.ui-modern table.report tr.table-danger > td {
	background: #fbe6e8 !important;
}

/* skupina (úroveň 1) – nadpis skupiny řádků */
.ui-modern table.report .level1 {
	font-size: 13px !important;
	font-weight: 700;
	background: var(--wa-accent-soft) !important;
	color: #1b4f7e;
	border-top: 2px solid #c9dcef;
	padding-top: 7px;
	padding-bottom: 7px;
}

.ui-modern table.report tr.grouping:hover > td {
	background: var(--wa-accent-soft);
}

/* mezisoučty */
.ui-modern table.report .suma1 > th,
.ui-modern table.report .suma1 > td {
	background: #eef1f4;
	font-weight: 700;
	border-bottom: 1px solid var(--wa-line);
}

.ui-modern table.report .suma2 > th,
.ui-modern table.report .suma2 > td {
	background: #f3f5f7;
	font-weight: 600;
	font-style: normal;
}

.ui-modern table.report .suma3 > th,
.ui-modern table.report .suma3 > td {
	background: #f8f9fa;
	font-weight: 600;
	font-style: normal;
}

/* celkový součet */
.ui-modern table.report .r-footer th {
	background: #e3e8ed !important;
	font-size: 12px;
	font-weight: 700;
	border-top: 2px solid #c5ced6;
}

.ui-modern table.report tfoot tr:not(.r-footer):not(.r-header2) > td {
	background: #f8f9fa;
	font-size: 11.5px;
}

.ui-modern table.report .hl {
	background: #fff8e1;
}

.ui-modern table.report .sel {
	background: #ffe7a3;
}

.ui-modern table.report a {
	color: var(--wa-accent);
}

/* plovoucí záhlaví (floatThead) – stejný vzhled jako záhlaví tabulky */
.ui-modern .floatThead-container table.report {
	border-bottom: 0;
	box-shadow: 0 2px 4px rgba(20, 30, 40, .08);
}

/* ---------- ikony v řádcích sestav (Jednotlivé přejímky ap.: foto, protokol, DL, GPS …) ----------
   místo plných barevných tlačítek jen tlumeně barevná ikona, podklad až při najetí; neaktivní velmi světlé */
.ui-modern table.report td .btn.btn-xs {
	--ic: #5f6b76;
	--ic-bg: #eef1f4;
	display: inline-grid;
	place-items: center;
	width: 1.6rem;
	height: 1.6rem;
	padding: 0;
	margin: 0 1px;
	border: 0;
	border-radius: .3rem;
	background: transparent;
	color: var(--ic);
	font-size: .85rem;
	line-height: 1;
	box-shadow: none;
}

.ui-modern table.report td .btn.btn-xs:hover,
.ui-modern table.report td .btn.btn-xs:focus {
	background: var(--ic-bg);
	color: var(--ic);
	box-shadow: none;
}

.ui-modern table.report td .btn-xs.btn-info { --ic: #2b8a9e; --ic-bg: #e1f2f5; }
.ui-modern table.report td .btn-xs.btn-success { --ic: #3b8a52; --ic-bg: #e4f3e8; }
.ui-modern table.report td .btn-xs.btn-warning { --ic: #b07a14; --ic-bg: #fbf0d9; }
.ui-modern table.report td .btn-xs.btn-danger { --ic: #b9444f; --ic-bg: #f9e3e5; }
.ui-modern table.report td .btn-xs.btn-primary { --ic: #2f6fae; --ic-bg: #e3eef8; }

.ui-modern table.report td .btn.btn-xs.disabled,
.ui-modern table.report td .btn.btn-xs:disabled {
	--ic: #ccd2d8;
	background: transparent;
	opacity: 1;
}

/* řádek pod myší má modrý podklad – aktivní ikona dostane bílý kruh, aby byla vidět */
.ui-modern table.report tbody tr:hover td .btn.btn-xs:not(.disabled):hover {
	background: #fff;
}

/* stav přejímky – jemnější barvy textu */
.ui-modern table.report .status1 { color: #2f8f4e; font-weight: 600; }
.ui-modern table.report .status2 { color: #9a6b12; font-weight: 600; }
.ui-modern table.report .status3 { color: #b9444f; font-weight: 600; }
.ui-modern table.report .statusF { color: #1f6b3a; font-weight: 600; }

/* ikony v řádcích těsně u sebe (kompaktní sloupec) */
.ui-modern table.report td .btn.btn-xs {
	width: 1.4rem;
	height: 1.4rem;
	margin: 0;
}

/* stav přejímky jako štítek: kód + název (šablony Reports/<odběratel>/reportSingleAcceptances.latte);
   v klasickém vzhledu a v exportu zůstává text "1-Přijato" */
.ui-modern table.report .nm-status {
	--st: #5f6b76;
	--st-bg: #eef1f4;
	display: inline-flex;
	align-items: stretch;
	border-radius: 999px;
	overflow: hidden;
	font-size: 11px;
	line-height: 1.5;
	white-space: nowrap;
	background: var(--st-bg);
	color: var(--st);
	font-weight: 600;
}

.ui-modern table.report .nm-status-code {
	background: var(--st);
	color: #fff;
	padding: 0 .45rem;
	font-weight: 700;
}

.ui-modern table.report .nm-status-sep {
	display: none;
}

.ui-modern table.report .nm-status-name {
	padding: 0 .55rem 0 .4rem;
}

.ui-modern table.report .status1 .nm-status { --st: #2f8f4e; --st-bg: #e4f3e8; }
.ui-modern table.report .status2 .nm-status { --st: #a8741a; --st-bg: #fbf0d9; }
.ui-modern table.report .status3 .nm-status { --st: #b9444f; --st-bg: #f9e3e5; }
.ui-modern table.report .statusF .nm-status { --st: #1f6b3a; --st-bg: #dcefe2; }
.ui-modern table.report .statusS .nm-status { --st: #7b8590; --st-bg: #eef1f4; }

/* tip a legenda PS nad tabulkou sestavy (alert-info přímo v #reportDiv) – nenápadná poznámka místo modrého boxu */
.ui-modern #reportDiv > .alert-info {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .1rem .35rem;
	background: transparent;
	border: 0;
	border-radius: 0;
	color: var(--wa-muted);
	font-size: 11.5px;
	line-height: 1.45;
	padding: 0;
	margin: 0 0 .35rem;
}

.ui-modern #reportDiv > .alert-info::before {
	content: "\f0eb"; /* žárovka (Font Awesome) */
	font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free";
	font-weight: 300;
	color: #b08d2a;
	margin-right: .15rem;
}

.ui-modern #reportDiv > .alert-info#PS::before {
	content: "\f05a"; /* info */
	color: #8a96a3;
}

.ui-modern #reportDiv > .alert-info strong {
	color: #495057;
	font-weight: 600;
}

.ui-modern #reportDiv > .alert-info#PS {
	margin-bottom: .6rem;
}

/* stav jen jako kód (1, 2, 3, F) – název v tooltipu (title na .nm-status) */
.ui-modern table.report .nm-status {
	background: transparent;
	cursor: help;
}

.ui-modern table.report .nm-status-name {
	display: none;
}

.ui-modern table.report .nm-status-code {
	display: inline-grid;
	place-items: center;
	min-width: 1.35rem;
	height: 1.35rem;
	padding: 0 .3rem;
	border-radius: 999px;
	font-size: 11px;
	line-height: 1;
}

.ui-modern table.report td[class*="status"] {
	text-align: center;
}

/* ikony stejně velké, menší mezery (mezery mezi tlačítky v HTML ~3 px → ~1 px) */
.ui-modern table.report td .btn.btn-xs {
	margin-right: -2px;
}

/* tip a PS s jemným podkladem (malé písmo zůstává): tip teple žlutý, PS šedomodrý */
.ui-modern #reportDiv > .alert-info {
	display: inline-flex;
	background: #fdf8e8;
	border: 1px solid #f1e4b8;
	border-radius: var(--wa-radius);
	padding: .3rem .65rem;
	margin: 0 0 .4rem;
	color: #6b6450;
}

.ui-modern #reportDiv > .alert-info#PS {
	display: flex;
	background: #f2f5f8;
	border-color: #dde4eb;
	color: var(--wa-muted);
	margin-bottom: .7rem;
}

/* úvodní stránka sestav dispečinku – jen filtr v čitelné šířce */
.ui-modern .nm-filter-page {
	max-width: 560px;
}

/* ---------- sestava bez dat (Reports/nodata.latte) – světlý prázdný stav místo žluté karty ---------- */
.ui-modern .nm-nodata.card {
	background: var(--wa-surface) !important;
	color: var(--wa-fg);
	border: 1px dashed #cfd6dd;
	border-radius: .5rem;
	text-align: center;
	margin-top: 1.5rem;
}

.ui-modern .nm-nodata .card-header {
	display: none;
}

.ui-modern .nm-nodata .card-body {
	padding: 2rem 1.5rem 1.6rem;
}

.ui-modern .nm-nodata .nm-nodata-icon {
	display: inline-grid !important;
	place-items: center;
	width: 3.2rem;
	height: 3.2rem;
	border-radius: 50%;
	background: var(--wa-bg);
	color: var(--wa-muted);
	font-size: 1.3rem;
	margin-bottom: .8rem;
}

.ui-modern .nm-nodata .card-title {
	font-size: 1.05rem;
	font-weight: 600;
	margin-bottom: .8rem;
}

/* parametry filtru: tlumeně, popisek – hodnota */
.ui-modern .nm-nodata .report-info {
	display: grid;
	grid-template-columns: auto auto;
	justify-content: center;
	gap: .15rem .6rem;
	text-align: left;
	font-size: .8rem;
	color: var(--wa-muted);
	margin: 0 auto 1rem;
}

.ui-modern .nm-nodata .report-info br {
	display: none;
}

.ui-modern .nm-nodata .report-info strong {
	font-weight: 600;
	text-align: right;
}

.ui-modern .nm-nodata .report-info hr,
.ui-modern .nm-nodata .report-info .alert {
	grid-column: 1 / -1;
}

.ui-modern .nm-nodata .report-info .alert {
	font-size: .8rem;
	margin: .3rem 0 0;
	text-align: center;
}

.ui-modern .nm-nodata .nm-nodata-action {
	display: inline-flex !important;
	align-items: center;
	gap: .35rem;
}

.ui-modern #reportDiv h1.c {
	text-align: left;
}

/* tlačítko Zobrazit filtr – stejné na liště přejímek, liště dispečinku i v prázdném stavu sestavy */
.ui-modern .btn.nm-filter-btn {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	background: #c82333;
	border: 1px solid #c82333;
	color: #fff;
	font-size: .85rem;
	font-weight: 600;
	line-height: 1.4;
	padding: .25rem .75rem;
	border-radius: var(--wa-radius) !important;
}

.ui-modern .btn.nm-filter-btn:hover,
.ui-modern .btn.nm-filter-btn:focus {
	background: #a71d2a;
	border-color: #a71d2a;
	color: #fff;
}

.ui-modern .btn.nm-filter-btn i {
	margin: 0 !important;
}

/* barvy řádků ze šablon sestav (např. Záměry: střídání intervalů dojezdu třídou table-warning) – jemnější odstíny,
   mají přednost před prokládáním; zaškrtnutý řádek (selectedRow, woodaccept.js) je vždy nejvýraznější */
.ui-modern table.report tbody tr.table-warning > td { background: #fff6dc; }
.ui-modern table.report tbody tr.table-info > td { background: #e6f2fa; }
.ui-modern table.report tbody tr.table-success > td { background: #e6f4ea; }
.ui-modern table.report tbody tr.table-danger > td { background: #fbe6e8; }
.ui-modern table.report tbody tr:hover > td { background: var(--wa-accent-soft); }
.ui-modern table.report tbody tr.selectedRow > td { background: #cfe3f7 !important; } /* modrá – odliší se od žlutých intervalů */

/* ---------- harmonogram dispečinku (TimetableControl.modern.latte, Timetable/default.latte) ---------- */
body.ui-modern {
	--nmt-free: #2f9e5b;
	--nmt-half: #c98a12;
	--nmt-full: #c82333;
	--nmt-free-bg: #eaf6ee;
	--nmt-half-bg: #fdf4e1;
	--nmt-full-bg: #fbe6e8;
	--nmt-stop-bg: #f6e3e6;
	--nmt-past-bg: #f0f2f4;
}

/* informace o otevírání týdne a zakázaných sortimentech */
.ui-modern .nmt-info {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .2rem .6rem;
	background: #fdf8e8;
	border: 1px solid #f1e4b8;
	border-radius: var(--wa-radius);
	color: #5f5843;
	font-size: .85rem;
	padding: .45rem .8rem;
}

.ui-modern .nmt-transport {
	font-size: 1.15rem;
	font-weight: 700;
	margin: .35rem 0 0;
	white-space: nowrap;
}

.ui-modern .nmt-note {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-size: .82rem;
	color: #1b4f7e;
	background: var(--wa-accent-soft);
	border-radius: var(--wa-radius);
	padding: .3rem .7rem;
	margin-bottom: .5rem;
}

/* tabulka harmonogramu */
.ui-modern .nmt-wrap {
	display: block;
	overflow-x: auto;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	margin-bottom: 1rem;
}

.ui-modern table.nmt {
	width: 100%;
	min-width: 860px;
	border-collapse: separate;
	border-spacing: 0;
	table-layout: fixed;
	font-variant-numeric: tabular-nums;
	font-size: .8rem;
}

.ui-modern .nmt th,
.ui-modern .nmt td {
	border-right: 1px solid #e6e9ec;
	border-bottom: 1px solid #e6e9ec;
}

.ui-modern .nmt tr > :last-child {
	border-right: 0;
}

.ui-modern .nmt thead th {
	background: #f1f3f5;
	vertical-align: top;
	position: relative;
	padding: .45rem .4rem;
	font-weight: 400;
}

.ui-modern .nmt-slot {
	width: 5.2rem;
	background: #f1f3f5;
	color: var(--wa-muted);
	text-align: center;
	font-size: .72rem;
	font-weight: 600;
	vertical-align: middle !important;
}

.ui-modern .nmt-time {
	line-height: 1.25;
}

.ui-modern .nmt-week-btn {
	display: inline-grid;
	place-items: center;
	width: 1.9rem;
	height: 1.9rem;
	border-radius: 50%;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	color: var(--wa-fg);
}

.ui-modern .nmt-week-btn:hover {
	border-color: var(--wa-accent);
	color: var(--wa-accent);
	text-decoration: none;
}

.ui-modern .nmt-day-head {
	display: grid;
	gap: .15rem;
	padding-right: 1.3rem;
	text-align: left;
}

.ui-modern .nmt-day-name {
	font-weight: 700;
	font-size: .82rem;
	color: var(--wa-fg);
}

.ui-modern .nmt-perm {
	font-size: .7rem;
	color: var(--wa-muted);
	white-space: nowrap;
}

.ui-modern .nmt-perm .ok { color: var(--nmt-free); font-weight: 700; }
.ui-modern .nmt-perm .no { color: var(--nmt-full); font-weight: 700; }

.ui-modern .nmt-flags {
	display: flex;
	flex-wrap: wrap;
	gap: .2rem;
}

.ui-modern .nmt-flag {
	font-size: .64rem;
	font-weight: 700;
	line-height: 1.4;
	border-radius: .2rem;
	padding: 0 .3rem;
	border: 1px solid transparent;
	background: transparent;
	cursor: help;
}

.ui-modern .nmt-flag.stop { background: var(--nmt-full); color: #fff; }
.ui-modern .nmt-flag.dis { background: var(--nmt-full-bg); color: var(--nmt-full); border-color: #efb7bd; }
.ui-modern .nmt-flag.share { background: var(--nmt-half-bg); color: #8a5d08; border-color: #ecd391; }

.ui-modern .nmt-day-menu {
	position: absolute;
	top: .3rem;
	right: .15rem;
}

.ui-modern .nmt-menu-btn {
	border: 0;
	background: transparent;
	color: var(--wa-muted);
	width: 1.4rem;
	height: 1.4rem;
	border-radius: .25rem;
}

.ui-modern .nmt-menu-btn:hover {
	background: #e3e7eb;
	color: var(--wa-fg);
}

/* buňka okna */
.ui-modern .nmt-cell {
	position: relative;
	height: 4.4rem;
	padding: .35rem .4rem .4rem;
	vertical-align: top;
	background: var(--wa-surface);
}

.ui-modern .nmt-free { background: var(--nmt-free-bg); }
.ui-modern .nmt-half { background: var(--nmt-half-bg); }
.ui-modern .nmt-full { background: var(--nmt-full-bg); }
.ui-modern .nmt-stop { background: repeating-linear-gradient(135deg, var(--nmt-stop-bg) 0 7px, var(--wa-surface) 7px 14px); }
.ui-modern .nmt-past { background: var(--nmt-past-bg); color: var(--wa-muted); }
.ui-modern .nmt-plain { background: var(--wa-surface); }

.ui-modern .nmt-other {
	background: var(--nmt-past-bg);
	color: var(--wa-muted);
	text-align: center;
	vertical-align: middle;
	font-size: .75rem;
}

.ui-modern .nmt-other span {
	display: block;
	margin-bottom: .4rem;
}

.ui-modern .nmt-prog {
	height: 4px;
	border-radius: 2px;
	background: rgba(0, 0, 0, .08);
	overflow: hidden;
	margin-bottom: .3rem;
}

.ui-modern .nmt-prog span {
	display: block;
	height: 100%;
	background: var(--wa-muted);
}

.ui-modern .nmt-free .nmt-prog span,
.ui-modern .nmt-prog.nmt-free span { background: var(--nmt-free); }
.ui-modern .nmt-half .nmt-prog span,
.ui-modern .nmt-prog.nmt-half span { background: var(--nmt-half); }
.ui-modern .nmt-full .nmt-prog span,
.ui-modern .nmt-stop .nmt-prog span,
.ui-modern .nmt-prog.nmt-full span { background: var(--nmt-full); }
.ui-modern .nmt-prog.nmt-free,
.ui-modern .nmt-prog.nmt-half,
.ui-modern .nmt-prog.nmt-full { background: rgba(0, 0, 0, .08); }

.ui-modern .nmt-vac {
	font-size: 1.15rem;
	font-weight: 700;
	line-height: 1;
}

.ui-modern .nmt-vac small {
	font-size: .66rem;
	font-weight: 600;
	color: var(--wa-muted);
	margin-left: .15rem;
}

.ui-modern .nmt-free .nmt-vac { color: var(--nmt-free); }
.ui-modern .nmt-half .nmt-vac { color: var(--nmt-half); }
.ui-modern .nmt-full .nmt-vac { color: var(--nmt-full); }
.ui-modern .nmt-past .nmt-vac { color: var(--wa-muted); }

.ui-modern .nmt-occ {
	font-size: .7rem;
	color: var(--wa-muted);
	margin-top: .2rem;
}

.ui-modern .nmt-reserve {
	background: #e3e7eb;
	color: var(--wa-fg);
	border-radius: 999px;
	padding: 0 .3rem;
	font-size: .64rem;
	font-weight: 700;
	margin-left: .2rem;
}

.ui-modern .nmt-reason {
	font-size: .7rem;
	font-weight: 700;
	color: var(--nmt-full);
	line-height: 1.2;
}

/* záměry vybraného dodavatele: modré kolečko s počtem (odkaz na seznam) */
.ui-modern .nmt-mine {
	position: absolute;
	right: .35rem;
	bottom: .35rem;
	min-width: 1.35rem;
	height: 1.35rem;
	padding: 0 .3rem;
	border-radius: 999px;
	background: var(--wa-accent);
	color: #fff !important;
	font-size: .72rem;
	font-weight: 700;
	display: inline-grid;
	place-items: center;
	text-decoration: none !important;
}

.ui-modern .nmt-mine.static {
	position: static;
	display: inline-grid;
	margin-right: .3rem;
}

.ui-modern .nmt-mine:hover {
	background: #1b5a93;
}

/* přidání záměru: zelené plus, výrazné při najetí na buňku */
.ui-modern .nmt-add {
	position: absolute;
	top: .5rem;
	right: .35rem;
	width: 1.35rem;
	height: 1.35rem;
	border-radius: 50%;
	background: var(--wa-success);
	color: #fff !important;
	font-weight: 700;
	line-height: 1.35rem;
	text-align: center;
	text-decoration: none !important;
	opacity: .35;
	transition: opacity .15s;
}

.ui-modern .nmt-cell:hover .nmt-add,
.ui-modern .nmt-add:focus {
	opacity: 1;
}

.ui-modern .nmt-cell:hover {
	box-shadow: inset 0 0 0 2px rgba(31, 111, 178, .35);
}

.ui-modern .nmt-past:hover,
.ui-modern .nmt-other:hover {
	box-shadow: none;
}

/* hromadné přidání */
.ui-modern .nmt-bulk {
	position: absolute;
	left: .35rem;
	bottom: .3rem;
	width: 3rem !important;
	height: 1.5rem;
	padding: 0 .25rem;
	font-size: .78rem;
	text-align: right;
	border-color: var(--wa-success);
	float: none !important;
}

/* součty */
.ui-modern .nmt tfoot td,
.ui-modern .nmt tfoot th {
	background: #f1f3f5;
	padding: .45rem .4rem;
	vertical-align: top;
	font-size: .75rem;
}

.ui-modern .nmt-sum-num {
	font-weight: 700;
	font-size: .85rem;
}

.ui-modern .nmt-sum-num small,
.ui-modern .nmt-sum-free,
.ui-modern .nmt-sum-m3,
.ui-modern .nmt-sum-del {
	color: var(--wa-muted);
	font-weight: 400;
}

.ui-modern .nmt-sum-del {
	margin-top: .25rem;
	font-size: .7rem;
}

.ui-modern .nmt-sum-supplier td {
	background: var(--wa-accent-soft) !important;
}

/* legenda */
.ui-modern .nmt-legend {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .3rem 1rem;
	padding: .5rem .8rem;
	font-size: .75rem;
	border-top: 1px solid var(--wa-line);
}

.ui-modern .nmt-lg {
	display: inline-block;
	width: .85rem;
	height: .85rem;
	border-radius: .2rem;
	vertical-align: -2px;
	margin-right: .2rem;
	border: 1px solid var(--wa-line);
}

.ui-modern .nmt-lg.free { background: var(--nmt-free-bg); border-color: var(--nmt-free); }
.ui-modern .nmt-lg.half { background: var(--nmt-half-bg); border-color: var(--nmt-half); }
.ui-modern .nmt-lg.full { background: var(--nmt-full-bg); border-color: var(--nmt-full); }
.ui-modern .nmt-lg.stop { background: repeating-linear-gradient(135deg, var(--nmt-stop-bg) 0 3px, #fff 3px 6px); border-color: var(--nmt-full); }
.ui-modern .nmt-lg.past { background: var(--nmt-past-bg); }

/* tabulky regulace pod harmonogramem (#regulation, #regulation-assortments) */
.ui-modern #regulation.table,
.ui-modern #regulation-assortments.table {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	border-collapse: separate;
	border-spacing: 0;
	font-size: .8rem;
	font-variant-numeric: tabular-nums;
}

.ui-modern #regulation.table th,
.ui-modern #regulation.table td,
.ui-modern #regulation-assortments.table th,
.ui-modern #regulation-assortments.table td {
	border: 0;
	border-bottom: 1px solid #edf0f2;
	padding: .35rem .55rem;
}

.ui-modern #regulation.table .table-info,
.ui-modern #regulation-assortments.table .table-info {
	background: #f1f3f5;
	color: #343a40;
	font-weight: 600;
}

/* ---------- regulace pod harmonogramem (InfoTableControl.modern.latte, AssortmentsInfoTableControl.modern.latte) ---------- */
.ui-modern .nmr {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	margin-bottom: 1rem;
	overflow: hidden;
}

.ui-modern .nmr-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .4rem .8rem;
	padding: .65rem .9rem;
	border-bottom: 1px solid var(--wa-line);
}

.ui-modern .nmr-title {
	font-size: .78rem;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: var(--wa-muted);
	font-weight: 700;
	margin: 0;
}

.ui-modern .nmr-title i {
	margin-right: .3rem;
}

.ui-modern .nmr-pill {
	font-size: .72rem;
	font-weight: 600;
	border-radius: 999px;
	padding: .1rem .6rem;
	background: var(--wa-bar);
	color: var(--wa-muted);
}

.ui-modern .nmr-pill.is-on {
	background: #e4f3e8;
	color: #2f8f4e;
}

.ui-modern .nmr-alert {
	display: flex;
	gap: .5rem;
	align-items: baseline;
	margin: .7rem .9rem 0;
	padding: .45rem .7rem;
	border-radius: var(--wa-radius);
	background: #fbe6e8;
	color: #a1262f;
	font-size: .8rem;
}

/* aktuální regulace – přehled */
.ui-modern .nmr-current {
	padding: .8rem .9rem .9rem;
	border-bottom: 1px solid var(--wa-line);
}

.ui-modern .nmr-current-label {
	font-size: .8rem;
	color: var(--wa-muted);
	margin-bottom: .45rem;
}

.ui-modern .nmr-current-label b {
	color: var(--wa-fg);
}

.ui-modern .nmr-kpis {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .6rem;
	margin-bottom: .55rem;
}

.ui-modern .nmr-kpis > div {
	display: grid;
	min-width: 0;
}

.ui-modern .nmr-kpi-num {
	font-size: 1.35rem;
	font-weight: 700;
	line-height: 1.15;
	font-variant-numeric: tabular-nums;
	overflow-wrap: anywhere;
}

.ui-modern .nmr-kpi-lbl {
	font-size: .72rem;
	color: var(--wa-muted);
}

.ui-modern .nmr .is-ok { color: #2f8f4e; }
.ui-modern .nmr .is-warn { color: #c82333; }

.ui-modern .nmr-current-bar {
	display: flex;
	align-items: center;
	gap: .6rem;
}

.ui-modern .nmr-current-bar .nmr-bar {
	flex: 1;
	height: 8px;
}

.ui-modern .nmr-current-pct {
	font-size: .8rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	min-width: 3rem;
	text-align: right;
}

.ui-modern .nmr-current-detail {
	font-size: .75rem;
	color: var(--wa-muted);
	margin-top: .4rem;
}

/* pruh plnění (dodáno + záměry / povolený objem) */
.ui-modern .nmr-bar {
	display: block;
	height: 6px;
	border-radius: 3px;
	background: #e9ecef;
	overflow: hidden;
}

.ui-modern .nmr-bar > span {
	display: block;
	height: 100%;
	background: #2f9e5b;
}

.ui-modern .nmr-bar > span.is-warn {
	background: #c82333;
}

/* tabulka období / smluv / sortimentů */
.ui-modern .nmr-table-wrap {
	overflow-x: auto;
}

.ui-modern .nmr-table {
	width: 100%;
	border-collapse: collapse;
	font-size: .8rem;
	font-variant-numeric: tabular-nums;
}

.ui-modern .nmr-table th,
.ui-modern .nmr-table td {
	padding: .4rem .55rem;
	border: 0;
	border-bottom: 1px solid #edf0f2;
	white-space: nowrap;
	vertical-align: middle;
}

.ui-modern .nmr-table thead th {
	background: #f6f7f9;
	color: #495057;
	font-size: .72rem;
	font-weight: 600;
	white-space: normal;
	line-height: 1.25;
	vertical-align: bottom;
}

.ui-modern .nmr-table .num {
	text-align: right;
}

.ui-modern .nmr-table td.strong {
	font-weight: 600;
}

.ui-modern .nmr-table td:first-child {
	white-space: normal;
}

.ui-modern .nmr-fill-col,
.ui-modern .nmr-fill {
	width: 70px;
}

.ui-modern .nmr-group th {
	background: #fafbfc;
	font-size: .7rem;
	text-transform: uppercase;
	letter-spacing: .06em;
	color: var(--wa-muted);
	font-weight: 700;
	padding-top: .55rem;
}

.ui-modern .nmr-detail td {
	background: #fafbfc;
	font-size: .75rem;
}

.ui-modern .nmr-detail td:first-child {
	padding-left: 2rem;
}

.ui-modern .nmr-toggle,
.ui-modern .nmr-toggle-all {
	border: 0;
	background: transparent;
	color: var(--wa-accent);
	padding: 0 .25rem;
	font-size: .72rem;
	cursor: pointer;
}

.ui-modern .nmr-toggle-all {
	float: right;
	text-transform: none;
	letter-spacing: 0;
	font-weight: 600;
}

.ui-modern .nmr-table tfoot th {
	background: #eef1f4;
	font-weight: 700;
	border-top: 2px solid #d5dce3;
}

.ui-modern .nmr-nr {
	color: var(--wa-muted);
	font-weight: 600;
	margin-right: .2rem;
}

.ui-modern .nmr-unit {
	font-size: .7rem;
	color: var(--wa-muted);
	text-align: right;
	padding: .35rem .7rem;
}

/* rozbalení sortimentů smluv v regulaci (data-nmr-toggle, InfoTableControl.modern.latte) */
.ui-modern .nmr-table tr.nmr-detail {
	display: none;
}

.ui-modern .nmr-table tr.nmr-detail.is-open {
	display: table-row;
}

.ui-modern .nmr-toggle i,
.ui-modern .nmr-toggle-all i {
	transition: transform .2s;
}

.ui-modern .nmr-toggle[aria-expanded="true"] i {
	transform: rotate(90deg);
}

.ui-modern .nmr-toggle-all[aria-expanded="true"] i {
	transform: rotate(180deg);
}

/* hromadné zadání záměrů: pole pod počty v toku buňky, nepřekrývá text */
.ui-modern .nmt-bulk {
	position: static;
	display: block;
	margin-top: .3rem;
	width: 3.4rem !important;
}

/* hromadné zadání: pole vlevo, počty vedle něj (buňka se nezvětší) */
.ui-modern .nmt-bulk {
	float: left !important;
	display: block;
	margin: .05rem .4rem 0 0;
	width: 2.8rem !important;
	height: 1.6rem;
}

/* přebití starších globálních pravidel: hnědé rámečky #timetable / #regulation (woodaccept.css)
   a barvy .all / .empty / .taken (logistics.css) – v moderním harmonogramu a regulaci */
.ui-modern #timetable td,
.ui-modern #timetable th {
	border: 0;
	border-right: 1px solid #e6e9ec;
	border-bottom: 1px solid #e6e9ec;
}

.ui-modern #timetable thead,
.ui-modern #timetable tfoot {
	border: 0;
}

.ui-modern #regulation.nmr-table td,
.ui-modern #regulation.nmr-table th,
.ui-modern #regulation-assortments.nmr-table td,
.ui-modern #regulation-assortments.nmr-table th {
	border: 0;
	border-bottom: 1px solid #edf0f2;
}

.ui-modern .nmt .all,
.ui-modern .nmt .empty,
.ui-modern .nmt .taken {
	color: inherit;
	font-size: inherit;
}

/* okno bez kapacity (zavřeno) a uplynulé okno – jen tlumený popisek */
.ui-modern .nmt-closed {
	background: var(--nmt-past-bg);
	color: var(--wa-muted);
}

.ui-modern .nmt-closed:hover {
	box-shadow: none;
}

.ui-modern .nmt-past-lbl {
	font-size: .72rem;
	font-weight: 600;
	color: var(--wa-muted);
}

/* ukazatel obsazenosti: světlá dráha s obrysem (prázdný ukazatel nevypadá jako plný šedý), barevná část = obsazenost;
   v uplynulých a zavřených oknech se nezobrazuje */
.ui-modern .nmt-prog,
.ui-modern .nmt-prog.nmt-free,
.ui-modern .nmt-prog.nmt-half,
.ui-modern .nmt-prog.nmt-full {
	height: 5px;
	background: rgba(255, 255, 255, .85);
	box-shadow: inset 0 0 0 1px rgba(0, 0, 0, .1);
}

.ui-modern .nmt-past .nmt-prog,
.ui-modern .nmt-closed .nmt-prog {
	visibility: hidden;
}

/* ---------- "Čekejte prosím" (#loading v @layout.latte, zobrazuje/skrývá jQuery show()/hide()) ----------
   bílá karta uprostřed, ztmavení stránky kolem (velký stín), točící se kroužek místo GIFu */
.ui-modern div#loading.js-loading-bar {
	position: fixed;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: auto;
	min-width: 13rem;
	padding: 1.4rem 1.8rem 1.1rem;
	border: 0;
	border-radius: .6rem;
	background: var(--wa-surface);
	color: var(--wa-muted);
	opacity: 1;
	text-align: center;
	z-index: 10000;
	box-shadow: 0 12px 40px rgba(20, 30, 40, .25), 0 0 0 100vmax rgba(20, 28, 36, .22);
}

.ui-modern div#loading.js-loading-bar::before {
	content: "";
	display: block;
	width: 2.2rem;
	height: 2.2rem;
	margin: 0 auto .8rem;
	border-radius: 50%;
	border: 3px solid var(--wa-accent-soft);
	border-top-color: var(--wa-accent);
	animation: wa-spin .8s linear infinite;
}

.ui-modern div#loading.js-loading-bar br,
.ui-modern div#loading.js-loading-bar p:last-child {
	display: none;
}

.ui-modern div#loading.js-loading-bar p {
	margin: 0;
}

.ui-modern div#loading.js-loading-bar strong {
	font-size: .78rem;
	font-weight: 600;
	letter-spacing: .08em;
}

@keyframes wa-spin {
	to { transform: rotate(360deg); }
}

@media (prefers-reduced-motion: reduce) {
	.ui-modern div#loading.js-loading-bar::before {
		animation-duration: 2.4s;
	}
}

/* harmonogram: záhlaví, časové sloupce (první a poslední) a zápatí o něco tmavší */
.ui-modern .nmt thead th,
.ui-modern .nmt-slot {
	background: #e2e7ec;
}

.ui-modern .nmt tfoot td,
.ui-modern .nmt tfoot th {
	background: #e6eaee;
}

.ui-modern .nmt-sum-supplier td {
	background: #dde9f5 !important;
}

.ui-modern .nmt-menu-btn:hover {
	background: #cfd6dd;
}

.ui-modern #timetable td,
.ui-modern #timetable th {
	border-right-color: #d9dfe4;
	border-bottom-color: #d9dfe4;
}

/* zelené + pod ukazatelem obsazenosti (odsazení buňky .35rem + ukazatel 5px + mezera .3rem), ne přes něj */
.ui-modern .nmt-add {
	top: calc(.35rem + 5px + .4rem);
}

/* ---------- formulář záměru (FormIntentionFactory.modern.latte, Intention/*.modern.latte) ---------- */
.ui-modern .nmi-page {
	max-width: 1280px;
	margin: 0 auto;
	padding-bottom: 5rem;
}

.ui-modern .nmi-head {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	justify-content: space-between;
	gap: .3rem 1rem;
	margin: .2rem 0 1rem;
}

.ui-modern .nmi-head-main {
	display: flex;
	align-items: center;
	gap: .6rem;
	flex-wrap: wrap;
}

.ui-modern .nmi-head h1 {
	font-size: 1.4rem;
	font-weight: 700;
	margin: 0;
}

.ui-modern .nmi-id {
	color: var(--wa-muted);
	font-weight: 600;
}

.ui-modern .nmi-transport {
	background: #c82333;
	color: #fff;
	border-radius: 999px;
	padding: .15rem .7rem;
	font-size: .78rem;
	font-weight: 700;
}

.ui-modern .nmi-head-sub {
	margin: 0;
	color: var(--wa-muted);
	font-size: .9rem;
}

.ui-modern .nmi-head-sub strong {
	color: var(--wa-fg);
}

.ui-modern .nmi-warning,
.ui-modern .nmi-errors {
	background: #fbe6e8;
	color: #a1262f;
	border-radius: var(--wa-radius);
	padding: .55rem .8rem;
	margin-bottom: 1rem;
	font-size: .875rem;
}

.ui-modern .nmi-errors {
	list-style: none;
}

/* dva sloupce: hlavní údaje / doplňující údaje + akce */
.ui-modern .nmi-grid {
	display: grid;
	grid-template-columns: minmax(0, 7fr) minmax(0, 5fr);
	gap: 1.2rem;
	align-items: start;
}

@media (max-width: 991.98px) {
	.ui-modern .nmi-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

.ui-modern .nmi-main,
.ui-modern .nmi-side {
	display: grid;
	gap: .9rem;
	min-width: 0;
}

.ui-modern .nmi-sec {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: .85rem 1rem .4rem;
}

.ui-modern .nmi-title {
	font-size: .74rem;
	text-transform: uppercase;
	letter-spacing: .07em;
	color: var(--wa-muted);
	font-weight: 700;
	margin: 0 0 .7rem;
}

.ui-modern .nmi-title i {
	margin-right: .35rem;
}

.ui-modern .nmi .form-group {
	margin-bottom: .7rem;
	font-size: .875rem;
}

.ui-modern .nmi label {
	font-size: .8rem;
	font-weight: 600;
	margin-bottom: .25rem;
}

/* řádky polí: flex se zalomením */
.ui-modern .nmi-row {
	display: flex;
	flex-wrap: wrap;
	gap: 0 .8rem;
}

.ui-modern .nmi-grow { flex: 1 1 14rem; min-width: 0; }
.ui-modern .nmi-half { flex: 1 1 10rem; min-width: 0; }
.ui-modern .nmi-narrow { flex: 0 1 9rem; min-width: 7rem; }
.ui-modern .nmi-quarter { flex: 1 1 7.5rem; min-width: 0; }
.ui-modern .nmi-btn { flex: 0 0 auto; align-self: flex-end; }

.ui-modern .nmi-label {
	display: flex;
	align-items: center;
	gap: .4rem;
	margin-bottom: .25rem;
}

.ui-modern .nmi-label label {
	margin: 0;
}

.ui-modern .nmi-label-actions {
	margin-left: auto;
	display: inline-flex;
	gap: .3rem;
}

.ui-modern .nmi-del {
	margin-left: auto;
	color: var(--wa-muted);
	cursor: pointer;
	padding: .15rem .3rem;
	border-radius: .25rem;
	float: none !important;
}

.ui-modern .nmi-del:hover {
	color: #c82333;
	background: #fbe6e8;
}

.ui-modern .nmi-limits {
	margin-top: .25rem;
	font-size: .75rem;
	font-weight: 600;
	color: #a1262f;
	background: #fbe6e8;
	border-radius: .25rem;
	padding: .1rem .4rem;
	display: inline-block;
}

.ui-modern .nmi-check label {
	margin-right: .4rem;
}

/* EUDR */
.ui-modern .nmi-eudr {
	padding: .55rem 1rem;
}

.ui-modern .nmi-eudr-toggle {
	border: 0;
	background: transparent;
	color: var(--wa-accent);
	font-weight: 600;
	font-size: .85rem;
	padding: .2rem 0;
}

.ui-modern .nmi-eudr-body {
	border-top: 1px solid var(--wa-line);
	margin-top: .5rem;
	padding-top: .7rem;
}

/* doplňující údaje: Bootstrap mřížka z FormIntentionFactoryRight.latte zjednodušená na plnou šířku pole */
.ui-modern .nmi-optional .row {
	margin-left: -.4rem;
	margin-right: -.4rem;
}

.ui-modern .nmi-optional [class*="col-"] {
	padding-left: .4rem;
	padding-right: .4rem;
}

.ui-modern .nmi-optional div.float-left,
.ui-modern .nmi-optional div.float-right {
	float: none !important;
}

/* akce: stále vidět nad patičkou aplikace */
.ui-modern .nmi-actions {
	position: sticky;
	bottom: 60px;
	z-index: 5;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	box-shadow: 0 4px 16px rgba(20, 30, 40, .1);
	padding: .7rem 1rem;
}

.ui-modern .nmi-actions input[type="submit"],
.ui-modern .nmi-actions button[type="submit"] {
	font-weight: 600;
}

.ui-modern .nmi-actions input[name="ok"] {
	padding-left: 1.4rem;
	padding-right: 1.4rem;
}

.ui-modern .nmi-timetable {
	margin-left: auto;
}

@media (max-width: 991.98px) {
	.ui-modern .nmi-actions {
		bottom: 0;
	}
}

/* doplňující údaje záměru: křížky pro vymazání vpravo a tlumené (jako v levém sloupci), pole na šířku sloupce */
.ui-modern .nmi .del {
	float: right;
	color: var(--wa-muted) !important;
	cursor: pointer;
	padding: .15rem .3rem;
	border-radius: .25rem;
	font-size: .8rem;
}

.ui-modern .nmi .del:hover {
	color: #c82333 !important;
	background: #fbe6e8;
}

.ui-modern .nmi-optional select:not([multiple]),
.ui-modern .nmi-optional input[type="text"] {
	width: 100%;
	max-width: 100%;
}

/* certifikace (PEFC/FSC, BIO) v doplňujících údajích: výběr a certifikát vedle sebe přes celou šířku */
.ui-modern .nmi-optional .col-md-9 {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
	gap: 0 .8rem;
	align-content: start;
}

.ui-modern .nmi-optional .col-md-9 > .form-group {
	flex: none;
	max-width: none;
	width: auto;
	padding: 0;
}

/* "Čekejte prosím" jako celoobrazovkový závoj: při načítání zakryje stránku (neinicializované výběry "Vyberte" apod.),
   kroužek a text uprostřed. jQuery show()/hide() nastavuje display: block – centrování proto přes padding, ne flex. */
.ui-modern div#loading.js-loading-bar {
	inset: 0;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	min-width: 0;
	transform: none;
	border-radius: 0;
	padding: calc(50vh - 3rem) 1rem 0;
	background: rgba(246, 247, 249, .94);
	box-shadow: none;
	z-index: 20000;
}

.ui-modern div#loading.js-loading-bar::before {
	width: 2.6rem;
	height: 2.6rem;
	border-width: 3px;
}

.ui-modern div#loading.js-loading-bar strong {
	font-size: .8rem;
	color: var(--wa-muted);
}

/* pole v input-group (Mapa – souřadnice – ×) se nesmí roztáhnout na 100 % – jinak tlačítka spadnou nad a pod něj */
.ui-modern .nmi-optional .input-group {
	flex-wrap: nowrap;
}

.ui-modern .nmi-optional .input-group > input {
	width: 1% !important;
	flex: 1 1 auto;
	min-width: 0;
}

/* ---------- dodací list / záměr (Report/deliveryNote.modern.latte) ---------- */
.ui-modern .nmd-page {
	max-width: 1200px;
	margin: 0 auto;
	padding-bottom: 4rem;
}

.ui-modern .nmd-bar {
	gap: .5rem;
	margin-bottom: .8rem;
}

.ui-modern .nmd-send {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .4rem .8rem;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: .55rem .9rem;
	margin-bottom: 1rem;
	font-size: .85rem;
}

.ui-modern .nmd-send-title {
	color: var(--wa-muted);
	font-weight: 600;
}

.ui-modern .nmd-send form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .4rem .6rem;
	margin: 0;
}

.ui-modern .nmd-send input[type="text"],
.ui-modern .nmd-send input[type="email"] {
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: .25rem .5rem;
	min-width: 14rem;
	max-width: 100%;
}

.ui-modern .nmd-sheet {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	box-shadow: 0 4px 18px rgba(20, 30, 40, .08);
	padding: 1rem;
	text-align: center;
}

.ui-modern .nmd-image {
	max-width: 100%;
	height: auto;
}

.ui-modern .nmd-data {
	display: grid;
	grid-template-columns: max-content minmax(0, 1fr);
	gap: .4rem 1.2rem;
	text-align: left;
	margin: 0;
	font-size: .9rem;
}

.ui-modern .nmd-data dt {
	color: var(--wa-muted);
	font-weight: 600;
}

.ui-modern .nmd-data dd {
	margin: 0;
}

/* součet záměrů dodavatele: objem vlevo, kolečko s počtem vpravo (jako v buňkách intervalů) */
.ui-modern .nmt-sum-sup {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .3rem;
	min-height: 1.35rem;
}

.ui-modern .nmt-sum-sup .nmt-mine.static {
	margin: 0 0 0 auto;
}

.ui-modern .nmt-sum-sup small {
	color: var(--wa-muted);
	line-height: 1.25;
}

/* ---------- přejímka vrátnice (WoodAcceptance: default.modern.latte, racice.modern.latte, FormWoodAcceptanceFilterFactory.modern.latte) ---------- */
.ui-modern .nmw-page {
	padding-bottom: 4rem;
}

.ui-modern .nmw-narrow-page {
	max-width: 760px;
	margin: 0 auto;
}

.ui-modern .nmw-head {
	justify-content: space-between;
	align-items: center;
}

.ui-modern .nmw-filter {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: .8rem 1rem .6rem;
	margin-bottom: 1rem;
	font-size: .875rem;
}

.ui-modern .nmw-fields {
	display: flex;
	flex-wrap: wrap;
	gap: .2rem 1rem;
	align-items: flex-end;
}

.ui-modern .nmw-field {
	display: grid;
	gap: .25rem;
	flex: 1 1 10rem;
	min-width: 0;
	margin-bottom: .6rem;
}

.ui-modern .nmw-field label {
	font-size: .8rem;
	font-weight: 600;
	margin: 0;
}

.ui-modern .nmw-dates,
.ui-modern .nmw-times {
	flex: 0 1 15rem;
}

.ui-modern .nmw-supplier {
	flex: 2 1 18rem;
}

.ui-modern .nmw-narrow {
	flex: 0 1 9rem;
}

.ui-modern .nmw-range {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	gap: .3rem;
	align-items: center;
}

.ui-modern .nmw-field input[type="text"] {
	width: 100%;
	min-width: 0;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: .3rem .5rem;
	height: calc(1.5em + .6rem + 2px);
}

.ui-modern .nmw-field .select2-container {
	width: 100% !important;
}

/* přepínače doprava / pořadí / formát jako segmentová tlačítka (RadioList: <label><input> text</label>) */
.ui-modern .nmw-options {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .6rem 1.2rem;
	border-top: 1px solid var(--wa-line);
	padding-top: .6rem;
}

.ui-modern .nmw-seg-group {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
}

.ui-modern .nmw-seg-label {
	font-size: .8rem;
	font-weight: 600;
	color: var(--wa-muted);
}

.ui-modern .nmw-seg {
	display: inline-flex;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	overflow: hidden;
	background: var(--wa-surface);
}

.ui-modern .nmw-seg br {
	display: none;
}

.ui-modern .nmw-seg label {
	margin: 0;
	padding: .25rem .75rem;
	font-size: .82rem;
	cursor: pointer;
	user-select: none;
	border-left: 1px solid var(--wa-line);
}

.ui-modern .nmw-seg label:first-of-type {
	border-left: 0;
}

.ui-modern .nmw-seg input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.ui-modern .nmw-seg label:has(input:checked) {
	background: var(--wa-accent);
	color: #fff;
	font-weight: 600;
}

.ui-modern .nmw-seg label:has(input:focus-visible) {
	outline: 2px solid var(--wa-accent);
	outline-offset: -2px;
}

.ui-modern .nmw-actions {
	margin-left: auto;
	display: flex;
	gap: .5rem;
}

.ui-modern .nmw-actions input[name="ok"] {
	font-weight: 600;
	padding-left: 1.4rem;
	padding-right: 1.4rem;
}

.ui-modern .nmw-empty {
	justify-content: center;
	padding: 2.5rem 1rem;
}

.ui-modern .nmw-none {
	text-align: center;
	color: var(--wa-muted);
	padding: 1.2rem !important;
}

/* přejímka vrátnice: filtr je přímo na stránce – tlačítko "Zobrazit filtr" v prázdném stavu sestavy nemá co otevřít */
.ui-modern .nmw-page .nm-nodata-action {
	display: none !important;
}

/* ---------- seznam přeprav (Sale: Default/default.modern.latte) ---------- */
.ui-modern .nms-page {
	padding-bottom: 4rem;
}

.ui-modern .nms-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem 1rem;
	padding-top: .4rem;
	padding-bottom: .4rem;
}

.ui-modern .nms-buyer {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
}

.ui-modern .nms-bar-label {
	font-size: .8rem;
	font-weight: 600;
	color: var(--wa-muted);
}

.ui-modern .nms-buyer-chip .nm-chip-open {
	font-weight: 600;
	cursor: default;
}

/* legenda stavů jako barevné štítky – stejné třídy jako řádky gridu (sale.neon statusColors) */
.ui-modern .nms-legend {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;
	margin: -.4rem 0 1rem;
	padding: .6rem .8rem;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
}

.ui-modern .nms-legend-item {
	border: 1px solid var(--wa-line);
	border-radius: 999px;
	padding: .1rem .65rem;
	font-size: .78rem;
	font-weight: 600;
}

/* grid v kartě, široká tabulka se posouvá uvnitř (jinak vytlačí patičku a lištu na mobilu) */
.ui-modern .nms-grid {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: .5rem;
	overflow-x: auto;
	position: relative; /* skryté absolutní prvky gridu (datagrid-per-page-submit) zůstanou uvnitř, jinak roztáhnou stránku */
	font-size: .78rem;
}

.ui-modern .nms-grid .input-group > .form-control {
	width: 5.5rem;
	flex: 0 0 auto;
}

/* lišta gridu (uložení nastavení, CSV, sloupce) – u široké tabulky by byla vpravo mimo obrazovku */
.ui-modern .nms-grid .row-group-actions th {
	background: var(--wa-surface);
	border: 0;
	padding: 0 0 .4rem;
}

.ui-modern .nms-grid .row-group-actions .datagrid-toolbar {
	float: none;
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	position: sticky;
	left: 0;
}

.ui-modern .nms-grid .row-group-actions .btn {
	border: 1px solid var(--wa-line);
	background: var(--wa-surface);
	color: var(--wa-fg);
	font-size: .75rem;
	padding: .15rem .5rem;
}

.ui-modern .nms-grid .row-group-actions .btn:hover {
	background: var(--wa-accent-soft);
}

.ui-modern .nms-grid .input-group-append .input-group-text,
.ui-modern .nms-grid .input-group-append .btn {
	padding: .1rem .3rem;
	font-size: .7rem;
}

.ui-modern .nms-grid table.table {
	margin-bottom: 0;
	border-color: var(--wa-line);
}

.ui-modern .nms-grid table.table th,
.ui-modern .nms-grid table.table td {
	border-color: var(--wa-line);
	padding: .3rem .4rem;
	vertical-align: middle;
}

.ui-modern .nms-grid table.table thead th {
	background: var(--wa-bar);
	font-weight: 600;
	vertical-align: bottom;
	white-space: normal;
	min-width: 5rem;
}

.ui-modern .nms-grid table.table thead tr.row-grid-header th,
.ui-modern .nms-grid table.table thead tr.row-filters th {
	background: var(--wa-bg);
}

.ui-modern .nms-grid .form-control,
.ui-modern .nms-grid .form-control-sm {
	font-size: .75rem;
	height: calc(1.5em + .4rem + 2px);
	padding: .1rem .35rem;
}

.ui-modern .nms-grid .col-action {
	white-space: nowrap;
}

.ui-modern .nms-grid .col-action .btn-xs {
	padding: .1rem .3rem;
	font-size: .72rem;
	line-height: 1.2;
}

/* stavové barvy řádků (sale.neon) jemněji – syté pozadí jen jako levý proužek a světlý podklad */
.ui-modern .nms-grid tbody tr.bg-danger,
.ui-modern .nms-legend .bg-danger { background: #f9e3e5 !important; color: #8a1f2b !important; box-shadow: inset 4px 0 #c82333; }
.ui-modern .nms-grid tbody tr.bg-primary,
.ui-modern .nms-legend .bg-primary { background: #e3eef8 !important; color: #174f80 !important; box-shadow: inset 4px 0 #1f6fb2; }
.ui-modern .nms-grid tbody tr.bg-warning,
.ui-modern .nms-legend .bg-warning { background: #fbf0d9 !important; color: #7a5410 !important; box-shadow: inset 4px 0 #e0a800; }
.ui-modern .nms-grid tbody tr.bg-success-light,
.ui-modern .nms-legend .bg-success-light { background: #ecf7ef !important; color: #1f6b3a !important; box-shadow: inset 4px 0 #6cc28a; }
.ui-modern .nms-grid tbody tr.bg-success,
.ui-modern .nms-legend .bg-success { background: #dcefe2 !important; color: #1f6b3a !important; box-shadow: inset 4px 0 #2f8f4e; }
.ui-modern .nms-grid tbody tr.bg-success-dark,
.ui-modern .nms-legend .bg-success-dark { background: #cfe6d7 !important; color: #134726 !important; box-shadow: inset 4px 0 #165c2f; }
.ui-modern .nms-grid tbody tr.text-danger,
.ui-modern .nms-legend .text-danger { color: #b02a37 !important; }
.ui-modern .nms-grid tbody tr.text-warning,
.ui-modern .nms-legend .text-warning { color: #a8741a !important; }
.ui-modern .nms-grid tbody tr.text-success,
.ui-modern .nms-legend .text-success { color: #23863b !important; }
.ui-modern .nms-grid tbody tr.del td { text-decoration: line-through; color: var(--wa-muted); }
.ui-modern .nms-legend .del { text-decoration: line-through; }
.ui-modern .nms-legend .text-white { color: inherit; }

.ui-modern .nms-grid tbody tr:hover td {
	background: rgba(31, 111, 178, .06);
}

.ui-modern .nms-grid .row-grid-bottom {
	background: var(--wa-surface);
}

.ui-modern .nms-grid .nms-grid-bottom {
	position: sticky;
	left: .5rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem 1rem;
	width: min(100%, calc(100vw - 3.5rem));
}

.ui-modern .nms-grid .nms-grid-bottom > div {
	float: none;
	width: auto;
}

.ui-modern .nms-grid .nms-grid-bottom .pagination {
	margin: 0;
}

/* ---------- vrátnice (Gate: @layout.modern.latte, panely w*.latte, grid.latte) ---------- */
.ui-modern .nmg-page {
	--g-tours: #d99a00;
	--g-parking: #17a2b8;
	--g-onway: #6c757d;
	--g-internal: #1f6fb2;
	--g-loading: #23863b;
	padding-bottom: 3.5rem;
}

.ui-modern .nmg-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem 1rem;
	background: var(--wa-bar);
	border-radius: var(--wa-radius) var(--wa-radius) 0 0;
	padding: .45rem .8rem;
}

.ui-modern .nmg-title {
	display: flex;
	align-items: center;
	gap: .55rem;
	margin-right: auto;
}

.ui-modern .nmg-title-icon {
	display: inline-grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--wa-accent);
	color: #fff;
	font-size: .9rem;
}

.ui-modern .nmg-title h1 {
	font-size: 1.25rem;
	font-weight: 700;
	margin: 0;
}

.ui-modern .nmg-title h1 small {
	font-size: .9rem;
	font-weight: 600;
	color: var(--wa-muted);
	margin-left: .3rem;
}

/* přepínání pohledů jako záložky v barvě panelu */
.ui-modern .nmg-views {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .25rem;
}

.ui-modern .nmg-views-sep {
	width: 1px;
	height: 1.4rem;
	background: #c5cbd1;
	margin: 0 .25rem;
}

.ui-modern .nmg-view {
	--c: var(--wa-accent);
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .3rem .65rem;
	border-radius: 999px;
	border: 1px solid var(--wa-line);
	background: var(--wa-surface);
	color: var(--wa-fg);
	font-size: .82rem;
	font-weight: 600;
	text-decoration: none;
	white-space: nowrap;
}

.ui-modern .nmg-view i {
	color: var(--c);
}

.ui-modern .nmg-view:hover {
	border-color: var(--c);
	text-decoration: none;
	color: var(--wa-fg);
}

.ui-modern .nmg-view.active {
	background: var(--c);
	border-color: var(--c);
	color: #fff;
}

.ui-modern .nmg-view.active i {
	color: #fff;
}

.ui-modern .nmg-c-tours { --c: var(--g-tours); }
.ui-modern .nmg-c-parking { --c: var(--g-parking); }
.ui-modern .nmg-c-onway { --c: var(--g-onway); }
.ui-modern .nmg-c-internal { --c: var(--g-internal); }
.ui-modern .nmg-c-loading { --c: var(--g-loading); }

/* na užší obrazovce jen ikony, název v title */
@media (max-width: 1399.98px) {
	.ui-modern .nmg-view:not(:first-child) span {
		display: none;
	}
}

.ui-modern .nmg-tools {
	display: flex;
	align-items: center;
	gap: .5rem;
}

.ui-modern .nmg-gate-switch {
	display: inline-flex;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	overflow: hidden;
	background: var(--wa-surface);
}

.ui-modern .nmg-gate-switch a {
	padding: .3rem .75rem;
	font-size: .82rem;
	font-weight: 600;
	color: var(--wa-fg);
	text-decoration: none;
}

.ui-modern .nmg-gate-switch a + a {
	border-left: 1px solid var(--wa-line);
}

.ui-modern .nmg-gate-switch a.active {
	background: var(--wa-accent);
	color: #fff;
}

.ui-modern .nmg-clock {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .3rem .7rem;
	border-radius: var(--wa-radius);
	background: #343a40;
	color: #fff;
	font-size: .85rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	text-decoration: none;
}

.ui-modern .nmg-clock:hover {
	color: #fff;
	text-decoration: none;
	background: #23272b;
}

/* odpočet do obnovení jako tenká linka pod hlavičkou */
.ui-modern .nmg-page .progress-reload {
	height: 3px;
	border-radius: 0;
	background: var(--wa-line);
	margin: 0 0 .6rem;
}

.ui-modern .nmg-page .progress-reload .progress-bar {
	background: var(--wa-accent);
	font-size: 0;
	transition: width 1s linear;
}

.ui-modern .nmg-page .card-body .progress-reload {
	display: none;
}

/* panely: bílá karta, barva panelu jako proužek nahoře a tečka u názvu */
.ui-modern .nmg-page .row {
	margin-left: -.3rem;
	margin-right: -.3rem;
}

.ui-modern .nmg-page .row > .col {
	padding-left: .3rem !important;
	padding-right: .3rem !important;
}

.ui-modern .nmg-page .card {
	--c: var(--wa-accent);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	overflow: hidden;
	margin: 0 0 .6rem !important;
}

.ui-modern .nmg-page .card-header.bg-warning { --c: var(--g-tours); }
.ui-modern .nmg-page .card-header.bg-info { --c: var(--g-parking); }
.ui-modern .nmg-page .card-header.bg-secondary { --c: var(--g-onway); }
.ui-modern .nmg-page .card-header.bg-primary { --c: var(--g-internal); }
.ui-modern .nmg-page .card-header.bg-success { --c: var(--g-loading); }

.ui-modern .nmg-page .card-header {
	display: flex;
	align-items: center;
	gap: .4rem;
	background: var(--wa-surface) !important;
	color: var(--wa-fg) !important;
	border-bottom: 1px solid var(--wa-line);
	box-shadow: inset 0 3px var(--c);
	padding: .5rem .7rem .4rem;
	text-align: left !important;
}

.ui-modern .nmg-page .card-header strong {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	margin-right: auto;
	font-size: .95rem;
}

.ui-modern .nmg-page .card-header strong::before {
	content: "";
	width: .6rem;
	height: .6rem;
	border-radius: 50%;
	background: var(--c);
}

.ui-modern .nmg-page .card-header .float-right {
	float: none !important;
	margin: 0 !important;
}

.ui-modern .nmg-page .card-header button.float-right {
	order: 1;
	border: 1px solid var(--wa-line);
	background: var(--wa-surface);
	color: var(--wa-muted);
	padding: .1rem .4rem;
}

.ui-modern .nmg-page .card-header a.float-right {
	order: 2;
	display: inline-grid;
	place-items: center;
	width: 1.7rem;
	height: 1.7rem;
	border-radius: var(--wa-radius);
	color: var(--wa-muted);
}

.ui-modern .nmg-page .card-header a.float-right:hover,
.ui-modern .nmg-page .card-header button.float-right:hover {
	background: var(--wa-bar);
	color: var(--wa-fg);
}

.ui-modern .nmg-page .card-body {
	padding: .4rem !important;
}

.ui-modern .nmg-page .gate-grid {
	overflow: auto;
	font-size: .76rem;
}

/* legenda panelu jako štítky */
.ui-modern .nmg-page [id^="collapseLegend"] .card-body {
	border: 0;
	padding: .2rem .2rem .5rem !important;
}

.ui-modern .nmg-page [id^="collapseLegend"] table,
.ui-modern .nmg-page [id^="collapseLegend"] tbody {
	display: flex;
	flex-wrap: wrap;
	gap: .3rem;
	margin: 0;
	border: 0;
}

.ui-modern .nmg-page [id^="collapseLegend"] tr {
	display: contents;
}

.ui-modern .nmg-page [id^="collapseLegend"] th {
	flex-basis: 100%;
	border: 0;
	padding: .2rem 0 0;
	font-size: .78rem;
	color: var(--wa-muted);
}

.ui-modern .nmg-page [id^="collapseLegend"] td {
	border: 1px solid var(--wa-line);
	border-radius: 999px;
	padding: .1rem .6rem;
	font-size: .74rem;
	font-weight: 600;
}

/* tabulky gridů */
.ui-modern .nmg-page .datagrid {
	padding: 0;
}

.ui-modern .nmg-page .datagrid table.table {
	margin: 0;
}

.ui-modern .nmg-page .datagrid table.table th,
.ui-modern .nmg-page .datagrid table.table td {
	border-color: var(--wa-line);
	padding: .25rem .35rem;
	vertical-align: middle;
}

.ui-modern .nmg-page .datagrid table.table thead th {
	background: var(--wa-bar);
	font-weight: 600;
	vertical-align: bottom;
}

.ui-modern .nmg-page .datagrid table thead tr.row-group-actions th {
	background: var(--wa-surface);
	border: 0;
	padding: 0 0 .3rem !important;
}

.ui-modern .nmg-page .datagrid .row-group-actions .btn {
	border: 1px solid var(--wa-line);
	background: var(--wa-surface);
	color: var(--wa-muted);
	font-size: .72rem;
	padding: .1rem .4rem;
}

.ui-modern .nmg-page .datagrid .datagrid-toolbar {
	margin-top: 0;
}

.ui-modern .nmg-page .datagrid .form-control,
.ui-modern .nmg-page .datagrid .form-control-sm {
	font-size: .74rem;
	height: calc(1.5em + .4rem + 2px);
	padding: .1rem .35rem;
}

.ui-modern .nmg-page .datagrid .row-grid-bottom {
	background: var(--wa-surface);
	border-color: var(--wa-line);
	padding: .3rem .4rem;
}

.ui-modern .nmg-page .datagrid .col-action .btn-xs {
	padding: .12rem .35rem;
	font-size: .72rem;
	line-height: 1.2;
}

/* barvy řádků (gate.neon legend) – světlý podklad s proužkem vlevo; barva textu zůstává informací o okně */
.ui-modern .nmg-page tbody tr.bg-danger-light,
.ui-modern .nmg-page [id^="collapseLegend"] .bg-danger-light { background: #fdeef0 !important; box-shadow: inset 4px 0 #dc3545; }
.ui-modern .nmg-page tbody tr.bg-success-light,
.ui-modern .nmg-page [id^="collapseLegend"] .bg-success-light { background: #ebf7ee !important; box-shadow: inset 4px 0 #2f8f4e; }
.ui-modern .nmg-page tbody tr.bg-warning-light,
.ui-modern .nmg-page [id^="collapseLegend"] .bg-warning-light { background: #fdf4dd !important; box-shadow: inset 4px 0 #e0a800; }
.ui-modern .nmg-page tbody tr.bg-light,
.ui-modern .nmg-page [id^="collapseLegend"] .bg-light { background: #f1f3f5 !important; box-shadow: inset 4px 0 #adb5bd; }
.ui-modern .nmg-page tbody tr.text-danger,
.ui-modern .nmg-page [id^="collapseLegend"] .text-danger { color: #b02a37 !important; }
.ui-modern .nmg-page tbody tr.text-success,
.ui-modern .nmg-page [id^="collapseLegend"] .text-success { color: #1f7a37 !important; }

.ui-modern .nmg-page tbody tr:hover > td {
	background: rgba(31, 111, 178, .07);
}

/* ---------- objednávka přepravy (Sale: Default/printOrder.modern.latte; obsah order.latte sdílený s PDF) ---------- */
body.ui-modern.nmo-body {
	padding-top: 0 !important;
}

.ui-modern .nmo-page {
	max-width: 900px;
	margin: 0 auto;
	padding: 0 0 4rem;
}

.ui-modern .nmo-bar {
	position: sticky;
	top: 0;
	z-index: 100;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem 1rem;
	background: var(--wa-bar);
	border-radius: 0 0 var(--wa-radius) var(--wa-radius);
	padding: .5rem .9rem;
	margin-bottom: 1rem;
}

.ui-modern .nmo-bar-title {
	display: flex;
	align-items: center;
	gap: .5rem;
	font-size: .95rem;
}

.ui-modern .nmo-bar-title i {
	color: var(--wa-accent);
}

.ui-modern .nmo-bar-actions {
	display: flex;
	gap: .4rem;
}

/* list papíru */
.ui-modern .nmo-sheet {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	box-shadow: 0 6px 24px rgba(20, 30, 40, .08);
	padding: 2rem 2.4rem;
	font-size: .86rem;
	color: var(--wa-fg);
}

.ui-modern .nmo-sheet .table {
	margin-bottom: 0;
}

.ui-modern .nmo-sheet .table td,
.ui-modern .nmo-sheet .table th {
	border-color: var(--wa-line);
	padding: .55rem .4rem;
	vertical-align: top;
}

/* záhlaví firmy */
.ui-modern .nmo-sheet .table.header {
	border-bottom: 3px solid var(--wa-accent);
	margin-bottom: 1.2rem;
}

.ui-modern .nmo-sheet .table.header td {
	padding: 0 0 .9rem;
	vertical-align: middle;
	font-size: .8rem;
	color: var(--wa-muted);
}

.ui-modern .nmo-sheet .table.header a {
	color: var(--wa-muted);
}

/* nadpis objednávky */
.ui-modern .nmo-sheet h3 {
	font-size: 1.45rem;
	font-weight: 700;
	margin: 0 0 .3rem;
	letter-spacing: -.01em;
}

.ui-modern .nmo-sheet .table > tbody > tr:first-child > td {
	border-top: 0;
}

/* řádky údajů: popisek vlevo menší a šedý */
.ui-modern .nmo-sheet .table > tbody > tr > th {
	width: 30%;
	font-size: .76rem;
	font-weight: 600;
	color: var(--wa-muted);
	text-transform: uppercase;
	letter-spacing: .02em;
	padding-top: .65rem;
}

.ui-modern .nmo-sheet .table > tbody > tr > th + td {
	font-weight: 500;
}

.ui-modern .nmo-sheet i {
	color: var(--wa-muted);
}

/* upozornění jako jemné bloky s proužkem vlevo */
.ui-modern .nmo-sheet .alert {
	border: 0;
	border-radius: var(--wa-radius);
	padding: .7rem .9rem !important;
	font-size: .78rem;
	line-height: 1.45;
}

.ui-modern .nmo-sheet td.alert {
	display: table-cell;
	border-top: .5rem solid var(--wa-surface) !important;
}

.ui-modern .nmo-sheet .alert-danger {
	background: #fdeef0;
	color: #8a1f2b !important;
	box-shadow: inset 4px 0 #dc3545;
}

.ui-modern .nmo-sheet .alert-warning {
	background: #fdf6e3;
	color: #6b4a07;
	box-shadow: inset 4px 0 #e0a800;
}

.ui-modern .nmo-sheet .alert strong {
	font-weight: 600;
}

.ui-modern .nmo-sheet .alert small {
	font-size: inherit;
}

/* vnořená tabulka s upozorněním a QR kódem */
.ui-modern .nmo-sheet .table .table td {
	border: 0;
	padding: 0;
	vertical-align: middle;
}

.ui-modern .nmo-sheet .table .table td.alert {
	border-top: 0 !important;
}

.ui-modern .nmo-sheet .table .table td + td {
	padding-left: 1rem;
	width: 1%;
}

@media (max-width: 767.98px) {
	.ui-modern .nmo-sheet {
		padding: 1rem;
		border-radius: 0;
	}

	.ui-modern .nmo-sheet .table > tbody > tr > th {
		width: 38%;
	}
}

@media print {
	body.ui-modern.nmo-body {
		background: #fff;
	}

	.ui-modern .nmo-page {
		max-width: none;
		padding: 0;
	}

	.ui-modern .nmo-sheet {
		border: 0;
		box-shadow: none;
		padding: 0;
	}

	.ui-modern .nmo-sheet .alert {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
}

/* ---------- detail přepravy (Sale: Default/tourDetails.modern.latte) ---------- */
.ui-modern .nmtd-page {
	max-width: 900px;
	margin: 0 auto;
	padding-bottom: 4rem;
}

.ui-modern .nmtd-icon {
	display: inline-grid;
	place-items: center;
	width: 2.2rem;
	height: 2.2rem;
	border-radius: 50%;
	background: var(--wa-accent-soft);
	color: var(--wa-accent);
}

/* stav WoodAccept – barvy podle sale.neon statusColors */
.ui-modern .nmtd-pill {
	border: 1px solid var(--wa-line);
	border-radius: 999px;
	padding: .15rem .75rem;
	font-size: .8rem;
	font-weight: 700;
	background: var(--wa-surface);
}

.ui-modern .nmtd-pill.bg-danger { background: #f9e3e5 !important; color: #8a1f2b !important; border-color: #f1b9bf; }
.ui-modern .nmtd-pill.bg-primary { background: #e3eef8 !important; color: #174f80 !important; border-color: #b6d0ea; }
.ui-modern .nmtd-pill.bg-warning { background: #fbf0d9 !important; color: #7a5410 !important; border-color: #ecd49c; }
.ui-modern .nmtd-pill.bg-success-light { background: #ecf7ef !important; color: #1f6b3a !important; border-color: #bfe3c9; }
.ui-modern .nmtd-pill.bg-success { background: #dcefe2 !important; color: #1f6b3a !important; border-color: #a9d6b7; }
.ui-modern .nmtd-pill.bg-success-dark { background: #cfe6d7 !important; color: #134726 !important; border-color: #8fc2a1; }
.ui-modern .nmtd-pill.text-danger { color: #b02a37 !important; }
.ui-modern .nmtd-pill.text-warning { color: #a8741a !important; }
.ui-modern .nmtd-pill.text-success { color: #23863b !important; }
.ui-modern .nmtd-pill.del { text-decoration: line-through; }

/* souhrnné karty */
.ui-modern .nmtd-cards {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr));
	gap: .7rem;
	margin-bottom: 1rem;
}

.ui-modern .nmtd-card {
	display: grid;
	gap: .3rem;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: .75rem .9rem;
}

.ui-modern .nmtd-label {
	font-size: .75rem;
	font-weight: 600;
	color: var(--wa-muted);
	text-transform: uppercase;
	letter-spacing: .02em;
}

.ui-modern .nmtd-label i {
	color: var(--wa-accent);
	margin-right: .2rem;
}

.ui-modern .nmtd-card strong {
	font-size: .95rem;
}

.ui-modern .nmtd-empty {
	color: var(--wa-muted);
}

.ui-modern .nmtd-plate {
	display: inline-block;
	border: 2px solid #343a40;
	border-radius: .25rem;
	padding: 0 .4rem;
	margin-right: .3rem;
	font-family: "Segoe UI", Arial, sans-serif;
	font-weight: 700;
	letter-spacing: .05em;
	background: #fff;
}

/* časová osa stavů */
.ui-modern .nmtd-timeline-card {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: .9rem 1.1rem .4rem;
}

.ui-modern .nmtd-timeline-card h2 {
	font-size: 1rem;
	font-weight: 700;
	margin: 0 0 .6rem;
}

.ui-modern .nmtd-timeline {
	list-style: none;
	margin: 0;
	padding: 0;
}

.ui-modern .nmtd-step {
	position: relative;
	display: flex;
	align-items: center;
	gap: .8rem;
	padding: .45rem 0 .45rem 1.8rem;
}

/* svislá čára mezi tečkami */
.ui-modern .nmtd-step::before {
	content: "";
	position: absolute;
	left: .45rem;
	top: 0;
	bottom: 0;
	width: 2px;
	background: var(--wa-line);
}

.ui-modern .nmtd-step:first-child::before {
	top: 50%;
}

.ui-modern .nmtd-step:last-child::before {
	bottom: 50%;
}

.ui-modern .nmtd-step.done + .nmtd-step.done::before,
.ui-modern .nmtd-step.done:has(+ .nmtd-step.done)::before {
	background: var(--wa-success);
}

.ui-modern .nmtd-dot {
	position: absolute;
	left: 0;
	top: 50%;
	width: 1rem;
	height: 1rem;
	margin-top: -.5rem;
	border-radius: 50%;
	border: 2px solid var(--wa-line);
	background: var(--wa-surface);
}

.ui-modern .nmtd-step.done .nmtd-dot {
	border-color: var(--wa-success);
	background: var(--wa-success);
	box-shadow: inset 0 0 0 2px var(--wa-surface);
}

.ui-modern .nmtd-step.current .nmtd-dot {
	border-color: var(--wa-accent);
	background: var(--wa-accent);
	box-shadow: 0 0 0 4px var(--wa-accent-soft);
}

.ui-modern .nmtd-step-main {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: .1rem 1rem;
	flex: 1 1 auto;
	min-width: 0;
}

.ui-modern .nmtd-step-name {
	font-weight: 600;
	min-width: 14rem;
}

.ui-modern .nmtd-step-date {
	font-size: .85rem;
	font-variant-numeric: tabular-nums;
	color: var(--wa-muted);
}

.ui-modern .nmtd-step.todo .nmtd-step-name {
	color: var(--wa-muted);
	font-weight: 400;
}

.ui-modern .nmtd-step.current {
	background: var(--wa-accent-soft);
	border-radius: var(--wa-radius);
	margin-left: -.5rem;
	padding-left: 2.3rem;
}

.ui-modern .nmtd-step.current .nmtd-dot {
	left: .5rem;
}

.ui-modern .nmtd-step.current::before {
	left: .95rem;
}

.ui-modern .nmtd-step.current .nmtd-step-name {
	color: var(--wa-accent);
}

.ui-modern .nmtd-duration {
	flex: 0 0 auto;
	border-radius: 999px;
	background: var(--wa-bar);
	padding: .1rem .6rem;
	font-size: .78rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.ui-modern .nmtd-duration i {
	color: var(--wa-muted);
	margin-right: .15rem;
}

/* ---------- potvrzení / dodání přepravy (Sale: confirmTour.modern.latte, info.modern.latte, FormConfirmFactory.modern.latte) ---------- */
.ui-modern .nmct-page {
	max-width: 1200px;
	margin: 0 auto;
	padding-bottom: 4rem;
}

.ui-modern .nmct-layout {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
}

@media (max-width: 991.98px) {
	.ui-modern .nmct-layout {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* formulář zůstává při posunu vedle souhrnu */
@media (min-width: 992px) {
	.ui-modern .nmct-form {
		position: sticky;
		top: calc(var(--wa-nav-h) + 12px);
	}
}

.ui-modern .nmct-card {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: 1rem 1.1rem;
	margin-bottom: 1rem;
	font-size: .875rem;
}

.ui-modern .nmct-card h2 {
	font-size: .95rem;
	font-weight: 700;
	margin: 0 0 .6rem;
}

.ui-modern .nmct-card h2 i {
	color: var(--wa-accent);
	margin-right: .25rem;
}

.ui-modern .nmct-card p {
	margin-bottom: .45rem;
}

/* souhrn údajů */
.ui-modern .nmct-facts {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(12rem, 1fr));
	gap: .8rem 1.2rem;
	margin: 0;
}

.ui-modern .nmct-facts dt {
	font-size: .72rem;
	font-weight: 600;
	color: var(--wa-muted);
	text-transform: uppercase;
	letter-spacing: .02em;
	margin-bottom: .1rem;
}

.ui-modern .nmct-facts dd {
	margin: 0;
	font-weight: 600;
}

.ui-modern .nmct-facts .nmct-wide {
	grid-column: 1 / -1;
}

.ui-modern .nmct-price {
	color: var(--wa-success);
	font-size: 1.05rem;
}

.ui-modern .nmct-gate {
	display: inline-grid;
	place-items: center;
	width: 1.4rem;
	height: 1.4rem;
	border-radius: 50%;
	background: var(--wa-success);
	color: #fff;
	font-weight: 700;
	font-size: .8rem;
}

.ui-modern .nmct-callout {
	border-radius: var(--wa-radius);
	padding: .55rem .8rem;
	margin: .6rem 0 0;
	font-weight: 600;
	font-size: .82rem;
}

.ui-modern .nmct-callout-danger {
	background: #fdeef0;
	color: #8a1f2b;
	box-shadow: inset 4px 0 #dc3545;
}

.ui-modern .nmct-equipment {
	background: #fdf6e3;
	border-color: #f0dfae;
	box-shadow: inset 4px 0 #e0a800;
}

.ui-modern .nmct-equipment h2 i {
	color: #a8741a;
}

/* formulář */
.ui-modern .nmct-confirm h2 {
	margin-top: .3rem;
	padding-top: .8rem;
	border-top: 1px solid var(--wa-line);
}

.ui-modern .nmct-confirm h2:first-of-type {
	border-top: 0;
	padding-top: 0;
}

.ui-modern .nmct-check {
	display: flex;
	align-items: center;
	gap: .6rem;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: .6rem .8rem;
	margin-bottom: .8rem;
	font-weight: 600;
	cursor: pointer;
}

.ui-modern .nmct-check input {
	width: 1.15rem;
	height: 1.15rem;
	accent-color: var(--wa-success);
	position: static; /* .form-check-input z Bootstrapu je absolutní */
	margin: 0;
	flex: 0 0 auto;
}

.ui-modern .nmct-check:has(input:checked) {
	background: #ebf7ee;
	border-color: #a9d6b7;
	color: #1f6b3a;
}

.ui-modern .nmct-field {
	display: grid;
	gap: .25rem;
	margin-bottom: .7rem;
	min-width: 0;
}

.ui-modern .nmct-field label {
	font-size: .8rem;
	font-weight: 600;
	margin: 0;
}

.ui-modern .nmct-field > input,
.ui-modern .nmct-field > select {
	width: 100%;
}

.ui-modern .nmct-interval {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	gap: .4rem;
	align-items: end;
}

.ui-modern .nmct-interval .nmf-dash {
	padding-bottom: 1.15rem;
}

.ui-modern .nmct-interval input[readonly] {
	background: var(--wa-bg);
	font-variant-numeric: tabular-nums;
	font-weight: 600;
}

.ui-modern .nmct-pick {
	margin: -.2rem 0 .8rem;
}

.ui-modern .nmct-row {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .6rem;
}

.ui-modern .nmct-plate-input {
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.ui-modern .nmct-phone {
	flex-wrap: nowrap;
}

.ui-modern .nmct-phone .input-group-prepend {
	flex: 0 0 9rem;
	max-width: 9rem;
}

.ui-modern .nmct-phone .input-group-prepend .select2-container {
	width: 100% !important;
}

.ui-modern .nmct-phone .input-group-prepend .select2-selection {
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.ui-modern .nmct-actions {
	display: flex;
	justify-content: flex-end;
	gap: .5rem;
	border-top: 1px solid var(--wa-line);
	padding-top: .8rem;
	margin-top: .4rem;
}

.ui-modern .nmct-actions .btn-success {
	font-weight: 600;
	padding-left: 1.6rem;
	padding-right: 1.6rem;
}

/* modal s volnými intervaly (ChangeIntervalControl) */
.ui-modern .nmct-modal #timetable {
	font-size: .78rem;
	margin: 0;
}

.ui-modern .nmct-modal #timetable thead tr,
.ui-modern .nmct-modal #timetable thead th {
	background: var(--wa-bar);
}

.ui-modern .nmct-modal #timetable h4 {
	font-size: 1rem;
	font-weight: 700;
	margin: .3rem 0;
}

.ui-modern .nmct-modal #timetable td,
.ui-modern .nmct-modal #timetable th {
	border-color: var(--wa-line);
	vertical-align: middle;
}

.ui-modern .nmct-modal .modal-body > br {
	display: none;
}

.ui-modern .nmct-modal .useInterval {
	border-radius: 999px;
	padding: .1rem .5rem;
}

.ui-modern .nmct-modal #timetable td.table-danger {
	background: #fbf1f2;
	color: #a0a7ae;
}

.ui-modern .nmct-modal #timetable td.table-success {
	background: #e4f3e8;
	font-weight: 600;
}

.ui-modern .nmct-modal #timetable thead .btn {
	border-radius: var(--wa-radius);
}

.ui-modern .nmct-date input {
	max-width: 12rem;
	font-weight: 600;
}

/* ---------- výběr intervalu v modalu záměru (ChangeIntervalControl.modern.latte, Intention/@layout.latte #newInterval) ---------- */
.ui-modern .nmci-modal .modal-header {
	background: var(--wa-surface);
	border-bottom: 1px solid var(--wa-line);
	padding: .7rem 1rem;
}

.ui-modern .nmci-modal .modal-title {
	font-size: 1.1rem;
	font-weight: 700;
}

.ui-modern .nmci-modal .modal-title i {
	color: var(--wa-accent);
	margin-right: .3rem;
}

.ui-modern .nmci-modal .modal-body {
	padding: .8rem 1rem;
}

.ui-modern .nmci-modal .modal-footer {
	padding: .5rem 1rem;
}

.ui-modern .nmci-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem 1rem;
	background: var(--wa-bar);
	border-radius: var(--wa-radius);
	padding: .4rem .6rem;
	margin-bottom: .6rem;
}

.ui-modern .nmci-who {
	display: flex;
	align-items: center;
	gap: .4rem;
	font-size: .9rem;
}

.ui-modern .nmci-group {
	border: 1px solid var(--wa-line);
	background: var(--wa-surface);
	border-radius: var(--wa-radius);
	padding: 0 .4rem;
	font-size: .75rem;
	font-weight: 700;
	color: var(--wa-muted);
}

.ui-modern .nmci-week {
	display: flex;
	align-items: center;
	gap: .6rem;
}

.ui-modern .nmci-week-name {
	font-weight: 700;
	font-size: 1rem;
	min-width: 9rem;
	text-align: center;
}

.ui-modern .nmci-wrap {
	margin-bottom: .5rem;
}

.ui-modern table.nmci .nmt-cell {
	height: 3.9rem;
}

/* výběr: celá buňka je tlačítko .useInterval, zatržítko vpravo nahoře */
.ui-modern .nmci-pickable {
	cursor: pointer;
	transition: box-shadow .12s ease;
}

.ui-modern .nmci-pick {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	border: 0;
	background: transparent;
	padding: 0;
	cursor: pointer;
	z-index: 1;
}

.ui-modern .nmci-pick i {
	position: absolute;
	top: .35rem;
	right: .35rem;
	display: inline-grid;
	place-items: center;
	width: 1.35rem;
	height: 1.35rem;
	border-radius: 50%;
	border: 1.5px solid var(--nmt-free);
	color: var(--nmt-free);
	background: var(--wa-surface);
	font-size: .7rem;
	opacity: .55;
	transition: opacity .12s ease, transform .12s ease;
}

.ui-modern .nmci-pickable:hover {
	box-shadow: inset 0 0 0 2px var(--nmt-free);
}

.ui-modern .nmci-pickable:hover .nmci-pick i,
.ui-modern .nmci-pick:focus-visible i {
	opacity: 1;
	background: var(--nmt-free);
	color: #fff;
	transform: scale(1.1);
}

.ui-modern .nmci-pick:focus-visible {
	outline: 2px solid var(--wa-accent);
	outline-offset: -2px;
}

/* přeplněný / omezený slot, kam smí přesunout jen oprávněný uživatel – zatržítko v barvě stavu */
.ui-modern .nmt-full.nmci-pickable:hover,
.ui-modern .nmt-stop.nmci-pickable:hover {
	box-shadow: inset 0 0 0 2px var(--nmt-full);
}

.ui-modern .nmt-full .nmci-pick i,
.ui-modern .nmt-stop .nmci-pick i {
	border-color: var(--nmt-full);
	color: var(--nmt-full);
}

.ui-modern .nmt-full.nmci-pickable:hover .nmci-pick i,
.ui-modern .nmt-stop.nmci-pickable:hover .nmci-pick i {
	background: var(--nmt-full);
	color: #fff;
}

.ui-modern .nmci .nmt-mine {
	z-index: 2;
	pointer-events: none;
}

/* aktuální interval záměru */
.ui-modern .nmci td.nmci-current {
	box-shadow: inset 0 0 0 3px var(--wa-accent) !important;
}

.ui-modern .nmci td.nmci-current::after {
	content: "";
	position: absolute;
	left: .35rem;
	bottom: .35rem;
	width: .55rem;
	height: .55rem;
	border-radius: 50%;
	background: var(--wa-accent);
}

.ui-modern .nmci-legend .nmci-lg-current {
	display: inline-block;
	width: .9rem;
	height: .9rem;
	border-radius: .2rem;
	box-shadow: inset 0 0 0 2px var(--wa-accent);
	vertical-align: -.1rem;
}

.ui-modern .nmci-pickable .nmt-reason,
.ui-modern .nmci-pickable .nmt-past-lbl,
.ui-modern .nmci-pickable .nmt-vac {
	padding-right: 1.6rem; /* místo pro zatržítko výběru */
}

/* ---------- úvodní stránka (Homepage/default.modern.latte) ---------- */
.ui-modern .nmh-page {
	max-width: 980px;
	margin: 0 auto;
	padding: 1.5rem 0 4rem;
}

.ui-modern .nmh-hero {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 1rem 2rem;
	background: linear-gradient(120deg, #1f6fb2 0%, #23863b 100%);
	color: #fff;
	border-radius: calc(var(--wa-radius) * 2);
	padding: 1.6rem 1.8rem;
	margin-bottom: 1.5rem;
	box-shadow: 0 10px 30px rgba(31, 111, 178, .18);
}

.ui-modern .nmh-greet {
	margin: 0;
	font-size: .95rem;
	opacity: .85;
}

.ui-modern .nmh-hello h1 {
	margin: 0;
	font-size: 1.7rem;
	font-weight: 700;
}

.ui-modern .nmh-purchaser {
	display: flex;
	align-items: center;
	gap: .7rem;
	background: rgba(255, 255, 255, .14);
	border: 1px solid rgba(255, 255, 255, .25);
	border-radius: var(--wa-radius);
	padding: .5rem .8rem;
}

.ui-modern .nmh-logo {
	display: inline-grid;
	place-items: center;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: var(--wa-radius);
	background: #fff;
	overflow: hidden;
}

.ui-modern .nmh-logo img {
	max-width: 88%;
	max-height: 88%;
}

.ui-modern .nmh-purchaser-name {
	display: block;
	font-weight: 700;
}

.ui-modern .nmh-purchaser-group {
	display: block;
	font-size: .78rem;
	opacity: .85;
}

/* dlaždice modulů */
.ui-modern .nmh-tiles {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
	gap: .9rem;
}

.ui-modern .nmh-tile {
	--c: var(--wa-accent);
	--c-bg: var(--wa-accent-soft);
	position: relative;
	display: flex;
	align-items: center;
	gap: .9rem;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: calc(var(--wa-radius) * 1.6);
	padding: 1.1rem 1.1rem;
	color: var(--wa-fg);
	text-decoration: none;
	transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.ui-modern .nmh-tile:hover,
.ui-modern .nmh-tile:focus-visible {
	color: var(--wa-fg);
	text-decoration: none;
	border-color: var(--c);
	box-shadow: 0 8px 22px rgba(20, 30, 40, .1);
	transform: translateY(-2px);
}

.ui-modern .nmh-icon {
	flex: 0 0 auto;
	display: inline-grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border-radius: var(--wa-radius);
	background: var(--c-bg);
	color: var(--c);
	font-size: 1.3rem;
}

.ui-modern .nmh-text {
	display: grid;
	gap: .15rem;
	min-width: 0;
	flex: 1;
}

.ui-modern .nmh-text strong {
	font-size: 1.05rem;
}

.ui-modern .nmh-text small {
	color: var(--wa-muted);
	font-size: .82rem;
	line-height: 1.3;
}

.ui-modern .nmh-go {
	color: var(--wa-muted);
	opacity: 0;
	transform: translateX(-4px);
	transition: opacity .12s ease, transform .12s ease;
}

.ui-modern .nmh-tile:hover .nmh-go {
	opacity: 1;
	color: var(--c);
	transform: none;
}

.ui-modern .nmh-green { --c: #23863b; --c-bg: #e4f3e8; }
.ui-modern .nmh-teal { --c: #138496; --c-bg: #e0f3f6; }
.ui-modern .nmh-blue { --c: #1f6fb2; --c-bg: #e3eef8; }
.ui-modern .nmh-indigo { --c: #4c5bb5; --c-bg: #e8eaf8; }
.ui-modern .nmh-orange { --c: #d0661b; --c-bg: #fcebdd; }
.ui-modern .nmh-amber { --c: #b8860b; --c-bg: #fbf0d9; }

.ui-modern .nmh-foot {
	display: flex;
	justify-content: flex-end;
	margin-top: 1.5rem;
}

@media (max-width: 575.98px) {
	.ui-modern .nmh-page {
		padding-top: .5rem;
	}

	.ui-modern .nmh-hero {
		padding: 1.1rem 1.2rem;
	}

	.ui-modern .nmh-hello h1 {
		font-size: 1.35rem;
	}
}

/* ---------- EUDR import DDS z CSV (Eudr: Default/import.modern.latte; karty a pole .nmct-…) ---------- */
.ui-modern .nmeu-page {
	max-width: 820px;
	margin: 0 auto;
	padding-bottom: 4rem;
}

.ui-modern .nmeu-errors {
	background: #fdeef0;
	border: 1px solid #f1b9bf;
	border-radius: var(--wa-radius);
	box-shadow: inset 4px 0 #dc3545;
	color: #8a1f2b;
	padding: .8rem 1rem .5rem;
	margin-bottom: 1rem;
	font-size: .875rem;
}

.ui-modern .nmeu-errors h2 {
	font-size: .95rem;
	font-weight: 700;
	margin: 0 0 .4rem;
}

.ui-modern .nmeu-errors ul {
	margin: 0;
	padding-left: 1.2rem;
}

/* kroky s číslem */
.ui-modern .nmeu-step {
	display: flex;
	gap: .9rem;
	align-items: flex-start;
}

.ui-modern .nmeu-form .nmeu-step + .nmeu-step {
	border-top: 1px solid var(--wa-line);
	padding-top: 1rem;
	margin-top: 1rem;
}

.ui-modern .nmeu-num {
	flex: 0 0 auto;
	display: inline-grid;
	place-items: center;
	width: 1.8rem;
	height: 1.8rem;
	border-radius: 50%;
	background: var(--wa-accent-soft);
	color: var(--wa-accent);
	font-weight: 700;
	font-size: .9rem;
}

.ui-modern .nmeu-step-body {
	flex: 1;
	min-width: 0;
}

.ui-modern .nmeu-step-body h2 {
	font-size: .95rem;
	font-weight: 700;
	margin: .25rem 0 .6rem;
}

.ui-modern .nmeu-step-body h2 label {
	font-weight: inherit;
	margin: 0;
}

/* sloupce CSV jako štítky */
.ui-modern .nmeu-cols {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .3rem;
	font-family: Consolas, "Courier New", monospace;
	font-size: .8rem;
	margin-bottom: .7rem;
}

.ui-modern .nmeu-col {
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	background: var(--wa-bg);
	padding: .15rem .5rem;
}

.ui-modern .nmeu-col.req {
	border-color: #f1b9bf;
	background: #fdeef0;
	color: #8a1f2b;
	font-weight: 700;
}

.ui-modern .nmeu-sep {
	color: var(--wa-muted);
	font-weight: 700;
}

.ui-modern .nmeu-note {
	color: var(--wa-muted);
	font-size: .82rem;
	line-height: 1.5;
	margin-bottom: .7rem !important;
}

.ui-modern .nmeu-note strong {
	color: #8a1f2b;
}

/* plocha pro soubor */
.ui-modern .nmeu-drop {
	position: relative;
	display: flex;
	align-items: center;
	gap: .9rem;
	border: 2px dashed #c5cbd1;
	border-radius: calc(var(--wa-radius) * 1.5);
	background: var(--wa-bg);
	padding: 1.1rem 1.2rem;
	margin: 0;
	cursor: pointer;
	transition: border-color .12s ease, background .12s ease;
}

.ui-modern .nmeu-drop:hover,
.ui-modern .nmeu-drop.is-over {
	border-color: var(--wa-accent);
	background: var(--wa-accent-soft);
}

.ui-modern .nmeu-drop.has-file {
	border-style: solid;
	border-color: var(--wa-success);
	background: #ebf7ee;
}

.ui-modern .nmeu-file {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	opacity: 0;
	cursor: pointer;
}

.ui-modern .nmeu-drop-icon {
	font-size: 2rem;
	color: var(--wa-accent);
}

.ui-modern .nmeu-drop.has-file .nmeu-drop-icon {
	color: var(--wa-success);
}

.ui-modern .nmeu-drop-text {
	display: grid;
	gap: .1rem;
}

.ui-modern .nmeu-drop-text small {
	color: var(--wa-muted);
}

.ui-modern .nmeu-form .nmct-field .select2-container {
	width: 100% !important;
}

/* ---------- barva odběratele (třída tématu na body z Vars::getTheme(), settings.neon themes) ----------
   Jen decentně: linky navbaru a patičky, ikona modulu, avatar, ikony v hlavičkách stránek, proužek lišty sestav
   a pozdrav na úvodní stránce. Tlačítka, odkazy a výběr zůstávají v --wa-accent (modrá). */
body.ui-modern { --wa-brand: var(--wa-accent); }
body.ui-modern.mondi { --wa-brand: #ea8a1d; }
body.ui-modern.woodpaper { --wa-brand: #469331; }
body.ui-modern.maresch { --wa-brand: #009846; }
body.ui-modern.mm { --wa-brand: #a82b31; }
body.ui-modern.wotan { --wa-brand: #007a30; }
body.ui-modern.storaenso { --wa-brand: #c50a2a; }
body.ui-modern.mercer { --wa-brand: #3590f0; }
body.ui-modern.labewood { --wa-brand: #00a06b; }
body.ui-modern.pha { --wa-brand: #4da381; }
body.ui-modern.hnzl { --wa-brand: #304053; }

body.ui-modern {
	--wa-brand-soft: color-mix(in srgb, var(--wa-brand) 12%, #fff);
	--wa-brand-dark: color-mix(in srgb, var(--wa-brand) 72%, #000);
}

/* navbar: plná linka v barvě odběratele a tmavý stín jako v klasickém vzhledu, jemný nádech pozadí
   a plný blok vybraného odběratele vpravo (bílý text, logo v bílém rámečku) */
.ui-modern .navbar-modern {
	border-bottom: 0 !important; /* nav.<téma> z woodaccept.css – čáru nahrazuje ::after */
	/* velmi jemný přechod: nádech barvy odběratele vlevo za logem, uprostřed bílá, slabší nádech vpravo u odběratele */
	background: linear-gradient(90deg,
		color-mix(in srgb, var(--wa-brand) 22%, var(--wa-surface)) 0%,
		color-mix(in srgb, var(--wa-brand) 7%, var(--wa-surface)) 32%,
		var(--wa-surface) 50%,
		color-mix(in srgb, var(--wa-brand) 7%, var(--wa-surface)) 68%,
		color-mix(in srgb, var(--wa-brand) 16%, var(--wa-surface)) 100%);
	/* linka a stín jako v klasickém vzhledu (nav.<téma> border 5px, .shadow-dark ve woodaccept.css) */
	box-shadow: 4px 6px 10px rgb(64, 64, 64);
	padding-bottom: calc(.35rem + 1px); /* linka 5 px (::after) nezasahuje do tlačítek */
}

.ui-modern .navbar-modern::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 5px;
	background: var(--wa-brand); /* plná barva odběratele přes celou šířku jako v klasickém vzhledu */
	pointer-events: none;
}

.ui-modern .nm-purchaser {
	background: var(--wa-brand);
	border-color: var(--wa-brand-dark);
	color: #fff;
	padding: .25rem .6rem .25rem .3rem;
	box-shadow: 0 2px 6px color-mix(in srgb, var(--wa-brand) 35%, transparent);
}

.ui-modern .nm-purchaser:hover,
.ui-modern .nm-purchaser:focus,
.ui-modern .show > .nm-purchaser {
	background: var(--wa-brand-dark);
	color: #fff;
}

.ui-modern .nm-purchaser .nm-name {
	color: #fff;
}

.ui-modern .nm-purchaser .nm-sub {
	color: rgba(255, 255, 255, .85);
}

.ui-modern .nm-purchaser .nm-logo {
	border-color: transparent;
}

.ui-modern .nm-purchaser.dropdown-toggle::after {
	color: rgba(255, 255, 255, .85);
}

.ui-modern .nm-module .far {
	color: var(--wa-brand);
}

.ui-modern .nm-avatar {
	background: var(--wa-brand);
}

/* vybraný odběratel v rozbalovacím seznamu */
.ui-modern .nm-purchaser-item.active {
	box-shadow: inset 3px 0 var(--wa-brand);
}

/* patička */
.ui-modern .footer {
	border-top: 2px solid var(--wa-brand);
}

/* ikony v hlavičkách stránek */
.ui-modern .nmtd-icon {
	background: var(--wa-brand-soft);
	color: var(--wa-brand-dark);
}

.ui-modern .nmg-title-icon {
	background: var(--wa-brand);
}

/* lišta sestav (přejímky, dispečink) – proužek vlevo */
.ui-modern .report-bar {
	box-shadow: inset 3px 0 var(--wa-brand);
}

/* úvodní stránka – pozdrav v barvě odběratele */
.ui-modern .nmh-hero {
	background: linear-gradient(120deg, var(--wa-brand) 0%, var(--wa-brand-dark) 100%);
	box-shadow: 0 10px 30px color-mix(in srgb, var(--wa-brand) 22%, transparent);
}

/* ---------- kiosek Murów (MurowAcceptance: Default/defaultNew.modern.latte, FormMurowAcceptanceIntentionFactory.modern.latte) ---------- */
.ui-modern .nmk-page {
	max-width: 640px;
	margin: 0 auto;
	padding: 2.5rem 0 4rem;
}

.ui-modern .nmk-card {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: calc(var(--wa-radius) * 2.5);
	box-shadow: 0 14px 40px rgba(20, 30, 40, .10);
	box-shadow: 0 14px 40px rgba(20, 30, 40, .10), inset 0 5px var(--wa-brand);
	padding: 2.2rem 2.4rem 2rem;
	text-align: center;
}

.ui-modern .nmk-head {
	display: grid;
	justify-items: center;
	gap: .8rem;
	margin-bottom: 1.6rem;
}

.ui-modern .nmk-icon {
	display: inline-grid;
	place-items: center;
	width: 4rem;
	height: 4rem;
	border-radius: 50%;
	background: var(--wa-brand-soft);
	color: var(--wa-brand-dark);
	font-size: 1.7rem;
}

.ui-modern .nmk-head h1 {
	font-size: 1.6rem;
	font-weight: 800;
	letter-spacing: .02em;
	margin: 0;
}

.ui-modern .nmk-label {
	display: block;
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--wa-muted);
	margin-bottom: .6rem;
}

/* velké pole pro dotykovou obrazovku */
.ui-modern .nmk-input.form-control {
	height: auto;
	padding: .7rem 1rem;
	font-size: 2.4rem;
	font-weight: 700;
	letter-spacing: .12em;
	text-align: center;
	text-transform: uppercase;
	font-variant-numeric: tabular-nums;
	border: 2px solid var(--wa-line);
	border-radius: calc(var(--wa-radius) * 2);
}

.ui-modern .nmk-input.form-control:focus {
	border-color: var(--wa-accent);
	box-shadow: 0 0 0 4px var(--wa-accent-soft);
}

.ui-modern .nmk-hint {
	margin: .45rem 0 0;
	font-size: .85rem;
	color: var(--wa-muted);
	letter-spacing: .08em;
}

.ui-modern .nmk-actions {
	display: grid;
	gap: .7rem;
	margin-top: 1.6rem;
}

.ui-modern .nmk-send.btn {
	padding: .9rem 1rem;
	font-size: 1.4rem;
	font-weight: 700;
	border-radius: calc(var(--wa-radius) * 2);
	margin: 0;
}

.ui-modern .nmk-back.btn {
	padding: .55rem 1rem;
	font-size: 1rem;
	border-radius: calc(var(--wa-radius) * 2);
	margin: 0;
}

.ui-modern .nmk-report {
	margin-top: 1.5rem;
}

@media (max-width: 575.98px) {
	.ui-modern .nmk-page {
		padding-top: 1rem;
	}

	.ui-modern .nmk-card {
		padding: 1.4rem 1.1rem;
	}

	.ui-modern .nmk-input.form-control {
		font-size: 1.8rem;
	}
}

/* rozcestník kiosku (Default/default.modern.latte) – dvě velké dotykové dlaždice */
.ui-modern .nmk-choice-page {
	max-width: 900px;
}

.ui-modern .nmk-choice {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1.2rem;
}

@media (max-width: 767.98px) {
	.ui-modern .nmk-choice {
		grid-template-columns: minmax(0, 1fr);
	}
}

.ui-modern .nmk-choice-tile {
	position: relative;
	display: grid;
	justify-items: center;
	align-content: center;
	gap: 1.1rem;
	min-height: 15rem;
	padding: 2rem 1.5rem;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: calc(var(--wa-radius) * 2.5);
	box-shadow: 0 14px 40px rgba(20, 30, 40, .08), inset 0 5px var(--wa-brand);
	color: var(--wa-fg);
	text-align: center;
	text-decoration: none;
	transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.ui-modern .nmk-choice-tile:hover,
.ui-modern .nmk-choice-tile:focus-visible {
	color: var(--wa-fg);
	text-decoration: none;
	border-color: var(--wa-brand);
	transform: translateY(-3px);
	box-shadow: 0 18px 44px rgba(20, 30, 40, .14), inset 0 5px var(--wa-brand);
}

.ui-modern .nmk-choice-tile:active {
	transform: translateY(0);
}

.ui-modern .nmk-choice-tile .nmk-icon {
	width: 5rem;
	height: 5rem;
	font-size: 2.1rem;
}

.ui-modern .nmk-choice-tile strong {
	font-size: 1.35rem;
	font-weight: 800;
	letter-spacing: .02em;
	line-height: 1.25;
}

.ui-modern .nmk-choice-go {
	position: absolute;
	right: 1.2rem;
	bottom: 1.1rem;
	color: var(--wa-brand);
	font-size: 1.2rem;
	opacity: .5;
	transition: opacity .12s ease, transform .12s ease;
}

.ui-modern .nmk-choice-tile:hover .nmk-choice-go {
	opacity: 1;
	transform: translateX(3px);
}

/* ---------- příjem kwitu Lasy Państwowe (MurowAcceptance: Default/edit2.modern.latte, FormIntentionNewFactory.modern.latte) ---------- */
.ui-modern .nmkw-page {
	max-width: 1400px;
	margin: 0 auto;
	padding-bottom: 4rem;
}

.ui-modern .nmkw-head-info {
	display: flex;
	flex-wrap: wrap;
	gap: .3rem 1.2rem;
	color: var(--wa-muted);
	font-size: .9rem;
}

.ui-modern .nmkw-head-info strong {
	color: var(--wa-fg);
}

.ui-modern .nmkw-head-info i {
	color: var(--wa-brand);
	margin-right: .2rem;
}

.ui-modern .nmkw-grid {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 17rem;
	gap: 1rem;
	align-items: start;
}

@media (max-width: 991.98px) {
	.ui-modern .nmkw-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

.ui-modern .nmkw-card {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: .9rem 1rem;
	margin-bottom: 1rem;
	font-size: .875rem;
}

.ui-modern .nmkw-card h2 {
	font-size: .95rem;
	font-weight: 700;
	margin: 0 0 .7rem;
}

.ui-modern .nmkw-card h2 i {
	color: var(--wa-brand);
	margin-right: .3rem;
}

.ui-modern .nmkw-field {
	display: grid;
	gap: .25rem;
	min-width: 0;
	margin-bottom: .6rem;
}

.ui-modern .nmkw-field label {
	font-size: .8rem;
	font-weight: 600;
	margin: 0;
}

.ui-modern .nmkw-field input:not([type=hidden]),
.ui-modern .nmkw-field select,
.ui-modern .nmkw-field textarea {
	width: 100%;
}

/* pole jen pro čtení (vyplní kwit) – světlé pozadí */
.ui-modern .nmkw-form input[readonly],
.ui-modern .nmkw-form select[readonly] {
	background: var(--wa-bg);
}

.ui-modern .nmkw-row {
	display: grid;
	gap: 0 .8rem;
}

.ui-modern .nmkw-row-transport {
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
}

.ui-modern .nmkw-row-delivery {
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1.6fr) minmax(0, .9fr) minmax(0, .8fr);
}

@media (max-width: 767.98px) {
	.ui-modern .nmkw-row-transport,
	.ui-modern .nmkw-row-delivery {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}
}

.ui-modern #transport_nr1,
.ui-modern #transport_nr2 {
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

/* sken kwitu: velké pole se čtečkou */
.ui-modern .nmkw-scan {
	box-shadow: inset 4px 0 var(--wa-brand);
}

.ui-modern .nmkw-scan-row {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr);
	gap: 0 .8rem;
}

.ui-modern .nmkw-kwit-input {
	position: relative;
}

.ui-modern .nmkw-kwit-input i {
	position: absolute;
	left: .8rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--wa-brand);
	font-size: 1.2rem;
	pointer-events: none;
}

.ui-modern #kwit_nr {
	height: auto;
	padding: .5rem .8rem .5rem 2.6rem;
	font-size: 1.35rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
	border: 2px solid var(--wa-line);
	border-radius: calc(var(--wa-radius) * 1.5);
}

.ui-modern #kwit_nr:focus {
	border-color: var(--wa-accent);
	box-shadow: 0 0 0 4px var(--wa-accent-soft);
}

.ui-modern #kwit_date {
	height: auto;
	padding: .55rem .7rem;
	font-size: 1.05rem;
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.ui-modern .nmkw-origin {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .6rem;
	margin-top: .3rem;
}

@media (max-width: 767.98px) {
	.ui-modern .nmkw-origin,
	.ui-modern .nmkw-scan-row {
		grid-template-columns: minmax(0, 1fr);
	}
}

.ui-modern .nmkw-origin > div {
	background: var(--wa-bg);
	border-radius: var(--wa-radius);
	padding: .45rem .65rem;
	min-width: 0;
}

.ui-modern .nmkw-origin small {
	display: block;
	font-size: .72rem;
	font-weight: 600;
	color: var(--wa-muted);
	text-transform: uppercase;
	letter-spacing: .02em;
}

.ui-modern .nmkw-code {
	display: inline-block;
	border-radius: .25rem;
	background: var(--wa-brand-soft);
	color: var(--wa-brand-dark);
	font-size: .72rem;
	font-weight: 700;
	padding: 0 .35rem;
	margin-right: .2rem;
}

.ui-modern .nmkw-code:empty {
	display: none;
}

/* 15 pozic sortimentů */
.ui-modern .nmkw-positions {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .45rem .8rem;
}

@media (max-width: 1199.98px) {
	.ui-modern .nmkw-positions {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

@media (max-width: 575.98px) {
	.ui-modern .nmkw-positions {
		grid-template-columns: minmax(0, 1fr);
	}
}

.ui-modern .nmkw-pos {
	display: grid;
	grid-template-columns: 1.8rem minmax(0, 1fr) 5.5rem;
	align-items: center;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	overflow: hidden;
}

.ui-modern .nmkw-pos-nr {
	align-self: stretch;
	display: grid;
	place-items: center;
	background: var(--wa-bar);
	color: var(--wa-muted);
	font-size: .75rem;
	font-weight: 700;
}

.ui-modern .nmkw-pos input.form-control {
	border: 0;
	border-radius: 0;
	box-shadow: none;
	background: transparent;
}

.ui-modern .nmkw-pos input.volume {
	border-left: 1px solid var(--wa-line);
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

/* souhrn a akce vpravo */
@media (min-width: 992px) {
	.ui-modern .nmkw-side {
		position: sticky;
		top: calc(var(--wa-nav-h) + 12px);
	}
}

.ui-modern .nmkw-sum {
	text-align: center;
	box-shadow: inset 0 4px var(--wa-brand);
}

.ui-modern .nmkw-sum label {
	display: block;
	font-size: .78rem;
	font-weight: 700;
	color: var(--wa-muted);
	letter-spacing: .08em;
	margin-bottom: .2rem;
}

/* #volumeSA má inline "font-size: 0.8em !important" – velikost se proto řídí písmem rodiče */
.ui-modern .nmkw-sum {
	font-size: 3.6rem; /* #volumeSA = 0.8em → cca 2,9rem */
	padding-top: .7rem;
	padding-bottom: .7rem;
}

.ui-modern .nmkw-sum label {
	font-size: .9rem !important;
}

.ui-modern #volumeSA {
	width: 100%;
	border: 0;
	background: transparent;
	text-align: center !important;
	font-weight: 800;
	color: var(--wa-fg) !important;
	padding: 0 !important;
	margin: 0 !important;
	font-variant-numeric: tabular-nums;
}

.ui-modern .nmkw-actions {
	display: grid;
	gap: .5rem;
}

.ui-modern .nmkw-actions .btn {
	margin: 0;
	white-space: normal;
}

.ui-modern .nmkw-actions input[name="ok"] {
	padding: .75rem 1rem;
	font-size: 1.2rem;
	font-weight: 700;
}

.ui-modern .nmkw-actions input[name="cancel"] {
	background: var(--wa-surface);
	color: var(--wa-fg);
	border-color: var(--wa-line);
}

/* ruční zadání kwitu (Default/edit.modern.latte, FormIntentionFactory.modern.latte) */
.ui-modern .nmkw-row-kwit {
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.6fr) auto;
	align-items: start;
}

@media (max-width: 767.98px) {
	.ui-modern .nmkw-row-kwit {
		grid-template-columns: minmax(0, 1fr);
	}
}

.ui-modern .nmkw-kwit-parts {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: .4rem;
}

.ui-modern .nmkw-kwit-parts span {
	color: var(--wa-muted);
	font-weight: 700;
}

.ui-modern .nmkw-kwit-parts input {
	font-weight: 700;
	letter-spacing: .06em;
	text-align: center;
	font-variant-numeric: tabular-nums;
}

.ui-modern .nmkw-help {
	color: #b02a37;
	font-size: .72rem;
	font-weight: 600;
	letter-spacing: .02em;
}

.ui-modern .nmkw-form .nmw-seg {
	align-self: start;
	width: max-content;
}

.ui-modern .nmkw-form .select2-container {
	width: 100% !important;
}

/* RadioList po makeBootstrap4 je obalený v div.form-check (odsazení vlevo) – v segmentovém přepínači ho zrušit */
.ui-modern .nmw-seg .form-check {
	display: contents;
}

.ui-modern .nmw-seg .form-check-label {
	padding-left: .75rem;
}

.ui-modern .nmkw-card h2 label {
	font-weight: inherit;
	margin: 0;
}

.ui-modern .nmkw-card > textarea#note {
	width: 100%;
	min-height: 4.5rem;
}

/* skryté radio inputy (position: absolute) drží uvnitř segmentu – jinak roztáhnou stránku do šířky */
.ui-modern .nmw-seg label {
	position: relative;
}

/* tlačítko menu v responzivním módu – Bootstrap kreslí .navbar-toggler-icon jen pod .navbar-light/.navbar-dark */
.ui-modern .navbar-modern .navbar-toggler {
	display: none;
	place-items: center;
	width: 2.4rem;
	height: 2.4rem;
	padding: 0;
	margin-left: auto;
	border: 1px solid color-mix(in srgb, var(--wa-brand) 35%, var(--wa-line));
	border-radius: var(--wa-radius);
	background: var(--wa-surface);
	color: var(--wa-brand-dark);
	font-size: 1.15rem;
}

@media (max-width: 991.98px) {
	.ui-modern .navbar-modern .navbar-toggler {
		display: inline-grid;
	}
}

.ui-modern .navbar-modern .navbar-toggler:hover,
.ui-modern .navbar-modern .navbar-toggler[aria-expanded="true"] {
	background: var(--wa-brand-soft);
}

.ui-modern .navbar-modern .navbar-toggler:focus {
	outline: none;
	box-shadow: 0 0 0 3px var(--wa-brand-soft);
}

/* ---------- administrace: lišta modulu (AdminModule navbar.latte .nm-subnav), nadpis stránky ---------- */
.ui-modern .nm-subnav {
	background: var(--wa-bar) !important;
	border: 0;
	border-radius: var(--wa-radius);
	box-shadow: inset 3px 0 var(--wa-brand);
	padding: .3rem .8rem;
	margin-bottom: 1rem;
}

.ui-modern .nm-subnav .navbar-brand {
	font-size: 1rem;
	font-weight: 700;
	color: var(--wa-fg);
}

.ui-modern .nm-subnav .nav-link {
	font-size: .88rem;
	font-weight: 600;
	color: var(--wa-fg) !important;
	border-radius: var(--wa-radius);
	padding: .35rem .65rem !important;
}

.ui-modern .nm-subnav .nav-link:hover,
.ui-modern .nm-subnav .show > .nav-link {
	background: var(--wa-surface);
}

.ui-modern .nm-subnav .navbar-toggler {
	border-color: var(--wa-line);
}

.ui-modern h2.page-header {
	font-size: 1.4rem;
	font-weight: 700;
	margin: .2rem 0 1rem;
}

.ui-modern h2.page-header small {
	font-size: .95rem;
	font-weight: 600;
}

/* ---------- správa uživatelů – rozcestník (Admin: User/default.modern.latte) ---------- */
.ui-modern .nmau-page {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 15px 4rem;
}

.ui-modern .nmau-tiles {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1rem;
}

.ui-modern .nmau-search {
	grid-column: 1 / -1;
}

@media (max-width: 767.98px) {
	.ui-modern .nmau-tiles {
		grid-template-columns: minmax(0, 1fr);
	}
}

.ui-modern .nmau-tile {
	position: relative;
	display: flex;
	align-items: center;
	gap: 1rem;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: calc(var(--wa-radius) * 1.6);
	padding: 1.1rem 1.2rem;
	color: var(--wa-fg);
	text-decoration: none;
}

.ui-modern .nmau-search {
	box-shadow: inset 0 4px var(--wa-brand);
	padding-top: 1.3rem;
}

.ui-modern .nmau-link {
	transition: transform .12s ease, box-shadow .12s ease, border-color .12s ease;
}

.ui-modern .nmau-link:hover,
.ui-modern .nmau-link:focus-visible {
	color: var(--wa-fg);
	text-decoration: none;
	border-color: var(--wa-accent);
	box-shadow: 0 8px 22px rgba(20, 30, 40, .1);
	transform: translateY(-2px);
}

.ui-modern .nmau-icon {
	flex: 0 0 auto;
	display: inline-grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	border-radius: var(--wa-radius);
	background: var(--wa-accent-soft);
	color: var(--wa-accent);
	font-size: 1.3rem;
}

.ui-modern .nmau-icon.nmau-green { background: #e4f3e8; color: #23863b; }
.ui-modern .nmau-icon.nmau-indigo { background: #e8eaf8; color: #4c5bb5; }

.ui-modern .nmau-body {
	flex: 1;
	min-width: 0;
}

.ui-modern .nmau-body h2 {
	font-size: 1.05rem;
	font-weight: 700;
	margin: 0;
}

.ui-modern .nmau-form {
	display: flex;
	gap: .5rem;
	margin-top: .6rem;
}

.ui-modern .nmau-select {
	flex: 1;
	min-width: 0;
}

.ui-modern .nmau-select .select2-container {
	width: 100% !important;
}

.ui-modern .nmau-go {
	color: var(--wa-muted);
	opacity: 0;
	transition: opacity .12s ease;
}

.ui-modern .nmau-link:hover .nmau-go {
	opacity: 1;
	color: var(--wa-accent);
}

/* ---------- formulář uživatele (Admin: User/edit.modern.latte, FormUserFactory.modern.latte) ---------- */
.ui-modern .nmus-page {
	width: 100%;
	max-width: 1300px;
	margin: 0 auto;
	padding: 0 15px;
}

.ui-modern .nmus-deleted {
	background: #fbe6e8;
	color: #b02a37;
	border: 1px solid #f1b9bf;
	border-radius: 999px;
	padding: .15rem .7rem;
	font-size: .8rem;
	font-weight: 700;
}

.ui-modern .nmus-head-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
}

.ui-modern .nmus-form {
	padding-bottom: 5rem;
}

.ui-modern .nmus-layout {
	display: grid;
	grid-template-columns: 14rem minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
}

/* záložky vlevo; na mobilu vodorovně s posuvem */
.ui-modern .nmus-tabs {
	position: sticky;
	top: calc(var(--wa-nav-h) + 12px);
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: .4rem;
	gap: .1rem;
}

.ui-modern .nmus-tabs .nav-link {
	display: flex;
	align-items: center;
	gap: .55rem;
	padding: .45rem .65rem;
	border-radius: var(--wa-radius);
	color: var(--wa-fg);
	font-size: .88rem;
	font-weight: 600;
}

.ui-modern .nmus-tabs .nav-link i {
	width: 1.1rem;
	text-align: center;
	color: var(--wa-muted);
}

.ui-modern .nmus-tabs .nav-link:hover {
	background: var(--wa-bg);
}

.ui-modern .nmus-tabs .nav-link.active {
	background: var(--wa-accent-soft);
	color: var(--wa-accent);
	box-shadow: inset 3px 0 var(--wa-accent);
}

.ui-modern .nmus-tabs .nav-link.active i {
	color: var(--wa-accent);
}

.ui-modern .nmus-count {
	margin-left: auto;
	background: var(--wa-bar);
	border-radius: 999px;
	padding: 0 .45rem;
	font-size: .72rem;
}

@media (max-width: 991.98px) {
	.ui-modern .nmus-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.ui-modern .nmus-tabs {
		position: static;
		flex-direction: row !important;
		flex-wrap: nowrap;
		overflow-x: auto;
	}

	.ui-modern .nmus-tabs .nav-link {
		white-space: nowrap;
	}

	.ui-modern .nmus-tabs .nav-link.active {
		box-shadow: inset 0 -3px var(--wa-accent);
	}
}

/* karty a pole */
.ui-modern .nmus-card {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: .9rem 1rem;
	margin-bottom: 1rem;
	font-size: .875rem;
}

.ui-modern .nmus-card h2 {
	font-size: .95rem;
	font-weight: 700;
	margin: 0 0 .7rem;
}

.ui-modern .nmus-card h2 i {
	color: var(--wa-brand);
	margin-right: .3rem;
}

.ui-modern .nmus-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(15rem, 1fr));
	gap: .2rem .9rem;
}

.ui-modern .nmus-wide {
	grid-column: 1 / -1;
}

.ui-modern .nmus-field {
	display: grid;
	gap: .25rem;
	align-content: start;
	min-width: 0;
	margin-bottom: .55rem;
}

.ui-modern .nmus-field > label,
.ui-modern .nmus-field > .control-label {
	font-size: .8rem;
	font-weight: 600;
	margin: 0;
}

/* inputy bez třídy form-control (formulář je kreslený ručně) */
.ui-modern .nmus-form input[type="text"],
.ui-modern .nmus-form input[type="password"],
.ui-modern .nmus-form input[type="email"],
.ui-modern .nmus-form select {
	display: block;
	width: 100%;
	min-width: 0;
	height: calc(1.5em + .6rem + 2px);
	padding: .3rem .55rem;
	font-size: .875rem;
	color: var(--wa-fg);
	background: var(--wa-surface);
	border: 1px solid #ced4da;
	border-radius: var(--wa-radius);
}

.ui-modern .nmus-form .input-group > input {
	width: 1%;
	flex: 1 1 auto;
	border-top-right-radius: 0;
	border-bottom-right-radius: 0;
}

.ui-modern .nmus-form .input-group > .input-group-prepend + input {
	border-radius: 0;
}

.ui-modern .nmus-form input[readonly] {
	background: var(--wa-bg);
}

.ui-modern .nmus-form input:focus,
.ui-modern .nmus-form select:focus {
	outline: none;
	border-color: var(--wa-accent);
	box-shadow: 0 0 0 3px var(--wa-accent-soft);
}

.ui-modern #ares,
.ui-modern #vies {
	cursor: pointer;
}

.ui-modern #ares .input-group-text,
.ui-modern #vies .input-group-text {
	font-size: .75rem;
	font-weight: 700;
	color: var(--wa-accent);
	background: var(--wa-accent-soft);
}

.ui-modern #ares:hover .input-group-text,
.ui-modern #vies:hover .input-group-text {
	background: var(--wa-accent);
	color: #fff;
}

/* přepínače jako dlaždice (.nmct-check) */
.ui-modern .nmus-checks {
	display: flex;
	flex-wrap: wrap;
	gap: .5rem;
	margin-top: .3rem;
}

.ui-modern .nmus-checks .nmct-check {
	margin: 0;
	font-size: .85rem;
}

.ui-modern .nmus-checks-col {
	flex-direction: column;
}

.ui-modern .nmus-checks .nmus-danger:has(input:checked) {
	background: #fbe6e8;
	border-color: #f1b9bf;
	color: #b02a37;
}

.ui-modern .nmus-checks .nmus-danger input {
	accent-color: #c82333;
}

/* hesla */
.ui-modern .nmus-pw {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0 .9rem;
	padding-bottom: .4rem;
	margin-bottom: .6rem;
	border-bottom: 1px dashed var(--wa-line);
}

.ui-modern .nmus-pw:last-child {
	border-bottom: 0;
	margin-bottom: 0;
}

@media (max-width: 767.98px) {
	.ui-modern .nmus-pw {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* speciální uživatel */
.ui-modern .nmus-warning {
	background: #fbe6e8;
	color: #8a1f2b;
	border-radius: var(--wa-radius);
	box-shadow: inset 4px 0 #dc3545;
	padding: .6rem .9rem;
	margin-bottom: 1rem;
	font-weight: 600;
	font-size: .875rem;
}

.ui-modern .nmus-cols {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 1rem;
	align-items: start;
}

@media (max-width: 1199.98px) {
	.ui-modern .nmus-cols {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* seznam odběratelů (CheckboxList) jako štítky */
.ui-modern .nmus-checklist + .nmus-checklist {
	margin-top: .8rem;
}

.ui-modern .nmus-checklist-head label {
	font-size: .75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
	color: var(--wa-muted);
	margin: 0 0 .35rem;
}

.ui-modern .nmus-checklist-items {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;
}

.ui-modern .nmus-checklist-items br {
	display: none;
}

.ui-modern .nmus-checklist-items label {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	margin: 0;
	padding: .2rem .6rem;
	border: 1px solid var(--wa-line);
	border-radius: 999px;
	font-size: .8rem;
	cursor: pointer;
}

.ui-modern .nmus-checklist-items label:has(input:checked) {
	background: var(--wa-accent-soft);
	border-color: color-mix(in srgb, var(--wa-accent) 40%, var(--wa-line));
	color: var(--wa-accent);
	font-weight: 600;
}

.ui-modern .nmus-checklist-items input {
	accent-color: var(--wa-accent);
	margin: 0;
}

/* subdodavatelé */
.ui-modern .nmus-table {
	max-height: 26rem;
	overflow-y: auto;
}

.ui-modern .nmus-table thead th {
	position: sticky;
	top: 0;
	background: var(--wa-bar);
	z-index: 1;
	border: 0;
	font-size: .8rem;
}

.ui-modern .nmus-none {
	text-align: center;
	color: var(--wa-muted);
}

/* lišta s tlačítky dole – nad patičkou aplikace */
.ui-modern .nmus-actions {
	position: sticky;
	bottom: 2.6rem;
	z-index: 50;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	box-shadow: 0 -4px 16px rgba(20, 30, 40, .08);
	padding: .55rem .8rem;
	margin-top: .5rem;
}

.ui-modern .nmus-actions-right {
	display: flex;
	gap: .5rem;
}

.ui-modern .nmus-actions input[name="save"] {
	font-weight: 700;
	padding-left: 1.6rem;
	padding-right: 1.6rem;
}

/* CheckboxList po makeBootstrap4 (div.form-check, absolutní .form-check-input) jako štítky */
.ui-modern .nmus-checklist-items .form-check {
	display: contents;
}

.ui-modern .nmus-checklist-items .form-check-input {
	position: static;
	margin: 0;
}

.ui-modern .nmus-checklist-items .form-check-label {
	padding-left: .6rem;
}

/* odběratel upravovaného uživatele, na kterého upravující nemá přístup – jen pro čtení */
.ui-modern .nmus-checklist-items label:has(input:disabled) {
	opacity: .6;
	cursor: not-allowed;
	border-style: dashed;
}

.ui-modern .nmus-field .nmw-seg {
	width: max-content;
}

/* ---------- nastavení skladu (Admin: Logistics/stockSettings.modern.latte, FormStockSetting*Factory.modern.latte) ---------- */
.ui-modern .nmss-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem 1.2rem;
	padding-top: .45rem;
	padding-bottom: .45rem;
	box-shadow: inset 3px 0 var(--wa-brand);
}

.ui-modern .nmss-pick,
.ui-modern .nmss-new {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
}

.ui-modern .nmss-new {
	padding-left: 1rem;
	border-left: 1px solid #c5cbd1;
}

.ui-modern .nmss-bar-field {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
}

.ui-modern .nmss-bar-field label {
	margin: 0;
	font-size: .8rem;
	font-weight: 600;
	color: var(--wa-muted);
}

.ui-modern .nmss-bar select {
	margin: 0 !important;
	min-width: 9rem;
}

.ui-modern .nmss-bar .btn {
	margin: 0 !important;
}

.ui-modern .nmss-empty {
	display: grid;
	justify-items: center;
	gap: .6rem;
	padding: 3rem 1rem;
	color: var(--wa-muted);
	text-align: center;
}

.ui-modern .nmss-empty i {
	font-size: 2.4rem;
	color: var(--wa-brand);
	opacity: .7;
}

.ui-modern .nmss-pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 .9rem;
}

.ui-modern .nmss-trio {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 0 .9rem;
}

@media (max-width: 575.98px) {
	.ui-modern .nmss-pair,
	.ui-modern .nmss-trio {
		grid-template-columns: minmax(0, 1fr);
	}
}

.ui-modern .nmss-after-checks {
	margin-top: .8rem;
}

.ui-modern .nmss-narrow {
	max-width: 14rem;
}

.ui-modern .nmss-form .nmus-checks-col .nmct-check {
	width: 100%;
}

/* RadioList (makeBootstrap4) jako svislé volby */
.ui-modern .nmss-radios {
	display: grid;
	gap: .35rem;
}

.ui-modern .nmss-radios br {
	display: none;
}

.ui-modern .nmss-radios .form-check {
	display: contents;
}

.ui-modern .nmss-radios label {
	display: flex;
	align-items: center;
	gap: .55rem;
	margin: 0;
	padding: .45rem .7rem;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	font-size: .85rem;
	cursor: pointer;
}

.ui-modern .nmss-radios .form-check-input {
	position: static;
	margin: 0;
	accent-color: var(--wa-accent);
}

.ui-modern .nmss-radios label:has(input:checked) {
	background: var(--wa-accent-soft);
	border-color: color-mix(in srgb, var(--wa-accent) 40%, var(--wa-line));
	color: var(--wa-accent);
	font-weight: 600;
}

/* zakázané hodiny podle intervalu (skript) */
.ui-modern .nmss-form select option:disabled {
	color: #b8bec4;
}

.ui-modern .nmss-bar-field label {
	white-space: nowrap;
}

.ui-modern .nmss-form .nmus-checks-col {
	gap: .3rem;
}

.ui-modern .nmss-form .nmus-checks-col .nmct-check {
	padding: .35rem .7rem;
	margin: 0;
}

/* ---------- měsíční kalendář se zaškrtávátky (MonthCheckboxForm.modern.latte – zastavení záměrů / sortimentů na den) ---------- */
.ui-modern .nmmc-form {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: .8rem 1rem;
	margin-bottom: 4rem;
}

.ui-modern .nmmc-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem 1rem;
	margin-bottom: .8rem;
}

.ui-modern .nmmc-info {
	margin: 0;
	color: var(--wa-muted);
	font-size: .88rem;
}

.ui-modern .nmmc-info i {
	color: #c82333;
	margin-right: .3rem;
}

.ui-modern .nmmc-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
}

.ui-modern .nmmc-buttons input[name="send"] {
	font-weight: 700;
	padding-left: 1.4rem;
	padding-right: 1.4rem;
}

.ui-modern .nmmc-wrap {
	overflow-x: auto;
}

.ui-modern table.nmmc {
	width: 100%;
	border-collapse: separate;
	border-spacing: 3px;
}

.ui-modern .nmmc th.nmmc-label {
	position: sticky;
	left: 0;
	z-index: 1;
	background: var(--wa-surface);
	padding: 0 .8rem 0 0;
	font-size: .85rem;
	font-weight: 700;
	white-space: nowrap;
	text-align: left;
}

.ui-modern .nmmc-day {
	min-width: 2.3rem;
	padding: .25rem 0;
	border-radius: var(--wa-radius);
	background: var(--wa-bg);
	text-align: center;
	line-height: 1.1;
}

.ui-modern .nmmc-dname {
	display: block;
	font-size: .68rem;
	font-weight: 600;
	color: var(--wa-muted);
	text-transform: uppercase;
}

.ui-modern .nmmc-dnum {
	display: block;
	font-size: .9rem;
	font-weight: 700;
}

.ui-modern .nmmc-day.nmmc-weekend {
	background: #fdf4dd;
}

.ui-modern .nmmc-day.nmmc-today {
	background: var(--wa-accent);
}

.ui-modern .nmmc-day.nmmc-today span {
	color: #fff;
}

/* buňka = přepínač */
.ui-modern .nmmc-cell {
	padding: 0;
}

.ui-modern .nmmc-toggle {
	position: relative;
	display: grid;
	place-items: center;
	height: 2.2rem;
	margin: 0;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	background: var(--wa-surface);
	cursor: pointer;
	transition: background .1s ease, border-color .1s ease;
}

.ui-modern .nmmc-weekend .nmmc-toggle {
	background: #fffaf0;
}

.ui-modern .nmmc-today .nmmc-toggle {
	border-color: var(--wa-accent);
}

.ui-modern .nmmc-toggle input {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin: 0;
	opacity: 0;
	cursor: pointer;
}

.ui-modern .nmmc-toggle i {
	color: transparent;
	font-size: .95rem;
	pointer-events: none;
}

.ui-modern .nmmc-toggle:hover {
	border-color: #e4a2a9;
	background: #fdf1f2;
}

.ui-modern .nmmc-toggle:hover i {
	color: #e4a2a9;
}

.ui-modern .nmmc-toggle:has(input:checked) {
	background: #dc3545;
	border-color: #c82333;
}

.ui-modern .nmmc-toggle:has(input:checked) i {
	color: #fff;
}

.ui-modern .nmmc-toggle:has(input:focus-visible) {
	outline: 2px solid var(--wa-accent);
	outline-offset: 1px;
}

.ui-modern .nmmc-legend {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem 1.2rem;
	margin-top: .8rem;
	font-size: .8rem;
	color: var(--wa-muted);
}

.ui-modern .nmmc-legend span {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
}

.ui-modern .nmmc-lg {
	display: inline-grid;
	place-items: center;
	width: 1.1rem;
	height: 1.1rem;
	border: 1px solid var(--wa-line);
	border-radius: .25rem;
	background: var(--wa-surface);
}

.ui-modern .nmmc-lg.stop {
	background: #dc3545;
	border-color: #c82333;
	color: #fff;
	font-size: .6rem;
}

.ui-modern .nmmc-lg.weekend {
	background: #fdf4dd;
	border-color: #ecd49c;
}

/* lišta výběru (HeaderSelectFormFactory.modern.latte) nad kalendářem */
.ui-modern .nmss-bar + .nmmc-form,
.ui-modern .nmss-bar ~ div .nmmc-form {
	margin-top: 0;
}

/* měsíční kalendáře přes celou šířku – 31 dní vedle sebe bez posuvníku */
.ui-modern .nmmc-page {
	max-width: none;
}

/* dlouhý seznam řádků (sortimenty) – hlavička se dny zůstává při posunu nahoře; na úzké obrazovce vodorovný posuvník */
@media (min-width: 1200px) {
	.ui-modern .nmmc-page .nmmc-wrap {
		overflow: visible;
	}

	.ui-modern .nmmc-page .nmmc thead th {
		position: sticky;
		top: calc(var(--wa-nav-h) + 8px);
		z-index: 2;
		box-shadow: 0 -3px 0 var(--wa-surface), 0 3px 0 var(--wa-surface);
	}

	.ui-modern .nmmc-page .nmmc thead th.nmmc-label {
		z-index: 3;
	}
}

/* ---------- měsíční kalendář s hodnotami (MonthTextForm.modern.latte – podíl sortimentů, odchylky, dopravní omezení) ---------- */
.ui-modern .nmmt-info i {
	color: var(--wa-accent);
}

.ui-modern .nmmt-cell {
	padding: 0;
}

.ui-modern .nmmt-cell input.form-control {
	width: 100%;
	min-width: 2.3rem;
	height: 2.1rem;
	padding: 0 .15rem;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	background: var(--wa-surface);
	font-size: .82rem;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	text-align: center;
	box-shadow: none;
}

.ui-modern .nmmt-cell.nmmc-weekend input.form-control {
	background: #fffaf0;
}

.ui-modern .nmmt-cell.nmmc-today input.form-control {
	border-color: var(--wa-accent);
}

.ui-modern .nmmt-cell input.form-control::placeholder {
	color: #c5cbd1;
	font-weight: 400;
}

/* vyplněná hodnota zvýrazněná */
.ui-modern .nmmt-cell input.form-control:not(:placeholder-shown) {
	background: var(--wa-accent-soft);
	border-color: color-mix(in srgb, var(--wa-accent) 45%, var(--wa-line));
	color: #174f80;
}

.ui-modern .nmmt-cell input.form-control:focus {
	border-color: var(--wa-accent);
	box-shadow: 0 0 0 3px var(--wa-accent-soft);
	outline: none;
}

/* chybná hodnota (Nette validace) */
.ui-modern .nmmt-cell input.form-control.is-invalid,
.ui-modern .nmmt-cell input.form-control:invalid {
	border-color: #dc3545;
	background: #fdeef0;
}

/* tlačítka v hlavičce sloupce: kopírovat první sloupec, smazat sloupec */
.ui-modern .nmmt-col-btn {
	display: inline-grid;
	place-items: center;
	width: 1.3rem;
	height: 1.3rem;
	margin-top: .2rem;
	border-radius: 50%;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	color: var(--wa-accent);
	font-size: .6rem;
	cursor: pointer;
}

.ui-modern .nmmt-col-btn:hover {
	background: var(--wa-accent);
	border-color: var(--wa-accent);
	color: #fff;
}

.ui-modern .nmmt-col-btn.nmmt-del {
	color: #c82333;
}

.ui-modern .nmmt-col-btn.nmmt-del:hover {
	background: #c82333;
	border-color: #c82333;
	color: #fff;
}

/* ---------- nabídky odvozu (TransportOrder: menu.modern.latte, Default/filter.modern.latte, Default/list.modern.latte) ---------- */
.ui-modern .nmto-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .6rem 1rem;
	margin: .4rem 0 .8rem;
}

.ui-modern .nmto-title {
	display: flex;
	align-items: center;
	gap: .6rem;
}

.ui-modern .nmto-title h1 {
	font-size: 1.4rem;
	font-weight: 700;
	margin: 0;
}

.ui-modern .nmto-title h1 small {
	font-size: .95rem;
	font-weight: 600;
	color: var(--wa-muted);
	margin-left: .5rem;
}

.ui-modern .nmto-views {
	align-items: center;
	gap: .6rem;
}

.ui-modern .nmto-seg {
	display: inline-flex;
	background: var(--wa-bar);
	border-radius: 999px;
	padding: .2rem;
}

.ui-modern .nmto-seg a {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .3rem .85rem;
	border-radius: 999px;
	color: var(--wa-fg);
	font-size: .85rem;
	font-weight: 600;
	text-decoration: none;
}

.ui-modern .nmto-seg a:hover {
	background: rgba(255, 255, 255, .6);
}

.ui-modern .nmto-seg a.active {
	background: var(--wa-surface);
	color: var(--wa-accent);
	box-shadow: 0 1px 4px rgba(20, 30, 40, .12);
}

.ui-modern .nmto-add {
	border-radius: 999px;
	padding-left: 1rem;
	padding-right: 1rem;
	font-weight: 600;
}

/* filtr */
.ui-modern .nmto-filter {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem 1rem;
	padding-top: .45rem;
	padding-bottom: .45rem;
	box-shadow: inset 3px 0 var(--wa-brand);
}

.ui-modern .nmto-filter-fields {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
}

.ui-modern .nmto-filter-fields .custom-select {
	width: auto;
	min-width: 12rem;
	border-radius: var(--wa-radius);
}

.ui-modern .nmto-mine {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	margin: 0;
	padding: .2rem .7rem;
	border: 1px solid var(--wa-line);
	border-radius: 999px;
	background: var(--wa-surface);
	font-size: .85rem;
	cursor: pointer;
}

.ui-modern .nmto-mine input {
	accent-color: var(--wa-accent);
}

.ui-modern .nmto-mine:has(input:checked) {
	background: var(--wa-accent-soft);
	border-color: color-mix(in srgb, var(--wa-accent) 40%, var(--wa-line));
	color: var(--wa-accent);
	font-weight: 600;
}

.ui-modern .nmto-stats {
	display: flex;
	flex-wrap: wrap;
	gap: .35rem;
}

.ui-modern .nmto-stat {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: 999px;
	padding: .1rem .65rem;
	font-size: .8rem;
	color: var(--wa-muted);
	white-space: nowrap;
}

.ui-modern .nmto-stat strong {
	color: var(--wa-fg);
	font-variant-numeric: tabular-nums;
}

.ui-modern .nmto-stat-muted {
	font-style: italic;
}

/* karty */
.ui-modern .nmto-cards {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(17rem, 1fr));
	gap: 1rem;
}

.ui-modern .nmto-card {
	display: flex;
	flex-direction: column;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: calc(var(--wa-radius) * 1.8);
	overflow: hidden;
	transition: transform .12s ease, box-shadow .12s ease;
}

.ui-modern .nmto-card:hover {
	transform: translateY(-2px);
	box-shadow: 0 10px 26px rgba(20, 30, 40, .1);
}

.ui-modern .nmto-photo {
	position: relative;
	display: block;
	height: 9.5rem;
	background: var(--wa-bg);
}

.ui-modern .nmto-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ui-modern .nmto-nophoto {
	display: grid;
	place-items: center;
	height: 100%;
	background: linear-gradient(135deg, var(--wa-brand-soft), var(--wa-bg));
	color: color-mix(in srgb, var(--wa-brand) 55%, var(--wa-muted));
	font-size: 2.6rem;
}

.ui-modern .nmto-status {
	position: absolute;
	top: .6rem;
	right: .6rem;
	padding: .3rem .6rem;
	border-radius: 999px;
	font-size: .72rem;
	box-shadow: 0 2px 6px rgba(0, 0, 0, .2);
}

.ui-modern .nmto-body {
	flex: 1;
	padding: .8rem .95rem .6rem;
	min-width: 0;
}

.ui-modern .nmto-name {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: .4rem;
	color: var(--wa-fg);
	font-weight: 700;
	font-size: 1rem;
	text-decoration: none;
}

.ui-modern .nmto-name:hover {
	color: var(--wa-accent);
	text-decoration: none;
}

.ui-modern .nmto-length {
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: 0 .4rem;
	font-size: .75rem;
	font-weight: 600;
	color: var(--wa-muted);
}

.ui-modern .nmto-qty {
	font-size: 1.55rem;
	font-weight: 800;
	line-height: 1.2;
	margin: .2rem 0 .4rem;
	color: var(--wa-brand-dark);
}

.ui-modern .nmto-meta {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	gap: .15rem;
	font-size: .84rem;
	color: var(--wa-muted);
}

.ui-modern .nmto-meta li {
	display: flex;
	align-items: baseline;
	gap: .45rem;
	min-width: 0;
}

.ui-modern .nmto-meta i {
	width: 1rem;
	text-align: center;
	flex: none;
}

.ui-modern .nmto-meta span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ui-modern .nmto-foot {
	display: flex;
	align-items: center;
	gap: .4rem;
	border-top: 1px solid var(--wa-line);
	padding: .5rem .95rem;
}

.ui-modern .nmto-empty {
	display: grid;
	justify-items: center;
	gap: .6rem;
	padding: 3rem 1rem;
	color: var(--wa-muted);
	text-align: center;
}

.ui-modern .nmto-empty i {
	font-size: 2.6rem;
	color: var(--wa-brand);
	opacity: .7;
}

/* spodní lišta modulu na telefonu */
.ui-modern .offer-nav-bottom a.active {
	color: var(--wa-accent);
}

/* ---------- přidání / úprava nabídky odvozu (TransportOrder: Default/add.modern.latte) ---------- */
.ui-modern .nmto-form-head .nmto-head-status {
	border-radius: 999px;
	padding: .3rem .65rem;
}

.ui-modern .nmto-form {
	padding-bottom: 1rem;
}

.ui-modern .nmto-form-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	gap: 0 1rem;
	align-items: start;
}

@media (max-width: 991.98px) {
	.ui-modern .nmto-form-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

.ui-modern .nmto-fields {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 .9rem;
}

@media (max-width: 575.98px) {
	.ui-modern .nmto-fields {
		grid-template-columns: minmax(0, 1fr);
	}
}

.ui-modern .nmto-form .nmus-field .form-control,
.ui-modern .nmto-form .nmus-field .custom-select {
	font-size: 16px; /* iOS bez zoomu */
	height: calc(1.5em + .75rem + 2px);
}

.ui-modern .nmto-form .nmus-field textarea.form-control {
	height: auto;
}

/* množství s jednotkou */
.ui-modern .nmto-qty-input {
	display: flex;
	gap: .4rem;
}

.ui-modern .nmto-qty-input .form-control {
	flex: 1;
	min-width: 0;
	font-weight: 700;
}

.ui-modern .nmto-unit {
	flex: none;
	align-self: stretch;
}

.ui-modern .nmto-unit label {
	display: inline-flex;
	align-items: center;
	padding: 0 .85rem;
	font-size: .9rem;
}

/* poloha */
.ui-modern .nmto-location {
	background: var(--wa-bg);
	border-radius: var(--wa-radius);
	padding: .5rem .7rem;
	margin-bottom: .6rem;
	font-size: .9rem;
}

.ui-modern .nmto-location-buttons {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	margin-bottom: .4rem;
}

/* fotky */
.ui-modern .nmto-photos {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(6.5rem, 1fr));
	gap: .5rem;
	margin-bottom: .6rem;
}

.ui-modern .nmto-photo-item {
	position: relative;
	aspect-ratio: 1;
	border-radius: var(--wa-radius);
	overflow: hidden;
	background: var(--wa-bg);
}

.ui-modern .nmto-photo-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ui-modern .nmto-photo-del {
	position: absolute;
	top: .3rem;
	right: .3rem;
	display: inline-grid;
	place-items: center;
	width: 1.8rem;
	height: 1.8rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, .92);
	color: #c82333;
	box-shadow: 0 1px 4px rgba(0, 0, 0, .25);
}

.ui-modern .nmto-photo-del:hover {
	background: #c82333;
	color: #fff;
}

/* .custom-file-label kvůli skriptu (počet vybraných fotek) – zde jako plocha pro výběr */
.ui-modern .nmto-drop.custom-file-label {
	position: static;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .6rem;
	height: auto;
	min-height: 4.2rem;
	margin: 0;
	padding: .9rem;
	border: 2px dashed #c5cbd1;
	border-radius: calc(var(--wa-radius) * 1.5);
	background: var(--wa-bg);
	color: var(--wa-fg);
	font-weight: 600;
	cursor: pointer;
}

.ui-modern .nmto-drop.custom-file-label::after {
	display: none;
}

.ui-modern .nmto-drop.custom-file-label i {
	font-size: 1.4rem;
	color: var(--wa-accent);
}

.ui-modern .nmto-drop.custom-file-label:hover {
	border-color: var(--wa-accent);
	background: var(--wa-accent-soft);
}

.ui-modern .nmto-file {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	overflow: hidden;
}

/* lišta Zrušit / Uložit – nad spodní navigací modulu na telefonu */
.ui-modern .nmto-actions input[name="save"] {
	font-weight: 700;
	padding-left: 2rem;
	padding-right: 2rem;
}

@media (max-width: 991.98px) {
	.ui-modern .nmto-actions {
		bottom: 4.2rem;
	}
}

/* ---------- nastavení vlastního účtu (User/edit.modern.latte, UserFormFactory.modern.latte) ---------- */
.ui-modern .nmpf-page {
	max-width: 900px;
	padding-top: .5rem;
}

.ui-modern .nmpf-head {
	display: flex;
	align-items: center;
	gap: 1rem;
	margin-bottom: 1rem;
}

.ui-modern .nmpf-avatar {
	display: inline-grid;
	place-items: center;
	width: 3.6rem;
	height: 3.6rem;
	flex: none;
	border-radius: 50%;
	background: var(--wa-brand);
	color: #fff;
	font-size: 1.3rem;
	font-weight: 700;
	box-shadow: 0 4px 12px color-mix(in srgb, var(--wa-brand) 30%, transparent);
}

.ui-modern .nmpf-head h1 {
	font-size: 1.4rem;
	font-weight: 700;
	margin: 0;
}

.ui-modern .nmpf-head p {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .5rem;
	margin: .2rem 0 0;
	font-size: .85rem;
	color: var(--wa-muted);
}

.ui-modern .nmpf-type {
	background: var(--wa-brand-soft);
	color: var(--wa-brand-dark);
	border-radius: 999px;
	padding: .05rem .6rem;
	font-weight: 700;
	font-size: .75rem;
}

.ui-modern .nmpf-warning {
	background: #fdf6e3;
	color: #6b4a07;
	border-radius: var(--wa-radius);
	box-shadow: inset 4px 0 #e0a800;
	padding: .6rem .9rem;
	margin-bottom: 1rem;
	font-size: .875rem;
	font-weight: 600;
}

.ui-modern .nmpf-hint {
	margin: -.3rem 0 .8rem;
	color: var(--wa-muted);
	font-size: .82rem;
}

.ui-modern .nmpf-form .nmus-checks {
	margin-top: .4rem;
}

/* informace o účtu (User/default.modern.latte) */
.ui-modern .nmpf-edit {
	margin-left: auto;
	align-self: center;
}

.ui-modern .nmpf-facts {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(14rem, 1fr));
	gap: .9rem 1.2rem;
	margin: 0;
}

.ui-modern .nmpf-facts dt {
	font-size: .72rem;
	font-weight: 600;
	color: var(--wa-muted);
	text-transform: uppercase;
	letter-spacing: .02em;
	margin-bottom: .15rem;
}

.ui-modern .nmpf-facts dd {
	margin: 0;
	font-weight: 600;
}

.ui-modern .nmpf-facts .nmpf-wide {
	grid-column: 1 / -1;
}

.ui-modern .nmpf-key {
	max-width: 32rem;
}

.ui-modern .nmpf-key .form-control {
	font-family: Consolas, "Courier New", monospace;
	font-size: .85rem;
	background: var(--wa-bg);
}

.ui-modern .nmpf-key .nmpf-masked {
	-webkit-text-security: disc;
	text-security: disc;
}

/* ---------- aktualita (Admin: News/add|edit.modern.latte, FormNewsFactory.modern.latte) ---------- */
.ui-modern .nmnw-top {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 12rem;
	gap: 0 .9rem;
}

@media (max-width: 575.98px) {
	.ui-modern .nmnw-top {
		grid-template-columns: minmax(0, 1fr);
	}
}

.ui-modern .nmnw-form .select2-container {
	width: 100% !important;
}

.ui-modern .nmnw-form .nmct-check i {
	color: var(--wa-muted);
	margin-right: .2rem;
}

.ui-modern .nmnw-form .nmnw-publish:has(input:checked) i {
	color: #1f6b3a;
}

.ui-modern .nmnw-form .nmnw-blink:has(input:checked) {
	background: #fdf6e3;
	border-color: #ecd49c;
	color: #6b4a07;
}

/* jazyky */
.ui-modern .nmnw-langs {
	display: flex;
	flex-wrap: wrap;
	gap: .3rem;
	border-bottom: 1px solid var(--wa-line);
	padding-bottom: .6rem;
	margin-bottom: .9rem;
}

.ui-modern .nmnw-langs .nav-link {
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	padding: .3rem .75rem;
	border: 1px solid var(--wa-line);
	border-radius: 999px;
	color: var(--wa-fg);
	font-size: .85rem;
	font-weight: 600;
}

.ui-modern .nmnw-langs .nav-link img {
	width: 18px;
	height: auto;
	border-radius: 2px;
}

.ui-modern .nmnw-langs .nav-link.active {
	background: var(--wa-accent);
	border-color: var(--wa-accent);
	color: #fff;
}

.ui-modern .nmnw-langs .nav-link.has-content::after {
	content: "";
	position: absolute;
	top: -2px;
	right: -2px;
	width: .55rem;
	height: .55rem;
	border-radius: 50%;
	background: var(--wa-success);
	border: 2px solid var(--wa-surface);
}

.ui-modern .nmnw-pane {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 17rem;
	gap: 1rem;
	align-items: start;
}

@media (max-width: 991.98px) {
	.ui-modern .nmnw-pane {
		grid-template-columns: minmax(0, 1fr);
	}
}

.ui-modern .nmnw-form .editor-container {
	min-height: 14rem;
	background: var(--wa-surface);
	border-bottom-left-radius: var(--wa-radius);
	border-bottom-right-radius: var(--wa-radius);
	font-size: .95rem;
}

.ui-modern .nmnw-form .ql-toolbar.ql-snow {
	border-top-left-radius: var(--wa-radius);
	border-top-right-radius: var(--wa-radius);
	background: var(--wa-bg);
	border-color: var(--wa-line);
}

.ui-modern .nmnw-form .ql-container.ql-snow {
	border-color: var(--wa-line);
}

.ui-modern .nmnw-attach {
	background: var(--wa-bg);
	border-radius: var(--wa-radius);
	padding: .7rem .8rem .2rem;
}

.ui-modern .nmnw-attach h3 {
	font-size: .85rem;
	font-weight: 700;
	margin: 0 0 .5rem;
}

.ui-modern .nmnw-attach input[type="file"] {
	font-size: .8rem;
	max-width: 100%;
}

.ui-modern .nmnw-file {
	display: flex;
	align-items: center;
	gap: .5rem;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: .35rem .6rem;
	margin-bottom: .6rem;
	font-size: .85rem;
}

.ui-modern .nmnw-file a:first-child {
	flex: 1;
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ui-modern .nmnw-file-del {
	color: #c82333;
}

/* ---------- dokument (Admin: Document/add|edit.modern.latte, FormDocumentFactory.modern.latte) ---------- */
.ui-modern .nmdc-page {
	max-width: 760px;
}

.ui-modern .nmdc-grid {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 0 .9rem;
}

@media (max-width: 575.98px) {
	.ui-modern .nmdc-grid {
		grid-template-columns: minmax(0, 1fr);
	}
}

.ui-modern .nmdc-current {
	margin-bottom: .5rem;
}

/* ---------- námět – úprava a odpověď (Admin: Suggestion/edit.modern.latte, FormSuggestionFactory.modern.latte) ---------- */
.ui-modern .nmsg-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	gap: 1rem;
	align-items: start;
}

@media (max-width: 991.98px) {
	.ui-modern .nmsg-layout {
		grid-template-columns: minmax(0, 1fr);
	}
}

.ui-modern .nmsg-message {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: calc(var(--wa-radius) * 1.6);
	box-shadow: inset 4px 0 var(--wa-brand);
	padding: 1rem 1.1rem;
}

.ui-modern .nmsg-author {
	display: flex;
	align-items: center;
	gap: .7rem;
	padding-bottom: .7rem;
	margin-bottom: .8rem;
	border-bottom: 1px solid var(--wa-line);
}

.ui-modern .nmsg-avatar {
	display: inline-grid;
	place-items: center;
	width: 2.5rem;
	height: 2.5rem;
	flex: none;
	border-radius: 50%;
	background: var(--wa-brand-soft);
	color: var(--wa-brand-dark);
}

.ui-modern .nmsg-contacts {
	display: flex;
	flex-wrap: wrap;
	gap: .2rem 1rem;
	font-size: .85rem;
}

.ui-modern .nmsg-contacts i {
	color: var(--wa-muted);
	margin-right: .2rem;
}

.ui-modern .nmsg-text {
	font-size: .95rem;
	line-height: 1.6;
	white-space: normal;
}

.ui-modern .nmsg-answer textarea {
	min-height: 10rem;
}

.ui-modern .nmsg-row {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	gap: .5rem 1rem;
}

.ui-modern .nmsg-row .nmus-field {
	flex: 0 0 11rem;
	margin-bottom: 0;
}

.ui-modern .nmsg-row .nmus-checks {
	margin: 0;
}

.ui-modern .nmsg-form .nmct-check i {
	color: var(--wa-muted);
	margin-right: .2rem;
}

/* úprava původního námětu – sbalená */
.ui-modern .nmsg-edit summary {
	cursor: pointer;
	font-size: .9rem;
	font-weight: 600;
	color: var(--wa-muted);
}

.ui-modern .nmsg-edit summary i {
	margin-right: .3rem;
}

.ui-modern .nmsg-edit[open] summary {
	margin-bottom: .7rem;
}

.ui-modern .nmsg-form textarea {
	width: 100%;
}

/* ---------- Ticketer (TicketerModule: @layout.latte hlavička, Default/*.modern.latte, Ticket/ChatFormFactory.modern.latte) ---------- */
.ui-modern {
	--tk-10: #c82333;
	--tk-30: #d99a00;
	--tk-50: #23863b;
	--tk-70: #138496;
	--tk-99: #6c757d;
}

.ui-modern .nmtk-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .6rem 1rem;
	margin: .4rem 0 .9rem;
}

.ui-modern .nmtk-title {
	display: flex;
	align-items: center;
	gap: .6rem;
}

.ui-modern .nmtk-title h1 {
	font-size: 1.4rem;
	font-weight: 700;
	margin: 0;
}

.ui-modern .nmtk-head-tools {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .6rem;
}

.ui-modern .nmtk-page {
	padding-bottom: 4rem;
}

.ui-modern .nmtk-id {
	display: inline-block;
	background: var(--wa-bar);
	border-radius: 999px;
	padding: 0 .5rem;
	font-size: .75rem;
	font-weight: 700;
	color: var(--wa-muted);
}

.ui-modern .nmtk-muted {
	color: var(--wa-muted);
	font-style: italic;
	font-size: .88rem;
	margin: 0;
}

/* stavy */
.ui-modern .nmtk-st-10 { --st: var(--tk-10); }
.ui-modern .nmtk-st-30 { --st: var(--tk-30); }
.ui-modern .nmtk-st-50 { --st: var(--tk-50); }
.ui-modern .nmtk-st-70 { --st: var(--tk-70); }
.ui-modern .nmtk-st-99 { --st: var(--tk-99); }

/* přehled: dlaždice stavů */
.ui-modern .nmtk-kpis {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .8rem;
	margin-bottom: 1rem;
}

@media (max-width: 991.98px) {
	.ui-modern .nmtk-kpis {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}

.ui-modern .nmtk-kpi {
	position: relative;
	display: flex;
	align-items: center;
	gap: .9rem;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: calc(var(--wa-radius) * 1.6);
	box-shadow: inset 0 4px var(--st);
	padding: 1rem 1.1rem .9rem;
	color: var(--wa-fg);
	text-decoration: none;
	transition: transform .12s ease, box-shadow .12s ease;
}

.ui-modern .nmtk-kpi:hover {
	color: var(--wa-fg);
	text-decoration: none;
	transform: translateY(-2px);
	box-shadow: inset 0 4px var(--st), 0 8px 22px rgba(20, 30, 40, .1);
}

.ui-modern .nmtk-kpi-icon {
	display: inline-grid;
	place-items: center;
	width: 3rem;
	height: 3rem;
	flex: none;
	border-radius: var(--wa-radius);
	background: color-mix(in srgb, var(--st) 13%, var(--wa-surface));
	color: var(--st);
	font-size: 1.3rem;
}

.ui-modern .nmtk-kpi-text {
	display: grid;
	min-width: 0;
}

.ui-modern .nmtk-kpi-text strong {
	font-size: 1.8rem;
	font-weight: 800;
	line-height: 1.1;
	color: var(--st);
}

.ui-modern .nmtk-kpi-text small {
	font-size: .82rem;
	color: var(--wa-muted);
	font-weight: 600;
}

.ui-modern .nmtk-kpi-go {
	margin-left: auto;
	color: var(--st);
	opacity: 0;
	transition: opacity .12s ease;
}

.ui-modern .nmtk-kpi:hover .nmtk-kpi-go {
	opacity: 1;
}

/* nepřečtené komentáře */
.ui-modern .nmtk-unread-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
	margin-bottom: .6rem;
}

.ui-modern .nmtk-unread-head h2 {
	margin: 0 !important;
}

.ui-modern .nmtk-unread-list {
	display: grid;
	gap: .35rem;
	max-height: 18rem;
	overflow-y: auto;
}

.ui-modern .nmtk-unread-item {
	display: flex;
	align-items: center;
	gap: .8rem;
	padding: .5rem .7rem;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	box-shadow: inset 3px 0 var(--wa-accent);
	color: var(--wa-fg);
	text-decoration: none;
}

.ui-modern .nmtk-unread-item:hover {
	background: var(--wa-accent-soft);
	color: var(--wa-fg);
	text-decoration: none;
}

.ui-modern .nmtk-unread-main {
	display: grid;
	flex: 1;
	min-width: 0;
}

.ui-modern .nmtk-unread-main strong {
	font-size: .88rem;
}

.ui-modern .nmtk-unread-text {
	font-size: .8rem;
	color: var(--wa-muted);
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ui-modern .nmtk-unread-meta {
	display: grid;
	justify-items: end;
	flex: none;
	font-size: .75rem;
	color: var(--wa-muted);
}

.ui-modern .nmtk-allread {
	margin: 0;
	color: #1f6b3a;
	font-weight: 600;
}

/* grid tiketů */
.ui-modern .nmtk-grid {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: .5rem;
	overflow-x: auto;
	position: relative;
	font-size: .8rem;
}

.ui-modern .nmtk-grid .datagrid {
	padding: 0;
	background: transparent;
}

.ui-modern .nmtk-grid table.table th,
.ui-modern .nmtk-grid table.table td {
	border-color: var(--wa-line);
	padding: .35rem .45rem;
	vertical-align: middle;
}

.ui-modern .nmtk-grid table.table thead th {
	background: var(--wa-bar);
	font-weight: 600;
}

.ui-modern .nmtk-grid table thead tr.row-group-actions th {
	background: var(--wa-surface);
	border: 0;
}

.ui-modern .nmtk-grid td.col-title a {
	font-weight: 600;
}

.ui-modern .nmtk-grid td.col-ticketer_status_id span,
.ui-modern .nmtk-grid td.col-ticketer_priority_id span {
	display: inline-block;
	border-radius: 999px;
	padding: .05rem .55rem;
	white-space: nowrap;
	font-weight: 600;
}

.ui-modern .nmtk-grid td.col-ticketer_status_id span.text-danger,
.ui-modern .nmtk-grid td.col-ticketer_priority_id span.text-danger { background: #fbe6e8; }
.ui-modern .nmtk-grid td.col-ticketer_status_id span.text-warning,
.ui-modern .nmtk-grid td.col-ticketer_priority_id span.text-warning { background: #fbf0d9; color: #a8741a !important; }
.ui-modern .nmtk-grid td.col-ticketer_status_id span.text-success,
.ui-modern .nmtk-grid td.col-ticketer_priority_id span.text-success { background: #e4f3e8; }
.ui-modern .nmtk-grid td.col-ticketer_status_id span.text-info { background: #e0f3f6; }

/* detail tiketu */
.ui-modern .nmtk-ticket-head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	justify-content: space-between;
	gap: .8rem 1rem;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	box-shadow: inset 4px 0 var(--wa-brand);
	padding: .9rem 1.1rem;
	margin-bottom: 1rem;
}

.ui-modern .nmtk-ticket-title h2 {
	font-size: 1.3rem;
	font-weight: 700;
	margin: 0 0 .4rem;
}

.ui-modern .nmtk-badges {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .4rem .7rem;
	font-size: .82rem;
}

.ui-modern .nmtk-status {
	background: color-mix(in srgb, var(--st) 14%, var(--wa-surface));
	color: var(--st);
	border: 1px solid color-mix(in srgb, var(--st) 35%, var(--wa-surface));
	border-radius: 999px;
	padding: .1rem .7rem;
	font-weight: 700;
}

.ui-modern .nmtk-prio {
	font-weight: 600;
}

.ui-modern .nmtk-prio-1 { color: #23863b; }
.ui-modern .nmtk-prio-2 { color: #a8741a; }
.ui-modern .nmtk-prio-3 { color: #c82333; }

.ui-modern .nmtk-date {
	color: var(--wa-muted);
}

.ui-modern .nmtk-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .4rem;
}

.ui-modern .nmtk-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 20rem;
	gap: 1rem;
	align-items: start;
}

@media (max-width: 991.98px) {
	.ui-modern .nmtk-layout {
		grid-template-columns: minmax(0, 1fr);
	}
}

.ui-modern .nmtk-rich {
	font-size: .92rem;
	line-height: 1.55;
	overflow-wrap: anywhere;
}

.ui-modern .nmtk-rich p:last-child {
	margin-bottom: 0;
}

.ui-modern .nmtk-rich img {
	max-width: 100%;
	height: auto;
}

.ui-modern .nmtk-answer {
	box-shadow: inset 4px 0 var(--tk-50);
}

.ui-modern .nmtk-answer.is-empty {
	box-shadow: none;
}

.ui-modern .nmtk-facts {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: .35rem .8rem;
	margin: 0;
	font-size: .85rem;
}

.ui-modern .nmtk-facts dt {
	font-weight: 600;
	color: var(--wa-muted);
}

.ui-modern .nmtk-facts dd {
	margin: 0;
	font-weight: 600;
	overflow-wrap: anywhere;
}

/* přílohy */
.ui-modern .nmtk-atts {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
	margin-top: .6rem;
}

.ui-modern .nmtk-atts-col {
	flex-direction: column;
	margin-top: 0;
}

.ui-modern .nmtk-att {
	display: inline-flex;
	align-items: center;
	gap: .45rem;
	max-width: 100%;
	padding: .3rem .6rem;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	background: var(--wa-surface);
	box-shadow: inset 3px 0 var(--wa-accent);
	color: var(--wa-fg);
	font-size: .82rem;
	text-decoration: none;
	cursor: pointer;
}

.ui-modern .nmtk-att.is-solver {
	box-shadow: inset 3px 0 var(--tk-50);
}

.ui-modern .nmtk-att span {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ui-modern .nmtk-att img {
	width: 2.4rem;
	height: 2.4rem;
	object-fit: cover;
	border-radius: .25rem;
	flex: none;
}

.ui-modern .nmtk-att:hover {
	background: var(--wa-accent-soft);
	text-decoration: none;
	color: var(--wa-fg);
}

.ui-modern .nmtk-att.is-deleted {
	opacity: .55;
	text-decoration: line-through;
	cursor: default;
}

.ui-modern .nmtk-att-row {
	display: flex;
	align-items: center;
	gap: .4rem;
}

.ui-modern .nmtk-att-del {
	color: #c82333;
}

/* komentáře – vlákno */
.ui-modern .nmtk-thread {
	display: grid;
	gap: .8rem;
}

.ui-modern .nmtk-comment {
	display: flex;
	gap: .7rem;
	margin-left: calc(var(--lvl, 0) * 1.6rem);
	scroll-margin-top: calc(var(--wa-nav-h) + 20px);
}

.ui-modern .nmtk-comment:target .nmtk-bubble {
	box-shadow: 0 0 0 3px var(--wa-accent-soft);
	border-color: var(--wa-accent);
}

.ui-modern .nmtk-avatar {
	display: inline-grid;
	place-items: center;
	width: 2.3rem;
	height: 2.3rem;
	flex: none;
	border-radius: 50%;
	background: var(--wa-accent);
	color: #fff;
	font-size: .8rem;
	font-weight: 700;
}

.ui-modern .nmtk-comment.is-solver .nmtk-avatar {
	background: var(--tk-50);
}

.ui-modern .nmtk-bubble {
	flex: 1;
	min-width: 0;
	border: 1px solid var(--wa-line);
	border-radius: 0 calc(var(--wa-radius) * 1.6) calc(var(--wa-radius) * 1.6) calc(var(--wa-radius) * 1.6);
	background: var(--wa-bg);
	padding: .6rem .8rem .3rem;
}

.ui-modern .nmtk-comment.is-solver .nmtk-bubble {
	background: #f1f9f3;
}

.ui-modern .nmtk-bubble header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .2rem .6rem;
	font-size: .85rem;
	margin-bottom: .2rem;
}

.ui-modern .nmtk-role {
	background: #e4f3e8;
	color: #1f6b3a;
	border-radius: 999px;
	padding: 0 .5rem;
	font-size: .7rem;
	font-weight: 700;
}

.ui-modern .nmtk-time {
	color: var(--wa-muted);
	font-size: .78rem;
}

.ui-modern .nmtk-flag {
	margin-left: auto;
	border-radius: 999px;
	padding: 0 .55rem;
	font-size: .7rem;
	font-weight: 700;
}

.ui-modern .nmtk-flag.is-new {
	background: var(--wa-accent);
	color: #fff;
}

.ui-modern .nmtk-flag.is-deleted {
	background: #fbe6e8;
	color: #b02a37;
}

.ui-modern .nmtk-bubble h3 {
	font-size: .95rem;
	font-weight: 700;
	margin: .1rem 0 .3rem;
}

.ui-modern .nmtk-comment.is-deleted .nmtk-bubble h3,
.ui-modern .nmtk-comment.is-deleted .nmtk-rich {
	text-decoration: line-through;
	opacity: .6;
}

.ui-modern .nmtk-bubble footer {
	display: flex;
	gap: .2rem;
	margin: .2rem -.5rem 0;
}

.ui-modern .nmtk-bubble footer .btn-link {
	font-size: .8rem;
	padding: .15rem .5rem;
}

/* formuláře komentáře / odpovědi */
.ui-modern .nmtk-reply h2 {
	display: flex;
	align-items: center;
}

.ui-modern .nmtk-reply h2 .close {
	margin-left: auto;
}

.ui-modern .nmtk-reply-inline {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: .7rem .8rem;
	margin: .5rem 0 .4rem;
}

.ui-modern .nmtk-chat-form .nmus-field input[type="text"] {
	width: 100%;
}

.ui-modern .nmtk-editor {
	min-height: 12rem;
	background: var(--wa-surface);
}

.ui-modern .nmtk-editor-sm {
	min-height: 8rem;
}

.ui-modern .nmtk-form .ql-toolbar.ql-snow,
.ui-modern .nmtk-chat-form .ql-toolbar.ql-snow {
	background: var(--wa-bg);
	border-color: var(--wa-line);
	border-top-left-radius: var(--wa-radius);
	border-top-right-radius: var(--wa-radius);
}

.ui-modern .nmtk-form .ql-container.ql-snow,
.ui-modern .nmtk-chat-form .ql-container.ql-snow {
	border-color: var(--wa-line);
}

.ui-modern .nmtk-chat-foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
	margin-top: .3rem;
}

.ui-modern .nmtk-chat-file {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	font-size: .82rem;
	color: var(--wa-muted);
	min-width: 0;
}

.ui-modern .nmtk-chat-file input {
	font-size: .8rem;
	max-width: 16rem;
}

.ui-modern .nmtk-chat-buttons {
	display: flex;
	gap: .4rem;
}

.ui-modern .nmtk-pair {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 0 .7rem;
}

.ui-modern .nmtk-form .select2-container {
	width: 100% !important;
}

.ui-modern .nmtk-side .select2-container,
.ui-modern .nmtk-side select {
	max-width: 100%;
}

.ui-modern .nmtk-prio-seg {
	width: max-content;
	max-width: 100%;
}

/* ---------- náměty a připomínky – dodavatelé (Suggestions: @layout.modern.latte, Default/*.modern.latte) ---------- */
.ui-modern .nmsu-page {
	max-width: 980px;
	margin: 0 auto;
	padding-bottom: 4rem;
}

.ui-modern .nmsu-intro {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.4rem;
	background: linear-gradient(120deg, var(--wa-brand-soft), var(--wa-surface) 70%);
	border: 1px solid var(--wa-line);
	border-radius: calc(var(--wa-radius) * 2);
	padding: 1.2rem 1.4rem;
	margin-bottom: 1.4rem;
}

.ui-modern .nmsu-intro-icon {
	display: inline-grid;
	place-items: center;
	width: 3.4rem;
	height: 3.4rem;
	flex: none;
	border-radius: 50%;
	background: var(--wa-brand);
	color: #fff;
	font-size: 1.4rem;
}

.ui-modern .nmsu-intro-text {
	flex: 1 1 24rem;
	font-size: .92rem;
	line-height: 1.55;
}

.ui-modern .nmsu-intro-btn {
	font-weight: 600;
	border-radius: 999px;
	padding-left: 1.2rem;
	padding-right: 1.2rem;
}



.ui-modern .nmsu-title {
	font-size: 1.2rem !important;
	margin-bottom: 1rem !important;
}

.ui-modern .nmsu-answer {
	margin-left: 2rem;
}



.ui-modern .nmsu-pair {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 2fr);
	gap: 0 .9rem;
}

@media (max-width: 575.98px) {
	.ui-modern .nmsu-pair {
		grid-template-columns: minmax(0, 1fr);
	}

	.ui-modern .nmsu-answer {
		margin-left: 0;
	}
}

.ui-modern .nmsu-form textarea {
	width: 100%;
	min-height: 9rem;
	padding: .4rem .55rem;
	border: 1px solid #ced4da;
	border-radius: var(--wa-radius);
}

/* ---------- dokumenty ke stažení (Documents: Default/default.modern.latte) ---------- */
.ui-modern .nmdl-page {
	max-width: 1200px;
	margin: 0 auto;
	padding-bottom: 4rem;
}

.ui-modern .nmdl-search {
	position: relative;
	margin: 0;
}

.ui-modern .nmdl-search i {
	position: absolute;
	left: .75rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--wa-muted);
	pointer-events: none;
}

.ui-modern .nmdl-search input {
	width: 18rem;
	max-width: 100%;
	padding: .4rem .8rem .4rem 2.1rem;
	border: 1px solid var(--wa-line);
	border-radius: 999px;
	background: var(--wa-surface);
	font-size: .88rem;
}

.ui-modern .nmdl-search input:focus {
	outline: none;
	border-color: var(--wa-accent);
	box-shadow: 0 0 0 3px var(--wa-accent-soft);
}

.ui-modern .nmdl-purchaser-head {
	display: flex !important;
	align-items: center;
	gap: .7rem;
	font-size: 1.1rem !important;
	padding-bottom: .6rem;
	border-bottom: 1px solid var(--wa-line);
}

.ui-modern .nmdl-logo {
	display: inline-grid;
	place-items: center;
	width: 3rem;
	height: 2rem;
	background: #fff;
	border: 1px solid var(--wa-line);
	border-radius: .3rem;
	overflow: hidden;
}

.ui-modern .nmdl-logo img {
	max-width: 90%;
	max-height: 90%;
}

.ui-modern .nmdl-section + .nmdl-section {
	margin-top: 1rem;
}

.ui-modern .nmdl-section h3 {
	font-size: .78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	color: var(--wa-muted);
	margin: .2rem 0 .5rem;
}

.ui-modern .nmdl-docs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(21rem, 1fr));
	gap: .5rem;
}

.ui-modern .nmdl-doc {
	--c: #5f6b78;
	display: flex;
	align-items: center;
	gap: .65rem;
	padding: .55rem .75rem;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	background: var(--wa-surface);
	color: var(--wa-fg);
	text-decoration: none;
	font-size: .88rem;
	transition: border-color .12s ease, background .12s ease;
}

.ui-modern .nmdl-doc[hidden] {
	display: none;
}

.ui-modern .nmdl-doc > i:first-child {
	font-size: 1.35rem;
	color: var(--c);
	flex: none;
	width: 1.4rem;
	text-align: center;
}


.ui-modern .nmdl-x-pdf { --c: #c82333; }
.ui-modern .nmdl-x-doc, .ui-modern .nmdl-x-docx { --c: #1f6fb2; }
.ui-modern .nmdl-x-xls, .ui-modern .nmdl-x-xlsx, .ui-modern .nmdl-x-csv { --c: #1f7a37; }
.ui-modern .nmdl-x-ppt, .ui-modern .nmdl-x-pptx { --c: #d0661b; }
.ui-modern .nmdl-x-zip { --c: #8a6d3b; }
.ui-modern .nmdl-x-jpg, .ui-modern .nmdl-x-jpeg, .ui-modern .nmdl-x-png { --c: #6f42c1; }

.ui-modern .nmdl-doc-name {
	flex: 1;
	min-width: 0;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	font-weight: 600;
	line-height: 1.3;
}

.ui-modern .nmdl-ext {
	flex: none;
	border-radius: .25rem;
	background: color-mix(in srgb, var(--c) 12%, var(--wa-surface));
	color: var(--c);
	padding: 0 .35rem;
	font-size: .68rem;
	font-weight: 700;
	text-transform: uppercase;
}

.ui-modern .nmdl-dl {
	flex: none;
	color: var(--wa-muted);
	opacity: 0;
	transition: opacity .12s ease;
}

.ui-modern .nmdl-doc:hover {
	border-color: var(--c);
	background: color-mix(in srgb, var(--c) 5%, var(--wa-surface));
	color: var(--wa-fg);
	text-decoration: none;
}

.ui-modern .nmdl-doc:hover .nmdl-dl {
	opacity: 1;
	color: var(--c);
}

/* ---------- GPS – informace (Gps: Default/info.modern.latte, <doména>/info.modern.latte) ---------- */
.ui-modern .nmgps-page {
	max-width: 1000px;
	margin: 0 auto;
	padding-bottom: 4rem;
}

.ui-modern .nmgps-lang {
	margin-bottom: .8rem;
}

.ui-modern .nmgps-news {
	background: #fdf6e3;
	color: #6b4a07;
	border-radius: var(--wa-radius);
	box-shadow: inset 4px 0 #e0a800;
	padding: .65rem .9rem;
	margin-bottom: 1rem;
	font-size: .9rem;
}

.ui-modern .nmgps-news i {
	margin-right: .3rem;
}

.ui-modern .nmgps-text {
	font-size: .9rem;
	color: var(--wa-muted);
}

.ui-modern .nmgps-gates {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(19rem, 1fr));
	gap: .5rem;
}

.ui-modern .nmgps-gate {
	display: flex;
	align-items: center;
	gap: .65rem;
	padding: .55rem .75rem;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	color: var(--wa-fg);
	font-size: .88rem;
	text-decoration: none;
}

.ui-modern .nmgps-gate:hover {
	border-color: var(--wa-accent);
	background: var(--wa-accent-soft);
	color: var(--wa-fg);
	text-decoration: none;
}

.ui-modern .nmgps-gate-pin {
	display: inline-grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	flex: none;
	border-radius: 50%;
	background: #fbe6e8;
	color: #c82333;
}

.ui-modern .nmgps-gate-name {
	flex: 1;
	min-width: 0;
	font-weight: 600;
}

.ui-modern .nmgps-gate-map {
	flex: none;
	font-size: .75rem;
	color: var(--wa-accent);
	font-weight: 600;
}

.ui-modern .nmgps-legacy h2 {
	font-size: 1.1rem;
}

/* ---------- mobilní aplikace (MobileApp/default.modern.latte; jazykové texty <jazyk>/default.latte, links.latte, files.latte) ---------- */
.ui-modern .nmma-page {
	max-width: 1200px;
	margin: 0 auto;
	padding: .5rem 0 4rem;
}

.ui-modern .nmma-layout {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 17rem;
	gap: 1rem;
	align-items: start;
}

@media (max-width: 991.98px) {
	.ui-modern .nmma-layout {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* texty z jazykových šablon (Bootstrap .row / .col) */
.ui-modern .nmma-content {
	padding: 1.3rem 1.5rem;
	font-size: .93rem;
	line-height: 1.6;
}

.ui-modern .nmma-content .row {
	margin: 0;
}

.ui-modern .nmma-content [class*="col-"] {
	padding: 0;
	flex: 0 0 100%;
	max-width: 100%;
}

.ui-modern .nmma-content h1 {
	font-size: 1.5rem;
	font-weight: 800;
	margin-bottom: .2rem;
}

.ui-modern .nmma-content h2 {
	display: flex;
	align-items: center;
	gap: .45rem;
	font-size: 1.05rem;
	font-weight: 700;
	margin: 1rem 0 .5rem;
	padding-top: .9rem;
	border-top: 1px solid var(--wa-line);
}

.ui-modern .nmma-content .alert-warning {
	border: 0;
	background: #fdf6e3;
	color: #6b4a07;
	box-shadow: inset 4px 0 #e0a800;
	border-radius: var(--wa-radius);
}

/* snímek obrazovky vedle upozornění */
.ui-modern .nmma-content .pop {
	display: inline-block;
	cursor: zoom-in;
}

.ui-modern .nmma-content .pop img {
	max-width: 11rem;
	margin: 0 !important;
	padding: .4rem !important;
	border-radius: calc(var(--wa-radius) * 2) !important;
}

/* odkazy do obchodů v textu (links.latte) */
.ui-modern .nmma-content a[href*="play.google.com"],
.ui-modern .nmma-content a[href*="apps.apple.com"] {
	display: inline-block;
	margin: .2rem .4rem .2rem 0;
	vertical-align: middle;
}

.ui-modern .nmma-content a[href*="apps.apple.com"] svg {
	height: 46px !important;
	width: auto;
}

/* odznak Google Play (PNG) má kolem tlačítka průhledný okraj – větší výška a záporný okraj, aby tlačítko bylo
   stejně velké jako SVG odznak App Store */
.ui-modern .nmma-content a[href*="play.google.com"] img {
	height: 64px !important;
	width: auto;
	margin: -9px -2px -9px -10px;
}

/* panel s QR kódem */
@media (min-width: 992px) {
	.ui-modern .nmma-side {
		position: sticky;
		top: calc(var(--wa-nav-h) + 12px);
	}
}

.ui-modern .nmma-qr {
	display: grid;
	justify-items: center;
	gap: .5rem;
	text-align: center;
	box-shadow: inset 0 4px var(--wa-brand);
}

.ui-modern .nmma-app-icon {
	display: inline-grid;
	place-items: center;
	width: 3.2rem;
	height: 3.2rem;
	border-radius: 1rem;
	background: var(--wa-brand);
	color: #fff;
	font-size: 1.5rem;
}

.ui-modern .nmma-qr strong {
	font-size: 1.05rem;
}

.ui-modern .nmma-qr img#qrCode {
	width: 9rem;
	height: 9rem;
	padding: .5rem;
	background: #fff;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	image-rendering: pixelated;
}

.ui-modern .nmma-stores {
	display: grid;
	justify-items: center;
	gap: .4rem;
	margin-top: .3rem;
}

.ui-modern .nmma-stores img,
.ui-modern .nmma-stores svg {
	height: 42px !important;
	width: auto;
}

/* návody (files.latte: nav-pills + PDF) */
.ui-modern .nmma-files {
	margin-top: 1rem;
}

.ui-modern .nmma-files .nav-pills {
	display: inline-flex;
	flex-wrap: wrap;
	background: var(--wa-bar);
	border-radius: 999px;
	padding: .2rem;
	margin-bottom: .8rem !important;
}

.ui-modern .nmma-files .nav-pills .nav-link {
	border: 0;
	border-radius: 999px;
	padding: .3rem .9rem;
	font-size: .85rem;
	font-weight: 600;
	color: var(--wa-fg);
	background: transparent;
}

.ui-modern .nmma-files .nav-pills .nav-link.active {
	background: var(--wa-surface);
	color: var(--wa-accent);
	box-shadow: 0 1px 4px rgba(20, 30, 40, .12);
}

.ui-modern .nmma-files .tab-pane .row,
.ui-modern .nmma-files .tab-pane [class*="col-"] {
	margin: 0;
	padding: 0;
}

.ui-modern .nmma-files .tab-pane a.btn {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	width: auto !important;
	flex: none !important;
	max-width: none !important;
	margin: 0 0 .7rem !important;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	color: var(--wa-accent);
	font-weight: 600;
}

.ui-modern .nmma-files iframe {
	border: 1px solid var(--wa-line) !important;
	border-radius: var(--wa-radius);
}

/* ---------- nastavení přístupu do mobilní aplikace (MobileApp/mobileAppPassword.modern.latte; texty <jazyk>/mobileAppPassword.latte) ---------- */
.ui-modern .nmma-guide {
	max-width: 960px;
	font-size: .93rem;
	line-height: 1.6;
}

.ui-modern .nmma-guide > .container {
	max-width: none;
	padding: 0;
}

/* každý řádek textu jako karta */
.ui-modern .nmma-guide > .container > .row {
	margin: 0 0 1rem;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: 1.1rem 1.3rem .3rem;
}

.ui-modern .nmma-guide > .container > .row > [class*="col-"] {
	flex: 0 0 100%;
	max-width: 100%;
	padding: 0;
}

/* první řádek: nadpis a Zpět */
.ui-modern .nmma-guide > .container > .row:first-child {
	background: transparent;
	border: 0;
	padding: 0;
	margin-bottom: .6rem;
}

.ui-modern .nmma-guide > .container > .row:first-child > div {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem 1rem;
}

.ui-modern .nmma-guide h1 {
	font-size: 1.4rem;
	font-weight: 800;
	margin: 0;
}

.ui-modern .nmma-guide h2 {
	font-size: 1.05rem;
	font-weight: 700;
	margin: 0 0 .7rem;
	padding-bottom: .5rem;
	border-bottom: 1px solid var(--wa-line);
}

.ui-modern .nmma-guide ol {
	margin: .4rem 0 .8rem;
	padding-left: 1.4rem;
}

.ui-modern .nmma-guide ol li {
	font-weight: 600;
	margin-bottom: .2rem;
}

.ui-modern .nmma-guide .alert {
	border: 0;
	border-radius: var(--wa-radius);
	padding: .65rem .9rem;
}

.ui-modern .nmma-guide .alert-danger {
	background: #fdeef0;
	color: #8a1f2b;
	box-shadow: inset 4px 0 #dc3545;
	font-weight: 600;
}

.ui-modern .nmma-guide .alert-primary {
	background: var(--wa-accent-soft);
	color: #174f80;
	box-shadow: inset 4px 0 var(--wa-accent);
}

/* snímky obrazovky */
.ui-modern .nmma-guide p img {
	display: block;
	max-width: 100%;
	height: auto;
	margin: .6rem 0 .4rem;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	box-shadow: 0 6px 18px rgba(20, 30, 40, .08);
}

/* tlačítka zmíněná v textu (G, Uložit) jako malé štítky */
.ui-modern .nmma-guide p .btn-sm {
	padding: 0 .45rem;
	font-size: .78rem;
	line-height: 1.5;
	vertical-align: baseline;
	cursor: default;
}

/* ---------- Račice na cestě (WoodAcceptance: Default/racice.modern.latte) ---------- */
.ui-modern .nmrc-list {
	display: grid;
	gap: .5rem;
}

.ui-modern .nmrc-item {
	display: flex;
	align-items: center;
	gap: .9rem;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: calc(var(--wa-radius) * 1.5);
	box-shadow: inset 4px 0 var(--wa-accent);
	padding: .7rem .9rem;
}

/* na cestě déle než den – nejspíš zapomenutý záměr */
.ui-modern .nmrc-item.is-old {
	box-shadow: inset 4px 0 #e0a800;
}

.ui-modern .nmrc-icon {
	display: inline-grid;
	place-items: center;
	width: 2.6rem;
	height: 2.6rem;
	flex: none;
	border-radius: 50%;
	background: var(--wa-accent-soft);
	color: var(--wa-accent);
	font-size: 1.1rem;
}

.ui-modern .nmrc-item.is-old .nmrc-icon {
	background: #fdf4dd;
	color: #a8741a;
}

.ui-modern .nmrc-main {
	display: grid;
	gap: .1rem;
	flex: 1;
	min-width: 0;
}

.ui-modern .nmrc-id {
	font-size: 1.15rem;
	font-weight: 800;
	letter-spacing: .02em;
}

.ui-modern .nmrc-time {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .2rem .6rem;
	font-size: .85rem;
	color: var(--wa-muted);
	font-variant-numeric: tabular-nums;
}

.ui-modern .nmrc-elapsed {
	background: var(--wa-bar);
	color: var(--wa-fg);
	border-radius: 999px;
	padding: 0 .55rem;
	font-size: .75rem;
	font-weight: 700;
}

.ui-modern .nmrc-item.is-old .nmrc-elapsed {
	background: #fdf4dd;
	color: #7a5410;
}

.ui-modern .nmrc-actions {
	display: flex;
	gap: .4rem;
	flex: none;
}

.ui-modern .nmrc-actions .btn-success {
	font-weight: 700;
	padding-left: 1.1rem;
	padding-right: 1.1rem;
}

/* ---------- E-learning: přihlášení (ElearningModule Sign/in.modern.latte, pro všechny) ---------- */
.ui-modern .nmel-brand-tag {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .15rem .6rem;
	border-radius: 999px;
	background: var(--wa-brand-soft, var(--wa-accent-soft));
	color: var(--wa-brand-dark, var(--wa-accent));
	font-size: .8rem;
	font-weight: 700;
}

.ui-modern .nmel-sign {
	display: grid;
	place-items: center;
	min-height: calc(100vh - var(--wa-nav-h) - 110px);
	padding: 1rem 0 2rem;
}

.ui-modern .nmel-card {
	display: grid;
	grid-template-columns: minmax(0, 5fr) minmax(0, 7fr);
	width: 100%;
	max-width: 920px;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: calc(var(--wa-radius) * 2);
	box-shadow: var(--wa-shadow);
	overflow: hidden;
}

/* levý panel v barvě značky */
.ui-modern .nmel-intro {
	display: flex;
	flex-direction: column;
	gap: .8rem;
	padding: 2rem 1.8rem;
	color: #fff;
	background:
		radial-gradient(circle at 110% -10%, rgba(255, 255, 255, .22), transparent 55%),
		linear-gradient(160deg, var(--wa-brand), var(--wa-brand-dark, #164f80));
}

.ui-modern .nmel-intro-icon {
	display: inline-grid;
	place-items: center;
	width: 3.4rem;
	height: 3.4rem;
	border-radius: 50%;
	background: rgba(255, 255, 255, .18);
	font-size: 1.6rem;
}

.ui-modern .nmel-intro h1 {
	margin: 0;
	font-size: 1.9rem;
	font-weight: 800;
	letter-spacing: -.01em;
}

.ui-modern .nmel-intro p {
	margin: 0;
	font-size: .92rem;
	line-height: 1.5;
	opacity: .92;
}

.ui-modern .nmel-steps {
	list-style: none;
	counter-reset: nmel;
	margin: .4rem 0 0;
	padding: 0;
	display: grid;
	gap: .45rem;
}

.ui-modern .nmel-steps li {
	counter-increment: nmel;
	display: flex;
	align-items: center;
	gap: .55rem;
	font-weight: 600;
	font-size: .9rem;
}

.ui-modern .nmel-steps li::before {
	content: counter(nmel);
	display: inline-grid;
	place-items: center;
	width: 1.6rem;
	height: 1.6rem;
	flex: none;
	border-radius: 50%;
	background: #fff;
	color: var(--wa-brand-dark, var(--wa-accent));
	font-size: .8rem;
	font-weight: 800;
}

.ui-modern .nmel-steps li i {
	width: 1.1rem;
	text-align: center;
	opacity: .85;
}

.ui-modern .nmel-logo {
	margin-top: auto;
	align-self: flex-start;
	max-width: 150px;
	max-height: 56px;
	padding: .45rem .7rem;
	background: #fff;
	border-radius: var(--wa-radius);
}

/* pravý panel s formulářem */
.ui-modern .nmel-main {
	display: flex;
	flex-direction: column;
	gap: 1.1rem;
	padding: 2rem 1.8rem 1.6rem;
}

.ui-modern .nmel-form {
	font-size: .9rem;
}

.ui-modern .nmel-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0 .9rem;
}

.ui-modern .nmel-form input.form-control {
	height: calc(1.5em + .9rem + 2px);
	font-size: .95rem;
}

/* typ dokladu jako dlaždice */
.ui-modern .nmel-docs {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .5rem;
}

.ui-modern .nmel-doc {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .3rem;
	margin: 0;
	padding: .7rem .4rem .6rem;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	background: var(--wa-surface);
	text-align: center;
	font-size: .8rem !important;
	font-weight: 600 !important;
	line-height: 1.2;
	cursor: pointer;
	user-select: none;
	transition: border-color .15s, background-color .15s;
}

.ui-modern .nmel-doc i {
	font-size: 1.35rem;
	color: var(--wa-muted);
}

.ui-modern .nmel-doc input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.ui-modern .nmel-doc:hover {
	border-color: var(--wa-brand);
}

.ui-modern .nmel-doc:has(input:checked) {
	border-color: var(--wa-brand);
	background: var(--wa-brand-soft, var(--wa-accent-soft));
	box-shadow: inset 0 0 0 1px var(--wa-brand);
}

.ui-modern .nmel-doc:has(input:checked) i {
	color: var(--wa-brand);
}

.ui-modern .nmel-doc:has(input:focus-visible) {
	outline: 2px solid var(--wa-brand);
	outline-offset: 1px;
}

.ui-modern .nmel-submit {
	margin-top: .6rem;
	font-weight: 700;
}

.ui-modern .nmel-langs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: .35rem;
}

.ui-modern .nmel-lang {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .2rem .6rem;
	border: 1px solid var(--wa-line);
	border-radius: 999px;
	color: var(--wa-fg);
	font-size: .78rem;
	font-weight: 700;
	text-decoration: none !important;
}

.ui-modern .nmel-lang:hover {
	border-color: var(--wa-brand);
}

.ui-modern .nmel-lang.active {
	border-color: var(--wa-brand);
	background: var(--wa-brand-soft, var(--wa-accent-soft));
}

.ui-modern .nmel-register {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: .5rem .8rem;
	padding-top: 1rem;
	border-top: 1px solid var(--wa-line);
	color: var(--wa-muted);
	font-size: .88rem;
	text-align: center;
}

@media (max-width: 767.98px) {
	.ui-modern .nmel-card {
		grid-template-columns: 1fr;
	}

	.ui-modern .nmel-intro {
		padding: 1.3rem 1.2rem;
	}

	.ui-modern .nmel-steps,
	.ui-modern .nmel-logo {
		display: none;
	}

	.ui-modern .nmel-main {
		padding: 1.3rem 1.2rem;
	}
}

@media (max-width: 479.98px) {
	.ui-modern .nmel-row {
		grid-template-columns: 1fr;
	}

	.ui-modern .nmel-docs {
		gap: .35rem;
	}
}

.ui-modern .nmel-form .nmel-masked {
	-webkit-text-security: disc;
	text-security: disc;
}

/* ---------- E-learning: registrace (ElearningModule Register/default.modern.latte) ---------- */
.ui-modern .nmel-reg {
	max-width: 820px;
	margin: 0 auto;
}

.ui-modern .nmel-sub {
	font-weight: 500;
	color: var(--wa-muted);
}

.ui-modern .nmel-reg .nmel-half {
	max-width: calc(50% - .45rem);
}

.ui-modern .nmel-hint {
	display: flex;
	gap: .5rem;
	margin: 0 0 .8rem;
	padding: .55rem .8rem;
	border-radius: var(--wa-radius);
	background: var(--wa-accent-soft);
	box-shadow: inset 3px 0 var(--wa-accent);
	color: #174f80;
	font-size: .83rem;
	line-height: 1.45;
}

.ui-modern .nmel-hint i {
	margin-top: .15rem;
}


@media (max-width: 575.98px) {
	.ui-modern .nmel-reg .nmel-row {
		grid-template-columns: 1fr;
	}

	.ui-modern .nmel-reg .nmel-half {
		max-width: none;
	}
}

.ui-modern .nmel-form .select2-container--bootstrap4 .select2-selection--single {
	height: calc(1.5em + .9rem + 2px) !important;
}

.ui-modern .nmel-form .select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered {
	line-height: calc(1.5em + .9rem);
	font-size: .95rem;
}

/* ---------- E-learning: přihlášení dokladem nebo e-mailem a heslem (Sign/in.modern.latte) ---------- */
.ui-modern .nmel-mode {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .25rem;
	padding: .25rem;
	margin-bottom: 1rem;
	background: var(--wa-bar);
	border-radius: calc(var(--wa-radius) * 1.5);
}

.ui-modern .nmel-mode-opt {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .4rem;
	margin: 0;
	padding: .45rem .5rem;
	border-radius: var(--wa-radius);
	color: var(--wa-muted);
	font-size: .83rem !important;
	font-weight: 700 !important;
	text-align: center;
	cursor: pointer;
	user-select: none;
}

.ui-modern .nmel-mode-opt input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.ui-modern .nmel-mode-opt:has(input:checked) {
	background: var(--wa-surface);
	color: var(--wa-brand-dark, var(--wa-fg));
	box-shadow: 0 1px 3px rgba(20, 30, 40, .15);
}

.ui-modern .nmel-mode-opt:has(input:focus-visible) {
	outline: 2px solid var(--wa-brand);
	outline-offset: 1px;
}

.ui-modern .nmel-form:has(input[name="login_type"][value="email"]:checked) .nmel-by-document,
.ui-modern .nmel-form:not(:has(input[name="login_type"][value="email"]:checked)) .nmel-by-email {
	display: none;
}

.ui-modern .nmel-note {
	display: flex;
	gap: .4rem;
	margin: 0 0 .6rem;
	color: var(--wa-muted);
	font-size: .8rem;
	line-height: 1.4;
}

.ui-modern .nmel-note i {
	margin-top: .15rem;
}

.ui-modern .nmel-optional {
	margin-left: .35rem;
	padding: .05rem .45rem;
	border-radius: 999px;
	background: var(--wa-bar);
	color: var(--wa-muted);
	font-size: .7rem;
	font-weight: 600;
	vertical-align: middle;
}

/* ---------- E-learning: úvod a další kroky (Homepage/introduction.modern.latte) ---------- */
.ui-modern .nmel-page {
	max-width: 980px;
	margin: 0 auto;
}

.ui-modern .nmel-version {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	padding: .2rem .7rem;
	border-radius: 999px;
	background: var(--wa-bar);
	color: var(--wa-muted);
	font-size: .8rem;
}

.ui-modern .nmel-version strong {
	color: var(--wa-fg);
}

/* postup školení */
.ui-modern .nmel-stepper {
	list-style: none;
	counter-reset: nmelstep;
	display: flex;
	margin: 0 0 1rem;
	padding: 0;
	overflow-x: auto;
}

.ui-modern .nmel-stepper li {
	counter-increment: nmelstep;
	position: relative;
	flex: 1 1 0;
	min-width: 6.5rem;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .3rem;
	padding: 0 .3rem;
	color: var(--wa-muted);
	font-size: .78rem;
	font-weight: 600;
	text-align: center;
	line-height: 1.25;
}

/* spojovací čára mezi kroky */
.ui-modern .nmel-stepper li + li::after {
	content: "";
	position: absolute;
	top: 1rem;
	right: 50%;
	width: 100%;
	height: 2px;
	margin-right: 1.1rem;
	background: var(--wa-line);
	z-index: 0;
}

.ui-modern .nmel-stepper li > i {
	position: relative;
	z-index: 1;
	display: inline-grid;
	place-items: center;
	width: 2rem;
	height: 2rem;
	border-radius: 50%;
	background: var(--wa-surface);
	border: 2px solid var(--wa-line);
	font-size: .85rem;
}

.ui-modern .nmel-stepper li.is-current {
	color: var(--wa-fg);
}

.ui-modern .nmel-stepper li.is-current > i {
	background: var(--wa-brand);
	border-color: var(--wa-brand);
	color: #fff;
	box-shadow: 0 0 0 4px var(--wa-brand-soft, var(--wa-accent-soft));
}

.ui-modern .nmel-stepper li.is-done > i {
	border-color: var(--wa-brand);
	color: var(--wa-brand);
}

.ui-modern .nmel-stepper li.is-done + li::after,
.ui-modern .nmel-stepper li.is-done + li.is-current::after {
	background: var(--wa-brand);
}

/* stav posledního testu */
.ui-modern .nmel-status {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .6rem 1rem;
	margin-bottom: 1rem;
	padding: .8rem 1rem;
	border-radius: var(--wa-radius);
	font-size: .875rem;
}

.ui-modern .nmel-status.is-success {
	background: #e8f5ec;
	box-shadow: inset 4px 0 var(--wa-success);
	color: #1d5a2c;
}

.ui-modern .nmel-status.is-warning {
	background: #fdf4dd;
	box-shadow: inset 4px 0 #e0a800;
	color: #6e4d0e;
}

.ui-modern .nmel-status.is-danger {
	background: #fdeef0;
	box-shadow: inset 4px 0 #dc3545;
	color: #8a1f2b;
}

.ui-modern .nmel-status-icon {
	font-size: 1.5rem;
	flex: none;
}

.ui-modern .nmel-status-text {
	display: grid;
	gap: .1rem;
	flex: 1;
	min-width: 14rem;
}

.ui-modern .nmel-status-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .4rem;
}

.ui-modern .nmel-status-actions .btn[class*="btn-outline"]:not(:hover) {
	background: var(--wa-surface);
}

/* jazykový text úvodu (<server>/<jazyk>/<verze>/introduction.latte) */
.ui-modern .nmel-text {
	padding: 1.3rem 1.5rem;
	font-size: .93rem;
	line-height: 1.6;
}

.ui-modern .nmel-text p {
	margin-bottom: .8rem;
}

.ui-modern .nmel-text .top-buffer {
	margin-top: 0;
}

.ui-modern .nmel-text > p:first-child strong {
	font-size: 1.05rem;
}

.ui-modern .nmel-text ol {
	counter-reset: nmelol;
	list-style: none;
	margin: .4rem 0 0;
	padding: 0;
	display: grid;
	gap: .5rem;
}

.ui-modern .nmel-text ol li {
	counter-increment: nmelol;
	position: relative;
	padding: .55rem .8rem .55rem 2.9rem;
	background: var(--wa-bg);
	border-radius: var(--wa-radius);
}

.ui-modern .nmel-text ol li::before {
	content: counter(nmelol);
	position: absolute;
	left: .75rem;
	top: .55rem;
	display: inline-grid;
	place-items: center;
	width: 1.5rem;
	height: 1.5rem;
	border-radius: 50%;
	background: var(--wa-brand);
	color: #fff;
	font-size: .75rem;
	font-weight: 800;
}

/* materiály ke stažení (files.latte) jako dlaždice */
.ui-modern .nmel-text a[href$=".pdf"] {
	display: flex;
	align-items: center;
	gap: .7rem;
	max-width: 640px;
	margin: .35rem 0;
	padding: .6rem .85rem;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	background: var(--wa-surface);
	color: var(--wa-fg);
	font-weight: 600;
	text-decoration: none;
	transition: border-color .15s, box-shadow .15s;
}

.ui-modern .nmel-text a[href$=".pdf"]:hover {
	border-color: var(--wa-brand);
	box-shadow: 0 4px 12px rgba(20, 30, 40, .08);
}

.ui-modern .nmel-text a[href$=".pdf"] i {
	font-size: 1.4rem;
}

.ui-modern .nmel-text a[href$=".pdf"]::after {
	content: "\f019";
	font-family: "Font Awesome 5 Pro";
	font-weight: 400;
	margin-left: auto;
	color: var(--wa-muted);
}

.ui-modern .nmel-text a[href$=".pdf"] + br {
	display: none;
}

@media (max-width: 575.98px) {
	.ui-modern .nmel-stepper li span {
		display: none;
	}

	.ui-modern .nmel-stepper li {
		min-width: 3rem;
	}

	.ui-modern .nmel-stepper li.is-current span {
		display: block;
	}
}

/* ---------- E-learning: přehled (video, prezentace) a PDF (Homepage/*.modern.latte) ---------- */
.ui-modern .nmel-media {
	padding: .6rem;
}

.ui-modern .nmel-media video,
.ui-modern .nmel-media iframe {
	display: block;
	width: 100%;
	max-height: 75vh;
	border: 0;
	border-radius: var(--wa-radius);
	background: #000;
}

.ui-modern .nmel-media iframe {
	height: 75vh;
	background: var(--wa-bar);
}

.ui-modern .nmel-media .a4-landscape-container,
.ui-modern .nmel-media .row,
.ui-modern .nmel-media [class*="col-"] {
	margin: 0;
	padding: 0;
	max-width: none;
	flex: 1 1 100%;
}

.ui-modern .nmel-pdf {
	padding: 0;
	overflow: hidden;
}

.ui-modern .nmel-pdf-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .4rem;
	padding: .55rem .8rem;
	border-bottom: 1px solid var(--wa-line);
	background: var(--wa-bg);
}

.ui-modern .nmel-pdf-name {
	flex: 1;
	min-width: 12rem;
	font-weight: 700;
}

.ui-modern .nmel-pdf-name i {
	color: #d63a3a;
	margin-right: .3rem;
}

.ui-modern .nmel-pdf-view {
	display: block;
	width: 100%;
	height: 72vh;
	min-height: 420px;
}

.ui-modern .nmel-pdf-fallback {
	padding: 2rem;
	text-align: center;
}

/* ---------- E-learning: test (Test/default.modern.latte) ---------- */
.ui-modern .nmel-person {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .6rem 1rem;
	margin-bottom: 1rem;
	padding: .75rem 1rem;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
}

.ui-modern .nmel-person-avatar {
	display: inline-grid;
	place-items: center;
	width: 2.6rem;
	height: 2.6rem;
	flex: none;
	border-radius: 50%;
	background: var(--wa-brand-soft, var(--wa-accent-soft));
	color: var(--wa-brand-dark, var(--wa-accent));
	font-weight: 800;
}

.ui-modern .nmel-person dl {
	display: flex;
	flex-wrap: wrap;
	gap: .3rem 1.4rem;
	flex: 1;
	margin: 0;
}

.ui-modern .nmel-person dt {
	font-size: .7rem;
	font-weight: 600;
	color: var(--wa-muted);
	text-transform: uppercase;
	letter-spacing: .03em;
}

.ui-modern .nmel-person dd {
	margin: 0;
	font-size: .88rem;
	font-weight: 600;
}

.ui-modern .nmel-person-rate {
	padding: .2rem .7rem;
	border-radius: 999px;
	background: var(--wa-bar);
	font-size: .8rem;
}

.ui-modern .nmel-question {
	padding: 1rem 1.1rem;
	box-shadow: inset 4px 0 var(--wa-line);
	transition: box-shadow .15s;
}

.ui-modern .nmel-question.is-answered {
	box-shadow: inset 4px 0 var(--wa-brand);
}

.ui-modern .nmel-question h2,
.ui-modern .nmel-question h3 {
	display: flex;
	align-items: flex-start;
	gap: .6rem;
	margin: 0 0 .8rem;
	font-size: .98rem;
	font-weight: 700;
	line-height: 1.4;
}

.ui-modern .nmel-qnr {
	display: inline-grid;
	place-items: center;
	min-width: 1.7rem;
	height: 1.7rem;
	flex: none;
	border-radius: 50%;
	background: var(--wa-fg);
	color: #fff;
	font-size: .78rem;
	font-weight: 800;
}

.ui-modern .nmel-question.is-answered .nmel-qnr {
	background: var(--wa-brand);
}

.ui-modern .nmel-answers {
	display: grid;
	gap: .4rem;
	padding-left: 2.3rem;
}

.ui-modern .nmel-answer {
	position: relative;
	display: flex;
	align-items: center;
	gap: .7rem;
	margin: 0;
	padding: .6rem .8rem;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	background: var(--wa-surface);
	font-size: .9rem;
	line-height: 1.4;
	cursor: pointer;
	transition: border-color .15s, background-color .15s;
}

.ui-modern .nmel-answer:not(.is-static):hover {
	border-color: var(--wa-brand);
	background: var(--wa-bg);
}

.ui-modern .nmel-answer input[type="radio"] {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.ui-modern .nmel-answer-key {
	display: inline-grid;
	place-items: center;
	width: 1.6rem;
	height: 1.6rem;
	flex: none;
	border: 1px solid var(--wa-line);
	border-radius: 50%;
	color: var(--wa-muted);
	font-size: .78rem;
	font-weight: 800;
	text-transform: uppercase;
}

.ui-modern .nmel-answer-text {
	flex: 1;
}

.ui-modern .nmel-answer:has(input:checked) {
	border-color: var(--wa-brand);
	background: var(--wa-brand-soft, var(--wa-accent-soft));
	box-shadow: inset 0 0 0 1px var(--wa-brand);
	font-weight: 600;
}

.ui-modern .nmel-answer:has(input:checked) .nmel-answer-key {
	background: var(--wa-brand);
	border-color: var(--wa-brand);
	color: #fff;
}

.ui-modern .nmel-answer:has(input:focus-visible) {
	outline: 2px solid var(--wa-brand);
	outline-offset: 1px;
}

.ui-modern .nmel-progress {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	margin-right: .6rem;
	color: var(--wa-muted);
	font-size: .85rem;
	font-variant-numeric: tabular-nums;
}

.ui-modern .nmel-progress strong {
	color: var(--wa-fg);
}

.ui-modern .nmel-progress-bar {
	display: inline-block;
	width: 6rem;
	height: .4rem;
	border-radius: 999px;
	background: var(--wa-bar);
	overflow: hidden;
}

.ui-modern .nmel-progress-bar > span {
	display: block;
	width: 0;
	height: 100%;
	background: var(--wa-brand);
	transition: width .2s;
}

/* ---------- E-learning: výsledek (Test/result.modern.latte) ---------- */
.ui-modern .nmel-score {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 1rem 1.6rem;
	padding: 1.3rem 1.5rem;
}

.ui-modern .nmel-score-ring {
	--nmel-color: var(--wa-success);
	display: grid;
	place-items: center;
	width: 7.5rem;
	height: 7.5rem;
	flex: none;
	border-radius: 50%;
	background: conic-gradient(var(--nmel-color) calc(var(--nmel-score) * 1%), var(--wa-bar) 0);
}

.ui-modern .nmel-score.is-failed .nmel-score-ring {
	--nmel-color: #dc3545;
}

.ui-modern .nmel-score-ring span {
	display: grid;
	place-items: center;
	width: 6rem;
	height: 6rem;
	border-radius: 50%;
	background: var(--wa-surface);
	color: var(--nmel-color);
	font-size: 1.6rem;
	font-weight: 800;
}

.ui-modern .nmel-score-text {
	display: grid;
	gap: .3rem;
	flex: 1;
	min-width: 14rem;
}

.ui-modern .nmel-score-label {
	color: var(--wa-muted);
	font-size: .75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.ui-modern .nmel-score-text h2 {
	margin: 0;
	font-size: 1.2rem;
	font-weight: 800;
}

.ui-modern .nmel-score.is-passed h2 {
	color: var(--wa-success);
}

.ui-modern .nmel-score.is-failed h2 {
	color: #b02a37;
}

.ui-modern .nmel-score-text p {
	margin: 0;
	font-size: .9rem;
}

.ui-modern .nmel-agree {
	padding: 1.1rem 1.2rem;
}

.ui-modern .nmel-agree h2 {
	line-height: 1.4;
}

.ui-modern .nmel-agree-list {
	display: grid;
	gap: .5rem;
	margin-bottom: 1rem;
}

.ui-modern .nmel-agree-list .nmct-check {
	align-items: flex-start;
	padding: .7rem .9rem;
	font-size: .9rem;
	line-height: 1.4;
}

.ui-modern .nmel-agree-actions {
	text-align: right;
}

.ui-modern .nmel-review-title {
	margin: 1.4rem 0 .7rem;
	font-size: 1rem;
	font-weight: 800;
}

.ui-modern .nmel-question.is-wrong {
	box-shadow: inset 4px 0 #dc3545;
}

.ui-modern .nmel-question.is-right {
	box-shadow: inset 4px 0 var(--wa-success);
}

.ui-modern .nmel-q-mark {
	margin-left: auto;
	font-size: 1.15rem;
}

.ui-modern .nmel-question.is-wrong .nmel-q-mark {
	color: #dc3545;
}

.ui-modern .nmel-question.is-right .nmel-q-mark {
	color: var(--wa-success);
}

.ui-modern .nmel-answer.is-static {
	cursor: default;
	color: var(--wa-muted);
}

.ui-modern .nmel-answer.is-correct {
	border-color: var(--wa-success);
	background: #e8f5ec;
	color: #1d5a2c;
	font-weight: 600;
}

.ui-modern .nmel-answer.is-correct .nmel-answer-key {
	background: var(--wa-success);
	border-color: var(--wa-success);
	color: #fff;
}

.ui-modern .nmel-answer.is-chosen-wrong {
	border-color: #dc3545;
	background: #fdeef0;
	color: #8a1f2b;
}

.ui-modern .nmel-answer.is-chosen-wrong .nmel-answer-key {
	background: #dc3545;
	border-color: #dc3545;
	color: #fff;
}

/* ---------- E-learning: potvrzení k tisku a do mobilu (ConfirmationControl.modern.latte) ---------- */
.ui-modern .nmel-cert {
	display: flex;
	flex-direction: column;
	gap: .5rem;
	width: 15cm;
	max-width: 100%;
	min-height: 10.5cm;
	margin: 0 auto 1rem;
	padding: .8rem 1rem;
	background: #fff;
	border: 1px solid #1f2933;
	border-radius: var(--wa-radius);
	box-shadow: var(--wa-shadow);
	color: #111;
	font-size: 10pt;
	line-height: 1.35;
}

.ui-modern .nmel-cert-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
}

.ui-modern .nmel-cert-logo {
	max-height: 40px;
	max-width: 160px;
}

.ui-modern .nmel-cert-version {
	padding: .15rem .6rem;
	border: 1px solid #1d7a35;
	border-radius: 999px;
	color: #1d7a35;
	font-size: 9pt;
}

.ui-modern .nmel-cert-title {
	display: grid;
	gap: .1rem;
	padding: .35rem 0;
	border-top: 2px solid #1f2933;
	border-bottom: 1px solid #c8ced4;
	text-align: center;
}

.ui-modern .nmel-cert-title strong {
	font-size: 12pt;
	letter-spacing: .04em;
}

.ui-modern .nmel-cert-title span {
	font-size: 9pt;
	font-weight: 700;
	color: #444;
}

.ui-modern .nmel-cert-body {
	display: flex;
	align-items: flex-start;
	gap: 1rem;
	flex: 1;
}

.ui-modern .nmel-cert-data {
	display: grid;
	grid-template-columns: auto 1fr;
	gap: .15rem .8rem;
	flex: 1;
	margin: 0;
}

.ui-modern .nmel-cert-data dt {
	font-weight: 400;
	color: #555;
}

.ui-modern .nmel-cert-data dd {
	margin: 0;
	font-weight: 700;
}

.ui-modern .nmel-cert-qr {
	flex: none;
	width: 87px;
	height: 87px;
}

.ui-modern .nmel-cert-bar {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .1rem;
	font-family: monospace;
	font-size: 10pt;
}

/* průkaz do mobilu */
.ui-modern .nmel-mobile-page {
	max-width: 420px;
}

.ui-modern .nmel-pass {
	overflow: hidden;
	margin-bottom: 1rem;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: calc(var(--wa-radius) * 3);
	box-shadow: var(--wa-shadow);
	text-align: center;
}

.ui-modern .nmel-pass-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: .8rem 1rem;
	background: linear-gradient(160deg, var(--wa-success), #145a26);
}

.ui-modern .nmel-pass-head img {
	max-height: 34px;
	max-width: 140px;
	padding: .25rem .5rem;
	background: #fff;
	border-radius: var(--wa-radius);
}

.ui-modern .nmel-pass-ok {
	color: #fff;
	font-size: 1.8rem;
}

.ui-modern .nmel-pass-title {
	display: grid;
	gap: .1rem;
	padding: .9rem 1rem .2rem;
}

.ui-modern .nmel-pass-title strong {
	font-size: 1.05rem;
	font-weight: 800;
}

.ui-modern .nmel-pass-title span {
	color: var(--wa-muted);
	font-size: .82rem;
}

.ui-modern .nmel-pass-name {
	padding: .2rem 1rem .6rem;
	font-size: 1.35rem;
	font-weight: 800;
}

.ui-modern .nmel-pass-codes {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .6rem;
	margin: 0 1rem;
	padding: 1rem;
	border: 1px dashed var(--wa-line);
	border-radius: var(--wa-radius);
	background: #fff;
}

.ui-modern .nmel-pass-codes #qrCode {
	width: 150px;
	height: 150px;
	image-rendering: pixelated;
}

.ui-modern .nmel-pass-codes #barCode {
	max-width: 100%;
}

.ui-modern .nmel-pass-id {
	font-family: monospace;
	font-size: 1.05rem;
	font-weight: 700;
	letter-spacing: .05em;
}

.ui-modern .nmel-pass-data {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: .6rem 1rem;
	margin: 0;
	padding: 1rem;
	text-align: left;
}

.ui-modern .nmel-pass-wide {
	grid-column: 1 / -1;
}

.ui-modern .nmel-pass-data dt {
	color: var(--wa-muted);
	font-size: .7rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .03em;
}

.ui-modern .nmel-pass-data dd {
	margin: 0;
	font-size: .9rem;
	font-weight: 700;
}

.ui-modern .nmel-mobile-back {
	text-align: center;
	margin-bottom: 1rem;
}

@media print {
	body.ui-modern {
		padding-top: 0;
		background: #fff;
	}

	.ui-modern .navbar-modern,
	.ui-modern .footer {
		display: none !important;
	}

	.ui-modern .nmel-print-page {
		max-width: none;
	}

	.ui-modern .nmel-cert {
		margin: 1cm;
		box-shadow: none;
		border-radius: 0;
	}

	.ui-modern .nmel-cert * {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
}

@media (max-width: 575.98px) {
	.ui-modern .nmel-answers {
		padding-left: 0;
	}

	.ui-modern .nmel-progress-bar {
		display: none;
	}

	.ui-modern .nmel-cert-body {
		flex-direction: column;
	}
}

/* ---------- protokol přejímky (Acceptance: Report/protocol.modern.latte) – lišta s akcemi a dokument jako list ---------- */
.ui-modern .nmpr-page {
	max-width: 1000px;
	margin: 0 auto 4rem;
}

.ui-modern .nmpr-bar {
	position: sticky;
	top: calc(var(--wa-nav-h) + 6px);
	z-index: 20;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .6rem 1rem;
	margin-bottom: 1rem;
	padding: .55rem .8rem;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	box-shadow: inset 3px 0 var(--wa-brand), 0 4px 14px rgba(20, 30, 40, .06);
}

.ui-modern .nmpr-title {
	display: flex;
	align-items: center;
	gap: .6rem;
	line-height: 1.15;
}

.ui-modern .nmpr-title small {
	display: block;
	color: var(--wa-muted);
	font-size: .7rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .04em;
}

.ui-modern .nmpr-title strong {
	font-size: 1.15rem;
	font-weight: 800;
	font-variant-numeric: tabular-nums;
}

.ui-modern .nmpr-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .4rem;
}

/* list dokumentu */
.ui-modern .nmpr-sheet {
	padding: 1.6rem 1.8rem;
	background: #fff;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	box-shadow: 0 12px 34px rgba(20, 30, 40, .1);
	overflow-x: auto;
}

.ui-modern .nmpr-sheet > .container,
.ui-modern .nmpr-sheet .container {
	max-width: none;
	padding: 0;
}

/* tabulky protokolu: dokument, ne sestava – bez prokládání a zvýraznění řádku, popisky jako šedá pole */
.ui-modern .nmpr-sheet table.report {
	width: 100%;
	margin-bottom: .8rem;
	border-color: #d5dadf;
	border-radius: 0;
	font-size: 12px;
}

.ui-modern .nmpr-sheet table.report table.report {
	margin: .3rem 0;
}

.ui-modern .nmpr-sheet table.report th,
.ui-modern .nmpr-sheet table.report td {
	border-color: #e3e7ea;
	padding: 4px 7px;
}

.ui-modern .nmpr-sheet table.report th,
.ui-modern .nmpr-sheet table.report td.head,
.ui-modern .nmpr-sheet table.report th.head {
	background: #f3f5f7;
	color: #343a40;
	font-weight: 600;
}

.ui-modern .nmpr-sheet table.report tbody tr:hover > td,
.ui-modern .nmpr-sheet table.report:not(.hilight) tbody tr:not([class]):nth-child(even) > td {
	background: transparent;
}

.ui-modern .nmpr-sheet table.report td.foot,
.ui-modern .nmpr-sheet table.report th.foot {
	background: #eef1f4;
	font-weight: 700;
}

.ui-modern .nmpr-sheet h1 {
	margin: .2rem 0;
	font-size: 1.7rem;
	font-weight: 800;
	letter-spacing: .02em;
}

.ui-modern .nmpr-sheet h3 {
	margin: .3rem 0;
	font-size: 1.05rem;
	font-weight: 700;
	color: #343a40;
}

/* nadpisy oddílů ("Identifikace dodávky", "Výsledek odhadu"…) – čára v barvě odběratele */
.ui-modern .nmpr-sheet td[colspan] > h3:only-child {
	display: inline-block;
	padding: .35rem 0 .2rem;
	border-bottom: 2px solid var(--wa-brand);
}

.ui-modern .nmpr-sheet img {
	max-width: 100%;
	height: auto;
}

@media (max-width: 767.98px) {
	.ui-modern .nmpr-sheet {
		padding: .8rem;
	}

	.ui-modern .nmpr-bar {
		position: static;
	}
}

@media print {
	.ui-modern .nmpr-page {
		max-width: none;
		margin: 0;
	}

	.ui-modern .nmpr-sheet {
		padding: 0;
		border: 0;
		border-radius: 0;
		box-shadow: none;
		overflow: visible;
	}

	.ui-modern .nmpr-sheet table.report th,
	.ui-modern .nmpr-sheet table.report td {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
}

/* vnořené a vlastní tabulky protokolu (border="1" bordercolor="#000000", .txt, .chocks, .protokol, .protocol…) –
   CSS přebije HTML atributy: jemné ohraničení, záhlaví světlé, první řádek záhlaví tabulky výraznější */
.ui-modern .nmpr-sheet table:not(.report) {
	width: 100%;
	margin: .2rem 0;
	border-collapse: separate;
	border-spacing: 0;
	border: 1px solid #d5dadf;
	border-radius: var(--wa-radius);
	background: #fff;
	overflow: hidden;
	font-size: 12px;
	font-variant-numeric: tabular-nums;
}

.ui-modern .nmpr-sheet table:not(.report) > * > tr > th,
.ui-modern .nmpr-sheet table:not(.report) > * > tr > td {
	padding: 4px 7px;
	border: 0;
	border-right: 1px solid #e3e7ea;
	border-bottom: 1px solid #e3e7ea;
	background: #fff;
	vertical-align: middle;
}

.ui-modern .nmpr-sheet table:not(.report) > * > tr > :last-child {
	border-right: 0;
}

.ui-modern .nmpr-sheet table:not(.report) > * > tr:last-child > * {
	border-bottom: 0;
}

.ui-modern .nmpr-sheet table:not(.report) > * > tr > th {
	background: #f3f5f7;
	color: #343a40;
	font-weight: 600;
}

/* řádek záhlaví (jen th) – sloupce tabulky */
.ui-modern .nmpr-sheet table:not(.report) > * > tr:first-child:not(:has(> td)) > th {
	background: #e9edf1;
	color: #212529;
	font-size: 11px;
	text-transform: none;
	border-bottom-color: #d5dadf;
}

/* buňka s vnořenou tabulkou: bez výplně a pozadí, tabulka uvnitř se odsadí */
.ui-modern .nmpr-sheet td:has(> table) {
	padding: 6px !important;
	background: transparent !important;
}

/* hodnoty v tabulce hrání apod. vycentrované, prázdné buňky nižší */
.ui-modern .nmpr-sheet table.chocks > * > tr > td {
	min-width: 2.6rem;
	height: 1.9em;
	text-align: center;
}

@media print {
	.ui-modern .nmpr-sheet table:not(.report) th,
	.ui-modern .nmpr-sheet table:not(.report) td {
		-webkit-print-color-adjust: exact;
		print-color-adjust: exact;
	}
}

/* protokoly s tabulkami .protocol (LABE WOOD, Maresch, Heinzel, MM, Stora…): záhlaví a součty jako td.head / td.foot,
   prokládání řádků tr.l0 / tr.l1 (report.css) */
.ui-modern .nmpr-page {
	max-width: 1100px;
}

.ui-modern .nmpr-sheet table:not(.report) > * > tr > td.head,
.ui-modern .nmpr-sheet table:not(.report) > * > tr > th.head {
	height: auto;
	padding: 5px 6px;
	background: #e9edf1;
	color: #212529;
	font-size: 11px;
	font-weight: 600;
	line-height: 1.25;
	text-align: center;
	vertical-align: bottom;
	border-top: 0;
	border-bottom: 1px solid #d5dadf;
}

.ui-modern .nmpr-sheet table:not(.report) > * > tr > td.foot,
.ui-modern .nmpr-sheet table:not(.report) > * > tr > th.foot {
	height: auto;
	background: #eef1f4;
	font-weight: 700;
	border-top: 1px solid #c9cfd5;
	border-bottom: 0;
}

.ui-modern .nmpr-sheet table:not(.report) > * > tr.l1 > td {
	background: #f7f9fa;
}

.ui-modern .nmpr-sheet table.protocol {
	font-family: inherit;
	font-size: 12px;
}

.ui-modern .nmpr-sheet p.protocol {
	margin: .6rem 0;
	font-size: 12px;
	color: #495057;
}

/* tabulky jen pro rozvržení stránky protokolu (nadpis, blok údajů vedle adresy odběratele) – bez rámečků */
.ui-modern .nmpr-sheet > .container > table:not(.report):has(h1),
.ui-modern .nmpr-sheet > .container > table:not(.report):has(> tbody > tr > td > table) {
	border: 0;
	border-radius: 0;
	background: transparent;
	overflow: visible;
}

.ui-modern .nmpr-sheet > .container > table:not(.report):has(h1) > * > tr > td,
.ui-modern .nmpr-sheet > .container > table:not(.report):has(> tbody > tr > td > table) > * > tr > td {
	border: 0;
	background: transparent;
	padding: 0 0 0 .8rem;
	vertical-align: top;
}

.ui-modern .nmpr-sheet > .container > table:not(.report):has(> tbody > tr > td > table) > * > tr > td:first-child {
	padding-left: 0;
}

.ui-modern .nmpr-sheet > .container > table:not(.report):has(h1) h1 {
	margin: .2rem 0 .8rem;
	padding-bottom: .5rem;
	border-bottom: 2px solid var(--wa-brand);
}

.ui-modern .nmpr-sheet table:not(.report) > * > tr > td.foot {
	white-space: nowrap;
}

/* záhlaví tabulky protokolu v <thead> (Reports/<odběratel>/protocol*.latte): na obrazovce přichycené pod lištou protokolu,
   v tisku a v PDF se opakuje na každé stránce samo. Sticky nefunguje uvnitř overflow – list i tabulka bez něj. */
.ui-modern .nmpr-sheet,
.ui-modern .nmpr-sheet table:not(.report):has(> thead) {
	overflow: visible;
}

.ui-modern .nmpr-sheet table:has(> thead) > thead > tr > th {
	position: sticky;
	top: var(--nmpr-sticky-top, calc(var(--wa-nav-h) + 64px));
	z-index: 5;
	box-shadow: 0 1px 0 #d5dadf;
}

@media (max-width: 767.98px) {
	.ui-modern .nmpr-sheet table:has(> thead) > thead > tr > th {
		top: var(--wa-nav-h);
	}
}

@media print {
	.ui-modern .nmpr-sheet table:has(> thead) > thead > tr > th {
		position: static;
		box-shadow: none;
	}

	.ui-modern .nmpr-sheet table:has(> thead) > thead {
		display: table-header-group;
	}
}

/* ---------- přihlášení (Sign/in.modern.latte, Sign/@layout.modern.latte) – pro všechny ---------- */
body.ui-modern:has(.nmsi-page) {
	padding-top: 0;
	background: #1d2a22;
}

/* prolínačka fotek (signin.css + Sign/@layout.latte) ztmavená, aby karta vynikla */
.ui-modern .nmsi-slideshow::after {
	content: "";
	position: fixed;
	inset: 0;
	z-index: 0;
	background: linear-gradient(180deg, rgba(10, 20, 15, .45) 0%, rgba(10, 20, 15, .25) 45%, rgba(10, 20, 15, .6) 100%);
}

@media (prefers-reduced-motion: reduce) {
	.ui-modern .nmsi-slideshow li span {
		animation: none !important;
		opacity: 0 !important;
	}

	.ui-modern .nmsi-slideshow li:first-child span {
		opacity: 1 !important;
	}
}

.ui-modern .nmsi-page {
	position: relative;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 1.4rem;
	min-height: calc(100vh - 330px); /* pod pruhem s logem a pruhem s logy odběratelů */
	padding: 1.5rem 1rem 3rem;
}

.ui-modern .nmsi-card {
	width: 100%;
	max-width: 440px;
	padding: 1.4rem 1.6rem 1.2rem;
	background: rgba(255, 255, 255, .97);
	border-radius: calc(var(--wa-radius) * 3);
	box-shadow: 0 24px 60px rgba(0, 0, 0, .35);
	border-top: 4px solid var(--wa-brand);
}

.ui-modern .nmsi-card {
	position: relative;
}

/* výběr jazyka v pravém horním rohu karty (nadpis je jen pro čtečky, sr-only) – nezabírá vlastní řádek */
.ui-modern .nmsi-head {
	position: absolute;
	top: .9rem;
	right: 1rem;
	z-index: 2;
	margin: 0;
}

.ui-modern .nmsi-logo {
	height: 30px;
	width: auto;
}

.ui-modern .nmsi-lang .btn {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	font-weight: 700;
	font-size: .8rem;
}

.ui-modern .nmsi-lang .dropdown-item {
	display: flex;
	align-items: center;
	gap: .45rem;
	font-size: .88rem;
}

.ui-modern .nmsi-lang .dropdown-item b {
	min-width: 1.6rem;
}

.ui-modern .nmsi-title {
	margin: 0;
	font-size: 1.35rem;
	font-weight: 800;
}

/* logo WoodAccept v kartě – jen na mobilu (níže) */
.ui-modern .nmsi-card-logo {
	display: none;
	height: 34px;
	width: auto;
	margin: 0 auto 1rem;
}

/* pruh s logem nahoře (#loga1 ze signin.css) nad prolínačkou fotek */
.ui-modern .nmsi-top {
	position: relative;
	z-index: 1;
}

.ui-modern .nmsi-flash,
.ui-modern .nmsi-error {
	font-size: .88rem;
}

.ui-modern .nmsi-error {
	display: flex;
	gap: .6rem;
	align-items: flex-start;
}

.ui-modern .nmsi-error i {
	margin-top: .2rem;
}

.ui-modern .nmsi-field {
	margin-bottom: .9rem;
}

.ui-modern .nmsi-label {
	display: block;
	margin-bottom: .3rem;
	font-size: .8rem;
	font-weight: 700;
	color: #495057;
}

.ui-modern .nmsi-form .form-control-lg {
	font-size: 1rem;
	height: calc(1.5em + 1rem + 2px);
}

.ui-modern .nmsi-form .form-control:focus {
	border-color: var(--wa-brand);
	box-shadow: 0 0 0 .2rem var(--wa-brand-soft, rgba(0, 0, 0, .1));
}

/* typ uživatele jako dlaždice */
.ui-modern .nmsi-types {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .45rem;
}

.ui-modern .nmsi-type {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .3rem;
	margin: 0;
	padding: .65rem .3rem .55rem;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	background: #fff;
	font-size: .8rem;
	font-weight: 600;
	text-align: center;
	line-height: 1.2;
	cursor: pointer;
	user-select: none;
	transition: border-color .15s, background-color .15s;
}

.ui-modern .nmsi-type i {
	font-size: 1.3rem;
	color: var(--wa-muted);
}

.ui-modern .nmsi-type input {
	position: absolute;
	opacity: 0;
	pointer-events: none;
}

.ui-modern .nmsi-type:hover {
	border-color: var(--wa-brand);
}

.ui-modern .nmsi-type:has(input:checked) {
	border-color: var(--wa-brand);
	background: var(--wa-brand-soft, #f3f5f7);
	box-shadow: inset 0 0 0 1px var(--wa-brand);
}

.ui-modern .nmsi-type:has(input:checked) i {
	color: var(--wa-brand);
}

.ui-modern .nmsi-type:has(input:focus-visible) {
	outline: 2px solid var(--wa-brand);
	outline-offset: 1px;
}

.ui-modern .nmsi-caps {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	margin-top: .35rem;
	color: #a8741a;
	font-weight: 600;
}

.ui-modern .nmsi-caps[hidden] {
	display: none;
}

.ui-modern .nmsi-submit {
	margin-top: .4rem;
	background: var(--wa-brand);
	border-color: var(--wa-brand);
	color: #fff;
	font-weight: 700;
}

.ui-modern .nmsi-submit:hover,
.ui-modern .nmsi-submit:focus {
	background: var(--wa-brand-dark, var(--wa-brand));
	border-color: var(--wa-brand-dark, var(--wa-brand));
	color: #fff;
}

/* rozcestník pro řidiče a dopravce */
.ui-modern .nmsi-links {
	margin-top: 1.3rem;
	padding-top: 1rem;
	border-top: 1px solid var(--wa-line);
}

.ui-modern .nmsi-links-title {
	display: block;
	margin-bottom: .55rem;
	color: var(--wa-muted);
	font-size: .72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .05em;
	text-align: center;
}

.ui-modern .nmsi-links-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
	gap: .4rem;
}

.ui-modern .nmsi-link {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: .25rem;
	padding: .55rem .25rem;
	border-radius: var(--wa-radius);
	background: var(--wa-bg);
	color: var(--wa-fg);
	font-size: .74rem;
	font-weight: 600;
	text-align: center;
	line-height: 1.15;
	text-decoration: none !important;
	transition: background-color .15s, color .15s;
}

.ui-modern .nmsi-link i {
	font-size: 1.15rem;
	color: var(--wa-brand);
}

.ui-modern .nmsi-link:hover {
	background: var(--wa-brand-soft, #eef1f4);
	color: var(--wa-fg);
}

/* loga odběratelů nahoře pod pruhem s logem (Sign/@layout.modern.latte) */
.ui-modern .nmsi-partners {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: .9rem 1.6rem;
	width: fit-content; /* pruh jen na šířku log – na doméně s jedním logem (woodaccept.at) se neztrácí */
	min-width: min(440px, 100%);
	max-width: 1100px;
	margin: 1rem auto 0;
	padding: .9rem 1.4rem;
	background: #f4f5f6; /* plná barva – s průhledným pozadím by mix-blend-mode loga s bílým pozadím vybělil */
	border-radius: calc(var(--wa-radius) * 3);
	box-shadow: 0 10px 30px rgba(0, 0, 0, .2);
	isolation: isolate;
}

.ui-modern .nmsi-partners img {
	height: 34px; /* výchozí, šablona nastaví výšku podle poměru stran (SignPresenter::renderIn) */
	width: auto;
	max-width: 160px;
	object-fit: contain;
	/* loga s bílým (neprůhledným) pozadím – pha.png, storaenso-logo.png – splynou se světlým pruhem */
	mix-blend-mode: multiply;
}

/* patička na přihlášení průsvitná */
body.ui-modern:has(.nmsi-page) .footer {
	background: rgba(255, 255, 255, .9);
	backdrop-filter: blur(6px);
}

@media (max-width: 575.98px) {
	.ui-modern .nmsi-page {
		justify-content: flex-start;
		padding-top: 1rem;
	}

	.ui-modern .nmsi-card {
		padding: 1.1rem 1rem 1rem;
	}

	.ui-modern .nmsi-links-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	/* na mobilu loga odběratelů nejsou potřeba a pruh s logem nahoře nahrazuje logo v kartě */
	.ui-modern .nmsi-partners,
	.ui-modern .nmsi-top {
		display: none;
	}

	.ui-modern .nmsi-card-logo {
		display: block;
	}
}

/* ---------- rychlé hledání přejímky (Acceptance: @quickSearch.latte, varianta card) – vzhled jako filtr sestavy (.nmf) ---------- */
.ui-modern .nm-qs-card {
	display: grid;
	gap: .5rem;
	margin-bottom: 1.5rem;
	padding: .9rem 1.1rem;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	font-size: .875rem;
}

.ui-modern .nm-qs-title {
	margin: 0;
	font-size: .95rem;
	font-weight: 700;
}

.ui-modern .nm-qs-title i {
	color: var(--wa-brand);
	margin-right: .3rem;
}

/* tlačítko jako OK ve filtru sestavy (.nmf-foot) */
.ui-modern .nm-qs-card .nm-qs-btn {
	padding-left: 1.1rem;
	padding-right: 1.1rem;
	font-weight: 600;
}

.ui-modern .nm-qs-hint {
	color: var(--wa-muted);
	font-size: .78rem;
}

/* ---------- zápatí (hlavní @layout.latte, .nm-footer) ---------- */
.ui-modern .nm-footer {
	height: 44px;
	padding: 0 1rem;
	display: flex;
	align-items: center;
	/* podbarvení jako horní lišta (.navbar-modern): nádech barvy odběratele vlevo a vpravo, uprostřed bílá */
	background: linear-gradient(90deg,
		color-mix(in srgb, var(--wa-brand) 22%, var(--wa-surface)) 0%,
		color-mix(in srgb, var(--wa-brand) 7%, var(--wa-surface)) 32%,
		var(--wa-surface) 50%,
		color-mix(in srgb, var(--wa-brand) 7%, var(--wa-surface)) 68%,
		color-mix(in srgb, var(--wa-brand) 16%, var(--wa-surface)) 100%);
	border-top: 3px solid var(--wa-brand);
	box-shadow: 0 -4px 14px rgba(20, 30, 40, .08);
	font-size: .8rem;
	color: var(--wa-muted);
}

.ui-modern .nm-footer-in {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); /* logo a © ve skutečném středu */
	align-items: center;
	gap: 1rem;
	width: 100%;
}

.ui-modern .nm-footer-time {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
	font-variant-numeric: tabular-nums;
}

.ui-modern .nm-footer-time i {
	margin-right: .2rem;
}

.ui-modern .nm-footer-time small {
	opacity: .75;
}

.ui-modern .nm-footer-brand {
	display: inline-flex;
	align-items: center;
	gap: .5rem;
	white-space: nowrap;
}

.ui-modern .nm-footer .nm-footer-brand img {
	height: 16px;
	width: auto;
}

.ui-modern .nm-footer a {
	color: var(--wa-muted);
}

.ui-modern .nm-footer a:hover {
	color: var(--wa-brand-dark, var(--wa-fg));
}

.ui-modern .nm-footer-links {
	display: flex;
	justify-content: flex-end;
	gap: 1rem;
	white-space: nowrap;
}

.ui-modern .nm-footer-links a {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	text-decoration: none;
}

/* tlačítko nahoru – malé kulaté v barvě odběratele nad zápatím (zobrazuje woodaccept.js po posunu) */
.ui-modern .nm-to-top {
	position: fixed;
	right: 1rem;
	bottom: calc(44px + .9rem);
	z-index: 10000;
	display: none;
	width: 2.6rem;
	height: 2.6rem;
	border-radius: 50%;
	background: var(--wa-brand);
	color: #fff;
	box-shadow: 0 6px 16px rgba(20, 30, 40, .25);
	text-align: center;
	line-height: 2.6rem;
	font-size: 1rem;
}

.ui-modern .nm-to-top:hover {
	background: var(--wa-brand-dark, var(--wa-brand));
	color: #fff;
}

@media (max-width: 991.98px) {
	.ui-modern .nm-footer-time {
		display: none;
	}

	.ui-modern .nm-footer-in {
		grid-template-columns: auto minmax(0, 1fr);
	}

	/* odkazy jen jako ikony */
	.ui-modern .nm-footer-links span {
		display: none;
	}
}

@media (max-width: 575.98px) {
	.ui-modern .nm-footer .nm-footer-brand a {
		display: none;
	}
}

/* ---------- období ve filtru: štítek zvoleného období a panel „Další období“ (forms/ReportFilterPeriod.modern.latte) ---------- */
.ui-modern .nmf-period-label {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
	margin: .35rem 0 .1rem;
	padding: .1rem .6rem;
	border-radius: 999px;
	background: var(--wa-accent-soft);
	color: var(--wa-accent);
	font-size: .76rem;
	font-weight: 700;
}

.ui-modern .nmf-period-label[hidden] {
	display: none;
}

.ui-modern .nmf-more-periods {
	margin-top: .2rem;
	padding: .6rem .6rem .4rem;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	background: var(--wa-bg);
}

.ui-modern .nmf-specific {
	padding-top: .5rem;
	border-top: 1px dashed var(--wa-line);
}

.ui-modern .nmf-specific-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
	margin-bottom: .4rem;
}

.ui-modern .nmf-specific-head .nmf-label {
	margin: 0;
}

.ui-modern .nmf-year {
	width: auto;
	min-width: 5.5rem;
}

.ui-modern .nmf-spec-row {
	display: grid;
	grid-template-columns: 4.6rem minmax(0, 1fr);
	align-items: start;
	gap: .5rem;
	margin-bottom: .4rem;
}

.ui-modern .nmf-spec-title {
	padding-top: .2rem;
	color: var(--wa-muted);
	font-size: .72rem;
	font-weight: 700;
}

.ui-modern .nmf-months {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .25rem;
}

.ui-modern .nmf-quarters,
.ui-modern .nmf-decades {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: .25rem;
}

.ui-modern .nmf-decades {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

/* v konkrétních volbách bez mezer po dvojicích (ty platí jen pro rychlé volby tento / minulý) */
.ui-modern .nmf-specific .nmf-preset:nth-child(4n+3) {
	margin-left: 0;
}

.ui-modern .nmf-decade-month {
	opacity: .7;
	font-size: .66rem;
}

@media (max-width: 400px) {
	.ui-modern .nmf-months {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.ui-modern .nmf-spec-row {
		grid-template-columns: minmax(0, 1fr);
		gap: .2rem;
	}
}

/* ---------- přidání / úprava dodávky (Admin: EditDeliveries/add|edit.modern.latte, FormEditDeliveryFactory.modern.latte) ---------- */
.ui-modern .nmed-page {
	max-width: 1200px;
}

.ui-modern .nmed-intention {
	margin-bottom: .8rem;
}

/* pole v mřížce: běžné pole 1 díl, široké (select2 – dodavatel, místo nakládky…) 2 díly */
.ui-modern .nmed-grid {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: .1rem .9rem;
}

.ui-modern .nmed-grid > .nmus-field {
	grid-column: span 1;
}

.ui-modern .nmed-grid > .nmed-w2 {
	grid-column: span 2;
}

.ui-modern .nmed-grid > .nmed-full {
	grid-column: 1 / -1;
}

.ui-modern .nmed-grid + .nmed-grid {
	margin-top: .2rem;
	padding-top: .6rem;
	border-top: 1px dashed var(--wa-line);
}

.ui-modern .nmed-form .select2-container {
	width: 100% !important;
}

.ui-modern .nmed-form textarea.form-control {
	min-height: 38px;
}

.ui-modern .nmed-check {
	padding-top: .35rem;
}

.ui-modern .nmed-label-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: .5rem;
}

.ui-modern .nmed-label-row label {
	margin: 0;
	font-size: .8rem;
	font-weight: 600;
}

.ui-modern .nmed-add {
	font-size: .75rem;
	font-weight: 600;
}

.ui-modern .nmed-stacks-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
}

.ui-modern .nmed-stacks-toggle {
	font-weight: 700;
	color: var(--wa-fg);
	text-decoration: none !important;
}

.ui-modern .nmed-stacks-toggle.collapsed .nmf-chevron {
	transform: rotate(-90deg);
}

.ui-modern .nmed-stacks {
	margin-top: .6rem;
}

.ui-modern .nmed-stacks th {
	font-size: .75rem;
	font-weight: 600;
	color: var(--wa-muted);
	border-top: 0;
}

@media (max-width: 1199.98px) {
	.ui-modern .nmed-grid {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

@media (max-width: 767.98px) {
	.ui-modern .nmed-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ui-modern .nmed-grid > .nmed-w2 {
		grid-column: 1 / -1;
	}
}

/* ---------- fotografie k záměru (Admin: EditDeliveries/photo.modern.latte, www/js/photo-upload.js) ---------- */
.ui-modern .nmph-page {
	max-width: 760px;
}

.ui-modern .nmph-pick {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: .6rem;
}

.ui-modern .nmph-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: .35rem;
	min-height: 6.5rem;
	margin: 0;
	border: 2px dashed var(--wa-line);
	border-radius: calc(var(--wa-radius) * 2);
	background: var(--wa-bg);
	color: var(--wa-fg);
	cursor: pointer;
	transition: border-color .15s, background-color .15s;
}

.ui-modern .nmph-btn i {
	font-size: 1.8rem;
	color: var(--wa-brand);
}

.ui-modern .nmph-btn:hover {
	border-color: var(--wa-brand);
	background: var(--wa-brand-soft, var(--wa-bg));
}

.ui-modern .nmph-input {
	position: absolute;
	width: 1px;
	height: 1px;
	opacity: 0;
	pointer-events: none;
}

.ui-modern .nmph-hint {
	display: flex;
	gap: .4rem;
	margin: .7rem 0 0;
	color: var(--wa-muted);
	font-size: .8rem;
}

.ui-modern .nmph-thumbs {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(96px, 1fr));
	gap: .5rem;
	margin-top: .9rem;
}

.ui-modern .nmph-thumbs[hidden] {
	display: none;
}

.ui-modern .nmph-thumb {
	position: relative;
	aspect-ratio: 1;
	border-radius: var(--wa-radius);
	overflow: hidden;
	background: var(--wa-bar);
	box-shadow: 0 2px 6px rgba(20, 30, 40, .12);
}

.ui-modern .nmph-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ui-modern .nmph-remove {
	position: absolute;
	top: .25rem;
	right: .25rem;
	width: 1.6rem;
	height: 1.6rem;
	border: 0;
	border-radius: 50%;
	background: rgba(0, 0, 0, .6);
	color: #fff;
	font-size: 1.1rem;
	line-height: 1;
	cursor: pointer;
}

.ui-modern .nmph-remove:hover {
	background: #dc3545;
}

.ui-modern .nmph-status {
	margin: .8rem 0 0;
	padding: .5rem .75rem;
	border-radius: var(--wa-radius);
	background: var(--wa-accent-soft);
	color: #174f80;
	font-size: .85rem;
	font-weight: 600;
}

.ui-modern .nmph-status[hidden] {
	display: none;
}

.ui-modern .nmph-status.is-error {
	background: #fdeef0;
	color: #8a1f2b;
}

.ui-modern .nmph-count {
	display: inline-flex;
	align-items: center;
	gap: .4rem;
	color: var(--wa-muted);
}

.ui-modern .nmph-count strong {
	color: var(--wa-fg);
	font-size: 1rem;
}

/* ---------- inventura skladu (Admin: Inventory/default.modern.latte) ---------- */
.ui-modern .nmin-page {
	flex: 1 1 100%;
	width: 100%;
	min-width: 0;
}

.ui-modern .nmin-toolbar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .7rem 1.5rem;
}

.ui-modern .nmin-period,
.ui-modern .nmin-attachment,
.ui-modern .nmin-period-form,
.ui-modern .nmin-upload-form {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .4rem;
	margin: 0;
}

.ui-modern .nmin-label {
	margin-right: .3rem;
	font-size: .8rem;
	font-weight: 700;
	color: var(--wa-muted);
	text-transform: uppercase;
	letter-spacing: .03em;
}

.ui-modern .nmin-label i {
	color: var(--wa-brand);
}

.ui-modern .nmin-month {
	width: 7rem;
	text-align: center;
	font-weight: 600;
}

.ui-modern .nmin-file {
	max-width: 18rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-size: .85rem;
}

.ui-modern .nmin-pick {
	position: relative;
	max-width: 16rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ui-modern .nmin-file-input {
	position: absolute;
	inset: 0;
	opacity: 0;
	cursor: pointer;
}

.ui-modern .nmin-errors {
	color: #dc3545;
	font-size: .8rem;
}

/* souhrn: tři dlaždice převzato / fyzický stav / rozdíl */
.ui-modern .nmin-summary {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .8rem;
	margin-bottom: .8rem;
}

.ui-modern .nmin-tile {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-top: 3px solid var(--nmin-c, var(--wa-brand));
	border-radius: var(--wa-radius);
	padding: .6rem .8rem;
}

.ui-modern .nmin-tile.is-in {
	--nmin-c: #28a745;
}

.ui-modern .nmin-tile.is-phys {
	--nmin-c: #17a2b8;
}

.ui-modern .nmin-tile.is-delta {
	--nmin-c: #f0ad4e;
}

.ui-modern .nmin-tile-head {
	margin-bottom: .4rem;
	font-size: .8rem;
	font-weight: 700;
}

.ui-modern .nmin-tile-head i {
	color: var(--nmin-c);
}

.ui-modern .nmin-tile dl {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .5rem;
	margin: 0;
}

.ui-modern .nmin-tile dt {
	font-size: .7rem;
	font-weight: 600;
	color: var(--wa-muted);
}

.ui-modern .nmin-tile dd {
	margin: 0;
	font-size: 1.05rem;
	font-weight: 700;
	white-space: nowrap;
	font-variant-numeric: tabular-nums;
}

.ui-modern .nmin-tile dd.is-neg {
	color: #c82333;
}

.ui-modern .nmin-hint {
	display: flex;
	gap: .4rem;
	margin: 0 0 .5rem;
	color: var(--wa-muted);
	font-size: .8rem;
}

.ui-modern .nmin-hint i {
	margin-top: .15rem;
	color: var(--wa-accent, #17a2b8);
}

/* grid v kartě, široká tabulka se posouvá uvnitř */
.ui-modern .nmin-grid {
	position: relative;
	overflow-x: auto;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: .4rem;
	font-size: .8rem;
}

.ui-modern .nmin-grid .datagrid {
	padding: 0;
}

.ui-modern .nmin-grid table.table {
	margin: 0;
}

.ui-modern .nmin-grid table.table th,
.ui-modern .nmin-grid table.table td {
	border-color: var(--wa-line);
	padding: .25rem .4rem;
	vertical-align: middle;
}

.ui-modern .nmin-grid table.table thead th {
	background: var(--wa-bar);
	font-weight: 600;
	vertical-align: bottom;
}

.ui-modern .nmin-grid table thead tr.row-group-actions th {
	background: var(--wa-surface);
	border: 0;
	padding: 0 0 .3rem !important;
}

.ui-modern .nmin-grid tfoot td,
.ui-modern .nmin-grid tr.datagrid-row-columns-summary td {
	background: var(--wa-bar);
	font-weight: 700;
}

.ui-modern .nmin-grid .row-grid-bottom {
	background: var(--wa-surface);
	border-color: var(--wa-line);
	padding: .3rem .4rem;
}

.ui-modern .nmin-empty {
	padding: 2rem 1rem;
	text-align: center;
	color: var(--wa-muted);
}

.ui-modern .nmin-empty i {
	font-size: 2rem;
	color: var(--wa-brand);
}

.ui-modern .nmin-empty p {
	margin: .5rem 0 0;
}

/* grid: odběratel je vždy aktuální sklad – skrytý (th, td i součet mají třídu col-purchaser) */
.ui-modern .nmin-grid .col-purchaser {
	display: none;
}

.ui-modern .nmin-grid table.table td {
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.ui-modern .nmin-grid table.table thead th {
	white-space: nowrap;
}

.ui-modern .nmin-grid .col-id {
	color: var(--wa-muted);
}

/* nadpisy objemů: skupina malým písmem nad jednotkou, barva jako dlaždice souhrnu */
.ui-modern .nmin-th {
	display: inline-flex;
	flex-direction: column;
	align-items: flex-end;
	line-height: 1.15;
}

.ui-modern .nmin-th small {
	font-size: .66rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: .03em;
}

.ui-modern .nmin-th.is-in small {
	color: #1e7e34;
}

.ui-modern .nmin-th.is-phys small {
	color: #117a8b;
}

.ui-modern .nmin-grid thead th.col-prm,
.ui-modern .nmin-grid thead th.col-m3,
.ui-modern .nmin-grid thead th.col-at {
	box-shadow: inset 0 3px 0 #28a745;
}

.ui-modern .nmin-grid thead th.col-f_prm,
.ui-modern .nmin-grid thead th.col-f_m3,
.ui-modern .nmin-grid thead th.col-f_at {
	box-shadow: inset 0 3px 0 #17a2b8;
}

/* oddělení skupin svislou čarou */
.ui-modern .nmin-grid .col-prm,
.ui-modern .nmin-grid .col-f_prm {
	border-left: 2px solid var(--wa-line) !important;
}

.ui-modern .nmin-grid .inv-empty {
	color: #c4cad0;
}

/* operace jako odznak */
.ui-modern .nmin-grid .col-operation,
.ui-modern .nmin-grid .col-tree_species,
.ui-modern .nmin-grid .col-length,
.ui-modern .nmin-grid .col-manual,
.ui-modern .nmin-grid .col-locked {
	text-align: center !important;
}

.ui-modern .inv-op {
	display: inline-block;
	min-width: 1.6rem;
	padding: .05rem .4rem;
	border-radius: 999px;
	font-size: .72rem;
	font-weight: 700;
	text-align: center;
	background: var(--wa-bar);
	color: var(--wa-muted);
}

.ui-modern .inv-op.is-p {
	background: #e3f4e8;
	color: #1e7e34;
}

.ui-modern .inv-op.is-v {
	background: #fdeef0;
	color: #a71d2a;
}

.ui-modern .inv-op.is-i {
	background: #e1f3f6;
	color: #117a8b;
}

.ui-modern .inv-lock {
	color: #c82333;
}

.ui-modern .inv-manual {
	color: #d39e00;
}

/* řádky: inventurní stav zvýrazněný, zamčené ztlumené */
.ui-modern .nmin-grid tr.inv-op-i > td {
	background: #f3fafb;
}

.ui-modern .nmin-grid tr.inv-locked > td {
	color: var(--wa-muted);
}

/* buňky k zadání fyzického objemu (inline edit) – podbarvené s tužkou, po najetí rámeček */
.ui-modern .nmin-grid td[data-datagrid-editable-url] {
	position: relative;
	background: #e9f6f8 !important;
	cursor: text;
	padding-left: 1.4rem !important;
}

.ui-modern .nmin-grid td[data-datagrid-editable-url]::before {
	content: "\f303";
	position: absolute;
	left: .4rem;
	top: 50%;
	transform: translateY(-50%);
	font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free";
	font-weight: 300;
	font-size: .65rem;
	color: #17a2b8;
	opacity: .55;
}

.ui-modern .nmin-grid td[data-datagrid-editable-url]:hover {
	outline: 2px solid #17a2b8;
	outline-offset: -2px;
}

.ui-modern .nmin-grid td[data-datagrid-editable-url]:hover::before {
	opacity: 1;
}

.ui-modern .nmin-grid td[data-datagrid-editable-url] .form-control {
	height: auto;
	padding: .1rem .3rem;
	font-size: .8rem;
}

/* lišta gridu: menší tlačítka */
.ui-modern .nmin-grid .datagrid-toolbar .btn {
	padding: .2rem .55rem;
	font-size: .78rem;
	line-height: 1.4;
	border-radius: var(--wa-radius);
}

.ui-modern .nmin-grid tr.datagrid-row-columns-summary td {
	border-top: 2px solid var(--wa-line);
	white-space: nowrap;
}

@media (max-width: 991.98px) {
	.ui-modern .nmin-summary {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* =====================================================================================================
   Ublaboo DataGrid – společný vzhled všech gridů v moderním vzhledu (šablony gridů zůstávají beze změny).
   Gridy s vlastní kartou (.nms-grid, .nmtk-grid, .nmin-grid, vrátnice .nmg-page) mají kartu jen jednou.
   ===================================================================================================== */
.ui-modern .datagrid {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	padding: .45rem;
	font-size: .8rem;
	box-shadow: 0 1px 2px rgba(20, 30, 40, .04);
}

.ui-modern :is(.nms-grid, .nmtk-grid, .nmin-grid, .nmg-page) .datagrid {
	border: 0;
	padding: 0;
	box-shadow: none;
	background: transparent;
}

/* tabulka */
.ui-modern .datagrid table.table {
	margin-bottom: 0;
	border-color: var(--wa-line);
	font-size: inherit;
}

.ui-modern .datagrid table.table th,
.ui-modern .datagrid table.table td {
	border-color: var(--wa-line);
	padding: .3rem .45rem;
	vertical-align: middle;
}

.ui-modern .datagrid table.table tbody td {
	font-variant-numeric: tabular-nums;
}

.ui-modern .datagrid table.table thead th {
	background: var(--wa-bar);
	color: var(--wa-fg);
	font-weight: 600;
	font-size: .76rem;
	line-height: 1.25;
	vertical-align: bottom;
}

/* řádek nadpisů sloupců zůstává při posunu stránky vidět pod lištou (jen bez vlastního posuvníku gridu) */
.ui-modern .datagrid table.table thead tr:has(> th .datagrid-column-header-additions) > th {
	position: sticky;
	top: var(--wa-nav-h);
	z-index: 3;
	box-shadow: inset 0 -2px 0 var(--wa-line);
}

.ui-modern .datagrid table.table-striped tbody tr:nth-of-type(odd) {
	background-color: rgba(20, 30, 40, .022);
}

.ui-modern .datagrid table.table-hover tbody tr:hover {
	background-color: var(--wa-brand-soft, rgba(40, 167, 69, .08));
}

/* ikony sloupce (skrýt sloupec, zrušit filtr) v pravém horním rohu – plovoucí blok jinak zalomí nadpis o řádek */
.ui-modern .datagrid table thead tr th .datagrid-column-header-additions {
	float: none;
	position: absolute;
	bottom: .4rem;
	right: .2rem;
	display: flex;
	align-items: center;
	line-height: 1;
}

.ui-modern .datagrid table.table thead tr:has(> th .datagrid-column-header-additions) > th {
	padding-right: .95rem;
}

/* řazení: šipky tlumeně, aktivní řazení barvou */
.ui-modern .datagrid thead th a {
	color: inherit;
	text-decoration: none;
}

.ui-modern .datagrid thead th a i {
	margin-left: .15rem;
	font-size: .7rem;
	color: #b5bcc3;
}

/* šipka řazení vpravo dole (nezalomí se pod nadpis), ikony sloupce vpravo nahoře */
.ui-modern .datagrid table.table thead tr:has(> th .datagrid-column-header-additions) > th > a.ajax > i {
	position: absolute;
	right: .25rem;
	bottom: .4rem;
	margin: 0;
	transition: right .12s;
}

/* po najetí se ukáže ikona nastavení sloupce – šipka řazení uhne vlevo */
.ui-modern .datagrid table.table thead tr > th:hover:has(.column-settings-menu) > a.ajax > i {
	right: 1.15rem;
}

.ui-modern .datagrid table.table thead tr:has(> th .column-settings-menu) > th {
	padding-right: 1.5rem;
}

.ui-modern .datagrid thead th a:hover i,
.ui-modern .datagrid thead th a.sort,
.ui-modern .datagrid thead th a.sort i {
	color: var(--wa-brand-dark, var(--wa-brand));
}

/* lišta nad tabulkou (hromadné akce, exporty, nastavení sloupců) */
.ui-modern .datagrid table thead tr.row-group-actions > th {
	background: var(--wa-surface);
	border: 0;
	padding: .35rem .15rem .55rem !important;
	font-weight: 400;
	position: static;
	box-shadow: none;
}

.ui-modern .datagrid .row-group-actions .btn,
.ui-modern .datagrid .datagrid-toolbar .btn {
	padding: .18rem .55rem;
	font-size: .76rem;
	line-height: 1.4;
	border-radius: var(--wa-radius);
}

.ui-modern .datagrid .datagrid-toolbar {
	display: inline-flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .3rem;
	margin-top: 0;
}

.ui-modern .datagrid .datagrid-toolbar > span,
.ui-modern .datagrid .datagrid-toolbar > div {
	margin: 0 !important;
}

.ui-modern .datagrid .datagrid-toolbar .btn-secondary,
.ui-modern .datagrid .datagrid-toolbar .btn-default {
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	color: var(--wa-fg);
}

.ui-modern .datagrid .datagrid-toolbar .btn-secondary:hover,
.ui-modern .datagrid .datagrid-toolbar .btn-default:hover {
	background: var(--wa-bar);
}

.ui-modern .datagrid .ublaboo-datagrid-th-form-inline .form-control,
.ui-modern .datagrid .ublaboo-datagrid-th-form-inline select {
	height: calc(1.5em + .4rem + 2px);
	padding: .1rem .4rem;
	font-size: .76rem;
}

/* filtry v hlavičce sloupců */
.ui-modern .datagrid thead .form-control,
.ui-modern .datagrid thead .form-control-sm {
	height: calc(1.5em + .4rem + 2px);
	padding: .1rem .35rem;
	font-size: .76rem;
	font-weight: 400;
}

/* součtový řádek */
.ui-modern .datagrid tr.datagrid-row-columns-summary td,
.ui-modern .datagrid tr.datagrid-row-aggregation td {
	background: var(--wa-bar);
	border-top: 2px solid var(--wa-line);
	font-weight: 700;
	white-space: nowrap;
}

/* akce v řádcích – jednotná velikost tlačítek */
.ui-modern .datagrid td.col-action {
	white-space: nowrap;
}

.ui-modern .datagrid td.col-action .btn {
	padding: .12rem .35rem;
	font-size: .72rem;
	line-height: 1.25;
	border-radius: calc(var(--wa-radius) * .75);
}

.ui-modern .datagrid th.col-action {
	font-size: .72rem;
	color: var(--wa-muted);
}

/* buňky upravitelné kliknutím (inline edit) */
.ui-modern .datagrid td[data-datagrid-editable-url] {
	cursor: text;
}

.ui-modern .datagrid td[data-datagrid-editable-url]:hover {
	outline: 2px solid var(--wa-accent, #17a2b8);
	outline-offset: -2px;
}

/* patička: počet položek, stránkování, počet na stránku */
.ui-modern .datagrid .row-grid-bottom {
	background: var(--wa-surface);
	border: 0;
	border-top: 1px solid var(--wa-line);
	padding: .45rem .2rem .1rem;
}

.ui-modern .datagrid .row-grid-bottom .col-items {
	color: var(--wa-muted);
	font-size: .75rem;
}

.ui-modern .datagrid .row-grid-bottom .btn,
.ui-modern .datagrid .row-grid-bottom .page-link {
	min-width: 1.9rem;
	padding: .2rem .5rem;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	background: var(--wa-surface);
	color: var(--wa-fg);
	font-size: .76rem;
	box-shadow: none;
}

.ui-modern .datagrid .row-grid-bottom .btn:hover:not(.disabled):not(:disabled),
.ui-modern .datagrid .row-grid-bottom .page-link:hover {
	background: var(--wa-bar);
}

.ui-modern .datagrid .row-grid-bottom .btn.active,
.ui-modern .datagrid .row-grid-bottom .btn-primary,
.ui-modern .datagrid .row-grid-bottom .page-item.active .page-link {
	background: var(--wa-brand);
	border-color: var(--wa-brand);
	color: #fff;
}

.ui-modern .datagrid .row-grid-bottom .btn.disabled,
.ui-modern .datagrid .row-grid-bottom .btn:disabled {
	opacity: .45;
}

.ui-modern .datagrid .row-grid-bottom select {
	height: calc(1.5em + .4rem + 2px);
	padding: .1rem .4rem;
	font-size: .76rem;
	border-color: var(--wa-line);
	border-radius: var(--wa-radius);
}

/* vnější filtr (setOuterFilterRendering): kompaktní mřížka, popisek nad polem */
.ui-modern .datagrid .datagrid-collapse-filters-button-row {
	margin: 0 0 .4rem;
}

.ui-modern .datagrid .datagrid-collapse-filters-button-row .btn {
	padding: .18rem .6rem;
	font-size: .76rem;
	border-radius: var(--wa-radius);
}

.ui-modern .datagrid .row-filters {
	margin-bottom: .5rem;
	padding: .55rem .6rem .35rem;
	background: var(--wa-bg);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
}

.ui-modern .datagrid .row-filters > .row {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
	gap: .45rem .9rem;
	margin: 0;
}

.ui-modern .datagrid .row-filters > .row > [class*="col-"] {
	max-width: none;
	flex: none;
	width: auto;
	padding: 0;
}

.ui-modern .datagrid .row-filters > .row > .col-sm-12 {
	grid-column: 1 / -1;
}

.ui-modern .datagrid .datagrid-row-outer-filters-group > .row {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	align-items: center;
	gap: .15rem .3rem;
	margin: 0;
}

.ui-modern .datagrid .datagrid-row-outer-filters-group > .row > * {
	max-width: none;
	flex: none;
	width: auto;
	padding: 0;
	margin: 0;
}

/* popisek přes celou šířku, jedno pole pod ním přes celou šířku, rozsah od–do vedle sebe */
.ui-modern .datagrid .datagrid-row-outer-filters-group > .row > :first-child,
.ui-modern .datagrid .datagrid-row-outer-filters-group > .row > :nth-child(2):last-child {
	grid-column: 1 / -1;
}

.ui-modern .datagrid .datagrid-row-outer-filters-group label.control-label {
	font-size: .72rem;
	font-weight: 600;
	color: var(--wa-muted);
	text-align: left;
}

.ui-modern .datagrid .datagrid-row-outer-filters-group label.filter-range-delimiter {
	color: var(--wa-muted);
	text-align: center;
}

.ui-modern .datagrid .datagrid-row-outer-filters-group .form-control,
.ui-modern .datagrid .datagrid-row-outer-filters-group select {
	height: calc(1.5em + .45rem + 2px);
	padding: .15rem .4rem;
	font-size: .78rem;
}

.ui-modern .datagrid .datagrid-row-outer-filters-group .form-inline,
.ui-modern .datagrid .datagrid-row-outer-filters-group .input-group {
	flex-wrap: nowrap;
	width: 100%;
}

.ui-modern .datagrid .datagrid-row-outer-filters-group .input-group > .form-control {
	min-width: 0;
}

.ui-modern .datagrid .datagrid-row-outer-filters-group .select2-container {
	width: 100% !important;
}

.ui-modern .datagrid .datagrid-manual-submit .btn {
	padding: .2rem .8rem;
	font-size: .78rem;
}

/* grid širší než karta (třída nm-grid-wide nastavuje skript v @layout.latte): posuvník uvnitř karty,
   lišta a stránkování v pruhu přichyceném na viditelné šířce (--nm-grid-w); přichycená hlavička se tu nepoužije */
.ui-modern .datagrid.nm-grid-wide {
	overflow-x: auto;
	position: relative;
}

.ui-modern .datagrid.nm-grid-wide table.table thead tr:has(> th .datagrid-column-header-additions) > th {
	position: relative;
	top: auto;
}

.ui-modern .datagrid.nm-grid-wide .nm-grid-bar {
	position: sticky;
	left: 0;
	width: var(--nm-grid-w, 100%);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .3rem .5rem;
}

.ui-modern .datagrid.nm-grid-wide .nm-grid-bar > .datagrid-toolbar {
	float: none;
	margin-left: auto;
}

.ui-modern .datagrid.nm-grid-wide td.row-grid-bottom .nm-grid-bar {
	flex-wrap: nowrap;
	justify-content: space-between;
}

.ui-modern .datagrid.nm-grid-wide td.row-grid-bottom .nm-grid-bar > div {
	float: none;
	width: auto;
}

/* ---------- servisní dashboard (Admin: Service/dashboard.modern.latte) ---------- */
.ui-modern .nmsd-page {
	flex: 1 1 100%;
	width: 100%;
	min-width: 0;
	--nmsd-ok: #2f8f4e;
	--nmsd-warn: #d39e00;
	--nmsd-danger: #c82333;
}

.ui-modern .nmsd-asof {
	margin: 0 0 .7rem;
	color: var(--wa-muted);
	font-size: .82rem;
}

.ui-modern .nmsd-top {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1.3fr) minmax(0, .9fr);
	gap: .9rem;
	align-items: start;
	margin-bottom: .9rem;
}

.ui-modern .nmsd-top > .nmus-card {
	margin: 0;
	height: 100%;
}

.ui-modern .nmsd-card-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
}

.ui-modern .nmsd-card-head h2 {
	margin-bottom: 0;
}

/* pruh zaplnění – barva podle stavu položky */
.ui-modern .nmsd-bar {
	height: .5rem;
	border-radius: 999px;
	background: var(--wa-bar);
	overflow: hidden;
}

.ui-modern .nmsd-bar > span {
	display: block;
	height: 100%;
	border-radius: inherit;
	background: var(--nmsd-c, var(--nmsd-ok));
}

.ui-modern .nmsd-page .is-warning {
	--nmsd-c: var(--nmsd-warn);
}

.ui-modern .nmsd-page .is-danger {
	--nmsd-c: var(--nmsd-danger);
}

.ui-modern .nmsd-pct {
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	color: var(--nmsd-c, var(--wa-fg));
	white-space: nowrap;
}

/* disky */
.ui-modern .nmsd-disks {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: .8rem;
}

.ui-modern .nmsd-disk {
	padding: .7rem .8rem;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	background: var(--wa-bg);
}

.ui-modern .nmsd-disk-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: .5rem;
	margin-bottom: .45rem;
}

.ui-modern .nmsd-disk-name {
	display: flex;
	flex-direction: column;
	font-weight: 700;
	line-height: 1.2;
}

.ui-modern .nmsd-disk-name small {
	color: var(--wa-muted);
	font-weight: 400;
	font-family: SFMono-Regular, Consolas, monospace;
	font-size: .72rem;
}

.ui-modern .nmsd-disk .nmsd-pct {
	font-size: 1.6rem;
	line-height: 1;
}

.ui-modern .nmsd-disk .nmsd-bar {
	height: .65rem;
}

.ui-modern .nmsd-disk-nums {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: .4rem;
	margin: .55rem 0 0;
}

.ui-modern .nmsd-disk-nums dt {
	font-size: .7rem;
	font-weight: 600;
	color: var(--wa-muted);
}

.ui-modern .nmsd-disk-nums dd {
	margin: 0;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
}

/* schránky */
.ui-modern .nmsd-mailboxes {
	margin: .7rem 0 0;
	padding: 0;
	list-style: none;
}

.ui-modern .nmsd-mailboxes li + li {
	margin-top: .6rem;
}

.ui-modern .nmsd-mail-head {
	display: flex;
	justify-content: space-between;
	gap: .5rem;
	margin-bottom: .25rem;
	font-size: .82rem;
}

.ui-modern .nmsd-mail-name {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ui-modern .nmsd-mail-name i {
	color: var(--wa-muted);
}

.ui-modern .nmsd-mailboxes li.is-off {
	color: var(--wa-muted);
}

.ui-modern .nmsd-mailboxes li.is-off .nmsd-pct {
	font-weight: 600;
	font-size: .75rem;
	color: var(--wa-muted);
}

/* IP */
.ui-modern .nmsd-ip-list {
	margin: 0;
}

.ui-modern .nmsd-ip-list > div + div {
	margin-top: .55rem;
}

.ui-modern .nmsd-ip-list dt {
	font-size: .72rem;
	font-weight: 600;
	color: var(--wa-muted);
}

.ui-modern .nmsd-ip-list dd {
	margin: 0;
	font-family: SFMono-Regular, Consolas, monospace;
	font-weight: 600;
}

/* velikosti adresářů */
.ui-modern .nmsd-groups {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: .8rem;
	align-items: start;
}

.ui-modern .nmsd-group {
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	overflow: hidden;
}

.ui-modern .nmsd-group-head {
	display: flex;
	justify-content: space-between;
	gap: .5rem;
	padding: .4rem .6rem;
	background: var(--wa-bar);
	font-size: .78rem;
}

.ui-modern .nmsd-group-path {
	min-width: 0;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
	font-family: SFMono-Regular, Consolas, monospace;
	font-weight: 600;
}

.ui-modern .nmsd-dirs {
	width: 100%;
	font-size: .78rem;
}

.ui-modern .nmsd-dirs td {
	padding: .2rem .6rem;
	border-top: 1px solid var(--wa-line);
	vertical-align: middle;
}

.ui-modern .nmsd-dir {
	max-width: 10rem;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ui-modern .nmsd-dir-bar {
	width: 45%;
}

.ui-modern .nmsd-dir-bar > span {
	display: block;
	min-width: 2px;
	height: .45rem;
	border-radius: 999px;
	background: var(--wa-brand);
	opacity: .75;
}

.ui-modern .nmsd-dir-size {
	width: 4rem;
	text-align: right;
	font-weight: 700;
	font-variant-numeric: tabular-nums;
	white-space: nowrap;
}

.ui-modern .nmsd-raw {
	margin-top: .8rem;
}

.ui-modern .nmsd-raw summary {
	cursor: pointer;
	color: var(--wa-muted);
	font-size: .8rem;
	font-weight: 600;
}

.ui-modern .nmsd-raw pre {
	max-height: 24rem;
	margin: .5rem 0 0;
	padding: .6rem .8rem;
	overflow: auto;
	border-radius: var(--wa-radius);
	background: var(--wa-bg);
	font-size: .72rem;
}

@media (max-width: 1199.98px) {
	.ui-modern .nmsd-top {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.ui-modern .nmsd-storage {
		grid-column: 1 / -1;
	}
}

@media (max-width: 767.98px) {
	.ui-modern .nmsd-top {
		grid-template-columns: minmax(0, 1fr);
	}
}

/* ---------- PHP info (Admin: Service/info.modern.latte) ---------- */
.ui-modern .nmpi-page {
	flex: 1 1 100%;
	width: 100%;
	min-width: 0;
}

.ui-modern .nmpi-top {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: .9rem;
	align-items: start;
	margin-bottom: .9rem;
}

.ui-modern .nmpi-top > .nmus-card {
	margin: 0;
}

.ui-modern .nmpi-summary {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(150px, 1fr));
	gap: .55rem .9rem;
	margin: 0;
}

.ui-modern .nmpi-summary dt {
	font-size: .7rem;
	font-weight: 600;
	color: var(--wa-muted);
}

.ui-modern .nmpi-summary dd {
	margin: 0;
	font-weight: 700;
	overflow-wrap: anywhere;
}

.ui-modern .nmpi-summary .is-main dd {
	font-size: 1.2rem;
	color: var(--wa-brand-dark, var(--wa-brand));
}

.ui-modern .nmpi-page .is-on {
	color: #2f8f4e;
	font-weight: 600;
}

.ui-modern .nmpi-page .is-off {
	color: #b9444f;
	font-weight: 600;
}

.ui-modern .nmpi-chips {
	display: flex;
	flex-wrap: wrap;
	gap: .3rem;
}

.ui-modern .nmpi-chip {
	display: inline-flex;
	align-items: center;
	gap: .3rem;
	padding: .12rem .55rem;
	border-radius: 999px;
	background: var(--wa-bar);
	font-family: SFMono-Regular, Consolas, monospace;
	font-size: .74rem;
}

.ui-modern .nmpi-chip.is-ok {
	background: #e4f3e8;
	color: #2f8f4e;
	font-weight: 600;
}

.ui-modern .nmpi-chip.is-missing {
	background: #f9e3e5;
	color: #b9444f;
	font-weight: 700;
}

.ui-modern .nmpi-chip i {
	font-size: .65rem;
}

.ui-modern .nmpi-all-ext {
	margin-top: .8rem;
}

.ui-modern .nmpi-all-ext summary {
	margin-bottom: .5rem;
	cursor: pointer;
	color: var(--wa-muted);
	font-size: .8rem;
	font-weight: 600;
}

/* hledání – přichycené pod lištou */
.ui-modern .nmpi-toolbar {
	position: sticky;
	top: var(--wa-nav-h);
	z-index: 5;
	display: flex;
	align-items: center;
	gap: .7rem;
	margin: 0 0 .8rem;
	padding: .5rem 0;
	background: var(--wa-bg);
}

.ui-modern .nmpi-search {
	position: relative;
	flex: 0 1 26rem;
}

.ui-modern .nmpi-search i {
	position: absolute;
	left: .65rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--wa-muted);
}

.ui-modern .nmpi-search .form-control {
	padding-left: 2rem;
}

.ui-modern .nmpi-count {
	color: var(--wa-muted);
	font-size: .8rem;
	font-weight: 600;
}

/* sekce + navigace vlevo */
.ui-modern .nmpi-layout {
	display: grid;
	grid-template-columns: 14rem minmax(0, 1fr);
	gap: .9rem;
	align-items: start;
}

.ui-modern .nmpi-nav {
	position: sticky;
	top: calc(var(--wa-nav-h) + 3.4rem);
	max-height: calc(100vh - var(--wa-nav-h) - 7rem);
	overflow-y: auto;
	padding: .4rem;
	background: var(--wa-surface);
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
}

.ui-modern .nmpi-nav a {
	display: flex;
	justify-content: space-between;
	gap: .4rem;
	padding: .2rem .5rem;
	border-radius: calc(var(--wa-radius) * .75);
	color: var(--wa-fg);
	font-size: .78rem;
	text-decoration: none;
}

.ui-modern .nmpi-nav a[hidden] {
	display: none;
}

.ui-modern .nmpi-nav a:hover {
	background: var(--wa-bar);
}

.ui-modern .nmpi-nav small {
	color: var(--wa-muted);
}

.ui-modern .nmpi-section {
	scroll-margin-top: calc(var(--wa-nav-h) + 3.6rem);
}

.ui-modern .nmpi-section h2 {
	font-family: SFMono-Regular, Consolas, monospace;
}

.ui-modern .nmpi-table-wrap {
	overflow-x: auto;
}

.ui-modern .nmpi-table {
	width: 100%;
	table-layout: fixed;
	font-size: .78rem;
}

.ui-modern .nmpi-table th {
	padding: .25rem .5rem;
	background: var(--wa-bar);
	font-weight: 600;
}

.ui-modern .nmpi-table td {
	padding: .22rem .5rem;
	border-top: 1px solid var(--wa-line);
	vertical-align: top;
	overflow-wrap: anywhere;
}

.ui-modern .nmpi-table tr > :first-child {
	width: 34%;
}

.ui-modern .nmpi-table .nmpi-key {
	font-family: SFMono-Regular, Consolas, monospace;
	font-weight: 600;
}

.ui-modern .nmpi-table .is-empty {
	color: #b5bcc3;
	font-style: italic;
}

/* lokální hodnota odlišná od výchozí (master) */
.ui-modern .nmpi-table tr.is-changed > td:nth-child(2) {
	background: #fff7e0;
	font-weight: 600;
}

.ui-modern .nmpi-none {
	color: var(--wa-muted);
	text-align: center;
}

@media (max-width: 991.98px) {
	.ui-modern .nmpi-top,
	.ui-modern .nmpi-layout {
		grid-template-columns: minmax(0, 1fr);
	}

	.ui-modern .nmpi-nav {
		display: none;
	}
}

/* ---------- GPS z mobilní aplikace (Admin: MobileApp/gpsMobileInfo.modern.latte) ---------- */
.ui-modern .nmgm-page {
	flex: 1 1 100%;
	width: 100%;
	min-width: 0;
}

.ui-modern .nmgm-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem 1rem;
	margin-bottom: .7rem;
}

.ui-modern .nmgm-head h2 {
	margin: 0;
}

.ui-modern .nmgm-head h2 small {
	margin-left: .3rem;
	padding: .05rem .5rem;
	border-radius: 999px;
	background: var(--wa-bar);
	color: var(--wa-muted);
	font-size: .72rem;
	font-weight: 700;
}

.ui-modern .nmgm-search {
	position: relative;
	flex: 0 1 18rem;
}

.ui-modern .nmgm-search i {
	position: absolute;
	left: .6rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--wa-muted);
}

.ui-modern .nmgm-search .form-control {
	padding-left: 1.9rem;
}

.ui-modern .nmgm-routes {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(230px, 1fr));
	gap: .6rem;
}

.ui-modern .nmgm-route {
	display: flex;
	flex-direction: column;
	gap: .35rem;
	padding: .6rem .7rem;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	background: var(--wa-bg);
}

.ui-modern .nmgm-route[hidden] {
	display: none;
}

.ui-modern .nmgm-route-main {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: .4rem;
}

.ui-modern .nmgm-route-id {
	font-size: 1rem;
}

.ui-modern .nmgm-plate {
	display: inline-block;
	padding: 0 .4rem;
	border: 1px solid #2b2f33;
	border-radius: 3px;
	background: #fff;
	font-family: SFMono-Regular, Consolas, monospace;
	font-size: .72rem;
	font-weight: 700;
	letter-spacing: .03em;
	white-space: nowrap;
}

.ui-modern .nmgm-route-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .2rem .8rem;
	color: var(--wa-muted);
	font-size: .76rem;
}

.ui-modern .nmgm-route-actions {
	display: flex;
	gap: .35rem;
	margin-top: .1rem;
}

.ui-modern .nmgm-route-actions .btn {
	padding: .15rem .55rem;
	font-size: .76rem;
}

.ui-modern .nmgm-empty {
	margin: 0;
	color: var(--wa-muted);
}

.ui-modern .nmgm-table-wrap {
	overflow-x: auto;
}

.ui-modern .nmgm-table {
	width: 100%;
	font-size: .8rem;
}

.ui-modern .nmgm-table th {
	padding: .3rem .5rem;
	background: var(--wa-bar);
	font-weight: 600;
	white-space: nowrap;
}

.ui-modern .nmgm-table td {
	padding: .28rem .5rem;
	border-top: 1px solid var(--wa-line);
	vertical-align: middle;
	font-variant-numeric: tabular-nums;
}

.ui-modern .nmgm-table tbody tr:hover {
	background: var(--wa-brand-soft, rgba(40, 167, 69, .08));
}

.ui-modern .nmgm-link {
	padding: 0;
	border: 0;
	background: none;
	color: var(--wa-accent, #1f6fb2);
	font-weight: 600;
	cursor: pointer;
}

.ui-modern .nmgm-link:hover {
	text-decoration: underline;
}

/* mapa trasy v modálním okně */
/* #map z maps.js má globálně absolutní pozici a 95 % (woodaccept.css) – v tomto okně běžný blok */
.ui-modern #nmgm-modal #map {
	position: relative;
	z-index: auto;
	width: 100% !important;
	height: min(70vh, 640px) !important;
}

.ui-modern .nmgm-map-status {
	position: absolute;
	top: 50%;
	left: 50%;
	z-index: 500;
	margin: 0;
	padding: .4rem .9rem;
	transform: translate(-50%, -50%);
	border-radius: var(--wa-radius);
	background: rgba(255, 255, 255, .92);
	box-shadow: 0 2px 8px rgba(0, 0, 0, .15);
	font-weight: 600;
}

.ui-modern .nmgm-map-status[hidden] {
	display: none;
}

.ui-modern .nmgm-map-info {
	margin-right: auto;
	color: var(--wa-muted);
	font-size: .8rem;
}

/* ---------- fotky z mobilní aplikace (Admin: MobileApp/photoMobileInfo.modern.latte) ---------- */
.ui-modern .nmph2-page {
	flex: 1 1 100%;
	width: 100%;
	min-width: 0;
}

.ui-modern .nmph2-head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem 1rem;
	margin-bottom: .4rem;
}

.ui-modern .nmph2-head h2 {
	margin: 0;
}

.ui-modern .nmph2-head h2 small {
	margin-left: .3rem;
	padding: .05rem .5rem;
	border-radius: 999px;
	background: var(--wa-bar);
	color: var(--wa-muted);
	font-size: .72rem;
	font-weight: 700;
}

.ui-modern .nmph2-search {
	position: relative;
	flex: 0 1 16rem;
}

.ui-modern .nmph2-search i {
	position: absolute;
	left: .6rem;
	top: 50%;
	transform: translateY(-50%);
	color: var(--wa-muted);
}

.ui-modern .nmph2-search .form-control {
	padding-left: 1.9rem;
}

.ui-modern .nmph2-day {
	display: flex;
	align-items: center;
	gap: .4rem;
	margin: 1rem 0 .5rem;
	font-size: .85rem;
	font-weight: 700;
}

.ui-modern .nmph2-day small {
	color: var(--wa-muted);
	font-weight: 600;
}

.ui-modern .nmph2-day[hidden],
.ui-modern .nmph2-grid[hidden],
.ui-modern .nmph2-item[hidden] {
	display: none;
}

.ui-modern .nmph2-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
	gap: .6rem;
}

.ui-modern .nmph2-item {
	position: relative;
	display: block;
	aspect-ratio: 4 / 3;
	border-radius: var(--wa-radius);
	overflow: hidden;
	background: var(--wa-bar);
	box-shadow: 0 1px 3px rgba(20, 30, 40, .12);
	color: #fff;
	text-decoration: none !important;
}

.ui-modern .nmph2-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .2s;
}

.ui-modern .nmph2-item:hover img {
	transform: scale(1.04);
}

.ui-modern .nmph2-cap {
	position: absolute;
	inset: auto 0 0;
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: .3rem;
	padding: 1.2rem .5rem .35rem;
	background: linear-gradient(transparent, rgba(0, 0, 0, .65));
	font-size: .74rem;
	line-height: 1.2;
}

.ui-modern .nmph2-cap small {
	opacity: .85;
	white-space: nowrap;
}

.ui-modern .nmph2-foot {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: .5rem;
	margin-top: 1rem;
	padding-top: .6rem;
	border-top: 1px solid var(--wa-line);
	color: var(--wa-muted);
	font-size: .8rem;
}

.ui-modern .nmph2-more {
	display: flex;
	gap: .3rem;
}

.ui-modern .nmph2-empty {
	margin: 0;
	padding: 1.5rem 0;
	color: var(--wa-muted);
	text-align: center;
}

/* prohlížeč fotek přes celou obrazovku */
.ui-modern .nmph2-viewer {
	position: fixed;
	inset: 0;
	z-index: 10050;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: .5rem;
	padding: 1rem;
	background: rgba(10, 14, 18, .92);
}

.ui-modern .nmph2-viewer[hidden] {
	display: none;
}

body.ui-modern.nmph2-open {
	overflow: hidden;
}

.ui-modern .nmph2-viewer figure {
	display: flex;
	flex-direction: column;
	align-items: center;
	max-width: calc(100% - 7rem);
	max-height: 100%;
	margin: 0;
}

.ui-modern .nmph2-viewer img {
	max-width: 100%;
	max-height: calc(100vh - 5rem);
	border-radius: var(--wa-radius);
	box-shadow: 0 8px 30px rgba(0, 0, 0, .5);
	object-fit: contain;
}

.ui-modern .nmph2-viewer figcaption {
	display: flex;
	gap: 1rem;
	margin-top: .6rem;
	color: #e9ecef;
	font-size: .85rem;
}

.ui-modern .nmph2-viewer figcaption a {
	color: #9fd3ff;
}

.ui-modern .nmph2-nav,
.ui-modern .nmph2-close {
	flex: none;
	border: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .12);
	color: #fff;
	cursor: pointer;
}

.ui-modern .nmph2-nav {
	width: 2.8rem;
	height: 2.8rem;
}

.ui-modern .nmph2-nav:hover,
.ui-modern .nmph2-close:hover {
	background: rgba(255, 255, 255, .25);
}

.ui-modern .nmph2-close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 2.4rem;
	height: 2.4rem;
	font-size: 1.6rem;
	line-height: 1;
}

@media (max-width: 575.98px) {
	.ui-modern .nmph2-grid {
		grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
	}

	.ui-modern .nmph2-viewer figure {
		max-width: 100%;
	}

	.ui-modern .nmph2-nav {
		position: absolute;
		bottom: 1.2rem;
	}

	.ui-modern .nmph2-nav.is-prev {
		left: 1rem;
	}

	.ui-modern .nmph2-nav.is-next {
		right: 1rem;
	}
}

/* ---------- lišta dispečinku (Logistics: Timetable/default.latte, moderní vzhled) ----------
   nižší lišta: všechny prvky 31 px (tlačítka, hledání, select2 dodavatele), mezery místo okrajů bootstrapu */
.ui-modern .report-toolbar.report-bar {
	padding: .35rem .8rem;
}

.ui-modern .report-toolbar > div {
	padding: 0 !important;
}

.ui-modern .report-toolbar .d-flex {
	gap: .4rem .5rem;
}

.ui-modern .report-toolbar .mb-1,
.ui-modern .report-toolbar .mb-2,
.ui-modern .report-toolbar .mb-xl-0 {
	margin-bottom: 0 !important;
}

.ui-modern .report-toolbar .mr-2,
.ui-modern .report-toolbar .mr-3 {
	margin-right: 0 !important;
}

.ui-modern .report-toolbar .btn-toolbar {
	gap: .4rem .5rem;
}

.ui-modern .report-toolbar .btn-sm,
.ui-modern .report-toolbar .form-control-sm {
	height: 31px;
	line-height: 1.4;
}

.ui-modern .report-toolbar .btn-sm {
	display: inline-flex;
	align-items: center;
	gap: .25rem;
}

/* vybraný dodavatel přímo v select2 */
.ui-modern .nmtb-supplier {
	width: 24rem;
	max-width: 100%;
}

.ui-modern .nmtb-supplier .select2-container {
	width: 100% !important;
}

.ui-modern .report-toolbar .select2-container--bootstrap4 .select2-selection--single {
	height: 31px !important;
	min-height: 31px;
	font-size: .82rem;
}

.ui-modern .report-toolbar .select2-container--bootstrap4 .select2-selection--single .select2-selection__rendered {
	line-height: 29px;
	padding-right: 3rem;
}

.ui-modern .report-toolbar .select2-container--bootstrap4 .select2-selection--single {
	position: relative;
}

.ui-modern .report-toolbar .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow {
	position: absolute;
	top: 0;
	right: .4rem;
	height: 100%;
	display: flex;
	align-items: center;
}

.ui-modern .report-toolbar .select2-container--bootstrap4 .select2-selection--single .select2-selection__arrow b {
	position: static;
	margin: 0;
}

/* křížek (select2 4.1 – tlačítko) = zrušit vybraného dodavatele */
.ui-modern .report-toolbar .select2-selection__clear {
	position: absolute;
	top: 50%;
	right: 1.9rem;
	z-index: 1;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 1.3rem;
	height: 1.3rem;
	margin: 0 !important; /* motiv bootstrap4 posouvá křížek dolů */
	padding: 0;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--wa-muted);
	line-height: 1;
	cursor: pointer;
}

/* znak „×“ sedí v písmu pod středem – místo něj ikona Font Awesome (kreslená na střed) */
.ui-modern .report-toolbar .select2-selection__clear span {
	display: none;
}

.ui-modern .report-toolbar .select2-selection__clear::before {
	content: "\f00d";
	font-family: "Font Awesome 5 Pro", "Font Awesome 5 Free";
	font-weight: 400;
	font-size: .78rem;
	line-height: 1;
}

.ui-modern .report-toolbar .select2-selection__clear:hover {
	background: #fdeef0;
	color: #c82333;
}

/* hledání záměru: tlačítko jen s lupou */
.ui-modern .nmtb-search {
	margin: 0;
}

.ui-modern .nmtb-search .form-control {
	width: 12rem;
}

.ui-modern .nmtb-search .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 .65rem;
	line-height: 1;
}

.ui-modern .nmtb-search .btn i {
	line-height: 1;
	transform: translateY(.5px); /* kresba lupy sedí o půl pixelu nad středem */
}

/* neaktivní přepínač (bez vybraného dodavatele) */
.ui-modern #bulkToggle:disabled {
	pointer-events: none;
}

/* přepínač hromadného přidání */
.ui-modern .nmtb-bulk {
	display: inline-flex;
	align-items: center;
	gap: .35rem;
}

.ui-modern .nmtb-bulk[hidden],
.ui-modern .nmtb-bulk-actions {
	display: none;
}

.ui-modern #bulkToggle[aria-pressed="true"] {
	background: var(--wa-brand, #28a745);
	border-color: var(--wa-brand, #28a745);
	color: #fff;
}

body.nmt-bulk-on .nmtb-bulk-actions {
	display: inline-flex;
}

/* pole pro počet v oknech harmonogramu jen se zapnutým přepínačem */
body.ui-modern:not(.nmt-bulk-on) .nmt-bulk {
	display: none !important;
}

/* ---------- harmonogram: popisky oken (TimetableControl.modern.latte) ---------- */
/* zavřené okno (bez kapacity) */
.ui-modern .nmt-closed-lbl {
	font-size: .72rem;
	font-weight: 600;
	color: var(--wa-muted);
}

/* vyčerpaný denní limit – plné okno s poznámkou místo šrafování */
.ui-modern .nmt-vac .nmt-limit {
	color: var(--nmt-full);
	font-weight: 700;
}

/* přeplnění okna (víc záměrů než kapacita) */
.ui-modern .nmt-over {
	display: inline-block;
	margin-left: .25rem;
	padding: 0 .3rem;
	border-radius: 999px;
	background: var(--nmt-full);
	color: #fff;
	font-size: .64rem;
	font-weight: 700;
	white-space: nowrap;
}

/* rezerva v okně (admin, správce odběratele) – čitelný štítek „rezerva +2“ */
.ui-modern .nmt-reserve {
	white-space: nowrap;
	font-weight: 600;
}

/* řádek součtů ve stylu oken: velké volno v barvě obsazenosti, obsazenost, objem, záměry dodavatele */
.ui-modern .nmt-sum-vac.nmt-free { color: var(--nmt-free); }
.ui-modern .nmt-sum-vac.nmt-half { color: var(--nmt-half); }
.ui-modern .nmt-sum-vac.nmt-full { color: var(--nmt-full); }

.ui-modern .nmt-sum-vac {
	background: none !important;
}

.ui-modern .nmt-sum .nmt-occ {
	color: var(--wa-fg);
	font-weight: 600;
}

.ui-modern .nmt-sum .nmt-pct {
	color: var(--wa-muted);
	font-weight: 400;
}

.ui-modern .nmt-sum-m3 {
	margin-top: .15rem;
}

.ui-modern .nmt-sum .nmt-sum-sup {
	justify-content: flex-start;
	margin-top: .3rem;
	padding-top: .3rem;
	border-top: 1px dashed var(--wa-line);
}

.ui-modern .nmt-sum .nmt-sum-sup .nmt-mine.static {
	margin: 0;
}

.ui-modern .nmt-sum-sup-lbl {
	color: var(--wa-muted);
	font-size: .7rem;
}

/* ---------- boční panel „Záměry v okně“ (TimetableControl.modern.latte, Timetable/slot.latte) ---------- */
.ui-modern .nmt-cell[data-slot-date] {
	cursor: pointer;
}

.ui-modern .nmt-cell.is-selected {
	box-shadow: inset 0 0 0 2px var(--wa-accent, #1f6fb2);
}

.ui-modern .nmts-overlay {
	position: fixed;
	inset: var(--wa-nav-h) 0 0 0;
	z-index: 10000; /* nad pevným zápatím aplikace (z-index 9999) */
	background: rgba(20, 28, 36, .25);
}

.ui-modern .nmts-overlay[hidden] {
	display: none;
}

.ui-modern .nmts-panel {
	position: fixed;
	top: var(--wa-nav-h);
	right: 0;
	bottom: 0;
	z-index: 10001;
	display: flex;
	flex-direction: column;
	width: min(440px, 100%);
	background: var(--wa-surface);
	box-shadow: -10px 0 40px rgba(20, 30, 40, .18);
	transform: translateX(105%);
	transition: transform .22s ease;
}

.ui-modern .nmts-panel.is-open {
	transform: none;
}

@media (prefers-reduced-motion: reduce) {
	.ui-modern .nmts-panel {
		transition: none;
	}
}

.ui-modern .nmts-head,
.ui-modern .nmts-foot {
	display: flex;
	align-items: center;
	gap: .6rem;
	padding: .7rem 1rem;
	border-color: var(--wa-line);
	border-style: solid;
	border-width: 0;
}

.ui-modern .nmts-head {
	justify-content: space-between;
	border-bottom-width: 1px;
}

.ui-modern .nmts-head h2 {
	margin: 0;
	font-size: 1rem;
	font-weight: 700;
}

.ui-modern .nmts-head h2 i {
	color: var(--wa-brand);
}

.ui-modern .nmts-close {
	width: 2rem;
	height: 2rem;
	border: 0;
	border-radius: 50%;
	background: transparent;
	color: var(--wa-muted);
}

.ui-modern .nmts-close:hover {
	background: var(--wa-bar);
	color: var(--wa-fg);
}

.ui-modern .nmts-body {
	flex: 1;
	overflow-y: auto;
	padding: .6rem 1rem 1rem;
}

.ui-modern .nmts-foot {
	justify-content: space-between;
	border-top-width: 1px;
	padding-bottom: calc(.7rem + env(safe-area-inset-bottom, 0px));
}

.ui-modern .nmts-summary {
	display: flex;
	flex-wrap: wrap;
	gap: .3rem 1rem;
	margin-bottom: .5rem;
	font-size: .85rem;
}

.ui-modern .nmts-note {
	margin: 0 0 .6rem;
	padding: .35rem .6rem;
	border-radius: var(--wa-radius);
	background: var(--wa-accent-soft, #e3eef8);
	font-size: .78rem;
}

.ui-modern .nmts-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ui-modern .nmts-item {
	padding: .55rem 0;
	border-bottom: 1px solid var(--wa-line);
	font-size: .8rem;
}

.ui-modern .nmts-item:last-child {
	border-bottom: 0;
}

.ui-modern .nmts-main {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: .4rem;
}

.ui-modern .nmts-id {
	font-size: .9rem;
}

.ui-modern .nmts-plate {
	padding: 0 .35rem;
	border: 1px solid #2b2f33;
	border-radius: 3px;
	background: #fff;
	font-family: SFMono-Regular, Consolas, monospace;
	font-size: .7rem;
	font-weight: 700;
	white-space: nowrap;
}

.ui-modern .nmts-badge {
	margin-left: auto;
	padding: .05rem .45rem;
	border-radius: 999px;
	font-size: .68rem;
	font-weight: 700;
}

.ui-modern .nmts-badge.is-paired {
	background: #e4f3e8;
	color: #2f8f4e;
}

.ui-modern .nmts-supplier {
	margin-top: .15rem;
	font-weight: 600;
}

.ui-modern .nmts-meta {
	display: flex;
	flex-wrap: wrap;
	gap: .1rem .8rem;
	margin-top: .1rem;
	color: var(--wa-muted);
}

.ui-modern .nmts-meta i {
	margin-right: .15rem;
}

.ui-modern .nmts-vol {
	color: var(--wa-fg);
	font-weight: 600;
	font-variant-numeric: tabular-nums;
}

.ui-modern .nmts-note-row {
	margin-top: .2rem;
	color: var(--wa-muted);
	font-style: italic;
}

.ui-modern .nmts-empty,
.ui-modern .nmts-loading {
	margin: 1rem 0;
	color: var(--wa-muted);
	text-align: center;
}

/* editace záměru v bočním panelu */
.ui-modern .nmts-actions {
	display: flex;
	flex-wrap: wrap;
	gap: .3rem;
	margin-top: .4rem;
}

.ui-modern .nmts-actions .btn {
	padding: .12rem .5rem;
	font-size: .74rem;
}

/* =====================================================================================================
   select2 – rozbalený seznam a vyhledávání v moderním vzhledu (všechny select2 v aplikaci, motiv bootstrap4).
   Seznam je vložený do <body class="ui-modern">, proto stačí prefix .ui-modern. Položky dodavatelů
   (formatSingleResult ve www/js/woodaccept.js): název tučně, <small> s číslem a IČ na druhém řádku.
   ===================================================================================================== */
.ui-modern .select2-container--bootstrap4 .select2-dropdown {
	min-width: 18rem;
	overflow: hidden;
	border: 1px solid var(--wa-line);
	border-radius: calc(var(--wa-radius) * 1.5);
	background: var(--wa-surface);
	box-shadow: 0 10px 30px rgba(20, 30, 40, .16);
}

.ui-modern .select2-container--bootstrap4 .select2-dropdown.select2-dropdown--below {
	margin-top: 4px;
	border-top: 1px solid var(--wa-line);
}

.ui-modern .select2-container--bootstrap4 .select2-dropdown.select2-dropdown--above {
	margin-top: -4px;
}

/* vyhledávání: pole s lupou */
.ui-modern .select2-search--dropdown {
	padding: .5rem .5rem .35rem;
}

.ui-modern .select2-search--dropdown .select2-search__field {
	height: 2rem;
	padding: .3rem .6rem .3rem 2rem;
	border: 1px solid var(--wa-line);
	border-radius: var(--wa-radius);
	background: var(--wa-bg) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2.4' stroke-linecap='round'%3E%3Ccircle cx='10.5' cy='10.5' r='6.5'/%3E%3Cpath d='M15.5 15.5 21 21'/%3E%3C/svg%3E") no-repeat .65rem center;
	font-size: .85rem;
	outline: none;
	transition: border-color .15s, box-shadow .15s;
}

.ui-modern .select2-search--dropdown .select2-search__field:focus {
	border-color: var(--wa-brand);
	background-color: var(--wa-surface);
	box-shadow: 0 0 0 3px var(--wa-brand-soft, rgba(40, 167, 69, .15));
}

/* seznam */
.ui-modern .select2-container--bootstrap4 .select2-results > .select2-results__options {
	max-height: min(22rem, 55vh);
	padding: 0 .3rem .3rem;
}

.ui-modern .select2-container--bootstrap4 .select2-results__option {
	margin: 1px 0;
	padding: .4rem .6rem;
	border-radius: var(--wa-radius);
	color: var(--wa-fg);
	font-size: .85rem;
	line-height: 1.3;
}

/* druhý řádek položky (číslo, IČ…) */
.ui-modern .select2-results__option small {
	display: block;
	margin-top: .1rem;
	color: var(--wa-muted);
	font-size: .74rem;
}

.ui-modern .select2-results__option small i {
	font-style: normal;
}

.ui-modern .select2-container--bootstrap4 .select2-results__option[aria-selected="true"],
.ui-modern .select2-container--bootstrap4 .select2-results__option--selected {
	background: var(--wa-bar) !important;
	color: var(--wa-fg) !important;
	font-weight: 600;
}

.ui-modern .select2-container--bootstrap4 .select2-results__option--highlighted,
.ui-modern .select2-container--bootstrap4 .select2-results__option--highlighted[aria-selected],
.ui-modern .select2-container--bootstrap4 .select2-results__option--highlighted.select2-results__option--selectable {
	background: var(--wa-brand-soft, #e4f3e8) !important;
	color: var(--wa-fg) !important;
}

.ui-modern .select2-results__option--highlighted small {
	color: var(--wa-fg);
	opacity: .75;
}

/* shoda s hledaným textem */
.ui-modern .select2-rendered__match {
	padding: 0 1px;
	border-radius: 2px;
	background: #ffe58f;
	color: inherit;
	font-weight: inherit;
}

/* zprávy (hledám…, nic nenalezeno, načítání dalších) */
.ui-modern .select2-results__message,
.ui-modern .select2-results__option--load-more {
	color: var(--wa-muted) !important;
	background: none !important;
	font-style: italic;
	text-align: center;
}

/* skupiny */
.ui-modern .select2-container--bootstrap4 .select2-results__group {
	padding: .5rem .6rem .2rem;
	color: var(--wa-muted);
	font-size: .7rem;
	font-weight: 700;
	letter-spacing: .06em;
	text-transform: uppercase;
}

/* výběr více hodnot – štítky */
.ui-modern .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice {
	border: 1px solid color-mix(in srgb, var(--wa-brand) 35%, transparent);
	border-radius: 999px;
	background: var(--wa-brand-soft, #e4f3e8);
	color: var(--wa-fg);
	font-size: .8rem;
}

.ui-modern .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove {
	color: var(--wa-muted);
}

.ui-modern .select2-container--bootstrap4 .select2-selection--multiple .select2-selection__choice__remove:hover {
	color: #c82333;
}

/* zavřené pole: rámeček a zaměření v barvě odběratele */
.ui-modern .select2-container--bootstrap4.select2-container--focus .select2-selection,
.ui-modern .select2-container--bootstrap4.select2-container--open .select2-selection {
	border-color: var(--wa-brand);
	box-shadow: 0 0 0 3px var(--wa-brand-soft, rgba(40, 167, 69, .15));
}

/* přidání záměru: výrazné tlačítko „+ Přidat“ vždy vidět (dřív průhledné „+“ až po najetí) – hned je jasné, kam lze zadávat */
.ui-modern .nmt-add {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: .25rem;
	width: auto;
	height: 1.5rem;
	padding: 0 .55rem 0 .45rem;
	border-radius: 999px;
	background: var(--wa-success, #28a745);
	box-shadow: 0 2px 6px rgba(40, 167, 69, .35);
	font-size: .74rem;
	line-height: 1;
	opacity: 1;
	transition: transform .12s, box-shadow .12s, background-color .12s;
}

.ui-modern .nmt-add i {
	font-size: .7rem;
}

.ui-modern .nmt-add:hover,
.ui-modern .nmt-add:focus {
	background: #218838;
	box-shadow: 0 3px 10px rgba(40, 167, 69, .5);
	transform: translateY(-1px);
}

/* úzké sloupce (tablet) – jen „+“ */
@media (max-width: 1399.98px) {
	.ui-modern .nmt-add {
		width: 1.6rem;
		height: 1.6rem;
		padding: 0;
		border-radius: 50%;
	}

	.ui-modern .nmt-add span {
		display: none;
	}
}

/* logo pro tmavé téma (.wa-logo-d) jen v tmavém tématu, světlé (.wa-logo-l) tam skryje www/css/modern-dark.css */
html:not([data-theme="dark"]) .ui-modern .wa-logo-d {
	display: none !important;
}
