/* ---------- Powiadomienia ---------- */
.bell{position:relative}
.ncount{position:absolute;top:2px;right:1px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:#ef4565;color:#fff;font-size:10px;font-weight:700;line-height:17px;text-align:center;box-shadow:0 0 0 2px var(--card);font-variant-numeric:tabular-nums}
.bell.ring svg{animation:ring 1.1s ease-in-out;transform-origin:50% 8%}
@keyframes ring{0%{transform:rotate(0)}10%{transform:rotate(18deg)}20%{transform:rotate(-16deg)}30%{transform:rotate(14deg)}40%{transform:rotate(-12deg)}50%{transform:rotate(9deg)}60%{transform:rotate(-7deg)}70%{transform:rotate(4deg)}80%{transform:rotate(-2deg)}100%{transform:rotate(0)}}
.bell.ring .ncount{animation:npop .4s ease-out}
@keyframes npop{0%{transform:scale(.4)}70%{transform:scale(1.2)}100%{transform:scale(1)}}
.gbar{position:fixed;top:calc(14px + env(safe-area-inset-top,0px));right:max(18px,env(safe-area-inset-right,0px));z-index:40;display:flex;align-items:center;gap:10px;background:var(--card);padding:5px 5px 5px 8px;border-radius:30px;box-shadow:var(--shadow)}
.gbar .avatar{width:38px;height:38px;border-width:2px}
.gbar .ibtn{color:var(--ink)}
.gbar .ibtn:hover{background:var(--soft)}
#v-kraje .kp-head{padding-top:70px}
#v-ai .airail{padding-top:58px}
.o-top,.ustaw>h1{padding-right:120px}

.npanel{position:fixed;z-index:70;top:calc(68px + env(safe-area-inset-top,0px));right:max(16px,env(safe-area-inset-right,0px));width:min(390px,calc(100vw - 32px));max-height:min(620px,calc(100vh - 90px));display:flex;flex-direction:column;background:var(--card);color:var(--ink);border-radius:20px;box-shadow:0 24px 60px rgba(10,30,45,.28);border:1px solid var(--line);overflow:hidden;animation:pplIn .18s ease-out}
.np-h{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 18px 12px}
.np-h h3{margin:0;font-size:17px;white-space:nowrap}
.np-h h3 span{font-size:12px;color:var(--muted);font-weight:500;margin-left:6px}
.np-h button{font-size:11.5px;font-weight:600;color:var(--teal-d);padding:6px 8px;border-radius:8px}
.np-h button:hover{background:var(--teal-xl)}
.np-h button:disabled{color:var(--muted);background:none;cursor:default}
.np-list{flex:1;overflow-y:auto;padding:0 8px 8px;min-height:120px}
.ni{position:relative;display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;padding:12px 30px 12px 10px;border-radius:14px;transition:background .15s}
.ni:hover{background:var(--soft)}
.ni.unread{background:var(--teal-xl)}
.ni.unread:hover{background:var(--teal-l)}
.ni .medal{width:46px;height:46px;flex:none;margin:0}
.ni .medal svg{width:100%;height:100%;overflow:visible}
.ni .t{flex:1;min-width:0}
.ni b{display:block;font-size:13px;line-height:1.35}
.ni p{margin:2px 0 4px;font-size:12px;color:var(--ink2);line-height:1.4}
.ni small{font-size:11px;color:var(--muted);display:flex;gap:8px;align-items:center}
.ni small em{font-style:normal;font-weight:700;color:var(--c2,var(--teal-d))}
.ni .dot{position:absolute;top:18px;right:12px;width:9px;height:9px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 3px var(--teal-l)}
.np-day{font-size:10.5px;font-weight:700;letter-spacing:.9px;text-transform:uppercase;color:var(--muted);padding:12px 10px 4px}
.np-empty{text-align:center;padding:36px 20px;color:var(--muted);font-size:12.5px;line-height:1.55}
.np-empty svg{width:40px;height:40px;color:var(--teal-bd);display:block;margin:0 auto 8px}
.np-tabs{flex:none;display:grid;grid-template-columns:repeat(3,1fr);gap:4px;padding:8px;margin:0 12px 12px;background:var(--soft);border-radius:14px}
.np-tabs button{font-size:12.5px;font-weight:600;color:var(--ink2);padding:9px 6px;border-radius:10px;display:flex;justify-content:center;gap:6px;align-items:center}
.np-tabs button.on{background:var(--card);color:var(--teal-d);box-shadow:0 1px 4px rgba(16,40,58,.12)}
.np-tabs em{font-style:normal;font-size:10.5px;min-width:18px;padding:1px 5px;border-radius:9px;background:var(--soft2);color:var(--ink2);font-variant-numeric:tabular-nums}
.np-tabs button.on em{background:var(--teal-l);color:var(--teal-d)}
@media (max-width:720px){
  .gbar{display:none!important}
  #v-kraje .kp-head{padding-top:12px}
  #v-ai .airail{padding-top:0}
  .o-top,.ustaw>h1{padding-right:0}
  .npanel{top:calc(66px + env(safe-area-inset-top,0px));left:max(8px,env(safe-area-inset-left,0px));right:max(8px,env(safe-area-inset-right,0px));width:auto;max-height:calc(100vh - 150px - env(safe-area-inset-bottom,0px))}
  .mhead .ncount{top:0;right:0}
}
@media (prefers-reduced-motion:reduce){.bell.ring svg,.bell.ring .ncount,.npanel{animation:none}}

.nrem{width:46px;height:46px;flex:none;border-radius:50%;display:grid;place-items:center;background:#e6f6f5;color:#0e8a86}
.nrem.pack{background:#fff1e3;color:#e0731a}
.nrem svg{width:24px;height:24px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ni small .nrem-t{font-style:normal;color:var(--ink2);font-weight:600}
