/* Biuro Kasi (E1). Wygląd przeniesiony z prototypu projekty/biuro-kasi/szablon.html (25.09):
   ciemny nagłówek + spokojna lista, bez widżetów, bez czerwieni. Ekrany Dziś/Zadania/Kalendarz/Kampanie
   czekają na swoje etapy, więc ich style tu nie trafiły. */
:root{
  --sliwka:#5E2657;--sliwka-c:#3F1B3B;--sliwka-j:#E9C7E3;--biel-karty:#FFFFFF;--ramka:#ECEAEE;
  --koral:#FF5757;--koral-c:#FF7A73;--koral-m:#EC7A73;--tusz:#221A21;--tekst2:#6F6873;--etykieta:#7A3A72;--poswiata:#A56E9E;
  --tlo:#FFFFFF;--tlo2:#F7F6F8;--ok:#4E7A5A;--ok-tlo:#E7F0E8;--uwaga:#7A3A72;--uwaga-tlo:#F5EBF3;
  --cien:0 24px 70px rgba(40,20,38,.08);
  --gilosz-c:repeating-radial-gradient(circle at 100% 0%,transparent 0 11px,rgba(255,255,255,.06) 11px 12px),radial-gradient(60% 70% at 90% 0%,rgba(236,122,115,.22),transparent 70%);
  --gora:radial-gradient(circle at 50% 0,#FCF9FC 0,#F8EDF7 49%,#F4E4F2 100%);
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --tlo:#1A1218;--tlo2:#221820;--biel-karty:#271D25;--ramka:#3A2C37;--tusz:#F4EEF2;--tekst2:#B9A9B4;--etykieta:#E9C7E3;--sliwka:#C98ABF;
  --ok:#8FC39C;--ok-tlo:#1F2E23;--uwaga:#E4B866;--uwaga-tlo:#33291A;--cien:0 24px 70px rgba(0,0,0,.35);
  --gora:radial-gradient(circle at 50% 0,#2A1C27 0,#1F151D 60%,#1A1218 100%);}}
:root[data-theme="dark"]{
  --tlo:#1A1218;--tlo2:#221820;--biel-karty:#271D25;--ramka:#3A2C37;--tusz:#F4EEF2;--tekst2:#B9A9B4;--etykieta:#E9C7E3;--sliwka:#C98ABF;
  --ok:#8FC39C;--ok-tlo:#1F2E23;--uwaga:#E4B866;--uwaga-tlo:#33291A;--cien:0 24px 70px rgba(0,0,0,.35);
  --gora:radial-gradient(circle at 50% 0,#2A1C27 0,#1F151D 60%,#1A1218 100%);}
*{box-sizing:border-box}
html,body{margin:0;background:var(--tlo);color:var(--tusz);font-family:"Plus Jakarta Sans",system-ui,sans-serif;font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
body{position:relative}
button,input,select{font:inherit;color:inherit}
button{cursor:pointer}
[hidden]{display:none!important}
.wrap{max-width:1360px;margin:0 auto;padding:22px 32px 60px}
header.top{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:22px}
.logo{font-weight:700;letter-spacing:-.04em;font-size:22px}.logo i{font-style:normal;color:var(--koral)}
.logo small{font-weight:600;letter-spacing:.16em;font-size:11px;text-transform:uppercase;color:var(--etykieta);margin-left:12px;vertical-align:3px}
.etyk{font-size:11px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--etykieta);display:inline-flex;align-items:center;gap:8px}
.etyk::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--koral)}
.gora{position:absolute;left:0;right:0;top:0;height:360px;z-index:-1;background:var(--gora);-webkit-mask:linear-gradient(#000 55%,transparent);mask:linear-gradient(#000 55%,transparent)}
/* nagłówek ekranu */
.hero{position:relative;overflow:hidden;isolation:isolate;border-radius:32px;padding:38px 40px;background:var(--gilosz-c),var(--sliwka-c);color:#fff;display:grid;grid-template-columns:1.1fr 1.6fr;gap:32px;align-items:end;box-shadow:var(--cien)}
.hero .etyk{color:var(--sliwka-j)}
.hero h1{font-family:Poppins,sans-serif;font-weight:300;font-size:52px;letter-spacing:-.05em;line-height:1.05;margin:14px 0 10px}
.hero h1 b{font-weight:400;color:var(--koral-c)}
.hero p{margin:0;color:rgba(255,255,255,.78);max-width:420px}
.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.stat{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:16px 16px 14px}
.stat .l{font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:rgba(255,255,255,.66);font-weight:600}
.stat .v{font-family:Poppins,sans-serif;font-weight:300;font-size:30px;letter-spacing:-.04em;margin-top:6px;line-height:1.1}
.stat .v small{font-size:14px;letter-spacing:0;color:rgba(255,255,255,.7)}
/* menu */
.nav{display:flex;gap:4px;background:color-mix(in srgb,var(--tlo) 70%,transparent);backdrop-filter:blur(8px);border:1px solid var(--ramka);border-radius:999px;padding:4px}
.nav button{border:0;background:transparent;padding:9px 18px;border-radius:999px;font-weight:600;font-size:13.5px;color:var(--tekst2);transition:background .25s,color .25s}
.nav button[aria-current="page"]{background:var(--sliwka-c);color:#fff}
.nav button:disabled{cursor:default;opacity:.55}
.nav button small{font-weight:500;font-size:10.5px;margin-left:5px;letter-spacing:.04em}
.konto{display:flex;align-items:center;gap:10px;font-size:13px;color:var(--tekst2)}
.btn-maly{border:1px solid var(--ramka);background:var(--biel-karty);border-radius:999px;padding:6px 14px;font-weight:600;font-size:12.5px;color:var(--sliwka)}
/* pasek narzędzi */
.bar{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:28px 0 18px}
.seg{display:inline-flex;background:var(--tlo2);border-radius:999px;padding:4px;border:1px solid var(--ramka)}
.seg button{border:0;background:transparent;padding:8px 16px;border-radius:999px;font-weight:600;font-size:13px;color:var(--tekst2)}
.seg button[aria-pressed="true"]{background:var(--sliwka-c);color:#fff}
.szukaj{flex:1;min-width:180px;max-width:320px;margin-left:auto;border:1px solid var(--ramka);background:var(--tlo);color:var(--tusz);border-radius:14px;padding:10px 14px}
.szukaj:focus{outline:2px solid var(--poswiata);outline-offset:1px}
/* znaczki */
.pig{display:inline-block;font-size:10.5px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;border-radius:999px;padding:3px 9px;white-space:nowrap}
.pig.mira{background:var(--sliwka-c);color:#fff}.pig.korki{background:transparent;color:var(--etykieta);border:1px solid var(--etykieta)}
.pig.ok{background:var(--ok-tlo);color:var(--ok)}.pig.uw{background:var(--uwaga-tlo);color:var(--uwaga)}
.pig.szara{background:var(--tlo2);color:var(--tekst2);border:1px solid var(--ramka)}
.brak{color:var(--tekst2);font-style:italic;font-weight:400}
/* lista klientów */
.lista{border:1px solid var(--ramka);border-radius:24px;overflow:hidden;background:var(--biel-karty)}
.wiersz{display:grid;grid-template-columns:minmax(200px,2.2fr) 90px 150px 150px 110px minmax(180px,2fr);gap:16px;align-items:center;width:100%;text-align:left;background:transparent;border:0;border-top:1px solid var(--ramka);padding:16px 22px;font-size:14px}
.wiersz:first-child{border-top:0}
.wiersz-w{display:grid;grid-template-columns:minmax(0,1fr) 172px;align-items:center;border-top:1px solid var(--ramka)}
.wiersz-w.nag-w{border-top:0;background:var(--tlo2)}
.wiersz-w .wiersz{border-top:0}
a.jako{justify-self:end;margin-right:18px;font-size:12.5px;font-weight:600;color:var(--sliwka);text-decoration:none;border:1px solid var(--ramka);border-radius:999px;padding:6px 12px;white-space:nowrap}
.btn-jako{display:inline-block;margin-top:16px;font-size:13.5px;font-weight:600;color:#fff;text-decoration:none;border:1px solid rgba(255,255,255,.45);border-radius:12px;padding:9px 16px}
button.wiersz:hover,button.wiersz:focus-visible{background:var(--tlo2);outline:none}
.wiersz.nag{font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--tekst2);padding:12px 22px;background:var(--tlo2)}
.wiersz .nm{font-weight:600}.wiersz .br{font-size:12.5px;color:var(--tekst2);overflow-wrap:anywhere}
.wiersz .kw{font-variant-numeric:tabular-nums}
.wiersz .mini{height:5px;border-radius:5px;background:var(--ramka);margin-top:5px;overflow:hidden}.wiersz .mini i{display:block;height:100%;background:var(--koral-m)}
.wiersz .nx{font-size:13px;color:var(--tekst2);line-height:1.4}
.etap{display:inline-flex;align-items:center;gap:7px;font-size:13px;font-weight:500}
.etap::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--c,var(--sliwka))}
.etap small{display:block;color:var(--tekst2);font-size:12px;font-weight:400}
/* płatności */
.tab-wrap{border:1px solid var(--ramka);border-radius:24px;overflow:auto;background:var(--biel-karty)}
.tab-fv{width:100%;border-collapse:collapse;font-size:14px}
.tab-fv th{text-align:left;font-size:11px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--tekst2);padding:12px 14px;background:var(--tlo2)}
.tab-fv td{padding:13px 14px;border-top:1px solid var(--ramka);vertical-align:top}
.tab-fv td.kw,.tab-fv th.kw{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.tab-fv tr.klik{cursor:pointer}.tab-fv tr.klik:hover td{background:var(--tlo2)}
.sekcja-tyt{font-family:Poppins,sans-serif;font-weight:300;font-size:28px;letter-spacing:-.04em;margin:34px 0 14px}
/* ekrany „wkrótce”, stan ładowania, błąd */
.wkrotce,.komunikat{border:1px solid var(--ramka);border-radius:24px;background:var(--biel-karty);padding:28px 30px;color:var(--tekst2);max-width:640px}
.wkrotce b,.komunikat b{display:block;color:var(--tusz);font-size:18px;margin-bottom:6px}
/* logowanie i brak dostępu */
.login{position:fixed;inset:0;z-index:30;display:grid;place-items:center;padding:24px;background:var(--gora);overflow:auto}
.login-karta{position:relative;overflow:hidden;width:min(440px,100%);border-radius:32px;padding:40px 36px 34px;background:var(--gilosz-c),var(--sliwka-c);color:#fff;box-shadow:0 30px 80px rgba(63,27,59,.25)}
.login-karta .logo{color:#fff}.login-karta .logo small{color:var(--sliwka-j)}
.login-karta h1{font-family:Poppins,sans-serif;font-weight:300;font-size:44px;letter-spacing:-.05em;line-height:1.05;margin:34px 0 8px}
.login-karta h1 b{font-weight:400;color:var(--koral-c)}
.login-karta p{margin:0 0 22px;color:rgba(255,255,255,.75);font-size:14.5px}
.login-karta .clerk{background:#fff;border-radius:22px;color:var(--tusz)}
.login-karta .clerk:empty{display:none}
.btn-glowny{width:100%;border:0;border-radius:14px;padding:14px;background:#fff;color:var(--sliwka-c);font-weight:700;font-size:15px}
.btn-glowny:hover{background:var(--sliwka-j)}
.login-stopka{margin-top:22px;font-size:12px;color:rgba(255,255,255,.55);text-align:center}
.cl-cardBox{box-shadow:none!important;border:0!important}.cl-rootBox,.cl-cardBox{width:100%!important;max-width:100%!important}
/* szuflada karty */
.tlo-sz{position:fixed;inset:0;background:rgba(26,14,24,.42);backdrop-filter:blur(3px);opacity:0;pointer-events:none;transition:opacity .2s;z-index:10}
.tlo-sz.on{opacity:1;pointer-events:auto}
.sz{position:fixed;top:0;right:0;height:100%;width:min(760px,100%);background:var(--tlo);z-index:11;transform:translateX(102%);transition:transform .28s cubic-bezier(.2,.8,.2,1);overflow-y:auto;box-shadow:-30px 0 80px rgba(38,24,18,.18)}
.sz.on{transform:none}
.sz-g{position:relative;overflow:hidden;background:var(--sliwka-c);color:#fff;padding:26px 32px 30px}
.sz-g .zamknij{position:absolute;top:18px;right:18px;border:1px solid rgba(255,255,255,.25);background:rgba(255,255,255,.08);color:#fff;border-radius:12px;width:40px;height:40px;font-size:20px}
.sz-g .etyk{color:var(--sliwka-j)}
.sz-g h2{font-family:Poppins,sans-serif;font-weight:300;font-size:40px;letter-spacing:-.05em;line-height:1.08;margin:12px 50px 6px 0;overflow-wrap:anywhere}
.sz-g h2 b{font-weight:400;color:var(--koral-c)}
.sz-g p{margin:0;color:rgba(255,255,255,.78);max-width:560px;overflow-wrap:anywhere}
.sz-g .pigi{display:flex;gap:8px;flex-wrap:wrap;margin-top:16px}
.sz-g .pig.mira,.sz-g .pig.korki{background:rgba(255,255,255,.14);color:#fff;border:0}.sz-g .pig.szara{background:rgba(255,255,255,.1);color:#fff;border-color:rgba(255,255,255,.25)}
.sz-b{padding:24px 32px 50px;display:grid;gap:16px}
.sek{background:var(--biel-karty);border:1.5px solid var(--ramka);border-radius:24px;padding:20px 22px;min-width:0}
.sek h4{margin:0 0 12px;display:flex;justify-content:space-between;align-items:center;gap:8px}
.sek h4 .etyk{font-size:11px}
.sek.cicha{background:var(--tlo2)}
.dwie{display:grid;grid-template-columns:1fr 1fr;gap:16px}
dl.pola{margin:0;display:grid;grid-template-columns:auto 1fr;gap:8px 16px;font-size:14px}
dl.pola dt{color:var(--tekst2)} dl.pola dd{margin:0;font-weight:500;overflow-wrap:anywhere}
ul.otw{margin:0;padding:0;list-style:none;display:grid;gap:9px}ul.otw li{display:flex;gap:10px;font-size:14px}ul.otw li::before{content:"";flex:none;width:7px;height:7px;border-radius:50%;background:var(--sliwka);margin-top:8px}
.os{display:grid;grid-template-columns:repeat(5,1fr);gap:0;position:relative;margin-top:6px}
.os::before{content:"";position:absolute;top:9px;left:9px;right:9px;height:2px;background:var(--ramka)}
.krok{position:relative;padding-right:8px}
.krok .kr{width:20px;height:20px;border-radius:50%;background:var(--tlo);border:2px solid var(--ramka);position:relative;z-index:1}
.krok.zrob .kr{background:var(--koral-m);border-color:var(--koral-m)}
.krok.teraz .kr{background:var(--sliwka);border-color:var(--sliwka);box-shadow:0 0 0 5px rgba(165,110,158,.25)}
.krok .t{font-size:12px;color:var(--tekst2);margin-top:8px;font-weight:600;letter-spacing:.06em;text-transform:uppercase}
table.fv{width:100%;border-collapse:collapse;font-size:13.5px}
table.fv th{text-align:left;font-weight:600;color:var(--tekst2);font-size:11px;letter-spacing:.12em;text-transform:uppercase;padding:0 8px 8px 0;border-bottom:1px solid var(--ramka)}
table.fv td{padding:10px 8px 10px 0;border-bottom:1px solid var(--ramka)}
table.fv td.kw,table.fv th.kw{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
ol.hist{list-style:none;margin:0;padding:0;display:grid;gap:12px}
ol.hist li{display:grid;grid-template-columns:78px 1fr;gap:12px;font-size:14px}
ol.hist .kd{color:var(--tekst2);font-size:12.5px;font-variant-numeric:tabular-nums;padding-top:1px}
/* formularze w karcie */
form.pf{display:grid;grid-template-columns:1fr 1fr;gap:12px 16px;margin-top:14px}
form.pf label{display:grid;gap:5px;font-size:12px;color:var(--tekst2);font-weight:600;letter-spacing:.04em}
form.pf input,form.pf select{border:1px solid var(--ramka);background:var(--tlo);color:var(--tusz);border-radius:12px;padding:10px 12px;font-weight:500;font-size:14px;letter-spacing:0;width:100%;min-width:0}
form.pf input:focus,form.pf select:focus{outline:2px solid var(--poswiata);outline-offset:1px}
form.pf .caly{grid-column:1/-1}
form.pf .akcje{grid-column:1/-1;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.btn{border:0;border-radius:12px;background:var(--sliwka-c);color:#fff;font-weight:600;font-size:14px;padding:10px 18px}
.btn:disabled{opacity:.6;cursor:default}
.wynik{font-size:13px;color:var(--tekst2)}
.wynik.ok{color:var(--ok)}
.stopka{margin-top:34px;font-size:12px;color:var(--tekst2);border-top:1px solid var(--ramka);padding-top:16px}
.pasek-podgladu{background:var(--uwaga-tlo);color:var(--uwaga);font-size:12.5px;font-weight:600;text-align:center;padding:6px 16px}
/* telefon */
@media (max-width:900px){
  .hero{grid-template-columns:1fr;padding:28px 24px}
  .hero h1{font-size:38px}
  .stats{grid-template-columns:repeat(2,1fr)}
  .wiersz.nag{display:none}
  .wiersz{grid-template-columns:1fr auto;gap:6px 12px;padding:16px 18px}
  .wiersz .c-tor,.wiersz .c-fak{display:none}
  .wiersz .c-nx{grid-column:1/-1}
  .wiersz-w{grid-template-columns:1fr}
  .wiersz-w.nag-w{display:none}
  a.jako{justify-self:start;margin:0 18px 14px}
}
@media (max-width:700px){
  .wrap{padding:16px 16px 50px}
  header.top{flex-wrap:wrap}
  .nav{overflow-x:auto;max-width:100%;order:3}
  .nav button{padding:8px 13px;white-space:nowrap}
  .seg{max-width:100%;overflow-x:auto}.seg button{white-space:nowrap}
  .szukaj{max-width:none;margin-left:0;flex-basis:100%}
  .login-karta{padding:32px 24px 28px}.login-karta h1{font-size:36px}
  .sz-g{padding:22px 20px 24px}.sz-g h2{font-size:32px}
  .sz-b{padding:18px 16px 40px}
  .dwie,form.pf{grid-template-columns:1fr}
  .pig{white-space:normal}
  table.fv{font-size:12.5px}
  .os{grid-template-columns:1fr 1fr;row-gap:18px}.os::before{display:none}
  .stat .v{font-size:24px}
}
/* Zasada 28.09 (Kasia): JEDEN element z wzorem na ekran (ciemny nagłówek .hero; na ekranie logowania karta
   logowania). Tło strony, szuflada karty i reszta gładkie. Każdy klikalny element: wyraźne najechanie (jaśniej +
   obwódka śliwka), wciśnięcie (ciemniej + 1px w dół) i obwódka focus. Na telefonie :active musi wystarczyć sam. */
html{-webkit-tap-highlight-color:transparent}
.nav button,.seg button,.btn-maly,.btn,.btn-glowny,button.wiersz,a.jako,.btn-jako,.sz-g .zamknij,.tab-fv tr.klik td{transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s,transform .08s}
.nav button:not(:disabled):not([aria-current="page"]):hover,.seg button:not([aria-pressed="true"]):hover{background:var(--tlo2);color:var(--sliwka);box-shadow:inset 0 0 0 1px var(--poswiata)}
.nav button:not(:disabled):active,.seg button:active{transform:translateY(1px);background:var(--sliwka-j);color:var(--sliwka-c)}
.btn-maly:hover,a.jako:hover{border-color:var(--sliwka);background:var(--tlo2)}
.btn-maly:active,a.jako:active{background:var(--sliwka-j);color:var(--sliwka-c);transform:translateY(1px)}
.btn:not(:disabled):hover{background:var(--sliwka);box-shadow:0 0 0 3px var(--sliwka-j)}
.btn:not(:disabled):active{background:var(--sliwka-c);box-shadow:none;transform:translateY(1px)}
.btn-glowny:active{background:#DDB3D5;transform:translateY(1px)}
button.wiersz:hover{box-shadow:inset 3px 0 0 var(--sliwka)}
button.wiersz:active{background:var(--sliwka-j);color:var(--sliwka-c)}
.tab-fv tr.klik:active td{background:var(--sliwka-j)}
.btn-jako:hover,.sz-g .zamknij:hover{background:rgba(255,255,255,.14);border-color:#fff}
.btn-jako:active,.sz-g .zamknij:active{background:rgba(255,255,255,.24);transform:translateY(1px)}
:focus-visible{outline:2px solid var(--sliwka);outline-offset:2px}
.sz-g :focus-visible,.hero :focus-visible,.login-karta :focus-visible{outline-color:var(--koral-c)}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
