/* =========================================================================
   Orzecznik — warstwa wizualna.
   Wszystko lokalne: brak zewnętrznych fontów, ikon i skryptów.
   ========================================================================= */
:root{
  --bg:#ffffff; --band:#faf9f7; --panel:#ffffff;
  --ink:#16181d; --ink-soft:#3d424c; --muted:#6a6f7a;
  --line:#e7e4de; --line-soft:#f0eeea;
  --navy:#1e3a5f; --navy-ink:#ffffff; --navy-soft:#eef2f7;
  --amber:#c1873c; --mark:#fdf0b8;
  --green:#2f7a4d; --green-soft:#eaf5ee;
  --shadow:0 1px 2px rgba(20,22,28,.04), 0 8px 24px rgba(20,22,28,.05);
  --r:14px; --maxw:1140px;
  --serif:"Iowan Old Style","Palatino Linotype",Palatino,Cambria,Georgia,"Times New Roman",serif;
  --sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
  --mono:"SFMono-Regular",Consolas,"Liberation Mono",Menlo,monospace;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    --bg:#14161a; --band:#181b20; --panel:#1c1f25; --ink:#eceae5; --ink-soft:#c6c9cf;
    --muted:#949aa5; --line:#2c3038; --line-soft:#23262c;
    --navy:#7ea9d8; --navy-ink:#10141a; --navy-soft:#1e2833;
    --amber:#d3a163; --mark:#544a1c;
    --green:#7fc79a; --green-soft:#1b2e21;
    --shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.25);
  }
}
:root[data-theme="dark"]{
  --bg:#14161a; --band:#181b20; --panel:#1c1f25; --ink:#eceae5; --ink-soft:#c6c9cf;
  --muted:#949aa5; --line:#2c3038; --line-soft:#23262c;
  --navy:#7ea9d8; --navy-ink:#10141a; --navy-soft:#1e2833;
  --amber:#d3a163; --mark:#544a1c;
  --green:#7fc79a; --green-soft:#1b2e21;
  --shadow:0 1px 2px rgba(0,0,0,.3), 0 8px 24px rgba(0,0,0,.25);
}
*{box-sizing:border-box}
[hidden]{display:none !important}   /* inaczej display:grid/flex bije regułę UA */
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--bg);color:var(--ink);font:15px/1.6 var(--sans);
  -webkit-font-smoothing:antialiased}
a{color:inherit;text-decoration:none}
h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.015em}
p{margin:0}
button{font:inherit;cursor:pointer}
.wrap{max-width:var(--maxw);margin:0 auto;padding:0 24px}
.wrap.narrow{max-width:820px}
.center{text-align:center}
.pad{padding:64px 24px}
.small{font-size:13px}
.muted{color:var(--muted)}
.ic{width:1em;height:1em;flex:none;display:inline-block;vertical-align:-.13em}

/* ---------------- pasek górny ---------------- */
.topbar{position:sticky;top:0;z-index:20;background:color-mix(in srgb,var(--bg) 88%,transparent);
  backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;justify-content:space-between;height:62px;gap:20px}
.brand{display:flex;align-items:center;gap:10px;font-weight:650;font-size:16.5px;letter-spacing:-.01em}
.brand .mark{width:32px;height:32px;border-radius:9px;background:var(--navy);color:var(--navy-ink);
  display:grid;place-items:center;font-size:18px}
.bar nav{display:flex;align-items:center;gap:6px}
.bar nav a{padding:7px 12px;border-radius:9px;font-size:14px;color:var(--muted)}
.bar nav a:hover{background:var(--band);color:var(--ink)}
.fav-link{display:inline-flex;align-items:center;gap:6px}
.fav-link.on{color:var(--navy);background:var(--navy-soft);font-weight:600}
.fav-link.on:hover{color:var(--navy)}
.fav-link .count{min-width:20px;height:20px;padding:0 6px;border-radius:20px;
  background:var(--navy-soft);color:var(--navy);font-size:11.5px;font-weight:700;
  display:grid;place-items:center}

