/**
 * Spójny wygląd panelu IAC z publicznym Grobonetem.
 *
 * Panel nie ma systemu tokenów — kolory siedzą na sztywno w 3000-linijkowym
 * style.css, w bibliotekach (css3-buttons, tablecloth, jQuery UI) i w stylach
 * inline rozsianych po widokach. Zamiast przepisywać to wszystko, ten arkusz
 * wchodzi jako ostatni i przykrywa same kolory, gradienty i przyciski.
 *
 * Kolory pochodzą z grobonet-modern.css (:root --gn-*), ale tła zostają
 * neutralnie szare jak dotąd — zieleń i złoto idą tylko na nagłówki, przyciski
 * i akcenty. Promienie są mniejsze niż w Grobonecie (4-6 px zamiast 20 px),
 * bo panel jest gęsty danymi i duże zaokrąglenia rozbijałyby tabele.
 *
 * !important jest tu potrzebne: część arkuszy (css3-buttons, tablecloth,
 * demo_table, jQuery UI) ładuje się PO tym pliku, a paski tytułowe w widokach
 * mają gradient w atrybucie style.
 */
:root {
	--iac-green: #003f36;
	--iac-green-mid: #075649;
	--iac-green-light: #0a6b5b;
	--iac-gold: #a98743;
	--iac-gold-light: #d4bc78;
	--iac-gold-dark: #9c7938;
	--iac-gradient: linear-gradient(135deg, #003f36 0%, #075649 62%, #b39452 100%);
	--iac-gradient-hover: linear-gradient(135deg, #075649 0%, #0a6b5b 62%, #c5a65f 100%);
	--iac-text: #172033;
	--iac-text-muted: #666666;
	/* szarości panelu — bez ciepłego ani niebieskiego zabarwienia */
	--iac-surface: #f7f7f7;
	--iac-surface-2: #f1f1f1;
	--iac-surface-3: #e4e4e4;
	--iac-border: #d2d2d2;
	--iac-border-strong: #b4b4b4;
	/* delikatne zielone podświetlenie zaznaczeń i hoveru */
	--iac-tint: #e8f0ee;
	--iac-radius: 4px;
	--iac-radius-lg: 6px;
}

/* ── paski tytułowe sekcji ────────────────────────────────────────
   Kilkanaście widoków ma ten sam granatowy gradient wklejony w atrybut
   style (users, reports, library, payments, backups, cemetery-books…).
   Dwa zapisy, bo przeglądarka przy serializacji stylu wstawia spacje
   w rgb() — po pierwszym $.css() na elemencie wariant bez spacji przestaje
   pasować. #dane_top w raportach łapiemy dodatkowo po id, na pewniaka. */
#dane_top,
div[style*="rgb(44,88,132)"],
div[style*="rgb(44, 88, 132)"] {
	background-image: var(--iac-gradient) !important;
}

#dane_top h3 {
	color: #fff !important;
}

/* Nagłówki jQuery UI. Wyliczone z nazwy, bo samo .ui-widget-header nosi też
   kalendarz tygodniowy w terminarzu — tam zieleń wchodziła na siatkę godzin. */
.ui-dialog .ui-dialog-titlebar,
.ui-datepicker .ui-datepicker-header,
.wc-toolbar {
	background-image: var(--iac-gradient) !important;
	border-color: var(--iac-green) !important;
	color: #fff !important;
}

.ui-dialog .ui-dialog-title,
.wc-toolbar a {
	color: #fff !important;
}

/* ── przyciski ────────────────────────────────────────────────────
   .button/.blue/.green z css3-buttons.css to główne przyciski panelu. */
button.blue,
.button.blue,
button.green,
.button.green,
.action.blue,
.action.green {
	border: 1px solid var(--iac-green) !important;
	background: var(--iac-gradient) !important;
	color: #fff !important;
	text-shadow: none !important;
	border-radius: var(--iac-radius) !important;
}

button.blue:hover,
.button.blue:hover,
button.green:hover,
.button.green:hover,
.action.blue:hover,
.action.green:hover {
	border: 1px solid var(--iac-green-mid) !important;
	background: var(--iac-gradient-hover) !important;
	color: #fff !important;
}

/* neutralny przycisk zostaje jasny (ikony to sprite'y) — zmieniamy ramkę i hover */
button,
.button {
	border-color: var(--iac-border) !important;
	border-radius: var(--iac-radius) !important;
}

button:hover,
.button:hover {
	border-color: var(--iac-border-strong) !important;
}

/* Akcja wymagająca wcześniejszego zaznaczenia w tabeli. Nie blokujemy kliknięcia
   (pointer-events: none zabiera też tooltip), tylko wyciszamy przycisk — komunikat
   „co zaznaczyć” pokazuje skrypt widoku. */
.button.iac-button-disabled,
button.iac-button-disabled {
	opacity: 0.5;
	cursor: default;
}

.button.iac-button-disabled:hover,
button.iac-button-disabled:hover {
	border-color: var(--iac-border) !important;
}

button:focus-visible,
.button:focus-visible,
a:focus-visible {
	outline: 2px solid var(--iac-green-mid);
	outline-offset: 1px;
}

/* ── tabele ───────────────────────────────────────────────────────
   tablecloth miał turkus #328aa4 + gif, datatables szary gradient. */
.tablecloth th,
table.tablecloth th {
	background: var(--iac-gradient) !important;
	color: #fff !important;
	border-color: var(--iac-green) !important;
}

.tablecloth tr.even td,
.tablecloth td.even {
	background: var(--iac-surface-2) !important;
}

/* podświetlenie wiersza było limonkowe (#bce774) */
.tablecloth tr:hover td,
.tablecloth tr.over td {
	background: var(--iac-tint) !important;
}

/* tabelki w dymkach karty grobu i historii zmian */
#cluetip table.tablecloth th,
#iac-historia-tip table.tablecloth th {
	background: var(--iac-gradient) !important;
	color: #fff !important;
}

#cluetip table.tablecloth td,
#iac-historia-tip table.tablecloth td {
	background: var(--iac-surface-2) !important;
}

/* ── tabele generowane przez DataTables ───────────────────────────
   Nagłówek jak w tabelach statycznych, ciało zostaje szaro-białe.
   Wskaźniki kierunku są wspólne dla obu motywów w iac-table-sorting.css. */
.datatables thead,
table.display thead {
	background: var(--iac-gradient) !important;
}

.datatables thead th,
table.display thead th {
	color: #fff !important;
	border-bottom: 0 !important;
	border-right: 1px solid rgba(255, 255, 255, 0.22) !important;
	text-shadow: none !important;
}

/* Pasek narzędzi nad tabelą (szukaj / liczba wierszy) — legacy malował go
   granatowo, a zamalowanie całego wrappera gradientem zostawiało nad nagłówkiem
   ciemny prostokąt z nieczytelną etykietą „Szukaj:”. Pasek zostaje jasny, jak
   filtry w stopce tabeli. */
.dataTables_wrapper {
	background-image: none !important;
	background-color: var(--iac-surface-2) !important;
}

.dataTables_wrapper .fg-toolbar,
.dataTables_wrapper .ui-toolbar,
.dataTables_wrapper .ui-widget-header {
	border: 0 !important;
	background: transparent !important;
	background-image: none !important;
}

.dataTables_wrapper .dataTables_filter,
.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_info {
	color: var(--iac-text) !important;
}

.dataTables_wrapper .dataTables_filter label,
.dataTables_wrapper .dataTables_length label {
	color: var(--iac-text) !important;
	font-weight: 600;
}

.dataTables_wrapper .dataTables_filter input,
.dataTables_wrapper .dataTables_length select {
	height: 28px;
	padding: 3px 8px;
	box-sizing: border-box;
	border: 1px solid var(--iac-border-strong);
	border-radius: var(--iac-radius);
	background-color: #fff;
	color: var(--iac-text);
}

.dataTables_wrapper .dataTables_filter input:focus,
.dataTables_wrapper .dataTables_length select:focus {
	border-color: var(--iac-green);
	box-shadow: 0 0 0 2px rgba(0, 63, 54, 0.16);
	outline: none;
}

.dataTables_paginate .paginate_button,
.dataTables_paginate .paginate_active {
	border-radius: var(--iac-radius);
}

.dataTables_paginate .paginate_active {
	background: var(--iac-green) !important;
	color: #fff !important;
}

table.display tbody tr.odd {
	background: #fff !important;
}

table.display tbody tr.even {
	background: var(--iac-surface-2) !important;
}

/*
 * DataTables dokłada sorting_1/2/3 na komórki kolumny sortowanej
 * (np. Data urodzenia) z innym tłem — wygląda to jak „szachownica”
 * względem reszty wiersza. Zostawiamy jednolite tło wiersza.
 */
table.display tbody tr td.sorting_1,
table.display tbody tr td.sorting_2,
table.display tbody tr td.sorting_3,
#tabela tbody tr td.sorting_1,
#tabela tbody tr td.sorting_2,
#tabela tbody tr td.sorting_3 {
	background-color: transparent !important;
	background-image: none !important;
}

table.display tbody tr.row_selected td,
table.display tbody tr:hover td {
	background: var(--iac-tint) !important;
}

/* TableTools: eksport do CSV/XLS/PDF */
.DTTT_button,
div.DTTT a.DTTT_button {
	border-color: var(--iac-border) !important;
	border-radius: var(--iac-radius) !important;
	color: var(--iac-text) !important;
}

.DTTT_button:hover,
div.DTTT a.DTTT_button:hover {
	border-color: var(--iac-green-mid) !important;
	color: var(--iac-green) !important;
}

/* ── linki i akcenty ──────────────────────────────────────────────
   niska specyficzność — bardziej szczegółowe reguły (menu, przyciski) wygrywają */
a {
	color: var(--iac-green-mid);
}

a:hover {
	color: var(--iac-gold);
}

/* ── formularze ───────────────────────────────────────────────────
   ramka fokusu była limonkowa (#9cc83f ze style.css) */
input:focus,
select:focus,
textarea:focus {
	border: 1px solid var(--iac-gold) !important;
	outline: none;
}

fieldset,
.buttons,
.buttons_2 {
	border-color: var(--iac-border) !important;
	background: var(--iac-surface-2) !important;
}

fieldset legend {
	color: var(--iac-green);
	font-weight: bold;
}

/* multipleSelect (m.in. Przepustki w terminarzu i na karcie grobu) rysuje pole
   wyboru jako <button class="ms-choice">, więc łapią je reguły przycisków:
   css3-buttons.css daje margin 5px, padding i height 29px, a sekcja przycisków
   wyżej — zaokrąglenie i szarą ramkę. Margines przesuwał pole o 5 px w prawo
   względem sąsiednich <select>, poszerzał wiersz i wypychał napis nad ramkę
   (span pozycjonuje się do .ms-parent). Tu przywracamy wygląd i wymiary <select>. */
