/* weSEQ.IT Panel - rozszerzenie apple-minimal o brand i komponenty pulpitu.
   Spójne z innymi aplikacjami weSEQ.IT (faktury, odbiory).
*/

/* === Tokens + SKÓRKI (motywy) ===
   Domyślny motyw = SLATE (w :root, dopracowany najmocniej). Pozostałe 5 motywów
   przez :root[data-theme="..."] (ustawiane w base.html z ciasteczka weseq_theme).
   Każdy motyw to zestaw zmiennych: kolory treści + osobno kolory sidebara
   (--weseq-side-*), dzięki czemu motyw może mieć ciemny sidebar na jasnej treści. */
:root {
  --weseq-font: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Inter", "Segoe UI", system-ui, sans-serif;
  --weseq-font-display: var(--weseq-font);
  --weseq-font-mono: "SF Mono", "JetBrains Mono", ui-monospace, Menlo, Consolas, monospace;
  /* Wyrownanie optyczne czcionki (Inter cv/ss + ligatury; nieszkodliwe dla SF) */
  --weseq-font-features: "cv01", "cv03", "cv04", "cv11", "ss01", "ss03", "calt", "kern";
  /* Skala swiatla miedzyliterowego - ciasniej w naglowkach, luzniej w wersalikach */
  --tracking-tight: -0.022em; --tracking-snug: -0.013em; --tracking-normal: -0.006em;
  --tracking-wide: 0.02em; --tracking-caps: 0.07em;
  /* === SKALA TYPOGRAFII (1 system zamiast 24 rozproszonych rozmiarow) === */
  --text-2xs: 11px; --text-xs: 12px; --text-sm: 13px; --text-base: 14px;
  --text-md: 15px; --text-lg: 16px; --text-xl: 19px; --text-2xl: 22px;
  --text-3xl: 24px; --text-4xl: 28px; --text-5xl: 32px;
  /* === SKALA ODSTEPOW (siatka 4px + polkrok 6) === */
  --space-0-5: 2px; --space-1: 4px; --space-1-5: 6px; --space-2: 8px;
  --space-3: 12px; --space-4: 16px; --space-5: 20px; --space-6: 24px;
  --space-7: 28px; --space-8: 32px; --space-10: 40px; --space-12: 48px;
  /* === SKALA PROMIENI (1 system zamiast 18) === */
  --radius-xs: 6px; --radius-sm: 8px; --radius-md: 11px; --radius-lg: 14px;
  --radius-xl: 18px; --radius-2xl: 24px; --radius-pill: 980px;
  /* --- SLATE (domyślny): korporacyjny, granatowy sidebar + niebieski akcent --- */
  --weseq-bg: #e8ecf2;
  --weseq-surface: #ffffff;
  --weseq-surface-2: #f4f7fb;
  --weseq-text: #1b2532;            /* 1. poziom - tytuly, dane (15:1) */
  --weseq-text-muted: #5b6a7d;      /* 2. poziom - opisy, wtorny */
  --weseq-text-faint: #647281;      /* 3. poziom - meta, podpowiedzi (WCAG AA 4.92:1 na białym) */
  --weseq-border: #dde3ec;
  --weseq-border-strong: #c4cedb;
  --weseq-accent: #2563eb;
  --weseq-accent-2: #3f7bf2;
  --weseq-accent-strong: #1d4ed8;
  --weseq-accent-weak: #eaf1fe;
  --weseq-on-accent: #ffffff;
  --weseq-success: #0f6e44;   /* WCAG AA 5.51:1 na success-weak */
  --weseq-warning: #8a5800;   /* WCAG AA 5.28:1 na warning-weak */
  --weseq-danger: #c42f28;    /* WCAG AA 4.77:1 na danger-weak */
  --weseq-info: #2563eb;
  --weseq-success-weak: #e5f3ec;
  --weseq-warning-weak: #f8efd9;
  --weseq-danger-weak: #fbeae8;
  --weseq-radius: 11px;
  --weseq-radius-sm: 8px;
  /* Cienie wielowarstwowe z granatowym tintem - swiatlo z gory, glebia jak material */
  --weseq-shadow-sm:   0 1px 2px rgba(23,37,66,.06);
  --weseq-shadow:      0 1px 1px rgba(23,37,66,.04), 0 2px 4px rgba(23,37,66,.05), 0 4px 8px rgba(23,37,66,.04);
  --weseq-shadow-elev: 0 2px 4px rgba(23,37,66,.06), 0 10px 20px rgba(23,37,66,.10), 0 20px 40px rgba(23,37,66,.07);
  --weseq-shadow-lg:   0 10px 22px rgba(23,37,66,.12), 0 30px 64px rgba(23,37,66,.22);
  /* Tokeny rzemiosla - auto-adaptuja sie do akcentu kazdej skorki */
  --weseq-highlight: inset 0 1px 0 rgba(255,255,255,.9);
  --weseq-accent-grad: linear-gradient(180deg, var(--weseq-accent-2) 0%, var(--weseq-accent) 100%);
  --weseq-accent-grad-hover: linear-gradient(180deg, var(--weseq-accent) 0%, var(--weseq-accent-strong, color-mix(in srgb, var(--weseq-accent) 82%, #000)) 100%);
  --weseq-accent-glow: 0 1px 2px color-mix(in srgb, var(--weseq-accent) 42%, transparent), 0 8px 20px color-mix(in srgb, var(--weseq-accent) 30%, transparent);
  --weseq-ring: 0 0 0 3px color-mix(in srgb, var(--weseq-accent) 24%, transparent);
  --ease-spring: cubic-bezier(.22, 1, .36, 1);
  --ease-out: cubic-bezier(.2, .7, .2, 1);
  --weseq-side-bg: #1f2a3a;
  --weseq-side-grad: linear-gradient(180deg, #243140 0%, #1b2532 100%);
  --weseq-side-text: #d2dae6;
  --weseq-side-muted: #93a1b4;
  --weseq-side-group: #7a8aa0;
  --weseq-side-border: rgba(255,255,255,.07);
  --weseq-side-active-bg: rgba(59,118,240,.20);
  --weseq-side-active-text: #8fbaff;
  --weseq-side-active-bar: #3b76f0;
  --weseq-side-hover: rgba(255,255,255,.055);
  color-scheme: light;
}

/* --- AURORA: jasny, dopracowany, indygo (jasny sidebar) --- */
:root[data-theme="aurora"] {
  --weseq-bg: #eef0f4; --weseq-surface: #ffffff; --weseq-surface-2: #f7f9fc;
  --weseq-text: #14161a; --weseq-text-muted: #6a7180; --weseq-text-faint: #6d7480;
  --weseq-border: #e7e9ee; --weseq-border-strong: #d6dae1;
  --weseq-accent: #3b5bdb; --weseq-accent-2: #5b7cfa; --weseq-accent-weak: #eef1fe; --weseq-on-accent: #ffffff;
  --weseq-radius: 13px; --weseq-radius-sm: 9px;
  --weseq-shadow-sm: 0 1px 2px rgba(20,30,55,.07);
  --weseq-shadow: 0 1px 1px rgba(20,30,55,.04), 0 2px 4px rgba(20,30,55,.05), 0 4px 8px rgba(20,30,55,.04);
  --weseq-shadow-elev: 0 2px 4px rgba(20,30,55,.06), 0 10px 20px rgba(20,30,55,.09), 0 20px 40px rgba(20,30,55,.06);
  --weseq-shadow-lg: 0 10px 22px rgba(20,30,55,.11), 0 30px 64px rgba(20,30,55,.18);
  --weseq-side-bg: #ffffff; --weseq-side-grad: linear-gradient(180deg,#ffffff,#ffffff);
  --weseq-side-text: #1b1e25; --weseq-side-muted: #9098a6; --weseq-side-group: #aab0bd;
  --weseq-side-border: #edeef2; --weseq-side-active-bg: #eef1fe; --weseq-side-active-text: #3b5bdb;
  --weseq-side-active-bar: #3b5bdb; --weseq-side-hover: #f4f6fa;
}
/* --- MIDNIGHT: ciemny premium, fiolet --- */
:root[data-theme="midnight"] {
  --weseq-bg: #0c0e12; --weseq-surface: #14171d; --weseq-surface-2: #1a1e26;
  --weseq-text: #e7e9ee; --weseq-text-muted: #939aa6; --weseq-text-faint: #99a0ac;
  --weseq-border: #2b3340; --weseq-border-strong: #39414f;
  --weseq-accent: #8d7fff; --weseq-accent-2: #a99dff; --weseq-accent-weak: rgba(141,127,255,.18); --weseq-on-accent: #ffffff;
  --weseq-success: #34d399; --weseq-warning: #fbbf24; --weseq-danger: #f87171;
  --weseq-success-weak: rgba(52,211,153,.20); --weseq-warning-weak: rgba(251,191,36,.20); --weseq-danger-weak: rgba(248,113,113,.20);
  --weseq-radius: 12px;
  --weseq-shadow-sm: 0 1px 2px rgba(0,0,0,.45);
  --weseq-shadow: 0 1px 2px rgba(0,0,0,.3), 0 2px 5px rgba(0,0,0,.35), 0 6px 14px rgba(0,0,0,.3);
  --weseq-shadow-elev: 0 2px 6px rgba(0,0,0,.4), 0 12px 28px rgba(0,0,0,.5), 0 24px 50px rgba(0,0,0,.45);
  --weseq-shadow-lg: 0 16px 40px rgba(0,0,0,.55), 0 40px 80px rgba(0,0,0,.6);
  --weseq-side-bg: #0e1116; --weseq-side-grad: linear-gradient(180deg,#11141a,#0c0e12);
  --weseq-side-text: #e7e9ee; --weseq-side-muted: #767d88; --weseq-side-group: #5b626d;
  --weseq-side-border: #1c212b; --weseq-side-active-bg: rgba(141,127,255,.18); --weseq-side-active-text: #c4bcff;
  --weseq-side-active-bar: #8d7fff; --weseq-side-hover: rgba(255,255,255,.05);
  --weseq-highlight: inset 0 1px 0 rgba(255,255,255,.055);
  --weseq-border-strong: #353c49;
  color-scheme: dark;
}
/* --- HELIX: marka weSEQ.IT, granat + mięta --- */
:root[data-theme="helix"] {
  --weseq-bg: #eaf2f1; --weseq-surface: #ffffff; --weseq-surface-2: #f3faf8;
  --weseq-text: #0c1c2a; --weseq-text-muted: #566b78; --weseq-text-faint: #5f7180;
  --weseq-border: #dbe8e6; --weseq-border-strong: #c6dbd7;
  --weseq-accent: #0d9488; --weseq-accent-2: #14b8a6; --weseq-accent-weak: #e2f7f3; --weseq-on-accent: #ffffff;
  --weseq-success: #0d9488; --weseq-success-weak: #e2f7f3;
  --weseq-radius: 13px;
  --weseq-shadow-sm: 0 1px 2px rgba(10,40,55,.08);
  --weseq-shadow: 0 1px 1px rgba(10,40,55,.05), 0 2px 4px rgba(10,40,55,.06), 0 4px 8px rgba(10,40,55,.05);
  --weseq-shadow-elev: 0 2px 4px rgba(10,40,55,.07), 0 10px 20px rgba(10,40,55,.11), 0 20px 40px rgba(10,40,55,.07);
  --weseq-shadow-lg: 0 10px 22px rgba(10,40,55,.13), 0 30px 64px rgba(10,40,55,.2);
  --weseq-side-bg: #0a1f33; --weseq-side-grad: linear-gradient(165deg,#103456 0%,#0a1f33 55%,#081726 100%);
  --weseq-side-text: #dcebf0; --weseq-side-muted: #6f8a9c; --weseq-side-group: #5c7889;
  --weseq-side-border: rgba(255,255,255,.07); --weseq-side-active-bg: rgba(45,230,196,.15); --weseq-side-active-text: #3fe7c6;
  --weseq-side-active-bar: #2ce6c4; --weseq-side-hover: rgba(255,255,255,.05);
}
/* --- SAND: ciepły, edytorski, serif w nagłówkach, terakota --- */
:root[data-theme="sand"] {
  --weseq-font-display: "New York","Iowan Old Style","Palatino Linotype",Georgia,"Times New Roman",serif;
  --weseq-bg: #efe7d9; --weseq-surface: #fffdf8; --weseq-surface-2: #faf5ea;
  --weseq-text: #2c2820; --weseq-text-muted: #7a7060; --weseq-text-faint: #8a7f6b;
  --weseq-border: #e6dcc8; --weseq-border-strong: #d8cbb0;
  --weseq-accent: #bf5a36; --weseq-accent-2: #d2754f; --weseq-accent-weak: #f7e7df; --weseq-on-accent: #fffaf5;
  --weseq-success: #5b8a3c; --weseq-warning: #c2873a; --weseq-danger: #c0453a;
  --weseq-success-weak: #edf2e2; --weseq-warning-weak: #f7ecd8; --weseq-danger-weak: #f8e6e2;
  --weseq-radius: 11px;
  --weseq-shadow-sm: 0 1px 2px rgba(80,60,30,.09);
  --weseq-shadow: 0 1px 1px rgba(80,60,30,.05), 0 2px 4px rgba(80,60,30,.07), 0 4px 8px rgba(80,60,30,.05);
  --weseq-shadow-elev: 0 2px 4px rgba(80,60,30,.07), 0 10px 20px rgba(80,60,30,.11), 0 20px 40px rgba(80,60,30,.08);
  --weseq-shadow-lg: 0 10px 22px rgba(80,60,30,.13), 0 30px 64px rgba(80,60,30,.2);
  --weseq-side-bg: #fbf6ec; --weseq-side-grad: linear-gradient(180deg,#fdf9f1,#f7f0e2);
  --weseq-side-text: #332e24; --weseq-side-muted: #9a8f7b; --weseq-side-group: #b3a892;
  --weseq-side-border: #ece1cd; --weseq-side-active-bg: #f3e3d8; --weseq-side-active-text: #a8462a;
  --weseq-side-active-bar: #bf5a36; --weseq-side-hover: #f5eee0;
}
/* --- CONTRAST: śmiały, czarny sidebar, mocna typografia --- */
:root[data-theme="contrast"] {
  --weseq-bg: #ffffff; --weseq-surface: #ffffff; --weseq-surface-2: #f4f4f5;
  --weseq-text: #09090b; --weseq-text-muted: #52525b; --weseq-text-faint: #71717a;
  --weseq-border: #e4e4e7; --weseq-border-strong: #18181b;
  --weseq-accent: #1d4ed8; --weseq-accent-2: #2563eb; --weseq-accent-weak: #e8eeff; --weseq-on-accent: #ffffff;
  --weseq-success: #15803d; --weseq-warning: #b45309; --weseq-danger: #dc2626;
  --weseq-success-weak: #e6f4ea; --weseq-warning-weak: #fbf0dc; --weseq-danger-weak: #fce9e9;
  --weseq-radius: 10px;
  --weseq-shadow-sm: 0 1px 2px rgba(0,0,0,.09);
  --weseq-shadow: 0 1px 1px rgba(0,0,0,.05), 0 2px 4px rgba(0,0,0,.07), 0 4px 8px rgba(0,0,0,.05);
  --weseq-shadow-elev: 0 2px 4px rgba(0,0,0,.08), 0 10px 20px rgba(0,0,0,.11), 0 20px 40px rgba(0,0,0,.07);
  --weseq-shadow-lg: 0 10px 22px rgba(0,0,0,.13), 0 30px 64px rgba(0,0,0,.2);
  --weseq-side-bg: #09090b; --weseq-side-grad: linear-gradient(180deg,#111113,#09090b);
  --weseq-side-text: #fafafa; --weseq-side-muted: #8b8b93; --weseq-side-group: #6b6b73;
  --weseq-side-border: rgba(255,255,255,.08); --weseq-side-active-bg: #1d4ed8; --weseq-side-active-text: #ffffff;
  --weseq-side-active-bar: transparent; --weseq-side-hover: rgba(255,255,255,.07);
}

/* === Reset i typography === */
* { box-sizing: border-box; }

html, body {
  margin: 0;
  padding: 0;
  background: var(--weseq-bg);
  color: var(--weseq-text);
  font-family: var(--weseq-font);
  font-size: var(--text-md);
  line-height: 1.5;
  letter-spacing: var(--tracking-normal);
  font-feature-settings: var(--weseq-font-features);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  transition: background 0.25s ease, color 0.25s ease;
}

a { color: var(--weseq-accent); text-decoration: none; transition: color .13s var(--ease-out); }
a:hover { text-decoration: underline; }

/* Natywne kontrolki formularzy - dopasowane do motywu (checkbox/radio accent, placeholder) */
input[type="checkbox"], input[type="radio"] { accent-color: var(--weseq-accent); }
input::placeholder, textarea::placeholder { color: var(--weseq-text-faint); opacity: 1; }
select { color: var(--weseq-text); }
/* Nagłówki w czcionce display motywu (Sand = serif; reszta = sans, bez zmian) */
h1, h2, h3 {
  font-family: var(--weseq-font-display);
  letter-spacing: var(--tracking-tight);
  line-height: 1.18;
  text-wrap: balance;
}

/* === Ikony liniowe (components/icons_sprite.html + makro icons.html) ===
   currentColor -> ikona dziedziczy kolor kontekstu (sidebar = side-text, kafelek = akcent). */
.weseq-ic,
.weseq-ic-ok, .weseq-ic-bad, .weseq-ic-warn, .weseq-ic-muted, .weseq-ic-accent {
  width: 1.15em; height: 1.15em; flex-shrink: 0; display: inline-block; vertical-align: -0.16em;
  fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round;
}
.weseq-ic-emoji { display: inline-block; line-height: 1; }
.weseq-ic--lg { width: 1.35em; height: 1.35em; }
/* Warianty koloru semantycznego. Dwuczlonowe (.weseq-ic--ok) dla szablonow Jinja/HTML;
   JEDNOCZLONOWE (.weseq-ic-ok) BEZ spacji = bezpieczne w stringach JS apek statycznych:
   <svg class=weseq-ic-ok><use href=#ic-check-circle /></svg>  (cudzyslowy lamia double-quoted JS). */
.weseq-ic--ok,    .weseq-ic-ok     { color: var(--weseq-success); }
.weseq-ic--bad,   .weseq-ic-bad    { color: var(--weseq-danger); }
.weseq-ic--warn,  .weseq-ic-warn   { color: var(--weseq-warning); }
.weseq-ic--muted, .weseq-ic-muted  { color: var(--weseq-text-muted); }
.weseq-ic--accent,.weseq-ic-accent { color: var(--weseq-accent); }
/* Liczby tabelaryczne w danych - rowne szerokosci cyfr (premium feel w tabelach/metrykach) */
table, code, .weseq-tbl, .weseq-tile__meta, .weseq-tile__schedule, .weseq-tile__last-success, .weseq-mono, .mono {
  font-variant-numeric: tabular-nums;
}

/* === Layout: sidebar po lewej + obszar treści === */
.weseq-shell { display: flex; align-items: stretch; min-height: 100vh; }

.weseq-sidebar {
  flex: 0 0 248px;
  width: 248px;
  height: 100vh;
  position: sticky;
  top: 0;
  display: flex;
  flex-direction: column;
  background: var(--weseq-side-bg);
  background-image: var(--weseq-side-grad);
  color: var(--weseq-side-text);
  border-right: 1px solid var(--weseq-side-border);
  box-shadow: 4px 0 24px color-mix(in srgb, var(--weseq-text) 6%, transparent), inset 0 1px 0 rgba(255,255,255,.05);
  z-index: 2;
  overflow-y: auto;
  transition: width 0.18s var(--ease-out), flex-basis 0.18s var(--ease-out);
}
.weseq-main { flex: 1 1 auto; min-width: 0;
  background: linear-gradient(180deg, color-mix(in srgb, var(--weseq-surface) 22%, var(--weseq-bg)) 0, var(--weseq-bg) 260px); }

.weseq-sidebar__head {
  display: flex; align-items: flex-start; gap: var(--space-2);
  padding: var(--space-5) var(--space-4) var(--space-4); border-bottom: 1px solid var(--weseq-side-border);
}
.weseq-sidebar__brand {
  display: flex; flex-direction: column; gap: 2px; text-decoration: none; flex: 1; min-width: 0;
}
.weseq-sidebar__brand:hover { text-decoration: none; }
.weseq-sidebar__brand-name {
  font-weight: 750; font-size: var(--text-lg); letter-spacing: -0.02em; color: var(--weseq-side-text);
}
.weseq-sidebar__brand-name::before {
  content: ""; display: inline-block; width: 8px; height: 8px; border-radius: 50%;
  margin-right: var(--space-2); vertical-align: 1px;
  background: var(--weseq-side-active-bar, var(--weseq-accent));
  box-shadow: 0 0 0 4px color-mix(in srgb, var(--weseq-side-active-bar, var(--weseq-accent)) 22%, transparent);
}
.weseq-sidebar__brand-sub { font-size: var(--text-2xs); color: var(--weseq-side-muted); letter-spacing: .02em; }
.weseq-sidebar__toggle {
  background: none; border: 1px solid var(--weseq-side-border); color: var(--weseq-side-muted);
  width: 26px; height: 26px; border-radius: 50%; cursor: pointer; flex-shrink: 0;
  font-size: var(--text-lg); line-height: 1; display: flex; align-items: center; justify-content: center;
  transition: color .13s ease, border-color .13s ease;
}
.weseq-sidebar__toggle:hover { color: var(--weseq-side-active-text); border-color: var(--weseq-side-active-bar); }

.weseq-sidebar__nav { flex: 1 1 auto; padding: var(--space-3); }
.weseq-side-group {
  font-size: var(--text-2xs); font-weight: 680; text-transform: uppercase; letter-spacing: .08em;
  color: var(--weseq-side-group); padding: var(--space-4) var(--space-3) var(--space-1-5);
}
.weseq-side-link {
  position: relative;
  display: flex; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-3); margin-bottom: 1px;
  border-radius: var(--radius-sm); color: var(--weseq-side-text); font-size: var(--text-sm); font-weight: 480;
  text-decoration: none; white-space: nowrap;
  transition: background .15s var(--ease-out), color .15s var(--ease-out);
}
.weseq-side-link:hover { background: var(--weseq-side-hover); text-decoration: none; }
.weseq-side-link.is-active {
  background: var(--weseq-side-active-bg); color: var(--weseq-side-active-text); font-weight: 620;
}
.weseq-side-link.is-active::before {
  content: ""; position: absolute; left: -10px; top: 6px; bottom: 6px; width: 3px;
  border-radius: 0 3px 3px 0; background: var(--weseq-side-active-bar);
  box-shadow: 0 0 10px color-mix(in srgb, var(--weseq-side-active-bar) 65%, transparent);
}
.weseq-side-link__icon { width: 22px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; opacity: .8; transition: opacity .15s var(--ease-out); }
.weseq-side-link__icon .weseq-ic { width: 17px; height: 17px; }
.weseq-side-link.is-active .weseq-side-link__icon { opacity: 1; }
.weseq-side-link__label { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; }
.weseq-side-link__ext { font-size: var(--text-2xs); color: var(--weseq-side-muted); flex-shrink: 0; }
.weseq-side-link--sub {
  padding-left: var(--space-8); font-size: var(--text-sm); font-weight: 450; color: var(--weseq-side-muted);
}
.weseq-side-link--sub .weseq-side-link__icon { width: 18px; }
.weseq-side-link--sub .weseq-ic { width: 15px; height: 15px; }
.weseq-side-link--sub:hover { color: var(--weseq-side-text); }

.weseq-sidebar__user {
  border-top: 1px solid var(--weseq-side-border); padding: var(--space-3) var(--space-4);
  display: flex; align-items: center; justify-content: space-between; gap: var(--space-2);
  font-size: var(--text-sm); color: var(--weseq-side-muted);
}
.weseq-sidebar__user-name { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--weseq-side-text); }

/* Zwinięty sidebar - same ikony */
.weseq-shell.is-collapsed .weseq-sidebar { flex-basis: 62px; width: 62px; }
.is-collapsed .weseq-sidebar__brand-name,
.is-collapsed .weseq-sidebar__brand-sub,
.is-collapsed .weseq-side-link__label,
.is-collapsed .weseq-side-link__ext,
.is-collapsed .weseq-side-group,
.is-collapsed .weseq-sidebar__user-name,
.is-collapsed .weseq-logout-form { display: none; }
.is-collapsed .weseq-side-link { justify-content: center; padding: var(--space-2) 0; }
.is-collapsed .weseq-side-link__icon { width: auto; }
.is-collapsed .weseq-sidebar__head { justify-content: center; padding: var(--space-4) var(--space-2) var(--space-3); }
.is-collapsed .weseq-sidebar__toggle { transform: rotate(180deg); }
.is-collapsed .weseq-sidebar__user { justify-content: center; }

@media (max-width: 820px) {
  .weseq-sidebar { flex-basis: 62px; width: 62px; }
  .weseq-sidebar .weseq-sidebar__brand-name,
  .weseq-sidebar .weseq-sidebar__brand-sub,
  .weseq-sidebar .weseq-side-link__label,
  .weseq-sidebar .weseq-side-link__ext,
  .weseq-sidebar .weseq-side-group,
  .weseq-sidebar .weseq-sidebar__user-name,
  .weseq-sidebar .weseq-logout-form { display: none; }
  .weseq-sidebar .weseq-side-link { justify-content: center; padding: var(--space-2) 0; }
  .weseq-sidebar__toggle { display: none; }
}

/* === Main container === */
.weseq-container {
  max-width: 1200px;
  margin: 0 auto;
  padding: var(--space-6);
}

@media (max-width: 768px) {
  .weseq-container { padding: var(--space-4) var(--space-3); }
  .weseq-topbar { padding: var(--space-3) var(--space-4); }
  .weseq-topbar__nav { margin-left: var(--space-3); gap: var(--space-2); }
}

/* === Banner status (zielony/żółty/czerwony, na samej górze) === */
.weseq-banner {
  padding: var(--space-4) var(--space-5);
  border-radius: var(--radius-lg);
  font-size: var(--text-md);
  font-weight: 500;
  margin-bottom: var(--space-5);
  display: flex;
  align-items: center;
  gap: var(--space-3);
  box-shadow: var(--weseq-highlight), var(--weseq-shadow-sm);
}
.weseq-banner__icon {
  width: 28px;
  height: 28px;
  border-radius: 50%;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: var(--text-base);
  font-weight: 700;
  color: var(--weseq-on-accent);
  flex-shrink: 0;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.3);
}
.weseq-banner--green {
  background: var(--weseq-success-weak);
  color: var(--weseq-success);
  border: 1px solid color-mix(in srgb, var(--weseq-success) 28%, transparent);
}
.weseq-banner--green .weseq-banner__icon { background: var(--weseq-success); }
.weseq-banner--yellow {
  background: var(--weseq-warning-weak);
  color: var(--weseq-warning);
  border: 1px solid color-mix(in srgb, var(--weseq-warning) 28%, transparent);
}
.weseq-banner--yellow .weseq-banner__icon { background: var(--weseq-warning); }
.weseq-banner--red {
  background: var(--weseq-danger-weak);
  color: var(--weseq-danger);
  border: 1px solid color-mix(in srgb, var(--weseq-danger) 28%, transparent);
}
.weseq-banner--red .weseq-banner__icon { background: var(--weseq-danger); }
.weseq-banner--gray {
  background: var(--weseq-surface-2);
  color: var(--weseq-text-muted);
  border: 1px solid var(--weseq-border);
}
.weseq-banner--gray .weseq-banner__icon { background: var(--weseq-text-muted); }

/* === Sekcja === */
.weseq-section {
  margin-bottom: var(--space-8);
}
.weseq-section__title {
  font-size: var(--text-xs);
  font-weight: 650;
  text-transform: uppercase;
  letter-spacing: var(--tracking-caps);
  color: var(--weseq-text-muted);
  margin: 0 0 var(--space-3) var(--space-1);
}

/* === Grid kafelków === */
.weseq-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  gap: var(--space-4);
}