/* Na waskich ekranach cztery pozycje (Akty prawne, Ulubione, licznik, motyw)
   nie miesza sie w jednym rzedzie - tekst obok ikon znika (ikony + tytul
   zostaja dostepne dla czytnikow ekranu przez aria-label), zeby przycisk
   motywu nigdy nie wypadal poza ekran zamiast się zawijac. */
@media (max-width:600px){
  .bar{gap:8px}
  .bar nav{gap:2px}
  .bar nav a{padding:7px 8px}
  .bar nav .lbl{display:none}
}

/* ---------------- przełącznik motywu ---------------- */
.theme-toggle{width:34px;height:34px;border:1px solid var(--line);background:var(--panel);
  color:var(--ink-soft);border-radius:9px;display:grid;place-items:center;margin-left:4px}
.theme-toggle:hover{background:var(--band);color:var(--ink)}
.theme-toggle .sun{display:none}
.theme-toggle .moon{display:block}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) .theme-toggle .sun{display:block}
  :root:not([data-theme="light"]) .theme-toggle .moon{display:none}
}
:root[data-theme="dark"] .theme-toggle .sun{display:block}
:root[data-theme="dark"] .theme-toggle .moon{display:none}

/* ---------------- hero ---------------- */
.hero{background:var(--band);border-bottom:1px solid var(--line);padding:72px 0 56px;text-align:center}
.hero h1{font-family:var(--serif);font-weight:400;font-size:clamp(34px,5.4vw,58px);line-height:1.08;
  letter-spacing:-.02em;margin-bottom:18px}
.hero .lede{max-width:58ch;margin:0 auto 20px;color:var(--muted);font-size:16.5px;line-height:1.6}
.hero .searchform{max-width:640px;margin:0 auto 28px;text-align:left}

/* ---------------- pole wyszukiwania ---------------- */
.searchband{background:var(--band);border-bottom:1px solid var(--line);padding:22px 0}
.searchform{margin:0}
.searchbar{display:flex;align-items:center;gap:10px;background:var(--panel);
  border:1px solid var(--line);border-radius:999px;padding:7px 8px 7px 20px;box-shadow:var(--shadow)}
.searchbar:focus-within{border-color:var(--navy);box-shadow:0 0 0 4px var(--navy-soft)}
.searchbar .lead{font-size:19px;color:var(--muted)}
.searchbar input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);
  font-size:15.5px;padding:10px 2px;outline:none}
.searchbar input::placeholder{color:var(--muted)}
/* Ukrycie natywnych ikon Chromium dla input[type=search][list]: "x" czyszczenia
   pola i strzałki podpowiedzi datalist — obie zbędne obok własnego przycisku
   "Szukaj" i tak wyglądały jak połamany UI. Podpowiedzi z datalist (ostatnie
   wyszukiwania) działają nadal, znika tylko wizualna ikonka. */
.searchbar input[type="search"]::-webkit-search-cancel-button,
.searchbar input[type="search"]::-webkit-search-decoration,
.searchbar input[type="search"]::-webkit-calendar-picker-indicator{
  -webkit-appearance:none;appearance:none;display:none}
.searchbar button{border:0;background:var(--navy);color:var(--navy-ink);font-weight:600;
  font-size:14.5px;padding:12px 28px;border-radius:999px}
.searchbar button:hover{filter:brightness(1.12)}

/* Przełącznik typu treści (scalenie stron, 09.2026) - Wszystko/Orzeczenia/Akty
   nad paskiem wyszukiwania, patrz _searchform.html. */
.typegroup{display:inline-flex;padding:3px;border-radius:999px;border:1px solid var(--line);
  background:var(--panel);gap:2px;margin-top:14px}
