/* Arya - menu de usuario de la barra superior + modales que abre (2026-10-08) */
.navbar-custom-menu .dropdown-menu.av-um {
  --um-blue: #0EA5A4; --um-ink: #0F172A; --um-mut: #64748B; --um-line: #E6ECF5;
  width: 304px; padding: 8px !important; margin-top: 8px !important; border-radius: 14px !important; border: 1px solid var(--um-line) !important;
  background: #fff !important; box-shadow: 0 22px 48px rgba(15,23,42,.16), 0 2px 6px rgba(15,23,42,.06) !important; overflow: visible;
  right: 0; left: auto; transform-origin: top right;
}
.navbar-custom-menu .open > .dropdown-menu.av-um { animation: avUmIn .22s cubic-bezier(.2,.9,.3,1.2) both; }
@keyframes avUmIn { from { opacity: 0; transform: translateY(-6px) scale(.95); } to { opacity: 1; transform: none; } }
.av-um > li { list-style: none; }
.av-um > li.av-um-head { display: flex; align-items: center; gap: 12px; padding: 12px 12px 14px; margin: 0 0 6px; border-radius: 11px;
  background: linear-gradient(135deg, #F3F7FF 0%, #FFFFFF 60%, #FFFBF0 100%); border: 1px solid #EAF0FB; position: relative; overflow: hidden; }
.av-um-logo { position: relative; flex: 0 0 44px; width: 44px; height: 44px; border-radius: 13px; display: grid; place-items: center; background: #fff;
  box-shadow: 0 0 0 1px #E3EAF7, 0 6px 16px rgba(14,165,164,.14); }
.av-um-logo::before { content: ""; position: absolute; inset: -6px; border-radius: 18px; background: radial-gradient(closest-side, rgba(14,165,164,.20), rgba(14,165,164,0)); z-index: -1; animation: avUmGlow 3.6s ease-in-out infinite; }
.av-um-logo img { width: 32px; height: 32px; object-fit: contain; }
@keyframes avUmGlow { 0%,100% { opacity: .55; transform: scale(.94); } 50% { opacity: 1; transform: scale(1.05); } }
.av-um--sup .av-um-logo { box-shadow: 0 0 0 1px #F3E2B3, 0 6px 16px rgba(202,138,4,.16); }
.av-um--sup .av-um-logo::before { background: radial-gradient(closest-side, rgba(234,179,8,.22), rgba(234,179,8,0)); }
.av-um-who { display: flex; flex-direction: column; gap: 4px; min-width: 0; flex: 1 1 auto; }
.av-um-name { font-size: 14.5px; font-weight: 800; color: var(--um-ink); line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.av-um-line { display: flex; align-items: center; gap: 6px; min-width: 0; font-size: 12px; color: var(--um-mut); }
.av-um-role { flex: 0 0 auto; padding: 2px 8px; border-radius: 999px; font-size: 11px; font-weight: 800; letter-spacing: .02em; background: #ECFDF5; color: #0F766E; border: 1px solid #DBE6FE; }
.av-um--sup .av-um-role { background: #FEF7E6; color: #A16207; border-color: #F5DFA0; }
.av-um-camp { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; font-weight: 600; }
.av-um-pres { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; padding: 3px 9px 3px 7px; border-radius: 999px; font-size: 11.5px; font-weight: 700;
  background: #F1F5F9; color: #475569; border: 1px solid #E2E8F0; max-width: 100%; }
.av-um-pres-txt { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.av-um-dot { width: 7px; height: 7px; border-radius: 50%; background: #94A3B8; flex: 0 0 7px; position: relative; }
.av-um[data-pres="on"] .av-um-pres { background: #ECFDF3; color: #15803D; border-color: #BBF7D0; }
.av-um[data-pres="on"] .av-um-dot { background: #22C55E; }
.av-um[data-pres="on"] .av-um-dot::after { content: ""; position: absolute; inset: -3px; border-radius: 50%; border: 2px solid rgba(34,197,94,.45); animation: avUmPulse 1.8s ease-out infinite; }
.av-um[data-pres="aux"] .av-um-pres { background: #FFF7ED; color: #C2410C; border-color: #FED7AA; }
.av-um[data-pres="aux"] .av-um-dot { background: #F97316; }
@keyframes avUmPulse { from { transform: scale(.6); opacity: 1; } to { transform: scale(1.8); opacity: 0; } }

.navbar-custom-menu .av-um > li > a.av-um-item { display: flex !important; align-items: center; gap: 12px; height: 44px; padding: 0 10px !important; margin: 2px 0; border-radius: 10px;
  color: #1E293B !important; font-size: 13.5px !important; font-weight: 600 !important; cursor: pointer; background: transparent !important; line-height: 1 !important;
  transition: background-color .18s, color .18s, transform .18s; text-decoration: none !important; }
.navbar-custom-menu .av-um > li > a.av-um-item:hover, .navbar-custom-menu .av-um > li > a.av-um-item:focus { background: #F4F7FD !important; color: var(--um-ink) !important; transform: translateX(3px); }
.av-um-ico { flex: 0 0 32px; width: 32px; height: 32px; border-radius: 10px; display: grid; place-items: center; transition: transform .2s; }
.av-um-ico svg { width: 17px; height: 17px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.av-um-item:hover .av-um-ico { transform: scale(1.06); }
.av-um-ico--ext { background: #ECFDF5; color: #0EA5A4; }
.av-um-ico--camp { background: #F1EEFF; color: #6D28D9; }
.av-um-ico--aux { background: #FFF6E5; color: #B45309; }
.av-um-ico--out { background: #FEF2F2; color: #DC2626; }
.navbar-custom-menu .av-um > li.av-um-div { height: 1px; margin: 6px 4px !important; background: var(--um-line) !important; }
.navbar-custom-menu .av-um > li > a.av-um-out { color: #B91C1C !important; }
.navbar-custom-menu .av-um > li > a.av-um-out:hover, .navbar-custom-menu .av-um > li > a.av-um-out:focus { background: #FEF2F2 !important; color: #991B1B !important; }
.av-user-toggle .av-user-toggle-caret { transition: transform .2s; }
.open > .av-user-toggle .av-user-toggle-caret { transform: rotate(180deg); }
@media (max-width: 767px) {
  .navbar-custom-menu .dropdown-menu.av-um { position: absolute !important; right: 4px !important; left: auto !important; width: min(304px, calc(100vw - 16px)); background: #fff !important; }
}

/* ---------- Modales del menu: Evento auxiliar + Seleccion de campana (mismo lenguaje que Gestion) ---------- */
#enviarEventoAuxiliar .modal-content, .av-camp-dialog .modal-content { border-radius: 18px !important; border: 1px solid #E6ECF5 !important; overflow: hidden; box-shadow: 0 30px 70px rgba(15,23,42,.22) !important; }
#enviarEventoAuxiliar .modal-header, .av-camp-dialog .modal-header { display: flex; align-items: center; gap: 12px; padding: 16px 18px !important; border-bottom: 1px solid #EDF1F7 !important;
  background: linear-gradient(180deg, #F7FAFF 0%, #FFFFFF 100%) !important; position: relative; }
#enviarEventoAuxiliar .modal-header::before, #enviarEventoAuxiliar .modal-header::after, .av-camp-dialog .modal-header::before, .av-camp-dialog .modal-header::after { display: block !important; }
#enviarEventoAuxiliar .modal-header::before, .av-camp-dialog .modal-header::before { content: ""; order: 0; flex: 0 0 38px; width: 38px; height: 38px; border-radius: 12px; background-repeat: no-repeat; background-position: center; background-size: 19px; }
#enviarEventoAuxiliar .modal-header::before { background-color: #FFF6E5; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23B45309' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M17 8h1a4 4 0 0 1 0 8h-1'/%3E%3Cpath d='M3 8h14v9a4 4 0 0 1-4 4H7a4 4 0 0 1-4-4z'/%3E%3Cpath d='M6 2v2M10 2v2M14 2v2'/%3E%3C/svg%3E"); }
.av-camp-dialog .modal-header::before { background-color: #F1EEFF; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%236D28D9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3 11v2a1 1 0 0 0 1 1h2l5 4V6L6 10H4a1 1 0 0 0-1 1z'/%3E%3Cpath d='M15.5 8.5a5 5 0 0 1 0 7M18.5 5.5a9 9 0 0 1 0 13'/%3E%3C/svg%3E"); }
#enviarEventoAuxiliar .modal-header::after, .av-camp-dialog .modal-header::after { content: ""; order: 3; width: 30px; height: 30px; margin-left: auto; opacity: .9; background: url("../../images/arya_logo_wolf.png?v=20261008b") center / contain no-repeat; filter: drop-shadow(0 2px 6px rgba(14,165,164,.25)); }
#enviarEventoAuxiliar .modal-title, .av-camp-dialog .modal-title { order: 1; margin: 0; font-size: 16px !important; font-weight: 800 !important; color: #0F172A !important; letter-spacing: 0 !important; text-transform: none !important; }
#enviarEventoAuxiliar .modal-header .close { order: 4; float: none; margin: 0 0 0 4px !important; width: 32px; height: 32px; border-radius: 10px; opacity: .55; font-size: 22px; line-height: 1; text-shadow: none; color: #334155; }
#enviarEventoAuxiliar .modal-header .close:hover { background: #F1F5F9; opacity: 1; }
#enviarEventoAuxiliar .modal-body, .av-camp-dialog .modal-body { padding: 18px 20px !important; background: #fff; }
#enviarEventoAuxiliar .form-group, .av-camp-dialog .form-group { margin: 0 0 12px !important; }
#enviarEventoAuxiliar .form-group > [class*="col-"], .av-camp-dialog .form-group > [class*="col-"] { float: none !important; width: 100% !important; padding: 0 !important; margin: 0 !important; text-align: left !important; }
#enviarEventoAuxiliar label.control-label, .av-camp-dialog label.control-label { display: block !important; text-align: left !important; padding: 0 0 6px !important; margin: 0 !important; font-size: 13px !important; font-weight: 700 !important; color: #334155 !important; text-transform: none !important; }
#enviarEventoAuxiliar select.form-control, .av-camp-dialog select.form-control { height: 44px !important; border-radius: 12px !important; border: 1px solid #DCE3EE !important; box-shadow: none !important; font-size: 14px !important; color: #0F172A !important;
  padding: 0 12px !important; width: 100% !important; margin: 0 !important; text-align: left !important; text-align-last: left !important; background-color: #fff !important; transition: border-color .2s, box-shadow .2s; }
#enviarEventoAuxiliar select.form-control:focus, .av-camp-dialog select.form-control:focus { border-color: #0EA5A4 !important; box-shadow: 0 0 0 4px rgba(14,165,164,.14) !important; outline: 0; }
#enviarEventoAuxiliar .ln_solid, .av-camp-dialog .ln_solid { border-top: 1px solid #EDF1F7 !important; margin: 8px 0 14px !important; }
#enviarEventoAuxiliar .modal-body .btn, .av-camp-dialog .modal-body .btn { width: 100%; height: 44px; border-radius: 12px !important; border: 0 !important; background: #0EA5A4 !important; color: #fff !important; font-size: 14px !important; font-weight: 700 !important;
  text-transform: none !important; letter-spacing: 0 !important; box-shadow: 0 8px 18px rgba(14,165,164,.26) !important; background-image: none !important; float: none !important; transition: background-color .2s, transform .15s; }
#enviarEventoAuxiliar .modal-body .btn:hover, .av-camp-dialog .modal-body .btn:hover { background: #0F766E !important; }
#enviarEventoAuxiliar .modal-body .btn:active, .av-camp-dialog .modal-body .btn:active { transform: translateY(1px); }
#enviarEventoAuxiliar .modal-footer { padding: 12px 20px !important; border-top: 1px solid #EDF1F7 !important; background: #FAFBFD !important; }
#enviarEventoAuxiliar .modal-footer .btn { height: 40px; padding: 0 18px; border-radius: 12px !important; background: #fff !important; border: 1px solid #DCE3EE !important; color: #334155 !important; font-weight: 700 !important; box-shadow: none !important; text-transform: none !important; }
#enviarEventoAuxiliar .modal-footer .btn:hover { background: #F8FAFC !important; border-color: #C7D2E3 !important; }
#enviarEventoAuxiliar.fade .modal-dialog { transform: translateY(14px) scale(.97); opacity: 0; transition: transform .28s cubic-bezier(.2,.9,.3,1.1), opacity .22s; }
#enviarEventoAuxiliar.fade.in .modal-dialog { transform: none; opacity: 1; }
.av-camp-dialog .modal-content { animation: avUmModal .35s cubic-bezier(.2,.9,.3,1.1) both; }
@keyframes avUmModal { from { opacity: 0; transform: translateY(14px) scale(.97); } to { opacity: 1; transform: none; } }

/* ---------- Configuracion de extension (vista en #cuerpo) ---------- */
.av-cfgext-wrap { max-width: 560px; margin: 18px auto; padding: 0 12px; width: auto !important; }
.av-cfgext { background: #fff; border: 1px solid #E6ECF5; border-radius: 18px; box-shadow: 0 16px 40px rgba(15,23,42,.08); overflow: hidden; animation: avUmModal .35s cubic-bezier(.2,.9,.3,1.1) both; }
.av-mh { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border-bottom: 1px solid #EDF1F7; background: linear-gradient(180deg, #F7FAFF 0%, #FFFFFF 100%); }
.av-mh-ico { flex: 0 0 38px; width: 38px; height: 38px; border-radius: 12px; display: grid; place-items: center; background: #ECFDF5; color: #0EA5A4; }
.av-mh-ico svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linecap: round; stroke-linejoin: round; }
.av-mh-t h4 { margin: 0; font-size: 16px; font-weight: 800; color: #0F172A; }
.av-mh-t small { display: block; margin-top: 2px; color: #64748B; font-size: 12.5px; }
.av-mh-wolf { width: 30px; height: 30px; object-fit: contain; margin-left: auto; filter: drop-shadow(0 2px 6px rgba(14,165,164,.25)); }
.av-cfgext-form { padding: 18px 20px 20px; margin: 0; }
.av-cfgext-form .form-group { margin: 0 0 14px; }
.av-cfgext-form label { display: block; margin: 0 0 6px; font-size: 13px; font-weight: 700; color: #334155; }
.av-cfgext-form .form-control { height: 44px; border-radius: 12px !important; border: 1px solid #DCE3EE !important; box-shadow: none !important; font-size: 14px; color: #0F172A; padding: 0 12px; text-align: left !important; transition: border-color .2s, box-shadow .2s; }
.av-cfgext-form .form-control:focus { border-color: #0EA5A4 !important; box-shadow: 0 0 0 4px rgba(14,165,164,.14) !important; outline: 0; }
.av-cfgext-actions { display: flex; justify-content: flex-end; gap: 10px; padding-top: 14px; margin-top: 4px; border-top: 1px solid #EDF1F7; }
.av-cfgext-actions .btn { height: 42px; padding: 0 18px; border-radius: 12px !important; font-weight: 700 !important; font-size: 14px !important; text-transform: none !important; box-shadow: none !important; background-image: none !important; }
.av-cfgext-actions .btn-primary { background: #0EA5A4 !important; border: 0 !important; color: #fff !important; box-shadow: 0 8px 18px rgba(14,165,164,.26) !important; }
.av-cfgext-actions .btn-primary:hover { background: #0F766E !important; }
.av-cfgext-actions .btn-secondary { background: #fff !important; border: 1px solid #DCE3EE !important; color: #334155 !important; }
.av-cfgext-actions .btn-secondary:hover { background: #F8FAFC !important; border-color: #C7D2E3 !important; }

@media (prefers-reduced-motion: reduce) {
  .navbar-custom-menu .open > .dropdown-menu.av-um, .av-camp-dialog .modal-content, .av-cfgext { animation: none !important; }
  .av-um-logo::before, .av-um[data-pres="on"] .av-um-dot::after { animation: none !important; }
  .navbar-custom-menu .av-um > li > a.av-um-item, .av-um-ico, #enviarEventoAuxiliar.fade .modal-dialog { transition: none !important; }
  .navbar-custom-menu .av-um > li > a.av-um-item:hover { transform: none; }
}

/* v2: titulo a la izquierda y cabecera de campana con el mismo lenguaje claro */
#enviarEventoAuxiliar .modal-title, .av-camp-dialog .modal-title { flex: 1 1 auto; text-align: left !important; }
body .av-camp-dialog .modal-content .modal-header, body .av-box-camp .av-camp-dialog .modal-content .modal-header { background: linear-gradient(180deg, #F7FAFF 0%, #FFFFFF 100%) !important; background-color: #fff !important; color: #0F172A !important; border-bottom: 1px solid #EDF1F7 !important; }
body .av-camp-dialog .modal-content .modal-header .modal-title, body .av-box-camp .av-camp-dialog .modal-content .modal-header .modal-title { color: #0F172A !important; text-shadow: none !important; }
body .av-camp-dialog .modal-content .modal-header::before { background-color: #F1EEFF !important; }

/* Configuración Ext: contraseña SIP oculta con botón mostrar/ocultar (2026-10-08) */
.av-cfgext-form .av-pwd { position: relative; }
.av-cfgext-form .av-pwd .form-control { padding-right: 48px !important; }
.av-cfgext-form .av-pwd-eye { position: absolute; right: 6px; top: 50%; margin-top: -17px; width: 34px; height: 34px; border: 0; border-radius: 9px; background: transparent; color: #64748B; cursor: pointer; display: inline-flex; align-items: center; justify-content: center; font-size: 15px; transform: none !important; }
.av-cfgext-form .av-pwd-eye:hover { background: #ECFDF5; color: #0EA5A4; }
.av-cfgext-form .av-pwd-eye:focus-visible { outline: 2px solid rgba(14,165,164,.45); outline-offset: 1px; }
.av-cfgext-form .av-pwd-eye[aria-pressed="true"] { color: #0EA5A4; }
