/* Konto developera (redai.pl/dev/konto/): komponenty ui-* z portalu redAi w kolorach dokumentacji /dev/.
   Klasy ui-* skopiowane z portalu (beta-portal/public/css/redai-ui.css, 26.09.2026), bez reguł, które na telefonie
   chowają tytuły pod górny pasek portalu. Nie ładujemy CSS bety. Kolory: tokeny --ui-* liczone z --dx-* (dev.css),
   więc konto ma tę samą paletę i ten sam tryb ciemny co dokumentacja. Układ (menu boczne .dxd-bok) dzieli z dokumentacją.
   Na dole układ konta (dkp-*). Ładuje go includes/layout-dev.php tylko dla sekcji 'konto'. */

:root{
  --ui-ink:#0f172a; --ui-text:#334155; --ui-muted:#64748b; --ui-faint:#94a3b8;
  --ui-line:#e2e8f0; --ui-line-2:#cbd5e1; --ui-bg:#f8fafc; --ui-bg-2:#f1f5f9;
  --ui-red:#dc2626; --ui-red-2:#b91c1c; --ui-red-bg:#fef2f2; --ui-red-line:#fecaca;
  --ui-ok:#16a34a; --ui-ok-bg:#ecfdf5; --ui-ok-line:#a7f3d0; --ui-ok-text:#065f46;
  --ui-warn:#d97706; --ui-warn-bg:#fffbeb; --ui-warn-line:#fde68a; --ui-warn-text:#92400e;
  --ui-info:#2563eb; --ui-info-bg:#eff6ff; --ui-info-line:#bfdbfe; --ui-info-text:#1e40af;
  --ui-r:8px; --ui-r-sm:6px; --ui-shadow:0 1px 3px rgba(15,23,42,.06); --ui-shadow-lg:0 12px 32px rgba(15,23,42,.18);
  --ui-card:#fff; --ui-on-ink:#fff; --ui-ink-2:#1e293b; --ui-text-2:#475569; --ui-ink-hover:#334155;
  --ui-overlay:rgba(15,23,42,.45); --ui-code-bg:#0f172a; --ui-code-ink:#e2e8f0;
}
/* Paleta dokumentacji: ciepłe neutralne, cienkie linie, przyciski w kolorze tekstu, jasne bloki kodu. */
.dev-body.dev-sekcja-konto{
  --ui-ink:var(--dx-ink); --ui-text:var(--dx-txt); --ui-text-2:var(--dx-txt2); --ui-muted:var(--dx-mut); --ui-faint:color-mix(in srgb,var(--dx-mut) 72%,var(--dx-bg));
  --ui-line:var(--dx-line); --ui-line-2:var(--dx-line2);
  --ui-card:var(--dx-pow); --ui-bg:color-mix(in srgb,var(--dx-ink) 3%,var(--dx-pow)); --ui-bg-2:color-mix(in srgb,var(--dx-ink) 6%,var(--dx-pow));
  --ui-on-ink:var(--dx-bg); --ui-ink-2:var(--dx-ink); --ui-ink-hover:color-mix(in srgb,var(--dx-ink) 84%,var(--dx-bg));
  --ui-r:8px; --ui-r-sm:8px; --ui-shadow:none; --ui-shadow-lg:var(--dx-cien); --ui-overlay:rgba(11,11,11,.32);
  --ui-code-bg:var(--ui-bg); --ui-code-ink:var(--dx-ink);
}
@media (prefers-color-scheme:dark){
  .dev-body.dev-sekcja-konto{
    --ui-red:#f87171; --ui-red-2:#ef4444; --ui-red-bg:rgba(239,68,68,.13); --ui-red-line:rgba(239,68,68,.32);
    --ui-ok:#4ade80; --ui-ok-bg:rgba(34,197,94,.12); --ui-ok-line:rgba(34,197,94,.32); --ui-ok-text:#86efac;
    --ui-warn:#fbbf24; --ui-warn-bg:rgba(245,158,11,.12); --ui-warn-line:rgba(245,158,11,.32); --ui-warn-text:#fcd34d;
    --ui-info:#60a5fa; --ui-info-bg:rgba(59,130,246,.13); --ui-info-line:rgba(59,130,246,.32); --ui-info-text:#93c5fd;
    --ui-overlay:rgba(0,0,0,.6);
  }
}

