/* Kopia bez zmian: makieta v4 Teksty SEO (budowa-v4/css.css, przyjęta 15–17.10.2026). Zmiany i nowe klocki aplikacji: aplikacja.css. */
/* ===== Teksty SEO v4: tokeny w języku narzędzia GEO (globals.css, system-aw/tokeny.css, komponenty.css) ===== */
:root {
  color-scheme: light;
  --font: "DM Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  /* skala pisma: 7 rozmiarów (etykiety 12, interfejs 14, tekst w edytorze 16, tytuł karty i H3 18, tytuł ekranu i H2 22, H1 i liczby 28, wynik 40) */
  --t-12: 12px; --t-14: 14px; --t-16: 16px; --t-18: 18px; --t-22: 22px; --t-28: 28px; --t-40: 40px;
  --lh-ciasna: 1.25; --lh: 1.5; --lh-tekst: 1.7;
  --rozstrzelenie: .06em;
  /* skala odstępów: 4 / 8 / 12 / 16 / 24 / 32 */
  --s-1: 4px; --s-2: 8px; --s-3: 12px; --s-4: 16px; --s-6: 24px; --s-8: 32px;
  /* wymiary (GEO: belka 48, pozycja menu 36, menu 256, kontrolki 36) */
  --h: 36px; --h-maly: 28px; --h-term: 30px; --h-licznik: 22px; --h-belka: 48px; --h-wiersz: 56px; --h-grupa: 44px; --h-pasek: 52px; --h-stopka: 44px; --h-menu: 36px;
  --r: 10px; --r-maly: 8px; --r-mini: 4px; --r-pole: 12px; --r-tabela: 16px; --r-karta: 20px; --r-pelny: 999px;
  --b: 1px; --b-2: 2px; --b-3: 3px; --b-4: 4px;
  --ikona: 18px; --ikona-mala: 14px; --ikona-menu: 17px; --kropka: 8px; --znak-stanu: 10px; --awatar: 32px; --ikona-stanu: 32px; --logo: 28px; --sygnet: 28px; --pasek-postepu: 6px; --favicon: 24px;
  --gutter: 32px; --gutter-telefon: 16px; --szer-tresci: 1296px; --szer-pisania: 1480px; --szer: var(--szer-tresci); --serp: 600px; --panel: 416px; --panel-waski: 380px; --rynna: 48px; --rynna-telefon: 0px; --etykieta-seo: 84px; --etykieta-seo-telefon: 72px; --szukaj: 352px; --pole-filtra: 300px; --toast: 560px; --dymek: 380px;
  --boczny: 256px; --boczny-ikony: 72px; --boczny-telefon: 288px; --wciecie-menu: 12px;
  --wskaznik: 152px; --wskaznik-wys: 87px; --pole-celu: 96px; --fakt-nazwa: 200px; --kolumna-zam: 132px;
  --k-klient: 180px; --k-rodzaj: 128px; --k-ocena: 76px; --k-slowa: 128px; --k-kto: 112px; --k-termin: 210px;
  --k-stan-karty: 228px; --k-fakty: 72px; --k-kto-karty: 196px; --k-data: 152px; --k-zamowienie: 300px;
  /* kolory neutralne (GEO, motyw jasny) */
  --tlo: #F7F7F9; --pow: #FFFFFF; --pow-2: #F6F6F8; --pow-3: #EDEDF1;
  --linia: rgba(20, 20, 24, .08); --linia-mocna: rgba(20, 20, 24, .14);
  --tekst: #16161C; --tekst-2: #565660; --tekst-3: #6A6A72;
  --glowny: #16161C; --na-glownym: #FFFFFF;
  --akcent: #2563EB; --akcent-tlo: #E8EFFD;
  --marka: #FF2C2C; --logo-znak: #FF2C2C;
  --menu-tlo: #FFFFFF; --menu-linia: rgba(20, 20, 22, .08); --menu-cien: 1px 0 24px -12px rgba(20, 20, 22, .12); --menu-aktywne: #E9E9EE; --menu-najechane: rgba(233, 233, 238, .6);
  --belka-tlo: rgba(255, 255, 255, .75); --belka-linia: rgba(20, 20, 22, .07); --rozmycie: blur(14px); --rozmycie-menu: none;
  --poswiata: radial-gradient(1200px 900px at 95% -5%, rgba(255, 44, 44, .07), rgba(0, 0, 0, 0) 55%), radial-gradient(1000px 800px at 0% 30%, rgba(176, 26, 26, .045), rgba(0, 0, 0, 0) 58%), radial-gradient(1100px 900px at 90% 95%, rgba(255, 44, 44, .035), rgba(0, 0, 0, 0) 60%);
  --zaslona: rgba(10, 10, 12, .45);
  --cien: 0 1px 2px rgba(20, 20, 22, .04), 0 1px 1px rgba(20, 20, 22, .03);
  --cien-unos: 0 1px 2px rgba(20, 20, 24, .05), 0 24px 48px -24px rgba(20, 20, 24, .28);
  /* główny przycisk marki 1:1 z GEO (dokument.css, „+ Nowy projekt”) */
  --cta-1: #14060a; --cta-2: #7a0f14; --cta-iskra: #ff4d4d; --cta-blask: rgba(255, 255, 255, .85); --cta-poswiata: rgba(255, 44, 44, .75);
  --cien-pigulka: 0 1px 2px rgba(20, 20, 24, .08);
  --cta-cien: 0 10px 20px -10px rgba(0, 0, 0, .6); --cta-cien-najechany: 0 12px 28px -8px rgba(255, 44, 44, .75), 0 0 18px -6px rgba(255, 44, 44, .75);
  /* stany karty (GEO --stan-*) */
  --stan-ok: #0F6B3B; --stan-ok-tlo: #E6F4EC; --stan-ok-ramka: #BFE3CF;
  --stan-uwaga: #8A5A12; --stan-uwaga-tlo: #F7EFDC; --stan-uwaga-ramka: #E8D5AC;
  --stan-blad: #C0392B; --stan-blad-tlo: #FBE9E7;
  --stan-w-toku: #2563EB; --stan-w-toku-tlo: #E8EFFD;
  /* kategorie: równa jasność OKLCH (WYG-13), jasny motyw L 0,60 */
  --st-prz: oklch(.60 0 0); --st-pis: oklch(.60 .15 255); --st-wys: oklch(.60 .11 195); --st-kli: oklch(.60 .15 300);
  --st-ok: oklch(.60 .14 150); --st-spr: oklch(.60 .16 355); --st-termin: oklch(.60 .13 70);
  --sl-ok: oklch(.60 .14 150); --sl-malo: oklch(.60 .13 85); --sl-duzo: oklch(.60 .17 25); --sl-brak: oklch(.60 0 0);
  --pasmo-1: oklch(.60 .18 25); --pasmo-2: oklch(.60 .16 50); --pasmo-3: oklch(.60 .13 95); --pasmo-4: oklch(.60 .14 150);
  --tint: 18%; --tint-mocny: 26%; --tint-tekst: 30%; --tor: 22%;
}
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) {
    color-scheme: dark;
    --tlo: #0A0A0C; --pow: #16161C; --pow-2: #1C1C23; --pow-3: #25252E;
    --linia: rgba(255, 255, 255, .08); --linia-mocna: rgba(255, 255, 255, .14);
    --tekst: #F7F7F9; --tekst-2: #B4B4BE; --tekst-3: #8C8C97;
    --glowny: #F7F7F9; --na-glownym: #16161C;
    --akcent: #6EA8FF; --akcent-tlo: #111C2E;
    --menu-tlo: rgba(255, 255, 255, .035); --menu-linia: rgba(255, 255, 255, .1); --menu-cien: none; --menu-aktywne: #242429; --menu-najechane: rgba(36, 36, 41, .6);
    --belka-tlo: rgba(255, 255, 255, .03); --belka-linia: rgba(255, 255, 255, .09); --rozmycie-menu: blur(16px);
    --poswiata: radial-gradient(1200px 900px at 95% -5%, rgba(255, 44, 44, .2), rgba(0, 0, 0, 0) 55%), radial-gradient(1000px 800px at 0% 30%, rgba(176, 26, 26, .13), rgba(0, 0, 0, 0) 58%), radial-gradient(1100px 900px at 90% 95%, rgba(255, 44, 44, .1), rgba(0, 0, 0, 0) 60%);
    --zaslona: rgba(0, 0, 0, .6);
    --cien: 0 30px 70px -40px rgba(0, 0, 0, .9);
    --cien-unos: 0 40px 80px -36px rgba(0, 0, 0, 1);
    --stan-ok: #4ADE80; --stan-ok-tlo: #102A1C; --stan-ok-ramka: #2C5F45;
    --stan-uwaga: #FACC15; --stan-uwaga-tlo: #2A2410; --stan-uwaga-ramka: #5C4A12;
    --stan-blad: #FF6B6B; --stan-blad-tlo: #2E1416;
    --stan-w-toku: #7DA7FF; --stan-w-toku-tlo: #111C2E;
    --st-prz: oklch(.80 0 0); --st-pis: oklch(.80 .11 255); --st-wys: oklch(.80 .09 195); --st-kli: oklch(.80 .11 300);
    --st-ok: oklch(.80 .13 150); --st-spr: oklch(.80 .11 355); --st-termin: oklch(.80 .12 75);
    --sl-ok: oklch(.80 .13 150); --sl-malo: oklch(.80 .12 85); --sl-duzo: oklch(.80 .12 25); --sl-brak: oklch(.80 0 0);
    --pasmo-1: oklch(.80 .12 25); --pasmo-2: oklch(.80 .12 55); --pasmo-3: oklch(.80 .12 95); --pasmo-4: oklch(.80 .13 150);
    --tint: 20%; --tint-mocny: 28%; --tint-tekst: 34%; --tor: 26%;
  }
}
:root[data-theme="dark"] {
  color-scheme: dark;
  --tlo: #0A0A0C; --pow: #16161C; --pow-2: #1C1C23; --pow-3: #25252E;
  --linia: rgba(255, 255, 255, .08); --linia-mocna: rgba(255, 255, 255, .14);
  --tekst: #F7F7F9; --tekst-2: #B4B4BE; --tekst-3: #8C8C97;
  --glowny: #F7F7F9; --na-glownym: #16161C;
  --akcent: #6EA8FF; --akcent-tlo: #111C2E;
  --menu-tlo: rgba(255, 255, 255, .035); --menu-linia: rgba(255, 255, 255, .1); --menu-cien: none; --menu-aktywne: #242429; --menu-najechane: rgba(36, 36, 41, .6);
  --belka-tlo: rgba(255, 255, 255, .03); --belka-linia: rgba(255, 255, 255, .09); --rozmycie-menu: blur(16px);
  --poswiata: radial-gradient(1200px 900px at 95% -5%, rgba(255, 44, 44, .2), rgba(0, 0, 0, 0) 55%), radial-gradient(1000px 800px at 0% 30%, rgba(176, 26, 26, .13), rgba(0, 0, 0, 0) 58%), radial-gradient(1100px 900px at 90% 95%, rgba(255, 44, 44, .1), rgba(0, 0, 0, 0) 60%);
  --zaslona: rgba(0, 0, 0, .6);
  --cien: 0 30px 70px -40px rgba(0, 0, 0, .9);
  --cien-unos: 0 40px 80px -36px rgba(0, 0, 0, 1);
  --stan-ok: #4ADE80; --stan-ok-tlo: #102A1C; --stan-ok-ramka: #2C5F45;
  --stan-uwaga: #FACC15; --stan-uwaga-tlo: #2A2410; --stan-uwaga-ramka: #5C4A12;
  --stan-blad: #FF6B6B; --stan-blad-tlo: #2E1416;
  --stan-w-toku: #7DA7FF; --stan-w-toku-tlo: #111C2E;
  --st-prz: oklch(.80 0 0); --st-pis: oklch(.80 .11 255); --st-wys: oklch(.80 .09 195); --st-kli: oklch(.80 .11 300);
  --st-ok: oklch(.80 .13 150); --st-spr: oklch(.80 .11 355); --st-termin: oklch(.80 .12 75);
  --sl-ok: oklch(.80 .13 150); --sl-malo: oklch(.80 .12 85); --sl-duzo: oklch(.80 .12 25); --sl-brak: oklch(.80 0 0);
  --pasmo-1: oklch(.80 .12 25); --pasmo-2: oklch(.80 .12 55); --pasmo-3: oklch(.80 .12 95); --pasmo-4: oklch(.80 .13 150);
  --tint: 20%; --tint-mocny: 28%; --tint-tekst: 34%; --tor: 26%;
}

