/* Radar ICP, motyw „Przestrzeń” (radar-icp2.vercel.app): kopia styl.css przeniesiona na jasne warstwy z głębią. */
:root {
  /* Przestrzeń: jasne warstwy z głębią. Ważne jest bliżej (dłuższy cień), kolor tylko tam, gdzie coś znaczy. */
  --bg: #EDF0F5;
  --bg-2: #FFFFFF;
  --panel: #FFFFFF;
  --panel-2: #F6F8FB;
  --panel-3: #EEF1F6;
  --line: rgba(30, 36, 48, .08);
  --line-2: rgba(30, 36, 48, .14);
  --text: #1E2430;
  --text-2: #4C5566;
  --muted: #5C6576; /* 5.1:1 na --bg (WCAG AA) */
  /* Jeden koral i jedna mięta. Odcienie --*-2 są do tekstu (min. 4.5:1 na białym i na *-soft), bazowe do wypełnień. */
  --ember: #FF7D6B;
  --ember-2: #B23F2E;
  --ember-soft: #FFEDEA;
  --mint: #4CC9A4;
  --mint-2: #17694F;
  --mint-ciemna: #0F4D3A; /* tekst i ikona na wypełnieniu --mint */
  --mint-soft: #E2F6EF;
  --amber: #B7791F;
  --amber-2: #8A5A12;
  --amber-soft: #FDF3E1;
  --niebo: #4F8DF7; /* tylko kropki, obwódki, fokus; tekst zawsze --niebo-gl */
  --niebo-gl: #2760CC;
  --niebo-soft: #E8F0FE;
  --szklo: rgba(250, 251, 253, .74);
  --g1: 0 1px 2px rgba(34, 48, 80, .06), 0 6px 16px -6px rgba(34, 48, 80, .10);
  --g2: 0 1px 2px rgba(34, 48, 80, .05), 0 14px 32px -12px rgba(34, 48, 80, .16);
  --g3: 0 2px 4px rgba(34, 48, 80, .05), 0 28px 56px -20px rgba(34, 48, 80, .24), 0 10px 20px -12px rgba(34, 48, 80, .10);
  --g4: 0 2px 4px rgba(34, 48, 80, .05), 0 44px 80px -24px rgba(34, 48, 80, .30), 0 14px 28px -14px rgba(34, 48, 80, .12);
  --ruch: cubic-bezier(.2, .7, .2, 1);
  --r-s: 10px;
  --r: 20px;
  --r-l: 28px;
  --f-display: "Funnel Display", system-ui, sans-serif;
  --f-body: "Funnel Sans", system-ui, -apple-system, sans-serif;
  --f-mono: "Funnel Sans", system-ui, sans-serif;
  --szer: 1440px;
  --gutter: clamp(16px, 3vw, 40px);
  color-scheme: light;
}

* { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body {
  margin: 0;
  min-height: 100vh;
  background: var(--bg);
  color: var(--text);
  font: 400 15px/1.55 var(--f-body);
  -webkit-font-smoothing: antialiased;
  overflow-x: hidden;
}
/* Siatka pomiarowa i poświata w tle */
body::before {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  background: radial-gradient(140% 1100px at 50% 0%, #F7F9FC 0%, var(--bg) 60%);
  z-index: 0;
}
#app { position: relative; z-index: 1; }

a { color: inherit; text-decoration: none; }
button { font: inherit; color: inherit; cursor: pointer; border: 0; background: none; }
input, textarea { font: inherit; color: inherit; }
::selection { background: var(--ember); color: var(--text); }
:focus-visible { outline: 2px solid var(--ember); outline-offset: 2px; border-radius: 6px; }

.mono { font-family: var(--f-mono); font-feature-settings: "tnum"; }
.ukryj { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }

/* ---------- Pasek górny ---------- */
.pasek {
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: blur(14px) saturate(140%);
  background: var(--szklo);
  border-bottom: 1px solid var(--line);
}
.pasek__wnetrze {
  max-width: var(--szer);
  margin: 0 auto;
  padding: 12px var(--gutter);
  display: flex;
  align-items: center;
  gap: 24px;
}
.logo { display: flex; align-items: center; gap: 12px; font: 600 16px/1 var(--f-display); letter-spacing: -.01em; }
.logo svg { width: 32px; height: 32px; }
.logo small { display: block; font: 400 11px/1.2 var(--f-mono); color: var(--muted); letter-spacing: .02em; margin-top: 4px; }
.zakladki { display: flex; gap: 4px; margin-left: auto; padding: 4px; background: var(--panel); border: 1px solid var(--line); border-radius: 999px; }
.zakladki a { padding: 8px 16px; border-radius: 999px; font-size: 14px; font-weight: 500; color: var(--text-2); display: flex; gap: 8px; align-items: center; transition: background .2s, color .2s; }
.zakladki a:hover { color: var(--text); }
.zakladki a[aria-current="page"] { background: var(--panel-3); color: var(--text); }
.licznik { font: 500 11px/1 var(--f-mono); padding: 4px 6px; border-radius: 999px; background: var(--ember-soft); color: var(--ember-2); }
.skan { font: 400 12px/1.3 var(--f-mono); color: var(--muted); text-align: right; }
.skan b { color: var(--text-2); font-weight: 500; }
.kropka-zywa { display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--mint); margin-right: 6px; box-shadow: 0 0 0 0 rgba(41, 168, 130, .6); animation: puls 2.4s infinite; vertical-align: 1px; }
@keyframes puls { 0% { box-shadow: 0 0 0 0 rgba(41, 168, 130, .5); } 70% { box-shadow: 0 0 0 8px rgba(41, 168, 130, 0); } 100% { box-shadow: 0 0 0 0 rgba(41, 168, 130, 0); } }

.strona { max-width: var(--szer); margin: 0 auto; padding: 40px var(--gutter) 96px; }

/* ---------- Typografia ---------- */
.nadtytul { font: 500 12px/1 var(--f-mono); letter-spacing: .08em; text-transform: none; color: var(--ember-2); display: flex; align-items: center; gap: 8px; }
.nadtytul::before { content: ""; width: 16px; height: 1px; background: currentColor; }
h1, h2, h3 { font-family: var(--f-display); letter-spacing: -.025em; margin: 0; font-weight: 600; }
.h-hero { font-size: clamp(36px, 5.2vw, 64px); line-height: 1.02; letter-spacing: -.035em; margin: 16px 0 16px; }
.h-hero em { font-style: normal; color: var(--ember-2); }
.lead { font-size: 17px; line-height: 1.6; color: var(--text-2); max-width: 520px; margin: 0; }
.h-sekcji { font-size: 24px; line-height: 1.2; }
.opis-sekcji { color: var(--muted); margin: 8px 0 0; font-size: 14px; }
.info { display: inline-grid; place-items: center; width: 28px; height: 28px; margin-left: 4px; vertical-align: middle; border-radius: 50%; color: var(--muted); background: none; border: 0; cursor: pointer; transition: color .2s, background .2s; }
.info svg { width: 18px; height: 18px; }
.info:hover, .info[aria-expanded="true"] { color: var(--text); background: var(--bg-2); }
.sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.wyjasnienie { margin-top: 16px; padding: 20px 24px; max-width: 640px; border: 1px solid var(--line); border-radius: 16px; background: var(--bg-2); font-size: 14px; line-height: 1.55; color: var(--text-2); }
.wyjasnienie h3 { margin: 0 0 8px; font-size: 14px; color: var(--text); }
.wyjasnienie h3 + * { margin-top: 0; }
.wyjasnienie ol { margin: 0 0 16px; padding-left: 20px; display: grid; gap: 8px; }
.wyjasnienie b { color: var(--text); font-weight: 600; }
.wyjasnienie .wagi { list-style: none; margin: 0 0 16px; padding: 0; display: grid; gap: 4px; }
.wyjasnienie .wagi li { display: flex; justify-content: space-between; gap: 16px; padding: 4px 0; border-bottom: 1px dashed var(--line); }
.wyjasnienie p { margin: 0; }

/* ---------- Hero radaru ---------- */
.hero { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); gap: 48px; align-items: center; }
.kroki { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; margin: 32px 0 0; padding: 0; list-style: none; counter-reset: krok; }
.kroki li { padding: 12px 12px 14px; border-radius: var(--r-s); background: var(--panel); border: 1px solid var(--line); font-size: 13px; line-height: 1.35; color: var(--text-2); }
.kroki li b { display: block; font: 500 11px/1 var(--f-mono); color: var(--muted); margin-bottom: 8px; }
.kroki li.teraz { border-color: rgba(240, 101, 82, .45); background: linear-gradient(180deg, var(--ember-soft), transparent); color: var(--text); }
.kroki li.teraz b { color: var(--ember-2); }

.lejek { margin-top: 32px; display: grid; gap: 6px; }
.lejek__wiersz { display: grid; grid-template-columns: 168px 1fr 56px; align-items: center; gap: 12px; font-size: 13px; color: var(--text-2); }
.lejek__pasek { height: 8px; border-radius: 99px; background: var(--panel-2); overflow: hidden; }
.lejek__pasek i { display: block; height: 100%; border-radius: 99px; background: linear-gradient(90deg, rgba(30, 36, 48, .18), rgba(30, 36, 48, .32)); width: 0; transition: width 1.2s cubic-bezier(.2, .8, .2, 1); }
.lejek__wiersz:last-child { color: var(--text); }
.lejek__wiersz:last-child .lejek__pasek i { background: linear-gradient(90deg, var(--ember), var(--ember-2)); box-shadow: 0 0 12px rgba(240, 101, 82, .6); }
.lejek__liczba { text-align: right; font: 500 13px/1 var(--f-mono); color: var(--text); }

/* ---------- Tarcza radaru ---------- */
.tarcza { position: relative; width: 100%; max-width: 580px; aspect-ratio: 1; margin-left: auto; overflow: hidden; }
.tarcza svg { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.tarcza__omiatanie {
  position: absolute;
  inset: 10%;
  border-radius: 50%;
  background: conic-gradient(from 0deg, transparent 0deg 310deg, rgba(240, 101, 82, .02) 316deg, rgba(240, 101, 82, .26) 359deg, rgba(240, 101, 82, .55) 360deg);
  animation: obrot 6s linear infinite;
  pointer-events: none;
  mix-blend-mode: screen;
}
@keyframes obrot { to { transform: rotate(360deg); } }
.pierscien { fill: none; stroke: var(--line-2); stroke-width: 1; }
.pierscien--przer { stroke-dasharray: 2 6; }
.os { stroke: var(--line); stroke-width: 1; }
.podpis-strefy { font: 500 10px var(--f-mono); fill: var(--muted); letter-spacing: .08em; text-transform: none; }
.podpis-sektora { font: 500 11px var(--f-mono); fill: var(--text-2); letter-spacing: .06em; text-transform: none; }
.blip { cursor: pointer; }
.blip circle.rdzen { fill: var(--text-2); opacity: .35; transition: r .2s; }
.blip.ma-osobe circle.rdzen { fill: var(--ember); opacity: 1; }
.blip.w-kontakcie circle.rdzen { fill: var(--mint); opacity: 1; }
.blip circle.echo { fill: none; stroke: var(--ember); stroke-width: 1.5; opacity: 0; transform-box: fill-box; transform-origin: center; }
.blip.ma-osobe circle.echo { animation: echo 6s linear infinite; animation-delay: var(--opoz); }
.blip circle.rdzen { animation: rozblysk 6s linear infinite; animation-delay: var(--opoz); }
@keyframes rozblysk { 0% { filter: brightness(2.2); } 12% { filter: brightness(1); } 100% { filter: brightness(1); } }
@keyframes echo { 0% { opacity: .9; transform: scale(1); } 14% { opacity: 0; transform: scale(3.2); } 100% { opacity: 0; transform: scale(3.2); } }
.blip:hover circle.rdzen, .blip:focus circle.rdzen { r: 8; opacity: 1; }
.blip text { font: 500 11px var(--f-body); fill: var(--text); paint-order: stroke; stroke: var(--bg); stroke-width: 4px; pointer-events: none; }
.tarcza__srodek { fill: var(--ember); }
.legenda { display: flex; flex-wrap: wrap; gap: 16px; justify-content: flex-end; margin-top: 8px; font-size: 12px; color: var(--muted); }
.legenda span { display: flex; align-items: center; gap: 6px; }
.legenda i { width: 8px; height: 8px; border-radius: 50%; display: inline-block; }

#dymek {
  position: fixed;
  z-index: 50;
  pointer-events: none;
  max-width: 260px;
  padding: 10px 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, .97);
  border: 1px solid var(--line-2);
  box-shadow: 0 12px 32px rgba(34, 48, 80, 0.225);
  font-size: 13px;
  line-height: 1.4;
}
#dymek b { display: block; font-family: var(--f-display); font-size: 15px; font-weight: 600; margin-bottom: 2px; }
#dymek span { color: var(--text-2); }

/* ---------- Karty „zacznij od tych” ---------- */
.sekcja { margin-top: 80px; }
.sekcja__naglowek { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; margin-bottom: 24px; flex-wrap: wrap; }
.siatka-kart { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.karta {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 16px;
  padding: 24px;
  border-radius: var(--r);
  background: linear-gradient(180deg, var(--panel-2), var(--panel));
  border: 1px solid var(--line);
  transition: border-color .25s, transform .25s, box-shadow .25s;
  overflow: hidden;
}
.karta:hover { border-color: rgba(240, 101, 82, .4); transform: translateY(-2px); box-shadow: 0 16px 40px rgba(34, 48, 80, 0.158); }
.karta__gora { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.karta h3 { font-size: 22px; line-height: 1.15; }
.karta__meta { font-size: 13px; color: var(--muted); margin-top: 4px; }
.karta__osoba { display: flex; align-items: center; gap: 12px; padding-top: 16px; border-top: 1px solid var(--line); margin-top: auto; font-size: 14px; }
.karta__osoba small { display: block; color: var(--muted); font-size: 12px; }
.karta__dalej { margin-left: auto; color: var(--ember-2); font-weight: 500; font-size: 14px; white-space: nowrap; }

.wskaznik { --p: 0; position: relative; width: 56px; height: 56px; flex: none; }
.wskaznik svg { width: 100%; height: 100%; transform: rotate(-90deg); }
.wskaznik .tlo { fill: none; stroke: var(--panel-3); stroke-width: 5; }
.wskaznik .wart { fill: none; stroke: var(--ember); stroke-width: 5; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: calc(100 - var(--p)); transition: stroke-dashoffset 1s cubic-bezier(.2, .8, .2, 1); }
.wskaznik b { position: absolute; inset: 0; display: grid; place-items: center; font: 600 16px/1 var(--f-mono); }
.wskaznik--duzy { width: 112px; height: 112px; }
.wskaznik--duzy .tlo, .wskaznik--duzy .wart { stroke-width: 4; }
.wskaznik--duzy b { font-size: 32px; font-family: var(--f-display); }
.wskaznik--duzy small { position: absolute; bottom: -24px; left: 0; right: 0; text-align: center; font: 500 10px/1 var(--f-mono); color: var(--muted); letter-spacing: .08em; text-transform: none; white-space: nowrap; }

.znaczniki { display: flex; flex-wrap: wrap; gap: 6px; }
.znacznik { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; font-size: 12px; line-height: 1.4; background: var(--panel-3); color: var(--text-2); border: 1px solid var(--line); }
.znacznik--goracy { background: var(--ember-soft); color: var(--ember-2); border-color: rgba(240, 101, 82, .25); }
.znacznik--mint { background: var(--mint-soft); color: var(--mint-2); border-color: rgba(41, 168, 130, .2); }
.znacznik--amber { background: var(--amber-soft); color: var(--amber-2); border-color: rgba(214, 150, 40, .2); }

.awatar { width: 36px; height: 36px; border-radius: 50%; flex: none; display: grid; place-items: center; font: 600 13px/1 var(--f-display); background: var(--panel-3); border: 1px solid var(--line-2); color: var(--text); }
.awatar--duzy { width: 48px; height: 48px; font-size: 16px; }

/* ---------- Lista całego radaru ---------- */
.pasek-listy { position: sticky; top: var(--pasek-h, 64px); z-index: 12; display: flex; flex-wrap: wrap; align-items: center; gap: 10px 24px; margin: 0 calc(-1 * var(--gutter)); padding: 12px var(--gutter); background: var(--szklo); backdrop-filter: blur(12px); border-bottom: 1px solid var(--line); }
.pasek-listy__wynik { display: flex; align-items: center; gap: 14px; margin-left: auto; font-size: 13px; color: var(--muted); white-space: nowrap; }
.pasek-listy__wynik b { color: var(--text); font: 600 15px/1 var(--f-display); }
.pasek-listy__wyczysc { font-size: 13px; color: var(--text-2); text-decoration: underline; text-underline-offset: 3px; }
.pasek-listy__wyczysc:hover { color: var(--text); }
.tagi { display: contents; }
.tagi__grupa { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.tagi__nazwa { font: 500 11px/1 var(--f-mono); letter-spacing: .08em; text-transform: none; color: var(--muted); margin-right: 2px; }
.tag { display: inline-flex; align-items: center; gap: 6px; padding: 5px 11px; border-radius: 999px; font-size: 13px; color: var(--text-2); background: var(--panel); border: 1px solid var(--line); transition: border-color .2s, background .2s, color .2s; }
.tag .mono { font-size: 11px; color: var(--muted); }
.tag:hover:not(:disabled):not([aria-pressed="true"]) { color: var(--text); border-color: var(--line-2); }
.tag[aria-pressed="true"] { background: var(--text); color: var(--bg); border-color: var(--text); }
.tag[aria-pressed="true"] .mono { color: var(--bg); opacity: .7; }
.tag:disabled { opacity: .35; cursor: default; }
.szukaj { flex: 0 1 300px; position: relative; }
.szukaj input { width: 100%; padding: 9px 14px 9px 36px; border-radius: 999px; background: var(--panel); border: 1px solid var(--line); outline: none; font-size: 14px; }
.szukaj input:focus { border-color: var(--line-2); }
.szukaj svg { position: absolute; left: 12px; top: 50%; transform: translateY(-50%); width: 16px; height: 16px; color: var(--muted); }
@media (max-width: 760px) {
  .pasek-listy { position: static; margin: 0; padding: 0; background: none; backdrop-filter: none; border: 0; }
  .szukaj { flex-basis: 100%; } .pasek-listy__wynik { margin-left: 0; }
  .tagi__nazwa { width: 100%; margin: 4px 0 0; }
}

.lista { margin-top: 16px; border: 1px solid var(--line); border-radius: var(--r); overflow: hidden; background: rgba(255, 255, 255, .6); }
.wiersz { display: grid; grid-template-columns: 64px minmax(0, 1.4fr) minmax(0, 1.6fr) minmax(0, 1.1fr) 24px; gap: 16px; align-items: center; padding: 14px 20px; border-top: 1px solid var(--line); transition: background .15s; }
.wiersz:first-child { border-top: 0; }
.wiersz:hover { background: var(--panel-2); }
.wiersz__wynik { display: flex; align-items: center; gap: 8px; font: 500 14px/1 var(--f-mono); }
.wiersz__wynik i { display: block; width: 24px; height: 4px; border-radius: 4px; background: var(--panel-3); position: relative; overflow: hidden; }
.wiersz__wynik i::after { content: ""; position: absolute; inset: 0; width: var(--p); background: var(--ember); }
.wiersz__nazwa b { display: block; font-weight: 500; }
.wiersz__nazwa small { color: var(--muted); font-size: 12px; }
.wiersz__osoba { font-size: 13px; color: var(--text-2); min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wiersz__osoba.brak { color: var(--muted); }
.strzalka { color: var(--muted); }
.wiecej { display: block; width: 100%; padding: 16px; text-align: center; color: var(--text-2); font-size: 14px; border-top: 1px solid var(--line); }
.wiecej:hover { color: var(--text); background: var(--panel-2); }
.pusto { padding: 48px 24px; text-align: center; color: var(--muted); }

/* ---------- Karta firmy ---------- */
.okruszki { display: inline-flex; align-items: center; gap: 8px; color: var(--muted); font-size: 14px; margin-bottom: 24px; }
.okruszki:hover { color: var(--text); }
.okruszki svg { width: 16px; height: 16px; }
.panel { padding: 32px; border-radius: var(--r-l); background: linear-gradient(180deg, var(--panel-2), var(--panel)); border: 1px solid var(--line); min-width: 0; }
.panel--wyrozniony { border-color: rgba(240, 101, 82, .35); box-shadow: 0 0 0 1px rgba(240, 101, 82, .08), 0 24px 60px -24px rgba(240, 101, 82, .25); }
.panel__nr { font: 500 11px/1 var(--f-mono); color: var(--ember-2); letter-spacing: .08em; text-transform: none; margin-bottom: 12px; display: block; }
.panel h2 { font-size: 22px; line-height: 1.2; margin-bottom: 4px; }
.panel .opis-sekcji { margin: 4px 0 24px; }

.naglowek-firmy { display: flex; justify-content: space-between; gap: 24px; align-items: flex-start; }
.naglowek-firmy h1 { font-size: clamp(36px, 4.4vw, 56px); line-height: 1; letter-spacing: -.035em; }
.fakty { display: flex; flex-wrap: wrap; gap: 8px 20px; margin-top: 16px; font-size: 14px; color: var(--text-2); }
.fakty a { color: var(--text); border-bottom: 1px solid var(--line-2); }
.fakty a:hover { border-color: var(--ember); }
.pasuje { margin: 20px 0 0; max-width: 680px; font-size: 15px; line-height: 1.6; color: var(--text-2); }
.pasuje b { color: var(--text); font-weight: 500; }

.sygnaly { display: grid; gap: 8px; }
.sygnal { display: grid; grid-template-columns: 40px minmax(0, 1fr) auto; gap: 16px; align-items: start; padding: 16px; border-radius: 14px; background: var(--bg-2); border: 1px solid var(--line); }
.sygnal__ikona { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--panel-3); color: var(--text-2); }
.sygnal--mocny .sygnal__ikona { background: var(--ember-soft); color: var(--ember-2); }
.sygnal__ikona svg { width: 20px; height: 20px; }
.sygnal b { font-weight: 500; display: block; }
.sygnal p { margin: 2px 0 0; font-size: 14px; color: var(--text-2); }
.sygnal__zrodla { display: flex; flex-wrap: wrap; gap: 6px 12px; margin-top: 8px; font-size: 12px; }
.sygnal__zrodla a { color: var(--muted); border-bottom: 1px solid var(--line-2); }
.sygnal__zrodla a:hover { color: var(--text); }
.waga { font: 500 13px/1 var(--f-mono); color: var(--ember-2); padding: 6px 8px; border-radius: 8px; background: var(--ember-soft); white-space: nowrap; }
.sygnal:not(.sygnal--mocny) .waga { color: var(--text-2); background: var(--panel-3); }

.cytat { margin: 0 0 24px; padding: 0 0 0 20px; border-left: 2px solid var(--ember); font: 500 22px/1.3 var(--f-display); letter-spacing: -.015em; }
.cytat small { display: block; margin-top: 8px; font: 400 12px/1 var(--f-mono); color: var(--muted); letter-spacing: .04em; }
.audyt { display: grid; gap: 16px; margin: 0; padding: 0; list-style: none; counter-reset: a; }
.audyt li { counter-increment: a; display: grid; grid-template-columns: 32px 1fr; gap: 12px; font-size: 15px; color: var(--text-2); }
.audyt li::before { content: "0" counter(a); font: 500 12px/24px var(--f-mono); color: var(--ember-2); }
.audyt li b { color: var(--text); font-weight: 500; }
.puste-audyt { padding: 20px; border-radius: 14px; background: var(--bg-2); border: 1px dashed var(--line-2); color: var(--muted); font-size: 14px; }

/* Ścieżka kroków: jedna oś, jeden otwarty krok, zrobione zwinięte do jednej linijki */
.glowa-firmy { margin-bottom: 24px; }
.glowa-firmy__postep { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 16px; align-items: center; margin-top: 28px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 13px; color: var(--text-2); }
.glowa-firmy__postep .mono { color: var(--text); font-weight: 500; }
.glowa-firmy__postep i { height: 4px; border-radius: 4px; background: var(--panel-3); overflow: hidden; }
.glowa-firmy__postep i b { display: block; height: 100%; border-radius: 4px; background: linear-gradient(90deg, var(--mint), #A6F0DA); transition: width .8s cubic-bezier(.2, .8, .2, 1); }

.dossier { display: grid; grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.sciezka { position: relative; display: grid; gap: 12px; min-width: 0; }
.sciezka::before { content: ""; position: absolute; left: 43px; top: 32px; bottom: 32px; width: 2px; background: var(--line-2); z-index: 0; }
.krok { position: relative; z-index: 1; border-radius: var(--r-l); background: linear-gradient(180deg, var(--panel-2), var(--panel)); border: 1px solid var(--line); transition: border-color .25s, box-shadow .25s; }
.krok--otwarty { border-color: rgba(240, 101, 82, .4); box-shadow: 0 0 0 1px rgba(240, 101, 82, .06), 0 24px 60px -28px rgba(240, 101, 82, .3); }
.krok__glowa { width: 100%; display: grid; grid-template-columns: 40px minmax(0, 1fr) 20px; gap: 16px; align-items: center; padding: 20px 24px; text-align: left; border-radius: var(--r-l); }
.krok:not(.krok--otwarty) .krok__glowa:hover { background: rgba(30, 36, 48, .025); }
.krok--otwarty .krok__glowa { padding-bottom: 12px; }
.krok__glowa:hover .krok__strzalka { color: var(--text); }
.krok__nr { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; font: 600 15px/1 var(--f-mono); background: var(--panel-3); border: 1px solid var(--line-2); color: var(--text-2); }
.krok__nr svg { width: 18px; height: 18px; stroke-width: 2.4; }
.krok--zrobiony .krok__nr { background: var(--mint); border-color: var(--mint); color: var(--mint-ciemna); }
.krok--otwarty:not(.krok--zrobiony) .krok__nr { background: var(--ember); border-color: var(--ember); color: var(--text); box-shadow: 0 0 0 6px var(--ember-soft); }
.krok__tytul { min-width: 0; display: grid; gap: 2px; }
.krok__tytul small { font: 500 11px/1.2 var(--f-mono); letter-spacing: .08em; text-transform: none; color: var(--muted); }
.krok--otwarty .krok__tytul small { color: var(--ember-2); }
.krok__tytul b { font: 600 20px/1.2 var(--f-display); letter-spacing: -.02em; }
.krok:not(.krok--otwarty) .krok__tytul b { font-size: 17px; color: var(--text-2); }
.krok__skrot { font-size: 13px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.krok--zrobiony .krok__skrot { color: var(--text-2); }
.krok__strzalka { color: var(--muted); display: grid; place-items: center; transition: transform .25s; }
.krok__strzalka svg { width: 18px; height: 18px; }
.krok--otwarty .krok__strzalka { transform: rotate(180deg); }
.krok__tresc { padding: 4px 24px 24px 80px; animation: rozwin .35s cubic-bezier(.2, .8, .2, 1) both; }
@keyframes rozwin { from { opacity: 0; transform: translateY(-6px); } }
.opis-krotki { margin: 0 0 20px; font-size: 14px; color: var(--text-2); }
.krok__dalej { display: flex; justify-content: flex-end; margin-top: 24px; padding-top: 20px; border-top: 1px solid var(--line); }
.odstep { margin-top: 12px; }
.dodaj-osobe { margin-top: 12px; }
.osoba--glowna { border-color: rgba(41, 168, 130, .3); }
.link { color: var(--ember-2); border-bottom: 1px solid currentColor; display: inline-flex; align-items: center; gap: 4px; }
.link svg { width: 14px; height: 14px; }
.wiadomosci-gora { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-start; gap: 0 16px; }
.wiadomosci-gora .opis-krotki { flex: 1 1 260px; }
.pole__gora label small { display: block; font-weight: 400; font-size: 12px; color: var(--muted); margin-top: 2px; }

/* Przełącznik osób w kroku 3 */
.adresaci { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 8px; margin-bottom: 20px; padding-bottom: 20px; border-bottom: 1px solid var(--line); }
.adresat { display: grid; grid-template-columns: 36px minmax(0, 1fr) 20px; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 14px; text-align: left; background: var(--bg-2); border: 1px solid var(--line); transition: border-color .2s, background .2s; }
.adresat:hover { border-color: var(--line-2); }
.adresat[aria-selected="true"] { border-color: rgba(240, 101, 82, .55); background: var(--ember-soft); }
.adresat[aria-selected="true"] .awatar { background: var(--ember); border-color: var(--ember); color: var(--text); }
.adresat__dane { min-width: 0; }
.adresat__dane b { display: block; font-weight: 500; font-size: 14px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adresat__dane small { display: block; font-size: 12px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.adresat__stan { width: 20px; height: 20px; border-radius: 50%; display: grid; place-items: center; border: 1.5px dashed var(--line-2); }
.adresat__stan:has(svg) { background: var(--mint); border: 0; color: var(--mint-ciemna); }
.adresat__stan svg { width: 12px; height: 12px; stroke-width: 3; }
.osoba__akcje { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; justify-content: flex-end; }
.fakt__kogo { color: var(--text); font-weight: 500; }
.ai-start--maly { padding: 24px 16px; }
.ai-start--maly small { display: block; margin-top: 16px; font-size: 12px; color: var(--muted); }

/* Ściąga obok kroków */
.sciaga { position: sticky; top: 88px; max-height: calc(100vh - 112px); overflow-y: auto; overscroll-behavior: contain; border-radius: var(--r-l); background: linear-gradient(180deg, var(--panel-2), var(--panel)); border: 1px solid var(--line); scrollbar-width: thin; scrollbar-color: var(--panel-3) transparent; }
.sciaga__gora { position: sticky; top: 0; z-index: 2; padding: 24px 24px 16px; background: var(--panel-2); border-bottom: 1px solid var(--line); }
.sciaga__tresc { padding: 20px 24px 24px; }
.sciaga__h { font: 500 11px/1 var(--f-mono); letter-spacing: .08em; text-transform: none; color: var(--muted); margin: 24px 0 12px; }
.sciaga__h:first-of-type { margin-top: 0; }
.przelacznik--pelny { display: flex; width: 100%; margin: 0; }
.przelacznik--pelny button { flex: 1; display: inline-flex; justify-content: center; align-items: center; gap: 6px; padding: 8px 10px; }
.przelacznik button[aria-selected="true"] { background: var(--panel-3); color: var(--text); }
.sciaga .fakty-lista li { grid-template-columns: 1fr; gap: 6px; }
.sciaga .fakty-lista .znacznik { justify-self: start; }
.sciaga .ostroznie { margin: 0 0 4px; }
.sciaga .haczyki { margin-bottom: 20px; }
.rynek__tytul { font: 500 11px/1 var(--f-mono); color: var(--ember-2); letter-spacing: .08em; text-transform: none; }
.sciaga .rynek__fraza { grid-template-columns: minmax(0, 1fr) 64px; }
.sciaga .rynek__fraza i { display: none; }

/* Osoba */
.osoba { display: flex; gap: 16px; align-items: center; padding: 16px; border-radius: 14px; background: var(--bg-2); border: 1px solid var(--line); }
.osoba + .osoba { margin-top: 8px; }
.osoba__dane { min-width: 0; flex: 1; }
.osoba__dane b { display: block; font-weight: 500; font-size: 16px; }
.osoba__dane small { display: block; color: var(--text-2); font-size: 13px; }
.osoba__dane .znacznik { margin-top: 8px; }
.formularz { display: grid; gap: 8px; margin-top: 16px; }
.formularz input { width: 100%; padding: 12px 14px; border-radius: 10px; background: var(--bg-2); border: 1px solid var(--line-2); outline: none; font-size: 14px; }
.formularz input:focus { border-color: var(--ember); }

/* Przyciski */
.przycisk { display: inline-flex; align-items: center; justify-content: center; gap: 8px; padding: 12px 18px; border-radius: 12px; font-weight: 500; font-size: 14px; line-height: 1.2; transition: background .2s, transform .1s, border-color .2s, color .2s; white-space: nowrap; }
.przycisk:active { transform: scale(.98); }
.przycisk svg { width: 16px; height: 16px; flex: none; }
.przycisk--glowny { background: var(--ember); color: var(--text); }
.przycisk--glowny:hover { background: var(--ember-2); }
.przycisk--drugi { background: var(--panel-3); border: 1px solid var(--line-2); }
.przycisk--drugi:hover { border-color: rgba(30, 36, 48, .3); }
.przycisk--cichy { padding: 8px 10px; color: var(--text-2); font-size: 13px; }
.przycisk--cichy:hover { color: var(--text); }
.przycisk--maly { padding: 8px 12px; font-size: 13px; border-radius: 10px; }
.przycisk--pelny { width: 100%; }
.przycisk[disabled] { opacity: .5; cursor: not-allowed; } .przycisk[aria-busy="true"] { cursor: progress; }

/* Wiadomości */
.ai-start { text-align: center; padding: 32px 16px; border-radius: 16px; background: radial-gradient(400px 200px at 50% 0%, var(--ember-soft), transparent 70%), var(--bg-2); border: 1px solid var(--line); }
.ai-start p { color: var(--text-2); font-size: 14px; margin: 0 auto 20px; max-width: 320px; }
.ai-praca { display: grid; justify-items: center; gap: 16px; padding: 40px 16px; }
.ai-praca__tarcza { width: 72px; height: 72px; border-radius: 50%; border: 1px solid var(--line-2); position: relative; overflow: hidden; }
.ai-praca__tarcza::before { content: ""; position: absolute; inset: 0; background: conic-gradient(from 0deg, transparent 0 270deg, rgba(240, 101, 82, .7) 360deg); animation: obrot 1.6s linear infinite; }
.ai-praca__tarcza::after { content: ""; position: absolute; inset: 30%; border-radius: 50%; border: 1px solid var(--line-2); }
.ai-praca p { margin: 0; color: var(--text-2); font-size: 14px; min-height: 22px; transition: opacity .3s; }

.pole { display: grid; gap: 8px; }
.pole + .pole { margin-top: 24px; }
.pole__gora { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.pole__gora label { font-size: 13px; font-weight: 500; color: var(--text-2); }
.znaki { font: 500 12px/1 var(--f-mono); color: var(--muted); }
.znaki.za-duzo { color: var(--ember-2); }
.pole textarea { width: 100%; min-height: 96px; resize: vertical; padding: 14px 16px; border-radius: 12px; background: var(--bg-2); border: 1px solid var(--line-2); outline: none; font-size: 14.5px; line-height: 1.6; field-sizing: content; }
.pole textarea:focus { border-color: rgba(240, 101, 82, .6); }
.pole__dol { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.zapisano { font-size: 12px; color: var(--muted); }

/* Wysyłka i statusy */
.instrukcja { margin: 0 0 24px; padding: 0; list-style: none; display: grid; gap: 12px; counter-reset: i; }
.instrukcja li { counter-increment: i; display: grid; grid-template-columns: 28px 1fr auto; gap: 8px 12px; font-size: 14px; color: var(--text-2); align-items: start; }
.instrukcja li::before { content: counter(i); width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font: 500 11px/1 var(--f-mono); background: var(--panel-3); color: var(--text); }
.instrukcja b { color: var(--text); font-weight: 500; }
.statusy { display: grid; grid-template-columns: 1fr 1fr; grid-template-rows: repeat(3, auto); grid-auto-flow: column; gap: 8px; }
.status__nr { width: 22px; height: 22px; border-radius: 50%; border: 1.5px solid var(--line-2); flex: none; display: grid; place-items: center; font: 600 11px/1 var(--mono, ui-monospace, monospace); color: var(--muted); transition: all .2s; }
.status { padding: 12px; border-radius: 12px; text-align: left; font-size: 13px; line-height: 1.3; background: var(--bg-2); border: 1px solid var(--line); color: var(--text-2); transition: all .2s; display: flex; gap: 10px; align-items: center; }
.status:hover { border-color: var(--line-2); color: var(--text); }
.status i { width: 10px; height: 10px; border-radius: 50%; border: 1.5px solid var(--muted); flex: none; }
.status[aria-pressed="true"] { border-color: var(--mint); background: var(--mint-soft); color: var(--text); }
.status[aria-pressed="true"] i { background: var(--mint); border-color: var(--mint); }
.status--odpada[aria-pressed="true"] { border-color: var(--line-2); background: var(--panel-3); }
.status--odpada[aria-pressed="true"] i { background: var(--muted); border-color: var(--muted); }
.status--zrobiony { border-color: rgba(41, 168, 130, .35); background: var(--mint-soft); color: var(--text); }
.status--zrobiony .status__nr { background: var(--mint); border-color: var(--mint); color: var(--mint-ciemna); font-size: 13px; }
.status--zrobiony[aria-pressed="true"] { border-color: var(--mint); box-shadow: 0 0 0 1px var(--mint) inset; }
.historia { margin: 20px 0 0; padding: 16px 0 0; border-top: 1px solid var(--line); list-style: none; display: grid; gap: 6px; font-size: 12px; color: var(--muted); }
.historia span { font-family: var(--f-mono); margin-right: 8px; }

/* ---------- Kontakty ---------- */
.kolumny { display: grid; grid-template-columns: repeat(5, minmax(220px, 1fr)); gap: 12px; overflow-x: auto; padding-bottom: 8px; margin-top: 32px; scroll-snap-type: x mandatory; }
.kolumna-lejka { background: rgba(255, 255, 255, .7); border: 1px solid var(--line); border-radius: var(--r); padding: 12px; min-height: 240px; scroll-snap-align: start; }
.kolumna-lejka h3 { font: 500 13px/1 var(--f-body); letter-spacing: 0; color: var(--text-2); padding: 8px 8px 16px; display: flex; justify-content: space-between; }
.kolumna-lejka h3 span { font-family: var(--f-mono); color: var(--muted); }
.kafel { display: block; padding: 14px; border-radius: 12px; background: var(--panel-2); border: 1px solid var(--line); margin-bottom: 8px; transition: border-color .2s; }
.kafel:hover { border-color: var(--line-2); }
.kafel b { display: block; font-weight: 500; }
.kafel small { display: block; color: var(--muted); font-size: 12px; margin-top: 2px; }
.kafel .znacznik { margin-top: 10px; }
.odpadly { margin-top: 24px; color: var(--muted); font-size: 13px; }
.odpadly a { color: var(--text-2); border-bottom: 1px solid var(--line-2); }

/* ---------- Logowanie ---------- */
.logowanie { min-height: 100vh; display: grid; place-items: center; padding: 24px; }
.logowanie__karta { width: 100%; max-width: 400px; text-align: center; }
.logowanie__tarcza { width: 160px; height: 160px; margin: 0 auto 32px; position: relative; border-radius: 50%; border: 1px solid var(--line-2); background: radial-gradient(circle, transparent 32%, var(--line-2) 32.5%, transparent 33.5%, transparent 65%, var(--line-2) 65.5%, transparent 66.5%); }
.logowanie__tarcza::before { content: ""; position: absolute; inset: 0; border-radius: 50%; background: conic-gradient(from 0deg, transparent 0 280deg, rgba(240, 101, 82, .5) 360deg); animation: obrot 4s linear infinite; }
.logowanie h1 { font-size: 32px; }
.logowanie p { color: var(--text-2); margin: 8px 0 32px; }
.logowanie form { display: grid; gap: 12px; }
.logowanie input { padding: 14px 16px; border-radius: 12px; background: var(--panel); border: 1px solid var(--line-2); outline: none; font-size: 16px; text-align: center; }
.logowanie input:focus { border-color: var(--ember); }
.blad { color: var(--ember-2); font-size: 14px; min-height: 22px; margin: 0; }


/* Krok 3: forma, wersje, etapy pracy AI */
.przelacznik { display: inline-flex; gap: 4px; padding: 4px; margin-bottom: 20px; border-radius: 999px; background: var(--bg-2); border: 1px solid var(--line); }
.przelacznik button { padding: 6px 14px; border-radius: 999px; font-size: 13px; color: var(--text-2); }
.przelacznik button[aria-pressed="true"] { background: var(--panel-3); color: var(--text); }
.wersje { display: grid; gap: 6px; margin-bottom: 12px; }
.wersja { display: flex; gap: 10px; align-items: center; text-align: left; padding: 10px 12px; border-radius: 12px; background: var(--bg-2); border: 1px solid var(--line); font-size: 14px; color: var(--text-2); transition: all .2s; }
.wersja .mono { width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font-size: 11px; background: var(--panel-3); flex: none; }
.wersja:hover { color: var(--text); border-color: var(--line-2); }
.wersja[aria-selected="true"] { color: var(--text); border-color: rgba(240, 101, 82, .5); background: var(--ember-soft); }
.wersja[aria-selected="true"] .mono { background: var(--ember); color: var(--text); }
.dlaczego { display: grid; grid-template-columns: 16px 1fr; gap: 8px; margin: 0 0 20px; font-size: 13px; color: var(--text-2); }
.dlaczego svg { width: 16px; height: 16px; color: var(--ember-2); margin-top: 2px; }
.ponownie { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 12px; }
.etapy { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; text-align: left; width: 100%; max-width: 340px; }
.etapy li { display: grid; grid-template-columns: 20px 1fr; gap: 10px; font-size: 14px; color: var(--muted); }
.etapy li::before { content: ""; width: 10px; height: 10px; margin: 5px; border-radius: 50%; border: 1.5px solid var(--muted); }
.etapy li.teraz { color: var(--text); }
.etapy li.teraz::before { border-color: var(--ember); background: var(--ember); animation: puls-ember 1.4s infinite; }
.etapy li.zrobione { color: var(--text-2); }
.etapy li.zrobione::before { border-color: var(--mint); background: var(--mint); }
@keyframes puls-ember { 0% { box-shadow: 0 0 0 0 rgba(240, 101, 82, .6); } 100% { box-shadow: 0 0 0 8px rgba(240, 101, 82, 0); } }

/* Research */
.haczyki { display: grid; gap: 8px; margin-bottom: 20px; }
.haczyk { padding: 14px 16px; border-radius: 12px; background: linear-gradient(90deg, var(--ember-soft), transparent); border-left: 2px solid var(--ember); }
.haczyk b { display: block; font-weight: 500; font-size: 14px; }
.haczyk span { display: block; font-size: 13px; color: var(--text-2); margin-top: 4px; }
.fakty-lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 12px; }
.fakty-lista li { display: grid; grid-template-columns: 104px 1fr; gap: 12px; align-items: start; }
.fakty-lista .znacznik { justify-content: center; }
.fakty-lista p { margin: 0; font-size: 14px; color: var(--text-2); }
.fakty-lista a { color: var(--muted); border-bottom: 1px solid var(--line-2); font-size: 12px; white-space: nowrap; }
.fakty-lista a:hover { color: var(--text); }
.fakty-lista small { font: 400 11px var(--f-mono); color: var(--muted); }
.wiecej-faktow { margin-top: 8px; }
.wiecej-faktow .fakty-lista { margin-top: 12px; }
.ostroznie { margin-top: 20px; padding: 14px 16px; border-radius: 12px; background: var(--amber-soft); border: 1px solid rgba(214, 150, 40, .2); font-size: 13px; color: var(--text-2); }
.ostroznie b { color: var(--amber-2); font-weight: 500; }
.ostroznie ul { margin: 6px 0 0; padding-left: 18px; display: grid; gap: 4px; }

/* Tło rynkowe */
.rynek { margin: 0 0 24px; padding: 16px; border-radius: 14px; background: var(--bg-2); border: 1px solid var(--line); display: grid; gap: 10px; }
.rynek .panel__nr { margin-bottom: 2px; }
.rynek__fraza { display: grid; grid-template-columns: minmax(0, 1fr) 96px 72px; gap: 12px; align-items: center; font-size: 14px; }
.rynek__fraza i { height: 6px; border-radius: 6px; background: var(--panel-3); position: relative; overflow: hidden; }
.rynek__fraza i::after { content: ""; position: absolute; inset: 0; width: var(--p); background: var(--ember); }
.rynek__fraza b { font-size: 12px; font-weight: 500; text-align: right; color: var(--text-2); }
.rynek__blizniak { font-size: 14px; color: var(--text-2); padding-top: 10px; border-top: 1px solid var(--line); }
.rynek__blizniak small { display: block; font-size: 12px; color: var(--muted); margin-top: 2px; }
@media (max-width: 680px) {
  .fakty-lista li { grid-template-columns: 1fr; gap: 6px; }
  .fakty-lista .znacznik { justify-self: start; }
  .rynek__fraza { grid-template-columns: minmax(0, 1fr) 64px; }
  .rynek__fraza i { display: none; }
}

/* Komunikat */
#komunikat { position: fixed; left: 50%; bottom: 32px; transform: translate(-50%, 24px); opacity: 0; padding: 12px 18px; border-radius: 12px; background: var(--text); color: var(--bg); font-weight: 500; font-size: 14px; transition: all .3s cubic-bezier(.2, .8, .2, 1); z-index: 90; pointer-events: none; box-shadow: 0 12px 32px rgba(34, 48, 80, 0.203); }
#komunikat.widoczny { opacity: 1; transform: translate(-50%, 0); }
/* Przy otwartej szufladzie komunikat pojawia się na jej środku, nad rozmyciem. */
body.bez-przewijania #komunikat { left: calc(100% - min(680px, 100%) / 2); }

/* Wejście treści */
.z-wejsciem .wejscie-1, .z-wejsciem .wejscie-2, .z-wejsciem .wejscie-3 { animation: wejscie .6s cubic-bezier(.2, .8, .2, 1) both; }
.z-wejsciem .wejscie-2 { animation-delay: .06s; }
.z-wejsciem .wejscie-3 { animation-delay: .12s; }
.wejscie > * { animation: wejscie .6s cubic-bezier(.2, .8, .2, 1) both; }
.wejscie > *:nth-child(2) { animation-delay: .06s; }
.wejscie > *:nth-child(3) { animation-delay: .12s; }
.wejscie > *:nth-child(4) { animation-delay: .18s; }
@keyframes wejscie { from { opacity: 0; transform: translateY(12px); } }

.ladowanie { min-height: 60vh; display: grid; place-items: center; color: var(--muted); font-size: 14px; }

/* ---------- Responsywność ---------- */
@media (max-width: 1080px) {
  .hero { grid-template-columns: 1fr; }
  .tarcza { margin: 0 auto; }
  .siatka-kart { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dossier { grid-template-columns: 1fr; }
  .sciaga { position: static; max-height: none; }
  .wiersz { grid-template-columns: 56px minmax(0, 1fr) minmax(0, 1fr) 20px; }
  .wiersz__sygnaly { display: none; }
}
@media (max-width: 680px) {
  .pasek__wnetrze { padding: 10px 16px; gap: 12px; }
  .logo small, .skan { display: none; }
  .zakladki a { padding: 8px 10px; font-size: 13px; gap: 6px; white-space: nowrap; }
  /* Cztery zakładki z licznikami: na telefonie zostaje sama ikona logo, a pasek zakładek przewija się w sobie. */
  .logo > span { display: none; }
  .zakladki { min-width: 0; overflow-x: auto; scrollbar-width: none; }
  .zakladki::-webkit-scrollbar { display: none; }
  .strona { padding: 24px 16px 80px; }
  .kroki { grid-template-columns: repeat(2, 1fr); }
  .lejek__wiersz { grid-template-columns: 1fr 56px; row-gap: 6px; font-size: 13px; }
  .lejek__pasek { grid-column: 1 / -1; grid-row: 2; }
  .lejek { gap: 12px; }
  .siatka-kart { grid-template-columns: 1fr; }
  .sekcja { margin-top: 56px; }
  .panel { padding: 20px; border-radius: var(--r); }
  .wskaznik--duzy { width: 72px; height: 72px; }
  .wskaznik--duzy b { font-size: 22px; }
  .wskaznik--duzy small { display: none; }
  .wiersz { grid-template-columns: 48px minmax(0, 1fr) 16px; padding: 14px 16px; }
  .wiersz__osoba { display: none; }
  .statusy { grid-template-columns: 1fr; grid-template-rows: none; grid-auto-flow: row; }
  .osoba { flex-wrap: wrap; }
  .osoba__akcje { width: 100%; justify-content: flex-start; }
  .osoba__akcje .przycisk--drugi { flex: 1; }
  .znacznik { white-space: nowrap; }
  .sciezka::before { left: 32px; }
  .krok__glowa { padding: 16px; gap: 12px; grid-template-columns: 32px minmax(0, 1fr) 20px; }
  .krok__nr { width: 32px; height: 32px; }
  .krok__tresc { padding: 0 16px 20px; }
  .krok__dalej .przycisk { width: 100%; }
  .instrukcja li { grid-template-columns: 28px 1fr; }
  .instrukcja li .przycisk { grid-column: 2; justify-self: start; }
  .glowa-firmy__postep { grid-template-columns: auto 1fr; }
  .glowa-firmy__postep > span:last-child { grid-column: 1 / -1; }
  .sygnal { grid-template-columns: 32px minmax(0, 1fr); }
  .sygnal__ikona { width: 32px; height: 32px; border-radius: 10px; }
  .sygnal .waga { grid-column: 2; justify-self: start; }
}
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after { animation: none !important; transition: none !important; }
}

/* Ścieżka kontaktu, Dziś i Kampania */
.licznik--goracy { background: var(--ember); color: #1a0d07; }
.akcje { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }
.teraz-karta { margin: 16px 0 24px; padding: 20px 24px; border-radius: var(--r); border: 1px solid rgba(240, 101, 82, .35); background: linear-gradient(180deg, var(--ember-soft), transparent 140%); display: grid; gap: 8px; }
.teraz-karta small { font: 500 11px/1.2 var(--f-mono); letter-spacing: .08em; text-transform: none; color: var(--ember-2); }
.teraz-karta b { font-size: 18px; line-height: 1.3; }
.teraz-karta p { margin: 0; color: var(--text-2); font-size: 14px; line-height: 1.5; }
.teraz-karta .akcje { margin-top: 8px; }
.teraz-karta--czeka { border-color: var(--line-2); background: var(--bg-2); }
.teraz-karta--czeka small { color: var(--muted); }
.wskazowka { display: flex; gap: 8px; align-items: flex-start; color: var(--amber-2) !important; font-size: 13px !important; }
.wskazowka svg { width: 16px; height: 16px; flex: none; margin-top: 2px; }
.os-sciezki { list-style: none; margin: 0; padding: 0; display: grid; }
.os-krok { display: grid; grid-template-columns: 24px 1fr; gap: 12px; padding: 10px 0; position: relative; }
.os-krok:not(:last-child)::before { content: ""; position: absolute; left: 11px; top: 32px; bottom: -10px; width: 2px; background: var(--line-2); }
.os-krok--zrobione:not(:last-child)::before { background: rgba(41, 168, 130, .4); }
.os-krok__znak { width: 24px; height: 24px; border-radius: 50%; border: 2px solid var(--line-2); display: grid; place-items: center; background: var(--panel); position: relative; z-index: 1; }
.os-krok__znak svg { width: 14px; height: 14px; }
.os-krok b { font-size: 14px; font-weight: 500; color: var(--text-2); }
.os-krok small { display: block; margin-top: 2px; font: 400 12px/1.4 var(--f-mono); color: var(--muted); }
.os-krok--zrobione .os-krok__znak { background: var(--mint); border-color: var(--mint); color: var(--mint-ciemna); }
.os-krok--zrobione b { color: var(--text); }
.os-krok--teraz .os-krok__znak { border-color: var(--ember); box-shadow: 0 0 0 4px var(--ember-soft); }
.os-krok--teraz b { color: var(--text); font-weight: 600; }
.os-krok--teraz small { color: var(--ember-2); }
.os-krok--czeka .os-krok__znak { border-style: dashed; border-color: var(--amber); }
.os-krok--czeka small { color: var(--amber-2); }
.os-krok--pominiete b { text-decoration: line-through; color: var(--muted); }
.wyniki-rozmowy { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }

.lista-zadan { display: grid; gap: 12px; margin-top: 32px; }
.zadanie { display: grid; grid-template-columns: 200px 1fr auto; gap: 24px; align-items: center; padding: 20px 24px; border-radius: var(--r); background: linear-gradient(180deg, var(--panel-2), var(--panel)); border: 1px solid var(--line); }
.zadanie__kto { display: grid; gap: 4px; align-content: start; color: inherit; text-decoration: none; }
.zadanie__kto b { font-size: 16px; }
.zadanie__kto small { color: var(--muted); font-size: 13px; }
a.zadanie__kto:hover b { color: var(--ember-2); }
.zadanie__co b { font-size: 15px; }
.zadanie__co p { margin: 4px 0 0; color: var(--text-2); font-size: 13px; line-height: 1.5; }
.zadanie .akcje { justify-content: flex-end; max-width: 360px; }
.zadanie--kampania { border-color: rgba(41, 168, 130, .25); }
.baner-kampanii { display: flex; gap: 12px; align-items: flex-start; margin: 24px 0 0; padding: 16px 20px; border-radius: var(--r); background: var(--amber-soft); color: var(--text); font-size: 14px; line-height: 1.5; }
.baner-kampanii svg { width: 20px; height: 20px; flex: none; color: var(--amber-2); }
.plan-lista { list-style: none; margin: 16px 0 0; padding: 0; display: grid; }
.plan-lista li { display: grid; grid-template-columns: 120px 200px 1fr; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--line); font-size: 14px; color: var(--text-2); }
.plan-lista .mono { color: var(--amber-2); font-size: 13px; }
.plan-lista a { color: var(--text); text-decoration: none; }
.plan-lista a:hover { color: var(--ember-2); }

.formularz-zasobu { display: grid; gap: 16px; margin-top: 24px; }
.formularz-zasobu h3 { margin: 0; font-size: 16px; }
.formularz-zasobu label { display: grid; gap: 6px; font-size: 13px; color: var(--text-2); }
.formularz-zasobu input, .formularz-zasobu select { width: 100%; padding: 10px 12px; border-radius: 10px; background: var(--bg-2); border: 1px solid var(--line-2); color: var(--text); font: inherit; font-size: 14px; outline: none; }
.formularz-zasobu input:focus, .formularz-zasobu select:focus { border-color: var(--ember); }
.formularz-zasobu .dwa { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }

@media (max-width: 900px) {
  .zadanie { grid-template-columns: 1fr; gap: 12px; }
  .zadanie .akcje { justify-content: flex-start; max-width: none; }
  .plan-lista li { grid-template-columns: 90px 1fr; }
  .plan-lista li > span:last-child { grid-column: 2; }
}


/* ---------- Kampania: kokpit, silnik, fala, fundament, szuflada ---------- */
.kampania > section { margin-top: 56px; min-width: 0; }
.kampania__glowa { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px 24px; flex-wrap: wrap; }
.kampania__tytul { margin: 8px 0 0; font: 600 26px/1.15 var(--f-display); letter-spacing: -.015em; }
.kampania__liczby { display: flex; flex-wrap: wrap; gap: 6px; }
.kampania__liczby span { padding: 7px 12px; border-radius: 999px; border: 1px solid var(--line); background: var(--panel); font-size: 13px; color: var(--text-2); white-space: nowrap; }
.kampania__liczby b { color: var(--text); font-weight: 600; }
.kampania__liczba--mint b { color: var(--mint-2); }
.kampania__liczba--goraca { border-color: rgba(240, 101, 82, .35) !important; } .kampania__liczba--goraca b { color: var(--ember-2); }
.zakladki-kampanii { position: sticky; top: var(--pasek-h, 64px); z-index: 15; display: flex; gap: 4px; margin: 20px 0 0; padding: 6px 0; overflow-x: auto; scrollbar-width: none;
  background: linear-gradient(var(--bg) 80%, transparent); border-bottom: 1px solid var(--line); }
.zakladki-kampanii button { position: relative; display: inline-flex; align-items: center; gap: 8px; padding: 10px 14px; border-radius: 10px; font-size: 14px; font-weight: 500; color: var(--text-2); white-space: nowrap; }
.zakladki-kampanii button:hover { color: var(--text); background: var(--panel); }
.zakladki-kampanii button[aria-selected="true"] { color: var(--text); }
.zakladki-kampanii button[aria-selected="true"]::after { content: ""; position: absolute; left: 14px; right: 14px; bottom: -7px; height: 2px; border-radius: 2px; background: var(--ember); }
.zakladka__licznik { font: 500 11px/1 var(--f-mono); padding: 4px 6px; border-radius: 999px; background: var(--line-2); color: var(--text); }
.zakladka__licznik--goracy { background: var(--ember-soft); color: var(--ember-2); }
.kampania > .zakladki-kampanii + section, .kampania > .zakladki-kampanii + .kokpit { margin-top: 28px !important; }
.os__dodaj { display: flex; align-items: center; justify-content: center; gap: 6px; min-height: 40px; border-radius: 12px; border: 1px dashed var(--line-2); font-size: 13px; color: var(--muted); transition: color .2s, border-color .2s, background .2s; }
.os__dodaj svg { width: 14px; height: 14px; }
.os__dodaj:hover { color: var(--text); border-color: var(--text-2); background: var(--panel); }
.sekcja-glowa { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px 32px; flex-wrap: wrap; margin-bottom: 24px; }
.sekcja-glowa .h-sekcji { margin: 10px 0 0; }
.sekcja-glowa .opis-sekcji { max-width: 420px; margin: 0; }
.chipy { display: flex; flex-wrap: wrap; gap: 6px; }
.chipy .znacznik { white-space: normal; }
.znacznik svg { width: 13px; height: 13px; }
.znacznik--duzy { font-size: 13px; padding: 6px 12px; color: var(--text); }
.znacznik--cichy { color: var(--muted); }
.kropka { display: inline-block; width: 8px; height: 8px; border-radius: 50%; background: var(--muted); flex: none; }
.kropka--ember { background: var(--ember); } .kropka--mint { background: var(--mint); } .kropka--amber { background: var(--amber); }
body.bez-przewijania { overflow: hidden; }

/* Kokpit */
.kokpit { display: grid; grid-template-columns: minmax(0, 1fr); gap: 16px; margin-top: 40px !important; }
.teza-slajd { position: relative; overflow: hidden; display: grid; gap: 16px; align-content: start; padding: 40px; border-radius: var(--r-l); border: 1px solid rgba(240, 101, 82, .22);
  background: radial-gradient(520px 320px at 100% 0%, rgba(240, 101, 82, .16), transparent 70%), linear-gradient(180deg, var(--panel-2), var(--panel)); }
.teza-slajd::after { content: ""; position: absolute; right: -120px; top: -120px; width: 320px; height: 320px; border-radius: 50%; pointer-events: none;
  background: repeating-radial-gradient(circle, transparent 0 39px, rgba(240, 101, 82, .12) 39px 40px); mask-image: radial-gradient(circle, #000 30%, transparent 70%); }
.teza-slajd__tekst { margin: 8px 0 0; font: 600 clamp(24px, 2.6vw, 34px)/1.18 var(--f-display); letter-spacing: -.01em; max-width: 760px; position: relative; z-index: 1; }
.teza-slajd__dopisek { margin: 0; font-size: 16px; line-height: 1.55; color: var(--text-2); max-width: 680px; position: relative; z-index: 1; }
.teza-slajd__stopka { margin-top: 8px; font-size: 12px; color: var(--muted); }
.kokpit__liczby { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.liczba { display: grid; align-content: space-between; gap: 16px; padding: 24px; border-radius: var(--r); background: var(--panel); border: 1px solid var(--line); min-height: 128px; }
.liczba b { font: 600 44px/1 var(--f-display); letter-spacing: -.02em; }
.liczba b small { font-size: 20px; color: var(--muted); }
.liczba span { font-size: 13px; color: var(--text-2); }
.liczba--mint b { color: var(--mint-2); }
.liczba--goraca { border-color: rgba(240, 101, 82, .35); background: linear-gradient(180deg, rgba(240, 101, 82, .1), var(--panel)); }
.liczba--goraca b { color: var(--ember-2); }

/* Ten tydzień */
.ten-tydzien { display: grid; grid-template-columns: minmax(0, 1fr) 240px; grid-template-areas: "glowa dzis" "lista dzis"; gap: 16px 24px; padding: 32px; border-radius: var(--r-l); background: var(--panel); border: 1px solid var(--line); }
.ten-tydzien__glowa { grid-area: glowa; }
.ten-tydzien__glowa .h-sekcji { margin: 10px 0 0; }
.ten-tydzien__lista { grid-area: lista; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }
.tt-mat { display: grid; grid-template-columns: auto auto 1fr auto; gap: 12px; align-items: center; text-align: left; padding: 14px 16px; border-radius: var(--r); background: var(--bg-2); border: 1px solid var(--line); transition: border-color .2s, transform .15s; }
.tt-mat:hover { border-color: rgba(240, 101, 82, .4); transform: translateY(-1px); }
.tt-mat__dzien { font-size: 11px; color: var(--muted); text-transform: none; width: 44px; }
.tt-mat__ikona { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: var(--panel-3); color: var(--text-2); }
.tt-mat__ikona svg { width: 18px; height: 18px; }
.tt-mat__ikona--ember { background: var(--ember-soft); color: var(--ember-2); } .tt-mat__ikona--mint { background: var(--mint-soft); color: var(--mint-2); } .tt-mat__ikona--amber { background: var(--amber-soft); color: var(--amber-2); }
.tt-mat__tekst { font-size: 14px; font-weight: 500; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.tt-mat__tekst small { display: block; font-size: 12px; font-weight: 400; color: var(--muted); margin-bottom: 2px; }
.tt-mat__stan svg { width: 18px; height: 18px; color: var(--muted); }
.tt-mat--gotowe { opacity: .7; } .tt-mat--gotowe .tt-mat__stan svg { color: var(--mint-2); }
.tt-mat--spoznione { border-color: rgba(214, 150, 40, .35); } .tt-mat--spoznione .tt-mat__dzien { color: var(--amber-2); }
.ten-tydzien__dzis { grid-area: dzis; display: grid; align-content: end; gap: 8px; padding: 24px; border-radius: var(--r); background: linear-gradient(160deg, rgba(240, 101, 82, .18), rgba(240, 101, 82, .04)); border: 1px solid rgba(240, 101, 82, .3); transition: transform .15s; }
.ten-tydzien__dzis:hover { transform: translateY(-2px); }
.ten-tydzien__dzis b { font: 600 48px/1 var(--f-display); color: var(--ember-2); }
.ten-tydzien__dzis span { font-size: 14px; color: var(--text); }
.ten-tydzien__dzis svg { width: 20px; height: 20px; color: var(--ember-2); }

/* Silnik kampanii */
.silnik__tor { display: flex; align-items: stretch; padding: 24px; border-radius: var(--r-l); background: var(--bg-2); border: 1px solid var(--line); overflow-x: auto; }
.wezel { flex: 1 1 0; min-width: 112px; display: grid; gap: 4px; align-content: start; text-align: left; padding: 16px; border-radius: var(--r); background: var(--panel); border: 1px solid var(--line-2); transition: border-color .2s, background .2s, transform .15s; }
.wezel:hover { border-color: rgba(240, 101, 82, .45); transform: translateY(-2px); }
.wezel[aria-pressed="true"] { border-color: var(--ember); background: linear-gradient(180deg, rgba(240, 101, 82, .14), var(--panel)); }
.wezel b { font: 600 32px/1 var(--f-display); }
.wezel__nazwa { font-size: 14px; font-weight: 600; margin-top: 4px; }
.wezel small { font-size: 12px; line-height: 1.35; color: var(--muted); }
.wezel__ikona { width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; background: var(--ember-soft); color: var(--ember-2); margin-bottom: 8px; }
.wezel__ikona svg { width: 18px; height: 18px; }
.wezel--zrodlo { border-color: rgba(240, 101, 82, .35); }
.wezel--zrodlo b { color: var(--ember-2); }
.wezel--cel b { color: var(--mint-2); }
.wezel--pusty b { color: var(--muted); }
.silnik__laczenie { flex: 0 1 40px; min-width: 16px; position: relative; align-self: center; height: 2px; background: var(--line-2); }
.silnik__laczenie i { position: absolute; top: -2px; left: 0; width: 6px; height: 6px; border-radius: 50%; background: var(--ember); box-shadow: 0 0 8px var(--ember); animation: przeplyw 2.4s linear infinite; }
.silnik__laczenie:nth-of-type(2n) i { animation-delay: -.8s; }
.silnik__laczenie:nth-of-type(3n) i { animation-delay: -1.6s; }
@keyframes przeplyw { from { left: 0; opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } to { left: calc(100% - 6px); opacity: 0; } }
@media (prefers-reduced-motion: reduce) { .silnik__laczenie i { animation: none; left: calc(50% - 3px); } }
.silnik__petla { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 12px; padding: 14px 20px; border-radius: var(--r); border: 1px dashed var(--line-2); font-size: 13px; color: var(--text-2); }
.silnik__petla > span:not(.petla__ikona)::after { content: "·"; margin-left: 12px; color: var(--muted); }
.petla__ikona svg { width: 20px; height: 20px; color: var(--mint-2); display: block; }
.petla__przycisk { padding: 6px 12px; border-radius: 999px; background: var(--panel-3); border: 1px solid var(--line); font-size: 13px; color: var(--text-2); }
.petla__przycisk:hover, .petla__przycisk[aria-pressed="true"] { border-color: var(--ember); color: var(--text); }
.petla__przycisk--goracy { background: var(--ember-soft); color: var(--ember-2); border-color: rgba(240, 101, 82, .3); }
.silnik__lista { margin-top: 12px; padding: 16px 24px; border-radius: var(--r); background: var(--panel); border: 1px solid var(--line); display: grid; animation: rozwin .25s ease-out; }
.silnik__lista h3 { margin: 4px 0 8px; font-size: 15px; }
.silnik__lista .opis-sekcji { margin: 4px 0 8px; }
.wiersz-firmy { display: grid; grid-template-columns: minmax(140px, 1fr) minmax(120px, 1fr) minmax(0, 2fr); gap: 16px; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); text-align: left; font-size: 14px; color: var(--text-2); }
.wiersz-firmy b { color: var(--text); font-weight: 500; }
.wiersz-firmy:hover b { color: var(--ember-2); }
.wiersz-firmy__ruch { color: var(--text); }
.wiersz-firmy .mono { font-size: 12px; color: var(--amber-2); margin-right: 6px; }

/* Fala */
.fala__wybor { display: flex; flex-wrap: wrap; gap: 6px; }
.fala__wybor button { padding: 8px 14px; border-radius: 999px; font-size: 13px; color: var(--text-2); border: 1px solid var(--line-2); background: var(--panel); }
.fala__wybor button[aria-selected="true"] { background: var(--text); color: var(--bg); border-color: var(--text); }
.fala__wybor .fala__nastepna { display: inline-flex; gap: 6px; align-items: center; border-style: dashed; }
.fala__nastepna svg { width: 14px; height: 14px; }
.fala__postep { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 16px; margin-bottom: 16px; }
.postep { flex: 0 1 240px; height: 6px; border-radius: 999px; background: var(--panel-3); overflow: hidden; }
.postep span { display: block; height: 100%; border-radius: inherit; background: linear-gradient(90deg, var(--mint), #A8F0DA); transition: width .6s cubic-bezier(.2, .8, .2, 1); }
.fala__postep .mono { font-size: 12px; color: var(--text-2); }
.fala__legenda { display: flex; flex-wrap: wrap; gap: 8px 16px; margin-left: auto; font-size: 12px; color: var(--muted); }
.fala__legenda span { display: inline-flex; align-items: center; gap: 6px; }
.fala__wnioski { display: flex; gap: 12px; align-items: flex-start; margin: 0 0 16px; padding: 14px 18px; border-radius: var(--r); background: var(--mint-soft); font-size: 14px; line-height: 1.5; }
.fala__wnioski svg { width: 18px; height: 18px; flex: none; color: var(--mint-2); margin-top: 2px; }
.os-ramka { position: relative; }
.os-przewijana { overflow-x: auto; margin: 0 -4px; padding: 4px; scroll-behavior: smooth; scroll-snap-type: x proximity; }
.os__tydzien { scroll-snap-align: start; }
.os-ramka::before, .os-ramka::after { content: ""; position: absolute; top: 0; bottom: 0; width: 72px; pointer-events: none; opacity: 0; transition: opacity .25s; z-index: 2; }
.os-ramka::before { left: -4px; background: linear-gradient(90deg, var(--bg), transparent); }
.os-ramka::after { right: -4px; background: linear-gradient(270deg, var(--bg), transparent); }
.os-ramka.ma-lewo::before, .os-ramka.ma-prawo::after { opacity: 1; }
.os-strzalka { position: absolute; top: 12px; z-index: 3; display: none; align-items: center; gap: 8px; height: 40px; padding: 0 14px; border-radius: 999px; background: var(--text); color: var(--bg); font-size: 13px; font-weight: 500; box-shadow: 0 8px 24px rgba(34, 48, 80, 0.225); }
.os-strzalka svg { width: 16px; height: 16px; }
.os-strzalka--prawo { right: 8px; }
.os-strzalka--lewo { left: 8px; padding: 0; width: 40px; justify-content: center; }
.os-ramka.ma-prawo .os-strzalka--prawo, .os-ramka.ma-lewo .os-strzalka--lewo { display: inline-flex; }
.os-strzalka--prawo { animation: zacheta 2.4s ease-in-out 3; }
@keyframes zacheta { 0%, 60%, 100% { transform: translateX(0); } 30% { transform: translateX(4px); } }
.os { display: grid; grid-template-columns: repeat(var(--tyg), minmax(240px, 1fr)); gap: 12px; min-width: calc(var(--tyg) * 252px); align-items: start; }
.os__tydzien { display: grid; gap: 10px; align-content: start; padding: 16px; border-radius: var(--r); background: var(--bg-2); border: 1px solid var(--line); }
.os__tydzien--teraz { border-color: rgba(240, 101, 82, .45); background: linear-gradient(180deg, rgba(240, 101, 82, .08), var(--bg-2) 160px); }
.os__tydzien--minal { opacity: .72; }
.os__glowa { display: flex; align-items: baseline; gap: 8px; flex-wrap: wrap; margin-bottom: 4px; }
.os__glowa b { font-size: 14px; }
.os__glowa small { font-size: 12px; color: var(--muted); }
.os__glowa .znacznik { margin-left: auto; padding: 2px 8px; font-size: 11px; }
.mat { position: relative; border-radius: 14px; background: var(--panel); border: 1px solid var(--line); border-left: 3px solid var(--muted); transition: border-color .2s, transform .15s, box-shadow .2s; }
.mat:hover { transform: translateY(-2px); box-shadow: 0 12px 28px rgba(34, 48, 80, 0.158); }
.mat--ember { border-left-color: var(--ember); } .mat--mint { border-left-color: var(--mint); } .mat--amber { border-left-color: var(--amber); }
.mat__otworz { display: grid; gap: 8px; width: 100%; text-align: left; padding: 14px 48px 14px 14px; }
/* Rodzaj materiału: własny kolor i ikona, osobno od koloru filaru (lewa krawędź karty). */
.ikona-typu--post, .mat__typ--post { --typ: #5AA8F2; }
.ikona-typu--prezentacja, .mat__typ--prezentacja { --typ: #B79BFF; }
.ikona-typu--onepager, .mat__typ--onepager { --typ: #F49AC8; }
.ikona-typu--pdf, .mat__typ--pdf { --typ: #D2493B; }
.ikona-typu--blog, .mat__typ--blog { --typ: #C9D86B; }
.ikona-typu--realizacja, .mat__typ--realizacja { --typ: #6EC8E8; }
.ikona-typu--inne, .mat__typ--inne { --typ: var(--text-2); }
.ikona-typu { display: inline-grid; place-items: center; width: 26px; height: 26px; border-radius: 8px; flex: none; color: var(--typ); background: color-mix(in srgb, var(--typ) 16%, transparent); }
.ikona-typu svg { width: 15px; height: 15px; display: block; }
.mat__data { font-size: 12px; color: var(--text-2); white-space: nowrap; min-height: 28px; display: flex; align-items: center; }
.mat__data b { color: var(--ember-2); font-weight: 600; }
.mat__typ { display: inline-flex; align-items: center; gap: 8px; font-size: 12px; font-weight: 600; color: var(--typ); }
.mat__tytul { font-size: 16px; font-weight: 600; line-height: 1.32; letter-spacing: -.01em; }
.mat__dol { display: flex; justify-content: space-between; gap: 8px; font-size: 12px; }
.mat__brief { display: inline-flex; align-items: center; gap: 4px; color: var(--mint-2); }
.mat__brief svg { width: 13px; height: 13px; }
.mat__brief--brak { color: var(--ember-2); }
.mat__stan { color: var(--muted); }
.mat__check { position: absolute; top: 12px; right: 12px; width: 28px; height: 28px; border-radius: 50%; border: 1.5px solid var(--line-2); display: grid; place-items: center; color: transparent; transition: all .2s; }
.mat__check svg { width: 15px; height: 15px; }
.mat__check:hover { border-color: var(--mint); color: var(--mint-2); }
.mat--gotowe { background: linear-gradient(180deg, rgba(41, 168, 130, .07), var(--panel)); }
.mat--gotowe .mat__check { background: var(--mint); border-color: var(--mint); color: var(--mint-ciemna); }
.mat--gotowe .mat__stan { color: var(--mint-2); }
.mat--spoznione .mat__stan { color: var(--amber-2); }
.mat--pominiete { opacity: .5; } .mat--pominiete .mat__tytul { text-decoration: line-through; }
.os__pusto { margin: 0; padding: 10px 12px; border-radius: 10px; border: 1px dashed var(--line-2); font-size: 12px; color: var(--muted); }
.filtry--plan { display: flex; flex-direction: column; align-items: stretch; gap: 10px; margin: 0 0 16px; }
.filtry--plan .filtry__grupa { width: 100%; justify-content: flex-start; }
.filtry--plan .filtry__grupa { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.filtry--plan .filtry__etykieta { font: 500 11px/1 var(--f-mono); letter-spacing: .08em; text-transform: none; color: var(--muted); width: 64px; flex: none; }
.filtry--plan .filtr { display: inline-flex; align-items: center; gap: 8px; min-height: 36px; padding: 4px 12px 4px 6px; border-radius: 999px; border: 1px solid var(--line-2); background: var(--panel); font-size: 13px; color: var(--text-2); transition: border-color .2s, background .2s, color .2s; }
.filtry--plan .filtr:not(.filtr--typ) { padding-left: 12px; }
.filtry--plan .filtr:hover { border-color: var(--text-2); color: var(--text); }
.filtry--plan .filtr .mono { font-size: 11px; color: var(--muted); }
.filtry--plan .filtr .ikona-typu { width: 24px; height: 24px; border-radius: 999px; }
.filtry--plan .filtr .ikona-typu svg { width: 13px; height: 13px; }
.filtry--plan .filtr[aria-pressed="true"] { background: var(--text); border-color: var(--text); color: var(--bg); }
.filtry--plan .filtr[aria-pressed="true"] .mono { color: var(--bg); opacity: .7; }
.filtry--plan .filtr--typ[aria-pressed="true"] { background: color-mix(in srgb, var(--typ) 18%, var(--panel)); border-color: var(--typ); color: var(--text); }
.filtry--plan .filtr--typ[aria-pressed="true"] .mono { color: var(--text-2); opacity: 1; }
.filtry--plan .filtr--typ:has(.ikona-typu--post) { --typ: #5AA8F2; } .filtry--plan .filtr--typ:has(.ikona-typu--prezentacja) { --typ: #B79BFF; }
.filtry--plan .filtr--typ:has(.ikona-typu--onepager) { --typ: #F49AC8; } .filtry--plan .filtr--typ:has(.ikona-typu--pdf) { --typ: #D2493B; }
.filtry--plan .filtr--typ:has(.ikona-typu--blog) { --typ: #C9D86B; } .filtry--plan .filtr--typ:has(.ikona-typu--realizacja) { --typ: #6EC8E8; }
@media (max-width: 640px) { .filtry--plan .filtry__etykieta { width: 100%; } }
.os__osobiscie { margin-top: 4px; padding-top: 10px; border-top: 1px dashed var(--line-2); font-size: 12px; color: var(--text-2); }
.os__osobiscie summary { cursor: pointer; display: flex; align-items: center; gap: 6px; color: var(--mint-2); font-weight: 500; list-style: none; }
.os__osobiscie summary::-webkit-details-marker { display: none; }
.os__osobiscie svg { width: 14px; height: 14px; }
.os__osobiscie p { margin: 8px 0 0; line-height: 1.55; }
.nastepna-fala { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 20px; align-items: center; margin-top: 16px; padding: 20px 24px; border-radius: var(--r); border: 1px dashed rgba(41, 168, 130, .35); background: rgba(41, 168, 130, .04); }
.nastepna-fala__ikona { width: 44px; height: 44px; border-radius: 12px; display: grid; place-items: center; background: var(--mint-soft); color: var(--mint-2); }
.nastepna-fala__ikona svg { width: 22px; height: 22px; }
.nastepna-fala b { font-size: 15px; }
.nastepna-fala p { margin: 4px 0 0; font-size: 13px; line-height: 1.5; color: var(--text-2); max-width: 640px; }
.poza__lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; }

/* Fundament jako talia slajdów */
.deck__zakladki { display: flex; flex-wrap: wrap; gap: 4px; padding: 4px; border-radius: 14px; background: var(--panel); border: 1px solid var(--line); }
.deck__zakladki button { display: inline-flex; gap: 8px; align-items: baseline; padding: 8px 14px; border-radius: 10px; font-size: 14px; color: var(--text-2); }
.deck__zakladki .mono { font-size: 11px; color: var(--muted); }
.deck__zakladki button[aria-selected="true"] { background: var(--panel-3); color: var(--text); box-shadow: inset 0 0 0 1px var(--line-2); }
.deck__zakladki button[aria-selected="true"] .mono { color: var(--ember-2); }
.deck { padding: 32px; border-radius: var(--r-l); background: radial-gradient(700px 300px at 0% 0%, rgba(30, 36, 48, .025), transparent 70%), linear-gradient(180deg, var(--panel-2), var(--panel)); border: 1px solid var(--line); min-height: 360px; display: grid; align-content: space-between; gap: 32px; }
.slajd { animation: rozwin .3s ease-out; }
.deck__stopka { display: flex; align-items: center; justify-content: space-between; gap: 16px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 12px; color: var(--muted); }
.deck__strzalka { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--line-2); color: var(--text-2); }
.deck__strzalka:hover { border-color: var(--ember); color: var(--text); }
.deck__strzalka svg { width: 18px; height: 18px; }
.slajd--problemy { display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 16px; }
.problem-k { display: grid; grid-template-columns: 80px minmax(0, 1fr); gap: 20px; align-items: start; padding: 24px; border-radius: var(--r); background: var(--bg-2); border: 1px solid var(--line); }
.problem-k > div > b { display: block; font: 600 19px/1.25 var(--f-display); }
.problem-k__opis { margin: 8px 0 0; font-size: 15px; line-height: 1.45; color: var(--text); }
.problem-k details { margin: 12px 0; font-size: 13px; color: var(--text-2); }
.problem-k summary { cursor: pointer; font: 500 11px/1.4 var(--f-mono); letter-spacing: .06em; text-transform: none; color: var(--muted); }
.problem-k details p { margin: 8px 0 0 !important; }
.problem-k p { margin: 8px 0 12px; font-size: 14px; line-height: 1.55; color: var(--text-2); }
.pierscien { --p: 0; width: 80px; height: 80px; border-radius: 50%; display: grid; place-content: center; text-align: center; position: relative;
  background: conic-gradient(var(--ember) calc(var(--p) * 1%), var(--panel-3) 0); }
.pierscien::before { content: ""; position: absolute; inset: 6px; border-radius: 50%; background: var(--bg-2); }
.pierscien b, .pierscien small { position: relative; }
.pierscien b { font: 600 26px/1 var(--f-display); }
.pierscien small { font: 500 11px/1.2 var(--f-mono); color: var(--muted); }
.slajd--filary { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; }
.filar-k { --k: var(--ember); --k-soft: var(--ember-soft); position: relative; overflow: hidden; display: grid; gap: 12px; align-content: start; padding: 28px 24px 24px; border-radius: var(--r); background: linear-gradient(180deg, var(--k-soft), var(--bg-2) 55%); border: 1px solid var(--line); border-top: 3px solid var(--k); }
.filar-k--mint { --k: var(--mint); --k-soft: var(--mint-soft); } .filar-k--amber { --k: var(--amber); --k-soft: var(--amber-soft); }
.filar-k__nr { position: absolute; top: 10px; right: 16px; font-size: 56px; line-height: 1; font-weight: 500; color: var(--k); opacity: .18; }
.filar-k > b { font: 600 22px/1.2 var(--f-display); padding-right: 48px; }
.filar-k p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--text-2); }
.filar-k small { display: flex; gap: 8px; align-items: flex-start; font-size: 12px; line-height: 1.45; color: var(--muted); }
.filar-k small svg { width: 14px; height: 14px; flex: none; margin-top: 1px; color: var(--k); }
.filar-k__dol { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 8px; padding-top: 14px; border-top: 1px solid var(--line); }
.filar-k__dol .mono { font-size: 12px; color: var(--text-2); }
.kropki { display: flex; flex-wrap: wrap; gap: 5px; }
.kropki i { width: 10px; height: 10px; border-radius: 3px; border: 1.5px solid var(--k); }
.kropki i.pelna { background: var(--k); }
.slajd--ekspert { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.2fr); gap: 40px; align-items: start; }
.ekspert-k__teza { margin: 0; display: grid; gap: 20px; font: 600 clamp(22px, 2.2vw, 30px)/1.25 var(--f-display); }
.ekspert-k__teza svg { width: 40px; height: 32px; color: var(--ember-2); opacity: .75; }
.tematy { list-style: none; margin: 0; padding: 0; display: grid; gap: 10px; }
.tematy li { display: flex; gap: 10px; align-items: flex-start; font-size: 14px; line-height: 1.45; color: var(--text); }
.tematy li::before { content: ""; width: 6px; height: 6px; margin-top: 7px; border-radius: 50%; background: var(--ember); flex: none; }
.ekspert-k__siatka { display: grid; grid-template-columns: 1fr 1fr; gap: 24px; }
.ekspert-k__siatka h4, .brief h4 { margin: 0 0 10px; font: 500 11px/1.2 var(--f-mono); letter-spacing: .08em; text-transform: none; color: var(--muted); }
.ekspert-k__siatka p { margin: 10px 0 0; font-size: 13px; line-height: 1.5; color: var(--text-2); }
.tydzien-mini { display: flex; gap: 6px; }
.tydzien-mini span { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; font: 500 12px/1 var(--f-mono); color: var(--muted); background: var(--bg-2); border: 1px solid var(--line); }
.tydzien-mini span.aktywny { background: var(--ember); color: var(--text); border-color: var(--ember); }
.unikaj { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 13px; color: var(--text-2); }
.unikaj li { display: flex; gap: 8px; align-items: flex-start; line-height: 1.45; }
.unikaj svg { width: 14px; height: 14px; flex: none; margin-top: 2px; color: var(--ember-2); }
.slajd--zasady { display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; }
.zasada-k { display: grid; gap: 10px; align-content: start; padding: 24px; border-radius: var(--r); background: var(--bg-2); border: 1px solid var(--line); }
.zasada-k .mono { font-size: 28px; color: var(--ember-2); opacity: .8; }
.zasada-k b { font: 600 17px/1.3 var(--f-display); }
.zasada-k p { margin: 0; font-size: 13px; line-height: 1.5; color: var(--text-2); }
.fundament__odnowa { margin-top: 16px; }
.fundament__odnowa summary { cursor: pointer; font-size: 13px; color: var(--muted); }
.fundament__odnowa .opis-sekcji { max-width: 640px; }
.strategia__start { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 12px; align-items: end; margin-top: 16px; }
.strategia__start label { display: grid; gap: 6px; font-size: 13px; color: var(--text-2); }
.strategia__start input { width: 100%; padding: 10px 12px; border-radius: 10px; background: var(--bg-2); border: 1px solid var(--line-2); color: var(--text); font: inherit; font-size: 14px; outline: none; }
.strategia-praca { margin-top: 32px; }
.start-kampanii { margin-top: 40px; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 360px); gap: 32px; align-items: end; }
.start-kampanii .h-sekcji { margin: 10px 0 0; }
.start-kampanii__kroki { list-style: none; counter-reset: k; margin: 24px 0 0; padding: 0; display: grid; gap: 16px; }
.start-kampanii__kroki li { counter-increment: k; display: grid; grid-template-columns: 36px 1fr; gap: 4px 12px; }
.start-kampanii__kroki li::before { content: counter(k); grid-row: span 2; width: 32px; height: 32px; border-radius: 50%; display: grid; place-items: center; font: 600 14px/1 var(--f-mono); background: var(--ember-soft); color: var(--ember-2); }
.start-kampanii__kroki span { font-size: 14px; color: var(--text-2); line-height: 1.5; }
.start-kampanii .strategia__start { grid-template-columns: 1fr; }

/* Koszty AI */
.koszty { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.3fr); gap: 32px; padding: 28px 32px; border-radius: var(--r-l); background: var(--panel); border: 1px solid var(--line); margin-bottom: 48px; }
.koszty__suma { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 12px; margin: 12px 0 0; }
.koszty__suma b { font: 600 40px/1 var(--f-display); }
.koszty__suma span { font-size: 13px; color: var(--text-2); }
.koszty__paski { display: grid; gap: 14px; align-content: center; }
.koszt { display: grid; grid-template-columns: minmax(0, 180px) minmax(0, 1fr) 64px; gap: 12px; align-items: center; font-size: 13px; }
.koszt small { display: block; font-size: 11px; color: var(--muted); }
.koszt i { display: block; height: 8px; border-radius: 999px; background: var(--panel-3); position: relative; overflow: hidden; }
.koszt i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w); border-radius: inherit; background: linear-gradient(90deg, var(--ember), var(--ember-2)); }
.koszt b { text-align: right; font-size: 13px; }

/* Szuflada materiału */
.szuflada { position: fixed; inset: 0; z-index: 60; display: flex; justify-content: flex-end; }
.szuflada__tlo { position: absolute; inset: 0; background: rgba(30, 36, 48, .22); backdrop-filter: blur(4px); animation: zanik .2s ease-out; }
.szuflada__panel { position: relative; width: min(680px, 100%); height: 100%; overflow-y: auto; overscroll-behavior: contain; padding: 24px 40px 48px; background: var(--bg-2); border-left: 1px solid var(--line-2); box-shadow: -24px 0 64px rgba(34, 48, 80, 0.225); animation: wjazd .28s cubic-bezier(.2, .8, .2, 1); display: grid; gap: 20px; align-content: start; }
@keyframes wjazd { from { transform: translateX(40px); opacity: 0; } }
@keyframes zanik { from { opacity: 0; } }
.szuflada__glowa { display: flex; justify-content: space-between; align-items: center; gap: 16px; position: sticky; top: -24px; margin: -24px -40px 0; padding: 20px 40px 16px; background: rgba(255, 255, 255, .78); backdrop-filter: blur(10px); z-index: 2; border-bottom: 1px solid var(--line); }
.szuflada__zamknij { width: 40px; height: 40px; border-radius: 50%; display: grid; place-items: center; border: 1px solid var(--line-2); flex: none; }
.szuflada__zamknij:hover { border-color: var(--ember); }
.szuflada__zamknij svg { width: 18px; height: 18px; }
.szuflada__tytul { margin: 8px 0 0; font: 600 clamp(22px, 2.4vw, 28px)/1.22 var(--f-display); }
.sz-filar { display: flex; flex-wrap: wrap; gap: 16px 24px; align-items: stretch; font-size: 14px; }
.sz-filar > span { display: flex; gap: 10px; align-items: stretch; }
.sz-filar small { display: block; font: 500 11px/1.4 var(--f-mono); letter-spacing: .06em; text-transform: none; color: var(--muted); }
.sz-filar__pasek { width: 4px; border-radius: 2px; background: var(--muted); }
.sz-filar__pasek--ember { background: var(--ember); } .sz-filar__pasek--mint { background: var(--mint); } .sz-filar__pasek--amber { background: var(--amber); }
.sz-filar__etap { display: block !important; padding-left: 24px; border-left: 1px solid var(--line); }
.sz-blok { padding: 16px 20px; border-radius: var(--r); background: var(--panel); border: 1px solid var(--line); }
.sz-blok > span { display: flex; align-items: center; gap: 6px; font: 500 11px/1.4 var(--f-mono); letter-spacing: .06em; text-transform: none; color: var(--muted); }
.sz-blok > span svg { width: 14px; height: 14px; }
.sz-blok p { margin: 6px 0 0; font-size: 14px; line-height: 1.6; color: var(--text-2); }
.sz-blok--mint { background: rgba(41, 168, 130, .05); border-color: rgba(41, 168, 130, .2); }
.sz-blok--mint > span { color: var(--mint-2); }
.sz-status { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; padding: 16px 20px; border-radius: var(--r); background: var(--panel); border: 1px solid var(--line); }
.sz-status label { flex: 1 1 260px; display: grid; gap: 6px; font-size: 13px; color: var(--text-2); }
.sz-status input { width: 100%; padding: 10px 12px; border-radius: 10px; background: var(--bg-2); border: 1px solid var(--line-2); color: var(--text); font: inherit; font-size: 14px; outline: none; }
.sz-status input:focus { border-color: var(--ember); }
.sz-status__ok { flex: 1 1 100%; display: flex; gap: 10px; align-items: flex-start; margin: 0; font-size: 14px; line-height: 1.5; }
.sz-status__ok svg { width: 20px; height: 20px; flex: none; padding: 3px; border-radius: 50%; background: var(--mint); color: var(--mint-ciemna); }
.szuflada__stopka { display: flex; gap: 8px; padding-top: 16px; border-top: 1px solid var(--line); }
.szuflada .formularz-zasobu { margin-top: 0; }

/* Brief */
.brief { display: grid; gap: 12px; padding-top: 8px; }
.brief > h4 { margin-top: 16px; }
.brief__glowa { display: flex; justify-content: space-between; align-items: center; flex-wrap: wrap; gap: 12px; }
.brief__glowa h3 { margin: 0; font: 600 20px/1.2 var(--f-display); }
.brief__trzy { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1px; border-radius: var(--r); overflow: hidden; background: var(--line); border: 1px solid var(--line); }
.brief__trzy > div, .brief__dwa > div { padding: 14px 16px; background: var(--panel); }
.brief__trzy span, .brief__dwa span, .brief__teza span { font: 500 11px/1.4 var(--f-mono); letter-spacing: .06em; text-transform: none; color: var(--muted); }
.brief__trzy p, .brief__dwa p { margin: 6px 0 0; font-size: 13px; line-height: 1.5; color: var(--text-2); }
.brief__dwa { display: grid; grid-template-columns: 1fr 1fr; gap: 1px; border-radius: var(--r); overflow: hidden; background: var(--line); border: 1px solid var(--line); margin-top: 16px; }
.hooki { display: grid; gap: 8px; }
.hook { position: relative; display: grid; gap: 8px; justify-items: start; text-align: left; padding: 14px 48px 14px 16px; border-radius: 14px; background: var(--panel); border: 1px solid var(--line); transition: border-color .2s; }
.hook:hover { border-color: rgba(240, 101, 82, .45); }
.hook p { margin: 0; font-size: 15px; line-height: 1.45; font-weight: 500; }
.hook .znacznik { font-size: 11px; padding: 2px 8px; }
.hook__kopiuj { position: absolute; top: 14px; right: 14px; color: var(--muted); }
.hook__kopiuj svg { width: 16px; height: 16px; }
.hook:hover .hook__kopiuj { color: var(--ember-2); }
.brief__teza { margin-top: 8px; padding: 18px 20px; border-radius: var(--r); border-left: 3px solid var(--ember); background: linear-gradient(90deg, var(--ember-soft), transparent); }
.brief__teza span { color: var(--ember-2); }
.brief__teza p { margin: 6px 0 0; font: 600 18px/1.35 var(--f-display); }
.plan-briefu { list-style: none; counter-reset: p; margin: 0; padding: 0; display: grid; }
.plan-briefu li { counter-increment: p; position: relative; display: grid; gap: 4px; padding: 0 0 18px 44px; }
.plan-briefu li::before { content: counter(p); position: absolute; left: 0; top: -2px; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; font: 600 12px/1 var(--f-mono); background: var(--panel-3); border: 1px solid var(--line-2); color: var(--text); }
.plan-briefu li:not(:last-child)::after { content: ""; position: absolute; left: 13px; top: 30px; bottom: 2px; width: 2px; background: var(--line-2); }
.plan-briefu b { font-size: 14px; }
.plan-briefu p { margin: 0; font-size: 14px; line-height: 1.55; color: var(--text-2); }
.dowody { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.dowody li { padding: 12px 16px; border-radius: 12px; background: var(--panel); border: 1px solid var(--line); }
.dowody p { margin: 0; font-size: 14px; line-height: 1.5; }
.dowody small { display: flex; gap: 6px; align-items: center; margin-top: 6px; font-size: 12px; color: var(--muted); }
.dowody small svg { width: 12px; height: 12px; }
.dodaj { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.dodaj li { display: flex; gap: 10px; align-items: flex-start; padding: 12px 16px; border-radius: 12px; border: 1px dashed rgba(214, 150, 40, .4); background: var(--amber-soft); font-size: 14px; line-height: 1.5; }
.dodaj svg { width: 16px; height: 16px; flex: none; margin-top: 2px; color: var(--amber-2); }
.brief__odnowa { justify-self: start; margin-top: 12px; font-size: 13px; color: var(--muted); }
.brief--pusty { padding: 28px; border-radius: var(--r-l); background: radial-gradient(400px 200px at 100% 0%, var(--ember-soft), transparent 70%), var(--panel); border: 1px solid rgba(240, 101, 82, .25); justify-items: start; }
.brief--pusty h3 { margin: 0; font: 600 20px/1.2 var(--f-display); }
.brief--pusty .opis-sekcji { margin: 0; }
.brief__zapowiedz { list-style: none; margin: 4px 0; padding: 0; display: grid; grid-template-columns: 1fr 1fr; gap: 10px 20px; width: 100%; }
.brief__zapowiedz li { display: flex; gap: 8px; align-items: center; font-size: 14px; }
.brief__zapowiedz svg { width: 16px; height: 16px; flex: none; color: var(--ember-2); }
.brief--praca { border-radius: var(--r-l); background: var(--panel); border: 1px solid var(--line); }

/* Kampania na węższych ekranach */
@media (max-width: 1100px) {
  .slajd--filary { grid-template-columns: 1fr; }
  .slajd--ekspert { grid-template-columns: 1fr; gap: 32px; }
}
@media (max-width: 900px) {
  .kokpit { grid-template-columns: 1fr; }
  .ten-tydzien { grid-template-columns: 1fr; grid-template-areas: "glowa" "lista" "dzis"; padding: 24px; }
  .ten-tydzien__dzis { grid-template-columns: auto 1fr auto; align-items: center; }
  .ten-tydzien__dzis b { font-size: 36px; }
  .silnik__tor { flex-direction: column; padding: 16px; }
  .wezel { min-width: 0; grid-template-columns: 56px 1fr; grid-template-areas: "liczba nazwa" "liczba opis"; align-items: center; gap: 2px 12px; padding: 12px 16px; }
  .wezel b { grid-area: liczba; font-size: 28px; }
  .wezel__nazwa { grid-area: nazwa; margin: 0; }
  .wezel small { grid-area: opis; }
  .wezel__ikona { display: none; }
  .silnik__laczenie { flex: 0 0 20px; width: 2px; min-width: 0; height: auto; align-self: flex-start; margin-left: 43px; }
  .silnik__laczenie i { left: -2px; animation-name: przeplyw-pion; }
  @keyframes przeplyw-pion { from { top: 0; opacity: 0; } 15% { opacity: 1; } 85% { opacity: 1; } to { top: calc(100% - 6px); opacity: 0; } }
  .silnik__petla > span:not(.petla__ikona)::after { content: none; }
  .wiersz-firmy { grid-template-columns: 1fr; gap: 2px; }
  .nastepna-fala { grid-template-columns: auto minmax(0, 1fr); }
  .nastepna-fala .przycisk { grid-column: 1 / -1; justify-self: start; }
  .koszty { grid-template-columns: 1fr; gap: 20px; }
}
@media (max-width: 680px) {
  .teza-slajd { padding: 24px; }
  .liczba { padding: 18px; min-height: 104px; }
  .liczba b { font-size: 34px; }
  .deck { padding: 20px 16px; }
  .slajd--problemy { grid-template-columns: 1fr; }
  .problem-k { grid-template-columns: 1fr; gap: 12px; padding: 20px; }
  .pierscien { width: 64px; height: 64px; }
  .ekspert-k__siatka { grid-template-columns: 1fr; }
  .fala__legenda { margin-left: 0; }
  .os { grid-template-columns: repeat(var(--tyg), 82vw); min-width: 0; }
  .szuflada__panel { padding: 24px 16px 40px; }
  .szuflada__glowa { margin: -24px -16px 0; padding: 16px; }
  .brief__trzy, .brief__dwa, .brief__zapowiedz { grid-template-columns: 1fr; }
  .koszty { padding: 20px; }
  .koszt { grid-template-columns: minmax(0, 1fr) 64px; }
  .koszt i { grid-column: 1 / -1; grid-row: 2; }
  .start-kampanii { grid-template-columns: 1fr; }
  .strategia__start { grid-template-columns: 1fr; }
  .formularz-zasobu .dwa { grid-template-columns: 1fr; }
}
.ekspert-k__siatka .ekspert-k__ton { margin: 0; font-size: 14px; color: var(--text); }

/* Fala w przygotowaniu: zakładka z pulsującą kropką, etapy, szkielet osi */
.fala__wybor .fala__w-pracy { display: inline-flex; align-items: center; gap: 4px; border-color: rgba(41, 168, 130, .4); color: var(--mint-2); }
.fala__wybor .fala__w-pracy[aria-selected="true"] { background: var(--mint-soft); color: var(--mint-2); border-color: var(--mint); }
.fala-praca { display: grid; gap: 20px; padding: 28px; border-radius: var(--r-l); background: linear-gradient(180deg, rgba(41, 168, 130, .06), var(--bg-2) 240px); border: 1px solid rgba(41, 168, 130, .25); }
.fala-praca__glowa { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 20px; align-items: center; }
.fala-praca__glowa .ai-praca__tarcza { width: 56px; height: 56px; }
.fala-praca__glowa b { font: 600 20px/1.2 var(--f-display); }
.fala-praca__glowa p { margin: 4px 0 0; font-size: 14px; color: var(--text-2); }
.fala-praca__glowa .mono { font-size: 20px; color: var(--mint-2); }
.postep--duzy { flex: none; width: 100%; height: 8px; }
.postep--duzy span { transition: width 1s linear; }
.etapy--fala { max-width: none; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px 24px; }
.os--szkielet { min-width: 0; grid-template-columns: repeat(4, minmax(0, 1fr)); }
.szkielet { display: grid; gap: 8px; padding: 14px; border-radius: 14px; background: var(--panel); border: 1px solid var(--line); }
.szkielet i { height: 10px; border-radius: 6px; background: linear-gradient(90deg, var(--panel-3) 0%, var(--line-2) 50%, var(--panel-3) 100%) 0 0 / 200% 100%; animation: szkielet 1.6s linear infinite; }
.szkielet i:first-child { width: 40%; height: 8px; }
.szkielet i:last-child { width: 70%; }
@keyframes szkielet { to { background-position: -200% 0; } }
@media (prefers-reduced-motion: reduce) { .szkielet i { animation: none; } }
@media (max-width: 680px) {
  .fala-praca { padding: 20px 16px; }
  .fala-praca__glowa { grid-template-columns: auto minmax(0, 1fr); }
  .fala-praca__glowa .mono { grid-column: 2; }
  .os--szkielet { grid-template-columns: 1fr 1fr; }
}
/* #fala, .strategia-praca: odstęp od paska przy przewijaniu daje html { scroll-padding-top } */

/* ---------- Kampania: logika fali (dokument do wglądu i druku) ---------- */
.logika { margin-top: 24px; display: grid; gap: 20px; }
.logika > * { min-width: 0; }
.logika__glowa { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 16px 40px; align-items: start; padding: 24px 28px; border-radius: var(--r-l); border: 1px solid var(--line); background: linear-gradient(180deg, var(--panel-2), var(--panel)); }
.logika__teza { margin: 8px 0 6px; max-width: 110ch; font: 500 clamp(16px, 1.25vw, 19px)/1.45 var(--f-display); color: var(--text); text-wrap: pretty; }
.logika__meta { margin: 0; color: var(--text-2); font-size: 14px; }
.logika__akcje { display: grid; justify-items: end; gap: 12px; flex: none; }
.logika__fale { display: flex; gap: 6px; }
.logika__praca { display: flex; align-items: center; gap: 20px; padding: 20px 24px; border-radius: var(--r); border: 1px dashed var(--line-2); color: var(--text-2); font-size: 14px; }
.logika__praca p { margin: 0; flex: 1; }
.logika__praca .ai-praca__tarcza { width: 44px; height: 44px; flex: none; }
.logika__sekcja { padding: 28px 32px; border-radius: var(--r-l); border: 1px solid var(--line); background: var(--panel); break-inside: avoid; }
.logika__h { margin: 0 0 6px; font: 600 20px/1.3 var(--f-display); }
.logika__opis { margin: 0 0 20px; max-width: 80ch; color: var(--text-2); font-size: 14px; }
.logika__sens { grid-column: 1 / -1; list-style: none; margin: 4px 0 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; counter-reset: sens; }
.logika__sens li { counter-increment: sens; display: grid; gap: 4px; align-content: start; padding: 14px 16px; border-radius: var(--r); background: var(--panel-2); border: 1px solid var(--line); font-size: 14px; color: var(--text-2); }
.logika__sens li::before { content: "0" counter(sens); font: 500 12px/1 var(--f-mono); color: var(--ember-2); }
.logika__sens b { color: var(--text); font: 600 15px/1.3 var(--f-display); }

.drzewo { position: relative; display: grid; grid-template-columns: repeat(3, 1fr); column-gap: clamp(48px, 7vw, 120px); row-gap: 12px; }
.drzewo__linie, .tory__linie { position: absolute; inset: 0; pointer-events: none; overflow: visible; z-index: 0; }
.drzewo__linie path, .tory__linie path { fill: none; stroke-linecap: round; opacity: .55; }
.linia--ember { stroke: var(--ember); } .linia--mint { stroke: var(--mint); } .linia--amber { stroke: var(--amber); }
.linia--lancuch { stroke: var(--text-2); stroke-dasharray: 4 4; opacity: .5 !important; }
.linia--aktywna { stroke: var(--ember); opacity: 1 !important; stroke-width: 2.5; }
.grot { fill: var(--text-2); }
.drzewo__kol { position: relative; z-index: 1; display: flex; flex-direction: column; justify-content: center; gap: 12px; }
.drzewo__etykieta, .tory__rog { font: 500 11px/1 var(--f-mono); letter-spacing: .08em; text-transform: none; color: var(--muted); margin-bottom: 4px; }
.lwezel { display: grid; gap: 4px; padding: 14px 16px; border-radius: 12px; background: var(--panel-2); border: 1px solid var(--line-2); font-size: 14px; }
.lwezel b { font-weight: 600; line-height: 1.35; }
.lwezel small { color: var(--muted); font-size: 12px; }
.lwezel--ember { border-left: 3px solid var(--ember); } .lwezel--mint { border-left: 3px solid var(--mint); } .lwezel--amber { border-left: 3px solid var(--amber); }
.lwezel--etap { grid-template-columns: auto 1fr; column-gap: 12px; align-items: center; }
.lwezel--etap small { grid-column: 2; }
.lwezel__krok { grid-row: span 2; width: 28px; height: 28px; border-radius: 50%; display: grid; place-items: center; background: var(--mint-soft); color: var(--mint-2); font: 600 13px/1 var(--f-mono); }

.tory-ramka { overflow-x: auto; margin: 0 -32px; padding: 0 32px 8px; scrollbar-width: thin; }
.tory { position: relative; display: grid; grid-template-columns: 170px repeat(var(--tyg), minmax(190px, 1fr)); min-width: calc(170px + var(--tyg) * 190px); }
.tory > *:not(svg) { position: relative; z-index: 1; }
.tory__rog { align-self: end; padding: 0 12px 12px 0; }
.tory__tydzien { padding: 0 12px 14px; border-left: 1px solid var(--line); display: grid; align-content: start; gap: 2px; }
.tory__tydzien b { font: 600 15px/1.2 var(--f-display); }
.tory__tydzien .mono { font-size: 11px; color: var(--muted); }
.tory__tydzien p { margin: 8px 0 0; font-size: 12.5px; line-height: 1.45; color: var(--text-2); }
.tory__etap { padding: 14px 12px 14px 0; border-top: 1px solid var(--line); display: grid; align-content: start; gap: 4px; }
.tory__etap b { font-size: 14px; } .tory__etap small { font-size: 12px; color: var(--muted); line-height: 1.4; }
.tory__komorka { padding: 12px; border-top: 1px solid var(--line); border-left: 1px solid var(--line); display: grid; align-content: start; gap: 18px; min-height: 64px; }
.tory__etap--osobiscie b { color: var(--mint-2); }
.tory__komorka--osobiscie { font-size: 12.5px; line-height: 1.45; color: var(--text-2); gap: 0; }
.tory__wskazowka { display: none; margin: 8px 0 0; font-size: 12px; color: var(--muted); }
.lchip { display: grid; grid-template-columns: auto auto 1fr; gap: 8px; align-items: start; text-align: left; padding: 10px; border-radius: 12px; background: var(--panel-3); border: 1px solid var(--line-2); border-left: 3px solid var(--k, var(--ember)); transition: border-color .2s, opacity .2s, box-shadow .2s; }
.lchip--ember { --k: var(--ember); } .lchip--mint { --k: var(--mint); } .lchip--amber { --k: var(--amber); }
.lchip:hover { border-color: var(--text-2); border-left-color: var(--k); }
.lchip__nr { font: 600 11px/22px var(--f-mono); color: var(--muted); min-width: 14px; }
.lchip .ikona-typu { width: 22px; height: 22px; border-radius: 6px; } .lchip .ikona-typu svg { width: 12px; height: 12px; }
.lchip__tekst { display: grid; gap: 4px; min-width: 0; }
.lchip__tekst b { font-size: 12.5px; font-weight: 500; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.lchip__tekst small { font-size: 11px; color: var(--muted); }
.logika--wybor .lchip:not(.lchip--wybrany):not(.lchip--lancuch) > * { opacity: .35; }
.lchip--wybrany { box-shadow: 0 0 0 2px var(--k); }
.logika__szczegol { margin-top: 20px; display: flex; justify-content: space-between; gap: 24px; padding: 20px 24px; border-radius: var(--r); background: var(--panel-2); border: 1px solid var(--line-2); }
.logika__szczegol h4 { margin: 8px 0 12px; font: 600 18px/1.3 var(--f-display); max-width: 60ch; }
.logika__szczegol dl { margin: 0; display: grid; grid-template-columns: 200px 1fr; gap: 8px 16px; font-size: 14px; }
.logika__szczegol dt { color: var(--muted); } .logika__szczegol dd { margin: 0; color: var(--text-2); max-width: 75ch; }
.logika__szczegol-akcje { display: flex; flex-direction: column; gap: 8px; align-items: flex-end; flex: none; }
.logika__tabela { width: 100%; border-collapse: collapse; font-size: 13px; }
.logika__tabela th { text-align: left; font: 500 11px/1 var(--f-mono); letter-spacing: .08em; text-transform: none; color: var(--muted); padding: 0 12px 10px 0; }
.logika__tabela td { padding: 12px 12px 12px 0; border-top: 1px solid var(--line); vertical-align: top; color: var(--text-2); }
.logika__tabela td:nth-child(2) { white-space: nowrap; }
.logika__tabela td:nth-child(3) { min-width: 260px; }
.logika__tabela td:last-child { max-width: 60ch; }
.logika__tabela td b { color: var(--text); font-weight: 500; } .logika__tabela td small { display: block; margin-top: 2px; color: var(--muted); }
.logika__tabela tr { break-inside: avoid; }
.logika__zasady { list-style: none; margin: 12px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(280px, 1fr)); gap: 12px 24px; font-size: 14px; }
.logika__zasady li { display: grid; gap: 4px; padding-left: 14px; border-left: 2px solid var(--line-2); color: var(--text-2); }
.logika__zasady b { color: var(--text); }
.logika__stopka { display: flex; justify-content: space-between; align-items: center; gap: 16px; font-size: 12px; color: var(--muted); padding: 0 8px; }
@media (max-width: 900px) {
  .logika__glowa { flex-direction: column; padding: 24px; } .logika__akcje { justify-items: start; }
  .logika__sekcja { padding: 22px 20px; } .tory-ramka { margin: 0 -20px; padding: 0 20px 8px; }
  .logika__sens { grid-template-columns: 1fr; }
  .drzewo { grid-template-columns: 1fr; gap: 12px; } .drzewo__linie, .drzewo > .drzewo__etykieta { display: none; }
  .tory__wskazowka { display: block; }
  .logika__szczegol { flex-direction: column; } .logika__szczegol dl { grid-template-columns: 1fr; gap: 2px; } .logika__szczegol dd { margin-bottom: 8px; }
  .logika__tabela thead { display: none; } .logika__tabela tr { display: grid; grid-template-columns: auto 1fr; gap: 4px 12px; padding: 12px 0; border-top: 1px solid var(--line); }
  .logika__tabela td { border: 0; padding: 0; } .logika__tabela td:nth-child(n+3) { grid-column: 1 / -1; min-width: 0; }
}


/* ---------- Konta: logowanie, rejestracja, menu osoby, zespół, panel admina ---------- */
.formularz-konta { text-align: left; }
.logowanie--szeroka .logowanie__karta { max-width: 460px; }
.logowanie--szeroka h1 { margin: 10px 0 0; }
.logowanie .pole input { text-align: left; }
.pole { display: grid; gap: 6px; align-content: start; font-size: 13px; }
.pole > span:first-child, .pole > label:first-child { color: var(--text-2); font-weight: 500; }
.profil .pole + .pole, .formularz-konta .pole + .pole { margin-top: 0; }
.pole input, .pole textarea { width: 100%; padding: 12px 14px; border-radius: 12px; background: var(--panel); border: 1px solid var(--line-2); outline: none; font-size: 15px; resize: vertical; }
.pole input:focus, .pole textarea:focus { border-color: var(--ember); }
.pole input[readonly] { color: var(--muted); }
.pole__haslo { position: relative; display: block; }
.pole__haslo input { padding-right: 72px; }
.pole__pokaz { position: absolute; right: 8px; top: 50%; transform: translateY(-50%); padding: 6px 10px; font-size: 12px; color: var(--text-2); border-radius: 8px; }
.pole__pokaz:hover { color: var(--text); background: var(--panel-3); }
.pole__info { font-size: 12px; color: var(--muted); line-height: 1.45; }
.pole__info.ok { color: var(--mint-2); } .pole__info.zle { color: var(--ember-2); }
.sila { display: grid; grid-template-columns: repeat(4, 1fr); gap: 4px; }
.sila i { height: 4px; border-radius: 999px; background: var(--panel-3); transition: background .2s; }
.sila[data-sila="1"] i:nth-child(-n+1), .sila[data-sila="2"] i:nth-child(-n+2) { background: var(--amber); }
.sila[data-sila="3"] i:nth-child(-n+3), .sila[data-sila="4"] i { background: var(--mint); }
.zasady-hasla { list-style: none; margin: 2px 0 0; padding: 0; display: grid; gap: 3px; font-size: 12px; color: var(--muted); }
.zasady-hasla li::before { content: "○"; margin-right: 8px; }
.zasady-hasla li.ok { color: var(--mint-2); } .zasady-hasla li.ok::before { content: "✓"; }
.logowanie__pomoc { margin: 8px 0 0 !important; font-size: 12px; color: var(--muted) !important; text-align: center; line-height: 1.6; }

.menu-osoby { position: relative; flex: none; }
.menu-osoby summary { list-style: none; cursor: pointer; border-radius: 50%; }
.menu-osoby summary::-webkit-details-marker { display: none; }
.menu-osoby summary .awatar { width: 34px; height: 34px; font-size: 12px; transition: border-color .2s; }
.menu-osoby summary:hover .awatar, .menu-osoby[open] summary .awatar { border-color: var(--ember); }
.menu-osoby__lista { position: absolute; right: 0; top: calc(100% + 10px); z-index: 40; width: 280px; display: grid; padding: 8px; border-radius: 16px; background: var(--panel-2); border: 1px solid var(--line-2); box-shadow: 0 24px 60px rgba(34, 48, 80, 0.225); }
.menu-osoby__lista > a, .menu-osoby__lista > button { text-align: left; padding: 10px 12px; border-radius: 10px; font-size: 14px; color: var(--text-2); }
.menu-osoby__lista > a:hover, .menu-osoby__lista > button:hover { background: var(--panel-3); color: var(--text); }
.menu-osoby__kto { display: grid; gap: 2px; padding: 10px 12px 12px; border-bottom: 1px solid var(--line); margin-bottom: 6px; }
.menu-osoby__kto small { font-size: 12px; color: var(--muted); }
.menu-osoby__tokeny { display: grid; grid-template-columns: 1fr auto; gap: 6px 8px; padding: 4px 12px 12px; border-bottom: 1px solid var(--line); margin-bottom: 6px; font-size: 12px; color: var(--muted); }
.menu-osoby__tokeny b { color: var(--text); font-size: 13px; }
.menu-osoby__tokeny i, .tokeny-panel__pasek i, .konto-admin__ai i { grid-column: 1 / -1; display: block; height: 6px; border-radius: 999px; background: var(--panel-3); position: relative; overflow: hidden; }
.menu-osoby__tokeny i::after, .tokeny-panel__pasek i::after, .konto-admin__ai i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w); border-radius: inherit; background: var(--mint); }
.konto-admin__ai i.goracy::after { background: var(--ember); }

.przygotowanie { max-width: 980px; }
.przygotowanie__glowa .h-hero { font-size: clamp(32px, 4vw, 52px); max-width: 18ch; }
.przygotowanie__glowa .opis-sekcji { max-width: 64ch; font-size: 16px; }
.przygotowanie__kroki { list-style: none; margin: 32px 0; padding: 0; display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; counter-reset: krok; }
.przygotowanie__kroki li { counter-increment: krok; display: grid; gap: 4px; padding: 16px 18px; border-radius: var(--r); border: 1px solid var(--line); background: var(--panel); font-size: 13px; color: var(--muted); }
.przygotowanie__kroki li::before { content: counter(krok); width: 26px; height: 26px; border-radius: 50%; display: grid; place-items: center; font: 600 12px/1 var(--f-mono); background: var(--panel-3); color: var(--text-2); margin-bottom: 6px; }
.przygotowanie__kroki b { color: var(--text); font-size: 15px; }
.przygotowanie__kroki .teraz { border-color: var(--ember); } .przygotowanie__kroki .teraz::before { background: var(--ember); color: var(--text); }
.przygotowanie__kroki .zrobione::before { content: "✓"; background: var(--mint-soft); color: var(--mint-2); }
.przygotowanie__profil { padding: 28px 32px; }
.przygotowanie__tokeny { margin-top: 16px; font-size: 13px; color: var(--muted); }
.profil { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px 24px; margin-top: 16px; }
.profil__stopka { grid-column: 1 / -1; display: flex; align-items: center; gap: 16px; font-size: 12px; color: var(--muted); }

.zespol__siatka, .admin__siatka { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 20px; margin: 24px 0 20px; }
.zespol .panel, .admin .panel { padding: 24px 28px; }
.zespol > .panel, .admin > .panel { margin-bottom: 20px; }
.osoby { list-style: none; margin: 16px 0; padding: 0; display: grid; }
.osoby li { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 12px 0; border-top: 1px solid var(--line); }
.osoby li:first-child { border-top: 0; }
.osoby li > span:nth-child(2) { display: grid; gap: 2px; min-width: 0; }
.osoby small { font-size: 12px; color: var(--muted); }
.osoby__czeka .awatar { border-style: dashed; color: var(--muted); }
.osoby--male li { padding: 8px 0; } .osoby--male .awatar { width: 30px; height: 30px; font-size: 11px; }
.osoby li.wylaczona { opacity: .45; }
.osoby__akcje { display: flex; gap: 4px; }
.zapros { display: flex; gap: 8px; margin-top: 8px; }
.zapros input { flex: 1; min-width: 0; padding: 11px 14px; border-radius: 12px; background: var(--panel); border: 1px solid var(--line-2); outline: none; font-size: 14px; }
.zapros input:focus { border-color: var(--ember); }
.link-zaproszenia { margin-top: 16px; display: grid; gap: 10px; padding: 16px; border-radius: 12px; border: 1px solid rgba(41, 168, 130, .3); background: var(--mint-soft); font-size: 13px; color: var(--text-2); }
.link-zaproszenia code { font: 12px/1.4 var(--f-mono); color: var(--text); word-break: break-all; padding: 8px 10px; border-radius: 8px; background: var(--bg); }
.link-zaproszenia > div { display: flex; gap: 8px; align-items: center; }
.tokeny-panel__suma { display: grid; gap: 2px; margin: 16px 0 12px; }
.tokeny-panel__suma b { font: 600 32px/1.1 var(--f-display); }
.tokeny-panel__suma span { font-size: 13px; color: var(--muted); }
.tokeny-panel__pasek { display: grid; margin-bottom: 8px; }
.tokeny-panel__pasek i { height: 8px; }
.tokeny-panel__h { margin: 24px 0 12px; font-size: 14px; color: var(--text-2); }
.zespol__wyloguj { text-align: center; }

.admin__liczby { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.admin__liczby > div { display: grid; gap: 4px; padding: 16px 18px; border-radius: var(--r); border: 1px solid var(--line); background: var(--panel); font-size: 12px; color: var(--muted); }
.admin__liczby b { font: 600 28px/1 var(--f-display); color: var(--text); }
.admin__liczba--goraca { border-color: var(--ember) !important; } .admin__liczba--goraca b { color: var(--ember-2); }
.admin__check { display: flex; gap: 8px; align-items: center; margin-top: 10px; font-size: 12px; color: var(--muted); }
.lejek-admin { display: grid; gap: 10px; margin-top: 16px; }
.lejek-admin > div { display: grid; grid-template-columns: 140px 1fr 32px; gap: 12px; align-items: center; font-size: 13px; }
.lejek-admin i { display: block; height: 10px; border-radius: 999px; background: var(--panel-3); position: relative; overflow: hidden; }
.lejek-admin i::after { content: ""; position: absolute; inset: 0 auto 0 0; width: var(--w); background: linear-gradient(90deg, var(--ember), var(--amber)); border-radius: inherit; }
.lejek-admin b { text-align: right; }
.tabela-admin { width: 100%; border-collapse: collapse; margin-top: 12px; font-size: 13px; }
.tabela-admin th { text-align: left; font: 500 11px/1 var(--f-mono); letter-spacing: .08em; text-transform: none; color: var(--muted); padding: 0 12px 10px 0; }
.tabela-admin td { padding: 12px 12px 12px 0; border-top: 1px solid var(--line); vertical-align: top; }
.tabela-admin td small { display: block; margin-top: 3px; font-size: 11px; color: var(--muted); }
.tabela-admin__akcje { text-align: right; white-space: nowrap; }
.konta-admin { display: grid; grid-template-columns: repeat(auto-fill, minmax(420px, 1fr)); gap: 16px; margin-top: 16px; }
.konto-admin { display: grid; gap: 12px; align-content: start; padding: 18px 20px; border-radius: var(--r); border: 1px solid var(--line-2); background: var(--panel-2); }
.konto-admin header { display: flex; justify-content: space-between; gap: 12px; align-items: flex-start; }
.konto-admin header div { display: grid; gap: 2px; } .konto-admin header small { font-size: 12px; color: var(--muted); }
.konto-admin__ai { display: grid; grid-template-columns: 1fr auto; gap: 8px 12px; align-items: center; font-size: 13px; color: var(--text-2); }
.pula-form { display: flex; gap: 6px; align-items: center; font-size: 12px; color: var(--muted); }
.pula-form input { width: 96px; padding: 5px 8px; border-radius: 8px; background: var(--panel); border: 1px solid var(--line-2); font-size: 12px; }
.konto-admin__profil summary { cursor: pointer; font-size: 13px; color: var(--ember-2); }
.konto-admin__profil dl { margin: 10px 0 0; display: grid; gap: 4px; font-size: 13px; }
.konto-admin__profil dt { color: var(--muted); font-size: 12px; margin-top: 6px; } .konto-admin__profil dd { margin: 0; color: var(--text-2); }
.dni-admin { display: grid; grid-template-columns: repeat(30, 1fr); gap: 3px; align-items: end; height: 80px; margin: 16px 0 20px; }
.dni-admin i { display: block; height: max(2px, var(--h)); border-radius: 3px 3px 0 0; background: var(--ember); opacity: .8; }
.logowania-admin { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 8px; font-size: 13px; }
.logowania-admin li { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; }
.logowania-admin small { color: var(--muted); font-size: 12px; }
@media (max-width: 1100px) { .admin__liczby { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 860px) {
  .zespol__siatka, .admin__siatka, .profil, .przygotowanie__kroki { grid-template-columns: 1fr; }
  .konta-admin { grid-template-columns: 1fr; }
  .admin__liczby { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .zapros { flex-direction: column; }
  .tabela-admin thead { display: none; } .tabela-admin tr { display: grid; gap: 4px; padding: 12px 0; border-top: 1px solid var(--line); } .tabela-admin td { border: 0; padding: 0; } .tabela-admin__akcje { text-align: left; }
  .lejek-admin > div { grid-template-columns: 110px 1fr 28px; }
  .menu-osoby__lista { position: fixed; left: 16px; right: 16px; top: 72px; width: auto; }
  .zespol .panel, .admin .panel, .przygotowanie__profil { padding: 20px; }
}
@media (max-width: 520px) {
  .pasek__wnetrze { gap: 10px; }
  .zakladki { gap: 0; padding: 3px; }
  .zakladki a { padding: 7px 7px; font-size: 13px; gap: 4px; }
  .logo svg { width: 28px; height: 28px; }
  .menu-osoby summary .awatar { width: 30px; height: 30px; font-size: 11px; }
}

.logika { position: relative; }
.logika__akcje { display: flex; align-items: center; gap: 12px; }
.logika__dymek { position: absolute; z-index: 30; width: min(420px, calc(100vw - 32px)); padding: 20px 22px; border-radius: var(--r); background: var(--panel-3); border: 1px solid var(--line-2); box-shadow: 0 24px 60px rgba(34, 48, 80, 0.248); display: grid; gap: 10px; justify-items: start; opacity: 0; transform: translateY(4px); transition: opacity .15s, transform .15s; }
.logika__dymek.widoczny { opacity: 1; transform: none; }
.logika__dymek::before { content: ""; position: absolute; top: calc(var(--strzalka, 24px) - 7px); width: 14px; height: 14px; background: var(--panel-3); border: 1px solid var(--line-2); transform: rotate(45deg); }
.logika__dymek[data-strona="prawo"]::before { left: -8px; border-top: 0; border-right: 0; }
.logika__dymek[data-strona="lewo"]::before { right: -8px; border-bottom: 0; border-left: 0; }
.logika__dymek h4 { margin: 0; font: 600 17px/1.3 var(--f-display); padding-right: 24px; }
.logika__dymek dl { margin: 0; display: grid; gap: 2px; font-size: 13.5px; }
.logika__dymek dt { color: var(--muted); font-size: 12px; margin-top: 8px; } .logika__dymek dd { margin: 0; color: var(--text-2); line-height: 1.5; }
.logika__dymek-zamknij { position: absolute; top: 10px; right: 12px; width: 28px; height: 28px; border-radius: 8px; font-size: 20px; line-height: 1; color: var(--muted); }
.logika__dymek-zamknij:hover { background: var(--panel-2); color: var(--text); }
@media (max-width: 760px) {
  .logika__glowa { grid-template-columns: 1fr; } .logika__sens { grid-template-columns: 1fr; }
  .logika__dymek { position: fixed; left: 0 !important; right: 0; bottom: 0; top: auto !important; width: auto; max-height: 75vh; overflow-y: auto; border-radius: 20px 20px 0 0; padding-bottom: calc(20px + env(safe-area-inset-bottom)); opacity: 1; transform: none; }
  .logika__dymek::before { display: none; }
}


.logika__dymek .link { text-align: left; display: inline; }

.zespol__jeden { max-width: 820px; margin: 24px 0 20px; }
.projekt-admin { display: grid; gap: 8px; padding: 12px 14px; border-radius: 12px; background: var(--panel); border: 1px solid var(--line); }
.projekt-admin__glowa { display: flex; justify-content: space-between; gap: 12px; align-items: center; }

/* ---------- Projekty: foldery (wzór z Domknij Sprawy w kolorach Radaru) i kreator ---------- */
.projekty .opis-sekcji { max-width: 70ch; }
.foldery { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 36px 28px; margin-top: 32px; }
.folder { --f-tyl: color-mix(in srgb, var(--ember) 42%, var(--panel)); --f-przod: color-mix(in srgb, var(--ember) 16%, var(--panel-2)); --f-kartka: #E9ECEF;
  position: relative; display: block; width: 100%; padding-top: 50px; text-align: left; color: inherit; perspective: 900px; isolation: isolate; cursor: pointer; }
.folder--setup { --f-tyl: color-mix(in srgb, var(--amber) 38%, var(--panel)); --f-przod: color-mix(in srgb, var(--amber) 13%, var(--panel-2)); }
.folder--nowy { --f-tyl: var(--panel-2); --f-przod: var(--panel); }
.folder__tyl { position: absolute; inset: 50px 0 0; border-radius: 4px 18px 18px 18px; background: var(--f-tyl); z-index: -2; }
.folder__tyl::before { content: ""; position: absolute; left: 0; bottom: 100%; width: 44%; height: 20px; background: var(--f-tyl); border-radius: 12px 0 0 0; clip-path: polygon(0 0, calc(100% - 22px) 0, 100% 100%, 0 100%); }
.folder__kartki { position: absolute; inset: 58px 0 0; z-index: -1; }
.folder__kartki i { position: absolute; left: 7%; right: 7%; top: 0; height: 62%; border-radius: 6px; background: var(--f-kartka); box-shadow: 0 1px 2px rgba(34, 48, 80, 0.158); transition: transform .5s cubic-bezier(.2, .8, .2, 1); }
.folder__kartki i::after { content: ""; position: absolute; inset: 14px 16px auto; height: 26px; background: repeating-linear-gradient(180deg, rgba(34, 48, 80, .16) 0 2px, transparent 2px 8px); border-radius: 2px; }
.folder__kartki i:nth-child(1) { transform: translateY(6px) rotate(-1.5deg); }
.folder__kartki i:nth-child(2) { left: 10%; right: 5%; transform: translateY(3px) rotate(1deg); }
.folder__kartki i:nth-child(3) { left: 6%; right: 9%; }
.folder__przod { position: relative; display: grid; gap: 8px; align-content: start; min-height: 190px; margin-top: 30px; padding: 22px 24px 24px; border-radius: 14px 14px 18px 18px;
  background: linear-gradient(180deg, color-mix(in srgb, var(--f-przod) 94%, #fff 6%), var(--f-przod)); border: 1px solid rgba(30, 36, 48, .06);
  box-shadow: 0 -1px 0 rgba(30, 36, 48, .08) inset, 0 14px 30px -16px rgba(34, 48, 80, 0.315); transform-origin: 50% 100%; transition: transform .5s cubic-bezier(.2, .8, .2, 1), box-shadow .5s; }
.folder__przod > b { font: 600 22px/1.2 var(--f-display); letter-spacing: -.01em; }
.folder__opis { color: var(--text-2); font-size: 14px; line-height: 1.5; }
.folder__gora { display: flex; justify-content: space-between; align-items: center; gap: 8px; }
.folder__otwarty { font: 500 11px/1 var(--f-mono); text-transform: none; letter-spacing: .08em; color: var(--ember-2); }
.folder__dane { display: flex; flex-wrap: wrap; gap: 4px 14px; margin-top: auto; padding-top: 10px; font-size: 12px; color: var(--muted); }
.folder__dane b { color: var(--text); font-weight: 600; }
.folder:hover .folder__przod, .folder:focus-visible .folder__przod { transform: rotateX(-16deg); box-shadow: 0 -1px 0 rgba(30, 36, 48, .08) inset, 0 24px 34px -14px rgba(34, 48, 80, 0.36); }
.folder:hover .folder__kartki i:nth-child(1), .folder:focus-visible .folder__kartki i:nth-child(1) { transform: translateY(-16px) rotate(-3.5deg); }
.folder:hover .folder__kartki i:nth-child(2), .folder:focus-visible .folder__kartki i:nth-child(2) { transform: translateY(-24px) rotate(2.5deg); transition-delay: .04s; }
.folder:hover .folder__kartki i:nth-child(3), .folder:focus-visible .folder__kartki i:nth-child(3) { transform: translateY(-10px); transition-delay: .08s; }
.folder:active .folder__przod { transform: rotateX(-26deg); }
.folder:focus-visible { outline: 2px solid var(--ember); outline-offset: 4px; border-radius: 18px; }
.folder--aktywny .folder__przod { border-color: color-mix(in srgb, var(--ember) 55%, transparent); }
.folder--nowy .folder__tyl, .folder--nowy .folder__tyl::before { background: transparent; border: 1.5px dashed var(--line-2); }
.folder--nowy .folder__tyl::before { border-bottom: 0; }
.folder--nowy .folder__przod { background: var(--panel); border: 1.5px dashed var(--line-2); box-shadow: none; justify-items: start; }
.folder--nowy:hover .folder__przod { border-color: var(--ember); }
.folder__plus { width: 40px; height: 40px; border-radius: 12px; display: grid; place-items: center; background: var(--ember-soft); color: var(--ember-2); font: 500 26px/1 var(--f-display); }
.folder--zablokowany { cursor: default; opacity: .6; } .folder--zablokowany:hover .folder__przod { transform: none; border-color: var(--line-2); }
@media (prefers-reduced-motion: reduce) { .folder__przod, .folder__kartki i { transition: none; } .folder:hover .folder__przod { transform: none; } }

.kreator { max-width: 760px; }
.kreator__kroki { list-style: none; display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 8px 0 24px; padding: 0; font-size: 13px; color: var(--muted); }
.kreator__kroki li { display: flex; align-items: center; gap: 8px; }
.kreator__kroki li span { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font: 600 11px/1 var(--f-mono); background: var(--panel-3); color: var(--text-2); }
.kreator__kroki .teraz { color: var(--text); } .kreator__kroki .teraz span { background: var(--ember); color: var(--text); }
.kreator__kroki .zrobione span { background: var(--mint-soft); color: var(--mint-2); }
.kreator__karta { display: grid; gap: 18px; padding: 32px; }
.kreator__karta .h-sekcji { margin: 0; } .kreator__karta .opis-sekcji { margin: -10px 0 4px; }
.pole__opcja { font-weight: 400; color: var(--muted); font-size: 12px; margin-left: 6px; }
.kreator__stopka { display: flex; justify-content: space-between; align-items: center; }
.kreator__podsumowanie { margin: 0; display: grid; grid-template-columns: 200px 1fr; gap: 10px 20px; font-size: 14px; }
.kreator__podsumowanie dt { color: var(--muted); } .kreator__podsumowanie dd { margin: 0; color: var(--text-2); }
.formularz-projektu { display: grid; gap: 16px; margin-top: 16px; }
.menu-osoby__projekt { display: grid; gap: 2px; color: var(--text) !important; font-weight: 500; }
.menu-osoby__projekt small { font-size: 11px; color: var(--muted); font-weight: 400; }
@media (max-width: 760px) { .kreator__karta { padding: 22px; } .kreator__podsumowanie { grid-template-columns: 1fr; gap: 2px; } .kreator__podsumowanie dd { margin-bottom: 8px; } .foldery { grid-template-columns: 1fr; } }

.przygotowanie__kroki .w-budowie { border-style: dashed; border-color: color-mix(in srgb, var(--amber) 50%, transparent); }
.przygotowanie__kroki .w-budowie b { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.przygotowanie__kroki .zablokowany { opacity: .5; }
.przycisk--zapisano { background: var(--mint) !important; color: var(--mint-ciemna) !important; }

.setup { display: flex; justify-content: space-between; align-items: center; gap: 24px; padding: 24px 28px; }
.setup b { font: 600 18px/1.3 var(--f-display); } .setup p { margin: 6px 0 0; color: var(--text-2); font-size: 14px; max-width: 70ch; }
.setup--trwa { display: grid; gap: 18px; }
.setup__glowa { display: flex; align-items: center; gap: 18px; } .setup__glowa > div:nth-child(2) { flex: 1; }
.setup__glowa .ai-praca__tarcza { width: 48px; height: 48px; flex: none; }
.setup__etapy { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.setup__etapy li { display: grid; gap: 3px; padding: 12px 14px; border-radius: 12px; border: 1px solid var(--line); font-size: 12px; color: var(--muted); }
.setup__etapy b { font: 500 13px/1.3 var(--f-body); color: var(--text-2); }
.setup__etapy .teraz { border-color: var(--ember); } .setup__etapy .teraz b { color: var(--text); }
.setup__etapy .zrobione b::before { content: "✓ "; color: var(--mint-2); }
.setup__koszt { margin: 0; font-size: 12px; color: var(--muted); }
#setup { padding: 0; margin-bottom: 20px; }
@media (max-width: 860px) { .setup { flex-direction: column; align-items: flex-start; } .setup__etapy { grid-template-columns: 1fr 1fr; } }

/* ---------- Radar: podsumowanie projektu zamiast nagłówka ---------- */
.podsumowanie { display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 460px); gap: 40px; align-items: start; padding: 28px 0 16px; }
.podsumowanie__nazwa { margin: 10px 0 6px; font: 600 clamp(30px, 3.4vw, 46px)/1.08 var(--f-display); letter-spacing: -.02em; }
.podsumowanie__opis { margin: 0; max-width: 70ch; color: var(--text-2); font-size: 15px; }
.podsumowanie__liczby { display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 10px; margin: 24px 0 16px; }
.podsumowanie__liczby > div { display: grid; gap: 6px; align-content: start; padding: 16px; border-radius: var(--r); border: 1px solid var(--line); background: var(--panel); }
.podsumowanie__liczby b { font: 600 28px/1 var(--f-display); }
.podsumowanie__liczby span { font-size: 12.5px; color: var(--text-2); line-height: 1.35; }
.podsumowanie__liczby small { display: block; font-size: 11px; color: var(--muted); }
.podsumowanie__teraz { display: flex; align-items: center; gap: 12px; padding: 14px 18px; border-radius: var(--r); border: 1px solid color-mix(in srgb, var(--ember) 45%, transparent); background: var(--ember-soft); }
.podsumowanie__teraz b { font-weight: 500; flex: 1; }
.podsumowanie__link { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--ember-2); white-space: nowrap; }
.podsumowanie__link svg { width: 14px; height: 14px; }
.podsumowanie__teraz:hover { border-color: var(--ember); }
.podsumowanie__segmenty { display: flex; flex-wrap: wrap; gap: 6px 16px; margin-top: 14px; font-size: 12.5px; color: var(--muted); }
.podsumowanie__segmenty b { color: var(--text-2); }
.podsumowanie__tarcza .tarcza { max-width: 460px; margin-left: auto; }
.karta__osoba--brak .awatar { border-style: dashed; color: var(--muted); }
.karta__osoba--brak > span:nth-child(2) { color: var(--text-2); }
/* #zacznij: zob. html { scroll-padding-top } */
@media (max-width: 1100px) { .podsumowanie { grid-template-columns: 1fr; } .podsumowanie__tarcza { display: none; } .podsumowanie__liczby { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (max-width: 560px) { .podsumowanie__liczby { grid-template-columns: repeat(2, minmax(0, 1fr)); } .podsumowanie__teraz { flex-wrap: wrap; } }

.strategia__autor { border: 0; margin: 0; padding: 0; display: grid; gap: 12px; }
.strategia__autor legend { padding: 0; margin-bottom: 4px; font: 600 15px/1.35 var(--f-display); color: var(--text); }
.strategia__podpowiedz { margin: 0; font-size: 12.5px; color: var(--muted); }

/* ---------- Język projektu, edycja projektu, zdrowie projektów ---------- */
.wybor-jezyka { border: 0; margin: 0; padding: 0; display: grid; gap: 6px; }
.wybor-jezyka legend { padding: 0; margin-bottom: 4px; font-size: 13px; font-weight: 500; color: var(--text-2); }
.wybor-jezyka__opcje { display: flex; gap: 8px; margin-top: 4px; }
.wybor-jezyka__opcje label { cursor: pointer; }
.wybor-jezyka__opcje input { position: absolute; opacity: 0; }
.wybor-jezyka__opcje span { display: inline-block; padding: 9px 16px; border-radius: 999px; border: 1px solid var(--line-2); background: var(--panel); font-size: 14px; color: var(--text-2); }
.wybor-jezyka__opcje input:checked + span { background: var(--text); color: var(--bg); border-color: var(--text); }
.wybor-jezyka__opcje input:focus-visible + span { outline: 2px solid var(--ember); outline-offset: 2px; }
.wiadomosci-jezyk { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.folder-ramka { position: relative; }
.folder-menu { position: absolute; z-index: 3; top: 92px; right: 14px; width: 34px; height: 34px; border-radius: 10px; font-size: 20px; line-height: 1; color: var(--text-2); background: rgba(34, 48, 80, 0.113); }
.folder-menu:hover, .folder-menu:focus-visible { color: var(--text); background: rgba(34, 48, 80, 0.203); }
.folder-ramka:has(.folder-menu) .folder__otwarty { margin-right: 40px; }
.nakladka { position: fixed; inset: 0; z-index: 80; display: grid; place-items: center; padding: 16px; background: rgba(30, 36, 48, .22); backdrop-filter: blur(6px); }
.okno { position: relative; width: min(520px, 100%); max-height: calc(100vh - 32px); overflow-y: auto; display: grid; gap: 16px; padding: 28px; border-radius: var(--r-l); background: var(--panel-2); border: 1px solid var(--line-2); box-shadow: 0 30px 80px rgba(34, 48, 80, 0.27); }
.okno .h-sekcji { margin: 0; }
.okno__zamknij { position: absolute; top: 14px; right: 16px; width: 32px; height: 32px; border-radius: 8px; font-size: 22px; color: var(--muted); }
.okno__zamknij:hover { background: var(--panel-3); color: var(--text); }
.okno__stopka { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.okno__usun { border-top: 1px solid var(--line); padding-top: 14px; }
.przycisk--niebezpieczny { color: var(--ember-2); } .przycisk--niebezpieczny:hover { color: #A33A2C; background: rgba(210, 73, 59, .08); }
.przycisk--niebezpieczny-pelny { background: #D9443A; color: #fff; } .przycisk--niebezpieczny-pelny:disabled { opacity: .4; cursor: not-allowed; }
.okno__ostrzezenie { display: grid; gap: 10px; padding: 16px; border-radius: 12px; border: 1px solid rgba(210, 73, 59, .5); background: rgba(210, 73, 59, .08); font-size: 14px; }
.okno__ostrzezenie p { margin: 0; color: var(--text-2); }
.zdrowie { margin-bottom: 20px; }
.zdrowie__ok { display: flex; align-items: center; gap: 8px; margin: 12px 0 0; color: var(--text-2); font-size: 14px; }
.zdrowie__h { margin: 16px 0 8px; font-size: 13px; color: var(--muted); font-weight: 500; }
.zdrowie__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; font-size: 13px; }
.zdrowie__lista li { display: grid; grid-template-columns: auto 1fr; gap: 2px 10px; padding: 10px 12px; border-radius: 10px; background: var(--panel); border: 1px solid var(--line); }
.zdrowie__lista small { color: var(--muted); align-self: center; } .zdrowie__lista span { grid-column: 1 / -1; color: var(--text-2); }
.admin__ostrzezenie { margin: 8px 0 0; padding: 10px 12px; border-radius: 10px; border: 1px solid rgba(210, 73, 59, .45); background: rgba(210, 73, 59, .08); font-size: 12.5px; color: var(--text-2); line-height: 1.5; }

/* ---------- Zespół ekspertów ---------- */
.awatar-eksperta { display: inline-grid; place-items: center; width: 30px; height: 30px; border-radius: 50%; flex: none; font: 600 11px/1 var(--f-display); color: #FFFFFF; background: var(--k, var(--ember)); }
.awatar-eksperta--maly { width: 20px; height: 20px; font-size: 8.5px; vertical-align: middle; }
.mat__stan .awatar-eksperta { margin-right: 6px; }
.filtr--osoba .awatar-eksperta { margin-left: -4px; }
.wiersz-firmy__opiekun { display: flex; align-items: center; gap: 6px; margin-top: 3px; font-size: 11.5px; color: var(--muted); }
.eksperci-form { display: grid; gap: 10px; }
.ekspert-wiersz { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 32px; gap: 10px; align-items: end; }
.ekspert-wiersz__usun { width: 32px; height: 38px; border-radius: 8px; font-size: 20px; color: var(--muted); }
.ekspert-wiersz__usun:hover { background: var(--panel-3); color: var(--text); }
.strategia__start { grid-template-columns: 1fr; align-items: start; }
.strategia__start > .przycisk { justify-self: start; }
.slajd--zespol, .zespol-logika { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 14px; }
.ekspert-mini { display: grid; gap: 10px; align-content: start; padding: 18px; border-radius: var(--r); background: var(--panel-2); border: 1px solid var(--line-2); }
.ekspert-mini__kto { display: flex; gap: 12px; align-items: center; } .ekspert-mini__kto b { display: block; } .ekspert-mini__kto small { color: var(--muted); font-size: 12px; }
.ekspert-mini__rola { margin: 0; font-size: 13.5px; color: var(--text-2); }
.ekspert-mini blockquote { margin: 0; padding-left: 12px; border-left: 2px solid var(--ember); font: 500 14px/1.45 var(--f-display); }
.ekspert-mini__meta { margin: 0; font-size: 12px; color: var(--muted); }
.lchip .awatar-eksperta--maly { width: 22px; height: 22px; font-size: 9px; }
@media (max-width: 640px) { .ekspert-wiersz { grid-template-columns: 1fr 32px; } .ekspert-wiersz label:nth-child(2) { grid-column: 1; } }
.tryb-zaproszenia { margin: 6px 0 12px; width: max-content; }
.tabela-admin td small { display: block; }
.baner-tokeny { max-width: var(--szer); margin: 12px auto 0; padding: 12px 18px; display: flex; flex-wrap: wrap; gap: 6px 12px; align-items: baseline; border-radius: 12px; border: 1px solid color-mix(in srgb, var(--amber) 55%, transparent); background: var(--amber-soft); font-size: 13.5px; color: var(--text-2); width: calc(100% - 2 * var(--gutter)); }
.baner-tokeny b { color: var(--text); }
.strategia__autor [data-dodaj-eksperta] { justify-self: start; padding-left: 0; }
.strategia__start { max-width: 900px; }

/* ---------- Komitet zakupowy (strona radaru, karta firmy) ---------- */
.komitet__lista { list-style: none; margin: 24px 0 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 16px; }
.komitet__rola { display: flex; flex-direction: column; gap: 8px; padding: 24px; border-radius: var(--r); background: var(--bg-2); border: 1px solid var(--line); }
.komitet__rola:first-child { border-color: rgba(240, 101, 82, .45); background: linear-gradient(180deg, var(--ember-soft), var(--bg-2) 60%); }
.komitet__gora { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.komitet__nr { font-size: 12px; color: var(--muted); }
.komitet__wplyw--decyduje { background: var(--ember-soft); color: var(--ember-2); border-color: rgba(240, 101, 82, .25); }
.komitet__wplyw--wybiera { background: var(--mint-soft); color: var(--mint-2); border-color: rgba(41, 168, 130, .2); }
.komitet__nazwa { font: 600 19px/1.25 var(--f-display); }
.komitet__tytuly { font: 500 12px/1.4 var(--f-mono); color: var(--muted); }
.komitet__rola p { margin: 0; font-size: 14px; line-height: 1.5; color: var(--text-2); }
.komitet__zalezy span { display: block; margin-bottom: 4px; font: 500 11px/1.4 var(--f-mono); letter-spacing: .06em; text-transform: none; color: var(--muted); }
.komitet__ile { margin-top: auto; padding-top: 8px; font-size: 12px; color: var(--text-2); }
.komitet__ile b { color: var(--text); font-size: 16px; }
.komitet-firmy { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 0 0 16px; }
.komitet-firmy .znacznik { text-decoration: none; }
.komitet-firmy svg, .osoba__znaczniki svg { width: 12px; height: 12px; }
.osoba__znaczniki { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.osoba__znaczniki a.znacznik { text-decoration: none; }
.osoba__znaczniki .znacznik { margin-top: 0; }
.opiekun-wybor { gap: 8px; }
.opiekun-wybor select { appearance: none; background: transparent; border: 0; color: var(--text); font: inherit; font-weight: 500; padding: 0 16px 0 0; cursor: pointer;
  background-image: linear-gradient(45deg, transparent 50%, currentColor 50%), linear-gradient(135deg, currentColor 50%, transparent 50%); background-position: right 6px top 55%, right 2px top 55%; background-size: 4px 4px; background-repeat: no-repeat; }
.opiekun-wybor select option { color: #111; }
.dzis-filtr { margin: 24px 0 0; }

/* ---------- Kokpit projektu (executive summary) ---------- */
.wizytowka { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(300px, 440px); gap: 40px; align-items: center; margin: 24px 0 8px; padding: 32px;
  border-radius: 24px; border: 1px solid var(--line); overflow: hidden;
  background: radial-gradient(120% 90% at 0% 0%, rgba(79, 141, 247, .10), transparent 55%), radial-gradient(90% 80% at 100% 100%, rgba(41, 168, 130, .08), transparent 60%), var(--bg-2); }
.wizytowka::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .5;
  background-image: linear-gradient(rgba(30, 36, 48, .03) 1px, transparent 1px), linear-gradient(90deg, rgba(30, 36, 48, .03) 1px, transparent 1px); background-size: 32px 32px;
  mask-image: radial-gradient(80% 80% at 30% 30%, #000, transparent); }
.wizytowka > * { position: relative; }
.wizytowka__nazwa { margin: 8px 0 8px; font: 600 clamp(32px, 3.6vw, 48px)/1.05 var(--f-display); letter-spacing: -.02em; }
.wizytowka__status { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 24px; }
.wizytowka__status span { display: inline-flex; align-items: center; padding: 6px 12px; border-radius: 999px; font-size: 13px; color: var(--text-2); background: rgba(30, 36, 48, .04); border: 1px solid var(--line); }
.wizytowka__status span:first-child { color: var(--mint-2); border-color: rgba(41, 168, 130, .25); background: var(--mint-soft); }

.lejek-k { margin: 0 0 24px; }
.lejek-k__liczby { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 4px; margin-bottom: 8px; }
.lejek-k__liczby div { display: grid; gap: 4px; justify-items: center; text-align: center; }
.lejek-k__liczby b { font: 600 clamp(22px, 2.3vw, 32px)/1 var(--f-display); color: var(--k); text-shadow: 0 0 24px color-mix(in srgb, var(--k) 55%, transparent); font-variant-numeric: tabular-nums; }
.lejek-k__liczby span { font-size: 12px; line-height: 1.3; color: var(--text-2); }
.wstega { display: block; width: 100%; height: 96px; }
.wstega__ksztalt { animation: wstega-wejscie 1.4s cubic-bezier(.2, .7, .2, 1) both; }
@keyframes wstega-wejscie { from { clip-path: inset(0 100% 0 0); } to { clip-path: inset(0 0 0 0); } }

.wizytowka__przyrzady { display: grid; grid-template-columns: 1fr 1.25fr 1.25fr; gap: 16px; }
.przyrzad { display: flex; flex-direction: column; gap: 8px; min-width: 0; padding: 16px; border-radius: var(--r); border: 1px solid var(--line); background: rgba(255, 255, 255, .78);
  backdrop-filter: blur(6px); text-decoration: none; color: inherit; transition: border-color .2s, transform .2s; }
a.przyrzad:hover { border-color: color-mix(in srgb, var(--ember) 55%, transparent); transform: translateY(-2px); }
.przyrzad__etykieta { font: 500 11px/1.4 var(--f-mono); letter-spacing: .06em; text-transform: none; color: var(--muted); }
.przyrzad__wielka { font: 600 40px/1 var(--f-display); font-variant-numeric: tabular-nums; }
.przyrzad__wielka small { font: 500 14px/1 var(--f-body, inherit); color: var(--text-2); }
.przyrzad--dzis .przyrzad__wielka { color: var(--ember-2); text-shadow: 0 0 28px rgba(240, 101, 82, .45); }
.przyrzad--plan .przyrzad__wielka { color: var(--amber-2); text-shadow: 0 0 28px rgba(214, 150, 40, .35); }
.przyrzad ul { margin: 0; padding: 0; list-style: none; display: grid; gap: 4px; font-size: 13px; color: var(--text-2); }
.przyrzad li { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.przyrzad li::before { content: ""; display: inline-block; width: 6px; height: 6px; margin-right: 8px; border-radius: 50%; background: var(--ember); vertical-align: 1px; }
.przyrzad__link { margin-top: auto; display: inline-flex; align-items: center; gap: 6px; font-size: 13px; color: var(--ember-2); }
.przyrzad__link svg { width: 14px; height: 14px; }
.pasek-dni { display: grid; grid-template-columns: repeat(14, minmax(0, 1fr)); gap: 3px; height: 72px; align-items: end; }
.pasek-dni__dzien { display: grid; grid-template-rows: 1fr auto; height: 100%; gap: 4px; }
.pasek-dni__dzien i { align-self: end; height: max(3px, var(--h)); border-radius: 3px;
  background: linear-gradient(0deg, var(--mint) calc((1 - var(--m)) * 100%), var(--ember) calc((1 - var(--m)) * 100%)); box-shadow: 0 0 10px rgba(240, 101, 82, calc(var(--m) * .5)); }
.pasek-dni__dzien small { font: 500 9px/1 var(--f-mono); color: var(--muted); text-align: center; }
.pasek-dni__dzien--weekend i { opacity: .45; }
.przyrzad__legenda { display: flex; align-items: center; gap: 6px; font-size: 11px; color: var(--muted); }
.przyrzad__kropka { width: 8px; height: 8px; border-radius: 2px; background: var(--mint); }
.przyrzad__kropka--pub { background: var(--ember); }
.przyrzad__kropka + * { margin-right: 8px; }
.sygnal-k { display: grid; gap: 4px; padding: 6px 0; text-decoration: none; color: inherit; border-bottom: 1px solid var(--line); }
.sygnal-k:last-child { border-bottom: 0; }
.sygnal-k__gora { display: flex; justify-content: space-between; gap: 8px; font-size: 14px; }
.sygnal-k__gora .mono { color: var(--ember-2); font-size: 12px; }
.sygnal-k__pasek { height: 4px; border-radius: 4px; background: var(--panel-3); overflow: hidden; }
.sygnal-k__pasek i { display: block; height: 100%; width: var(--w); background: linear-gradient(90deg, var(--ember), var(--amber)); box-shadow: 0 0 10px rgba(240, 101, 82, .6); }
.sygnal-k small { font-size: 12px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.sygnal-k:hover b { color: var(--ember-2); }
.wizytowka__tarcza .tarcza { max-width: 440px; margin-left: auto; filter: drop-shadow(0 0 40px rgba(240, 101, 82, .12)); }
@media (max-width: 1100px) { .wizytowka { grid-template-columns: 1fr; } .wizytowka__tarcza { display: none; } }
@media (max-width: 760px) {
  .wizytowka { padding: 20px 16px; border-radius: 18px; }
  .wizytowka__przyrzady { grid-template-columns: 1fr; }
  .lejek-k__liczby b { font-size: 18px; }
  .lejek-k__liczby span { font-size: 10px; }
  .wstega { height: 64px; }
}

/* ---------- Dziś: najbliższe 14 dni ---------- */
.agenda { margin-top: 56px; }
.agenda__dni { display: grid; gap: 24px; margin-top: 24px; }
.agenda__dzien h3 { display: flex; align-items: baseline; gap: 8px; margin: 0 0 8px; font: 600 16px/1.3 var(--f-display); }
.agenda__dzien h3 span { font: 500 12px/1 var(--f-mono); text-transform: none; color: var(--ember-2); }
.agenda__dzien h3 small { font-size: 12px; font-weight: 400; color: var(--muted); }
.agenda__dzien ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.agenda__poz { display: flex; align-items: center; gap: 16px; padding: 12px 16px; border-radius: 12px; border: 1px solid var(--line); background: var(--bg-2); }
.agenda__poz--pub { border-left: 3px solid var(--ember); }
.agenda__poz--kampania { border-left: 3px solid var(--mint); }
.agenda__poz > a { flex: 1; min-width: 0; display: grid; gap: 2px; text-decoration: none; color: inherit; }
.agenda__poz > a b { font-weight: 500; font-size: 15px; }
.agenda__poz > a small { font-size: 13px; color: var(--text-2); }
.agenda__poz > a:hover b { color: var(--ember-2); }
.agenda__check { flex: none; display: grid; place-items: center; width: 24px; height: 24px; padding: 0; border-radius: 50%; border: 1.5px solid var(--muted); background: transparent; color: transparent; cursor: pointer; transition: all .15s; }
.agenda__check svg { width: 14px; height: 14px; }
.agenda__check:hover { border-color: var(--mint); color: var(--mint-2); background: var(--mint-soft); }
.agenda__check:disabled { opacity: .5; }
.agenda__check--pusty { border-style: dashed; cursor: default; }
.przyrzad li { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.pasek-dni { height: 88px; }


/* ======================================================================
   Warstwa „Przestrzeń”: głębia zamiast ramek, niebo dla działań, koral dla „teraz”.
   ====================================================================== */
.pasek { top: 12px; margin: 12px auto 0; width: min(1408px, calc(100% - 32px)); border-radius: 20px; border: 0;
  background: var(--szklo); backdrop-filter: blur(24px) saturate(1.4); -webkit-backdrop-filter: blur(24px) saturate(1.4);
  box-shadow: 0 0 0 1px rgba(255, 255, 255, .7) inset, var(--g2); }
.pasek__wnetrze { padding: 8px 8px 8px 16px; }
.zakladki { background: rgba(30, 36, 48, .045); border: 0; border-radius: 14px; }
.zakladki a { border-radius: 10px; }
.zakladki a[aria-current="page"] { background: #fff; box-shadow: var(--g1); }
.logo small { font: 400 12px/1.2 var(--f-body); letter-spacing: 0; }

.przycisk { border-radius: 12px; transition: background .2s, transform .15s var(--ruch), box-shadow .2s, color .2s; }
.przycisk--glowny { background: var(--niebo-gl); color: #fff; box-shadow: 0 1px 2px rgba(44, 104, 216, .25), 0 8px 18px -8px rgba(44, 104, 216, .55); }
.przycisk--glowny:hover { background: #2459BE; transform: translateY(-1px); }
.przycisk--drugi { background: #fff; border: 0; box-shadow: 0 0 0 1px var(--line) inset, var(--g1); }
.przycisk--drugi:hover { box-shadow: 0 0 0 1px var(--line-2) inset, var(--g2); transform: translateY(-1px); }
a.link, .link { color: var(--niebo-gl); }

.nadtytul { font: 500 13px/1.3 var(--f-body); letter-spacing: 0; text-transform: none; color: var(--muted); }
.nadtytul::before { display: none; }
.h-hero, .h-sekcji { letter-spacing: -.02em; }

.karta { border: 0; box-shadow: var(--g1); }
.karta:hover { box-shadow: var(--g3); border: 0; }
.mat { border: 0; box-shadow: var(--g1); }
.mat:hover { box-shadow: var(--g3); }

/* ---------- Kokpit: scena z dyskiem ---------- */
.warstwa { background: #fff; border-radius: 24px; box-shadow: var(--g2); }
.warstwa--blisko { box-shadow: var(--g4); border-radius: 28px; }
.warstwa--dalej { background: rgba(255, 255, 255, .72); box-shadow: var(--g1); }
.kropka { display: inline-block; width: 8px; height: 8px; border-radius: 50%; flex: none; }
.kropka--koral { background: var(--ember); } .kropka--niebo { background: var(--niebo); } .kropka--mieta { background: var(--mint); }
.kropka--perla { background: radial-gradient(circle at 35% 30%, #fff, #CED6E2); box-shadow: 0 0 0 1px rgba(30, 36, 48, .12) inset; }

.kp { display: grid; grid-template-columns: 320px minmax(0, 1fr) 320px; grid-template-areas: "dzis srodek prawa" "dni dni dni"; gap: 24px; margin: 24px 0 8px; align-items: start; }
.kp-dzis { grid-area: dzis; display: flex; flex-direction: column; gap: 16px; padding: 28px 24px 24px; }
.kp__data { font-size: 13px; color: var(--muted); }
.kp__data::first-letter { text-transform: none; }
.kp-dzis__powitanie { margin: 0; font: 400 19px/1.35 var(--f-display); color: var(--text-2); }
.kp-dzis__liczba { display: flex; align-items: baseline; gap: 12px; margin: -4px 0 4px; }
.kp-dzis__liczba b { font: 600 128px/.82 var(--f-display); letter-spacing: -.05em; }
.kp-dzis__liczba span { font: 500 20px/1.2 var(--f-display); color: var(--text-2); }
.kp-dzis__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.kp-dzis__lista a { display: flex; gap: 12px; align-items: flex-start; padding: 10px 12px; margin: 0 -12px; border-radius: 14px; transition: background .25s var(--ruch), transform .25s var(--ruch); }
.kp-dzis__lista a:hover { background: var(--panel-2); transform: translateX(2px); }
.kp-dzis__lista .kropka { margin-top: 7px; }
.kp-dzis__lista b { display: block; font-weight: 600; font-size: 15px; }
.kp-dzis__lista small { display: block; font-size: 13px; color: var(--text-2); line-height: 1.4; }
.kp-dzis__jutro { margin: 0; padding-top: 16px; border-top: 1px solid var(--line); font-size: 13px; color: var(--text-2); }
.kp-dzis__jutro b { color: var(--text); font-weight: 600; }

.kp-srodek { grid-area: srodek; min-width: 0; }
.kp-srodek__glowa { display: flex; justify-content: space-between; gap: 16px; align-items: flex-start; margin-bottom: 8px; }
.kp__tytul { margin: 0; font: 600 26px/1.15 var(--f-display); letter-spacing: -.02em; }
.kp-srodek__glowa p { margin: 4px 0 0; font-size: 13px; color: var(--text-2); }
.kp-legenda { list-style: none; margin: 4px 0 0; padding: 0; display: grid; grid-template-columns: auto auto; gap: 6px 16px; font-size: 13px; color: var(--text-2); }
.kp-legenda li { display: flex; align-items: center; gap: 8px; white-space: nowrap; }

/* Dysk: płaszczyzna pochylona w 3D. Kulki stoją na niej (translateZ = wysokość) i zwracają się do patrzącego. */
.dysk-scena { position: relative; width: min(640px, 100%); aspect-ratio: 1 / .68; margin: 0 auto; perspective: 1500px; perspective-origin: 50% 30%; }
.dysk { --D: min(560px, 100%); position: absolute; left: 50%; top: 50%; width: 84%; aspect-ratio: 1; margin: 0; translate: -50% -52%;
  transform-style: preserve-3d; transform: rotateX(var(--przechyl)); font-size: clamp(6px, 1.8vw, 10px); will-change: transform; animation: dysk-wejscie 1.4s var(--ruch) both; }
@keyframes dysk-wejscie { from { transform: rotateX(14deg); } }
.dysk__blat { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; filter: drop-shadow(0 30px 40px rgba(34, 48, 80, .18)); }
.dysk__linie circle { fill: none; stroke: #DCE2EA; stroke-width: 1; }
.dysk__linie line { stroke: #E2E7EE; stroke-width: 1; }
.kulka { position: absolute; width: 1em; height: 1em; margin: -.5em 0 0 -.5em; border-radius: 50%;
  background: radial-gradient(circle at 36% 30%, #FFFFFF 0%, #EEF1F6 55%, #CED6E2 100%); box-shadow: 0 0 0 .5px rgba(30, 36, 48, .12) inset;
  transform: translateZ(var(--h)) rotateX(calc(-1 * var(--przechyl))); transform-origin: 50% 100%;
  animation: kulka-wznies .9s var(--ruch) var(--d) both; }
@keyframes kulka-wznies { from { transform: translateZ(0) rotateX(calc(-1 * var(--przechyl))) scale(.4); opacity: 0; } }
.kulka--duza { width: 1.4em; height: 1.4em; margin: -.7em 0 0 -.7em; }
.kulka--koral { background: radial-gradient(circle at 36% 30%, #FFE0DA 0%, var(--ember) 50%, #DE5844 100%); box-shadow: none; }
.kulka--niebo { background: radial-gradient(circle at 36% 30%, #DCE8FF 0%, #4F8DF7 50%, #2F69D4 100%); box-shadow: none; }
.kulka--mieta { background: radial-gradient(circle at 36% 30%, #D9F6EC 0%, var(--mint) 50%, #27A07D 100%); box-shadow: none; }
.kulka::after { content: ""; position: absolute; inset: -.45em; border-radius: 50%; border: 1.5px solid var(--niebo); opacity: 0; transform: scale(.7); transition: opacity .25s var(--ruch), transform .25s var(--ruch); }
.kulka:hover::after, .kulka:focus-visible::after, .kulka--podsw::after { opacity: 1; transform: scale(1); }
.kulka__podpis { position: absolute; left: calc(100% + 6px); top: 50%; translate: 0 -50%; padding: 3px 8px; border-radius: 8px; white-space: nowrap;
  font: 600 12px/1.3 var(--f-body); color: var(--text); background: rgba(255, 255, 255, .94); box-shadow: 0 0 0 1px var(--line), var(--g1); pointer-events: none; }
.dysk__sektor { position: absolute; margin: 0; transform-origin: 50% 100%; transform: translate(-50%, -100%) rotateX(calc(-1 * var(--przechyl))); font-size: 1.25em; font-size: 12px; font-weight: 500; color: var(--muted); white-space: nowrap; pointer-events: none; opacity: 0; animation: pojaw .6s ease 1.1s both; }
.dysk__sektor b { font-weight: 500; color: var(--text-2); }
@keyframes pojaw { to { opacity: 1; } }

.kp-prawa { grid-area: prawa; display: grid; gap: 20px; }
.kp-lejek, .kp-nowe { padding: 22px 22px 18px; }
.kp__glowa { display: flex; justify-content: space-between; align-items: baseline; margin-bottom: 12px; }
.kp__glowa h2 { margin: 0; font: 600 18px/1.2 var(--f-display); }
.kp__glowa span { font-size: 12px; color: var(--muted); }
.kp-lejek ol { list-style: none; margin: 0; padding: 0; display: grid; gap: 2px; }
.kp-lejek li { display: grid; grid-template-columns: 48px 1fr auto; align-items: center; gap: 8px; padding: 7px 10px; border-radius: 12px; font-size: 14px; color: var(--text-2); }
.kp-lejek li b { font: 600 18px/1 var(--f-display); color: var(--text); font-variant-numeric: tabular-nums; }
.kp-lejek li small { font-size: 12px; color: var(--muted); }
.kp-lejek__cel { background: var(--panel-2); margin-top: 4px; }
.kp-lejek__zero b { color: var(--muted); }
.kp-nowe__wiersz { display: flex; justify-content: space-between; gap: 12px; align-items: center; padding: 10px 12px; margin: 0 -12px; border-radius: 14px; transition: background .25s var(--ruch); }
.kp-nowe__wiersz:hover { background: rgba(255, 255, 255, .9); }
.kp-nowe__wiersz b { display: block; font-size: 15px; font-weight: 600; }
.kp-nowe__wiersz small { display: block; font-size: 13px; color: var(--text-2); }
.kp-nowe__wiersz em { font: 600 20px/1 var(--f-display); font-style: normal; color: var(--text); }

.kp-dni { grid-area: dni; display: grid; grid-template-columns: 140px minmax(0, 1fr); gap: 16px; align-items: center; padding: 18px 24px; }
.kp-dni__tytul b { display: block; font: 600 18px/1.2 var(--f-display); }
.kp-dni__tytul span { display: block; margin-top: 8px; font-size: 13px; color: var(--niebo-gl); }
.kp-dni ol { position: relative; list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(14, minmax(0, 1fr)); }
.kp-dni ol::before { content: ""; position: absolute; left: 3.5%; right: 3.5%; top: 52px; height: 1px; background: var(--line-2); }
.kp-dni a { position: relative; display: grid; justify-items: center; gap: 4px; padding: 8px 2px; border-radius: 14px; text-align: center; transition: background .3s var(--ruch), transform .3s var(--ruch); }
.kp-dni a:hover { background: var(--panel-2); transform: translateY(-2px); }
.kp-dni small { font-size: 12px; color: var(--muted); }
.kp-dni b { font: 600 17px/1 var(--f-display); }
.kp-dni i { width: 9px; height: 9px; border-radius: 50%; background: #fff; box-shadow: 0 0 0 1.5px var(--line-2); margin: 6px 0 2px; position: relative; z-index: 1; transition: transform .3s var(--ruch); }
.kp-dni a:hover i { transform: scale(1.25); }
.kp-dni span { min-height: 2.6em; font-size: 12px; line-height: 1.3; color: var(--text-2); }
.kp-dni__pelny i { background: var(--text); box-shadow: none; }
.kp-dni__dzis i { background: var(--ember); box-shadow: 0 0 0 4px var(--ember-soft); }
.kp-dni__dzis b { color: var(--ember-2); }
.kp-dni__wolny b, .kp-dni__wolny small { color: var(--muted); font-weight: 500; }

@media (max-width: 1180px) {
  .kp { grid-template-columns: 300px minmax(0, 1fr); grid-template-areas: "dzis srodek" "prawa prawa" "dni dni"; }
  .kp-prawa { grid-template-columns: 1fr 1fr; }
}
@media (max-width: 760px) {
  .kp { grid-template-columns: 1fr; grid-template-areas: "dzis" "srodek" "prawa" "dni"; gap: 16px; }
  .kp-prawa { grid-template-columns: 1fr; }
  .kp-dzis__liczba b { font-size: 96px; }
  .kp-srodek__glowa { flex-direction: column; }
  .kp-dni { grid-template-columns: 1fr; padding: 16px; }
  .kp-dni ol { display: flex; overflow-x: auto; scroll-snap-type: x mandatory; gap: 4px; }
  .kp-dni ol::before { display: none; }
  .kp-dni li { flex: 0 0 64px; scroll-snap-align: start; }
}
@media (prefers-reduced-motion: reduce) { .dysk, .kulka, .dysk__sektor { animation: none; } }

/* Typy materiałów: każdy rodzaj ma swój kolor, ikonę i lekkie tło, żeby w kalendarzu od razu było widać, co jest czym. */
.ikona-typu--post, .mat__typ--post, .mat--t-post { --typ: #0A66C2; }
.ikona-typu--blog, .mat__typ--blog, .mat--t-blog { --typ: #4E7A14; }
.ikona-typu--pdf, .mat__typ--pdf, .mat--t-pdf { --typ: #BF3A2D; }
.ikona-typu--onepager, .mat__typ--onepager, .mat--t-onepager { --typ: #C93C83; }
.ikona-typu--prezentacja, .mat__typ--prezentacja, .mat--t-prezentacja { --typ: #7A5AD8; }
.ikona-typu--realizacja, .mat__typ--realizacja, .mat--t-realizacja { --typ: #167A92; }
.ikona-typu--inne, .mat__typ--inne, .mat--t-inne { --typ: var(--muted); }
.ikona-typu { width: 28px; height: 28px; border-radius: 9px; background: color-mix(in srgb, var(--typ) 13%, #fff); }
.mat[class*="mat--t-"] { background: linear-gradient(180deg, color-mix(in srgb, var(--typ) 7%, #fff) 0, #fff 72px); border-left: 0; }
.mat[class*="mat--t-"]::before { content: ""; position: absolute; left: 14px; right: 14px; top: 0; height: 3px; border-radius: 0 0 3px 3px; background: var(--typ); }
.mat--gotowe[class*="mat--t-"] { background: linear-gradient(180deg, var(--mint-soft) 0, #fff 72px); }
.mat__typ { font-size: 13px; }
.mat__data { color: var(--muted); }
.agenda__poz { border: 0; box-shadow: var(--g1); border-radius: 16px; }
.agenda__poz--pub, .agenda__poz--kampania { border-left: 0; }
.agenda__poz--pub { background: linear-gradient(90deg, color-mix(in srgb, var(--typ) 7%, #fff), #fff 40%); }
.agenda__poz .ikona-typu { margin-left: -4px; }
.agenda__dzien h3 span { text-transform: lowercase; }
/* Foldery projektów: chłodny błękit warstw zamiast koralu (koral zostaje dla „teraz”). */
.folder { --f-tyl: #C9D9F5; --f-przod: linear-gradient(180deg, #FFFFFF, #F3F7FD); --f-kartka: #FFFFFF; }
.folder--setup { --f-tyl: #F0DDB8; }
.folder__przod { background: linear-gradient(180deg, #FFFFFF, #F3F7FD) !important; box-shadow: var(--g2) !important; }
.folder__otwarty { font: 500 12px/1 var(--f-body); letter-spacing: 0; color: var(--niebo-gl); }
@media (max-width: 760px) {
  .pasek { top: 8px; margin-top: 8px; width: calc(100% - 16px); border-radius: 18px; }
  .pasek__wnetrze { gap: 8px; padding: 6px; }
  .pasek .logo span, .pasek .logo small { display: none; }
  .zakladki { min-width: 0; overflow-x: auto; scrollbar-width: none; margin-left: 0; flex: 1; }
  .zakladki::-webkit-scrollbar { display: none; }
  .zakladki a { padding: 8px 10px; font-size: 13px; white-space: nowrap; }
  .dysk__sektor { display: none; }
  .kulka__podpis { font-size: 11px; padding: 2px 6px; }
  .kp-dni__tytul { display: flex; justify-content: space-between; align-items: baseline; }
  .kp-dni__tytul span { margin: 0; }
}
.folder { --f-przod: #FFFFFF; }
:focus-visible { outline-color: var(--niebo); }
input:focus, textarea:focus, select:focus { border-color: var(--niebo) !important; box-shadow: 0 0 0 4px var(--niebo-soft) !important; outline: none; }

/* Teza kampanii na całą szerokość: lekkie zdanie, pogrubione tylko frazy do zapamiętania. */
.teza-slajd { padding: clamp(28px, 4vw, 56px); }
.teza-slajd__tekst { max-width: none; font-size: clamp(28px, 3.3vw, 50px); line-height: 1.14; letter-spacing: -.02em; text-wrap: pretty; }
.teza-slajd__tekst--akcenty { font-weight: 300; }
.teza-slajd__tekst--akcenty b { font-weight: 800; }
.teza-slajd__dopisek { max-width: 980px; font-size: clamp(16px, 1.4vw, 19px); }
.teza-slajd__dopisek b { font-weight: 600; color: var(--text); }

/* Okienko materiału w Strategii można chwycić za uchwyt i przesunąć, żeby odsłonić przepływy. */
.logika__dymek-uchwyt { display: flex; align-items: center; gap: 8px; width: calc(100% + 44px); margin: -20px -22px 2px; padding: 10px 22px 8px; border-radius: var(--r) var(--r) 0 0;
  font-size: 12px; color: var(--muted); cursor: grab; user-select: none; touch-action: none; transition: background .2s, color .2s; }
.logika__dymek-uchwyt i { width: 14px; height: 10px; flex: none; background: radial-gradient(circle, currentColor 1.2px, transparent 1.6px) 0 0 / 5px 5px; opacity: .8; }
.logika__dymek-uchwyt:hover { background: var(--panel-2); color: var(--text-2); }
.logika__dymek--ciagniety { transition: none; box-shadow: 0 32px 80px rgba(0, 0, 0, .28); }
.logika__dymek--ciagniety .logika__dymek-uchwyt { cursor: grabbing; }
.logika__dymek[data-strona="wolny"]::before { display: none; }
.logika__dymek .logika__dymek-zamknij { z-index: 1; }
@media (max-width: 760px) { .logika__dymek-uchwyt { display: none; } }

/* ---------- Pasek „Przestrzeni” (jak w makiecie) ---------- */
.pn { position: sticky; top: 16px; z-index: 50; width: min(1360px, calc(100% - 32px)); margin: 16px auto 0; border-radius: 20px;
  background: var(--szklo); backdrop-filter: blur(24px) saturate(1.4); -webkit-backdrop-filter: blur(24px) saturate(1.4); box-shadow: 0 0 0 1px rgba(255, 255, 255, .7) inset, var(--g2); }
.pn__wnetrze { display: grid; grid-template-columns: 1fr auto 1fr; align-items: center; gap: 24px; padding: 8px 8px 8px 16px; }
.pn__marka { display: flex; align-items: center; gap: 12px; min-width: 0; }
.pn__marka svg { width: 32px; height: 32px; flex: none; }
.pn__marka b { display: block; font: 600 15px/1.2 var(--f-display); letter-spacing: -.01em; color: var(--text); }
.pn__marka small { display: block; font-size: 13px; line-height: 1.3; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pn__zakladki { display: flex; gap: 4px; padding: 4px; border-radius: 14px; background: rgba(30, 36, 48, .04); }
.pn__zakladki a { display: flex; align-items: center; gap: 8px; padding: 8px 16px; border-radius: 10px; font-size: 14px; font-weight: 500; color: var(--text-2); transition: background .2s, color .2s, box-shadow .2s; }
.pn__zakladki a:hover { color: var(--text); }
.pn__zakladki a[aria-current] { background: #fff; color: var(--text); box-shadow: var(--g1); }
.pn__ile { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; background: var(--ember); color: var(--text); font: 600 12px/20px var(--f-body); text-align: center; }
.pn__ile--spok { background: rgba(30, 36, 48, .08); color: var(--text-2); }
.pn__konto { display: flex; align-items: center; justify-content: flex-end; gap: 12px; min-width: 0; }
.pn__kto { font-size: 13px; line-height: 1.3; color: var(--muted); text-align: right; white-space: nowrap; }
.pn__kto b { display: block; color: var(--text); font-weight: 500; }
.pn .menu-osoby .awatar { width: 36px; height: 36px; font: 600 13px var(--f-display); color: var(--text); border: 0;
  background: radial-gradient(circle at 35% 30%, #fff 0%, #E7ECF3 70%, #D9E0EA 100%); box-shadow: var(--g1); }
.logo svg { width: 32px; height: 32px; }
@media (max-width: 900px) { .pn__kto { display: none; } }
@media (max-width: 760px) {
  .pn { top: 8px; margin-top: 8px; width: calc(100% - 16px); }
  .pn__wnetrze { grid-template-columns: auto 1fr auto; gap: 8px; padding: 6px; }
  .pn__marka span { display: none; }
  .pn__zakladki { overflow-x: auto; scrollbar-width: none; }
  .pn__zakladki a { padding: 8px 10px; font-size: 13px; white-space: nowrap; }
}

/* ---------- Dziś (jak w makiecie): stos zadań, pierścień dnia, oś 14 dni ---------- */
.pd-glowa { display: flex; justify-content: space-between; align-items: flex-end; gap: 24px; margin: 24px 0 28px; }
.pd-data { font-size: 13px; color: var(--muted); }
.pd-glowa h1 { margin: 8px 0 0; font: 600 56px/1 var(--f-display); letter-spacing: -.035em; }
.pd-glowa p { margin: 12px 0 0; color: var(--text-2); max-width: 560px; }
.pd-przelacz { display: inline-flex; padding: 4px; border-radius: 14px; background: rgba(30, 36, 48, .05); flex: none; }
.pd-przelacz button { height: 36px; padding: 0 16px; border-radius: 10px; font-size: 14px; font-weight: 500; color: var(--text-2); transition: background .2s, box-shadow .2s, color .2s; }
.pd-przelacz button[aria-pressed="true"], .pd-przelacz button[aria-selected="true"] { background: #fff; color: var(--text); box-shadow: var(--g1); }
.pd-uklad { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 32px; align-items: start; }
.pd-info { margin: 0 0 16px; font-size: 14px; color: var(--text-2); }
.pd-stos { display: grid; gap: 12px; perspective: 1200px; }
.pd-zadanie { position: relative; display: grid; grid-template-columns: 180px minmax(0, 1fr) auto; gap: 16px 24px; align-items: center; padding: 20px 24px; border-radius: 24px;
  background: #fff; box-shadow: var(--g2); cursor: pointer; transform: translateZ(-30px) scale(.985); opacity: .92; transition: transform .35s var(--ruch), box-shadow .35s var(--ruch), opacity .35s; }
.pd-zadanie:not(.pd-zadanie--aktywne):hover { transform: translateZ(-30px) scale(.985) translateY(-3px); box-shadow: var(--g3); opacity: 1; }
.pd-zadanie--aktywne { cursor: default; transform: none; opacity: 1; padding: 28px; box-shadow: var(--g3); z-index: 2; }
.pd-zadanie__kto b { display: block; font: 600 18px/1.2 var(--f-display); }
.pd-zadanie__kto span { font-size: 13px; color: var(--muted); }
.pd-autor { display: flex !important; align-items: center; gap: 6px; margin-top: 8px; }
.pd-zadanie__co h2, .pd-zadanie__co h3 { margin: 0; font: 600 16px/1.35 var(--f-body); }
.pd-zadanie__co p { margin: 4px 0 0; font-size: 14px; color: var(--text-2); line-height: 1.5; }
.pd-zadanie__akcje { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.pd-zadanie:not(.pd-zadanie--aktywne) .pd-zadanie__akcje .przycisk--glowny { background: rgba(30, 36, 48, .05); color: var(--text-2); box-shadow: none; }
.pd-zadanie:not(.pd-zadanie--aktywne) .pd-zadanie__akcje .przycisk--drugi { background: rgba(30, 36, 48, .05); box-shadow: none; }
.pd-wiecej { grid-column: 2 / span 2; }
.pd-notatka { margin-top: 4px; padding: 16px 18px; border-radius: 14px; background: var(--bg); font-size: 14px; line-height: 1.55; color: var(--text); }
.pd-wiecej__akcje { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin-top: 12px; font-size: 12px; font-weight: 500; color: var(--muted); }
.pd-wskazowka { display: inline-flex; align-items: center; gap: 6px; }
.pd-wskazowka svg { width: 14px; height: 14px; }
.pd-zadanie--zrobione { animation: pd-zatop .5s var(--ruch) forwards; }
@keyframes pd-zatop { to { opacity: 0; transform: translateZ(-240px) translateY(-12px) scale(.94); } }
.pd-pusto { padding: 40px 32px; border-radius: 24px; background: #fff; box-shadow: var(--g2); text-align: center; color: var(--text-2); }
.pd-pusto b { display: block; font: 600 22px/1.2 var(--f-display); color: var(--text); margin: 12px 0 6px; }
.pd-bok { padding: 24px; border-radius: 24px; background: #fff; box-shadow: var(--g2); }
.pd-pierscien { display: flex; align-items: center; gap: 16px; }
.pd-pierscien circle:last-child { transition: stroke-dasharray .6s var(--ruch); }
.pd-pierscien b { display: block; font: 600 28px/1 var(--f-display); letter-spacing: -.02em; }
.pd-pierscien span { display: block; margin-top: 4px; font-size: 13px; color: var(--muted); }
.pd-dalej { display: grid; gap: 10px; margin-top: 20px; padding-top: 20px; border-top: 1px solid var(--line); font-size: 14px; color: var(--text-2); }
.pd-dalej b { color: var(--text); font-weight: 600; }

.pd-plan-glowa { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; margin: 48px 0 16px; }
.pd-plan-glowa h2 { margin: 0; font: 600 24px/1.2 var(--f-display); letter-spacing: -.015em; }
.pd-plan-glowa p { margin: 0; font-size: 14px; color: var(--muted); }
.pd-os { position: relative; display: flex; gap: 6px; align-items: stretch; padding: 0 0 8px; overflow-x: auto; scroll-snap-type: x proximity; scrollbar-width: none; }
.pd-os::-webkit-scrollbar { display: none; }
.pd-os::before { content: ""; position: absolute; left: 0; right: 0; top: 57px; height: 1px; background: var(--line-2); min-width: 100%; }
.pd-dzien { flex: 1 1 150px; min-width: 140px; display: flex; flex-direction: column; scroll-snap-align: start; }
.pd-dzien--pusty { flex: 0 0 24px; min-width: 24px; }
.pd-dzien__gl { height: 64px; display: flex; flex-direction: column; align-items: center; position: relative; }
.pd-dzien__gl span { font-size: 12px; color: var(--muted); line-height: 18px; }
.pd-dzien__gl b { font: 600 17px/22px var(--f-display); }
.pd-dzien__gl i { width: 9px; height: 9px; border-radius: 50%; background: #E3E8F0; margin-top: 7px; box-shadow: 0 0 0 3px var(--bg); }
.pd-dzien:not(.pd-dzien--pusty) .pd-dzien__gl i { background: var(--text); }
.pd-dzien--dzis .pd-dzien__gl i { background: var(--ember); box-shadow: 0 0 0 3px var(--bg), 0 0 0 6px var(--ember-soft); }
.pd-dzien--weekend .pd-dzien__gl b, .pd-dzien--weekend .pd-dzien__gl span { color: #9AA2B1; }
.pd-karta-dnia { display: grid; gap: 12px; align-content: start; padding: 14px; border-radius: 20px; background: #fff; box-shadow: var(--g2); transition: transform .35s var(--ruch), box-shadow .35s var(--ruch); }
.pd-karta-dnia:hover { transform: translateY(-3px); box-shadow: var(--g3); }
.pd-poz { display: grid; gap: 6px; font-size: 13px; line-height: 1.4; }
.pd-poz + .pd-poz { padding-top: 12px; border-top: 1px solid var(--line); }
.pd-poz__gora { display: flex; align-items: center; gap: 8px; font-size: 12px; color: var(--muted); }
.pd-poz__gora .ikona-typu { width: 20px; height: 20px; border-radius: 6px; }
.pd-poz__gora .ikona-typu svg { width: 12px; height: 12px; }
.pd-poz[class*="mat--t-"] .pd-poz__gora > span:last-child { color: var(--typ); font-weight: 500; }
.pd-poz__tt { color: var(--text); }
a.pd-poz__tt:hover { color: var(--niebo-gl); }
.pd-ptaszek { flex: none; width: 20px; height: 20px; padding: 0; border-radius: 7px; background: #fff; box-shadow: inset 0 0 0 1.5px #C9D0DB; display: grid; place-items: center; color: transparent; transition: background .2s, box-shadow .2s, transform .15s; }
.pd-ptaszek svg { width: 12px; height: 12px; }
.pd-ptaszek:hover { box-shadow: inset 0 0 0 1.5px var(--niebo); color: var(--niebo-gl); }
.pd-ptaszek:active { transform: scale(.9); }
.pd-ptaszek--brak { box-shadow: inset 0 0 0 1.5px #E3E8F0; }
.pd-firmy { display: flex; flex-wrap: wrap; gap: 4px; margin-top: 6px; }
.pd-firmy button, .pd-firmy a { height: 24px; display: inline-flex; align-items: center; padding: 0 8px; border-radius: 8px; font-size: 12px; background: rgba(30, 36, 48, .05); color: var(--text-2); transition: background .2s, color .2s; }
.pd-firmy button:hover { background: var(--mint-soft); color: var(--mint-2); }
@media (max-width: 1100px) { .pd-uklad { grid-template-columns: 1fr; } }
@media (max-width: 760px) {
  .pd-glowa { flex-direction: column; align-items: flex-start; margin-bottom: 20px; }
  .pd-glowa h1 { font-size: 40px; }
  .pd-zadanie { grid-template-columns: 1fr; gap: 12px; padding: 18px 20px; }
  .pd-zadanie--aktywne { padding: 22px 20px; }
  .pd-wiecej { grid-column: 1; }
  .pd-zadanie__akcje { justify-content: flex-start; }
  .pd-plan-glowa { flex-direction: column; gap: 4px; }
}
@media (prefers-reduced-motion: reduce) { .pd-zadanie, .pd-karta-dnia { transition: none; } }

/* ---------- Karta firmy (jak w makiecie) ---------- */
.pf { padding-top: 8px; }
.pf-wroc { display: inline-flex; align-items: center; gap: 6px; margin: 16px 0 16px; font-size: 14px; font-weight: 500; color: var(--muted); }
.pf-wroc:hover { color: var(--text); }
.pf-wroc svg { width: 16px; height: 16px; }
.pf-glowa { display: grid; grid-template-columns: minmax(0, 1fr) 300px; gap: 32px; align-items: center; padding: 32px 36px; border-radius: 28px; background: #fff; box-shadow: var(--g3); }
.pf-typ { font-size: 14px; color: var(--muted); }
.pf-glowa h1 { margin: 6px 0 12px; font: 600 64px/1 var(--f-display); letter-spacing: -.04em; }
.pf-meta { display: flex; flex-wrap: wrap; gap: 6px 20px; font-size: 14px; color: var(--text-2); }
.pf-meta a { color: var(--niebo-gl); }
.pf-uzas { margin: 16px 0 0; max-width: 640px; color: var(--text-2); line-height: 1.55; }
.pf-sila { display: grid; grid-template-columns: auto 1fr; gap: 4px 16px; align-items: end; }
.pf-sila svg { grid-row: span 2; align-self: center; }
.pf-sila b { font: 600 72px/.9 var(--f-display); letter-spacing: -.04em; }
.pf-sila span { font-size: 13px; color: var(--muted); line-height: 1.4; padding-bottom: 6px; }
.pf-etapy { grid-column: 1 / span 2; display: flex; gap: 4px; margin-top: 20px; }
.pf-etapy i { flex: 1; height: 6px; border-radius: 3px; background: var(--line); }
.pf-etapy i.z { background: var(--mint); } .pf-etapy i.t { background: var(--niebo); }
.pf-sila p { grid-column: 1 / span 2; margin: 8px 0 0; font-size: 13px; color: var(--text-2); }
.pf-uklad { display: grid; grid-template-columns: minmax(0, 1fr) 400px; gap: 24px; margin-top: 24px; align-items: start; }
.pf-lewa { display: grid; gap: 24px; min-width: 0; }
.pf-duet { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 24px; align-items: start; }
.pf-sekcja { min-width: 0; padding: 24px 28px; border-radius: 24px; background: #fff; box-shadow: var(--g2); }
.pf-sekcja > h2, .pf-sciaga__gora h2, .pf-sciezka__gora h2 { margin: 0 0 16px; font: 600 18px/1.25 var(--f-display); letter-spacing: -.01em; }
.pf .krok__dalej { display: none; }
.pf .opis-krotki { font-size: 13px; color: var(--muted); }
.pf-sciaga__gora, .pf-sciezka__gora { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-bottom: 16px; }
.pf-sciaga__gora h2, .pf-sciezka__gora h2 { margin: 0; }
.pf-sciezka__gora span { font-size: 13px; color: var(--muted); }
.pf-licz { display: inline-grid; place-items: center; min-width: 18px; height: 18px; padding: 0 5px; margin-left: 4px; border-radius: 9px; background: rgba(30, 36, 48, .07); font-size: 11px; }
.pf-sciezka { position: sticky; top: 96px; padding: 28px; }
.pf .sciaga__tresc { padding: 0; }
.pf .osoba { border: 0; background: none; padding: 0; box-shadow: none; }
.pf .osoba + .osoba { margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.pf .osoba--glowna { background: none; }
.pf .awatar--duzy { width: 44px; height: 44px; background: radial-gradient(circle at 35% 30%, #fff 0%, #E7ECF3 70%, #D9E0EA 100%); border: 0; box-shadow: var(--g1); }
.pf .teraz-karta { border: 0; border-radius: 14px; background: var(--niebo-soft); box-shadow: none; }
.pf .teraz-karta--czeka { background: var(--panel-2); }
@media (max-width: 1180px) { .pf-uklad { grid-template-columns: 1fr; } .pf-sciezka { position: static; } }
@media (max-width: 760px) {
  .pf-glowa { grid-template-columns: 1fr; padding: 24px; gap: 20px; }
  .pf-glowa h1 { font-size: 44px; }
  .pf-duet { grid-template-columns: 1fr; }
  .pf-sekcja { padding: 20px; }
}
.pf .haczyki { gap: 0; }
.pf .haczyk { padding: 14px 0 14px 18px; border-radius: 0; background: none; border-left: 0; border-top: 1px solid var(--line); position: relative; }
.pf .haczyk:first-child { border-top: 0; }
.pf .haczyk::before { content: ""; position: absolute; left: 0; top: 21px; width: 7px; height: 7px; border-radius: 50%; background: var(--ember); box-shadow: 0 0 0 3px var(--ember-soft); }
.pf .haczyk b { line-height: 1.5; }
.pf .osoba { flex-wrap: wrap; align-items: flex-start; }
.pf .osoba__dane { flex: 1 1 140px; }
.pf .osoba__akcje { flex-basis: 100%; justify-content: flex-start; padding-left: 60px; }

/* ---------- Kampania: plan fali jak w makiecie ---------- */
.pk-tytul { margin: 6px 0 0; font: 600 48px/1.05 var(--f-display); letter-spacing: -.03em; }
.fala__postep .postep { width: 200px; height: 6px; border-radius: 3px; background: rgba(30, 36, 48, .08); }
.fala__postep .postep span { background: var(--mint); border-radius: 3px; }
.fala__postep .mono { font-size: 14px; color: var(--text-2); }
.fala__wybor { display: inline-flex; padding: 4px; border-radius: 14px; background: rgba(30, 36, 48, .05); border: 0; gap: 0; }
.fala__wybor button { height: 36px; padding: 0 16px; border-radius: 10px; font-size: 14px; font-weight: 500; color: var(--text-2); background: none; border: 0; }
.fala__wybor button[aria-selected="true"] { background: #fff; color: var(--text); box-shadow: var(--g1); }
.os { grid-template-columns: repeat(var(--tyg), minmax(0, 1fr)); min-width: calc(var(--tyg) * 200px); }
.os__tydzien { padding: 0; border: 0; background: none; gap: 10px; }
.os__tydzien--teraz { background: none; border: 0; }
.os__glowa { justify-content: space-between; flex-wrap: nowrap; padding: 0 4px 12px; margin-bottom: 2px; border-bottom: 1px solid var(--line-2); }
.os__glowa b { font: 600 15px/1.3 var(--f-display); }
.os__glowa small { white-space: nowrap; }
.os__tydzien--teraz .os__glowa { border-bottom-color: var(--ember); }
.pk-mat { border-radius: 16px; }
.pk-mat .mat__otworz { gap: 8px; padding: 14px; }
.pk-mat__gora { display: flex; align-items: center; justify-content: space-between; gap: 8px; padding-right: 26px; font-size: 12px; color: var(--muted); white-space: nowrap; }
.pk-mat__gora b { color: var(--ember-2); }
.pk-mat__rodzaj { display: inline-flex; align-items: center; gap: 6px; min-width: 0; overflow: hidden; text-overflow: ellipsis; color: var(--typ); font-weight: 500; }
.pk-mat__rodzaj .ikona-typu { width: 20px; height: 20px; border-radius: 6px; }
.pk-mat__rodzaj .ikona-typu svg { width: 12px; height: 12px; }
.pk-mat__tt { font: 500 14px/1.4 var(--f-body); color: var(--text); }
.pk-mat__dol { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12px; color: var(--muted); }
.pk-filar { display: inline-flex; align-items: center; gap: 6px; }
.pk-filar i, .pk-filary i { display: inline-grid; place-items: center; width: 20px; height: 20px; border-radius: 50%; font: 600 11px/1 var(--f-display); font-style: normal; color: var(--text-2);
  background: radial-gradient(circle at 35% 30%, #fff, #E9EDF3 70%, #D7DEE8); box-shadow: 0 1px 2px rgba(34, 48, 80, .15); }
.pk-mat__stan { display: inline-flex; align-items: center; gap: 4px; }
.pk-mat__stan svg { width: 13px; height: 13px; }
.pk-mat__stan--ok { color: #1F8566; font-weight: 500; }
.pk-mat .mat__check { top: 11px; right: 10px; width: 22px; height: 22px; }
.pk-mat .mat__check svg { width: 12px; height: 12px; }
.pk-mat[class*="mat--t-"]::before { left: 14px; right: 14px; height: 3px; }
.os__dodaj { border-radius: 14px; }

.pk-dol { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1.1fr); gap: 24px; margin-top: 40px; align-items: start; }
.pk-teza, .pk-silnik { padding: 32px 36px; border-radius: 28px; background: #fff; box-shadow: var(--g3); }
.pk-etyk { font-size: 13px; color: var(--muted); }
.pk-teza__zdanie { margin: 12px 0 28px; font: 500 24px/1.35 var(--f-display); letter-spacing: -.01em; }
.pk-filary { list-style: none; margin: 0; padding: 0; }
.pk-filary li { display: grid; grid-template-columns: 32px 1fr; gap: 4px 14px; padding: 16px 0; border-top: 1px solid var(--line); }
.pk-filary i { width: 28px; height: 28px; font-size: 13px; grid-row: span 3; }
.pk-filary b { font-weight: 600; font-size: 15px; }
.pk-filary small { font-size: 12px; color: var(--muted); }
.pk-filary p { margin: 6px 0 0; font-size: 13px; line-height: 1.55; color: var(--text-2); }
.pk-silnik__gora { display: flex; justify-content: space-between; align-items: baseline; gap: 16px; }
.pk-silnik__gora h2 { margin: 0; font: 600 20px/1.25 var(--f-display); }
.pk-silnik__gora span { font-size: 13px; color: var(--muted); }
.pk-tafle { display: grid; gap: 10px; margin-top: 20px; perspective: 900px; }
.pk-tafla { display: grid; grid-template-columns: 156px 36px 1fr; gap: 16px; align-items: center; min-height: 56px; padding: 10px 18px; border-radius: 16px; background: #fff;
  box-shadow: 0 1px 1px rgba(34, 48, 80, .05), 0 calc(2px + var(--z) * 3px) calc(8px + var(--z) * 6px) calc(-3px - var(--z) * 1px) rgba(34, 48, 80, calc(.07 + var(--z) * .03));
  transform: translateZ(calc(var(--z) * 8px)); }
.pk-tafla__naz { font-size: 14px; font-weight: 500; }
.pk-tafla__naz small { display: block; font-size: 12px; font-weight: 400; color: var(--muted); }
.pk-tafla b { font: 600 26px/1 var(--f-display); letter-spacing: -.02em; text-align: right; }
.pk-tafla__firmy { display: flex; flex-wrap: wrap; gap: 4px; font-size: 13px; color: var(--muted); }
.pk-tafla__firmy a { height: 26px; display: inline-flex; align-items: center; padding: 0 10px; border-radius: 9px; background: var(--bg); font-size: 12px; font-weight: 500; color: var(--text-2); transition: background .2s, color .2s; }
.pk-tafla__firmy a:hover { background: var(--niebo-soft); color: var(--niebo-gl); }
.pk-tafla--zero { background: rgba(255, 255, 255, .35); box-shadow: inset 0 0 0 1px var(--line); }
.pk-tafla--zero b { color: var(--muted); }
.pk-przypis { margin: 14px 0 0; font-size: 12px; color: var(--muted); }
@media (max-width: 1180px) { .pk-dol { grid-template-columns: 1fr; } }
@media (max-width: 760px) { .pk-tytul { font-size: 32px; } .pk-teza, .pk-silnik { padding: 24px; } .pk-tafla { grid-template-columns: 1fr auto; } .pk-tafla__firmy { grid-column: 1 / -1; } }
.wersja { background: #fff; border: 0; box-shadow: 0 0 0 1px var(--line) inset; }
.wersja[aria-selected="true"] { background: var(--niebo-soft); box-shadow: 0 0 0 1.5px rgba(79, 141, 247, .45) inset; color: var(--text); }
.wersja[aria-selected="true"] .mono { background: var(--niebo); color: #fff; }
.os-krok--czeka .os-krok__znak, .os-krok--teraz .os-krok__znak { border: 2px solid var(--niebo); border-style: solid; box-shadow: 0 0 0 5px var(--niebo-soft); background: #fff radial-gradient(circle, var(--niebo) 0 3.5px, transparent 4px); }
.os-krok--czeka small, .os-krok--teraz small { color: var(--niebo-gl); }
/* Lejek w kokpicie jako tafle: im dalej w kampanii, tym bliżej (dłuższy cień, lekki przód). */
.kp-lejek ol { gap: 5px; perspective: 700px; }
.kp-lejek li { --z: 0; height: 35px; padding: 0 14px; border-radius: 12px; background: #fff; margin: 0;
  box-shadow: 0 1px 1px rgba(34, 48, 80, .05), 0 calc(2px + var(--z) * 2px) calc(6px + var(--z) * 4px) calc(-2px - var(--z) * 1px) rgba(34, 48, 80, calc(.06 + var(--z) * .025));
  transform: translateZ(calc(var(--z) * 4px)); transition: transform .3s var(--ruch), box-shadow .3s; }
.kp-lejek li span { font-size: 13px; }
.kp-lejek .kp-lejek__zero { background: rgba(255, 255, 255, .4); box-shadow: inset 0 0 0 1px var(--line); transform: none; }
.kp__data { display: block; }
.pn ~ .strona, .pn ~ main.strona { padding-top: 16px; }
.kp { margin-top: 16px; }
/* Telefon: zakładki na dole ekranu (kciuk), u góry logo i konto. Pasek bez blur, bo backdrop-filter psuje position: fixed potomka. */
@media (max-width: 760px) {
  .pn { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(250, 251, 253, .96); }
  .pn__wnetrze { grid-template-columns: 1fr auto; }
  .pn__marka span { display: block; }
  .pn__zakladki { position: fixed; left: 12px; right: 12px; bottom: 12px; z-index: 60; justify-content: space-between; padding: 6px; border-radius: 22px;
    background: rgba(250, 251, 253, .82); backdrop-filter: blur(24px) saturate(1.4); -webkit-backdrop-filter: blur(24px) saturate(1.4); box-shadow: 0 0 0 1px rgba(255, 255, 255, .7) inset, var(--g3); overflow: visible; }
  .pn__zakladki a { flex: 1; justify-content: center; padding: 10px 4px; font-size: 13px; border-radius: 16px; gap: 6px; }
  .strona { padding-bottom: 112px; }
}
/* Zrobiony krok ścieżki: ciemnozielony, grubszy ptaszek na miętowym kółku (kontrast 4.7:1). */
.os-krok--zrobione .os-krok__znak { background: var(--mint); border-color: var(--mint); color: var(--mint-ciemna); }
.os-krok--zrobione .os-krok__znak svg { stroke-width: 3; }
.os-krok--zrobione .os-krok__znak svg * { stroke-width: 3; }
.pk-dol { grid-template-columns: 1fr; }
.fala ~ .silnik, .poza ~ .silnik { margin-top: 56px; }

/* ---------- Filary: warstwy z perłą numeru i paskiem postępu (bez „zakładek” u góry) ---------- */
.filar-k { --k: var(--ember); --k-gl: #C24A38; --k-tlo: #FFEDEA; --k-perla: radial-gradient(circle at 36% 30%, #FFE0DA 0%, var(--ember) 55%, #DE5844 100%);
  gap: 14px; padding: 28px; border: 0; border-radius: 24px; background: #fff; box-shadow: var(--g2); transition: transform .35s var(--ruch), box-shadow .35s var(--ruch); }
.filar-k:hover { transform: translateY(-3px); box-shadow: var(--g3); }
.filar-k--mint { --k: var(--mint); --k-gl: #1F8566; --k-tlo: #E2F6EF; --k-perla: radial-gradient(circle at 36% 30%, #D9F6EC 0%, var(--mint) 55%, #27A07D 100%); }
.filar-k--amber { --k: #4F8DF7; --k-gl: var(--niebo-gl); --k-tlo: #E8F0FE; --k-perla: radial-gradient(circle at 36% 30%, #DCE8FF 0%, #4F8DF7 55%, #2F69D4 100%); }
.filar-k__nr { position: static; display: grid; place-items: center; width: 36px; height: 36px; border-radius: 50%; opacity: 1;
  font: 600 14px/1 var(--f-display); color: #fff; background: var(--k-perla); box-shadow: 0 6px 14px -6px var(--k), 0 1px 2px rgba(34, 48, 80, .15); }
.filar-k > b { font: 600 20px/1.25 var(--f-display); letter-spacing: -.01em; padding-right: 0; }
.filar-k small { align-self: start; width: fit-content; padding: 6px 10px; border-radius: 10px; background: var(--k-tlo); color: var(--k-gl); font-weight: 500; }
.filar-k small svg { color: var(--k-gl); }
.filar-k__dol { margin-top: auto; padding-top: 16px; border-top: 1px solid var(--line); }
.filar-k .kropki { display: flex; gap: 4px; flex: 1; max-width: 60%; }
.filar-k .kropki i { flex: 1; width: auto; height: 6px; border-radius: 3px; border: 0; background: var(--line-2); }
.filar-k .kropki i.pelna { background: var(--k); }
.filar-k__dol .mono { font-size: 13px; color: var(--muted); }
.slajd--filary { align-items: stretch; }

/* Przełącznik slajdów fundamentu jako pigułka, jak reszta przełączników. */
.deck__zakladki { padding: 4px; gap: 0; border: 0; border-radius: 14px; background: rgba(30, 36, 48, .05); box-shadow: none; }
.deck__zakladki button { height: 36px; padding: 0 14px; border: 0; border-radius: 10px; background: none; font-size: 14px; font-weight: 500; color: var(--text-2); box-shadow: none; }
.deck__zakladki button .mono { color: var(--muted); font-size: 12px; margin-right: 6px; }
.deck__zakladki button[aria-selected="true"] { background: #fff; color: var(--text); box-shadow: var(--g1); }
.deck__zakladki button[aria-selected="true"] .mono { color: var(--niebo-gl); }
.filar-k--amber { --k: #E9A23B; --k-gl: #8F5C0E; --k-tlo: #FDF3E1; --k-perla: radial-gradient(circle at 36% 30%, #FFEFCF 0%, #E9A23B 55%, #C7821C 100%); }
.kropka--amber { background: #E9A23B; }

/* ---------- Skrzynka zadań w Dziś: Do zrobienia / Zrobione / Pominięte ---------- */
.skrzynka__zakladki { display: inline-flex; gap: 4px; margin: 0 0 24px; padding: 4px; border-radius: 14px; background: rgba(127, 127, 127, .08); }
.skrzynka__zakladki button { display: inline-flex; align-items: center; gap: 8px; height: 36px; padding: 0 16px; border-radius: 10px; font-size: 14px; font-weight: 500; color: var(--text-2); }
.skrzynka__zakladki button span { min-width: 20px; height: 20px; padding: 0 6px; border-radius: 10px; font-size: 12px; line-height: 20px; text-align: center; background: rgba(127, 127, 127, .14); color: var(--text-2); }
.skrzynka__zakladki button[aria-selected="true"] { background: var(--panel); color: var(--text); box-shadow: 0 1px 2px rgba(0, 0, 0, .08), 0 6px 16px -8px rgba(0, 0, 0, .2); }
.skrzynka { border-radius: var(--r-l); background: var(--panel); border: 1px solid var(--line); overflow: hidden; }
.skrzynka__pasek { position: sticky; top: 72px; z-index: 5; display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; min-height: 56px; padding: 10px 20px; background: var(--panel); border-bottom: 1px solid var(--line); }
.skrzynka__pasek--akcje { background: color-mix(in srgb, var(--panel) 92%, #4F8DF7); }
.sk-wszystkie { display: inline-flex; align-items: center; gap: 10px; font-size: 14px; font-weight: 500; margin-right: 8px; cursor: pointer; }
.sk-podpowiedz, .sk-pytanie { font-size: 13px; color: var(--muted); }
.sk-pytanie { color: var(--text-2); }
.sk-check { width: 18px; height: 18px; margin: 0; accent-color: var(--niebo-gl); cursor: pointer; flex: none; }
.sk-lista { list-style: none; margin: 0; padding: 0; }
.sk-dzien { padding: 14px 20px 6px; font-size: 12px; font-weight: 600; color: var(--muted); }
.sk-wiersz { display: grid; grid-template-columns: 18px 32px minmax(0, 1.4fr) minmax(0, 1.3fr) minmax(0, .8fr) 64px; gap: 14px; align-items: center; padding: 10px 20px; border-top: 1px solid var(--line); transition: background .15s; }
.sk-dzien + .sk-wiersz { border-top: 0; }
.sk-wiersz:hover { background: rgba(127, 127, 127, .05); }
.sk-wiersz--zazn { background: color-mix(in srgb, var(--panel) 90%, #4F8DF7); }
.sk-awatar { width: 32px; height: 32px; font-size: 11px; }
.sk-gdzie { min-width: 0; }
.sk-gdzie b { display: block; font-weight: 600; font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sk-gdzie small { display: block; font-size: 12px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.sk-gdzie:hover b { text-decoration: underline; text-underline-offset: 3px; }
.sk-co { font-size: 14px; color: var(--text-2); }
.sk-kto { font-size: 13px; color: var(--text-2); }
.sk-brak { color: var(--muted); font-style: italic; }
.sk-kiedy { font-size: 12px; color: var(--muted); text-align: right; }
.skrzynka__pusto { padding: 48px 24px; border-radius: var(--r-l); background: var(--panel); border: 1px dashed var(--line-2); text-align: center; color: var(--text-2); }
@media (max-width: 760px) {
  .sk-wiersz { grid-template-columns: 18px minmax(0, 1fr) auto; gap: 4px 12px; }
  .sk-wiersz > .ikona-typu, .sk-awatar { display: none; }
  .sk-co, .sk-kto { grid-column: 2 / -1; font-size: 13px; }
  .sk-kiedy { grid-row: 1; grid-column: 3; }
  .skrzynka__pasek { top: 64px; }
}
.skrzynka { border: 0; border-radius: 24px; background: #fff; box-shadow: var(--g2); }
.skrzynka__pasek { top: 96px; background: #fff; }
.skrzynka__pasek--akcje { background: var(--niebo-soft); }
.sk-wiersz--zazn { background: var(--niebo-soft); }
.skrzynka__zakladki { background: rgba(30, 36, 48, .05); }
.skrzynka__zakladki button[aria-selected="true"] { background: #fff; box-shadow: var(--g1); }
.skrzynka__zakladki button[aria-selected="true"] span { background: var(--ember); color: var(--text); }
.sk-awatar { background: radial-gradient(circle at 35% 30%, #fff 0%, #E7ECF3 70%, #D9E0EA 100%); border: 0; box-shadow: var(--g1); }
.skrzynka__pusto { border: 0; background: #fff; box-shadow: var(--g2); border-radius: 24px; }
.skrzynka { overflow: visible; }
.skrzynka__pasek { border-radius: var(--r-l) var(--r-l) 0 0; }
.sk-lista > :last-child { border-radius: 0 0 var(--r-l) var(--r-l); }

/* Spójny znak „zrobione” w całym serwisie: miętowe kółko z białym, grubszym ptaszkiem (jak w ścieżce firmy). */
.krok--zrobiony .krok__nr svg, .adresat__stan svg, .status--zrobiony .status__nr svg, .os-krok--zrobione .os-krok__znak svg, .mat--gotowe .mat__check svg,
.sz-status__ok svg, .przycisk--zapisano svg, .pd-ptaszek svg { stroke-width: 3; }
.krok--zrobiony .krok__nr svg *, .adresat__stan svg *, .status--zrobiony .status__nr svg *, .mat--gotowe .mat__check svg *, .przycisk--zapisano svg * { stroke-width: 3; }
.sz-status__ok svg { color: #fff; }
/* Wybrana osoba: niebieskie zaznaczenie, jak wybrana wersja wiadomości (koral zostaje dla „teraz”). */
.adresat { background: #fff; border: 0; box-shadow: 0 0 0 1px var(--line) inset; }
.adresat[aria-selected="true"] { background: var(--niebo-soft); box-shadow: 0 0 0 1.5px rgba(79, 141, 247, .45) inset; }
.adresat[aria-selected="true"] .awatar { background: radial-gradient(circle at 36% 30%, #DCE8FF 0%, #4F8DF7 55%, #2F69D4 100%); border: 0; color: #fff; }
/* Sekcja wiadomości po kliknięciu „Przygotuj wiadomości”: krótkie podświetlenie, żeby było widać, gdzie dzieje się praca. */
.podswietlona { animation: podswietl 1.6s cubic-bezier(.2, .7, .2, 1); }
@keyframes podswietl { 0%, 35% { box-shadow: 0 0 0 3px rgba(79, 141, 247, .55), 0 0 0 10px rgba(79, 141, 247, .12); } 100% { box-shadow: 0 0 0 0 rgba(79, 141, 247, 0); } }

/* Plus, który po rozwinięciu płynnie zamienia się w minus (pionowa kreska obraca się i znika). */
.plusminus { position: relative; display: inline-block; width: 14px; height: 14px; flex: none; }
.plusminus::before, .plusminus::after { content: ""; position: absolute; left: 50%; top: 50%; width: 12px; height: 1.8px; margin: -.9px 0 0 -6px; border-radius: 1px; background: currentColor;
  transition: transform .35s cubic-bezier(.2, .7, .2, 1), opacity .25s; }
.plusminus::after { transform: rotate(90deg); }
details[open] > summary .plusminus::after { transform: rotate(180deg); opacity: 0; }
details[open] > summary .plusminus::before { transform: rotate(180deg); }
@media (prefers-reduced-motion: reduce) { .plusminus::before, .plusminus::after { transition: none; } }

/* Okno potwierdzenia: nad wszystkim, z przyciemnieniem tła. */
.nakladka--potwierdzenie { z-index: 200; }
.okno--potwierdzenie { width: min(460px, 100%); }
.okno--potwierdzenie .okno__stopka { justify-content: flex-end; }
.okno--potwierdzenie .okno__ostrzezenie b { color: var(--text); }

/* Rozwijane elementy (summary) zachowują się jak przyciski: łapka zamiast kursora tekstowego, podświetlenie, bez zaznaczania tekstu. */
summary { cursor: pointer; user-select: none; -webkit-user-select: none; }
summary::-webkit-details-marker { display: none; }
summary.przycisk--cichy { border-radius: 10px; transition: background .2s, color .2s; }
summary.przycisk--cichy:hover { background: rgba(127, 127, 127, .1); color: var(--text); }
details:not([open]) > summary .gdy-otwarte, details[open] > summary .gdy-zamkniete { display: none; }

/* Kreator: analiza strony firmy */
.analiza-strony { display: grid; gap: 8px; justify-items: start; margin: 4px 0 8px; }
.analiza-strony .ai-praca { width: 100%; }
.analiza-strony__wynik { display: grid; grid-template-columns: 28px 1fr; gap: 12px; align-items: start; width: 100%; padding: 16px; border-radius: 14px; background: color-mix(in srgb, var(--panel) 88%, var(--mint)); font-size: 14px; color: var(--text-2); }
.analiza-strony__wynik > svg { width: 28px; height: 28px; padding: 6px; border-radius: 50%; background: var(--mint); color: var(--mint-ciemna); stroke-width: 3; }
.analiza-strony__wynik b { color: var(--text); }
.analiza-strony__wynik small { display: block; margin-top: 6px; font-size: 12px; color: var(--muted); word-break: break-word; }
.pole__ze-strony { margin-left: 6px; padding: 2px 8px; border-radius: 8px; font-size: 11px; font-weight: 500; background: color-mix(in srgb, var(--panel) 85%, #4F8DF7); color: var(--text-2); }

/* ---------- Menu kampanii: przełącznik w pastylce, aktywna zakładka w kolorze licznika „Dziś” ---------- */
.zakladki-kampanii { width: max-content; max-width: 100%; gap: 4px; margin: 24px 0 0; padding: 6px; border: 0; border-radius: 16px;
  background: rgba(255, 255, 255, .92); box-shadow: 0 1px 2px rgba(30, 36, 48, .06), 0 8px 24px rgba(30, 36, 48, .08); backdrop-filter: blur(8px); }
.zakladki-kampanii::-webkit-scrollbar { display: none; }
.zakladki-kampanii button { padding: 10px 16px; border-radius: 11px; font-weight: 600; color: var(--text-2); transition: background .15s, color .15s; }
.zakladki-kampanii button:hover { color: var(--text); background: #FFEDEA; }
.zakladki-kampanii button[aria-selected="true"] { color: var(--text); background: var(--ember); box-shadow: 0 4px 12px rgba(255, 125, 107, .35); }
.zakladki-kampanii button[aria-selected="true"]::after { content: none; }
.zakladki-kampanii button[aria-selected="true"] .zakladka__licznik { background: rgba(255, 255, 255, .28); color: #fff; }
.zakladki-kampanii button:focus-visible { outline: 2px solid var(--ember); outline-offset: 2px; }
@media (max-width: 720px) { .zakladki-kampanii { width: auto; } .zakladki-kampanii button { padding: 9px 12px; font-size: 13px; } }

/* ---------- Pasek demo (/demo) ---------- */
.demo-pasek { position: relative; z-index: 2; display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 8px 16px; padding: 10px 16px; background: #1E2430; color: #E8ECF2; font-size: 13px; line-height: 1.4; text-align: center; }
.demo-pasek b { color: #fff; }
.demo-pasek a { padding: 6px 12px; border-radius: 999px; background: var(--ember); color: var(--text); font-weight: 600; white-space: nowrap; }
.demo-pasek a:hover { background: #F06552; }

/* Oś 14 dni: dzień z zadaniami ma szerokość karty (nie całą wolną przestrzeń), a data stoi nad jej lewą krawędzią. */
.pd-dzien:not(.pd-dzien--pusty) { flex: 1 1 200px; max-width: 300px; }
.pd-dzien:not(.pd-dzien--pusty) .pd-dzien__gl { align-items: flex-start; padding-left: 18px; }

/* Skrzynka Dziś na telefonie: zakładki w jednej linii, przewijane w sobie. */
@media (max-width: 720px) {
  .skrzynka__zakladki { max-width: 100%; overflow-x: auto; scrollbar-width: none; }
  .skrzynka__zakladki::-webkit-scrollbar { display: none; }
  .skrzynka__zakladki button { white-space: nowrap; flex: none; }
}
.os-krok--niepotrzebny b { text-decoration: none; }

/* Komitet zakupowy: zwijany nagłówek sekcji. */
.komitet__glowa { display: flex; align-items: flex-start; justify-content: space-between; gap: 16px; cursor: pointer; list-style: none; }
.komitet__glowa::-webkit-details-marker { display: none; }
.komitet__przelacz { flex: none; display: inline-flex; align-items: center; gap: 8px; margin-top: 4px; }
details.komitet:not([open]) .komitet__glowa { margin-bottom: 0; }
details.komitet:not([open]) > summary .gdy-otwarte, details.komitet[open] > summary .gdy-zamkniete { display: none; }

/* ---------- Analityka demo (panel administratora) ---------- */
.demo-analityka .sekcja__naglowek { display: flex; justify-content: space-between; align-items: flex-end; gap: 16px; flex-wrap: wrap; margin-top: 16px; }
.da-dni { display: flex; align-items: flex-end; gap: 6px; height: 140px; margin-top: 16px; }
.da-dni > div { flex: 1; height: 100%; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; gap: 6px; }
.da-dni i { width: 100%; min-height: 2px; border-radius: 6px 6px 2px 2px; background: var(--ember); opacity: .85; }
.da-dni small { font-size: 11px; color: var(--muted); }
.da-akcje { list-style: none; margin: 12px 0 0; padding: 0; display: grid; gap: 8px; }
.da-akcje li { display: grid; grid-template-columns: 1fr auto; column-gap: 12px; font-size: 14px; }
.da-akcje li small { grid-column: 1 / -1; color: var(--muted); font-size: 12px; }
.da-glowa { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.da-ja { font-size: 13px; color: var(--text-2); display: inline-flex; gap: 8px; align-items: center; }
.da-tabela { width: 100%; margin-top: 12px; border-collapse: collapse; font-size: 14px; }
.da-tabela th { text-align: left; font-size: 12px; font-weight: 500; color: var(--muted); padding: 8px; border-bottom: 1px solid var(--line); }
.da-tabela td { padding: 10px 8px; border-bottom: 1px solid var(--line); vertical-align: top; }
.da-tabela td small { display: block; color: var(--muted); font-size: 12px; margin-top: 2px; }
.da-wiersz { cursor: pointer; } .da-wiersz:hover td { background: rgba(127, 127, 127, .05); }
.da-wiersz--otwarty td { background: rgba(127, 127, 127, .06); }
.da-szczegoly td { background: rgba(127, 127, 127, .03); }
.da-wizyta { margin: 8px 0 16px; } .da-wizyta small { color: var(--muted); margin-left: 8px; }
.da-wizyta ol { list-style: none; margin: 8px 0 0; padding: 0; display: grid; gap: 4px; }
.da-z { display: grid; grid-template-columns: 72px 20px 1fr; gap: 8px; font-size: 13px; color: var(--text-2); }
.da-z .mono { color: var(--muted); font-size: 12px; }
.da-z--akcja, .da-z--ai, .da-z--cta { color: var(--text); font-weight: 500; }
.da-z--cta i, .da-z--ai i { color: var(--ember-2); }
@media (max-width: 720px) { .da-tabela th:nth-child(3), .da-tabela td:nth-child(3), .da-tabela th:nth-child(5), .da-tabela td:nth-child(5) { display: none; } }
/* Przycisk Zwiń / Pokaż role stoi zawsze w prawym górnym rogu, niezależnie od długości opisu. */
.sekcja__naglowek.komitet__glowa { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: start; flex-wrap: nowrap; }
.komitet__glowa > div { min-width: 0; }
.da-ukryte { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 12px; margin: 12px 0 0; padding: 12px 16px; border-radius: 12px; background: rgba(127, 127, 127, .07); font-size: 14px; color: var(--text-2); }

/* ---------- Firmy z radaru: decyzje, filtry, zaznaczanie ---------- */
.radar-lista .sekcja__naglowek { margin-bottom: 20px; }
.rl-zakladki { display: inline-flex; gap: 4px; padding: 6px; margin: 0 0 16px; border-radius: 16px; background: rgba(255, 255, 255, .92); box-shadow: 0 1px 2px rgba(30, 36, 48, .06), 0 8px 24px rgba(30, 36, 48, .08); max-width: 100%; overflow-x: auto; scrollbar-width: none; }
.rl-zakladki button { display: inline-flex; align-items: center; gap: 8px; padding: 10px 16px; border-radius: 11px; font-size: 14px; font-weight: 600; color: var(--text-2); white-space: nowrap; transition: background .15s, color .15s; }
.rl-zakladki button:hover { color: var(--text); background: #FFEDEA; }
.rl-zakladki button span { min-width: 22px; padding: 2px 7px; border-radius: 999px; font: 500 12px/16px var(--f-mono); text-align: center; background: rgba(30, 36, 48, .07); color: var(--text-2); }
.rl-zakladki button[aria-selected="true"] { background: var(--ember); color: var(--text); box-shadow: 0 4px 12px rgba(255, 125, 107, .35); }
.rl-zakladki button[aria-selected="true"] span { background: rgba(255, 255, 255, .28); color: #fff; }
.rl-filtry { padding: 20px 24px; border-radius: 20px; background: #fff; box-shadow: var(--g1); }
.rl-filtry__gora { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 20px; }
.rl-szukaj { flex: 1 1 360px; min-width: 0; height: 48px; display: flex; align-items: center; gap: 10px; padding: 0 16px; border-radius: 14px; background: var(--bg); border: 1px solid transparent; transition: border-color .15s, background .15s; }
.rl-szukaj:focus-within { background: #fff; border-color: var(--ember); }
.rl-szukaj svg { width: 18px; height: 18px; color: var(--muted); flex: none; }
.rl-szukaj input { flex: 1; min-width: 0; border: 0; background: none; outline: none; font-size: 15px; color: var(--text); }
.rl-od { display: inline-flex; align-items: center; gap: 10px; height: 48px; padding: 0 8px 0 16px; border-radius: 14px; background: var(--bg); font-size: 14px; font-weight: 500; color: var(--text-2); white-space: nowrap; }
.rl-od:focus-within { box-shadow: inset 0 0 0 1px var(--ember); background: #fff; }
.rl-od input { width: 64px; height: 34px; padding: 0 8px; border: 1px solid var(--line-2); border-radius: 10px; background: #fff; font: 600 15px/1 var(--f-display); color: var(--text); text-align: center; outline: none; }
.rl-filtry__wynik { display: flex; align-items: center; gap: 12px; margin-left: auto; font-size: 14px; color: var(--text-2); white-space: nowrap; }
.rl-filtry__wynik b { font: 600 20px/1 var(--f-display); color: var(--text); }
.rl-tagi { display: grid; gap: 12px; margin-top: 16px; padding-top: 16px; border-top: 1px solid var(--line); }
.rl-tagi:empty { display: none; }
.rl-tagi .tagi__grupa { display: grid; grid-template-columns: 88px minmax(0, 1fr); align-items: start; gap: 12px; }
.rl-tagi .tagi__nazwa { padding-top: 9px; font: 600 12px/1.2 var(--f-body); letter-spacing: 0; color: var(--text); }
.rl-tagi .tagi__lista { display: flex; flex-wrap: wrap; gap: 8px; }
.rl-tagi .tag { padding: 7px 14px; font-size: 13.5px; font-weight: 500; color: var(--text); background: var(--bg); border-color: transparent; }
.rl-tagi .tag .mono { color: var(--text-2); }
.rl-tagi .tag:hover:not([aria-pressed="true"]) { background: #FFEDEA; border-color: transparent; }
.rl-tagi .tag[aria-pressed="true"] { background: var(--text); color: #fff; }
.rl-glowa { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 20px 0 8px; padding: 0 20px; }
.rl-glowa__podpowiedz { font-size: 13px; color: var(--muted); }
.rl-check { display: inline-flex; align-items: center; gap: 12px; cursor: pointer; font-size: 14px; font-weight: 600; color: var(--text); }
.rl-check input { width: 18px; height: 18px; accent-color: var(--ember); cursor: pointer; flex: none; }
.radar-lista .lista { border-radius: 20px; background: #fff; box-shadow: var(--g1); overflow: hidden; }
.rl-wiersz { display: grid; grid-template-columns: 52px minmax(0, 1fr); align-items: center; border-top: 1px solid var(--line); transition: background .15s; }
.rl-wiersz:first-child { border-top: 0; }
.rl-wiersz .rl-check { justify-content: center; align-self: stretch; padding-left: 8px; }
.rl-wiersz .wiersz { border-top: 0; padding-left: 4px; }
.rl-wiersz:hover { background: rgba(79, 141, 247, .04); }
.rl-wiersz--zazn { background: #FFF4F2; }
.rl-wiersz--zazn:hover { background: #FFEDEA; }
.radar-lista .wiecej { width: 100%; padding: 16px; border-top: 1px solid var(--line); font-weight: 600; color: var(--niebo-gl); }
.rl-akcje { position: fixed; left: 50%; bottom: 24px; z-index: 60; translate: -50% 0; width: max-content; max-width: calc(100% - 32px); animation: rl-wjazd .25s var(--ruch, ease-out); }
.rl-akcje__wnetrze { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; padding: 12px 12px 12px 20px; border-radius: 20px; background: #1E2430; color: #fff; box-shadow: 0 16px 48px rgba(30, 36, 48, .35); }
.rl-akcje__ile { margin-right: 8px; font-size: 14px; color: #C9D1DD; } .rl-akcje__ile b { color: #fff; font: 600 17px/1 var(--f-display); }
.rl-akcje .przycisk--drugi { background: rgba(255, 255, 255, .1); color: #fff; border-color: transparent; }
.rl-akcje .przycisk--drugi:hover { background: rgba(255, 255, 255, .18); }
.rl-akcje .przycisk--cichy { color: #C9D1DD; }
.rl-akcje__glowny { background: var(--ember) !important; color: var(--text) !important; box-shadow: 0 4px 14px rgba(255, 125, 107, .45); }
.rl-akcje__glowny:hover { background: #F06552 !important; }
@keyframes rl-wjazd { from { opacity: 0; translate: -50% 16px; } to { opacity: 1; translate: -50% 0; } }
@media (prefers-reduced-motion: reduce) { .rl-akcje { animation: none; } }
@media (max-width: 720px) {
  .rl-filtry { padding: 16px; } .rl-od { flex: 1; justify-content: space-between; } .rl-filtry__wynik { margin-left: 0; }
  .rl-tagi .tagi__grupa { grid-template-columns: 1fr; gap: 8px; } .rl-tagi .tagi__nazwa { padding-top: 0; }
  .rl-glowa__podpowiedz { display: none; } .rl-wiersz { grid-template-columns: 40px minmax(0, 1fr); }
  .rl-akcje { bottom: calc(96px + env(safe-area-inset-bottom)); } .rl-akcje__wnetrze { justify-content: center; padding: 12px; } .rl-akcje__ile { width: 100%; text-align: center; margin: 0; }
}

/* Kokpit: „Do decyzji” z szybkim dodawaniem */
.kp-nowe__rzad { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 8px; }
.kp-nowe__dodaj { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 12px; background: #FFEDEA; color: #E5533F; transition: background .15s, color .15s, transform .15s; }
.kp-nowe__dodaj svg { width: 18px; height: 18px; stroke-width: 2.4; }
.kp-nowe__dodaj:hover { background: var(--ember); color: var(--text); transform: scale(1.05); }
.kp-nowe__wszystkie { display: block; margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 13px; font-weight: 600; color: var(--niebo-gl); }
.karta { position: relative; }
.karta__dodaj { margin-top: 12px; align-self: flex-start; }

/* Karta firmy: pasek decyzji */
.decyzja-firmy { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 20px; margin-top: 20px; padding: 14px 16px; border-radius: 16px; background: var(--bg); }
.decyzja-firmy b { display: block; font-size: 14px; font-weight: 600; color: var(--text); }
.decyzja-firmy span { display: block; margin-top: 2px; font-size: 13px; color: var(--text-2); }
.decyzja-firmy__akcje { display: flex; flex-wrap: wrap; gap: 8px; }
.decyzja-firmy--czeka { background: #FFF4F2; box-shadow: inset 0 0 0 1px #FFD9D2; }
.decyzja-firmy--odlozona { background: rgba(30, 36, 48, .05); }

/* Firmy: kolumny etapów i firmy odłożone */
.firmy-kampanii .sekcja__naglowek { align-items: flex-end; }
.kolumny--firmy { grid-template-columns: repeat(6, minmax(200px, 1fr)); }
.kolumna-lejka__opis { margin: -10px 8px 12px; font-size: 12px; color: var(--muted); }
.kafel--firma { display: grid; gap: 4px; }
.kafel__gora { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.kafel__krok { margin-top: 6px; font-size: 12.5px; line-height: 1.4; color: var(--text-2); }
.kafel--teraz { box-shadow: inset 3px 0 0 var(--ember); }
.kafel--teraz .kafel__krok { color: #C2412E; font-weight: 500; }
.firmy-odlozone { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 32px; }
.firmy-odlozone__grupa { padding: 18px 20px; border-radius: 20px; background: rgba(255, 255, 255, .7); border: 1px solid var(--line); }
.firmy-odlozone__grupa h3 { margin: 0 0 10px; font: 600 15px/1.2 var(--f-display); display: flex; justify-content: space-between; }
.firmy-odlozone__grupa ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.firmy-odlozone__grupa li a { font-size: 14px; font-weight: 500; color: var(--text); }
.firmy-odlozone__grupa li small { display: block; font-size: 12px; color: var(--muted); }
.firmy-odlozone__grupa p { margin: 0; font-size: 13px; color: var(--muted); }
@media (max-width: 900px) { .firmy-odlozone { grid-template-columns: 1fr; } }

.tempo-formularz { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 12px; margin-top: 12px; }
.tempo-formularz .pole input { width: 120px; }

/* Szerokie ekrany: więcej treści w szerszym kadrze, bez powiększania elementów. */
@media (min-width: 1680px) {
  :root { --szer: 1680px; }
  .pn { width: min(1600px, calc(100% - 32px)); }
  .kp { grid-template-columns: 360px minmax(0, 1fr) 360px; }
}
@media (min-width: 2000px) {
  :root { --szer: 1880px; }
  .pn { width: min(1800px, calc(100% - 32px)); }
}
.kolumna-lejka__wiecej { display: block; padding: 10px 8px 4px; font-size: 13px; font-weight: 600; color: var(--niebo-gl); }
@media (max-width: 720px) {
  .rl-tagi .tag { padding: 6px 11px; font-size: 13px; }
  .rl-tagi .tagi__lista { gap: 6px; }
  .rl-akcje__wnetrze { gap: 8px; padding: 10px; border-radius: 18px; }
  .rl-akcje .przycisk { padding: 9px 12px; font-size: 13.5px; min-height: 0; }
  .rl-akcje__ile { font-size: 13px; }
}

/* ---------- Podpowiedzi „i”, podsumowanie po dodaniu, pulsowanie ---------- */
.info[aria-expanded="true"] { color: var(--text); background: var(--ember); }
.dymek-info { position: fixed; z-index: 90; max-height: min(60vh, 520px); overflow: auto; padding: 18px 20px; border-radius: 18px; background: #fff; box-shadow: 0 2px 6px rgba(30, 36, 48, .08), 0 20px 48px rgba(30, 36, 48, .18); font-size: 14px; line-height: 1.55; color: var(--text-2); animation: dymek-info .15s ease-out; }
.dymek-info h3 { margin: 0 0 8px; font: 600 15px/1.3 var(--f-display); color: var(--text); }
.dymek-info ol { margin: 0 0 12px; padding-left: 20px; display: grid; gap: 6px; } .dymek-info p { margin: 0 0 8px; } .dymek-info b { color: var(--text); }
.dymek-info .wagi { list-style: none; margin: 0 0 12px; padding: 0; display: grid; gap: 4px; } .dymek-info .wagi li { display: flex; justify-content: space-between; gap: 12px; }
.dymek-info__stopka { margin: 12px 0 0 !important; padding-top: 10px; border-top: 1px solid var(--line); font-size: 12px; color: var(--muted); }
@keyframes dymek-info { from { opacity: 0; transform: translateY(-4px); } }
.rl-zakladki-rzad { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 16px; margin: 0 0 16px; }
.rl-zakladki-rzad .rl-zakladki { margin: 0; }
.rl-filtry-info { font-size: 13px; color: var(--text-2); } .rl-filtry-info .link { font-weight: 600; }
.po-dodaniu { position: fixed; left: 50%; bottom: 24px; z-index: 70; translate: -50% 0; width: min(560px, calc(100% - 32px)); display: grid; grid-template-columns: 40px minmax(0, 1fr); gap: 14px; padding: 18px 48px 18px 18px; border-radius: 20px; background: #1E2430; color: #E8ECF2; box-shadow: 0 16px 48px rgba(30, 36, 48, .35); animation: rl-wjazd .25s ease-out; }
.po-dodaniu__znak { width: 40px; height: 40px; display: grid; place-items: center; border-radius: 50%; background: #29A882; color: #fff; } .po-dodaniu__znak svg { width: 20px; height: 20px; stroke-width: 3; }
.po-dodaniu b { display: block; font: 600 16px/1.3 var(--f-display); color: #fff; }
.po-dodaniu ul { margin: 8px 0 14px; padding-left: 18px; display: grid; gap: 6px; font-size: 13.5px; line-height: 1.5; color: #C9D1DD; }
.po-dodaniu__akcje { display: flex; flex-wrap: wrap; gap: 8px; }
.po-dodaniu .przycisk--glowny { background: var(--ember); } .po-dodaniu .przycisk--drugi { background: rgba(255, 255, 255, .1); color: #fff; border-color: transparent; }
.po-dodaniu__zamknij { position: absolute; top: 12px; right: 12px; width: 32px; height: 32px; display: grid; place-items: center; border-radius: 10px; color: #C9D1DD; }
.po-dodaniu__zamknij:hover { background: rgba(255, 255, 255, .1); color: #fff; } .po-dodaniu__zamknij svg { width: 16px; height: 16px; }
.wskaz-puls { animation: wskaz-puls 1.1s ease-in-out 5; }
@keyframes wskaz-puls { 0%, 100% { box-shadow: 0 0 0 0 rgba(255, 125, 107, 0); } 50% { box-shadow: 0 0 0 6px rgba(255, 125, 107, .35); } }
@media (max-width: 720px) { .po-dodaniu { bottom: calc(96px + env(safe-area-inset-bottom)); } }
@media (prefers-reduced-motion: reduce) { .wskaz-puls, .po-dodaniu, .dymek-info { animation: none; } }

/* ---------- Firmy: tablica etapów w stylu Przestrzeni ---------- */
.fb-glowa { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px 32px; margin-bottom: 32px; }
.fb-glowa .lead { margin-bottom: 0; }
.fb-dodaj .mono { margin-left: 4px; padding: 2px 8px; border-radius: 999px; background: rgba(30, 36, 48, .28); font-size: 12px; }
.fb-tablica { display: grid; grid-template-columns: repeat(6, minmax(212px, 1fr)); gap: 16px; align-items: start; overflow-x: auto; padding: 4px 4px 24px; margin: 0 -4px; scroll-snap-type: x proximity; scrollbar-width: thin; }
.fb-kolumna { position: relative; display: grid; gap: 12px; padding: 16px 12px 14px; border-radius: 24px; scroll-snap-align: start;
  background: linear-gradient(180deg, color-mix(in srgb, var(--k) 9%, rgba(255, 255, 255, .78)) 0, rgba(255, 255, 255, .55) 160px, rgba(255, 255, 255, .35) 100%);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .9), var(--g1); animation: fb-wejscie .6s var(--ruch) both; animation-delay: calc(var(--c) * 60ms); }
.fb-kolumna__glowa { position: relative; display: grid; grid-template-columns: 10px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 2px 6px 14px; }
.fb-kolumna__glowa::after { content: ""; position: absolute; left: 6px; right: 6px; bottom: 0; height: 2px; border-radius: 2px; background: linear-gradient(90deg, var(--k), color-mix(in srgb, var(--k) 25%, transparent) 70%, transparent); }
.fb-kolumna__kropka { width: 10px; height: 10px; border-radius: 50%; background: var(--k); box-shadow: 0 0 0 4px color-mix(in srgb, var(--k) 18%, transparent); }
.fb-kolumna__glowa h2 { margin: 0; font: 600 15px/1.2 var(--f-display); color: var(--text); }
.fb-kolumna__glowa small { display: block; margin-top: 2px; font-size: 12px; color: var(--muted); }
.fb-kolumna__glowa b { font: 600 26px/1 var(--f-display); letter-spacing: -.02em; color: var(--text); font-variant-numeric: tabular-nums; }
.fb-kolumna__karty { display: grid; gap: 10px; }
.fb-kolumna__pusto { margin: 4px 6px 8px; padding: 18px 12px; border-radius: 16px; border: 1px dashed color-mix(in srgb, var(--k) 35%, var(--line)); font-size: 13px; color: var(--muted); text-align: center; }
.fb-kolumna__wiecej { display: block; padding: 6px 8px 2px; font-size: 13px; font-weight: 600; color: var(--niebo-gl); text-align: center; }
.fb-karta { position: relative; display: grid; gap: 6px; padding: 14px 14px 16px; border-radius: 18px; background: #fff; box-shadow: var(--g1); overflow: hidden;
  transition: transform .35s var(--ruch), box-shadow .35s var(--ruch); animation: fb-wejscie .55s var(--ruch) both; animation-delay: calc(var(--i) * 25ms + 120ms); }
.fb-karta:hover { transform: translateY(-3px); box-shadow: var(--g3); }
.fb-karta__gora { display: flex; justify-content: space-between; align-items: flex-start; gap: 8px; }
.fb-karta__gora b { font: 600 15px/1.3 var(--f-display); color: var(--text); }
.fb-karta__osoba { font-size: 12.5px; color: var(--muted); }
.fb-karta__krok { margin-top: 4px; font-size: 13px; line-height: 1.45; color: var(--text-2); }
.fb-karta__krok em { display: inline-block; margin-right: 6px; padding: 1px 8px; border-radius: 999px; font: 600 11.5px/18px var(--f-body); font-style: normal; color: var(--text-2); background: var(--bg); }
.fb-karta--teraz .fb-karta__krok { color: var(--text); font-weight: 500; }
.fb-karta--teraz .fb-karta__krok em { color: #fff; background: linear-gradient(135deg, #FF8A75, #F06552); box-shadow: 0 3px 10px rgba(240, 101, 82, .3); }
.fb-karta--teraz { box-shadow: 0 0 0 1px rgba(240, 101, 82, .16), 0 8px 22px -10px rgba(240, 101, 82, .35), var(--g1); }
.fb-karta--teraz:hover { box-shadow: 0 0 0 1px rgba(240, 101, 82, .22), 0 14px 30px -12px rgba(240, 101, 82, .4), var(--g3); }
.fb-karta__przypomnij { justify-self: start; display: inline-flex; align-items: center; gap: 6px; margin-top: 2px; padding: 3px 10px 3px 8px; border-radius: 999px; font-size: 12px; font-weight: 500; color: #9A6514; background: #FDF3E1; }
.fb-karta__przypomnij svg { width: 13px; height: 13px; }
.fb-karta__postep { position: absolute; left: 14px; right: 14px; bottom: 7px; height: 3px; border-radius: 3px; background: color-mix(in srgb, var(--k) 12%, #EEF1F6); overflow: hidden; }
.fb-karta__postep i { display: block; height: 100%; border-radius: 3px; background: linear-gradient(90deg, color-mix(in srgb, var(--k) 55%, #fff), var(--k)); transform-origin: left; animation: fb-postep .9s var(--ruch) both; animation-delay: calc(var(--i) * 25ms + 350ms); }
@keyframes fb-wejscie { from { opacity: 0; transform: translateY(14px); } }
@keyframes fb-postep { from { transform: scaleX(0); } }
.fb-pusto { display: grid; justify-items: start; gap: 10px; padding: 32px; } .fb-pusto b { font: 600 20px/1.3 var(--f-display); } .fb-pusto p { margin: 0; color: var(--text-2); }
.fb-odlozone { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px; margin-top: 16px; }
.fb-odlozone__grupa { padding: 18px 20px; border-radius: 24px; animation: fb-wejscie .6s var(--ruch) both; animation-delay: .4s; }
.fb-odlozone__grupa header { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; margin-bottom: 12px; }
.fb-odlozone__grupa h3 { margin: 0; font: 600 15px/1.2 var(--f-display); } .fb-odlozone__grupa header small { font-size: 12px; color: var(--muted); }
.fb-odlozone__grupa header b { font: 600 22px/1 var(--f-display); color: var(--text-2); }
.fb-odlozone__grupa ul { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px; }
.fb-odlozone__grupa li a { display: inline-block; padding: 6px 12px; border-radius: 999px; background: #fff; box-shadow: var(--g1); font-size: 13px; font-weight: 500; color: var(--text); transition: transform .25s var(--ruch), box-shadow .25s var(--ruch); }
.fb-odlozone__grupa li a:hover { transform: translateY(-2px); box-shadow: var(--g2); }
.fb-odlozone__grupa li small { display: block; margin: 4px 0 0 12px; font-size: 12px; color: var(--muted); }
.fb-odlozone__grupa p { margin: 0; font-size: 13px; color: var(--muted); }
@media (max-width: 900px) { .fb-odlozone { grid-template-columns: 1fr; } .fb-tablica { grid-template-columns: repeat(6, minmax(240px, 82vw)); } }
@media (prefers-reduced-motion: reduce) { .fb-kolumna, .fb-karta, .fb-karta__postep i, .fb-odlozone__grupa { animation: none; } }

/* ---------- Dopasowanie nowych firm do planu ---------- */
.dopasuj { display: grid; grid-template-columns: 44px minmax(0, 1fr) auto; align-items: center; gap: 16px; margin: 20px 0 8px; padding: 18px 20px; border-radius: 20px;
  background: linear-gradient(120deg, #EEF4FF, #fff 60%); box-shadow: inset 0 0 0 1px rgba(79, 141, 247, .18), var(--g1); animation: fb-wejscie .5s var(--ruch) both; }
.dopasuj__znak { width: 44px; height: 44px; display: grid; place-items: center; border-radius: 14px; background: #fff; color: var(--niebo-gl); box-shadow: var(--g1); } .dopasuj__znak svg { width: 20px; height: 20px; }
.dopasuj b { display: block; font: 600 16px/1.3 var(--f-display); color: var(--text); } .dopasuj p { margin: 4px 0 0; font-size: 14px; color: var(--text-2); max-width: 760px; }
.dopasuj--praca { grid-template-columns: 44px minmax(0, 1fr) auto; } .dopasuj--praca .ai-praca__tarcza { width: 44px; height: 44px; }
.dopasuj--luka { grid-template-columns: 44px minmax(0, 1fr); align-items: start; background: linear-gradient(120deg, #FFF4E8, #fff 60%); box-shadow: inset 0 0 0 1px rgba(183, 121, 31, .2), var(--g1); }
.dopasuj--luka .dopasuj__znak { color: var(--amber-2); }
.dopasuj__propozycje { list-style: none; margin: 12px 0; padding: 0; display: grid; gap: 8px; }
.dopasuj__propozycje li { display: grid; gap: 4px; padding: 12px 14px; border-radius: 14px; background: #fff; box-shadow: var(--g1); }
.dopasuj__propozycje b { font-size: 14.5px; } .dopasuj__propozycje small { font-size: 13px; color: var(--text-2); } .dopasuj__propozycje .znacznik { justify-self: start; }
.sz-dla { list-style: none; margin: 6px 0 0; padding: 0; display: grid; gap: 8px; } .sz-dla small { display: block; margin-top: 2px; font-size: 13px; color: var(--text-2); }
@media (max-width: 720px) { .dopasuj { grid-template-columns: 44px minmax(0, 1fr); } .dopasuj > .przycisk { grid-column: 1 / -1; } }

/* ---------- Kawa przy wyszukiwaniu firm ---------- */
.setup__kawa { display: grid; grid-template-columns: 150px minmax(0, 1fr); align-items: center; gap: 20px; margin: 20px 0; padding: 14px 20px 14px 10px; border-radius: 20px; background: linear-gradient(120deg, #FFF6EF, rgba(255, 255, 255, .6) 70%); box-shadow: inset 0 0 0 1px rgba(233, 167, 130, .25); }
.setup__kawa b { display: block; font: 600 17px/1.3 var(--f-display, inherit); color: var(--text); }
.setup__kawa p { margin: 6px 0 0; font-size: 14px; line-height: 1.5; color: var(--text-2); }
.kawa { width: 150px; height: auto; display: block; overflow: visible; }
.kawa__poziom, .kawa__crema { transform-box: view-box; animation: kawa-nalewanie 7s cubic-bezier(.4, 0, .2, 1) infinite; }
.kawa__strumien { animation: kawa-strumien 7s linear infinite; }
.kawa__strumien path { animation: kawa-plyn .5s linear infinite; }
.kawa__kubek { transform-box: view-box; transform-origin: 150px 140px; animation: kawa-kubek 7s cubic-bezier(.4, 0, .2, 1) infinite; }
.kawa__para { opacity: 0; transform-box: view-box; animation: kawa-para 7s ease-out infinite; }
.kawa__dioda { transform-box: fill-box; transform-origin: center; animation: kawa-dioda 1.6s ease-in-out infinite; }
@keyframes kawa-nalewanie { 0% { transform: translateY(46px); } 45%, 92% { transform: translateY(0); } 96%, 100% { transform: translateY(46px); } }
@keyframes kawa-strumien { 0%, 44% { opacity: 1; } 48%, 100% { opacity: 0; } }
@keyframes kawa-plyn { to { stroke-dashoffset: -11; } }
@keyframes kawa-kubek {
  0%, 50% { transform: translate(0, 0) rotate(0); opacity: 1; }
  58% { transform: translate(30px, -6px) rotate(0); }
  62% { transform: translate(30px, -6px) rotate(-5deg); } 66% { transform: translate(30px, -6px) rotate(4deg); }
  70% { transform: translate(30px, -6px) rotate(-3deg); } 74% { transform: translate(30px, -6px) rotate(0); }
  86% { transform: translate(0, 0) rotate(0); opacity: 1; } 92%, 96% { transform: translate(0, 0); opacity: 0; } 100% { opacity: 1; } }
@keyframes kawa-para { 0%, 52% { opacity: 0; transform: translateY(6px); } 62% { opacity: .9; } 88% { opacity: 0; transform: translateY(-8px); } 100% { opacity: 0; } }
@keyframes kawa-dioda { 50% { transform: scale(1.35); opacity: .05; } }
@media (max-width: 560px) { .setup__kawa { grid-template-columns: 1fr; justify-items: center; text-align: center; padding: 16px; } }
@media (prefers-reduced-motion: reduce) { .kawa__poziom, .kawa__crema, .kawa__strumien, .kawa__strumien path, .kawa__kubek, .kawa__para, .kawa__dioda { animation: none; } .kawa__para { opacity: .8; } }

/* Pasek wczytywania u góry okna (np. karta firmy w drodze) */
.ladowanie-gora { position: fixed; top: 0; left: 0; right: 0; height: 3px; z-index: 1000; overflow: hidden; pointer-events: none; }
.ladowanie-gora::after { content: ""; position: absolute; inset: 0; width: 40%; background: var(--ember); border-radius: 0 3px 3px 0; animation: ladowanie-gora 1.1s ease-in-out infinite; }
@keyframes ladowanie-gora { from { transform: translateX(-100%); } to { transform: translateX(250%); } }
@media (prefers-reduced-motion: reduce) { .ladowanie-gora::after { animation: none; width: 100%; opacity: .6; } }

/* Osoba w firmie: profil LinkedIn przy nazwisku, wybór adresata jako główna akcja, usunięcie osoby jako wyraźny, ale cichy przycisk */
.osoba__imie { display: flex; flex-wrap: wrap; align-items: center; gap: 4px 12px; }
.osoba__imie b { display: inline; }
.osoba__profil { display: inline-flex; align-items: center; gap: 6px; padding: 4px 10px; border-radius: 999px; background: rgba(10, 102, 194, .1); color: #0A66C2; font-size: 13px; font-weight: 600; text-decoration: none; line-height: 1.3; transition: background .15s; }
.osoba__profil:hover { background: rgba(10, 102, 194, .18); }
.osoba__profil svg { width: 14px; height: 14px; flex: none; }
.osoba__akcje { gap: 8px 16px; }
.osoba__wybrana { display: inline-flex; align-items: center; gap: 6px; padding: 8px 14px; border-radius: 10px; background: rgba(41, 168, 130, .14); color: var(--mint-2); font-size: 14px; font-weight: 600; }
.osoba__wybrana svg { width: 16px; height: 16px; }
.osoba__usun { display: inline-flex; align-items: center; gap: 6px; margin-left: auto; padding: 8px 12px; border: 1px solid var(--line); border-radius: 10px; background: transparent; color: var(--text-2); font: inherit; font-size: 13px; cursor: pointer; transition: color .15s, border-color .15s, background .15s; }
.osoba__usun svg { width: 14px; height: 14px; }
.osoba__usun:hover, .osoba__usun:focus-visible { color: #C2412F; border-color: rgba(229, 83, 63, .45); background: rgba(229, 83, 63, .06); }
.osoba__usun:disabled { opacity: .5; cursor: default; }

.osoba--nowa { animation: osoba-nowa 1.6s ease-out; }
@keyframes osoba-nowa { from { box-shadow: 0 0 0 3px rgba(41, 168, 130, .45); background: rgba(41, 168, 130, .08); } to { box-shadow: 0 0 0 3px rgba(41, 168, 130, 0); } }

/* „Szukaj osób jeszcze raz” */
.szukaj-osob { margin-top: 8px; }
.szukaj-osob svg { width: 16px; height: 16px; }
.szukaj-osob__kiedy { display: block; margin-top: 4px; color: var(--text-2); font-size: 12px; }
.szukaj-osob--trwa { display: flex; align-items: center; gap: 12px; padding: 12px 16px; border-radius: 12px; background: var(--bg-2); color: var(--text-2); font-size: 14px; line-height: 1.5; }
.szukaj-osob__kolo { flex: none; width: 18px; height: 18px; border: 2px solid rgba(255, 125, 107, .25); border-top-color: var(--ember); border-radius: 50%; animation: szukaj-osob 0.9s linear infinite; }
@keyframes szukaj-osob { to { transform: rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .szukaj-osob__kolo { animation: none; } }
.formularz select { width: 100%; padding: 12px 40px 12px 14px; border-radius: 10px; background: var(--bg-2) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1.5 6 6.5 11 1.5' fill='none' stroke='%238A93A3' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") no-repeat right 14px center; border: 1px solid var(--line-2); outline: none; font: inherit; font-size: 14px; color: inherit; appearance: none; cursor: pointer; }
.formularz select:focus { border-color: var(--ember); }
.dodaj-osobe__rola { gap: 6px; margin-top: 4px; }
.dodaj-osobe__rola span { font-size: 13px; color: var(--text-2); }

.logowanie__pomoc .link { font: inherit; color: inherit; text-decoration: underline; text-underline-offset: 3px; background: none; border: 0; padding: 0; cursor: pointer; }
.logowanie__pomoc .link:hover { color: var(--text); }
.logowanie__adres { margin: 8px 0 24px; font-weight: 600; word-break: break-all; }

/* Log błędów (/admin/bledy) */
.admin__linki { display: flex; gap: 8px; flex-wrap: wrap; }
.admin__licznik { display: inline-grid; place-items: center; min-width: 20px; height: 20px; padding: 0 6px; margin-left: 6px; border-radius: 10px; background: var(--ember); color: var(--text); font-size: 11px; font-weight: 600; }
a.admin__liczba-link { display: grid; gap: 4px; padding: 16px 18px; border-radius: var(--r); border: 1px solid var(--line); background: var(--panel); font-size: 12px; color: var(--muted); text-decoration: none; transition: border-color .15s, transform .15s; }
a.admin__liczba-link:hover { border-color: var(--text-2); transform: translateY(-1px); }
.log__wstecz { display: inline-block; margin-bottom: 8px; font-size: 13px; color: var(--muted); text-decoration: none; } .log__wstecz:hover { color: var(--text); }
.log__liczby { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 20px; }
.log__czysc { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 14px; color: var(--text-2); animation: log-wjazd .2s ease-out; }
.log__filtry { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.log__filtry .przelacznik { flex-wrap: wrap; }
.log__filtry .przelacznik small { opacity: .6; margin-left: 2px; }
.log__projekt { display: flex; align-items: center; gap: 8px; font-size: 13px; color: var(--muted); }
.log__projekt select { font: inherit; color: var(--text); padding: 6px 10px; border-radius: 10px; border: 1px solid var(--line); background: var(--panel); }
.log__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.log__wpis { border: 1px solid var(--line); border-radius: 12px; background: var(--panel); overflow: hidden; }
.log__glowa { all: unset; box-sizing: border-box; width: 100%; display: grid; grid-template-columns: 120px 1fr auto; gap: 12px; align-items: center; padding: 12px 14px; cursor: pointer; }
.log__glowa:hover { background: color-mix(in srgb, var(--text) 4%, transparent); }
.log__glowa:focus-visible { outline: 2px solid var(--ember); outline-offset: -2px; }
.log__rodzaj { justify-self: start; padding: 3px 8px; border-radius: 8px; font-size: 11px; font-weight: 600; background: color-mix(in srgb, var(--muted) 14%, transparent); color: var(--text-2); }
.log__wpis--serwer .log__rodzaj, .log__wpis--ui-blad .log__rodzaj { background: color-mix(in srgb, var(--ember) 16%, transparent); color: var(--ember-2); }
.log__wpis--ui-klik .log__rodzaj { background: color-mix(in srgb, #E9A23B 18%, transparent); color: #A86A12; }
.log__tresc { display: grid; gap: 2px; min-width: 0; } .log__tresc b { font-weight: 500; font-size: 14px; color: var(--text); overflow-wrap: anywhere; }
.log__tresc small, .log__kiedy { font-size: 12px; color: var(--muted); } .log__kiedy { white-space: nowrap; }
.log__wystapienia { list-style: none; margin: 0; padding: 4px 14px 14px; display: grid; gap: 8px; border-top: 1px solid var(--line); animation: log-wjazd .2s ease-out; }
.log__wystapienia > li { padding: 10px 0 0; font-size: 13px; color: var(--text-2); } .log__wystapienia > li + li { border-top: 1px dashed var(--line); }
.log__kto { display: flex; flex-wrap: wrap; gap: 4px 16px; } .log__kto small { color: var(--muted); }
.log__wystapienia dl { display: grid; grid-template-columns: max-content 1fr; gap: 2px 12px; margin: 8px 0 0; font-size: 12px; }
.log__wystapienia dt { color: var(--muted); } .log__wystapienia dd { margin: 0; font-family: var(--f-mono, ui-monospace, monospace); overflow-wrap: anywhere; color: var(--text-2); }
.log__wiecej { color: var(--muted); font-size: 12px; }
@keyframes log-wjazd { from { opacity: 0; transform: translateY(-4px); } to { opacity: 1; transform: none; } }
@media (max-width: 720px) { .log__liczby { grid-template-columns: repeat(2, minmax(0, 1fr)); } .log__glowa { grid-template-columns: 1fr auto; } .log__rodzaj { grid-column: 1 / -1; } }

/* Karty osób (wariant A): dane u góry, akcje w stopce karty, „Napisz do tej osoby” jako przycisk główny */
div.osoba, .pf div.osoba { display: block; padding: 0; border-radius: 16px; background: var(--panel); border: 1px solid var(--line); overflow: hidden; box-shadow: none; transition: border-color .2s, box-shadow .2s; }
div.osoba + div.osoba, .pf div.osoba + div.osoba { margin-top: 12px; padding-top: 0; border-top: 1px solid var(--line); }
div.osoba--glowna, .pf div.osoba--glowna { border-color: rgba(41, 168, 130, .45); box-shadow: 0 0 0 3px rgba(41, 168, 130, .10); }
.pf div.osoba + div.osoba--glowna { border-top-color: rgba(41, 168, 130, .45); }
.osoba__glowa { display: flex; gap: 14px; align-items: flex-start; padding: 16px 16px 14px; }
div.osoba .osoba__dane { flex: 1; min-width: 0; }
div.osoba .osoba__dane b { display: block; font-weight: 600; font-size: 16px; }
div.osoba .osoba__znaczniki { margin-top: 8px; }
div.osoba .osoba__profil { flex: none; display: inline-grid; place-items: center; width: 34px; height: 34px; padding: 0; border-radius: 10px; }
div.osoba .osoba__profil svg { width: 15px; height: 15px; }
div.osoba .osoba__akcje, .pf div.osoba .osoba__akcje { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px; padding: 10px 12px 10px 8px; padding-left: 8px; border-top: 1px solid var(--line); background: var(--panel-2); flex-basis: auto; }
div.osoba .osoba__usun { margin-left: 0; border-color: transparent; background: transparent; color: var(--muted); }
div.osoba .osoba__wybrana, div.osoba .osoba__napisz { margin-left: auto; }
div.osoba .osoba__napisz svg, div.osoba .osoba__wybrana svg { width: 16px; height: 16px; }
div.osoba .osoba__wybrana { box-shadow: 0 0 0 1px rgba(41, 168, 130, .3) inset; animation: osoba-wybrana .35s var(--ruch, ease-out); }
@keyframes osoba-wybrana { from { transform: scale(.94); opacity: .4; } to { transform: none; opacity: 1; } }
div.osoba { container-type: inline-size; }
/* Wąska karta (kolumna karty firmy): przycisk wiadomości na całą szerokość, „Nie pracuje już tutaj” pod nim */
@container (max-width: 420px) {
  div.osoba .osoba__akcje, .pf div.osoba .osoba__akcje { flex-direction: column; align-items: stretch; gap: 4px; padding: 10px 12px; }
  div.osoba .osoba__wybrana, div.osoba .osoba__napisz { order: -1; margin-left: 0; justify-content: center; align-self: stretch; padding-top: 11px; padding-bottom: 11px; }
  div.osoba .osoba__usun { align-self: center; }
}

/* Odkładanie firmy: wybór terminu, okienko z „Cofnij” do zamknięcia, baner na karcie */
.odloz { flex-basis: 100%; margin-top: 4px; padding: 14px 16px; border-radius: 14px; background: var(--panel-2); border: 1px solid var(--line); animation: odloz-wjazd .22s var(--ruch, ease-out); }
.odloz > b { display: block; font-size: 14px; font-weight: 600; margin-bottom: 10px; }
.odloz__opcje { display: flex; flex-wrap: wrap; gap: 8px; }
.odloz__opcje .przycisk--drugi { flex-direction: column; align-items: flex-start; gap: 2px; min-width: 112px; }
.odloz__opcje small { font-size: 12px; font-weight: 400; color: var(--muted); }
.odloz p { margin: 10px 0 0; font-size: 13px; color: var(--text-2); }
.okno-odloz { position: fixed; z-index: 60; left: 50%; bottom: 24px; transform: translateX(-50%); width: min(560px, calc(100vw - 32px)); display: grid; grid-template-columns: auto 1fr auto auto; gap: 12px; align-items: center;
  padding: 14px 12px 14px 16px; border-radius: 16px; background: var(--panel); border: 1px solid var(--line-2); box-shadow: var(--g3, 0 20px 50px -20px rgba(0,0,0,.35)); animation: okno-wjazd .3s var(--ruch, ease-out); }
.okno-odloz--znika { animation: okno-zjazd .2s ease-in forwards; }
.okno-odloz__ikona { display: grid; place-items: center; width: 36px; height: 36px; border-radius: 12px; background: var(--amber-soft); color: var(--amber-2); }
.okno-odloz__ikona svg { width: 18px; height: 18px; }
.okno-odloz b { display: block; font-size: 14px; font-weight: 600; } .okno-odloz span { font-size: 13px; color: var(--text-2); }
.okno-odloz a { color: var(--niebo-gl, var(--niebo-gl)); font-weight: 600; }
.okno-odloz__x { display: grid; place-items: center; width: 32px; height: 32px; border: 0; border-radius: 10px; background: transparent; color: var(--muted); cursor: pointer; }
.okno-odloz__x:hover { background: var(--panel-3); color: var(--text); } .okno-odloz__x svg { width: 16px; height: 16px; }
.decyzja-firmy--wroci b { display: inline-flex; align-items: center; gap: 8px; } .decyzja-firmy--wroci b svg { width: 18px; height: 18px; color: var(--amber-2); }
@keyframes odloz-wjazd { from { opacity: 0; transform: translateY(-6px); } to { opacity: 1; transform: none; } }
@keyframes okno-wjazd { from { opacity: 0; transform: translate(-50%, 16px); } to { opacity: 1; transform: translate(-50%, 0); } }
@keyframes okno-zjazd { to { opacity: 0; transform: translate(-50%, 12px); } }
@media (max-width: 520px) { .okno-odloz { grid-template-columns: auto 1fr auto; bottom: 12px; } .okno-odloz [data-okno-cofnij] { grid-column: 2 / 3; justify-self: start; } .okno-odloz__x { grid-row: 1; grid-column: 3; } }

/* Zespół: role w kampanii, profil osoby, powitanie, zespół kampanii i podział firm */
.wybor-chipy { display: flex; flex-wrap: wrap; gap: 8px; }
.wybor-chip { position: relative; cursor: pointer; }
.wybor-chip input { position: absolute; opacity: 0; pointer-events: none; }
.wybor-chip span { display: inline-flex; align-items: center; padding: 8px 14px; border-radius: 999px; border: 1px solid var(--line-2); background: var(--panel); font-size: 14px; color: var(--text-2); transition: background .15s, border-color .15s, color .15s, transform .1s; }
.wybor-chip:hover span { border-color: var(--text-2); }
.wybor-chip input:checked + span { background: var(--niebo-soft, rgba(79, 141, 247, .14)); border-color: var(--niebo-gl, var(--niebo-gl)); color: var(--niebo-gl, var(--niebo-gl)); font-weight: 600; }
.wybor-chip input:focus-visible + span { outline: 2px solid var(--niebo-gl, var(--niebo-gl)); outline-offset: 2px; }
.wybor-chip:active span { transform: scale(.97); }
fieldset.pole { border: 0; padding: 0; margin: 0 0 16px; min-width: 0; } fieldset.pole legend { font-size: 13px; font-weight: 600; color: var(--text-2); margin-bottom: 8px; padding: 0; }
.profil-osoby { max-width: 860px; } .profil-osoby--powitanie { padding-top: 48px; }
.profil-osoby__glowa { margin-bottom: 24px; } .profil-osoby__glowa h1 { margin: 6px 0 8px; }
.profil-osoby__form { display: grid; gap: 16px; } .profil-osoby__form .panel { display: grid; gap: 4px; }
.profil-osoby__form .pole input { max-width: 420px; }
.profil-osoby__wiecej { margin-top: 10px; } .profil-osoby__wiecej summary { cursor: pointer; font-size: 13px; color: var(--muted); margin-bottom: 8px; }
.karty-rol { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin: 8px 0 16px; }
@media (max-width: 640px) { .karty-rol { grid-template-columns: 1fr; } }
.karta-roli { position: relative; display: grid; gap: 4px; padding: 16px 16px 14px 48px; border-radius: 16px; border: 1.5px solid var(--line-2); background: var(--panel); cursor: pointer; transition: border-color .2s, box-shadow .2s, background .2s; }
.karta-roli:hover { border-color: rgba(44, 104, 216, .4); }
.karta-roli input { position: absolute; opacity: 0; pointer-events: none; }
.karta-roli__znak { position: absolute; left: 16px; top: 16px; width: 22px; height: 22px; border-radius: 7px; border: 2px solid var(--line-2); display: grid; place-items: center; color: transparent; transition: background .2s, border-color .2s, color .2s; }
.karta-roli__znak svg { width: 14px; height: 14px; }
.karta-roli:has(input:checked) { border-color: var(--niebo-gl, var(--niebo-gl)); box-shadow: 0 0 0 3px rgba(44, 104, 216, .12); }
.karta-roli:has(input:checked) .karta-roli__znak { background: var(--niebo-gl, var(--niebo-gl)); border-color: var(--niebo-gl, var(--niebo-gl)); color: #fff; animation: rola-zaznacz .25s var(--ruch, ease-out); }
.karta-roli:has(input:focus-visible) { outline: 2px solid var(--niebo-gl, var(--niebo-gl)); outline-offset: 2px; }
.karta-roli b { font-weight: 600; font-size: 15px; } .karta-roli > span:not(.karta-roli__znak) { font-size: 13px; color: var(--text-2); } .karta-roli > small { font-size: 12px; color: var(--muted); }
.karta-roli__od { display: inline-block; margin-left: 6px; padding: 1px 8px; border-radius: 999px; background: var(--amber-soft); color: var(--amber-2); font-size: 11px; font-weight: 600; vertical-align: 2px; }
@keyframes rola-zaznacz { from { transform: scale(.6); } to { transform: none; } }
.profil-osoby__czas { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; } @media (max-width: 640px) { .profil-osoby__czas { grid-template-columns: 1fr; } }
.profil-osoby__czas [hidden] { display: none; }
.profil-osoby__dol { display: flex; gap: 12px; align-items: center; }
.profil-osoby__gotowe { max-width: 560px; margin: 0 auto; text-align: center; display: grid; justify-items: center; gap: 12px; padding: 40px 32px; }
.profil-osoby__ok { display: grid; place-items: center; width: 56px; height: 56px; border-radius: 50%; background: var(--mint-soft); color: var(--mint-2); animation: rola-zaznacz .4s var(--ruch, ease-out); }
.profil-osoby__ok svg { width: 28px; height: 28px; }
.nowa-osoba { display: grid; grid-template-columns: auto 1fr auto; gap: 12px; align-items: center; padding: 14px 16px; margin-bottom: 16px; border-radius: 16px; background: var(--mint-soft); border: 1px solid rgba(41, 168, 130, .3); }
.nowa-osoba b { display: block; font-weight: 600; } .nowa-osoba small { font-size: 13px; color: var(--text-2); }
.nowa-osoba__akcje { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.nowa-osoba--znika { animation: okno-zjazd-p .25s ease-in forwards; } @keyframes okno-zjazd-p { to { opacity: 0; transform: translateY(-6px); } }
@media (max-width: 640px) { .nowa-osoba { grid-template-columns: auto 1fr; } .nowa-osoba__akcje { grid-column: 1 / -1; justify-content: flex-start; } }
.osoby--zespol > li { align-items: flex-start; } .osoby__role { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.osoby--zespol .osoby__akcje { margin-left: auto; display: flex; gap: 4px; flex-wrap: wrap; justify-content: flex-end; }
.role-edycja { display: grid; gap: 10px; margin-top: 10px; } .role-edycja > div:last-child { display: flex; gap: 8px; }
.zapros-zespol { margin-top: 20px; padding: 20px; border-radius: 16px; background: var(--panel-2); border: 1px solid var(--line); display: grid; gap: 4px; }
.zapros-zespol h3 { margin: 0 0 12px; font: 600 16px/1.3 var(--f-display); }
.zapros-zespol__pola { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: end; } .zapros-zespol__pola .pole { margin: 0 0 16px; } @media (max-width: 640px) { .zapros-zespol__pola { grid-template-columns: 1fr; } }
.zapros-zespol > .przycisk { justify-self: start; }
.zk .sekcja-glowa { display: flex; justify-content: space-between; gap: 16px; flex-wrap: wrap; align-items: flex-start; }
.zk__akcje { display: flex; gap: 8px; flex-wrap: wrap; }
.zk__lista { list-style: none; margin: 16px 0 0; padding: 0; display: grid; gap: 10px; }
.zk-osoba { position: relative; display: grid; grid-template-columns: auto 1fr auto auto; gap: 14px; align-items: center; padding: 14px 16px; border-radius: 16px; border: 1px solid var(--line); background: var(--panel); }
.zk-osoba .awatar-eksperta { width: 40px; height: 40px; font-size: 14px; }
.zk-osoba b { font-weight: 600; } .zk-osoba small { display: block; font-size: 13px; color: var(--text-2); } .zk-osoba .chipy { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 6px; }
.zk-osoba__liczby { display: flex; gap: 16px; font-size: 13px; color: var(--muted); } .zk-osoba__liczby b { font: 600 18px/1 var(--f-display); color: var(--text); margin-right: 2px; }
.zk-osoba__usun { display: inline-flex; align-items: center; gap: 6px; padding: 8px; border: 0; border-radius: 10px; background: transparent; color: var(--muted); font: inherit; font-size: 13px; cursor: pointer; }
.zk-osoba__usun:hover, .zk-osoba__usun--potwierdz { color: #C2412F; background: rgba(229, 83, 63, .08); } .zk-osoba__usun svg { width: 16px; height: 16px; }
.zk-osoba--nowa { animation: osoba-nowa 1.6s ease-out; }
@media (max-width: 720px) { .zk-osoba { grid-template-columns: auto 1fr auto; } .zk-osoba__liczby { grid-column: 2 / 3; } }
.zk-dodaj { margin-top: 12px; padding: 16px; border-radius: 16px; background: var(--panel-2); border: 1px solid var(--line); display: grid; gap: 10px; animation: odloz-wjazd .22s var(--ruch, ease-out); }
.zk-dodaj select, .zk-podzial select { font: inherit; padding: 9px 12px; border-radius: 10px; border: 1px solid var(--line-2); background: var(--panel); color: var(--text); max-width: 100%; }
.zk-dodaj__pola { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; } @media (max-width: 640px) { .zk-dodaj__pola { grid-template-columns: 1fr; } }
.zk-dodaj__dol, .zk-podzial__dol { display: flex; gap: 8px; flex-wrap: wrap; } .zk-dodaj > .przycisk--cichy { justify-self: start; }
.zk-podzial { margin-top: 16px; }
.zk-podzial__tabela { display: grid; margin: 12px 0 16px; border: 1px solid var(--line); border-radius: 14px; overflow: hidden; }
.zk-podzial__wiersz { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 12px; align-items: center; padding: 12px 14px; background: var(--panel); }
.zk-podzial__wiersz + .zk-podzial__wiersz { border-top: 1px solid var(--line); }
.zk-podzial__wiersz--zmiana { background: linear-gradient(90deg, rgba(44, 104, 216, .07), transparent 70%), var(--panel); box-shadow: inset 3px 0 0 var(--niebo-gl, var(--niebo-gl)); }
.zk-podzial__wiersz b { font-weight: 600; } .zk-podzial__wiersz small { display: block; font-size: 12px; color: var(--muted); margin-top: 2px; }
@media (max-width: 640px) { .zk-podzial__wiersz { grid-template-columns: 1fr; } }

/* Podpowiedzi pod radarem: karuzela; pasek w aktywnej kropce odmierza czas, najechanie i kliknięcie zatrzymują */
.tipy { position: relative; margin-top: 8px; padding: 18px 20px 14px; border-radius: var(--r, 20px); background: var(--panel); }
.tipy__okno { min-height: 128px; overflow: hidden; }
.tipy__karta { display: grid; grid-template-columns: auto 1fr; gap: 14px; align-items: start; cursor: default; }
.tipy__karta--dalej { animation: tip-dalej .35s var(--ruch, ease-out); } .tipy__karta--wstecz { animation: tip-wstecz .35s var(--ruch, ease-out); }
@keyframes tip-dalej { from { opacity: 0; transform: translateX(18px); } to { opacity: 1; transform: none; } }
@keyframes tip-wstecz { from { opacity: 0; transform: translateX(-18px); } to { opacity: 1; transform: none; } }
.tipy__ikona { display: grid; place-items: center; width: 40px; height: 40px; border-radius: 12px; background: var(--niebo-soft, rgba(79, 141, 247, .14)); color: var(--niebo-gl, #4F8DF7); }
.tipy__ikona--radar { background: var(--panel-3); color: var(--text-2); } .tipy__ikona svg { width: 20px; height: 20px; }
.tipy__tresc { min-width: 0; }
.tipy__rodzaj { display: block; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); margin-bottom: 4px; }
.tipy__tresc b { display: block; font: 600 16px/1.3 var(--f-display); color: var(--text); }
.tipy__tresc p { margin: 6px 0 0; font-size: 13.5px; line-height: 1.5; color: var(--text-2); max-width: 62ch; }
.tipy__akcje { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 12px; } .tipy__akcje svg { width: 14px; height: 14px; }
.tipy__dol { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-top: 12px; padding-top: 10px; border-top: 1px solid var(--line); }
.tipy__kropki { display: flex; gap: 6px; flex-wrap: wrap; }
.tipy__kropka { width: 18px; height: 18px; padding: 0; border: 0; background: transparent; display: grid; place-items: center; cursor: pointer; }
.tipy__kropka i { display: block; width: 6px; height: 6px; border-radius: 3px; background: var(--line-2); transition: width .25s, background .2s; position: relative; overflow: hidden; }
.tipy__kropka:hover i { background: var(--muted); }
.tipy__kropka[aria-selected="true"] { width: 30px; } .tipy__kropka[aria-selected="true"] i { width: 26px; background: var(--line-2); }
.tipy__kropka[aria-selected="true"] i::after { content: ""; position: absolute; inset: 0; background: var(--niebo-gl, #4F8DF7); transform-origin: left; animation: tip-czas 9s linear forwards; }
.tipy--stop .tipy__kropka[aria-selected="true"] i::after { animation: none; transform: none; }
.tipy:hover .tipy__kropka[aria-selected="true"] i::after, .tipy:focus-within .tipy__kropka[aria-selected="true"] i::after { animation-play-state: paused; }
@keyframes tip-czas { from { transform: scaleX(0); } to { transform: scaleX(1); } }
.tipy__sterowanie { display: flex; align-items: center; gap: 4px; }
.tipy__btn { width: 30px; height: 30px; border: 0; border-radius: 9px; background: transparent; color: var(--text-2); font: 600 14px/1 var(--f-body); cursor: pointer; }
.tipy__btn:hover { background: var(--panel-3); color: var(--text); } .tipy__btn { display: grid; place-items: center; } .tipy__btn svg { width: 16px; height: 16px; }
.tipy__ukryj { margin-left: 6px; border: 0; background: transparent; color: var(--muted); font: inherit; font-size: 12px; cursor: pointer; padding: 6px 8px; border-radius: 8px; }
.tipy__ukryj:hover { color: var(--text); background: var(--panel-3); }
.tipy--znika { animation: okno-zjazd-p .25s ease-in forwards; }
@media (prefers-reduced-motion: reduce) { .tipy__karta--dalej, .tipy__karta--wstecz { animation: none; } }

/* Formularz stratega: wybór osób z zespołu (konta i wysłane zaproszenia), zaproszenie bez wychodzenia z kampanii */
.wybor-zespolu { display: grid; gap: 8px; margin: 12px 0; }
.wybor-osoby { position: relative; display: grid; grid-template-columns: auto auto 1fr; gap: 10px; align-items: center; padding: 10px 12px; border-radius: 14px; border: 1.5px solid var(--line-2); background: var(--panel); cursor: pointer; transition: border-color .2s, box-shadow .2s; }
.wybor-osoby:hover { border-color: rgba(44, 104, 216, .4); }
.wybor-osoby input { position: absolute; opacity: 0; pointer-events: none; }
.wybor-osoby__znak { width: 20px; height: 20px; border-radius: 6px; border: 2px solid var(--line-2); display: grid; place-items: center; color: transparent; transition: background .2s, border-color .2s, color .2s; }
.wybor-osoby__znak svg { width: 13px; height: 13px; }
.wybor-osoby:has(input:checked) { border-color: var(--niebo-gl, var(--niebo-gl)); box-shadow: 0 0 0 3px rgba(44, 104, 216, .10); }
.wybor-osoby:has(input:checked) .wybor-osoby__znak { background: var(--niebo-gl, var(--niebo-gl)); border-color: var(--niebo-gl, var(--niebo-gl)); color: #fff; animation: rola-zaznacz .25s var(--ruch, ease-out); }
.wybor-osoby:has(input:focus-visible) { outline: 2px solid var(--niebo-gl, var(--niebo-gl)); outline-offset: 2px; }
.wybor-osoby .awatar svg { width: 15px; height: 15px; }
.wybor-osoby__dane { min-width: 0; } .wybor-osoby__dane b { display: block; font-weight: 600; font-size: 14px; }
.wybor-osoby__dane small { display: block; font-size: 12px; color: var(--muted); overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.wybor-osoby--nowa { animation: osoba-nowa 1.6s ease-out; }
.wybor-zespolu__zapros, .wybor-zespolu__bez { margin-top: 4px; }
.wybor-zespolu__zapros > summary, .wybor-zespolu__bez > summary { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; font-size: 13px; font-weight: 600; color: var(--niebo-gl, var(--niebo-gl)); padding: 6px 0; list-style: none; }
.wybor-zespolu__bez > summary { color: var(--muted); font-weight: 500; }
.wybor-zespolu__zapros > summary::-webkit-details-marker, .wybor-zespolu__bez > summary::-webkit-details-marker { display: none; }
.wybor-zespolu__zapros > summary svg { width: 14px; height: 14px; }
.wybor-zespolu__zapros[open], .wybor-zespolu__bez[open] { padding: 12px; border-radius: 14px; background: var(--panel-2); border: 1px solid var(--line); display: grid; gap: 10px; animation: odloz-wjazd .22s var(--ruch, ease-out); }
.wybor-zespolu__pola { display: grid; gap: 8px; } .wybor-zespolu__zapros small { font-size: 12px; color: var(--muted); }
.wybor-zespolu__zapros .wybor-chip span { padding: 6px 10px; font-size: 13px; }
.wybor-zespolu__zapros > .przycisk { justify-self: start; }

/* Start kampanii: opis i trzy kroki w poziomie u góry, wybór zespołu na całą szerokość pod spodem */
.start-kampanii { grid-template-columns: 1fr; gap: 28px; align-items: start; padding: 32px; }
.start-kampanii__kroki { grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-top: 20px; }
.start-kampanii__kroki li { align-content: start; padding: 16px; border-radius: 16px; background: var(--panel-2); border: 1px solid var(--line); }
.start-kampanii .strategia__start { width: 100%; max-width: none; padding-top: 24px; border-top: 1px solid var(--line); margin-top: 0; gap: 16px; justify-items: start; }
.start-kampanii .strategia__start > .strategia__autor { width: 100%; }
.strategia__autor { display: flex; flex-wrap: wrap; gap: 12px; align-items: flex-start; }
.strategia__autor > legend { float: left; width: 100%; }
.strategia__autor > .strategia__podpowiedz, .strategia__autor > .wybor-zespolu, .strategia__autor > .eksperci-form { flex: 1 1 100%; }
.strategia__autor > details { flex: 0 1 auto; }
.strategia__autor > details[open] { flex: 1 1 340px; }
.wybor-zespolu { grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); margin: 4px 0; }
.wybor-osoby__dane small { white-space: normal; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; }
.wybor-zespolu__bez .ekspert-wiersz { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto; }
@media (max-width: 860px) { .start-kampanii { padding: 20px; } .start-kampanii__kroki { grid-template-columns: 1fr; } }

/* Role konta: karty dostępu w zaproszeniu, znaczniki ról, tryb podglądu dla obserwatora */
[data-tylko-zespol][hidden] { display: none !important; }
.karty-dostepu { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
@media (max-width: 720px) { .karty-dostepu { grid-template-columns: 1fr; } }
.karta-dostepu { position: relative; display: grid; gap: 4px; padding: 12px 14px; border-radius: 14px; border: 1.5px solid var(--line-2); background: var(--panel); cursor: pointer; transition: border-color .2s, box-shadow .2s; }
.karta-dostepu:hover { border-color: rgba(44, 104, 216, .4); }
.karta-dostepu input { position: absolute; opacity: 0; pointer-events: none; }
.karta-dostepu b { font-weight: 600; font-size: 14px; } .karta-dostepu span { font-size: 12px; line-height: 1.45; color: var(--text-2); }
.karta-dostepu:has(input:checked) { border-color: var(--niebo-gl, var(--niebo-gl)); box-shadow: 0 0 0 3px rgba(44, 104, 216, .12); }
.karta-dostepu:has(input:focus-visible) { outline: 2px solid var(--niebo-gl, var(--niebo-gl)); outline-offset: 2px; }
.znacznik--konto { font-weight: 600; }
.znacznik--konto-wlasciciel { background: var(--ember-soft, rgba(240, 101, 82, .12)); color: var(--ember-2); border-color: rgba(240, 101, 82, .25); }
.znacznik--konto-administrator { background: var(--niebo-soft, rgba(79, 141, 247, .14)); color: var(--niebo-gl, #4F8DF7); border-color: rgba(44, 104, 216, .2); }
.znacznik--konto-obserwator { background: transparent; border-style: dashed; }
.osoby__uwaga { flex-basis: 100%; margin: 8px 0 0; font-size: 13px; color: var(--text-2); }
.role-edycja .pole { margin-bottom: 8px; }
.tryb-podglad-info { position: fixed; z-index: 55; left: 16px; bottom: 16px; display: inline-flex; align-items: center; gap: 8px; max-width: calc(100vw - 32px); padding: 10px 14px; border-radius: 999px; background: var(--panel); border: 1px solid var(--line-2); box-shadow: var(--g2, 0 10px 30px -10px rgba(0,0,0,.3)); font-size: 13px; color: var(--text-2); }
.tryb-podglad-info svg { width: 16px; height: 16px; flex: none; color: var(--niebo-gl, #4F8DF7); }
/* Członek i obserwator nie zmieniają strategii ani składu zespołu kampanii */
html:is([data-rola-konta="czlonek"], [data-rola-konta="obserwator"]) :is([data-strateg], .fundament__odnowa, [data-zk-pokaz], [data-zk-podziel], .zk-osoba__usun, .zk-dodaj) { display: none !important; }
/* Obserwator tylko ogląda: bez przycisków, które coś zmieniają (serwer i tak odmówi) */
html[data-rola-konta="obserwator"] :is([data-akcja]:not([data-akcja="kopiuj"]):not([data-akcja="tekst"]), [data-decyzja-firmy], [data-pisz], [data-adresat], [data-odrzuc], [data-usun-dodana], .kp-nowe__dodaj, .rl-akcje, .decyzja-firmy__akcje, .osoba__akcje, .wyniki-rozmowy, [data-szukaj-osob], [data-dodaj-osobe], .dodaj-osobe, [data-status], [data-rl], [data-rl-wszystkie], .nowa-osoba__akcje, [data-oznacz]) { display: none !important; }

/* Wybór jednej osoby (dodanie do kampanii): kafle z kropką zamiast listy rozwijanej przeglądarki */
.wybor-osoby--radio .wybor-osoby__znak { border-radius: 50%; }
.wybor-osoby--radio:has(input:checked) .wybor-osoby__znak { background: var(--panel); box-shadow: inset 0 0 0 5px var(--niebo-gl, var(--niebo-gl)); border-color: var(--niebo-gl, var(--niebo-gl)); }
.zk-dodaj .wybor-zespolu { grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.zk-dodaj fieldset.pole { margin: 0; }
/* Listy rozwijane w aplikacji (podział firm, opiekun): własny wygląd zamknięte, strzałka jak w ikonach */
.zk-podzial select, .zk-dodaj select { appearance: none; -webkit-appearance: none; padding: 9px 36px 9px 12px; border-radius: 10px; border: 1px solid var(--line-2); background: var(--panel) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236B7485' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center / 16px; color: var(--text); font: inherit; font-size: 14px; cursor: pointer; transition: border-color .15s, box-shadow .15s; }
.zk-podzial select:hover { border-color: var(--text-2); } .zk-podzial select:focus-visible { outline: none; border-color: var(--niebo-gl, var(--niebo-gl)); box-shadow: 0 0 0 3px rgba(44, 104, 216, .15); }

/* Pola obok siebie: równe wysokości (bez odstępu, który .pole dostaje nad kolejnym polem) */
.zk-dodaj__pola, .zapros-zespol__pola, .wybor-zespolu__pola { align-items: end; }
.zk-dodaj__pola > .pole, .zapros-zespol__pola > .pole, .wybor-zespolu__pola > label { margin: 0 !important; }
/* Lista wyboru w stylu aplikacji: przycisk ze strzałką i lista opcji z zaznaczeniem */
.lw-ukryty { position: absolute !important; width: 1px !important; height: 1px !important; opacity: 0 !important; pointer-events: none !important; clip-path: inset(50%) !important; }
.lw { display: inline-flex; align-items: center; justify-content: space-between; gap: 10px; min-width: 140px; max-width: 100%; padding: 8px 10px 8px 12px; border-radius: 10px; border: 1px solid var(--line-2); background: var(--panel); color: var(--text); font: inherit; font-size: 14px; text-align: left; cursor: pointer; transition: border-color .15s, box-shadow .15s, background .2s; }
.lw:hover:not(:disabled) { border-color: var(--text-2); }
.lw:focus-visible, .lw--otwarta { outline: none; border-color: var(--niebo-gl, var(--niebo-gl)); box-shadow: 0 0 0 3px rgba(44, 104, 216, .15); }
.lw:disabled { cursor: default; opacity: .7; } .lw:disabled svg { display: none; }
.lw__tekst { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.lw svg { width: 16px; height: 16px; flex: none; color: var(--muted); transition: transform .2s; } .lw--otwarta svg { transform: rotate(180deg); }
.lw--zmiana { animation: lw-zmiana .5s ease-out; } @keyframes lw-zmiana { 0% { background: var(--niebo-soft, rgba(79, 141, 247, .2)); } 100% { background: var(--panel); } }
.lw__lista { position: fixed; z-index: 90; max-width: min(360px, calc(100vw - 16px)); max-height: 280px; overflow-y: auto; padding: 6px; border-radius: 14px; background: var(--panel); border: 1px solid var(--line-2); box-shadow: var(--g3, 0 20px 50px -20px rgba(0, 0, 0, .35)); display: grid; gap: 2px; }
.lw__lista--dol { animation: lw-dol .16s var(--ruch, ease-out); transform-origin: top; } .lw__lista--gora { animation: lw-dol .16s var(--ruch, ease-out); transform-origin: bottom; }
@keyframes lw-dol { from { opacity: 0; transform: scaleY(.92); } to { opacity: 1; transform: none; } }
.lw__opcja { display: flex; align-items: center; gap: 8px; width: 100%; padding: 9px 12px 9px 8px; border: 0; border-radius: 9px; background: transparent; color: var(--text); font: inherit; font-size: 14px; text-align: left; cursor: pointer; white-space: nowrap; }
.lw__opcja svg { width: 16px; height: 16px; flex: none; color: var(--niebo-gl, var(--niebo-gl)); opacity: 0; }
.lw__opcja[aria-selected="true"] { font-weight: 600; } .lw__opcja[aria-selected="true"] svg { opacity: 1; }
.lw__opcja:hover, .lw__opcja:focus-visible { outline: none; background: var(--panel-3); }
.lw__opcja:disabled { color: var(--muted); cursor: default; }
.opiekun-wybor .lw { border: 0; background: transparent; padding: 0 2px 0 4px; min-width: 0; font-weight: 600; box-shadow: none; }
.opiekun-wybor .lw:focus-visible { box-shadow: 0 0 0 2px rgba(44, 104, 216, .3); }
.log__projekt .lw { min-width: 160px; }
.opiekun-wybor { flex-wrap: nowrap; max-width: 100%; } .opiekun-wybor > span { white-space: nowrap; }
.opiekun-wybor .lw__tekst { overflow: visible; text-overflow: clip; }

/* Dodawanie osoby do kampanii: trzy ścieżki i ekspert prowadzony przez zespół */
.zk-dodaj__tryby { justify-self: start; flex-wrap: wrap; }
.zk-dodaj__pola--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } @media (max-width: 760px) { .zk-dodaj__pola--3 { grid-template-columns: 1fr; } }
.zk-dodaj__pola .lw { width: 100%; padding-top: 11px; padding-bottom: 11px; }
.znacznik--prowadzi { gap: 4px; background: var(--niebo-soft, rgba(79, 141, 247, .14)); color: var(--niebo-gl, #4F8DF7); border-color: rgba(44, 104, 216, .2); }
.znacznik--prowadzi svg { width: 13px; height: 13px; }
.znacznik--prowadzi .lw { min-width: 0; padding: 0 2px; border: 0; background: transparent; color: inherit; font-size: 12px; font-weight: 600; box-shadow: none; }
.ekspert-wiersz--prowadzony { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr) 32px; }
.ekspert-wiersz--prowadzony .lw { width: 100%; }
@media (max-width: 760px) { .ekspert-wiersz--prowadzony { grid-template-columns: 1fr 32px; } }

.pd-w-imieniu { display: inline-flex; align-items: center; gap: 4px; margin-top: 6px; padding: 2px 8px; border-radius: 999px; background: var(--niebo-soft, rgba(79, 141, 247, .14)); color: var(--niebo-gl, #4F8DF7); font-size: 11px; font-weight: 600; width: fit-content; }
.pd-w-imieniu svg { width: 12px; height: 12px; }
/* Pola z podpowiedziami (stanowiska): bez strzałki przeglądarki, podpowiedzi zostają przy pisaniu */
input[list]::-webkit-calendar-picker-indicator { display: none !important; opacity: 0; }

.zk > .zk-dodaj { margin: 16px 0 0; }

/* Twój rynek: pierścienie TAM → w zasięgu → z sygnałem → gotowe teraz */
.rynek { margin: 24px 0; }
.rynek__glowa { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; }
.rynek__uklad { display: grid; grid-template-columns: 200px minmax(0, 1fr); gap: 28px; align-items: center; margin-top: 16px; }
@media (max-width: 720px) { .rynek__uklad { grid-template-columns: 1fr; } .rynek__pierscienie { max-width: 180px; justify-self: center; } }
.rynek__pierscienie { width: 100%; height: auto; }
.rynek__krag { transition: r .6s var(--ruch, ease-out); }
.rynek__krag--tam { fill: rgba(79, 141, 247, .06); stroke: rgba(79, 141, 247, .45); stroke-dasharray: 4 4; }
.rynek__krag--zasieg { fill: rgba(79, 141, 247, .16); }
.rynek__krag--sygnal { fill: rgba(240, 101, 82, .25); }
.rynek__krag--teraz { fill: var(--ember, #F06552); }
.rynek__lista { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.rynek__wiersz { display: grid; grid-template-columns: 12px minmax(0, 1fr) auto auto; gap: 12px; align-items: center; padding: 10px 12px; border-radius: 12px; }
.rynek__wiersz:hover { background: var(--panel-2); }
.rynek__wiersz b { display: block; font-weight: 600; font-size: 14px; } .rynek__wiersz small { display: block; font-size: 12.5px; color: var(--muted); line-height: 1.45; }
.rynek__liczba { font: 600 22px/1 var(--f-display); white-space: nowrap; text-align: right; }
.rynek__kropka { width: 12px; height: 12px; border-radius: 50%; }
.rynek__kropka--tam { border: 1.5px dashed rgba(79, 141, 247, .7); } .rynek__kropka--zasieg { background: rgba(79, 141, 247, .45); }
.rynek__kropka--sygnal { background: rgba(240, 101, 82, .45); } .rynek__kropka--teraz { background: var(--ember, #F06552); }
.rynek__zrodla { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 13px; color: var(--text-2); }
.rynek__zrodla summary { cursor: pointer; font-weight: 600; color: var(--text); }
.rynek__zrodla ul { margin: 8px 0; padding-left: 18px; display: grid; gap: 4px; } .rynek__zrodla a { color: var(--niebo-gl, #4F8DF7); }
.rynek__uwaga { color: var(--amber-2); }
@media (max-width: 520px) { .rynek__wiersz { grid-template-columns: 12px minmax(0, 1fr) auto; } .rynek__wiersz > :last-child { grid-column: 2 / -1; justify-self: start; } }

/* Język wiadomości: wybór przy pisaniu, podpowiedź skąd, tłumaczenie na polski obok */
.jezyk-wiad { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.jezyk-wiad__etykieta { font-size: 12px; font-weight: 600; color: var(--muted); }
.jezyk-wiad .przelacznik button { padding: 6px 10px; font-size: 13px; }
.jezyk-wiad__skad { display: inline-flex; align-items: center; gap: 4px; font-size: 12px; color: var(--muted); } .jezyk-wiad__skad svg { width: 13px; height: 13px; }
.jezyk-inny { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; margin: 4px 0 12px; padding: 10px 14px; border-radius: 12px; background: var(--amber-soft); color: var(--text-2); font-size: 13px; }
.jezyk-inny svg { width: 16px; height: 16px; color: var(--amber-2); flex: none; } .jezyk-inny span { flex: 1 1 240px; }
.po-polsku { display: inline-flex; align-items: center; gap: 8px; margin: 0 0 10px; font-size: 13px; color: var(--text-2); cursor: pointer; }
.wiad-z-tlumaczeniem { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr); gap: 16px; align-items: start; }
@media (max-width: 900px) { .wiad-z-tlumaczeniem { grid-template-columns: 1fr; } }
.tlumaczenie { padding: 14px 16px; border-radius: 14px; background: var(--panel-2); border: 1px dashed var(--line-2); font-size: 13.5px; line-height: 1.55; color: var(--text-2); animation: odloz-wjazd .22s var(--ruch, ease-out); }
.tlumaczenie__etykieta { display: block; font-size: 11px; font-weight: 600; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); margin: 4px 0; }
.tlumaczenie p { margin: 0 0 12px; }
.tlumaczenie small { display: block; font-size: 11.5px; color: var(--muted); }

/* Osoby w kraju firmy i za granicą */
.osoby-grupa { margin: 18px 0 8px; font: 600 13px/1.3 var(--f-body); color: var(--text-2); display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 8px; }
.osoby-grupa:first-child { margin-top: 4px; } .osoby-grupa small { font-weight: 400; color: var(--muted); font-size: 12px; }
.osoba__miejsce { display: inline-flex !important; align-items: center; gap: 4px; margin-top: 2px; color: var(--muted) !important; font-size: 12px !important; }
.osoba__miejsce svg { width: 12px; height: 12px; }

/* Wiersz „Piszesz jako” + język: jedna wysokość, etykieta w przełączniku, podpowiedź pod spodem */
.wiadomosci-gora { align-items: center; row-gap: 12px; }
.wiadomosci-jezyk { gap: 8px; align-items: center; }
.wiadomosci-jezyk .przelacznik { margin: 0; align-items: center; height: 40px; box-sizing: border-box; }
.wiadomosci-jezyk .opiekun-wybor { height: 40px; box-sizing: border-box; }
.przelacznik__etykieta { padding: 0 6px 0 10px; font-size: 12px; font-weight: 600; color: var(--muted); }
.jezyk-wiad__skad { flex-basis: 100%; display: flex; align-items: flex-start; gap: 6px; margin: 0; font-size: 12px; line-height: 1.45; color: var(--muted); }
.jezyk-wiad__skad svg { width: 14px; height: 14px; flex: none; margin-top: 1px; }
@media (max-width: 560px) { .wiadomosci-jezyk .przelacznik { height: auto; flex-wrap: wrap; border-radius: 16px; } }
.jezyk-wiad.przelacznik { display: inline-flex; flex-wrap: nowrap; gap: 2px; }
.jezyk-wiad.przelacznik button { padding: 6px 12px; }
@media (max-width: 560px) { .jezyk-wiad.przelacznik { flex-wrap: wrap; } }
@media (max-width: 560px) {
  .wiadomosci-jezyk { width: 100%; }
  .wiadomosci-jezyk .przelacznik, .wiadomosci-jezyk .opiekun-wybor { width: 100%; height: 40px; border-radius: 999px; }
  .jezyk-wiad.przelacznik { flex-wrap: nowrap; }
  .jezyk-wiad.przelacznik button { flex: 1; padding: 6px 2px; font-size: 12.5px; }
  .przelacznik__etykieta { padding: 0 2px 0 8px; }
  .wiadomosci-jezyk .przelacznik:not(.jezyk-wiad) button { flex: 1; }
}

/* Awatary osób z zespołu: jasny odcień koloru osoby, inicjały w ciemnym tonie tego samego koloru, delikatny obrys */
.awatar-eksperta { background: color-mix(in srgb, var(--k, #FF7A45) 22%, #FFFFFF); color: color-mix(in srgb, var(--k, #FF7A45) 50%, #1B2130);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--k, #FF7A45) 45%, transparent); font-weight: 700; letter-spacing: .02em; text-transform: uppercase; }
.awatar-eksperta--maly { width: 24px; height: 24px; font-size: 9.5px; }
.lchip .awatar-eksperta--maly { width: 24px; height: 24px; font-size: 9.5px; }
.awatar-eksperta { background: color-mix(in srgb, var(--k, #FF7A45) 26%, #FFFFFF); color: color-mix(in srgb, var(--k, #FF7A45) 42%, #161B27); }
.pd-autor { gap: 8px; font-size: 13px; color: var(--text-2); } .pd-autor .awatar-eksperta { width: 24px; height: 24px; font-size: 9.5px; }

/* Osoby: filtr działów i „Pokaż wszystkie” */
.dzialy-osob { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 14px; }
.dzialy-osob .filtr { padding: 6px 12px; font-size: 13px; }
.dzialy-osob .filtr small { margin-left: 4px; color: var(--muted); font-size: 12px; }
.dzialy-osob .filtr[aria-pressed="true"] small { color: inherit; opacity: .8; }
.osoba-wrap[hidden], .osoby-grupa[hidden] { display: none !important; }
.osoba-wrap + .osoba-wrap { margin-top: 12px; }
.osoby-wiecej { margin-top: 12px; }
.osoby-wiecej.odwrocona svg { transform: rotate(180deg); }
.pf .osoba-wrap + .osoba-wrap { margin-top: 12px; }
.dzial-chip { display: inline-flex; align-items: center; gap: 6px; height: 32px; padding: 0 12px; border-radius: 999px; border: 1px solid var(--line-2); background: var(--panel); color: var(--text-2); font: 500 13px/1 var(--f-body); cursor: pointer; transition: background .15s, border-color .15s, color .15s; }
.dzial-chip small { font-size: 12px; color: var(--muted); font-variant-numeric: tabular-nums; }
.dzial-chip:hover { border-color: var(--text-2); color: var(--text); }
.dzial-chip[aria-pressed="true"] { background: var(--text); border-color: var(--text); color: var(--panel); }
.dzial-chip[aria-pressed="true"] small { color: inherit; opacity: .7; }
.dzial-chip:focus-visible { outline: 2px solid rgba(44, 104, 216, .45); outline-offset: 2px; }

/* Twój rynek: cały wiersz klikalny, skróty z rozwinięciem */
.rynek__lista > li { list-style: none; }
.rynek__wiersz { width: 100%; box-sizing: border-box; border: 1px solid transparent; background: transparent; font: inherit; color: inherit; text-align: left; }
.rynek__wiersz:not(.rynek__wiersz--klik):hover { background: transparent; }
.rynek__wiersz--klik { cursor: pointer; transition: background .15s, border-color .15s; }
.rynek__wiersz--klik:hover { background: var(--panel-2); border-color: var(--line); }
.rynek__wiersz--klik:focus-visible { outline: 2px solid rgba(44, 104, 216, .45); outline-offset: 1px; }
.rynek__akcja { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 600; color: var(--niebo-gl); white-space: nowrap; }
.rynek__akcja svg { width: 14px; height: 14px; transition: transform .15s; }
.rynek__wiersz--klik:hover .rynek__akcja svg { transform: translateX(3px); }
.rynek__skrot { display: inline-block; margin-left: 6px; padding: 2px 6px; border-radius: 6px; background: var(--panel-3); color: var(--text-2); font: 600 10.5px/1.3 var(--f-mono, inherit); letter-spacing: .04em; text-decoration: none; vertical-align: 1px; cursor: help; }
.rynek__wiersz small.rynek__rozwiniecie { color: var(--text-2); margin: 2px 0 1px; }
.rynek__licz { white-space: nowrap; }
@media (max-width: 520px) { .rynek__akcja, .rynek__licz { margin-top: 4px; } }
.rynek__wiersz .rynek__kropka { align-self: start; margin-top: 4px; }
/* Stałe kolumny: liczby w jednej linii pionowej, akcje w drugiej */
.rynek__wiersz { grid-template-columns: 12px minmax(0, 1fr) 112px 210px; column-gap: 16px; }
.rynek__liczba { justify-self: end; text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.rynek__wiersz > :last-child { justify-self: start; }
.rynek__akcja--gotowe { color: var(--mint-2); font-weight: 500; } .rynek__akcja--gotowe svg { width: 14px; height: 14px; }
.rynek__akcja--brak { color: var(--muted); font-weight: 500; }
@media (max-width: 760px) { .rynek__wiersz { grid-template-columns: 12px minmax(0, 1fr) auto; } .rynek__wiersz > :last-child { grid-column: 2 / -1; } }
.rynek__akcja--link { border: 0; background: none; padding: 0; cursor: pointer; font: inherit; font-size: 13px; font-weight: 600; } .rynek__akcja--link:hover { text-decoration: underline; }

/* Wiedza o ofercie */
.wiedza { display: grid; gap: 16px; }
.wiedza__glowa { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; }
.wiedza__glowa .opis-sekcji { max-width: 68ch; margin-bottom: 0; }
.wiedza__dodaj { display: grid; gap: 12px; padding: 16px; border-radius: var(--r, 14px); background: var(--panel-2); border: 1px solid var(--line); }
.wiedza__link { display: flex; gap: 8px; align-items: flex-end; flex-wrap: wrap; }
.wiedza__link .pole { flex: 1 1 280px; margin: 0; }
.wiedza__inne { display: flex; gap: 8px; flex-wrap: wrap; align-items: flex-start; }
.wiedza__plik { cursor: pointer; } .wiedza__plik.wylaczony { opacity: .5; pointer-events: none; }
.wiedza__tekst { flex: 1 1 100%; } .wiedza__tekst summary { list-style: none; display: inline-flex; } .wiedza__tekst summary::-webkit-details-marker { display: none; }
.wiedza__tekst[open] summary { margin-bottom: 10px; } .wiedza__tekst .formularz { display: grid; gap: 8px; }
.wiedza__inne > .wiedza__plik, .wiedza__inne > .wiedza__tekst:not([open]) { flex: 0 0 auto; }
.wiedza__zrodla { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.wiedza__zrodlo { display: grid; grid-template-columns: 36px minmax(0, 1fr) auto; gap: 12px; align-items: start; padding: 12px; border: 1px solid var(--line); border-radius: var(--r, 14px); background: var(--panel); }
.wiedza__ikona { width: 36px; height: 36px; border-radius: 10px; display: grid; place-items: center; background: var(--panel-3); color: var(--text-2); } .wiedza__ikona svg { width: 18px; height: 18px; }
.wiedza__opis b { display: block; font-weight: 600; font-size: 14px; overflow-wrap: anywhere; } .wiedza__opis b a { color: inherit; text-decoration: none; } .wiedza__opis b a:hover { text-decoration: underline; }
.wiedza__opis b svg { width: 12px; height: 12px; vertical-align: -1px; }
.wiedza__opis small { display: block; color: var(--muted); font-size: 12.5px; margin-top: 2px; }
.wiedza__notatki { margin-top: 8px; } .wiedza__notatki summary { cursor: pointer; font-size: 13px; color: var(--text-2); }
.wiedza__pre { white-space: pre-wrap; font-size: 13px; line-height: 1.55; color: var(--text-2); margin-top: 8px; }
.wiedza__pusto { color: var(--muted); font-size: 14px; margin: 0; }
.wiedza__sciaga { padding: 16px; border-radius: var(--r, 14px); border: 1px solid var(--line); background: linear-gradient(180deg, var(--panel-2), var(--panel)); }
.wiedza__sciaga-glowa { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; } .wiedza__sciaga h3 { margin: 0; font-size: 15px; } .wiedza__sciaga-glowa small { color: var(--muted); font-size: 12px; }
.wiedza__sciaga .wiedza__pre { max-height: 420px; overflow-y: auto; color: var(--text); }
.wiedza__uzupelnienia { display: grid; gap: 6px; } .wiedza__uzupelnienia .pole { margin: 0; }
@media (max-width: 560px) { .wiedza__zrodlo { grid-template-columns: 32px minmax(0, 1fr); } .wiedza__zrodlo .osoba__usun { grid-column: 2; justify-self: start; } .wiedza__link .przycisk { width: 100%; } }
.wiedza__pre { white-space: normal; }
.wiedza__pre h4 { margin: 14px 0 4px; font: 600 13px/1.3 var(--f-body); color: var(--text); text-transform: none; }
.wiedza__pre h4:first-child { margin-top: 0; }
.wiedza__pre ul { margin: 0; padding-left: 18px; } .wiedza__pre li { margin: 2px 0; } .wiedza__pre li.pod { margin-left: 16px; list-style: circle; }
.wiedza__pre p { margin: 4px 0; }

/* Menu projektu pod nazwą aplikacji: ustawienia i wiedza o ofercie w dwóch kliknięciach */
.pn__marka > span, .logo > span { display: flex; flex-direction: column; align-items: flex-start; min-width: 0; }
.pn__logo, .logo > a { display: flex; flex: none; }
.pn__nazwa, .logo__nazwa { color: inherit; text-decoration: none; }
.menu-projektu { position: relative; min-width: 0; max-width: 100%; }
.menu-projektu summary { list-style: none; display: inline-flex !important; align-items: center; gap: 4px; max-width: 100%; margin: 1px -6px 0; padding: 1px 6px; border-radius: 8px; cursor: pointer; font-size: 13px; line-height: 1.3; color: var(--muted); transition: background .15s, color .15s; }
.menu-projektu summary::-webkit-details-marker { display: none; }
.menu-projektu summary > span { display: block !important; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; }
.menu-projektu summary svg { width: 13px; height: 13px; flex: none; transition: transform .15s; }
.menu-projektu summary:hover, .menu-projektu[open] summary { background: var(--panel-3); color: var(--text); }
.menu-projektu[open] summary svg { transform: rotate(180deg); }
.menu-projektu__lista { position: absolute; top: calc(100% + 8px); left: -6px; z-index: 80; min-width: 240px; display: grid !important; padding: 6px; border-radius: 14px; background: var(--panel); border: 1px solid var(--line); box-shadow: var(--g3, 0 12px 32px rgba(20, 30, 50, .16)); }
.menu-projektu__lista a { display: flex; align-items: center; gap: 10px; padding: 9px 10px; border-radius: 9px; color: var(--text); text-decoration: none; font-size: 14px; }
.menu-projektu__lista a:hover, .menu-projektu__lista a:focus-visible { background: var(--panel-2); }
.menu-projektu__lista a svg { width: 16px; height: 16px; color: var(--text-2); }
.menu-projektu__lista .menu-projektu__inne { margin-top: 4px; border-top: 1px solid var(--line); border-radius: 0 0 9px 9px; padding-top: 11px; color: var(--text-2); font-size: 13px; }
@media (max-width: 760px) { .menu-projektu summary { max-width: 52vw; } }

/* Kreator: krok „Materiały” */
.kreator-materialy { display: grid; gap: 14px; }
.kreator-materialy__strona { display: flex; gap: 10px; align-items: flex-start; padding: 12px 14px; border-radius: 12px; background: var(--mint-soft, #E2F6EF); color: var(--text); font-size: 14px; }
.kreator-materialy__strona svg { width: 18px; height: 18px; flex: none; color: var(--mint-2); margin-top: 1px; }
.kreator-materialy__pliki { display: grid; gap: 8px; justify-items: start; }
.kreator-materialy__pliki ul { list-style: none; margin: 0; padding: 0; display: grid; gap: 6px; width: 100%; }
.kreator-materialy__pliki li { display: grid; grid-template-columns: 16px minmax(0, 1fr) auto auto; gap: 8px; align-items: center; padding: 8px 10px; border: 1px solid var(--line); border-radius: 10px; font-size: 14px; }
.kreator-materialy__pliki li > span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } .kreator-materialy__pliki li small { color: var(--muted); }
.kreator-materialy__pliki li svg { width: 16px; height: 16px; }
.kreator__prawa { display: inline-flex; gap: 8px; align-items: center; flex-wrap: wrap; justify-content: flex-end; }
#wiedza.podswietlona { animation: podswietl-wiedze 1.6s ease-out; }
@keyframes podswietl-wiedze { 0% { box-shadow: 0 0 0 3px rgba(44, 104, 216, .45); } 100% { box-shadow: 0 0 0 0 rgba(44, 104, 216, 0); } }
.wiedza__swoja { justify-self: start; }
/* Pełna nazwa projektu na szerokim ekranie; skrót dopiero, gdy naprawdę brakuje miejsca */
@media (min-width: 761px) { .menu-projektu { max-width: none; } .menu-projektu summary { max-width: min(420px, 30vw); } .menu-projektu summary > span { flex: 0 1 auto; } }
/* Wiedza: rząd przycisków stały, formularz tekstu pod nim */
.wiedza__inne { flex-wrap: wrap; }
.wiedza__tekst { flex: none; display: grid; gap: 10px; padding-top: 4px; }
.wiedza__tekst[hidden] { display: none; }
.wiedza__tekst .pole { margin: 0; }
.wiedza__tekst-akcje { display: flex; gap: 8px; flex-wrap: wrap; }
.plusminus--otwarty::after { transform: rotate(180deg); opacity: 0; }
/* Menu projektu z zębatką, menu konta ze strzałką: widać, że się rozwijają */
.menu-projektu summary > svg:first-child { width: 14px; height: 14px; color: var(--text-2); }
.menu-projektu__kto { padding: 8px 10px 10px; display: grid; gap: 2px; border-bottom: 1px solid var(--line); margin-bottom: 4px; }
.menu-projektu__kto small { font-size: 11px; letter-spacing: .04em; text-transform: uppercase; color: var(--muted); } .menu-projektu__kto b { font-size: 14px; font-weight: 600; color: var(--text); }
.menu-projektu__lista .menu-osoby__tokeny { margin: 0 0 4px; }
.menu-osoby summary { display: inline-flex; align-items: center; gap: 4px; }
.menu-osoby summary > svg { width: 14px; height: 14px; color: var(--muted); transition: transform .15s; }
.menu-osoby[open] summary > svg { transform: rotate(180deg); }
.menu-osoby__lista a, .menu-osoby__lista button { display: flex; align-items: center; gap: 10px; }
.menu-osoby__lista a svg, .menu-osoby__lista button svg { width: 16px; height: 16px; color: var(--text-2); flex: none; }

/* Poszerzanie radaru i skan sygnałów */
.rynek__akcje { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; align-items: center; }
.rynek-praca { display: grid; gap: 6px; margin: 4px 0 12px; }
.rynek-praca:empty { display: none; }
.rynek-praca__wiersz { display: flex; gap: 8px; align-items: flex-start; font-size: 13px; color: var(--text-2); line-height: 1.45; }
.rynek-praca__wiersz > svg { width: 15px; height: 15px; flex: none; margin-top: 2px; color: var(--mint-2); }
.rynek-praca__wiersz--trwa { padding: 10px 12px; border-radius: 12px; background: var(--panel-2); border: 1px solid var(--line); color: var(--text); }
.rynek-praca__wiersz--trwa .szukaj-osob__kolo { flex: none; margin-top: 2px; }
.rynek-praca__wiersz--blad > svg { color: var(--ember-2); }
.link-przycisk { border: 0; background: none; padding: 0; font: inherit; font-weight: 600; color: var(--niebo-gl); cursor: pointer; }
.link-przycisk:hover { text-decoration: underline; }
.znacznik--nowy { margin-left: 6px; background: var(--mint-soft, #E2F6EF); color: #1F7A5E; border-color: transparent; font-weight: 600; font-size: 11px; vertical-align: 1px; }
@media (max-width: 560px) { .rynek__akcje { justify-content: flex-start; } }

/* Tarcza rynku: wejście pierścieni od zewnątrz, kropki firm, wiązka radaru, wspólne podświetlenie z listą */
.rynek__pierscienie { overflow: visible; }
.rynek__krag { transform-box: fill-box; transform-origin: center; transition: opacity .25s, stroke .25s, filter .25s; stroke: transparent; stroke-width: 1.5; }
.rynek__krag[data-rynek-filtr] { cursor: pointer; }
.rynek__krag:focus-visible { outline: none; stroke: var(--niebo-gl); }
.rynek--wskazana .rynek__krag:not(.rynek--aktywna) { opacity: .45; }
.rynek__krag.rynek--aktywna { stroke: rgba(44, 104, 216, .7); filter: drop-shadow(0 0 6px rgba(79, 141, 247, .35)); }
.rynek__krag--teraz.rynek--aktywna { stroke: #fff; filter: drop-shadow(0 0 8px rgba(240, 101, 82, .55)); }
.rynek__wiersz.rynek--aktywna { background: var(--panel-2); border-color: var(--line); }
.rynek__siatka line { stroke: rgba(79, 141, 247, .14); stroke-width: .6; }
.rynek__wiazka { transform-origin: 0 0; animation: rynek-omiot 7s linear infinite; pointer-events: none; }
.rynek__wiazka line { stroke: rgba(79, 141, 247, .5); stroke-width: .8; }
.rynek__firmy { pointer-events: none; }
.rynek__firma { fill: rgba(44, 104, 216, .55); }
.rynek__firma--sygnal { fill: rgba(208, 72, 54, .7); }
.rynek__firma--teraz { fill: #fff; }
.rynek__firma--nowa { animation: rynek-puls 2.4s ease-in-out infinite; transform-box: fill-box; transform-origin: center; }
@keyframes rynek-omiot { to { transform: rotate(360deg); } }
@keyframes rynek-puls { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .55; transform: scale(1.9); } }
/* Wejście: pierścienie po kolei od zewnątrz (bez nachodzenia), potem kropki, na końcu rusza wiązka */
.rynek__pierscienie--wejscie .rynek__krag { animation: rynek-krag .55s cubic-bezier(.2, .8, .2, 1) both; animation-delay: calc(var(--i) * .18s); }
.rynek__pierscienie--wejscie .rynek__firma { animation: rynek-kropka .4s ease-out both; animation-delay: var(--d); }
.rynek__pierscienie--wejscie .rynek__firma--nowa { animation: rynek-kropka .4s ease-out both, rynek-puls 2.4s ease-in-out 1.8s infinite; animation-delay: var(--d), calc(var(--d) + .5s); }
.rynek__pierscienie--wejscie .rynek__wiazka { animation: rynek-wiazka-wejscie .6s ease-out 1.6s both, rynek-omiot 7s linear 1.6s infinite; }
@keyframes rynek-krag { from { transform: scale(.2); opacity: 0; } to { transform: scale(1); opacity: 1; } }
@keyframes rynek-kropka { from { opacity: 0; } to { opacity: 1; } }
@keyframes rynek-wiazka-wejscie { from { opacity: 0; } to { opacity: 1; } }
@media (prefers-reduced-motion: reduce) { .rynek__wiazka, .rynek__firma--nowa, .rynek__pierscienie--wejscie .rynek__krag, .rynek__pierscienie--wejscie .rynek__firma, .rynek__pierscienie--wejscie .rynek__wiazka { animation: none !important; } }
.rynek__siatka { pointer-events: none; }
.rynek__pierscienie--wejscie:not(.rynek__pierscienie--start) .rynek__krag, .rynek__pierscienie--wejscie:not(.rynek__pierscienie--start) .rynek__firma, .rynek__pierscienie--wejscie:not(.rynek__pierscienie--start) .rynek__wiazka { animation-play-state: paused; }

/* Data przy sygnale (publikacja oferty lub wiadomości, sprawdzenie strony) */
.sygnal__data { color: var(--muted); font-size: 12px; white-space: nowrap; }

/* Ekran błędu startu: brak sieci albo awaria serwera, z ponowieniem */
.blad-startu { max-width: 560px; margin: 64px auto; text-align: center; }
.blad-startu h1 { font-size: 24px; margin: 0 0 8px; }
.blad-startu p { color: var(--muted); margin: 0 0 24px; }
.blad-startu__szczegol { font-size: 13px; }

/* Trwały błąd pracy AI w sekcji wiadomości, z ponowieniem */
.blad-ai { display: flex; gap: 12px; align-items: flex-start; padding: 16px; margin: 0 0 16px; border-radius: 12px; background: rgba(217, 72, 56, .06); border: 1px solid rgba(217, 72, 56, .25); }
.blad-ai > svg { flex: none; margin-top: 2px; }
.blad-ai > div { flex: 1; min-width: 0; }
.blad-ai p { margin: 4px 0 0; font-size: 14px; color: var(--text-2); }
@media (max-width: 600px) { .blad-ai { flex-wrap: wrap; } .blad-ai .przycisk { width: 100%; } }

/* Ekran logowania: wejście dla osób bez konta (demo i prośba o dostęp) */
.logowanie__nowy { margin-top: 24px; padding-top: 24px; border-top: 1px solid var(--line-2); text-align: left; }
.logowanie__nowy > p { margin: 0 0 16px; font-size: 14px; color: var(--muted); text-align: center; }
.logowanie__akcje { display: flex; gap: 8px; justify-content: center; flex-wrap: wrap; }
.logowanie__akcje .przycisk { min-height: 44px; }
.dostep { margin-top: 16px; border-radius: 12px; }
.dostep__pulapka { position: absolute; left: -10000px; width: 1px; height: 1px; overflow: hidden; }
.dostep .zgoda { display: flex; gap: 8px; align-items: flex-start; font-size: 12px; line-height: 1.5; color: var(--muted); margin: 8px 0 16px; text-align: left; }
.dostep .zgoda input { margin-top: 2px; flex: none; width: 18px; height: 18px; }
.dostep--wyslano { display: flex; gap: 12px; align-items: flex-start; padding: 16px; background: rgba(41, 168, 130, .08); border: 1px solid rgba(41, 168, 130, .3); }
.dostep--wyslano p { margin: 0; font-size: 14px; }
.demo-pasek button { padding: 6px 12px; border-radius: 999px; background: var(--ember); color: var(--text); font: 600 13px/1.4 inherit; border: 0; cursor: pointer; white-space: nowrap; min-height: 32px; }
.okno-dostepu { width: min(480px, calc(100vw - 32px)); max-height: calc(100vh - 32px); border: 0; border-radius: 16px; padding: 32px 24px 24px; box-shadow: 0 24px 64px rgba(30, 36, 48, .25); }
.okno-dostepu::backdrop { background: rgba(30, 36, 48, .45); }
.okno-dostepu h2 { margin: 0 0 8px; font-size: 22px; }
.okno-dostepu > p { margin: 0 0 8px; color: var(--muted); font-size: 14px; }
.okno-dostepu__zamknij { position: absolute; top: 12px; right: 12px; width: 44px; height: 44px; display: grid; place-items: center; border: 0; background: none; cursor: pointer; border-radius: 10px; }
.okno-dostepu__zamknij:hover { background: rgba(30, 36, 48, .06); }
/* Zadanie po terminie w Dziś */
.znacznik--zalegle { display: inline-flex; align-items: center; gap: 4px; color: #9A3B10; background: rgba(242, 184, 74, .18); }
.znacznik--zalegle svg { width: 12px; height: 12px; }

/* ---------- Dostępność i drobne poprawki z audytu wizualnego (17.10.2026, docs/audyt/ustalenia-wizualne.md) ---------- */
/* Odnośnik „Przejdź do treści”: niewidoczny, dopóki nie dostanie fokusu z klawiatury. */
.pomin { position: absolute; left: 16px; top: -64px; z-index: 100; padding: 12px 16px; border-radius: 10px; background: var(--text); color: #fff; font-weight: 600; text-decoration: none; transition: top .15s; }
.pomin:focus { top: 16px; }
main:focus { outline: none; }
/* Fokus i przewinięcia nie lądują pod przyklejonym paskiem (WCAG 2.4.11). Poziome przewijanie strony wyłączone na wszelki wypadek. */
html { scroll-padding-top: 96px; }
/* Bez overflow na html i #app: na html wyłącza position: sticky, a na kontenerze przyklejonego paska Chrome rysuje go
   wolniejszą ścieżką i pasek drży przy przewijaniu. Poziome przewijanie usuwają poprawki samych elementów (etykiety dysku). */
@media (max-width: 760px) { html { scroll-padding-top: 72px; scroll-padding-bottom: 88px; } }
/* Górny pasek 761–1000 px: kolumny boczne mogą się zwęzić, zakładki nie wchodzą na nazwę projektu. */
.pn__wnetrze { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); }
.pn__marka > span, .pn__marka > div { min-width: 0; }
@media (min-width: 761px) and (max-width: 1000px) { .pn__zakladki a { padding: 8px 12px; } .pn__wnetrze { gap: 12px; }
  .menu-projektu, .menu-projektu summary { max-width: 100%; } }
@media (max-width: 760px) { .pn__wnetrze { grid-template-columns: minmax(0, 1fr) auto; } }
/* Etykiety segmentów dysku łamią się zamiast wychodzić poza ekran. */
@media (max-width: 1180px) { .dysk__sektor { max-width: 14ch; white-space: normal; text-align: center; line-height: 1.25; } }
/* Komunikat na telefonie nad dolnymi zakładkami. */
@media (max-width: 760px) { #komunikat { bottom: calc(80px + env(safe-area-inset-bottom)); max-width: calc(100% - 32px); } }
/* Listy wyboru: widoczny fokus opcji i pola opiekuna. */
.lw__opcja:focus-visible { background: var(--niebo-soft); box-shadow: inset 0 0 0 2px var(--niebo-gl); }
.opiekun-wybor .lw { min-height: 28px; padding: 2px 6px; }
.opiekun-wybor .lw:focus-visible { box-shadow: 0 0 0 2px var(--niebo-gl); }
/* Cele dotyku: min. 24 px wszędzie (WCAG 2.5.8), 44 px dla przycisków przy dotyku. */
.pk-mat .mat__check { width: 24px; height: 24px; top: 10px; right: 9px; z-index: 1; }
.pk-mat__gora { padding-right: 34px; }
.mat__check::before { content: ""; position: absolute; inset: -6px; border-radius: 50%; }
.tipy__kropki { gap: 0; }
.tipy__kropka { width: 24px; height: 24px; }
.tipy__kropka[aria-selected="true"] { width: 32px; }
@media (pointer: coarse) {
  .przycisk { min-height: 44px; }
  .przycisk--maly, .przycisk--cichy { min-height: 36px; }
  .link-przycisk, .rynek__akcja--link { padding: 12px 0; margin: -12px 0; }
  .menu-projektu summary, .menu-osoby summary { min-height: 32px; }
  summary { min-height: 24px; }
}
/* Link zewnętrzny: ta sama ikona wszędzie. */
.zewn-ik { display: inline-flex; margin-left: 3px; vertical-align: -.1em; }
.zewn-ik svg { width: .9em; height: .9em; }
/* Główny przycisk na koralowym tle po dodaniu firmy: ciemny tekst (6.2:1). */
.po-dodaniu .przycisk--glowny { color: var(--text); }
/* Licznik w aktywnej zakładce na koralu. */
.rl-zakladki button[aria-selected="true"] span, .zakladki-kampanii button[aria-selected="true"] span { background: rgba(30, 36, 48, .12); color: var(--text); }

/* ---------- Strategia: materiały na torach w stylu szkła (Liquid Glass) ----------
   Lekka tafla z rozmyciem i świetlistą krawędzią zamiast ciężkiej ramki z grubym paskiem. Kolor filaru to cienka,
   świecąca kreska po lewej i delikatny odblask; zaznaczenie to poświata w kolorze filaru, reszta łagodnie przygasa. */
.tory-ramka { background:
  radial-gradient(900px 420px at 12% 0%, rgba(79, 141, 247, .07), transparent 60%),
  radial-gradient(700px 380px at 88% 100%, rgba(76, 201, 164, .06), transparent 60%),
  radial-gradient(600px 300px at 60% 40%, rgba(255, 125, 107, .045), transparent 65%); border-radius: var(--r-l); }
.tory__komorka { gap: 14px; }
.lchip { position: relative; grid-template-columns: auto 1fr; gap: 6px 10px; padding: 12px 14px 12px 16px; border-radius: 16px; overflow: hidden;
  background: linear-gradient(180deg, rgba(255, 255, 255, .78), rgba(255, 255, 255, .52));
  -webkit-backdrop-filter: blur(18px) saturate(170%); backdrop-filter: blur(18px) saturate(170%);
  border: 1px solid rgba(255, 255, 255, .85); border-left-width: 1px;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .95), inset 0 0 0 .5px rgba(30, 36, 48, .06), 0 1px 2px rgba(30, 36, 48, .04), 0 10px 28px -14px rgba(30, 36, 48, .22);
  transition: transform .35s cubic-bezier(.2, .8, .2, 1), box-shadow .35s cubic-bezier(.2, .8, .2, 1), opacity .3s, filter .3s, background .3s; }
/* świecąca kreska filaru i miękki odblask koloru w rogu */
.lchip::before { content: ""; position: absolute; left: 6px; top: 14px; bottom: 14px; width: 2px; border-radius: 2px; background: var(--k); box-shadow: 0 0 10px color-mix(in srgb, var(--k) 60%, transparent); opacity: .85; }
.lchip::after { content: ""; position: absolute; inset: 0; border-radius: inherit; pointer-events: none;
  background: radial-gradient(160px 80px at 0% 0%, color-mix(in srgb, var(--k) 10%, transparent), transparent 70%); }
.lchip > * { position: relative; z-index: 1; }
.lchip:hover { border-color: rgba(255, 255, 255, .95); transform: translateY(-2px);
  box-shadow: inset 0 1px 0 #fff, inset 0 0 0 .5px rgba(30, 36, 48, .07), 0 2px 4px rgba(30, 36, 48, .04), 0 18px 36px -16px rgba(30, 36, 48, .28); }
.lchip:focus-visible { outline: 2px solid color-mix(in srgb, var(--k) 70%, var(--text)); outline-offset: 3px; }
.lchip__nr { grid-row: 1; grid-column: 1; font: 500 10.5px/20px var(--f-mono); color: var(--muted); letter-spacing: .02em; opacity: .8; }
.lchip .ikona-typu, .lchip .awatar-eksperta--maly { display: none; }
.lchip__tekst { grid-column: 2; gap: 6px; }
.lchip__tekst b { font-size: 13px; font-weight: 500; line-height: 1.4; letter-spacing: -.005em; color: var(--text); }
.lchip__tekst small { font-size: 11px; color: var(--muted); letter-spacing: .01em; }
/* zaznaczony materiał i jego łańcuch */
.logika--wybor .lchip:not(.lchip--wybrany):not(.lchip--lancuch) { opacity: .42; filter: saturate(.5); transform: scale(.985); box-shadow: inset 0 1px 0 rgba(255, 255, 255, .8), 0 1px 2px rgba(30, 36, 48, .03); }
.logika--wybor .lchip:not(.lchip--wybrany):not(.lchip--lancuch) > * { opacity: 1; }
.lchip--lancuch, .lchip--lancuch:hover { background: linear-gradient(180deg, rgba(255, 255, 255, .86), color-mix(in srgb, var(--k) 5%, rgba(255, 255, 255, .62)));
  box-shadow: inset 0 1px 0 #fff, 0 0 0 1px color-mix(in srgb, var(--k) 22%, transparent), 0 12px 30px -16px color-mix(in srgb, var(--k) 40%, rgba(30, 36, 48, .25)); }
.lchip--wybrany, .lchip--wybrany:hover { transform: translateY(-2px); background: linear-gradient(180deg, rgba(255, 255, 255, .92), color-mix(in srgb, var(--k) 9%, rgba(255, 255, 255, .7)));
  border-color: #fff;
  box-shadow: inset 0 1px 0 #fff, 0 0 0 1.5px color-mix(in srgb, var(--k) 65%, transparent), 0 0 0 6px color-mix(in srgb, var(--k) 12%, transparent), 0 22px 44px -18px color-mix(in srgb, var(--k) 60%, rgba(30, 36, 48, .3)); }
.lchip--wybrany::before { opacity: 1; width: 2.5px; }
.lchip--wybrany .lchip__nr { color: color-mix(in srgb, var(--k) 70%, var(--text)); opacity: 1; }
/* linie łańcucha: cienkie i lekkie; aktywny łańcuch w kolorze, reszta ledwie widoczna */
.tory__linie path { opacity: .4; }
.tory__linie .linia--lancuch { stroke: var(--muted); stroke-dasharray: 2 5; stroke-width: 1.4; opacity: .55 !important; }
.tory__linie .linia--aktywna { stroke: var(--ember); stroke-width: 1.75; opacity: .9 !important; filter: drop-shadow(0 0 4px rgba(255, 125, 107, .45)); }
.tory__linie .grot { fill: var(--muted); opacity: .6; }
@media (prefers-reduced-motion: reduce) { .lchip, .lchip:hover, .lchip--wybrany { transition: none; transform: none; } }
@supports not (backdrop-filter: blur(1px)) { .lchip { background: rgba(255, 255, 255, .92); } }

/* ---------- Stabilne najechanie ----------
   Elementy w listach i siatkach nie zmieniają położenia przy najechaniu: przesuwanie myszy po siatce podnosiło jedną
   kartę i opuszczało poprzednią naraz, więc całość falowała. Reakcja to cień, tło i krawędź, bez ruchu. */
.karta:hover, .tt-mat:hover, .wezel:hover, .mat:hover, .kp-dzis__lista a:hover, .kp-dni a:hover, .pd-karta-dnia:hover,
.filar-k:hover, .fb-karta:hover, .fb-odlozone__grupa li a:hover, a.przyrzad:hover, a.admin__liczba-link:hover,
.ten-tydzien__dzis:hover, .lchip:hover, .lchip--wybrany, .lchip--wybrany:hover { transform: none; }
.pd-zadanie:not(.pd-zadanie--aktywne):hover { transform: translateZ(-30px) scale(.985); }
.logika--wybor .lchip:not(.lchip--wybrany):not(.lchip--lancuch) { transform: none; }
.karta, .mat, .kp-dzis__lista a, .lchip { transition-property: background, border-color, box-shadow, opacity, filter; }
