/* GESSO ERP · soporte de la beta (js/soporte.js): diálogo «Informar de un problema o proponer una mejora» */
.soporte-modal { width: min(620px, calc(100vw - 32px)); }
.soporte-tipos { display: flex; gap: 18px; flex-wrap: wrap; margin-bottom: 10px; }
.soporte-tipo { display: inline-flex; align-items: center; gap: 6px; cursor: pointer; }
.soporte-texto { width: 100%; box-sizing: border-box; min-height: 130px; resize: vertical; font: inherit; padding: 8px; }
.soporte-adj { display: flex; gap: 6px; align-items: flex-start; margin-top: 8px; font-size: 0.92em; word-break: break-word; }
.soporte-nota { margin-top: 10px; font-size: 0.88em; }
.soporte-btn .soporte-ico { width: 15px; text-align: center; }
/* captura de la pantalla (js/captura.js) */
.soporte-cap { margin-top: 10px; }
.soporte-cap-fila { display: flex; gap: 12px; align-items: flex-start; margin-top: 6px; }
.soporte-cap-mini { width: 160px; max-height: 110px; object-fit: cover; object-position: top left; border: 1px solid var(--border, #ccd); border-radius: 4px; cursor: zoom-in; flex: none; }
.soporte-cap-mini.grande { width: 100%; max-height: none; object-fit: contain; cursor: zoom-out; }
.soporte-cap-fila:has(.grande) { flex-direction: column; }
.soporte-cap-mini.apagada { opacity: 0.35; filter: grayscale(1); }
.soporte-cap-info { display: flex; flex-direction: column; gap: 6px; align-items: flex-start; font-size: 0.9em; }

/* Configuración › Licencia (js/licencia.js) */
.lic-modal { width: min(560px, calc(100vw - 32px)); }
.lic-estado { padding: 8px 10px; border-radius: 6px; margin-bottom: 8px; }
.lic-bien { background: rgba(46, 160, 67, 0.12); }
.lic-aviso { background: rgba(210, 153, 34, 0.15); }
.lic-mal { background: rgba(207, 34, 46, 0.12); }
.lic-error { color: #b42318; margin: 4px 0 8px; }
.lic-datos { display: grid; gap: 4px; margin-bottom: 12px; }
.lic-dato { display: flex; gap: 8px; }
.lic-lab { min-width: 220px; color: var(--muted, #667); }
.lic-tit { font-weight: 600; margin: 10px 0 4px; }
.lic-clave { width: 100%; box-sizing: border-box; padding: 6px 8px; font: inherit; font-family: monospace; }
.lic-ver { display: inline-flex; gap: 4px; align-items: center; margin-top: 6px; font-size: 0.92em; }
.lic-nota { margin-top: 10px; font-size: 0.88em; }

/* «Mis incidencias y mejoras» (js/soporte.js, abrirMisAvisos) */
.misav-modal { width: min(760px, calc(100vw - 32px)); }
.misav-modal .modal-b { max-height: min(70vh, 720px); overflow: auto; }
.misav-intro { margin: 0 0 10px; font-size: 0.92em; }
.misav-barra { display: flex; gap: 6px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; }
.misav-tab { padding: 4px 12px; border-radius: 999px; }
.misav-tab.on { background: var(--accent, #e95a0c); border-color: var(--accent, #e95a0c); color: #fff; }
.misav-resumen { margin-left: auto; font-size: 0.88em; }
.misav-aviso { padding: 8px 10px; border-radius: 6px; margin-bottom: 10px; background: rgba(210, 153, 34, 0.15); font-size: 0.92em; }
.misav-lista { display: flex; flex-direction: column; gap: 10px; }
.misav-vacio { padding: 18px 0; text-align: center; }
.misav-item { border: 1px solid var(--border, #d8dbe2); border-radius: 8px; padding: 10px 12px; }
.misav-cab { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.misav-tipo, .misav-estado { font-size: 0.8em; font-weight: 600; padding: 2px 8px; border-radius: 999px; }
.misav-tipo.inc { background: rgba(207, 34, 46, 0.10); color: #a3202a; }
.misav-tipo.mej { background: rgba(30, 111, 217, 0.10); color: #1d5fb8; }
.misav-estado.pend { background: rgba(102, 102, 119, 0.15); }
.misav-estado.rec { background: rgba(210, 153, 34, 0.18); color: #7a5300; }
.misav-estado.est { background: rgba(30, 111, 217, 0.15); color: #1d5fb8; }
.misav-estado.res { background: rgba(46, 160, 67, 0.15); color: #1f7a35; }
.misav-estado.des { background: rgba(102, 102, 119, 0.15); }
.misav-id { font-size: 0.85em; font-family: monospace; }
.misav-fecha { margin-left: auto; font-size: 0.85em; }
.misav-quien { font-size: 0.85em; margin-top: 4px; }
.misav-texto { white-space: pre-wrap; word-break: break-word; margin-top: 6px; }
.misav-texto.corto { max-height: 5.6em; overflow: hidden; cursor: pointer; -webkit-mask-image: linear-gradient(#000 60%, transparent); mask-image: linear-gradient(#000 60%, transparent); }
.misav-resp { margin-top: 8px; padding: 8px 10px; border-left: 3px solid #2ea043; background: rgba(46, 160, 67, 0.07); border-radius: 0 6px 6px 0; }
.misav-resp-texto { white-space: pre-wrap; word-break: break-word; margin-top: 2px; }
.misav-version { font-size: 0.85em; margin-top: 4px; }

/* Aviso de actualización (js/actualizacion.js, 02/11/2026): ventana con la pantalla oscurecida, franja roja arriba con la cuenta atrás
   y pantalla de «actualizando». Por encima de todo lo demás (ventanas de la aplicación incluidas). */
.act-velo, .act-capa {
  position: fixed; inset: 0; z-index: 100000;
  display: flex; align-items: center; justify-content: center; padding: 16px;
  background: rgba(10, 14, 22, 0.78);
  backdrop-filter: blur(2px);
}
body.act-bloqueado { overflow: hidden; }
.act-dialogo, .act-caja {
  width: min(520px, 100%);
  background: var(--panel, #fff); color: var(--text, #1d2633);
  border-top: 6px solid var(--danger, #b3261e); border-radius: 10px;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.45);
  padding: 22px 24px 20px; text-align: left;
}
.act-dialogo h2 { margin: 0 0 12px; font-size: 1.3em; color: var(--danger, #b3261e); }
.act-dialogo p { margin: 0 0 10px; line-height: 1.45; }
.act-dialogo #act-texto { font-size: 1.12em; font-weight: 600; }
.act-dialogo .act-nota { color: var(--muted, #5e6b7c); }
.act-aceptar {
  display: block; margin: 16px 0 0 auto; min-width: 140px;
  padding: 9px 18px; font-size: 1em; font-weight: 600;
  background: var(--danger, #b3261e); border: 1px solid var(--danger, #b3261e); color: #fff; border-radius: 6px; cursor: pointer;
}
.act-aceptar:hover, .act-aceptar:focus-visible { filter: brightness(1.1); outline: 3px solid rgba(179, 38, 30, 0.35); outline-offset: 2px; }
.act-caja { text-align: center; }
.act-caja b { display: block; font-size: 1.2em; margin-bottom: 8px; }
.act-giro {
  width: 34px; height: 34px; margin: 14px auto 0; border-radius: 50%;
  border: 4px solid rgba(179, 38, 30, 0.2); border-top-color: var(--danger, #b3261e);
  animation: act-gira 0.9s linear infinite;
}
@keyframes act-gira { to { transform: rotate(360deg); } }

.act-franja {
  position: fixed; top: 0; left: 0; right: 0; z-index: 99999;
  min-height: 40px; padding: 9px 16px; box-sizing: border-box;
  background: var(--danger, #b3261e); color: #fff;
  font-weight: 700; font-size: 1em; text-align: center; line-height: 1.35;
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.35);
}
.act-franja.act-urgente { animation: act-late 1s ease-in-out infinite; }
@keyframes act-late { 50% { background: #7f1a14; } }
.act-franja.act-nueva { background: var(--ok, #1e7a3c); animation: none; }
.act-franja button {
  margin-left: 10px; padding: 3px 12px; font-weight: 600;
  background: #fff; color: var(--text, #1d2633); border: 0; border-radius: 4px; cursor: pointer;
}
/* la franja no tapa la cabecera: se baja la aplicación lo que ocupa la franja */
body.act-con-franja { padding-top: 40px; box-sizing: border-box; }
@media (prefers-reduced-motion: reduce) { .act-franja.act-urgente, .act-giro { animation: none; } }