/* ===== podstawy ===== */
*, *::before, *::after { box-sizing: border-box; }
:root { padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px); -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--tlo); color: var(--tekst); font-family: var(--font); font-size: var(--t-14); line-height: var(--lh); font-weight: 400; font-variant-numeric: tabular-nums; -webkit-font-smoothing: antialiased; }
h1, h2, h3, h4, p, ul, ol, dl, dd, blockquote, figure { margin: 0; }
h1, h2, h3, h4 { font-size: inherit; font-weight: 600; }
ul, ol { padding: 0; list-style: none; }
small, code { font-size: inherit; }
b, strong { font-weight: 600; }
a { color: inherit; text-decoration: none; }
button, input, select, textarea { font: inherit; color: inherit; letter-spacing: inherit; }
button { cursor: pointer; }
[hidden] { display: none !important; }
:root:not([data-rola="spec"]) [data-tylko="spec"] { display: none !important; }
:root[data-rola="spec"] [data-bez="spec"] { display: none !important; }
:focus-visible { outline: var(--b-2) solid var(--akcent); outline-offset: var(--b-2); }
.ts-ukryte { position: absolute !important; width: var(--b); height: var(--b); overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.ts-ikona { width: var(--ikona); height: var(--ikona); flex: none; }

/* kolory kategorii: jeden mechanizm dla kropek, znaczników, pasków i stanów */
[data-kat="neutralny"], [data-kat="prz"], [data-kat="deklaracja"] { --kolor: var(--st-prz); }
[data-kat="nieuzyte"] { --kolor: var(--sl-brak); }
[data-kat="pisanie"] { --kolor: var(--st-pis); }
[data-kat="wysylka"] { --kolor: var(--st-wys); }
[data-kat="klient"] { --kolor: var(--st-kli); }
[data-kat="ok"] { --kolor: var(--st-ok); }
[data-kat="uwaga"] { --kolor: var(--st-spr); }
[data-kat="termin"] { --kolor: var(--st-termin); }
[data-kat="malo"] { --kolor: var(--sl-malo); }
[data-kat="duzo"] { --kolor: var(--sl-duzo); }
[data-pasmo="1"] { --kolor: var(--pasmo-1); }
[data-pasmo="2"] { --kolor: var(--pasmo-2); }
[data-pasmo="3"] { --kolor: var(--pasmo-3); }
[data-pasmo="4"] { --kolor: var(--pasmo-4); }
.ts-kropka { display: inline-block; width: var(--kropka); height: var(--kropka); border-radius: 50%; background: var(--kolor, var(--st-prz)); flex: none; }
.ts-pigulka { display: inline-flex; align-items: center; gap: var(--s-2); height: var(--h-maly); padding: 0 var(--s-3); border-radius: var(--r-pelny); background: color-mix(in oklch, var(--kolor, var(--st-prz)) var(--tint), var(--pow)); font-size: var(--t-14); font-weight: 500; color: var(--tekst); white-space: nowrap; }
.ts-pigulka::before { content: ""; width: var(--kropka); height: var(--kropka); border-radius: 50%; background: var(--kolor, var(--st-prz)); }
.ts-pigulka:empty { display: none; }
.ts-ocena-kwadrat { display: inline-flex; align-items: center; justify-content: center; min-width: var(--h); height: var(--h-maly); padding: 0 var(--s-2); border-radius: var(--r-maly); background: color-mix(in oklch, var(--kolor) var(--tint-mocny), var(--pow)); box-shadow: inset 0 0 0 var(--b) color-mix(in oklch, var(--kolor) 60%, transparent); font-size: var(--t-14); font-weight: 700; color: var(--tekst); }
.ts-brak { color: var(--tekst-3); font-weight: 500; }
.ts-znaczek { display: inline-flex; align-items: center; height: var(--h-licznik); padding: 0 var(--s-2); border-radius: var(--r-maly); background: var(--pow-3); font-size: var(--t-12); font-weight: 600; color: var(--tekst-2); white-space: nowrap; }
.ts-licznik { font-size: var(--t-12); font-weight: 600; color: var(--tekst-2); }
.ts-licznik-pelny { display: inline-flex; align-items: center; justify-content: center; min-width: var(--h-licznik); height: var(--h-licznik); padding: 0 var(--s-1); border-radius: var(--r-pelny); background: var(--glowny); color: var(--na-glownym); font-size: var(--t-12); font-weight: 700; }
.ts-podpowiedz { font-size: var(--t-14); font-weight: 500; color: var(--tekst-2); }
.ts-podpowiedz b { color: var(--tekst); }
.ts-link { color: var(--akcent); font-weight: 500; }
.ts-link:hover, .ts-link-cichy:hover { text-decoration: underline; }
.ts-link-cichy { font-weight: 600; color: var(--tekst); }

/* pasek postępu: jeden komponent dla wyniku, pokrycia słów, sekcji i pytań */
.ts-postep { position: relative; height: var(--pasek-postepu); border-radius: var(--r-pelny); background: var(--pow-3); overflow: hidden; }
.ts-postep > i { position: absolute; inset: 0 auto 0 0; width: calc(var(--p, 0) * 1%); border-radius: inherit; background: var(--kolor, var(--st-ok)); }


/* poświata marki pod całym narzędziem, jak w GEO ([data-surface=panel]::before) */
body::before { content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none; background: var(--poswiata); }
body { isolation: isolate; }

/* ===== kontrolki (GEO: przyciski-pigułki, pola 12 px, główny przycisk marki) ===== */
.ts-guzik { display: inline-flex; align-items: center; justify-content: center; gap: var(--s-2); height: var(--h); padding: 0 var(--s-4); border: var(--b) solid var(--linia-mocna); border-radius: var(--r-pelny); background: var(--pow); color: var(--tekst); font-size: var(--t-14); font-weight: 600; white-space: nowrap; transition: background-color .18s ease, box-shadow .2s ease, transform .2s ease; }
.ts-guzik:hover { background: var(--pow-2); }
.ts-guzik > .ts-ikona { width: var(--ikona-mala); height: var(--ikona-mala); }
@property --kat-obwodki { syntax: "<angle>"; inherits: false; initial-value: 0deg; }
@keyframes ts-obieg-obwodki { to { --kat-obwodki: 360deg; } }
.ts-guzik[data-wariant="glowny"] { position: relative; isolation: isolate; border: var(--b) solid transparent; color: #FFFFFF; font-weight: 700;
  background: linear-gradient(135deg, var(--cta-1) 0%, var(--cta-2) 100%) padding-box, conic-gradient(from var(--kat-obwodki), transparent 0%, var(--cta-iskra) 10%, var(--cta-blask) 20%, var(--cta-iskra) 30%, transparent 40%) border-box;
  animation: ts-obieg-obwodki 8s linear infinite; box-shadow: var(--cta-cien); }
.ts-guzik[data-wariant="glowny"]:hover { transform: scale(1.03); box-shadow: var(--cta-cien-najechany); background: linear-gradient(135deg, var(--cta-1) 0%, var(--cta-2) 100%) padding-box, conic-gradient(from var(--kat-obwodki), transparent 0%, var(--cta-iskra) 10%, var(--cta-blask) 20%, var(--cta-iskra) 30%, transparent 40%) border-box; }
.ts-guzik[data-wariant="glowny"]:focus-visible { outline: var(--b-2) solid var(--cta-iskra); outline-offset: var(--b-4); }
@media (prefers-reduced-motion: reduce) { .ts-guzik[data-wariant="glowny"] { animation: none; } .ts-guzik[data-wariant="glowny"]:hover { transform: none; } }
.ts-guzik[data-wariant="cichy"] { background: transparent; border-color: transparent; color: var(--tekst-2); }
.ts-guzik[data-wariant="cichy"]:hover { background: var(--pow-2); color: var(--tekst); }
.ts-guzik[data-wariant="ok"] { border-color: var(--stan-ok-ramka); background: var(--stan-ok-tlo); color: var(--stan-ok); }
.ts-guzik[data-wariant="ok"]:hover { filter: brightness(.97); }
.ts-guzik[data-wariant="usun"] { color: var(--stan-blad); }
.ts-guzik[data-wariant="usun"]:hover { background: var(--stan-blad-tlo); }
.ts-guzik[data-zablokowany], .ts-guzik[data-wariant="glowny"][data-zablokowany] { animation: none; background: var(--pow-3); border-color: var(--pow-3); color: var(--tekst-2); box-shadow: none; transform: none; font-weight: 600; }
.ts-guzik[data-zablokowany]:hover { background: var(--linia-mocna); transform: none; box-shadow: none; }
.ts-guzik .ts-licznik-pelny { background: var(--st-termin); color: var(--na-glownym); }
.ts-guzik[data-wariant="glowny"] .ts-licznik-pelny { background: #FFFFFF; color: var(--cta-2); }
.ts-guzik-maly { height: var(--h-maly); padding: 0 var(--s-3); font-size: var(--t-14); }
.ts-guzik-ikona { display: inline-flex; align-items: center; justify-content: center; min-width: var(--h); height: var(--h); padding: 0 var(--s-2); border: 0; border-radius: var(--r); background: transparent; color: var(--tekst-2); font-size: var(--t-16); font-weight: 600; }
.ts-guzik-ikona:hover { background: var(--pow-3); color: var(--tekst); }
.ts-guzik-ikona[aria-pressed="true"], .ts-guzik-ikona[aria-expanded="true"]:not(.ts-menu) { background: var(--akcent-tlo); color: var(--akcent); }
.ts-okragly { border-radius: 50%; min-width: var(--h); width: var(--h); padding: 0; }
.ts-wejscie { display: block; width: 100%; min-height: var(--h); padding: var(--s-2) var(--s-3); border: var(--b) solid var(--linia-mocna); border-radius: var(--r-pole); background: var(--pow); color: var(--tekst); font-size: var(--t-14); line-height: var(--lh); }
textarea.ts-wejscie { resize: none; overflow: hidden; }
.ts-wejscie::placeholder, .ts-szukaj input::placeholder { color: var(--tekst-3); }
.ts-wejscie:focus { outline: none; border-color: color-mix(in srgb, var(--akcent) 60%, transparent); background: var(--pow); box-shadow: 0 0 0 var(--b-4) color-mix(in srgb, var(--akcent) 14%, transparent); }
.ts-wybor { position: relative; display: inline-flex; align-items: center; min-width: 0; }
.ts-wybor select { appearance: none; -webkit-appearance: none; height: var(--h); padding: 0 var(--s-8) 0 var(--s-3); border: var(--b) solid var(--linia-mocna); border-radius: var(--r-pole); background: var(--pow); font-size: var(--t-14); font-weight: 500; cursor: pointer; max-width: 100%; text-overflow: ellipsis; }
.ts-wybor .ts-ikona { position: absolute; right: var(--s-2); width: var(--ikona-mala); height: var(--ikona-mala); pointer-events: none; color: var(--tekst-2); }
/* przełącznik widoku jak lista zakładek w GEO: pigułka z tłem i białą pigułką wybranej pozycji */
.ts-segment { display: inline-flex; gap: var(--s-1); height: var(--h); padding: var(--b-3); border: var(--b) solid var(--linia); border-radius: var(--r-pelny); background: var(--pow-2); flex: none; }
.ts-segment > button { display: inline-flex; align-items: center; justify-content: center; gap: var(--s-2); height: 100%; padding: 0 var(--s-4); border: 0; border-radius: var(--r-pelny); background: transparent; color: var(--tekst-2); font-size: var(--t-14); font-weight: 600; white-space: nowrap; }
.ts-segment > button:hover { color: var(--tekst); }
.ts-segment > [aria-selected="true"], .ts-segment > [aria-pressed="true"] { background: var(--pow); color: var(--tekst); box-shadow: var(--cien-pigulka), 0 0 0 var(--b) var(--linia); }
.ts-segment > [aria-selected="true"] .ts-licznik, .ts-segment > [aria-pressed="true"] .ts-licznik { color: var(--tekst); }
/* wyszukiwarka i Filtry jak nad listą projektów GEO */
.ts-szukaj { position: relative; display: flex; align-items: center; width: var(--szukaj); }
.ts-szukaj .ts-ikona { position: absolute; left: var(--s-4); width: var(--ikona-mala); height: var(--ikona-mala); color: var(--tekst-2); pointer-events: none; }
.ts-szukaj input { width: 100%; height: var(--h); padding: 0 var(--s-4) 0 calc(var(--s-8) + var(--s-2)); border: var(--b) solid var(--linia-mocna); border-radius: var(--r-pelny); background: var(--pow); font-size: var(--t-14); }
.ts-szukaj input:focus { outline: none; border-color: color-mix(in srgb, var(--akcent) 60%, transparent); box-shadow: 0 0 0 var(--b-4) color-mix(in srgb, var(--akcent) 14%, transparent); }
.ts-przelacznik { display: inline-flex; align-items: center; gap: var(--s-2); height: var(--h); padding: 0 var(--s-3); border: var(--b) solid transparent; border-radius: var(--r-pelny); background: transparent; color: var(--tekst-2); font-size: var(--t-14); font-weight: 600; white-space: nowrap; }
.ts-przelacznik:hover { background: var(--pow-3); color: var(--tekst); }
.ts-przelacznik[aria-pressed="true"] { background: var(--akcent-tlo); color: var(--akcent); border-color: color-mix(in oklch, var(--akcent) 40%, transparent); }
/* karta: biała, miękka linia i promień 20 px jak karta GEO */
.ts-karta { background: var(--pow); border: var(--b) solid var(--linia); border-radius: var(--r-karta); box-shadow: var(--cien); }
.ts-nadtytul { margin-bottom: var(--s-1); font-size: var(--t-12); font-weight: 600; letter-spacing: var(--rozstrzelenie); text-transform: uppercase; color: var(--tekst-2); }

/* ===== powłoka: menu boczne i belka z okruszkami (GEO: app-sidebar.tsx, header.tsx) ===== */
.ts-boczny { position: fixed; z-index: 45; inset: 0 auto 0 0; display: flex; flex-direction: column; width: var(--boczny); padding: var(--s-6) var(--s-3) var(--s-4); background: var(--menu-tlo); border-right: var(--b) solid var(--menu-linia); box-shadow: var(--menu-cien); -webkit-backdrop-filter: var(--rozmycie-menu); backdrop-filter: var(--rozmycie-menu); overflow-y: auto; }
.ts-marka { display: flex; align-items: center; height: var(--logo); margin: 0 var(--s-2) var(--s-6); flex: none; }
.ts-logo { display: block; height: var(--logo); width: auto; color: var(--tekst); }
.ts-logo .ts-logo-znak, .ts-sygnet .ts-logo-znak { fill: var(--logo-znak); }
.ts-logo path, .ts-logo polygon { fill: currentColor; }
.ts-sygnet { display: none; height: var(--sygnet); width: auto; }
.ts-nawigacja { display: grid; gap: var(--b-2); }
.ts-grupa-menu { padding: var(--s-4) var(--s-3) var(--s-2); font-size: var(--t-12); font-weight: 600; letter-spacing: var(--rozstrzelenie); text-transform: uppercase; color: var(--tekst-3); }
.ts-grupa-menu:first-child { padding-top: 0; }
.ts-nawigacja a { position: relative; display: flex; align-items: center; gap: var(--s-3); height: var(--h-menu); padding: 0 var(--s-3); border-radius: var(--r); color: var(--tekst-2); font-size: var(--t-14); font-weight: 500; white-space: nowrap; transition: background-color .15s, color .15s; }
.ts-nawigacja a .ts-ikona { width: var(--ikona-menu); height: var(--ikona-menu); color: var(--tekst-3); }
.ts-nawigacja a:hover { background: var(--menu-najechane); color: var(--tekst); }
.ts-nawigacja a[aria-current="page"] { background: var(--menu-aktywne); color: var(--tekst); font-weight: 600; }
.ts-nawigacja a[aria-current="page"] .ts-ikona { color: var(--marka); }
.ts-nawigacja a[aria-current="page"]::before { content: ""; position: absolute; left: calc(var(--wciecie-menu) * -1); top: 50%; width: var(--b-3); height: calc(var(--s-4) + var(--b-2)); margin-top: calc((var(--s-4) + var(--b-2)) / -2); border-radius: 0 var(--b-2) var(--b-2) 0; background: var(--marka); }
.ts-zaslona { position: fixed; inset: 0; z-index: 44; background: var(--zaslona); }

.ts-rama { min-width: 0; margin-left: var(--boczny); container: rama / inline-size; }
.ts-belka { position: sticky; top: 0; z-index: 40; height: var(--h-belka); background: var(--belka-tlo); border-bottom: var(--b) solid var(--belka-linia); -webkit-backdrop-filter: var(--rozmycie); backdrop-filter: var(--rozmycie); }
.ts-belka-srodek { display: flex; align-items: center; gap: var(--s-2); height: 100%; padding-inline: var(--s-4) var(--s-6); }
.ts-menu { min-width: var(--h-maly); height: var(--h-maly); width: var(--h-maly); padding: 0; color: var(--tekst-2); }
.ts-menu .ts-ikona { width: var(--ikona-mala); height: var(--ikona-mala); }
.ts-okruszki { min-width: 0; flex: 1 1 auto; }
.ts-okruszki ol { display: flex; align-items: center; gap: var(--s-2); min-width: 0; padding-left: var(--s-1); font-size: var(--t-14); }
.ts-okruszki li { display: inline-flex; align-items: center; gap: var(--s-2); min-width: 0; white-space: nowrap; }
.ts-okruszki li + li::before { content: ""; width: var(--s-2); height: var(--s-2); border-top: var(--b-2) solid var(--tekst-3); border-right: var(--b-2) solid var(--tekst-3); transform: rotate(45deg) scale(.8); flex: none; }
.ts-okruszki a { color: var(--tekst-3); font-weight: 500; }
.ts-okruszki a:hover { color: var(--marka); }
.ts-okruszki [aria-current="page"] { overflow: hidden; text-overflow: ellipsis; color: var(--tekst); font-weight: 600; }
.ts-belka-prawo { display: flex; align-items: center; gap: var(--s-2); margin-left: auto; }
.ts-osoba { position: relative; display: inline-flex; align-items: center; gap: var(--s-2); height: var(--h); padding: 0 var(--s-8) 0 var(--b-2); border-radius: var(--r-pelny); cursor: pointer; }
.ts-osoba:hover { background: var(--pow-3); }
.ts-osoba select { position: absolute; inset: 0; width: 100%; opacity: 0; cursor: pointer; }
.ts-osoba > .ts-ikona { position: absolute; right: var(--s-3); width: var(--ikona-mala); height: var(--ikona-mala); color: var(--tekst-2); pointer-events: none; }
.ts-osoba-tekst { display: flex; flex-direction: column; line-height: var(--lh-ciasna); }
.ts-osoba-tekst b { font-size: var(--t-14); }
.ts-osoba-tekst span { font-size: var(--t-12); font-weight: 500; color: var(--tekst-2); }
.ts-awatar { display: inline-flex; align-items: center; justify-content: center; width: var(--awatar); height: var(--awatar); border-radius: 50%; background: var(--menu-aktywne); font-size: var(--t-12); font-weight: 600; color: var(--marka); flex: none; }
.ts-motyw .ik-slonce { display: none; }
.ts-motyw svg { width: var(--ikona-mala); height: var(--ikona-mala); }
:root[data-theme="dark"] .ts-motyw .ik-slonce { display: block; }
:root[data-theme="dark"] .ts-motyw .ik-ksiezyc { display: none; }
@media (prefers-color-scheme: dark) {
  :root:not([data-theme="light"]) .ts-motyw .ik-slonce { display: block; }
  :root:not([data-theme="light"]) .ts-motyw .ik-ksiezyc { display: none; }
}
/* menu zwinięte do ikon (przełącznik w belce; domyślnie poniżej 1280 px) */
:root[data-menu="ikony"] .ts-boczny { width: var(--boczny-ikony); padding-inline: var(--s-2); align-items: center; }
:root[data-menu="ikony"] .ts-rama { margin-left: var(--boczny-ikony); }
:root[data-menu="ikony"] .ts-logo { display: none; }
:root[data-menu="ikony"] .ts-sygnet { display: block; }
:root[data-menu="ikony"] .ts-marka { margin: 0 0 var(--s-6); padding-left: var(--s-3); align-self: stretch; justify-content: flex-start; }
:root[data-menu="ikony"] .ts-nawigacja { width: 100%; }
:root[data-menu="ikony"] .ts-grupa-menu { height: 0; margin: var(--s-2) var(--s-1); padding: 0; overflow: hidden; border-top: var(--b) solid var(--menu-linia); }
:root[data-menu="ikony"] .ts-grupa-menu:first-child { display: none; }
:root[data-menu="ikony"] .ts-nawigacja a { justify-content: center; padding: 0; }
:root[data-menu="ikony"] .ts-nawigacja a span { position: absolute; width: var(--b); height: var(--b); overflow: hidden; clip-path: inset(50%); }
:root[data-menu="ikony"] .ts-nawigacja a::before { display: none; }

/* ===== strona i ekrany ===== */
.ts-strona { width: 100%; max-width: calc(var(--szer) + 2 * var(--gutter)); margin-inline: auto; padding: var(--s-6) max(var(--gutter), env(safe-area-inset-right, 0px)) var(--s-8) max(var(--gutter), env(safe-area-inset-left, 0px)); }
:root[data-ekran="edytor"] { --szer: var(--szer-pisania); }
.ts-ekran { display: none; }
.ts-ekran.ts-aktywny { display: block; }
.ts-tytul { font-size: var(--t-22); font-weight: 700; line-height: var(--lh-ciasna); letter-spacing: -.01em; }
.ts-akcje { display: flex; flex-wrap: wrap; align-items: center; justify-content: flex-end; gap: var(--s-2); }
.ts-stan-kroku { display: inline-flex; align-items: center; gap: var(--s-2); height: var(--h); padding: 0 var(--s-4); border-radius: var(--r-pelny); background: var(--pow-3); font-size: var(--t-14); font-weight: 500; color: var(--tekst-2); }

/* ===== A: lista tekstów i D: lista kart (wzór: lista projektów GEO) ===== */
.ts-glowa-listy { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-4); margin-bottom: var(--s-4); }
.ts-narzedzia-listy { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-3); margin-bottom: var(--s-4); }
.ts-narzedzia-listy .ts-segment { margin-right: var(--s-2); }
.ts-arkusz { color: var(--tekst-2); font-weight: 500; }
.ts-arkusz b { color: var(--tekst); font-weight: 600; }
.ts-arkusz .ts-ikona { width: var(--ikona-mala); height: var(--ikona-mala); }
.ts-arkusz[data-odczyt] .ts-ikona:last-child { animation: ts-obrot .8s linear infinite; }
@keyframes ts-obrot { to { transform: rotate(360deg); } }
.ts-filtr { position: relative; }
.ts-filtr-panel { position: absolute; z-index: 30; left: 0; top: calc(100% + var(--s-2)); display: grid; gap: var(--s-3); width: var(--pole-filtra); padding: var(--s-4); border: var(--b) solid var(--linia-mocna); border-radius: var(--r-tabela); background: var(--pow); box-shadow: var(--cien-unos); }
.ts-pole-filtra { display: grid; gap: var(--s-1); font-size: var(--t-14); font-weight: 600; }
.ts-pole-filtra .ts-wybor, .ts-pole-filtra select { width: 100%; }
.ts-aktywne-filtry { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.ts-aktywne-filtry:not(:empty) { margin-bottom: var(--s-4); }
.ts-filtr-znacznik { display: inline-flex; align-items: center; gap: var(--s-1); height: var(--h-maly); padding: 0 var(--s-2) 0 var(--s-3); border: var(--b) solid var(--linia-mocna); border-radius: var(--r-pelny); background: var(--pow); font-size: var(--t-14); font-weight: 600; }
.ts-filtr-znacznik span { color: var(--tekst-2); font-weight: 500; }
.ts-filtr-znacznik .ts-ikona { width: var(--ikona-mala); height: var(--ikona-mala); color: var(--tekst-2); }

.ts-lista { overflow: hidden; border-radius: var(--r-tabela); border-color: var(--linia-mocna); }
.ts-lista-kart-zadan:not([hidden]) { margin-bottom: var(--s-6); }
.ts-lista-naglowek, .ts-wiersz { display: grid; grid-template-columns: var(--kolumny); align-items: center; gap: var(--s-4); padding: 0 var(--s-6); }
.ts-lista-naglowek { height: var(--h-grupa); border-bottom: var(--b) solid var(--linia-mocna); background: var(--pow-2); font-size: var(--t-12); font-weight: 600; letter-spacing: var(--rozstrzelenie); text-transform: uppercase; color: var(--tekst-2); }
.ts-grupa-glowa { display: flex; align-items: center; gap: var(--s-2); width: 100%; height: var(--h-grupa); padding: 0 var(--s-6); border: 0; border-bottom: var(--b) solid var(--linia); background: var(--pow); font-size: var(--t-14); font-weight: 700; text-align: left; }
.ts-grupa-glowa:hover { background: var(--pow-2); }
.ts-grupa-glowa > .ts-ikona { width: var(--ikona-mala); height: var(--ikona-mala); color: var(--tekst-2); transition: transform .15s; }
.ts-grupa-glowa[aria-expanded="false"] > .ts-ikona { transform: rotate(-90deg); }
.ts-grupa-glowa .ts-licznik { display: inline-flex; align-items: center; height: var(--h-licznik); padding: 0 var(--s-2); border-radius: var(--r-pelny); background: var(--pow-3); }
.ts-wiersz { min-height: var(--h-wiersz); padding-block: var(--s-3); border-bottom: var(--b) solid var(--linia); font-size: var(--t-14); transition: background-color .18s ease; }
.ts-wiersz:hover { background: var(--pow-2); }
.ts-wiersz:hover .ts-fraza-tekst { text-decoration: underline; }
.ts-grupa:last-child .ts-grupa-wiersze > .ts-wiersz:last-child, #wiersze-kart > .ts-wiersz:last-child, .ts-lista-kart-zadan .ts-wiersz:last-child { border-bottom: 0; }
.ts-wiersz > span { min-width: 0; }
.c-fraza { display: flex; align-items: center; gap: var(--s-2); min-width: 0; }
.ts-fraza-tekst { font-weight: 600; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.c-klient, .c-rodzaj { color: var(--tekst-2); font-weight: 500; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.c-slowa { color: var(--tekst-2); font-weight: 500; white-space: nowrap; }
.c-slowa b { color: var(--tekst); }
.c-termin { display: flex; flex-wrap: nowrap; align-items: center; gap: var(--s-2); white-space: nowrap; font-weight: 500; }
.ts-po-terminie { white-space: nowrap; display: inline-flex; align-items: center; height: var(--h-licznik); padding: 0 var(--s-2); border-radius: var(--r-pelny); background: color-mix(in oklch, var(--st-termin) var(--tint-mocny), var(--pow)); font-size: var(--t-12); font-weight: 700; color: var(--tekst); }
.c-kto { font-weight: 600; white-space: nowrap; }
.ts-etykieta-m { display: none; }
.ts-lista-pusta { display: flex; flex-direction: column; align-items: center; gap: var(--s-3); padding: var(--s-8); color: var(--tekst-2); font-weight: 500; }
.ts-czeka-na-karte { display: inline-flex; align-items: center; gap: var(--s-1); height: var(--h-licznik); padding: 0 var(--s-2); border-radius: var(--r-pelny); background: var(--stan-uwaga-tlo); color: var(--stan-uwaga); font-size: var(--t-12); font-weight: 600; white-space: nowrap; }

/* klient w wierszu: znak strony (pierwsza litera) + nazwa i domena, jak projekt w GEO */
.ts-klient-kom { display: flex; align-items: center; gap: var(--s-3); min-width: 0; }
.ts-favicon { display: inline-flex; align-items: center; justify-content: center; width: var(--favicon); height: var(--favicon); border-radius: var(--r-maly); background: var(--menu-aktywne); color: var(--marka); font-size: var(--t-12); font-weight: 700; flex: none; text-transform: uppercase; }
.ts-klient-nazwy { display: grid; min-width: 0; line-height: var(--lh-ciasna); gap: var(--b-2); }
.ts-klient-nazwy b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600; }
.ts-klient-nazwy small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--tekst-2); font-size: var(--t-12); font-weight: 500; }
.ts-wiersz:hover .ts-klient-nazwy b { text-decoration: underline; }
.ts-stan-karty { display: inline-flex; align-items: center; gap: var(--s-2); height: var(--h-maly); padding: 0 var(--s-3); border: var(--b) solid var(--linia); border-radius: var(--r-pelny); background: var(--pow-2); color: var(--tekst-2); font-size: var(--t-12); font-weight: 600; white-space: nowrap; }
.ts-stan-karty::before { content: ""; width: var(--kropka); height: var(--kropka); border-radius: 50%; background: currentColor; flex: none; }
.ts-stan-karty[data-stan="zatw"] { border-color: var(--stan-ok-ramka); background: var(--stan-ok-tlo); color: var(--stan-ok); }
.ts-stan-karty[data-stan="dozatw"] { border-color: var(--stan-uwaga-ramka); background: var(--stan-uwaga-tlo); color: var(--stan-uwaga); }
.ts-stan-karty[data-stan="zmiany"] { border-color: color-mix(in srgb, var(--stan-w-toku) 35%, transparent); background: var(--stan-w-toku-tlo); color: var(--stan-w-toku); }
.ts-stan-karty[data-stan="czyta"] { color: var(--tekst-2); }
.ts-stan-karty[data-stan="czyta"]::before { background: transparent; border: var(--b-2) solid currentColor; border-right-color: transparent; animation: ts-obrot 1s linear infinite; }
.c-kto-karty { display: flex; align-items: center; gap: var(--s-2); min-width: 0; color: var(--tekst-2); font-weight: 500; white-space: nowrap; }
.ts-kto-wnetrze { display: inline-flex; align-items: center; gap: var(--s-2); min-width: 0; }
.c-kto-karty .ts-awatar { width: var(--h-licznik); height: var(--h-licznik); font-size: var(--t-12); }
.c-fakty, .c-data { color: var(--tekst-2); font-weight: 500; white-space: nowrap; }
.c-fakty b { color: var(--tekst); }
.c-zamowienie { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--tekst-2); font-weight: 500; }
.c-zamowienie b { color: var(--tekst); font-weight: 600; }
.ts-lista-kart-zadan .ts-grupa-glowa { cursor: default; }
.ts-lista-kart-zadan .ts-grupa-glowa:hover { background: var(--pow); }