.ms-parent .ms-choice {
	position: relative;
	display: block !important;
	float: none !important;
	box-sizing: border-box;
	height: 23px !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #dbd8d3 !important;
	border-radius: 0 !important;
	background: #fff !important;
	font: 13px/21px Trebuchet MS, Tahoma, Verdana, Arial, sans-serif !important;
	color: var(--iac-text) !important;
	text-shadow: none !important;
	box-shadow: none !important;
}

.ms-parent .ms-choice:hover,
.ms-parent .ms-choice:active {
	border-color: #dbd8d3 !important;
	background: #fff !important;
	box-shadow: none !important;
}

.ms-parent .ms-choice:focus-visible {
	border-color: var(--iac-gold) !important;
}

/* Napis i strzałka pozycjonują się do .ms-parent (button jest statyczny w oryginale),
   więc bez position: relative wyżej wychodziły nad ramkę. */
.ms-parent .ms-choice > span {
	top: 0;
	left: 0;
	right: 18px;
	height: 21px;
	padding-left: 3px;
	font-size: 13px;
	line-height: 21px;
}

.ms-parent .ms-choice > span.placeholder {
	color: #666;
}

/* Zamiast sprite'a PNG z wtyczki — daszek jak w natywnym <select> Chrome. */
.ms-parent .ms-choice > div {
	top: 0;
	right: 0;
	width: 18px;
	height: 21px;
	background: none;
}

.ms-parent .ms-choice > div:after {
	content: "";
	position: absolute;
	top: 6px;
	left: 4px;
	width: 5px;
	height: 5px;
	border-right: 2px solid #333;
	border-bottom: 2px solid #333;
	transform: rotate(45deg);
}

.ms-parent .ms-choice > div.open:after {
	top: 8px;
	transform: rotate(225deg);
}

/* multipleSelect w formularzach edycji stoi w wierszu z etykietą tak jak <select>
   (.formularz_edycji select: float + margin 8px 5px 0 0) — bez tego inline-block
   dostawał 4 px odstępu od etykiety i podwyższał wiersz. */
.formularz_edycji .ms-parent {
	float: left;
	margin: 8px 5px 0 0;
}

.formularz_edycji .sposob-pochowania-icon {
	float: left;
	width: auto;
	height: 20px !important;
	margin: 8px 0 0 3px !important;
	object-fit: contain;
	vertical-align: top !important;
}

/* Sticky pasek niezapisanych zmian (preferencje / użytkownik / poza kartą) */
.iac-save-bar.iac-save-bar-visible,
#z_preferencje.iac-save-bar-visible,
#z_uzytkownik.iac-save-bar-visible {
	position: sticky;
	top: 0;
	z-index: 55;
	background: #fff;
	border-bottom: 1px solid #d9d9d9;
	padding: 10px 12px;
	margin: 0 0 12px !important;
	text-align: center;
	box-sizing: border-box;
}

.ms-drop {
	border-color: #dbd8d3 !important;
	border-radius: 0 !important;
}

/* ── zakładki karty grobu i podzakładki menu ──────────────────────
   markup i układ zostają w meta.blade.php / panel-header.blade.php */
#zakladki_grobu > ul > li,
#mapa_zdjecia > ul > li {
	border-color: var(--iac-green) !important;
	background: var(--iac-gradient) !important;
}

#zakladki_grobu > ul > li.ui-tabs-selected,
#zakladki_grobu > ul > li.ui-tabs-active,
#mapa_zdjecia > ul > li.ui-tabs-selected,
#mapa_zdjecia > ul > li.ui-tabs-active {
	background: #fff !important;
	border-color: var(--iac-green) !important;
}

#zakladki_grobu > ul > li.ui-tabs-selected > a,
#zakladki_grobu > ul > li.ui-tabs-active > a,
#mapa_zdjecia > ul > li.ui-tabs-selected > a,
#mapa_zdjecia > ul > li.ui-tabs-active > a {
	color: var(--iac-green) !important;
}

/* ── nowoczesna karta grobu ───────────────────────────────────────
   Zakładek jest dużo, dlatego pasek działa jak czytelna nawigacja modułu:
   jasne kafle, osobne liczniki i wyraźny aktywny stan zamiast szeregu
   ciasnych zielonych przycisków. Selektory obejmują wyłącznie kartę grobu. */
/* Wcięcie takie samo jak margines .iac-page-head (10 px), inaczej pasek zakładek
   i karty paneli stały o 4 px węziej niż nagłówek „Karta grobu”. */
#zakladki_grobu.iac-grave-tabs {
	clear: both;
	padding: 0 10px 20px;
	box-sizing: border-box;
	color: var(--iac-text);
}

#zakladki_grobu.iac-grave-tabs > ul {
	display: flex !important;
	flex-wrap: wrap !important;
	align-items: center;
	gap: 6px !important;
	margin: 0 !important;
	padding: 10px !important;
	overflow: visible !important;
	list-style: none;
	border: 1px solid var(--iac-border) !important;
	border-radius: 8px !important;
	background: #f4f6f5 !important;
	box-shadow: 0 1px 3px rgba(23, 32, 51, .06);
}

/* Każda zakładka jest widocznym kaflem od razu, nie dopiero po kliknięciu —
   wcześniej nieaktywne pozycje były samym tekstem na jednolitym pasku. */
#zakladki_grobu.iac-grave-tabs > ul > li {
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 1px solid #c3d2ce !important;
	border-radius: 6px !important;
	background: #fff !important;
	box-shadow: 0 1px 2px rgba(23, 32, 51, .07) !important;
	transition: border-color .16s ease, background-color .16s ease, box-shadow .16s ease;
}

#zakladki_grobu.iac-grave-tabs > ul > li > a {
	display: flex !important;
	align-items: center;
	gap: 7px;
	height: auto;
	min-height: 36px;
	padding: 6px 12px !important;
	box-sizing: border-box;
	color: var(--iac-green) !important;
	font-size: 12px !important;
	font-weight: 650 !important;
	line-height: 1 !important;
	text-decoration: none !important;
	text-shadow: none !important;
	white-space: nowrap;
	outline: 0;
}

#zakladki_grobu.iac-grave-tabs > ul > li:hover {
	border-color: var(--iac-green-light) !important;
	background: var(--iac-tint) !important;
}

#zakladki_grobu.iac-grave-tabs > ul > li:hover > a {
	color: var(--iac-green) !important;
}

#zakladki_grobu.iac-grave-tabs > ul > li > a:focus-visible {
	outline: 3px solid rgba(169, 135, 67, .5);
	outline-offset: 2px;
	border-radius: 4px;
}

/* Aktywna zakładka jest zielona jak pozostałe akcje panelu — sam kolor tekstu
   gubił się w gęstym pasku 13 pozycji. Jednolita zieleń, nie gradient: na kaflu
   szerokim na 120 px złota końcówka gradientu wyglądała jak przypadkowa plama. */
#zakladki_grobu.iac-grave-tabs > ul > li.ui-tabs-selected,
#zakladki_grobu.iac-grave-tabs > ul > li.ui-tabs-active,
#zakladki_grobu.iac-grave-tabs > ul > li.ui-state-active {
	border-color: var(--iac-green) !important;
	background: var(--iac-green) !important;
	box-shadow: 0 3px 10px rgba(0, 63, 54, .22) !important;
}

#zakladki_grobu.iac-grave-tabs > ul > li.ui-tabs-selected:hover,
#zakladki_grobu.iac-grave-tabs > ul > li.ui-tabs-active:hover,
#zakladki_grobu.iac-grave-tabs > ul > li.ui-state-active:hover {
	background: var(--iac-green-mid) !important;
}

#zakladki_grobu.iac-grave-tabs > ul > li.ui-tabs-selected > a,
#zakladki_grobu.iac-grave-tabs > ul > li.ui-tabs-active > a,
#zakladki_grobu.iac-grave-tabs > ul > li.ui-state-active > a,
#zakladki_grobu.iac-grave-tabs > ul > li.ui-tabs-active:hover > a {
	color: #fff !important;
	font-weight: 700 !important;
}

#zakladki_grobu .iac-grave-tab-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 21px;
	height: 21px;
	padding: 0 6px;
	box-sizing: border-box;
	border: 1px solid #bfd0cb;
	border-radius: 11px;
	background: #fff;
	color: var(--iac-green);
	font-size: 10px;
	font-weight: 750;
	line-height: 19px;
}

#zakladki_grobu > ul > li.ui-tabs-active .iac-grave-tab-count,
#zakladki_grobu > ul > li.ui-tabs-selected .iac-grave-tab-count,
#zakladki_grobu > ul > li.ui-state-active .iac-grave-tab-count {
	border-color: rgba(255, 255, 255, .6);
	background: rgba(255, 255, 255, .2);
	color: #fff;
}

#zakladki_grobu.iac-grave-tabs > div.ui-tabs-panel {
	margin-top: 12px;
	padding: 18px !important;
	min-height: 180px;
	box-sizing: border-box;
	border: 1px solid #dde3e1 !important;
	border-radius: 8px;
	background: #fff;
	box-shadow: 0 2px 8px rgba(23, 32, 51, .05);
}

/*
 * Tabele DataTables doczytywane do zakładek (Płatności, Dokumenty) niosą legacy
 * demo_table.css: .dataTables_wrapper ma `height: 42px` — dokładnie tyle, ile pasek
 * „Szukaj” — i liczy na to, że lista wyleje się poza pudełko. W karcie zakładki
 * dawało to dwa artefakty: szare tło wrappera (#f1f1f1 z sekcji DataTables wyżej)
 * malowało się jako 42-pikselowy prostokąt tuż nad tabelą, a biały panel liczył
 * wysokość z tych 42 px, więc jego tło urywało się w połowie listy.
 * Wrapper obejmuje więc całą tabelę i nie wnosi własnej powierzchni.
 */
#zakladki_grobu.iac-grave-tabs .dataTables_wrapper {
	height: auto !important;
	background-color: transparent !important;
}

/* Paski „Szukaj” i stronicowania: odstęp od tabeli zamiast szarej płyty pod nimi. */
#zakladki_grobu.iac-grave-tabs .dataTables_wrapper .fg-toolbar,
#zakladki_grobu.iac-grave-tabs .dataTables_wrapper .ui-toolbar {
	padding: 6px 10px !important;
}

/*
 * Lista w zakładce ma być częścią kafelka, a nie prostokątem wklejonym na jego
 * środek. Ramka z zaokrągleniem zamyka tabelę razem z paskiem „Szukaj” i stopką,
 * a poziome przewijanie zostaje w środku — inaczej 16 kolumn Płatności rozpychało
 * całą kartę i pasek zakładek jechał poza ekran.
 */
