/* =====================================================================
   PANEL CENTRALNY (adres panelu centralnego) – arkusz konsoli administratora platformy, prefiks pc-.
   Na podstawie makiety UX R1 (centralny\r1\ux-centralny.css): tokeny z rodziny style.css, WŁASNA stała
   tożsamość konsoli (grafitowy pasek boczny, akcent #2a46c4 – nigdy kolor marki firmy klienta).
   Marka właściciela platformy (firma główna): arkusz /marka.css nadpisuje zmienne --pc-* (centralny/marka.py);
   bez ustawionej marki arkusz jest pusty i zostaje wygląd neutralny z tego pliku.
   Ładowany wyłącznie przez szablony templates/centralny/* – style.css i strony firm bez zmian.
   CSP panelu: style-src 'self' – bez stylów w atrybutach; szerokości pasków = klasy .w-0…w-100 (niżej),
   kolor firmy = klasa .f-<id> z arkusza /kolory-firm.css.
   ===================================================================== */
:root {
    --ink: #1f2430; --text-2: #4b5563; --text-3: #5f6672; --text-4: #6b7280;
    --line: #e2e4e8; --line-soft: #eef0f3; --line-strong: #8f949c;
    --surface: #fff; --surface-2: #f8f9fb; --page: #eef1f5;
    --r-sm: 6px; --r-md: 8px; --r-lg: 12px; --r-pill: 999px;
    --ok-bg: #f2f9f3; --ok-line: #cfe8d4; --ok-fg: #1f6b33;
    --warn-bg: #fff7ed; --warn-line: #fde3c4; --warn-fg: #8a4b00;
    --err-bg: #fdecea; --err-line: #f5c2c0; --err-fg: #b71c1c;
    /* tożsamość panelu centralnego – stała, niezależna od marek firm */
    --pc-side: #151a24;        /* tło paska bocznego */
    --pc-side-2: #232a39;      /* aktywna pozycja */
    --pc-side-fg: #dfe3ea;     /* 13,9:1 na --pc-side */
    --pc-side-muted: #a3acbd;  /* 7,6:1 na --pc-side */
    --pc-side-hover: #1d2331; --pc-side-line: #262e3f; --pc-side-cnt: #343d52; --pc-side-btn-line: #3a4459;
    --pc-side-ind: #8ea2ff;    /* wskaźnik aktywnej pozycji */
    --pc-side-focus: #9db0ff;  /* fokus na pasku */
    --pc-acc: #2a46c4;         /* akcent konsoli: 7,6:1 na bieli */
    --pc-acc-ink: #1d338f;
    --pc-acc-tint: #eef1fd; --pc-acc-line: #c9d2f6;
    --info-bg: #eef4fb; --info-line: #c8daf0; --info-fg: #1b4f86;
    --focus: #2a46c4;
    --side-w: 244px; --top-h: 56px;
}
* { box-sizing: border-box; }
html { scroll-padding-top: calc(var(--top-h) + 16px); } /* WCAG 2.4.11 – fokus nie znika pod lepkim paskiem */
body { margin: 0; font: 14px/1.5 -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif; color: var(--ink); background: var(--page); }
a { color: var(--pc-acc); }
a:hover { color: var(--pc-acc-ink); }
:focus-visible { outline: 2px solid var(--focus); outline-offset: 2px; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
.skip-link { position: absolute; left: 8px; top: -60px; z-index: 100; padding: 10px 14px; background: #fff; color: var(--ink); border: 2px solid var(--focus); border-radius: var(--r-md); font-weight: 600; }
.skip-link:focus { top: 8px; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; scroll-behavior: auto !important; } }
h1, h2, h3 { line-height: 1.25; }
code, .mono { font-family: ui-monospace, SFMono-Regular, Consolas, monospace; font-size: 12.5px; }
.num { font-variant-numeric: tabular-nums; text-align: right; white-space: nowrap; }
.muted { color: var(--text-3); }
.hint { margin: 4px 0 0; font-size: 12.5px; color: var(--text-3); line-height: 1.45; }

/* ---------- Szkielet: pasek boczny + treść ---------- */
.pc-app { display: grid; grid-template-columns: var(--side-w) minmax(0, 1fr); min-height: 100vh; }
.pc-side { background: var(--pc-side); color: var(--pc-side-fg); position: sticky; top: 0; height: 100vh; overflow-y: auto; display: flex; flex-direction: column; }
.pc-brand { display: flex; align-items: center; gap: 10px; padding: 16px 18px 14px; border-bottom: 1px solid var(--pc-side-line); text-decoration: none; color: inherit; }
.pc-mark { width: 30px; height: 30px; border-radius: 8px; background: var(--pc-acc); display: grid; place-items: center; flex: 0 0 auto; }
.pc-mark svg { width: 18px; height: 18px; }
.pc-brand b { display: block; font-size: 14.5px; letter-spacing: .01em; color: #fff; }
.pc-brand small { display: block; font-size: 11.5px; color: var(--pc-side-muted); }
.pc-menu-btn { display: none; }
.pc-nav { padding: 10px 10px 16px; flex: 1 1 auto; }
.pc-nav h2, .pc-nav .pc-nav-h { margin: 16px 10px 6px; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: var(--pc-side-muted); }
.pc-nav ul { list-style: none; margin: 0; padding: 0; }
.pc-nav a { display: flex; align-items: center; justify-content: space-between; gap: 8px; min-height: 36px; padding: 6px 10px; border-radius: var(--r-md);
            color: var(--pc-side-fg); text-decoration: none; font-size: 13.5px; font-weight: 600; }
.pc-nav a:hover { background: var(--pc-side-hover); color: #fff; }
.pc-nav a[aria-current] { background: var(--pc-side-2); color: #fff; box-shadow: inset 3px 0 0 var(--pc-side-ind); }
.pc-nav .pc-cnt { font-size: 11.5px; font-weight: 700; padding: 1px 7px; border-radius: var(--r-pill); background: var(--pc-side-cnt); color: #fff; }
.pc-nav .pc-cnt-err { background: #c62828; }
.pc-side-foot { padding: 12px 18px 16px; border-top: 1px solid var(--pc-side-line); font-size: 12.5px; color: var(--pc-side-muted); }
.pc-side-foot a { color: var(--pc-side-fg); }
.pc-side-foot p { margin: 0 0 6px; }
:where(.pc-side) :focus-visible { outline-color: var(--pc-side-focus); }
/* Logo właściciela platformy (firma główna, /marka/logo*) zamiast znaku z kwadratów – tylko gdy jest ustawione */
.pc-brand-logo { flex-direction: column; align-items: flex-start; gap: 10px; }
.pc-logo-chip { display: block; max-width: 100%; padding: 7px 10px; border-radius: var(--r-md); background: #fff; }
.pc-logo { display: block; width: auto; height: auto; max-width: 100%; max-height: 26px; }

.pc-main { min-width: 0; display: flex; flex-direction: column; }
.pc-top { position: sticky; top: 0; z-index: 20; height: var(--top-h); display: flex; align-items: center; gap: 14px; padding: 0 24px;
          background: #fff; border-bottom: 1px solid var(--line); }
.pc-env { display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
          color: var(--pc-acc-ink); background: var(--pc-acc-tint); border: 1px solid var(--pc-acc-line); border-radius: var(--r-pill); padding: 3px 10px; white-space: nowrap; }
.pc-crumbs { font-size: 13px; color: var(--text-3); min-width: 0; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-crumbs ol { display: inline; list-style: none; margin: 0; padding: 0; }
.pc-crumbs li { display: inline; }
.pc-crumbs li + li::before { content: "/"; margin: 0 6px; color: var(--line-strong); }
.pc-crumbs a { color: var(--text-2); text-decoration: none; }
.pc-crumbs a:hover { text-decoration: underline; }
.pc-search { margin-left: auto; display: flex; align-items: center; }
.pc-search input { width: 300px; min-height: 36px; padding: 6px 12px; border: 1px solid var(--line-strong); border-radius: var(--r-md); font: inherit; background: var(--surface-2); }
.pc-search input:focus { background: #fff; }
.pc-user { font-size: 13px; color: var(--text-2); white-space: nowrap; }
.pc-user b { color: var(--ink); }
.pc-content { padding: 22px 24px 48px; max-width: 1360px; width: 100%; }

/* ---------- Nagłówek strony ---------- */
.pc-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 10px 16px; margin: 0 0 18px; }
.pc-head h1 { margin: 0; font-size: 22px; }
.pc-head p { margin: 4px 0 0; color: var(--text-3); font-size: 13.5px; }
.pc-actions { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; }

/* ---------- Przyciski ---------- */
.btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 36px; padding: 7px 14px; border-radius: var(--r-md);
       font: 600 13.5px/1.2 inherit; font-family: inherit; cursor: pointer; text-decoration: none; border: 1px solid transparent; white-space: nowrap; }
.btn-pri { background: var(--pc-acc); color: #fff; }
.btn-pri:hover { background: var(--pc-acc-ink); color: #fff; }
.btn-sec { background: #fff; color: var(--ink); border-color: #b9bec6; }
.btn-sec:hover { background: var(--surface-2); color: var(--ink); }
.btn-danger { background: #b71c1c; color: #fff; }
.btn-danger:hover { background: #8e1515; color: #fff; }
.btn-danger-o { background: #fff; color: #b71c1c; border-color: var(--err-line); }
.btn-danger-o:hover { background: var(--err-bg); color: #8e1515; }
.btn-link { background: none; border: 0; padding: 4px 2px; min-height: 28px; color: var(--pc-acc); font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.btn[disabled], .btn[aria-disabled="true"] { opacity: .5; cursor: not-allowed; }
.btn-sm { min-height: 30px; padding: 4px 10px; font-size: 12.5px; }

/* ---------- Karty ---------- */
.pc-card { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 18px 20px; margin: 0 0 16px; box-shadow: 0 1px 2px rgba(16, 24, 40, .05); }
.pc-card > h2, .pc-card-h h2 { margin: 0; font-size: 15px; }
.pc-card-h { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 14px; margin: 0 0 12px; padding: 0 0 10px; border-bottom: 1px solid var(--line-soft); }
.pc-card > h2 { margin-bottom: 12px; padding-bottom: 10px; border-bottom: 1px solid var(--line-soft); }
.pc-card h3 { font-size: 14px; margin: 16px 0 8px; }
.pc-card-h a { font-size: 13px; font-weight: 600; }
.pc-grid { display: grid; gap: 16px; grid-template-columns: repeat(12, minmax(0, 1fr)); align-items: start; }
.pc-grid > * { margin-bottom: 0; }
.c-12 { grid-column: span 12; } .c-8 { grid-column: span 8; } .c-7 { grid-column: span 7; } .c-6 { grid-column: span 6; } .c-5 { grid-column: span 5; } .c-4 { grid-column: span 4; }

/* ---------- Znaczniki stanu – zawsze tekst (+ kształt), nie sam kolor ---------- */
.b { display: inline-flex; align-items: center; gap: 5px; font-size: 12px; font-weight: 700; line-height: 1.3; padding: 2px 8px; border-radius: var(--r-pill);
     border: 1px solid var(--line); background: var(--surface-2); color: var(--text-2); white-space: nowrap; }
.b::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: currentColor; flex: 0 0 auto; }
.b-ok { background: var(--ok-bg); color: var(--ok-fg); border-color: var(--ok-line); }
.b-warn { background: var(--warn-bg); color: var(--warn-fg); border-color: var(--warn-line); }
.b-warn::before { border-radius: 1px; transform: rotate(45deg); }
.b-err { background: var(--err-bg); color: var(--err-fg); border-color: var(--err-line); }
.b-err::before { border-radius: 1px; }
.b-info { background: var(--info-bg); color: var(--info-fg); border-color: var(--info-line); }
.b-off { background: #fff; color: var(--text-3); border-style: dashed; border-color: var(--line-strong); }
.b-off::before { background: transparent; border: 1.5px solid currentColor; }
.b-plain::before { display: none; }

/* ---------- KPI ---------- */
.pc-kpis { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; margin: 0 0 16px; padding: 0; list-style: none; }
.pc-kpi { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); padding: 14px 16px; display: flex; flex-direction: column; gap: 4px; min-width: 0; }
.pc-kpi h2 { margin: 0; font-size: 12.5px; font-weight: 600; color: var(--text-3); }
.pc-kpi .v { font-size: 26px; font-weight: 700; line-height: 1.15; font-variant-numeric: tabular-nums; color: var(--ink); }
.pc-kpi .v small { font-size: 14px; color: var(--text-3); font-weight: 600; }
.pc-kpi .s { font-size: 12.5px; color: var(--text-2); }
.pc-kpi .s a { font-weight: 600; }
.pc-kpi-split { display: flex; flex-wrap: wrap; gap: 4px 12px; font-size: 12.5px; color: var(--text-2); margin: 2px 0 0; padding: 0; list-style: none; }
.pc-kpi-split b { color: var(--ink); font-variant-numeric: tabular-nums; }
.pc-meter { height: 8px; border-radius: 4px; background: var(--line-soft); overflow: hidden; margin: 6px 0 2px; }
.pc-meter > span { display: block; height: 100%; background: var(--pc-acc); }
.pc-meter.warn > span { background: #c26a00; }
.pc-meter.err > span { background: #c62828; }

/* ---------- Alarmy / komunikaty ---------- */
.pc-alert { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 2px 10px; padding: 12px 14px; border-radius: var(--r-md); border: 1px solid var(--info-line); background: var(--info-bg); margin: 0 0 14px; font-size: 13.5px; }
.pc-alert::before { content: "i"; grid-row: 1 / span 3; width: 20px; height: 20px; border-radius: 50%; background: var(--info-fg); color: #fff; font: 700 12px/20px Georgia, serif; text-align: center; margin-top: 1px; }
.pc-alert b, .pc-alert strong { color: var(--ink); }
.pc-alert p { margin: 0; }
.pc-alert ul { margin: 4px 0 0; padding-left: 18px; }
.pc-alert-ok { border-color: var(--ok-line); background: var(--ok-bg); }
.pc-alert-ok::before { content: "✓"; background: var(--ok-fg); font-family: inherit; }
.pc-alert-warn { border-color: var(--warn-line); background: var(--warn-bg); }
.pc-alert-warn::before { content: "!"; background: #a35a00; font-family: inherit; border-radius: 3px; }
.pc-alert-err { border-color: var(--err-line); background: var(--err-bg); }
.pc-alert-err::before { content: "!"; background: var(--err-fg); font-family: inherit; }
.pc-alarms { list-style: none; margin: 0; padding: 0; }
.pc-alarms li { display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 4px 12px; align-items: center; padding: 10px 0; border-bottom: 1px solid var(--line-soft); }
.pc-alarms li:last-child { border-bottom: 0; }
.pc-alarms p { margin: 0; font-size: 13.5px; }
.pc-alarms small { display: block; color: var(--text-3); font-size: 12.5px; }

/* ---------- Tabele ---------- */
.pc-twrap { overflow-x: auto; border: 1px solid var(--line); border-radius: var(--r-md); }
.pc-table { width: 100%; border-collapse: collapse; font-size: 13.5px; background: #fff; }
.pc-table caption { text-align: left; }
.pc-table th, .pc-table td { padding: 9px 12px; border-bottom: 1px solid var(--line-soft); text-align: left; vertical-align: top; }
.pc-table thead th { font-size: 12px; font-weight: 700; color: var(--text-3); background: var(--surface-2); border-bottom: 1px solid var(--line); white-space: nowrap; vertical-align: bottom; }
.pc-table tbody tr:hover { background: #fafbfd; }
.pc-table tbody tr:last-child > * { border-bottom: 0; }
.pc-table tbody th { font-weight: 600; }
.pc-table .sub { display: block; font-size: 12px; font-weight: 400; color: var(--text-3); }
.pc-table a.rowlink { font-weight: 700; color: var(--ink); text-decoration: none; }
.pc-table a.rowlink:hover { color: var(--pc-acc); text-decoration: underline; }
.pc-table .acts { text-align: right; white-space: nowrap; }
.pc-sort { display: inline-flex; align-items: center; gap: 4px; color: inherit; text-decoration: none; }
.pc-sort:hover { color: var(--ink); text-decoration: underline; }
.pc-sort::after { content: "↕"; font-size: 11px; color: var(--line-strong); }
th[aria-sort="ascending"] .pc-sort::after { content: "▲"; color: var(--pc-acc); }
th[aria-sort="descending"] .pc-sort::after { content: "▼"; color: var(--pc-acc); }
th[aria-sort] { color: var(--ink) !important; }
.pc-swatch { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: 0; border: 1px solid rgba(0,0,0,.15); }
.pc-mini { display: inline-block; width: 64px; height: 6px; border-radius: 3px; background: var(--line-soft); vertical-align: middle; margin-left: 6px; overflow: hidden; }
.pc-mini > span { display: block; height: 100%; background: #5b6b8a; }
.pc-mini.warn > span { background: #c26a00; } .pc-mini.err > span { background: #c62828; }
.neg { color: var(--err-fg); font-weight: 700; }

/* ---------- Filtry, wyszukiwanie, stronicowanie ---------- */
.pc-filters { display: flex; flex-wrap: wrap; align-items: flex-end; gap: 10px 12px; margin: 0 0 12px; }
.pc-filters label { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; font-weight: 600; color: var(--text-2); }
.pc-filters input[type=search] { min-width: 280px; }
.pc-in, .pc-filters input, .pc-filters select, .pc-form input:not([type=checkbox]):not([type=radio]), .pc-form select, .pc-form textarea {
    min-height: 36px; padding: 7px 10px; border: 1px solid var(--line-strong); border-radius: var(--r-sm); font: 14px/1.4 inherit; font-family: inherit; color: var(--ink); background: #fff; width: 100%; }
.pc-filters input, .pc-filters select { width: auto; }
.pc-chips { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 12px; padding: 0; list-style: none; }
.pc-chips a { white-space: nowrap; display: inline-flex; align-items: center; gap: 6px; min-height: 32px; padding: 0 12px; border: 1px solid var(--line); border-radius: var(--r-pill); background: #fff;
              color: var(--ink); text-decoration: none; font-size: 13px; font-weight: 600; }
.pc-chips a:hover { border-color: var(--line-strong); }
.pc-chips a[aria-current] { background: var(--ink); border-color: var(--ink); color: #fff; }
.pc-chips a span { font-weight: 700; color: var(--text-3); font-variant-numeric: tabular-nums; }
.pc-chips a[aria-current] span { color: #cfd5df; }
.pc-tools { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center; gap: 8px 14px; margin: 0 0 10px; font-size: 13px; color: var(--text-2); }
.pc-pager { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 8px 14px; margin: 12px 0 0; font-size: 13px; color: var(--text-2); }
.pc-pager ul { display: flex; gap: 4px; list-style: none; margin: 0; padding: 0; }
.pc-pager a { display: inline-flex; align-items: center; justify-content: center; min-width: 34px; min-height: 34px; padding: 0 10px; border: 1px solid var(--line); border-radius: var(--r-sm); background: #fff; color: var(--ink); text-decoration: none; font-weight: 600; }
.pc-pager a[aria-current] { background: var(--ink); color: #fff; border-color: var(--ink); }

/* ---------- Karta firmy: pasek kontekstu + zakładki ---------- */
.pc-firm { background: #fff; border: 1px solid var(--line); border-radius: var(--r-lg); margin: 0 0 16px; overflow: hidden; }
.pc-firm-top { display: flex; flex-wrap: wrap; align-items: center; gap: 12px 18px; padding: 16px 20px 12px; border-left: 6px solid var(--firm, #8f949c); }
.pc-firm-logo { width: 44px; height: 44px; border-radius: 10px; border: 1px solid var(--line); background: #fff; display: grid; place-items: center; flex: 0 0 auto; overflow: hidden; }
.pc-firm-id { min-width: 0; flex: 1 1 320px; }
.pc-firm-id h1 { margin: 0; font-size: 21px; display: flex; flex-wrap: wrap; align-items: center; gap: 6px 10px; }
.pc-firm-id p { margin: 3px 0 0; font-size: 13px; color: var(--text-3); }
.pc-firm-id p a { font-weight: 600; }
.pc-tabs { display: flex; gap: 2px; padding: 0 14px; border-top: 1px solid var(--line-soft); overflow-x: auto; scrollbar-width: thin; }
.pc-tabs a { display: inline-flex; align-items: center; gap: 6px; min-height: 44px; padding: 0 12px; color: var(--text-2); text-decoration: none; font-weight: 600; font-size: 13.5px;
             border-bottom: 3px solid transparent; white-space: nowrap; }
.pc-tabs a:hover { color: var(--ink); border-bottom-color: var(--line); }
.pc-tabs a[aria-current] { color: var(--pc-acc-ink); border-bottom-color: var(--pc-acc); }
.pc-tabs .pc-cnt { font-size: 11.5px; padding: 0 6px; border-radius: var(--r-pill); background: var(--line-soft); color: var(--text-2); }
.pc-tabs .pc-cnt-err { background: var(--err-bg); color: var(--err-fg); }
.pc-tabsel { display: none; }

/* ---------- Fakty (dl) ---------- */
.pc-facts { display: grid; grid-template-columns: minmax(130px, auto) minmax(0, 1fr); gap: 0 16px; margin: 0; font-size: 13.5px; }
.pc-facts dt { padding: 7px 0; color: var(--text-3); border-bottom: 1px solid var(--line-soft); }
.pc-facts dd { margin: 0; padding: 7px 0; border-bottom: 1px solid var(--line-soft); min-width: 0; }
.pc-facts > :nth-last-child(-n+2) { border-bottom: 0; }

/* ---------- Lista kontrolna „Gotowość firmy” ---------- */
.pc-steps { list-style: none; margin: 0; padding: 0; counter-reset: s; }
.pc-steps li { display: grid; grid-template-columns: 26px minmax(0, 1fr) auto; gap: 2px 10px; align-items: center; padding: 9px 0; border-bottom: 1px solid var(--line-soft); }
.pc-steps li:last-child { border-bottom: 0; }
.pc-steps li::before { counter-increment: s; content: counter(s); width: 24px; height: 24px; border-radius: 50%; border: 2px solid var(--line-strong); color: var(--text-2);
                       display: grid; place-items: center; font-size: 12px; font-weight: 700; }
.pc-steps li.done::before { content: "✓"; background: var(--ok-fg); border-color: var(--ok-fg); color: #fff; }
.pc-steps li.done span { color: var(--text-3); }
.pc-steps small { display: block; font-size: 12.5px; color: var(--text-3); }

/* ---------- Formularze ---------- */
.pc-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
.pc-form .w { grid-column: 1 / -1; }
.pc-field, .pc-form label:not(.pc-check) { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 600; color: var(--ink); min-width: 0; }
.pc-field .hint, .pc-form label .hint { font-weight: 400; margin: 0; }
.pc-opt { font-weight: 400; color: var(--text-3); }
.pc-form textarea { min-height: 120px; resize: vertical; }
.pc-check { display: flex; align-items: flex-start; gap: 8px; font-size: 13.5px; font-weight: 400; }
.pc-check input { width: 18px; height: 18px; margin: 1px 0 0; flex: 0 0 auto; accent-color: var(--pc-acc); }
.pc-btns { grid-column: 1 / -1; display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.pc-form fieldset { grid-column: 1 / -1; border: 0; margin: 0; padding: 0; min-width: 0; }
.pc-form legend { font-size: 13px; font-weight: 600; margin: 0 0 6px; padding: 0; }
.pc-radios { display: grid; gap: 8px; }
.pc-radio { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 0 8px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--r-md); cursor: pointer; font-size: 13.5px; font-weight: 600; }
.pc-radio input { margin: 2px 0 0; width: 18px; height: 18px; accent-color: var(--pc-acc); }
.pc-radio small { grid-column: 2; font-weight: 400; color: var(--text-3); font-size: 12.5px; }
.pc-radio:has(input:checked) { border-color: var(--pc-acc); background: var(--pc-acc-tint); }
.is-err input, .is-err select, .is-err textarea { border-color: var(--err-fg) !important; border-width: 2px; }
.err-msg { margin: 0; color: var(--err-fg); font-size: 12.5px; font-weight: 700; }
.err-msg::before { content: "! "; }
.pc-errsum { border: 2px solid var(--err-fg); border-radius: var(--r-md); padding: 12px 14px; background: var(--err-bg); margin: 0 0 14px; }
.pc-errsum h2 { font-size: 14.5px; margin: 0 0 4px; color: var(--err-fg); border: 0; padding: 0; }
.pc-errsum ul { margin: 0; padding-left: 18px; font-size: 13.5px; }
.pc-errsum a { color: var(--err-fg); font-weight: 600; }
.pc-copy { display: flex; align-items: stretch; }
.pc-copy code { flex: 1 1 auto; min-width: 0; overflow-x: auto; white-space: nowrap; padding: 8px 10px; background: var(--surface-2); border: 1px solid var(--line); border-right: 0; border-radius: var(--r-sm) 0 0 var(--r-sm); }
.pc-copy .btn { border-radius: 0 var(--r-sm) var(--r-sm) 0; }

/* ---------- Potwierdzenia akcji ryzykownych (krok serwera, nie confirm()) ---------- */
.pc-confirm { border: 2px solid var(--line-strong); border-radius: var(--r-lg); background: #fff; padding: 18px 20px; margin: 0 0 16px; }
.pc-confirm.lv2 { border-color: #c26a00; }
.pc-confirm.lv3 { border-color: var(--err-fg); }
.pc-confirm h2 { margin: 0 0 8px; font-size: 17px; }
.pc-confirm .lvl { display: inline-block; margin: 0 0 8px; font-size: 11.5px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--text-3); }
.pc-confirm.lv3 .lvl { color: var(--err-fg); }
.pc-confirm ul.eff { margin: 6px 0 12px; padding-left: 20px; font-size: 13.5px; }
.pc-confirm ul.eff li { margin: 3px 0; }
.pc-ba { display: grid; grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); gap: 8px; align-items: center; margin: 8px 0 12px; font-size: 13.5px; }
.pc-ba > div { border: 1px solid var(--line); border-radius: var(--r-md); padding: 8px 12px; background: var(--surface-2); }
.pc-ba > div:last-child { background: var(--pc-acc-tint); border-color: var(--pc-acc-line); }
.pc-ba small { display: block; color: var(--text-3); font-size: 11.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .05em; }
.pc-danger { border: 1px solid var(--err-line); border-radius: var(--r-lg); background: #fff; margin: 0 0 16px; }
.pc-danger > h2 { margin: 0; padding: 14px 20px; font-size: 15px; color: var(--err-fg); border-bottom: 1px solid var(--err-line); }
.pc-danger-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 16px; align-items: center; padding: 14px 20px; border-bottom: 1px solid var(--line-soft); }
.pc-danger-row:last-child { border-bottom: 0; }
.pc-danger-row h3 { margin: 0; font-size: 14px; }
.pc-danger-row p { margin: 2px 0 0; font-size: 13px; color: var(--text-2); }

/* ---------- Puste stany ---------- */
.pc-empty { text-align: center; padding: 30px 20px; border: 1px dashed var(--line-strong); border-radius: var(--r-lg); background: var(--surface-2); }
.pc-empty h2, .pc-empty h3 { margin: 0 0 6px; font-size: 16px; border: 0; padding: 0; }
.pc-empty p { margin: 0 auto 14px; max-width: 520px; color: var(--text-2); font-size: 13.5px; }
.pc-empty .ico { width: 44px; height: 44px; margin: 0 auto 10px; border-radius: 12px; background: var(--pc-acc-tint); display: grid; place-items: center; color: var(--pc-acc); font-size: 22px; font-weight: 700; }

/* ---------- Dziennik / oś czasu ---------- */
.pc-log { list-style: none; margin: 0; padding: 0; }
.pc-log li { display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 2px 14px; padding: 9px 0; border-bottom: 1px solid var(--line-soft); font-size: 13.5px; }
.pc-log li:last-child { border-bottom: 0; }
.pc-log time { color: var(--text-3); font-size: 12.5px; font-variant-numeric: tabular-nums; white-space: nowrap; }
.pc-log .who { color: var(--text-3); font-size: 12.5px; }
.pc-log .what { margin: 0; }
.pc-tag { display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .03em; padding: 1px 7px; border-radius: 4px; background: var(--line-soft); color: var(--text-2); margin-right: 6px; vertical-align: 1px; }
.pc-tag-pc { background: var(--pc-acc-tint); color: var(--pc-acc-ink); }
.pc-tag-firm { background: #eef6f1; color: #1f5c38; }
.pc-tag-sys { background: #f3f0fa; color: #4a2f86; }
.pc-tag-sec { background: var(--err-bg); color: var(--err-fg); }

/* ---------- Edytor szablonów e-mail ---------- */
.pc-ed { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.pc-vars { display: flex; flex-wrap: wrap; gap: 6px; margin: 4px 0 0; padding: 0; list-style: none; }
.pc-vars button { min-height: 30px; padding: 2px 10px; border: 1px solid var(--pc-acc-line); background: var(--pc-acc-tint); color: var(--pc-acc-ink); border-radius: var(--r-pill);
                  font: 600 12.5px/1 ui-monospace, Consolas, monospace; cursor: pointer; }
.pc-vars button.req::after { content: " *"; color: var(--err-fg); }
.pc-locked { border: 1px dashed var(--line-strong); border-radius: var(--r-md); background: var(--surface-2); padding: 10px 12px; font-size: 13px; color: var(--text-2); }
.pc-locked b { color: var(--ink); }
.pc-preview { position: sticky; top: calc(var(--top-h) + 12px); }
.pc-seg { display: inline-flex; border: 1px solid var(--line-strong); border-radius: var(--r-md); overflow: hidden; }
.pc-seg button { min-height: 32px; padding: 0 12px; border: 0; background: #fff; font: 600 13px/1 inherit; font-family: inherit; cursor: pointer; color: var(--text-2); }
.pc-seg button + button { border-left: 1px solid var(--line-strong); }
.pc-seg button[aria-pressed="true"] { background: var(--ink); color: #fff; }
.pc-mailframe { margin: 10px 0 0; border: 1px solid var(--line); border-radius: var(--r-md); background: #f3f4f6; padding: 14px; }
.pc-mailmeta { font-size: 12.5px; color: var(--text-2); background: #fff; border: 1px solid var(--line); border-radius: var(--r-sm); padding: 8px 10px; margin: 0 0 10px; }
.pc-mailmeta div { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.pc-mailmeta b { color: var(--ink); }

/* ---------- E-mail (wspólny dla podglądu i makiety maili) ---------- */
.mail { max-width: 560px; margin: 0 auto; background: #fff; border-radius: 10px; overflow: hidden; border: 1px solid #e5e7eb; font: 15px/1.55 -apple-system, "Segoe UI", Roboto, Arial, sans-serif; color: #1f2430; }
.mail-hd { padding: 16px 22px; border-bottom: 3px solid var(--brand-color, #0f766e); display: flex; align-items: center; gap: 10px; }
.mail-bd { padding: 20px 22px 8px; }
.mail-bd h1 { font-size: 19px; margin: 0 0 12px; }
.mail-bd p { margin: 0 0 12px; }
.mail-btn { display: inline-block; padding: 12px 20px; border-radius: 8px; background: var(--brand-fill, #0f5f59); color: #fff !important; font-weight: 700; text-decoration: none; }
.mail-small { font-size: 13px; color: #4b5563; }
.mail-link { word-break: break-all; font-size: 12.5px; color: #1d4f91; }
.mail-ft { padding: 14px 22px 18px; font-size: 12px; color: #5f6672; border-top: 1px solid #eef0f3; background: #fafafa; }

/* ---------- Wykres słupkowy (prosty, z tabelą danych obok) ---------- */
.pc-bars { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); align-items: end; gap: 6px; height: 140px; padding: 8px 0 0; border-bottom: 1px solid var(--line); }
.pc-bars span { display: block; background: #5b6b8a; border-radius: 3px 3px 0 0; min-height: 2px; }
.pc-bars span.now { background: var(--pc-acc); }
.pc-bars-x { display: grid; grid-auto-flow: column; grid-auto-columns: minmax(0, 1fr); gap: 6px; font-size: 11px; color: var(--text-3); text-align: center; margin: 4px 0 0; }

/* ---------- Podgląd wyglądu firmy ---------- */
.pc-brandprev { border: 1px solid var(--line); border-radius: var(--r-md); overflow: hidden; background: var(--brand-login-bg, #0f172a); padding: 16px; }
.pc-brandprev .bx { background: #fff; border-radius: 10px; padding: 16px; max-width: 280px; margin: 0 auto; text-align: center; font-size: 13px; }
.pc-brandprev .bx b { display: block; font-size: 15px; margin: 6px 0 10px; color: var(--brand-dark); }
.pc-brandprev .bx span { display: block; border: 1px solid #c9ccd1; border-radius: 6px; padding: 6px; margin: 0 0 8px; color: #6b7280; }
.pc-brandprev .bx i { display: block; font-style: normal; background: var(--brand-fill); color: #fff; border-radius: 6px; padding: 8px; font-weight: 700; }
.pc-contrast { list-style: none; margin: 8px 0 0; padding: 0; font-size: 13px; }
.pc-contrast li { display: flex; justify-content: space-between; gap: 10px; padding: 5px 0; border-bottom: 1px solid var(--line-soft); }
.pc-color { display: flex; align-items: stretch; }
.pc-color input[type=color] { width: 44px; min-height: 36px; padding: 2px; border: 1px solid var(--line-strong); border-right: 0; border-radius: var(--r-sm) 0 0 var(--r-sm); background: #fff; }
.pc-color input[type=text] { border-radius: 0 var(--r-sm) var(--r-sm) 0 !important; font-family: ui-monospace, Consolas, monospace; }

/* ---------- Kroki kreatora (domena) ---------- */
.pc-wiz { display: flex; gap: 0; list-style: none; margin: 0 0 14px; padding: 0; counter-reset: w; font-size: 13px; }
.pc-wiz li { flex: 1 1 0; padding: 8px 10px 8px 0; border-top: 3px solid var(--line); color: var(--text-3); font-weight: 600; }
.pc-wiz li::before { counter-increment: w; content: counter(w) ". "; }
.pc-wiz li.done { border-top-color: var(--ok-fg); color: var(--ok-fg); }
.pc-wiz li[aria-current] { border-top-color: var(--pc-acc); color: var(--pc-acc-ink); }

/* ---------- Strony logowania / hasła NA DOMENIE FIRMY (marka firmy) ---------- */
.au-body { min-height: 100vh; margin: 0; background: var(--brand-login-bg); display: flex; align-items: center; justify-content: center; padding: 24px 16px; }
.au-box { width: 100%; max-width: 400px; background: #fff; border-radius: 12px; box-shadow: 0 10px 40px rgba(0,0,0,.3); padding: 28px 28px 22px; }
.au-box .logo { display: flex; align-items: center; gap: 8px; margin: 0 0 18px; font-weight: 800; font-size: 18px; color: var(--brand-dark); }
.au-box h1 { margin: 0 0 6px; font-size: 21px; color: var(--brand-dark); }
.au-box .lead { margin: 0 0 18px; font-size: 13.5px; color: #4b5563; }
.au-box label { display: block; font-size: 13px; font-weight: 600; margin: 0 0 4px; }
.au-box input[type=text], .au-box input[type=email], .au-box input[type=password] { width: 100%; min-height: 44px; padding: 10px 12px; font-size: 16px; border: 1px solid #8f949c; border-radius: 8px; margin: 0 0 4px; }
.au-box input:focus-visible { outline: 2px solid var(--brand-ink, #0f5f59); outline-offset: 1px; }
.au-box .f { margin: 0 0 14px; }
.au-box .pw { display: flex; }
.au-box .pw input { border-radius: 8px 0 0 8px; margin: 0; }
.au-box .pw button { min-width: 74px; border: 1px solid #8f949c; border-left: 0; border-radius: 0 8px 8px 0; background: #f8f9fb; font: 600 13px/1 inherit; font-family: inherit; color: #1f2430; cursor: pointer; }
.au-pri { display: block; width: 100%; min-height: 46px; border: 0; border-radius: 8px; background: var(--brand-fill); color: #fff; font: 700 15px/1 inherit; font-family: inherit; cursor: pointer; text-align: center; text-decoration: none; padding: 15px 12px; }
.au-pri:hover { filter: brightness(.92); color: #fff; }
.au-sec { display: block; text-align: center; margin: 14px 0 0; font-size: 13.5px; font-weight: 600; color: var(--brand-ink, #0f5f59); }
.au-row { display: flex; justify-content: flex-end; margin: -2px 0 14px; font-size: 13px; }
.au-row a { color: var(--brand-ink, #0f5f59); font-weight: 600; display: inline-flex; align-items: center; min-height: 24px; }
.au-msg { border-radius: 8px; padding: 10px 12px; font-size: 13.5px; margin: 0 0 14px; }
.au-msg-ok { background: var(--ok-bg); border: 1px solid var(--ok-line); color: #164d25; }
.au-msg-err { background: var(--err-bg); border: 1px solid var(--err-line); color: #8e1515; }
.au-msg-info { background: var(--info-bg); border: 1px solid var(--info-line); color: #163f6b; }
.au-req { list-style: none; margin: 6px 0 14px; padding: 0; font-size: 12.5px; color: #4b5563; }
.au-req li::before { content: "○ "; }
.au-req li.ok { color: var(--ok-fg); }
.au-req li.ok::before { content: "✓ "; }
.au-foot { margin: 18px 0 0; padding: 12px 0 0; border-top: 1px solid #eef0f3; font-size: 12px; color: #6b7280; text-align: center; }
.au-foot a { color: #4b5563; }
/* Panel centralny – własne logowanie (stała tożsamość konsoli, nie marka firmy) */
.au-body.pc-login { background: var(--pc-side); }
.pc-login .au-box { border-top: 5px solid var(--pc-acc); }
.pc-login .au-pri { background: var(--pc-acc); }
.pc-login .au-box h1 { color: var(--ink); }
.pc-logo-brand { flex-direction: column; align-items: flex-start; gap: 10px; }
.pc-logo-login { display: block; width: auto; height: auto; max-width: 100%; max-height: 32px; }
.pc-otp input { letter-spacing: .4em; text-align: center; font-family: ui-monospace, Consolas, monospace; font-size: 20px !important; }

/* ---------- Tablet ---------- */
@media (max-width: 1180px) {
    .pc-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .c-8, .c-7, .c-6, .c-5, .c-4 { grid-column: span 12; }
    .pc-ed { grid-template-columns: minmax(0, 1fr); }
    .pc-preview { position: static; }
    .pc-search input { width: 220px; }
}
/* ---------- Telefon (375 px): pasek boczny → górny pasek z „Menu”, tabele → karty, cele ≥ 44 px ---------- */
@media (max-width: 860px) {
    :root { --top-h: 52px; }
    .pc-app { grid-template-columns: minmax(0, 1fr); grid-template-rows: auto 1fr; }
    .pc-side { position: sticky; top: 0; height: auto; z-index: 30; overflow: visible; }
    .pc-brand { padding: 10px 14px; border-bottom: 0; }
    .pc-brand small { display: none; }
    .pc-brand-logo { flex-direction: row; align-items: center; min-width: 0; }
    .pc-brand-logo .pc-logo { max-height: 18px; max-width: 150px; }
    .pc-brand-logo .pc-brand-txt { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; } /* nazwa w aria-label i w znaczku „Panel centralny” u góry */
    .pc-sidebar-row { display: flex; align-items: center; justify-content: space-between; }
    .js .pc-menu-btn { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; margin-right: 10px; padding: 0 14px; border: 1px solid var(--pc-side-btn-line); border-radius: var(--r-md);
                   background: transparent; color: #fff; font: 600 14px/1 inherit; font-family: inherit; cursor: pointer; }
    .js .pc-nav, .js .pc-side-foot { display: none; }
    .js .pc-side.open .pc-nav, .js .pc-side.open .pc-side-foot { display: block; }
    .pc-side.open { max-height: 100vh; overflow-y: auto; }
    .pc-nav a { min-height: 44px; }
    .pc-top { position: static; height: auto; padding: 10px 14px; flex-wrap: wrap; gap: 8px; }
    .pc-search { order: 3; margin-left: 0; width: 100%; }
    .pc-search input { width: 100%; min-height: 44px; font-size: 16px; }
    .pc-user { display: none; }
    .pc-content { padding: 16px 12px 40px; }
    .pc-head h1 { font-size: 20px; }
    .pc-card { padding: 14px 14px; }
    .pc-kpis { gap: 10px; }
    .pc-kpi { padding: 12px; }
    .pc-kpi .v { font-size: 22px; }
    .btn { min-height: 44px; }
    .btn-sm { min-height: 40px; }
    .pc-actions .btn { flex: 1 1 auto; }
    .pc-form { grid-template-columns: minmax(0, 1fr); }
    .pc-in, .pc-filters input, .pc-filters select, .pc-form input:not([type=checkbox]):not([type=radio]), .pc-form select, .pc-form textarea { min-height: 44px; font-size: 16px; }
    .pc-filters { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); }
    .pc-filters > :first-child { grid-column: 1 / -1; }
    .pc-filters input[type=search] { min-width: 0; width: 100%; }
    .pc-filters select { width: 100%; }
    .pc-filters .btn { grid-column: 1 / -1; }
    .pc-filters > label { min-width: 0; }   /* RI-UX-09: pole z podpowiedzia (datalist) nie rozpycha siatki */
    .pc-filters input { width: 100%; min-width: 0; box-sizing: border-box; }
    .pc-chips { flex-wrap: nowrap; overflow-x: auto; padding-bottom: 4px; }
    .pc-chips a { min-height: 40px; flex: 0 0 auto; }
    .pc-firm-top { padding: 12px 14px; border-left-width: 5px; }
    .pc-firm-id h1 { font-size: 18px; }
    .pc-tabs { display: none; }
    .pc-tabsel { display: block; border-top: 1px solid var(--line-soft); padding: 10px 14px 12px; }
    .pc-tabsel label { display: block; font-size: 12px; font-weight: 700; color: var(--text-3); margin: 0 0 4px; }
    .pc-tabsel select { width: 100%; min-height: 44px; font-size: 16px; border: 1px solid var(--line-strong); border-radius: var(--r-sm); padding: 0 10px; background: #fff; }
    .pc-danger-row { grid-template-columns: minmax(0, 1fr); padding: 14px; }
    .pc-ba { grid-template-columns: minmax(0, 1fr); }
    .pc-ba > span { display: none; }
    .pc-log li { grid-template-columns: minmax(0, 1fr); }
    .pc-wiz { flex-direction: column; }
    .pc-wiz li { border-top: 0; border-left: 3px solid var(--line); padding: 4px 0 4px 10px; }
    .pc-wiz li.done { border-left-color: var(--ok-fg); } .pc-wiz li[aria-current] { border-left-color: var(--pc-acc); }
    .pc-alarms li { grid-template-columns: minmax(0, 1fr); gap: 6px; }
    .pc-alarms li > .b { justify-self: start; }
    .pc-facts { grid-template-columns: minmax(0, 1fr); }
    .pc-facts dt { border-bottom: 0; padding-bottom: 0; font-size: 12.5px; }
    /* tabela → karty (etykieta z data-label) */
    .pc-cards { border: 0; overflow: visible; }
    .pc-cards .pc-table thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
    .pc-cards .pc-table, .pc-cards tbody, .pc-cards tr, .pc-cards td, .pc-cards tbody th { display: block; width: 100%; }
    .pc-cards .pc-table { background: transparent; }
    .pc-cards tr { background: #fff; border: 1px solid var(--line); border-radius: var(--r-md); padding: 10px 12px; margin: 0 0 10px; }
    .pc-cards td, .pc-cards tbody th { border: 0 !important; padding: 3px 0 !important; text-align: left !important; }
    .pc-cards td[data-label] { display: flex; justify-content: space-between; gap: 12px; font-size: 13.5px; }
    .pc-cards td[data-label]::before { content: attr(data-label); color: var(--text-3); font-weight: 400; flex: 0 0 auto; }
    .pc-cards td[data-label] > * { text-align: right; }
    .pc-cards td.acts { padding-top: 8px !important; display: flex; flex-wrap: wrap; gap: 8px; }
    .pc-cards tbody th a.rowlink { display: inline-flex; align-items: center; min-height: 32px; font-size: 15px; }
}
@media print { .pc-side, .pc-top, .pc-actions, .pc-filters, .pc-pager { display: none !important; } .pc-app { display: block; } }


/* ---------- Wdrożenie: klasy zamiast stylów w atrybutach (CSP bez 'unsafe-inline') ---------- */
.pc-swatch.fc { background: var(--firm, #8f949c); }
.pc-firm { --firm: #8f949c; }
.pc-mini > span, .pc-meter > span { width: 0; }
.pc-bars span { height: 0; }
.hint-tight { margin: -4px 0 14px; }
.pc-mw { max-width: 860px; }
.pc-mw-s { max-width: 320px; }
.mt-8 { margin-top: 8px; } .mt-12 { margin-top: 12px; } .mt-16 { margin-top: 16px; } .mb-0 { margin-bottom: 0; } .m-0 { margin: 0; }
.pc-table.no-border { border: 0; }
.pc-inline { display: inline; margin: 0; }
.pc-inline-form { display: flex; flex-wrap: wrap; gap: 8px; align-items: flex-end; margin: 8px 0 0; }
.pc-codes { columns: 2; list-style: none; padding: 0; margin: 10px 0; font: 15px/1.9 ui-monospace, Consolas, monospace; }
.pc-qr { display: block; width: 200px; height: 200px; margin: 6px 0 10px; background: #fff; padding: 8px; border: 1px solid var(--line); border-radius: var(--r-md); }
.pc-secret { word-break: break-all; }
.pc-mailframe iframe { display: block; width: 100%; height: 640px; border: 0; background: #fff; }
.pc-mailframe.phone { max-width: 375px; margin: 0 auto; }
.pc-diff del { background: var(--err-bg); text-decoration: line-through; }
.pc-diff ins { background: var(--ok-bg); text-decoration: none; }
.pc-tag-serwis { background: #fff7ed; color: #8a4b00; border-color: #fde3c4; }
.pc-pre { white-space: pre-wrap; font: 12.5px/1.5 ui-monospace, Consolas, monospace; background: var(--surface-2); border: 1px solid var(--line); border-radius: var(--r-md); padding: 10px 12px; overflow-x: auto; }
.w-0 { width: 0% !important; } .h-0 { height: 0% !important; }
.w-1 { width: 1% !important; } .h-1 { height: 1% !important; }
.w-2 { width: 2% !important; } .h-2 { height: 2% !important; }
.w-3 { width: 3% !important; } .h-3 { height: 3% !important; }
.w-4 { width: 4% !important; } .h-4 { height: 4% !important; }
.w-5 { width: 5% !important; } .h-5 { height: 5% !important; }
.w-6 { width: 6% !important; } .h-6 { height: 6% !important; }
.w-7 { width: 7% !important; } .h-7 { height: 7% !important; }
.w-8 { width: 8% !important; } .h-8 { height: 8% !important; }
.w-9 { width: 9% !important; } .h-9 { height: 9% !important; }
.w-10 { width: 10% !important; } .h-10 { height: 10% !important; }
.w-11 { width: 11% !important; } .h-11 { height: 11% !important; }
.w-12 { width: 12% !important; } .h-12 { height: 12% !important; }
.w-13 { width: 13% !important; } .h-13 { height: 13% !important; }
.w-14 { width: 14% !important; } .h-14 { height: 14% !important; }
.w-15 { width: 15% !important; } .h-15 { height: 15% !important; }
.w-16 { width: 16% !important; } .h-16 { height: 16% !important; }
.w-17 { width: 17% !important; } .h-17 { height: 17% !important; }
.w-18 { width: 18% !important; } .h-18 { height: 18% !important; }
.w-19 { width: 19% !important; } .h-19 { height: 19% !important; }
.w-20 { width: 20% !important; } .h-20 { height: 20% !important; }
.w-21 { width: 21% !important; } .h-21 { height: 21% !important; }
.w-22 { width: 22% !important; } .h-22 { height: 22% !important; }
.w-23 { width: 23% !important; } .h-23 { height: 23% !important; }
.w-24 { width: 24% !important; } .h-24 { height: 24% !important; }
.w-25 { width: 25% !important; } .h-25 { height: 25% !important; }
.w-26 { width: 26% !important; } .h-26 { height: 26% !important; }
.w-27 { width: 27% !important; } .h-27 { height: 27% !important; }
.w-28 { width: 28% !important; } .h-28 { height: 28% !important; }
.w-29 { width: 29% !important; } .h-29 { height: 29% !important; }
.w-30 { width: 30% !important; } .h-30 { height: 30% !important; }
.w-31 { width: 31% !important; } .h-31 { height: 31% !important; }
.w-32 { width: 32% !important; } .h-32 { height: 32% !important; }
.w-33 { width: 33% !important; } .h-33 { height: 33% !important; }
.w-34 { width: 34% !important; } .h-34 { height: 34% !important; }
.w-35 { width: 35% !important; } .h-35 { height: 35% !important; }
.w-36 { width: 36% !important; } .h-36 { height: 36% !important; }
.w-37 { width: 37% !important; } .h-37 { height: 37% !important; }
.w-38 { width: 38% !important; } .h-38 { height: 38% !important; }
.w-39 { width: 39% !important; } .h-39 { height: 39% !important; }
.w-40 { width: 40% !important; } .h-40 { height: 40% !important; }
.w-41 { width: 41% !important; } .h-41 { height: 41% !important; }
.w-42 { width: 42% !important; } .h-42 { height: 42% !important; }
.w-43 { width: 43% !important; } .h-43 { height: 43% !important; }
.w-44 { width: 44% !important; } .h-44 { height: 44% !important; }
.w-45 { width: 45% !important; } .h-45 { height: 45% !important; }
.w-46 { width: 46% !important; } .h-46 { height: 46% !important; }
.w-47 { width: 47% !important; } .h-47 { height: 47% !important; }
.w-48 { width: 48% !important; } .h-48 { height: 48% !important; }
.w-49 { width: 49% !important; } .h-49 { height: 49% !important; }
.w-50 { width: 50% !important; } .h-50 { height: 50% !important; }
.w-51 { width: 51% !important; } .h-51 { height: 51% !important; }
.w-52 { width: 52% !important; } .h-52 { height: 52% !important; }
.w-53 { width: 53% !important; } .h-53 { height: 53% !important; }
.w-54 { width: 54% !important; } .h-54 { height: 54% !important; }
.w-55 { width: 55% !important; } .h-55 { height: 55% !important; }
.w-56 { width: 56% !important; } .h-56 { height: 56% !important; }
.w-57 { width: 57% !important; } .h-57 { height: 57% !important; }
.w-58 { width: 58% !important; } .h-58 { height: 58% !important; }
.w-59 { width: 59% !important; } .h-59 { height: 59% !important; }
.w-60 { width: 60% !important; } .h-60 { height: 60% !important; }
.w-61 { width: 61% !important; } .h-61 { height: 61% !important; }
.w-62 { width: 62% !important; } .h-62 { height: 62% !important; }
.w-63 { width: 63% !important; } .h-63 { height: 63% !important; }
.w-64 { width: 64% !important; } .h-64 { height: 64% !important; }
.w-65 { width: 65% !important; } .h-65 { height: 65% !important; }
.w-66 { width: 66% !important; } .h-66 { height: 66% !important; }
.w-67 { width: 67% !important; } .h-67 { height: 67% !important; }
.w-68 { width: 68% !important; } .h-68 { height: 68% !important; }
.w-69 { width: 69% !important; } .h-69 { height: 69% !important; }
.w-70 { width: 70% !important; } .h-70 { height: 70% !important; }
.w-71 { width: 71% !important; } .h-71 { height: 71% !important; }
.w-72 { width: 72% !important; } .h-72 { height: 72% !important; }
.w-73 { width: 73% !important; } .h-73 { height: 73% !important; }
.w-74 { width: 74% !important; } .h-74 { height: 74% !important; }
.w-75 { width: 75% !important; } .h-75 { height: 75% !important; }
.w-76 { width: 76% !important; } .h-76 { height: 76% !important; }
.w-77 { width: 77% !important; } .h-77 { height: 77% !important; }
.w-78 { width: 78% !important; } .h-78 { height: 78% !important; }
.w-79 { width: 79% !important; } .h-79 { height: 79% !important; }
.w-80 { width: 80% !important; } .h-80 { height: 80% !important; }
.w-81 { width: 81% !important; } .h-81 { height: 81% !important; }
.w-82 { width: 82% !important; } .h-82 { height: 82% !important; }
.w-83 { width: 83% !important; } .h-83 { height: 83% !important; }
.w-84 { width: 84% !important; } .h-84 { height: 84% !important; }
.w-85 { width: 85% !important; } .h-85 { height: 85% !important; }
.w-86 { width: 86% !important; } .h-86 { height: 86% !important; }
.w-87 { width: 87% !important; } .h-87 { height: 87% !important; }
.w-88 { width: 88% !important; } .h-88 { height: 88% !important; }
.w-89 { width: 89% !important; } .h-89 { height: 89% !important; }
.w-90 { width: 90% !important; } .h-90 { height: 90% !important; }
.w-91 { width: 91% !important; } .h-91 { height: 91% !important; }
.w-92 { width: 92% !important; } .h-92 { height: 92% !important; }
.w-93 { width: 93% !important; } .h-93 { height: 93% !important; }
.w-94 { width: 94% !important; } .h-94 { height: 94% !important; }
.w-95 { width: 95% !important; } .h-95 { height: 95% !important; }
.w-96 { width: 96% !important; } .h-96 { height: 96% !important; }
.w-97 { width: 97% !important; } .h-97 { height: 97% !important; }
.w-98 { width: 98% !important; } .h-98 { height: 98% !important; }
.w-99 { width: 99% !important; } .h-99 { height: 99% !important; }
.w-100 { width: 100% !important; } .h-100 { height: 100% !important; }
.only-mobile { display: none !important; }
@media (max-width: 860px) { .only-mobile { display: flex !important; } }
.pc-linkbtn { background: none; border: 0; padding: 0; margin: 0; font: inherit; color: var(--pc-side-fg); text-decoration: underline; cursor: pointer; min-height: 24px; }
.pc-linkbtn:hover { color: #fff; }
.pc-me { color: #fff; }
.pc-content .pc-linkbtn, .pc-table .pc-linkbtn { color: var(--pc-acc); }
.pc-seg a { display: inline-flex; align-items: center; min-height: 32px; padding: 0 12px; background: #fff; font-weight: 600; font-size: 13px; color: var(--text-2); text-decoration: none; }
.pc-seg a + a { border-left: 1px solid var(--line-strong); }
.pc-seg a[aria-current] { background: var(--ink); color: #fff; }
.pc-firm-ico { fill: var(--firm, #8f949c); }
.pc-sw { vertical-align: middle; margin-left: 8px; border-radius: 4px; }
.pc-more { display: inline-block; margin-left: 6px; }
.pc-more summary { cursor: pointer; min-height: 24px; color: var(--pc-acc); font-weight: 600; }
.pc-more p { margin: 6px 0 0; }
@media (max-width: 860px) { .pc-seg a { min-height: 44px; } .pc-more summary { min-height: 44px; display: flex; align-items: center; } }
.pc-kpi-v { margin: 0 0 6px; font-size: 28px; font-weight: 800; font-variant-numeric: tabular-nums; }
.pc-kpi-v.neg b { color: var(--err-fg); }
.pc-card .pc-grid { margin-top: 4px; }
.pc-card h3 { margin: 14px 0 6px; }
@media (max-width: 860px) { .pc-cards td:empty { display: none !important; } }

/* ---- poprawki R2 (kamien B) ---- */
/* tabele bez kart na waskim ekranie: przewijanie w obrebie tabeli, nie calej strony (R2B-UX-05, WCAG 1.4.10) */
.pc-scroll { overflow-x: auto; max-width: 100%; }
.pc-scroll:focus-visible { outline: 2px solid var(--pc-acc); outline-offset: 2px; }
.pc-scroll .pc-table { min-width: 100%; }
/* kopiowanie kodow zapasowych */
.au-copy { min-height: 44px; padding: 10px 16px; margin: 6px 0 14px; border: 1px solid #8f949c; border-radius: 8px; background: #f8f9fb; font: 600 14px/1.2 inherit; font-family: inherit; color: #1f2430; cursor: pointer; }
.au-copy:focus-visible { outline: 2px solid var(--brand-ink, #0f5f59); outline-offset: 2px; }
/* pole koloru z probka obok (makro pole w div.pc-color) */
div.pc-color { display: flex; align-items: flex-end; gap: 10px; }
div.pc-color > label { flex: 1 1 auto; }
div.pc-color .pc-sw { margin-bottom: 10px; }
/* cele dotykowe (R2B-UX-10): sortowanie, znaczniki, select w tabeli, telefon 44 px */
.pc-sort, th a { display: inline-flex; align-items: center; min-height: 24px; }
.pc-check { min-height: 24px; }
.pc-check input[type=checkbox] { width: 18px; height: 18px; }
.pc-inline-form select { min-height: 36px; padding: 4px 8px; border: 1px solid var(--line-strong, #8f949c); border-radius: 6px; font: inherit; background: #fff; }
@media (max-width: 860px) {
    .pc-chips a, .btn-sm, .pc-vars button, summary, .pc-inline-form select { min-height: 44px; }
    .pc-chips a, .btn-sm { display: inline-flex; align-items: center; }
}
.pc-radio > span small { display: block; }
.pc-form textarea[readonly], .pc-form input[readonly] { background: var(--line-soft, #f3f4f6); color: var(--ink-2, #4b5563); cursor: default; }
.pc-logo-pv { max-height: 48px; max-width: 220px; margin-top: 6px; padding: 6px; border: 1px solid var(--line); border-radius: 6px; background: #fff; }
.pc-logo-pv.dark { background: #1f2430; }