/* ===== B: ekran pisania ===== */
.ts-glowa-analizy { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-4); margin-bottom: var(--s-4); }
.ts-glowa-analizy-lewo { min-width: 0; }
.ts-tytul-rzad { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3); }
.ts-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-1) var(--s-4); overflow: hidden; margin-top: var(--s-2); font-size: var(--t-14); color: var(--tekst-2); font-weight: 500; }
.ts-meta li { position: relative; display: inline-flex; align-items: center; gap: var(--s-2); }
.ts-meta li::before { content: ""; position: absolute; left: calc(var(--s-2) * -1 - var(--b-3) / 2); top: 50%; width: var(--b-3); height: var(--b-3); margin-top: calc(var(--b-3) / -2); border-radius: 50%; background: var(--tekst-3); }
.ts-meta b { color: var(--tekst); }
.ts-widok { display: none; }
.ts-pisanie { display: grid; grid-template-columns: minmax(0, 1fr) var(--panel); gap: var(--s-6); align-items: start; }

/* edytor: jedna karta jak strona dokumentu */
.ts-edytor { background: var(--pow); border: var(--b) solid var(--linia); border-radius: var(--r-karta); box-shadow: var(--cien); min-width: 0; }
.ts-zamowienie { border-bottom: var(--b) solid var(--linia); }
.ts-zamowienie-pasek { display: flex; align-items: center; gap: var(--s-3); width: 100%; min-height: var(--h-pasek); padding: 0 var(--s-6); border: 0; border-radius: var(--r-karta) var(--r-karta) 0 0; background: var(--pow-2); text-align: left; font-size: var(--t-14); }
.ts-zamowienie-pasek:hover { background: var(--pow-3); }
.ts-zamowienie-etykieta { font-weight: 700; flex: none; }
.ts-zamowienie-skrot { flex: 1 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--tekst-2); font-weight: 500; }
.ts-zamowienie-skrot b { color: var(--tekst); }
.ts-zamowienie-skrot .ts-sep { margin: 0 var(--s-2); color: var(--tekst-3); }
.ts-zamowienie-rozwin { display: inline-flex; align-items: center; gap: var(--s-1); flex: none; color: var(--akcent); font-weight: 600; }
.ts-zamowienie-rozwin .ts-ikona { width: var(--ikona-mala); height: var(--ikona-mala); transition: transform .15s; }
.ts-zamowienie-pasek[aria-expanded="true"] .ts-zamowienie-rozwin .ts-ikona { transform: rotate(180deg); }
.ts-zamowienie-szczegoly { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4) var(--s-8); padding: var(--s-4) var(--s-6) var(--s-6); background: var(--pow-2); }
.ts-zam-kolumna { display: grid; gap: var(--s-4); align-content: start; }
.ts-zam-pole { display: grid; grid-template-columns: var(--kolumna-zam) minmax(0, 1fr); gap: var(--s-3); font-size: var(--t-14); align-items: start; }
.ts-zam-pole dt { color: var(--tekst-2); font-weight: 500; }
.ts-zam-pole dd { font-weight: 500; }
.ts-zam-pole-szerokie { grid-column: 1 / -1; }
.ts-zam-lista { display: grid; gap: var(--s-1); }
.ts-zam-lista li { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); }
.ts-zam-lista .ts-ikona { width: var(--ikona-mala); height: var(--ikona-mala); color: var(--tekst-3); }
.ts-zam-lista small { color: var(--tekst-2); }
.ts-zam-stan { display: inline-flex; align-items: center; gap: var(--s-1); font-size: var(--t-12); font-weight: 700; color: var(--tekst-2); }
.ts-zam-stan[data-kat="ok"] { color: var(--tekst); }
.ts-zam-stan[data-kat="ok"]::before, .ts-zam-stan[data-kat="malo"]::before { content: ""; width: var(--kropka); height: var(--kropka); border-radius: 50%; background: var(--kolor); }
.ts-wytyczne { padding: var(--s-3) var(--s-4); border-left: var(--b-3) solid var(--linia-mocna); background: var(--pow); border-radius: 0 var(--r) var(--r) 0; font-weight: 500; }
.ts-wytyczne small { display: block; margin-top: var(--s-1); color: var(--tekst-2); }

