/* [AVISO-VISUAL-V1] aviso do login (Admin › Avisos) com a identidade do banner escuro: degradê navy → índigo + anéis (22/10/2026) */
#aviso-popup { position:fixed; inset:0; z-index:9999; align-items:center; justify-content:center; padding:16px; }
.lx-av-veu { position:absolute; inset:0; background:rgba(15,14,40,.55); -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }
.lx-av-card { position:relative; width:min(640px,100%); min-height:210px; max-height:calc(100vh - 32px); overflow:auto; display:flex; align-items:center;
  border-radius:16px; color:#fff; background:linear-gradient(115deg,#1B1A3F 0%,#2E2B6B 60%,#4F46E5 130%);
  box-shadow:0 24px 60px rgba(15,14,40,.45), 0 0 0 1px rgba(255,255,255,.06) inset; animation:lxAvIn .28s ease; }
.lx-av-card::after { content:''; position:absolute; inset:0; pointer-events:none; background:repeating-radial-gradient(circle at 108% 50%, transparent 0 18px, rgba(255,255,255,.07) 18px 19px); }
.lx-av-tx { position:relative; z-index:1; padding:38px 44px 32px; min-width:0; }
.lx-av-k { font-size:11px; letter-spacing:2px; text-transform:uppercase; opacity:.8; margin-bottom:8px; }
.lx-av-t { font-size:26px; font-weight:700; line-height:1.2; margin-bottom:8px; letter-spacing:-.3px; overflow-wrap:anywhere; }
.lx-av-s { font-size:14px; line-height:1.55; opacity:.92; white-space:pre-wrap; overflow-wrap:anywhere; }
.lx-av-s:empty { display:none; }
.lx-av-ok { margin-top:22px; background:#fff; color:#1B1A3F; border:0; border-radius:9px; padding:9px 18px; font-size:13px; font-weight:600; cursor:pointer; font-family:inherit; }
.lx-av-ok:hover { background:#EEF2FF; }
.lx-av-x { position:absolute; top:12px; right:12px; z-index:2; width:32px; height:32px; display:inline-flex; align-items:center; justify-content:center;
  background:rgba(0,0,0,.28); color:#fff; border:1px solid rgba(255,255,255,.3); border-radius:8px; font-size:20px; line-height:1; cursor:pointer; font-family:inherit; }
.lx-av-x:hover { background:rgba(0,0,0,.45); }
@keyframes lxAvIn { from { opacity:0; transform:translateY(8px) scale(.98); } to { opacity:1; transform:none; } }
@media (max-width: 520px) { .lx-av-tx { padding:30px 22px 24px; } .lx-av-t { font-size:21px; } }
@media (prefers-reduced-motion: reduce) { .lx-av-card { animation:none; } }
