/* Radar przetargow: tokeny 1:1 z motywu proaudio.pl (ksiega identyfikacji 1.3). */
/* Radar przetargow: tokeny z motywu proaudio.pl (ksiega identyfikacji 1.3). Srodek jasny jak w poradnikach; belka, panel boczny i stopka
   zawsze ciemne. Przelacznik w belce zmienia srodek na ciemny (html[data-motyw="dark"]). Limonka jako tekst na jasnym: --lime-tx. */
:root {
	--bg: #F4F4F4; --bg-2: #FFFFFF; --bg-3: #ECECE8; --bg-deep: #E6E6E1; --pole-bg: #FFFFFF;
	--line-d: #DCDCD6; --line-d2: #C6C6BF; --line-3: #A9A9A1; --line-4: #7E7E77;
	--tx-d: #0F0F0F; --tx-d2: #2E2E2E; --mu-d: #575757; --ph: #77776F;
	--lime: #A9CD26; --lime-tx: #5A7012; --lime-soft: #E4EFC0; --ink: #0F0F0F;
	--pilne: #8A5200; --blad: #B3261E; --blad-linia: #E3B3AE;
	--strzalka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%235A7012' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	--f-disp: 'Space Grotesk', system-ui, sans-serif;
	--f-body: 'IBM Plex Sans', system-ui, sans-serif;
	--f-mono: 'IBM Plex Mono', ui-monospace, monospace;
	--r: 16px; --ease: cubic-bezier(.2, .7, .2, 1);
	--belka: 72px;
	color-scheme: light;
}
html[data-motyw="dark"], .belka, .bok, .szuflada, .stopka, .wejscie__marka {
	--bg: #0F0F0F; --bg-2: #161616; --bg-3: #1C1C1C; --bg-deep: #0C0C0C; --pole-bg: #1C1C1C;
	--line-d: #2A2A2A; --line-d2: #3A3A3A; --line-3: #4A4A4A; --line-4: #5A5A5A;
	--tx-d: #F4F4F4; --tx-d2: #D0D0D0; --mu-d: #B8B8B8; --ph: #9A9A9A;
	--lime-tx: #A9CD26;
	--pilne: #F5B544; --blad: #FF8A7A; --blad-linia: #5A2E28;
	--strzalka: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23A9CD26' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	color-scheme: dark;
}
*, *::before, *::after { box-sizing: border-box; }
html { scrollbar-color: var(--line-d2) var(--bg); -webkit-text-size-adjust: 100%; }
body { margin: 0; min-height: 100vh; display: flex; flex-direction: column; background: var(--bg); color: var(--tx-d); font: 400 15px/1.55 var(--f-body); font-variant-numeric: tabular-nums; -webkit-font-smoothing: antialiased; }
::selection { background: var(--lime); color: var(--ink); }
::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-track { background: var(--bg); }
::-webkit-scrollbar-thumb { background: var(--line-d2); border-radius: 10px; border: 2px solid var(--bg); }
:focus-visible { outline: 2px solid var(--lime-tx); outline-offset: 2px; }
a { color: var(--tx-d); text-underline-offset: 3px; text-decoration-color: var(--line-d2); }
a:hover { text-decoration-color: var(--lime); }
h1, h2, h3 { font-family: var(--f-disp); font-weight: 600; letter-spacing: -.015em; line-height: 1.15; margin: 0; text-wrap: balance; }
h1 { font-size: 34px; }
h2 { font-size: 20px; }
p { margin: 0 0 12px; }
code { font: 13px var(--f-mono); color: var(--lime-tx); }
.i { width: 18px; height: 18px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.75; stroke-linecap: round; stroke-linejoin: round; }
.mono { font-family: var(--f-mono); }
.mut { color: var(--mu-d); font-size: 13px; }
.etykieta { display: block; font: 500 11px/1.3 var(--f-mono); letter-spacing: .07em; text-transform: uppercase; color: var(--mu-d); }

/* Belka jak na stronie */
.belka { position: sticky; top: 0; z-index: 30; height: var(--belka); display: flex; align-items: center; gap: 32px; padding: 0 32px; background: var(--bg); border-bottom: 1px solid var(--line-d); }
.belka__logo { display: flex; align-items: center; gap: 14px; text-decoration: none; }
.belka__logo img { height: 46px; width: auto; display: block; }
.belka__nazwa { font: 600 15px/1.1 var(--f-disp); letter-spacing: -.01em; padding-left: 14px; border-left: 1px solid var(--line-d2); white-space: nowrap; }
.belka nav { display: flex; gap: 26px; }
.belka nav a { font: 600 15px var(--f-disp); color: var(--tx-d2); text-decoration: none; padding: 6px 0; border-bottom: 2px solid transparent; transition: color .15s, border-color .15s; }
.belka nav a:hover { color: var(--tx-d); }
.belka nav a.akt { color: var(--tx-d); border-bottom-color: var(--lime); }
.belka__prawa { margin-left: auto; display: flex; align-items: center; gap: 14px; }
.belka__kto { text-align: right; text-decoration: none; line-height: 1.25; }
.belka__kto b { display: block; font: 600 14px var(--f-disp); }
.belka__kto span { font: 400 12px var(--f-mono); color: var(--mu-d); }

/* Przyciski i pola */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 8px; min-height: 44px; padding: 0 20px; border-radius: 999px; font: 600 15px/1.2 var(--f-disp); white-space: nowrap; border: 1px solid transparent; cursor: pointer; background: transparent; color: var(--tx-d); text-decoration: none; transition: filter .2s, background-color .2s, border-color .2s, color .2s, transform .2s var(--ease); }
.btn:hover { filter: brightness(1.1); }
.btn:active { transform: scale(.98); }
.btn .i--ruch { transition: transform .25s var(--ease); }
.btn:hover .i--ruch { transform: translateX(3px); }
.btn--lime { background: var(--lime); color: var(--ink); }
.btn--ghost { border-color: var(--line-3); }
.btn--ghost:hover { border-color: var(--lime-tx); filter: none; }
.btn--sm { min-height: 36px; padding: 0 14px; font-size: 14px; }
.btn--pelny { width: 100%; }
.btn:disabled { opacity: .45; cursor: not-allowed; filter: none; transform: none; }
.rzad { display: flex; flex-wrap: wrap; gap: 12px; align-items: center; }
input[type=text], input[type=password], input[type=number], input[type=date], select, textarea { width: 100%; min-height: 44px; padding: 0 16px; border-radius: 12px; border: 1px solid var(--line-d2); background: var(--pole-bg); color: var(--tx-d); font: 400 15px var(--f-body); transition: border-color .15s, background-color .15s; }
input:hover, select:hover, textarea:hover { border-color: var(--line-4); }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--lime-tx); }
input::placeholder, textarea::placeholder { color: var(--ph); }
input[type=number] { font-family: var(--f-mono); }
textarea { padding: 12px 16px; line-height: 1.5; resize: vertical; }
textarea.kod { font: 13px/1.55 var(--f-mono); }
select { appearance: none; padding-right: 38px; background-image: var(--strzalka); background-repeat: no-repeat; background-position: right 12px center; background-size: 16px; }
select option { background: var(--pole-bg); color: var(--tx-d); }
input[type=checkbox] { accent-color: var(--lime); width: 18px; height: 18px; margin: 0; flex: none; }
input[type=file] { color: var(--tx-d2); font: 14px var(--f-body); }
input[type=file]::file-selector-button { font: 600 14px var(--f-disp); color: var(--tx-d); background: transparent; border: 1px solid var(--line-3); border-radius: 999px; padding: 8px 14px; margin-right: 12px; cursor: pointer; }
.pole { display: block; }
.pole .etykieta { margin-bottom: 6px; }
.siatka { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }

/* Uklad z panelem jak strona marki */
.uklad { flex: 1; display: grid; grid-template-columns: 320px minmax(0, 1fr); align-items: start; }
.bok { position: sticky; top: var(--belka); height: calc(100vh - var(--belka)); display: flex; flex-direction: column; border-right: 1px solid var(--line-d); background: var(--bg); }
.bok__tresc { flex: 1; overflow-y: auto; padding: 22px 20px 20px 24px; scrollbar-width: thin; }
.bok__akcja { padding: 16px 24px 20px; border-top: 1px solid var(--line-d); background: var(--bg-2); }
.bok h2 { font-size: 24px; margin-bottom: 16px; }
.grupa { margin-top: 18px; }
.grupa > .etykieta { margin-bottom: 10px; }
.powrot { display: inline-flex; align-items: center; gap: 8px; font: 400 13px var(--f-mono); color: var(--tx-d2); text-decoration: none; margin-bottom: 18px; }
.powrot:hover { color: var(--lime-tx); }
.tresc { padding: 32px 40px 48px; min-width: 0; }
.jedna { flex: 1; width: 100%; max-width: 1240px; margin: 0 auto; padding: 32px 40px 48px; }

.filtry > summary { list-style: none; pointer-events: none; display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.filtry > summary::-webkit-details-marker { display: none; }
.filtry > summary .mut { font-family: var(--f-mono); font-size: 12px; }

.filtry--mala > summary h2 { font-size: 15px; margin: 0; }
@media (min-width: 1081px) { .filtry--mala > summary { display: none; } }

/* Szukaj */
.szukaj { position: relative; display: block; }
.szukaj input { border-radius: 999px; padding-left: 44px; background: var(--bg-deep); }
.szukaj button { position: absolute; left: 6px; top: 50%; transform: translateY(-50%); width: 32px; height: 32px; display: grid; place-items: center; border: 0; background: none; color: var(--lime-tx); border-radius: 50%; cursor: pointer; }
/* panel boczny ma niższe pole (30 px): mniejsza lupka równo na środku pola */
.bok .szukaj input { padding-left: 32px; }
.bok .szukaj button { left: 3px; width: 24px; height: 24px; }
.bok .szukaj button .i { width: 15px; height: 15px; }

/* Pigulki wyboru (jak linie produktow w panelu marki) */
.pigulki { display: flex; flex-wrap: wrap; gap: 6px; }
.pig { position: relative; display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 11px; border-radius: 999px; border: 1px solid var(--line-d2); color: var(--tx-d2); font-size: 13.5px; line-height: 1.2; cursor: pointer; transition: border-color .15s, color .15s, background-color .15s; }
.pig input { position: absolute; opacity: 0; inset: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.pig b { font: 400 12px var(--f-mono); color: var(--mu-d); }
.pig:hover { border-color: var(--lime); color: var(--tx-d); }
.pig:has(input:checked) { border-color: var(--lime); background: rgba(169, 205, 38, .12); color: var(--tx-d); }
.pig:has(input:checked) b { color: var(--lime-tx); }
.pig:has(input:focus-visible) { outline: 2px solid var(--lime); outline-offset: 2px; }
.pig--pusta { color: var(--mu-d); }

/* Spis w panelu karty (kreska jak na stronie marki) */
.spis { display: grid; gap: 2px; margin: 0; padding: 0; list-style: none; }
.spis a { display: flex; justify-content: space-between; gap: 10px; padding: 9px 12px 9px 14px; border-radius: 10px; color: var(--tx-d2); text-decoration: none; cursor: pointer; position: relative; transition: background-color .15s, color .15s; }
.spis a::before { content: ""; position: absolute; left: 4px; top: 10px; bottom: 10px; width: 2px; background: var(--line-d2); border-radius: 2px; transition: background-color .15s; }
.spis a:hover { color: var(--tx-d); background: var(--bg-2); }
.spis a.akt { color: var(--tx-d); background: var(--bg-3); font-weight: 500; }
.spis a.akt::before { background: var(--lime); }
.spis b { font: 400 12px/1.9 var(--f-mono); color: var(--mu-d); }

/* Fakty: etykieta mono + wartosc (jak .ek-fakty na stronie) */
.fakty { display: flex; flex-wrap: wrap; gap: 14px 32px; margin: 20px 0 0; padding: 0; }
.fakt { padding-left: 12px; border-left: 2px solid var(--lime); min-width: 0; margin: 0; }
.fakt dt, .fakt > .etykieta { font: 500 11px/1.3 var(--f-mono); letter-spacing: .07em; text-transform: uppercase; color: var(--mu-d); margin-bottom: 3px; }
.fakt dd { margin: 0; font: 600 18px/1.25 var(--f-disp); letter-spacing: -.01em; }
.fakt dd small { display: block; font: 400 12px var(--f-mono); letter-spacing: 0; color: var(--mu-d); }
.siatka .fakt { border-left: 1px solid var(--line-d2); }
.fakt--pilny { border-left-color: var(--pilne); }
.fakt--pilny dd { color: var(--pilne); }

/* Lista przetargow */
.glowa { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px 40px; margin-bottom: 24px; }
.narzedzia { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; padding: 10px 0; margin-bottom: 4px; border-top: 1px solid var(--line-d); border-bottom: 1px solid var(--line-d); }
.wybor { display: inline-flex; align-items: center; gap: 8px; min-height: 38px; padding-left: 12px; border-radius: 999px; border: 1px solid var(--line-d2); background: var(--bg-2); transition: border-color .15s; }
.wybor:hover, .wybor:focus-within { border-color: var(--lime); }
.wybor .etykieta { padding-right: 8px; border-right: 1px solid var(--line-d2); }
.wybor select { width: auto; min-height: 36px; border: 0; background-color: transparent; border-radius: 999px; padding: 0 28px 0 0; background-position: right 8px center; font-size: 13.5px; font-weight: 500; }
.wybor select:focus { outline: none; }
.tab { width: 100%; border-collapse: collapse; }
.tab th { font: 500 11px/1.3 var(--f-mono); letter-spacing: .07em; text-transform: uppercase; color: var(--mu-d); text-align: left; padding: 12px 14px; border-bottom: 1px solid var(--line-d2); white-space: nowrap; }
.tab td { padding: 14px; border-bottom: 1px solid var(--line-d); vertical-align: top; }
.tab tbody tr { transition: background-color .15s; }
.tab tbody tr:hover { background: var(--bg-2); }
.tab--gesta td { padding: 10px 14px; }
.pkt { display: inline-grid; place-items: center; width: 40px; height: 40px; border-radius: 50%; border: 1px solid var(--line-d2); font: 500 14px var(--f-mono); color: var(--mu-d); }
.pkt--s { border-color: var(--lime-tx); color: var(--lime-tx); }
.pkt--w { background: var(--lime); border-color: var(--lime); color: var(--ink); }
.tytul { font: 600 16px/1.3 var(--f-disp); letter-spacing: -.005em; text-decoration: none; text-wrap: pretty; }
.tytul:hover { color: var(--lime-tx); }
.zam { display: block; margin-top: 3px; color: var(--mu-d); font-size: 13px; }
.data { font: 500 14px/1.3 var(--f-mono); white-space: nowrap; display: block; }
.data + small { display: block; font: 400 12px/1.4 var(--f-mono); color: var(--mu-d); white-space: nowrap; }
.pilny .data, .pilny .data + small { color: var(--pilne); }
.przeterminowany .data { color: var(--mu-d); }
.status { display: inline-flex; align-items: center; gap: 8px; font-size: 14px; white-space: nowrap; }
.status::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--line-d2); flex: none; }
.status--aktywny::before { background: var(--lime); }

/* Znaczniki klasyfikacji */
.znaczniki { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 9px; }
.zn { display: inline-flex; align-items: center; min-height: 24px; padding: 0 9px; border-radius: 999px; border: 1px solid var(--line-d2); font-size: 12.5px; line-height: 1.2; color: var(--tx-d2); }
.zn--obiekt { border-color: transparent; background: var(--bg-3); color: var(--tx-d2); }
.zn--marka { border-color: var(--lime-tx); color: var(--lime-tx); }
.zn--ai { border-color: transparent; background: var(--lime-soft); color: var(--ink); font-weight: 500; }
.zn--inne { border-style: dashed; color: var(--mu-d); }
.zn--termin { border-color: transparent; background: var(--bg-3); }
.zn--kio { border-color: var(--pilne); color: var(--pilne); }

/* Karta przetargu */
.karta__glowa h1 { font-size: 28px; line-height: 1.22; max-width: 62ch; margin-top: 14px; text-wrap: pretty; }
.karta__glowa .zam { font-size: 14px; margin-top: 8px; }
.sekcja { padding: 26px 0; border-top: 1px solid var(--line-d); }
.sekcja:first-child { border-top: 0; }
.sekcja h2 { margin-bottom: 14px; }
.panel-t { display: none; margin-top: 24px; }
.panel-t.akt { display: block; }
.prose { max-width: 75ch; white-space: pre-wrap; color: var(--tx-d2); }
.lista { margin: 0; padding-left: 20px; max-width: 75ch; color: var(--tx-d2); }
.lista li { margin: 5px 0; }
.lista li::marker { color: var(--lime-tx); }
.check { display: grid; gap: 2px; max-width: 80ch; }
.check label { display: flex; gap: 12px; align-items: flex-start; padding: 9px 12px; border-radius: 10px; cursor: pointer; color: var(--tx-d2); transition: background-color .15s; }
.check label:hover { background: var(--bg-2); }
.check input { margin-top: 2px; }
.check input:checked + span { color: var(--mu-d); text-decoration: line-through; text-decoration-color: var(--line-d2); }
.notatka { padding: 12px 0; border-bottom: 1px solid var(--line-d); max-width: 75ch; }
.notatka .prose { margin-top: 4px; }
.cytat { max-width: 70ch; margin: 8px 0; font: 500 17px/1.4 var(--f-disp); color: var(--tx-d); }
.ocena { display: flex; align-items: center; gap: 16px; margin-bottom: 14px; }
.ocena .pkt { width: 56px; height: 56px; font-size: 20px; }
.ocena b { font: 600 20px var(--f-disp); }

/* Dokumenty sprawy */
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.kroki { display: grid; gap: 14px; max-width: 80ch; margin: 0 0 18px; padding: 0; list-style: none; counter-reset: krok; }
.kroki li { display: grid; grid-template-columns: 32px minmax(0, 1fr); gap: 2px 12px; counter-increment: krok; }
.kroki li::before { content: counter(krok); grid-row: span 2; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; border: 1px solid var(--lime-tx); color: var(--lime-tx); font: 500 13px var(--f-mono); }
.kroki b { font: 600 16px/1.9 var(--f-disp); }
.kroki .rzad { margin-top: 4px; }
.strefa { position: relative; display: flex; align-items: center; justify-content: center; gap: 12px; min-height: 104px; padding: 16px; border: 1px dashed var(--line-4); border-radius: var(--r); background: var(--bg-2); color: var(--tx-d2); text-align: center; cursor: pointer; transition: border-color .15s, background-color .15s; }
.strefa b { color: var(--tx-d); font-weight: 600; }
.strefa .i { color: var(--lime-tx); }
.strefa input { position: absolute; inset: 0; opacity: 0; cursor: pointer; }
.strefa:hover, .strefa.nad { border-color: var(--lime); background: rgba(169, 205, 38, .06); }
.strefa:has(input:focus-visible) { outline: 2px solid var(--lime); outline-offset: 2px; }
.odp { padding: 18px 0; border-top: 1px solid var(--line-d); max-width: 80ch; margin-top: 18px; }
.odp__pyt { font: 600 16px/1.35 var(--f-disp); }
.zrodla { margin: 12px 0; padding-left: 26px; font-size: 13.5px; color: var(--tx-d2); }
.zrodla li { margin: 6px 0; }
.zrodla li::marker { color: var(--lime-tx); font-family: var(--f-mono); }
.z-bibl { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 0 0 8px 42px; }
.uwaga { color: var(--pilne); font-weight: 500; }

/* Formularz do uzupelnienia */
.stan-pola { display: inline-flex; align-items: center; gap: 7px; font-size: 13px; white-space: nowrap; color: var(--tx-d2); }
.stan-pola::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--line-d2); flex: none; }
.stan-pola--firma::before, .stan-pola--przetarg::before, .stan-pola--reczne::before { background: var(--lime); }
.stan-pola--ai::before { background: var(--lime-tx); }
.stan-pola--czlowiek::before, .stan-pola--brak::before { background: var(--pilne); }
.glowa > div { min-width: 0; max-width: 100%; }
.glowa h1 { overflow-wrap: anywhere; }
.pasek-zapisu { flex-wrap: wrap; }
.tab-pol td { vertical-align: middle; }
.tab-pol small { display: block; margin-top: 2px; font-size: 12.5px; color: var(--mu-d); max-width: 52ch; }
.pasek { height: 6px; max-width: 420px; margin-top: 14px; border-radius: 6px; background: var(--bg-3); overflow: hidden; }
.pasek i { display: block; height: 100%; background: var(--lime); }

/* Komunikaty: pasek z limonkowa kropka, jak na stronie */
.komunikat { display: flex; align-items: flex-start; gap: 12px; padding: 12px 16px; margin-bottom: 16px; border: 1px solid var(--line-d); border-radius: 12px; background: var(--bg-2); }
.komunikat::before { content: ""; width: 8px; height: 8px; margin-top: 7px; border-radius: 50%; background: var(--lime); flex: none; }
.komunikat--blad { border-color: var(--blad-linia); }
.komunikat--blad::before { background: var(--blad); }
.pusto { padding: 40px 0; max-width: 56ch; }
.pusto h2 { margin-bottom: 8px; }