.ts-pola-seo { display: grid; gap: var(--s-2); padding: var(--s-3) var(--s-6); border-bottom: var(--b) solid var(--linia); }
.ts-pole-seo { display: grid; grid-template-columns: var(--etykieta-seo) minmax(0, 1fr); align-items: start; gap: var(--s-3); }
.ts-pole-seo > span { padding-top: var(--s-2); font-size: var(--t-14); font-weight: 700; }
#pole-tytul { font-size: var(--t-16); font-weight: 500; }
.ts-blokada { display: flex; align-items: center; gap: var(--s-2); padding: var(--s-3) var(--s-6); border-bottom: var(--b) solid var(--linia); background: color-mix(in oklch, var(--st-pis) var(--tint), var(--pow)); font-size: var(--t-14); font-weight: 600; }
.ts-blokada .ts-ikona { color: var(--st-pis); }
/* uwagi przy zwrotach: pole pod nagłówkiem i pasek nad tekstem */
.ts-uwagi-pole { display: grid; gap: var(--s-2); margin-bottom: var(--s-4); padding: var(--s-4); border: var(--b) solid var(--linia); border-radius: var(--r-karta); background: var(--pow); box-shadow: var(--cien); }
.ts-uwagi-etykieta { font-size: var(--t-14); font-weight: 700; }
.ts-uwagi-blad { display: flex; align-items: center; gap: var(--s-2); font-size: var(--t-14); font-weight: 600; }
.ts-uwagi-blad::before { content: ""; width: var(--kropka); height: var(--kropka); border-radius: 50%; background: var(--st-spr); flex: none; }
.ts-wejscie[aria-invalid="true"] { border-color: var(--st-spr); box-shadow: 0 0 0 var(--b) var(--st-spr); }
.ts-uwagi-pole .ts-akcje { justify-content: flex-end; }
.ts-uwagi-pasek { display: flex; align-items: flex-start; gap: var(--s-3); padding: var(--s-4) var(--s-6); border-bottom: var(--b) solid var(--linia); border-radius: var(--r-karta) var(--r-karta) 0 0; background: color-mix(in oklch, var(--st-termin) var(--tint), var(--pow)); box-shadow: inset var(--b-3) 0 0 var(--st-termin); }
.ts-uwagi-pasek > .ts-ikona { flex: none; margin-top: var(--b-2); color: var(--st-termin); }
.ts-uwagi-glowa { display: flex; flex-wrap: wrap; gap: 0 var(--s-2); font-size: var(--t-14); font-weight: 700; }
.ts-uwagi-kto { font-weight: 500; color: var(--tekst-2); }
.ts-uwagi-tresc { margin-top: var(--s-1); font-size: var(--t-14); font-weight: 500; white-space: pre-wrap; overflow-wrap: anywhere; }
.ts-uwagi-pasek + .ts-zamowienie .ts-zamowienie-pasek { border-radius: 0; }
.ts-cel-pole { width: var(--pole-celu); margin-bottom: var(--s-1); }
.ts-pasek-narzedzi { position: sticky; top: var(--h-belka); z-index: 10; display: flex; align-items: center; gap: var(--s-1); min-height: var(--h-pasek); padding: var(--s-2) var(--s-4); border-bottom: var(--b) solid var(--linia); background: var(--pow); overflow-x: auto; scrollbar-width: none; }
.ts-pasek-narzedzi::-webkit-scrollbar { display: none; }
.ts-pasek-narzedzi > * { flex: none; }
.ts-pasek-przerwa { width: var(--b); height: var(--s-6); margin: 0 var(--s-1); background: var(--linia-mocna); }
.ts-styl select { border-color: transparent; background: transparent; font-weight: 600; }
.ts-styl select:hover { background: var(--pow-3); }
.ts-kursywa { font-family: Georgia, serif; font-style: italic; }
#pokaz-slowa { margin-left: auto; }
.ts-edytor[data-tylko-podglad] .ts-pasek-narzedzi > :not(#pokaz-slowa) { opacity: .4; pointer-events: none; }
.ts-szukaj-w-tekscie { display: flex; align-items: center; gap: var(--s-3); padding: var(--s-2) var(--s-4); border-bottom: var(--b) solid var(--linia); background: var(--pow-2); }
.ts-szukaj-w-tekscie .ts-szukaj { flex: 0 1 var(--szukaj); }

.ts-kartka { padding: var(--s-8) var(--s-8) var(--s-8) calc(var(--s-8) + var(--rynna)); cursor: text; }
.ts-edytor[data-tylko-podglad] .ts-kartka { cursor: default; }
.ts-h1, .ts-tresc h2, .ts-tresc h3 { position: relative; }
.ts-h1::before, .ts-tresc h2::before, .ts-tresc h3::before { position: absolute; right: 100%; margin-right: var(--s-3); font-size: var(--t-12); font-weight: 700; color: var(--tekst-3); letter-spacing: .02em; line-height: inherit; user-select: none; pointer-events: none; }
.ts-h1::before { content: "H1"; }
.ts-tresc h2::before { content: "H2"; }
.ts-tresc h3::before { content: "H3"; }
.ts-h1 { font-size: var(--t-28); font-weight: 700; line-height: var(--lh-ciasna); letter-spacing: -.01em; outline: none; }
.ts-tresc { font-size: var(--t-16); line-height: var(--lh-tekst); outline: none; }
.ts-tresc > * { margin-top: var(--s-3); }
.ts-tresc > :first-child { margin-top: var(--s-4); }
.ts-tresc h2 { margin-top: var(--s-8); font-size: var(--t-22); line-height: var(--lh-ciasna); font-weight: 700; }
.ts-tresc h3 { margin-top: var(--s-6); font-size: var(--t-18); line-height: var(--lh-ciasna); font-weight: 700; }
.ts-tresc h2 + *, .ts-tresc h3 + * { margin-top: var(--s-2); }
.ts-tresc ul, .ts-tresc ol { padding-left: var(--s-6); }
.ts-tresc ul { list-style: disc; }
.ts-tresc ol { list-style: decimal; }
.ts-tresc li + li { margin-top: var(--s-1); }
.ts-tresc a { color: var(--akcent); text-decoration: underline; text-underline-offset: .2em; }
.ts-tresc p[data-poziom="FAQ"] { margin-top: var(--s-6); font-weight: 700; }
.ts-tresc p[data-poziom="FAQ"] + p { margin-top: var(--s-1); }
.ts-tresc-zrodlo { font-size: var(--t-14); font-weight: 500; color: var(--tekst-2); }
.ts-tresc-element { display: flex; align-items: center; gap: var(--s-2); padding: var(--s-3) var(--s-4); border: var(--b) dashed var(--linia-mocna); border-radius: var(--r); font-size: var(--t-14); font-weight: 500; color: var(--tekst-2); user-select: none; }
.ts-tresc mark { background: color-mix(in oklch, var(--st-spr) var(--tint), transparent); color: inherit; text-decoration: underline wavy; text-decoration-color: var(--st-spr); text-decoration-thickness: var(--b); text-underline-offset: .3em; cursor: pointer; border-radius: var(--r-mini); }
.ts-tresc mark:hover, .ts-tresc mark[data-otwarte] { background: color-mix(in oklch, var(--st-spr) var(--tint-tekst), transparent); }
/* zdanie przekazane specjaliście: spokojne przerywane podkreślenie i etykieta zamiast czerwonej fali */
.ts-tresc mark[data-przekazane] { background: transparent; text-decoration: underline dashed; text-decoration-color: var(--tekst-3); text-decoration-thickness: var(--b); }
.ts-tresc mark[data-przekazane]:hover, .ts-tresc mark[data-przekazane][data-otwarte] { background: var(--pow-3); }
.ts-tresc mark[data-przekazane]::after { content: "do decyzji specjalisty"; display: inline-block; margin-left: var(--s-1); padding: 0 var(--s-1); border-radius: var(--r-mini); background: var(--pow-3); color: var(--tekst-2); font-size: var(--t-12); font-weight: 600; line-height: var(--lh); }
.ts-pusty-szkic { padding: var(--s-8) 0; font-size: var(--t-16); color: var(--tekst-3); font-weight: 500; }
::highlight(ts-slowo-ok) { background-color: color-mix(in oklch, var(--sl-ok) var(--tint-tekst), transparent); }
::highlight(ts-slowo-malo) { background-color: color-mix(in oklch, var(--sl-malo) var(--tint-tekst), transparent); }
::highlight(ts-slowo-duzo) { background-color: color-mix(in oklch, var(--sl-duzo) var(--tint-tekst), transparent); }
::highlight(ts-fraza-ok) { text-decoration-line: underline; text-decoration-style: dotted; text-decoration-color: var(--sl-ok); text-decoration-thickness: var(--b-2); text-underline-offset: var(--s-1); }
::highlight(ts-fraza-malo) { text-decoration-line: underline; text-decoration-style: dotted; text-decoration-color: var(--sl-malo); text-decoration-thickness: var(--b-2); text-underline-offset: var(--s-1); }
::highlight(ts-fraza-duzo) { text-decoration-line: underline; text-decoration-style: dotted; text-decoration-color: var(--sl-duzo); text-decoration-thickness: var(--b-2); text-underline-offset: var(--s-1); }
::highlight(ts-wybrane) { background-color: color-mix(in oklch, var(--akcent) 28%, transparent); text-decoration-line: underline; text-decoration-color: var(--akcent); text-decoration-thickness: var(--b-2); text-underline-offset: var(--s-1); }
::highlight(ts-znalezione) { background-color: color-mix(in oklch, var(--st-termin) 40%, transparent); }
[data-wskazane], [data-podswietlone] { outline: var(--b-2) solid var(--akcent); outline-offset: var(--b-2); }

/* podgląd w Google: wynik wyszukiwania z polami do poprawienia na miejscu */
.ts-google { display: grid; gap: var(--s-4); padding: var(--s-6) var(--s-8) var(--s-6) calc(var(--s-8) + var(--rynna)); border-top: var(--b) solid var(--linia); background: var(--pow-2); }
.ts-google-glowa { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: var(--s-1) var(--s-4); }
.ts-serp { display: grid; gap: var(--s-1); max-width: var(--serp); padding: var(--s-4); border: var(--b) solid var(--linia); border-radius: var(--r-karta); background: var(--pow); }
.ts-serp-strona { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: center; gap: var(--s-1) var(--s-3); }
.ts-serp-ikona { display: inline-flex; align-items: center; justify-content: center; width: var(--h-maly); height: var(--h-maly); border-radius: 50%; background: var(--pow-3); font-size: var(--t-12); font-weight: 700; color: var(--tekst); }
.ts-serp-domena { display: grid; min-width: 0; line-height: var(--lh-ciasna); }
.ts-serp-domena > b { font-size: var(--t-14); font-weight: 500; }
.ts-serp-pole { display: block; width: 100%; margin: 0; padding: var(--b-2) var(--s-1); border: var(--b) dashed transparent; border-radius: var(--r-mini); background: transparent; color: inherit; font: inherit; line-height: inherit; resize: none; overflow: hidden; }
.ts-serp-pole:hover { border-color: var(--linia-mocna); }
.ts-serp-pole:focus { border-style: solid; border-color: var(--akcent); background: var(--pow-2); outline: none; }
.ts-serp-pole[readonly] { border-color: transparent; background: transparent; cursor: default; }
.ts-serp-adres { margin-left: calc(var(--s-1) * -1 - var(--b)); font-size: var(--t-14); color: var(--tekst-2); overflow-wrap: anywhere; }
.ts-serp-tytul { margin: var(--s-1) calc(var(--s-1) * -1 - var(--b)) 0; font-size: var(--t-18); font-weight: 500; line-height: var(--lh-ciasna); color: var(--akcent); }
.ts-serp-opis { margin: 0 calc(var(--s-1) * -1 - var(--b)); font-size: var(--t-14); line-height: var(--lh); color: var(--tekst-2); }
.ts-serp-liczniki { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-6); font-size: var(--t-14); color: var(--tekst-2); font-weight: 500; }
.ts-serp-licznik { display: inline-flex; align-items: center; gap: var(--s-2); }
.ts-serp-licznik b { color: var(--tekst); }
.ts-serp-licznik::before { content: ""; width: var(--kropka); height: var(--kropka); border-radius: 50%; background: var(--kolor, var(--st-prz)); }