/* Od 1.3.10 każda strona idzie na całą szerokość; klasy --waska/--szeroka zostają tylko dla zgodności (nic nie zwężają). */
.ui-page{max-width:none;margin:0 auto;min-width:0}
.ui-page--waska{max-width:none}
.ui-page--szeroka{max-width:none}
.ui-stack{display:flex;flex-direction:column;gap:1rem}
.ui-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}
.ui-title{font-size:18px;font-weight:600;color:var(--ui-ink);margin:0;line-height:1.3}
.ui-sub{font-size:14px;color:var(--ui-muted);margin:.25rem 0 0}
.ui-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}
/* Kafelek ikony na listach i w kartach (Narzędzia; Moduły mają .km-ic/.md-ic w tej samej formie) */
.ui-ic{width:40px;height:40px;border-radius:var(--ui-r);background:var(--ui-bg-2);color:var(--ui-ink);display:flex;align-items:center;justify-content:center;flex:none;font-size:20px;line-height:1}
.ui-ic--duza{width:44px;height:44px;font-size:22px}
.ui-ic svg{width:20px;height:20px}
.ui-ic[data-kat="dokumenty"]{background:var(--ui-info-bg)}
.ui-ic[data-kat="komunikacja"]{background:var(--ui-ok-bg)}
.ui-ic[data-kat="rejestry"]{background:var(--ui-red-bg)}
.ui-back{display:inline-flex;align-items:center;gap:.35rem;font-size:13px;color:var(--ui-muted);text-decoration:none}
.ui-back:hover{color:var(--ui-ink)}
.ui-back svg{width:14px;height:14px;flex:none}
.ui-stack>.ui-back{align-self:flex-start}

/* ── Zakładki: podkreślane (poziom 1) i pigułki (poziom 2) ─────────────── */
.ui-tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--ui-line);overflow-x:auto;white-space:nowrap;scrollbar-width:none;margin:0;padding:0}
.ui-tabs::-webkit-scrollbar{display:none}
.ui-tab{flex:none;padding:.5rem 1rem;font:inherit;font-size:14px;font-weight:500;color:var(--ui-muted);background:none;border:0;border-bottom:2px solid transparent;margin-bottom:-1px;text-decoration:none;cursor:pointer;transition:.15s}
.ui-tab:hover{color:var(--ui-ink-2)}
.ui-tab.on{color:var(--ui-ink);border-bottom-color:var(--ui-ink)}
.ui-pills{display:flex;gap:.35rem;overflow-x:auto;white-space:nowrap;scrollbar-width:none;margin:0;padding:0}
.ui-pills::-webkit-scrollbar{display:none}
.ui-pill{flex:none;padding:.35rem .85rem;font:inherit;font-size:13px;font-weight:500;color:var(--ui-text-2);border:1px solid var(--ui-line);border-radius:999px;background:var(--ui-card);text-decoration:none;cursor:pointer;transition:.15s}
.ui-pill:hover{background:var(--ui-bg);color:var(--ui-ink)}
.ui-pill.on{background:var(--ui-ink);color:var(--ui-on-ink);border-color:var(--ui-ink)}