/* === Kafelek modułu === */
.weseq-tile {
  background: var(--weseq-surface);
  border: 1px solid var(--weseq-border);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
  box-shadow: var(--weseq-highlight), var(--weseq-shadow);
  transition: box-shadow .28s var(--ease-out), transform .28s var(--ease-spring), border-color .28s var(--ease-out);
  position: relative;
  overflow: hidden;
}
.weseq-tile:hover {
  box-shadow: var(--weseq-highlight), var(--weseq-shadow-elev);
  transform: translateY(-2px);
  border-color: var(--weseq-border-strong);
}
.weseq-tile--ok    { border-left: 4px solid var(--weseq-success); }
.weseq-tile--warn  { border-left: 4px solid var(--weseq-warning); }
.weseq-tile--fail  { border-left: 4px solid var(--weseq-danger); }
.weseq-tile--unknown { border-left: 4px solid var(--weseq-text-muted); }

.weseq-tile__head {
  display: flex;
  align-items: center;
  gap: var(--space-3);
  margin-bottom: var(--space-3);
}
.weseq-tile__icon {
  display: inline-flex; align-items: center; justify-content: center;
  color: var(--weseq-accent); line-height: 1;
}
.weseq-tile__icon .weseq-ic { width: 20px; height: 20px; }
.weseq-tile__name {
  font-weight: 600;
  font-size: var(--text-md);
  color: var(--weseq-text);
  flex: 1;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.weseq-tile__dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
  flex-shrink: 0;
}
.weseq-tile__dot--ok      { background: var(--weseq-success); }
.weseq-tile__dot--warn    { background: var(--weseq-warning); }
.weseq-tile__dot--fail    { background: var(--weseq-danger); animation: weseq-pulse 1.5s infinite; }
.weseq-tile__dot--unknown { background: var(--weseq-text-muted); }