/* Stan pobierania: korektor to wskaznik pracy, nie ozdoba */
.pobieranie { padding: 14px 18px; margin-bottom: 18px; border: 1px solid var(--line-d); border-radius: 12px; background: var(--bg-2); }
.pobieranie__glowa { display: flex; align-items: center; gap: 12px; font: 600 15px var(--f-disp); }
.pobieranie__log { margin: 8px 0 0; padding: 0; list-style: none; font: 400 12.5px/1.6 var(--f-mono); color: var(--mu-d); }
.pobieranie__log li:last-child { color: var(--tx-d2); }
.korektor { display: inline-flex; align-items: flex-end; gap: 2px; height: 16px; }
.korektor i { width: 3px; height: 100%; background: var(--lime); border-radius: 1px; transform-origin: bottom; animation: pasmo 1s var(--ease) infinite alternate; }
.korektor i:nth-child(2) { animation-delay: -.7s; }
.korektor i:nth-child(3) { animation-delay: -.35s; }
.korektor i:nth-child(4) { animation-delay: -.9s; }
.korektor i:nth-child(5) { animation-delay: -.5s; }
@keyframes pasmo { from { transform: scaleY(.25); } to { transform: scaleY(1); } }

/* Kalendarz */
.dzien { display: grid; grid-template-columns: 190px minmax(0, 1fr); gap: 16px 32px; padding: 20px 0; border-top: 1px solid var(--line-d); }
.dzien__data b { display: block; font: 600 20px var(--f-disp); letter-spacing: -.01em; }
.dzien__data span { font: 400 12px var(--f-mono); color: var(--mu-d); }
.wydarzenie { display: grid; grid-template-columns: 56px auto minmax(0, 1fr); gap: 4px 12px; align-items: baseline; padding: 6px 0; }
.wydarzenie .data { font-weight: 400; }

/* Ustawienia */
.kat { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 20px 24px; }
.kat__el { min-width: 0; }
.kat__el b { display: block; font: 600 16px var(--f-disp); margin-bottom: 8px; }
.kat__el .usun { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 13px; color: var(--mu-d); cursor: pointer; }
.pasek-zapisu { position: sticky; bottom: 0; z-index: 5; display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 14px 0; margin-top: 24px; background: var(--bg); border-top: 1px solid var(--line-d); }

/* Logowanie: hasla firmowego uzywamy przy logo, jak w ksiedze */
.wejscie { flex: 1; display: grid; grid-template-columns: minmax(0, 7fr) minmax(0, 5fr); min-height: 100vh; }
.wejscie__marka { display: flex; flex-direction: column; justify-content: space-between; padding: 48px 64px; background: var(--bg-deep); border-right: 1px solid var(--line-d); container-type: inline-size; }
.wejscie__marka img { height: 76px; width: auto; align-self: flex-start; }
.wj { margin: 0; font: 600 1em/.95 var(--f-disp); letter-spacing: -.03em; white-space: nowrap; }
.wj i { display: inline-block; width: .26em; height: .26em; border-radius: 50%; background: var(--lime); margin-left: .07em; vertical-align: .12em; }
.wejscie__marka .wj { font-size: clamp(44px, 14cqi, 112px); }
.wejscie__forma { display: flex; flex-direction: column; justify-content: center; padding: 48px clamp(32px, 6vw, 88px); }
.wejscie__forma h1 { margin-bottom: 6px; }
.wejscie__forma form { display: grid; gap: 16px; margin-top: 24px; max-width: 400px; }
.wejscie__forma .komunikat { max-width: 400px; margin: 16px 0 0; }

/* Stopka */
.stopka { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 6px 24px; padding: 14px 32px; border-top: 1px solid var(--line-d); font: 400 12px var(--f-mono); color: var(--mu-d); }
.stopka .wj { font-size: 15px; color: var(--tx-d); }
.stopka span i { display: inline-block; width: 4px; height: 4px; border-radius: 50%; background: var(--lime); margin: 0 8px; vertical-align: 2px; }

@media (max-width: 1080px) {
	.uklad { grid-template-columns: minmax(0, 1fr); }
	.bok { position: static; height: auto; min-width: 0; border-right: 0; border-bottom: 1px solid var(--line-d); }
	.filtry > summary { cursor: pointer; pointer-events: auto; }
	.filtry > summary::after { content: ""; width: 9px; height: 9px; margin: 0 4px 4px 0; border-right: 2px solid var(--lime); border-bottom: 2px solid var(--lime); transform: rotate(45deg); transition: transform .2s var(--ease); }
	.filtry[open] > summary::after { transform: rotate(-135deg) translate(-3px, -3px); }
	.filtry:not([open]) > summary h2 { margin-bottom: 0; }
	.bok__tresc { overflow: visible; }
	.tresc, .jedna { padding: 24px 16px 40px; }
	.belka { gap: 18px; padding: 0 16px; }
	.belka__nazwa, .belka__kto { display: none; }
	.spis { display: flex; overflow-x: auto; gap: 4px; }
	.spis a { white-space: nowrap; }
}
@media (max-width: 720px) {
	h1 { font-size: 27px; }
	.karta__glowa h1 { font-size: 24px; }
	.belka nav { gap: 14px; overflow-x: auto; }
	.belka nav a { font-size: 14px; white-space: nowrap; }
	.belka__logo img { height: 38px; }
	.wejscie { grid-template-columns: 1fr; }
	.wejscie__marka { padding: 28px 24px; gap: 28px; border-right: 0; border-bottom: 1px solid var(--line-d); }
	.wejscie__marka img { height: 56px; }
	.tab thead { display: none; }
	.tab, .tab tbody, .tab tr, .tab td { display: block; width: 100%; }
	.tab tr { padding: 14px 0; border-bottom: 1px solid var(--line-d); }
	.tab td { padding: 3px 0; border: 0; }
	.tab .t-pkt { display: none; }
	.dzien { grid-template-columns: 1fr; }
	.wydarzenie { grid-template-columns: 1fr; }
	.pasek-zapisu { position: static; }
	.z-bibl { margin-left: 0; }
	.narzedzia .wybor { width: 100%; justify-content: space-between; }
	.narzedzia .wybor select { flex: 1; }
	.stopka { padding: 12px 16px; }
}
@media (prefers-reduced-motion: reduce) {
	*, *::before, *::after { transition: none !important; }
	.korektor i { animation: none; transform: scaleY(.6); }
}

/* Przelacznik wygladu srodka strony */
.motyw { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 0 14px 0 12px; border-radius: 999px; border: 1px solid var(--line-3); background: transparent; color: var(--tx-d2); font: 500 13px var(--f-disp); cursor: pointer; white-space: nowrap; transition: border-color .15s, color .15s; }
.motyw:hover { border-color: var(--lime-tx); color: var(--tx-d); }
.motyw .m-j, html[data-motyw="dark"] .motyw .m-c { display: none; }
html[data-motyw="dark"] .motyw .m-j { display: inline; }
html[data-motyw="dark"] .motyw svg.m-j { display: block; }
@media (max-width: 1080px) { .motyw__t { display: none; } .motyw { padding: 0 10px; } }

/* Koszt API w belce (kierownik) i strona Koszty */
.koszt { display: inline-flex; align-items: baseline; gap: 8px; padding: 6px 14px; border: 1px solid var(--line-d2); border-radius: 999px; text-decoration: none; white-space: nowrap; transition: border-color .15s; }
.koszt span { font: 500 11px var(--f-mono); letter-spacing: .07em; text-transform: uppercase; color: var(--mu-d); }
.koszt b { font: 600 14px var(--f-disp); color: var(--tx-d); }
.koszt:hover { border-color: var(--lime-tx); }
.koszt--ostrz { border-color: var(--pilne); }
.koszt--ostrz b { color: var(--pilne); }
.koszt--alarm { border-color: var(--blad); }
.koszt--alarm b { color: var(--blad); }
.okresy { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 12px; }
.okresy .pig { text-decoration: none; min-height: 36px; padding: 0 14px; }
.okresy .pig[aria-current="true"] { border-color: var(--lime-tx); background: rgba(169, 205, 38, .16); color: var(--tx-d); font-weight: 500; }
.okresy__sep { width: 1px; height: 22px; background: var(--line-d2); margin: 0 6px; }
.pasek--ostrz i { background: var(--pilne); }
.pasek--alarm i { background: var(--blad); }
.uwaga-blad { color: var(--blad); }
@media (max-width: 1080px) { .koszt span { display: none; } }

/* Belka odchudzona: cztery pozycje, przelacznik motywu jako ikona, menu uzytkownika */
.belka nav a { white-space: nowrap; }
.belka nav a .kropka { display: inline-block; width: 7px; height: 7px; margin-left: 7px; border-radius: 50%; background: var(--pilne); vertical-align: 3px; }
.belka nav a .kropka--alarm { background: var(--blad); }
.motyw { width: 38px; height: 38px; padding: 0; justify-content: center; border-radius: 50%; }
.uzytk { position: relative; }
.uzytk summary { list-style: none; display: flex; align-items: center; gap: 10px; padding: 3px 12px 3px 3px; border: 1px solid var(--line-d2); border-radius: 999px; cursor: pointer; transition: border-color .15s; }
.uzytk summary::-webkit-details-marker { display: none; }
.uzytk summary:hover, .uzytk[open] summary { border-color: var(--lime-tx); }
.uzytk summary .i { width: 14px; height: 14px; color: var(--mu-d); transition: transform .2s var(--ease); }
.uzytk[open] summary .i { transform: rotate(180deg); }
.uzytk__kolo { width: 32px; height: 32px; display: grid; place-items: center; border-radius: 50%; background: var(--bg-3); border: 1px solid var(--line-d2); font: 600 13px var(--f-disp); color: var(--tx-d); }
.uzytk__nazwa { max-width: 180px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 600 14px var(--f-disp); }
.uzytk__menu { position: absolute; right: 0; top: calc(100% + 10px); z-index: 40; min-width: 240px; padding: 8px; border: 1px solid var(--line-d2); border-radius: 14px; background: var(--bg-2); }
.uzytk__opis { padding: 10px 12px 12px; margin-bottom: 6px; border-bottom: 1px solid var(--line-d); }
.uzytk__opis b { display: block; font: 600 15px var(--f-disp); }
.uzytk__opis span { font: 400 12px var(--f-mono); color: var(--mu-d); }
.uzytk__menu a, .uzytk__menu button { display: flex; width: 100%; padding: 10px 12px; border: 0; border-radius: 10px; background: none; color: var(--tx-d2); font: 500 14px var(--f-disp); text-align: left; text-decoration: none; cursor: pointer; transition: background-color .15s, color .15s; }
.uzytk__menu a:hover, .uzytk__menu button:hover { background: var(--bg-3); color: var(--tx-d); }

/* Ustawienia: menu boczne z grupami */
.tresc--ustaw { max-width: 1180px; }
.spis__grupa { margin: 20px 0 6px 14px; padding: 0; }
.spis__grupa:first-child { margin-top: 0; }
.spis b.uwaga, .spis b.uwaga-blad { font-weight: 600; }
.dodaj { margin-top: 22px; }
.dodaj summary { display: inline-flex; list-style: none; cursor: pointer; }
.dodaj summary::-webkit-details-marker { display: none; }
@media (max-width: 1280px) { .belka__nazwa, .uzytk__nazwa { display: none; } .uzytk summary { padding-right: 10px; } }
@media (max-width: 1080px) { .spis__grupa { display: none; } }

/* Ciemne pasy dziedzicza jasny tekst, a nie ciemny z body */
.belka, .bok, .szuflada, .stopka, .wejscie__marka { color: var(--tx-d); }

