/* System wygladu aplikacji Profiautoglass. Laduje sie po stylach stron, wiec nadpisuje ich zmienne. */
html[data-theme="dark"] {
  --px-tlo:#171c29; --px-panel:#222839; --px-panel2:#2a3144; --px-szklo:rgba(34,40,57,.8);
  --px-linia:rgba(255,255,255,.08); --px-linia2:rgba(255,255,255,.14);
  --px-tekst:#f1f3f9; --px-tekst2:#aab2c5; --px-tekst3:#939cb1;
  --px-akcent:#ff2e4c; --px-akcent2:#ff5c74; --px-poswiata:rgba(255,46,76,.28); --px-cien:0 18px 50px rgba(0,0,0,.45);

  --red:#ff4d67; --red-bg:rgba(255,46,76,.14); --green:#3ee08f; --green-bg:rgba(62,224,143,.13);
  --amber:#fbbf4c; --amber-bg:rgba(251,191,76,.13); --blue:#6ea8ff; --blue-bg:rgba(110,168,255,.13);
  --gray-bg:rgba(255,255,255,.07); --purple:#b79bff; --purple-bg:rgba(183,155,255,.13);
  --white:#222839; --surface1:#2a3144; --text:#f1f3f9; --text2:#aab2c5; --text3:#939cb1;
  --border:rgba(255,255,255,.08); --border2:rgba(255,255,255,.15);
  --indigo:#a5a8ff; --indigo-bg:rgba(165,168,255,.13); --cyan:#5fd8ee; --cyan-bg:rgba(95,216,238,.12);
  --teal:#46dcc6; --teal-bg:rgba(70,220,198,.12); --violet:#c4a6ff; --violet-bg:rgba(196,166,255,.13);
  --orange:#ff9a5c; --orange-bg:rgba(255,154,92,.13); --slate:#b5bfd2; --slate-bg:rgba(181,191,210,.12);
  --rose:#ff7eb3; --rose-bg:rgba(255,126,179,.13); --lime:#b5e853; --lime-bg:rgba(181,232,83,.12);
  --sky:#6ccbff; --sky-bg:rgba(108,203,255,.12);
  color-scheme:dark;
}
html[data-theme="light"], html:not([data-theme]) {
  --px-tlo:#f4f5f9; --px-panel:#ffffff; --px-panel2:#f7f8fb; --px-szklo:rgba(255,255,255,.78);
  --px-linia:rgba(15,20,35,.09); --px-linia2:rgba(15,20,35,.16);
  --px-tekst:#12151f; --px-tekst2:#525a6e; --px-tekst3:#7d8497;
  --px-akcent:#e0102f; --px-akcent2:#c20d28; --px-poswiata:rgba(224,16,47,.18); --px-cien:0 14px 40px rgba(25,32,55,.1);
  --red:#d20f2c; --red-bg:#fde8eb; --green:#0f8f55; --green-bg:#def6ea; --amber:#a86406; --amber-bg:#fdf1d9;
  --blue:#1f5fd6; --blue-bg:#e6efff; --gray-bg:#eef0f5; --purple:#5b21b6; --purple-bg:#f0ebff;
  --white:#ffffff; --surface1:#f4f5f9; --text:#12151f; --text2:#525a6e; --text3:#7d8497;
  --border:rgba(15,20,35,.09); --border2:rgba(15,20,35,.18);
  --indigo:#4338ca; --indigo-bg:#e8eaff; --cyan:#0e7490; --cyan-bg:#e4f8fc; --teal:#0f766e; --teal-bg:#dcf8f2;
  --violet:#6d28d9; --violet-bg:#f1ebff; --orange:#c2410c; --orange-bg:#ffeee0; --slate:#475569; --slate-bg:#e7ebf1;
  --rose:#be185d; --rose-bg:#fdeaf3; --lime:#4d7c0f; --lime-bg:#eff9d9; --sky:#0369a1; --sky-bg:#e5f4fd;
  color-scheme:light;
}

