/* MSiG dziennik - kierunek E „Kartoteka × Urząd” (docs/design/README.md, sekcja 7).
   Jeden arkusz dla całej przeglądarki: tokeny, chrome, komponenty bazowe i style
   starszych widoków (szukaj, spółki, postępowania), które jeszcze nie przeszły redesignu. */

/* ── Tokeny ─────────────────────────────────────────────────────────── */
:root {
  --bg:#f3f2f1; --paper:#ffffff; --ink:#0b0c0c; --ink2:#505a5f;
  --rule:#b1b4b6; --rule2:#e3e4e5; --accent:#0b0c0c; --accent-bg:#f3f2f1;
  --mark:#ffdd00; --row-hover:#fff7c2;
  --hdr:#0b0c0c; --hdr-ink:#ffffff; --hdr-line:#6f777b;
  --th-bg:#0b0c0c; --th-ink:#ffffff; --field:#ffffff; --field-ink:#0b0c0c;
  --d1:#1d70b8; --d3:#d4351c; --d4:#00703c; --d9:#b55a1a; --dx:#6f777b;
  --shadow:0 0 0 1px #0b0c0c;
  --ok:#00703c; --err:#d4351c;
  --ui:'Public Sans', Arial, sans-serif;
  --mono:'IBM Plex Mono', ui-monospace, Consolas, monospace;
  /* Aliasy dla stylów inline w starszych szablonach (do usunięcia po S2-S5). */
  --tekst:var(--ink); --akcent:var(--ink);
  color-scheme: light;
}
:root[data-theme=dark] {
  --bg:#0b0c0c; --paper:#141515; --ink:#f3f2f1; --ink2:#b1b4b6;
  --rule:#505a5f; --rule2:#2a2d2e; --accent:#ffffff; --accent-bg:#2a2d2e;
  --mark:#6b5c00; --row-hover:#2e2a10;
  --hdr:#000000; --hdr-ink:#ffffff; --hdr-line:#505a5f;
  --th-bg:#f3f2f1; --th-ink:#0b0c0c; --field:#f3f2f1; --field-ink:#0b0c0c;
  --d1:#5694ca; --d3:#f08a76; --d4:#4fb07a; --d9:#f0a060; --dx:#b1b4b6;
  --shadow:0 0 0 1px #6f777b;
  --ok:#4fb07a; --err:#f08a76;
  color-scheme: dark;
}

/* ── Podstawy ───────────────────────────────────────────────────────── */
* { box-sizing: border-box; }
html, body { margin:0; height:100%; }
body { background:var(--bg); color:var(--ink); font:15px/1.5 var(--ui);
       -webkit-font-smoothing:antialiased; }
a { color:var(--accent); text-decoration:underline; text-underline-offset:.15em;
    text-decoration-thickness:1px; }
a:hover { text-decoration-thickness:3px; }
:focus-visible { outline:3px solid #ffdd00; outline-offset:0; box-shadow:inset 0 -4px 0 #0b0c0c; }
mark { background:var(--mark); color:var(--ink); border-radius:2px; padding:0 1px; }
::selection { background:var(--mark); color:var(--ink); }
input, textarea, select, button { font:inherit; color:inherit; }
input::placeholder, textarea::placeholder { color:var(--ink2); opacity:.8; }
.mono { font-family:var(--mono); }
.slaby { color:var(--ink2); }
.nowrap { white-space:nowrap; }
.ukryty { display:none !important; }
@keyframes msigIn { from { opacity:0; transform:translateY(10px); } to { opacity:1; transform:none; } }
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation:none !important; transition:none !important; }
}

/* ── Układ: pasek górny + obszar roboczy ───────────────────────────── */
.app { height:100vh; display:grid; grid-template-rows:58px minmax(0,1fr); }
.app-main { min-height:0; overflow:auto; }
.strona { max-width:1100px; margin:0 auto; padding:30px clamp(18px,3vw,44px) 90px; }

.pasek { display:flex; align-items:center; gap:16px; padding:0 16px; min-width:0;
         background:var(--hdr); color:var(--hdr-ink); border-bottom:1px solid var(--hdr-line); }
.znak { display:flex; align-items:baseline; gap:7px; flex-shrink:0; color:var(--hdr-ink);
        text-decoration:none; }
