/* Campanita de notificaciones del ERP (barra superior). */
.bell-wrap{position:relative}
.bell-btn{position:relative;width:40px;height:40px;border-radius:50%;border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.bell-btn:hover{background:var(--panel-2)}
.bell-btn svg{width:18px;height:18px}
.bell-badge{position:absolute;top:-5px;right:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;background:var(--danger);color:#fff;font-size:11px;font-weight:700;line-height:19px;text-align:center;box-shadow:0 0 0 2px var(--panel);font-variant-numeric:tabular-nums}
.bell-badge.bell-leido{background:var(--faint)}
.bell-suena svg{animation:bell-ring .9s ease both;transform-origin:50% 8%}
@keyframes bell-ring{0%{transform:rotate(0)}12%{transform:rotate(16deg)}28%{transform:rotate(-14deg)}44%{transform:rotate(10deg)}60%{transform:rotate(-7deg)}76%{transform:rotate(3deg)}100%{transform:rotate(0)}}
.bell-panel{position:absolute;top:calc(100% + 10px);right:0;width:min(390px,calc(100vw - 24px));max-height:min(76vh,560px);display:flex;flex-direction:column;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 24px 60px -18px rgba(0,0,0,.4);z-index:130;overflow:hidden}
.bell-panel[hidden]{display:none}
.nt-cab{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid var(--line)}
.nt-cab b{display:block;font-size:14px}
.nt-cab small{color:var(--muted);font-size:12px}
.nt-son{width:34px;height:34px;border-radius:8px;border:1px solid var(--line-strong);background:var(--panel);color:var(--ink);display:inline-flex;align-items:center;justify-content:center;cursor:pointer}
.nt-son[aria-pressed="false"]{color:var(--faint)}
.nt-son svg{width:16px;height:16px}
.nt-lista{overflow:auto;flex:1}
.nt-item{display:flex;gap:12px;align-items:flex-start;width:100%;text-align:left;padding:12px 16px;border:0;border-bottom:1px solid var(--line);background:transparent;color:inherit;font:inherit;cursor:pointer}
.nt-item:hover{background:var(--panel-2)}
.nt-item.nt-nueva{background:color-mix(in srgb,var(--accent) 7%,var(--panel))}
.nt-punto{flex:none;width:9px;height:9px;margin-top:5px;border-radius:50%;background:transparent}
.nt-nueva .nt-punto{background:var(--accent)}
.nt-txt{display:grid;gap:2px;min-width:0}
.nt-txt b{font-size:13px}
.nt-asunto{font-size:13px;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nt-txt small{font-size:11.5px;color:var(--faint)}
.nt-vacio{padding:34px 20px;text-align:center;color:var(--faint);font-size:13px}
.nt-pie{padding:8px 12px;border-top:1px solid var(--line);text-align:right}
.nt-todas{border:0;background:transparent;color:var(--detail);font-weight:600;font-size:12.5px;cursor:pointer;padding:6px 8px;border-radius:6px}
.nt-todas:hover{background:var(--accent-soft)}
@media (prefers-reduced-motion:reduce){.bell-suena svg{animation:none}}