/* ─── Podstawa ─── */
html, body { background:var(--px-tlo) !important; }
body { font-family:'Inter',system-ui,sans-serif; color:var(--px-tekst); -webkit-font-smoothing:antialiased; }
body:not(.px-login) { padding-left:236px; padding-top:64px; }
body::before {
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(900px 480px at 88% -8%, var(--px-poswiata), transparent 65%),
    radial-gradient(760px 520px at 12% 112%, rgba(92,84,255,.16), transparent 65%);
}
::selection { background:var(--px-akcent); color:#fff; }
::-webkit-scrollbar { width:9px; height:9px; }
::-webkit-scrollbar-thumb { background:var(--px-linia2); border-radius:9px; }
::-webkit-scrollbar-track { background:transparent; }
:focus-visible { outline:2px solid var(--px-akcent2); outline-offset:2px; }
.page { padding:20px 28px 26px !important; }
.page-header { flex-wrap:wrap; }
/* Nawigacja jest w bocznym menu, wiec przyciski do innych ekranow w naglowku strony znikaja. */
.page-header > a.btn[href*="ubezpieczenia"] { display:none !important; }
.page-header .page-title { display:none; }

/* ─── Boczne menu ─── */
.px-bok {
  position:fixed; inset:0 auto 0 0; width:236px; z-index:300; display:flex; flex-direction:column; padding:18px 14px;
  background:var(--px-szklo); backdrop-filter:blur(22px) saturate(1.4); border-right:1px solid var(--px-linia);
}
.px-marka { display:flex; align-items:center; gap:10px; padding:4px 8px 22px; color:var(--px-tekst); text-decoration:none; }
.px-marka img { display:block; width:100%; max-width:196px; height:auto; }
.px-logo-c { display:none !important; }
html[data-theme="dark"] .px-logo-j { display:none !important; }
html[data-theme="dark"] .px-logo-c { display:block !important; }
.px-menu { display:flex; flex-direction:column; gap:3px; flex:1; overflow-y:auto; }
.px-menu a {
  display:flex; align-items:center; gap:11px; padding:10px 11px; border-radius:11px; font-size:13.5px; font-weight:500;
  color:var(--px-tekst2); text-decoration:none; transition:background .16s,color .16s;
}
.px-menu a:hover { background:var(--gray-bg); color:var(--px-tekst); }
.px-menu a.akt { color:var(--px-tekst); background:linear-gradient(90deg,var(--red-bg),transparent); box-shadow:inset 2px 0 0 var(--px-akcent); }
.px-menu a.akt svg { color:var(--px-akcent2); }
.px-menu svg, .px-burger svg, .px-szukaj svg, .px-motyw svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; flex:none; }
.px-menu-sep { margin:18px 11px 6px; font-size:10.5px; font-weight:600; letter-spacing:.08em; text-transform:uppercase; color:var(--px-tekst3); }
.px-konto { display:flex; align-items:center; gap:8px; padding-top:14px; border-top:1px solid var(--px-linia); }
.px-konto-link { display:flex; align-items:center; gap:9px; flex:1; min-width:0; color:var(--px-tekst); text-decoration:none; }
.px-awatar { width:32px; height:32px; flex:none; border-radius:50%; display:grid; place-items:center; font-size:11.5px; font-weight:700; color:#fff; background:linear-gradient(135deg,var(--px-akcent),#7a5cff); }
.px-konto-imie { font-size:12.5px; font-weight:600; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.px-wyloguj { font-size:11.5px; color:var(--px-tekst3); text-decoration:none; }
.px-wyloguj:hover { color:var(--px-akcent2); }

/* ─── Gorny pasek ─── */
.px-gora {
  position:fixed; top:0; left:236px; right:0; height:64px; z-index:290; display:flex; align-items:center; gap:12px; padding:0 28px;
  background:var(--px-szklo); backdrop-filter:blur(22px) saturate(1.4); border-bottom:1px solid var(--px-linia);
}
.px-tytul { font:600 19px/1.1 'Space Grotesk',sans-serif; letter-spacing:-.015em; color:var(--px-tekst); margin:0; white-space:nowrap; }
.px-dodatki { margin-left:auto; display:flex; align-items:center; gap:8px; }
.px-szukaj {
  display:flex; align-items:center; gap:9px; height:38px; width:min(340px,34vw); padding:0 11px; border-radius:11px; cursor:pointer;
  color:var(--px-tekst3); font:500 12.5px 'Inter',sans-serif; background:var(--gray-bg); border:1px solid var(--px-linia);
}
.px-szukaj:hover { border-color:var(--px-linia2); color:var(--px-tekst2); }
.px-szukaj span { flex:1; text-align:left; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.px-szukaj kbd { font:600 10.5px 'Inter',sans-serif; padding:3px 6px; border-radius:6px; background:var(--px-panel); border:1px solid var(--px-linia); }
.px-motyw, .px-burger { width:38px; height:38px; display:grid; place-items:center; border-radius:11px; cursor:pointer; color:var(--px-tekst2); background:var(--gray-bg); border:1px solid var(--px-linia); }
.px-motyw:hover { color:var(--px-tekst); border-color:var(--px-linia2); }
.px-burger { display:none; }

/* ─── Paleta Ctrl+K ─── */
.px-paleta { position:fixed; inset:0; z-index:9999; background:rgba(4,6,12,.62); backdrop-filter:blur(6px); padding:12vh 16px 16px; }
.px-paleta[hidden] { display:none; }
.px-paleta-okno { max-width:620px; margin:0 auto; border-radius:18px; overflow:hidden; background:var(--px-panel); border:1px solid var(--px-linia2); box-shadow:var(--px-cien); }
.px-paleta-okno input { width:100%; height:56px; padding:0 20px; font:500 15.5px 'Inter',sans-serif; color:var(--px-tekst); background:transparent; border:0; border-bottom:1px solid var(--px-linia); outline:none; }
.px-paleta-lista { max-height:46vh; overflow-y:auto; padding:8px; }
.px-paleta-lista a { display:flex; justify-content:space-between; align-items:center; gap:14px; padding:11px 13px; border-radius:11px; color:var(--px-tekst); font-size:13.5px; text-decoration:none; }
.px-paleta-lista a.wyb, .px-paleta-lista a:hover { background:var(--red-bg); }
.px-paleta-lista small { color:var(--px-tekst3); font-size:11.5px; flex:none; }
.px-paleta-pusto { padding:24px; text-align:center; color:var(--px-tekst3); }

/* ─── Elementy stron silnika ─── */
.stat-card, .tbl-outer, .wtyczka-karta { background:var(--px-panel) !important; border:1px solid var(--px-linia) !important; border-radius:16px !important; }
.stat-card { transition:border-color .18s,transform .18s; }
.stat-card:hover { border-color:var(--px-linia2); transform:translateY(-1px); }
.stat-val { font-family:'Space Grotesk',sans-serif; letter-spacing:-.02em; }
.btn { border-radius:10px !important; transition:background .15s,border-color .15s,color .15s,box-shadow .15s; }
.btn-primary { background:linear-gradient(135deg,var(--px-akcent),var(--px-akcent2)) !important; color:#fff !important; box-shadow:0 8px 22px var(--px-poswiata); border:0 !important; }
.btn-primary:hover { filter:brightness(1.08); }
.btn-secondary, .btn-icon { background:var(--gray-bg) !important; border:1px solid var(--px-linia) !important; color:var(--px-tekst2) !important; }
.btn-secondary:hover, .btn-icon:hover { border-color:var(--px-linia2) !important; color:var(--px-tekst) !important; }
th { color:var(--px-tekst3) !important; }
.tbl-scroll thead th, th.sticky { background:var(--px-panel2) !important; }
.sticky { background:var(--px-panel) !important; }
tr:hover td, tr:hover .sticky { background:var(--px-panel2) !important; }
tr.row-unseen td, tr.row-unseen .sticky { background:#43202c !important; }
tr.row-unseen:hover td, tr.row-unseen:hover .sticky { background:#552835 !important; }
html:not([data-theme="dark"]) tr.row-unseen td, html:not([data-theme="dark"]) tr.row-unseen .sticky { background:#fdecef !important; }
html:not([data-theme="dark"]) tr.row-unseen:hover td, html:not([data-theme="dark"]) tr.row-unseen:hover .sticky { background:#f9d8de !important; }
input, select, textarea { color:var(--px-tekst); }
.page input:not([type=checkbox]):not([type=radio]), .page select, .page textarea,
[class*="modal"] input:not([type=checkbox]):not([type=radio]), [class*="modal"] select, [class*="modal"] textarea {
  background-color:var(--px-panel2) !important; color:var(--px-tekst) !important; border-color:var(--px-linia2) !important; border-radius:9px !important;
}
select option { background:var(--px-panel); color:var(--px-tekst); }

/* Na stronach silnika zostaly wpisane na stale jasne kolory: te reguly dostosowuja je do motywu. */
html[data-theme="dark"] [style*="background:#fff"], html[data-theme="dark"] [style*="background: #fff"],
html[data-theme="dark"] [style*="background:white"], html[data-theme="dark"] [style*="background:#f9"],
html[data-theme="dark"] [style*="background:#fa"], html[data-theme="dark"] [style*="background:#f8"],
html[data-theme="dark"] [style*="background:#f5"], html[data-theme="dark"] [style*="background:#f3"] {
  background:var(--px-panel2) !important; color:var(--px-tekst);
}
html[data-theme="dark"] [style*="color:#111"], html[data-theme="dark"] [style*="color:#222"],
html[data-theme="dark"] [style*="color:#333"], html[data-theme="dark"] [style*="color:#1a"] { color:var(--px-tekst) !important; }
html[data-theme="dark"] [style*="color:#555"], html[data-theme="dark"] [style*="color:#666"] { color:var(--px-tekst2) !important; }

/* Mapa: ciemne kafelki, gdy aplikacja jest w ciemnym motywie. */
html[data-theme="dark"] .leaflet-tile-pane { filter:invert(1) hue-rotate(195deg) brightness(.92) contrast(.9); }
.leaflet-container { background:var(--px-panel2) !important; border-radius:16px; font-family:'Inter',sans-serif !important; }
.leaflet-popup-content-wrapper, .leaflet-popup-tip { background:var(--px-panel) !important; color:var(--px-tekst) !important; }

/* ─── Logowanie ─── */
body.px-login { min-height:100vh; display:grid; place-items:center; padding:20px; overflow:hidden; }
.px-kosmos { position:fixed; inset:0; overflow:hidden; pointer-events:none; }
.px-kosmos span { position:absolute; border-radius:50%; filter:blur(90px); opacity:.55; animation:px-unos 22s ease-in-out infinite alternate; }
.px-kosmos span:nth-child(1) { width:560px; height:560px; left:-140px; top:-160px; background:#ff2e4c; }
.px-kosmos span:nth-child(2) { width:640px; height:640px; right:-180px; bottom:-220px; background:#5c54ff; animation-delay:-7s; }
.px-kosmos span:nth-child(3) { width:320px; height:320px; right:22%; top:12%; background:#ff8a5c; opacity:.25; animation-delay:-13s; }
@keyframes px-unos { to { transform:translate(60px,40px) scale(1.12); } }
.px-login-karta { position:relative; width:100%; max-width:410px; padding:38px 36px; border-radius:24px; background:var(--px-szklo); backdrop-filter:blur(26px) saturate(1.5); border:1px solid var(--px-linia2); box-shadow:var(--px-cien); }
.px-marka-duza { padding:0 0 26px; }
.px-marka-duza img { max-width:290px; }
.px-login-karta h1 { font:600 27px/1.15 'Space Grotesk',sans-serif; letter-spacing:-.025em; margin:0 0 6px; color:var(--px-tekst); }
.px-login-opis { margin:0 0 22px; font-size:14px; color:var(--px-tekst2); }
.px-login-karta label { display:block; margin:14px 0 6px; font-size:12.5px; font-weight:600; color:var(--px-tekst2); }
.px-login-karta input { width:100%; height:46px; padding:0 14px; font-size:15px; font-family:inherit; color:var(--px-tekst); background:var(--gray-bg); border:1px solid var(--px-linia2); border-radius:12px; box-sizing:border-box; outline:none; }
.px-login-karta input:focus { border-color:var(--px-akcent); box-shadow:0 0 0 3px var(--px-poswiata); }
.px-login-karta button { width:100%; height:48px; margin-top:22px; border:0; border-radius:12px; cursor:pointer; color:#fff; font:600 15px 'Inter',sans-serif; background:linear-gradient(135deg,var(--px-akcent),#ff6b5c); box-shadow:0 12px 30px var(--px-poswiata); }
.px-login-karta button:hover { filter:brightness(1.08); }
.px-alert { padding:11px 14px; margin-bottom:6px; border-radius:11px; font-size:13px; color:var(--red); background:var(--red-bg); border:1px solid var(--red-bg); }

/* ─── Pulpit ─── */
.px-pulpit { padding:26px 28px 70px; max-width:1560px; margin:0 auto; }
.px-powitanie { display:flex; flex-wrap:wrap; align-items:flex-end; justify-content:space-between; gap:16px; margin-bottom:24px; }
.px-powitanie h2 { font:600 32px/1.1 'Space Grotesk',sans-serif; letter-spacing:-.03em; margin:0 0 6px; color:var(--px-tekst); }
.px-powitanie p { margin:0; color:var(--px-tekst2); font-size:14px; }
.px-akcje { display:flex; flex-wrap:wrap; gap:9px; }
.px-przyc { display:inline-flex; align-items:center; gap:8px; height:42px; padding:0 17px; border-radius:12px; font-size:13.5px; font-weight:600; text-decoration:none; color:var(--px-tekst); background:var(--gray-bg); border:1px solid var(--px-linia); }
.px-przyc:hover { border-color:var(--px-linia2); }
.px-przyc.gl { color:#fff; border:0; background:linear-gradient(135deg,var(--px-akcent),#ff6b5c); box-shadow:0 12px 28px var(--px-poswiata); }
.px-przyc.gl:hover { filter:brightness(1.08); }
.px-kpi { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin-bottom:14px; }
.px-karta { background:var(--px-panel); border:1px solid var(--px-linia); border-radius:18px; padding:20px 22px; min-width:0; }
.px-kpi .px-karta { position:relative; overflow:hidden; }
.px-kpi .px-karta::after { content:""; position:absolute; inset:0 0 auto 0; height:1px; background:linear-gradient(90deg,transparent,var(--px-linia2),transparent); }
.px-kpi small { display:block; font-size:12px; font-weight:500; color:var(--px-tekst2); margin-bottom:9px; }
.px-kpi b { display:block; font:600 32px/1 'Space Grotesk',sans-serif; letter-spacing:-.03em; color:var(--px-tekst); white-space:nowrap; font-variant-numeric:tabular-nums; }
.px-kpi em { display:block; margin-top:9px; font-style:normal; font-size:12px; color:var(--px-tekst3); }
.px-kpi .gorace b { color:var(--px-akcent2); }
.px-sekcja { font:600 15px 'Space Grotesk',sans-serif; color:var(--px-tekst); margin:0 0 15px; display:flex; justify-content:space-between; align-items:baseline; gap:10px; }
.px-sekcja a { font:500 12.5px 'Inter',sans-serif; color:var(--px-tekst3); text-decoration:none; }
.px-sekcja a:hover { color:var(--px-akcent2); }
.px-lejek { display:grid; grid-template-columns:repeat(7,minmax(0,1fr)); gap:8px; }
.px-lejek a { display:block; padding:14px; border-radius:13px; text-decoration:none; background:var(--px-panel2); border:1px solid transparent; transition:border-color .16s,transform .16s; }
.px-lejek a:hover { border-color:var(--px-linia2); transform:translateY(-2px); }
.px-lejek b { display:block; font:600 25px/1 'Space Grotesk',sans-serif; color:var(--px-tekst); margin-bottom:7px; }
.px-lejek span { display:block; font-size:11.5px; color:var(--px-tekst2); line-height:1.3; }
.px-lejek a.uwaga { background:var(--red-bg); }
.px-lejek a.uwaga b { color:var(--px-akcent2); }
.px-siatka { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(0,1fr); gap:14px; margin-top:14px; }
.px-mapa { height:390px; border-radius:13px; overflow:hidden; }
.px-paski { display:flex; flex-direction:column; gap:13px; }
.px-pasek-w { display:grid; grid-template-columns:96px minmax(0,1fr) 30px; align-items:center; gap:10px; font-size:12.5px; color:var(--px-tekst2); }
.px-pasek-w i { display:block; height:8px; border-radius:99px; background:var(--gray-bg); overflow:hidden; }
.px-pasek-w i u { display:block; height:100%; border-radius:99px; background:linear-gradient(90deg,var(--px-akcent),#ff8a5c); }
.px-pasek-w b { text-align:right; color:var(--px-tekst); font-variant-numeric:tabular-nums; }
.px-wykres svg { width:100%; height:190px; display:block; overflow:visible; }
.px-wykres text { fill:var(--px-tekst3); font:500 11px 'Inter',sans-serif; }
.px-lista { display:flex; flex-direction:column; }
.px-lista a { display:flex; justify-content:space-between; gap:12px; padding:11px 0; font-size:13px; text-decoration:none; color:var(--px-tekst); border-bottom:1px solid var(--px-linia); }
.px-lista a:last-child { border:0; }
.px-lista a:hover b { color:var(--px-akcent2); }
.px-lista b { font-weight:600; }
.px-lista small { display:block; margin-top:2px; font-size:11.5px; color:var(--px-tekst3); }
.px-lista time { flex:none; font-size:11.5px; color:var(--px-tekst3); }
.px-gotowosc { display:flex; flex-direction:column; gap:3px; }
.px-gotowosc div { display:flex; gap:11px; align-items:flex-start; padding:9px 0; font-size:13px; color:var(--px-tekst); }
.px-gotowosc i { flex:none; width:9px; height:9px; margin-top:4px; border-radius:50%; background:var(--amber); box-shadow:0 0 10px var(--amber); }
.px-gotowosc i.ok { background:var(--green); box-shadow:0 0 10px var(--green); }
.px-gotowosc small { display:block; margin-top:2px; font-size:11.5px; color:var(--px-tekst3); }
.px-pusto { padding:26px 8px; text-align:center; font-size:13px; color:var(--px-tekst3); }

/* ─── Uzytkownicy ─── */
.px-tabela { width:100%; border-collapse:collapse; font-size:13px; }
.px-tabela th { text-align:left; padding:10px 12px; font-size:11px; letter-spacing:.04em; text-transform:uppercase; border-bottom:1px solid var(--px-linia); }
.px-tabela td { padding:12px; border-bottom:1px solid var(--px-linia); color:var(--px-tekst); }
.px-formularz { display:grid; gap:11px; }
.px-formularz label { display:grid; gap:5px; font-size:12.5px; font-weight:600; color:var(--px-tekst2); }
.px-formularz input, .px-formularz select { height:42px; padding:0 12px; font:500 14px 'Inter',sans-serif; color:var(--px-tekst); background:var(--px-panel2); border:1px solid var(--px-linia2); border-radius:10px; }
.px-formularz button, .px-tabela button { height:40px; padding:0 16px; border:0; border-radius:10px; cursor:pointer; font:600 13px 'Inter',sans-serif; color:#fff; background:linear-gradient(135deg,var(--px-akcent),#ff6b5c); }
.px-tabela button { height:32px; color:var(--px-tekst2); background:var(--gray-bg); border:1px solid var(--px-linia); }
.px-haslo { padding:14px 16px; margin-bottom:14px; border-radius:12px; font-size:13.5px; color:var(--px-tekst); background:var(--green-bg); }
.px-haslo code { font-size:15px; font-weight:700; user-select:all; }

/* ─── Mniejsze ekrany ─── */
@media (max-width:1180px) {
  .px-kpi { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .px-lejek { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .px-siatka { grid-template-columns:minmax(0,1fr); }
}
@media (max-width:820px) {
  body:not(.px-login) { padding-left:0; }
  .px-bok { transform:translateX(-100%); transition:transform .22s; }
  .px-bok.otwarty { transform:none; box-shadow:var(--px-cien); }
  .px-gora { left:0; padding:0 16px; }
  .px-burger { display:grid; }
  .px-szukaj span, .px-szukaj kbd { display:none; }
  .px-szukaj { width:38px; padding:0 10px; }
  .px-tytul { font-size:16px; overflow:hidden; text-overflow:ellipsis; }
  .page, .px-pulpit { padding:18px 16px 50px !important; }
  .px-lejek { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .px-kpi b { font-size:26px; }
}
@media (prefers-reduced-motion:reduce) { .px-kosmos span { animation:none; } }

/* Jasny motyw: delikatny cien zamiast poswiaty, spokojniejsze tlo logowania. */
html:not([data-theme="dark"]) .px-karta, html:not([data-theme="dark"]) .stat-card, html:not([data-theme="dark"]) .tbl-outer { box-shadow:0 1px 2px rgba(25,32,55,.05),0 8px 24px rgba(25,32,55,.05); }
html:not([data-theme="dark"]) .px-kosmos span { opacity:.16; }
html:not([data-theme="dark"]) .px-kosmos span:nth-child(3) { opacity:.1; }
html:not([data-theme="dark"]) body::before { opacity:.55; }
html:not([data-theme="dark"]) .px-paleta { background:rgba(40,46,65,.35); }

/* Wysokosci ekranow silnika liczone byly bez gornego paska aplikacji. */
.app { height:calc(100vh - 64px) !important; }
.tbl-scroll { max-height:calc(100vh - 445px) !important; min-height:300px; }
/* Warstwy mapy Leaflet nie moga przykrywac paska ani okien. */
.leaflet-container { isolation:isolate; }
.nb-box { background:var(--px-panel) !important; color:var(--px-tekst); }