#zakladki_grobu.iac-grave-tabs .dataTables_wrapper,
#zakladki_grobu.iac-grave-tabs > div.ui-tabs-panel > table.display {
	box-sizing: border-box;
	width: 100% !important;
	max-width: 100%;
	border: 1px solid var(--iac-border);
	border-radius: 8px;
	background: #fff !important;
}

#zakladki_grobu.iac-grave-tabs .dataTables_wrapper {
	overflow-x: auto;
}

#zakladki_grobu.iac-grave-tabs .dataTables_wrapper > table.display {
	width: 100% !important;
	min-width: 760px;
	border: 0;
	border-radius: 0;
}

/* Karta formularza i lista pod nią to dwa bloki, nie jeden sklejony. */
#zakladki_grobu.iac-grave-tabs .formularz_edycji + table.display,
#zakladki_grobu.iac-grave-tabs .formularz_edycji + .dataTables_wrapper {
	margin-top: 18px;
}

/* Tabela bez DataTables (Życiorysy) dostaje ten sam kadr, więc jej nagłówek nie
   może dotykać krawędzi ramki. */
#zakladki_grobu.iac-grave-tabs table.display thead th:first-child {
	border-top-left-radius: 7px;
}

#zakladki_grobu.iac-grave-tabs table.display thead th:last-child {
	border-top-right-radius: 7px;
}

#zakladki_grobu.iac-grave-tabs table.display tbody td {
	padding: 7px 8px;
}

/*
 * css3-buttons.css daje `.buttons` i `div.dropdown` z-index 999. Pasek zakładek jest
 * pozycjonowany (jQuery UI), ale bez warstwy, więc przy przewijaniu rozwijane przyciski
 * Płatności malowały się na kaflach zakładek. Panel dostaje własny kontekst układania,
 * z którego nic nie wyjdzie ponad nawigację.
 */
#zakladki_grobu.iac-grave-tabs > ul {
	position: relative;
	z-index: 2;
}

#zakladki_grobu.iac-grave-tabs > div.ui-tabs-panel {
	position: relative;
	z-index: 0;
}

/* Pasek rekordów każdej zakładki karty grobu (pochowani, dysponenci, opiekunowie,
   historia usług, korespondencja, zastrzeżenia, wyposażenie). Legacy `.buttons`
   z meta.css ma `width: 100%` w content-boxie, więc w panelu z paddingiem wystawał
   poza kartę i siadał gdziekolwiek — tutaj wypełnia całą górną krawędź panelu.
   Układ usuwa floaty, ale zachowuje wszystkie id/klasy używane przez skrypty. */
#zakladki_grobu .iac-record-bar {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 7px;
	width: auto !important;
	min-height: 44px;
	/* Panel ma padding 18 px i ramkę 1 px — stąd ujemne marginesy i promień 7 px,
	   żeby pasek dosiadł do zaokrąglonego rogu karty bez białego prześwitu. */
	margin: -18px -18px 18px !important;
	padding: 10px 12px !important;
	/* Menu „Drukuj kartę” jest pozycjonowane absolutnie. Scroll paska zamykał je
	   w środku i dawał przewijaną listę zamiast nakładki nad formularzem. */
	overflow: visible;
	box-sizing: border-box;
	border: 0 !important;
	border-bottom: 1px solid #dde3e1 !important;
	border-radius: 7px 7px 0 0;
	background: #f7f9f8 !important;
}

/* Akcje (Dodaj, Usuń, Drukuj…) stoją w markupie raz przed listą rekordów, raz po
   niej, a trzymał je `float: right`. Kolejność flexa ustawia je zawsze po prawej,
   niezależnie od tego, gdzie siedzą w HTML-u. */
#zakladki_grobu .iac-record-bar > a.button,
#zakladki_grobu .iac-record-bar > label.button {
	order: 1;
}

/* Wolne miejsce dzieli się po równo między wszystkie marginesy `auto`, więc rozpycha
   je jedna kotwica: ostatni rekord na liście albo — gdy listy nie ma — pierwsza grupa akcji. */
#zakladki_grobu .iac-record-bar > a.button:last-of-type,
#zakladki_grobu .iac-record-bar > label.button:last-of-type {
	margin-right: auto !important;
}

#zakladki_grobu .iac-record-bar > div {
	order: 2;
	float: none !important;
	margin-left: auto !important;
}

#zakladki_grobu .iac-record-bar > a.button ~ div,
#zakladki_grobu .iac-record-bar > label.button ~ div {
	margin-left: 0 !important;
}

#zakladki_grobu .iac-record-bar > .dropdown {
	position: relative;
	z-index: 5;
}

#zakladki_grobu .iac-record-bar .dropdown-slider {
	z-index: 6;
}

/* Wszystkie kontrolki paska mają jedną wysokość — legacy `.button` (18 px + float
   + margin 5px) i `button.action` (29 px) mieszały się w jednym wierszu i wyglądały
   na porozjeżdżane. */
#zakladki_grobu .iac-record-bar a.button,
#zakladki_grobu .iac-record-bar button.action {
	float: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 6px;
	height: auto !important;
	min-height: 34px;
	margin: 0 !important;
	padding: 0 12px !important;
	box-sizing: border-box;
	border: 1px solid #b9c8c4 !important;
	border-radius: 5px !important;
	background: #fff !important;
	color: var(--iac-green) !important;
	font: 650 12px/1 inherit !important;
	text-shadow: none !important;
	box-shadow: none !important;
}

#zakladki_grobu .iac-record-bar a.button:hover,
#zakladki_grobu .iac-record-bar button.action:hover {
	border-color: var(--iac-green) !important;
	background: var(--iac-tint) !important;
}

#zakladki_grobu .iac-record-bar a.button.on,
#zakladki_grobu .iac-record-bar button.action.blue {
	border-color: var(--iac-green) !important;
	background: var(--iac-green) !important;
	color: #fff !important;
}

#zakladki_grobu .iac-record-bar a.button.on:hover,
#zakladki_grobu .iac-record-bar button.action.blue:hover {
	background: var(--iac-green-mid) !important;
}

/* css3-buttons trzyma `span.label { color: #444 }` i białą poświatę tekstu, więc
   na zielonym tle napis stawał się nieczytelny. */
#zakladki_grobu .iac-record-bar span.label {
	float: none !important;
	height: auto !important;
	padding: 0 !important;
	overflow: visible !important;
	color: inherit !important;
	font-weight: 650 !important;
	line-height: 1 !important;
	text-shadow: none !important;
}

#zakladki_grobu .iac-record-bar span.icon {
	float: none !important;
	margin: 0 !important;
	opacity: .8;
}

/* Szary sprite ikon ginął na zielonym tle aktywnego przycisku. */
#zakladki_grobu .iac-record-bar a.button.on span.icon,
#zakladki_grobu .iac-record-bar button.action.blue span.icon {
	filter: brightness(0) invert(1);
	opacity: 1;
}

/* Każdy wariant grupy akcji (normal, dodaj, usun, przenies, ekshumacja…) układa się
   tak samo; `.dropdown` zostaje blokiem, bo jego lista rozwijana wisi na nim absolutnie. */
#zakladki_grobu .iac-record-bar > div:not(.dropdown) {
	display: flex;
	align-items: center;
	gap: 6px;
}

#zakladki_grobu .iac-record-bar > .dropdown {
	position: relative;
}

/* Legacy czyścił floaty pustymi divami — we flexie taki div zjadałby wolne miejsce. */
#zakladki_grobu .iac-record-bar > div[style*="clear"] {
	display: none !important;
}

/* Wyposażenie trzyma formularz dodawania w środku paska (tak jest w legacy),
   więc dostaje pełny wiersz zamiast miejsca obok przycisków. */
#zakladki_grobu .iac-record-bar > .formularz_edycji {
	order: 3;
	flex: 1 0 100%;
	margin-left: 0 !important;
}

#zakladki_grobu .iac-record-tab .formularz_edycji {
	width: min(720px, 100%) !important;
	margin: 0 !important;
	padding: 20px !important;
	box-sizing: border-box;
	border: 1px solid #dce3e1;
	border-radius: 8px;
	background: #fbfcfc;
	box-shadow: 0 4px 16px rgba(23, 32, 51, .06);
	font-size: 13px;
}

/* Formularz bez paska rekordów (Życiorysy) sam zapowiada, co robi. */
#zakladki_grobu .iac-record-tab .formularz_edycji > .iac-form-title {
	margin: 0 0 14px;
	padding: 0 0 12px;
	border-bottom: 1px solid #e3e9e7;
	color: var(--iac-green);
	font-size: 14px;
	font-weight: 700;
}

/* Podpowiedź (np. licznik znaków) siada pod polem, nie w wąskiej kolumnie ikon. */
#zakladki_grobu .iac-record-tab .formularz_edycji .iac-form-hint {
	grid-column: 2;
	grid-row: 2;
	float: none !important;
	margin: 4px 0 0 !important;
	color: #6d7a77;
	font-size: 11px;
}

#zakladki_grobu .iac-record-tab .formularz_edycji .iac-form-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin: 16px 0 0;
	padding: 14px 0 0 155px;
	border-top: 1px solid #e3e9e7;
}

#zakladki_grobu .iac-record-tab .formularz_edycji .iac-form-actions .button {
	float: none !important;
	display: inline-flex !important;
	align-items: center;
	gap: 6px;
	height: 34px;
	margin: 0 !important;
	padding: 0 14px !important;
}

/* Pole pliku zostaje natywne, ale w tym samym rytmie co reszta wierszy. */
#zakladki_grobu .iac-record-tab .formularz_edycji input[type="file"] {
	float: none !important;
	width: 100% !important;
	max-width: 360px;
	margin: 0 !important;
	padding: 6px 8px;
	box-sizing: border-box;
	border: 1px dashed #b9c8c4;
	border-radius: 5px;
	background: #fff;
	font-size: 12px;
}

#zakladki_grobu .iac-record-tab .formularz_edycji > div[style*="width:"] {
	width: 100% !important;
	box-sizing: border-box;
}

#zakladki_grobu .iac-record-tab .formularz_edycji p {
	display: grid;
	grid-template-columns: 145px minmax(210px, 360px) 26px;
	align-items: center;
	gap: 10px;
	clear: both;
	width: 100%;
	height: auto !important;
	min-height: 42px;
	margin: 0 0 10px;
}

#zakladki_grobu .iac-record-tab .formularz_edycji label.lab {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	padding: 0 !important;
	color: #475451;
	font-weight: 650;
	line-height: 1.35;
	text-align: left;
}

