/* Kalendarz webp.pl — style scopowane pod .kalendarz-tool. Motyw przez zmienne na .kal (ustawiane z JS). */
.kalendarz-tool .kal{--ak:#4f46e5;--ak-j:#eef2ff;--ak-t:#fff;--tlo:#f6f7fb;--pow:#fff;--pow2:#f8fafc;--tekst:#0f172a;--mut:#64748b;--lin:#e2e8f0;--lin2:#eef2f7;
  --wolne:#dc2626;--dzis:var(--ak);--r:10px;--fs:15px;--godz-h:48px;--komorka-h:118px;--cien:0 10px 30px -12px rgba(15,23,42,.25);
  position:relative;background:var(--tlo);color:var(--tekst);border-radius:16px;padding:.8rem;font-size:var(--fs);line-height:1.45;border:1px solid var(--lin)}
.kalendarz-tool .kal[data-motyw=ciemny]{--tlo:#0b1020;--pow:#131a2e;--pow2:#1a2238;--tekst:#e5e9f5;--mut:#94a3b8;--lin:#27314b;--lin2:#1e273d;--ak-j:rgba(99,102,241,.18);--wolne:#f87171;--cien:0 10px 30px -12px rgba(0,0,0,.6)}
.kalendarz-tool .kal[data-kontrast]{--mut:#1f2937;--lin:#111827;--lin2:#6b7280}
.kalendarz-tool .kal[data-kontrast][data-motyw=ciemny]{--mut:#f1f5f9;--lin:#f8fafc;--lin2:#94a3b8;--tekst:#fff;--pow:#000;--tlo:#000}
.kalendarz-tool .kal[data-gestosc=kompaktowa]{--godz-h:34px;--komorka-h:92px}
.kalendarz-tool .kal[data-gestosc=przestronna]{--godz-h:64px;--komorka-h:150px}
.kalendarz-tool .kal *{box-sizing:border-box}
.kalendarz-tool .kal button{font:inherit;color:inherit}
.kalendarz-tool .kal [hidden]{display:none!important}

/* pasek */
.kalendarz-tool .kal-pasek{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;justify-content:space-between;margin-bottom:.6rem}
.kalendarz-tool .kal-nawig,.kalendarz-tool .kal-akcje{display:flex;align-items:center;gap:.35rem;flex-wrap:wrap}
.kalendarz-tool .kal-tytul{margin:0 0 0 .4rem;font-size:1.25em;font-weight:700;color:var(--tekst);white-space:nowrap}
.kalendarz-tool .kal-tytul::first-letter{text-transform:uppercase}
.kalendarz-tool .kal-btn{border:1px solid var(--lin);background:var(--pow);border-radius:var(--r);padding:.45em .85em;cursor:pointer;font-weight:600;font-size:.9em;text-decoration:none;display:inline-flex;align-items:center;gap:.3em;color:var(--tekst)}
.kalendarz-tool .kal-btn:hover{border-color:var(--ak)}
.kalendarz-tool .kal-glowny{background:var(--ak);border-color:var(--ak);color:var(--ak-t)!important}
.kalendarz-tool .kal-niebezp{color:#dc2626!important;border-color:#fecaca}
.kalendarz-tool .kal-ikon{width:2.3em;height:2.3em;border:1px solid var(--lin);background:var(--pow);border-radius:var(--r);cursor:pointer;font-size:1.05em;display:inline-flex;align-items:center;justify-content:center}
.kalendarz-tool .kal-ikon:hover{border-color:var(--ak);color:var(--ak)}
.kalendarz-tool .kal-widoki{display:flex;background:var(--pow);border:1px solid var(--lin);border-radius:var(--r);padding:3px;gap:2px;overflow-x:auto}
.kalendarz-tool .kal-widoki button{border:0;background:transparent;padding:.4em .8em;border-radius:calc(var(--r) - 3px);cursor:pointer;font-size:.88em;font-weight:600;color:var(--mut);white-space:nowrap}
.kalendarz-tool .kal-widoki button.on{background:var(--ak);color:var(--ak-t)}
.kalendarz-tool .kal-szukaj{border:1px solid var(--lin);background:var(--pow);color:var(--tekst);border-radius:var(--r);padding:.45em .7em;width:11em;font-size:.9em}
.kalendarz-tool .kal-szybkie{display:flex;gap:.4rem;margin-bottom:.6rem}
.kalendarz-tool .kal-szybkie-pole{flex:1;min-width:0;border:1px dashed var(--lin);background:var(--pow);color:var(--tekst);border-radius:var(--r);padding:.5em .8em;font-size:.92em}
.kalendarz-tool .kal-szybkie-pole:focus{border-style:solid;border-color:var(--ak);outline:0}

/* układ */
.kalendarz-tool .kal-uklad{display:grid;grid-template-columns:240px minmax(0,1fr);gap:.8rem}
.kalendarz-tool .kal[data-bok=ukryty] .kal-uklad{grid-template-columns:minmax(0,1fr)}
.kalendarz-tool .kal[data-bok=ukryty] .kal-bok{display:none}
.kalendarz-tool .kal-bok{display:flex;flex-direction:column;gap:.8rem;min-width:0}
.kalendarz-tool .kal-glowna{background:var(--pow);border:1px solid var(--lin);border-radius:var(--r);min-width:0;overflow:hidden;outline:0}
.kalendarz-tool .kal-sekcja{background:var(--pow);border:1px solid var(--lin);border-radius:var(--r);padding:.7rem}
.kalendarz-tool .kal-sekcja-tyt{font-size:.75em;text-transform:uppercase;letter-spacing:.06em;font-weight:700;color:var(--mut);display:flex;justify-content:space-between;align-items:center;margin-bottom:.4rem}
.kalendarz-tool .kal-maly{border:0;background:var(--ak-j);color:var(--ak);border-radius:6px;width:1.6em;height:1.6em;cursor:pointer;font-weight:700}
.kalendarz-tool .kal-drobne{font-size:.78em;color:var(--mut);margin:.4rem 0 0}
.kalendarz-tool .kal-pole{border:1px solid var(--lin);background:var(--pow2);color:var(--tekst);border-radius:8px;padding:.45em .6em;font:inherit;font-size:.92em;width:100%;min-width:0}
.kalendarz-tool .kal-pole:focus{outline:0;border-color:var(--ak);box-shadow:0 0 0 3px var(--ak-j)}
.kalendarz-tool .kal-lista-kal{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.15rem}
.kalendarz-tool .kal-lista-kal li{display:flex;align-items:center;gap:.4rem;font-size:.9em;padding:.2rem .1rem;border-radius:6px}
.kalendarz-tool .kal-lista-kal li:hover{background:var(--pow2)}
.kalendarz-tool .kal-lista-kal input[type=checkbox]{accent-color:var(--kc);width:1.05em;height:1.05em}
.kalendarz-tool .kal-lista-kal .n{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;cursor:pointer}
.kalendarz-tool .kal-lista-kal .ed{border:0;background:none;color:var(--mut);cursor:pointer;opacity:.5;font-size:.9em}
.kalendarz-tool .kal-lista-kal li:hover .ed{opacity:1}
.kalendarz-tool .kal-nad li{font-size:.85em;padding:.3rem 0;border-bottom:1px solid var(--lin2);display:flex;gap:.4rem;cursor:pointer}
.kalendarz-tool .kal-nad ul{list-style:none;margin:0;padding:0}
.kalendarz-tool .kal-nad i{width:.55em;height:.55em;border-radius:50%;margin-top:.45em;flex:0 0 auto}
.kalendarz-tool .kal-nad small{color:var(--mut);display:block}

/* mini miesiąc */
.kalendarz-tool .kal-mini{background:var(--pow);border:1px solid var(--lin);border-radius:var(--r);padding:.6rem}
.kalendarz-tool .kal-mini-g{display:flex;justify-content:space-between;align-items:center;font-weight:700;font-size:.9em;text-transform:capitalize;margin-bottom:.3rem}
.kalendarz-tool .kal-mini-g button{border:0;background:none;cursor:pointer;color:var(--mut);font-size:1.1em;padding:0 .3em}
.kalendarz-tool .kal-mini table{width:100%;border-collapse:collapse;font-size:.78em;text-align:center}
.kalendarz-tool .kal-mini th{color:var(--mut);font-weight:600;padding:.15em 0}
.kalendarz-tool .kal-mini td{padding:1px}
.kalendarz-tool .kal-mini td button{border:0;background:none;width:100%;aspect-ratio:1;border-radius:50%;cursor:pointer;font-size:1em;position:relative}
.kalendarz-tool .kal-mini td button:hover{background:var(--pow2)}
.kalendarz-tool .kal-mini .inny{opacity:.35}.kalendarz-tool .kal-mini .wolne{color:var(--wolne)}
.kalendarz-tool .kal-mini .dzis{background:var(--ak)!important;color:var(--ak-t)!important;font-weight:700}
.kalendarz-tool .kal-mini .wyb{box-shadow:inset 0 0 0 2px var(--ak)}
.kalendarz-tool .kal-mini .ma::after{content:'';position:absolute;bottom:2px;left:50%;width:4px;height:4px;margin-left:-2px;border-radius:50%;background:var(--ak)}

/* wydarzenie (wspólne) */
.kalendarz-tool .kal-ev{display:block;border:0;border-radius:6px;padding:.15em .4em;font-size:.8em;line-height:1.3;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left;width:100%;background:var(--ec);color:var(--et);margin-top:2px}
.kalendarz-tool .kal-ev.lek{background:color-mix(in srgb,var(--ec) 16%,var(--pow));color:var(--tekst);border-left:3px solid var(--ec)}
.kalendarz-tool .kal-ev.done{opacity:.55;text-decoration:line-through}
.kalendarz-tool .kal-ev.odw{opacity:.5;text-decoration:line-through;background:repeating-linear-gradient(135deg,var(--ec),var(--ec) 6px,transparent 6px,transparent 10px)!important;color:var(--tekst)}
.kalendarz-tool .kal-ev b{font-weight:700}
.kalendarz-tool .kal-ev.ciagnie{opacity:.6}
.kalendarz-tool .kal-ev:focus-visible{outline:2px solid var(--tekst);outline-offset:1px}

/* miesiąc */
.kalendarz-tool .kal-m{display:grid;grid-template-columns:var(--kol,repeat(7,minmax(0,1fr)))}
.kalendarz-tool .kal-m-dn{font-size:.72em;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);padding:.5em;border-bottom:1px solid var(--lin);text-align:center}
.kalendarz-tool .kal-m-kom{min-height:var(--komorka-h);border-right:1px solid var(--lin2);border-bottom:1px solid var(--lin2);padding:.25em .3em;position:relative;min-width:0;cursor:cell}
.kalendarz-tool .kal-m-kom.inny{background:var(--pow2)}.kalendarz-tool .kal-m-kom.inny .kal-m-nr{opacity:.45}
.kalendarz-tool .kal-m-kom.weekend{background:color-mix(in srgb,var(--pow2) 60%,var(--pow))}
.kalendarz-tool .kal-m-kom.nad{background:var(--ak-j)}
.kalendarz-tool .kal-m-gora{display:flex;justify-content:space-between;align-items:flex-start;gap:.3em}
.kalendarz-tool .kal-m-nr{font-weight:700;font-size:.85em;border:0;background:none;cursor:pointer;min-width:1.9em;height:1.9em;border-radius:50%;padding:0}
.kalendarz-tool .kal-m-nr:hover{background:var(--lin2)}
.kalendarz-tool .kal-m-kom.dzis .kal-m-nr{background:var(--ak);color:var(--ak-t)}
.kalendarz-tool .kal-m-kom.wolne .kal-m-nr{color:var(--wolne)}.kalendarz-tool .kal-m-kom.dzis.wolne .kal-m-nr{color:var(--ak-t)}
.kalendarz-tool .kal-m-sw{font-size:.68em;color:var(--mut);text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0}
.kalendarz-tool .kal-m-sw.wolne{color:var(--wolne);font-weight:600}.kalendarz-tool .kal-m-sw.szkola{color:#0891b2}
.kalendarz-tool .kal-m-tn{position:absolute;left:.3em;bottom:.2em;font-size:.62em;color:var(--mut);opacity:.7}
.kalendarz-tool .kal-wiecej{border:0;background:none;color:var(--mut);font-size:.75em;cursor:pointer;padding:.1em .3em;font-weight:600}
.kalendarz-tool .kal-wiecej:hover{color:var(--ak)}

/* tydzień / dzień */
.kalendarz-tool .kal-t{display:grid;grid-template-columns:3.4em repeat(var(--n),minmax(var(--min,0),1fr));position:relative}
.kalendarz-tool .kal-t-scroll{max-height:72vh;overflow:auto;position:relative}
.kalendarz-tool .kal[data-pelny] .kal-t-scroll{max-height:none;height:calc(100vh - 12rem)}
.kalendarz-tool .kal-t-gl{position:sticky;top:0;z-index:3;background:var(--pow);border-bottom:1px solid var(--lin);text-align:center;padding:.35em .2em;font-size:.82em;cursor:pointer;min-width:0}
.kalendarz-tool .kal-t-gl b{display:block;font-size:1.35em;line-height:1.2}
.kalendarz-tool .kal-t-gl.dzis b{color:var(--ak)}.kalendarz-tool .kal-t-gl.wolne{color:var(--wolne)}
.kalendarz-tool .kal-t-gl small{display:block;font-size:.78em;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kalendarz-tool .kal-t-rog{position:sticky;top:0;z-index:4;background:var(--pow);border-bottom:1px solid var(--lin)}
.kalendarz-tool .kal-t-cd{border-bottom:1px solid var(--lin);border-left:1px solid var(--lin2);padding:2px;min-height:1.9em;background:var(--pow2);min-width:0;position:sticky;z-index:2;top:var(--gl-h,3.4em)}
.kalendarz-tool .kal-t-cdl{font-size:.65em;color:var(--mut);text-align:right;padding:.4em .3em 0 0;border-bottom:1px solid var(--lin);background:var(--pow2);position:sticky;z-index:2;top:var(--gl-h,3.4em)}
.kalendarz-tool .kal-t-godz{font-size:.7em;color:var(--mut);text-align:right;padding-right:.4em;position:relative;top:-.6em;height:var(--godz-h)}
.kalendarz-tool .kal-t-kol{position:relative;border-left:1px solid var(--lin2);background-image:linear-gradient(var(--lin2) 1px,transparent 1px);background-size:100% var(--godz-h);cursor:cell;min-width:0}
.kalendarz-tool .kal-t-kol.weekend{background-color:color-mix(in srgb,var(--pow2) 70%,var(--pow))}
.kalendarz-tool .kal-t-kol .kal-ev{position:absolute;white-space:normal;margin:0;padding:.2em .35em;font-size:.76em;box-shadow:0 1px 2px rgba(0,0,0,.12);border:1px solid color-mix(in srgb,var(--ec) 60%,#000 10%)}
.kalendarz-tool .kal-t-kol .kal-ev .uch{position:absolute;left:0;right:0;bottom:0;height:7px;cursor:ns-resize}
.kalendarz-tool .kal-teraz{position:absolute;left:0;right:0;height:2px;background:#ef4444;z-index:2;pointer-events:none}
.kalendarz-tool .kal-teraz::before{content:'';position:absolute;left:-5px;top:-4px;width:10px;height:10px;border-radius:50%;background:#ef4444}
.kalendarz-tool .kal-zaz{position:absolute;left:2px;right:2px;background:var(--ak-j);border:2px dashed var(--ak);border-radius:6px;pointer-events:none;z-index:1}

/* rok */
.kalendarz-tool .kal-rok{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;padding:1rem}
.kalendarz-tool .kal-rok h4{margin:0 0 .3rem;text-transform:capitalize;font-size:.95em;cursor:pointer}
.kalendarz-tool .kal-rok table{width:100%;border-collapse:collapse;font-size:.75em;text-align:center}
.kalendarz-tool .kal-rok th{color:var(--mut);font-weight:600}
.kalendarz-tool .kal-rok td button{border:0;width:100%;aspect-ratio:1;border-radius:6px;cursor:pointer;background:color-mix(in srgb,var(--ak) calc(var(--x,0) * 1%),transparent);font-size:1em}
.kalendarz-tool .kal-rok .wolne{color:var(--wolne);font-weight:700}.kalendarz-tool .kal-rok .dzis{outline:2px solid var(--ak)}

/* lista */
.kalendarz-tool .kal-l{padding:.4rem 1rem 1rem}
.kalendarz-tool .kal-l-dz{display:grid;grid-template-columns:6.5em minmax(0,1fr);gap:.8rem;border-bottom:1px solid var(--lin2);padding:.7rem 0}
.kalendarz-tool .kal-l-data{font-size:.85em;color:var(--mut);cursor:pointer}.kalendarz-tool .kal-l-data b{display:block;font-size:1.5em;color:var(--tekst);line-height:1.1}
.kalendarz-tool .kal-l-dz.dzis .kal-l-data b{color:var(--ak)}
.kalendarz-tool .kal-l-poz{display:flex;gap:.6rem;align-items:flex-start;padding:.3rem .2rem;border-radius:8px;cursor:pointer}
.kalendarz-tool .kal-l-poz:hover{background:var(--pow2)}
.kalendarz-tool .kal-l-poz i{width:.7em;height:.7em;border-radius:50%;margin-top:.35em;flex:0 0 auto}
.kalendarz-tool .kal-l-poz .cz{min-width:6.5em;font-size:.88em;color:var(--mut);font-variant-numeric:tabular-nums}
.kalendarz-tool .kal-l-poz .op{min-width:0;flex:1}.kalendarz-tool .kal-l-poz .op small{display:block;color:var(--mut);font-size:.8em}
.kalendarz-tool .kal-l-poz input{accent-color:var(--ak);margin-top:.3em}
.kalendarz-tool .kal-l-poz.done .op b{text-decoration:line-through;opacity:.6}
.kalendarz-tool .kal-stat{display:inline-block;font-size:.72em;font-weight:700;border-radius:999px;padding:.05em .5em;background:var(--lin2);color:var(--mut);margin-left:.3em}
.kalendarz-tool .kal-pusto{padding:2.5rem 1rem;text-align:center;color:var(--mut)}

/* plan lekcji */
.kalendarz-tool .kal-pl{width:100%;border-collapse:collapse;table-layout:fixed}
.kalendarz-tool .kal-pl th{font-size:.8em;color:var(--mut);padding:.5em;border-bottom:1px solid var(--lin);text-transform:capitalize}
.kalendarz-tool .kal-pl th.dzis{color:var(--ak)}
.kalendarz-tool .kal-pl td{border:1px solid var(--lin2);height:4.2em;vertical-align:top;padding:3px;cursor:cell}
.kalendarz-tool .kal-pl td.nr{width:6.5em;text-align:center;cursor:default;background:var(--pow2);font-size:.8em;color:var(--mut)}
.kalendarz-tool .kal-pl td.nr b{display:block;font-size:1.3em;color:var(--tekst)}
.kalendarz-tool .kal-pl td.teraz{box-shadow:inset 0 0 0 2px var(--ak)}
.kalendarz-tool .kal-pl .kal-ev{white-space:normal;height:100%;font-size:.82em}
.kalendarz-tool .kal-pl .kal-ev small{display:block;opacity:.85}
.kalendarz-tool .kal-pl-info{padding:.6rem 1rem;font-size:.82em;color:var(--mut);border-bottom:1px solid var(--lin)}

/* modale */
.kalendarz-tool .kal-modal{position:fixed;inset:0;background:rgba(15,23,42,.45);z-index:3500;display:flex;align-items:flex-start;justify-content:center;padding:4vh 1rem;overflow:auto}
.kalendarz-tool .kal-okno{background:var(--pow);color:var(--tekst);border-radius:16px;width:100%;max-width:640px;box-shadow:var(--cien);display:flex;flex-direction:column;max-height:92vh}
.kalendarz-tool .kal-okno-male{max-width:420px}.kalendarz-tool .kal-okno-szer{max-width:860px}
.kalendarz-tool .kal-okno-glowa{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.2rem .6rem;border-bottom:1px solid var(--lin)}
.kalendarz-tool .kal-okno-glowa h3{margin:0;font-size:1.1em;color:var(--tekst)}
.kalendarz-tool .kal-zamknij{border:0;background:none;font-size:1.6em;line-height:1;cursor:pointer;color:var(--mut)}
.kalendarz-tool .kal-okno-tresc{padding:1rem 1.2rem;overflow:auto;display:flex;flex-direction:column;gap:.7rem}
.kalendarz-tool .kal-okno-stopa{display:flex;flex-wrap:wrap;gap:.4rem;padding:.8rem 1.2rem;border-top:1px solid var(--lin);align-items:center}
.kalendarz-tool .kal-odstep{flex:1}
.kalendarz-tool .kal-pole-w{display:flex;flex-direction:column;gap:.25rem;font-size:.8em;font-weight:600;color:var(--mut);min-width:0}
.kalendarz-tool .kal-pole-duze{font-size:1.15em;font-weight:600;padding:.55em .7em}
.kalendarz-tool .kal-siatka2{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.kalendarz-tool .kal-dt{display:flex;gap:.3rem}
.kalendarz-tool .kal-chk{display:inline-flex;align-items:center;gap:.45rem;font-size:.9em;cursor:pointer}
.kalendarz-tool .kal-chk input{accent-color:var(--ak);width:1.05em;height:1.05em}
.kalendarz-tool .kal-kolory{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}
.kalendarz-tool .kal-kolory button{width:1.6em;height:1.6em;border-radius:50%;border:2px solid transparent;cursor:pointer;padding:0}
.kalendarz-tool .kal-kolory button.on{border-color:var(--tekst);box-shadow:0 0 0 2px var(--pow) inset}
.kalendarz-tool .kal-kolory input[type=color]{width:1.8em;height:1.8em;border:0;padding:0;background:none;cursor:pointer}
.kalendarz-tool .kal-czasy,.kalendarz-tool .kal-dni-tyg,.kalendarz-tool #eLekcje{display:flex;flex-wrap:wrap;gap:.3rem}
.kalendarz-tool .kal-czasy button,.kalendarz-tool .kal-dni-tyg button,.kalendarz-tool #eLekcje button,.kalendarz-tool .kal-opcje button{border:1px solid var(--lin);background:var(--pow2);border-radius:999px;padding:.2em .7em;font-size:.8em;cursor:pointer;color:var(--tekst)}
.kalendarz-tool .kal-dni-tyg button.on,.kalendarz-tool #eLekcje button.on,.kalendarz-tool .kal-opcje button.on{background:var(--ak);border-color:var(--ak);color:var(--ak-t)}
.kalendarz-tool .kal-lekcja{display:flex;gap:.6rem;align-items:center;font-size:.8em;color:var(--mut);font-weight:600}
.kalendarz-tool .kal-ust h4{margin:.4rem 0 .5rem;font-size:.95em;color:var(--tekst)}
.kalendarz-tool .kal-ust section{border-bottom:1px solid var(--lin2);padding-bottom:.9rem}
.kalendarz-tool .kal-ust .kal-siatka3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.7rem}
.kalendarz-tool .kal-opcje{display:flex;flex-wrap:wrap;gap:.35rem}
.kalendarz-tool .kal-palety{display:flex;flex-wrap:wrap;gap:.4rem}
.kalendarz-tool .kal-palety button{display:inline-flex;align-items:center;gap:.4em;border:1px solid var(--lin);background:var(--pow2);border-radius:999px;padding:.25em .7em .25em .3em;cursor:pointer;font-size:.82em}
.kalendarz-tool .kal-palety button i{width:1.2em;height:1.2em;border-radius:50%}
.kalendarz-tool .kal-palety button.on{border-color:var(--ak);box-shadow:0 0 0 2px var(--ak-j)}
.kalendarz-tool .kal-profile{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.5rem}
.kalendarz-tool .kal-profile button{text-align:left;border:1px solid var(--lin);background:var(--pow2);border-radius:12px;padding:.6rem .7rem;cursor:pointer}
.kalendarz-tool .kal-profile button b{display:block;font-size:.92em}.kalendarz-tool .kal-profile button span{font-size:.76em;color:var(--mut)}
.kalendarz-tool .kal-profile button.on{border-color:var(--ak);background:var(--ak-j)}
.kalendarz-tool .kal-edlista{display:flex;flex-direction:column;gap:.3rem}
.kalendarz-tool .kal-edlista div{display:flex;gap:.3rem;align-items:center}
.kalendarz-tool .kal-edlista .x{border:0;background:#fee2e2;color:#b91c1c;border-radius:6px;width:1.8em;height:1.8em;cursor:pointer;flex:0 0 auto}
.kalendarz-tool .kal-io{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:.6rem}
.kalendarz-tool .kal-io button,.kalendarz-tool .kal-io label{display:flex;flex-direction:column;align-items:flex-start;gap:.15rem;text-align:left;border:1px solid var(--lin);background:var(--pow2);border-radius:12px;padding:.7rem .8rem;cursor:pointer;font-size:.9em;color:var(--tekst)}
.kalendarz-tool .kal-io button:hover,.kalendarz-tool .kal-io label:hover{border-color:var(--ak)}
.kalendarz-tool .kal-io small{color:var(--mut);font-size:.8em;font-weight:400}
.kalendarz-tool .kal-link{width:100%;font-family:ui-monospace,monospace;font-size:.78em}
.kalendarz-tool .kal-toast{position:fixed;left:50%;bottom:24px;transform:translate(-50%,16px);background:#1e1b4b;color:#fff;padding:.65rem 1rem;border-radius:10px;font-size:.9rem;opacity:0;visibility:hidden;transition:.25s;z-index:4000;max-width:92vw;display:flex;gap:.8rem;align-items:center}
.kalendarz-tool .kal-toast.on{opacity:1;visibility:visible;transform:translate(-50%,0)}
.kalendarz-tool .kal-toast button{border:0;background:rgba(255,255,255,.15);color:#fff;border-radius:6px;padding:.2rem .6rem;cursor:pointer;font-weight:700}
.kalendarz-tool .kal-baner{margin-top:.6rem;background:var(--ak-j);border:1px solid var(--ak);border-radius:var(--r);padding:.7rem 1rem;display:flex;gap:.6rem;align-items:center;flex-wrap:wrap}
.kalendarz-tool .kal-stopka{font-size:.75em;color:var(--mut);margin-top:.5rem;display:flex;justify-content:space-between;gap:1rem;flex-wrap:wrap}

/* ===== v2: tytuł-przycisk, podpisy przycisków, podgląd szybkiego dodawania ===== */
.kalendarz-tool .kal-tytul-btn{border:0;background:none;padding:.15em .35em;border-radius:8px;cursor:pointer;display:inline-flex;align-items:center;gap:.25em;color:var(--tekst)}
.kalendarz-tool .kal-tytul-btn:hover{background:var(--ak-j)}
.kalendarz-tool .kal-tytul-btn .kal-tytul{margin:0}
.kalendarz-tool .kal-tytul-str{color:var(--mut);font-size:.8em}
.kalendarz-tool .kal-ukryte{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;border:0;padding:0}
.kalendarz-tool .kal-nawig{position:relative}
.kalendarz-tool .kal-ikon-t span{display:none}
@media (min-width:1280px){.kalendarz-tool .kal-ikon-t{width:auto;padding:0 .7em;gap:.4em;font-size:.88em;font-weight:600}.kalendarz-tool .kal-ikon-t span{display:inline}}
.kalendarz-tool .kal-szybkie{flex-wrap:wrap}
.kalendarz-tool .kal-szybkie-podg{flex:1 0 100%;font-size:.84em;color:var(--tekst);padding:0 .3em;min-height:0}
.kalendarz-tool .kal-szybkie-podg:empty{display:none}
.kalendarz-tool .kal-szybkie-podg i{display:inline-block;width:.6em;height:.6em;border-radius:50%;margin:0 .25em 0 0}
.kalendarz-tool .kal[data-bezszybkich] .kal-szybkie,.kalendarz-tool .kal[data-bezstopki] .kal-stopka{display:none}
.kalendarz-tool .kal-stopka a{color:inherit}
.kalendarz-tool .kal-info-dnia{display:flex;flex-wrap:wrap;gap:.2em .4em}

/* tła (tryb jasny) */
.kalendarz-tool .kal[data-tlo=biale]{--tlo:#fff;--pow2:#fafbfc}
.kalendarz-tool .kal[data-tlo=kremowe]{--tlo:#fbf7ee;--pow:#fffdf8;--pow2:#fbf6ea;--lin:#ebe3d0;--lin2:#f3ecdd}
.kalendarz-tool .kal[data-tlo=mietowe]{--tlo:#eefaf4;--pow2:#f3fbf7;--lin:#d6ece1;--lin2:#e6f4ed}
.kalendarz-tool .kal[data-tlo=blekitne]{--tlo:#eef5fd;--pow2:#f4f8fe;--lin:#d7e5f5;--lin2:#e7f0fb}
.kalendarz-tool .kal[data-tlo=rozowe]{--tlo:#fdf0f5;--pow2:#fdf5f8;--lin:#f3d9e4;--lin2:#f8e8ef}
.kalendarz-tool .kal[data-tlo=papier]{--tlo:#fdfcf7;--pow:#fffef9;--pow2:#fbf9f0;--lin:#e6e1cf;--lin2:#efebdc;background-image:linear-gradient(#ece7d6 1px,transparent 1px),linear-gradient(90deg,#ece7d6 1px,transparent 1px);background-size:22px 22px}
/* kroje */
.kalendarz-tool .kal[data-kroj=czytelny]{font-family:Verdana,Tahoma,"Segoe UI",sans-serif;letter-spacing:.01em}
.kalendarz-tool .kal[data-kroj=szeryfowy]{font-family:Georgia,Cambria,"Times New Roman",serif}
.kalendarz-tool .kal[data-kroj=zaokraglony]{font-family:"Nunito","Varela Round","Quicksand",ui-rounded,"SF Pro Rounded","Segoe UI",sans-serif}
.kalendarz-tool .kal[data-kroj=mono]{font-family:ui-monospace,"Cascadia Code",Consolas,monospace;font-size:calc(var(--fs) * .92)}
.kalendarz-tool .kal[data-kroj] .kal-pole,.kalendarz-tool .kal[data-kroj] button{font-family:inherit}
/* style wydarzeń */
.kalendarz-tool .kal[data-stylev=jasny] .kal-ev:not(.odw){background:color-mix(in srgb,var(--ec) 16%,var(--pow));color:var(--tekst);border-left:3px solid var(--ec)!important}
.kalendarz-tool .kal[data-stylev=obrys] .kal-ev:not(.odw){background:var(--pow);color:var(--tekst);border:1.5px solid var(--ec)!important}
.kalendarz-tool .kal[data-stylev=kropka] .kal-m-kom .kal-ev:not(.odw),.kalendarz-tool .kal[data-stylev=kropka] .kal-t-cd .kal-ev:not(.odw){background:transparent;color:var(--tekst);padding-left:1em;position:relative}
.kalendarz-tool .kal[data-stylev=kropka] .kal-m-kom .kal-ev:not(.odw)::before,.kalendarz-tool .kal[data-stylev=kropka] .kal-t-cd .kal-ev:not(.odw)::before{content:'';position:absolute;left:.3em;top:50%;width:.5em;height:.5em;margin-top:-.25em;border-radius:50%;background:var(--ec)}
.kalendarz-tool .kal[data-stylev=kropka] .kal-t-kol .kal-ev:not(.odw){background:color-mix(in srgb,var(--ec) 16%,var(--pow));color:var(--tekst);border-left:3px solid var(--ec)!important}
.kalendarz-tool .kal[data-bezcieni] .kal-t-kol .kal-ev{box-shadow:none}
.kalendarz-tool .kal[data-bezanim] *,.kalendarz-tool .kal[data-bezanim] .kal-toast{transition:none!important;animation:none!important}
.kalendarz-tool .kal[data-polgodz] .kal-t-kol{background-image:linear-gradient(var(--lin2) 1px,transparent 1px),linear-gradient(color-mix(in srgb,var(--lin2) 55%,transparent) 1px,transparent 1px);background-size:100% var(--godz-h),100% calc(var(--godz-h) / 2)}
.kalendarz-tool .kal-poza{position:absolute;left:0;right:0;background:repeating-linear-gradient(135deg,color-mix(in srgb,var(--mut) 9%,transparent) 0 6px,transparent 6px 12px);pointer-events:none}
.kalendarz-tool .kal[data-bokstrona=prawa] .kal-uklad{grid-template-columns:minmax(0,1fr) 240px}
.kalendarz-tool .kal[data-bokstrona=prawa] .kal-bok{order:2}
.kalendarz-tool .kal[data-bokstrona=prawa][data-bok=ukryty] .kal-uklad{grid-template-columns:minmax(0,1fr)}

/* ustawienia: zakładki */
.kalendarz-tool .kal-okno-tresc>*{flex-shrink:0}
.kalendarz-tool .kal-zakl{display:flex;gap:.25rem;overflow-x:auto;scrollbar-width:none;border-bottom:1px solid var(--lin);margin:-.3rem -.2rem .3rem;padding:0 .2rem;position:sticky;top:-1rem;background:var(--pow);z-index:1}
.kalendarz-tool .kal-zakl button{border:0;background:none;padding:.55em .8em;font-weight:600;font-size:.9em;color:var(--mut);border-bottom:2px solid transparent;cursor:pointer;white-space:nowrap}
.kalendarz-tool .kal-zakl button.on{color:var(--ak);border-bottom-color:var(--ak)}
.kalendarz-tool .kal-chki{margin-top:.7rem;gap:.55rem 1.3rem!important}
.kalendarz-tool .kal-podp{font-weight:400;color:var(--mut);font-size:.9em}
.kalendarz-tool .kal-tla{display:flex;flex-wrap:wrap;gap:.35rem}
.kalendarz-tool .kal-tla button{width:2.1em;height:2.1em;border-radius:8px;border:1px solid var(--lin);cursor:pointer;position:relative;padding:0}
.kalendarz-tool .kal-tla button span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.kalendarz-tool .kal-tla button[data-tlo=papier]{background-image:linear-gradient(#e2dcc6 1px,transparent 1px),linear-gradient(90deg,#e2dcc6 1px,transparent 1px)!important;background-size:6px 6px!important}
.kalendarz-tool .kal-tla button.on{outline:2px solid var(--ak);outline-offset:2px}
.kalendarz-tool .kal-szabl-pod{width:.7em;height:.7em;border-radius:50%;background:var(--ec);flex:0 0 auto}
.kalendarz-tool input[type=range]{accent-color:var(--ak);width:100%}

/* szablony w edytorze */
.kalendarz-tool .kal-szablony{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center;margin-top:-.3rem}
.kalendarz-tool .kal-szablony button{border:1px solid var(--lin);background:var(--pow2);border-radius:999px;padding:.2em .7em .2em .5em;font-size:.8em;cursor:pointer;display:inline-flex;gap:.35em;align-items:center;color:var(--tekst)}
.kalendarz-tool .kal-szablony button::before{content:'';width:.6em;height:.6em;border-radius:50%;background:var(--ec)}
.kalendarz-tool .kal-szablony button small{color:var(--mut);font-size:.85em}
.kalendarz-tool .kal-szablony button.wl{border-style:dashed}
.kalendarz-tool .kal-szablony button.on,.kalendarz-tool .kal-szablony button:hover{border-color:var(--ak);background:var(--ak-j)}

/* szybki podgląd wydarzenia */
.kalendarz-tool .kal-podglad{position:fixed;z-index:3400;width:340px;max-width:calc(100vw - 16px);max-height:80vh;overflow:auto;background:var(--pow);color:var(--tekst);border:1px solid var(--lin);border-radius:14px;box-shadow:0 18px 50px -12px rgba(15,23,42,.4);font-size:.92em}
.kalendarz-tool .kal-podglad.dol{left:8px!important;right:8px;bottom:8px;top:auto!important;width:auto;max-width:none;max-height:70vh}
.kalendarz-tool .kal-pg-kol{height:6px;border-radius:14px 14px 0 0}
.kalendarz-tool .kal-pg-glowa{display:flex;justify-content:space-between;gap:.5rem;align-items:flex-start;padding:.7rem .9rem .3rem}
.kalendarz-tool .kal-pg-glowa b{font-size:1.1em;line-height:1.3;word-break:break-word}
.kalendarz-tool .kal-pg-wiersz{display:flex;gap:.55rem;padding:.18rem .9rem;align-items:baseline}
.kalendarz-tool .kal-pg-wiersz>span{min-width:0;word-break:break-word}
.kalendarz-tool .kal-pg-wiersz small{color:var(--mut);display:block;font-size:.8em}
.kalendarz-tool .kal-pg-wiersz i{display:inline-block;width:.75em;height:.75em;border-radius:3px;flex:0 0 auto}
.kalendarz-tool .kal-pg-wiersz a,.kalendarz-tool .kal-podglad a{color:var(--ak)}
.kalendarz-tool .kal-drobne-a{font-size:.8em}
.kalendarz-tool .kal-pg-notatka{margin:.4rem .9rem;padding:.5rem .6rem;background:var(--pow2);border-radius:8px;font-size:.92em;white-space:normal}
.kalendarz-tool .kal-pg-stat{display:flex;flex-wrap:wrap;gap:.25rem;align-items:center;padding:.5rem .9rem 0;font-size:.85em;color:var(--mut)}
.kalendarz-tool .kal-pg-stat button{border:1px solid var(--lin);background:var(--pow2);border-radius:999px;padding:.12em .6em;cursor:pointer;font-size:.92em;color:var(--tekst)}
.kalendarz-tool .kal-pg-stat button.on{background:var(--ak);border-color:var(--ak);color:var(--ak-t)}
.kalendarz-tool .kal-pg-akcje{display:flex;flex-wrap:wrap;gap:.35rem;padding:.7rem .9rem .9rem}

/* powitanie */
.kalendarz-tool .kal-powitanie{margin:.8rem;padding:1rem 1.1rem;border:1px solid var(--ak);background:linear-gradient(180deg,var(--ak-j),transparent 70%),var(--pow);border-radius:14px;display:flex;flex-direction:column;gap:.8rem}
.kalendarz-tool .kal-pw-glowa{display:flex;justify-content:space-between;gap:1rem}
.kalendarz-tool .kal-pw-glowa h3{margin:0 0 .2rem;font-size:1.25em}
.kalendarz-tool .kal-pw-glowa p{margin:0;color:var(--mut);font-size:.92em}
.kalendarz-tool .kal-pw-profile{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:.5rem}
.kalendarz-tool .kal-pw-profile button{text-align:left;border:1.5px solid var(--lin);background:var(--pow);border-radius:12px;padding:.7rem;cursor:pointer;display:flex;flex-direction:column;gap:.15rem;color:var(--tekst)}
.kalendarz-tool .kal-pw-profile button .ik{font-size:1.5em;line-height:1}
.kalendarz-tool .kal-pw-profile button small{color:var(--mut);font-size:.78em;line-height:1.35}
.kalendarz-tool .kal-pw-profile button.on{border-color:var(--ak);background:var(--ak-j);box-shadow:0 0 0 3px var(--ak-j)}
.kalendarz-tool .kal-pw-porady{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.5rem}
.kalendarz-tool .kal-pw-porady div{background:var(--pow2);border-radius:10px;padding:.55rem .7rem;font-size:.85em;display:flex;flex-direction:column}
.kalendarz-tool .kal-pw-porady span{color:var(--mut)}
.kalendarz-tool .kal-pw-stopa{display:flex;justify-content:flex-end;gap:.5rem;flex-wrap:wrap}

/* statystyki, pomoc, filtry */
.kalendarz-tool .kal-kafle{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:.5rem}
.kalendarz-tool .kal-kafle div{background:var(--pow2);border:1px solid var(--lin2);border-radius:12px;padding:.6rem .7rem;display:flex;flex-direction:column}
.kalendarz-tool .kal-kafle b{font-size:1.35em;color:var(--tekst)}.kalendarz-tool .kal-kafle span{font-size:.78em;color:var(--mut)}
.kalendarz-tool .kal-belki{display:flex;flex-direction:column;gap:.3rem}
.kalendarz-tool .kal-belki div{display:grid;grid-template-columns:minmax(0,9em) minmax(0,1fr) auto;gap:.5rem;align-items:center;font-size:.85em}
.kalendarz-tool .kal-belki .n{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.kalendarz-tool .kal-belki .b{background:var(--lin2);border-radius:999px;height:.7em;overflow:hidden}.kalendarz-tool .kal-belki .b i{display:block;height:100%;border-radius:999px}
.kalendarz-tool .kal-belki .v{font-variant-numeric:tabular-nums;color:var(--mut)}
#mStat h4,#mPomoc h4{margin:.6rem 0 .4rem;font-size:.95em}
.kalendarz-tool .kal-skroty{border-collapse:collapse;font-size:.88em;width:100%}
.kalendarz-tool .kal-skroty td{padding:.25em .4em;border-bottom:1px solid var(--lin2)}
.kalendarz-tool .kal-skroty td:first-child{white-space:nowrap}
.kalendarz-tool .kal kbd{display:inline-block;border:1px solid var(--lin);border-bottom-width:2px;border-radius:5px;padding:.05em .4em;font:600 .85em ui-monospace,monospace;background:var(--pow2)}
.kalendarz-tool .kal-porady{margin:0;padding-left:1.1em;font-size:.88em;display:flex;flex-direction:column;gap:.3rem}
.kalendarz-tool .kal-przyklady{display:flex;flex-wrap:wrap;gap:.35rem}
.kalendarz-tool .kal-przyklady button{border:1px dashed var(--lin);background:var(--pow2);border-radius:8px;padding:.3em .6em;cursor:pointer;font-size:.85em;color:var(--tekst)}
.kalendarz-tool .kal-przyklady button:hover{border-color:var(--ak)}
.kalendarz-tool .kal-maly-t{width:auto;padding:0 .5em;font-size:.95em;text-transform:none;letter-spacing:0}
:where(body *):has(.kalendarz-tool .kal-podglad:not([hidden])){z-index:99990!important}

/* pełny ekran i kiosk */
.kalendarz-tool .kal[data-pelny]{position:fixed;inset:0;z-index:3000;border-radius:0;overflow:auto;padding:1rem}
.kalendarz-tool .kal[data-kiosk] .kal-szybkie,.kalendarz-tool .kal[data-kiosk] .kal-akcje>*:not(#kPelny),.kalendarz-tool .kal[data-kiosk] .kal-bok,.kalendarz-tool .kal[data-kiosk] .kal-stopka{display:none!important}
.kalendarz-tool .kal[data-kiosk] .kal-uklad{grid-template-columns:minmax(0,1fr)}
.kalendarz-tool .kal-zegar{display:flex;justify-content:space-between;align-items:baseline;padding:.2rem .4rem .8rem;font-variant-numeric:tabular-nums}
.kalendarz-tool .kal-zegar b{font-size:3em;line-height:1}.kalendarz-tool .kal-zegar span{font-size:1.2em;color:var(--mut);text-transform:capitalize}

@media (max-width:900px){
  .kalendarz-tool .kal-uklad,.kalendarz-tool .kal[data-bokstrona=prawa] .kal-uklad{grid-template-columns:minmax(0,1fr)}
  .kalendarz-tool .kal-bok{order:2}
  .kalendarz-tool .kal-szukaj{width:100%}
  .kalendarz-tool .kal-akcje{width:100%}.kalendarz-tool .kal-akcje .kal-szukaj{flex:1}
}
@media (max-width:640px){
  .kalendarz-tool .kal{padding:.5rem;--komorka-h:74px}
  .kalendarz-tool .kal-siatka2,.kalendarz-tool .kal-ust .kal-siatka3{grid-template-columns:1fr}
  .kalendarz-tool .kal-m-kom .kal-ev{font-size:0;height:6px;padding:0;border-radius:3px}
  .kalendarz-tool .kal-m-sw,.kalendarz-tool .kal-m-tn{display:none}
  .kalendarz-tool .kal-tytul{font-size:1.05em}
  .kalendarz-tool .kal-t{--min:3.2em}
  .kalendarz-tool .kal-l-dz{grid-template-columns:4.5em minmax(0,1fr)}
  .kalendarz-tool .kal-okno-stopa .kal-btn{padding:.45em .6em}
  .kalendarz-tool .kal-belki div{grid-template-columns:minmax(0,6em) minmax(0,1fr) auto}
  .kalendarz-tool .kal-powitanie{margin:.4rem;padding:.8rem}
  .kalendarz-tool .kal-akcje .kal-szukaj{flex:1 1 100%;order:9}
  .kalendarz-tool .kal-akcje{gap:.3rem}
  .kalendarz-tool .kal:has(.kal-podglad.dol:not([hidden])) .kal-toast{bottom:auto;top:16px}
  .kalendarz-tool .kal-pw-profile{grid-template-columns:1fr 1fr}
}
@media print{
  body *{visibility:hidden!important}
  .kalendarz-tool .kal-glowna,.kalendarz-tool .kal-glowna *,.kalendarz-tool .kal-tytul{visibility:visible!important}
  .kalendarz-tool .kal-glowna{position:absolute;left:0;top:2.2rem;width:100%;border:0}
  .kalendarz-tool .kal-tytul{position:absolute;left:0;top:0;font-size:18pt}
  .kalendarz-tool .kal-t-scroll{max-height:none!important;overflow:visible!important}
  .kalendarz-tool .kal-ev{-webkit-print-color-adjust:exact;print-color-adjust:exact}
  @page{size:landscape;margin:10mm}
}
/* przodek strony ma z-index:20 (kontekst nakładania) — przy otwartym oknie/pełnym ekranie podnosimy całą gałąź ponad nagłówek (1030) i baner PWA */
:where(body *):has(.kalendarz-tool .kal-modal:not([hidden])),:where(body *):has(.kalendarz-tool .kal[data-pelny]){z-index:99990!important}