.ts-stopka-edytora { position: sticky; bottom: 0; z-index: 10; display: flex; align-items: center; justify-content: space-between; gap: var(--s-4); min-height: var(--h-stopka); padding: 0 var(--s-6); border-top: var(--b) solid var(--linia); border-radius: 0 0 var(--r-karta) var(--r-karta); background: var(--pow); font-size: var(--t-14); color: var(--tekst-2); font-weight: 500; }
.ts-stopka-liczby { display: flex; flex-wrap: wrap; gap: var(--s-1) var(--s-4); }
.ts-stopka-liczby b { color: var(--tekst); }
.ts-zapisano { display: inline-flex; align-items: center; gap: var(--s-2); white-space: nowrap; }
.ts-zapisano .ts-ikona { color: var(--st-ok); }
.ts-zapisano[data-zapis] .ts-ikona { color: var(--tekst-3); }

/* panel prawy: stała szerokość, przyklejony obok tekstu */
.ts-panel { position: sticky; top: calc(var(--h-belka) + var(--s-4)); max-height: calc(100vh - var(--h-belka) - var(--s-8)); overflow-y: auto; overscroll-behavior: contain; background: var(--pow); border: var(--b) solid var(--linia); border-radius: var(--r-karta); box-shadow: var(--cien); scrollbar-width: thin; }
.ts-wynik-blok { display: grid; grid-template-columns: var(--wskaznik) minmax(0, 1fr); align-items: start; gap: var(--s-6); padding: var(--s-6); border-bottom: var(--b) solid var(--linia); }
.ts-wynik-lewo { display: grid; gap: var(--s-3); }
.ts-wskaznik { position: relative; width: var(--wskaznik); height: var(--wskaznik-wys); }
.ts-wskaznik svg { display: block; width: 100%; height: 100%; overflow: visible; }
.ts-wskaznik-liczba { position: absolute; left: 0; right: 0; bottom: 0; text-align: center; font-size: var(--t-40); font-weight: 700; line-height: 1; letter-spacing: -.02em; }
.ts-wynik-cele { display: grid; gap: var(--s-2); }
.ts-wynik-cele > div { display: grid; grid-template-columns: auto minmax(0, 1fr); align-items: baseline; column-gap: var(--s-2); }
.ts-wynik-cele dt { display: flex; align-items: center; gap: var(--s-1); font-size: var(--t-14); font-weight: 500; color: var(--tekst-2); }
.ts-wynik-cele dt .ts-ikona { width: var(--ikona-mala); height: var(--ikona-mala); }
.ts-wynik-cele dd b { font-size: var(--t-22); font-weight: 700; line-height: var(--lh-ciasna); }
.ts-wynik-cele .ts-wynik-pod { grid-column: 1 / -1; font-size: var(--t-12); font-weight: 500; color: var(--tekst-2); }
.ts-paski { display: grid; gap: var(--s-3); }
.ts-pasek-wyniku { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-1) var(--s-2); font-size: var(--t-14); }
.ts-pasek-wyniku > span { font-weight: 600; }
.ts-pasek-wyniku > b { text-align: right; font-weight: 700; }
.ts-pasek-wyniku > b small { font-weight: 500; color: var(--tekst-2); }
.ts-pasek-wyniku > .ts-postep { grid-column: 1 / -1; }

