/**
 * Tryb ciemny panelu IAC 4.0 (przełącznik księżyc/słońce w pasku nagłówka).
 *
 * Panel ma kilkaset jasnych teł wpisanych na sztywno: w style.css, w bibliotekach
 * (css3-buttons, tablecloth, DataTables, jQuery UI), w atrybutach style widoków
 * i w HTML-u składanym przez skrypty. Paleta przepisana selektor po selektorze
 * zostawiałaby białe plamy, więc cała strona przechodzi przez jeden filtr:
 * odwrócenie jasności z obrotem barwy o 180°. Biel staje się czernią,
 * czarny tekst bielą, a odcienie zostają (zieleń jest zielona, czerwień czerwona).
 *
 * Z powrotem do oryginału wracają rzeczy, które w negatywie wyglądałyby źle:
 * zdjęcia, mapa, osadzone ramki (PDF, edytor, mapa) oraz zielone paski marki.
 * invert(1) i hue-rotate(180) są swoją odwrotnością, więc --iac-dark-restore
 * jest tym samym filtrem i zdjęcie wraca do wgranych kolorów. Słabsze
 * invert(0.92) z przygaszeniem nasycenia obcinało biel i przesuwało barwy.
 *
 * Złoto i krem 4.0 po obrocie barwy zostają żółte. W nocy te akcenty są
 * neutralną szarością, a gradient marki jest cały zielony.
 *
 * Wszystko jest pod @media screen — wydruk zawsze wychodzi jasny.
 * Moduł 3.9.1 nie wczytuje tego arkusza (meta.blade.php).
 */
