:root{
  --tlo:#f5f2ec;--karta:#fffdf9;--karta2:#f0ebe2;--tekst:#1f1c19;--slaby:#6f675d;--linia:#e2dacd;--linia2:#d9d0c2;
  --onyks:#1f1c19;--zloto:#a8823f;--zloto-j:#c4a062;--akcent:#1f1c19;--akcent-t:#f4ecdf;
  --alarm:#b3261e;--alarm-t:#fdecea;--uwaga:#7a4f00;--uwaga-t:#fff4dc;--uwaga-l:#ecd39a;--ok:#2f6b3a;--ok-t:#e5f3e7;--ok-l:#b9dcbf;
  --nieb:#1f4a8c;--nieb-t:#e3ecfa;--nieb-l:#c9d8f1;--notatka:#f6efe0;--notatka-l:#e6d7b6;--notatka-t:#6b5420;
  --e-nowa:#2357a6;--e-czeka_klient:#8a6d3b;--e-przyjeta:#a8823f;--e-producent:#7a3fa0;--e-realizacja:#2f6b3a;--e-gotowa:#0f6f73;
  --e-zamknieta:#7b746b;--e-odrzucona:#b3261e;--e-nie_dotyczy:#9a9288;
  --cien:0 1px 2px rgba(31,28,25,.06),0 4px 14px rgba(31,28,25,.06);
  --r:14px;--nav:64px;
  color-scheme:light;
}
@media (prefers-color-scheme:dark){:root:not([data-motyw="jasny"]){
  --tlo:#141210;--karta:#1e1b18;--karta2:#262220;--tekst:#efe8dc;--slaby:#a69d90;--linia:#37312b;--linia2:#4a433b;
  --akcent:#c4a062;--akcent-t:#1a1714;--zloto:#c4a062;
  --alarm:#ff8a80;--alarm-t:#3a1d1a;--uwaga:#f0c060;--uwaga-t:#33290f;--uwaga-l:#5a4718;--ok:#8fd19a;--ok-t:#1b2e1e;--ok-l:#2f4d34;
  --nieb:#8db4f5;--nieb-t:#1b2638;--nieb-l:#2c3d5c;--notatka:#2b2518;--notatka-l:#4a3f27;--notatka-t:#e6cf98;
  --e-nowa:#8db4f5;--e-czeka_klient:#d8b878;--e-przyjeta:#c4a062;--e-producent:#d2a2f0;--e-realizacja:#8fd19a;--e-gotowa:#7fd6d6;
  --e-zamknieta:#a69d90;--e-odrzucona:#ff8a80;--e-nie_dotyczy:#857c70;
  --cien:0 1px 2px rgba(0,0,0,.3);color-scheme:dark;
}}
:root[data-motyw="ciemny"]{
  --tlo:#141210;--karta:#1e1b18;--karta2:#262220;--tekst:#efe8dc;--slaby:#a69d90;--linia:#37312b;--linia2:#4a433b;
  --akcent:#c4a062;--akcent-t:#1a1714;--zloto:#c4a062;
  --alarm:#ff8a80;--alarm-t:#3a1d1a;--uwaga:#f0c060;--uwaga-t:#33290f;--uwaga-l:#5a4718;--ok:#8fd19a;--ok-t:#1b2e1e;--ok-l:#2f4d34;
  --nieb:#8db4f5;--nieb-t:#1b2638;--nieb-l:#2c3d5c;--notatka:#2b2518;--notatka-l:#4a3f27;--notatka-t:#e6cf98;
  --e-nowa:#8db4f5;--e-czeka_klient:#d8b878;--e-przyjeta:#c4a062;--e-producent:#d2a2f0;--e-realizacja:#8fd19a;--e-gotowa:#7fd6d6;
  --e-zamknieta:#a69d90;--e-odrzucona:#ff8a80;--e-nie_dotyczy:#857c70;
  --cien:0 1px 2px rgba(0,0,0,.3);color-scheme:dark;
}
*{box-sizing:border-box}
html,body{margin:0}
body{background:var(--tlo);color:var(--tekst);font:15.5px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}
button,input,select,textarea{font:inherit;color:inherit}
a{color:inherit}
.start{min-height:100vh;display:grid;place-items:center}
.spinner{width:32px;height:32px;border-radius:50%;border:3px solid var(--linia);border-top-color:var(--zloto);animation:obr 1s linear infinite}
.spinner.mal{width:18px;height:18px;border-width:2px;display:inline-block;vertical-align:-3px}
@keyframes obr{to{transform:rotate(360deg)}}
[hidden]{display:none!important}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* ---------- logowanie ---------- */
.wejscie{min-height:100vh;display:grid;place-items:center;padding:24px 16px;background:var(--onyks);color:#f4ecdf}
.wejscie .pudlo{width:100%;max-width:380px}
.wejscie img{width:64px;height:64px;border-radius:16px;display:block;margin-bottom:20px}
.wejscie h1{font-size:26px;margin:0 0 4px;font-weight:700;letter-spacing:-.01em}
.wejscie p{color:#bdb2a2;margin:0 0 24px}
.wejscie label{display:block;font-size:14px;color:#d8cdbd;margin:14px 0 6px}
.wejscie input{width:100%;padding:13px 14px;border-radius:10px;border:1px solid #4a433b;background:#2a2622;color:#f4ecdf;font-size:16px}
.wejscie input:focus{outline:2px solid var(--zloto-j);outline-offset:1px}
.wejscie .btn{width:100%;margin-top:22px;background:#c4a062;color:#1f1c19;border:0}
.wejscie .blad{background:#4a1f1b;color:#ffd7d2;padding:10px 12px;border-radius:10px;margin-top:14px;font-size:14px}

/* ---------- układ ---------- */
.uklad{min-height:100vh;padding-bottom:calc(var(--nav) + env(safe-area-inset-bottom))}
.gora{position:sticky;top:0;z-index:40;background:var(--onyks);color:#f4ecdf;padding:calc(10px + env(safe-area-inset-top)) 16px 10px;display:flex;align-items:center;gap:10px 22px;flex-wrap:wrap}
.gora .logo{display:flex;align-items:center;gap:10px;font-weight:700;text-decoration:none;color:#f4ecdf}
.gora .logo img{width:32px;height:32px;border-radius:9px}
.gora .logo small{display:block;font-weight:400;font-size:12px;color:#bdb2a2;line-height:1.1}
.gora nav{display:none;gap:4px;flex-wrap:wrap}
.gora nav a{padding:8px 13px;border-radius:9px;color:#d8cfc1;text-decoration:none;font-size:14.5px;display:flex;align-items:center;gap:6px}
.gora nav a.ak{background:#2f2a25;color:#f4ecdf;font-weight:650}
.gora .prawo{margin-left:auto;display:flex;gap:12px;align-items:center}
.skrz{display:flex;align-items:center;gap:7px;font-size:13px;color:#d8cfc1;white-space:nowrap}
.skrz i{width:8px;height:8px;border-radius:50%;background:#7fcf8f;flex:none}
.skrz.zle i{background:#ff8a80}
.skrz.brak i{background:#8a8278}
.gora .btn-dodaj{display:none;background:#c4a062;color:#1f1c19;border:0;font-weight:700}
.licz{min-width:19px;height:19px;padding:0 6px;border-radius:10px;background:#c4a062;color:#1f1c19;font-size:11.5px;font-weight:800;display:inline-grid;place-items:center}
.licz.al{background:var(--alarm);color:#fff}
.tresc{max-width:1320px;margin:0 auto;padding:16px}
.nav{position:fixed;left:0;right:0;bottom:0;z-index:30;display:flex;background:var(--karta);border-top:1px solid var(--linia);padding-bottom:env(safe-area-inset-bottom)}
.nav a{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;height:var(--nav);text-decoration:none;font-size:11.5px;color:var(--slaby);position:relative}
.nav a svg{width:24px;height:24px}
.nav a.ak{color:var(--tekst);font-weight:650}
.nav a.ak svg{color:var(--zloto)}
.nav a .licz{position:absolute;top:6px;left:calc(50% + 6px)}
.nav a.plus .ik{width:46px;height:46px;border-radius:50%;background:var(--akcent);color:var(--akcent-t);display:grid;place-items:center;margin-top:-18px;box-shadow:var(--cien)}
.nav a.plus svg{color:var(--akcent-t)!important}
@media (min-width:980px){
  .uklad{padding-bottom:0}
  .nav{display:none}
  .gora{padding:12px 24px}
  .gora nav{display:flex}
  .gora .btn-dodaj{display:inline-flex}
  .tresc{padding:26px 24px 48px}
}
@media (max-width:620px){.skrz span{display:none}}

/* ---------- elementy ---------- */
h1{font-size:28px;margin:0;font-weight:800;letter-spacing:-.01em}
h2{font-size:19px;margin:0;font-weight:800}
.pod{color:var(--slaby);margin:4px 0 0;font-size:14.5px}
.naglowek-w{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:12px 16px;margin-bottom:20px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;border-radius:10px;border:1px solid var(--linia2);background:var(--karta);font-weight:650;cursor:pointer;text-decoration:none;min-height:44px;font-size:14.5px;white-space:nowrap}
.btn.gl{background:var(--akcent);color:var(--akcent-t);border-color:transparent}
.btn.zl{background:var(--zloto-j);color:#1f1c19;border-color:transparent}
.btn.ok{background:#2f6b3a;color:#fff;border-color:transparent}
.btn.cz{color:var(--alarm);border-color:color-mix(in srgb,var(--alarm) 35%,var(--linia2))}
.btn.cichy{background:transparent;border-color:transparent;color:var(--slaby);font-weight:500}
.btn.mal{padding:6px 11px;min-height:36px;font-size:13.5px}
.btn:disabled{opacity:.55;cursor:default}
.btn svg{width:18px;height:18px}
.chipy{display:flex;gap:6px;flex-wrap:wrap;align-items:center;margin-bottom:12px}
.chip{flex:none;padding:7px 13px;border-radius:99px;border:1px solid var(--linia2);background:var(--karta);font-size:13.5px;cursor:pointer;white-space:nowrap;min-height:36px}
.chip.ak{background:var(--akcent);color:var(--akcent-t);border-color:transparent;font-weight:650}
.chip b{font-weight:800;margin-left:3px;opacity:.8}
.sep{width:1px;height:24px;background:var(--linia2);flex:none}
.tag{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;padding:2px 9px;border-radius:99px;border:1px solid var(--linia2);color:var(--tekst);white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.tag.wyp{background:var(--karta2);border-color:transparent;color:var(--slaby)}
.tag.nieb{background:var(--nieb-t);color:var(--nieb);border-color:transparent;font-weight:700}
.tag.al{background:var(--alarm-t);color:var(--alarm);border-color:transparent;font-weight:700}
.tag.uw{background:var(--uwaga-t);color:var(--uwaga);border-color:transparent;font-weight:700}
.tag.okt{background:var(--ok-t);color:var(--ok);border-color:transparent;font-weight:700}
.tag.zl{background:var(--notatka);color:var(--notatka-t);border-color:transparent;font-weight:700}
.etap{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:650;padding:3px 10px 3px 8px;border-radius:99px;background:var(--karta2);white-space:nowrap}
.etap::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--kolor,var(--e-zamknieta));flex:none}
.puste{text-align:center;color:var(--slaby);padding:36px 16px;background:var(--karta);border:1px dashed var(--linia2);border-radius:var(--r)}
.puste strong{display:block;color:var(--tekst);font-size:16.5px;margin-bottom:4px}
.sekcja{background:var(--karta);border:1px solid var(--linia);border-radius:var(--r);padding:16px;margin-bottom:14px}
.sekcja>h3,.karta>h3{font-size:15px;margin:0 0 10px;display:flex;align-items:center;gap:8px;justify-content:space-between}
.uwaga-box{background:var(--uwaga-t);color:var(--uwaga);border:1px solid var(--uwaga-l);border-radius:12px;padding:12px 14px;font-size:14.5px;margin-bottom:12px}
.ok-box{background:var(--ok-t);color:var(--ok);border:1px solid var(--ok-l);border-radius:12px;padding:12px 14px;font-size:14.5px;margin-bottom:12px}
.al-box{background:var(--alarm-t);color:var(--alarm);border-radius:12px;padding:12px 14px;font-size:14.5px;margin-bottom:12px}
.link-box{background:var(--karta2);border-radius:10px;padding:10px;font-size:13px;word-break:break-all;margin-top:8px}
#toast{position:fixed;left:50%;bottom:calc(var(--nav) + 18px + env(safe-area-inset-bottom));transform:translateX(-50%) translateY(20px);background:var(--onyks);color:#f4ecdf;padding:11px 18px;border-radius:12px;font-size:14.5px;opacity:0;pointer-events:none;transition:.2s;z-index:300;max-width:calc(100% - 32px)}
#toast.on{opacity:1;transform:translateX(-50%)}
@media (min-width:980px){#toast{bottom:24px}}

/* ---------- pulpit ---------- */
.kafle{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:12px;margin-bottom:26px}
.kafel{text-decoration:none;color:var(--tekst);background:var(--karta);border:1px solid var(--linia);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:3px}
.kafel:hover{border-color:var(--zloto-j)}
.kafel .k1{font-size:13px;font-weight:700;color:var(--slaby)}
.kafel .k2{font-size:32px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.kafel .k3{font-size:12.5px;color:var(--slaby)}
.kafel.nieb .k1{color:var(--nieb)}
.kafel.uw{background:var(--uwaga-t);border-color:var(--uwaga-l)}.kafel.uw .k1,.kafel.uw .k2{color:var(--uwaga)}
.kafel.al{background:var(--alarm-t);border-color:transparent}.kafel.al .k1,.kafel.al .k2{color:var(--alarm)}
.kafel.okk{background:var(--ok-t);border-color:var(--ok-l)}.kafel.okk .k1,.kafel.okk .k2{color:var(--ok)}
.blok{display:flex;flex-direction:column;gap:12px;margin-bottom:28px}
.blok-n{display:flex;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:6px 12px}
.blok-n span{font-size:13px;color:var(--slaby)}
.siatka-nowe{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(460px,100%),1fr));gap:12px}
.nk{background:var(--karta);border:1px solid var(--linia);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:9px;min-width:0}
.nk .m{display:flex;flex-wrap:wrap;align-items:center;gap:6px 8px;font-size:13px;color:var(--slaby)}
.nk .t{font-size:16px;font-weight:700;overflow-wrap:anywhere}
.nk .t a{text-decoration:none}
.nk .f{margin:0;font-size:14px;color:var(--slaby);background:var(--karta2);border-radius:10px;padding:9px 12px;white-space:pre-wrap;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.nk .a{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.nk .a select{padding:9px 10px;border-radius:10px;border:1px solid var(--linia2);background:var(--karta);min-height:44px;font-size:14px}

/* ---------- lista spraw ---------- */
.pasek{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:12px}
.pasek .szukaj{flex:1 1 260px;position:relative}
.pasek .szukaj input{width:100%;padding:11px 12px 11px 38px;border-radius:10px;border:1px solid var(--linia2);background:var(--karta);min-height:44px}
.pasek .szukaj svg{position:absolute;left:11px;top:50%;transform:translateY(-50%);width:18px;height:18px;color:var(--slaby)}
.pasek select{padding:10px;border-radius:10px;border:1px solid var(--linia2);background:var(--karta);min-height:44px}
input:focus-visible,select:focus-visible,textarea:focus-visible,button:focus-visible,a:focus-visible{outline:2px solid var(--zloto-j);outline-offset:1px}
.tab{background:var(--karta);border:1px solid var(--linia);border-radius:var(--r);overflow:hidden}
.ws{display:grid;grid-template-columns:116px minmax(150px,1.3fr) minmax(130px,1fr) 128px 170px 118px 168px 34px;gap:12px;align-items:center;padding:12px 16px;border-bottom:1px solid var(--linia);text-decoration:none;color:var(--tekst);font-size:14px}
.ws:last-child{border-bottom:0}
a.ws:hover{background:var(--karta2)}
.ws.gl{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--slaby);padding-top:10px;padding-bottom:10px}
.ws .nr{font-weight:800;font-variant-numeric:tabular-nums;display:flex;align-items:center;gap:6px}
.ws .nr i{width:8px;height:8px;border-radius:50%;background:var(--zloto-j);flex:none}
.ws .kl{min-width:0}
.ws .kl b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ws .kl small,.ws small{display:block;color:var(--slaby);font-size:12.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ws .ter.uw{color:var(--uwaga);font-weight:700}.ws .ter.al{color:var(--alarm);font-weight:800}
.ws .os{color:var(--slaby);font-size:13px}
.av{display:inline-grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--karta2);font-weight:700;font-size:12.5px}
.ws.nowa-w{background:color-mix(in srgb,var(--zloto-j) 9%,var(--karta))}
@media (max-width:979px){
  .ws.gl{display:none}
  .ws{grid-template-columns:1fr auto;grid-template-areas:"nr etap" "kl kl" "ro ro" "ter os";gap:4px 10px;padding:13px 14px}
  .ws .nr{grid-area:nr}.ws .kl{grid-area:kl}.ws .ro{grid-area:ro}.ws .ka{display:none}.ws .et{grid-area:etap}
  .ws .ter{grid-area:ter;font-size:13px}.ws .os{grid-area:os;text-align:right}.ws .pr{display:none}
  .ws .ro{font-size:13px;color:var(--slaby)}
}

/* ---------- sprawa ---------- */
.wroc{font-size:14px;color:var(--slaby);text-decoration:none;display:inline-block;margin-bottom:12px}
.sp-n{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}
.sp-n .tagi{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.sp-n .tagi .tag{background:var(--karta)}
.sp-akcje{display:flex;flex-wrap:wrap;gap:8px}
.etapy{list-style:none;margin:0 0 8px;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(min(132px,100%),1fr));gap:6px}
.etapy button{width:100%;text-align:left;background:var(--karta);border:1px solid var(--linia);color:var(--slaby);border-radius:10px;padding:9px 11px;font-size:13px;font-weight:700;cursor:pointer;min-height:52px;line-height:1.25}
.etapy button small{display:block;font-weight:500;font-size:12px}
.etapy button.byl{background:var(--ok-t);border-color:transparent;color:var(--ok)}
.etapy button.ak{background:var(--akcent);color:var(--akcent-t);border-color:transparent}
.etapy-boczne{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:18px;align-items:center;font-size:13px;color:var(--slaby)}
.sp-uklad{display:flex;flex-wrap:wrap;align-items:flex-start;gap:20px}
.sp-gl{flex:999 1 560px;min-width:0;display:flex;flex-direction:column;gap:12px}
.sp-bok{flex:1 1 330px;min-width:0;display:flex;flex-direction:column;gap:14px}
@media (min-width:980px){.sp-bok{position:sticky;top:84px;max-height:calc(100vh - 100px);overflow-y:auto;padding-bottom:8px}}
.baner{border-radius:var(--r);padding:14px 16px;display:flex;flex-wrap:wrap;gap:10px 14px;align-items:center;justify-content:space-between}
.baner.nieb{background:var(--nieb-t);color:var(--nieb);border:1px solid var(--nieb-l)}
.baner.zl{background:var(--notatka);color:var(--notatka-t);border:1px solid var(--notatka-l)}
.baner.al{background:var(--alarm-t);color:var(--alarm)}
.baner .przyciski{display:flex;flex-wrap:wrap;gap:8px}
.zd{display:flex;gap:12px;align-items:flex-start;font-size:14px;color:var(--slaby);padding:2px 4px}
.zd::before{content:"";flex:none;width:9px;height:9px;margin-top:6px;border-radius:50%;background:var(--linia2)}
.zd b{color:var(--tekst);font-weight:650}
.wi{background:var(--karta);border:1px solid var(--linia);border-radius:var(--r);padding:14px 16px;display:flex;flex-direction:column;gap:7px;min-width:0}
.wi.przych{border-color:var(--nieb-l);margin-right:clamp(0px,5vw,48px)}
.wi.wych{margin-left:clamp(0px,5vw,48px)}
.wi.not{background:var(--notatka);border-color:var(--notatka-l)}
.wi.ai{border-color:var(--zloto-j);border-left-width:4px}
.wi .m{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 10px;font-size:13px;color:var(--slaby)}
.wi .m b{color:var(--tekst)}
.wi.przych .m b{color:var(--nieb)}
.wi.not .m{color:var(--notatka-t)}
.wi .tem{font-weight:700;overflow-wrap:anywhere}
.wi .tr{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14.5px}
.wi .cyt{font-size:13px;color:var(--slaby);border-left:3px solid var(--linia2);padding-left:10px;white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:auto}
.wi .st{display:flex;flex-wrap:wrap;gap:6px;font-size:12px}
.lnk-btn{background:none;border:0;padding:0;color:var(--slaby);text-decoration:underline;cursor:pointer;font-size:13px;align-self:flex-start}
.pliki{display:flex;flex-wrap:wrap;gap:8px}
.pl-img{width:92px;height:92px;border-radius:10px;overflow:hidden;background:var(--karta2);border:0;padding:0;cursor:zoom-in;flex:none}
.pl-img img{width:100%;height:100%;object-fit:cover;display:block}
.pl-dok{display:inline-flex;align-items:center;gap:6px;padding:7px 11px;border-radius:10px;background:var(--karta2);text-decoration:none;font-size:13px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.pl-dok svg{width:16px;height:16px;flex:none}
.siatka-pl{display:grid;grid-template-columns:repeat(auto-fill,minmax(84px,1fr));gap:8px}
.siatka-pl .pl-img{width:100%;height:auto;aspect-ratio:1}
.karta{background:var(--karta);border:1px solid var(--linia);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:10px}
.karta.uw{background:var(--uwaga-t);border-color:var(--uwaga-l);color:var(--uwaga)}
.karta.al{background:var(--alarm-t);border-color:transparent;color:var(--alarm)}
.karta.okk{background:var(--ok-t);border-color:var(--ok-l);color:var(--ok)}
.karta .duzy{font-size:22px;font-weight:800}
.dane{margin:0;display:grid;grid-template-columns:118px 1fr;gap:6px 10px;font-size:14px}
.dane dt{color:var(--slaby)}
.dane dd{margin:0;overflow-wrap:anywhere;white-space:pre-wrap}
.dane dd a{color:inherit}

/* ---------- edytor wiadomości ---------- */
.edytor{background:var(--karta);border:1px solid var(--linia2);border-radius:var(--r);padding:16px;display:flex;flex-direction:column;gap:12px;scroll-margin-top:90px}
.zakladki{display:flex;gap:4px;border-bottom:1px solid var(--linia);margin:-4px -4px 2px}
.zakladki button{background:none;border:0;border-bottom:3px solid transparent;padding:8px 12px;font-weight:650;color:var(--slaby);cursor:pointer;min-height:44px}
.zakladki button.ak{color:var(--tekst);border-bottom-color:var(--zloto-j)}
.ed-od{font-size:13px;color:var(--slaby);display:flex;flex-wrap:wrap;gap:4px 12px;align-items:center}
.ed-od input{border:1px solid var(--linia2);background:var(--karta);border-radius:8px;padding:5px 8px;min-width:220px;font-size:13.5px}
.siatka2{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px}
.pole label,.pole .etk{display:block;font-size:12.5px;font-weight:700;color:var(--slaby);margin-bottom:4px}
.pole input,.pole select,.pole textarea{width:100%;padding:10px 12px;border:1px solid var(--linia2);border-radius:10px;background:var(--karta);min-height:44px;font-size:14.5px}
.pole textarea{min-height:150px;resize:vertical;line-height:1.5}
.pole .wsk{font-size:12.5px;color:var(--slaby);margin-top:4px}
.ed-dol{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.ed-dol .prawo{margin-left:auto;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ed-dol select{padding:9px 10px;border-radius:10px;border:1px solid var(--linia2);background:var(--karta);min-height:44px;font-size:14px}
.przelacz{display:flex;align-items:center;gap:9px;font-size:14px;cursor:pointer;min-height:40px}
.przelacz input{width:19px;height:19px;accent-color:var(--zloto);margin:0;flex:none}
.ai-box{background:var(--karta2);border-radius:12px;padding:12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ai-box input{flex:1 1 260px;padding:10px 12px;border:1px solid var(--linia2);border-radius:10px;background:var(--karta);min-height:44px}
.iskra{color:var(--zloto)}
.zal-lista{display:flex;flex-wrap:wrap;gap:6px}
.zal-lista .tag{background:var(--karta2);border-color:transparent;gap:6px}
.zal-lista .tag button{background:none;border:0;padding:0 0 0 2px;cursor:pointer;color:var(--slaby);font-size:16px;line-height:1}
.podpis{font-size:12.5px;color:var(--slaby);white-space:pre-wrap;border-top:1px dashed var(--linia2);padding-top:8px}

/* ---------- formularze ---------- */
.form{display:grid;gap:14px}
fieldset.gr{border:1px solid var(--linia);border-radius:var(--r);padding:14px 16px 16px;margin:0;background:var(--karta);display:grid;gap:12px;min-width:0}
fieldset.gr legend{font-weight:800;padding:0 6px}
.wybor{display:flex;flex-wrap:wrap;gap:8px}
.wybor label{display:flex;align-items:center;gap:8px;background:var(--karta);border:1px solid var(--linia2);border-radius:99px;padding:8px 14px;min-height:44px;cursor:pointer;font-size:14px}
.wybor label:has(input:checked){border-color:var(--zloto);box-shadow:0 0 0 1px var(--zloto) inset;font-weight:650}
.wybor input{width:17px;height:17px;margin:0;accent-color:var(--zloto)}
.przyciski{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.motywy{display:flex;gap:8px;flex-wrap:wrap}
.motywy label{flex:1 1 140px;display:flex;align-items:center;gap:10px;min-height:48px;padding:10px 14px;border:1px solid var(--linia2);border-radius:12px;background:var(--karta);cursor:pointer;font-size:15px}
.motywy label:has(input:checked){border-color:var(--zloto);box-shadow:0 0 0 1px var(--zloto) inset}
.motywy input{width:18px;height:18px;accent-color:var(--zloto);margin:0}
.motywy .probka{width:26px;height:26px;border-radius:7px;border:1px solid var(--linia);flex:none}
.motywy .p-auto{background:linear-gradient(135deg,#f5f2ec 50%,#141210 50%)}.motywy .p-jasny{background:#f5f2ec}.motywy .p-ciemny{background:#141210}
.wiersz{display:flex;gap:10px;align-items:center;flex-wrap:wrap;padding:12px 0;border-bottom:1px solid var(--linia)}
.wiersz:last-child{border-bottom:0}
.wiersz .kto{flex:1 1 200px}
.wiersz .kto b{display:block}
.wiersz .kto span{font-size:13px;color:var(--slaby)}
.wiersz select{padding:7px;border-radius:9px;border:1px solid var(--linia2);background:var(--karta)}
.hist{list-style:none;margin:0;padding:0}
.hist li{padding:9px 0;border-bottom:1px solid var(--linia);font-size:14px}
.hist li:last-child{border-bottom:0}
.hist .kto{color:var(--slaby);font-size:12.5px}

/* ---------- skan ---------- */
.wklej{border:2px dashed var(--linia2);border-radius:var(--r);background:var(--karta);min-height:220px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:24px;text-align:center;cursor:pointer;outline:none}
.wklej:focus,.wklej.nad{border-color:var(--zloto);background:color-mix(in srgb,var(--zloto-j) 7%,var(--karta))}
.wklej b{font-size:17px}
.wklej small{color:var(--slaby)}
.podglady{display:flex;flex-wrap:wrap;gap:10px}
.pg{position:relative;width:132px;height:132px;border-radius:12px;overflow:hidden;background:var(--karta2);display:grid;place-items:center;font-size:12.5px;color:var(--slaby);text-align:center;padding:4px}
.pg img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pg button{position:absolute;top:4px;right:4px;width:26px;height:26px;border-radius:50%;border:0;background:rgba(0,0,0,.65);color:#fff;font-size:16px;line-height:1;cursor:pointer;z-index:2}
.pg .ladow{position:absolute;inset:0;margin:auto;z-index:1}

/* powiększenie zdjęcia */
.lupa{position:fixed;inset:0;z-index:200;background:rgba(10,9,8,.92);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:16px;cursor:zoom-out}
.lupa img{max-width:100%;max-height:calc(100% - 64px);object-fit:contain;border-radius:8px;background:#fff}
.lupa .przyciski .btn{background:#2a2622;color:#f4ecdf;border-color:#4a433b}

/* okno (dialog) */
.zaslona{position:fixed;inset:0;background:rgba(15,13,11,.5);z-index:150;display:grid;place-items:center;padding:16px;animation:fade .15s}
@keyframes fade{from{opacity:0}}
.okno{background:var(--tlo);border-radius:16px;width:100%;max-width:520px;max-height:calc(100vh - 32px);overflow:auto;padding:20px;box-shadow:0 20px 50px rgba(0,0,0,.3);display:flex;flex-direction:column;gap:12px}
.okno h2{font-size:19px}

/* ---------- protokół do druku ---------- */
.druk{max-width:780px;margin:0 auto;background:#fff;color:#111;padding:36px 40px;font-size:13.5px;line-height:1.45;border-radius:6px;box-shadow:var(--cien)}
.druk .dn{display:flex;justify-content:space-between;gap:20px;border-bottom:2px solid #111;padding-bottom:10px;margin-bottom:16px}
.druk h1{font-size:20px;margin:0 0 4px}
.druk h2{font-size:14px;margin:16px 0 6px;text-transform:uppercase;letter-spacing:.05em}
.druk table{width:100%;border-collapse:collapse}
.druk td{border:1px solid #bbb;padding:6px 8px;vertical-align:top}
.druk td:first-child{width:34%;color:#444}
.druk .linie{border:1px solid #bbb;min-height:80px;padding:6px 8px;white-space:pre-wrap}
.druk .podpisy{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:46px}
.druk .podpisy div{border-top:1px solid #111;padding-top:4px;text-align:center;font-size:12px}
.druk .maly{font-size:11px;color:#444;margin-top:22px}
.bez-druku{margin-bottom:14px}
@media print{
  body{background:#fff}
  .gora,.nav,.bez-druku,#toast{display:none!important}
  .uklad{padding:0!important}.tresc{padding:0!important;max-width:none}
  .druk{box-shadow:none;padding:0;max-width:none}
  @page{margin:16mm}
}