#zakladki_grobu .iac-record-tab .formularz_edycji input[type="text"],
#zakladki_grobu .iac-record-tab .formularz_edycji select,
#zakladki_grobu .iac-record-tab .formularz_edycji .ms-parent {
	float: none !important;
	width: 100% !important;
	max-width: 360px;
	margin: 0 !important;
	box-sizing: border-box;
	border: 1px solid #b9c8c4 !important;
	border-radius: 5px !important;
	background-color: #fff;
	color: var(--iac-text);
	font-size: 13px;
}

#zakladki_grobu .iac-record-tab .formularz_edycji input[type="text"],
#zakladki_grobu .iac-record-tab .formularz_edycji select,
#zakladki_grobu .iac-record-tab .formularz_edycji .ms-parent {
	height: 36px !important;
	line-height: 22px;
}

/* `.ms-choice` z tą samą wysokością co ramka rodzica (36 px w border-boxie) wystawał
   o grubość ramek i swoim tłem zamalowywał dolną krawędź pola. */
#zakladki_grobu .iac-record-tab .formularz_edycji .ms-parent .ms-choice {
	height: 100% !important;
}

#zakladki_grobu .iac-record-tab .formularz_edycji input[type="text"],
#zakladki_grobu .iac-record-tab .formularz_edycji select {
	padding: 6px 10px !important;
}

/* multiple-select trzyma etykietę w `span` pozycjonowanym absolutnie i liczy ją
   z line-height 26 px, więc po podniesieniu kontrolki do 36 px tekst zostawał
   przy górnej krawędzi, a strzałka wisiała nad nim. */
#zakladki_grobu .iac-record-tab .formularz_edycji .ms-parent .ms-choice {
	padding: 0 !important;
	border: 0 !important;
	border-radius: 5px;
	line-height: 34px !important;
	box-shadow: none;
}

/* Etykieta wisiała absolutnie na line-height kontrolki, przez co przy 36 px
   ucinała dolne krawędzie liter. Wraca do normalnego przepływu i centruje się
   flexem, więc wysokość pola przestaje mieć znaczenie. */
#zakladki_grobu .iac-record-tab .formularz_edycji .ms-parent .ms-choice > span {
	position: static !important;
	display: flex !important;
	align-items: center;
	height: 100%;
	padding: 0 34px 0 10px !important;
	box-sizing: border-box;
	line-height: 1.35 !important;
}

#zakladki_grobu .iac-record-tab .formularz_edycji .ms-parent .ms-choice > div {
	top: 0;
	right: 6px;
	height: 100%;
}

#zakladki_grobu .iac-record-tab .formularz_edycji .ms-parent .ms-choice > div:after {
	top: 50%;
	margin-top: -4px;
}

/* Kalendarz jest tłem inputa (`.input_data`) — bez zapasu z prawej strony
   ikona nachodziła na wpisaną datę. */
#zakladki_grobu .iac-record-tab .formularz_edycji input.input_data,
#zakladki_grobu .iac-record-tab .formularz_edycji input.input_godzina {
	padding-right: 32px !important;
	background-position: right 9px center !important;
}

/*
 * Uwagi i pozostałe pola wielowierszowe startują jak dotąd (360 px), ale róg
 * zmienia też szerokość. `width: 100% !important` i `max-width: 360px` z reguły
 * pól jednoliniowych wygrywały z szerokością wpisywaną przy ciągnięciu.
 */
#zakladki_grobu .iac-record-tab .formularz_edycji textarea {
	float: none !important;
	width: 360px;
	min-width: 210px;
	max-width: none;
	margin: 0 !important;
	box-sizing: border-box;
	border: 1px solid #b9c8c4 !important;
	border-radius: 5px !important;
	background-color: #fff;
	color: var(--iac-text);
	font-size: 13px;
	min-height: 104px;
	padding: 9px 10px !important;
	line-height: 1.45;
	resize: both;
}

#zakladki_grobu .iac-record-tab .formularz_edycji input[type="text"]:focus,
#zakladki_grobu .iac-record-tab .formularz_edycji select:focus,
#zakladki_grobu .iac-record-tab .formularz_edycji textarea:focus {
	border-color: var(--iac-green-light) !important;
	box-shadow: 0 0 0 3px rgba(10, 107, 91, .16);
	outline: 0;
}

#zakladki_grobu .iac-record-tab .formularz_edycji input[disabled],
#zakladki_grobu .iac-record-tab .formularz_edycji select[disabled],
#zakladki_grobu .iac-record-tab .formularz_edycji textarea[disabled] {
	background-color: #f4f6f5 !important;
	color: #6d7a77;
}

#zakladki_grobu .iac-record-tab .formularz_edycji p:has(textarea) {
	grid-template-columns: 145px minmax(210px, max-content) auto;
	align-items: start;
	padding-top: 4px;
	overflow: visible;
}

#zakladki_grobu .iac-record-tab .formularz_edycji p:has(textarea) label.lab {
	padding-top: 9px !important;
}

#zakladki_grobu .iac-record-tab .historia_zmian {
	float: none !important;
	margin: 0 !important;
}

/* Wiersz „Wykonawca” ma obok pola dwie dodatkowe kontrolki (historia zmian
   i dodanie kontrahenta) — w siatce trzykolumnowej czwarty element spadał do
   kolejnego wiersza i rozciągał się na pół formularza. */
#zakladki_grobu .iac-record-tab .formularz_edycji p:has(.dodaj_kontrahenta) {
	grid-template-columns: 145px minmax(210px, 360px) auto auto;
}

#zakladki_grobu .iac-record-tab .formularz_edycji .dodaj_kontrahenta {
	float: none !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px !important;
	margin: 0 !important;
	padding: 0 !important;
	box-sizing: border-box;
	border: 1px solid #b9c8c4 !important;
	border-radius: 5px !important;
	background: #fff !important;
	box-shadow: none !important;
	cursor: pointer;
}

#zakladki_grobu .iac-record-tab .formularz_edycji .dodaj_kontrahenta:hover {
	border-color: var(--iac-green) !important;
	background: var(--iac-tint) !important;
}

#zakladki_grobu .iac-record-tab .formularz_edycji .dodaj_kontrahenta span.icon {
	float: none !important;
	margin: 0 !important;
}

/* Wiersz załączników to <div>, nie <p> — bez własnej siatki jego etykieta
   i lista plików zostawały floatami i lądowały w odwrotnej kolejności. */
#zakladki_grobu .iac-record-tab .formularz_edycji div[class$="_zalaczniki"] {
	display: grid;
	grid-template-columns: 145px minmax(0, 1fr);
	align-items: start;
	gap: 10px;
	width: 100%;
	margin: 0 0 10px;
	overflow: visible !important;
}

#zakladki_grobu .iac-record-tab .formularz_edycji div[class$="_zalaczniki"] > label.lab {
	padding-top: 2px !important;
}

#zakladki_grobu .iac-record-tab .formularz_edycji div[class$="_zalaczniki"] > div {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	color: #475451;
}

/* Chip tylko dla realnego pliku — „- brak -” to zwykły tekst i w obwódce
   wyglądał jak pusty, klikalny element. */
#zakladki_grobu .iac-record-tab .formularz_edycji div[class$="_zalaczniki"] > div > span:has(a) {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	max-width: 100%;
	margin: 0 6px 6px 0;
	padding: 5px 9px;
	border: 1px solid #b9c8c4;
	border-radius: 14px;
	background: #fff;
}

#zakladki_grobu .iac-record-tab .formularz_edycji div[class$="_zalaczniki"] > div > span:not(:has(a)) {
	color: #6d7a77;
	font-style: normal !important;
}

#zakladki_grobu .iac-record-tab .formularz_edycji div[class$="_zalaczniki"] > div > span br {
	display: none;
}

#zakladki_grobu .iac-record-tab .formularz_edycji div[class$="_zalaczniki"] a {
	color: var(--iac-green) !important;
	font-style: normal !important;
	font-weight: 650;
}

#zakladki_grobu .iac-record-tab .formularz_edycji div[class$="_zalaczniki"] a.del_file {
	color: #a4342c !important;
}

/* Pole pliku dziedziczy pustą etykietę z legacy markupu — przycisk ma stać
   w kolumnie pól, żeby nie wisiał samotnie pod formularzem. */
#zakladki_grobu .iac-record-tab .formularz_edycji p:has(input[type="file"]) {
	grid-template-columns: 145px minmax(0, 1fr);
	min-height: 0;
}

/* UploadiFive rysuje własny szary guzik z wersalikami i zaokrągleniem 30 px,
   a wstrzyknięty `span.label` dziedziczy z css3-buttons kolor #444 — napis
   „Dodaj załącznik” znikał na ciemnym tle. */
#zakladki_grobu .iac-record-tab .uploadifive-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: auto !important;
	height: 36px !important;
	padding: 0 16px !important;
	box-sizing: border-box;
	border: 1px solid var(--iac-green) !important;
	border-radius: var(--iac-radius) !important;
	background: var(--iac-green) !important;
	color: #fff !important;
	font: 650 12px/1 inherit !important;
	letter-spacing: 0;
	text-align: center;
	text-shadow: none !important;
	text-transform: none !important;
	box-shadow: none !important;
}

#zakladki_grobu .iac-record-tab .uploadifive-button:hover {
	background: var(--iac-green-mid) !important;
}

#zakladki_grobu .iac-record-tab .uploadifive-button span.label {
	float: none !important;
	height: auto !important;
	padding: 0 !important;
	overflow: visible !important;
	color: #fff !important;
	font-weight: 650 !important;
	line-height: 1 !important;
	text-shadow: none !important;
}

#zakladki_grobu .iac-record-tab .uploadifive-button span.icon {
	float: none !important;
	margin: 0 !important;
	filter: brightness(0) invert(1);
}

/* Biblioteka kotwiczy przezroczysty <input type="file"> w prawym górnym rogu
   i skaluje go font-size'em z inicjalizacji (18 px), więc po podniesieniu
   przycisku do 36 px dolna połowa nie miała pod sobą kontrolki. Rozciągnięcie
   pola na cały przycisk przywraca klikalność bez zmian w bibliotece. */
#zakladki_grobu .iac-record-tab .uploadifive-button input[type="file"] {
	top: 0 !important;
	right: 0 !important;
	bottom: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	min-width: 100%;
	margin: 0 !important;
	padding: 0 !important;
	/* Natywny guzik pola pliku reaguje tylko na swoim wycinku, więc mysz oddajemy
	   całemu przyciskowi (libs/iac-grave-ui.js przekazuje klik do pola). */
	pointer-events: none;
}