.ts-przed-oddaniem { border-bottom: var(--b) solid var(--linia); }
.ts-przed-glowa { display: flex; align-items: center; gap: var(--s-3); width: 100%; min-height: var(--h-pasek); padding: 0 var(--s-6); border: 0; background: transparent; text-align: left; font-size: var(--t-14); }
.ts-przed-glowa:hover { background: var(--pow-2); }
.ts-przed-tytul { font-weight: 700; }
.ts-przed-licznik { display: inline-flex; align-items: center; gap: var(--s-2); margin-left: auto; height: var(--h-maly); padding: 0 var(--s-3); border-radius: var(--r-pelny); background: color-mix(in oklch, var(--kolor, var(--st-termin)) var(--tint-mocny), var(--pow)); font-weight: 700; }
.ts-przed-glowa > .ts-ikona { width: var(--ikona-mala); height: var(--ikona-mala); color: var(--tekst-2); transition: transform .15s; }
.ts-przed-glowa[aria-expanded="true"] > .ts-ikona { transform: rotate(180deg); }
.ts-kontrolna { display: grid; gap: var(--s-3); padding: 0 var(--s-6) var(--s-4); }
.ts-kontrolna li { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s-3); align-items: start; }
.ts-znak { display: inline-flex; align-items: center; justify-content: center; width: var(--h-licznik); height: var(--h-licznik); border-radius: 50%; background: color-mix(in oklch, var(--kolor) var(--tint-mocny), var(--pow)); color: var(--kolor); }
.ts-znak .ts-ikona { width: var(--ikona-mala); height: var(--ikona-mala); }
.ts-kontrolna-tresc { display: grid; font-size: var(--t-14); }
.ts-kontrolna-tresc b { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2); }
.ts-kontrolna-tresc span { color: var(--tekst-2); font-weight: 500; }
.ts-kontrolna-tresc button { padding: 0; border: 0; background: none; color: var(--akcent); font-weight: 600; text-align: left; }
.ts-kontrolna-tresc button:hover { text-decoration: underline; }

.ts-panel-zakladki { position: sticky; top: 0; z-index: 2; display: flex; gap: var(--s-4); padding: 0 var(--s-6); border-bottom: var(--b) solid var(--linia); background: var(--pow); }
.ts-panel-zakladki button { display: inline-flex; align-items: center; gap: var(--s-2); height: var(--h-pasek); padding: 0; border: 0; border-bottom: var(--b-2) solid transparent; background: transparent; color: var(--tekst-2); font-size: var(--t-14); font-weight: 600; white-space: nowrap; }
.ts-panel-zakladki button:hover { color: var(--tekst); }
.ts-panel-zakladki [aria-selected="true"] { color: var(--tekst); border-bottom-color: var(--akcent); }
.ts-panel-tresc { padding: var(--s-4) var(--s-6) var(--s-6); }
.ts-pokrycie { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: var(--s-2) var(--s-3); align-items: center; padding: var(--s-3) var(--s-4); border-radius: var(--r); background: var(--pow-2); font-size: var(--t-14); }
.ts-pokrycie > span { font-weight: 700; }
.ts-pokrycie > b { font-size: var(--t-18); font-weight: 700; }
.ts-pokrycie > .ts-postep { grid-column: 1 / -1; }
/* listy słów: przełącznik segmentowy, żeby nie mylił się z zakładkami panelu */
.ts-podzakladki.ts-segment { display: flex; width: 100%; }
.ts-podzakladki.ts-segment > button { flex: 1 1 0; }
.ts-filtr-stanu { display: flex; flex-wrap: wrap; gap: var(--s-2); margin-top: var(--s-3); }
.ts-filtr-stanu button { display: inline-flex; align-items: center; gap: var(--s-2); height: var(--h-maly); padding: 0 var(--s-2); border: var(--b) solid var(--linia); border-radius: var(--r-maly); background: var(--pow); font-size: var(--t-14); font-weight: 500; color: var(--tekst-2); }
.ts-filtr-stanu button::before { content: ""; width: var(--znak-stanu); height: var(--znak-stanu); border-radius: var(--r-mini); background: color-mix(in oklch, var(--kolor) 55%, var(--pow)); box-shadow: inset 0 0 0 var(--b) var(--kolor); }
.ts-filtr-stanu button[data-stan="wszystkie"]::before { display: none; }
.ts-filtr-stanu button b { color: var(--tekst); }
.ts-filtr-stanu button[aria-pressed="true"] { border-color: var(--tekst); color: var(--tekst); background: var(--pow-2); }
.ts-sekcje-slow { display: grid; grid-template-columns: minmax(0, 1fr); gap: var(--s-3); margin-top: var(--s-3); }
.ts-sekcja-slow { min-width: 0; padding: var(--s-3); border-radius: var(--r); background: var(--pow-2); border: var(--b) solid var(--linia); }
.ts-sekcja-glowa { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--s-3); margin-bottom: var(--s-3); }
.ts-sekcja-tytul { font-size: var(--t-14); font-weight: 700; }
.ts-sekcja-glowa > .ts-podpowiedz { grid-column: 1 / -1; grid-row: 2; }
.ts-sekcja-glowa > b { font-weight: 700; }
.ts-termy { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.ts-term { display: inline-flex; align-items: center; gap: var(--s-2); max-width: 100%; height: var(--h-term); padding: 0 var(--s-1) 0 var(--s-2); border: var(--b) solid color-mix(in oklch, var(--kolor) 45%, transparent); border-radius: var(--r-maly); background: color-mix(in oklch, var(--kolor) var(--tint-mocny), var(--pow)); font-size: var(--t-14); font-weight: 500; color: var(--tekst); text-align: left; }
.ts-term[data-kat="nieuzyte"] { background: var(--pow-3); border-color: transparent; color: var(--tekst-2); }
.ts-term:hover { border-color: var(--kolor); }
.ts-term[aria-pressed="true"] { outline: var(--b-2) solid var(--akcent); outline-offset: var(--b); }
.ts-term[data-odrzucone] { text-decoration: line-through; opacity: .6; }
.ts-term-nazwa { min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ts-term-nazwa strong { font-weight: 700; }
.ts-term-licznik { display: inline-flex; align-items: center; gap: var(--s-1); height: var(--h-licznik); padding: 0 var(--s-2); border-radius: var(--r-mini); background: var(--pow); font-size: var(--t-12); font-weight: 600; color: var(--tekst-2); white-space: nowrap; }
.ts-term-licznik b { color: var(--tekst); font-weight: 700; }
.ts-lista-wiecej { margin-top: var(--s-3); padding: 0; border: 0; background: none; color: var(--akcent); font-size: var(--t-14); font-weight: 600; }
.ts-lista-wiecej:hover { text-decoration: underline; }
.ts-wbrew { margin-top: var(--s-3); padding-top: var(--s-3); border-top: var(--b) dashed var(--linia-mocna); }
.ts-wbrew > p { margin-bottom: var(--s-2); }

/* szczegół słowa: szuflada nad panelem (wzór NW) */
.ts-term-szczegol { background: var(--pow); border-radius: var(--r-karta); }
.ts-panel:has(> .ts-term-szczegol:not([hidden])) > :not(.ts-term-szczegol) { display: none; }
.ts-szuflada-glowa { position: sticky; top: 0; border-radius: var(--r-karta) var(--r-karta) 0 0; z-index: 1; display: flex; align-items: center; gap: var(--s-2); padding: var(--s-3) var(--s-4); border-bottom: var(--b) solid var(--linia); background: var(--pow); }
.ts-szuflada-glowa .ts-guzik { padding: 0 var(--s-3); }
.ts-szuflada-tresc { display: grid; gap: var(--s-4); padding: var(--s-4) var(--s-6) var(--s-6); }
.ts-szuflada-nazwa { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-3); }
.ts-szuflada-nazwa h3 { font-size: var(--t-22); font-weight: 700; line-height: var(--lh-ciasna); }
.ts-szuflada-akcje { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.ts-blok { padding: var(--s-4); border-radius: var(--r); background: var(--pow-2); border: var(--b) solid var(--linia); }
.ts-blok > h4 { margin-bottom: var(--s-3); font-size: var(--t-14); font-weight: 700; }
.ts-uzycie { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-3); }
.ts-uzycie div { display: grid; }
.ts-uzycie dt { font-size: var(--t-14); font-weight: 500; color: var(--tekst-2); }
.ts-uzycie dd { font-size: var(--t-28); font-weight: 700; line-height: var(--lh-ciasna); }
.ts-rada { display: flex; align-items: center; gap: var(--s-2); margin-top: var(--s-3); padding: var(--s-2) var(--s-3); border-radius: var(--r); background: color-mix(in oklch, var(--kolor) var(--tint-mocny), var(--pow)); font-size: var(--t-14); font-weight: 700; }
.ts-rada::before { content: ""; width: var(--kropka); height: var(--kropka); border-radius: 50%; background: var(--kolor); flex: none; }
.ts-konk-paski { display: grid; gap: var(--s-3); }
.ts-konk-paski .ts-pasek-wyniku > span { font-weight: 500; }
.ts-konk-paski .ts-postep > i { background: var(--akcent); }
.ts-zdanie-konk { margin-top: var(--s-3); padding: var(--s-3); border-radius: var(--r); background: var(--pow); font-size: var(--t-14); font-weight: 500; }
.ts-przyklady { display: grid; gap: var(--s-3); }
.ts-przyklady li { display: grid; gap: var(--s-1); padding: var(--s-3); border-radius: var(--r); background: var(--pow); font-size: var(--t-14); line-height: var(--lh); }
.ts-przyklady q { quotes: "„" "”"; }
.ts-przyklady q b { background: color-mix(in oklch, var(--akcent) 18%, transparent); border-radius: var(--r-mini); }
.ts-zrodlo { font-size: var(--t-14); font-weight: 500; color: var(--tekst-2); overflow-wrap: anywhere; }
a.ts-zrodlo { color: var(--akcent); }
a.ts-zrodlo:hover { text-decoration: underline; }
.ts-przyklady-podpis { margin-bottom: var(--s-3); font-size: var(--t-14); font-weight: 700; }

/* pytania */
.ts-pytania { display: grid; gap: var(--s-4); margin-top: var(--s-4); }
.ts-grupa-pytan > h3 { display: flex; align-items: center; gap: var(--s-2); margin-bottom: var(--s-2); font-size: var(--t-14); font-weight: 700; }
.ts-lista-pytan { border: var(--b) solid var(--linia); border-radius: var(--r); overflow: hidden; }
.ts-lista-pytan li { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: var(--s-3); padding: var(--s-3); font-size: var(--t-14); }
.ts-lista-pytan li + li { border-top: var(--b) solid var(--linia); }
.ts-lista-pytan li[data-odrzucone] .ts-pyt-tekst > span:first-child { text-decoration: line-through; color: var(--tekst-3); }
.ts-pyt-tekst { display: grid; gap: var(--s-1); }
.ts-pyt-tekst > span:first-child { font-weight: 600; }
.ts-pyt-zrodlo { font-size: var(--t-12); font-weight: 600; color: var(--tekst-3); }
.ts-pyt-prawa { display: flex; align-items: center; gap: var(--s-1); }
.ts-jest { display: inline-flex; align-items: center; gap: var(--s-1); font-size: var(--t-12); font-weight: 700; color: var(--tekst); white-space: nowrap; }
.ts-jest .ts-ikona { width: var(--ikona-mala); height: var(--ikona-mala); color: var(--st-ok); }

/* konkurenci */
.ts-konk-glowa { display: grid; gap: var(--s-1); }
.ts-uwaga-mala { font-size: var(--t-14); color: var(--tekst-2); font-weight: 500; }
.ts-mediany { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-2); margin-top: var(--s-4); }
.ts-mediana:first-child { grid-column: 1 / -1; }
.ts-mediana { display: grid; padding: var(--s-3); border-radius: var(--r); background: var(--pow-2); border: var(--b) solid var(--linia); }
.ts-mediana dt { font-size: var(--t-12); font-weight: 600; color: var(--tekst-2); }
.ts-mediana dd b { display: block; font-size: var(--t-18); font-weight: 700; }
.ts-mediana dd small { font-size: var(--t-12); font-weight: 500; color: var(--tekst-2); }
.ts-konkurenci { display: grid; gap: var(--s-3); margin-top: var(--s-4); }
.ts-konk { padding: var(--s-3) var(--s-4); border: var(--b) solid var(--linia); border-radius: var(--r); }
.ts-konk[data-pominieta] { opacity: .55; }
.ts-konk-gora { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: var(--s-3); align-items: start; }
.ts-miejsce { display: inline-flex; align-items: center; justify-content: center; min-width: var(--h-maly); height: var(--h-maly); border-radius: var(--r-maly); background: var(--pow-3); font-size: var(--t-14); font-weight: 700; }
.ts-konk-opis { display: grid; gap: var(--s-1); min-width: 0; }
.ts-konk-tytul { font-size: var(--t-14); font-weight: 600; }
.ts-domena { display: inline-flex; align-items: center; gap: var(--s-1); color: var(--akcent); font-size: var(--t-14); font-weight: 500; overflow-wrap: anywhere; }
.ts-domena .ts-ikona { width: var(--ikona-mala); height: var(--ikona-mala); }
.ts-domena:hover { text-decoration: underline; }
.ts-konk-dol { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-2); margin-top: var(--s-2); padding-left: calc(var(--h-maly) + var(--s-3)); font-size: var(--t-14); color: var(--tekst-2); font-weight: 500; }
.ts-konk-dol b { color: var(--tekst); }
.ts-rozwin { display: inline-flex; align-items: center; gap: var(--s-1); padding: 0; border: 0; background: none; color: var(--akcent); font-size: var(--t-14); font-weight: 600; }
.ts-rozwin .ts-ikona { width: var(--ikona-mala); height: var(--ikona-mala); transition: transform .15s; }
.ts-rozwin[aria-expanded="true"] .ts-ikona { transform: rotate(180deg); }
.ts-wlacz { display: inline-flex; align-items: center; gap: var(--s-1); font-size: var(--t-12); font-weight: 600; color: var(--tekst-2); cursor: pointer; }
.ts-wlacz input { width: var(--ikona-mala); height: var(--ikona-mala); accent-color: var(--akcent); }
.ts-drzewo { display: grid; gap: var(--s-1); margin-top: var(--s-3); padding: var(--s-3); border-radius: var(--r); background: var(--pow-2); }
.ts-drzewo li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--s-2); font-size: var(--t-14); }
.ts-drzewo li[data-poziom="3"] { padding-left: var(--s-6); }
.ts-drzewo li > i { font-style: normal; font-size: var(--t-12); font-weight: 700; color: var(--tekst-3); }
.ts-drzewo .ts-guzik-ikona { min-width: var(--h-maly); height: var(--h-maly); }
.ts-drzewo .ts-guzik-ikona .ts-ikona { width: var(--ikona-mala); height: var(--ikona-mala); }