@media screen {
	html.iac-dark {
		--iac-dark-invert: invert(1) hue-rotate(180deg);
		/* To samo przekształcenie w odwrotnej kolejności (obie operacje są przemienne).
		   iac-theme.js rozpoznaje przywrócenie po początkowym hue-rotate — bez tego
		   zieleń w przywróconym pasku dostawała filtr drugi raz i świeciła miętą. */
		--iac-dark-restore: hue-rotate(180deg) invert(1);

		/* Wartości sprzed odwrócenia: po filtrze dają neutralną szarość, nie złoto. */
		--iac-gold: #666666;
		--iac-gold-light: #4a4a4a;
		--iac-gold-dark: #7a7a7a;
		--mobile-gold: #666666;

		/* Gradient stoi na przywróconych paskach i przyciskach, więc kolory są docelowe. */
		--iac-gradient: linear-gradient(135deg, #003f36 0%, #075649 62%, #0a6b5b 100%);
		--iac-gradient-hover: linear-gradient(135deg, #075649 0%, #0a6b5b 62%, #0d7a68 100%);

		/* Filtr jest na body, nie na html. Ramkę mapy skrypt wyjmuje obok body,
		   więc jej piksele nie przechodzą przez filtr i kolory grobów zostają ostre. */
		background-color: #000000;
	}

	html.iac-dark body {
		filter: var(--iac-dark-invert);
		background-color: #ffffff;
	}

	/* Cień jest ciemny tylko przed odwróceniem — po filtrze świecił wokół okien
	   i kart jak jasna poświata. W nocy krawędzie wyznaczają obramowania. */
	html.iac-dark body,
	html.iac-dark body *,
	html.iac-dark body *::before,
	html.iac-dark body *::after {
		box-shadow: none !important;
		text-shadow: none !important;
	}

	/* ── wraca do oryginału ─────────────────────────────────────────── */

	/* Zdjęcia wyglądają tak, jak zostały wgrane — filtr strony ich nie rusza.
	   Dotyczy JPG, PNG, GIF, WebP i BMP oraz adresów bez rozszerzenia
	   (/media/..., /zdjecia/..., /grobonet/pliki/..., CDN). Ikony interfejsu
	   (icon_*.png, loading.gif) zostają odwrócone: ciemny glif na ciemnym tle
	   byłby niewidoczny. */
	html.iac-dark img[src*="/media/"],
	html.iac-dark img[src*="/zdjecia/"],
	html.iac-dark img[src*="/grobonet/pliki/"],
	html.iac-dark .iac-grave-gallery img:not([src*="brak_zdjecia"]),
	html.iac-dark .iac-gg-main,
	html.iac-dark .iac-gg-thumbs img,
	html.iac-dark .iac-tip-gallery img:not([src*="brak_zdjecia"]),
	html.iac-dark .iac-karta-wzor__photo img,
	html.iac-dark .iac-search-photo:not(.iac-search-photo--empty) img,
	html.iac-dark #iac-search-photo-preview img,
	html.iac-dark .grave_thumb img,
	html.iac-dark .map-grave-card__photos img,
	html.iac-dark .mobile-gallery img,
	html.iac-dark .iac-invoice-attachments__gallery img,
	html.iac-dark .iac-map-picker__image,
	html.iac-dark .ga-gallery-photo img,
	html.iac-dark .ga-slider-slide img,
	html.iac-dark .ga-banner-preview,
	html.iac-dark .featherlight-content img,
	html.iac-dark .lb-image,
	html.iac-dark img[src*=".jpg" i],
	html.iac-dark img[src*=".jpeg" i],
	html.iac-dark img[src*=".webp" i],
	html.iac-dark img[src*=".bmp" i],
	html.iac-dark img[src*=".png" i]:not([src*="icon" i]):not([src*="loading.gif" i]),
	html.iac-dark img[src*=".gif" i]:not([src*="icon" i]):not([src*="loading.gif" i]),
	html.iac-dark img[src^="blob:"],
	html.iac-dark img[src^="data:image/"],
	html.iac-dark [style*="url("][style*=".jpg" i],
	html.iac-dark [style*="url("][style*=".jpeg" i],
	html.iac-dark [style*="url("][style*=".webp" i],
	html.iac-dark [style*="url("][style*=".png" i],
	html.iac-dark [style*="url("][style*=".gif" i],
	html.iac-dark video,
	html.iac-dark body iframe,
	html.iac-dark embed,
	html.iac-dark object,
	html.iac-dark .ol-viewport canvas,
	/* czerwone plakietki liczników (nowe wiadomości, płatności) */
	html.iac-dark [style*="background: red"],
	html.iac-dark [style*="background:red"] {
		filter: var(--iac-dark-restore);
	}

	/* nakładki pod oknami: ciemne przyciemnienie zostaje ciemne */
	html.iac-dark .ui-widget-overlay,
	html.iac-dark #lightboxOverlay,
	html.iac-dark .lightboxOverlay,
	/* zielone paski marki z białym tekstem */
	html.iac-dark tr#head > td,
	html.iac-dark #dane_top,
	html.iac-dark div[style*="rgb(44,88,132)"],
	html.iac-dark div[style*="rgb(44, 88, 132)"],
	html.iac-dark div[style*="background:#2c5884"],
	html.iac-dark .ui-dialog .ui-dialog-titlebar,
	html.iac-dark .ui-datepicker .ui-datepicker-header,
	html.iac-dark .wc-toolbar,
	html.iac-dark .tablecloth th,
	html.iac-dark table.display thead th,
	html.iac-dark .iac-grave-tip__header,
	/* Paski marki są już ciemnozielone. Odwrócone robią się jaskrawym cyjanem. */
	html.iac-dark .iac-page-head,
	html.iac-dark .iac-column-picker__head,
	html.iac-dark #szukaj_f,
	html.iac-dark .iac-panel-foot,
	html.iac-dark button.blue,
	html.iac-dark .button.blue,
	html.iac-dark button.green,
	html.iac-dark .button.green,
	html.iac-dark .action.blue,
	html.iac-dark .action.green {
		filter: var(--iac-dark-restore);
	}

	/* iac-theme.js: KEEP dostaje każde ciemne, nasycone tło (zieleń marki), którego
	   nie ma na liście wyżej — zakładki, plakietki, przyciski w :hover. FLAT znosi
	   drugie przywrócenie wewnątrz takiego elementu. */
	html.iac-dark .iac-dark-keep {
		filter: var(--iac-dark-restore) !important;
	}

	html.iac-dark .iac-dark-flat {
		filter: none !important;
	}

	/* Gradient DataTables siedzi na <thead>, a komórki są przezroczyste —
	   bez własnego koloru przez przywróconą komórkę prześwitywałby negatyw. */
	html.iac-dark table.display thead th {
		background-color: #075649 !important;
	}

	/* Element w przywróconym kontenerze dostałby filtr drugi raz i znów był negatywem. */
	html.iac-dark tr#head > td img,
	html.iac-dark .iac-grave-tip__header img,
	html.iac-dark .tablecloth th img,
	html.iac-dark table.display thead th img,
	html.iac-dark .ui-dialog-titlebar img,
	html.iac-dark [style*="url("][style*=".jpg" i] img,
	html.iac-dark [style*="url("][style*=".jpeg" i] img {
		filter: none;
	}

	/* ── nagłówek panelu ───────────────────────────────────────────────
	   Komórka nagłówka ma oryginalne kolory, więc tutaj piszemy kolory wprost.
	   Pasek pod zieloną listwą był szary (#c3c7c1) — w nocy jest grafitowy. */
	/* Filtr zamyka każdy przywrócony element w osobnej warstwie. Bez z-index
	   późniejsze paski (np. nagłówek strony) przykrywały rozwinięte menu. */
	html.iac-dark tr#head > td {
		position: relative;
		z-index: 30;
		background-color: #1b1f1e;
	}

	/* Mapa leży pod panelem, a droga do niej jest przezroczysta i przepuszcza
	   kliknięcia — dzięki temu menu i okna zostają nad mapą. */
	html.iac-dark .iac-map-pass {
		background: transparent !important;
		pointer-events: none !important;
	}

	:where(html.iac-dark.iac-map-lifted body *:not(.iac-map-pass)) {
		pointer-events: auto;
	}

	/* Białe przyciski paska i rozwijane menu ciemnieją tym samym filtrem co strona. */
	html.iac-dark .iac-topbar__tools > .button,
	html.iac-dark .iac-topbar__tools > .dropdown > .button,
	html.iac-dark .iac-topbar__tools .dropdown-slider,
	html.iac-dark .iac-grave-tip__actions > .dropdown > .button,
	html.iac-dark .iac-grave-tip__header .dropdown-slider,
	html.iac-dark .iac-backup-remind {
		filter: var(--iac-dark-invert);
	}

	/* Przywrócony pasek jest osobną warstwą rysowaną w kolejności dokumentu, więc
	   zdjęcie i nagłówek tabeli niżej (też z filtrem) przykrywały jego rozwijane menu. */
	html.iac-dark .iac-grave-tip__header,
	html.iac-dark .iac-page-head:has(.dropdown),
	html.iac-dark .iac-dark-keep:has(.dropdown) {
		position: relative;
		z-index: 20;
	}

	html.iac-dark .iac-grave-tip__header .dropdown-slider {
		border: 1px solid #c9d0cd;
		border-radius: 6px;
		box-shadow: 0 10px 24px rgba(0, 0, 0, 0.18);
	}

	/* Otwarta zakładka menu i aktywna podzakładka łączą się z treścią — ta jest
	   teraz ciemna, więc biała karta świeciłaby jak latarka. Filtra tu nie ma,
	   bo zakładka trzyma pozycjonowany pasek podzakładek. */
	html.iac-dark ul#topnav li.iac-menu-open,
	html.iac-dark ul#topnav_2 li.iac-menu-open {
		background: #1b1f1e;
		border-color: #1b1f1e;
	}

	html.iac-dark ul#topnav li.iac-menu-open > a,
	html.iac-dark ul#topnav_2 li.iac-menu-open > a,
	html.iac-dark ul#topnav > li > span.iac-menu-subtabs > a.iac-menu-subtab-active {
		color: #e4e8e6 !important;
	}

	html.iac-dark ul#topnav > li > span.iac-menu-subtabs > a.iac-menu-subtab-active {
		background: #1b1f1e !important;
		border-color: #3d4a46;
	}

	html.iac-dark .iac-font-control--active {
		color: #1b1f1e;
		background: #dfe5e2;
	}

	/* Stopka jest przywrócona, więc kolory poniżej widać wprost.
	   Logo ma ciemny napis — stoi na jasnym kafelku, jak w pasku u góry. */
	html.iac-dark .iac-panel-foot {
		background: #1b1f1e;
		border-top-color: #2c3532;
	}

	html.iac-dark .iac-panel-foot__logo {
		box-sizing: content-box;
		padding: 6px 12px;
		background: #ffffff;
		border-radius: 8px;
	}

	/* Logo na logowaniu nie leży w przywróconym pasku, więc filtr strony
	   zamieniał zielone I, czerwone A i pomarańczowe C. Kafelek jest biały,
	   a filtr oddaje oryginalne kolory — napis zostaje ciemny, jak w rzeczywistości. */
	html.iac-dark .login-logo {
		box-sizing: content-box;
		padding: 6px 12px;
		background: #ffffff;
		border-radius: 8px;
		filter: var(--iac-dark-restore);
	}

	html.iac-dark .iac-panel-foot__copy {
		color: #c5ccc8;
	}

	/* Wiersz „Filtruj” jest w przywróconym nagłówku tabeli, więc jasne tło
	   z iac-table-sorting.css zostawało białe. Tu kolory są już docelowe. */
	html.iac-dark table.display thead tr.iac-column-filters th,
	html.iac-dark table.dataTable thead tr.iac-column-filters th {
		background: #1a2220 !important;
		color: #e4e2db !important;
	}

	html.iac-dark .iac-column-filter {
		background: #101614 !important;
		color: #e8e6e0 !important;
		border-color: #3c4844 !important;
	}

	html.iac-dark .iac-column-filter::placeholder {
		color: #8a938e;
		opacity: 1;
	}

	html.iac-dark table .iac-column-filter:focus {
		border-color: #8fb0a7 !important;
		outline-color: #8fb0a7 !important;
	}

	/* ── bez żółci ──────────────────────────────────────────────────────
	   Motyw jQuery UI i akcenty 4.0 są pomarańczowo-kremowe. Po filtrze
	   zostałyby żółte, więc tu dostają szarość sprzed odwrócenia. */
	html.iac-dark .ui-state-hover,
	html.iac-dark .ui-widget-content .ui-state-hover,
	html.iac-dark .ui-widget-header .ui-state-hover,
	html.iac-dark .ui-state-focus,
	html.iac-dark .ui-widget-content .ui-state-focus,
	html.iac-dark .ui-widget-header .ui-state-focus,
	html.iac-dark .ui-state-active,
	html.iac-dark .ui-widget-content .ui-state-active,
	html.iac-dark .ui-widget-header .ui-state-active,
	html.iac-dark .ui-state-highlight,
	html.iac-dark .ui-widget-content .ui-state-highlight,
	html.iac-dark .ui-widget-header .ui-state-highlight {
		border-color: #c8c8c8 !important;
		background: #ececec !important;
		background-image: none !important;
		color: #222222 !important;
	}

	html.iac-dark .ui-state-hover a,
	html.iac-dark .ui-state-focus a,
	html.iac-dark .ui-state-active a,
	html.iac-dark .ui-state-highlight a {
		color: #222222 !important;
	}

	html.iac-dark .ui-icon {
		filter: grayscale(1);
	}

	html.iac-dark .grobonet-admin .ga-group-tab:focus-visible {
		outline-color: #8a8a8a;
	}

	html.iac-dark .grobonet-admin .ga-group-tab.on i,
	html.iac-dark .grobonet-admin .ga-status--pending,
	html.iac-dark .grobonet-admin .ga-alert--warn,
	html.iac-dark .grobonet-admin .ga-tab.on,
	html.iac-dark .grobonet-admin .ga-table tbody tr.ga-row--pending,
	html.iac-dark .iac-users .iac-save-bar,
	html.iac-dark .online-map-warn {
		background: #ececec;
		background-image: none;
		border-color: #c8c8c8;
		color: #222222;
		box-shadow: none;
	}

	/* ── kremowe tła 4.0 ────────────────────────────────────────────────
	   Te elementy są w odwróconej treści, więc kolory podajemy sprzed filtra:
	   jasnoszare tło daje grafit, ciemnoszary tekst — jasny. */
	html.iac-dark .ui-dialog .ui-state-highlight,
	html.iac-dark .ui-datepicker .ui-state-highlight {
		background: #eef1f0 !important;
	}

	html.iac-dark .iac-preferences #z_preferencje.iac-save-bar,
	html.iac-dark .iac-users .iac-save-bar.iac-save-bar-visible,
	html.iac-dark .iac-users__hint--warn,
	html.iac-dark .online-map-note,
	html.iac-dark .iac-inv-dirty,
	html.iac-dark .iac-inv-warning {
		background: #f2f4f3;
		border-color: #c9d0cd;
		border-left-color: #5f6b67;
		color: #2f3634;
	}

	html.iac-dark .iac-preferences #z_preferencje strong,
	html.iac-dark .iac-preferences #z_preferencje > div > span {
		color: #2f3634;
	}

	html.iac-dark .wc-toolbar .ui-button,
	html.iac-dark .wc-toolbar .ui-state-default,
	html.iac-dark .wc-toolbar .wc-nav button,
	html.iac-dark .wc-toolbar .wc-display button {
		border-color: rgba(255, 255, 255, 0.28) !important;
	}

	html.iac-dark #zakladki_grobu.iac-grave-tabs > ul > li > a:focus-visible,
	html.iac-dark .iac-pager > a:focus,
	html.iac-dark .iac-pager > button:focus,
	html.iac-dark .iac-pager input.iac-pager-input:focus,
	html.iac-dark .iac-pager select.iac-pager-size:focus {
		outline-color: #8fa39d;
	}
}
