/* 📧 Correo (RMP-091 Fase 1) — 3 columnas (cuentas | lista | lector). Usa los tokens del panel y se apoya en
   .card/.btn/dialog, así que el aspecto Glass (admin-glass.css) le llega solo. */
#sec-correo { padding: 0; }
.mail-app { display: flex; flex-direction: column; height: calc(100vh - 82px); min-height: 460px; gap: 10px; }
.mail-top { align-items: center; }
.mail-top h2.page-title { margin: 0; flex: 0 0 auto; }
.mail-top { display: grid; grid-template-columns: 230px minmax(280px, 380px) minmax(0, 1fr); column-gap: 12px; } /* mismas columnas que .mail-cols */
.mail-top-izq { grid-column: 1 / 3; display: flex; align-items: center; gap: 14px; min-width: 0; } /* título + búsqueda llegan hasta el borde de la lista: el hueco con el botón = el de los bloques de abajo */
.mail-top-izq input[type=search] { max-width: none; flex: 1; min-width: 0; }
.mail-top .btn { margin-left: auto; }
.mail-top-acc { grid-column: 3; grid-row: 1; justify-self: start; display: flex; align-items: center; gap: 8px; }
.mail-top-acc .btn { margin-left: 0; }
.mail-top #mail-sync-todo.cargando { opacity: .7; cursor: progress; }
.mail-top #mail-nuevo { margin-left: 0; } /* «Nuevo email» alineado con el lector; «Bloquear» queda a la derecha */
.mail-top #mail-bloquear { grid-column: 3; grid-row: 1; justify-self: end; }
.mail-cols { display: grid; grid-template-columns: 230px minmax(280px, 380px) minmax(0, 1fr); gap: 12px; flex: 1; min-height: 0; }
.mail-col { padding: 0; overflow: hidden; display: flex; flex-direction: column; min-height: 0; }
.mail-cuentas { overflow-y: auto; padding: 10px; gap: 2px; }
.mail-item { display: flex; align-items: center; gap: 9px; width: 100%; text-align: left; background: none; border: 1px solid transparent; color: var(--muted); padding: 8px 10px; border-radius: var(--radius-sm); cursor: pointer; font: inherit; font-size: 13.5px; }
.mail-item:hover { background: rgba(255,255,255,.06); color: var(--text); }
.mail-item.activo { background: var(--accent-soft); color: var(--accent-text); font-weight: 600; }
.mail-item-nombre { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mail-punto { width: 9px; height: 9px; border-radius: 50%; flex: 0 0 auto; background: var(--accent); }
.mail-punto-todas { background: linear-gradient(135deg, var(--accent), var(--violet)); }
.mail-contador { background: var(--accent); color: #0a0e18; border-radius: 999px; font-size: 11px; font-weight: 700; padding: 1px 7px; }
.mail-cab { display: flex; align-items: center; justify-content: space-between; margin: 14px 4px 4px 10px; color: var(--faint); font-size: 11px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; }
.mail-mas { width: 24px; height: 24px; border-radius: 8px; border: 1px solid var(--border-strong); background: var(--card-2); color: var(--text); cursor: pointer; font-size: 16px; line-height: 1; }
.mail-mas:hover { border-color: var(--accent); color: var(--accent-text); }
.mail-cuenta-bloque { margin-bottom: 4px; }
.mail-cta-estado { font-size: 11.5px; color: var(--cyan); padding: 0 10px 0 28px; overflow-wrap: anywhere; line-height: 1.35; }
.mail-cta-estado.error { color: var(--red); }
.mail-cta-estado.ok { color: var(--green); }
.mail-cta-estado.aviso { color: var(--yellow); }
.mail-cta-permisos { font-size: 11.5px; line-height: 1.35; color: var(--muted); padding: 0 10px 4px; overflow-wrap: anywhere; }
.mail-cta-permisos.falta { color: var(--yellow); font-weight: 600; }
.mail-cta-acciones .mail-enlace[disabled] { opacity: .75; cursor: default; }
.mail-cta-acciones .mail-enlace[disabled]:hover { background: none; color: var(--muted); }
.mail-cuenta-fila { display: flex; align-items: center; gap: 2px; }
.mail-cuenta-fila .mail-item { flex: 1; min-width: 0; }
.mail-lapiz { flex: 0 0 auto; width: 24px; height: 28px; display: inline-flex; align-items: center; justify-content: center; background: none; border: 1px solid transparent; border-radius: var(--radius-sm); color: var(--faint); cursor: pointer; font-size: 13px; padding: 0; }
.mail-lapiz:hover, .mail-lapiz[aria-expanded="true"] { color: var(--accent-text); background: var(--accent-soft); }
.mail-cta-acciones { display: flex; flex-direction: column; align-items: stretch; gap: 1px; padding: 2px 6px 4px 30px; }
.mail-cta-acciones[hidden] { display: none; }
.mail-cta-acciones .mail-enlace { text-align: left; text-decoration: none; padding: 5px 10px; border-radius: var(--radius-sm); font-size: 12.5px; color: var(--muted); }
.mail-cta-acciones .mail-enlace:hover { background: rgba(255,255,255,.06); color: var(--accent-text); }
.mail-cta-acciones .mail-enlace.peligro:hover { color: var(--red); }
.mail-enlace { background: none; border: 0; padding: 0; color: var(--faint); font: inherit; font-size: 11.5px; cursor: pointer; text-decoration: underline; text-underline-offset: 2px; }
.mail-enlace:hover { color: var(--accent-text); }
.mail-enlace.peligro:hover { color: var(--red); }
.mail-sin-cuentas, .mail-futuro { font-size: 12.5px; padding: 6px 10px; }
.mail-cab-futura { opacity: .6; }
.mail-futuro { opacity: .6; }
.mail-filtros { display: flex; gap: 6px; padding: 10px 12px 6px; border-bottom: 1px solid var(--border); }
.mail-chip { background: none; border: 1px solid var(--border-strong); color: var(--muted); border-radius: 999px; font: inherit; font-size: 12px; padding: 3px 11px; cursor: pointer; }
.mail-chip.activo { background: var(--accent-soft); border-color: var(--accent-line); color: var(--accent-text); }
.mail-filas { overflow-y: auto; flex: 1; }
.mail-fila { display: flex; flex-direction: column; gap: 2px; width: 100%; text-align: left; background: none; border: 0; border-bottom: 1px solid var(--border); color: var(--muted); padding: 10px 14px; cursor: pointer; font: inherit; font-size: 13px; }
.mail-fila:hover { background: rgba(255,255,255,.05); }
.mail-fila.activo { background: var(--accent-soft); }
.mail-fila-cab { display: flex; align-items: center; gap: 7px; }
.mail-remitente { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mail-fila.no-leido .mail-remitente, .mail-fila.no-leido .mail-asunto { color: var(--text); font-weight: 700; }
.mail-estrella { color: var(--yellow); font-size: 12px; }
.mail-clip { font-size: 11px; }
.mail-fecha { font-size: 11.5px; color: var(--faint); white-space: nowrap; }
.mail-asunto { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: var(--text); }
.mail-extracto { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; color: var(--faint); }
.mail-vacio { padding: 28px 16px; text-align: center; }
.mail-mas-msgs { margin: 12px auto; display: flex; }
.mail-lector { overflow: hidden; }
.mail-lector-cab { padding: 14px 18px 10px; border-bottom: 1px solid var(--border); display: flex; flex-direction: column; gap: 6px; }
.mail-acciones { display: flex; gap: 6px; flex-wrap: wrap; margin-bottom: 4px; }
.mail-acciones .btn[disabled] { opacity: .45; cursor: not-allowed; }
.mail-lector-asunto { font-size: 18px; margin: 0; }
.mail-lector-de { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; font-size: 13.5px; }
.mail-lector-meta { font-size: 12px; overflow-wrap: anywhere; }
.mail-pildora { border: 1px solid var(--c, var(--accent)); color: var(--c, var(--accent)); border-radius: 999px; font-size: 11px; padding: 1px 9px; }
.mail-aviso { background: rgba(245,185,66,.1); border: 1px solid rgba(245,185,66,.3); border-radius: var(--radius-sm); font-size: 12.5px; padding: 6px 10px; }
.mail-cuerpo { flex: 1; min-height: 0; background: #fff; }
.mail-cuerpo iframe { width: 100%; height: 100%; border: 0; display: block; background: #fff; }
.mail-adjuntos { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 10px 18px; border-top: 1px solid var(--border); }
.mail-adjunto { background: var(--card-2); border: 1px solid var(--border-strong); border-radius: 999px; font-size: 12.5px; padding: 3px 12px; }
/* RMP-091 Fase 4: chips de adjuntos descargables con estado de archivado (rojo SOLO para el error; verde solo para «archivado») */
.mail-adjunto { display: inline-flex; align-items: center; gap: 6px; color: var(--text); font: inherit; font-size: 12.5px; cursor: pointer; }
.mail-adjunto:hover { border-color: var(--accent); }
.mail-adjunto:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.mail-adjunto[aria-busy="true"] { opacity: .6; cursor: progress; }
.mail-adj-nombre { max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.mail-adj-estado { font-size: 11px; border-radius: 999px; padding: 0 7px; border: 1px solid var(--border-strong); color: var(--faint); }
.mail-adj-estado.e-ok { color: var(--green); border-color: color-mix(in srgb, var(--green) 45%, transparent); }
.mail-adj-estado.e-error { color: var(--red); border-color: color-mix(in srgb, var(--red) 55%, transparent); }
.mail-adj-error { color: var(--red); font-size: 12px; }
.mail-pie-aviso { color: var(--yellow); }
.mail-pie { font-size: 12px; text-align: center; }
/* PIN animado (RMP-091): panel de cristal, 4 casillas con trazo rojo, fusión en una casilla, carga verde y ✓ */
/* Colores del panel: azul de acento mientras se escribe y se verifica; rojo SOLO si el PIN es erróneo; verde SOLO si es correcto.
   El fondo y el borde los pone .card (cristal en modo Glass), igual que el resto de tarjetas del Superadmin. */
.mail-pin-card { --pin-acento: var(--accent); --pin-rojo: var(--red); --pin-verde: var(--green); position: relative; width: min(380px, 92vw); margin: 10vh auto 0; padding: 26px 24px 22px; text-align: center;
  display: flex; flex-direction: column; align-items: center; gap: 8px; overflow: hidden; transition: border-color .7s ease; }
.mail-pin-card::before { content: ''; position: absolute; inset: 0; background: radial-gradient(120% 90% at 50% 0%, color-mix(in srgb, var(--pin-verde) 30%, transparent), color-mix(in srgb, var(--pin-verde) 4%, transparent) 70%); opacity: 0; transition: opacity .7s ease; pointer-events: none; }
.mail-pin-card[data-fase="ok"]::before { opacity: 1; }
.mail-pin-card[data-fase="ok"] { border-color: color-mix(in srgb, var(--pin-verde) 45%, transparent); }
.mail-pin-asa { width: 30px; height: 3px; border-radius: 3px; background: var(--border-strong); margin-bottom: 8px; }
.mail-pin-titulo { margin: 4px 0 0; font-size: 19px; font-weight: 600; transition: opacity .16s ease, transform .16s ease; }
.mail-pin-sub { margin: 0 0 6px; font-size: 12.5px; color: var(--muted); max-width: 290px; line-height: 1.45; transition: opacity .16s ease; }
.mail-pin-titulo.cambia, .mail-pin-sub.cambia { opacity: 0; transform: translateY(4px); }
.mail-pin-casillas { position: relative; display: flex; gap: 14px; justify-content: center; align-items: center; height: 56px; margin: 8px 0 6px; }
.pin-box { position: relative; width: 52px; height: 52px; border-radius: 14px; background: color-mix(in srgb, var(--bg) 55%, transparent); border: 1px solid var(--border-strong); display: flex; align-items: center; justify-content: center;
  font-size: 22px; font-weight: 600; color: var(--text); transition: transform .56s cubic-bezier(.65,0,.35,1), opacity .35s ease .2s, border-color .2s ease, box-shadow .2s ease; }
.pin-trazo { position: absolute; inset: -1px; width: calc(100% + 2px); height: calc(100% + 2px); pointer-events: none; }
.pin-trazo rect { fill: none; stroke: var(--pin-acento); stroke-width: 2; stroke-linecap: round; stroke-dasharray: 100; stroke-dashoffset: 100; transition: stroke-dashoffset .38s ease; }
.pin-box.lleno .pin-trazo rect { stroke-dashoffset: 0; }
.pin-box.activa { border-color: var(--pin-acento); box-shadow: 0 0 0 3px var(--accent-soft); }
.pin-box.activa::after { content: ''; width: 2px; height: 24px; border-radius: 1px; background: var(--text); animation: pin-caret 1s steps(1) infinite; }
.pin-box.lleno::after { display: none; }
@keyframes pin-caret { 50% { opacity: 0; } }
.mail-pin-oculto { -webkit-text-security: disc; /* no es type=password a propósito: Chrome ofrecía «guardar contraseña» con cada PIN */ position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; border: 0; padding: 0; margin: 0; cursor: text; font-size: 16px; /* 16px: iOS no hace zoom */ }
/* Las 4 casillas se funden en una sola */
.mail-pin-card.fundiendo .pin-box { transform: translateX(var(--dx)) rotate(var(--rot)) scale(.92); border-color: var(--pin-acento); }
.mail-pin-card.fundiendo[data-fase="cargando"] .pin-box, .mail-pin-card.fundiendo[data-fase="ok"] .pin-box, .mail-pin-card.fundiendo[data-fase="error"] .pin-box { opacity: 0; transition-delay: 0s; }
.pin-unica { position: absolute; left: 50%; top: 50%; width: 52px; height: 52px; margin: -26px 0 0 -26px; border-radius: 14px; background: color-mix(in srgb, var(--bg) 70%, transparent); border: 2px solid var(--pin-acento);
  display: flex; align-items: center; justify-content: center; opacity: 0; transform: scale(.85); pointer-events: none; transition: opacity .3s ease, transform .35s cubic-bezier(.3,1.4,.5,1), border-color .35s ease, box-shadow .35s ease; }
.mail-pin-card.fundiendo[data-fase="cargando"] .pin-unica, .mail-pin-card[data-fase="ok"] .pin-unica, .mail-pin-card[data-fase="error"] .pin-unica { opacity: 1; transform: scale(1); }
.mail-pin-card[data-fase="cargando"] .pin-unica { border-color: var(--pin-acento); box-shadow: 0 0 16px var(--accent-soft); }
.mail-pin-card[data-fase="ok"] .pin-unica { border-color: var(--pin-verde); box-shadow: 0 0 18px color-mix(in srgb, var(--pin-verde) 55%, transparent); }
.mail-pin-card[data-fase="error"] .pin-unica { border-color: var(--pin-rojo); box-shadow: 0 0 16px color-mix(in srgb, var(--pin-rojo) 45%, transparent); animation: pin-sacude .55s ease; }
.pin-punto { width: 6px; height: 6px; border-radius: 50%; background: var(--accent-strong); animation: pin-pulso .8s ease-in-out infinite; }
.mail-pin-card[data-fase="ok"] .pin-punto, .mail-pin-card[data-fase="error"] .pin-punto { display: none; }
.pin-check { width: 26px; height: 26px; fill: none; stroke: var(--text); stroke-width: 2.6; stroke-linecap: round; stroke-linejoin: round; display: none; }
.pin-check path { stroke-dasharray: 100; stroke-dashoffset: 100; }
.mail-pin-card[data-fase="ok"] .pin-check { display: block; }
.mail-pin-card[data-fase="ok"] .pin-check path { animation: pin-dibuja .45s ease .1s forwards; }
@keyframes pin-pulso { 0%, 100% { transform: scale(.7); opacity: .6; } 50% { transform: scale(1.5); opacity: 1; } }
@keyframes pin-dibuja { to { stroke-dashoffset: 0; } }
@keyframes pin-sacude { 0%, 100% { transform: translateX(0); } 20% { transform: translateX(-9px); } 40% { transform: translateX(8px); } 60% { transform: translateX(-6px); } 80% { transform: translateX(4px); } }
.mail-pin-msg { min-height: 18px; margin: 4px 0 0; font-size: 12.5px; color: var(--muted); }
.mail-pin-msg.mal { color: var(--pin-rojo); }
@media (prefers-reduced-motion: reduce) {
  .mail-pin-card, .mail-pin-card::before, .pin-box, .pin-unica, .pin-trazo rect, .mail-pin-titulo, .mail-pin-sub { transition-duration: .01s !important; transition-delay: 0s !important; }
  .pin-box.activa::after, .pin-punto, .mail-pin-card[data-fase="error"] .pin-unica, .mail-pin-card[data-fase="ok"] .pin-check path { animation-duration: .01s !important; animation-iteration-count: 1 !important; }
  .mail-pin-card.fundiendo .pin-box { transform: none; }
}
/* Asistente */
#mail-wizard-dlg, #mail-edit-dlg { width: min(480px, 92vw); }
.mail-form { display: flex; flex-direction: column; gap: 10px; }
.mail-ayuda { margin: 0; font-size: 12.5px; line-height: 1.45; }
.mail-avanzado { border: 1px solid var(--border-strong); border-radius: var(--radius); padding: 8px 12px; background: var(--card-2); }
.mail-avanzado[open] > label { margin-top: 10px; }
.mail-avanzado summary { cursor: pointer; font-size: 12.5px; color: var(--muted); }
.mail-avanzado summary:focus-visible, .mail-tipo:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.mail-verificar { margin-left: 6px; padding: 1px 7px; border-radius: 999px; font-size: 10.5px; background: var(--accent-soft); color: var(--accent-text); }
.mail-resultado { min-height: 18px; font-size: 13px; }
.mail-wiz { display: flex; flex-direction: column; gap: 12px; }
.mail-pasos { display: flex; gap: 8px; }
.mail-pasos span { width: 24px; height: 24px; border-radius: 50%; display: grid; place-items: center; font-size: 12px; font-weight: 700; background: var(--card-2); color: var(--faint); }
.mail-pasos span.activo { background: var(--accent); color: #0a0e18; }
.mail-pasos span.hecho { background: var(--accent-soft); color: var(--accent-text); }
.mail-tipos { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.mail-tipo { display: flex; flex-direction: column; gap: 4px; align-items: flex-start; background: var(--card-2); border: 1px solid var(--border-strong); border-radius: var(--radius); color: var(--text); padding: 14px; cursor: pointer; font: inherit; text-align: left; }
.mail-tipo:hover:not([disabled]) { border-color: var(--accent); }
.mail-tipo[disabled] { opacity: .5; cursor: not-allowed; }
.mail-barra { height: 8px; background: var(--card-2); border-radius: 999px; overflow: hidden; }
.mail-barra span { display: block; height: 100%; background: linear-gradient(90deg, var(--accent), var(--violet)); transition: width .4s; }
@media (max-width: 1000px) { .mail-cols, .mail-top { grid-template-columns: 190px minmax(240px, 320px) minmax(0, 1fr); } }
@media (max-width: 760px) {
  .mail-app { height: auto; }
  .mail-cols { grid-template-columns: 1fr; }
  .mail-cuentas { max-height: 260px; } .mail-lista { max-height: 50vh; } .mail-lector { min-height: 70vh; }
  .mail-top { display: flex; flex-wrap: wrap; gap: 10px; } .mail-top-izq { flex: 1 1 100%; } .mail-top .btn { margin-left: 0; }
}
/* ===== RMP-091 acciones (inicio): selección múltiple, barra en bloque, vistas, aviso «Deshacer» ===== */
.mail-fila-w { display: flex; align-items: stretch; border-bottom: 1px solid var(--border); }
.mail-fila-w .mail-fila { flex: 1; min-width: 0; width: auto; border-bottom: 0; }
.mail-fila-w.sel { background: var(--accent-soft); }
.mail-casilla { display: flex; align-items: center; justify-content: center; padding: 0 2px 0 12px; cursor: pointer; }
.mail-casilla input { width: 16px; height: 16px; accent-color: var(--accent); cursor: pointer; margin: 0; }
.mail-barra-lista { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 8px; padding: 6px 0; border-bottom: 1px solid var(--border); min-height: 40px; font-size: 12.5px; color: var(--muted); }
.mail-barra-lista .mail-casilla { padding-left: 12px; }
.mail-sel-cont { color: var(--muted); }
.mail-barra-lista:has(.mail-bulk-acc) .mail-sel-cont { color: var(--accent-text); font-weight: 600; }
.mail-bulk-acc { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-left: auto; padding-right: 10px; }
.mail-bulk-acc .btn.small { padding: 4px 9px; font-size: 12px; }
.mail-confirma { flex-basis: 100%; display: flex; flex-wrap: wrap; align-items: center; gap: 8px; padding: 8px 12px; margin-top: 2px; background: color-mix(in srgb, var(--red) 8%, transparent); border-top: 1px solid rgba(251,103,103,.3); color: var(--text); }
.mail-confirma span { flex: 1 1 220px; }
.mail-cont-suave { font-size: 11px; color: var(--faint); padding: 1px 5px; }
.mail-contador[hidden], .mail-cont-suave[hidden] { display: none; }
.mail-acciones .btn.cargando, .mail-bulk-acc .btn.cargando { opacity: .55; cursor: progress; }
.mail-acciones .btn.danger { margin-left: 4px; }
.mail-avisos { position: fixed; left: 50%; bottom: 22px; transform: translateX(-50%); z-index: 80; display: flex; flex-direction: column; align-items: center; gap: 8px; width: min(560px, calc(100vw - 32px)); pointer-events: none; }
.mail-avisos > * { pointer-events: auto; }
.mail-acc-estado, .mail-acc-error { display: none; max-width: 100%; border-radius: var(--radius-sm); padding: 8px 12px; font-size: 13px; }
.mail-acc-estado.visible { display: block; background: var(--card-2); border: 1px solid var(--accent-line); color: var(--accent-text); }
.mail-acc-error.visible { display: flex; align-items: flex-start; gap: 10px; background: color-mix(in srgb, var(--red) 12%, var(--card-2)); border: 1px solid rgba(251,103,103,.45); color: var(--text); }
.mail-acc-error span { flex: 1; overflow-wrap: anywhere; }
#mail-toast-zona { display: flex; justify-content: center; max-width: 100%; }
.mail-toast { display: flex; align-items: center; gap: 12px; padding: 9px 10px 9px 16px; background: var(--card-2); border: 1px solid var(--accent-line); border-radius: var(--radius); box-shadow: var(--shadow-card), 0 10px 30px -12px rgba(0,0,0,.6); font-size: 13.5px; animation: mail-toast-in .18s ease-out; }
.mail-toast .btn { color: var(--accent-text); border-color: var(--accent-line); background: transparent; }
.mail-toast .btn:hover { background: var(--accent-soft); }
.mail-aviso-x { background: none; border: 0; color: var(--muted); font-size: 18px; line-height: 1; padding: 2px 6px; border-radius: 6px; cursor: pointer; }
.mail-aviso-x:hover { color: var(--text); background: rgba(255,255,255,.08); }
html[data-ui="glass"] .mail-toast, html[data-ui="glass"] .mail-acc-estado.visible, html[data-ui="glass"] .mail-acc-error.visible { backdrop-filter: blur(14px) saturate(1.2); background-color: color-mix(in srgb, var(--card-2) 72%, transparent); }
@keyframes mail-toast-in { from { opacity: 0; transform: translateY(8px); } to { opacity: 1; transform: none; } }
@media (prefers-reduced-motion: reduce) { .mail-toast { animation: none; } }
@media (max-width: 760px) { .mail-avisos { bottom: 12px; } .mail-bulk-acc { margin-left: 0; padding: 0 12px 4px; } }
/* ===== RMP-091 acciones (fin) ===== */
/* ===== RMP-091 carpetas (inicio): sección «Carpetas», «Mover a», avisos de carpetas detectadas, diálogos y diagnóstico ===== */
/* Paleta del panel: azul de acento; rojo SOLO para errores y lo destructivo; verde SOLO para éxito. */
.mail-carp-fila { display: flex; align-items: center; gap: 2px; }
.mail-carp-fila .mail-item { flex: 1; min-width: 0; }
.mail-carp-opc { flex: 0 0 auto; width: 26px; height: 26px; border: 1px solid transparent; border-radius: 8px; background: none; color: var(--faint); font-size: 16px; line-height: 1; cursor: pointer; }
.mail-carp-opc:hover { background: rgba(255,255,255,.06); color: var(--text); }
.mail-carp-opc:focus-visible, .mail-mover-item:focus-visible, .mail-carp-dlg input:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.mail-carp-parcial { display: inline-grid; place-items: center; width: 15px; height: 15px; border-radius: 50%; font-size: 10px; font-weight: 800; background: var(--accent-soft); color: var(--accent-text); border: 1px solid var(--accent-line); }
.mail-carp-parcial.error { background: color-mix(in srgb, var(--red) 14%, transparent); color: var(--red); border-color: rgba(251,103,103,.45); }
.mail-carp-aviso { margin: 4px 2px 8px; padding: 8px 10px; border: 1px solid var(--accent-line); border-radius: var(--radius-sm); background: var(--accent-soft); font-size: 12.5px; line-height: 1.4; }
.mail-carp-aviso p { margin: 0 0 6px; overflow-wrap: anywhere; }
.mail-carp-aviso-acc { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; }
.mail-carp-error { margin: 4px 2px 8px; padding: 6px 10px; border: 1px solid rgba(251,103,103,.45); border-radius: var(--radius-sm); background: color-mix(in srgb, var(--red) 10%, transparent); font-size: 12.5px; overflow-wrap: anywhere; }
.mail-carp-dlg { width: min(520px, 94vw); }
.mail-carp-dlg label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; }
.mail-carp-tabla { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.mail-carp-tabla th, .mail-carp-tabla td { text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--border); vertical-align: top; overflow-wrap: anywhere; }
.mail-carp-tabla th { color: var(--faint); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
.mail-carp-tabla .sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mail-carp-est { font-weight: 600; color: var(--muted); }
.mail-carp-est.ok { color: var(--green); }
.mail-carp-est.mal { color: var(--red); }
.mail-carp-motivo { font-size: 11.5px; margin-top: 2px; }
.mail-carp-quitar { border-top: 1px solid var(--border); padding-top: 10px; display: flex; flex-direction: column; gap: 8px; align-items: flex-start; }
.mail-carp-quitar .mail-confirma { align-self: stretch; }
.mail-carp-det { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 12px; }
.mail-carp-det li { display: flex; flex-direction: column; gap: 6px; padding-bottom: 10px; border-bottom: 1px solid var(--border); }
.mail-diag-caps { margin: 6px 0 10px; padding-left: 18px; font-size: 12.5px; line-height: 1.7; }
#mail-carp-diag-dlg { width: min(640px, 94vw); }
#mail-carp-diag-dlg .mail-carp-tabla { margin-top: 6px; }
#mail-carp-diag-dlg code, .mail-carp-dlg code { font-size: 12px; background: var(--card-2); padding: 1px 5px; border-radius: 5px; overflow-wrap: anywhere; }
.mail-mover-menu { position: absolute; z-index: 90; min-width: 200px; max-width: 280px; max-height: 320px; overflow-y: auto; padding: 6px; background: var(--card-2); border: 1px solid var(--border-strong); border-radius: var(--radius); box-shadow: var(--shadow-card), 0 12px 30px -12px rgba(0,0,0,.6); }
html[data-ui="glass"] .mail-mover-menu { backdrop-filter: blur(14px) saturate(1.2); background-color: color-mix(in srgb, var(--card-2) 78%, transparent); }
.mail-mover-menu hr { border: 0; border-top: 1px solid var(--border); margin: 4px 0; }
.mail-mover-item { display: flex; align-items: center; justify-content: space-between; gap: 8px; width: 100%; text-align: left; background: none; border: 0; border-radius: var(--radius-sm); color: var(--text); font: inherit; font-size: 13px; padding: 7px 10px; cursor: pointer; overflow-wrap: anywhere; }
.mail-mover-item:hover, .mail-mover-item:focus { background: var(--accent-soft); color: var(--accent-text); }
.mail-mover-vacio { margin: 4px 8px; font-size: 12.5px; }
.mail-acc-error .btn { flex: 0 0 auto; }
@media (prefers-reduced-motion: reduce) { .mail-carp-opc, .mail-carp-aviso { transition: none; } }
/* con el enlace «Carpetas» las acciones de cada cuenta ya no caben en una línea de la columna estrecha */

/* ===== RMP-091 carpetas (fin) ===== */

/* RMP-091 Fase 4: «Procesar con IA». Tarjeta de cristal como el resto del panel (el aspecto Glass le llega por dialog/.card). */
.mail-ia-dlg { width: min(560px, 94vw); }
.mail-ia-dlg h3 { margin: 0 0 12px; }
.mail-ia-lista { display: flex; flex-direction: column; gap: 8px; }
.mail-ia-opc { display: flex; gap: 12px; align-items: flex-start; text-align: left; width: 100%; background: var(--card-2); border: 1px solid var(--border-strong); border-radius: var(--radius); color: var(--text); padding: 12px 14px; font: inherit; cursor: pointer; transition: border-color .15s ease, background .15s ease; }
.mail-ia-opc:hover:not([disabled]) { border-color: var(--accent); background: var(--accent-soft); }
.mail-ia-opc:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.mail-ia-opc.sugerido { border-color: var(--accent-line); }
.mail-ia-opc[disabled] { opacity: .55; cursor: not-allowed; }
.mail-ia-ico { font-size: 22px; line-height: 1.1; }
.mail-ia-txt { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.mail-ia-nom { font-weight: 600; }
.mail-ia-ag { font-weight: 400; color: var(--muted); }
.mail-ia-sug { background: var(--accent-soft); color: var(--accent-text); border: 1px solid var(--accent-line); border-radius: 999px; font-size: 11px; font-weight: 600; padding: 0 8px; margin-left: 4px; }
.mail-ia-pronto { color: var(--faint); font-size: 11px; font-weight: 600; margin-left: 4px; }
.mail-ia-desc, .mail-ia-motivo, .mail-ia-ya { font-size: 12.5px; color: var(--muted); }
.mail-ia-motivo { color: var(--accent-text); }
.mail-ia-ya { color: var(--faint); }
.mail-ia-nota { font-size: 12px; color: var(--faint); margin: 12px 2px 0; }
.mail-ia-aviso { background: rgba(245,185,66,.1); border: 1px solid rgba(245,185,66,.3); border-radius: var(--radius-sm); padding: 8px 12px; font-size: 13px; }
.mail-ia-error { color: var(--red); font-size: 13px; }
.mail-ia-ok { color: var(--text); font-size: 13.5px; border-left: 3px solid var(--green); padding-left: 10px; }
.mail-ia-acc { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-top: 10px; }
.mail-ia-res { margin: 8px 0 0; padding-left: 18px; font-size: 12.5px; color: var(--muted); }
.mail-ia-res .r-error { color: var(--red); }
.mail-ia-veredicto { margin-top: 8px; border: 1px solid var(--border-strong); border-radius: var(--radius-sm); padding: 8px 12px; font-size: 13px; overflow-wrap: anywhere; }
.mail-ia-veredicto.n-urgente { border-color: color-mix(in srgb, var(--red) 55%, transparent); }
.mail-ia-pie { display: flex; justify-content: flex-end; margin-top: 14px; }
.mail-ia-estados { display: flex; flex-wrap: wrap; gap: 6px; }
.mail-ia-estado { font-size: 11.5px; border: 1px solid var(--accent-line); background: var(--accent-soft); color: var(--accent-text); border-radius: 999px; padding: 1px 10px; }
.mail-ia-estado.e-registrado { color: var(--green); border-color: color-mix(in srgb, var(--green) 45%, transparent); background: transparent; }
.mail-ia-estado.e-error { color: var(--red); border-color: color-mix(in srgb, var(--red) 55%, transparent); background: transparent; }
html[data-ui="glass"] .mail-ia-opc { background: color-mix(in srgb, var(--card-2) 60%, transparent); }
@media (prefers-reduced-motion: reduce) { .mail-ia-opc { transition: none; } }

/* ===== RMP-091 responder (inicio): panel «Borrador de Pamela», confirmación de envío y servidor SMTP del asistente =====
   Paleta del panel: azul de acento; rojo SOLO para errores y para «Descartar»; verde SOLO para el éxito. */
.mail-resp { flex: 0 0 auto; max-height: 64%; overflow-y: auto; border-top: 2px solid var(--accent-line); background: var(--card-2); padding: 14px 18px 16px; display: flex; flex-direction: column; gap: 10px; }
.mail-lector:has(.mail-resp) .mail-cuerpo { flex: 1 1 140px; min-height: 140px; }
.mail-resp h4 { margin: 0; font-size: 14.5px; }
.mail-resp[data-estado="enviado"] h4 { color: var(--green); }
.mail-resp-sub { margin: 0; font-size: 12.5px; }
.mail-resp-campos { display: flex; flex-direction: column; gap: 8px; }
.mail-resp label, .mail-resp-dlg label { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; color: var(--muted); }
.mail-resp input, .mail-resp textarea { width: 100%; box-sizing: border-box; background: var(--card); color: var(--text); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); padding: 7px 10px; font: inherit; font-size: 13.5px; }
.mail-resp textarea { resize: vertical; line-height: 1.5; }
.mail-resp input:focus-visible, .mail-resp textarea:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; border-color: var(--accent); }
.mail-resp input[readonly], .mail-resp textarea[readonly] { opacity: .8; cursor: default; }
.mail-resp-notas { border: 1px dashed var(--accent-line); border-radius: var(--radius-sm); padding: 8px 12px; font-size: 12.5px; background: var(--accent-soft); }
.mail-resp-notas p { margin: 4px 0 0; overflow-wrap: anywhere; }
.mail-resp-instr { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; }
.mail-resp-instr label { width: 100%; }
.mail-resp-aviso { background: rgba(245,185,66,.1); border: 1px solid rgba(245,185,66,.3); border-radius: var(--radius-sm); padding: 8px 12px; font-size: 13px; overflow-wrap: anywhere; }
.mail-resp-aviso .btn { margin-left: 8px; }
.mail-resp-estado { min-height: 1.2em; font-size: 12.5px; color: var(--muted); }
.mail-resp[data-estado="enviado"] .mail-resp-estado { color: var(--green); }
.mail-resp-estado.aviso { color: var(--text); }
.mail-resp-error { margin: 0; color: var(--red); font-size: 13px; overflow-wrap: anywhere; }
.mail-resp-carga { margin: 0; color: var(--muted); font-size: 13px; }
.mail-resp-acc { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.mail-resp-acc .btn.primary { margin-left: auto; }
.mail-resp-dlg { width: min(520px, 94vw); }
.mail-resp-dlg h3 { margin: 0 0 10px; }
.mail-resp-resumen { display: grid; grid-template-columns: max-content 1fr; gap: 6px 14px; margin: 0 0 10px; font-size: 13.5px; }
.mail-resp-resumen dt { color: var(--muted); }
.mail-resp-resumen dd { margin: 0; overflow-wrap: anywhere; font-weight: 600; }
html[data-ui="glass"] .mail-resp { background: color-mix(in srgb, var(--card-2) 70%, transparent); backdrop-filter: blur(10px); }
html[data-ui="glass"] .mail-resp input, html[data-ui="glass"] .mail-resp textarea { background: color-mix(in srgb, var(--card) 55%, transparent); }
#mail-wizard-dlg select { width: 100%; box-sizing: border-box; background: var(--card); color: var(--text); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); padding: 7px 10px; font: inherit; }
@media (prefers-reduced-motion: reduce) { .mail-resp, .mail-resp-dlg { transition: none; scroll-behavior: auto; } }
/* ===== RMP-091 responder (fin) ===== */

/* Cuentas como desplegable, arriba de la columna y contraído por defecto (Alex, 5/10/2026) */
.mail-cab-cuentas { margin-top: 2px; }
.mail-cab-carpetas { margin-top: 14px; }
.mail-carp-cuerpo[hidden] { display: none; }
.mail-cab-carpetas.dest-abre .mail-desplegar { background: rgba(255,255,255,.1); color: var(--text); }
.mail-desplegar { flex: 1; min-width: 0; display: flex; align-items: center; gap: 8px; background: none; border: 1px solid transparent; border-radius: var(--radius-sm); padding: 4px 6px 4px 6px; margin-left: -6px; color: inherit; font: inherit; letter-spacing: inherit; text-transform: inherit; cursor: pointer; text-align: left; }
.mail-desplegar:hover { background: rgba(255,255,255,.06); color: var(--text); }
.mail-chev { display: inline-block; font-size: 10px; transition: transform .18s ease; }
.mail-desplegar[aria-expanded="true"] .mail-chev { transform: rotate(90deg); }
.mail-cuentas-puntos { display: inline-flex; gap: 4px; align-items: center; margin-left: 2px; }
.mail-punto-mini { width: 7px; height: 7px; }
.mail-punto-mini.error { outline: 1.5px solid var(--red); outline-offset: 1px; }
.mail-cuentas-filtro { margin-left: 2px; color: var(--accent-text); font-weight: 600; text-transform: none; letter-spacing: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; min-width: 0; }
.mail-cuentas-cuerpo { margin-bottom: 6px; }
.mail-cuentas-cuerpo[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) { .mail-chev { transition: none; } }

/* ===== RMP-091 subcarpetas: árbol de carpetas, arrastrar y soltar, menú por carpeta (inicio) ===== */
.mail-carp-sr { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap; }
.mail-carp-arbol { display: flex; flex-direction: column; }
.mail-carp-fila { padding-left: calc(var(--nivel, 0) * 14px); border-radius: var(--radius-sm); border: 1px solid transparent; }
.mail-carp-fila[hidden] { display: none; }
.mail-carp-fila:focus-visible { outline: 2px solid var(--accent); outline-offset: -1px; }
.mail-carp-fila[draggable="true"] { cursor: grab; }
.mail-carp-chev, .mail-carp-chev-vacio { flex: 0 0 20px; width: 20px; height: 26px; }
.mail-carp-chev { border: 0; background: none; color: var(--faint); cursor: pointer; border-radius: 6px; display: inline-grid; place-items: center; font: inherit; font-size: 11px; padding: 0; }
.mail-carp-chev:hover { color: var(--text); background: rgba(255,255,255,.06); }
.mail-carp-chev span { display: inline-block; transition: transform .15s ease; }
.mail-carp-chev.abierto span { transform: rotate(90deg); }
.mail-cont-arbol { font-size: 11px; color: var(--faint); padding: 1px 4px; border-radius: 999px; border: 1px solid var(--border); }
.mail-carp-estr { display: inline-grid; place-items: center; width: 15px; height: 15px; border-radius: 50%; font-size: 10px; font-weight: 800; color: var(--muted); border: 1px solid var(--border-strong); }
.mail-carp-estr-aviso { margin-top: 6px; padding: 6px 8px; border: 1px solid var(--border); border-radius: var(--radius-sm); font-size: 12px; line-height: 1.45; }
.mail-carp-estr-aviso .mail-confirma { margin-top: 6px; }
/* arrastrar y soltar: destino válido en azul de acento; destino imposible atenuado con cursor «no permitido» */
.mail-carp-fila.arrastrando { opacity: .45; }
.mail-carp-fila.dest-ok, .mail-carp-raiz.dest-ok { background: var(--accent-soft); border-color: var(--accent); }
.mail-carp-fila.dest-mal, .mail-carp-raiz.dest-mal { border: 1px dashed var(--border-strong); opacity: .55; cursor: not-allowed; }
.mail-carp-arrastrando .mail-carp-fila.dest-mal * { cursor: not-allowed; }
.mail-carp-raiz { margin: 6px 0 2px; padding: 6px 10px; border: 1px dashed var(--border); border-radius: var(--radius-sm); color: var(--muted); font-size: 12px; }
.mail-carp-raiz span { display: none; }
.mail-carp-arrastrando .mail-carp-raiz span { display: inline; }
/* menús (mismo aspecto que «Mover a» de los correos), con sangría por nivel en los destinos */
.mail-carp-menu .mail-mover-item { padding-left: calc(10px + var(--nivel, 0) * 14px); }
.mail-mover-nivel { padding-left: calc(10px + var(--nivel, 0) * 14px); }
.mail-mover-item.desactivado { opacity: .5; cursor: not-allowed; }
.mail-mover-item.desactivado:hover, .mail-mover-item.desactivado:focus { background: none; color: var(--text); }
.mail-carp-menu hr { border: 0; border-top: 1px solid var(--border); margin: 4px 0; }
.mail-carp-det-n { padding-left: calc(var(--nivel, 0) * 14px); }
/* interruptor «Incluir subcarpetas» de la barra de la lista */
.mail-carp-sub { margin-left: auto; font: inherit; font-size: 12px; padding: 3px 10px 3px 26px; border-radius: 999px; border: 1px solid var(--border-strong); background: none; color: var(--muted); cursor: pointer; position: relative; }
.mail-carp-sub::before { content: ""; position: absolute; left: 8px; top: 50%; width: 12px; height: 12px; margin-top: -6px; border-radius: 50%; border: 1.5px solid var(--faint); }
.mail-carp-sub.activo { border-color: var(--accent); color: var(--accent-text); background: var(--accent-soft); }
.mail-carp-sub.activo::before { background: var(--accent); border-color: var(--accent); }
.mail-carp-sub:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
@media (prefers-reduced-motion: reduce) { .mail-carp-chev span, .mail-carp-fila { transition: none; } }
/* ===== RMP-091 subcarpetas (fin) ===== */

/* ===== RMP-091 arrastrar correos a carpetas (inicio) ===== */
.mail-fila-w[draggable="true"] { cursor: grab; }
.mail-fila-w.arrastrando { opacity: .45; }
.mail-arr-imagen { position: fixed; top: -200px; left: -200px; padding: 6px 12px; border-radius: 999px; background: var(--accent); color: #fff; font: 600 13px/1.2 system-ui, sans-serif; max-width: 260px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; pointer-events: none; }
/* destinos de la barra lateral: válido (azul de acento), ya está ahí (borde discontinuo de acento) o imposible (atenuado, «no permitido») */
.mail-arr-activo .mail-item { border: 1px solid transparent; }
.mail-item.dest-ok { background: var(--accent-soft); border-color: var(--accent); }
.mail-item.dest-igual, .mail-carp-fila.dest-igual { border: 1px dashed var(--accent-line); background: transparent; }
.mail-item.dest-mal { border: 1px dashed var(--border-strong); opacity: .55; cursor: not-allowed; }
.mail-arr-activo .mail-item.dest-mal, .mail-arr-activo .mail-carp-fila.dest-mal * { cursor: not-allowed; }
.mail-arr-pista { position: fixed; left: 50%; bottom: 74px; transform: translateX(-50%); z-index: 81; max-width: min(520px, calc(100vw - 32px)); padding: 7px 14px; border-radius: var(--radius-sm); background: var(--card-2); border: 1px solid var(--accent-line); color: var(--accent-text); font-size: 13px; pointer-events: none; }
.mail-arr-pista[hidden] { display: none; }
@media (prefers-reduced-motion: reduce) { .mail-fila-w, .mail-item, .mail-arr-pista { transition: none; animation: none; } .mail-arr-activo { scroll-behavior: auto; } }
/* ===== RMP-091 arrastrar correos a carpetas (fin) ===== */

/* ===== RMP-091 colores (inicio): punto de color de las carpetas, selector de color y contraste (Alex, 5/10/2026) ===== */
/* Punto ANTES del nombre, igual que en Cuentas. Sin color asignado: anillo neutro hueco (mantiene la alineación y avisa de que se puede colorear). */
.mail-carp-punto { width: 9px; height: 9px; border-radius: 50%; flex: 0 0 auto; }
.mail-carp-punto.sin { border: 1.5px solid var(--faint); background: transparent; }
.mail-color-sel { padding: 10px; min-width: 188px; display: flex; flex-direction: column; gap: 8px; }
.mail-color-rejilla { display: grid; grid-template-columns: repeat(6, 22px); gap: 6px; }
.mail-color-op { width: 22px; height: 22px; border-radius: 50%; border: 2px solid transparent; background: var(--c); cursor: pointer; padding: 0; box-shadow: 0 0 0 1px var(--border-strong); }
.mail-color-op:hover { transform: scale(1.12); }
.mail-color-op.sel { border-color: var(--text); }
.mail-color-op:focus-visible, .mail-color-otro input:focus-visible { outline: 2px solid var(--accent-text); outline-offset: 2px; }
.mail-color-sel label.mail-color-otro { flex-direction: row; display: flex; align-items: center; justify-content: space-between; gap: 8px; font-size: 12.5px; color: var(--muted); }
.mail-color-sel label.mail-color-otro.sel { color: var(--text); }
.mail-color-otro input { width: 34px; height: 22px; padding: 0; border: 1px solid var(--border-strong); border-radius: 6px; background: none; cursor: pointer; }
.mail-color-ninguno { align-self: flex-start; font-size: 12.5px; color: var(--muted); }
.mail-color-ninguno[aria-pressed="true"] { color: var(--text); font-weight: 600; }
/* Contraste: el ítem activo (azul sobre azul translúcido) y los textos tenues usan los tokens --accent-text / --muted / --faint (admin.html, admin-glass.css), que test/mailContraste.test.js vigila */
.mail-item.activo { color: var(--text); }
.mail-item.activo .mail-contador { background: var(--accent-text); }
.mail-chip.activo { color: var(--text); }
/* ===== RMP-091 colores (fin) ===== */

/* ===== RMP-091 Enviados y Nuevo email ===== */
.mail-solo-lectura { font-size: 12.5px; align-self: center; margin-right: 6px; }
.mail-cab-carpetas.dest-abre .mail-desplegar { outline: 2px dashed var(--accent); outline-offset: 1px; }
.mail-red-dlg { width: min(760px, 96vw); max-height: 92vh; overflow-y: auto; padding: 20px 22px; }
.mail-red-conf { width: min(560px, 94vw); }
.mail-red-dlg.arrastrando-fichero { outline: 3px dashed var(--accent); outline-offset: -6px; }
.mail-red-form { display: flex; flex-direction: column; gap: 10px; }
.mail-red-cab { display: flex; align-items: center; justify-content: space-between; }
.mail-red-cab h3 { margin: 0; }
.mail-red-x { background: none; border: 0; color: var(--muted); font-size: 22px; line-height: 1; padding: 2px 8px; border-radius: 6px; cursor: pointer; }
.mail-red-x:hover { color: var(--text); background: rgba(255,255,255,.08); }
.mail-red-fila { display: flex; flex-direction: column; gap: 4px; font-size: 12.5px; color: var(--muted); }
.mail-red-fila[hidden], .mail-red-extras [hidden] { display: none; } /* display:flex pisaría el atributo hidden */
.mail-red-fila label { font-weight: 600; }
.mail-red-fila input[type=text], .mail-red-fila textarea, .mail-red-fila select, .mail-red-firma textarea { width: 100%; box-sizing: border-box; background: var(--card); color: var(--text); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); padding: 7px 10px; font: inherit; font-size: 13.5px; }
.mail-red-fila textarea { resize: vertical; line-height: 1.5; }
.mail-red-fila select option:disabled { color: var(--faint); }
.mail-red-fila input:focus-visible, .mail-red-fila textarea:focus-visible, .mail-red-fila select:focus-visible, .mail-red-firma textarea:focus-visible { outline: 2px solid var(--accent); outline-offset: 1px; border-color: var(--accent); }
.mail-red-cuenta { display: flex; align-items: center; gap: 8px; }
.mail-red-cuenta .mail-punto { flex: 0 0 auto; }
.mail-red-motivos { margin: 2px 0 0; padding-left: 18px; font-size: 12px; }
.mail-red-motivos:empty { display: none; }
.mail-red-chips { display: flex; flex-wrap: wrap; gap: 4px; align-items: center; background: var(--card); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); padding: 4px 6px; }
.mail-red-chips:focus-within { outline: 2px solid var(--accent); outline-offset: 1px; border-color: var(--accent); }
.mail-red-chips input.mail-red-in { flex: 1 1 140px; min-width: 120px; width: auto; border: 0; background: transparent; padding: 4px; outline: none; }
.mail-red-chip { display: inline-flex; align-items: center; gap: 2px; background: var(--accent-soft); color: var(--accent-text); border-radius: 999px; padding: 1px 4px 1px 10px; font-size: 12.5px; overflow-wrap: anywhere; }
.mail-red-chip-x { background: none; border: 0; color: inherit; font-size: 15px; line-height: 1; padding: 0 6px; border-radius: 999px; cursor: pointer; }
.mail-red-chip-x:hover { background: rgba(255,255,255,.14); }
.mail-red-chip-x:focus-visible { outline: 2px solid var(--accent-text); }
.mail-red-extras { display: flex; gap: 14px; font-size: 12.5px; }
.mail-red-err { margin: 0; color: var(--red); font-size: 12.5px; overflow-wrap: anywhere; min-height: 0; }
.mail-red-err:empty { display: none; }
.mail-red-sug { list-style: none; margin: -6px 0 0; padding: 4px; background: var(--card-2); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); max-height: 200px; overflow-y: auto; font-size: 13px; }
.mail-red-sug[hidden] { display: none; }
.mail-red-sug li { padding: 5px 8px; border-radius: 6px; cursor: pointer; color: var(--text); overflow-wrap: anywhere; }
.mail-red-sug li[aria-selected="true"], .mail-red-sug li:hover { background: var(--accent-soft); color: var(--accent-text); }
.mail-red-sug li .muted { color: var(--muted); }
.mail-red-adjuntos { display: flex; flex-direction: column; gap: 6px; }
.mail-red-adj-cab { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mail-red-adj-ayuda { font-size: 12px; }
.mail-red-adj { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; font-size: 13px; }
.mail-red-adj:empty { display: none; }
.mail-red-avisos { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 4px; overflow-wrap: anywhere; }
.mail-red-avisos:empty { display: none; }
.mail-red-adj-i { display: flex; align-items: center; gap: 8px; background: var(--card); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 4px 10px; }
.mail-red-adj-n { overflow-wrap: anywhere; font-weight: 600; }
.mail-red-adj-i .mail-enlace { margin-left: auto; }
.mail-red-firma summary { cursor: pointer; font-size: 12.5px; color: var(--muted); }
.mail-red-firma textarea { margin: 6px 0; }
.mail-red-estado { min-height: 1.2em; font-size: 12.5px; color: var(--muted); }
.mail-red-acc { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.mail-red-acc .btn.primary { margin-left: auto; }
.mail-red-cierre { border: 1px solid var(--accent-line); background: var(--accent-soft); border-radius: var(--radius-sm); padding: 10px 14px; }
.mail-red-cierre[hidden] { display: none; }
.mail-red-cierre p { margin: 0 0 8px; }
.mail-red-pendiente { overflow-wrap: anywhere; }
.mail-red-texto { max-height: 220px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; background: var(--card); border: 1px solid var(--border); border-radius: var(--radius-sm); padding: 8px 10px; font: inherit; font-size: 13px; margin: 0; }
.mail-red-conf-l { display: block; margin: 10px 0 4px; font-size: 12.5px; color: var(--muted); }
.mail-red-conf .mail-red-acc { margin-top: 12px; }
.mail-red-aviso { position: sticky; bottom: 8px; margin-top: 8px; display: flex; gap: 10px; align-items: center; flex-wrap: wrap; background: var(--card-2); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); padding: 8px 12px; font-size: 13px; }
html[data-ui="glass"] .mail-red-chips, html[data-ui="glass"] .mail-red-fila input[type=text], html[data-ui="glass"] .mail-red-fila textarea, html[data-ui="glass"] .mail-red-fila select { background: color-mix(in srgb, var(--card) 55%, transparent); }
@media (max-width: 640px) { .mail-red-dlg { padding: 14px; } .mail-red-acc .btn.primary { margin-left: 0; } }
@media (prefers-reduced-motion: reduce) { .mail-red-dlg { transition: none; scroll-behavior: auto; } }

/* RMP-091 reenvío de facturas a Finlai: enlace discreto bajo las cuentas y diálogos (reutilizan la tarjeta y el resumen de «Responder con IA»). */
.mail-fin-pie { margin: 6px 4px 2px; }
.mail-fin-enlace { color: var(--muted); font-size: 12px; }
.mail-fin-dlg h3 { margin: 0 0 10px; }
.mail-fin-campos { display: flex; flex-direction: column; gap: 6px; margin: 10px 0; }
.mail-fin-campos label { font-size: 12.5px; color: var(--muted); }
.mail-fin-campos input[type="email"] { width: 100%; box-sizing: border-box; background: var(--card); color: var(--text); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); padding: 7px 10px; font: inherit; font-size: 13.5px; }
.mail-fin-campos input[type="email"]:focus-visible, .mail-fin-campos input[type="checkbox"]:focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }
.mail-fin-campos input[aria-invalid="true"] { border-color: var(--red); }
.mail-fin-campos .mail-fin-check { display: flex; flex-direction: row; align-items: flex-start; gap: 8px; color: var(--text); font-size: 13px; }
.mail-fin-nota { font-size: 12px; margin: 4px 0 8px; }
.mail-fin-texto { margin: 0 0 10px; font-size: 12.5px; }
.mail-fin-texto summary { cursor: pointer; color: var(--muted); }
.mail-fin-texto pre { margin: 6px 0 0; max-height: 180px; overflow: auto; white-space: pre-wrap; overflow-wrap: anywhere; background: var(--card-2); border: 1px solid var(--border-strong); border-radius: var(--radius-sm); padding: 8px 10px; font: inherit; font-size: 12px; color: var(--muted); }
.mail-fin-dlg #mail-fin-msg:empty, .mail-fin-dlg #mail-fin-aviso:empty { display: none; }
html[data-ui="glass"] .mail-fin-campos input[type="email"] { background: color-mix(in srgb, var(--card) 55%, transparent); }
html[data-ui="glass"] .mail-fin-texto pre { background: color-mix(in srgb, var(--card-2) 60%, transparent); }
.mail-fin-dlg .mail-resp-acc { margin-top: 12px; }
.mail-fin-campos input[type="checkbox"] { width: 16px; height: 16px; padding: 0; margin: 2px 0 0; flex: 0 0 auto; accent-color: var(--accent); }