.typegroup a{padding:6px 14px;border-radius:999px;color:var(--muted);font-size:13px}
.typegroup a:hover{color:var(--ink)}
.typegroup a.on{background:var(--navy);color:var(--navy-ink);font-weight:600}
.minibadge{display:inline-flex;align-items:center;gap:5px;font-size:12px;color:var(--muted)}
.minibadge .dot{width:7px;height:7px;border-radius:50%}
.minibadge.orz .dot{background:var(--navy)}
.minibadge.akt .dot{background:var(--green)}

.filters-toggle{display:inline-flex;align-items:center;gap:8px;margin:14px 0 0;padding:8px 14px;
  border:1px solid transparent;border-radius:10px;background:transparent;color:var(--ink-soft);font-size:14px}
.filters-toggle:hover{background:var(--panel);border-color:var(--line)}
.filters-toggle .dot{width:7px;height:7px;border-radius:50%;background:var(--navy)}

/* Pasek szybkich filtrów (strona główna) - nazywa filtry po imieniu zamiast chować
   je za jednym przyciskiem. Wygląd pigułki wzorowany na .chip/.fchip, żeby nie
   wprowadzać trzeciego języka wizualnego dla tego samego kształtu. */
.quickbar{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.hero .quickbar{justify-content:center}
.qchip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;
  border:1px solid var(--line);background:transparent;color:var(--ink-soft);
  font-size:13px;font-family:inherit}
.qchip .ic{width:.9em;height:.9em;color:var(--muted)}
.qchip:hover{border-color:var(--navy);color:var(--ink)}
.qchip:hover .ic{color:var(--navy)}
.qchip:focus-visible{outline:none;border-color:var(--navy);box-shadow:0 0 0 3px var(--navy-soft)}
.qchip.on{background:var(--navy-soft);border-color:transparent;color:var(--navy);font-weight:600}
.qchip.on .ic{color:var(--navy)}
.qchip.more{border-style:dashed;border-color:var(--navy);color:var(--navy)}

.filters{margin-top:12px;padding:20px;background:var(--panel);border:1px solid var(--line);
  border-radius:var(--r);box-shadow:var(--shadow);text-align:left}
.fgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:14px}
.filters label{display:flex;flex-direction:column;gap:6px;font-size:12.5px;color:var(--muted);font-weight:500}
.filters input,.filters select{padding:9px 11px;border:1px solid var(--line);border-radius:9px;
  background:var(--bg);color:var(--ink);font-size:14px;font-family:inherit}
.filters input:focus,.filters select:focus{outline:none;border-color:var(--navy);
  box-shadow:0 0 0 3px var(--navy-soft)}
.fdates{display:flex;flex-wrap:wrap;gap:14px 28px;margin-top:16px;padding-top:16px;
  border-top:1px solid var(--line-soft)}
.dgroup{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end}
.dgroup .which{min-width:210px}
.fhint{margin-top:12px;font-size:12.5px;color:var(--muted);line-height:1.55;max-width:78ch;
  display:flex;gap:8px;align-items:flex-start}
.fhint .ic{margin-top:.25em;color:var(--amber)}
.factions{display:flex;align-items:center;gap:14px;margin-top:16px}
.factions button{border:0;background:var(--navy);color:var(--navy-ink);font-weight:600;font-size:14px;
  padding:10px 20px;border-radius:9px}
.factions .clear{font-size:13.5px;color:var(--muted)}
.factions .clear:hover{color:var(--ink)}

/* ---------------- sekcje ---------------- */
main section.wrap{padding:44px 24px}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:18px}
main h1{font-family:var(--serif);font-weight:400;font-size:clamp(27px,3.4vw,36px);letter-spacing:-.02em}
main h2{font-size:17px;font-weight:650;letter-spacing:-.01em}
.more{font-size:13.5px;color:var(--muted)}
.more:hover{color:var(--ink)}

/* ---------------- liczniki wtopione w pas hero ----------------
   Wcześniej była to osobna sekcja z własnym paddingiem i liczbami 22px w ramkach
   z lewą kreską - mimo małej treści czytało się to jak drugi nagłówek strony.
   Teraz jeden cichy wiersz domykający hero. */
