/* Keksitbot - wspólny wygląd panelu i stron publicznych (v2, 12.10.2026). WŁAŚCICIEL: Fundament.
   Wzór: ui_prototyp/styl.css (prototyp keksitbot-ui.idea4me.pl). Marka: wariant 1 „Tarcza z ugryzieniem”.
   Ładowany PO panel.css (stary wygląd v1): przemapowuje jego zmienne na kolory marki, więc stare ekrany wyglądają spójnie,
   dopóki obszary nie przepiszą ich na nowe komponenty. Obszary dodają własne style w static/<obszar>.css, nie tutaj. */

/* Inter (OFL 1.1, fonts/OFL.txt) hostowany lokalnie - bez Google Fonts */
@font-face{font-family:'Inter';font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/inter-latin-ext-wght-normal.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Inter';font-style:normal;font-display:swap;font-weight:100 900;src:url(fonts/inter-latin-wght-normal.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ------------------------------------------------------------ tokeny */
:root{
  --k-plum:#1E1240; --k-plum2:#2C1D5C; --k-vio:#6D28D9; --k-vio-h:#5B21B6; --k-vio2:#5B21B6; --k-lav:#8B5CF6; --k-lavl:#EDE9FE; --k-mist:#F5F3FF;
  --k-car:#F2B544; --k-carl:#FDF3DC; --k-cart:#7A4E00;
  --k-ink:#17132B; --k-mut:#575270; --k-dim:#655F7E; --k-line:#E6E3EF; --k-line2:#D3CEE2;
  --k-bg:#F7F6FB; --k-plate:#F2F0F8; --k-panel:#FFFFFF;
  --k-ok:#166534; --k-okl:#DCFCE7; --k-warn:#8A3B00; --k-warnl:#FEF0C7; --k-err:#B42318; --k-errl:#FEE4E2; --k-err-bg:#B42318;
  --k-blu:#1E3A8A; --k-blul:#DBEAFE; --k-gray:#4A4460; --k-grayl:#ECEAF2;
  --k-code-bg:#160E30; --k-code-ink:#E9E3FF;
  --k-shadow:0 1px 2px rgba(30,18,64,.04); --k-shadow2:0 14px 34px rgba(23,14,48,.18);
  --k-r:14px; --k-top:56px; --k-side:248px;
  /* zmienne starego panel.css (v1) -> marka */
  --bg:var(--k-bg); --panel:var(--k-panel); --ink:var(--k-ink); --muted:var(--k-mut); --line:var(--k-line);
  --navy:var(--k-vio); --navy-2:var(--k-vio2); --gold:var(--k-cart); --gold-soft:var(--k-carl);
  --green:var(--k-ok); --green-soft:var(--k-okl); --red:var(--k-err); --red-soft:var(--k-errl); --amber:var(--k-warn); --amber-soft:var(--k-warnl);
  --shadow:var(--k-shadow); --r:var(--k-r);
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --k-vio2:#C4B5FD; --k-lavl:#2E2160; --k-mist:#231A45; --k-carl:#3A2B0A; --k-cart:#F2C66B;
  --k-ink:#EEEAFB; --k-mut:#B9B2D3; --k-dim:#A59EC2; --k-line:#2E2650; --k-line2:#40366A;
  --k-bg:#120C26; --k-plate:#1A1336; --k-panel:#1C1538;
  --k-ok:#86EFAC; --k-okl:#12321F; --k-warn:#FCD34D; --k-warnl:#3A2A08; --k-err:#FCA5A5; --k-errl:#3B1418;
  --k-blu:#BFDBFE; --k-blul:#172554; --k-gray:#D6D1EA; --k-grayl:#2A2348;
  --k-shadow:0 1px 2px rgba(0,0,0,.4); --k-shadow2:0 14px 34px rgba(0,0,0,.5);
  color-scheme:dark;
}}
:root[data-theme="dark"]{
  --k-vio2:#C4B5FD; --k-lavl:#2E2160; --k-mist:#231A45; --k-carl:#3A2B0A; --k-cart:#F2C66B;
  --k-ink:#EEEAFB; --k-mut:#B9B2D3; --k-dim:#A59EC2; --k-line:#2E2650; --k-line2:#40366A;
  --k-bg:#120C26; --k-plate:#1A1336; --k-panel:#1C1538;
  --k-ok:#86EFAC; --k-okl:#12321F; --k-warn:#FCD34D; --k-warnl:#3A2A08; --k-err:#FCA5A5; --k-errl:#3B1418;
  --k-blu:#BFDBFE; --k-blul:#172554; --k-gray:#D6D1EA; --k-grayl:#2A2348;
  --k-shadow:0 1px 2px rgba(0,0,0,.4); --k-shadow2:0 14px 34px rgba(0,0,0,.5);
  color-scheme:dark;
}