/* Sciezka pracy na karcie i listy do zlozenia */
.sciezka { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0 0 28px; padding: 0; list-style: none; }
.sciezka li { border-top: 2px solid var(--line-d2); }
.sciezka a { display: block; padding: 12px 4px 0 0; text-decoration: none; cursor: pointer; }
.sciezka .etykieta { margin-bottom: 4px; }
.sciezka b { display: block; font: 600 16px/1.3 var(--f-disp); color: var(--tx-d2); }
.sciezka li.gotowe { border-top-color: var(--lime-tx); }
.sciezka li.gotowe b { color: var(--tx-d); }
.sciezka li.gotowe b::before { content: ""; display: inline-block; width: 8px; height: 8px; margin-right: 8px; border-radius: 50%; background: var(--lime); vertical-align: 1px; }
.sciezka li.teraz { border-top-color: var(--tx-d); }
.sciezka li.teraz b { color: var(--tx-d); }
.sciezka a:hover b { color: var(--lime-tx); }
.check span b { font-weight: 600; margin-right: 8px; }
.check span small { display: block; margin-top: 2px; font-size: 13px; color: var(--mu-d); }
@media (max-width: 720px) { .sciezka { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Analiza AI: wybor rodzaju analizy */
.analizy { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.analiza-kafel { display: flex; flex-direction: column; align-items: flex-start; gap: 10px; padding: 18px; border: 1px solid var(--line-d2); border-radius: var(--r); background: var(--bg-2); }
.analiza-kafel h3 { font-size: 17px; }
.analiza-kafel p { margin: 0; }
.analiza-kafel .rzad { margin-top: auto; padding-top: 6px; }
.status-an { display: inline-flex; align-items: center; gap: 8px; font: 500 12px var(--f-mono); letter-spacing: .04em; color: var(--mu-d); }
.status-an::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: var(--line-4); }
.status-wiersz { display: inline-flex; align-items: center; gap: 8px; }
.status-an.blad { color: var(--blad); cursor: help; }
.status-an.blad::before { background: var(--blad); }
.status-an.blad--kropka { width: 16px; height: 16px; justify-content: center; border-radius: 50%; background: var(--blad); color: #fff; font: 700 11px/16px var(--f-body); }
.status-an.blad--kropka::before { display: none; }
.status-an.blad--kropka::after { content: "!"; }
.status-an.gotowe { color: var(--tx-d); }
.status-an.gotowe::before { background: var(--lime); }
.status-an.teraz::before { background: var(--pilne); }
@media (max-width: 900px) { .analizy { grid-template-columns: minmax(0, 1fr); } }

/* Zadania, statusy, watek i powiadomienia */
.st-zad { display: inline-flex; align-items: center; gap: 8px; font: 500 12px var(--f-mono); letter-spacing: .03em; white-space: nowrap; color: var(--tx-d2); }
.st-zad::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--line-4); flex: none; }
.st-zad--w-trakcie::before, .st-dok--do-akceptacji::before { background: var(--pilne); }
.st-zad--wykonane::before, .st-dok--zaakceptowany::before { background: var(--lime); }
.st-zad--niewykonane::before, .st-dok--do-poprawy::before { background: var(--blad); }
.znaczek { display: inline-grid; place-items: center; min-width: 18px; height: 18px; margin-left: 7px; padding: 0 5px; border-radius: 9px; background: var(--bg-3); color: var(--tx-d); font: 500 11px var(--f-mono); font-style: normal; vertical-align: 2px; }
.os-czasu { list-style: none; margin: 22px 0 0; padding: 0; max-width: 80ch; }
.os-czasu li { position: relative; padding: 10px 0 14px 22px; border-left: 1px solid var(--line-d2); margin-left: 4px; }
.os-czasu li::before { content: ""; position: absolute; left: -5px; top: 15px; width: 9px; height: 9px; border-radius: 50%; background: var(--line-4); }
.os-czasu__komentarz::before, .os-czasu__dokument::before { background: var(--tx-d) !important; }
.os-czasu__status::before { background: var(--pilne) !important; }
.powiadomienia { list-style: none; margin: 14px 0 0; padding: 0; max-width: 80ch; }
.powiadomienia li { display: flex; justify-content: space-between; gap: 16px; padding: 12px 0 12px 16px; border-bottom: 1px solid var(--line-d); border-left: 2px solid transparent; }
.powiadomienia li.nowe { border-left-color: var(--lime-tx); }
.powiadomienia a { text-decoration: none; display: grid; gap: 2px; }
.powiadomienia a span { font-size: 13px; }
.powiadomienia li:not(.nowe) b { font-weight: 500; color: var(--tx-d2); }

.wynik[hidden] { display: none; }
.analiza-kafel button[aria-pressed="true"] { outline: 2px solid var(--tx-d); outline-offset: 2px; }

/* zespol przetargu, dokumenty z wykonawca i akceptujacym, pozycje oferty, notatki */
.zespol__lista { list-style: none; margin: 8px 0 12px; padding: 0; display: grid; gap: 8px; }
.zespol__lista li { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.zespol__lista small { display: block; }
.tab--dok td { padding: 12px 14px; vertical-align: top; }
.tab--dok tr { border-bottom: 1px solid var(--line-d); }
.tab--dok .tytul { display: block; overflow-wrap: anywhere; }
.tab--dok .zam { display: flex; flex-wrap: wrap; gap: 4px 10px; align-items: center; margin-top: 4px; }
.tab--dok td:nth-child(2) { min-width: 220px; width: 40%; }
.dok-meta { font: 500 12px var(--f-mono); color: var(--mu-d); letter-spacing: .02em; }
.dok-meta--formularz { color: var(--lime-tx); }
.kto-dok { font-size: 13.5px; min-width: 150px; }
.kto-dok > span { display: block; }
.kto-dok small { display: block; font-size: 11.5px; letter-spacing: .04em; text-transform: uppercase; }
.akcje-dok { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; border-bottom: 0; }
.menu-akcji { position: relative; display: inline-block; text-align: left; }
.menu-akcji > summary { list-style: none; cursor: pointer; }
.menu-akcji > summary::-webkit-details-marker { display: none; }
.menu-akcji__tresc { position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; width: 300px; display: grid; gap: 10px; padding: 14px; background: var(--bg-2); border: 1px solid var(--line-d2); border-radius: 12px; box-shadow: 0 10px 30px rgba(0, 0, 0, .18); white-space: normal; }
.poz { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; }
.poz > label { flex: 1; min-width: 0; }
.poz__zad { display: inline-flex; flex-direction: column; align-items: flex-end; gap: 2px; text-decoration: none; color: var(--tx-d2); font-size: 13px; text-align: right; }
.poz__przekaz .menu-akcji__tresc { right: 0; }
.notatka--przypieta { background: var(--lime-soft); border-left: 3px solid var(--lime); padding-left: 12px; color: var(--ink); }
.notatka--przypieta .mut { color: #3A3A3A; }

/* podpowiedzi po najechaniu */
[data-podp] { cursor: help; }
.podp { position: fixed; z-index: 1000; max-width: 340px; padding: 10px 12px; background: #0F0F0F; color: #F4F4F4; border: 1px solid #3A3A3A; border-radius: 10px; font: 400 13px/1.45 var(--f-body); box-shadow: 0 10px 30px rgba(0, 0, 0, .3); pointer-events: none; }
.podp[hidden] { display: none; }
.info { display: inline-grid; place-items: center; width: 18px; height: 18px; margin-left: 8px; border-radius: 50%; border: 1px solid var(--line-3); color: var(--mu-d); font: 600 11px var(--f-mono); vertical-align: middle; }
.info:hover, .info:focus-visible { border-color: var(--lime-tx); color: var(--lime-tx); }

/* stan pobranych dokumentow i zwijane dodawanie */
.dok-stan { display: flex; align-items: center; gap: 12px; margin: 0 0 20px; padding: 14px 16px; background: var(--lime-soft); border: 1px solid var(--lime); border-radius: 12px; color: var(--ink); }
.dok-stan .i { flex: none; width: 20px; height: 20px; color: var(--lime-tx); }
.dok-stan b { font-weight: 600; }
.dodaj-dok { margin-top: 24px; }
.dodaj-dok > summary { display: inline-flex; list-style: none; cursor: pointer; }
.dodaj-dok > summary::-webkit-details-marker { display: none; }
.dodaj-dok[open] > summary { margin-bottom: 18px; }

/* pasek analiz w toku: do 3 analiz pod soba, przyklejony pod belka (przykleja sie caly pojemnik) */
:root { --pasek-h: 0px; }
#analizy-pasek { position: sticky; top: var(--belka); z-index: 25; }
.pasek-analiz { display: flex; align-items: flex-start; gap: 18px; padding: 6px 24px; background: var(--lime-soft); border-bottom: 1px solid var(--lime); color: var(--ink); font-size: 12.5px; line-height: 22px; }
.pasek-analiz[hidden] { display: none; }
.pa-et { display: inline-flex; align-items: center; gap: 8px; flex: none; white-space: nowrap; }
.pa-et b { font-weight: 600; }
.pa-et .korektor { height: 12px; }
.pa-lista { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.pa-widoczne, .pa-reszta { display: flex; flex-direction: column; margin: 0; padding: 0; list-style: none; min-width: 0; }
.pa-widoczne li, .pa-reszta li { display: flex; align-items: center; gap: 10px; min-width: 0; }
.pa-widoczne li a, .pa-reszta li a { flex: none; font-weight: 600; color: var(--ink); text-decoration: underline; text-decoration-color: rgba(15, 15, 15, .3); text-underline-offset: 2px; white-space: nowrap; }
.pa-meta { flex: 1; min-width: 0; color: #3A3A3A; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pa-czas { flex: none; color: #3A3A3A; font-family: var(--f-mono); font-size: 11.5px; white-space: nowrap; }
.pa-postep { display: inline-block; width: 54px; height: 4px; border-radius: 2px; background: rgba(15, 15, 15, .15); overflow: hidden; flex: none; }
.pa-postep b { display: block; height: 100%; background: var(--ink); }
.pa-spin { width: 8px; height: 8px; border-radius: 50%; background: var(--ink); animation: pa-puls 1s ease-in-out infinite alternate; flex: none; }
@keyframes pa-puls { from { opacity: .25; } to { opacity: 1; } }
.pa-ok { flex: none; font-weight: 700; color: var(--lime-tx); width: 8px; text-align: center; }
.pa-ok--blad { color: var(--blad); }
.pa-x { border: 0; background: transparent; color: #3A3A3A; font-size: 16px; line-height: 1; cursor: pointer; padding: 0 4px; flex: none; }
.pa-x:hover { color: var(--ink); }
.pa-wiecej { position: relative; align-self: flex-start; margin-top: 2px; }
.pa-wiecej > summary { display: inline-block; list-style: none; cursor: pointer; padding: 0 10px; border: 1px solid var(--ink); border-radius: 999px; font: 600 11.5px/18px var(--f-mono); }
.pa-wiecej > summary::-webkit-details-marker { display: none; }
.pa-wiecej .pa-reszta { position: absolute; left: 0; top: calc(100% + 8px); gap: 6px; padding: 12px 14px; width: min(760px, 90vw); background: var(--bg-2); border: 1px solid var(--line-d2); border-radius: 12px; box-shadow: 0 10px 30px rgba(0, 0, 0, .18); z-index: 40; color: var(--tx-d); }
.pa-wiecej .pa-reszta li a { color: var(--tx-d); }
.pa-wiecej .pa-reszta .pa-meta, .pa-wiecej .pa-reszta .pa-czas, .pa-wiecej .pa-reszta .pa-x { color: var(--mu-d); }
body.ma-pasek { --off: calc(var(--belka) + var(--pasek-h)); }
body.ma-pasek .bok { top: var(--off); height: calc(100vh - var(--off)); }
.ai-znacznik { display: inline-block; margin-left: 8px; padding: 0 6px; border: 1px solid currentColor; border-radius: 999px; font: 600 10px/16px var(--f-mono); letter-spacing: .06em; vertical-align: middle; }

/* zakladka Pytania i pisma */
.zalecenie-pisma { margin: 0 0 20px; padding: 14px 16px; background: var(--lime-soft); border: 1px solid var(--lime); border-radius: 12px; color: var(--ink); max-width: 75ch; }
.zalecenie-pisma ul { margin: 8px 0 0; padding-left: 18px; }
.pisma-formularz { display: grid; gap: 14px; max-width: 75ch; margin-bottom: 26px; }

/* przyciski akcji karty: zawsze widoczne pod belka i paskiem analiz */
.akcje-karty { position: sticky; top: var(--off, var(--belka)); z-index: 20; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 18px; padding: 10px 0; background: var(--bg); border-bottom: 1px solid var(--line-d); }
.akcje-karty form { margin: 0; }
.akcje-karty .btn { padding-top: 8px; padding-bottom: 8px; }
.akcje-karty__termin { margin-left: auto; font: 500 12.5px var(--f-mono); color: var(--mu-d); white-space: nowrap; }
.akcje-karty__termin b { color: var(--tx-d); }
.akcje-karty__termin--pilny b { color: var(--pilne); }

/* ===== kompaktowy uklad: karta i ustawienia mieszcza sie na jednym ekranie ===== */
:root { --belka: 58px; }
.belka { gap: 24px; padding: 0 24px; }
.belka__logo img { height: 38px; }
.belka nav { gap: 22px; }
.belka nav a { font-size: 14px; padding: 4px 0; }
.tresc { padding: 12px 28px 24px; font-size: 14px; line-height: 1.45; }
.tresc--ustaw { padding-top: 20px; }
.uklad { grid-template-columns: 260px minmax(0, 1fr); }
.bok__tresc { padding: 12px 12px 12px 14px; }
.powrot { margin-bottom: 8px; font-size: 12px; }
.spis a { padding: 5px 10px 5px 12px; font-size: 13.5px; border-radius: 8px; }
.spis { gap: 0; }
.spis a::before { top: 6px; bottom: 6px; }
.spis b { font-size: 11px; line-height: 1.7; }
.bok .grupa { margin-top: 10px; }
.bok .grupa > .etykieta { margin-bottom: 4px; font-size: 10px; }
.bok .pole .etykieta { margin-bottom: 3px; font-size: 10px; }
.bok input[type=text], .bok select, .bok input[type=date] { min-height: 30px; padding: 0 10px; font-size: 13px; border-radius: 8px; }
.bok select { padding-right: 28px; background-size: 14px; background-position: right 8px center; }
.bok .btn, .bok .btn--sm { min-height: 28px; padding: 0 12px; font-size: 12.5px; }
.bok .filtry--mala > summary h2 { font-size: 13px; }
.bok form[style*="grid"] { gap: 6px !important; }
.bok .zespol__lista { gap: 3px; margin: 4px 0 8px; }
.bok .zespol__lista small { font-size: 11px; }
.bok .zespol__lista .btn { min-height: 22px; padding: 0 8px; }
.bok .mut { font-size: 12px; }
/* naglowek karty */
.karta__glowa .znaczniki { margin-top: 0; gap: 4px; }
.karta__glowa .pkt { width: 28px !important; height: 28px !important; font-size: 11px !important; }
.zn { min-height: 20px; padding: 0 8px; font-size: 11.5px; }
.karta__glowa h1 { font-size: 20px; line-height: 1.2; margin-top: 6px; max-width: none; }
.karta__glowa .zam { font-size: 12.5px; margin-top: 3px; }
.fakty { margin: 8px 0 0; gap: 4px 26px; }
.fakt { padding-left: 9px; }
.fakt dt, .fakt > .etykieta { font-size: 10px; margin-bottom: 0; }
.fakt dd { font-size: 14px; line-height: 1.25; }
.fakt dd small { display: inline; margin-left: 6px; font-size: 11px; }
.akcje-karty { padding: 5px 0; margin-bottom: 8px; gap: 6px; }
.akcje-karty .btn { min-height: 30px; padding: 0 13px; font-size: 13px; }
.akcje-karty .zn { min-height: 26px; }
.pasek-analiz { padding-top: 4px; padding-bottom: 4px; }
/* sciezka pracy, panele, sekcje */
.sciezka { margin-bottom: 12px; gap: 10px; }
.sciezka a { padding-top: 6px; }
.sciezka .etykieta { font-size: 10px; margin-bottom: 1px; }
.sciezka b { font-size: 13.5px; line-height: 1.25; }
.panel-t { margin-top: 10px; }
.panel-t > h2, .sekcja h2 { font-size: 16px; margin-bottom: 8px; }
.sekcja { padding: 12px 0; }
.prose { font-size: 14px; }
.tab--gesta td, .tab td { padding: 6px 10px; }
.tab--dok td { padding: 8px 10px; }
.tab th { padding: 6px 10px; font-size: 10.5px; }
.analizy { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.analiza-kafel { padding: 10px 12px; gap: 6px; }
.analiza-kafel h3 { font-size: 14.5px; }
.analiza-kafel p { font-size: 12.5px; line-height: 1.35; }
.analiza-kafel .btn { min-height: 30px; padding: 0 12px; font-size: 12.5px; }
.status-an { font-size: 11px; }
.komunikat { padding: 8px 14px; margin: 0 0 8px; font-size: 13px; }
.pole .etykieta { margin-bottom: 4px; }
.tresc input[type=text], .tresc input[type=date], .tresc select { min-height: 34px; padding: 0 12px; font-size: 13.5px; border-radius: 9px; }
.tresc textarea { padding: 8px 12px; font-size: 13.5px; }
.tresc .btn { min-height: 34px; font-size: 13.5px; padding: 0 16px; }
.tresc .btn--sm { min-height: 28px; font-size: 12.5px; padding: 0 11px; }
.pisma-formularz { gap: 8px; margin-bottom: 14px; }
.zalecenie-pisma { margin-bottom: 12px; padding: 10px 14px; font-size: 13px; }
.dok-stan { margin-bottom: 12px; padding: 9px 14px; }
.stopka { padding-top: 10px; padding-bottom: 10px; }

/* panel boczny i stopka: strona nie rosnie ponad ekran, gdy tresc jest krotka */
.stopka { min-height: 0; height: 34px; padding-top: 0; padding-bottom: 0; align-items: center; }
.bok { height: calc(100vh - var(--belka) - 34px); }
body.ma-pasek .bok { top: var(--off); height: calc(100vh - var(--off) - 34px); }
details.sekcja > summary { cursor: pointer; list-style: none; font: 600 14px var(--f-disp); padding: 6px 0; }
details.sekcja > summary::-webkit-details-marker { display: none; }
details.sekcja > summary::before { content: "▸ "; color: var(--lime-tx); }
details.sekcja[open] > summary::before { content: "▾ "; }

/* zakladki karty na jednym ekranie */
.analiza-kafel h3 + p.mut { display: none; }
.analiza-kafel { gap: 4px; padding: 8px 12px; }
.analiza-kafel .rzad { padding-top: 2px; }
.wynik { max-height: calc(100vh - 560px); min-height: 220px; overflow-y: auto; padding: 4px 14px 10px; margin-top: 10px; border: 1px solid var(--line-d); border-radius: 12px; scrollbar-width: thin; }
.wynik > h2 { position: sticky; top: 0; z-index: 2; margin: 0 -14px 8px; padding: 8px 14px; background: var(--bg); border-bottom: 1px solid var(--line-d); }
.dwie-kolumny { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 28px; align-items: start; }
.dwie-kolumny .kol { min-width: 0; }
.dwie-kolumny .kol:last-child { border-left: 1px solid var(--line-d); padding-left: 24px; max-height: calc(100vh - 250px); overflow-y: auto; scrollbar-width: thin; }
.dwie-kolumny .kol > h2 { font-size: 16px; }
.dwie-kolumny .pisma-formularz, .dwie-kolumny .zalecenie-pisma { max-width: none; }
.kto-dok { min-width: 0; font-size: 12.5px; }
.kto-dok > span { display: inline; margin-right: 12px; }
.kto-dok small { display: inline; min-width: 0; margin-right: 4px; font-size: 10.5px; }
.tab--dok td { padding: 5px 10px; vertical-align: middle; }
.tab--dok td:nth-child(2) { width: 46%; }
.tab--dok .zam { margin-top: 1px; font-size: 12px; }
.akcje-dok { gap: 4px; flex-wrap: nowrap; }
.akcje-dok .btn { min-height: 26px; padding: 0 10px; font-size: 12px; }

/* domkniecie wysokosci: zadania, pytania i pisma, analiza */
.wynik { max-height: calc(100vh - 650px); min-height: 150px; }
#zadania > p.mut.prose { display: none; }
#zadania table.tab { margin-top: 12px !important; }
#zadania textarea { min-height: 34px; }
#f-zad { gap: 8px 14px; }
.dwie-kolumny .kol > p.mut.prose { font-size: 12.5px; line-height: 1.35; margin: 4px 0 8px !important; }
.dwie-kolumny .pisma-formularz textarea { min-height: 34px; }

/* lista przetargow: filtry w rozwijanych listach, widoki jako zakladki */
.szukaj .etykieta { margin-bottom: 3px !important; }
.fgrupa { border: 1px solid var(--line-d2); border-radius: 10px; margin-top: 8px; background: var(--bg-2); }
.fgrupa > summary { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding: 7px 12px; cursor: pointer; list-style: none; font: 600 13px var(--f-disp); color: var(--tx-d2); }
.fgrupa > summary::-webkit-details-marker { display: none; }
.fgrupa > summary::after { content: ""; width: 12px; height: 12px; background: var(--strzalka) no-repeat center / 12px; transition: transform .15s; }
.fgrupa[open] > summary::after { transform: rotate(180deg); }
.fgrupa[open] > summary { border-bottom: 1px solid var(--line-d); }
.fwybor { margin-left: auto; margin-right: 8px; padding: 0 7px; border-radius: 999px; background: var(--lime); color: var(--ink); font: 600 11px/18px var(--f-mono); }
.flista { padding: 4px 6px 6px; max-height: 290px; overflow-y: auto; scrollbar-width: thin; }
.fl { display: flex; align-items: center; gap: 8px; padding: 3px 6px; border-radius: 6px; font-size: 13px; color: var(--tx-d2); cursor: pointer; }
.fl:hover { background: var(--bg-3); color: var(--tx-d); }
.fl input { width: 15px; height: 15px; }
.fl span { flex: 1; min-width: 0; }
.fl b { font: 400 11.5px var(--f-mono); color: var(--mu-d); }
.fdni > summary { font-weight: 500; font-size: 12px; color: var(--mu-d); }
.fdni__pole { padding: 8px 12px 10px; }
.widoki { display: flex; flex-wrap: wrap; gap: 4px; margin: 0 0 8px; padding: 0; border-bottom: 1px solid var(--line-d); }
.widoki a { display: inline-flex; align-items: center; gap: 7px; padding: 7px 14px; margin-bottom: -1px; border-bottom: 2px solid transparent; font: 600 14px var(--f-disp); color: var(--tx-d2); text-decoration: none; }
.widoki a b { font: 500 11.5px var(--f-mono); color: var(--mu-d); }
.widoki a:hover { color: var(--tx-d); }
.widoki a.akt { color: var(--tx-d); border-bottom-color: var(--lime); }
.widoki a.akt b { color: var(--lime-tx); }
.narzedzia { padding: 6px 0; gap: 6px; }
.wybor { min-height: 30px; padding-left: 10px; }
.wybor select { min-height: 28px; font-size: 12.5px; }
.wybor .etykieta { font-size: 10px; }
.glowa { margin-bottom: 10px; gap: 8px 30px; }
.glowa h1 { font-size: 20px; }
.tab .tytul { font-size: 14px; }

/* lista w oknie z wlasnym przewijaniem: strona stoi, przewija sie tylko lista */
.lista-przewij { max-height: calc(100vh - 262px - var(--pasek-h)); overflow-y: auto; scrollbar-width: thin; border-bottom: 1px solid var(--line-d); }
.lista-przewij thead th { position: sticky; top: 0; z-index: 2; background: var(--bg); box-shadow: 0 1px 0 var(--line-d); }
.lista-przewij .tab td { padding-top: 8px; padding-bottom: 8px; }

/* zmiany ogloszen */
.zn--zmiana { margin-left: 8px; min-height: 18px; border-color: var(--pilne); color: var(--pilne); font-size: 10.5px; }
.fakt dd small.stary { margin-left: 6px; text-decoration: line-through; opacity: .75; }

/* menu "trzy kreski": panel boczny rozwijany z belki, logo w pelnym rozmiarze */
:root { --belka: 62px; }
.belka__logo img { height: 46px; }
.hamburger { position: relative; display: inline-flex; flex-direction: column; justify-content: center; gap: 5px; width: 40px; height: 40px; padding: 0 9px; margin-right: -12px; border: 1px solid transparent; border-radius: 10px; background: transparent; cursor: pointer; flex: none; }
.hamburger[hidden] { display: none; }
.hamburger i { display: block; height: 2px; border-radius: 2px; background: var(--tx-d2); transition: background-color .15s; }
.hamburger:hover { border-color: var(--line-3); }
.hamburger:hover i { background: var(--tx-d); }
.hamburger[aria-expanded="true"] i { background: var(--lime); }
.hamburger.ma-filtry::after { content: ""; position: absolute; top: 5px; right: 5px; width: 8px; height: 8px; border-radius: 50%; background: var(--lime); border: 2px solid var(--bg); }
body.bok-ukryty .uklad { grid-template-columns: minmax(0, 1fr); }
body.bok-ukryty .uklad > .bok { display: none; }
body.bok-ukryty .tresc { padding-left: 32px; padding-right: 32px; }

/* Pulpit */
.tresc--pulpit { max-width: none; }
.pulpit__glowa { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 8px 24px; margin-bottom: 10px; }
.pulpit__glowa h1 { font-size: 22px; }
.pulpit__glowa p { margin: 2px 0 0; font-size: 13px; }
.pulpit__aktualizacja { display: flex; align-items: center; gap: 12px; font-size: 12.5px; }
.pulpit { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.blok-p { display: flex; flex-direction: column; min-width: 0; border: 1px solid var(--line-d2); border-radius: 12px; background: var(--bg-2); }
.blok-p > h2 { display: flex; align-items: baseline; gap: 10px; margin: 0; padding: 9px 14px; font-size: 14px; border-bottom: 1px solid var(--line-d); }
.blok-p > h2 b { font: 500 12px var(--f-mono); padding: 0 7px; border-radius: 999px; background: var(--bg-3); color: var(--tx-d2); }
.blok-p > h2 small { margin-left: auto; font: 400 11px var(--f-mono); }
.blok-p__tresc { overflow-y: auto; max-height: calc((100vh - var(--belka) - var(--pasek-h) - 150px) / 2); min-height: 80px; padding: 2px 14px 8px; scrollbar-width: thin; }
.wiersz-p { display: flex; align-items: center; gap: 10px; padding: 6px 0; border-bottom: 1px solid var(--line-d); font-size: 13px; min-width: 0; }
.wiersz-p:last-child { border-bottom: 0; }
.wiersz-p .tytul { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 500; }
.wiersz-p .przetarg { flex: 0 1 30%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.wiersz-p .termin { flex: none; font: 500 12px var(--f-mono); color: var(--mu-d); white-space: nowrap; }
.wiersz-p .termin.pilny, td.pilny { color: var(--pilne); }
.wiersz-p--duzy { padding: 8px 0; align-items: flex-start; }
.wiersz-p--duzy .pkt { width: 30px; height: 30px; font-size: 11px; flex: none; }
.tresc-p { flex: 1; min-width: 0; display: flex; flex-direction: column; }
.tresc-p .tytul { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.tresc-p .mut { font-size: 12px; }
.akcje-p { display: flex; gap: 4px; flex: none; }
.akcje-p form { margin: 0; }
.akcje-p .btn { min-height: 26px; padding: 0 10px; font-size: 12px; }
.wiersz-p--zmiana { flex-direction: column; align-items: flex-start; gap: 2px; }
.opis-zmiany { white-space: pre-line; font-size: 12px; }
.pusto-p { margin: 10px 0; font-size: 13px; }
.wiecej-p { margin-top: 6px; }
.wiecej-p > summary { cursor: pointer; font: 600 12.5px var(--f-disp); color: var(--lime-tx); padding: 6px 0; list-style: none; }
.wiecej-p > summary::-webkit-details-marker { display: none; }
.zn--zadanie { border-color: var(--lime); }
.zn--oferta { border-color: var(--pilne); color: var(--pilne); }
@media (max-width: 1100px) { .pulpit { grid-template-columns: minmax(0, 1fr); } }

.kol-p { display: flex; flex-direction: column; gap: 12px; min-width: 0; }
.pulpit .blok-p__tresc { max-height: calc((100vh - var(--belka) - var(--pasek-h) - 200px) / 2); }
.kol-p:first-child .blok-p:first-child .blok-p__tresc { max-height: calc((100vh - var(--belka) - var(--pasek-h) - 200px) / 3); }

/* stabilny uklad belki: stale miejsce na pasek przewijania i na przycisk menu */
html { scrollbar-gutter: stable; }
.hamburger[hidden] { display: inline-flex; }
.szuflada { position: fixed; top: var(--belka); left: 0; z-index: 35; width: 280px; height: calc(100vh - var(--belka)); padding: 14px 12px; overflow-y: auto; background: var(--bg); border-right: 1px solid var(--line-d); box-shadow: 8px 0 30px rgba(0, 0, 0, .2); }
.szuflada[hidden] { display: none; }
.szuflada nav { display: flex; flex-direction: column; gap: 2px; }
.szuflada a { padding: 8px 12px; border-radius: 8px; font: 600 14px var(--f-disp); color: var(--tx-d2); text-decoration: none; }
.szuflada a:hover { background: var(--bg-3); color: var(--tx-d); }
.szuflada__pod { padding-left: 28px !important; font-weight: 500 !important; font-size: 13px !important; }
.szuflada__etykieta { margin: 8px 12px 2px; font: 500 10px var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--mu-d); }
/* Pulpit: po lewej wszystko poza nowymi, po prawej nowe w calej wysokosci */
.pulpit { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
.kol-p--prawa .blok-p__tresc { max-height: calc(100vh - var(--belka) - var(--pasek-h) - 170px); }
.kol-p--lewa .blok-p__tresc { max-height: calc((100vh - var(--belka) - var(--pasek-h) - 230px) / 3); }

/* ekran logowania: tytul i tlo w stylu radaru */
.wejscie__marka { position: relative; overflow: hidden; isolation: isolate; background: radial-gradient(ellipse 70% 60% at 70% 45%, rgba(169, 205, 38, .10), transparent 70%), var(--bg-deep); }
.wejscie__radar { position: absolute; z-index: -1; right: -12%; top: 50%; width: min(130%, 1100px); aspect-ratio: 1; transform: translateY(-50%); pointer-events: none; }
.wejscie__sweep { animation: radar-sweep 14s linear infinite; }
@keyframes radar-sweep { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .wejscie__sweep { animation: none; } }
.wejscie__tytul { margin: auto 0; max-width: 62%; }
.wejscie__tytul .etykieta { color: var(--lime); margin-bottom: 14px; }
.wejscie__tytul h1 { font-size: clamp(46px, 9.5cqi, 104px); line-height: .96; letter-spacing: -.03em; color: var(--tx-d); }
.wejscie__tytul h1 i { font-style: normal; color: var(--lime); }
.wejscie__tytul p { margin: 20px 0 0; max-width: 40ch; font-size: 15px; line-height: 1.5; color: var(--mu-d); }
.wejscie__marka .wj { font-size: clamp(18px, 2.6cqi, 30px); }
.wejscie__forma h1 { font-size: 30px; }

/* ===== polityka ukladu: wszystkie ekrany tak samo ===== */
html { overflow-y: scroll; }                       /* stale miejsce na pasek przewijania: koniec ze skakaniem o 15 px */
.jedna, .tresc { max-width: none; margin: 0; padding: 12px 28px 24px; font-size: 14px; line-height: 1.45; }
.tresc--ustaw, .tresc--pulpit { max-width: none; }
.jedna h1, .tresc h1, .glowa h1 { font-size: 22px; line-height: 1.2; }
.karta__glowa h1 { font-size: 20px; }
.jedna h2, .tresc h2 { font-size: 16px; }
.jedna h3, .tresc h3 { font-size: 14.5px; }
.jedna .mut, .tresc .mut { font-size: inherit; }
html.bok-ukryty .uklad { grid-template-columns: minmax(0, 1fr); }
html.bok-ukryty .uklad > .bok { display: none; }
html.bok-ukryty .tresc { padding-left: 28px; padding-right: 28px; }
.widoki--ustaw { margin-bottom: 14px; }
.widoki a b.uwaga, .widoki a b.uwaga-blad { font-weight: 600; }
.jedna .tab td, .tresc .tab td { font-size: 13.5px; }
.jedna .tab th, .tresc .tab th { font-size: 10.5px; }
.jedna input[type=text], .jedna input[type=date], .jedna input[type=number], .jedna input[type=password], .jedna input[type=email], .jedna select { min-height: 34px; padding: 0 12px; font-size: 13.5px; border-radius: 9px; }
.jedna .btn { min-height: 34px; font-size: 13.5px; padding: 0 16px; }
.jedna .btn--sm { min-height: 28px; font-size: 12.5px; padding: 0 11px; }
@media (max-width: 900px) { .jedna, .tresc { padding: 12px 16px 24px; } }

/* bez skokow przy zmianie strony: pasek analiz o znanej wysokosci, stale kolumny, plynne przejscie */
.pasek-analiz { box-sizing: border-box; height: var(--pasek-h); padding-top: 4px; padding-bottom: 4px; line-height: 22px; overflow: visible; }
.pa-widoczne li, .pa-reszta li { height: 22px; }
.pa-wiecej { height: 22px; margin-top: 0; }
.pa-wiecej > summary { line-height: 18px; margin-top: 2px; }
.tab--stala { table-layout: fixed; }
.tab--stala td { overflow-wrap: anywhere; }
.widoki a b { display: inline-block; min-width: 2.2ch; text-align: left; font-variant-numeric: tabular-nums; }
@view-transition { navigation: auto; }
::view-transition-old(root), ::view-transition-new(root) { animation-duration: .12s; }
@media (prefers-reduced-motion: reduce) { @view-transition { navigation: none; } }

/* pola wyboru: miejsce na strzalke po prawej (poprzednie kompaktowanie je zabieralo) */
.tresc select, .jedna select { padding-right: 32px; background-repeat: no-repeat; background-position: right 10px center; background-size: 14px; text-overflow: ellipsis; }
.tresc .wybor select, .jedna .wybor select { width: auto; padding: 0 30px 0 0; min-height: 28px; background-position: right 8px center; }
.tresc .wybor, .jedna .wybor { padding-right: 4px; }

/* ===== semafor: zielony = spokojnie, zolty = uwaga, czerwony = powazny problem (zamiast brazowego) ===== */
:root, html[data-motyw="dark"], .belka, .bok, .szuflada, .stopka, .wejscie__marka {
	--sem-ok: #3DA35D; --sem-uwaga: #F6C026; --sem-zle: #D93025; --sem-uwaga-tlo: rgba(246, 192, 38, .28);
	--pilne: #F6C026;
}
html[data-motyw="dark"], .belka, .bok, .szuflada, .stopka, .wejscie__marka { --sem-ok: #46B26B; --sem-zle: #FF6B5B; --sem-uwaga-tlo: rgba(246, 192, 38, .22); }
/* terminy: kropka w kolorze, tekst zawsze czytelny */
.spokojny .data::before, .pilny .data::before, .krytyczny .data::before, .data.spokojny::before, .data.pilny::before, .data.krytyczny::before {
	content: ""; display: inline-block; width: 9px; height: 9px; margin-right: 8px; border-radius: 50%; vertical-align: 1px; }
.spokojny .data::before, .data.spokojny::before { background: var(--sem-ok); }
.pilny .data::before, .data.pilny::before { background: var(--sem-uwaga); }
.krytyczny .data::before, .data.krytyczny::before { background: var(--sem-zle); }
.pilny .data, .pilny .data + small, .spokojny .data, .spokojny .data + small { color: inherit; }
.pilny .data + small, .spokojny .data + small { color: var(--mu-d); }
.krytyczny .data { color: var(--sem-zle); font-weight: 600; }
.krytyczny .data + small { color: var(--sem-zle); }
.przeterminowany .data { color: var(--mu-d); }
/* naglowek terminu na karcie i pasek akcji */
.fakt--spokojny { border-left-color: var(--sem-ok); }
.fakt--pilny { border-left-color: var(--sem-uwaga); }
.fakt--pilny dd { color: var(--tx-d); }
.fakt--krytyczny { border-left-color: var(--sem-zle); }
.fakt--krytyczny dd { color: var(--sem-zle); }
.fakt--przeterminowany { border-left-color: var(--line-3); }
.akcje-karty__termin--pilny b { color: var(--tx-d); box-shadow: inset 0 -7px 0 var(--sem-uwaga-tlo); }
.akcje-karty__termin--krytyczny b { color: var(--sem-zle); }
.akcje-karty__termin--spokojny b { color: var(--tx-d); }
/* Pulpit i tabele */
.wiersz-p .termin.pilny { color: var(--tx-d); box-shadow: inset 0 -7px 0 var(--sem-uwaga-tlo); }
.wiersz-p .termin.krytyczny, td.krytyczny.mono { color: var(--sem-zle); font-weight: 600; }
td.pilny, td.krytyczny, td.spokojny, td.przeterminowany { color: inherit; }
/* znaczniki */
.zn--zmiana { display: flex; width: fit-content; margin: 5px 0 0; min-height: 20px; padding: 0 9px; background: var(--sem-uwaga); border-color: transparent; color: #1A1400; font: 600 11px/20px var(--f-body); letter-spacing: .02em; }
.zn--oferta { border-color: var(--sem-uwaga); background: var(--sem-uwaga-tlo); color: var(--tx-d); }
.zn--kio { border-color: var(--sem-uwaga); color: var(--tx-d); }
.uwaga { color: var(--tx-d); background: var(--sem-uwaga-tlo); border-radius: 4px; padding: 0 4px; }
.uwaga-blad { color: var(--sem-zle); }
.koszt--ostrz b { color: var(--tx-d); }
.pasek--alarm i { background: var(--sem-zle); }
.status--aktywny::before { background: var(--sem-ok); }

/* listy rozwijane: tekst opcji nie dotyka lewej krawedzi */
select option { padding: 7px 14px; }
.wybor { gap: 0; }
.wybor select, .tresc .wybor select, .jedna .wybor select { padding-left: 12px; }

/* Analiza AI: zwarte kafle (tytul, stan i przyciski w 2 wierszach), wynik na calej wysokosci strony */
#analiza > h2 { display: inline-block; margin-right: 14px; }
.analiza-wstep { display: inline; margin: 0 !important; font-size: 12.5px; }
.analizy { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; margin-top: 10px; }
.analiza-kafel { flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 4px 10px; padding: 7px 12px; }
.analiza-kafel h3 { flex: 0 0 100%; font-size: 14px; line-height: 1.25; }
.analiza-kafel .rzad { margin: 0 0 0 auto; padding: 0; gap: 6px; flex-wrap: nowrap; }
.analiza-kafel .btn { min-height: 26px; padding: 0 10px; font-size: 12px; white-space: nowrap; }
.analiza-kafel .ai-znacznik { margin-left: 6px; }
.analiza-kafel > p.mut { display: none; }
#analiza > p.prose { margin-top: 6px !important; font-size: 12.5px !important; }
.wynik { max-height: none; min-height: 0; overflow: visible; }
.wynik > h2 { position: static; }
@media (max-width: 1100px) { .analizy { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 700px) { .analizy { grid-template-columns: minmax(0, 1fr); } }

/* ===== czytelnosc: terminy do 3 dni na czerwono, kafelki ocen, pelna szerokosc tekstu ===== */
:root { --sem-zle-tx: #fff; --sem-zle-tlo: rgba(217, 48, 37, .09); }
html[data-motyw="dark"], .belka, .bok, .szuflada, .stopka, .wejscie__marka { --sem-zle-tx: #1A0200; --sem-zle-tlo: rgba(255, 107, 91, .14); }
/* terminy: odliczanie jako znacznik, bez zoltego podkreslenia */
.krytyczny .data + small, .pilny .data + small { display: inline-block; margin-left: 8px; padding: 1px 8px; border-radius: 6px; font: 600 11px/1.5 var(--f-body); letter-spacing: .01em; }
.krytyczny .data + small { background: var(--sem-zle); color: var(--sem-zle-tx); }
.pilny .data + small { background: var(--sem-uwaga); color: #1A1400; }
.akcje-karty__termin--pilny b, .wiersz-p .termin.pilny { box-shadow: none; }
.wiersz-p .termin.pilny { padding: 1px 8px; border-radius: 6px; background: var(--sem-uwaga); color: #1A1400; font-weight: 600; }
.wiersz-p .termin.krytyczny { padding: 1px 8px; border-radius: 6px; background: var(--sem-zle); color: var(--sem-zle-tx); font-weight: 600; }
.akcje-karty__termin--krytyczny { padding: 5px 14px; border: 2px solid var(--sem-zle); border-radius: 8px; background: var(--sem-zle-tlo); }
.akcje-karty__termin--krytyczny, .akcje-karty__termin--krytyczny b { color: var(--sem-zle); font-weight: 700; }
.akcje-karty__termin--pilny { padding: 5px 14px; border: 2px solid var(--sem-uwaga); border-radius: 8px; }
.fakt--krytyczny { padding: 6px 14px; border: 2px solid var(--sem-zle); border-radius: 8px; background: var(--sem-zle-tlo); }
.fakt--krytyczny dt { color: var(--sem-zle); font-weight: 700; }
.fakt--krytyczny dt::after { content: " · PILNE"; }
.fakt--pilny { padding: 6px 14px; border: 2px solid var(--sem-uwaga); border-radius: 8px; }
.fakt--krytyczny dd small, .fakt--pilny dd small { font-weight: 600; }
/* kafle analiz: tytul i stan po lewej, przyciski wysrodkowane po prawej */
.analiza-kafel { display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-rows: auto auto; align-items: center; gap: 2px 12px; padding: 10px 14px; }
.analiza-kafel h3 { grid-column: 1; grid-row: 1; flex: none; font-size: 14.5px; }
.analiza-kafel > span, .analiza-kafel > .status-wiersz { grid-column: 1; grid-row: 2; }
.analiza-kafel > .rzad { grid-column: 2; grid-row: 1 / span 2; align-self: center; margin: 0; padding: 0; gap: 6px; }
.analiza-kafel .btn { min-height: 32px; padding: 0 14px; font-size: 13px; }
/* wyniki: kafelki ocen w jednym rzedzie, rekomendacja jako ramka, pelna szerokosc */
.fakty--wynik { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; margin: 14px 0 0; }
.fakty--wynik .fakt { padding: 10px 14px; border: 1px solid var(--line-d2); border-left: 4px solid var(--line-4); border-radius: 10px; background: var(--bg-2); }
.fakty--wynik .fakt dt { font-size: 10.5px; margin-bottom: 4px; }
.fakty--wynik .fakt dd { font-size: 19px; }
.fakty--wynik .fakt dd small { display: block; margin: 4px 0 0; font: 400 12px/1.35 var(--f-body); color: var(--mu-d); }
.fakty--wynik .ton-ok { border-left-color: var(--sem-ok); }
.fakty--wynik .ton-uwaga { border-left-color: var(--sem-uwaga); background: var(--sem-uwaga-tlo); }
.fakty--wynik .ton-zle { border-left-color: var(--sem-zle); background: var(--sem-zle-tlo); }
.fakty--wynik .ton-zle dd { color: var(--sem-zle); }
.callout { margin: 14px 0 0; padding: 12px 16px; border: 1px solid var(--line-d2); border-left: 4px solid var(--lime); border-radius: 10px; background: var(--bg-2); }
.callout__et { display: block; margin-bottom: 4px; font: 600 11px var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--mu-d); }
.callout p { margin: 0; font-size: 15px; line-height: 1.5; color: var(--tx-d); }
.callout--krytyczny { border-color: var(--sem-zle); border-left-width: 4px; background: var(--sem-zle-tlo); }
.callout--krytyczny .callout__et { color: var(--sem-zle); font-size: 12px; }
.li-krytyczny { color: var(--sem-zle); font-weight: 600; }
.wynik h3 { margin: 24px 0 10px !important; padding-top: 14px; border-top: 1px solid var(--line-d); font-size: 15px; }
.wynik > .rzad { margin-top: 4px; }
.wynik .lista li { margin: 4px 0; line-height: 1.5; }
.prose, .lista, .check, .notatka, .odp, .kroki, .os-czasu, .powiadomienia, .cytat, .pisma-formularz, .zalecenie-pisma { max-width: none; }
.prose { text-wrap: pretty; }
.analizy { grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 1750px) { .analizy { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 800px) { .analizy { grid-template-columns: minmax(0, 1fr); } }
.analiza-kafel .rzad, .analiza-kafel form.rzad { flex-wrap: nowrap; }
.fakty--wynik { grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); }

/* ekran logowania: urzadzenia pro audio pojawiaja sie na radarze, gdy przejdzie po nich promien */
.blip { opacity: 0; transform-box: fill-box; transform-origin: center; animation: blip-ping 14s linear infinite both; animation-delay: var(--t); }
.blip circle:not(.blip__fala) { stroke: #A9CD26; stroke-width: 1; }
.blip g { fill: none; stroke: #A9CD26; }
.blip__fala { fill: none; stroke: #A9CD26; stroke-width: 1.2; stroke-opacity: .5; transform-box: fill-box; transform-origin: center; animation: blip-fala 14s ease-out infinite both; animation-delay: var(--t); }
@keyframes blip-ping { 0% { opacity: 0; transform: scale(.7); } 1.5% { opacity: 1; transform: scale(1.08); } 4% { transform: scale(1); } 48% { opacity: .6; } 78%, 100% { opacity: 0; } }
@keyframes blip-fala { 0% { transform: scale(.6); stroke-opacity: .7; } 9% { transform: scale(1.9); stroke-opacity: 0; } 100% { transform: scale(1.9); stroke-opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .blip { animation: none; opacity: .55; } .blip__fala { display: none; } }

/* ===== menu modulow jak w programie firmowym: szuflada z ikonami, zasloniete tlo, zamyka sie kliknieciem ===== */
.hamburger { margin-right: 0; border-color: transparent; }
.hamburger[aria-expanded="true"] i:nth-child(1) { transform: translateY(7px) rotate(45deg); }
.hamburger[aria-expanded="true"] i:nth-child(2) { opacity: 0; }
.hamburger[aria-expanded="true"] i:nth-child(3) { transform: translateY(-7px) rotate(-45deg); }
.hamburger i { transition: transform .22s ease, opacity .15s, background-color .15s; }
.szuflada { position: fixed; top: var(--belka); bottom: 0; left: 0; z-index: 60; width: 300px; height: auto; padding: 18px 14px; overflow-y: auto; border-right: 1px solid #2A2A2A; background: #0F0F0F; color-scheme: dark;
	box-shadow: 14px 0 40px rgba(0, 0, 0, .35); transform: translateX(-102%); visibility: hidden; transition: transform .22s ease, visibility 0s .22s; }
html.menu-otwarte .szuflada { transform: none; visibility: visible; transition: transform .22s ease, visibility 0s; }
.szuflada[hidden] { display: block; }
.szuflada__t { display: block; margin: 0 0 10px 12px; font: 500 11px/1.3 var(--f-mono); letter-spacing: .07em; text-transform: uppercase; color: #B8B8B8; }
.szuflada ul { display: grid; gap: 3px; margin: 0; padding: 0; list-style: none; }
.szuflada a { position: relative; display: flex; align-items: center; gap: 14px; min-height: 48px; padding: 0 14px; border-radius: 12px; color: #D0D0D0; font: 500 16px/1.2 var(--f-disp); text-decoration: none; transition: background-color .15s, color .15s; }
.szuflada a:hover { background: #1C1C1C; color: #F4F4F4; }
.szuflada a.akt { background: #1C1C1C; color: #F4F4F4; }
.szuflada > ul > li > a.akt::before { content: ""; position: absolute; left: -14px; top: 10px; bottom: 10px; width: 4px; border-radius: 0 4px 4px 0; background: var(--lime); }
.szuflada a.akt .i { color: var(--lime); }
.szuflada .i { width: 20px; height: 20px; flex: none; }
.szuflada b { margin-left: auto; font: 500 12px var(--f-mono); color: #B8B8B8; }
.szuflada a:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; }
.szuflada__podmenu { display: grid; margin: 2px 0 6px 34px; padding-left: 12px; border-left: 1px solid #2A2A2A; }
.szuflada .szuflada__pod { min-height: 34px; padding: 0 12px; border-radius: 8px; font-size: 14px; }
.szuflada .szuflada__pod.akt { color: var(--lime); }
.szuflada-tlo { position: fixed; z-index: 55; inset: var(--belka) 0 0 0; background: rgba(15, 15, 15, .55); opacity: 0; pointer-events: none; transition: opacity .22s; }
html.menu-otwarte .szuflada-tlo { opacity: 1; pointer-events: auto; }
.szuflada-tlo[hidden] { display: block; visibility: hidden; }
html.menu-otwarte .szuflada-tlo[hidden] { visibility: visible; }
@media (prefers-reduced-motion: reduce) { .szuflada, .szuflada-tlo, .hamburger i { transition: none !important; } }
/* przycisk Filtry na liscie */
.widoki__filtry { position: relative; display: inline-flex; align-items: center; gap: 7px; margin: 0 0 4px auto; padding: 5px 12px; border: 1px solid var(--line-d2); border-radius: 999px; background: none; color: var(--tx-d2); font: 600 13px var(--f-disp); cursor: pointer; }
.widoki__filtry:hover, .widoki__filtry[aria-expanded="true"] { border-color: var(--lime); color: var(--tx-d); }
.widoki__filtry .i { width: 16px; height: 16px; }
.widoki__filtry.ma-filtry::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--lime); }
/* przycisk menu: tylko trzy biale kreski, po otwarciu zielony X; bez obwodek i podpisow */
.hamburger, .hamburger:hover, .hamburger:focus, .hamburger[aria-expanded="true"] { border: 0; background: none; box-shadow: none; }
.hamburger:focus-visible { outline: 2px solid var(--lime); outline-offset: 2px; border-radius: 6px; }
.hamburger i, .hamburger:hover i { background: #fff; }
.hamburger[aria-expanded="true"] i, .hamburger[aria-expanded="true"]:hover i { background: var(--lime); }
/* belka: brak linkow, tylko sciezka „gdzie jestem” */
.gdzie { display: flex; align-items: center; gap: 8px; margin-right: auto; font: 500 14px var(--f-disp); color: var(--mu-d); white-space: nowrap; }
.gdzie a { color: var(--mu-d); text-decoration: none; }
.gdzie a:hover { color: var(--tx-d); }
.gdzie i { font-style: normal; opacity: .6; }
.gdzie b { font-weight: 600; color: var(--tx-d); }
.belka .gdzie { gap: 8px; } .belka .gdzie a { padding: 0; border: 0; font: 500 14px var(--f-disp); color: var(--mu-d); } .belka .gdzie a:hover { color: var(--tx-d); }
/* menu na komputerze: panel przypiety do lewej krawedzi, tresc przesuwa sie obok (jak w programie firmowym) */
:root { --menu-szer: 290px; }
@media (min-width: 821px) {
	.szuflada { z-index: 15; width: var(--menu-szer); box-shadow: none; }
	.szuflada-tlo { display: none !important; }
	.uklad, main.jedna, .stopka, #analizy-pasek { transition: margin-left .22s ease; }
	html.menu-otwarte .uklad, html.menu-otwarte main.jedna, html.menu-otwarte .stopka, html.menu-otwarte #analizy-pasek { margin-left: var(--menu-szer); }
}
/* czcionki wg ksiegi: Space Grotesk = naglowki i interfejs, IBM Plex Sans = tekst i opisy, IBM Plex Mono = tylko etykiety, liczby i kody */
.tresc .blok-p > h2 small, .jedna .blok-p > h2 small { font: 400 12.5px/1.3 var(--f-body); letter-spacing: 0; color: var(--mu-d); }
.wiersz-p .termin { font: 600 12.5px/1.4 var(--f-body); font-variant-numeric: tabular-nums; }
.fakt dd small, .data + small { font-family: var(--f-body); letter-spacing: 0; }
@media (min-width: 821px) { html.menu-otwarte main.jedna { width: calc(100% - var(--menu-szer)); } html.menu-otwarte .uklad, html.menu-otwarte .stopka, html.menu-otwarte #analizy-pasek { width: auto; } }
/* Pulpit, kolumna Nowe: przyciski pod tytulem, zeby tytul mial cala szerokosc */
.wiersz-p--duzy { flex-wrap: wrap; row-gap: 6px; }
.wiersz-p--duzy .tresc-p { flex: 1 1 0; min-width: 0; }
.wiersz-p--duzy .akcje-p { flex: 0 0 100%; padding-left: 46px; justify-content: flex-start; }

/* ===== spokojniejszy wyglad: dolny pasek jak w programie firmowym, bez wypelnionych znacznikow, lzejszy Pulpit ===== */
:root { --stopka-h: 40px; }
.stopka { position: sticky; bottom: 0; z-index: 25; display: flex; flex-wrap: nowrap; align-items: center; justify-content: flex-start; gap: 8px 24px; height: var(--stopka-h); min-height: var(--stopka-h); margin-top: auto; padding: 0 20px; border-top: 1px solid var(--line-d2); background: var(--bg); font: 400 12px/1 var(--f-mono); color: var(--mu-d); }
.stopka__l, .stopka__p { display: flex; align-items: center; gap: 8px 20px; min-width: 0; }
.stopka__gdzie { flex: 1; min-width: 0; display: flex; align-items: center; justify-content: center; gap: 8px; overflow: hidden; white-space: nowrap; font: 500 13px/1 var(--f-disp); color: var(--tx-d2); }
.stopka__gdzie a { color: var(--tx-d2); text-decoration: none; }
.stopka__gdzie a:hover { color: var(--tx-d); }
.stopka__gdzie span[aria-current] { color: var(--tx-d); }
.stopka__gdzie i { color: var(--lime); font-style: normal; }
.stopka__el { display: inline-flex; align-items: center; gap: 7px; font: 400 12px/1 var(--f-mono); color: var(--mu-d); white-space: nowrap; }
.stopka__el b { font-weight: 500; color: var(--tx-d); }
.stopka__dane i { display: inline-block; width: 8px; height: 8px; margin: 0; border-radius: 50%; background: var(--lime); }
.stopka .wj { margin: 0; font-size: 15px; }
@media (max-width: 1000px) { .stopka__gdzie { display: none; } .stopka { justify-content: space-between; } }
@media (max-width: 700px) { .stopka__p .stopka__el, .stopka__l .stopka__el:first-child { display: none; } }
@media (min-width: 821px) { .szuflada { bottom: var(--stopka-h); } .uklad, main.jedna, .stopka, #analizy-pasek { transition: none; } }
.gdzie { display: none; }
/* znaczniki bez wypelnienia: kropka i tekst */
.krytyczny .data + small, .pilny .data + small { padding: 0; background: none; border-radius: 0; font: 600 12px/1.4 var(--f-body); }
.krytyczny .data + small { color: var(--sem-zle); }
.pilny .data + small { color: var(--mu-d); font-weight: 500; }
.wiersz-p .termin.krytyczny, .wiersz-p .termin.pilny { padding: 0; background: none; border-radius: 0; font-weight: 600; }
.wiersz-p .termin.krytyczny { color: var(--sem-zle); }
.wiersz-p .termin.pilny { color: var(--tx-d2); font-weight: 500; }
.zn--zmiana { background: none; border: 1px solid var(--line-4); color: var(--tx-d2); font-weight: 500; }
.zn--zmiana::before { content: ""; width: 7px; height: 7px; margin-right: 6px; align-self: center; border-radius: 50%; background: var(--sem-uwaga); }
.fakty--wynik .ton-uwaga, .fakty--wynik .ton-zle { background: var(--bg-2); }
.callout--krytyczny { background: none; }
/* Pulpit: lzejszy, bez ramek wokol kazdego bloku */
.blok-p { border: 0; border-radius: 0; background: none; }
.blok-p > h2 { padding: 0 0 8px; font-size: 15px; border-bottom: 1px solid var(--line-d2); }
.blok-p__tresc { padding: 4px 0 8px; }
.pulpit { gap: 28px; }
.kol-p { gap: 22px; }
.wiersz-p { padding: 10px 0; }
.blok-p--zwijany > summary { list-style: none; cursor: pointer; }
.blok-p--zwijany > summary::-webkit-details-marker { display: none; }
.blok-p--zwijany > summary > h2 { margin: 0; }
.blok-p--zwijany > summary > h2::after { content: "Pokaż"; margin-left: 10px; font: 500 12px var(--f-body); color: var(--lime-tx); }
.blok-p--zwijany[open] > summary > h2::after { content: "Ukryj"; }
.blok-p--zwijany > .blok-p__tresc { margin-top: 4px; }
.blok-p--zwijany > summary > h2 { display: flex; align-items: baseline; gap: 10px; padding: 0 0 8px; font-size: 15px; border-bottom: 1px solid var(--line-d2); }
.blok-p--zwijany > summary > h2 b { font: 500 12px var(--f-mono); padding: 0 7px; border-radius: 999px; background: var(--bg-3); color: var(--tx-d2); }
.tresc .blok-p--zwijany > summary > h2 small { margin-left: auto; font: 400 12.5px/1.3 var(--f-body); color: var(--mu-d); }
.blok-p--zwijany > summary > h2::after { margin-left: 14px; order: 3; }
.blok-p--zwijany { margin-top: -6px; }
/* jeszcze spokojniej: jeden wyrozniony przycisk, reszta tekstem; punkty jako pierscien; etykiety bez ramek; tylko 5 najnowszych */
.pulpit .akcje-p .btn--ghost { border: 0; background: none; padding: 0 8px; color: var(--mu-d); font-weight: 500; }
.pulpit .akcje-p .btn--ghost:hover { color: var(--tx-d); background: none; text-decoration: underline; }
.pulpit__aktualizacja .btn--lime { background: none; border: 1px solid var(--line-4); color: var(--tx-d2); }
.pulpit__aktualizacja .btn--lime:hover { border-color: var(--lime); color: var(--tx-d); }
.pulpit .pkt { background: none; border: 2px solid var(--lime); color: var(--tx-d); }
.pulpit .pkt--s { border-color: var(--line-4); }
.pulpit .zn { padding: 0; border: 0; background: none; color: var(--mu-d); font: 500 12px var(--f-body); text-transform: none; letter-spacing: 0; }
.pulpit .zn--zmiana::before { margin-right: 6px; }
.kol-p--prawa .blok-p__tresc > .wiersz-p--duzy:nth-child(n+6) { display: none; }
.kol-p--prawa .blok-p__tresc { max-height: none; overflow: visible; }
.wiecej-link { display: inline-block; margin-top: 8px; font: 500 13px var(--f-body); color: var(--lime-tx); text-decoration: none; }
.wiecej-link:hover { text-decoration: underline; }
.pulpit__glowa h1 { font-weight: 500; }
/* miekkie przesuniecie tresci przy otwieraniu i zamykaniu menu: wysuwa sie razem z panelem zamiast przeskakiwac */
@media (min-width: 821px) {
	.szuflada { transition: transform .32s cubic-bezier(.22, .8, .25, 1), visibility 0s .32s; }
	html.menu-otwarte .szuflada { transition: transform .32s cubic-bezier(.22, .8, .25, 1), visibility 0s; }
	html.anim-otw main.jedna, html.anim-otw .uklad { animation: tresc-otw .34s cubic-bezier(.22, .8, .25, 1); }
	html.anim-zam main.jedna, html.anim-zam .uklad { animation: tresc-zam .34s cubic-bezier(.22, .8, .25, 1); }
}
@keyframes tresc-otw { from { opacity: .25; transform: translateX(-70px); } to { opacity: 1; transform: none; } }
@keyframes tresc-zam { from { opacity: .25; transform: translateX(70px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { html.anim-otw main.jedna, html.anim-otw .uklad, html.anim-zam main.jedna, html.anim-zam .uklad { animation: none; } }

/* ===== Pulpit w ukladzie programu firmowego: etykieta z data, duzy tytul, pasek liczb, bloki z gruba linia, wiersze w dwoch liniach ===== */
.pl-glowa { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 12px 24px; margin: 6px 0 20px; }
.pl-glowa h1 { margin: 4px 0 0; font: 600 34px/1.1 var(--f-disp); letter-spacing: -.02em; }
.pl-glowa .etykieta { font: 500 12px var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--mu-d); }
.pl-akt { display: flex; align-items: center; gap: 14px; }
.pl-kpi { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px 28px; margin: 0 0 28px; padding: 0; }
.pl-kpi .fakt { padding-left: 14px; border-left: 2px solid var(--lime); }
.pl-kpi .fakt--drugi { border-left-color: var(--line-d2); }
.pl-kpi .fakt dd { font: 600 24px/1.2 var(--f-disp); }
.pl-siatka { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 40px; align-items: start; }
.pl-kol { display: grid; gap: 28px; min-width: 0; }
.pl-blok { min-width: 0; }
.pl-blok > h2, .pl-zwij > summary > h2 { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0; padding: 0 0 8px; font: 600 17px/1.3 var(--f-disp); border-bottom: 2px solid var(--tx-d); }
.pl-blok > h2 small, .pl-zwij > summary > h2 small { font: 400 12px var(--f-mono); letter-spacing: .02em; color: var(--mu-d); }
.pl-w { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 20px; padding: 12px 0; border-bottom: 1px solid var(--line-d); }
.pl-w--nowe { grid-template-columns: 34px minmax(0, 1fr) auto; }
.pl-l { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.pl-t { font: 500 15.5px/1.3 var(--f-disp); color: var(--tx-d); text-decoration: none; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.pl-t:hover { color: var(--lime-tx); }
.pl-p { font: 400 13px/1.4 var(--f-body); color: var(--mu-d); }
.pl-r { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; text-align: right; white-space: nowrap; }
.pl-d { font: 400 13px var(--f-mono); color: var(--tx-d); }
.pl-dd { font: 400 12px var(--f-mono); color: var(--mu-d); }
.pl-r.pl-pilne .pl-d, .pl-r.pl-pilne .pl-dd, td.pl-pilne { color: var(--sem-zle); font-weight: 500; }
.pl-pkt { display: grid; place-items: center; width: 30px; height: 30px; border: 2px solid var(--lime); border-radius: 50%; font: 500 12px var(--f-mono); }
.pl-st::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--line-4); }
.pl-st--ak::before { background: var(--sem-ok); }
.pl-zm::before { content: ""; display: inline-block; width: 7px; height: 7px; margin-right: 6px; border-radius: 50%; background: var(--sem-uwaga); }
.pl-pusto { margin: 14px 0 0; font: 400 14px var(--f-body); color: var(--mu-d); }
.pl-wiecej { display: inline-block; margin-top: 12px; font: 600 13.5px var(--f-disp); color: var(--lime-tx); text-decoration: none; }
.pl-wiecej:hover { text-decoration: underline; }
.pl-zwij > summary { list-style: none; cursor: pointer; }
.pl-zwij > summary::-webkit-details-marker { display: none; }
.pl-zwij > summary > h2::after { content: "Pokaż"; order: 3; font: 500 12px var(--f-body); color: var(--lime-tx); }
.pl-zwij[open] > summary > h2::after { content: "Ukryj"; }
.pl-zwij > summary > h2 { justify-content: flex-start; }
.pl-zwij > summary > h2 small { margin-left: auto; }
.pl-w--nowe .akcje-p { display: flex; align-items: center; gap: 4px; margin-top: 8px; }
@media (max-width: 1100px) { .pl-siatka { grid-template-columns: minmax(0, 1fr); } .pl-kpi { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
.pl-det { margin-top: 10px; } .pl-det > summary { cursor: pointer; font: 600 13.5px var(--f-disp); color: var(--lime-tx); }
.pl-w--nowe .akcje-p .btn--lime { background: none; border: 1px solid var(--line-4); color: var(--tx-d); }
.pl-w--nowe .akcje-p .btn--lime:hover { background: var(--lime); border-color: var(--lime); color: #0F0F0F; }
.pl-w--nowe .akcje-p .btn--ghost { border: 0; color: var(--mu-d); }

/* ===== Pulpit na zakladkach jak w programie firmowym: ciemniejszy pas z tytulem i zakladkami, aktywna zakladka laczy sie z trescia ===== */
.pl-pas { margin: -12px -28px 0; padding: 20px 28px 0; background: color-mix(in srgb, var(--tx-d) 9%, var(--bg)); border-bottom: 1px solid var(--line-d2); }
.pl-pas .pl-glowa { margin: 0 0 16px; }
.pl-zak { display: flex; flex-wrap: wrap; gap: 4px; margin-bottom: -1px; }
.pl-zak button { display: inline-flex; align-items: center; gap: 9px; padding: 10px 20px; border: 1px solid transparent; border-bottom: 0; border-radius: 10px 10px 0 0; background: none; color: var(--mu-d); font: 600 14.5px var(--f-disp); cursor: pointer; transition: background-color .15s, color .15s; }
.pl-zak button:hover { background: color-mix(in srgb, var(--tx-d) 6%, transparent); color: var(--tx-d); }
.pl-zak button b { font: 500 12px var(--f-mono); color: var(--mu-d); }
.pl-zak button[aria-selected="true"] { position: relative; background: var(--bg); border-color: var(--line-d2); color: var(--tx-d); }
.pl-zak button[aria-selected="true"]::before { content: ""; position: absolute; left: -1px; right: -1px; top: -1px; height: 3px; border-radius: 10px 10px 0 0; background: var(--lime); }
.pl-zak button[aria-selected="true"]::after { content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 2px; background: var(--bg); }
.pl-zak button:focus-visible { outline: 2px solid var(--lime); outline-offset: -2px; }
.pl-panel { max-width: 1100px; padding-top: 24px; }
.pl-panel[hidden] { display: none; }
.pl-h2 { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0; padding: 0 0 8px; font: 600 17px/1.3 var(--f-disp); border-bottom: 2px solid var(--tx-d); }
.pl-h2 small { font: 400 12px var(--f-mono); color: var(--mu-d); }
.pl-h2--drugi { margin-top: 32px; }
.pl-panel .tab { margin-top: 8px; }

/* ===== zakladki dokladnie jak w programie firmowym: pas #C9C9C1, zakladki rowne, aktywna z zielona krawedzia i zaokraglonymi lacznikami ===== */
:root { --zak-tlo: #C9C9C1; }
html[data-motyw="dark"] { --zak-tlo: #050505; }
.pl-pas { display: flex; align-items: flex-end; min-height: 46px; margin: -12px -28px 0; padding: 8px 28px 0; background: var(--zak-tlo); border: 0; }
.pl-pas__t { align-self: center; margin: 0 14px 8px 0; font: 500 11px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--mu-d); white-space: nowrap; }
.pl-zak { display: flex; flex: 1 1 auto; align-items: flex-end; min-width: 0; gap: 0; margin: 0; }
.pl-zak button { position: relative; display: flex; align-items: center; justify-content: flex-start; flex: 1 1 0; min-width: 150px; max-width: 240px; height: 38px; padding: 0 14px; gap: 10px; border: 0; border-radius: 10px 10px 0 0; background: none; color: var(--mu-d); font: 500 14.5px/1 var(--f-disp); cursor: pointer; transition: background-color .15s; }
.pl-zak button:hover { background: rgba(255, 255, 255, .35); color: var(--tx-d); }
html[data-motyw="dark"] .pl-zak button:hover { background: rgba(255, 255, 255, .07); }
.pl-zak button b { margin-left: auto; font: 400 12px var(--f-mono); color: var(--mu-d); }
.pl-zak button[aria-selected="true"] { background: var(--bg); color: var(--tx-d); box-shadow: inset 0 3px 0 var(--lime); border: 0; }
.pl-zak button[aria-selected="true"]::before, .pl-zak button[aria-selected="true"]::after { content: ""; position: absolute; bottom: 0; top: auto; width: 10px; height: 10px; left: auto; right: auto; background: none; border-radius: 0; pointer-events: none; }
.pl-zak button[aria-selected="true"]::before { left: -10px; background: radial-gradient(circle at 0 0, transparent 10px, var(--bg) 10.5px); }
.pl-zak button[aria-selected="true"]::after { right: -10px; background: radial-gradient(circle at 100% 0, transparent 10px, var(--bg) 10.5px); }
.pl-zak button:not([aria-selected="true"]):not(:last-child):not(:has(+ button[aria-selected="true"]))::after { content: ""; position: absolute; right: 0; top: 10px; bottom: 10px; width: 1px; background: var(--line-3); opacity: .6; }
.pl-zak button:focus-visible { outline: 2px solid var(--lime); outline-offset: -2px; }
.pl-glowa { margin: 22px 0 8px; }
/* tresc na cala szerokosc: zakladki wypelniaja ekran, listy w dwoch kolumnach */
.pl-panel { max-width: none; padding-top: 18px; }
.pl-panel > .pl-w, .pl-panel > .pl-pusto { grid-column: 1 / -1; }
#pl-nowe, #pl-dzis, #pl-moje, #pl-zmiany { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: 48px; align-content: start; }
#pl-nowe[hidden], #pl-dzis[hidden], #pl-moje[hidden], #pl-zmiany[hidden], #pl-zespol[hidden] { display: none; }
.pl-panel > .pl-h2, .pl-panel > .pl-det { grid-column: 1 / -1; }
@media (max-width: 1100px) { #pl-nowe, #pl-dzis, #pl-moje, #pl-zmiany { grid-template-columns: minmax(0, 1fr); } }
.pl-panel > .pl-w { grid-column: auto; }
.pl-panel > .pl-w:nth-of-type(n) { min-width: 0; }

/* ===== zakladki 1:1 z programu firmowego (program.css): obrys, polprzezroczyste tlo, piktogram, zielona krawedz i cien aktywnej ===== */
.pl-pas { padding: 8px 28px 0; }
.pl-zak { gap: 4px; }
.pl-zak button.zak { position: relative; display: flex; align-items: center; justify-content: flex-start; flex: 1 1 0; min-width: 150px; max-width: 240px; height: 38px; padding: 0 14px; gap: 9px;
	border: 1px solid rgba(0, 0, 0, .34); border-bottom: 0; border-radius: 10px 10px 0 0; background: rgba(255, 255, 255, .34); color: var(--tx-d2); font: 500 14.5px/1 var(--f-disp); box-shadow: none; transition: background-color .15s; }
.pl-zak button.zak:hover { background: rgba(255, 255, 255, .6); border-color: rgba(0, 0, 0, .5); color: var(--tx-d); }
.pl-zak button.zak .i { width: 16px; height: 16px; flex: none; }
.pl-zak button.zak span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pl-zak button.zak b { margin-left: auto; font: 400 12px var(--f-mono); color: var(--mu-d); }
.pl-zak button.zak::before, .pl-zak button.zak::after { display: none !important; }
.pl-zak button.zak[aria-selected="true"] { background: var(--bg); border-color: rgba(0, 0, 0, .5); color: var(--tx-d); box-shadow: inset 0 3px 0 var(--lime), 0 -2px 8px rgba(0, 0, 0, .12); }
.pl-zak button.zak[aria-selected="true"] .i { color: var(--lime-tx); }
html[data-motyw="dark"] .pl-zak button.zak { border-color: #3A3A3A; background: #161616; }
html[data-motyw="dark"] .pl-zak button.zak:hover { background: #222; border-color: #555; }
html[data-motyw="dark"] .pl-zak button.zak[aria-selected="true"] { background: var(--bg); border-color: #555; box-shadow: inset 0 3px 0 var(--lime); }
@media (max-width: 820px) { .pl-pas__t { display: none; } .pl-zak button.zak { min-width: 120px; } .pl-pas { padding: 6px 8px 0; } }

/* ===== Pulpit: przeglad dnia jak ekran Start w programie firmowym (pasek liczb + trzy kolumny blokow), stopka na cala szerokosc ===== */
.pl-kpi { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 12px 28px; margin: 4px 0 28px; padding: 0; }
.pl-kpi .fakt { padding-left: 14px; border-left: 2px solid var(--lime); }
.pl-kpi .fakt dd { font: 600 24px/1.2 var(--f-disp); }
.pl-panel--przeglad { display: block; }
.pl-panel--przeglad[hidden] { display: none; }
.pl-siatka3 { display: grid; grid-template-columns: repeat(auto-fit, minmax(400px, 1fr)); gap: 36px; align-items: start; }
.pl-wiecej { margin-top: 10px; padding: 0; border: 0; background: none; font: 600 13.5px var(--f-disp); color: var(--lime-tx); cursor: pointer; }
.pl-wiecej:hover { text-decoration: underline; }
.pl-blok > h2 { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; margin: 0; padding: 0 0 8px; font: 600 17px/1.3 var(--f-disp); border-bottom: 2px solid var(--tx-d); }
.pl-blok > h2 small { font: 400 12px var(--f-mono); color: var(--mu-d); }
.pl-kol { gap: 32px; }
.pl-panel--przeglad .pl-w--nowe .akcje-p { display: flex; }
/* stopka zawsze na calej szerokosci, takze przy otwartym menu (menu konczy sie nad nia) */
@media (min-width: 821px) { html.menu-otwarte .stopka { margin-left: 0; width: auto; } .szuflada { bottom: var(--stopka-h); } }

/* ===== pas zakladek dla stron serwerowych (linki): ten sam wyglad co zakladki Pulpitu, wzor z programu firmowego ===== */
.pl-zak a.zak { position: relative; display: flex; align-items: center; justify-content: flex-start; flex: 1 1 0; min-width: 150px; max-width: 240px; height: 38px; padding: 0 14px; gap: 9px; text-decoration: none;
	border: 1px solid rgba(0, 0, 0, .34); border-bottom: 0; border-radius: 10px 10px 0 0; background: rgba(255, 255, 255, .34); color: var(--tx-d2); font: 500 14.5px/1 var(--f-disp); transition: background-color .15s; }
.pl-zak a.zak:hover { background: rgba(255, 255, 255, .6); border-color: rgba(0, 0, 0, .5); color: var(--tx-d); }
.pl-zak a.zak .i { width: 16px; height: 16px; flex: none; }
.pl-zak a.zak span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.pl-zak a.zak b { margin-left: auto; font: 400 12px var(--f-mono); color: var(--mu-d); }
.pl-zak a.zak[aria-current="page"] { background: var(--bg); border-color: rgba(0, 0, 0, .5); color: var(--tx-d); box-shadow: inset 0 3px 0 var(--lime), 0 -2px 8px rgba(0, 0, 0, .12); }
.pl-zak a.zak[aria-current="page"] .i { color: var(--lime-tx); }
.pl-zak a.zak:focus-visible { outline: 2px solid var(--lime); outline-offset: -2px; }
html[data-motyw="dark"] .pl-zak a.zak { border-color: #3A3A3A; background: #161616; }
html[data-motyw="dark"] .pl-zak a.zak:hover { background: #222; border-color: #555; }
html[data-motyw="dark"] .pl-zak a.zak[aria-current="page"] { background: var(--bg); border-color: #555; box-shadow: inset 0 3px 0 var(--lime); }
.pl-zak--gesty a.zak { min-width: 110px; max-width: 190px; }
.pl-pas__btn { flex: none; align-self: center; margin: 0 0 6px 12px; display: inline-flex; align-items: center; gap: 8px; height: 32px; padding: 0 14px; border: 1px solid #0F0F0F; border-radius: 8px; background: #0F0F0F; color: #F4F4F4; font: 600 14px var(--f-disp); cursor: pointer; }
.pl-pas__btn .i { width: 15px; height: 15px; }
.pl-pas__btn:hover, .pl-pas__btn[aria-expanded="true"] { border-color: var(--lime); }
.pl-pas__btn.ma-filtry::after { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--lime); }
html[data-motyw="dark"] .pl-pas__btn { background: #262626; border-color: #3A3A3A; }
@media (max-width: 820px) { .pl-pas__t { display: none; } .pl-pas { padding: 6px 8px 0; } .pl-zak a.zak { min-width: 120px; } }
.pl-zak { flex-wrap: nowrap; overflow: hidden; }
.pl-zak a.zak, .pl-zak button.zak { min-width: 120px; }
.pl-zak a.zak b, .pl-zak button.zak b { padding-left: 6px; }
/* lupka nie zachodzi na tekst w polach wyszukiwania */
.szukaj input[type=text], .tresc .szukaj input[type=text], .jedna .szukaj input[type=text], .bok .szukaj input[type=text], .jedna input[type=text].szukaj__pole { padding-left: 44px; }
/* panel filtrow wysuwa sie plynnie: kolumna siatki zmienia szerokosc, tresc panelu sie rozjasnia, bez skoku */
.uklad { transition: grid-template-columns .34s cubic-bezier(.22, .8, .25, 1); }
html.bok-ukryty .uklad { grid-template-columns: 0px minmax(0, 1fr); }
.uklad > .bok { overflow: hidden; opacity: 1; transition: opacity .26s ease .08s, visibility 0s; }
html.bok-ukryty .uklad > .bok { display: block; visibility: hidden; opacity: 0; border-right-width: 0; transition: opacity .16s ease, visibility 0s .34s; }
.uklad > .bok > * { min-width: 260px; }
@media (prefers-reduced-motion: reduce) { .uklad, .uklad > .bok { transition: none !important; } }

/* ===== karta przetargu: sekcje jako zakladki (bez lewego panelu), status i zespol w Przegladzie ===== */
.uklad--bez-boku { grid-template-columns: minmax(0, 1fr) !important; }
.pl-zak a.zak.akt { background: var(--bg); border-color: rgba(0, 0, 0, .5); color: var(--tx-d); box-shadow: inset 0 3px 0 var(--lime), 0 -2px 8px rgba(0, 0, 0, .12); }
.pl-zak a.zak.akt .i { color: var(--lime-tx); }
html[data-motyw="dark"] .pl-zak a.zak.akt { background: var(--bg); border-color: #555; box-shadow: inset 0 3px 0 var(--lime); }
.meta-k { display: flex; flex-wrap: wrap; gap: 4px 22px; margin: 6px 0 4px; font: 400 14px/1.5 var(--f-body); color: var(--mu-d); }
.meta-k b { font-weight: 600; color: var(--tx-d); }
.pk-praca { display: grid; grid-template-columns: repeat(auto-fit, minmax(340px, 1fr)); gap: 24px 48px; align-items: start; }
.pk-form { display: grid; gap: 12px; max-width: 460px; }
.pk-numer { display: grid; gap: 4px; margin-top: 18px; }
.pk-praca .zespol { margin: 0; }
.pk-praca .zespol select, .pk-praca .zespol form { max-width: 460px; }
.akcje-karty { position: static; }
/* formularze: pola w jednym poziomie na wszystkich podstronach (dol pol wyrownany, jedna wysokosc pola i listy) */
.siatka { align-items: end; }
.pole input[type=text], .pole input[type=password], .pole input[type=number], .pole input[type=date], .pole input[type=email], .pole input[type=search], .pole select { height: 40px; min-height: 40px; box-sizing: border-box; padding-top: 0; padding-bottom: 0; }
.pole .etykieta { line-height: 1.3; }
.narzedzia { align-items: center; }
/* licznik aktywnych filtrow na przycisku „Filtry” (czerwony), zastepuje zielona kropke */
.pl-pas__btn.ma-filtry::after { display: none; }
.pl-pas__n { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; border-radius: 999px; background: var(--sem-zle); color: #fff; font: 700 12px/1 var(--f-body); }

/* pasek postepu wysylania plikow */
.wgrywanie { position: fixed; right: 20px; bottom: 56px; z-index: 70; width: 380px; max-width: calc(100vw - 40px); padding: 14px 16px 12px; border-radius: 12px; background: #0F0F0F; color: #F4F4F4; border: 1px solid #3A3A3A; box-shadow: 0 14px 34px rgba(0, 0, 0, .35); }
.wgrywanie__g { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; }
.wgrywanie__g b { font: 600 14px var(--f-disp); }
.wgrywanie__x, .wgrywanie__ok { padding: 0; border: 0; background: none; color: #B8B8B8; font: 500 12.5px var(--f-body); text-decoration: underline; cursor: pointer; }
.wgrywanie__x:hover, .wgrywanie__ok:hover { color: #F4F4F4; }
.wgrywanie__n { margin: 8px 0 10px; font: 400 13px/1.4 var(--f-body); color: #D0D0D0; overflow-wrap: anywhere; }
.wgrywanie__pas { height: 8px; border-radius: 4px; background: #2A2A2A; overflow: hidden; }
.wgrywanie__pas > i { display: block; height: 100%; width: 0; border-radius: 4px; background: var(--lime); transition: width .2s ease; }
.wgrywanie__pas--praca > i { background: linear-gradient(90deg, #5A7012, var(--lime), #5A7012); background-size: 200% 100%; animation: wgrywanie-przesuw 1.2s linear infinite; }
@keyframes wgrywanie-przesuw { to { background-position: -200% 0; } }
.wgrywanie__s { display: flex; justify-content: space-between; gap: 12px; margin-top: 8px; font: 400 12px var(--f-mono); color: #B8B8B8; }
.wgrywanie__p { color: #F4F4F4; }
.wgrywanie--blad { border-color: var(--sem-zle); }
.wgrywanie--blad .wgrywanie__n { color: #FF8A7A; margin-bottom: 4px; }
@media (prefers-reduced-motion: reduce) { .wgrywanie__pas--praca > i { animation: none; } .wgrywanie__pas > i { transition: none; } }

/* odpuszczanie przetargu: okienko z powodem i baner na karcie */
.odpusc { width: min(520px, calc(100vw - 32px)); padding: 22px 24px; border: 1px solid var(--line-d2); border-radius: 14px; background: var(--bg); color: var(--tx-d); box-shadow: 0 24px 60px rgba(0, 0, 0, .4); }
.odpusc::backdrop { background: rgba(15, 15, 15, .55); }
.odpusc form { display: grid; gap: 14px; }
.odpusc h2 { margin: 0; font: 600 18px var(--f-disp); }
.odpusc #odpusc-tytul { margin: -6px 0 0; font-size: 13px; }
.odpusc fieldset { display: grid; gap: 6px; margin: 0; padding: 0; border: 0; }
.odpusc__opcja { display: flex; align-items: center; gap: 10px; padding: 8px 12px; border: 1px solid var(--line-d2); border-radius: 10px; cursor: pointer; font: 500 14px var(--f-body); }
.odpusc__opcja:hover { border-color: var(--lime); }
.odpusc__opcja:has(input:checked) { border-color: var(--lime); background: var(--lime-soft); color: #0F0F0F; }
.odpusc textarea { width: 100%; padding: 10px 12px; border: 1px solid var(--line-d2); border-radius: 10px; background: var(--pole-bg); color: var(--tx-d); font: 400 14px/1.45 var(--f-body); resize: vertical; }
.odrzucony { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 16px; padding: 12px 16px; border: 1px solid var(--line-d2); border-left: 4px solid var(--mu-d); border-radius: 10px; background: var(--bg-2); font: 400 14px/1.5 var(--f-body); }
.odrzucony b { font-weight: 600; }
.odrzucony p { margin: 4px 0 0; color: var(--tx-d2); }

/* szansa i oplacalnosc: etykieta poziomu, pasek skladnikow i znacznik na liscie (kolory spokojne: kropka + tekst) */
.szansa__glowa { display: flex; flex-wrap: wrap; align-items: baseline; gap: 8px 16px; margin-top: 4px; }
.szansa__poziom { display: inline-flex; align-items: center; gap: 8px; padding: 6px 14px; border: 1px solid var(--line-d2); border-radius: 999px; font: 600 15px var(--f-disp); }
.szansa__poziom::before { content: ""; width: 10px; height: 10px; border-radius: 50%; background: var(--line-4); }
.szansa__poziom--bierzemy::before { background: var(--sem-ok); } .szansa__poziom--obserwuj::before { background: var(--sem-uwaga); } .szansa__poziom--odpusc::before { background: var(--sem-zle); }
.szansa__pkt { font: 400 14px var(--f-mono); color: var(--mu-d); } .szansa__pkt b { font: 600 22px var(--f-disp); color: var(--tx-d); }
.szansa__uz { flex: 1 1 320px; color: var(--tx-d2); font: 400 14px/1.5 var(--f-body); }
.szansa__sk { display: grid; gap: 6px; margin-top: 14px; }
.szansa__x { display: grid; grid-template-columns: 220px 160px minmax(0, 1fr); align-items: center; gap: 14px; padding: 6px 0; border-bottom: 1px solid var(--line-d); font: 400 14px var(--f-body); }
.szansa__n { font-weight: 600; } .szansa__n small { margin-left: 8px; font: 400 11px var(--f-mono); color: var(--mu-d); }
.szansa__b { height: 8px; border-radius: 4px; background: var(--bg-3); overflow: hidden; } .szansa__b i { display: block; height: 100%; border-radius: 4px; background: var(--sem-ok); }
.szansa__x--uwaga .szansa__b i { background: var(--sem-uwaga); } .szansa__x--zle .szansa__b i { background: var(--sem-zle); }
.szansa__o { color: var(--tx-d2); }
@media (max-width: 900px) { .szansa__x { grid-template-columns: minmax(0, 1fr); gap: 4px; } }
.szansa-mini { display: inline-flex; align-items: center; gap: 6px; margin-top: 4px; font: 600 12px var(--f-body); color: var(--tx-d2); }
.szansa-mini::before { content: ""; width: 8px; height: 8px; border-radius: 50%; background: var(--line-4); }
.szansa-mini--bierzemy::before { background: var(--sem-ok); } .szansa-mini--obserwuj::before { background: var(--sem-uwaga); } .szansa-mini--odpusc::before { background: var(--sem-zle); }

/* pasek „N filtrow zaweza liste” nad tabela (widoczny takze przy schowanym panelu filtrow) */
.aktywne-filtry { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 0 0 10px; padding: 8px 12px; border: 1px solid var(--line-d2); border-left: 4px solid var(--sem-zle); border-radius: 10px; background: var(--bg-2); font: 400 13.5px/1.4 var(--f-body); }
.aktywne-filtry__n { display: inline-grid; place-items: center; min-width: 22px; height: 22px; padding: 0 6px; border-radius: 999px; background: var(--sem-zle); color: #fff; font: 700 12.5px/1 var(--f-body); }
.aktywne-filtry__t { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; flex: 1 1 320px; } .aktywne-filtry__t b { font-weight: 600; margin-right: 4px; }
.aktywne-filtry__x { margin-left: auto; font: 600 13px var(--f-disp); color: var(--lime-tx); text-decoration: none; } .aktywne-filtry__x:hover { text-decoration: underline; }

/* karta, Analiza AI: wyniki analiz tylko w raporcie w nowym oknie; po „Co trzeba złożyć i formularze” widac wylacznie czesc robocza (zadania, formularze, terminy) */
#wynik-dok > *:not(h2):not(#zlozenie):not(#formularze):not(table):not(h3:has(+ table)) { display: none; }

/* karta: pasek akcji czytelny i kolorowy (zielony = bierzemy, zolty = obserwuj, czerwony = odpuszczam), kafle analiz wypelniaja strone */
.akcje-karty { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 14px 28px; padding: 6px 0 12px; }
.akcje-karty__gr { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 10px; position: relative; padding-top: 18px; }
.akcje-karty__et { position: absolute; top: 0; left: 2px; font: 500 10.5px/1 var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--mu-d); }
.akcje-karty form { margin: 0; }
.btn--duzy { min-height: 42px; padding: 0 20px; font-size: 14.5px; }
.btn--zielony { background: var(--lime); border-color: var(--lime); color: #0F0F0F; }
.btn--zielony:hover { background: #B9DD36; border-color: #B9DD36; }
.btn--zolty { background: var(--sem-uwaga); border-color: var(--sem-uwaga); color: #1A1400; }
.btn--zolty:hover { background: #FFD24A; border-color: #FFD24A; }
.btn--zolty-ob { background: var(--sem-uwaga-tlo); border-color: var(--sem-uwaga); color: var(--tx-d); }
.btn--czerwony { background: var(--sem-zle); border-color: var(--sem-zle); color: var(--sem-zle-tx); }
.btn--czerwony:hover { filter: brightness(1.08); }
.stan-pracy { display: inline-flex; align-items: center; gap: 8px; min-height: 42px; padding: 0 20px; border: 2px solid var(--lime); border-radius: 999px; background: var(--lime-soft); color: #1F2A05; font: 600 14.5px var(--f-disp); }
.stan-pracy .i { width: 17px; height: 17px; color: #4C6A00; }
.akcje-karty .btn--ghost.btn--duzy { border-color: var(--line-4); color: var(--tx-d); }
.akcje-karty .btn--ghost.btn--duzy:hover { border-color: var(--lime); }
#analiza.akt { display: block; }
#analiza .analizy { grid-auto-rows: 1fr; gap: 16px; margin-top: 12px; }
#analiza .analiza-kafel { padding: 22px 26px; gap: 6px 20px; }
#analiza .analiza-kafel h3 { font-size: 18px; }
#analiza .analiza-kafel .btn { min-height: 42px; padding: 0 20px; font-size: 14.5px; }
#analiza .analiza-kafel .status-an { font-size: 13px; }
@media (max-width: 900px) { #analiza .analizy { grid-auto-rows: auto; } }

/* jednoznaczny stan przetargu: w pracy (zielony), obserwujesz (zolty), odpuszczony (czerwony), bez decyzji (szary) */
.stan-przetargu { display: flex; flex-wrap: wrap; gap: 8px 10px; margin: 0 0 10px; }
.stan { display: inline-flex; align-items: baseline; gap: 10px; padding: 7px 16px 7px 14px; border: 2px solid var(--line-4); border-radius: 999px; font: 700 15px/1.2 var(--f-disp); letter-spacing: .01em; }
.stan::before { content: ""; align-self: center; width: 11px; height: 11px; border-radius: 50%; background: var(--line-4); }
.stan small { font: 400 12.5px var(--f-body); color: var(--mu-d); }
.stan--praca { border-color: var(--lime); background: var(--lime-soft); color: #1F2A05; } .stan--praca::before { background: #4C8A12; } .stan--praca small { color: #3A4A12; }
.stan--obs { border-color: var(--sem-uwaga); background: var(--sem-uwaga-tlo); color: var(--tx-d); } .stan--obs::before { background: var(--sem-uwaga); }
.stan--odp { border-color: var(--sem-zle); background: var(--sem-zle-tlo); color: var(--sem-zle); } .stan--odp::before { background: var(--sem-zle); }
.stan--nowy { color: var(--tx-d2); }
.status--odp::before { background: var(--sem-zle); } .status--obs::before { background: var(--sem-uwaga); }

/* niski ekran: na zakladce Analiza AI zwijamy naglowek karty, zeby kafle zmiescily sie bez przewijania */
@media (max-height: 880px) {
	html.tab-analiza .karta__glowa .znaczniki, html.tab-analiza .karta__glowa .fakty, html.tab-analiza .karta__glowa .zam, html.tab-analiza .akcje-karty__et { display: none; }
	html.tab-analiza .akcje-karty__gr { padding-top: 0; }
	html.tab-analiza .stan { padding: 4px 12px; font-size: 13.5px; }
	html.tab-analiza .karta__glowa h1 { font-size: 18px; }
	html.tab-analiza #analiza .analiza-kafel { padding: 12px 18px; }
	html.tab-analiza #analiza .analiza-kafel h3 { font-size: 16px; }
}

#analiza .analizy { grid-auto-rows: minmax(0, 1fr); }
@media (max-width: 900px) { #analiza .analizy { grid-auto-rows: auto; } }

/* karta: cienki pasek akcji (jedna linia), zwarty naglowek z numerem ogloszenia, status i zespol w okienku */
.akcje-karty--cienki { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 18px; padding: 8px 0 10px; border-bottom: 1px solid var(--line-d); margin: 0 0 8px; }
.akcje-karty--cienki .ak-gr { display: flex; flex-wrap: wrap; align-items: center; gap: 6px 8px; }
.akcje-karty--cienki .ak-et { font: 500 10.5px var(--f-mono); letter-spacing: .08em; text-transform: uppercase; color: var(--mu-d); margin-right: 2px; }
.ak-link { display: inline-flex; align-items: center; gap: 5px; padding: 3px 10px; border: 1px solid var(--line-d2); border-radius: 999px; font: 500 12.5px var(--f-body); color: var(--tx-d2); text-decoration: none; white-space: nowrap; }
.ak-link:hover { border-color: var(--lime); color: var(--tx-d); } .ak-link .i { width: 12px; height: 12px; }
.ak-decyzja { padding-left: 18px; border-left: 1px solid var(--line-d2); }
.akcje-karty--cienki .btn--sm { min-height: 30px; padding: 0 14px; font-size: 13px; }
.stan-pracy--maly { min-height: 30px; padding: 0 14px; font-size: 13px; border-width: 1.5px; } .stan-pracy--maly .i { width: 14px; height: 14px; }
.akcje-karty--cienki .akcje-karty__termin { margin-left: auto; padding: 3px 12px; font-size: 12.5px; }
.karta__glowa--kompakt { display: grid; gap: 4px; padding-bottom: 6px; }
.tytul-rz { display: flex; align-items: flex-start; gap: 12px; } .tytul-rz h1 { margin: 0; font: 600 20px/1.25 var(--f-disp); letter-spacing: -.01em; max-width: none; }
.zam-linia { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 2px 20px; margin: 0; font: 400 13px/1.4 var(--f-body); color: var(--mu-d); text-transform: none; }
.nr-ogl { font: 400 12.5px var(--f-mono); color: var(--mu-d); } .nr-ogl b { font-weight: 500; color: var(--tx-d); margin: 0 6px 0 4px; }
.kopiuj { padding: 1px 8px; border: 1px solid var(--line-d2); border-radius: 999px; background: none; color: var(--lime-tx); font: 500 11.5px var(--f-body); cursor: pointer; } .kopiuj:hover { border-color: var(--lime); }
.karta__glowa--kompakt .meta-k { margin: 0; gap: 2px 20px; font-size: 13px; } .karta__glowa--kompakt .meta-k .stary { color: var(--sem-zle); }
.znaczniki--mini { display: inline-flex; flex-wrap: wrap; gap: 4px; margin-left: auto; } .znaczniki--mini .zn { font-size: 11px; padding: 1px 8px; }
.dlg-zespol { width: min(900px, calc(100vw - 32px)); max-height: calc(100vh - 48px); overflow: auto; }
.dlg-zespol__g { display: flex; justify-content: flex-end; margin-bottom: 4px; }

/* karta: zwarty kompendium-pasek stanu pracy, sekcje Przegladu w roznych odcieniach szarosci, mniejsze czcionki, nizsze zakladki */
.pl-pas { min-height: 40px; padding-top: 6px; }
.pl-zak button.zak, .pl-zak a.zak { height: 34px; font-size: 13.5px; }
.pl-pas__t { margin-bottom: 6px; }
.karta__glowa--kompakt { padding: 8px 14px 8px; border-radius: 12px; background: color-mix(in srgb, var(--tx-d) 9%, var(--bg)); }
.sciezka--cienka { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; margin: 8px 0 10px; padding: 0; list-style: none; }
.sciezka--cienka li { border: 0; padding: 0; min-width: 0; }
.sciezka--cienka a { display: flex; align-items: baseline; gap: 8px; min-height: 30px; padding: 5px 12px; border: 1px solid var(--line-d2); border-left: 3px solid var(--line-4); border-radius: 8px; background: var(--bg-2); color: var(--tx-d); text-decoration: none; cursor: pointer; white-space: nowrap; overflow: hidden; }
.sciezka--cienka li.gotowe a { border-left-color: var(--sem-ok); } .sciezka--cienka li.teraz a { border-left-color: var(--sem-uwaga); }
.sciezka--cienka .etykieta { margin: 0; font: 500 11.5px var(--f-body); letter-spacing: 0; text-transform: none; color: var(--mu-d); overflow: hidden; text-overflow: ellipsis; }
.sciezka--cienka b { font: 600 12.5px var(--f-body); color: var(--tx-d); overflow: hidden; text-overflow: ellipsis; }
.sciezka--cienka a:hover { border-color: var(--lime); }
@media (max-width: 1000px) { .sciezka--cienka { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
#podsumowanie > .sekcja { margin: 0 0 8px; padding: 10px 16px 12px; border: 0; border-radius: 12px; }
#podsumowanie > .sekcja:nth-of-type(1) { background: color-mix(in srgb, var(--tx-d) 3%, var(--bg)); }
#podsumowanie > .sekcja:nth-of-type(2) { background: color-mix(in srgb, var(--tx-d) 7%, var(--bg)); }
#podsumowanie > .sekcja:nth-of-type(3) { background: color-mix(in srgb, var(--tx-d) 4.5%, var(--bg)); }
#podsumowanie > .sekcja:nth-of-type(4) { background: color-mix(in srgb, var(--tx-d) 8.5%, var(--bg)); }
#podsumowanie > .sekcja > h2 { margin: 0 0 6px; font-size: 14.5px; }
#podsumowanie .prose { font-size: 13.5px; line-height: 1.5; }
#podsumowanie .szansa__poziom { padding: 3px 12px; font-size: 13.5px; } #podsumowanie .szansa__pkt b { font-size: 18px; }
#podsumowanie .szansa__uz { font-size: 13px; line-height: 1.4; }
#podsumowanie .szansa__sk { margin-top: 8px; gap: 0; }
#podsumowanie .szansa__x { grid-template-columns: 270px 130px minmax(0, 1fr); gap: 12px; padding: 3px 0; font-size: 13px; line-height: 1.35; }
#podsumowanie .szansa__n { white-space: nowrap; } #podsumowanie .szansa__n small { font-size: 10px; margin-left: 6px; white-space: nowrap; }
#podsumowanie .szansa__b { height: 6px; }
#podsumowanie .znaczniki .zn { font-size: 11.5px; padding: 1px 9px; }
#podsumowanie .siatka { gap: 6px 22px; } #podsumowanie .fakt { font-size: 13.5px; } #podsumowanie .fakt .etykieta { font-size: 10px; }
#podsumowanie .szansa + p, #podsumowanie .szansa > p.mut { font-size: 12px; margin-top: 6px !important; }

/* Przegląd: dane postępowania i kody CPV w jednej linii „Etykieta: wartość” (1.11.2026, prośba Tomasza – mniej miejsca) */
#podsumowanie > .sekcja.sekcja--dl { padding: 8px 16px; }
.dl-wiersz { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 22px; }
.dl-wiersz--dane { row-gap: 3px; }
.dl { font-size: 13.5px; line-height: 1.35; min-width: 0; }
.dl-e { font: 500 10.5px/1.3 var(--f-mono); letter-spacing: .06em; text-transform: uppercase; color: var(--mu-d); margin-right: 4px; }
.dl-wiersz > .znaczniki { display: inline-flex; flex-wrap: wrap; gap: 4px 6px; }

/* odswiezanie przetargu: aktualnosc dokumentow, lista z SWZ, baner unieważnienia */
.ak-odswiez { background: none; cursor: pointer; } .ak-odswiez .i { width: 12px; height: 12px; }
.aktualnosc { margin: 0 0 14px; padding: 10px 16px 12px; border: 1px solid var(--line-d2); border-left: 4px solid var(--line-4); border-radius: 12px; background: var(--bg-2); }
.aktualnosc--ok { border-left-color: var(--sem-ok); } .aktualnosc--uwaga { border-left-color: var(--sem-uwaga); } .aktualnosc--zle { border-left-color: var(--sem-zle); }
.aktualnosc__g { display: flex; align-items: center; justify-content: space-between; gap: 16px; } .aktualnosc__g p { margin: 2px 0 0; font-size: 13.5px; color: var(--tx-d2); }
.aktualnosc__g b { font: 600 15px var(--f-disp); } .aktualnosc--zle .aktualnosc__g b { color: var(--sem-zle); }
.aktualnosc__z { margin: 8px 0 0; padding: 0; list-style: none; font-size: 13px; } .aktualnosc__z li { display: flex; flex-wrap: wrap; gap: 4px 12px; padding: 4px 0; border-top: 1px solid var(--line-d); }
.aktualnosc__mapa { margin-top: 10px; } .aktualnosc__mapa ul { margin: 6px 0 4px; padding: 0; list-style: none; font-size: 13.5px; }
.aktualnosc__mapa li { display: grid; grid-template-columns: 130px minmax(0, 1fr) minmax(0, 1fr); gap: 10px; padding: 3px 0; border-top: 1px solid var(--line-d); }
.aktualnosc__st { font: 600 12px var(--f-body); } .aktualnosc__mapa li.jest .aktualnosc__st { color: var(--sem-ok); } .aktualnosc__mapa li.brak .aktualnosc__st { color: var(--sem-zle); }
.uniewazniony { margin: 0 0 12px; padding: 12px 16px; border: 2px solid var(--sem-zle); border-radius: 10px; background: var(--sem-zle-tlo); font: 400 14px/1.5 var(--f-body); }
.uniewazniony b { color: var(--sem-zle); font: 700 16px var(--f-disp); } .uniewazniony p { margin: 4px 0; } .uniewazniony a { color: var(--sem-zle); font-weight: 600; }

/* zakladki karty: szerokosc wg tresci, pelne nazwy; na waskim ekranie bez piktogramow */
.pl-zak--gesty { gap: 3px; }
.pl-zak--gesty a.zak, .pl-zak--gesty button.zak { flex: 0 1 auto; min-width: 0; max-width: none; padding: 0 12px; gap: 7px; font-size: 13.5px; }
.pl-zak--gesty a.zak span, .pl-zak--gesty button.zak span { overflow: visible; text-overflow: clip; }
.pl-zak--gesty .zak .i { width: 15px; height: 15px; } .pl-zak--gesty a.zak b, .pl-zak--gesty button.zak b { margin-left: 4px; }
@media (max-width: 1500px) { .pl-zak--gesty .zak .i { display: none; } }
/* karta zawsze miesci sie w oknie: naglowek stoi w miejscu, przewija sie tylko tresc zakladki */
@media (min-width: 821px) {
	.uklad--bez-boku { flex: none; height: calc(100vh - var(--belka) - var(--pasek-h, 0px) - var(--stopka-h)); overflow: hidden; }
	.uklad--bez-boku > main.tresc { display: flex; flex-direction: column; height: 100%; min-height: 0; padding-bottom: 0; overflow: hidden; }
	.uklad--bez-boku > main.tresc > * { flex: none; }
	.uklad--bez-boku > main.tresc > .panel-t.akt { flex: 1 1 0; min-height: 0; overflow-y: auto; padding: 4px 2px 18px 0; scrollbar-width: thin; }
	.uklad--bez-boku > main.tresc > dialog:not([open]), .uklad--bez-boku > main.tresc > script { display: none; }
}
.pyt-lista { margin: 0; padding-left: 22px; font-size: 14px; } .pyt-lista li { margin: 6px 0; line-height: 1.5; } .pyt-lista .kopiuj { margin-left: 8px; }
.pismo-karta { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 10px 16px; margin: 0 0 16px; padding: 12px 16px; border: 1px solid var(--line-d2); border-left: 4px solid var(--lime); border-radius: 12px; background: var(--bg-2); }
.pismo-karta p { margin: 2px 0 0; font-size: 13.5px; color: var(--tx-d2); }

/* karta: wiersze wynikow (pytania, pismo) jak kafle analiz: stan i przyciski, tresc tylko w nowym oknie */
.wynik-wiersz { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 16px; margin: 0 0 10px; padding: 12px 16px; border: 1px solid var(--line-d2); border-radius: 12px; background: var(--bg-2); }
.wynik-wiersz__t { display: grid; gap: 2px; } .wynik-wiersz__t b { font: 600 15px var(--f-disp); } .wynik-wiersz__t small { font-size: 12px; max-width: 60ch; }
.powod-blokady { margin: 6px 0 0; padding: 8px 12px; border: 1px solid var(--sem-zle); border-radius: 8px; background: var(--sem-zle-tlo); font-size: 13.5px; } .powod-blokady a { color: var(--sem-zle); font-weight: 600; }

/* pasek „AI w toku” na dole, tuz nad paskiem stopki (zamiast pod belka), lista „+N” rozwija sie w gore */
#analizy-pasek { position: sticky; top: auto; bottom: var(--stopka-h); z-index: 24; }
.pasek-analiz { border-top: 1px solid var(--lime); border-bottom: 0; }
body.ma-pasek { --off: var(--belka); }
.pa-wiecej .pa-reszta { top: auto; bottom: calc(100% + 8px); }

/* karta: jeszcze zwarciej, zeby wiecej miejsca zostalo na tresc (jeden wiersz akcji, dwie linie naglowka, cienka sciezka pracy) */
.akcje-karty--cienki { gap: 4px 12px; padding: 4px 0 6px; margin-bottom: 4px; flex-wrap: wrap; }
.akcje-karty--cienki .ak-et { display: none; }
.akcje-karty--cienki .ak-gr { gap: 4px 6px; }
.ak-link { padding: 2px 10px; font-size: 12px; max-width: 220px; overflow: hidden; text-overflow: ellipsis; }
.ak-decyzja { padding-left: 12px; }
.akcje-karty--cienki .btn--sm { min-height: 26px; padding: 0 11px; font-size: 12.5px; }
.stan-pracy--maly { min-height: 26px; padding: 0 12px; font-size: 12.5px; }
.akcje-karty--cienki .akcje-karty__termin { margin-left: auto; padding: 2px 10px; font-size: 11.5px; white-space: nowrap; }
.karta__glowa--kompakt { gap: 2px; padding: 6px 12px 6px; }
.tytul-rz { align-items: center; gap: 10px; } .tytul-rz h1 { font-size: 17.5px; line-height: 1.2; flex: 1 1 auto; min-width: 0; }
.znaczniki--mini { flex: none; margin-left: 8px; }
.zam-linia { justify-content: flex-start; gap: 0 18px; font-size: 12.5px; line-height: 1.45; } .zam-linia b { color: var(--tx-d); font-weight: 600; } .zam-linia .stary { color: var(--sem-zle); }
.sciezka--cienka { margin: 4px 0 6px; gap: 6px; } .sciezka--cienka a { min-height: 24px; padding: 2px 10px; }
.sciezka--cienka .etykieta, .sciezka--cienka b { font-size: 12px; }
.pl-pas { min-height: 38px; } .pl-zak button.zak, .pl-zak a.zak { height: 32px; }
.zalecenie-pisma { padding: 8px 12px; margin: 0 0 10px; font-size: 13px; } .zalecenie-pisma ul { margin: 4px 0 0; }
/* ===== jedna wielkosc przyciskow w calej aplikacji (jak w pasku akcji karty): 26 px, 12,5 px ===== */
.btn, .btn--sm, .btn--duzy, .jedna .btn, .tresc .btn, .analiza-kafel .btn, #analiza .analiza-kafel .btn, .akcje-karty .btn, .pasek-analiz .btn { min-height: 26px !important; padding: 0 12px !important; font-size: 12.5px !important; line-height: 1.2 !important; gap: 6px !important; }
.btn .i { width: 13px; height: 13px; }
.ai-znacznik { font-size: 10px; padding: 0 5px; line-height: 15px; }
.btn--pelny { width: 100%; }
.stan-pracy, .stan-pracy--maly { min-height: 26px; font-size: 12.5px; padding: 0 12px; }
.pl-pas__btn { height: 26px; font-size: 12.5px; padding: 0 12px; }
#analiza .analiza-kafel { padding: 12px 16px; } #analiza .analiza-kafel h3 { font-size: 15px; } #analiza .analiza-kafel .status-an { font-size: 12px; }
.wynik-wiersz__t b, .aktualnosc__g b { font-size: 14px; }

/* lista: panel filtrow po prawej, pod przyciskiem Filtry (nie po lewej obok menu); kafelki pod paskiem zakladek maja oddech */
@media (min-width: 1081px) {
	.uklad--filtry-prawo { grid-template-columns: minmax(0, 1fr) 260px; }
	html.bok-ukryty .uklad--filtry-prawo { grid-template-columns: minmax(0, 1fr) 0px; }
	.uklad--filtry-prawo > .bok { order: 2; border-right: 0; border-left: 1px solid var(--line-d); }
	html.bok-ukryty .uklad--filtry-prawo > .bok { border-left-width: 0; }
}
.tresc > .glowa { padding-top: 10px; }

/* pinezka: przypina menu i panel filtrow (bez niej zamykaja sie same po 10 s bez myszy) */
.szuflada__g { display: flex; align-items: center; justify-content: space-between; margin: 0 0 10px; }
.szuflada__g .szuflada__t { margin: 0 0 0 12px; }
.pinezka { flex: none; display: inline-grid; place-items: center; width: 28px; height: 28px; padding: 0; border: 1px solid transparent; border-radius: 8px; background: transparent; color: #B8B8B8; cursor: pointer; }
.pinezka .i { width: 16px; height: 16px; transform: rotate(35deg); transition: transform .15s ease; }
.pinezka:hover { color: #F4F4F4; border-color: #3A3A3A; }
.pinezka[aria-pressed="true"] { color: #0F0F0F; background: var(--lime); border-color: var(--lime); }
.pinezka[aria-pressed="true"] .i { transform: none; }
.uklad > .bok > .pinezka { min-width: 0; }
.pinezka--bok { position: absolute; top: 14px; right: 14px; z-index: 2; }

/* wszystkie ekrany z paskiem zakladek: naglowek ze statystykami nie dotyka paska */
.pl-pas ~ .glowa { padding-top: 10px; }

/* filtr wielokrotnego wyboru (kategorie z Ustawien) na stronach Wyniki i Ranking wykonawcow */
.wmulti { position: relative; }
.wmulti > summary { list-style: none; display: inline-flex; align-items: center; gap: 8px; position: relative; min-height: 30px; padding: 0 28px 0 10px; border: 1px solid var(--line-d2); border-radius: 999px; background: var(--bg-2); font-size: 12.5px; font-weight: 500; cursor: pointer; }
.wmulti > summary::-webkit-details-marker { display: none; }
.wmulti > summary::after { content: ""; position: absolute; right: 12px; top: 50%; width: 6px; height: 6px; margin-top: -5px; border-right: 1.5px solid currentColor; border-bottom: 1.5px solid currentColor; transform: rotate(45deg); }
.wmulti > summary .etykieta { margin: 0; padding-right: 8px; border-right: 1px solid var(--line-d2); font-size: 10px; }
.wmulti > summary:hover, .wmulti[open] > summary, .wmulti--akt > summary { border-color: var(--lime); }
.wmulti__w { max-width: 190px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wmulti__lista { position: absolute; z-index: 40; top: calc(100% + 6px); left: 0; display: grid; gap: 2px; min-width: 260px; max-height: 340px; overflow-y: auto; padding: 8px; border: 1px solid var(--line-d2); border-radius: 12px; background: var(--bg); box-shadow: 0 12px 32px rgba(0, 0, 0, .28); }
.wmulti__lista .fl { display: flex; align-items: center; gap: 8px; padding: 6px 8px; border-radius: 8px; font-size: 13px; cursor: pointer; }
.wmulti__lista .fl:hover { background: var(--bg-2); }

/* przetarg, nad ktorym ktos juz pracuje: wiersz wyrozniony i chip z nazwiskiem */
.tab tr.tr--pracuje { background: rgba(169, 205, 38, .07); }
.tab tr.tr--pracuje > td:first-child { box-shadow: inset 3px 0 0 var(--lime); }
.zn--pracuje { border-color: var(--lime); background: var(--lime); color: #0F0F0F; font-weight: 600; }

.pf-sekcja { display: grid; gap: 8px; min-width: 0; }
.pf-sekcja > .etykieta { margin-bottom: 0; }
.pf-profil { padding: 10px 12px 12px; border: 1px solid var(--line-d2); border-radius: 12px; background: var(--bg-2); }
.pf-profil__g { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin-bottom: 4px; }
.pf-profil__st { font: 500 10.5px var(--f-mono); letter-spacing: .05em; text-transform: uppercase; color: var(--mu-d); }
.pf-profil__st--profil { color: var(--lime-tx); }
.pf-profil__akcje { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.pf-profil__akcje form { display: contents; }
.pf-profil__opis { margin: 8px 0 0; font-size: 11.5px; line-height: 1.4; }
.pl-profil { margin: 4px 0 0; font-size: 12.5px; color: var(--mu-d); } .pl-profil b { color: var(--tx-d); font-weight: 600; } .pl-profil a { color: var(--lime-tx); }

/* pole szukania: krzyzyk kasujacy cale haslo, podpowiedz o tolerancji literowek */
.szukaj input[type=text] { padding-right: 34px; }
.szukaj__x { position: absolute; right: 6px; top: 50%; width: 24px; height: 24px; margin-top: -12px; display: grid; place-items: center; padding: 0 0 2px; border: 0; border-radius: 50%; background: transparent; color: var(--mu-d); font: 400 20px/1 var(--f-body); cursor: pointer; }
.szukaj__x:hover { background: var(--bg-3); color: var(--tx-d); }
.szukaj__x[hidden] { display: none; }
.szukaj__hint { display: block; margin-top: 6px; font-size: 11.5px; line-height: 1.4; }

/* FILTRY W LEWEJ SZUFLADZIE (pod modulami) + szukanie w naglowku strony; dotyczy Przetargow, Wynikow, Rankingu, Zadan i Kalendarza */
.uklad--pelny { grid-template-columns: minmax(0, 1fr) !important; }
html[data-filtry] .szuflada > ul > li > a { min-height: 38px; font-size: 14.5px; }
.szuflada__filtry { display: grid; gap: 12px; margin-top: 16px; padding-top: 14px; border-top: 1px solid #2A2A2A; color: #D0D0D0; }
.szuflada__filtry .szuflada__t { margin: 0 0 0 12px; }
.szf__g { display: flex; align-items: center; justify-content: space-between; }
.szuflada .szuflada__filtry a { display: inline; min-height: 0; padding: 0; border-radius: 0; font: inherit; }
.szuflada .szuflada__filtry a:hover { background: none; }
.szuflada .szuflada__filtry .szf__wyczysc { margin-right: 10px; color: var(--lime); font: 500 12px var(--f-mono); text-decoration: none; }
.szuflada .szuflada__filtry a.btn { display: inline-flex; align-items: center; min-height: 28px; padding: 0 12px; border-radius: 8px; font: 600 12.5px var(--f-disp); }
.szf__profil, .szf__sekcja { display: grid; gap: 8px; min-width: 0; padding: 0 2px; }
.szf__sekcja > .etykieta { margin-left: 10px; }
.szf__w { display: flex; align-items: center; justify-content: space-between; gap: 8px; margin: 0 2px 0 10px; }
.szuflada .fgrupa { margin-top: 0; }
.szuflada .fgrupa > summary { font-size: 13px; }
.szuflada .flista { max-height: 220px; }
.szuflada .fl { font-size: 13px; color: #D0D0D0; }
.szuflada .fl b, .szuflada .fwybor { margin-left: auto; }
.szuflada .pole { display: grid; gap: 3px; margin: 0; }
.szuflada .pole .etykieta { margin: 0 0 0 2px; font-size: 10px; }
.szuflada select, .szuflada input[type=number], .szuflada input[type=date], .szuflada input[type=text] { min-height: 30px; padding: 0 10px; font-size: 13px; border-radius: 8px; }
.szuflada select { padding-right: 28px; background-size: 14px; background-position: right 8px center; }
.szuflada .pf-profil__akcje { display: flex; flex-wrap: wrap; gap: 6px; margin: 2px 0 0 2px; }
.szuflada .pf-profil__akcje form { display: contents; }
.szf__opis { margin: 0 2px 0 10px; font-size: 11.5px; line-height: 1.4; color: #9A9A9A; }
.szf__akcja { display: grid; gap: 4px; padding: 0 2px; }
.szf__akcja .btn { width: 100%; }
.hamburger__n { position: absolute; top: -5px; right: -7px; min-width: 18px; padding: 1px 5px; border-radius: 999px; background: var(--lime); color: #0F0F0F; font: 600 11px/1.3 var(--f-mono); text-align: center; pointer-events: none; }
.szukaj--naglowek { flex: 1 1 280px; max-width: 460px; margin: 0 24px 4px; }
@media (max-width: 820px) { .szukaj--naglowek { flex-basis: 100%; max-width: none; margin: 6px 0; } }
/* szuflada: pola strony w dwoch kolumnach, zwarte moduly, zeby filtry miescily sie bez przewijania */
html[data-filtry] .szuflada > ul > li > a { min-height: 34px; }
html[data-filtry] .szuflada > ul { gap: 1px; }
.szf__sekcja { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.szf__sekcja > .etykieta, .szf__sekcja > .szf__opis, .szf__sekcja > .fgrupa, .szf__sekcja > .pole:has(input) { grid-column: 1 / -1; }
.szf__sekcja > .pole:has(select[name=zakres]), .szf__sekcja > .pole:has(select[name=wynik]), .szf__sekcja > .pole:has(select[name=moje]), .szf__sekcja > .pole:has(select[name=status]), .szf__sekcja > .pole:has(select[name=kto]) { grid-column: 1 / -1; }

/* filtry w menu: grupy zwijane z widocznym stanem (wartosc w naglowku, limonkowa ramka, gdy filtr aktywny); pasek importu u gory */
.szf__sekcja { grid-template-columns: minmax(0, 1fr); }
.fgrupa > summary .fe { flex: none; }
.fwartosc { min-width: 0; margin-left: auto; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font: 400 12px var(--f-body); color: var(--mu-d); }
.fgrupa--akt { border-color: var(--lime); }
.fgrupa--akt > summary { color: var(--tx-d); }
.fgrupa--akt .fwartosc { color: var(--lime); font-weight: 600; }
.szuflada .fwybor { margin: 0 8px 0 0; color: #0F0F0F; font: 600 11px/18px var(--f-mono); }
.szuflada .fgrupa--akt .fwartosc { max-width: 58%; }
.fgrupa .flista input[type=date] { width: 100%; }
.belka__import { display: flex; align-items: center; gap: 12px; margin-left: 6px; }
.belka__imp-info { color: var(--mu-d); font: 400 12px var(--f-mono); white-space: nowrap; } .belka__imp-info b { color: var(--tx-d); font-weight: 500; }
.belka__imp-dni { display: flex; align-items: center; gap: 6px; color: var(--mu-d); font: 500 10px var(--f-mono); letter-spacing: .06em; text-transform: uppercase; white-space: nowrap; }
.belka__imp-dni input { width: 54px; min-height: 30px; padding: 0 8px; border-radius: 8px; font: 500 13px var(--f-mono); text-align: center; }
.belka__import .btn { white-space: nowrap; }
@media (max-width: 1100px) { .belka__imp-info { display: none; } }
@media (max-width: 960px) { .belka__import .btn span { display: none; } .belka__import .btn { padding: 0 10px; } }
@media (max-width: 820px) { .belka__imp-dni { display: none; } }
/* grupy w menu nie moga szerzyc sie ponad menu (dluga wartosc w naglowku skraca sie wielokropkiem) */
.szf__profil > *, .szf__sekcja > *, .szuflada__filtry > * { min-width: 0; }
.szuflada .fgrupa { min-width: 0; overflow: hidden; }
.szuflada .fgrupa > summary { min-width: 0; padding-right: 10px; }
.szuflada .fgrupa > summary .fwartosc { flex: 0 1 auto; }
.szuflada .fgrupa > summary::after { flex: none; }
.szuflada .fwybor { flex: none; }
/* pasek u gory: blok aktualizacji oddzielony kreska jak logo od nazwy programu */
.belka__import { align-self: center; margin-left: 0; padding-left: 20px; border-left: 1px solid var(--line-d2); min-height: 32px; }
/* pasek u gory: obie kreski (logo | nazwa | aktualizacja) tej samej wysokosci, z jednakowym odstepem po obu stronach (jak odstep paska, 24 px) */
.belka__logo { gap: 24px; }
.belka__nazwa { display: flex; align-items: center; min-height: 32px; padding-left: 24px; }
.belka__import { padding-left: 24px; min-height: 32px; }

/* menu: moduly tej samej wielkosci na kazdym ekranie (takze na Pulpicie i w Ustawieniach) */
.szuflada > ul > li > a { min-height: 34px; font-size: 14.5px; }
.szuflada > ul { gap: 1px; }
/* kolumny: delikatne poltony szarosci, zeby oko latwo je rozdzielalo (Pulpit, pisma na karcie) */
:root { --kol-a: color-mix(in srgb, var(--tx-d) 2%, var(--bg-2)); --kol-b: var(--bg-3); --kol-c: color-mix(in srgb, var(--tx-d) 5%, var(--bg)); }
.pl-siatka3 { gap: 16px; }
.pl-siatka3 > .pl-kol { padding: 14px 16px 16px; border-radius: 14px; background: var(--kol-a); }
.pl-siatka3 > .pl-kol:nth-child(2) { background: var(--kol-b); }
.pl-siatka3 > .pl-kol:nth-child(3) { background: var(--kol-c); }
.dwie-kolumny { gap: 16px; }
.dwie-kolumny > .kol { padding: 14px 16px; border-radius: 14px; background: var(--kol-a); }
.dwie-kolumny > .kol:last-child { padding-left: 16px; border-left: 0; background: var(--kol-b); }
/* poltony kolumn: trzy wyraznie rozne stopnie szarosci w jasnym i ciemnym wygladzie */
:root { --kol-a: #FBFBFA; --kol-b: #EFEFEB; --kol-c: #E6E6E1; }
html[data-motyw="dark"] { --kol-a: #161616; --kol-b: #1C1C1C; --kol-c: #232323; }

/* analiza odpuszczen i szczegoly w Historii */
.odp-siatka { display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 16px; margin-top: 14px; }
.odp-blok { padding: 14px 16px 16px; border-radius: 14px; background: var(--kol-a); }
.odp-blok:nth-child(3n+2) { background: var(--kol-b); } .odp-blok:nth-child(3n) { background: var(--kol-c); }
.odp-blok h2 { margin: 0 0 10px; font-size: 15px; }
.odp-w { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 3px 10px; align-items: baseline; margin-bottom: 9px; font-size: 13px; }
.odp-w b { font: 600 13px var(--f-mono); } .odp-w small { margin-left: 4px; color: var(--mu-d); font-weight: 400; }
.odp-pasek { grid-column: 1 / -1; height: 6px; border-radius: 3px; background: var(--line-d2); overflow: hidden; }
.odp-pasek i { display: block; height: 100%; border-radius: 3px; background: var(--lime); }
.hist-link { margin: 4px 0 8px; }
.hist-odp b { color: var(--tx-d); }

/* status w tabeli: znacznik szansy w osobnej linii, nie nachodzi na status */
.tab td .szansa-mini { display: flex; width: fit-content; margin-top: 5px; }
.szansa-mini--po { color: var(--mu-d); font-weight: 500; } .szansa-mini--po::before { background: var(--line-3); }
/* Ustawienia: tabela konkurentow */
.konk-tabela { overflow-x: auto; }
.konk-tabela .tab td { padding: 6px 6px; vertical-align: middle; }
.konk-tabela input[type=text] { width: 100%; min-width: 110px; min-height: 32px; padding: 0 10px; font-size: 13px; }
.konk-tabela td:nth-child(3) { position: relative; } .konk-tabela td:nth-child(3) input { padding-right: 28px; }
.konk-www { position: absolute; right: 14px; top: 50%; transform: translateY(-50%); color: var(--lime-tx); text-decoration: none; }
.konk-nowy td { background: var(--kol-b); }
/* Pulpit: liczby na gorze kazdej kolumny, kolumny jednym kolorem od gory do dolu, wyrazniejsze poltony */
:root { --kol-a: #FAFAF8; --kol-b: #EAEAE5; --kol-c: #DFDFD8; }
html[data-motyw="dark"] { --kol-a: #151515; --kol-b: #1D1D1D; --kol-c: #272727; }
.pl-siatka3 { align-items: stretch; }
.pl-kpi--kol { grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 10px 18px; margin: 0 0 14px; padding: 2px 0 14px; border-bottom: 1px solid var(--line-d2); }
.pl-kpi--kol .fakt dd { font-size: 22px; }
.pl-siatka3 > .pl-kol { align-content: start; }

/* Ustawienia: harmonogram automatu; pasek u gory: informacja o automacie */
.automat-pola { display: grid; grid-template-columns: repeat(auto-fit, minmax(300px, 1fr)); gap: 14px 24px; max-width: 900px; }
.automat-pola .pole small { display: block; margin-top: 6px; font-size: 12px; line-height: 1.4; }
.belka__auto { color: var(--lime-tx); }

/* Ustawienia wyszukiwania: zakladki w malym pasku; godziny harmonogramu */
.ust-zak { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 18px; padding-bottom: 10px; border-bottom: 1px solid var(--line-d); }
.ust-zak button { min-height: 30px; padding: 0 14px; border: 1px solid var(--line-d2); border-radius: 999px; background: var(--bg-2); color: var(--tx-d2); font: 600 13px var(--f-disp); cursor: pointer; }
.ust-zak button:hover { border-color: var(--lime); }
.ust-zak button[aria-selected="true"] { border-color: var(--lime); background: var(--lime); color: #0F0F0F; }
.automat-godz { display: grid; gap: 3px; margin-top: 8px; } .automat-godz input { min-height: 34px; }

/* Ustawienia i Dane firmy: sekcje obok siebie, czyta sie od lewej do prawej zamiast przewijac */
.ust-rzad { display: grid; gap: 0 32px; align-items: start; }
.ust-rzad > *, .ust-kol { min-width: 0; }
.ust-kol > .sekcja:first-child { border-top: 0; }
.siatka--2, .siatka--3 { grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); }
@media (min-width: 1100px) {
	.ust-rzad--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.ust-rzad--firma { grid-template-columns: minmax(0, 2fr) minmax(0, 1.35fr) minmax(0, 1.35fr); }
	.ust-rzad--marki { grid-template-columns: minmax(240px, 1fr) minmax(0, 3fr); }
	.ust-rzad--automat { grid-template-columns: minmax(220px, .6fr) minmax(0, 3fr); }
	.ust-rzad--bib { grid-template-columns: minmax(0, 2fr) minmax(320px, 1fr); }
	.ust-rzad > * { border-top: 0; padding-top: 0; }
	.ust-rzad > * + * { padding-left: 32px; border-left: 1px solid var(--line-d); }
	.ust-rzad--2 > :nth-child(odd) { padding-left: 0; border-left: 0; }
	.ust-rzad--2 > :nth-child(n+3) { margin-top: 6px; padding-top: 16px; border-top: 1px solid var(--line-d); }
	.siatka--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.siatka--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
	.automat-pola { max-width: none; }
}
.bib-dodaj { align-items: end; }
.bib-dodaj .btn { justify-self: start; }
@media (max-width: 1099px) { .bib-dodaj { margin-top: 18px; } }
/* kategorie wyszukiwania: wiecej kart w rzedzie, „usun” obok nazwy */
.kat { grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 14px 16px; align-items: end; }
.kat__glowa { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; margin-bottom: 6px; }
.kat__glowa b { margin: 0; font-size: 15px; min-width: 0; overflow-wrap: anywhere; }
.kat__el .kat__glowa .usun { flex: none; margin: 0; font-size: 12px; gap: 5px; }

/* Pulpit: kolumny ciemny szary / jasniejszy szary / ciemny szary, wyraznie inne niz tlo strony */
:root { --pl-ciem: #DADAD3; --pl-jasn: #EBEBE6; }
html[data-motyw="dark"] { --pl-ciem: #1B1B1B; --pl-jasn: #292929; }
.pl-siatka3 > .pl-kol, .pl-siatka3 > .pl-kol:nth-child(3) { background: var(--pl-ciem); }
.pl-siatka3 > .pl-kol:nth-child(2) { background: var(--pl-jasn); }
.pl-kol .pl-w, .pl-kol .pl-kpi--kol { border-bottom-color: color-mix(in srgb, var(--tx-d) 13%, transparent); }
/* zakladki Pulpitu: dwie kolumny w dwoch odcieniach */
#pl-nowe, #pl-moje, #pl-zmiany { display: block; }
.pl-siatka2 { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: stretch; }
.pl-siatka2 > .pl-kol { gap: 0; align-content: start; padding: 14px 16px 16px; border-radius: 14px; background: var(--pl-ciem); }
.pl-siatka2 > .pl-kol:nth-child(2) { background: var(--pl-jasn); }
.pl-siatka2 .pl-h2 { margin-bottom: 4px; }
@media (max-width: 1100px) { .pl-siatka2 { grid-template-columns: minmax(0, 1fr); } }
/* Zespol: progi kolorow (0 czerwony, 1-5 zolty, 6-10 zielony, wiecej bez koloru) */
.lic { display: inline-block; min-width: 30px; padding: 1px 8px; border-radius: 999px; font: 600 13px var(--f-mono); text-align: center; }
.lic--zle { background: color-mix(in srgb, var(--sem-zle) 20%, transparent); color: var(--blad); }
.lic--uwaga { background: color-mix(in srgb, var(--sem-uwaga) 38%, transparent); color: var(--pilne); }
.lic--ok { background: color-mix(in srgb, var(--sem-ok) 24%, transparent); color: color-mix(in srgb, var(--sem-ok) 55%, var(--tx-d)); }
.lic-po { display: block; margin-top: 2px; font-size: 11.5px; color: var(--blad); }
.tab--zespol td { vertical-align: middle; }
.pl-kol .tab--zespol th, .pl-kol .tab--zespol td { background: transparent; }
.pl-legenda { margin: 10px 0 0; font-size: 12.5px; color: var(--mu-d); line-height: 1.9; }

/* tabele w waskich kolumnach: jedna linia z wielokropkiem, liczby do prawej */
.tab--ciasna { width: 100%; table-layout: fixed; }
.tab--ciasna td.jedna, .tab--ciasna td.jedna a { overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.tab--ciasna td.jedna a { display: block; }
.tab--ciasna .licz { width: 84px; text-align: right; white-space: nowrap; }
.tab--ciasna th.licz { width: 84px; }

/* Koszty API: filtry obok tytulu, liczby w jednym rzedzie, tabele w kolumnach */
.kos-filtry { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 14px; }
.kos-filtry .okresy { margin: 0; }
.kos-zakres { display: flex; align-items: center; gap: 6px; }
.kos-zakres .wybor input { min-height: 32px; width: 140px; border: 0; background: transparent; }
.kos-gora { display: flex; flex-wrap: wrap; align-items: stretch; gap: 14px 40px; padding: 12px 0 14px; margin-bottom: 6px; border-bottom: 1px solid var(--line-d); }
.kos-budzet { min-width: 300px; max-width: 420px; flex: 1; }
.kos-budzet p { margin: 4px 0 8px; }
.kos-fakty { margin: 0; flex: 3; align-items: center; }
.tab--ciasna .licz--szer { width: 150px; }
.kos-przewin { max-height: 196px; overflow-y: auto; }
.kos-przewin thead th { position: sticky; top: 0; z-index: 1; background: var(--bg); }
@media (min-width: 1100px) {
	.ust-rzad--koszty { grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr) minmax(0, 1.6fr); }
	.ust-rzad--koszty-dol { grid-template-columns: minmax(0, 2.2fr) minmax(320px, 1fr); }
	.ust-rzad--koszty-dol > :only-child { grid-column: 1 / -1; max-width: 640px; padding-left: 0; border-left: 0; }
	.ust-rzad--koszty + .ust-rzad--koszty-dol > * { padding-top: 14px; border-top: 1px solid var(--line-d); }
	.ust-rzad--koszty + .ust-rzad--koszty-dol > * + * { padding-top: 14px; }
}
.ust-rzad--koszty .sekcja h2 small { font: 400 12px var(--f-mono); }

/* Uzytkownicy: jeden wiersz = jedna osoba z jednym „Zapisz”; dodawanie i proby logowania obok */
.uz-uklad { display: grid; gap: 20px 32px; align-items: start; }
@media (min-width: 1500px) { .uz-uklad { grid-template-columns: minmax(0, 1fr) 420px; } .uz-bok { padding-left: 28px; border-left: 1px solid var(--line-d); } }
.uz-tabela { overflow-x: auto; min-width: 0; }
.tab--uz td { padding-top: 5px; padding-bottom: 5px; vertical-align: middle; }
.tab--uz select, .tab--uz input[type=text] { min-height: 32px; padding-top: 0; padding-bottom: 0; font-size: 13.5px; }
.tab--uz select { min-width: 130px; } .tab--uz td:nth-child(3) select { min-width: 190px; }
.tab--uz input[type=text] { width: 100%; min-width: 210px; }
.uz-nazwa { display: block; font-weight: 600; font-size: 14.5px; white-space: nowrap; }
.uz-login { display: block; font-size: 11.5px; color: var(--mu-d); white-space: nowrap; }
.uz-sr { text-align: center; }
.uz-data { white-space: nowrap; font-size: 12.5px; }
.uz-akcje { display: flex; align-items: center; gap: 6px; flex-wrap: nowrap; }
.uz-wyl td { opacity: .55; } .uz-wyl td:last-child { opacity: 1; }
.uz-haslo { position: relative; }
.uz-haslo summary { list-style: none; } .uz-haslo summary::-webkit-details-marker { display: none; }
.uz-haslo[open] form { position: absolute; right: 0; top: calc(100% + 6px); z-index: 20; display: flex; gap: 6px; padding: 10px; border: 1px solid var(--line-d2); border-radius: 10px; background: var(--bg-2); box-shadow: 0 8px 24px rgba(0,0,0,.18); }
.uz-haslo form input { min-height: 32px; width: 220px; }
.uz-bok .sekcja:first-child { padding-top: 0; }
.uz-proby { max-height: 300px; overflow-y: auto; }
.uz-proby td:first-child, .uz-proby th:first-child { width: 128px; }

/* Dzialy: karty obok siebie */
.dz-siatka { display: grid; grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)); gap: 14px; }
.dz-karta { display: grid; gap: 10px; align-content: start; padding: 14px 16px; border: 1px solid var(--line-d); border-radius: 14px; background: var(--bg-2); }
.dz-karta--nowy { border-style: dashed; background: transparent; }
.dz-osoby { margin: 0; font-size: 13px; line-height: 1.45; min-height: 2.9em; }
.dz-stopka { display: flex; align-items: center; justify-content: space-between; gap: 10px; font-size: 12px; }
/* Uzytkownicy: wiersze w jednej linii, wezszy panel boczny */
@media (min-width: 1500px) { .uz-uklad { grid-template-columns: minmax(0, 1fr) 360px; } }
.tab--uz td { padding-top: 3px; padding-bottom: 3px; }
.tab--uz select, .tab--uz input[type=text] { min-height: 30px; }
.tab--uz select { min-width: 120px; } .tab--uz td:nth-child(3) select { min-width: 165px; }
.tab--uz input[type=text] { min-width: 180px; }
.uz-tag { margin-left: 4px; padding: 1px 6px; border-radius: 999px; font: 500 11px var(--f-mono); background: var(--line-d); color: var(--mu-d); }
.uz-wyl td:first-child { opacity: 1; } .uz-wyl .uz-nazwa { color: var(--mu-d); }
.uz-proby { max-height: 220px; }

.tab--uz select { min-width: 108px; } .tab--uz td:nth-child(3) select { min-width: 140px; }
.tab--uz input[type=text] { min-width: 150px; }
.tab--uz th, .tab--uz td { padding-left: 6px; padding-right: 6px; }
.uz-akcje .btn--sm { padding-left: 10px; padding-right: 10px; }
.uz-data { font-size: 11.5px; white-space: normal; min-width: 80px; }
.ust-rzad form.siatka > .btn, .kos-blok .btn { justify-self: start; }
.tab--ciasna th.licz--szer, .tab--ciasna td.licz--szer { width: 150px; }

/* Poczta i Teams: trzy kolumny (co i kiedy | skad | stan i proby) */
@media (min-width: 1100px) { .ust-rzad--poczta { grid-template-columns: minmax(0, 1.05fr) minmax(0, 1fr) minmax(0, 1fr); } }
.pocz-opcje { display: grid; gap: 10px; }
.pocz-opcja { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; align-items: start; padding: 10px 12px; border: 1px solid var(--line-d); border-radius: 10px; background: var(--bg-2); cursor: pointer; }
.pocz-opcja input[type=checkbox] { margin-top: 3px; }
.pocz-opcja b { display: block; font-size: 14px; } .pocz-opcja label { cursor: pointer; }
.pocz-opcja small { display: block; margin-top: 3px; font-size: 12.5px; line-height: 1.4; color: var(--mu-d); }
.pocz-godz { display: inline-flex; align-items: center; gap: 8px; margin-top: 8px; font-size: 13px; color: var(--tx-d2); }
.pocz-godz input { width: 70px; min-height: 30px; padding: 0 8px; font: 500 13px var(--f-mono); }
.pocz-smtp { margin-top: 12px; } .pocz-smtp summary { cursor: pointer; font: 600 13px var(--f-disp); color: var(--tx-d2); }
.pocz-proby { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; }
.pocz-podglad { margin-top: 16px; padding: 12px 14px; border: 1px solid var(--line-d); border-radius: 10px; background: var(--bg-2); max-height: 380px; overflow: auto; }
.pocz-podglad pre { margin: 0; white-space: pre-wrap; font: 12.5px/1.5 var(--f-mono); }
.pocz-temat { margin: 0 0 8px; font-weight: 600; font-size: 13.5px; }
