/* Panel interno de Alma y pantallas de la cuenta (ingreso, contraseña), con
 * la identidad de Inmersive. Colores y tipografías salen de marca.css (el
 * único lugar donde viven); aquí solo la forma.
 *
 * - El logo va siempre sobre la banda --grafito.
 * - Texto sobre --naranja: --sobre-naranja. Rosa nunca como texto pequeño
 *   (--rosa-texto). Errores en --error.
 * - En celular las tablas se vuelven tarjetas: cada <td> muestra su columna
 *   con su data-etiqueta.
 */
:root{
  --radio:16px;
  --radio-chico:10px;
  --sombra:0 1px 2px rgba(43,43,43,.06),0 4px 14px rgba(43,43,43,.05);
  --texto-pequeno:.875rem;
  --relleno-lateral:clamp(16px,4vw,32px);
}
*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body.panel{margin:0;min-height:100vh;display:flex;flex-direction:column;background:var(--base);color:var(--ink);
  font-family:var(--text);font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased}
[hidden]{display:none !important}
a{color:inherit}
a:hover{color:var(--rosa-texto)}
:focus-visible{outline:3px solid var(--rosa);outline-offset:2px}
h1,h2,h3{font-family:var(--display);font-weight:600;line-height:1.2;color:var(--ink)}
h1{font-size:clamp(1.6rem,4.5vw,2.1rem);margin:0 0 .4rem}
h2{font-size:1.25rem;margin:0 0 .6rem}
p{margin:0 0 .6rem}
.saltar{position:absolute;left:-999px;top:0;background:var(--surface);color:var(--ink);padding:.5rem 1rem;z-index:10}
.saltar:focus{left:1rem;top:1rem}

/* Banda de marca: el logo sobre su grafito, el menú a la derecha. */
.banda{background:var(--grafito);color:var(--destello);padding:14px var(--relleno-lateral) 12px;
  padding-top:calc(14px + env(safe-area-inset-top,0px));border-radius:0 0 26px 26px}
.banda__fila{display:flex;align-items:center;justify-content:space-between;gap:12px 20px;flex-wrap:wrap;max-width:1180px;margin:0 auto}
.banda__logo{display:block;flex:none;line-height:0}
.banda__logo img{display:block;height:56px;width:auto;max-width:100%}
.banda__texto{font-family:var(--display);font-size:1.4rem;color:var(--destello)}
.banda__usuario{max-width:1180px;margin:6px auto 0;font-size:var(--texto-pequeno);opacity:.8;text-align:right}
.menu{display:flex;align-items:center;gap:4px;flex-wrap:wrap}
.menu__salir{margin:0;display:contents}
.menu__enlace{display:inline-flex;align-items:center;gap:6px;min-height:40px;padding:8px 12px;border-radius:999px;
  color:var(--destello);text-decoration:none;font:inherit;font-size:.95rem;background:none;border:0;cursor:pointer}
.menu__enlace:hover{background:rgba(255,255,255,.1);color:#fff}
.menu__enlace--activo{background:var(--naranja);color:var(--sobre-naranja)}
.menu__enlace--activo:hover{background:var(--naranja);color:var(--sobre-naranja)}
.icono{width:18px;height:18px;flex:none}
@media (max-width:640px){
  .banda__logo img{height:38px}
  .menu{width:100%;justify-content:space-between}
  .menu__enlace{padding:8px 10px;font-size:.9rem}
  .banda__usuario{text-align:left}
}
@media (max-width:400px){
  .menu__enlace span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
  .menu__enlace{padding:10px 14px}
  .icono{width:22px;height:22px}
}

.contenido{flex:1;width:100%;max-width:1180px;margin:0 auto;padding:24px var(--relleno-lateral) 48px}
.pie{text-align:center;color:var(--muted);font-size:var(--texto-pequeno);padding:16px var(--relleno-lateral) calc(20px + env(safe-area-inset-bottom,0px));
  letter-spacing:.04em}
.pie p{margin:0}

/* Mensajes */
.mensajes{display:flex;flex-direction:column;gap:8px;margin-bottom:16px}
.mensaje{margin:0;padding:12px 16px;border-radius:var(--radio-chico);background:var(--surface);border:1px solid var(--line);border-left:5px solid var(--grafito)}
.mensaje--success{border-left-color:var(--naranja)}
.mensaje--error{border-left-color:var(--error);color:var(--error)}
.aviso{padding:12px 14px;border-radius:var(--radio-chico);border:1.5px solid var(--error);color:var(--error);background:var(--surface);margin-bottom:12px}
.aviso p{margin:0}

/* Estructura */
.encabezado{display:flex;justify-content:space-between;align-items:flex-start;gap:12px 20px;flex-wrap:wrap;margin-bottom:18px}
.encabezado h1{overflow-wrap:anywhere}
.fila-acciones{display:flex;flex-wrap:wrap;gap:10px;align-items:center}
.fila-acciones form{margin:0}
.tarjeta{background:var(--surface);border:1px solid var(--line);border-radius:var(--radio);box-shadow:var(--sombra);padding:20px;margin-bottom:16px;min-width:0}
.pagina-angosta{max-width:560px}
.enlace-volver{display:inline-block;margin-bottom:12px;color:var(--muted);text-decoration:none;font-size:var(--texto-pequeno)}
.enlace-volver:hover{color:var(--rosa-texto)}
.texto-muted{color:var(--muted);font-size:var(--texto-pequeno)}
.lista-simple{margin:0;padding-left:1.1rem}
.lista-simple li{margin:.2rem 0}

/* Botones: primario grafito, secundario claro, acento naranja. */
.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:42px;padding:9px 18px;border-radius:999px;
  border:1.5px solid transparent;font:inherit;font-weight:600;font-size:.95rem;text-decoration:none;cursor:pointer;text-align:center;line-height:1.2}