/* Kolejka uploadu: wiersz stanu pliku, a nie szeroki pasek nad formularzem.
   Błąd musi być widoczny — legacy pokazywał go szarym tekstem na szarym tle. */
#zakladki_grobu .iac-record-tab div[id^="custom-queue-"]:not(:empty) {
	max-width: min(720px, 100%);
	margin: 0 0 14px;
}

#zakladki_grobu .iac-record-tab .uploadifive-queue-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin: 0 0 6px !important;
	padding: 10px 12px !important;
	border: 1px solid #dce3e1;
	border-bottom: 1px solid #dce3e1 !important;
	border-radius: 6px !important;
	background: #fff !important;
	color: #475451;
	font: 12px/1.35 inherit !important;
}

#zakladki_grobu .iac-record-tab .uploadifive-queue-item.error {
	border-color: #e2b6b1;
	background: #fdf4f3 !important;
	color: #8f2f26;
}

#zakladki_grobu .iac-record-tab .uploadifive-queue-item .close {
	float: none !important;
	order: 9;
	margin-left: auto;
	opacity: .75;
}

#zakladki_grobu .iac-record-tab .uploadifive-queue-item .close:hover {
	opacity: 1;
}

#zakladki_grobu .iac-record-tab .uploadifive-queue-item .progress {
	flex: 1 0 100%;
	margin-top: 4px !important;
	border-color: #dce3e1 !important;
	border-radius: 3px;
}

#zakladki_grobu .iac-record-tab .uploadifive-queue-item .progress-bar {
	background-color: var(--iac-green-light) !important;
	border-radius: 3px;
}

/* Wybór właściciela wyposażenia z dysponentów i opiekunów grobu. */
.iac-owner-pick {
	display: flex;
	flex-direction: column;
	gap: 6px;
}

.iac-owner-pick button {
	float: none !important;
	width: 100%;
	height: auto !important;
	min-height: 36px;
	margin: 0 !important;
	padding: 8px 12px !important;
	box-sizing: border-box;
	border: 1px solid #b9c8c4 !important;
	border-radius: 5px !important;
	background: #fff !important;
	color: var(--iac-green) !important;
	font-weight: 650;
	text-align: left;
	cursor: pointer;
}

.iac-owner-pick button:hover {
	border-color: var(--iac-green) !important;
	background: var(--iac-tint) !important;
}

#zakladki_grobu .iac-record-tab [id^="brak_"] {
	max-width: 520px;
	margin: 35px auto !important;
	padding: 28px;
	box-sizing: border-box;
	border: 1px dashed #c8d4d1;
	border-radius: 8px;
	background: #f8faf9;
}

#zakladki_grobu .iac-record-tab [id^="brak_"] img {
	width: 52px;
	height: 52px;
	opacity: .65;
}

#zakladki_grobu .iac-record-tab [id^="brak_"] h2 {
	margin: 10px 0 0;
	color: #66736f !important;
	font-size: 16px;
	font-weight: 650;
}

@media (max-width: 760px) {
	#zakladki_grobu.iac-grave-tabs {
		padding-right: 6px;
		padding-left: 6px;
	}

	#zakladki_grobu.iac-grave-tabs > ul {
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		scrollbar-width: thin;
	}

	#zakladki_grobu.iac-grave-tabs > ul > li {
		flex: 0 0 auto;
	}

	#zakladki_grobu.iac-grave-tabs > div.ui-tabs-panel {
		padding: 14px !important;
	}

	#zakladki_grobu .iac-record-bar {
		margin: -14px -14px 14px;
	}

	#zakladki_grobu .iac-record-tab .formularz_edycji p {
		grid-template-columns: minmax(0, 1fr) 26px;
		gap: 6px 8px;
	}

	#zakladki_grobu .iac-record-tab .formularz_edycji p:has(input[type="file"]),
	#zakladki_grobu .iac-record-tab .formularz_edycji div[class$="_zalaczniki"] {
		grid-template-columns: minmax(0, 1fr);
	}

	#zakladki_grobu .iac-record-tab .formularz_edycji label.lab {
		grid-column: 1 / -1;
	}
}

/* jednolite paski 42px w zakładkach ustawień */
div[style*="background:#2c5884"] {
	background: var(--iac-gradient) !important;
}

/* ── widoki doklejane AJAX-em ─────────────────────────────────────
   Ich <style> trafia do DOM po tym arkuszu, więc przy równej
   specyficzności wygrywa — stąd !important poniżej. */
.ui-progressbar-value {
	background-color: var(--iac-green) !important;
}

.iac-report-pager a,
.iac-report-pager span,
.iac-ksiegi-pager a,
.iac-ksiegi-pager span {
	border-color: var(--iac-green) !important;
	background: var(--iac-green) !important;
	color: #fff !important;
}

.iac-report-pager a:hover,
.iac-ksiegi-pager a:hover {
	background: var(--iac-green-mid) !important;
}

.iac-report-pager span.iac-report-pager-info,
.iac-ksiegi-pager span.iac-ksiegi-pager-info {
	background: transparent !important;
	border-color: transparent !important;
	color: #333 !important;
}

.iac-report-pager span.iac-report-pager-disabled,
.iac-ksiegi-pager span.iac-ksiegi-pager-disabled {
	background: #9aa7b5 !important;
	border-color: #9aa7b5 !important;
}

.iac-report-pager a.iac-report-pager-current,
.iac-ksiegi-pager a.iac-ksiegi-pager-current {
	background: #fff !important;
	color: var(--iac-green) !important;
}

/* ── podpanel Grobonet w IAC ──────────────────────────────────────*/
.grobonet-admin .ga-section-title,
.grobonet-admin .ga-card__title {
	color: var(--iac-green) !important;
}

.grobonet-admin .ga-table th,
.ga-table th {
	background: var(--iac-gradient) !important;
	color: #fff !important;
	border-right-color: rgba(255, 255, 255, 0.25) !important;
}

.grobonet-admin .ga-notice {
	border-left-color: var(--iac-gold) !important;
	background: var(--iac-tint) !important;
}

/* ── strona logowania ─────────────────────────────────────────────
   Szare okno i biała treść zostają; przyciski były sprite'ami PNG
   (button_zaloguj/wyslij/zapisz.png) z pustym value — teraz to zwykłe
   przyciski CSS, więc etykiety doszły w widokach auth/*. */
.login-title {
	color: var(--iac-green) !important;
}

.login-content {
	border-top: 3px solid var(--iac-green) !important;
}

#login .ok,
#login .wyslij,
#login .zapisz {
	width: auto !important;
	height: auto !important;
	padding: 7px 20px !important;
	background: var(--iac-gradient) !important;
	border: 1px solid var(--iac-green) !important;
	border-radius: var(--iac-radius) !important;
	color: #fff !important;
	font: bold 12px Verdana, Arial, sans-serif !important;
	cursor: pointer;
}

#login .ok:hover,
#login .wyslij:hover,
#login .zapisz:hover,
#login .ok:focus,
#login .wyslij:focus,
#login .zapisz:focus {
	background: var(--iac-gradient-hover) !important;
}

#login .ok:focus-visible,
#login .wyslij:focus-visible,
#login .zapisz:focus-visible {
	outline: 2px solid var(--iac-gold-light);
	outline-offset: 2px;
}

/* podglądanie hasła — ikona miała limonkowy hover (#78b900) */
#login .toggle-password:hover .toggle-password-icon,
#login .toggle-password:focus .toggle-password-icon {
	stroke: var(--iac-green-mid) !important;
}

/* ── dialogi jQuery UI ────────────────────────────────────────────
   Motyw ui-lightness jest pomarańczowy; nadpisujemy go w całości,
   ale tła paneli zostają szaro-białe. */
.ui-dialog {
	border: 1px solid var(--iac-border-strong) !important;
	border-radius: var(--iac-radius-lg) !important;
	box-shadow: 0 12px 32px rgba(0, 0, 0, 0.24);
}

.ui-dialog .ui-dialog-titlebar {
	border: 0 !important;
	border-radius: var(--iac-radius-lg) var(--iac-radius-lg) 0 0 !important;
}

/*
 * X zamykający okno rysujemy znakiem, nie sprite'em PNG.
 * Dwa źródła ikony zawodziły: motyw ui-lightness bierze ją z
 * ui-icons_ef8c08_256x240.png (pomarańcz na zielonym pasku), a moduł płatności
 * podmieniał zawartość przycisku na <span class="icon icon48"> — ten sprite
 * (css3-buttons.css) obowiązuje wyłącznie wewnątrz .button, więc w pasku tytułu
 * zostawał pusty kwadrat 22×22 i okna „Produkty” nie było czym zamknąć.
 * Znak działa niezależnie od tego, co JS wstrzyknie do środka przycisku.
 *
 * SELEKTORY MUSZĄ BYĆ TAK DŁUGIE. Niżej w tym pliku stoją reguły
 * .ui-dialog .ui-state-default / .ui-state-hover (dla przycisków w oknie
 * i w kalendarzu). Mają tę samą siłę co krótkie .ui-dialog .ui-dialog-titlebar-close,
 * a leżą PÓŹNIEJ, więc wygrywały: przycisk robił się biały (--iac-surface),
 * a biały znak na białym tle znikał — X „pojawiał się dopiero po najechaniu”.
 * jQuery UI dokłada .ui-state-hover na hover, stąd osobne warianty niżej.
 */
.ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close,
.ui-dialog .ui-dialog-titlebar-close.ui-corner-all,
.ui-dialog .ui-dialog-titlebar-close.ui-state-default {
	display: block !important;
	visibility: visible !important;
	opacity: 1 !important;
	width: 22px !important;
	height: 22px !important;
	right: 8px !important;
	top: 50% !important;
	margin: -11px 0 0 0 !important;
	padding: 0 !important;
	border: 1px solid rgba(255, 255, 255, 0.35) !important;
	border-radius: 4px !important;
	background: rgba(0, 0, 0, 0.18) !important;
	box-sizing: border-box !important;
	text-indent: 0 !important;
	overflow: visible !important;
	z-index: 10 !important;
}

.ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close:hover,
.ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close:focus,
.ui-dialog .ui-dialog-titlebar-close.ui-state-hover,
.ui-dialog .ui-dialog-titlebar-close.ui-state-focus {
	border-color: var(--iac-gold-light) !important;
	background: rgba(0, 0, 0, 0.34) !important;
}

.ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close::before,
.ui-dialog .ui-dialog-titlebar-close.ui-state-hover::before {
	content: '\00d7';
	display: block;
	width: 20px;
	line-height: 19px;
	color: #fff !important;
	font-family: arial, helvetica, sans-serif;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}

/* Sprite'owy/pusty span pod spodem — inaczej obok znaku siedziałby drugi
   znacznik albo pomarańczowa ikona motywu. */
.ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close .ui-icon,
.ui-dialog .ui-dialog-titlebar .ui-dialog-titlebar-close .icon {
	display: none !important;
}

/* Zapasowy X doklejany kiedyś przez JS płatności. Nosił klasę .button, więc
   w pasku tytułu wychodził z niego biały, pusty kafel udający znacznik zamknięcia
   (sprite icon48 ma tło tylko w kontekście przycisków formularzy). Skrypty już go
   nie tworzą — reguła zostaje na wypadek starej kopii JS w cache przeglądarki. */
.ui-dialog .ui-dialog-titlebar .iac-dialog-x {
	display: none !important;
}

.ui-dialog .ui-dialog-content,
.ui-dialog.ui-widget-content {
	background: #fff !important;
	border-color: var(--iac-border) !important;
	color: var(--iac-text) !important;
}

.ui-dialog .ui-dialog-buttonpane {
	background: var(--iac-surface-2) !important;
	border-top-color: var(--iac-border) !important;
}

.ui-widget-overlay {
	background: rgba(23, 32, 51, 0.45) !important;
	opacity: 1 !important;
}

/* Klikalne elementy motywu — tylko w dialogu i w kalendarzu. Bez tego
   zawężenia .ui-state-active trafiało w kolumnę "dzisiaj" w terminarzu
   (jquery.weekcalendar nadaje jej klasy "ui-state-active wc-today"). */
.ui-dialog .ui-state-default,
.ui-datepicker .ui-state-default {
	background: var(--iac-surface) !important;
	border-color: var(--iac-border) !important;
	color: var(--iac-text) !important;
	font-weight: normal !important;
}

.ui-dialog .ui-state-hover,
.ui-dialog .ui-state-focus,
.ui-datepicker .ui-state-hover,
.ui-datepicker .ui-state-focus {
	background: var(--iac-tint) !important;
	border-color: var(--iac-green-mid) !important;
	color: var(--iac-green) !important;
}

.ui-dialog .ui-state-active,
.ui-datepicker .ui-state-active {
	background: var(--iac-green) !important;
	border-color: var(--iac-green) !important;
	color: #fff !important;
}

/* dziś / wyróżnienie — złoto zamiast pomarańczu ui-lightness */
.ui-dialog .ui-state-highlight,
.ui-datepicker .ui-state-highlight {
	background: #f6efdd !important;
	border-color: var(--iac-gold) !important;
	color: var(--iac-text) !important;
}

.ui-dialog .ui-dialog-buttonpane button {
	background: var(--iac-gradient) !important;
	border: 1px solid var(--iac-green) !important;
	color: #fff !important;
}

.ui-dialog .ui-dialog-buttonpane button:hover {
	background: var(--iac-gradient-hover) !important;
}

/* Nawigacja i przełącznik widoku w pasku terminarza ("<", "Dziś", ">",
   "1 dzień", "3 dni", "Tydzień"). To buttonset jQuery UI, a widok terminarza
   maluje go na #CCCCCC z białym tekstem — na zielonym pasku nieczytelnie.
   Styl jak zakładki menu: przezroczysty kafel, aktywny biały. */
.wc-toolbar .ui-button,
.wc-toolbar .ui-state-default,
.wc-toolbar .wc-nav button,
.wc-toolbar .wc-display button {
	background: rgba(255, 255, 255, 0.14) !important;
	background-image: none !important;
	border: 1px solid rgba(212, 188, 120, 0.5) !important;
	color: #fff !important;
	text-shadow: none !important;
	font: bold 11px Verdana, Arial, sans-serif !important;
	cursor: pointer;
}

/* jQuery UI skleja buttonset ujemnym marginesem (.ui-buttonset .ui-button ma
   margin-right: -.3em), żeby ramki sąsiadów zlały się w jeden szew. Nasze kafle
   mają własną ramkę i półprzezroczyste tło, więc zamiast szwu przyciski
   nachodziły na siebie — rozsuwamy je i zaokrąglamy każdy osobno. */
.wc-toolbar .ui-buttonset {
	display: flex;
	align-items: center;
	gap: 4px;
}

.wc-toolbar .ui-buttonset .ui-button {
	margin: 0 !important;
	border-radius: 6px !important;
}

.wc-toolbar .ui-button .ui-button-text {
	background: none !important;
	color: #fff !important;
	padding: 3px 10px !important;
}

.wc-toolbar .ui-button:hover,
.wc-toolbar .ui-state-hover,
.wc-toolbar .ui-state-focus {
	background: rgba(255, 255, 255, 0.28) !important;
	border-color: var(--iac-gold-light) !important;
}

.wc-toolbar .ui-state-active {
	background: #fff !important;
	border-color: #fff !important;
	color: var(--iac-green) !important;
}

.wc-toolbar .ui-state-active .ui-button-text {
	color: var(--iac-green) !important;
}

/* Weekcalendar buduje "Dziś" z ikoną ui-icon-home (domek) — zbędna, sam
   napis wystarcza. Strzałki "<" / ">" to przyciski bez tekstu, więc ich
   ikony zostają, tylko z pomarańczowego sprite'a ui-lightness robimy biel. */
.wc-toolbar .wc-today .ui-button-icon-primary {
	display: none !important;
}

.wc-toolbar .ui-button .ui-icon {
	filter: brightness(0) invert(1);
}

.wc-toolbar .ui-button-icon-only .ui-button-text {
	padding: 0 !important;
}

.wc-toolbar .wc-title {
	color: #fff !important;
	font-weight: bold;
}

/* Terminarz: kolumna "dziś" i nagłówki godzin mają klasy ui-state-*
   z weekcalendar — nie wolno im przejąć zieleni z dialogów. */
.wc-time-slots .wc-today,
.wc-time-slots .wc-today.ui-state-active,
.wc-header .wc-today,
.wc-header .wc-today.ui-state-active,
.wc-hour-header,
.wc-hour-header.ui-state-default,
.wc-hour-header.ui-state-active {
	background: transparent !important;
	background-image: none !important;
	color: inherit !important;
}

/* ── kalendarz (datepicker) ───────────────────────────────────────*/
#ui-datepicker-div,
.ui-datepicker {
	border: 1px solid var(--iac-border-strong) !important;
	border-radius: var(--iac-radius-lg) !important;
	background: #fff !important;
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.18);
}

.ui-datepicker .ui-datepicker-header {
	border: 0 !important;
	border-radius: var(--iac-radius-lg) var(--iac-radius-lg) 0 0 !important;
	background-image: var(--iac-gradient) !important;
	color: #fff !important;
}

.ui-datepicker .ui-datepicker-title,
.ui-datepicker .ui-datepicker-title select {
	color: #fff !important;
}

.ui-datepicker .ui-datepicker-title select {
	background: rgba(255, 255, 255, 0.14) !important;
	border: 1px solid rgba(255, 255, 255, 0.35) !important;
}

/* strzałki miesięcy: w ui-lightness to kafle .ui-state-hover z ramką */
.ui-datepicker .ui-datepicker-prev,
.ui-datepicker .ui-datepicker-next,
.ui-datepicker .ui-datepicker-prev-hover,
.ui-datepicker .ui-datepicker-next-hover {
	background: rgba(255, 255, 255, 0.16) !important;
	border: 1px solid rgba(255, 255, 255, 0.3) !important;
	border-radius: var(--iac-radius) !important;
	top: 2px !important;
}

.ui-datepicker th {
	color: var(--iac-green) !important;
	border-bottom: 1px solid var(--iac-border) !important;
}

.ui-datepicker td .ui-state-default {
	text-align: center;
}

/* ── karta grobu: ważność, księgi i opłaty ───────────────────────*/
#grob-1 #p_grob_miejsce_waznosc_grobu {
	width: 392px;
	margin: 12px 4px 18px;
	padding: 9px 11px 12px;
	box-sizing: border-box;
	background: #f6f9f8;
	border: 1px solid var(--iac-border-strong);
	border-radius: var(--iac-radius-lg);
	box-shadow: inset 3px 0 0 var(--iac-gold-light);
}

#grob-1 #p_grob_miejsce_waznosc_grobu legend {
	padding: 0 7px;
	color: var(--iac-green);
	background: #f6f9f8;
	font-weight: 700;
}

#grob-1 #p_grob_miejsce_waznosc_grobu > p,
#grob-1 #p_grob_miejsce_waznosc_grobu > div > p {
	margin-top: 5px;
	margin-bottom: 5px;
}

#grob-1 #p_grob_miejsce_waznosc_grobu .p_grob_ilosc_miejsc {
	display: flex;
	align-items: center;
	min-height: 32px;
	margin: 0 0 7px;
	padding-left: 130px;
}

#grob-1 #p_grob_miejsce_waznosc_grobu .p_grob_ilosc_miejsc > label.lab {
	float: none;
	width: 122px;
	margin: 0 8px 0 -130px;
	text-align: right;
}

.iac-grave-validity-head,
.iac-grave-validity-row {
	display: grid;
	grid-template-columns: 130px 116px 100px;
	column-gap: 6px;
	align-items: center;
}

.iac-grave-validity-head {
	margin: 0 0 3px;
	padding: 0 0 4px;
	color: var(--iac-text-muted);
	border-bottom: 1px solid var(--iac-border);
	font-size: 10px;
	font-weight: 700;
	text-align: center;
	text-transform: uppercase;
}

.iac-grave-validity-place {
	padding: 5px 0 7px;
	border-bottom: 1px solid #e1e6e4;
}

.iac-grave-validity-place:last-child {
	border-bottom: 0;
}

#grob-1 #p_grob_miejsce_waznosc_grobu .iac-grave-validity-row {
	height: auto;
	min-height: 29px;
	margin: 0;
}

#grob-1 #p_grob_miejsce_waznosc_grobu .iac-grave-validity-row > label.lab {
	float: none;
	width: auto;
	margin: 0;
	padding: 0;
	text-align: right;
}

.iac-grave-validity-field {
	display: flex;
	align-items: center;
	width: 116px;
	min-width: 0;
}

.iac-grave-validity-field--receipt {
	width: 100px;
}

#grob-1 #p_grob_miejsce_waznosc_grobu .iac-grave-validity-field > input {
	float: none;
	width: 92px !important;
	margin: 0 !important;
	box-sizing: border-box;
}

#grob-1 #p_grob_miejsce_waznosc_grobu .iac-grave-validity-field--receipt > input {
	width: 76px !important;
}

#grob-1 #p_grob_miejsce_waznosc_grobu .iac-grave-validity-field > .historia_zmian,
#grob-1 #p_grob_miejsce_waznosc_grobu .iac-grave-validity-field > .historia_zmian.historia_on {
	float: none !important;
	flex: 0 0 24px;
	margin: 0 !important;
}