@keyframes weseq-pulse {
  0%, 100% { opacity: 1; transform: scale(1); }
  50%      { opacity: 0.5; transform: scale(1.2); }
}

.weseq-tile__headline {
  font-size: var(--text-base);
  color: var(--weseq-text-muted);
  margin: 0 0 var(--space-3);
  min-height: 21px;
}
.weseq-tile__schedule {
  font-size: var(--text-xs);
  color: var(--weseq-text-muted);
  margin: 0 0 var(--space-2);
}
.weseq-tile__last-success {
  font-size: var(--text-xs);
  color: var(--weseq-text);
  margin: 0 0 var(--space-2);
  padding: var(--space-1-5) var(--space-3);
  background: var(--weseq-success-weak);
  border-left: 3px solid var(--weseq-success);
  border-radius: var(--radius-xs);
}
.weseq-tile__last-success strong {
  color: var(--weseq-text);
  font-weight: 600;
}
.weseq-tile__last-success .weseq-tile__age {
  color: var(--weseq-text-muted);
  font-size: var(--text-2xs);
}
.weseq-tile__schedule code {
  background: var(--weseq-bg);
  padding: 1px var(--space-1-5);
  border-radius: var(--radius-xs);
  font-family: var(--weseq-font-mono);
  font-size: var(--text-2xs);
}

/* Sparkline 7-dniowy - SVG wewnątrz kafelka */
.weseq-spark {
  display: block;
  width: 100%;
  max-width: 140px;
  height: 24px;
  margin-top: var(--space-2);
}

/* Akcje awaryjne - TYLKO przy fail/warn */
.weseq-tile__actions {
  margin-top: var(--space-3);
  padding-top: var(--space-3);
  border-top: 1px solid var(--weseq-border);
  display: flex;
  flex-wrap: wrap;
  gap: var(--space-1-5);
}
.weseq-action-btn {
  background: var(--weseq-danger);
  color: var(--weseq-on-accent);
  border: 0;
  padding: var(--space-2) var(--space-3);
  border-radius: var(--radius-sm);
  font-size: var(--text-sm);
  font-weight: 500;
  cursor: pointer;
  transition: opacity 0.1s;
}
.weseq-action-btn:hover { opacity: 0.85; }
.weseq-action-btn--disabled,
.weseq-action-btn:disabled {
  background: var(--weseq-bg);
  color: var(--weseq-text-muted);
  border: 1px solid var(--weseq-border);
  cursor: not-allowed;
  opacity: 0.7;
}
.weseq-action-btn--disabled:hover,
.weseq-action-btn:disabled:hover {
  opacity: 0.7;
}
.weseq-action-btn--secondary {
  background: var(--weseq-bg);
  color: var(--weseq-text);
  border: 1px solid var(--weseq-border);
}
.weseq-action-btn--link {
  background: var(--weseq-bg);
  color: var(--weseq-accent);
  border: 1px solid var(--weseq-border);
  text-decoration: none;
  display: inline-block;
}
.weseq-action-btn--link:hover {
  background: var(--weseq-border);
  opacity: 1;
}

/* Footer/meta info kafelka */
.weseq-tile__meta {
  display: flex;
  justify-content: space-between;
  margin-top: var(--space-3);
  font-size: var(--text-2xs);
  color: var(--weseq-text-muted);
}
.weseq-tile__meta a {
  color: var(--weseq-text-muted);
}
.weseq-tile__meta a:hover { color: var(--weseq-accent); }

/* Tile error tooltip - przy unknown/fail pokazuje skrót błędu */
.weseq-tile__error {
  background: var(--weseq-danger-weak);
  color: var(--weseq-danger);
  padding: var(--space-1-5) var(--space-3);
  border-radius: var(--radius-xs);
  font-size: var(--text-xs);
  font-family: var(--weseq-font-mono);
  margin-top: var(--space-2);
  word-break: break-word;
}

/* === Loading state - szkielet, gdy aggregator jeszcze nie zdążył === */
.weseq-skeleton {
  background: linear-gradient(
    90deg,
    var(--weseq-bg) 25%,
    var(--weseq-border) 50%,
    var(--weseq-bg) 75%
  );
  background-size: 200% 100%;
  animation: weseq-shimmer 1.5s infinite;
  border-radius: var(--radius-xs);
  height: 14px;
}
@keyframes weseq-shimmer {
  0%   { background-position: 200% 0; }
  100% { background-position: -200% 0; }
}

/* === Audit page === */
.weseq-audit__title {
  font-size: var(--text-3xl);
  margin: var(--space-6) 0 var(--space-1);
}
.weseq-audit__intro {
  color: var(--weseq-text-muted);
  font-size: var(--text-sm);
  margin-bottom: var(--space-4);
}
.weseq-audit__filters {
  display: flex;
  gap: var(--space-3);
  align-items: end;
  margin-bottom: var(--space-4);
  flex-wrap: wrap;
}
.weseq-audit__filters label {
  display: flex;
  flex-direction: column;
  font-size: var(--text-xs);
  color: var(--weseq-text-muted);
}
.weseq-audit__filters select,
.weseq-audit__filters input[type="number"] {
  padding: var(--space-1-5) var(--space-3);
  border: 1px solid var(--weseq-border-strong);
  border-radius: var(--radius-sm);
  font-size: var(--text-sm);
  background: var(--weseq-surface);
  color: var(--weseq-text);
}
.weseq-audit__filters select:focus,
.weseq-audit__filters input[type="number"]:focus { outline: none; border-color: var(--weseq-accent); box-shadow: var(--weseq-ring); }
.weseq-audit__filter-btn {
  padding: var(--space-1-5) var(--space-4);
  background: var(--weseq-accent-grad);
  color: var(--weseq-on-accent);
  border: 0;
  border-radius: var(--radius-sm);
  font-size: var(--text-sm);
  font-weight: 560;
  cursor: pointer;
  box-shadow: var(--weseq-accent-glow), inset 0 1px 0 rgba(255,255,255,.16);
  transition: transform .16s var(--ease-spring), background .2s var(--ease-out);
}
.weseq-audit__filter-btn:hover { background: var(--weseq-accent-grad-hover); transform: translateY(-1px); }
.weseq-audit__reset {
  font-size: var(--text-sm);
  color: var(--weseq-text-muted);
  text-decoration: none;
}
.weseq-audit__table {
  width: 100%;
  border-collapse: collapse;
  font-size: var(--text-sm);
  background: var(--weseq-surface);
  border-radius: var(--radius-md);
  overflow: hidden;
  box-shadow: var(--weseq-shadow);
}
.weseq-audit__table th {
  text-align: left;
  padding: var(--space-3) var(--space-3);
  background: var(--weseq-bg);
  border-bottom: 1px solid var(--weseq-border);
  font-weight: 500;
  color: var(--weseq-text-muted);
  font-size: var(--text-xs);
  text-transform: uppercase;
  letter-spacing: 0.5px;
}
.weseq-audit__table td {
  padding: var(--space-3) var(--space-3);
  border-bottom: 1px solid var(--weseq-bg);
  vertical-align: top;
}
.weseq-audit__time {
  font-family: var(--weseq-font-mono);
  font-size: var(--text-xs);
  color: var(--weseq-text-muted);
  white-space: nowrap;
}
.weseq-audit__type code {
  font-size: var(--text-xs);
  background: var(--weseq-bg);
  padding: 2px var(--space-1-5);
  border-radius: var(--radius-xs);
}
.weseq-audit__ip {
  font-family: var(--weseq-font-mono);
  font-size: var(--text-2xs);
  color: var(--weseq-text-muted);
}
.weseq-audit__row--success { background: var(--weseq-surface); }
.weseq-audit__row--fail    { background: var(--weseq-danger-weak); }
.weseq-audit__row--blocked { background: var(--weseq-warning-weak); }
.weseq-audit__result {
  font-size: var(--text-xs);
  white-space: nowrap;
}
.weseq-audit__details pre {
  background: var(--weseq-bg);
  padding: var(--space-2);
  border-radius: var(--radius-xs);
  font-size: var(--text-2xs);
  max-width: 400px;
  overflow-x: auto;
  margin-top: var(--space-1);
}
.weseq-audit__count {
  color: var(--weseq-text-muted);
  font-size: var(--text-xs);
  margin-top: var(--space-3);
}
.weseq-audit__pagination {
  display: flex;
  gap: var(--space-3);
  margin-top: var(--space-4);
  justify-content: center;
}
.weseq-audit__page-btn {
  padding: var(--space-2) var(--space-4);
  background: var(--weseq-surface);
  color: var(--weseq-accent);
  border: 1px solid var(--weseq-border);
  border-radius: var(--radius-sm);
  font-size: var(--text-sm);
  text-decoration: none;
  transition: background 0.1s;
}
.weseq-audit__page-btn:hover { background: var(--weseq-bg); }
.weseq-audit__page-btn--disabled {
  color: var(--weseq-text-muted);
  cursor: not-allowed;
  opacity: 0.5;
}