/* ------------------------------------------------------------ podstawy */
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--k-bg);color:var(--k-ink);font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif;font-size:14px;line-height:1.5;
  -webkit-font-smoothing:antialiased;overflow-x:hidden}
a{color:var(--k-vio2)}
h1,h2,h3{margin:0;line-height:1.2;text-wrap:balance}
:focus-visible{outline:3px solid var(--k-lav);outline-offset:2px}
img{max-width:100%}
.ik{flex:none;vertical-align:middle}
.mono{font-family:"JetBrains Mono",Consolas,ui-monospace,monospace;font-variant-ligatures:none}
.sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}


/* ------------------------------------------------------------ układ panelu */
.k-top{height:var(--k-top);position:sticky;top:0;z-index:40;display:flex;align-items:center;gap:14px;padding:0 20px;background:var(--k-panel);border-bottom:1px solid var(--k-line)}
.k-logo{display:flex;align-items:center;flex:none}.k-logo img{height:30px;width:auto;display:block}.k-logo img.k-logo-c{display:none}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .k-logo img.k-logo-j{display:none}:root:not([data-theme="light"]) .k-logo img.k-logo-c{display:block}}
:root[data-theme="dark"] .k-logo img.k-logo-j{display:none} :root[data-theme="dark"] .k-logo img.k-logo-c{display:block}
.k-top-r{margin-left:auto;display:flex;align-items:center;gap:12px;min-width:0}
.k-ikbtn.k-burger{display:none}
.k-ikbtn{width:36px;height:36px;border-radius:10px;border:0;background:transparent;color:var(--k-mut);display:grid;place-items:center;cursor:pointer;text-decoration:none;flex:none}
.k-ikbtn:hover{background:var(--k-grayl);color:var(--k-ink)}
.k-sep{width:1px;height:28px;background:var(--k-line);flex:none}
.lang{display:inline-flex;gap:2px;border:1.5px solid var(--k-line2);border-radius:9px;padding:2px;flex:none}
.lang a,.lang span{font-size:12.5px;font-weight:800;padding:4px 8px;border-radius:6px;color:var(--k-gray);text-decoration:none;line-height:1.2}
.lang a.on{background:var(--k-plum);color:#fff}
:root[data-theme="dark"] .lang a.on{background:var(--k-vio)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .lang a.on{background:var(--k-vio)}}
.av{border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:800;flex:none;background:var(--k-vio);width:34px;height:34px;font-size:13px}
.k-konto{position:relative}
.k-konto>summary{list-style:none;display:flex;align-items:center;gap:10px;cursor:pointer;padding:4px 6px;border-radius:10px}
.k-konto>summary::-webkit-details-marker{display:none}
.k-konto>summary:hover{background:var(--k-grayl)}
.k-konto-t{line-height:1.2;min-width:0;max-width:220px}
.k-konto-t b{display:block;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-konto-t small{display:block;font-size:12.5px;color:var(--k-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.k-menu{position:absolute;right:0;top:calc(100% + 6px);min-width:240px;background:var(--k-panel);border:1px solid var(--k-line);border-radius:12px;box-shadow:var(--k-shadow2);padding:6px;z-index:60}
.k-menu a{display:flex;align-items:center;gap:10px;padding:9px 10px;border-radius:8px;color:var(--k-ink);text-decoration:none;font-weight:600}
.k-menu a:hover{background:var(--k-mist)}
.k-menu .k-menu-em{padding:8px 10px 10px;border-bottom:1px solid var(--k-line);margin-bottom:4px;font-size:12.5px;color:var(--k-dim);overflow-wrap:anywhere}
.k-body{display:flex;min-height:calc(100vh - var(--k-top))}
.k-side{width:var(--k-side);flex:none;border-right:1px solid var(--k-line);background:var(--k-panel)}
.k-side-in{padding:16px 12px;display:flex;flex-direction:column;gap:2px;position:sticky;top:var(--k-top);height:calc(100vh - var(--k-top));overflow-y:auto}
.k-side .grp{font-size:11px;letter-spacing:.1em;font-weight:800;color:var(--k-dim);text-transform:uppercase;margin:14px 10px 6px}
.navi{white-space:nowrap;display:flex;align-items:center;gap:11px;min-height:38px;padding:0 10px;border-radius:9px;font-weight:600;font-size:14px;color:var(--k-ink);text-decoration:none}
.navi .ik{color:var(--k-gray)}
.navi:hover{background:var(--k-mist)}
.navi.on{background:var(--k-lavl);color:var(--k-vio2)}.navi.on .ik{color:var(--k-vio2)}
.navi span{overflow:hidden;text-overflow:ellipsis}
.navi .cnt{margin-left:auto;font-size:11.5px;font-weight:800;background:var(--k-grayl);color:var(--k-gray);border-radius:9px;padding:1px 7px}
.navi .cnt.w{background:var(--k-warnl);color:var(--k-warn)}
.k-sitesw{margin:4px 2px 6px;position:relative}
.k-sitesw>summary{list-style:none;height:40px;border:1.5px solid var(--k-line2);border-radius:10px;display:flex;align-items:center;gap:8px;padding:0 10px;font-weight:700;font-size:13.5px;cursor:pointer}
.k-sitesw>summary::-webkit-details-marker{display:none}
.k-sitesw>summary span{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-sitesw>summary .ik:last-child{margin-left:auto;color:var(--k-dim)}
.k-sitesw-l{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--k-panel);border:1px solid var(--k-line);border-radius:12px;box-shadow:var(--k-shadow2);padding:6px;z-index:30;max-height:320px;overflow-y:auto}
.k-sitesw-l a{display:block;padding:8px 10px;border-radius:8px;color:var(--k-ink);text-decoration:none;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.k-sitesw-l a.on,.k-sitesw-l a:hover{background:var(--k-mist);color:var(--k-vio2)}
.k-sitesw-l a.dod{color:var(--k-vio2);border-top:1px solid var(--k-line);border-radius:0 0 8px 8px;margin-top:4px}
.k-trial{margin-top:auto;border-radius:12px;background:var(--k-mist);padding:12px;font-size:12.5px;line-height:1.45;color:var(--k-mut)}
.k-trial b{color:var(--k-ink);display:block}
.k-main{flex:1;min-width:0;padding:22px 34px 60px}
.k-main>.wrap{max-width:none;padding:0}
.znak{background:var(--k-plum)!important}
.k-zaslon{display:none}

/* ------------------------------------------------------------ strony publiczne (logowanie, rejestracja, dokumenty) */
.k-publ-top{height:68px;display:flex;align-items:center;gap:20px;padding:0 32px;background:var(--k-panel);border-bottom:1px solid var(--k-line);position:sticky;top:0;z-index:40}
.k-publ-top .k-logo img{height:32px}
.k-publ-top .k-top-r{gap:10px}
.k-publ-stopka{border-top:1px solid var(--k-line);background:var(--k-panel);margin-top:32px}
.k-publ-stopka>div{max-width:1180px;margin:0 auto;padding:18px 16px;display:flex;gap:10px 22px;flex-wrap:wrap;justify-content:space-between;font-size:13px;color:var(--k-mut)}
.k-publ-stopka nav{display:flex;gap:16px;flex-wrap:wrap}.k-publ-stopka a{color:var(--k-mut)}

/* ------------------------------------------------------------ nagłówki i tekst */
.crumbs{font-size:13px;color:var(--k-dim);font-weight:600;display:flex;gap:6px;align-items:center;flex-wrap:wrap}
.crumbs b{color:var(--k-ink)}.crumbs a{color:var(--k-vio2);text-decoration:none}.crumbs a:hover{text-decoration:underline}
.h1{font-size:32px;font-weight:800;letter-spacing:-.02em;line-height:1.15;overflow-wrap:anywhere}
.sub{font-size:15px;color:var(--k-mut);margin-top:4px;line-height:1.45}
.hdr{display:flex;align-items:flex-end;gap:16px;margin-top:6px;flex-wrap:wrap}
.hdr>div:first-child{min-width:0;flex:1 1 320px}
.hdr .sp{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.h2{font-size:17px;font-weight:800;letter-spacing:-.01em}
.h3{font-size:15px;font-weight:800}
.small{font-size:12.5px;color:var(--k-dim)}
.muted{color:var(--k-mut)}.dim{color:var(--k-dim)}.vio{color:var(--k-vio2)}.okt{color:var(--k-ok)}.errt{color:var(--k-err)}.warnt{color:var(--k-warn)}
.liczba-d{font-size:30px;font-weight:800;letter-spacing:-.01em;line-height:1.1;font-variant-numeric:tabular-nums}

/* ------------------------------------------------------------ karty, płytki, siatki */
.card{background:var(--k-panel);border:1px solid var(--k-line);border-radius:var(--k-r);box-shadow:var(--k-shadow);padding:16px 20px;min-width:0}
.card.p0{padding:0;overflow:hidden}
.plate{background:var(--k-plate);border-radius:16px;padding:16px;min-width:0}
.row{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.row>*{min-width:0}
.cols{display:flex;gap:18px;align-items:flex-start}.cols>*{min-width:0}
.g2,.g3,.g4{display:grid;gap:14px}.g2{grid-template-columns:repeat(2,minmax(0,1fr))}.g3{grid-template-columns:repeat(3,minmax(0,1fr))}.g4{grid-template-columns:repeat(4,minmax(0,1fr))}
.f1{flex:1}.ml-a{margin-left:auto}.mt6{margin-top:6px}.mt10{margin-top:10px}.mt14{margin-top:14px}.mt18{margin-top:18px}.mt22{margin-top:22px}
.kv{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--k-line);font-size:14px;flex-wrap:wrap}
.kv:first-child{border-top:0}.kv .k{color:var(--k-mut);width:170px;flex:none}
.tile{display:flex;align-items:center;gap:12px;padding:16px 18px;border-radius:14px;background:var(--k-panel);border:1.5px solid var(--k-line);font-weight:700;font-size:15px;color:var(--k-vio2);text-decoration:none;min-width:0}
.tile:hover{border-color:var(--k-lav)}
.tile .ib{width:38px;height:38px;border-radius:10px;background:var(--k-lavl);display:grid;place-items:center;color:var(--k-vio2);flex:none}
.tile .ik:last-child{margin-left:auto}
.ikbox{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:none}

/* ------------------------------------------------------------ przyciski (nowe: btn btn-p|btn-k|btn-s|btn-t|btn-d|btn-dd; stare: btn, btn o, btn r, btn s) */
.btn{height:40px;min-height:40px;border-radius:10px;padding:0 16px;font:inherit;font-weight:700;font-size:14px;display:inline-flex;align-items:center;justify-content:center;gap:8px;
  white-space:nowrap;border:1.5px solid transparent;flex:none;cursor:pointer;text-decoration:none;background:var(--k-vio);color:#fff;filter:none}
.btn:hover{filter:none;background:var(--k-vio-h)}
.btn-p{background:var(--k-vio);color:#fff;box-shadow:0 6px 16px rgba(109,40,217,.25)}.btn-p:hover{background:var(--k-vio-h)}
.btn-k{background:var(--k-plum);color:#fff}.btn-k:hover{background:var(--k-plum2)}
.btn-s,.btn.o{background:var(--k-panel);border-color:var(--k-line2);color:var(--k-ink);box-shadow:none}.btn-s:hover,.btn.o:hover{background:var(--k-mist);border-color:var(--k-lav)}
.btn-t{background:transparent;color:var(--k-vio2);padding:0 10px;box-shadow:none}.btn-t:hover{background:var(--k-mist)}
.btn-d,.btn.ro{background:var(--k-panel);border-color:#F3B7B0;color:var(--k-err);box-shadow:none}.btn-d:hover,.btn.ro:hover{background:var(--k-errl)}
.btn-dd,.btn.r{background:var(--k-err-bg);border-color:var(--k-err-bg);color:#fff}.btn-dd:hover,.btn.r:hover{background:#912018}
.btn-off,.btn:disabled,.btn-off:hover,.btn:disabled:hover{background:var(--k-grayl);color:var(--k-dim);border-color:transparent;box-shadow:none;cursor:not-allowed}
.btn-lg{height:50px;font-size:16px;border-radius:12px;padding:0 22px}
.btn-sm,.btn.s{height:32px;min-height:32px;font-size:13px;padding:0 12px;border-radius:8px}
.btn.laduje{pointer-events:none;opacity:.75}

/* ------------------------------------------------------------ formularze */
.lbl,.pole label,.etyk{font-size:13px;color:var(--k-mut);font-weight:700;margin-bottom:6px;display:block}
input[type=text],input[type=email],input[type=password],input[type=url],input[type=number],input[type=date],input[type=search],input[type=tel],select,textarea{
  width:100%;font:inherit;font-size:14px;color:var(--k-ink);background:var(--k-panel);border:1.5px solid var(--k-line2);border-radius:10px;padding:9px 12px;min-height:42px}
textarea{min-height:84px;resize:vertical;line-height:1.5}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--k-vio);box-shadow:0 0 0 4px rgba(109,40,217,.14)}
input[aria-invalid=true],.pole.blad input{border-color:var(--k-err);box-shadow:0 0 0 4px rgba(180,35,24,.1)}
input[type=color]{width:44px;height:42px;border:1.5px solid var(--k-line2);border-radius:10px;padding:3px;background:var(--k-panel);cursor:pointer}
.check input,input[type=checkbox],input[type=radio]{accent-color:var(--k-vio)}
.pole{margin-bottom:14px;min-width:0}.pole small{display:block;color:var(--k-dim);font-size:12.5px;margin-top:4px}
.inp-ik{position:relative}.inp-ik .ik{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--k-dim)}.inp-ik input{padding-left:40px}
/* przełącznik: <input type="checkbox" class="tog"> */
input.tog{appearance:none;-webkit-appearance:none;width:42px;height:24px;border-radius:12px;background:#9F98B5;position:relative;flex:none;cursor:pointer;margin:0;transition:background .15s}
input.tog::after{content:"";position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:left .15s}
input.tog:checked{background:var(--k-vio)}input.tog:checked::after{left:21px}
input.tog:disabled{background:#B9A5EE;cursor:not-allowed}
.tog-l{display:flex;gap:10px;align-items:center;font-weight:600;cursor:pointer}
/* przyciski segmentowe: <div class="seg"><label><input type="radio" name="x" value="a"><span>A</span></label>...</div> */
.seg{display:inline-flex;background:var(--k-grayl);border-radius:10px;padding:3px;gap:2px;flex-wrap:wrap}
.seg>span,.seg label>span,.seg a{height:30px;padding:0 12px;border-radius:8px;display:flex;align-items:center;gap:6px;font-size:13px;font-weight:700;color:var(--k-gray);cursor:pointer;text-decoration:none}
.seg label{display:flex}.seg input{position:absolute;opacity:0;pointer-events:none}
.seg>span.on,.seg a.on,.seg input:checked+span{background:var(--k-panel);color:var(--k-vio2);box-shadow:0 1px 3px rgba(30,18,64,.15)}
.seg input:focus-visible+span{outline:3px solid var(--k-lav)}

/* ------------------------------------------------------------ odznaki */
.pill{display:inline-flex;align-items:center;gap:6px;min-height:24px;padding:0 10px;border-radius:12px;font-size:12.5px;font-weight:700;white-space:nowrap;line-height:1.2}
.pill i{width:7px;height:7px;border-radius:50%;background:currentColor;display:inline-block;flex:none}
.p-ok{background:var(--k-okl);color:var(--k-ok)}.p-warn{background:var(--k-warnl);color:var(--k-warn)}.p-err{background:var(--k-errl);color:var(--k-err)}
.p-vio{background:var(--k-lavl);color:var(--k-vio2)}.p-gray{background:var(--k-grayl);color:var(--k-gray)}.p-car{background:var(--k-carl);color:var(--k-cart)}.p-blu{background:var(--k-blul);color:var(--k-blu)}
/* kategorie ciasteczek (te same nazwy co w bazie) */
.p-niezbedne{background:var(--k-grayl);color:var(--k-gray)}.p-preferencje{background:var(--k-blul);color:var(--k-blu)}
.p-statystyka{background:var(--k-lavl);color:var(--k-vio2)}.p-marketing{background:var(--k-carl);color:var(--k-cart)}.p-do_sklasyfikowania{background:var(--k-warnl);color:var(--k-warn)}

/* ------------------------------------------------------------ zakładki: linki <a class="tab on"> albo przyciski [data-zakladki] */
.tabs{display:flex;gap:4px;border-bottom:1.5px solid var(--k-line);overflow-x:auto;scrollbar-width:thin}
.tab{padding:10px 14px 11px;font:inherit;font-weight:700;font-size:14.5px;color:var(--k-mut);display:flex;align-items:center;gap:8px;margin-bottom:-1.5px;
  border:0;border-bottom:3px solid transparent;background:none;text-decoration:none;white-space:nowrap;cursor:pointer}
.tab:hover{color:var(--k-ink)}
.tab.on,.tab[aria-selected=true]{color:var(--k-vio2);border-bottom-color:var(--k-vio)}
.tab .n{font-size:11.5px;background:var(--k-grayl);color:var(--k-gray);border-radius:9px;padding:1px 7px}

/* ------------------------------------------------------------ tabele */
.tbl-w{overflow-x:auto;position:relative}.tbl-w>table.tbl{min-width:640px}
table.tbl{width:100%;border-collapse:separate;border-spacing:0;font-size:14px}
.tbl th{white-space:nowrap;text-align:left;font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--k-dim);font-weight:800;padding:10px 12px;border-bottom:1px solid var(--k-line);background:transparent}
.tbl td{padding:11px 12px;border-bottom:1px solid var(--k-line);vertical-align:middle}
.tbl tr:last-child td{border-bottom:0}
.tbl tr.sel td,.tbl tbody tr:hover td{background:var(--k-mist)}
.tbl a.wiersz{color:inherit;text-decoration:none;font-weight:800}
/* stare tabele v1 */
th{background:var(--k-plate);color:var(--k-dim)}

/* ------------------------------------------------------------ kod */
.code,pre.kod{font-variant-ligatures:none;background:var(--k-code-bg);color:var(--k-code-ink);border-radius:12px;padding:14px 16px;font-family:"JetBrains Mono",Consolas,ui-monospace,monospace;
  font-size:13px;line-height:1.6;white-space:pre-wrap;word-break:break-all;margin:0}
.code .t{color:#C4B5FD}.code .a{color:#F2B544}.code .s{color:#86EFAC}.code .c{color:#B9B1D6}

/* ------------------------------------------------------------ kreator: kroki */
.stepper2{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.step{display:flex;align-items:center;gap:10px;font-weight:700;font-size:14px;color:var(--k-dim)}
.step .c{width:28px;height:28px;border-radius:50%;display:grid;place-items:center;border:2px solid var(--k-line2);font-size:13px;flex:none}
.step.on{color:var(--k-ink)}.step.on .c{background:var(--k-vio);border-color:var(--k-vio);color:#fff}
.step.done{color:var(--k-ok)}.step.done .c{background:var(--k-okl);border-color:var(--k-okl);color:var(--k-ok)}
.stepline{flex:1;height:2px;background:var(--k-line2);min-width:30px}.stepline.done{background:#86D9A3}

/* ------------------------------------------------------------ stany puste, zaślepka, komunikat */
.pusty{background:var(--k-plate);border-radius:16px;padding:48px 24px;text-align:center}
.pusty .ib{width:72px;height:72px;border-radius:20px;background:var(--k-panel);color:var(--k-vio2);display:grid;place-items:center;margin:0 auto;box-shadow:0 6px 18px rgba(30,18,64,.08)}
.pusty h2{font-size:22px;font-weight:800;margin-top:16px}.pusty p{color:var(--k-mut);font-size:15px;margin:6px auto 0;max-width:560px}
.pusty .row{justify-content:center;margin-top:18px}
.info{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;font-size:13.5px;font-weight:600;line-height:1.45}
.info.warn{background:var(--k-warnl);color:var(--k-warn)}.info.err{background:var(--k-errl);color:var(--k-err)}.info.ok{background:var(--k-okl);color:var(--k-ok)}.info.vio{background:var(--k-lavl);color:var(--k-vio2)}
.komunikat{border-radius:10px;padding:10px 12px;font-size:14px;margin-bottom:12px;text-align:left;font-weight:600}
.komunikat.err{background:var(--k-errl);color:var(--k-err)}.komunikat.ok{background:var(--k-okl);color:var(--k-ok)}.komunikat.warn{background:var(--k-warnl);color:var(--k-warn)}
.faq details{background:var(--k-panel);border:1px solid var(--k-line);border-radius:12px;padding:12px 16px;margin-top:8px}
.faq summary{cursor:pointer;font-weight:700;list-style:none;display:flex;gap:10px;align-items:center}.faq summary::-webkit-details-marker{display:none}
.faq summary .ik{margin-left:auto;transition:transform .15s}.faq details[open] summary{color:var(--k-vio2)}.faq details[open] summary .ik{transform:rotate(45deg)}
.faq details p{color:var(--k-mut);font-size:13.5px;line-height:1.5;margin:8px 0 0;padding-top:8px;border-top:1px solid var(--k-line)}

/* ------------------------------------------------------------ okna (modal) i toast - obsługa w keksitbot.js
   confirmBox(...) tworzy .modal-tlo > .modal; własne okno: <div class="modal-tlo" id="x" hidden><div class="modal" role="dialog">...</div></div>
   + przycisk z data-okno="#x" (zamykanie: [data-zamknij], Esc, klik w tło) */
.modal-tlo{position:fixed;inset:0;background:rgba(23,14,48,.5);z-index:100;display:flex;align-items:center;justify-content:center;padding:16px}
.modal-tlo[hidden]{display:none!important}
.modal{background:var(--k-panel);color:var(--k-ink);border-radius:18px;box-shadow:0 30px 80px rgba(23,14,48,.4);width:100%;max-width:min(560px,100%);
  max-height:calc(100vh - 32px);overflow-y:auto;padding:24px 26px}
.modal.szer{max-width:min(880px,100%)}
.modal h3{font-size:20px;font-weight:800;margin-bottom:6px}.modal .tresc{color:var(--k-mut);font-size:14.5px;line-height:1.55}
.modal .akcje{display:flex;gap:10px;justify-content:flex-end;margin-top:20px;flex-wrap:wrap}
.panel-bok{position:fixed;top:0;right:0;bottom:0;width:min(440px,100%);background:var(--k-panel);border-left:1px solid var(--k-line);box-shadow:-20px 0 40px rgba(30,18,64,.12);
  padding:22px 24px;z-index:90;overflow-y:auto}
#toasty{position:fixed;right:24px;bottom:24px;z-index:110;display:flex;flex-direction:column;gap:8px;max-width:min(400px,calc(100vw - 32px))}
.toast{background:var(--k-plum);color:#fff;border-radius:12px;padding:12px 16px;display:flex;align-items:center;gap:10px;font-weight:600;font-size:14px;
  box-shadow:0 14px 34px rgba(23,14,48,.35);opacity:0;transform:translateY(8px);transition:opacity .25s,transform .25s}
.toast.on{opacity:1;transform:none}
.toast .tik{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;flex:none;background:#22C55E;color:#fff}
.toast.err .tik{background:#EF4444}.toast.warn .tik{background:#F59E0B}
:root[data-theme="dark"] .toast{background:#2C1D5C}

/* ------------------------------------------------------------ telefon i tablet */
@media (max-width:1100px){.k-main{padding:20px 22px 60px}.g4{grid-template-columns:repeat(2,minmax(0,1fr))}.k-konto-t{display:none}}
@media (max-width:900px){
  .k-ikbtn.k-burger{display:grid}
  .k-side{position:fixed;left:0;top:var(--k-top);bottom:0;height:auto;z-index:50;transform:translateX(-105%);transition:transform .2s;box-shadow:var(--k-shadow2)}
  .k-side.otwarte{transform:none}
  .k-side{overflow-y:auto}.k-side-in{position:static;height:auto;min-height:100%}
  .k-zaslon.on{display:block;position:fixed;inset:var(--k-top) 0 0 0;background:rgba(23,14,48,.35);z-index:45}
  .cols{flex-direction:column;align-items:stretch}.g3{grid-template-columns:1fr}
  .k-wersja{display:none}
}
@media (max-width:640px){
  .k-top{padding:0 10px;gap:8px}.k-top-r{gap:4px}.k-logo img{height:24px}
  .k-top .k-pomoc,.k-top .k-sep,.k-konto>summary>.ik{display:none}.lang a{padding:4px 6px}
  .k-main{padding:16px 16px 60px}.h1{font-size:25px}.sub{font-size:14px}
  .g2,.g4{grid-template-columns:1fr}
  .kv .k{width:auto;flex:1 1 100%}
  .k-publ-top{padding:0 16px;height:60px}.k-publ-top .k-logo img{height:26px}
  .k-publ-top .btn{height:34px;min-height:34px;padding:0 10px;font-size:13px}
  #toasty{right:16px;bottom:16px}
  .modal{padding:20px 18px}
}
@media (max-width:420px){.k-publ-top .motyw{display:none}.k-publ-top .lang a{padding:4px 6px}}