.hero-stats{margin:14px auto 0;font-size:12.5px;color:var(--muted);text-align:center}
.hero-stats b{font-family:var(--mono);font-weight:600;color:var(--ink-soft)}
.hero-stats a{color:inherit}
.hero-stats a:hover{color:var(--navy)}
.hero-stats a:hover b{color:var(--navy)}
.hero-stats .sep{color:var(--line);margin:0 .5em}

/* ---------------- dwie kolumny (orzeczenia / akty) na stronie głównej ---------------- */
.cols2{display:grid;grid-template-columns:1fr 1fr;gap:36px}
@media(max-width:860px){.cols2{grid-template-columns:1fr}}

/* ---------------- hasła: podpowiedzi na stronie głównej + pełny indeks ---------------- */
.hasla-teaser{display:flex;flex-wrap:wrap;gap:9px}
.hasla-teaser .chip{margin:0}
.hasla-teaser .chip b{font-weight:600;color:var(--muted);margin-left:5px;font-family:var(--mono);font-size:11px}

.hasla-search{display:flex;align-items:center;gap:10px;background:var(--panel);
  border:1px solid var(--line);border-radius:999px;padding:10px 18px;box-shadow:var(--shadow);
  max-width:420px;margin-bottom:18px}
.hasla-search .lead{font-size:17px;color:var(--muted);flex:none}
.hasla-search input{flex:1;min-width:0;border:0;background:transparent;color:var(--ink);
  font-size:14.5px;outline:none;font-family:inherit}
.hasla-search input::placeholder{color:var(--muted)}

.letter-nav{display:flex;flex-wrap:wrap;gap:5px;margin-bottom:22px}
.letter{border:1px solid var(--line);background:var(--panel);color:var(--ink-soft);
  font-size:13px;font-family:var(--mono);padding:6px 10px;border-radius:8px;min-width:32px;
  text-align:center}
.letter:hover{border-color:var(--navy);color:var(--navy)}
.letter.on{background:var(--navy);border-color:var(--navy);color:var(--navy-ink);font-weight:600}
.letter[data-letter=""]{font-family:inherit;font-weight:600}

.hasla-index{columns:3;column-gap:28px}
.hasla-item[hidden],.hasla-entry[hidden]{display:none}
@media(max-width:860px){.hasla-index{columns:2}}
@media(max-width:560px){.hasla-index{columns:1}}
.hasla-item{display:flex;justify-content:space-between;gap:12px;padding:9px 0;
  border-bottom:1px solid var(--line-soft);break-inside:avoid;font-size:14px;color:var(--ink-soft)}
.hasla-item:hover{color:var(--navy)}
.hasla-item b{font-family:var(--mono);font-size:12px;color:var(--muted);font-weight:500}

/* Hasła w dwóch poziomach: szersze hasło rozwija węższe (Emerytura ->
   Emerytura pomostowa). <details> daje rozwijanie bez JS-a; JS tylko otwiera
   grupę, gdy fraza z wyszukiwarki trafiła w podkategorię. */
.hasla-group{break-inside:avoid}
.hasla-group>summary{cursor:pointer;list-style:none}
.hasla-group>summary::-webkit-details-marker{display:none}
.hasla-parent>span:first-child{position:relative;padding-left:15px}
.hasla-parent>span:first-child::before{content:"";position:absolute;left:1px;top:.44em;
  width:0;height:0;border-left:4px solid var(--muted);border-top:3.5px solid transparent;
  border-bottom:3.5px solid transparent;transition:transform .15s ease}