/* ── Karty i tekst ─────────────────────────────────────────────────────── */
.ui-card{background:var(--ui-card);border:1px solid var(--ui-line);border-radius:var(--ui-r);box-shadow:var(--ui-shadow);padding:1.25rem;min-width:0}
.ui-card--flat{padding:0;overflow:hidden}
.ui-card-h{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem;flex-wrap:wrap}
.ui-card-t{font-size:16px;font-weight:600;color:var(--ui-ink);margin:0;line-height:1.3}
.ui-card--flat>.ui-card-h{margin:0;padding:.7rem 1.25rem;border-bottom:1px solid var(--ui-line);font-size:12px;color:var(--ui-faint)}
.ui-card--flat>.ui-card-h .ui-card-t{font-size:13px;font-weight:500;color:var(--ui-muted)}
.ui-card--flat>.ui-card-pad{padding:1.25rem}
.ui-eyebrow{font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--ui-muted);margin:0 0 .5rem}
.ui-lead{font-size:15px;font-weight:600;line-height:1.5;color:var(--ui-ink);margin:0 0 .5rem}
.ui-text{font-size:14px;line-height:1.6;color:var(--ui-text);margin:0}
.ui-text+.ui-text,.ui-lead+.ui-text{margin-top:.5rem}
.ui-text b{color:var(--ui-ink);font-weight:600}
.ui-muted{color:var(--ui-muted);font-size:13px}
.ui-small{font-size:12px;color:var(--ui-faint)}
.ui-hr{border:0;border-top:1px solid var(--ui-line);margin:1rem 0}
.ui-grid{display:grid;grid-template-columns:minmax(0,1fr);gap:1rem}
.ui-grid>*{min-width:0}
@media (min-width:640px){.ui-grid--2{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (min-width:1024px){.ui-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:1024px){.ui-grid--bok{grid-template-columns:minmax(0,2fr) minmax(300px,1fr);align-items:start}}
a.ui-card{display:block;color:inherit;text-decoration:none;transition:.15s}
a.ui-card:hover{border-color:var(--ui-line-2);box-shadow:0 4px 12px rgba(15,23,42,.08)}

/* ── Przyciski i linki ─────────────────────────────────────────────────── */
.ui-btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.55rem 1rem;font:inherit;font-size:14px;font-weight:500;line-height:1.2;border-radius:var(--ui-r);border:1px solid var(--ui-line-2);background:var(--ui-card);color:var(--ui-text);cursor:pointer;text-decoration:none;white-space:nowrap;transition:.15s}
.ui-btn:hover{background:var(--ui-bg);color:var(--ui-ink)}
.ui-btn--primary{background:var(--ui-ink);border-color:var(--ui-ink);color:var(--ui-on-ink)}
.ui-btn--primary:hover{background:var(--ui-ink-hover);border-color:var(--ui-ink-hover);color:var(--ui-on-ink)}
.ui-btn--red{background:var(--ui-red);border-color:var(--ui-red);color:#fff}
.ui-btn--red:hover{background:var(--ui-red-2);border-color:var(--ui-red-2);color:#fff}
.ui-btn--danger{border-color:var(--ui-red-line);color:var(--ui-red)}
.ui-btn--danger:hover{background:var(--ui-red-bg);color:var(--ui-red-2)}
.ui-btn--ghost{border-color:transparent;background:transparent}
.ui-btn--ghost:hover{background:var(--ui-bg-2)}
.ui-btn--sm{padding:.35rem .7rem;font-size:13px;border-radius:var(--ui-r-sm)}
.ui-btn--block{width:100%}
.ui-btn:disabled,.ui-btn[aria-disabled=true]{opacity:.5;cursor:not-allowed;pointer-events:none}
.ui-btn svg{width:16px;height:16px;flex:none}
.ui-btn-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}
.ui-btn-row--end{justify-content:flex-end}
.ui-link{color:var(--ui-ink);text-decoration:underline;text-underline-offset:2px;background:none;border:0;padding:0;font:inherit;cursor:pointer}
.ui-link:hover{color:var(--ui-red)}
.ui-link--danger{color:var(--ui-red)}
.ui-link--muted{color:var(--ui-muted);text-decoration:none}
.ui-link--muted:hover{color:var(--ui-ink);text-decoration:underline}
/* Ikony svg w przyciskach i kartach (kafelek .ui-ic wyżej to div) */
svg.ui-ic{width:16px;height:16px;flex:none}
svg.ui-ic--lg{width:20px;height:20px}
/* ── Formularze ────────────────────────────────────────────────────────── */
.ui-field{display:flex;flex-direction:column;gap:.35rem;min-width:0}
.ui-field+.ui-field,.ui-fields>*+*{margin-top:1rem}
.ui-grid>.ui-field+.ui-field{margin-top:0}   /* pola w siatce rozstawia gap, nie margines */
.ui-option:has(input:disabled){cursor:default;background:var(--ui-bg)}
.ui-option:has(input:disabled) b{color:var(--ui-text)}
.ui-option .ui-badge{display:inline-flex;vertical-align:middle;margin:0 0 0 .35rem;font-size:12px}
.ui-option .ui-badge--warn{color:var(--ui-warn-text)}
.ui-label{font-size:14px;font-weight:500;color:var(--ui-text)}
.ui-label .req{color:var(--ui-red)}
.ui-input,.ui-select,.ui-textarea{width:100%;padding:.5rem .75rem;font:inherit;font-size:14px;color:var(--ui-ink);background:var(--ui-card);border:1px solid var(--ui-line-2);border-radius:var(--ui-r-sm);outline:none;transition:.15s;min-width:0;box-sizing:border-box}
.ui-input[type=file]{padding:.3rem .5rem;cursor:pointer;color:var(--ui-text-2)}
.ui-input[type=file]::file-selector-button{font:inherit;font-size:13px;font-weight:500;padding:.3rem .75rem;margin-right:.75rem;border:1px solid var(--ui-line-2);border-radius:var(--ui-r-sm);background:var(--ui-bg);color:var(--ui-ink);cursor:pointer}
.ui-input[type=file]:hover::file-selector-button{background:var(--ui-bg-2)}
.ui-input:focus,.ui-select:focus,.ui-textarea:focus{border-color:var(--ui-ink);box-shadow:0 0 0 3px color-mix(in srgb,var(--ui-ink) 10%,transparent)}
.ui-input::placeholder,.ui-textarea::placeholder{color:var(--ui-faint)}
.ui-input:disabled,.ui-select:disabled,.ui-textarea:disabled{background:var(--ui-bg-2);color:var(--ui-muted);cursor:not-allowed}
.ui-textarea{min-height:96px;resize:vertical}
.ui-field.err .ui-input,.ui-field.err .ui-select,.ui-field.err .ui-textarea,.ui-input[aria-invalid=true]{border-color:var(--ui-red)}
.ui-hint{font-size:12px;color:var(--ui-muted);margin:0;line-height:1.5}
.ui-err{font-size:12px;color:var(--ui-red);margin:0}
.ui-search{position:relative;min-width:0}
.ui-search svg{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);width:16px;height:16px;color:var(--ui-faint);pointer-events:none}
.ui-search .ui-input{padding-left:2.25rem}
.ui-checks{display:flex;flex-direction:column}
.ui-check{display:flex;gap:.75rem;align-items:flex-start;padding:.75rem 0;border-top:1px solid var(--ui-line);cursor:pointer;font-size:14px;color:var(--ui-text);line-height:1.45}
.ui-checks .ui-check:first-child{border-top:0;padding-top:0}
.ui-checks .ui-check:last-child{padding-bottom:0}
.ui-check input{margin:3px 0 0;width:16px;height:16px;flex:none;accent-color:var(--ui-ink)}
.ui-check b{display:block;color:var(--ui-ink);font-weight:600}
.ui-check span{display:block;font-size:13px;color:var(--ui-muted);margin-top:2px}
.ui-check b .ui-badge{display:inline-flex;margin:0 0 0 .4rem;vertical-align:1px} /* odznaka przy nazwie („z roli") nie rozciąga się na szerokość wiersza */
.ui-options{display:grid;grid-template-columns:minmax(0,1fr);gap:.6rem}
@media (min-width:640px){.ui-options--2{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ui-option{display:flex;gap:.75rem;align-items:flex-start;padding:.85rem 1rem;border:1px solid var(--ui-line);border-radius:var(--ui-r);cursor:pointer;background:var(--ui-card);transition:.15s;font-size:14px;color:var(--ui-text);line-height:1.45;min-width:0}
.ui-option:hover{border-color:var(--ui-line-2);background:var(--ui-bg)}
.ui-option:has(input:checked){border-color:var(--ui-ink);box-shadow:inset 0 0 0 1px var(--ui-ink)}
.ui-option input{margin:3px 0 0;accent-color:var(--ui-ink);flex:none}
.ui-option b{display:block;color:var(--ui-ink);font-weight:600}
.ui-option span{display:block;font-size:13px;color:var(--ui-muted);margin-top:2px}
.ui-switch{position:relative;display:inline-flex;align-items:center;gap:.6rem;cursor:pointer;font-size:14px;color:var(--ui-text)}
.ui-switch input{position:absolute;opacity:0;width:0;height:0}
.ui-switch i{width:36px;height:20px;border-radius:999px;background:var(--ui-line-2);position:relative;transition:.15s;flex:none}
.ui-switch i::after{content:"";position:absolute;top:2px;left:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:.15s;box-shadow:0 1px 2px rgba(0,0,0,.2)}
.ui-switch input:checked+i{background:var(--ui-ok)}
.ui-switch input:checked+i::after{left:18px}
.ui-switch input:focus-visible+i{box-shadow:0 0 0 3px rgba(15,23,42,.15)}
.ui-switch:has(input:disabled){cursor:not-allowed}
.ui-switch input:disabled+i{opacity:.55}
/* Jeden przycisk zapisu dla długiej strony ustawień: pasek przyklejony do dołu okna (Firma › Ustawienia, Firma › redAi). */
.ui-zapis-pasek{position:sticky;bottom:0;z-index:20;display:flex;justify-content:flex-end;align-items:center;gap:.75rem;flex-wrap:wrap;margin:0 -.25rem;padding:.75rem 1rem;background:var(--ui-card);border:1px solid var(--ui-line);border-radius:var(--ui-r);box-shadow:0 -6px 18px -12px rgba(15,23,42,.35)}
.ui-zapis-pasek .ui-muted{margin-right:auto;font-size:13px;min-width:0}
@media (max-width:639px){.ui-zapis-pasek{margin:0 -.5rem;border-radius:0;border-left:0;border-right:0}.ui-zapis-pasek .ui-btn{flex:1}}
.ui-form-foot{display:flex;justify-content:flex-end;align-items:center;gap:.5rem;margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--ui-line);flex-wrap:wrap}
.ui-form-foot .ui-muted{margin-right:auto}

/* ── Listy wierszy (projekty, czaty, pliki) ────────────────────────────── */
.ui-rows{display:flex;flex-direction:column;margin:0;padding:0;list-style:none}
.ui-row{display:flex;align-items:center;gap:.75rem;padding:.75rem 1.25rem;border-top:1px solid var(--ui-line);color:inherit;text-decoration:none;min-width:0;transition:.15s}
.ui-rows>.ui-row:first-child{border-top:0}
a.ui-row:hover,button.ui-row:hover,.ui-row--link:hover{background:var(--ui-bg)}
button.ui-row{width:100%;text-align:left;background:none;border:0;border-top:1px solid var(--ui-line);font:inherit;cursor:pointer}   /* wiersz, który otwiera okno zamiast podstrony */
.ui-row-t .ui-badge{vertical-align:middle;margin-left:.25rem;font-weight:500}
.ui-row-main{flex:1;min-width:0}
.ui-row-t{display:block;font-size:14px;font-weight:500;color:var(--ui-ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ui-row-m{display:block;font-size:12px;color:var(--ui-faint);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;margin-top:1px}
.ui-row-end{display:flex;align-items:center;gap:.5rem;flex:none}
.ui-row-chev{width:16px;height:16px;color:var(--ui-faint);flex:none;transition:transform .15s}   /* strzałka na końcu klikalnego wiersza */
.ui-row-chev.on{transform:rotate(90deg)}
@media (max-width:767px){ /* telefon: gdy odznaki/przyciski nie mieszczą się obok tytułu, schodzą pod niego zamiast ucinać tytuł do 3 liter */
  .ui-row{flex-wrap:wrap}
  .ui-row-main{flex:1 1 55%;min-width:140px}
  .ui-row-end{flex-wrap:wrap;flex:0 1 auto;max-width:100%}   /* może się kurczyć, więc odznaki zawijają się w wierszu zamiast wypychać strzałkę poza kartę */
}
.ui-avatar{width:36px;height:36px;border-radius:50%;background:var(--ui-bg-2);color:var(--ui-muted);display:inline-flex;align-items:center;justify-content:center;font-size:15px;font-weight:500;flex:none;overflow:hidden}
.ui-avatar--sm{width:28px;height:28px;font-size:12px}
.ui-avatar img{width:100%;height:100%;object-fit:cover}

/* ── Tabele ────────────────────────────────────────────────────────────── */
.ui-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;min-width:0}
.ui-table{width:100%;border-collapse:collapse;font-size:14px;min-width:640px}
.ui-table th{text-align:left;padding:.6rem 1rem;font-size:12px;font-weight:600;color:var(--ui-muted);background:var(--ui-bg);border-bottom:1px solid var(--ui-line);white-space:nowrap}
.ui-table td{padding:.65rem 1rem;border-top:1px solid var(--ui-bg-2);color:var(--ui-text);vertical-align:middle}
.ui-table tbody tr:first-child td{border-top:0}
.ui-table tbody tr:hover{background:var(--ui-bg)}
.ui-table tr.ui-row--link{cursor:pointer}
.ui-table .num{text-align:right;font-variant-numeric:tabular-nums}
.ui-table .akcje{text-align:right;white-space:nowrap}
.ui-table td b{color:var(--ui-ink);font-weight:500}
.ui-table td .ui-small{display:block}

/* ── Odznaki, status, liczby ───────────────────────────────────────────── */
.ui-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.15rem .55rem;font-size:12px;font-weight:500;border-radius:999px;background:var(--ui-bg-2);color:var(--ui-text);white-space:nowrap;line-height:1.5}
.ui-badge--ok{background:var(--ui-ok-bg);color:var(--ui-ok-text)}
.ui-badge--warn{background:var(--ui-warn-bg);color:var(--ui-warn-text)}
.ui-badge--err{background:var(--ui-red-bg);color:var(--ui-red-2)}
.ui-badge--info{background:var(--ui-info-bg);color:var(--ui-info-text)}
.ui-badge--ink{background:var(--ui-ink);color:var(--ui-on-ink)}
.ui-dot{width:8px;height:8px;border-radius:50%;background:currentColor;display:inline-block;flex:none}
.ui-kpis{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
@media (min-width:768px){.ui-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}}
.ui-kpi{background:var(--ui-card);border:1px solid var(--ui-line);border-radius:var(--ui-r);padding:.9rem 1rem;min-width:0}
.ui-kpi-l{font-size:12px;color:var(--ui-muted);margin:0}
.ui-kpi-v{font-size:22px;font-weight:600;color:var(--ui-ink);margin:.15rem 0 0;line-height:1.2;font-variant-numeric:tabular-nums}
.ui-kpi-d{font-size:12px;color:var(--ui-faint);margin:.2rem 0 0}

/* ── Kroki, klucz-wartość, pusty stan ──────────────────────────────────── */
.ui-steps{list-style:none;margin:0;padding:0;counter-reset:krok;display:flex;flex-direction:column;gap:.75rem}
.ui-steps li{display:flex;gap:.75rem;font-size:14px;color:var(--ui-text);line-height:1.5}
.ui-steps li::before{counter-increment:krok;content:counter(krok);width:24px;height:24px;border-radius:50%;background:var(--ui-ink);color:var(--ui-on-ink);font-size:12px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;flex:none;margin-top:1px}
.ui-steps b{color:var(--ui-ink);font-weight:600}
.ui-kv{display:grid;grid-template-columns:minmax(0,1fr);gap:.35rem 1.25rem;margin:0;font-size:14px}
@media (min-width:640px){.ui-kv{grid-template-columns:max-content minmax(0,1fr);gap:.6rem 1.25rem}}
.ui-kv dt{color:var(--ui-muted);margin:0}
.ui-kv dd{color:var(--ui-ink);margin:0;min-width:0;overflow-wrap:anywhere}
@media (max-width:639px){.ui-kv dd{margin-bottom:.5rem}}
.ui-empty{padding:2.5rem 1rem;text-align:center;color:var(--ui-muted);font-size:14px;line-height:1.5}
.ui-empty b{display:block;color:var(--ui-ink);font-weight:600;font-size:15px;margin-bottom:.25rem}
.ui-empty .ui-btn{margin-top:1rem}
/* ── Komunikaty i akordeon ─────────────────────────────────────────────── */
.ui-alert{display:flex;gap:.6rem;align-items:flex-start;padding:.75rem .9rem;border:1px solid var(--ui-line);border-radius:var(--ui-r-sm);background:var(--ui-bg);color:var(--ui-text);font-size:14px;line-height:1.5}
.ui-alert svg{width:16px;height:16px;flex:none;margin-top:2px}
.ui-alert b{font-weight:600;color:inherit}
.ui-alert--ok{background:var(--ui-ok-bg);border-color:var(--ui-ok-line);color:var(--ui-ok-text)}
.ui-alert--warn{background:var(--ui-warn-bg);border-color:var(--ui-warn-line);color:var(--ui-warn-text)}
.ui-alert--err{background:var(--ui-red-bg);border-color:var(--ui-red-line);color:var(--ui-red-2)}
.ui-alert--info{background:var(--ui-info-bg);border-color:var(--ui-info-line);color:var(--ui-info-text)}
.ui-alert-x{margin-left:auto;background:none;border:0;color:inherit;opacity:.6;cursor:pointer;font-size:18px;line-height:1;padding:0 2px;flex:none}
.ui-alert-x:hover{opacity:1}

/* ── Układ konta developera (dkp-*): kolumna treści obok menu bocznego, nagłówki jak w dokumentacji ── */
.dkp{width:100%;max-width:1060px;margin:0 auto;padding:36px 40px 72px;min-width:0;color:var(--ui-text);font-size:14px}
.dkp h1,.dkp h2,.dkp h3{letter-spacing:0}
.dkp a:hover{text-decoration:none}
.dkp .ui-link:hover{text-decoration:underline}
.dkp-mono{font-family:var(--mono)}
.dkp .ui-card{border-radius:12px}
.dkp .ui-card-t,.dkp-pusto__t{font-family:var(--dx-serif);font-weight:600;font-size:17px;letter-spacing:-.005em}
.dkp .ui-card--flat>.ui-card-h .ui-card-t{font-family:inherit;font-size:13px;font-weight:500;letter-spacing:0}
.dkp-licz{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--ui-bg-2);color:var(--ui-text-2);font-size:11.5px;font-weight:600;font-variant-numeric:tabular-nums;line-height:1}
.dkp-licz--warn{background:var(--ui-warn-bg);color:var(--ui-warn)}

/* Nagłówek strony jak w dokumentacji: okruszki, tytuł szeryfowy, jedno zdanie, akcja główna po prawej. */
.dkp-ph{display:flex;align-items:flex-start;gap:1rem;flex-wrap:wrap;margin-bottom:.5rem}
.dkp-ph__main{flex:1 1 320px;min-width:0}
.dkp-ph__t{font-family:var(--dx-serif);font-size:clamp(1.65rem,2.6vw,2rem);font-weight:600;color:var(--ui-ink);margin:0;line-height:1.2;letter-spacing:-.012em;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}
.dkp-ph__t .ui-badge{font-family:var(--font);letter-spacing:0}
.dkp-ph__s{font-size:1rem;color:var(--dx-txt2);margin:.6rem 0 0;line-height:1.6;max-width:68ch}
.dkp-ph>.ui-actions{flex:none;margin-top:4px}
.dkp-okruchy{display:flex;align-items:center;gap:.45rem;font-size:.875rem;color:var(--ui-muted);min-width:0;margin-bottom:-.4rem}
.dkp-okruchy a{color:var(--ui-muted);text-decoration:none}
.dkp-okruchy a:hover{color:var(--ui-ink)}
.dkp-okruchy span{color:var(--ui-muted)}
.dkp-okruchy [aria-current]{color:var(--ui-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Karta modułu: podekrany jako pigułki pod nagłówkiem (jak rekord w instancji), licznik w pigułce. */
.dkp-sekcje .ui-pill{display:inline-flex;align-items:center;gap:.4rem}
.dkp-sekcje .ui-pill .dkp-licz{height:18px;min-width:18px;font-size:11px}
.dkp-sekcje .ui-pill.on .dkp-licz{background:color-mix(in srgb,currentColor 22%,transparent);color:inherit}
.dkp-sekcje .ui-pill.on .dkp-licz--warn{background:var(--ui-warn-bg);color:var(--ui-warn)}

/* Lista modułów jako tabela z nagłówkiem; na telefonie kolumny schodzą pod nazwę z etykietami. */
.dkp-lista__h,.dkp-mrow{display:grid;grid-template-columns:minmax(0,2.4fr) minmax(0,.7fr) minmax(0,1.6fr) minmax(0,1.3fr) 16px;gap:1rem;align-items:center}
.dkp-lista__h{padding:.6rem 1.25rem;background:var(--ui-bg);border-bottom:1px solid var(--ui-line);font-size:12px;font-weight:600;color:var(--ui-muted)}
.dkp-mrow.ui-row{display:grid;padding:.85rem 1.25rem}
.dkp-mrow__mod{display:flex;align-items:center;gap:.75rem;min-width:0}
.dkp-mrow__c{font-size:13px;color:var(--ui-text);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.dkp-mrow__st{display:flex;gap:.35rem;flex-wrap:wrap;min-width:0}
.dkp-mrow .ui-row-m{font-size:12px}
@media (max-width:899px){
  .dkp-lista__h{display:none}
  .dkp-mrow.ui-row{grid-template-columns:minmax(0,.6fr) minmax(0,1.4fr) 16px;gap:.6rem 1rem;padding:.9rem 1rem}
  .dkp-mrow__mod{grid-column:1/-2}
  .dkp-mrow .ui-row-chev{grid-column:-2;grid-row:1}
  .dkp-mrow__c{white-space:normal;overflow-wrap:anywhere}
  .dkp-mrow__c::before{content:attr(data-l);display:block;font-size:11px;color:var(--ui-faint);margin-bottom:1px}
  .dkp-mrow__st{grid-column:1/-1}
}

/* Pusty stan: ikona, jedno zdanie, akcja. */
.dkp-pusto{display:flex;flex-direction:column;align-items:center;text-align:center;padding:3rem 1.25rem}
.dkp-pusto--maly{padding:2rem 1.25rem}
.dkp-pusto__ic{width:48px;height:48px;border-radius:12px;background:var(--ui-bg-2);color:var(--ui-muted);display:flex;align-items:center;justify-content:center;margin-bottom:1rem}
.dkp-pusto__ic svg{width:22px;height:22px}
.dkp-pusto__t{font-size:16px;font-weight:600;color:var(--ui-ink);margin:0}
.dkp-pusto__s{font-size:14px;color:var(--ui-muted);margin:.35rem 0 1.25rem;max-width:52ch;line-height:1.55}
.dkp-pusto--maly .dkp-pusto__s{margin-bottom:0}

/* Pole paczki: strefa upuszczania zamiast gołego input[type=file]. */
.dkp-plik{position:relative;display:flex;flex-direction:column;align-items:center;gap:.35rem;padding:1.4rem 1rem;border:1.5px dashed var(--ui-line-2);border-radius:var(--ui-r);background:var(--ui-bg);text-align:center;cursor:pointer;transition:.15s;min-width:0}
.dkp-plik:hover,.dkp-plik.nad{border-color:var(--ui-ink);background:var(--ui-card)}
.dkp-plik:focus-within{border-color:var(--ui-ink);box-shadow:0 0 0 3px var(--dx-hov)}
.dkp-plik.ma{border-style:solid;border-color:var(--ui-ok-line);background:var(--ui-ok-bg)}
.dkp-plik input{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}
.dkp-plik svg{width:22px;height:22px;color:var(--ui-muted)}
.dkp-plik__t{font-size:13px;color:var(--ui-muted)}
.dkp-plik__t b{color:var(--ui-ink);font-weight:600}
.dkp-plik__n{font-family:var(--mono);font-size:12.5px;color:var(--ui-ok-text);overflow-wrap:anywhere}
.dkp-plik__n:empty{display:none}

/* Klucze API. */
.dkp-klucz{border-top:1px solid var(--ui-line)}
.ui-card-h+.dkp-klucz{border-top:0}
.dkp-klucz .ui-row{border-top:0}
.dkp-klucz__ic{width:32px;height:32px;border-radius:8px;background:var(--ui-bg-2);color:var(--ui-text-2);display:flex;align-items:center;justify-content:center;flex:none}
.dkp-klucz__ic svg{width:16px;height:16px}
.dkp-klucz .dkp-det{border-top:0;margin-left:calc(32px + .75rem)}
.dkp-klucz .dkp-det>summary{padding-top:0;margin-top:-.35rem}
.dkp-klucz .dkp-det>summary:hover{background:none}
.dkp-uniewaznione{background:var(--ui-bg)}
.dkp-uniewaznione .dkp-det__in{padding:0}
.dkp-uniewaznione .ui-row{padding:.6rem 1.25rem}
.dkp-code{font-family:var(--mono);font-size:12.5px;background:var(--ui-bg-2);color:var(--ui-ink);padding:.1em .4em;border-radius:4px;overflow-wrap:anywhere}
.dkp-kod{position:relative;min-width:0}
.dkp-kod pre{margin:0;background:var(--ui-code-bg);color:var(--ui-code-ink);border:1px solid var(--ui-line);border-radius:12px;padding:14px 16px;padding-right:5.5rem;overflow-x:auto;font-family:var(--mono);font-size:12.5px;line-height:1.65;white-space:pre}
.dkp-kod .ui-btn{position:absolute;top:.5rem;right:.5rem}
.dkp-prompt{font-family:var(--mono);font-size:12.5px;line-height:1.6;min-height:220px;background:var(--ui-bg)}
.dkp-sekret{display:block;font-family:var(--mono);font-size:14px;background:var(--ui-card);border:1px dashed var(--ui-warn);border-radius:var(--ui-r-sm);padding:.6rem .75rem;overflow-wrap:anywhere;user-select:all;color:var(--ui-ink);margin:.5rem 0}
.dkp-alert-body{flex:1;min-width:0}
.dkp-alert-body .ui-btn-row{margin-top:.6rem}
.dkp-adresy{max-height:280px;overflow:auto;border:1px solid var(--ui-line);border-radius:var(--ui-r-sm);padding:.75rem 1rem}
.dkp-adresy .ui-check b{font-weight:500;overflow-wrap:anywhere}
.dkp-adresy .ui-check b .ui-badge{font-weight:500}
.dkp-modul-h .ui-ic{margin-top:2px;background:var(--ui-card);box-shadow:inset 0 0 0 1px var(--ui-line)}
.dkp-badges{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center;margin-top:.6rem}
.dkp-det{border-top:1px solid var(--ui-line)}
.dkp-det>summary{list-style:none;cursor:pointer;padding:.6rem 1.25rem;font-size:13px;font-weight:500;color:var(--ui-text-2);display:flex;align-items:center;gap:.4rem}
.dkp-det>summary::-webkit-details-marker{display:none}
.dkp-det>summary::before{content:"";width:6px;height:6px;border-right:1.5px solid currentColor;border-bottom:1.5px solid currentColor;transform:rotate(-45deg);transition:transform .15s;margin-right:.2rem}
.dkp-det[open]>summary::before{transform:rotate(45deg)}
.dkp-det>summary:hover{color:var(--ui-ink);background:var(--ui-bg)}
.dkp-det__in{padding:0 1.25rem 1.25rem}
.dkp-klucz-row{align-items:flex-start}
.dkp-niewazny{opacity:.55}
.dkp-strefa{border-color:var(--ui-red-line)}
.dkp-row-url{font-family:var(--mono);font-size:13px}
.ui-row-m.dkp-wrap,.ui-row-t.dkp-wrap{white-space:normal;overflow-wrap:anywhere}
.dkp-strefa__in{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}
.dkp-strefa__in .ui-text{flex:1 1 320px;margin:0}
.dkp-krok-akcja{margin-top:.5rem}
.dkp-male-l{font-size:13px}
.dkp-akapit{margin:0 0 1rem;color:var(--ui-text-2);line-height:1.55;max-width:75ch}
.dkp-pole-odstep{margin-top:1rem}
.dkp-etykieta-akcja{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.4rem}
.dkp-etykieta-akcja .ui-label{margin:0}
/* Rozwijana karta (terminal i asystent AI w Wydaniach). */
.dkp-rozwin>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:.6rem;flex-wrap:wrap;padding:.85rem 1.25rem}
.dkp-rozwin>summary::-webkit-details-marker{display:none}
.dkp-rozwin>summary::before{content:"";width:7px;height:7px;border-right:1.5px solid var(--ui-muted);border-bottom:1.5px solid var(--ui-muted);transform:rotate(-45deg);transition:transform .15s}
.dkp-rozwin[open]>summary::before{transform:rotate(45deg)}
.dkp-rozwin>summary .ui-card-t{font-size:14px;font-weight:600;color:var(--ui-ink)}
.dkp-rozwin>summary:hover{background:var(--ui-bg)}
.dkp-rozwin__in{padding:0 1.25rem 1.25rem}
/* Instancje modułu: jedna lista z odznaką stanu przy adresie. */
.dkp-inst{border:1px solid var(--ui-line);border-radius:var(--ui-r-sm);padding:.75rem 1rem}
.dkp-inst .ui-check b{font-weight:500;overflow-wrap:anywhere}
.dkp-inst .ui-check b .ui-badge{font-weight:500}
.dkp-inst__t{min-width:0}
.dkp-wyd .ui-row-t{display:flex;align-items:center;gap:.4rem;flex-wrap:wrap;white-space:normal}
.dkp-wyd__uw{display:block;font-size:13px;color:var(--ui-text-2);margin-top:.35rem;line-height:1.5;overflow-wrap:anywhere}
.dkp-wyd__uw b{color:var(--ui-ink);font-weight:600}
.dkp-inst .ui-check .dkp-url-in{display:inline;margin:0;color:var(--ui-ink)}
/* API: nowy klucz w wierszu pod listą, lista endpointów. */
.dkp-klucz-nowy{padding:1rem 1.25rem;border-top:1px solid var(--ui-line);background:var(--ui-bg)}
.dkp-klucz-nowy .ui-label{display:block;margin-bottom:.4rem}
.dkp-klucz-nowy__w{display:flex;gap:.6rem;flex-wrap:wrap}
.dkp-klucz-nowy__w .ui-input{flex:1 1 240px;min-width:0}
.dkp-klucz-inst{margin-top:.35rem}
.dkp-inline{display:inline}
.dkp-inline .ui-link{background:none;border:0;padding:0;font:inherit;cursor:pointer;color:var(--ui-ink);text-decoration:underline}
.dkp-endpointy dt{white-space:nowrap}
.dkp-uniewaznione{border-top:1px solid var(--ui-line)}
@media (max-width:900px){.dkp{padding:28px 24px 56px}}
@media (max-width:600px){.dkp{padding:20px 16px 48px}}
@media (max-width:639px){
  .dkp-ph>.ui-actions{width:100%}
  .dkp-ph>.ui-actions .ui-btn{flex:1}
  .dkp-modul-h>.ui-ic{display:none}
  .dkp-lista__h,.dkp-uniewaznione .ui-row{padding-left:1rem;padding-right:1rem}
  .dkp-klucz .dkp-det{margin-left:0}
  .dkp .ui-card{padding:1rem}
  .dkp .ui-card--flat{padding:0}
  .dkp-rozwin>summary,.dkp-rozwin__in,.dkp-klucz-nowy{padding-left:1rem;padding-right:1rem}
  .dkp-endpointy dt{white-space:normal}
  .dkp .ui-row{padding:.75rem 1rem}
  .dkp-det>summary{padding:.6rem 1rem}
  .dkp-det__in{padding:0 1rem 1rem}
  .dkp-kod pre{font-size:12px;padding-top:2.9rem;padding-right:1rem}
  .dkp .ui-form-foot .ui-btn{flex:1}
}