/* dymek zdania sprzecznego z kartą */
.ts-dymek { position: absolute; z-index: 50; width: var(--dymek); max-width: calc(100vw - var(--s-8)); padding: var(--s-4); border: var(--b) solid var(--linia); border-radius: var(--r-karta); background: var(--pow); box-shadow: var(--cien-unos); font-size: var(--t-14); }
.ts-dymek-glowa { display: flex; align-items: flex-start; gap: var(--s-2); margin-bottom: var(--s-3); }
.ts-dymek-glowa .ts-pigulka { margin-right: auto; }
.ts-dymek-glowa .ts-guzik-ikona { min-width: var(--h-maly); height: var(--h-maly); margin: calc(var(--s-1) * -1) calc(var(--s-1) * -1) 0 0; }
.ts-dymek h3 { font-size: var(--t-16); font-weight: 700; line-height: var(--lh-ciasna); }
.ts-dymek dl { display: grid; gap: var(--s-3); margin-top: var(--s-3); }
.ts-dymek dt { font-size: var(--t-12); font-weight: 700; color: var(--tekst-2); }
.ts-dymek dd { font-weight: 500; }
.ts-dymek .ts-akcje { justify-content: flex-start; margin-top: var(--s-4); }


/* ===== C: karta faktów klienta (wzór: Karta klienta w GEO, bramka-prawdy.css) ===== */
.ts-karta-stos { display: grid; gap: var(--s-4); min-width: 0; }
.ts-kblok { min-width: 0; overflow: clip; }
.ts-kblok-glowa { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: var(--s-2) var(--s-4); padding: var(--s-4) var(--s-6); border-bottom: var(--b) solid var(--linia); }
.ts-kblok-glowa h2 { display: flex; align-items: baseline; gap: var(--s-2); font-size: var(--t-16); font-weight: 600; line-height: var(--lh-ciasna); }
.ts-kblok-glowa h2 small { font-size: var(--t-14); font-weight: 500; color: var(--tekst-2); }
.ts-kblok-glowa .ts-akcje { margin-left: auto; }
.ts-kblok-tresc { display: grid; gap: var(--s-3); padding: var(--s-4) var(--s-6) var(--s-6); min-width: 0; }
.ts-kblok-opis { max-width: 72ch; font-size: var(--t-14); font-weight: 500; color: var(--tekst-2); }
/* pasek stanu karty: ikona w kółku, stan z datą i osobą, akcja po prawej, liczniki pod spodem */
.ts-stan-paska { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; align-items: center; gap: var(--s-3) var(--s-4); padding: var(--s-4) var(--s-6); }
.ts-kblok[data-stan] { border-left: var(--b-4) solid var(--linia-mocna); }
.ts-kblok[data-stan="zatw"] { border-left-color: var(--stan-ok); }
.ts-kblok[data-stan="dozatw"] { border-left-color: var(--stan-uwaga); }
.ts-kblok[data-stan="zmiany"] { border-left-color: var(--stan-w-toku); }
.ts-stan-ikona { display: inline-flex; align-items: center; justify-content: center; width: var(--ikona-stanu); height: var(--ikona-stanu); border-radius: 50%; background: var(--pow-3); color: var(--tekst-2); flex: none; }
.ts-stan-ikona .ts-ikona { width: var(--ikona); height: var(--ikona); }
.ts-stan-paska[data-stan="zatw"] .ts-stan-ikona { background: var(--stan-ok-tlo); color: var(--stan-ok); }
.ts-stan-paska[data-stan="dozatw"] .ts-stan-ikona { background: var(--stan-uwaga-tlo); color: var(--stan-uwaga); }
.ts-stan-paska[data-stan="zmiany"] .ts-stan-ikona { background: var(--stan-w-toku-tlo); color: var(--stan-w-toku); }
.ts-stan-paska[data-stan="czyta"] .ts-stan-ikona .ts-ikona { animation: ts-obrot 1.6s linear infinite; }
.ts-stan-tekst { display: grid; gap: var(--b-2); min-width: 0; }
.ts-stan-tekst strong { font-size: var(--t-16); font-weight: 600; line-height: var(--lh-ciasna); }
.ts-stan-tekst span { font-size: var(--t-14); font-weight: 500; color: var(--tekst-2); }
.ts-stan-paska .ts-akcje { justify-self: end; }
.ts-liczniki { display: flex; flex-wrap: wrap; gap: var(--s-2) var(--s-6); padding: 0 var(--s-6) var(--s-4) calc(var(--s-6) + var(--ikona-stanu) + var(--s-4)); font-size: var(--t-14); font-weight: 500; color: var(--tekst-2); }
.ts-liczniki b { color: var(--tekst); font-weight: 700; font-variant-numeric: tabular-nums; }
.ts-liczniki [data-pilne] b { color: var(--stan-uwaga); }
.ts-stan-opis { padding: 0 var(--s-6) var(--s-4) calc(var(--s-6) + var(--ikona-stanu) + var(--s-4)); max-width: calc(72ch + var(--s-8) * 3); font-size: var(--t-14); font-weight: 500; color: var(--tekst-2); }
/* wiersz faktu: treść ze źródłem, akcje Potwierdź / Skoryguj / Usuń */
.ts-fakty { display: grid; gap: var(--s-2); }
.ts-fakt { display: flex; align-items: flex-start; gap: var(--s-3) var(--s-4); padding: var(--s-3) var(--s-4); border: var(--b) solid var(--linia-mocna); border-radius: var(--r); background: var(--pow); min-width: 0; }
.ts-fakt[data-potwierdzony] { border-color: var(--stan-ok-ramka); background: color-mix(in srgb, var(--stan-ok-tlo) 45%, var(--pow)); }
.ts-fakt[data-podswietlone] { box-shadow: 0 0 0 var(--b-2) var(--akcent); }
.ts-fakt-tresc { flex: 1 1 auto; display: grid; gap: var(--s-1); min-width: 0; }
.ts-fakt-zdanie { font-size: var(--t-14); font-weight: 500; line-height: var(--lh); overflow-wrap: anywhere; }
.ts-fakt-zdanie b { font-weight: 600; }
.ts-fakt-nazwa { color: var(--tekst-2); font-weight: 500; }
.ts-fakt-meta { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-1) var(--s-3); font-size: var(--t-12); font-weight: 500; color: var(--tekst-2); }
.ts-fakt-uwaga { font-size: var(--t-12); font-weight: 500; color: var(--tekst-2); }
.ts-zrodlo { color: var(--tekst-2); text-decoration: underline; text-decoration-color: var(--linia-mocna); text-underline-offset: var(--b-2); overflow-wrap: anywhere; }
a.ts-zrodlo:hover { color: var(--tekst); text-decoration-color: currentColor; }
.ts-znak-faktu { display: inline-flex; align-items: center; gap: var(--s-1); height: var(--h-licznik); padding: 0 var(--s-2); border-radius: var(--r-pelny); background: var(--pow-3); color: var(--tekst-2); font-size: var(--t-12); font-weight: 600; white-space: nowrap; }
.ts-znak-faktu .ts-ikona { width: var(--ikona-mala); height: var(--ikona-mala); }
.ts-znak-faktu[data-ton="ok"] { background: var(--stan-ok-tlo); color: var(--stan-ok); }
.ts-znak-faktu[data-ton="uwaga"] { background: var(--stan-uwaga-tlo); color: var(--stan-uwaga); }
.ts-znak-faktu[data-ton="info"] { background: var(--stan-w-toku-tlo); color: var(--stan-w-toku); }
a.ts-znak-faktu:hover { text-decoration: underline; }
.ts-fakt-akcje { flex: none; display: flex; flex-wrap: wrap; gap: var(--s-2); justify-content: flex-end; }
.ts-fakt-akcje .ts-guzik { height: var(--h-maly); padding: 0 var(--s-3); }
.ts-edycja { display: grid; gap: var(--s-2); padding: var(--s-3) var(--s-4); border: var(--b) solid var(--tekst); border-radius: var(--r); background: var(--pow); }
.ts-edycja-siatka { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 2fr); gap: var(--s-2) var(--s-3); }
.ts-edycja-siatka .ts-pole-pelne { grid-column: 1 / -1; }
.ts-etykieta-pola { display: grid; gap: var(--s-1); font-size: var(--t-12); font-weight: 600; letter-spacing: var(--rozstrzelenie); text-transform: uppercase; color: var(--tekst-2); }
.ts-etykieta-pola .ts-wejscie, .ts-etykieta-pola .ts-wybor, .ts-etykieta-pola select { width: 100%; letter-spacing: 0; text-transform: none; }
.ts-edycja .ts-akcje { justify-content: flex-start; }
.ts-podsekcja { margin-top: var(--s-2); font-size: var(--t-12); font-weight: 600; letter-spacing: var(--rozstrzelenie); text-transform: uppercase; color: var(--tekst-3); }
.ts-podsekcja:first-child { margin-top: 0; }
.ts-dwie { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: var(--s-4); align-items: start; }
.ts-chipy { display: flex; flex-wrap: wrap; gap: var(--s-2); }
.ts-chip { display: inline-flex; align-items: center; gap: var(--s-2); max-width: 100%; min-height: var(--h-maly); padding: var(--s-1) var(--s-3); border: var(--b) solid var(--linia-mocna); border-radius: var(--r-pelny); background: var(--pow-2); font-size: var(--t-14); font-weight: 500; min-width: 0; }
.ts-chip small { color: var(--tekst-2); font-size: var(--t-12); }
/* sprzeczności: karty wersji ze źródłem */
.ts-sprzecznosci { display: grid; gap: 0; }
.ts-sprz { display: grid; grid-template-columns: var(--fakt-nazwa) minmax(0, 1fr); gap: var(--s-6); padding: var(--s-4) 0; border-top: var(--b) solid var(--linia); }
.ts-sprz:first-child { border-top: 0; padding-top: 0; }
.ts-sprz-nazwa { display: grid; gap: var(--s-1); align-content: start; font-size: var(--t-14); }
.ts-sprz-nazwa b { font-size: var(--t-14); font-weight: 600; }
.ts-sprz-nazwa span { color: var(--tekst-2); font-weight: 500; font-size: var(--t-12); }
.ts-wersje { display: grid; grid-template-columns: repeat(auto-fill, minmax(calc(var(--szukaj) - var(--s-8) * 3), 1fr)); gap: var(--s-2); }
.ts-wersja { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: var(--s-1) var(--s-3); align-items: start; align-content: start; padding: var(--s-3) var(--s-4); border: var(--b) solid var(--linia-mocna); border-radius: var(--r); background: var(--pow); text-align: left; font-size: var(--t-14); }
.ts-wersja:not([disabled]):hover { border-color: var(--tekst-3); background: var(--pow-2); }
.ts-wersja[disabled] { cursor: default; background: var(--pow-2); }
.ts-wersja-znak { width: var(--ikona); height: var(--ikona); margin-top: var(--b-2); border: var(--b-2) solid var(--linia-mocna); border-radius: 50%; display: inline-flex; align-items: center; justify-content: center; }
.ts-wersja[aria-pressed="true"] { border-color: var(--stan-ok-ramka); background: color-mix(in srgb, var(--stan-ok-tlo) 70%, var(--pow)); }
.ts-wersja[aria-pressed="true"] .ts-wersja-znak { border-color: var(--stan-ok); background: var(--stan-ok); box-shadow: inset 0 0 0 var(--b-3) var(--pow); }
.ts-wersja[aria-pressed="false"][data-odrzucona] { opacity: .55; }
.ts-wersja b { font-weight: 600; }
.ts-wersja small { grid-column: 2; color: var(--tekst-2); font-weight: 500; font-size: var(--t-12); }
.ts-sprz-stan { display: flex; flex-wrap: wrap; align-items: center; gap: var(--s-2) var(--s-3); margin-top: var(--s-2); font-size: var(--t-14); color: var(--tekst-2); font-weight: 500; }
.ts-sprz-stan b { color: var(--tekst); }
/* pusty stan i propozycja w przygotowaniu */
.ts-pusto { display: grid; justify-items: center; gap: var(--s-3); padding: var(--s-8) var(--s-4); text-align: center; border: var(--b) dashed var(--linia-mocna); border-radius: var(--r); }
.ts-pusto p { max-width: 56ch; font-size: var(--t-14); font-weight: 500; color: var(--tekst-2); }
.ts-pusto .ts-guzik { height: auto; min-height: var(--h); padding-block: var(--s-2); white-space: normal; text-align: center; }
.ts-pusto strong { font-size: var(--t-16); font-weight: 600; }
.ts-odczyt-lista { display: flex; flex-wrap: wrap; justify-content: center; gap: var(--s-2); }
.ts-odczyt-lista li { display: inline-flex; align-items: center; gap: var(--s-1); height: var(--h-maly); padding: 0 var(--s-3); border-radius: var(--r-pelny); background: var(--pow-2); border: var(--b) solid var(--linia); font-size: var(--t-12); font-weight: 600; color: var(--tekst-2); }
.ts-odczyt-lista li[data-gotowe] { color: var(--stan-ok); border-color: var(--stan-ok-ramka); background: var(--stan-ok-tlo); }