/* === Logout (POST form, button stylizowany jak link) === */
.weseq-logout-form {
  display: inline;
  margin: 0;
  padding: 0;
}
.weseq-logout-btn {
  background: none;
  border: 0;
  padding: 0;
  margin: 0;
  font: inherit;
  color: var(--weseq-accent);
  cursor: pointer;
  text-decoration: underline;
}
.weseq-logout-btn:hover { color: var(--weseq-text); }

/* === Empty state === */
.weseq-empty {
  text-align: center;
  padding: var(--space-12) var(--space-5);
  color: var(--weseq-text-muted);
  font-size: var(--text-base);
}

/* === Panel administracyjny + wspólne formularze === */
.weseq-admin { max-width: 980px; }
.weseq-admin h1 { font-size: var(--text-3xl); font-weight: 600; margin: 0 0 var(--space-1); letter-spacing: -0.3px; }
.weseq-admin h2 { font-size: var(--text-lg); font-weight: 600; margin: 0 0 var(--space-4); }
.weseq-muted { color: var(--weseq-text-muted); }
.weseq-intro { color: var(--weseq-text-muted); font-size: var(--text-base); margin: 0 0 var(--space-5); }

.weseq-card {
  background: var(--weseq-surface);
  border: 1px solid var(--weseq-border);
  border-radius: var(--radius-lg);
  padding: var(--space-5);
  margin-bottom: var(--space-5);
  box-shadow: var(--weseq-highlight), var(--weseq-shadow);
}

.weseq-tbl { width: 100%; border-collapse: collapse; font-size: var(--text-sm); }
.weseq-tbl th {
  text-align: left; padding: var(--space-2) var(--space-3); color: var(--weseq-text-muted);
  font-size: var(--text-2xs); text-transform: uppercase; letter-spacing: .5px;
  border-bottom: 1px solid var(--weseq-border);
}
.weseq-tbl td { padding: var(--space-3); border-bottom: 1px solid var(--weseq-bg); vertical-align: middle; transition: background .12s var(--ease-out); }
.weseq-tbl tr:hover td { background: var(--weseq-surface-2); }

.weseq-chip {
  display: inline-block; font-size: var(--text-2xs); padding: 2px var(--space-2); border-radius: var(--radius-xl);
  background: var(--weseq-accent-weak); color: var(--weseq-accent); margin: 1px; white-space: nowrap;
}
.weseq-chip--owner { background: var(--weseq-warning-weak); color: var(--weseq-warning); }
.weseq-chip--off { background: var(--weseq-danger-weak); color: var(--weseq-danger); }
.weseq-chip--on { background: var(--weseq-success-weak); color: var(--weseq-success); }

.weseq-inp {
  width: 100%; padding: var(--space-2) var(--space-3); border: 1px solid var(--weseq-border-strong);
  border-radius: var(--radius-sm); font: inherit; font-size: var(--text-sm);
  background: var(--weseq-bg); color: var(--weseq-text);
  box-shadow: inset 0 1px 2px rgba(23,37,66,.05);
  transition: border-color .15s var(--ease-out), box-shadow .15s var(--ease-out), background .15s var(--ease-out);
}
.weseq-inp:hover { border-color: var(--weseq-text-faint); }
.weseq-inp:focus { outline: none; border-color: var(--weseq-accent); background: var(--weseq-surface);
  box-shadow: var(--weseq-ring), inset 0 1px 2px rgba(23,37,66,.04); }

.weseq-frm-row { display: flex; gap: var(--space-3); flex-wrap: wrap; margin-bottom: var(--space-3); }
.weseq-frm-row > label { flex: 1; min-width: 170px; display: flex; flex-direction: column; gap: var(--space-1); font-size: var(--text-xs); color: var(--weseq-text-muted); }

.weseq-roleboxes { display: flex; flex-wrap: wrap; gap: var(--space-4); margin: var(--space-1) 0 var(--space-4); }
.weseq-roleboxes label { display: flex; align-items: center; gap: var(--space-1-5); font-size: var(--text-sm); color: var(--weseq-text); cursor: pointer; }

.weseq-modlist { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: var(--space-2); margin: var(--space-3) 0 var(--space-4); }
.weseq-modlist label {
  display: flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3);
  border: 1px solid var(--weseq-border); border-radius: var(--radius-sm); font-size: var(--text-sm);
  background: var(--weseq-bg); cursor: pointer; transition: border-color .1s;
}
.weseq-modlist label:hover { border-color: var(--weseq-accent); }

.weseq-presets { display: flex; flex-wrap: wrap; gap: var(--space-1-5); margin-bottom: var(--space-3); }
.weseq-subform { display: flex; gap: var(--space-2); align-items: end; flex-wrap: wrap; }

.weseq-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: var(--space-2);
  padding: var(--space-2) var(--space-4); border: none; border-radius: var(--radius-sm); font-size: var(--text-sm);
  font-weight: 560; letter-spacing: var(--tracking-snug); cursor: pointer; font-family: inherit;
  transition: transform .16s var(--ease-spring), box-shadow .2s var(--ease-out), background .2s var(--ease-out), opacity .15s, border-color .15s, color .15s;
}
.weseq-btn:disabled { opacity: .5; cursor: not-allowed; }
.weseq-btn--primary {
  background: var(--weseq-accent-grad); color: var(--weseq-on-accent);
  box-shadow: var(--weseq-accent-glow), inset 0 1px 0 rgba(255,255,255,.16);
}
.weseq-btn--primary:hover:not(:disabled) { background: var(--weseq-accent-grad-hover); transform: translateY(-1px); }
.weseq-btn--primary:active:not(:disabled) { transform: translateY(0); box-shadow: var(--weseq-shadow-sm), inset 0 1px 2px rgba(0,0,0,.13); }
.weseq-btn--ghost { background: var(--weseq-bg); border: 1px solid var(--weseq-border-strong); color: var(--weseq-text); font-size: var(--text-xs); padding: var(--space-1-5) var(--space-3); }
.weseq-btn--ghost:hover { background: var(--weseq-surface); border-color: var(--weseq-accent); color: var(--weseq-accent); transform: translateY(-1px); }
.weseq-btn--ghost:active { transform: translateY(0); }

.weseq-status-msg { margin: 0 0 var(--space-4); padding: var(--space-3) var(--space-3); border-radius: var(--radius-xs); font-size: var(--text-sm); }
.weseq-status-msg--ok { background: var(--weseq-success-weak); color: var(--weseq-success); }
.weseq-status-msg--fail { background: var(--weseq-danger-weak); color: var(--weseq-danger); }
.weseq-status-msg--warn { background: var(--weseq-warning-weak); color: var(--weseq-warning); }

.weseq-owner-note {
  background: var(--weseq-warning-weak); border: 1px solid color-mix(in srgb, var(--weseq-warning) 28%, transparent);
  color: var(--weseq-warning); padding: var(--space-3) var(--space-3); border-radius: var(--radius-sm); font-size: var(--text-sm); margin-bottom: var(--space-4);
}

.weseq-topbar__nav a.weseq-nav-admin { color: var(--weseq-accent); }

/* === Toasts (powiadomienia po akcjach) === */
.weseq-toasts {
  position: fixed;
  top: 70px;
  right: 20px;
  z-index: 1000;
  display: flex;
  flex-direction: column;
  gap: var(--space-2);
  max-width: min(380px, calc(100vw - 32px));
  pointer-events: none;
}
.weseq-toast {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 10px;
  background: var(--weseq-surface);
  border: 1px solid var(--weseq-border);
  border-left: 4px solid var(--weseq-text-muted);
  border-radius: var(--radius-md);
  padding: var(--space-3) var(--space-10) var(--space-3) var(--space-4);
  box-shadow: var(--weseq-highlight), var(--weseq-shadow-elev);
  pointer-events: auto;
  animation: weseq-toast-in 0.18s ease-out;
}
.weseq-toast__ic { width: 18px; height: 18px; flex-shrink: 0; margin-top: 1px; fill: none; stroke: currentColor;
  stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; color: var(--weseq-text-muted); }
.weseq-toast__body { flex: 1; min-width: 0; }
.weseq-toast--ok    { border-left-color: var(--weseq-success); } .weseq-toast--ok   .weseq-toast__ic { color: var(--weseq-success); }
.weseq-toast--warn  { border-left-color: var(--weseq-warning); } .weseq-toast--warn .weseq-toast__ic { color: var(--weseq-warning); }
.weseq-toast--fail, .weseq-toast--bad { border-left-color: var(--weseq-danger); }
.weseq-toast--fail .weseq-toast__ic, .weseq-toast--bad .weseq-toast__ic { color: var(--weseq-danger); }
.weseq-toast--info  { border-left-color: var(--weseq-info); } .weseq-toast--info .weseq-toast__ic { color: var(--weseq-info); }
.weseq-toast__title {
  display: block;
  font-size: var(--text-sm);
  line-height: 1.4;
  color: var(--weseq-text);
}
.weseq-toast__details {
  margin: var(--space-1) 0 0 0;
  font-size: var(--text-sm);
  color: var(--weseq-text-muted);
  word-break: break-word;
}
.weseq-toast__close {
  position: absolute;
  top: 8px;
  right: 8px;
  width: 24px;
  height: 24px;
  border: none;
  background: transparent;
  font-size: var(--text-xl);
  line-height: 1;
  color: var(--weseq-text-muted);
  cursor: pointer;
  border-radius: var(--radius-xs);
}
.weseq-toast__close:hover { background: var(--weseq-bg); color: var(--weseq-text); }
.weseq-toast.is-out { opacity: 0; transform: translateX(20px); transition: opacity .2s ease, transform .2s ease; }
@keyframes weseq-toast-in {
  from { opacity: 0; transform: translateX(20px); }
  to   { opacity: 1; transform: translateX(0); }
}
@media (max-width: 640px) { .weseq-toasts { left: var(--space-3); right: var(--space-3); top: auto; bottom: var(--space-3); max-width: none; } }
@media (prefers-reduced-motion: reduce) { .weseq-toast { animation: none; } .weseq-toast.is-out { transition: opacity .12s ease; transform: none; } }

/* === Szlif "premium": dostepnosc (focus), zaznaczenie, paski przewijania === */

/* Widoczny, markowy pierscien fokusa - tylko dla nawigacji klawiatura (focus-visible) */
a:focus-visible,
button:focus-visible,
input:focus-visible,
select:focus-visible,
textarea:focus-visible,
[tabindex]:focus-visible {
  outline: 2px solid var(--weseq-accent);
  outline-offset: 2px;
  border-radius: var(--radius-xs);
}
/* Sidebar: pierscien do wewnatrz (ciemne tlo), bez zlamania ukladu */
.weseq-side-link:focus-visible,
.weseq-sidebar__brand:focus-visible,
.weseq-logout-btn:focus-visible {
  outline: 2px solid var(--weseq-side-active-text);
  outline-offset: -2px;
}