.hasla-group[open]>summary .hasla-parent>span:first-child::before,
.hasla-group[open]>summary>span:first-child::before{transform:rotate(90deg)}
.hasla-group>summary:hover{color:var(--navy)}
.hasla-group>summary:hover>span:first-child::before{border-left-color:var(--navy)}
.hasla-children{padding-left:15px;margin-bottom:4px;border-left:1px solid var(--line-soft)}
.hasla-child{padding-left:10px;font-size:13.5px}
/* Odsyłacz do samego hasła nadrzędnego ma reagować jak każda inna pozycja -
   własny kolor na spanie blokowałby hover ustawiony na linku. Kursywa zostaje
   jako jedyne odróżnienie, bo to węższe znaczenie niż nagłówek grupy. */
.hasla-self{font-style:italic}
a.hasla-item:hover{color:var(--navy);text-decoration:underline}

/* ---------------- zakładki źródeł ---------------- */
.tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:20px;border-bottom:1px solid var(--line)}
.tab{display:inline-flex;align-items:center;gap:7px;padding:9px 16px;border-radius:10px 10px 0 0;
  font-size:14px;color:var(--muted);border:1px solid transparent;border-bottom:0;position:relative;top:1px}
.tab:hover{color:var(--ink);background:var(--band)}
.tab.on{color:var(--ink);font-weight:600;background:var(--panel);border-color:var(--line)}
.tab span{font-size:12px;color:var(--muted);font-variant-numeric:tabular-nums}

/* ---------------- aktywne filtry (chipsy) ---------------- */
.chipsbar{display:flex;flex-wrap:wrap;gap:8px;margin:-6px 0 18px}
.fchip{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;
  background:var(--navy-soft);color:var(--navy);font-size:12.5px;font-weight:600}
.fchip:hover{background:var(--band);color:var(--ink)}
.fchip .x-ic{width:.8em;height:.8em;opacity:.7}

/* ---------------- karta wyniku ---------------- */
.cards{display:flex;flex-direction:column;gap:12px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--r);
  padding:16px 18px;transition:border-color .15s, box-shadow .15s, transform .15s}