/* ===== komunikaty ===== */
.ts-toast { position: fixed; z-index: 60; left: 50%; bottom: max(var(--s-6), env(safe-area-inset-bottom, 0px)); transform: translateX(-50%); width: max-content; max-width: min(var(--toast), calc(100vw - var(--s-8))); padding: var(--s-3) var(--s-4); border-radius: var(--r); background: var(--glowny); color: var(--na-glownym); font-size: var(--t-14); font-weight: 500; box-shadow: var(--cien-unos); }
.ts-wroc { position: fixed; z-index: 55; right: max(var(--gutter), env(safe-area-inset-right, 0px)); bottom: max(var(--s-6), env(safe-area-inset-bottom, 0px)); box-shadow: var(--cien-unos); }


/* ===== szerokości: menu na telefonie i tablecie wysuwa się z boku (GEO: Sidebar collapsible) ===== */
@media (max-width: 1023px) {
  .ts-boczny, :root[data-menu="ikony"] .ts-boczny { width: var(--boczny-telefon); padding-inline: var(--s-3); align-items: stretch; transform: translateX(-100%); transition: transform .25s ease; background: var(--pow); -webkit-backdrop-filter: none; backdrop-filter: none; }
  :root[data-menu-otwarte] .ts-boczny { transform: none; box-shadow: var(--cien-unos); }
  .ts-rama, :root[data-menu="ikony"] .ts-rama { margin-left: 0; }
  :root[data-menu="ikony"] .ts-logo { display: block; }
  :root[data-menu="ikony"] .ts-sygnet { display: none; }
  :root[data-menu="ikony"] .ts-marka { margin: 0 var(--s-2) var(--s-6); justify-content: flex-start; }
  :root[data-menu="ikony"] .ts-grupa-menu { height: auto; margin: 0; padding: var(--s-4) var(--s-3) var(--s-2); border-top: 0; overflow: visible; }
  :root[data-menu="ikony"] .ts-grupa-menu:first-child { display: block; padding-top: 0; }
  :root[data-menu="ikony"] .ts-nawigacja a { justify-content: flex-start; padding: 0 var(--s-3); }
  :root[data-menu="ikony"] .ts-nawigacja a span { position: static; width: auto; height: auto; overflow: visible; clip-path: none; }
}
@container rama (max-width: 1280px) { .ts-strona { --panel: var(--panel-waski); } }
/* ===== szerokości ===== */
@container rama (max-width: 1000px) {
  .ts-pisanie { grid-template-columns: minmax(0, 1fr); }
  .ts-widok { display: inline-flex; margin-bottom: var(--s-4); width: 100%; }
  .ts-widok > button { flex: 1 1 0; }
  .ts-pisanie[data-widok="tekst"] .ts-panel { display: none; }
  .ts-pisanie[data-widok="panel"] .ts-edytor { display: none; }
  .ts-panel { position: relative; top: 0; max-height: none; overflow: visible; }
  .ts-panel-zakladki, .ts-szuflada-glowa { top: var(--h-belka); }
}
@container rama (max-width: 1000px) {
  .ts-lista-naglowek { display: none; }
  .ts-wiersz { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: var(--s-2) var(--s-4); padding: var(--s-3) var(--s-4); }
  .ts-wiersz > .c-klient { grid-column: span 2; }
  .ts-wiersz > .c-fraza { grid-column: 1 / -1; flex-wrap: wrap; }
  .ts-fraza-tekst { white-space: normal; }
  .ts-etykieta-m { display: block; font-size: var(--t-12); font-weight: 600; color: var(--tekst-3); }
  .ts-wiersz > span:not(.c-fraza) { display: flex; flex-direction: column; align-items: flex-start; white-space: normal; }
  .ts-wiersz > span.c-termin { grid-column: 1 / -1; order: 2; flex-direction: row; flex-wrap: wrap; align-items: center; gap: var(--s-1) var(--s-2); }
  .c-termin > .ts-etykieta-m { width: 100%; }
  .c-klient, .c-rodzaj { white-space: normal; overflow-wrap: anywhere; }
  .ts-grupa-glowa { padding: 0 var(--s-4); }
  .ts-zamowienie-szczegoly { grid-template-columns: minmax(0, 1fr); }
  .ts-dwie { grid-template-columns: minmax(0, 1fr); }
  .ts-wiersz-karty { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ts-wiersz-karty > .c-klient-karty { grid-column: 1 / -1; }
  .ts-wiersz-karty > .c-stan { grid-column: 1 / -1; }
  .ts-wiersz-karty .ts-stan-karty { max-width: 100%; height: auto; min-height: var(--h-maly); white-space: normal; }
  .ts-sprz { grid-template-columns: minmax(0, 1fr); gap: var(--s-3); }
}
@container rama (max-width: 700px) {
  .ts-strona { padding-top: var(--s-4); }
  .ts-osoba-tekst span { display: none; }
  .ts-strona, .ts-belka { --gutter: var(--gutter-telefon); --rynna: var(--rynna-telefon); --etykieta-seo: var(--etykieta-seo-telefon); }
  .ts-belka-srodek { padding-inline: var(--s-2) var(--gutter-telefon); gap: var(--s-1); }
  .ts-narzedzia-listy .ts-segment { margin-right: 0; }
  .ts-narzedzia-listy .ts-filtr-panel { left: auto; right: 0; }
  .ts-okruszki li:not(:last-child) { display: none; }
  .ts-okruszki li + li::before { display: none; }
  .ts-karta-stos .ts-kblok-glowa, .ts-karta-stos .ts-kblok-tresc, .ts-stan-paska { padding-left: var(--s-4); padding-right: var(--s-4); }
  .ts-liczniki, .ts-stan-opis { padding-left: var(--s-4); padding-right: var(--s-4); }
  .ts-stan-paska { grid-template-columns: auto minmax(0, 1fr); }
  .ts-stan-paska .ts-akcje { grid-column: 1 / -1; justify-self: stretch; justify-content: flex-start; }
  .ts-kblok-glowa .ts-akcje { margin-left: 0; width: 100%; justify-content: flex-start; }
  .ts-fakt { flex-direction: column; }
  .ts-fakt-akcje { justify-content: flex-start; width: 100%; }
  .ts-edycja-siatka { grid-template-columns: minmax(0, 1fr); }
  .ts-zamowienie-pasek { flex-wrap: wrap; padding-top: var(--s-3); padding-bottom: var(--s-3); }
  .ts-zamowienie-skrot { order: 3; flex-basis: 100%; white-space: normal; }
  .ts-zamowienie-rozwin { margin-left: auto; }
  .ts-narzedzia-listy .ts-segment { width: 100%; }
  .ts-narzedzia-listy .ts-segment > button { flex: 1 1 0; padding: 0 var(--s-2); }
  #stany-kart { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); height: auto; border-radius: var(--r-karta); }
  #stany-kart > button { min-height: var(--h-maly); white-space: normal; }
  .ts-szukaj { flex: 1 1 auto; width: auto; min-width: 0; }
  .ts-filtr-panel { width: min(var(--pole-filtra), calc(100vw - var(--s-8))); }
  .ts-glowa-analizy .ts-akcje { width: 100%; justify-content: flex-start; }
  .ts-zamowienie-pasek, .ts-pola-seo, .ts-blokada, .ts-stopka-edytora, .ts-uwagi-pasek { padding-left: var(--s-4); padding-right: var(--s-4); }
  .ts-google { padding: var(--s-6) var(--s-4); }
  .ts-serp { padding: var(--s-3); }
  .ts-zamowienie-szczegoly { padding: var(--s-4); }
  .ts-zam-pole { grid-template-columns: minmax(0, 1fr); gap: var(--s-1); }
  .ts-pole-seo { grid-template-columns: minmax(0, 1fr); gap: var(--s-1); }
  .ts-pole-seo > span { padding-top: 0; }
  .ts-kartka { padding: var(--s-6) var(--s-4); }
  .ts-h1::before, .ts-tresc h2::before, .ts-tresc h3::before { position: static; display: block; margin: 0 0 var(--s-1); }
  .ts-h1 { font-size: var(--t-22); }
  .ts-tresc h2 { font-size: var(--t-18); }
  .ts-tresc h3 { font-size: var(--t-16); }
  .ts-stopka-edytora { position: static; flex-wrap: wrap; padding-top: var(--s-2); padding-bottom: var(--s-2); }
  .ts-wynik-blok, .ts-panel-tresc { padding-left: var(--s-4); padding-right: var(--s-4); }
  .ts-panel-zakladki, .ts-przed-glowa, .ts-kontrolna { padding-left: var(--s-4); padding-right: var(--s-4); }
  .ts-szuflada-tresc { padding-left: var(--s-4); padding-right: var(--s-4); }
  .ts-wersje { grid-template-columns: minmax(0, 1fr); }
  /* telefon: pasek w dwóch równych rzędach (format i listy | cofnij, szukaj, podświetl) zamiast uciętego jednego */
  .ts-pasek-narzedzi { flex-wrap: wrap; overflow: visible; row-gap: var(--s-1); padding-left: var(--s-2); padding-right: var(--s-2); }
  .ts-pasek-przerwa { margin: 0; }
  .ts-przerwa-wiersz { flex-basis: 100%; height: 0; }
  .ts-przerwa-ostatnia { display: none; }
  .ts-styl, .ts-styl select { width: calc(var(--h) * 3); }
}
@container rama (max-width: 480px) {
  .ts-wynik-blok { grid-template-columns: minmax(0, 1fr); gap: var(--s-4); }
  .ts-wynik-lewo { grid-template-columns: var(--wskaznik) minmax(0, 1fr); align-items: center; gap: var(--s-4); }
}
@container rama (max-width: 380px) {
  .ts-osoba-tekst { display: none; }
  .ts-wiersz { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .ts-wiersz > .c-klient { grid-column: auto; }
  .ts-panel-zakladki { gap: var(--s-3); }
  .ts-przerwa-wiersz { display: none; }
}
@media (max-width: 700px) { .ts-dymek { left: var(--s-4) !important; right: var(--s-4); width: auto; } }