/* Zaznaczenie tekstu w kolorze akcentu */
::selection {
  background: color-mix(in srgb, var(--weseq-accent) 26%, transparent);
  color: var(--weseq-text);
}

/* Subtelne, dopasowane do motywu paski przewijania */
* { scrollbar-width: thin; scrollbar-color: var(--weseq-border-strong) transparent; }
::-webkit-scrollbar { width: 11px; height: 11px; }
::-webkit-scrollbar-track { background: transparent; }
::-webkit-scrollbar-thumb {
  background: var(--weseq-border-strong);
  border-radius: var(--radius-md);
  border: 3px solid transparent;
  background-clip: content-box;
}
::-webkit-scrollbar-thumb:hover {
  background: var(--weseq-text-faint);
  background-clip: content-box;
}
/* Ciemny sidebar - jasniejszy uchwyt na ciemnym tle */
.weseq-sidebar::-webkit-scrollbar-thumb { background: var(--weseq-side-border); background-clip: content-box; }

@media (prefers-reduced-motion: no-preference) {
  html { scroll-behavior: smooth; }
}

/* === Paleta nawigacji (Ctrl/Cmd+K) === */
.weseq-cmdk-trigger {
  display: flex; align-items: center; gap: var(--space-2); width: calc(100% - 20px);
  margin: 2px var(--space-3) var(--space-2); padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm);
  background: var(--weseq-side-hover); color: var(--weseq-side-muted);
  border: 1px solid var(--weseq-side-border); cursor: pointer; font: inherit; font-size: var(--text-sm);
  transition: background .13s ease, color .13s ease;
}
.weseq-cmdk-trigger:hover { background: color-mix(in srgb, var(--weseq-side-text) 9%, transparent); color: var(--weseq-side-text); }
.weseq-cmdk-trigger .weseq-ic { width: 15px; height: 15px; }
.weseq-cmdk-trigger__label { flex: 1; text-align: left; }
.weseq-cmdk-trigger__kbd, .weseq-cmdk__esc {
  font: inherit; font-size: var(--text-2xs); font-weight: 600; padding: 1px var(--space-1-5); border-radius: var(--radius-xs);
  background: color-mix(in srgb, var(--weseq-side-text) 13%, transparent); color: var(--weseq-side-muted);
  border: 1px solid var(--weseq-side-border);
}
.is-collapsed .weseq-cmdk-trigger__label, .is-collapsed .weseq-cmdk-trigger__kbd { display: none; }
.is-collapsed .weseq-cmdk-trigger { justify-content: center; width: auto; margin: 2px var(--space-2) var(--space-2); }

.weseq-cmdk { position: fixed; inset: 0; z-index: 100; display: flex; align-items: flex-start; justify-content: center; padding: 12vh var(--space-4) var(--space-4); }
.weseq-cmdk[hidden] { display: none; }
.weseq-cmdk__backdrop {
  position: absolute; inset: 0; background: color-mix(in srgb, #0b0d11 55%, transparent);
  -webkit-backdrop-filter: blur(3px); backdrop-filter: blur(3px); opacity: 0; transition: opacity .16s ease;
}
.weseq-cmdk.is-open .weseq-cmdk__backdrop { opacity: 1; }
.weseq-cmdk__panel {
  position: relative; width: min(560px, 92vw); max-height: 64vh; display: flex; flex-direction: column;
  background: var(--weseq-surface); border: 1px solid var(--weseq-border); border-radius: var(--radius-lg);
  box-shadow: var(--weseq-shadow-lg); overflow: hidden;
  transform: translateY(-8px) scale(.985); opacity: 0;
  transition: transform .18s cubic-bezier(.2,.7,.2,1), opacity .18s ease;
}
.weseq-cmdk.is-open .weseq-cmdk__panel { transform: none; opacity: 1; }
.weseq-cmdk__inputrow { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-4) var(--space-4); border-bottom: 1px solid var(--weseq-border); }
.weseq-cmdk__searchic { width: 18px; height: 18px; color: var(--weseq-text-muted); }
.weseq-cmdk__input { flex: 1; border: none; outline: none; background: transparent; font: inherit; font-size: var(--text-lg); color: var(--weseq-text); }
.weseq-cmdk__input::placeholder { color: var(--weseq-text-faint); }
.weseq-cmdk__esc { background: var(--weseq-surface-2); color: var(--weseq-text-muted); border-color: var(--weseq-border); }
.weseq-cmdk__list { list-style: none; margin: 0; padding: var(--space-1-5); overflow-y: auto; }
.weseq-cmdk__item { display: flex; align-items: center; gap: var(--space-3); padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm); cursor: pointer; color: var(--weseq-text); }
.weseq-cmdk__item.is-active { background: var(--weseq-accent-weak); }
.weseq-cmdk__itemic { width: 20px; flex-shrink: 0; display: inline-flex; align-items: center; justify-content: center; color: var(--weseq-accent); }
.weseq-cmdk__itemic .weseq-ic { width: 17px; height: 17px; }
.weseq-cmdk__itemlabel { flex: 1; font-size: var(--text-base); }
.weseq-cmdk__itemgroup { font-size: var(--text-2xs); color: var(--weseq-text-faint); text-transform: uppercase; letter-spacing: .06em; }
.weseq-cmdk__itemext { color: var(--weseq-text-faint); font-size: var(--text-sm); }
.weseq-cmdk__item.is-active .weseq-cmdk__itemext { color: var(--weseq-accent); }
.weseq-cmdk__empty { padding: var(--space-7); text-align: center; color: var(--weseq-text-muted); font-size: var(--text-sm); }
@media (prefers-reduced-motion: reduce) {
  .weseq-cmdk__panel, .weseq-cmdk__backdrop { transition: none; }
}

/* === Punkt 5: mikro-ruch (wejscia kaskadowe) + zaprojektowane puste stany === */
@media (prefers-reduced-motion: no-preference) {
  .weseq-container > * { animation: weseq-fade-up .5s var(--ease-spring) both; }
  .weseq-container > *:nth-child(2) { animation-delay: .06s; }
  .weseq-container > *:nth-child(3) { animation-delay: .12s; }
  .weseq-container > *:nth-child(4) { animation-delay: .18s; }
  .weseq-container > *:nth-child(5) { animation-delay: .24s; }
  .weseq-container > *:nth-child(n+6) { animation-delay: .3s; }
}
@keyframes weseq-fade-up { from { opacity: 0; transform: translateY(10px); } to { opacity: 1; transform: none; } }

.weseq-empty {
  display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center;
  padding: var(--space-12) var(--space-6); gap: var(--space-3); color: var(--weseq-text-muted);
}
.weseq-empty__icon {
  width: 56px; height: 56px; border-radius: var(--radius-lg); display: flex; align-items: center; justify-content: center;
  color: var(--weseq-accent);
  background: linear-gradient(150deg, color-mix(in srgb, var(--weseq-accent) 16%, var(--weseq-surface)), color-mix(in srgb, var(--weseq-accent) 6%, var(--weseq-surface)));
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--weseq-accent) 18%, transparent);
}
.weseq-empty__icon .weseq-ic { width: 28px; height: 28px; }
.weseq-empty__title { font-size: var(--text-lg); font-weight: 620; color: var(--weseq-text); }
.weseq-empty__text { font-size: var(--text-sm); max-width: 44ch; line-height: 1.5; }

/* ===================================================================
   KOMPONENTY PROCESOWE (kanon panelu - dziedziczą wszystkie aplikacje)
   Stepper faz, status liniowy, tabela weryfikacji, progress, metryki,
   karta-akcja, blok sekretu, log-konsola. Buduj TU, potem aplikuj w apce.
   =================================================================== */

/* Ikony liniowe jako maska (currentColor) - status bez kolorowego emoji */
:root {
  --weseq-ic-check: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12.5l4.5 4.5L19 7.5'/%3E%3C/svg%3E");
  --weseq-ic-x: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6.5 6.5l11 11M17.5 6.5l-11 11'/%3E%3C/svg%3E");
  --weseq-ic-warn: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23000' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 4.2v9.4'/%3E%3Cpath d='M12 18.4h.01'/%3E%3C/svg%3E");
}

/* Status liniowy (✓/✗/⚠) - semantyczny kolor, ikona maskowana */
.weseq-mark { display: inline-flex; align-items: center; gap: 6px; font-weight: 600; font-size: var(--text-sm); white-space: nowrap; }
.weseq-mark::before { content: ""; width: 15px; height: 15px; flex-shrink: 0; background: currentColor;
  -webkit-mask: var(--_ic) center / contain no-repeat; mask: var(--_ic) center / contain no-repeat; }
.weseq-mark--ok   { color: var(--weseq-success); --_ic: var(--weseq-ic-check); }
.weseq-mark--bad  { color: var(--weseq-danger);  --_ic: var(--weseq-ic-x); }
.weseq-mark--warn { color: var(--weseq-warning); --_ic: var(--weseq-ic-warn); }
.weseq-mark--na   { color: var(--weseq-text-faint); font-weight: 500; }
.weseq-mark--na::before { display: none; }

/* Stepper faz procesu */
.weseq-steps { display: flex; gap: var(--space-1-5); flex-wrap: wrap; margin: var(--space-1) 0 var(--space-4); }
.weseq-steps__item {
  flex: 1 1 0; min-width: 84px; padding: var(--space-2) var(--space-3); border-radius: var(--radius-sm);
  background: var(--weseq-surface); border: 1px solid var(--weseq-border); box-shadow: var(--weseq-highlight), var(--weseq-shadow-sm);
  font-size: var(--text-xs); color: var(--weseq-text-muted); text-align: center; line-height: 1.3;
  transition: background .3s var(--ease-out), border-color .3s var(--ease-out), color .3s var(--ease-out), box-shadow .3s var(--ease-out);
}
.weseq-steps__item.is-done {
  color: var(--weseq-success); border-color: color-mix(in srgb, var(--weseq-success) 38%, var(--weseq-border));
  background: color-mix(in srgb, var(--weseq-success) 7%, var(--weseq-surface));
}
.weseq-steps__item.is-done::before {
  content: ""; display: inline-block; width: 11px; height: 11px; margin-right: 5px; vertical-align: -1px;
  background: currentColor; -webkit-mask: var(--weseq-ic-check) center/contain no-repeat; mask: var(--weseq-ic-check) center/contain no-repeat;
}
.weseq-steps__item.is-active {
  background: var(--weseq-accent-weak); border-color: var(--weseq-accent); color: var(--weseq-accent);
  font-weight: 600; box-shadow: 0 0 0 3px var(--weseq-accent-weak);
}

/* Pasek postępu */
.weseq-progress { height: 9px; background: var(--weseq-surface-2); border-radius: var(--radius-pill); overflow: hidden;
  box-shadow: inset 0 1px 2px color-mix(in srgb, var(--weseq-text) 8%, transparent); }
.weseq-progress > i { display: block; height: 100%; width: 0; background: var(--weseq-accent-grad); border-radius: var(--radius-pill);
  transition: width .4s var(--ease-out); }
