/* 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, .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: 6px; width: 32px; height: 32px; display: grid; place-items: center; border: 0; background: none; color: var(--lime-tx); border-radius: 50%; cursor: pointer; }

/* 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, .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-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: jedna linia, przyklejony pod belka */
:root { --pasek-h: 34px; }
.pasek-analiz { position: sticky; top: var(--belka); z-index: 25; display: flex; align-items: center; gap: 14px; height: var(--pasek-h); padding: 0 24px; background: var(--lime-soft); border-bottom: 1px solid var(--lime); color: var(--ink); font-size: 12.5px; white-space: nowrap; overflow: visible; }
.pasek-analiz[hidden] { display: none; }
.pa-et { display: inline-flex; align-items: center; gap: 8px; flex: none; }
.pa-et b { font-weight: 600; }
.pa-et .korektor { height: 12px; }
.pa-widoczne, .pa-reszta { display: flex; align-items: center; gap: 16px; margin: 0; padding: 0; list-style: none; min-width: 0; }
.pa-widoczne { flex: 0 1 auto; overflow: hidden; }
.pa-widoczne li, .pa-reszta li { display: inline-flex; align-items: center; gap: 7px; min-width: 0; }
.pa-widoczne li a, .pa-reszta li a { font-weight: 600; color: var(--ink); text-decoration: underline; text-decoration-color: rgba(15, 15, 15, .3); text-underline-offset: 2px; }
.pa-meta { color: #3A3A3A; overflow: hidden; text-overflow: ellipsis; }
.pa-postep { display: inline-block; width: 44px; 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 { font-weight: 700; color: var(--lime-tx); }
.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; }
.pa-x:hover { color: var(--ink); }
.pa-wiecej { position: relative; flex: none; }
.pa-wiecej > summary { list-style: none; cursor: pointer; padding: 1px 9px; border: 1px solid var(--ink); border-radius: 999px; font: 600 11.5px var(--f-mono); }
.pa-wiecej > summary::-webkit-details-marker { display: none; }
.pa-wiecej .pa-reszta { position: absolute; left: 0; top: calc(100% + 8px); flex-direction: column; align-items: flex-start; gap: 8px; padding: 12px 14px; 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; white-space: nowrap; 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-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; }