.card:hover{border-color:#d8d3c9;box-shadow:var(--shadow);transform:translateY(-1px)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .card:hover{border-color:#3a404a}}
:root[data-theme="dark"] .card:hover{border-color:#3a404a}
.card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}
.ident{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}
.badge{display:inline-flex;align-items:center;gap:6px;padding:4px 10px;border-radius:8px;
  background:var(--band);border:1px solid var(--line);font-size:10.5px;font-weight:700;
  letter-spacing:.07em;color:var(--ink-soft)}
.badge .ic{color:var(--navy);font-size:13px}
.sig{font-family:var(--mono);font-size:14.5px;font-weight:600;letter-spacing:-.01em}
.card .sig:hover{color:var(--navy);text-decoration:underline}
.tools{display:flex;gap:2px;flex:none}
.tool{width:32px;height:32px;border:0;background:transparent;border-radius:9px;color:var(--muted);
  display:grid;place-items:center;font-size:16px}
.tool:hover{background:var(--band);color:var(--ink)}
.tool.on{color:#c0392b}
.tool.on svg{fill:currentColor}

.card-link{display:block}
.meta{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px 28px}
@media(max-width:720px){.meta{grid-template-columns:1fr}}
.meta span{display:flex;align-items:flex-start;gap:8px;font-size:13.5px;color:var(--ink-soft);
  min-width:0;line-height:1.5}
.meta .ic{color:var(--amber);font-size:15px;margin-top:.12em}
.meta .hl{color:var(--navy);font-weight:600}
.meta .hl .ic{color:var(--navy)}
.snippet{margin-top:11px;font-size:13.5px;line-height:1.65;color:var(--ink-soft)}
.snippet mark{background:var(--mark);color:inherit;padding:.5px 2px;border-radius:3px}
.subdates{display:flex;flex-wrap:wrap;gap:14px;margin-top:10px;font-size:12px;color:var(--muted)}
.subdates .hl{color:var(--navy);font-weight:600}

.empty{padding:56px 24px;text-align:center;color:var(--muted);background:var(--panel);
  border:1px dashed var(--line);border-radius:var(--r)}
.empty b{color:var(--ink)}

/* ---------------- pasek wyników ---------------- */
.warn{display:flex;gap:9px;align-items:flex-start;background:var(--navy-soft);color:var(--ink-soft);
  border-radius:10px;padding:11px 14px;font-size:13.5px;margin-bottom:16px}
.warn .ic{color:var(--navy);margin-top:.15em}

/* ---------------- tekst jednolity: baner, plakietka, ostrzeżenie ---------------- */
.badge.jednolity{background:var(--green-soft);border-color:var(--green);color:var(--green)}
.badge.jednolity .ic{color:var(--green)}
.notice{display:flex;gap:10px;align-items:flex-start;border-radius:var(--r);
  padding:14px 16px;font-size:13.5px;margin:18px 0}
.notice p{line-height:1.6}
.notice .ic{margin-top:.2em;flex:none}
.notice-good{background:var(--green-soft);color:var(--ink-soft)}
.notice-good .ic{color:var(--green)}
.notice-warn{background:var(--navy-soft);color:var(--ink-soft)}
.notice-warn .ic{color:var(--amber)}
.resultsbar{display:flex;align-items:center;justify-content:space-between;gap:16px;
  padding-bottom:16px;margin-bottom:20px;border-bottom:1px solid var(--line);font-size:14px;
  flex-wrap:wrap}
.resultsbar-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.pagesize{color:var(--muted);font-size:13px;display:inline-flex;align-items:center;gap:6px}
.pagesize a{color:var(--ink-soft);padding:3px 7px;border-radius:6px}
.pagesize a:hover{color:var(--navy);background:var(--band)}
.pagesize a.on{color:var(--navy);font-weight:600;background:var(--navy-soft)}
.ghost{display:inline-flex;align-items:center;gap:7px;padding:8px 14px;border:1px solid var(--line);
  border-radius:9px;background:var(--panel);font-size:13.5px;color:var(--ink-soft)}
.ghost:hover{border-color:var(--navy);color:var(--navy)}
.pager{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:32px;
  padding-top:20px;border-top:1px solid var(--line);font-size:14px}
.pager a{display:inline-flex;align-items:center;gap:7px;color:var(--ink-soft)}
.pager a:hover{color:var(--navy)}
.pager .pos{color:var(--muted);font-size:13px}

/* ---------------- wskazówki ---------------- */
.tips{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:10px}
.tips div{display:flex;flex-direction:column;gap:5px;padding:15px 17px;background:var(--panel);
  border:1px solid var(--line);border-radius:11px}
.tips div b{font-size:14px}
.tips span{font-size:12.5px;color:var(--muted);line-height:1.55}

/* ---------------- dokument ---------------- */
.reading{max-width:900px;padding-top:28px;padding-bottom:64px}
.back{display:inline-flex;align-items:center;gap:7px;font-size:13.5px;color:var(--muted);margin-bottom:18px}
.back:hover{color:var(--ink)}
.doc{background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:32px 36px}
@media(max-width:640px){.doc{padding:22px 18px}}
.doc-head{padding-bottom:22px;border-bottom:1px solid var(--line)}
.doc-head h1{font-family:var(--mono);font-size:26px;font-weight:600;letter-spacing:-.02em;margin:12px 0 6px}
.doc-sub{color:var(--muted);font-size:14px}
.doc-tools{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.doc-tools .fav.on{border-color:#c0392b;color:#c0392b}
.doc-tools .fav.on svg{fill:currentColor}

.metryka{display:grid;grid-template-columns:1fr 1fr;gap:0;margin:0;padding:6px 0}
@media(max-width:640px){.metryka{grid-template-columns:1fr}}
.metryka > div{padding:14px 0;border-bottom:1px solid var(--line-soft)}
.metryka > div:nth-child(odd){padding-right:20px}
.metryka .wide{grid-column:1/-1}
.metryka dt{display:flex;align-items:center;gap:7px;font-size:11.5px;text-transform:uppercase;
  letter-spacing:.06em;color:var(--muted);margin-bottom:5px}
.metryka dt .ic{color:var(--amber);font-size:14px}
.metryka dd{margin:0;font-size:14.5px;color:var(--ink)}
.metryka .role{color:var(--muted);font-size:12px;margin-left:4px}
.chip{display:inline-block;padding:3px 10px;margin:2px 5px 2px 0;border:1px solid var(--line);
  border-radius:999px;font-size:12.5px;color:var(--ink-soft)}
.reflink{color:var(--navy);font-weight:600}
.reflink:hover{text-decoration:underline}

.block{margin-top:34px}
.block h2{font-family:var(--serif);font-weight:400;font-size:22px;letter-spacing:-.01em;
  padding-bottom:10px;border-bottom:1px solid var(--line);margin-bottom:16px}
.text{font-size:15.5px;line-height:1.78;color:var(--ink-soft);max-width:72ch}
.text p{margin:0 0 .9em}
.text p:empty{display:none}

/* ---------------- tabele wykryte w PDF-ach aktów (parse/pdf_tables.py) ---------------- */
.text .pdf-table-wrap{max-width:none;overflow-x:auto;margin:0 0 1.4em}
.pdf-table{width:100%;border-collapse:collapse;font-size:14px}
.pdf-table th,.pdf-table td{padding:8px 12px;border:1px solid var(--line);text-align:left;
  vertical-align:top}
.pdf-table thead th{background:var(--band);font-weight:600;color:var(--ink)}
.pdf-table tbody tr:nth-child(even){background:var(--line-soft)}

/* ---------------- stopka ---------------- */
.footer{border-top:1px solid var(--line);background:var(--band);padding:26px 0;margin-top:20px}
.footer p{color:var(--muted);font-size:12.5px;line-height:1.6;max-width:84ch}
.footer a{color:var(--ink-soft);border-bottom:1px solid var(--line)}

/* ---------------- nowe orzeczenia (obserwator) ---------------- */
.page-title{font-family:var(--serif);font-weight:400;font-size:30px;letter-spacing:-.015em;
  margin:34px 0 8px}
.warn.note{background:var(--band);color:var(--ink-soft)}
.runs{margin:30px 0 10px;border-top:1px solid var(--line);padding-top:14px}
.runs summary{cursor:pointer;font-size:13px;color:var(--muted);letter-spacing:.02em}
.runs summary:hover{color:var(--ink)}
.runtable{width:100%;border-collapse:collapse;margin-top:12px;font-size:12.5px}
.runtable th{text-align:left;font-weight:500;color:var(--muted);text-transform:uppercase;
  letter-spacing:.06em;font-size:11px;padding:6px 10px 6px 0;border-bottom:1px solid var(--line)}
.runtable td{padding:7px 10px 7px 0;border-bottom:1px solid var(--line);color:var(--ink-soft)}
.runtable .bad{color:var(--danger,#a3402f)}

/* ---------------- akt podzielony na przepisy (WDROZENIE-PRZEPISY.md, krok 6) ---------------- */
.reading.akt-z-przepisami{max-width:var(--maxw)}
.akt-uklad{display:grid;grid-template-columns:260px minmax(0,1fr);gap:32px;align-items:start}
@media(max-width:900px){.akt-uklad{grid-template-columns:1fr;gap:16px}}
.akt-spis{position:sticky;top:78px;max-height:calc(100vh - 96px);overflow:auto;font-size:13px;
  border-right:1px solid var(--line-soft);padding-right:14px}
@media(max-width:900px){.akt-spis{position:static;max-height:260px;border-right:0;
  border-bottom:1px solid var(--line-soft);padding:0 0 12px}}
.akt-spis-tytul{font-size:11.5px;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin-bottom:8px}
.akt-spis ul{list-style:none;margin:0;padding:0}
.akt-spis li a{display:block;padding:3px 0;color:var(--ink-soft);line-height:1.4}
.akt-spis li a:hover{color:var(--navy)}
.akt-spis li.r1 a,.akt-spis li.r2 a{font-weight:600;color:var(--ink)}
.akt-spis li.r3{padding-left:6px}.akt-spis li.r4{padding-left:14px}
.akt-spis li.r5{padding-left:22px}.akt-spis li.r6{padding-left:30px}
.akt-tresc{max-width:none;text-align:justify;hyphens:auto}
.akt-naglowek{font-family:var(--serif);font-weight:400;text-align:center;margin:1.6em 0 .8em;
  scroll-margin-top:80px;color:var(--ink);font-size:16px}
.akt-naglowek span{display:block;font-size:.92em;color:var(--ink-soft)}
.akt-naglowek.r1{font-size:21px}.akt-naglowek.r2{font-size:19px}.akt-naglowek.r3{font-size:18px}
.przepis{display:grid;grid-template-columns:96px minmax(0,1fr);gap:4px 14px;padding:10px 0;
  border-top:1px solid var(--line-soft);scroll-margin-top:80px}
@media(max-width:640px){.przepis{grid-template-columns:1fr}}
.przepis.wariant{border-top:1px dashed var(--line)}
.przepis-nr{font-family:var(--serif);font-weight:700;color:var(--ink);text-align:left}
.przepis-tresc p{margin:0 0 .5em}
.przepis-przypis,.przepis-wariant-opis{font-size:12.5px;color:var(--muted);text-align:left}
.przepis-akcje{display:flex;flex-wrap:wrap;gap:6px 8px;margin-top:6px;text-align:left}
.przepis-panel>summary,.przepis-pill{display:inline-flex;align-items:center;gap:6px;list-style:none;
  border:1px solid var(--line);background:var(--panel);border-radius:999px;padding:3px 11px;
  font-size:12.5px;color:var(--navy);cursor:pointer}
.przepis-panel>summary::-webkit-details-marker{display:none}
.przepis-panel>summary:hover{border-color:var(--navy)}
.przepis-panel>summary:focus-visible{outline:none;box-shadow:0 0 0 3px var(--navy-soft);border-color:var(--navy)}
.przepis-panel[open]{flex-basis:100%}
.przepis-panel[open]>summary{background:var(--navy-soft);border-color:var(--navy)}
.przepis-pill.pusty{cursor:default;border-style:dashed;color:var(--muted)}
.panel-tresc{margin-top:8px;padding:10px 14px;border:1px solid var(--line);border-radius:12px;
  background:var(--band);font-size:14px;line-height:1.6}
.orz-lista,.wersje-lista{list-style:none;margin:0;padding:0}
.orz-lista li{padding:7px 0;border-top:1px solid var(--line-soft)}
.orz-lista li:first-child{border-top:0}
.orz-lista .muted{margin-left:6px;font-size:12.5px}
.orz-podstawa{display:block;font-size:12.5px;color:var(--muted)}
.wersja{padding:8px 0;border-top:1px solid var(--line-soft)}
.wersje-lista .wersja:first-child{border-top:0}
.wersja p{margin:0 0 .4em}
.wersja-opis{font-size:13px;color:var(--ink-soft)}
.wersja.najnowsza .wersja-opis b{color:var(--green)}
.wersja.przyszla{border:1px solid var(--amber);border-radius:10px;padding:8px 12px;margin-bottom:8px}
.wersja.ten{background:var(--navy-soft);border-radius:8px;padding:8px 10px}
.wersje-zrodla{margin-top:8px;font-size:12px;color:var(--muted)}
/* Akt podzielony na przepisy, ale bez nagłówków (np. rozporządzenie z 2 paragrafami
   i załącznikiem) - bez spisu treści kolumna 260 px zajmowała cały tekst (13.09.2026). */
.akt-uklad.bez-spisu{grid-template-columns:minmax(0,1fr)}
.przepis-tresc .pdf-table-wrap{max-width:none;overflow-x:auto;margin:.4em 0 1em;text-align:left}