.btn-primary{background:var(--grafito);color:#fff;border-color:var(--grafito)}
.btn-primary:hover{background:var(--ink);border-color:var(--ink);color:#fff}
.btn-secundario{background:var(--surface);color:var(--ink);border-color:var(--line)}
.btn-secundario:hover{border-color:var(--grafito);color:var(--ink)}
.btn-acento{background:var(--naranja);color:var(--sobre-naranja);border-color:var(--naranja)}
.btn:disabled,.btn[aria-disabled="true"]{opacity:.5;cursor:not-allowed}
.btn-ancho{width:100%}

/* Formularios */
.formulario{display:flex;flex-direction:column;gap:14px;max-width:720px;margin:0}
.formulario--en-linea{flex-direction:row;flex-wrap:wrap;align-items:flex-end;max-width:none}
.formulario--en-linea .campo{flex:1 1 180px;min-width:0}
.formulario--dos-columnas{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:14px 16px;align-items:start}
.formulario--dos-columnas > .btn{grid-column:1 / -1}
.campo{display:flex;flex-direction:column;gap:5px;min-width:0}
.campo label{font-size:var(--texto-pequeno);font-weight:600;color:var(--muted)}
.campo__error{color:var(--error);font-size:.82rem;margin:0}
.campo__ayuda ul{margin:.2rem 0 0;padding-left:1.1rem}
.input,.campo input:not([type=checkbox]):not([type=radio]),.campo select,.campo textarea{
  width:100%;max-width:100%;font:inherit;font-size:1rem;color:var(--ink);background:var(--surface);
  border:1.5px solid var(--line);border-radius:var(--radio-chico);padding:10px 12px;min-height:44px}
.input:focus,.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--naranja);
  box-shadow:0 0 0 3px color-mix(in srgb,var(--naranja) 25%,transparent)}
.casilla{display:flex;gap:10px;align-items:center;font-size:.95rem;cursor:pointer}
.casilla input{width:18px;height:18px;accent-color:var(--grafito)}

/* Tablas */
.tabla-scroll{overflow-x:auto}
.tabla{width:100%;border-collapse:collapse;font-size:.92rem}
.tabla th,.tabla td{padding:10px;text-align:left;border-bottom:1px solid var(--line);vertical-align:top}
.tabla th{font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:700}
.tabla tbody tr:last-child td{border-bottom:none}
.tabla__fecha{white-space:nowrap}
@media (max-width:767px){
  .tabla thead{display:none}
  .tabla,.tabla tbody{display:block;width:100%}
  .tabla tbody tr{display:block;background:var(--surface);border:1px solid var(--line);border-radius:var(--radio-chico);margin-bottom:10px;padding:4px 12px}
  .tabla td{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;text-align:right;overflow-wrap:anywhere}
  .tabla td:last-child{border-bottom:none}
  .tabla td::before{content:attr(data-etiqueta);font-weight:700;font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);text-align:left;flex-shrink:0}
  .tabla td:not([data-etiqueta]){justify-content:flex-end}
  .tabla td[colspan]{display:block;text-align:left}
  .tabla td[colspan]::before{content:none}
}

/* Estados */
.badge{display:inline-block;padding:3px 10px;border-radius:999px;font-size:.78rem;font-weight:600;white-space:nowrap;
  background:var(--line);color:var(--ink);border:1.5px solid transparent}
.badge--briefing_enviado,.badge--en_progreso{background:var(--naranja);color:var(--sobre-naranja)}
.badge--briefing_respondido,.badge--completado{background:var(--grafito);color:#fff}
.badge--en_diseno{background:var(--surface);color:var(--rosa-texto);border-color:var(--rosa-texto)}
.badge--cerrado{background:var(--muted);color:#fff}

/* Historial */
.pendientes__lista{list-style:none;margin:0;padding:0}
.pendientes__item{display:flex;flex-direction:column;gap:2px;padding:10px 0;border-bottom:1px solid var(--line)}
.pendientes__item:last-child{border-bottom:none}

/* Alma: ficha del expediente y respuestas */
.alma__secciones{display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(min(100%,340px),1fr));align-items:start}
.alma__secciones > .tarjeta{margin-bottom:0}
.alma__secciones + .tarjeta,.tarjeta + .alma__secciones{margin-top:16px}
.alma__enlace{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:var(--texto-pequeno);resize:none}
.alma__avance{display:block;width:100%;max-width:280px;height:8px;accent-color:var(--naranja)}
.alma__fase-titulo{margin-top:4px}
.alma__pregunta{margin:0 0 12px}
.alma__pregunta dt{font-weight:600}
.alma__pregunta dd{margin:2px 0 0;white-space:pre-line;overflow-wrap:anywhere}
.alma__galeria{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-top:8px}
.alma__galeria a{display:block;aspect-ratio:1;border-radius:var(--radio-chico);overflow:hidden;background:var(--line)}
.alma__galeria img{width:100%;height:100%;object-fit:cover;display:block}

/* Cuenta: ingreso y contraseña */
.cuenta{max-width:440px;margin:12px auto 0}
.cuenta h1{text-align:center;margin-bottom:16px}
.cuenta .tarjeta{padding:24px}
.cuenta__enlace{text-align:center;margin:16px 0 0;font-size:.95rem}