#grob-1 #p_grob_miejsce_waznosc_grobu .iac-grave-validity-people {
	clear: both;
	height: auto !important;
	min-height: 0;
	margin: 2px 0 0 136px;
	padding: 0;
	color: var(--iac-text);
	line-height: 1.55;
}

#grob-1 #p_grob_miejsce_waznosc_grobu .iac-grave-validity-people:empty {
	display: none;
}

.iac-grave-doc-title {
	width: 570px;
	margin: 14px 0 0;
	padding: 7px 10px;
	box-sizing: border-box;
	color: var(--iac-green);
	background: var(--iac-tint);
	border-left: 4px solid var(--iac-gold);
	border-radius: var(--iac-radius) var(--iac-radius) 0 0;
	font-size: 13px;
	font-weight: 700;
}

.iac-grave-doc-list {
	width: 570px;
	height: auto;
	min-height: 0;
	margin: 0;
	overflow: visible;
	box-sizing: border-box;
	background: #fff;
	border: 1px solid var(--iac-border);
	border-top: 0;
}

.iac-grave-doc-title--narrow,
.iac-grave-doc-list--narrow {
	width: 370px;
}

table.iac-grave-doc-table {
	width: 100%;
	border: 0;
	border-collapse: collapse;
}

table.iac-grave-doc-table thead tr,
table.iac-grave-doc-table thead th {
	color: #fff !important;
	background: var(--iac-green-mid) !important;
	background-image: none !important;
}

table.iac-grave-doc-table thead th {
	padding: 6px 7px;
	border-right: 1px solid rgba(255, 255, 255, 0.22);
	font-size: 12px;
	font-weight: 700;
	text-align: center;
}

table.iac-grave-doc-table tbody td {
	padding: 6px 7px;
	border-bottom: 1px solid var(--iac-border);
	color: var(--iac-text);
}

table.iac-grave-doc-table tbody tr:nth-child(even) td {
	background: var(--iac-surface-2);
}

table.iac-grave-doc-table tbody tr:hover td {
	background: var(--iac-tint) !important;
}

/* ============================================================
   Preferencje — układ zgodny z Grobonet Admin
   ============================================================ */

.iac-settings-nav {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	gap: 1px;
	padding: 0 16px;
	background: #f1f1f1;
	border-top: 1px solid #d2d2d2;
	border-bottom: 1px solid #d2d2d2;
}

.iac-settings-nav__group {
	padding: 7px 8px 8px;
	border-right: 1px solid #d9dde0;
}

.iac-settings-nav__group--actions {
	margin-left: auto;
	border-right: 0;
}

.iac-settings-nav__label {
	display: block;
	margin: 0 0 5px 3px;
	color: #74808a;
	font-size: 9px;
	font-weight: 800;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}

.iac-settings-nav .buttons {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin: 0 !important;
	padding: 0 !important;
	border: 0 !important;
	background: transparent !important;
}

.iac-settings-nav .buttons .button {
	float: none !important;
	margin: 0 !important;
	border: 1px solid #c8ced3 !important;
	border-radius: 3px;
	background: #fff !important;
	box-shadow: none !important;
}

.iac-settings-nav .buttons .button:hover {
	background: #e9f0f6 !important;
	border-color: #9fb5c8 !important;
}

.iac-settings-nav .buttons .button.on {
	color: #fff !important;
	background: #1c4873 !important;
	border-color: #1c4873 !important;
}

/* css3-buttons.css daje każdemu .button biały text-shadow (emboss pod tekstem na
   jasnym tle). Na ciemnym tle aktywnego przycisku ta poświata wychodziła na wierzch
   i wyglądała jak druga, przesunięta o 1 px kopia napisu. */
.iac-settings-nav .buttons .button.on,
.iac-settings-nav .buttons .button.on .label {
	text-shadow: none !important;
}

.iac-settings-nav .buttons .button .label {
	color: inherit !important;
}

.iac-settings-nav .iac-excel-plus {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 14px;
	height: 14px;
	margin: 0 6px 0 8px;
	border: 1px solid #9aa3ab;
	border-radius: 50%;
	color: #5c6770;
	font-size: 12px;
	line-height: 1;
	font-weight: 700;
	vertical-align: middle;
}

.iac-backup-status {
	margin: 6px 0 0 3px;
	max-width: 220px;
	color: #1c4873;
	font-size: 12px;
	line-height: 1.35;
}

.iac-preferences {
	box-sizing: border-box;
	width: 100%;
	padding: 10px 12px 26px;
	color: var(--iac-text, #333);
}

/*
 * Kolumny zamiast siatki: karty mają bardzo różną liczbę pól, a w gridzie
 * wiersz był tak wysoki jak najwyższa karta i pod krótszymi zostawały puste pola.
 * Przepływ kolumnowy pakuje je ciasno i mieści więcej na jednym ekranie.
 */
.iac-pref-grid {
	columns: 330px 3;
	column-gap: 10px;
}

.iac-pref-card {
	scroll-margin-top: 92px;
	box-sizing: border-box;
	min-width: 0;
	margin: 0 0 10px;
	background: #fff;
	border: 1px solid #d2d2d2;
	border-radius: 4px;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.06);
	overflow: hidden;
	break-inside: avoid;
	page-break-inside: avoid;
}

/*
 * Jawny start kolumny. Balansowanie multicol przy kartach od 2 do 10 pól potrafiło
 * upakować całość w dwie kolumny i zostawić trzecią pustą, co zsuwało treść na środek.
 * Wymuszamy podział tylko wtedy, gdy trzy kolumny faktycznie się mieszczą — niżej
 * przeglądarka balansuje sama, bo nadmiar wymuszonych podziałów rozpycha układ w bok.
 */
@media (min-width: 1100px) {
	.iac-pref-card--col-start {
		break-before: column;
	}
}

.iac-pref-card__header {
	padding: 9px 12px 8px;
	background: #f7f9fa;
	border-bottom: 1px solid #e2e6e8;
}

.iac-pref-card__header h3 {
	margin: 0 0 2px;
	color: #1c4873;
	font-size: 13px;
	line-height: 1.25;
}

.iac-pref-card__header p {
	margin: 0;
	color: #66727b;
	font-size: 11px;
	line-height: 1.35;
}

.iac-pref-card__body {
	padding: 2px 12px;
}

.iac-pref-field {
	display: grid;
	grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr);
	gap: 10px;
	align-items: start;
	padding: 7px 0;
	border-bottom: 1px solid #edf0f2;
}

.iac-pref-field:last-child,
.iac-pref-check:last-child {
	border-bottom: 0;
}

.iac-pref-field > label {
	padding-top: 5px;
	color: #46545e;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
}

.iac-pref-field select,
.iac-pref-field input[type="number"] {
	float: none !important;
	box-sizing: border-box;
	width: 100%;
	min-height: 27px;
	margin: 0 !important;
	padding: 3px 6px;
	color: #333;
	background: #fff;
	border: 1px solid #b9c1c7;
	border-radius: 3px;
}

/* Pole na całą szerokość karty — przyciski i dłuższy opis nie mieszczą się
   w wąskiej kolumnie wartości obok etykiety. */
.iac-pref-field--stack {
	grid-template-columns: minmax(0, 1fr);
	gap: 5px;
}

.iac-pref-field--stack > label {
	padding-top: 0;
}

/* Przyciski w karcie preferencji: legacy button ma float:left i margin 5px,
   przez co wypadał poza komórkę i rozjeżdżał kartę. */
.iac-pref-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

.iac-pref-actions button {
	float: none !important;
	height: auto !important;
	min-height: 27px;
	margin: 0 !important;
	padding: 4px 6px !important;
}

.iac-pref-actions button .label {
	padding: 0 4px !important;
}

.iac-pref-field p,
.iac-pref-check p {
	margin: 3px 0 0;
	color: #74808a;
	font-size: 11px;
	line-height: 1.35;
}

.iac-pref-check {
	padding: 7px 0;
	border-bottom: 1px solid #edf0f2;
}

.iac-pref-check > label {
	display: flex;
	align-items: flex-start;
	gap: 9px;
	color: #46545e;
	font-size: 12px;
	font-weight: 700;
	cursor: pointer;
}

.iac-pref-check input[type="checkbox"] {
	float: none !important;
	flex: 0 0 auto;
	margin: 1px 0 0 !important;
}

.iac-pref-check p {
	margin-left: 25px;
}

/* Zakres godzin w jednym wierszu, odstęp terminów pod nim — cztery kontrolki
   obok siebie nie mieszczą się w zwężonej kolumnie karty. */
.iac-pref-hours {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
	gap: 4px;
	align-items: center;
}

.iac-pref-hours select {
	width: 100%;
}

.iac-pref-hours select:last-child {
	grid-column: 1 / -1;
}

.iac-pref-hours > span {
	color: #74808a;
	font-size: 11px;
	text-align: center;
}

.iac-preferences #z_preferencje.iac-save-bar {
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	padding: 10px 14px;
	background: #fff8df;
	border: 1px solid #dcc987;
	border-left: 4px solid #ba8b22;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.09);
}

.iac-preferences #z_preferencje.iac-save-bar-visible {
	display: flex !important;
}

.iac-preferences #z_preferencje strong {
	display: block;
	color: #654c13;
	font-size: 12px;
}

.iac-preferences #z_preferencje > div > span {
	color: #766738;
	font-size: 11px;
}

.iac-pref-save-actions {
	display: flex;
	flex: 0 0 auto;
	gap: 6px;
}

/* Przypisanie produktów cennika do „Opłać miejsce” */
.online-map-table {
	margin: 6px 0 0;
}

.online-map-table td,
.online-map-table th {
	vertical-align: middle;
}

.online-map-id {
	display: inline-block;
	margin-left: 6px;
	color: #8a949c;
	font-size: 11px;
}

.online-map-warn {
	display: inline-block;
	margin-left: 6px;
	padding: 0 5px;
	color: #8a5a00;
	background: #fff3d6;
	border: 1px solid #e6cd94;
	border-radius: 2px;
	font-size: 10px;
}

.online-map-note {
	margin: 6px 0 0;
	padding: 6px 8px;
	color: #654c13;
	background: #fff8df;
	border-left: 3px solid #ba8b22;
	font-size: 11px;
	line-height: 1.4;
}

.online-map-status {
	align-self: center;
	margin-left: 8px;
	color: #287344;
	font-size: 12px;
	font-weight: 700;
}