.znak:hover { text-decoration:none; }
.znak-msig { font-family:var(--mono); font-weight:500; font-size:14px; letter-spacing:.04em; }
.znak-dz { font-style:italic; font-size:23px; line-height:1; }
.nav { display:flex; gap:2px; flex-shrink:0; white-space:nowrap; }
.nav a { padding:7px 13px; font-size:14px; color:var(--hdr-ink); text-decoration:none; }
.nav a:hover { text-decoration:underline; text-decoration-thickness:3px; }
.nav a.akt { background:#fff; color:#0b0c0c; }
.szukajka { flex:1 1 120px; min-width:0; max-width:520px; height:36px; display:flex;
            align-items:center; gap:8px; padding:0 12px; background:var(--field);
            color:var(--field-ink); border:1px solid var(--hdr-line); }
.szukajka span { color:#505a5f; font-size:14px; }
.szukajka input { flex:1; min-width:0; height:100%; border:0; outline:none; background:transparent;
                  color:var(--field-ink); font-size:14px; }
.szukajka input::placeholder { color:#505a5f; }
.pasek-prawa { margin-left:auto; display:flex; gap:8px; align-items:center; flex-shrink:0; white-space:nowrap; }
.btn-hdr { border:1px solid var(--hdr-line); background:transparent; color:var(--hdr-ink);
           padding:6px 11px; font-size:12.5px; cursor:pointer; border-radius:0; text-decoration:none; }
.btn-hdr:hover { background:rgba(255,255,255,.1); text-decoration:none; }
@media (max-width:760px) {
  .pasek { gap:10px; padding:0 10px; }
  .znak-dz { font-size:19px; }
  .nav a { padding:7px 8px; }
  .pasek-prawa .etykieta-motywu { display:none; }
}

/* ── Komponenty bazowe ──────────────────────────────────────────────── */
.etykieta { font-size:10.5px; text-transform:uppercase; letter-spacing:.12em; font-weight:500;
            color:var(--ink2); }
.sekcja-tytul { font-size:15px; font-weight:700; color:var(--ink); padding-bottom:6px;
                border-bottom:1px solid var(--rule2); margin:0 0 10px; }

.btn { display:inline-flex; align-items:center; gap:6px; border:1px solid var(--ink);
       background:var(--paper); color:var(--ink); padding:7px 12px; font-size:12.5px;
       cursor:pointer; border-radius:0; white-space:nowrap; text-decoration:none; line-height:1.3; }
.btn:hover { background:var(--row-hover); text-decoration:none; }
.btn:disabled, .btn[aria-disabled=true] { opacity:.35; cursor:default; background:var(--paper); }
.btn-pelny { background:var(--ink); color:var(--paper); }
.btn-pelny:hover { background:var(--ink); color:var(--paper); text-decoration:underline; }
.btn-cichy { border-color:var(--rule); color:var(--ink2); }
.btn-wcisniety { background:var(--ink); color:var(--paper); }

.chip { display:inline-flex; align-items:center; gap:6px; border:1px solid var(--rule);
        background:transparent; color:var(--ink); padding:4px 11px; border-radius:999px;
        font-size:12.5px; white-space:nowrap; cursor:pointer; text-decoration:none; }
.chip:hover { border-color:var(--ink); text-decoration:none; }
.chip.akt { background:var(--ink); color:var(--paper); border-color:var(--ink); }
.chip .n { font-family:var(--mono); font-size:11px; opacity:.75; }
.chip-filtr { border-color:var(--accent); color:var(--accent); background:var(--accent-bg); }

.pigulka { display:inline-block; border:1px solid currentColor; border-radius:999px;
           padding:2px 10px; font-size:12px; white-space:nowrap; }
.pigulka.d1 { color:var(--d1); } .pigulka.d3 { color:var(--d3); }
.pigulka.d4 { color:var(--d4); } .pigulka.d9 { color:var(--d9); }

.kropka { display:inline-block; width:8px; height:8px; border-radius:50%; background:var(--dx);
          flex-shrink:0; }
.kwadrat { display:inline-block; width:8px; height:8px; border-radius:2px; background:var(--dx);
           flex-shrink:0; }
.d1 > .kropka, .kropka.d1, .kwadrat.d1 { background:var(--d1); }
.kropka.d3, .kwadrat.d3 { background:var(--d3); }
.kropka.d4, .kwadrat.d4 { background:var(--d4); }
.kropka.d9, .kwadrat.d9 { background:var(--d9); }

.pole { height:34px; border:1px solid var(--ink); background:var(--paper); color:var(--ink);
        padding:0 10px; font-size:14px; border-radius:0; }
select.pole { padding-right:6px; }
.pole-mono { font-family:var(--mono); font-size:12.5px; }

/* Tabela kartotekowa (siatka) - czarny nagłówek, wiersze klikalne. */
.tabela { background:var(--paper); border:1px solid var(--rule); overflow-x:auto; }
.tabela-wn { min-width:680px; }
.tr { display:grid; gap:10px; padding:9px 14px; align-items:baseline;
      border-bottom:1px solid var(--rule2); font-size:13.5px; }
.tr.th { background:var(--th-bg); color:var(--th-ink); font-size:12.5px; font-weight:600;
         border-bottom:0; align-items:center; }
.th button, .th a { border:0; background:transparent; color:inherit; padding:0; cursor:pointer;
                    font:inherit; text-align:left; text-decoration:none; white-space:nowrap; }
.th .akt { text-decoration:underline; text-underline-offset:.2em; }
.th .strz { opacity:.35; margin-left:3px; }
.th .akt .strz { opacity:1; }
.tr.wiersz-klik { cursor:pointer; }
.tr.wiersz-klik:hover { background:var(--row-hover); }
.tr.przejrzany { opacity:.62; }
.podmiot { font-weight:700; text-decoration:underline; text-underline-offset:.15em;
           line-height:1.35; color:var(--ink); }
.elip { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; min-width:0; }
.pusto { font-size:17px; font-style:italic; color:var(--ink2); padding:28px 4px; }

.komunikat { border-left:5px solid var(--ink); background:var(--paper); padding:12px 16px;
             margin:0 0 16px; }
.komunikat.blad { border-color:var(--err); }
.komunikat.ok { border-color:var(--ok); }

/* ── Starsze widoki (przed redesignem S2-S5): te same klasy, nowy styl ─ */
.strona h1 { font-size:clamp(26px,3vw,34px); font-weight:700; line-height:1.1; margin:0 0 18px;
             letter-spacing:-.01em; }
.strona h2 { font-size:19px; font-weight:700; margin:32px 0 10px; }
.filtry { background:var(--paper); border:1px solid var(--rule); padding:14px;
          display:flex; gap:10px 12px; flex-wrap:wrap; align-items:flex-end; }
.strona label { display:flex; flex-direction:column; gap:4px; font-size:12.5px; color:var(--ink2); }
.strona input[type=text], .strona input[type=number], .strona select {
  height:34px; padding:0 10px; border:1px solid var(--ink); border-radius:0;
  background:var(--paper); color:var(--ink); min-width:150px; font-size:14px; }
.strona input[type=text].szeroki { min-width:330px; }
.strona button { padding:0 16px; height:34px; border:1px solid var(--ink); border-radius:0;
                 background:var(--ink); color:var(--paper); cursor:pointer; font-size:14px; }
.strona button:hover { text-decoration:underline; }
.strona button.wtorny { background:var(--paper); color:var(--ink); }
.strona button.maly { height:auto; padding:3px 9px; font-size:12px; }
.licznik { color:var(--ink2); font-size:13.5px; margin:14px 0; }
.licznik b, .licznik strong { color:var(--ink); }
.karta { background:var(--paper); border:1px solid var(--rule); padding:12px 14px; margin-bottom:-1px; }
.karta a.tytul { font-weight:700; font-size:16px; color:var(--ink); }
.meta { color:var(--ink2); font-size:12.5px; margin-top:5px; display:flex; gap:4px 14px; flex-wrap:wrap; }
.plakietka { display:inline-block; background:var(--accent-bg); color:var(--ink);
             border:1px solid var(--rule); padding:0 6px; font-size:11.5px; white-space:nowrap;
             font-family:var(--mono); }
.fragment { color:var(--ink2); font-size:13px; line-height:1.5; margin-top:6px; }
.przewijana { overflow-x:auto; background:var(--paper); border:1px solid var(--rule); }
.strona table { border-collapse:collapse; width:100%; font-size:13.5px; }
.strona th, .strona td { text-align:left; padding:8px 12px; border-bottom:1px solid var(--rule2);
                         white-space:nowrap; }
.strona th { background:var(--th-bg); color:var(--th-ink); font-weight:600; font-size:12.5px; }
.strona th a { color:inherit; }
.strona tbody tr:hover { background:var(--row-hover); }
td.liczba, th.liczba { text-align:right; font-variant-numeric:tabular-nums; font-family:var(--mono);
                       font-size:12.5px; }
pre.tresc { background:var(--paper); border:1px solid var(--rule); padding:18px 22px;
            white-space:pre-wrap; word-wrap:break-word; font:16px/1.7 var(--ui); margin:0; }
.strony { display:flex; gap:8px; margin-top:16px; align-items:center; font-size:13.5px; }
.strony a { padding:6px 12px; border:1px solid var(--ink); background:var(--paper); text-decoration:none; }
.strony a:hover { background:var(--row-hover); }
p.blad, div.blad { border-left:5px solid var(--err); background:var(--paper); padding:10px 14px; }
p.ok, div.ok { border-left:5px solid var(--ok); background:var(--paper); padding:10px 14px; }
a.gwiazda { color:var(--ink2); text-decoration:none; font-size:17px; margin-left:6px; }
a.gwiazda:hover { color:var(--ink); background:var(--mark); }
.wiersz { display:flex; justify-content:space-between; gap:16px; align-items:baseline; }
.strona textarea { padding:10px 12px; border:1px solid var(--ink); border-radius:0;
                   background:var(--paper); color:var(--ink); width:100%; }
dl.pary { display:grid; grid-template-columns:max-content 1fr; gap:6px 18px; margin:0; font-size:13.5px; }
dl.pary dt { color:var(--ink2); }
dl.pary dd { margin:0; }

/* ── Dziennik: widok numeru (README 4.2) ──────────────────────────── */
.uklad-numeru { height:100%; display:grid;
  grid-template-columns:minmax(150px,232px) minmax(420px,1fr) minmax(220px,316px); }
.uklad-numeru > * { min-height:0; overflow:auto; }

/* Oś czasu */
.kol-os { border-right:1px solid var(--rule); padding:22px 0 40px; }
.os-naglowek { display:flex; justify-content:space-between; align-items:center; padding:0 18px 4px 20px; }
.os-rok { border:0; background:transparent; color:var(--ink2); font-size:11.5px; cursor:pointer; padding:2px; }
.os-miesiac { font-size:18px; font-style:italic; padding:16px 20px 6px; }
.os-numer { display:grid; grid-template-columns:34px 1fr auto; gap:10px; align-items:center;
  padding:8px 18px 8px 17px; border-left:3px solid transparent; color:var(--ink); text-decoration:none; }
.os-numer:hover { background:var(--row-hover); text-decoration:none; }
.os-numer.akt { background:var(--accent-bg); border-left-color:var(--accent); }
.os-dzien { display:flex; flex-direction:column; align-items:center; line-height:1.05; }
.os-dt { font-size:10px; text-transform:uppercase; color:var(--ink2); letter-spacing:.06em; }
.os-dd { font-size:23px; }
.os-srodek { min-width:0; display:flex; flex-direction:column; gap:5px; }
.os-nr { font-family:var(--mono); font-size:12.5px; white-space:nowrap; }
.os-postep { display:block; height:3px; background:var(--rule2); }
.os-postep span { display:block; height:100%; background:var(--accent); }
.os-prawa { display:flex; flex-direction:column; align-items:flex-end; gap:4px; }
.os-poz { font-family:var(--mono); font-size:11.5px; color:var(--ink2); }
.odznaka { background:var(--accent); color:var(--paper); font-size:10.5px; font-weight:600;
  border-radius:9px; padding:1px 6px; white-space:nowrap; }
.os-pusto { padding:12px 20px; color:var(--ink2); font-size:12.5px; }

/* Środek: numer */
.numer-wnetrze { max-width:980px; margin:0 auto; padding:30px clamp(18px,3vw,44px) 90px; }
.numer-naglowek { display:flex; flex-wrap:wrap; gap:16px 24px; align-items:flex-end; justify-content:space-between; }
.numer-nad { font-size:12.5px; }
.numer-naglowek h1 { font-size:clamp(30px,4vw,46px); font-weight:400; line-height:1.04;
  letter-spacing:-.01em; margin:4px 0 10px; }
.numer-meta { display:flex; flex-wrap:wrap; gap:4px 16px; font-size:13.5px; color:var(--ink2); }
.numer-meta a { color:var(--ink); }
.numer-akcje { display:flex; gap:6px; flex-wrap:wrap; }
.zakladki { display:flex; margin-top:28px; border-bottom:1px solid var(--rule); overflow-x:auto;
  scrollbar-width:none; }
.zakladka { display:flex; align-items:center; gap:7px; padding:9px 14px 10px; color:var(--ink2);
  text-decoration:none; font-size:14px; white-space:nowrap; border-bottom:2px solid transparent; margin-bottom:-1px; }
.zakladka:hover { color:var(--ink); text-decoration:none; background:var(--row-hover); }
.zakladka.akt { color:var(--ink); border-bottom-color:var(--ink); }
.zakladka .rz { font-family:var(--mono); font-size:12px; }
.zakladka .n { font-family:var(--mono); font-size:11.5px; color:var(--ink2); }
.dzial-pelny { font-size:12.5px; color:var(--ink2); margin:10px 0 0; }
.chipy { display:flex; flex-wrap:wrap; gap:6px; padding:14px 0 12px; }
.narzedzia { display:flex; flex-wrap:wrap; gap:10px 12px; align-items:center; padding:12px 0;
  border-bottom:1px solid var(--rule); margin-bottom:14px; }
.filtr-numeru { flex:1 1 180px; min-width:0; }
.przelacznik { display:flex; align-items:center; gap:7px; font-size:13.5px; color:var(--ink2); cursor:pointer; }
.przelacznik input { width:18px; height:18px; accent-color:var(--accent); margin:0; }
.tr-numer { grid-template-columns:78px 132px minmax(220px,1fr) 128px 96px 104px 14px; color:var(--ink);
  text-decoration:none; }
a.tr-numer:hover { text-decoration:none; }
.c-poz { display:flex; align-items:center; gap:6px; font-size:12px; }
.c-id { font-size:11.5px; }
.c-gw { color:var(--accent); }

/* Prawa kolumna */
.kol-prawa { background:var(--paper); border-left:1px solid var(--rule);
  padding:28px clamp(14px,1.6vw,22px) 60px; display:flex; flex-direction:column; gap:32px; }
.prawa-tytul { display:flex; justify-content:space-between; margin:0 0 10px; }
.prawa-tytul .licz { color:var(--accent); font-size:12px; letter-spacing:0; }
.trafienie { display:flex; flex-direction:column; gap:2px; padding:10px 0; border-bottom:1px solid var(--rule2);
  color:var(--ink); text-decoration:none; }
a.trafienie:hover { background:var(--row-hover); text-decoration:none; }
.t-fraza { font-size:11px; color:var(--accent); word-break:break-all; }
.t-nazwa { font-size:16.5px; font-weight:700; line-height:1.25; }
.t-meta { font-size:12px; color:var(--ink2); }
.maly-tekst { font-size:13px; margin:0; }
.fraza-wiersz { display:grid; grid-template-columns:minmax(0,1fr) auto 18px; gap:8px; align-items:start;
  padding:8px 0; border-bottom:1px solid var(--rule2); }
.fraza-wiersz.wylaczona { opacity:.5; }
.f-tekst { min-width:0; display:flex; flex-direction:column; gap:2px; }
.f-tekst .mono { font-size:12.5px; word-break:break-all; }
.f-notatka { font-size:11.5px; color:var(--ink2); overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.f-licz { font-size:11.5px; color:var(--ink2); white-space:nowrap; }
.f-usun { border:0; background:transparent; color:var(--ink2); cursor:pointer; font-size:16px; line-height:1; padding:0; }
.f-usun:hover { color:var(--err); }
.fraza-dodaj { display:flex; gap:0; margin-top:12px; }
.fraza-dodaj .pole { flex:1; min-width:0; height:32px; }
.fraza-dodaj .btn { height:32px; }
.pomoc { font-size:11.5px; line-height:1.45; margin:8px 0 0; }

@media (max-width:1100px) {
  .uklad-numeru { grid-template-columns:minmax(140px,200px) minmax(0,1fr); }
  .kol-prawa { display:none; }
}
@media (max-width:760px) {
  .uklad-numeru { grid-template-columns:1fr; }
  .kol-os { display:none; }
}

/* ── Stos modali (README 4.5) ─────────────────────────────────────── */
body.z-modalem { overflow:hidden; }
.modal-tlo { position:fixed; inset:0; z-index:50; background:rgba(12,10,6,.45); backdrop-filter:blur(2px);
  padding:56px 24px 40px; overflow:auto; }
.modal { position:relative; max-width:1000px; margin:0 auto; }
.modal-duch { display:none; position:absolute; height:80px; background:var(--paper); border:1px solid var(--rule);
  box-shadow:var(--shadow); }
.modal-duch.d1 { top:-10px; left:18px; right:18px; opacity:.8; }
.modal-duch.d2 { top:-20px; left:36px; right:36px; opacity:.5; }
.ze-stosem .modal-duch.d1, .ze-stosem3 .modal-duch.d2 { display:block; }
.modal-panel { position:relative; background:var(--paper); border:1px solid var(--rule); box-shadow:var(--shadow); }
.modal-panel.wjazd { animation:msigIn .18s ease-out; }
.modal-pasek { display:flex; align-items:center; gap:12px; padding:11px 16px; border-bottom:1px solid var(--rule); }
.modal-wstecz, .modal-zamknij { width:30px; height:28px; border:1px solid var(--rule); background:var(--paper);
  color:var(--ink); cursor:pointer; flex-shrink:0; font-size:15px; line-height:1; }
.modal-wstecz:hover, .modal-zamknij:hover { background:var(--row-hover); }
.okruszki { display:flex; flex-wrap:wrap; align-items:baseline; gap:4px 8px; min-width:0; flex:1; }
.okruszki button { border:0; background:transparent; padding:0; cursor:pointer; color:var(--accent);
  text-decoration:underline; text-underline-offset:.2em; }
.okruszki .o-akt { color:var(--ink); }
.o-typ { font-size:10px; text-transform:uppercase; letter-spacing:.08em; opacity:.75; }
.o-et { font-family:var(--mono); font-size:12.5px; }
.o-sep { color:var(--ink2); }
.modal-esc { font-size:11.5px; color:var(--ink2); white-space:nowrap; }
.modal-tresc { padding:26px clamp(18px,3vw,36px) 36px; }
.szkielet { display:flex; flex-direction:column; gap:14px; padding:8px 0; }
.szkielet span { display:block; height:16px; background:var(--rule2); }
.szkielet span:nth-child(1) { width:40%; height:30px; } .szkielet span:nth-child(2) { width:85%; }
.szkielet span:nth-child(3) { width:70%; }
@media (max-width:760px) { .modal-tlo { padding:10px 6px; } .modal-esc { display:none; } }

/* ── Karty (wspólne dla modalu i pełnej strony) ───────────────────── */
.karta-pelna { background:var(--paper); border:1px solid var(--rule); padding:26px clamp(18px,3vw,36px) 36px; }
.strona-karty { max-width:1120px; }
.k-dzial { display:flex; align-items:center; gap:7px; font-size:12px; color:var(--ink2); }
.k-rodzaj { font-size:11.5px; text-transform:uppercase; letter-spacing:.08em; color:var(--accent); margin-top:14px; font-weight:600; }
.k-nad { font-size:12.5px; }
.k-tytul { font-size:clamp(26px,3.2vw,36px); font-weight:700; line-height:1.12; margin:6px 0 12px;
  text-wrap:balance; letter-spacing:-.01em; }
.kartka-spolka .k-tytul { font-size:clamp(28px,3.4vw,40px); }
.k-meta { display:flex; flex-wrap:wrap; align-items:center; gap:6px 16px; font-size:13.5px; color:var(--ink2); }
.k-meta a { color:var(--ink); }
.btn-obserwuj { margin-left:auto; border-color:var(--accent); }
.k-sygnaly { display:flex; flex-wrap:wrap; gap:6px; margin-top:14px; }
.k-siatka { display:grid; grid-template-columns:minmax(0,1fr) 290px; gap:40px; border-top:1px solid var(--rule);
  margin-top:22px; padding-top:22px; }
.k-siatka-spolka { grid-template-columns:minmax(0,1fr) 300px; }
.k-bok { display:flex; flex-direction:column; gap:26px; min-width:0; }
.k-bok h3, .k-siatka h3 { margin:0 0 10px; }
.tresc-ogloszenia { font-size:17.5px; line-height:1.72; text-wrap:pretty; white-space:pre-line; overflow-wrap:anywhere; }
.k-legenda { font-size:12px; color:var(--ink2); margin-top:18px; line-height:1.9; }
a.wl, .wl { color:var(--accent); }
.wl-id { font-family:var(--mono); font-size:.82em; background:var(--accent-bg); padding:2px 6px; border-radius:3px;
  white-space:nowrap; text-decoration:none; }
a.wl-id:hover { background:var(--mark); color:#0b0c0c; }
.wl-nazwa { text-decoration:underline dotted 1px; text-underline-offset:.2em; }
a.wl-nazwa:hover { text-decoration:underline solid 3px; }
.k-dane { display:grid; grid-template-columns:96px 1fr; gap:7px 12px; margin:0; font-size:13px; }
.k-dane dt { color:var(--ink2); }
.k-dane dd { margin:0; overflow-wrap:anywhere; }
.k-dane dd.mono { font-size:12px; }
.przebieg { list-style:none; margin:0; padding:0 0 0 14px; border-left:1px solid var(--rule); }
.przebieg li { position:relative; padding:0 0 12px 6px; display:flex; flex-direction:column; }
.p-kropka { position:absolute; left:-20px; top:4px; width:11px; height:11px; border-radius:50%;
  background:var(--paper); border:2px solid var(--rule); }
.przebieg li.biezace .p-kropka { background:var(--accent); border-color:var(--accent); }
.p-data { font-size:11px; color:var(--ink2); }
.p-rodzaj { font-size:13.5px; }
.przebieg li.biezace .p-rodzaj { font-weight:600; }
.k-dalej { font-size:13px; }
.kafel { display:flex; flex-direction:column; gap:6px; border:1px solid var(--ink); padding:12px 14px;
  text-decoration:none; color:var(--ink); }
.kafel:hover { background:var(--row-hover); text-decoration:none; }
.kafel-nazwa { font-size:18px; font-weight:700; line-height:1.2; }
.kafel-meta { font-size:12.5px; color:var(--ink2); }
.os-rok-grupa { display:grid; grid-template-columns:62px minmax(0,1fr); border-top:1px solid var(--rule2); padding-top:10px; margin-top:6px; }
.os-rok-nr { font-size:26px; color:var(--ink2); line-height:1; }
.os-zdarzenia { list-style:none; margin:0; padding:0; }
.os-zdarzenie { display:flex; flex-direction:column; gap:2px; padding:6px 8px 10px; color:var(--ink); text-decoration:none; }
.os-zdarzenie:hover { background:var(--row-hover); text-decoration:none; }
.z-data { font-size:11.5px; }
.z-glowa { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.z-rodzaj { font-size:14.5px; font-weight:500; }
.z-gdzie { font-size:12px; }
.z-frag { font-size:12.5px; color:var(--ink2); line-height:1.45; }
.lista-powiazanych { list-style:none; margin:0; padding:0; font-size:13.5px; display:flex; flex-direction:column; gap:7px; }
.krs-planowane { border:1px dashed var(--rule); padding:12px 14px; }
.krs-planowane .pigulka { font-size:10px; letter-spacing:0; text-transform:none; margin-left:6px; color:var(--ink2); }
@media (max-width:900px) { .k-siatka, .k-siatka-spolka { grid-template-columns:1fr; gap:26px; } }

/* ── Karty S4: postępowanie, osoba, sąd, syndyk ───────────────────── */
.k-nad .pigulka { margin-left:8px; }
.k-tytul-sredni { font-size:clamp(24px,3vw,34px); font-weight:400; }
.fakty { display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:0;
  border-top:1px solid var(--rule); border-bottom:1px solid var(--rule); margin:18px 0 0; }
.fakty > div { padding:12px 14px 12px 0; }
.fakty dt { font-size:10.5px; text-transform:uppercase; letter-spacing:.12em; color:var(--ink2); margin-bottom:4px; }
.fakty dd { margin:0; font-size:14px; }
.fakty dd.mono { font-size:13px; }
.k-pasek-sekcji { display:flex; justify-content:space-between; align-items:center; gap:12px; flex-wrap:wrap;
  margin:26px 0 12px; }
.k-pasek-sekcji h3 { margin:0; }
.k-pasek-sekcji .btn-obserwuj { margin-left:0; }
.przebieg-duzy li { padding-bottom:16px; gap:2px; }
.przebieg-duzy .p-kropka { width:13px; height:13px; left:-21px; }
.p-kropka.pelna.d1 { background:var(--d1); border-color:var(--d1); }
.p-kropka.pelna.d3 { background:var(--d3); border-color:var(--d3); }
.p-kropka.pelna.d4 { background:var(--d4); border-color:var(--d4); }
.p-kropka.pelna.d9 { background:var(--d9); border-color:var(--d9); }
.przebieg-duzy .p-rodzaj { font-size:15.5px; font-weight:500; }
.lista-kart { list-style:none; margin:0 0 20px; padding:0; border-top:1px solid var(--rule2); }
.lista-kart a { display:flex; align-items:baseline; gap:12px; flex-wrap:wrap; padding:9px 4px;
  border-bottom:1px solid var(--rule2); color:var(--ink); text-decoration:none; font-size:14px; }
.lista-kart a:hover { background:var(--row-hover); text-decoration:none; }
.lista-kart .lk-nazwa { flex:1; min-width:180px; font-weight:500; }
.lista-kart .mono { font-size:12px; }
.lk-sygn { color:var(--accent); min-width:120px; }
.lk-otwarte { color:var(--accent); font-weight:600; font-size:12.5px; }
.kafle-licz { display:grid; grid-template-columns:repeat(4,1fr); gap:1px; background:var(--rule);
  border:1px solid var(--rule); margin-top:18px; }
.kafle-licz > div { background:var(--paper); padding:12px 14px; display:flex; flex-direction:column; gap:4px; }
.kl-et { font-size:12.5px; color:var(--ink2); display:flex; align-items:center; gap:6px; }
.kl-n { font-size:30px; line-height:1.1; }
.k-wydzialy { font-size:13px; margin:0; }
@media (max-width:700px) { .kafle-licz { grid-template-columns:repeat(2,1fr); } }

/* ── Szukaj (README 4.4) ──────────────────────────────────────────── */
.uklad-szukaj { height:100%; display:grid; grid-template-columns:270px minmax(0,1fr); }
.uklad-szukaj > * { min-height:0; overflow:auto; }
.kol-fasety { background:var(--paper); border-right:1px solid var(--rule); padding:26px 22px 60px;
  display:flex; flex-direction:column; gap:24px; }
.faseta-tytul { font-size:15px; font-weight:700; margin:0 0 8px; padding-bottom:6px; border-bottom:1px solid var(--rule2); }
.segmenty { display:flex; border:1px solid var(--ink); }
.segment { flex:1; text-align:center; padding:6px 4px; font-size:12.5px; color:var(--ink); text-decoration:none;
  border-right:1px solid var(--ink); white-space:nowrap; }
.segment:last-child { border-right:0; }
.segment:hover { background:var(--row-hover); text-decoration:none; }
.segment.akt { background:var(--ink); color:var(--paper); }
.faseta-rok { display:flex; align-items:center; gap:8px; margin-top:10px; font-size:12.5px; color:var(--ink2); }
.faseta-rok .pole { height:30px; flex:1; font-size:13px; }
.faseta-lista { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; }
.faseta-opcja { display:flex; align-items:center; gap:8px; padding:4px 0; font-size:13.5px; color:var(--ink);
  text-decoration:none; }
.faseta-opcja:hover { text-decoration:none; background:var(--row-hover); }
.ptaszek { width:18px; height:18px; border:2px solid var(--ink); display:inline-flex; align-items:center;
  justify-content:center; font-size:12px; font-weight:700; flex-shrink:0; line-height:1; }
.faseta-opcja.zazn .ptaszek { background:var(--ink); color:var(--paper); }
.fo-et { flex:1; min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.fo-n { font-size:11.5px; color:var(--ink2); }
.kol-wyniki { padding:30px clamp(18px,3vw,44px) 90px; }
.kol-wyniki > * { max-width:1040px; }
.szukaj-h1 { font-size:clamp(26px,3vw,34px); font-weight:700; margin:0 0 6px; }
.szukaj-pod { font-size:14px; margin:0 0 16px; }
.szukaj-pole { display:flex; }
.sp-wej { flex:1; display:flex; align-items:center; border:2px solid var(--ink); background:var(--paper); min-width:0; }
.sp-wej input { flex:1; min-width:0; height:42px; border:0; outline:none; padding:0 14px; font-size:18px; background:transparent; }
.sp-czysc { padding:0 12px; font-size:22px; color:var(--ink2); text-decoration:none; }
.sp-btn { border:2px solid var(--ink); background:var(--ink); color:var(--paper); font-size:15px; font-weight:700;
  padding:0 20px; cursor:pointer; border-radius:0; }
.sp-btn:hover { text-decoration:underline; }
.szukaj-pasek { display:flex; flex-wrap:wrap; align-items:center; gap:8px 12px; padding:16px 0 12px; }
.sp-ile { font-size:15px; }
.sp-wyczysc { font-size:13px; }
.sp-sort { margin-left:auto; height:32px; font-size:13px; }
.tabela-wyniki { min-width:700px; }
.tr-wynik { grid-template-columns:86px 78px 132px minmax(240px,1fr) 128px 96px 14px; align-items:start;
  padding:10px 14px; color:var(--ink); text-decoration:none; }
a.tr-wynik:hover { text-decoration:none; }
.w-data { display:flex; flex-direction:column; font-size:11.5px; line-height:1.35; }
.w-podmiot { display:flex; flex-direction:column; gap:4px; min-width:0; }
.w-frag { font-size:12.5px; line-height:1.5; color:var(--ink2); display:-webkit-box; -webkit-line-clamp:2;
  -webkit-box-orient:vertical; overflow:hidden; }
@media (max-width:900px) {
  .uklad-szukaj { grid-template-columns:1fr; }
  .kol-fasety { border-right:0; border-bottom:1px solid var(--rule); overflow:visible; }
  .uklad-szukaj { height:auto; }
}

/* ── S6: przejrzane, notatka, gwiazdki ────────────────────────────── */
.kropka-notatki { display:inline-block; width:7px; height:7px; border-radius:50%; background:var(--mark);
  border:1px solid var(--ink); margin-left:4px; }
.os-stopka { padding:20px 18px 0 20px; font-size:12.5px; color:var(--ink2); }
.os-stopka p { margin:0 0 10px; line-height:1.45; }
.os-wszystkie { width:100%; justify-content:center; font-size:12px; white-space:normal; }
.gwiazdka-grupa { display:inline-flex; align-items:center; gap:8px; margin-left:auto; }
.k-pasek-sekcji .gwiazdka-grupa { margin-left:0; }
.btn-obserwuj.obserwujesz { background:var(--mark); color:#0b0c0c; border-color:var(--ink); }
.gw-test { font-size:12px; color:var(--ink2); }
.drawer-tlo { position:fixed; inset:0; z-index:40; background:rgba(12,10,6,.35); opacity:0; pointer-events:none;
  transition:opacity .2s; }
.drawer-tlo.widoczne { opacity:1; pointer-events:auto; }
.drawer { position:fixed; top:0; right:0; bottom:0; width:min(460px,92vw); z-index:41; background:var(--paper);
  border-left:1px solid var(--ink); box-shadow:var(--shadow); display:flex; flex-direction:column;
  transform:translateX(105%); transition:transform .24s cubic-bezier(.2,.8,.2,1); visibility:hidden; }
.drawer.otwarty { transform:none; visibility:visible; }
.drawer-naglowek { background:var(--hdr); color:var(--hdr-ink); padding:16px 22px; display:flex;
  justify-content:space-between; align-items:flex-start; gap:12px; }
.drawer-nad { font-size:12px; opacity:.8; }
.drawer-tytul { font-size:18px; font-weight:700; }
.drawer-zamknij { width:32px; height:32px; border:1px solid var(--hdr-line); background:transparent; color:var(--hdr-ink);
  font-size:18px; cursor:pointer; flex-shrink:0; }
.drawer-tresc { flex:1; min-height:0; display:flex; flex-direction:column; padding:18px 22px 10px; gap:8px; }
.drawer-tresc textarea { flex:1; min-height:120px; resize:none; border:1px solid var(--ink); background:var(--paper);
  color:var(--ink); font-size:16px; line-height:1.6; padding:14px 16px; border-radius:0; }
.drawer-stan { display:flex; justify-content:space-between; font-size:12px; color:var(--ink2); }
.drawer-stopka { max-height:34%; overflow:auto; border-top:1px solid var(--rule); padding:14px 22px 20px; }
.drawer-stopka h3 { margin:0 0 8px; }
.notatki-inne { list-style:none; margin:0; padding:0; font-size:13px; }
.notatki-inne a { display:flex; flex-direction:column; gap:2px; padding:7px 0; border-bottom:1px solid var(--rule2);
  color:var(--ink); text-decoration:none; }
.notatki-inne a:hover { background:var(--row-hover); text-decoration:none; }
.notatki-inne .mono { font-size:11.5px; color:var(--ink2); }
.ni-tekst { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }

/* ── Tryb publiczny: powitanie, stopka, ostrzeżenia, dokumenty ────── */
.app-publiczna { grid-template-rows:58px minmax(0,1fr) auto; }
.stopka-publiczna { display:flex; flex-wrap:wrap; justify-content:space-between; gap:4px 16px; padding:7px 16px;
  font-size:12px; color:var(--ink2); background:var(--paper); border-top:1px solid var(--rule); }
.stopka-publiczna a { color:var(--ink2); }
.kto { font-size:12.5px; color:var(--hdr-ink); opacity:.8; }
.uwaga-telegram { border-left:5px solid var(--mark); background:var(--accent-bg); padding:9px 12px; font-size:12.5px;
  line-height:1.45; margin:12px 0 0; }
.strona .uwaga-telegram { margin:0 0 18px; font-size:13.5px; }
.pigulka-test { color:var(--hdr-ink); border-color:var(--mark); font-size:11.5px; }

body.powitanie { min-height:100vh; display:flex; flex-direction:column; }
body.powitanie .pasek { height:58px; }
.pw-uklad { flex:1; width:100%; max-width:1180px; margin:0 auto; padding:48px clamp(16px,4vw,48px);
  display:grid; grid-template-columns:minmax(0,1fr) 380px; gap:48px; align-items:start; }
.pw-nad { font-size:12.5px; margin:0 0 8px; }
.pw-opis h1 { font-size:clamp(34px,5vw,56px); font-weight:400; line-height:1.03; letter-spacing:-.015em; margin:0 0 16px; }
.pw-lead { font-size:19px; line-height:1.55; max-width:640px; margin:0 0 28px; }
.pw-cechy { list-style:none; margin:0 0 28px; padding:0; display:grid; grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px; background:var(--rule); border:1px solid var(--rule); }
.pw-cechy li { background:var(--paper); padding:16px 18px; display:flex; flex-direction:column; gap:4px; }
.pw-cechy b { font-size:16px; }
.pw-cechy span:last-child { font-size:13.5px; color:var(--ink2); line-height:1.45; }
.pw-ikona { font-size:20px; line-height:1; margin-bottom:4px; }
.pw-liczby { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; margin:0; }
.pw-liczby dt { font-size:10.5px; text-transform:uppercase; letter-spacing:.12em; color:var(--ink2); }
.pw-liczby dd { margin:4px 0 0; font-size:24px; font-family:var(--mono); white-space:nowrap; }
.pw-logowanie { background:var(--paper); border:1px solid var(--ink); box-shadow:var(--shadow); padding:26px 26px 22px; }
.pw-logowanie h2 { font-size:22px; margin:0 0 6px; }
.pw-log-opis { font-size:13.5px; margin:0 0 16px; line-height:1.45; }
.pw-form { display:flex; flex-direction:column; gap:10px; }
.pw-form > label:first-of-type { font-size:13.5px; font-weight:600; }
.pw-form .pole { height:42px; font-size:16px; }
.pw-zgoda { display:flex; gap:10px; align-items:flex-start; font-size:13px; line-height:1.45; color:var(--ink2); }
.pw-zgoda input { width:18px; height:18px; margin-top:2px; accent-color:var(--ink); flex-shrink:0; }
.pw-zaloguj { justify-content:center; height:44px; font-size:15px; font-weight:700; }
.pw-uwaga { margin-top:18px; border-left:5px solid var(--mark); background:var(--accent-bg); padding:10px 12px;
  font-size:12.5px; line-height:1.5; }
.pw-stopka { display:flex; flex-wrap:wrap; gap:6px 18px; padding:16px clamp(16px,4vw,48px); border-top:1px solid var(--rule);
  font-size:12.5px; background:var(--paper); }
.pw-stopka a { color:var(--ink); }
@media (max-width:900px) {
  .pw-uklad { grid-template-columns:1fr; padding-top:28px; gap:28px; }
  .pw-cechy { grid-template-columns:1fr; }
  .pw-liczby { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

.strona-informacje { max-width:860px; }
.dokument { background:var(--paper); border:1px solid var(--rule); border-top:0; padding:8px clamp(18px,3vw,36px) 28px;
  font-size:15.5px; line-height:1.65; }
.dokument h2 { font-size:18px; margin:26px 0 8px; }
.dokument ol, .dokument ul { padding-left:22px; margin:0; }
.dokument li { margin-bottom:6px; }
.strona-informacje .zakladki { margin-top:18px; background:var(--paper); border:1px solid var(--rule); border-bottom-color:var(--rule); }

/* ── Zwijane sekcje prawej kolumny ────────────────────────────────── */
details.zwijana > summary { cursor:pointer; list-style:none; display:flex; justify-content:space-between;
  align-items:center; gap:8px; }
details.zwijana > summary::-webkit-details-marker { display:none; }
details.zwijana > summary::after { content:"▾"; font-size:12px; color:var(--ink2); letter-spacing:0; }
details.zwijana:not([open]) > summary::after { content:"▸"; }
details.zwijana > summary .licz { margin-left:auto; }
details.zwijana:not([open]) > summary { margin-bottom:0; }

/* ── Przód / tył w karcie ─────────────────────────────────────────── */
.modal-nawig { display:inline-flex; align-items:center; gap:6px; white-space:nowrap; }
.modal-nawig[hidden] { display:none; }
.modal-poprz, .modal-nast { width:30px; height:28px; border:1px solid var(--ink); background:var(--paper);
  color:var(--ink); cursor:pointer; font-size:18px; line-height:1; }
.modal-poprz:hover:not(:disabled), .modal-nast:hover:not(:disabled) { background:var(--row-hover); }
.modal-poprz:disabled, .modal-nast:disabled { opacity:.3; cursor:default; }
.modal-licz { font-size:11.5px; color:var(--ink2); min-width:56px; text-align:center; }

/* ── S7: dane z API KRS, podglad PDF ──────────────────────────────── */
.krs-dane { border:1px solid var(--rule); padding:12px 14px; }
.krs-dane h3 { display:flex; justify-content:space-between; gap:8px; }
.krs-zrodlo { font-size:11.5px; color:var(--ink2); margin:10px 0 0; line-height:1.45; }
.krs-lista { margin:0; padding-left:16px; }
.k-pdf { margin-top:18px; border:1px solid var(--rule); }
.k-pdf iframe { display:block; width:100%; height:min(78vh, 900px); border:0; background:#525659; }
.k-pdf-uwaga { font-size:11.5px; margin:6px 10px; }
.krs-rejestr { font-size:11.5px; color:var(--d4); margin:-4px 0 10px; }