.weseq-progress.is-done > i { background: linear-gradient(180deg, color-mix(in srgb, var(--weseq-success) 78%, #fff), var(--weseq-success)); }

/* Tabela weryfikacji / danych */
.weseq-vtable { width: 100%; border-collapse: collapse; font-size: var(--text-sm); background: var(--weseq-surface);
  border: 1px solid var(--weseq-border); border-radius: var(--radius-lg); overflow: hidden; box-shadow: var(--weseq-highlight), var(--weseq-shadow); }
.weseq-vtable th { text-align: left; padding: var(--space-3); background: var(--weseq-bg); border-bottom: 1px solid var(--weseq-border);
  font-size: var(--text-2xs); text-transform: uppercase; letter-spacing: var(--tracking-caps); color: var(--weseq-text-muted); font-weight: 650; }
.weseq-vtable td { padding: var(--space-3); border-bottom: 1px solid var(--weseq-bg); vertical-align: top; }
.weseq-vtable tbody tr:last-child td { border-bottom: 0; }
.weseq-vtable small { display: block; color: var(--weseq-text-muted); font-size: var(--text-xs); margin-top: 3px; }
.weseq-vtable__cat td { background: var(--weseq-surface-2); font-weight: 650; color: var(--weseq-text-muted);
  font-size: var(--text-2xs); text-transform: uppercase; letter-spacing: var(--tracking-caps); }
.weseq-vtable tbody tr:not(.weseq-vtable__cat):hover td { background: var(--weseq-surface-2); }

/* Tooltip-info (ⓘ) liniowy */
.weseq-tipdot { display: inline-flex; align-items: center; justify-content: center; width: 16px; height: 16px;
  border-radius: 50%; background: var(--weseq-surface-2); border: 1px solid var(--weseq-border-strong);
  color: var(--weseq-text-faint); font-size: var(--text-2xs); font-weight: 700; cursor: help; font-style: normal; }

/* Siatka metryk na żywo */
.weseq-statgrid { display: grid; grid-template-columns: repeat(3, 1fr); gap: var(--space-2); }
@media (max-width: 640px){ .weseq-statgrid { grid-template-columns: repeat(2, 1fr); } }
.weseq-statcell { background: var(--weseq-surface-2); border: 1px solid var(--weseq-border); border-radius: var(--radius-md);
  padding: var(--space-2) var(--space-3); box-shadow: var(--weseq-highlight); }
.weseq-statcell__k { display: block; font-size: var(--text-2xs); color: var(--weseq-text-muted); text-transform: uppercase; letter-spacing: var(--tracking-wide); }
.weseq-statcell__v { display: block; font-size: var(--text-lg); font-weight: 650; color: var(--weseq-text); margin-top: 2px; font-variant-numeric: tabular-nums; }
.weseq-statcell__v small { font-weight: 400; color: var(--weseq-text-muted); font-size: var(--text-xs); }

/* Karta-akcja (instrukcja krok po kroku) - lewy pasek akcentu */
.weseq-actcard { border-left: 3px solid var(--weseq-accent); }
.weseq-actcard h3 { font-size: var(--text-md); margin: 0 0 var(--space-1); color: var(--weseq-text); letter-spacing: var(--tracking-snug); }
.weseq-actcard ol { margin: var(--space-2) 0; padding-left: var(--space-5); line-height: 1.65; color: var(--weseq-text-muted); }

/* Blok sekretu / link-hasło z kopiowaniem */
.weseq-kv { display: flex; gap: var(--space-2); align-items: center; flex-wrap: wrap; margin-top: var(--space-2); }
.weseq-kv code { font-size: var(--text-sm); background: var(--weseq-surface-2); border: 1px solid var(--weseq-border);
  padding: var(--space-1) var(--space-2); border-radius: var(--radius-xs); font-family: var(--weseq-font-mono); }

/* Log na żywo - konsola techniczna (ciemna w każdej skórce, premium terminal) */
.weseq-log {
  background: linear-gradient(180deg, #0e1622 0%, #0a0f18 100%);
  color: #cdd9ea;
  border: 1px solid color-mix(in srgb, #0a0f18 55%, var(--weseq-border-strong));
  border-radius: var(--radius-md);
  padding: var(--space-4);
  font-family: var(--weseq-font-mono); font-size: var(--text-sm); line-height: 1.55;
  max-height: 420px; overflow: auto; white-space: pre-wrap; word-break: break-word;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.05), var(--weseq-shadow);
  scrollbar-color: rgba(255,255,255,.18) transparent;
}
.weseq-log::-webkit-scrollbar-thumb { background: rgba(255,255,255,.16); background-clip: content-box; }
/* Opcjonalny pasek tytułu konsoli (3 kropki) gdy log opakowany w .weseq-logwrap */
.weseq-logwrap { border-radius: var(--radius-md); overflow: hidden; box-shadow: var(--weseq-shadow); }
.weseq-logwrap__bar { display: flex; align-items: center; gap: 6px; padding: var(--space-2) var(--space-3);
  background: #0c1320; border-bottom: 1px solid rgba(255,255,255,.06); }
.weseq-logwrap__bar i { width: 10px; height: 10px; border-radius: 50%; background: #2d3650; display: inline-block; }
.weseq-logwrap__bar span { margin-left: var(--space-2); font-size: var(--text-2xs); color: #7d8aa3;
  text-transform: uppercase; letter-spacing: var(--tracking-caps); font-family: var(--weseq-font-mono); }
.weseq-logwrap .weseq-log { border: 0; border-radius: 0; box-shadow: none; }

/* ── Uwagi (komentarze do aplikacji i treści) ──────────────────────────────── */
.weseq-uw-block { margin-top: var(--space-6); }
.weseq-uw-seeall { font-size: var(--text-xs); font-weight: 500; margin-left: var(--space-3); color: var(--weseq-accent); text-decoration: none; }
.weseq-uw-list { display: flex; flex-direction: column; gap: var(--space-3); }

/* pojedynczy wątek */
.weseq-uw-thread { position: relative; background: var(--weseq-surface); border: 1px solid var(--weseq-border);
  border-left: 3px solid var(--uw-c, var(--weseq-accent)); border-radius: var(--radius-md);
  padding: var(--space-3) var(--space-4); }
.weseq-uw-thread--closed { opacity: .62; }
.weseq-uw-thread.is-unseen { box-shadow: 0 0 0 1px var(--uw-c, var(--weseq-accent)) inset; }
.weseq-uw-thread__head { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.weseq-uw-num { display: inline-flex; align-items: center; justify-content: center; min-width: 22px; height: 22px;
  padding: 0 6px; border-radius: 11px; color: #fff; font-size: var(--text-2xs); font-weight: 700; line-height: 1; }
.weseq-uw-author { font-weight: 600; font-size: var(--text-sm); color: var(--weseq-text); }
.weseq-uw-where { font-size: var(--text-xs); color: var(--weseq-text-muted); }
.weseq-uw-open { margin-left: auto; font-size: var(--text-xs); color: var(--weseq-accent); text-decoration: none; }
.weseq-uw-quote { margin: var(--space-2) 0 var(--space-1); padding: var(--space-1) var(--space-3);
  border-left: 2px solid var(--weseq-border); background: var(--weseq-surface-2); color: var(--weseq-text-muted);
  font-size: var(--text-xs); font-style: italic; border-radius: var(--radius-xs); }
.weseq-uw-comment { margin: var(--space-1) 0 0; font-size: var(--text-sm); color: var(--weseq-text); white-space: pre-wrap; }

/* odpowiedzi */
.weseq-uw-replies { margin-top: var(--space-2); display: flex; flex-direction: column; gap: var(--space-1); padding-left: var(--space-2); }
.weseq-uw-reply { display: flex; align-items: baseline; gap: var(--space-2); font-size: var(--text-sm);
  border-left: 2px solid var(--uw-c, var(--weseq-border)); padding-left: var(--space-2); }
.weseq-uw-reply__arrow { width: 14px; height: 14px; color: var(--weseq-text-faint); flex: none; align-self: center; }
.weseq-uw-reply__who { font-weight: 600; flex: none; }
.weseq-uw-reply__body { color: var(--weseq-text); white-space: pre-wrap; }

/* akcje (odpowiedz + zamknij) */
.weseq-uw-actions { display: flex; align-items: center; gap: var(--space-2); margin-top: var(--space-3); flex-wrap: wrap; }
.weseq-uw-replyform { display: flex; gap: var(--space-2); flex: 1; min-width: 220px; }
.weseq-uw-replyinput { flex: 1; min-width: 0; }
.weseq-uw-err { margin-top: var(--space-2); font-size: var(--text-xs); color: var(--weseq-danger); }

/* plakietki stanu */
.weseq-uw-badge { font-size: var(--text-2xs); font-weight: 700; padding: 1px 8px; border-radius: 9px;
  text-transform: uppercase; letter-spacing: .02em; }
.weseq-uw-badge--reply { background: var(--weseq-accent-weak); color: var(--weseq-accent); }
.weseq-uw-badge--closed { background: var(--weseq-surface-2); color: var(--weseq-text-faint); }

/* sekcje per aplikacja (zwijane <details>) */
.weseq-uw-app { border: 1px solid var(--weseq-border); border-radius: var(--radius-md); background: var(--weseq-surface);
  margin-bottom: var(--space-2); overflow: hidden; }
.weseq-uw-app__summary { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-3) var(--space-4);
  cursor: pointer; list-style: none; }
.weseq-uw-app__summary::-webkit-details-marker { display: none; }
.weseq-uw-app__icon { color: var(--weseq-text-muted); display: inline-flex; }
.weseq-uw-app__name { font-weight: 600; font-size: var(--text-sm); }
.weseq-uw-app__total { margin-left: auto; font-size: var(--text-xs); color: var(--weseq-text-faint); }
.weseq-uw-count { display: inline-flex; align-items: center; justify-content: center; min-width: 20px; height: 20px;
  padding: 0 6px; border-radius: 10px; background: var(--weseq-accent); color: #fff; font-size: var(--text-2xs); font-weight: 700; }
.weseq-uw-app[open] .weseq-uw-list { padding: 0 var(--space-4) var(--space-4); }

/* widget na pulpicie: ostatnie uwagi */
.weseq-uw-recent { display: flex; flex-direction: column; gap: var(--space-1); }
.weseq-uw-recent__item { display: flex; align-items: center; gap: var(--space-2); padding: var(--space-2) var(--space-3);
  border: 1px solid var(--weseq-border); border-left: 3px solid var(--uw-c, var(--weseq-accent)); border-radius: var(--radius-sm);
  background: var(--weseq-surface); color: var(--weseq-text); text-decoration: none; }
.weseq-uw-recent__item:hover { background: var(--weseq-surface-2); }
.weseq-uw-recent__who { font-weight: 600; font-size: var(--text-sm); flex: none; }
.weseq-uw-recent__txt { font-size: var(--text-sm); color: var(--weseq-text-muted); overflow: hidden; text-overflow: ellipsis;
  white-space: nowrap; flex: 1; min-width: 0; }
.weseq-uw-recent__where { font-size: var(--text-2xs); color: var(--weseq-text-faint); flex: none; }

/* plakietka liczby uwag na kafelku */
.weseq-tile__uwagi { display: inline-flex; align-items: center; gap: 4px; margin-left: var(--space-2); padding: 1px 7px;
  border-radius: 10px; background: var(--weseq-accent-weak); color: var(--weseq-accent); font-size: var(--text-2xs);
  font-weight: 700; text-decoration: none; }
.weseq-tile__uwagi .weseq-ic { width: 13px; height: 13px; }

/* pasek przekazywania do wdrożenia */
.weseq-uw-toolbar { display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap;
  margin: var(--space-3) 0 var(--space-5); padding: var(--space-3); background: var(--weseq-surface);
  border: 1px solid var(--weseq-border); border-radius: var(--radius-md); }
.weseq-uw-toolbar #uw-instr { flex: 1; min-width: 220px; }
.weseq-uw-toolbar__sep { width: 1px; height: 22px; background: var(--weseq-border); }
.weseq-uw-badge--queued { background: #fef3c7; color: #92600a; }
.weseq-uw-genrow { display: flex; align-items: center; gap: var(--space-3); margin-bottom: var(--space-4); }
.uw-pick { width: 16px; height: 16px; cursor: pointer; accent-color: var(--weseq-accent); flex: none; }

/* segregacja: stan pracy / priorytet (klikalne segmenty) + przypisanie */
.weseq-uw-triage { display: flex; align-items: center; gap: var(--space-3); flex-wrap: wrap; margin-top: var(--space-3); }
.weseq-uw-sel { font-size: var(--text-xs); padding: 3px 8px; border: 1px solid var(--weseq-border);
  border-radius: var(--radius-sm); background: var(--weseq-surface); color: var(--weseq-text); cursor: pointer; }
.weseq-uw-sellbl { display: inline-flex; align-items: center; gap: 6px; font-size: var(--text-2xs);
  text-transform: uppercase; letter-spacing: .03em; color: var(--weseq-text-faint); font-weight: 700; }
.weseq-uw-sellbl .weseq-uw-sel { text-transform: none; letter-spacing: normal; color: var(--weseq-text); font-weight: 400; }

/* segmenty (stan / priorytet) — klik zawsze działa, aktywny podświetlony */
.weseq-uw-seg { display: inline-flex; align-items: stretch; border: 1px solid var(--weseq-border);
  border-radius: var(--radius-sm); overflow: hidden; }
.weseq-uw-seg__lbl { font-size: var(--text-2xs); text-transform: uppercase; letter-spacing: .03em;
  color: var(--weseq-text-faint); font-weight: 700; padding: 0 8px; background: var(--weseq-surface-2);
  display: inline-flex; align-items: center; }
.weseq-uw-segbtn { border: none; border-left: 1px solid var(--weseq-border); background: var(--weseq-surface);
  color: var(--weseq-text-muted); font-size: var(--text-xs); padding: 4px 10px; cursor: pointer; transition: background .12s; }
.weseq-uw-segbtn:hover { background: var(--weseq-surface-2); color: var(--weseq-text); }
.weseq-uw-segbtn.is-active { background: var(--weseq-accent); color: #fff; font-weight: 600; }
.weseq-uw-segbtn--work-zrobione.is-active { background: var(--weseq-success); }
.weseq-uw-segbtn--work-odrzucone.is-active { background: var(--weseq-text-faint); }
.weseq-uw-segbtn--prio-wysoki.is-active { background: var(--weseq-danger); }
.weseq-uw-segbtn--prio-sredni.is-active { background: var(--weseq-warning); }
.weseq-uw-segbtn--prio-niski.is-active { background: var(--weseq-text-faint); }

/* plakietki dla nie-właściciela */
.weseq-uw-prio { font-size: var(--text-2xs); font-weight: 700; padding: 1px 8px; border-radius: 9px; }
.weseq-uw-prio--wysoki { background: #fee2e2; color: #b91c1c; }
.weseq-uw-prio--sredni { background: #fef3c7; color: #92600a; }
.weseq-uw-prio--niski { background: var(--weseq-surface-2); color: var(--weseq-text-faint); }
.weseq-uw-workbadge { font-size: var(--text-2xs); font-weight: 600; color: var(--weseq-text-muted); }
.weseq-uw-assignee { font-size: var(--text-xs); font-weight: 600; }

/* widoczny efekt stanu pracy na wątku */
.weseq-uw-thread--work-zrobione .weseq-uw-comment { color: var(--weseq-text-muted); }
.weseq-uw-thread--work-odrzucone { opacity: .65; }
.weseq-uw-thread--work-odrzucone .weseq-uw-comment { color: var(--weseq-text-faint);
  text-decoration: line-through; text-decoration-color: var(--weseq-text-faint); }

/* statystyki uwag — kafelki liczb + paski rozkładu (skórka panelu) */
.weseq-uwstats { background: var(--weseq-surface); border: 1px solid var(--weseq-border);
  border-radius: var(--radius-lg); padding: var(--space-4); margin-bottom: var(--space-5); box-shadow: var(--weseq-shadow); }
.weseq-uwstats__cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(120px, 1fr)); gap: var(--space-3); }
.weseq-uwstats__card { display: flex; flex-direction: column; gap: 2px; padding: var(--space-3) var(--space-4);
  background: var(--weseq-surface-2); border: 1px solid var(--weseq-border); border-radius: var(--radius-md); }
.weseq-uwstats__num { font-size: 28px; font-weight: 700; line-height: 1.05; color: var(--weseq-text); letter-spacing: -.02em; }
.weseq-uwstats__unit { font-size: 16px; font-weight: 600; color: var(--weseq-text-muted); margin-left: 1px; }
.weseq-uwstats__cap { font-size: var(--text-2xs); text-transform: uppercase; letter-spacing: .04em; color: var(--weseq-text-faint); font-weight: 600; }
.weseq-uwstats__bars { display: grid; grid-template-columns: repeat(auto-fit, minmax(230px, 1fr)); gap: var(--space-4) var(--space-6); margin-top: var(--space-5); }
.weseq-uwstats__gh { font-size: var(--text-2xs); text-transform: uppercase; letter-spacing: .04em; color: var(--weseq-text-faint); font-weight: 700; margin: 0 0 var(--space-2); }
.weseq-uwbar { display: grid; grid-template-columns: 92px 1fr 26px; align-items: center; gap: var(--space-2); margin: 5px 0; }
.weseq-uwbar__l { font-size: var(--text-xs); color: var(--weseq-text-muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.weseq-uwbar__track { height: 8px; background: var(--weseq-surface-2); border: 1px solid var(--weseq-border); border-radius: 5px; overflow: hidden; }
.weseq-uwbar__fill { display: block; height: 100%; border-radius: 5px; background: var(--weseq-accent); transition: width .3s ease; }
.weseq-uwbar__fill--wysoki { background: var(--weseq-danger); }
.weseq-uwbar__fill--sredni { background: var(--weseq-warning); }
.weseq-uwbar__fill--niski { background: var(--weseq-text-faint); }
.weseq-uwbar__fill--work-zrobione { background: var(--weseq-success); }
.weseq-uwbar__fill--work-odrzucone { background: var(--weseq-text-faint); }
.weseq-uwbar__fill--work-w_toku { background: var(--weseq-accent); }
.weseq-uwbar__fill--work-nowe { background: #8b9bb4; }
.weseq-uwbar__n { font-size: var(--text-xs); font-weight: 700; color: var(--weseq-text); text-align: right; }

/* ============================================================
   REDESIGN 10/10 (Dyspozytornia) - komponenty dodane do kanonu 2026-06-14.
   Additywne; strony dziedziczą zamiast re-implementować lokalnie.
   ============================================================ */
:root {
  --weseq-inset: inset 0 1px 2px color-mix(in srgb, var(--weseq-text) 6%, transparent);
  --weseq-scrim: color-mix(in srgb, #0b0d11 55%, transparent);
  --weseq-thead-bg: linear-gradient(180deg, var(--weseq-surface) 0%, var(--weseq-surface-2) 100%);
  --weseq-info-weak: color-mix(in srgb, var(--weseq-info) 13%, var(--weseq-surface));
}

/* Kontener: wąska kolumna dla formularzy */
.weseq-container--narrow { max-width: 820px; }

/* Skip-link + a11y helper */
.weseq-skip { position: absolute; left: -999px; top: 0; z-index: 100; background: var(--weseq-accent);
  color: #fff; padding: 10px 16px; border-radius: 0 0 var(--radius-sm) 0; font-weight: 600; }
.weseq-skip:focus { left: 0; }
.weseq-visually-hidden { position: absolute !important; width: 1px; height: 1px; padding: 0; margin: -1px;
  overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }

/* === Page header (pasek tytułu pod app-barem; bez marki) === */
.weseq-pagehead { display: flex; align-items: flex-end; gap: var(--space-4); margin: 0 0 var(--space-6); flex-wrap: wrap; }
.weseq-pagehead__main { min-width: 0; }
.weseq-pagehead__title { font-size: var(--text-3xl); font-weight: 700; letter-spacing: var(--tracking-tight);
  margin: 0; line-height: 1.12; color: var(--weseq-text); }
.weseq-pagehead__sub { font-size: var(--text-sm); color: var(--weseq-text-muted); margin: 6px 0 0; max-width: 70ch; }
.weseq-pagehead__actions { margin-left: auto; display: flex; align-items: center; gap: var(--space-2); flex-wrap: wrap; }
.weseq-pagehead__tag { font-size: var(--text-2xs); font-weight: 700; text-transform: uppercase;
  letter-spacing: var(--tracking-caps); color: var(--weseq-warning); background: var(--weseq-warning-weak);
  border-radius: var(--radius-pill); padding: 5px 12px; white-space: nowrap; }
.weseq-pagehead__tag--ok { color: var(--weseq-success); background: var(--weseq-success-weak); }

/* === Breadcrumb === */
.weseq-crumbs { display: flex; align-items: center; gap: 7px; font-size: var(--text-sm); color: var(--weseq-text-faint);
  margin: 0 0 var(--space-2); }
.weseq-crumbs a { color: var(--weseq-text-muted); text-decoration: none; font-weight: 600; }
.weseq-crumbs a:hover { color: var(--weseq-accent); }
.weseq-crumbs__sep { color: var(--weseq-text-faint); }

/* === Karty statystyk (KPI) === */
.weseq-statcards { display: grid; grid-template-columns: repeat(4, 1fr); gap: var(--space-4); margin: 0 0 var(--space-5); }
.weseq-stat { --_c: var(--weseq-accent); --_bg: var(--weseq-accent-weak);
  position: relative; overflow: hidden; background: var(--weseq-surface); border: 1px solid var(--weseq-border);
  border-radius: var(--radius-lg); padding: var(--space-4) var(--space-5); box-shadow: var(--weseq-shadow-sm);
  display: flex; align-items: center; gap: var(--space-4); transition: transform .14s ease, box-shadow .14s ease; }
.weseq-stat:hover { transform: translateY(-2px); box-shadow: var(--weseq-shadow-elev); }
.weseq-stat::after { content: ""; position: absolute; right: -28px; top: -28px; width: 90px; height: 90px;
  border-radius: 50%; background: radial-gradient(circle, var(--_bg) 0%, transparent 70%); opacity: .8; }
.weseq-stat__icon { flex-shrink: 0; width: 42px; height: 42px; border-radius: var(--radius-md); display: grid;
  place-items: center; background: var(--_bg); color: var(--_c); }
.weseq-stat__icon .weseq-ic { width: 21px; height: 21px; }
.weseq-stat__body { position: relative; z-index: 1; min-width: 0; }
.weseq-stat__v { font-size: var(--text-4xl); font-weight: 750; line-height: 1; color: var(--weseq-text); font-variant-numeric: tabular-nums; }
.weseq-stat__k { font-size: var(--text-2xs); font-weight: 700; text-transform: uppercase; letter-spacing: var(--tracking-wide);
  color: var(--weseq-text-muted); margin-top: 5px; }
.weseq-stat--in    { --_c: var(--weseq-accent);  --_bg: var(--weseq-accent-weak); }
.weseq-stat--out   { --_c: var(--weseq-info);     --_bg: var(--weseq-info-weak); }
.weseq-stat--draft { --_c: var(--weseq-warning);  --_bg: var(--weseq-warning-weak); }
.weseq-stat--today { --_c: var(--weseq-success);  --_bg: var(--weseq-success-weak); }

/* === Pigułki statusu === */
.weseq-pill { display: inline-flex; align-items: center; gap: 6px; font-size: var(--text-xs); font-weight: 650;
  padding: 3px 11px 3px 9px; border-radius: var(--radius-pill); white-space: nowrap; border: 1px solid transparent; }
.weseq-pill::before { content: ""; width: 6px; height: 6px; border-radius: 50%; background: currentColor; flex-shrink: 0; }
.weseq-pill--ok   { color: var(--weseq-success); background: var(--weseq-success-weak); border-color: color-mix(in srgb, var(--weseq-success) 22%, transparent); }
.weseq-pill--warn { color: var(--weseq-warning); background: var(--weseq-warning-weak); border-color: color-mix(in srgb, var(--weseq-warning) 22%, transparent); }
.weseq-pill--bad  { color: var(--weseq-danger);  background: var(--weseq-danger-weak);  border-color: color-mix(in srgb, var(--weseq-danger) 22%, transparent); }
.weseq-pill--info { color: var(--weseq-info);     background: var(--weseq-info-weak);    border-color: color-mix(in srgb, var(--weseq-info) 22%, transparent); }
.weseq-pill--na   { color: var(--weseq-text-muted); background: var(--weseq-surface-2); border-color: var(--weseq-border); }
.weseq-pill--live::before { animation: weseq-pulse 1.6s ease-in-out infinite; }
@keyframes weseq-pulse { 0%,100% { opacity: 1; transform: scale(1); } 50% { opacity: .4; transform: scale(.7); } }
@media (prefers-reduced-motion: reduce) { .weseq-pill--live::before { animation: none; } }

/* === Chip przewoźnika (kropka w kolorze marki) === */
.weseq-carrier { display: inline-flex; align-items: center; gap: 6px; font-size: var(--text-xs); font-weight: 650;
  padding: 3px 10px; border-radius: var(--radius-pill); background: var(--weseq-surface-2); color: var(--weseq-text);
  border: 1px solid var(--weseq-border); }
.weseq-carrier::before { content: ""; width: 7px; height: 7px; border-radius: 2px; background: var(--weseq-text-muted); }
.weseq-carrier--apaczka::before  { background: #e2001a; }
.weseq-carrier--ups::before      { background: #6b4a2b; }
.weseq-carrier--goexpress::before{ background: #f59e0b; }
.weseq-carrier--inpost::before   { background: #ffcc00; }
.weseq-carrier--dpd::before      { background: #dc0032; }
.weseq-carrier--dhl::before      { background: #d40511; }
.weseq-carrier--fake::before     { background: var(--weseq-text-faint); }
.weseq-carrier__sub { color: var(--weseq-text-faint); font-weight: 500; margin-left: 2px; }

/* === Akcje wiersza: prymarna + menu kebab === */
.weseq-rowact { display: inline-flex; align-items: center; gap: var(--space-1); }
.weseq-rowact__primary { display: inline-flex; align-items: center; gap: 5px; padding: 5px 11px; border-radius: var(--radius-sm);
  font-size: var(--text-sm); font-weight: 650; color: var(--weseq-accent); background: var(--weseq-accent-weak);
  border: 0; cursor: pointer; text-decoration: none; transition: filter .12s; }
.weseq-rowact__primary:hover { filter: brightness(.96); }
.weseq-kebab { width: 30px; height: 30px; border-radius: var(--radius-sm); border: 1px solid var(--weseq-border);
  background: var(--weseq-surface); color: var(--weseq-text-muted); cursor: pointer; display: grid; place-items: center;
  font-size: 17px; line-height: 1; transition: background .12s, border-color .12s; }
.weseq-kebab:hover, .weseq-kebab[aria-expanded="true"] { background: var(--weseq-surface-2); border-color: var(--weseq-border-strong); color: var(--weseq-text); }
.weseq-menu { position: absolute; z-index: 40; min-width: 190px; background: var(--weseq-surface);
  border: 1px solid var(--weseq-border-strong); border-radius: var(--radius-md); box-shadow: var(--weseq-shadow-lg);
  padding: 6px; display: none; }
.weseq-menu.is-open { display: block; }
.weseq-menu button, .weseq-menu a { display: flex; width: 100%; align-items: center; gap: 8px; padding: 8px 10px;
  border: 0; background: none; border-radius: var(--radius-xs); font: inherit; font-size: var(--text-sm); font-weight: 600;
  color: var(--weseq-text); text-align: left; cursor: pointer; text-decoration: none; }
.weseq-menu button:hover, .weseq-menu a:hover { background: var(--weseq-surface-2); }
.weseq-menu button[disabled] { color: var(--weseq-text-faint); cursor: not-allowed; }
.weseq-menu button.is-danger { color: var(--weseq-danger); }
.weseq-menu__sep { height: 1px; background: var(--weseq-border); margin: 5px 4px; }

/* === Segmented control === */
.weseq-segctl { display: inline-flex; background: var(--weseq-surface-2); border: 1px solid var(--weseq-border);
  border-radius: var(--radius-pill); padding: 3px; gap: 2px; }
.weseq-segctl button { border: 0; background: none; color: var(--weseq-text-muted); font: inherit; font-size: var(--text-sm);
  font-weight: 650; padding: 6px 14px; border-radius: var(--radius-pill); cursor: pointer; transition: background .12s, color .12s; }
.weseq-segctl button:hover { color: var(--weseq-text); }
.weseq-segctl button.is-active { background: var(--weseq-surface); color: var(--weseq-accent); box-shadow: var(--weseq-shadow-sm); }

/* === Modal (jeden styl, scale-in, scrim, focus-friendly) === */
.weseq-modal-bg { position: fixed; inset: 0; background: var(--weseq-scrim); display: none; align-items: center;
  justify-content: center; z-index: 60; padding: var(--space-4); }
.weseq-modal-bg.is-open { display: flex; }
.weseq-modal { background: var(--weseq-surface); border-radius: var(--radius-xl); box-shadow: var(--weseq-shadow-lg);
  width: 92vw; max-width: 560px; max-height: 88vh; overflow: auto; animation: weseq-modal-in .16s ease; }
.weseq-modal__head { padding: var(--space-5) var(--space-5) var(--space-3); }
.weseq-modal__head h3 { margin: 0; font-size: var(--text-lg); font-weight: 700; }
.weseq-modal__body { padding: 0 var(--space-5) var(--space-4); }
.weseq-modal__foot { display: flex; justify-content: flex-end; gap: var(--space-2); padding: var(--space-4) var(--space-5);
  border-top: 1px solid var(--weseq-border); position: sticky; bottom: 0; background: var(--weseq-surface); }
@keyframes weseq-modal-in { from { opacity: 0; transform: scale(.97) translateY(6px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .weseq-modal { animation: none; } }

/* === Tabela operacyjna (gęsta, hover, czytelny nagłówek) === */
.weseq-vtable--ops th { background: var(--weseq-thead-bg); font-size: var(--text-2xs); text-transform: uppercase;
  letter-spacing: var(--tracking-wide); color: var(--weseq-text-muted); }
.weseq-vtable--ops td { vertical-align: middle; padding-top: var(--space-3); padding-bottom: var(--space-3); }
.weseq-vtable--ops tbody tr { transition: background .1s; }
.weseq-vtable--ops tbody tr:hover td { background: var(--weseq-surface-2); }
.weseq-vtable--ops td:first-child { color: var(--weseq-text-faint); font-variant-numeric: tabular-nums; }

/* ============================================================
   FUNDAMENT RESPONSYWNY (sesja 11 - redesign 10/10)
   ============================================================ */
/* Wrappery stron: spójna szerokość/padding, mniejszy padding na telefonie */
.dy-wrap, .np-wrap, .pz-wrap, .adr-wrap, .na-wrap, .pm-wrap { width: 100%; box-sizing: border-box; }
@media (max-width: 768px) {
  .dy-wrap, .np-wrap, .pz-wrap, .adr-wrap, .na-wrap, .pm-wrap {
    padding: var(--space-5) var(--space-4) var(--space-7);
  }
}

/* Karty KPI: 4 -> 2 kolumny na tablecie/telefonie (koniec pustych ikon) */
@media (max-width: 880px) { .weseq-statcards { grid-template-columns: repeat(2, 1fr); gap: var(--space-3); } }
@media (max-width: 440px) {
  .weseq-stat { padding: var(--space-3) var(--space-4); gap: var(--space-3); }
  .weseq-stat__icon { width: 36px; height: 36px; }
  .weseq-stat__icon .weseq-ic { width: 18px; height: 18px; }
  .weseq-stat__v { font-size: var(--text-3xl); }
}

/* Tabela operacyjna -> KARTY na telefonie i tablecie (każdy wiersz = karta, etykiety z data-label) */
@media (max-width: 768px) {
  .weseq-vtable--ops thead { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; border: 0; }
  .weseq-vtable--ops, .weseq-vtable--ops tbody, .weseq-vtable--ops tr, .weseq-vtable--ops td { display: block; width: 100%; }
  .weseq-vtable--ops { background: transparent; border: 0; box-shadow: none; }
  .weseq-vtable--ops tr { background: var(--weseq-surface); border: 1px solid var(--weseq-border); border-radius: var(--radius-md);
    margin-bottom: var(--space-3); padding: var(--space-2) var(--space-4) var(--space-3); box-shadow: var(--weseq-shadow-sm); }
  .weseq-vtable--ops tbody tr:hover td { background: transparent; }
  .weseq-vtable--ops td { border: 0 !important; padding: 7px 0; display: flex; align-items: center;
    justify-content: space-between; gap: var(--space-4); text-align: right; min-height: 0; }
  .weseq-vtable--ops td::before { content: attr(data-label); font-size: var(--text-2xs); font-weight: 700;
    text-transform: uppercase; letter-spacing: var(--tracking-wide); color: var(--weseq-text-muted); text-align: left; flex-shrink: 0; }
  .weseq-vtable--ops td.weseq-tcard-lp { display: none; }
  .weseq-vtable--ops td.weseq-tcard-act { justify-content: flex-start; gap: var(--space-2); border-top: 1px solid var(--weseq-border) !important;
    margin-top: 4px; padding-top: var(--space-3); }
  .weseq-vtable--ops td.weseq-tcard-act::before { content: ""; }
  .weseq-vtable--ops td.weseq-tcard-act .weseq-rowact, .weseq-vtable--ops td.weseq-tcard-act .adr-actions { width: 100%; }
  .weseq-vtable--ops td.weseq-tcard-act .weseq-rowact__primary { flex: 1; justify-content: center; }
  /* wiersz pustego stanu (colspan) - bez etykiety, wyśrodkowany */
  .weseq-vtable--ops td[colspan]::before { content: ""; }
  .weseq-vtable--ops td[colspan] { justify-content: center; text-align: center; }
}

/* === Przewijalny kontener tabel referencyjnych (np. Pomoc) - bez rozpychania strony === */
.weseq-tscroll { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; border-radius: var(--radius-md); }
@media (max-width: 760px) { .weseq-tscroll > table { min-width: 560px; } }

/* === Stan pusty === */
.weseq-empty { display: flex; flex-direction: column; align-items: center; text-align: center; gap: 6px;
  padding: var(--space-8) var(--space-4); color: var(--weseq-text-muted); }
.weseq-empty__icon { width: 46px; height: 46px; border-radius: var(--radius-lg); display: grid; place-items: center;
  background: var(--weseq-surface-2); color: var(--weseq-text-faint); margin-bottom: var(--space-1); }
.weseq-empty__icon svg { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.weseq-empty__title { font-weight: 650; color: var(--weseq-text); font-size: var(--text-base); }
.weseq-empty__sub { font-size: var(--text-sm); max-width: 46ch; line-height: 1.5; }
.weseq-empty__cta { margin-top: var(--space-3); }

/* === Lifecycle (cykl życia rekordu: Szkic->Gotowa->Nadana) - kółka z łącznikami i checkmarkiem === */
.weseq-lifecycle { display: flex; list-style: none; margin: 0 0 var(--space-5); padding: 0; }
.weseq-lifecycle__step { flex: 1; display: flex; flex-direction: column; align-items: center; gap: 7px; position: relative;
  font-size: var(--text-xs); font-weight: 650; color: var(--weseq-text-faint); }
.weseq-lifecycle__step::before, .weseq-lifecycle__step::after { content: ""; position: absolute; top: 14px; height: 2px; background: var(--weseq-border); z-index: 0; }
.weseq-lifecycle__step::before { left: 0; right: 50%; margin-right: 18px; }
.weseq-lifecycle__step::after  { left: 50%; right: 0; margin-left: 18px; }
.weseq-lifecycle__step:first-child::before, .weseq-lifecycle__step:last-child::after { display: none; }
.weseq-lifecycle__dot { width: 30px; height: 30px; border-radius: 50%; display: grid; place-items: center;
  background: var(--weseq-surface); border: 2px solid var(--weseq-border); color: var(--weseq-text-faint);
  font-weight: 700; font-size: var(--text-sm); position: relative; z-index: 1; transition: all .15s ease; }
.weseq-lifecycle__step.is-done { color: var(--weseq-success); }
.weseq-lifecycle__step.is-done .weseq-lifecycle__dot { background: var(--weseq-success); border-color: var(--weseq-success); color: #fff; }
.weseq-lifecycle__step.is-done::before, .weseq-lifecycle__step.is-done::after { background: var(--weseq-success); }
.weseq-lifecycle__step.is-cur { color: var(--weseq-accent); }
.weseq-lifecycle__step.is-cur .weseq-lifecycle__dot { border-color: var(--weseq-accent); color: var(--weseq-accent); box-shadow: 0 0 0 4px var(--weseq-accent-weak); }
.weseq-lifecycle__step.is-cur::before { background: var(--weseq-success); }
.weseq-lifecycle__step.is-fail { color: var(--weseq-danger); }
.weseq-lifecycle__step.is-fail .weseq-lifecycle__dot { border-color: var(--weseq-danger); color: var(--weseq-danger); background: var(--weseq-danger-weak); }

/* === Szkielet ładowania (shimmer) === */
.weseq-skeleton { position: relative; overflow: hidden; background: var(--weseq-surface-2); border-radius: var(--radius-xs); }
.weseq-skeleton::after { content: ""; position: absolute; inset: 0; transform: translateX(-100%);
  background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--weseq-surface) 75%, transparent), transparent);
  animation: weseq-shimmer 1.3s infinite; }
.weseq-skel-line { height: 12px; margin: 7px 0; }
.weseq-skel-line--60 { width: 60%; } .weseq-skel-line--40 { width: 40%; } .weseq-skel-line--80 { width: 80%; }
@keyframes weseq-shimmer { 100% { transform: translateX(100%); } }
@media (prefers-reduced-motion: reduce) { .weseq-skeleton::after { animation: none; } }