@media (max-width: 680px) {
	.iac-pref-grid {
		columns: auto 1;
	}

	.iac-settings-nav {
		padding: 0 8px;
	}

	.iac-settings-nav__group,
	.iac-settings-nav__group--actions {
		width: 100%;
		margin-left: 0;
		border-right: 0;
		border-bottom: 1px solid #d9dde0;
	}

	.iac-preferences {
		padding: 10px 8px 28px;
	}

	.iac-pref-field {
		grid-template-columns: 1fr;
		gap: 5px;
	}

	.iac-pref-field > label {
		padding-top: 0;
	}
}

/* ── nagłówki stron ───────────────────────────────────────────────
   Zastępują obrazkowe tytuły (images/ksiega_grobow.png itd.), które były
   nieczytelne przy skalowaniu czcionki, nietłumaczalne i niedostępne dla
   czytników ekranu. Wzorzec z Wiadomości klientów (.am-panel-head).
   Włączany przez partial partials/page-header.blade.php. */
.iac-page-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
	margin: 10px 10px 14px;
	padding: 14px 18px;
	border-radius: var(--iac-radius-lg);
	background: var(--iac-gradient);
	color: #fff;
	box-shadow: 0 3px 10px rgba(0, 63, 54, 0.18);
	font-family: Arial, Helvetica, sans-serif;
}

.iac-page-head__text {
	min-width: 0;
}

.iac-page-head h1,
.iac-page-head h2 {
	margin: 0 0 3px;
	padding: 0;
	border: 0;
	background: none;
	color: #fff;
	font-size: 18px;
	line-height: 1.25;
	text-transform: none;
	letter-spacing: 0;
}

.iac-page-head p {
	margin: 0;
	color: rgba(255, 255, 255, .86);
	font-size: 12px;
	line-height: 1.4;
}

.iac-page-head__icon {
	flex: 0 0 auto;
	color: rgba(255, 255, 255, .65);
	font-size: 26px;
}

.iac-page-head__actions {
	display: flex;
	flex: 0 0 auto;
	align-items: center;
	gap: 8px;
}

/* Przyciski legacy (.button) mają własny gradient — na ciemnym pasku
   przykrywamy je jasnym wariantem, żeby były czytelne. */
.iac-page-head__actions .button,
.iac-page-head__actions a.button {
	margin: 0 !important;
	border: 1px solid rgba(255, 255, 255, .55) !important;
	background: rgba(255, 255, 255, .14) !important;
	color: #fff !important;
	text-shadow: none !important;
}

.iac-page-head__actions .button:hover,
.iac-page-head__actions a.button:hover {
	background: rgba(255, 255, 255, .26) !important;
}

.iac-page-head__actions .button .label {
	color: #fff !important;
}

/* Lokalizacja grobu (Sektor / Rząd / Numer) w nagłówku Karty grobu.
   Wcześniej były to półprzezroczyste .button — na złotym końcu gradientu
   zlewały się z tłem. Teraz solidne, kontrastowe plakietki z podpisem.
   Klasy i_k_* i wewnętrzny <span> zostają dla scripts.blade.php. */
.iac-page-head__actions .iac-grave-loc {
	display: flex;
	gap: 8px;
}

.iac-grave-loc__item {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 54px;
	padding: 4px 12px 6px;
	background: #fff;
	border: 1px solid rgba(0, 25, 21, .12);
	border-radius: 8px;
	box-shadow: 0 2px 7px rgba(0, 25, 21, .28);
	line-height: 1.1;
}

.iac-grave-loc__cap {
	color: var(--iac-gold-dark, #9c7938);
	font-size: 10px;
	font-weight: 700;
	letter-spacing: .05em;
	text-transform: uppercase;
}

.iac-grave-loc__val {
	color: var(--iac-green, #003f36);
	font-size: 21px;
	font-weight: 800;
	white-space: nowrap;
}

@media (max-width: 820px) {
	.iac-page-head {
		margin: 8px 6px 12px;
		padding: 11px 13px;
	}

	.iac-page-head h1,
	.iac-page-head h2 {
		font-size: 16px;
	}

	.iac-page-head__icon {
		display: none;
	}

	.iac-grave-loc__item {
		min-width: 44px;
		padding: 3px 9px 5px;
	}

	.iac-grave-loc__val {
		font-size: 17px;
	}
}

/* ── stopka panelu ────────────────────────────────────────────────
   Osobny wiersz tabeli układu (partials/panel-footer.blade.php), więc
   zostaje na każdej zakładce — #main jest podmieniany AJAX-em. */
.iac-panel-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 10px 16px;
	padding: 16px 20px;
	border-top: 1px solid var(--iac-border, #d2d2d2);
	background: var(--iac-surface, #f7f7f7);
}

.iac-panel-foot__logo {
	display: block;
	max-width: 100%;
	height: auto;
}

.iac-panel-foot__copy {
	color: var(--iac-text-muted, #666666);
	font-family: Arial, Helvetica, sans-serif;
	font-size: 12px;
}

@media (max-width: 820px) {
	.iac-panel-foot {
		justify-content: center;
		text-align: center;
	}
}

/* Powiązane groby — osobna grupa biznesowa, niezależna od sąsiadów położenia. */
.iac-related-graves {
	margin: 16px 0;
	padding: 16px;
	border: 1px solid var(--iac-border, #d8e1df);
	border-left: 4px solid var(--iac-gold, #b9934a);
	border-radius: 10px;
	background: #fff;
	box-shadow: 0 3px 12px rgba(0, 63, 54, .08);
}

.iac-related-graves__head {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 12px;
}

.iac-related-graves__head h2 {
	margin: 0;
	color: var(--iac-green, #003f36);
	font-size: 18px;
}

.iac-related-graves__head p {
	margin: 4px 0 0;
	color: var(--iac-text-muted, #66726f);
	font-size: 12px;
}

.iac-related-graves__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 28px;
	height: 28px;
	padding: 0 7px;
	border-radius: 999px;
	background: var(--iac-green, #003f36);
	color: #fff;
	font-weight: 700;
	box-sizing: border-box;
}

.iac-related-graves__list,
.iac-related-graves__results {
	display: grid;
	gap: 8px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.iac-related-graves__item {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 10px 12px;
	border: 1px solid #e0e7e5;
	border-radius: 7px;
	background: #f8faf9;
}

.iac-related-graves__details {
	display: flex;
	flex-direction: column;
	min-width: 0;
	gap: 3px;
}

.iac-related-graves__link {
	color: var(--iac-green, #003f36);
	font-size: 14px;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.iac-related-graves__buried,
.iac-related-graves__hint,
.iac-related-graves__status {
	color: var(--iac-text-muted, #66726f);
	font-size: 12px;
	line-height: 1.4;
}

.iac-related-graves__muted,
.iac-related-graves__empty {
	color: #7a8582;
	font-style: italic;
}

.iac-related-graves__empty {
	padding: 9px 2px;
}

.iac-related-graves__unlink,
.iac-related-graves__link-button {
	flex: 0 0 auto;
	min-height: 34px;
	padding: 6px 12px;
	border-radius: 6px;
	cursor: pointer;
	font-weight: 700;
}

.iac-related-graves__unlink {
	border: 1px solid #b64b4b;
	background: #fff;
	color: #9b2525;
}

.iac-related-graves__link-button {
	border: 1px solid var(--iac-green, #003f36);
	background: var(--iac-green, #003f36);
	color: #fff;
}

.iac-related-graves__unlink:hover,
.iac-related-graves__unlink:focus {
	background: #fff0f0;
}

.iac-related-graves__link-button:hover,
.iac-related-graves__link-button:focus {
	background: #075f52;
}

.iac-related-graves button:focus,
.iac-related-graves input:focus,
.iac-related-graves a:focus {
	outline: 3px solid rgba(185, 147, 74, .45);
	outline-offset: 2px;
}

.iac-related-graves button:disabled {
	cursor: wait;
	opacity: .6;
}

.iac-related-graves__search {
	display: grid;
	gap: 6px;
	margin-top: 16px;
	padding-top: 14px;
	border-top: 1px solid #e0e7e5;
}

.iac-related-graves__search label {
	color: var(--iac-green, #003f36);
	font-weight: 700;
}

.iac-related-graves__search input {
	width: 100%;
	min-height: 38px;
	padding: 7px 10px;
	border: 1px solid #aebbb8;
	border-radius: 6px;
	box-sizing: border-box;
}

.iac-related-graves__results {
	margin-top: 6px;
}

.iac-related-graves__status {
	min-height: 18px;
	margin: 8px 0 0;
}

.iac-related-graves__status.is-error {
	color: #9b2525;
	font-weight: 700;
}

@media (max-width: 620px) {
	.iac-related-graves__item {
		align-items: stretch;
		flex-direction: column;
	}

	.iac-related-graves__unlink,
	.iac-related-graves__link-button {
		width: 100%;
	}
}

/* Wybór wzoru dokumentu — pełne nazwy w oknie, bez wąskiego dropdownu z radiami. */
.generowanie_wzoru .iac-wzor-podpis {
	margin: 14px auto 8px;
	max-width: 520px;
	color: var(--iac-text-muted);
	font-size: 12px;
	line-height: 1.4;
}

.generowanie_wzoru .iac-wzor-lista {
	max-width: 520px;
	max-height: min(320px, 52vh);
	margin: 0 auto;
	overflow-x: hidden;
	overflow-y: auto;
	border: 1px solid var(--iac-border);
	border-radius: var(--iac-radius);
	background: #fff;
	box-sizing: border-box;
}

.generowanie_wzoru .iac-wzor-pozycja {
	padding: 8px 12px;
	border-bottom: 1px solid #e6e6e6;
	color: var(--iac-text);
	font-size: 13px;
	font-weight: 400;
	line-height: 1.35;
	white-space: normal;
	overflow-wrap: anywhere;
	cursor: pointer;
}

.generowanie_wzoru .iac-wzor-pozycja:last-child {
	border-bottom: 0;
}

.generowanie_wzoru .iac-wzor-pozycja:hover {
	background: var(--iac-surface-2);
}

.generowanie_wzoru .iac-wzor-pozycja--wybrana {
	background: var(--iac-tint);
	box-shadow: inset 3px 0 0 var(--iac-green);
	font-weight: 700;
}

.generowanie_wzoru .iac-wzor-pusto {
	margin: 0;
	padding: 12px;
	color: var(--iac-text-muted);
}

.generowanie_wzoru .iac-wzor-select {
	position: absolute;
	width: 1px;
	height: 1px;
	margin: -1px;
	padding: 0;
	overflow: hidden;
	clip: rect(0 0 0 0);
	border: 0;
}

.generowanie_wzoru .iac-wzor-akcje {
	display: flex;
	justify-content: flex-end;
	max-width: 520px;
	margin: 12px auto 2px;
}

.generowanie_wzoru .iac-wzor-akcje .action {
	float: none;
	margin: 0;
}
