:root {
  --azul: #1F4E79;
  --azul-claro: #E7EEF5;
  --tinta: #1C2530;
  --gris: #5C6B7A;
  --borde: #D5DCE4;
  --fondo: #F6F7F9;
  --papel: #FFFFFF;
  --rojo: #B3261E;
  --verde: #2E7D4F;
  --ambar: #B26A00;
  --sans: "IBM Plex Sans", system-ui, -apple-system, sans-serif;
  --serif: "IBM Plex Serif", Georgia, serif;
}
* { box-sizing: border-box; }
html, body { margin: 0; height: 100%; }
body { font-family: var(--sans); font-size: 15px; color: var(--tinta); background: var(--fondo); }
h1, h2, h3 { font-family: var(--serif); font-weight: 500; margin: 0; }
h2 { font-size: 22px; } h3 { font-size: 16px; }
h3 small { font-family: var(--sans); font-weight: 400; color: var(--gris); font-size: 12px; margin-left: 8px; }
p { margin: 0; }
.sub { color: var(--gris); font-size: 13px; }
.oculto { display: none !important; }
button { font: inherit; cursor: pointer; border: 1px solid var(--borde); background: var(--papel); color: var(--tinta); padding: 8px 14px; border-radius: 6px; }
button:hover { border-color: var(--azul); }
button.primario { background: var(--azul); color: #fff; border-color: var(--azul); }
button.primario:disabled { opacity: .6; cursor: progress; }
button.enlace { border: none; background: none; color: var(--azul); padding: 6px 0; text-align: left; }
button.ancho { width: 100%; }
input, select, textarea { font: inherit; color: var(--tinta); border: 1px solid var(--borde); border-radius: 6px; padding: 8px 10px; background: var(--papel); width: 100%; }
textarea { resize: vertical; line-height: 1.45; }
input:focus, select:focus, textarea:focus, button:focus-visible { outline: 2px solid var(--azul); outline-offset: 1px; }
label { display: flex; flex-direction: column; gap: 5px; font-size: 13px; color: var(--gris); }
.error { color: var(--rojo); font-size: 13px; min-height: 1em; }
.estado { color: var(--gris); font-size: 13px; }
.estado.ok { color: var(--verde); } .estado.mal { color: var(--rojo); }

/* Login */
#login { min-height: 100vh; display: grid; place-items: center; }
.tarjeta-login { width: 340px; background: var(--papel); border: 1px solid var(--borde); border-radius: 10px; padding: 32px; display: flex; flex-direction: column; gap: 14px; }
.tarjeta-login h1 { font-size: 26px; color: var(--azul); }

/* Estructura */
#app { display: grid; grid-template-columns: 260px 1fr; min-height: 100vh; }
.lateral { background: var(--papel); border-right: 1px solid var(--borde); padding: 22px 18px; display: flex; flex-direction: column; gap: 16px; position: sticky; top: 0; height: 100vh; }
.marca h1 { font-size: 22px; color: var(--azul); }
.marca span { font-size: 12px; color: var(--gris); }
.lista-casos { flex: 1; overflow: auto; display: flex; flex-direction: column; gap: 4px; }
.lista-casos button { text-align: left; border: none; border-left: 3px solid transparent; border-radius: 0; padding: 8px 10px; background: none; line-height: 1.3; }
.lista-casos button.activo { border-left-color: var(--azul); background: var(--azul-claro); }
.lista-casos b { display: block; font-weight: 500; }
.lista-casos small { color: var(--gris); }
.lista-casos .listo::after { content: " · listo"; color: var(--verde); }
.lateral-pie { border-top: 1px solid var(--borde); padding-top: 10px; display: flex; flex-direction: column; }
.principal { padding: 32px 40px 80px; max-width: 980px; }
.cabecera { margin-bottom: 22px; } .cabecera p { color: var(--gris); margin-top: 6px; max-width: 70ch; }
.editor-cabecera { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; }
.controles { display: flex; gap: 16px; align-items: center; }
.conmutador { flex-direction: row; align-items: center; gap: 8px; white-space: nowrap; }
.conmutador select, .conmutador input[type=checkbox] { width: auto; }

/* Formulario */
.formulario { background: var(--papel); border: 1px solid var(--borde); border-radius: 10px; padding: 24px; display: flex; flex-direction: column; gap: 14px; }
.formulario.en-linea { flex-direction: row; align-items: flex-end; flex-wrap: wrap; }
.fila { display: flex; gap: 14px; } .fila > label { flex: 1; } .fila .corta { flex: 0 0 110px; } .fila .crece { flex: 2; }
.acciones { display: flex; gap: 14px; align-items: center; margin-top: 6px; }

/* Editor */
.campos { display: flex; flex-direction: column; gap: 16px; margin-bottom: 20px; }
.campo { background: var(--papel); border: 1px solid var(--borde); border-radius: 10px; padding: 16px 18px; }
.campo-cab { display: flex; justify-content: space-between; align-items: baseline; gap: 12px; flex-wrap: wrap; }
.campo-cab .etiqueta { font-size: 12px; color: var(--gris); }
.campo-herr { display: flex; gap: 10px; align-items: center; font-size: 12px; color: var(--gris); margin-top: 8px; flex-wrap: wrap; }
.campo-herr input[type=range] { width: 110px; padding: 0; }
.campo textarea { margin-top: 8px; font-family: var(--sans); }
.contador { font-variant-numeric: tabular-nums; }
.contador.excede { color: var(--rojo); font-weight: 500; }
.contador.justo { color: var(--ambar); }
.bloque { background: var(--papel); border: 1px solid var(--borde); border-radius: 10px; padding: 16px 18px; margin-bottom: 16px; }
.bloque.aviso { border-left: 4px solid var(--ambar); }
.lista-editable { display: flex; flex-direction: column; gap: 6px; margin: 10px 0; }
.lista-editable .fila-ed { display: flex; gap: 6px; align-items: center; }
.lista-editable .fila-ed input { flex: 1; } .lista-editable .fila-ed input.n { flex: 0 0 60px; }
.lista-editable .fila-ed button { padding: 6px 9px; color: var(--gris); }
.antes ul { margin: 4px 0 10px 18px; padding: 0; } .antes h4 { margin: 8px 0 2px; font-size: 13px; font-weight: 600; }
.antes .confirmar { color: var(--rojo); }
.barra-final { display: flex; gap: 10px; flex-wrap: wrap; align-items: center; position: sticky; bottom: 0; background: var(--fondo); padding: 14px 0; border-top: 1px solid var(--borde); }
.panel-envio { background: var(--papel); border: 1px solid var(--verde); border-radius: 10px; padding: 18px; margin-top: 16px; }
.panel-envio pre { white-space: pre-wrap; font: inherit; background: var(--fondo); padding: 10px; border-radius: 6px; }
.reporte { font-size: 12px; color: var(--gris); margin-top: 8px; }
.reporte .mal { color: var(--rojo); }

/* Plantillas */
.plantilla { background: var(--papel); border: 1px solid var(--borde); border-radius: 10px; padding: 18px; margin-top: 16px; }
.plantilla-cab { display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.mapeo { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 14px; margin-top: 12px; }
.mapeo label { flex-direction: row; align-items: center; gap: 8px; } .mapeo label span { flex: 1; font-family: ui-monospace, monospace; font-size: 12px; word-break: break-all; }
.mapeo select { flex: 1.3; }
.firma-pos { display: flex; gap: 10px; align-items: flex-end; margin-top: 12px; flex-wrap: wrap; } .firma-pos label { width: 90px; }
.config-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.preview { max-width: 240px; max-height: 100px; object-fit: contain; border: 1px dashed var(--borde); padding: 6px; border-radius: 6px; background: #fff; }

@media (max-width: 800px) {
  #app { grid-template-columns: 1fr; } .lateral { position: static; height: auto; }
  .principal { padding: 20px 16px 80px; } .fila { flex-direction: column; } .config-grid, .mapeo { grid-template-columns: 1fr; }
  .editor-cabecera { flex-direction: column; }
}
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }

/* Diseño de captura: escritorio y móvil */
:root { --azul:#2463eb; --azul-claro:#eaf1ff; --tinta:#15233c; --gris:#63718a; --borde:#dce3ef; --fondo:#f3f6fb; --serif:"IBM Plex Serif",Georgia,serif; }
body { -webkit-font-smoothing:antialiased; }
button { min-height:44px; border-radius:10px; font-weight:500; transition:background .15s; }
button.primario { background:#2463eb; box-shadow:0 3px 8px #163e3210; }
button.primario:hover { background:#1649b4; }
input,select,textarea { min-height:46px; font-size:16px; border-radius:9px; }
input[type=checkbox],input[type=range] { min-height:0; }
label { font-size:13px; font-weight:500; gap:8px; }
#app { grid-template-columns:240px minmax(0,1fr); }
.lateral { padding:32px 20px 20px; background:#111f38; gap:20px; }
.monograma { display:grid; place-items:center; width:42px; height:42px; background:#2463eb; color:white!important; font:20px var(--serif)!important; border-radius:13px; margin-bottom:16px; }
.marca h1 { font-size:24px; color:var(--tinta); }
.marca-sub { font-size:9px; letter-spacing:1.1px; margin:8px 0; color:var(--gris); }
.nav-etiqueta { font-size:10px; letter-spacing:1.4px; color:var(--gris); margin-top:12px; }
.sin-casos { font-size:12px; line-height:1.7; color:#7c8982; padding:4px 8px; }
.lateral-pie { gap:5px; } .lateral-pie button { font-size:13px; }
.principal { padding:48px clamp(24px,3vw,56px) 48px; width:100%; max-width:1680px; min-width:0; }
.cabecera { margin-bottom:28px; } .cabecera p { font-size:14px; line-height:1.7; }
.eyebrow { font-size:10px; letter-spacing:1.8px; color:var(--azul); font-weight:600; display:block; margin-bottom:14px; }
#vistaNuevo .cabecera h2 { font-size:clamp(28px,3.1vw,42px); letter-spacing:-1.3px; line-height:1.2; }
.cabecera h2 em { color:var(--azul); font-style:normal; }
#vistaNuevo .cabecera p { max-width:580px; margin-top:14px; }
.caso-form { padding:0; border:0; background:none; gap:24px; }
.captura-card,.manual-card { border:1px solid var(--borde); border-radius:18px; background:white; padding:28px; box-shadow:0 5px 25px #203d3304; min-width:0; }
.captura-card { border-top:3px solid var(--azul); }
.seccion-titulo { display:flex; align-items:center; gap:12px; margin-bottom:22px; }
.paso { width:34px; height:34px; flex-shrink:0; background:#eef3ff; color:var(--azul); border-radius:50%; display:grid; place-items:center; font-size:12px; font-weight:600; }
.seccion-titulo h3 { font:600 18px var(--sans); letter-spacing:-.3px; }
.seccion-titulo p { font-size:12px; color:var(--gris); margin-top:5px; line-height:1.5; }
.insignia { margin-left:auto; border:1px solid #d7e3fb; background:#f1f5ff; padding:5px 9px; border-radius:6px; font-size:9px; color:var(--azul); letter-spacing:.6px; white-space:nowrap; }
#relato { border:0; background:#f6f8fc; padding:20px; min-height:185px; line-height:1.7; border-radius:12px; }
#relato::placeholder { color:#8793a8; }
.herramientas-captura { display:flex; justify-content:space-between; align-items:center; gap:10px; margin-top:12px; }
#btnDictar { color:var(--azul); border-color:#cbd9f1; background:#f2f6ff; font-size:13px; }
#btnDictar[aria-pressed=true] { background:#fff0ec; color:#a02e21; border-color:#e3b6a7; }
#cuentaRelato { color:#75849b; font-size:11px; }
.ayuda { color:var(--gris); font-size:11px; line-height:1.6; margin-top:10px; }
.zona-archivos { border:1px dashed #c5d2e8; background:#f9fbff; border-radius:12px; display:flex; gap:13px; align-items:center; flex-wrap:wrap; padding:18px; margin-top:22px; }
.zona-archivos.arrastrando { background:#e8f0ff; border-color:var(--azul); }
.adjunto-icono { width:36px; height:36px; display:grid; place-items:center; color:var(--azul); background:#eaf0ff; border-radius:10px; font-size:22px; }
.zona-archivos h4 { font-size:13px; margin:0 0 5px; font-weight:500; }.zona-archivos p { font-size:11px; color:var(--gris); }
.botones-archivos { display:flex; gap:8px; margin-left:auto; flex-wrap:wrap; }
.boton-archivo { position:relative; overflow:hidden; padding:10px 12px; border:1px solid #d5deed; background:white; color:var(--azul); border-radius:8px; cursor:pointer; min-height:44px; justify-content:center; font-size:12px; }
.boton-archivo input { position:absolute; opacity:0; inset:0; width:100%; height:100%; cursor:pointer; }
.boton-archivo:focus-within { outline:2px solid var(--azul); outline-offset:2px; }
.archivos-lista { list-style:none; padding:0; margin:8px 0 0; display:grid; gap:6px; }
.archivos-lista li { display:flex; align-items:center; gap:10px; border-radius:8px; padding:4px 10px; background:#eef3fc; font-size:12px; }.archivos-lista span { overflow-wrap:anywhere; min-width:0; flex:1; }.archivos-lista button { padding:4px 12px; background:none; border:0; }
#errorArchivos:empty { display:none; }
.manual-card { display:flex; flex-direction:column; gap:18px; }.manual-card .seccion-titulo { margin-bottom:6px; }.fila > label { min-width:0; }
.generar-barra { margin:0; padding:4px 0 16px; flex-wrap:wrap; }.generar-barra p { font-size:13px; margin-right:auto; }.generar-barra small { display:block; color:var(--gris); font-size:11px; margin-top:5px; }.generar-barra .estado { width:100%; }
#btnGenerar { padding:13px 24px; }
.tarjeta-login { width:min(400px,calc(100% - 32px)); border-radius:20px; padding:36px; box-shadow:0 18px 60px #1b443310; }
.barra-movil { display:none; }.sr-only { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0; }
.controles { flex-wrap:wrap; }.conmutador { white-space:normal; }.campo textarea { font-size:16px!important; }.lista-editable input { min-width:0; }
@media(max-width:1050px) { #app { grid-template-columns:210px minmax(0,1fr); }.lateral { padding:28px 16px; }.principal { padding:32px 24px; }.insignia { display:none; }.botones-archivos { margin-left:0; }.editor-cabecera { flex-direction:column; } }
@media(max-width:800px) {
 #app { display:block; }.lateral { display:none; position:relative; height:auto; border-right:0; border-bottom:1px solid var(--borde); padding-top:80px; }.menu-abierto .lateral { display:flex; }.lista-casos { max-height:220px; }
 .principal { padding:84px 16px 28px; }.menu-abierto .principal { padding-top:24px; }
 .barra-movil { display:flex; position:absolute; top:0; left:0; right:0; height:64px; padding:0 20px; justify-content:space-between; align-items:center; background:#111f38; border-bottom:1px solid var(--borde); }.barra-movil span { color:var(--azul); font-family:var(--serif); }.barra-movil b { font:500 16px var(--sans); margin-left:12px; color:var(--tinta); }.barra-movil button { font-size:12px; padding:5px 12px; min-height:38px; }
 #vistaNuevo .cabecera h2 { font-size:31px; letter-spacing:-.8px; }.eyebrow { font-size:9px; margin-bottom:10px; }.cabecera { margin-bottom:24px; }.cabecera p { font-size:13px; }
 .captura-card,.manual-card { padding:20px 16px; border-radius:14px; }.seccion-titulo h3 { font-size:17px; }.seccion-titulo p { font-size:12px; }.seccion-titulo { align-items:flex-start; gap:10px; }
 #relato { padding:16px; min-height:210px; font-size:16px; }.zona-archivos { padding:14px; gap:10px; }.zona-archivos > div:nth-child(2) { flex:1; }.botones-archivos { width:100%; }.boton-archivo { flex:1; text-align:center; }.ayuda { font-size:11px; }
 .fila { flex-direction:column; }.fila .corta { flex:1; }.config-grid,.mapeo { grid-template-columns:1fr; }.generar-barra { gap:16px; }#btnGenerar { width:100%; }.generar-barra p { width:100%; }
 .barra-final { position:static; display:grid; grid-template-columns:1fr; }.barra-final button { width:100%; text-align:center; }.controles { gap:12px; }.lista-editable .fila-ed { flex-wrap:wrap; }#edMateriales .fila-ed { display:grid; grid-template-columns:1fr 1fr; border-bottom:1px solid var(--borde); padding:8px 0; }#edMateriales input { width:100%; }
 .mapeo label { flex-wrap:wrap; }.mapeo label span { min-width:100%; }.formulario.en-linea { padding:18px; }.formulario.en-linea > label { width:100%; }.plantilla-cab { flex-wrap:wrap; }.plantilla { padding:16px; }
}

/* Identidad visual: azul marino, azul brillante y tipografía sans serif. */
:root { --sans: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; --serif:var(--sans); }
h1,h2,h3 { font-family:var(--sans); font-weight:650; }
.lateral { background:#111f38; border-right:0; }.marca h1,.barra-movil b { color:#f5f8ff; }.marca-sub,.marca span,.nav-etiqueta,.sin-casos { color:#9cafce; }.lateral-pie { border-color:#2c3b55; }.lateral-pie button.enlace { color:#c6d5ee; }.lista-casos button { color:#ecf2ff; border-radius:8px; }.lista-casos small { color:#9cafce; }.lista-casos button.activo { background:#263c60; }.monograma { border:1px solid #557ed0; }.barra-movil { background:#111f38; }.barra-movil span { color:#82acff; }.barra-movil button { background:#263c60; border-color:#415879; color:white; }
#vistaNuevo .cabecera h2 { font-weight:700; letter-spacing:-1.4px; }.cabecera h2 em { color:#2463eb; }.cabecera p { color:#63718a; }.tarjeta-login h1 { font-weight:700; }
.plantilla { border-radius:16px; box-shadow:0 4px 18px #13244305; }.plantilla h3 { font-size:18px; }.plantilla details { margin-top:16px; border-top:1px solid var(--borde); padding-top:14px; }.plantilla summary { cursor:pointer; font-weight:600; color:#2463eb; padding:8px 0; }.plantilla-resumen { margin-top:12px; font-size:13px; line-height:1.6; color:#63718a; }.ver-formato { display:inline-flex; align-items:center; min-height:44px; padding:8px 14px; color:#2463eb; background:#edf3ff; border-radius:9px; text-decoration:none; font-size:13px; }.mapeo label { padding:8px; background:#f7f9fd; border-radius:8px; }.mapeo label span { font-family:var(--sans); }

.mapeo-dialog { width:min(1400px,96vw); max-width:96vw; height:92vh; max-height:92vh; padding:0; border:1px solid #dce3ef; border-radius:18px; color:var(--tinta); background:#f3f6fb; }.mapeo-dialog::backdrop { background:#101b30b8; }.mapeo-top { display:flex; justify-content:space-between; align-items:center; padding:18px 24px; background:white; border-bottom:1px solid var(--borde); }.mapeo-top p { font-size:13px; margin-top:6px; color:var(--gris); }.mapeo-cuerpo { display:grid; grid-template-columns:minmax(0,1fr) 290px; height:calc(100% - 90px); }.mapeo-documento { min-width:0; min-height:0; display:flex; flex-direction:column; }.mapeo-paginador { display:flex; justify-content:space-between; align-items:center; padding:10px 18px; font-size:13px; }.mapeo-scroll { overflow:auto; padding:12px; }.mapeo-panel { display:flex; flex-direction:column; gap:16px; padding:24px; background:white; overflow:auto; }.mapeo-panel select { font-size:14px; }.mapeo-panel p { font-size:12px; line-height:1.5; overflow-wrap:anywhere; }#hojaVisual { position:relative; width:100%; background:white; }#imagenVisual { width:100%; height:auto; display:block; }#zonasVisuales { position:absolute; inset:0; }.zona-campo { position:absolute; min-height:0; min-width:0; border:1px solid #2463eb99; padding:0; border-radius:2px; background:#2463eb18; box-shadow:none; }.zona-campo:hover { background:#2463eb45; }.zona-campo.asignada { background:#16a36c20; border-color:#15845d; }.zona-campo.seleccionada { outline:3px solid #ffae26; z-index:2; }
@media(max-width:800px){.mapeo-dialog { width:100vw; max-width:100vw; height:100dvh; max-height:100dvh; border-radius:0; }.mapeo-top { padding:12px; }.mapeo-top h2{font-size:18px;}.mapeo-cuerpo { display:flex; flex-direction:column; height:calc(100% - 80px); }.mapeo-documento { flex:1; }.mapeo-panel { flex-shrink:0; max-height:40vh; padding:12px 16px; gap:10px; border-top:1px solid var(--borde); }.mapeo-panel .ayuda { display:none; }.mapeo-panel h3{font-size:14px;}.mapeo-panel label {font-size:12px;}.mapeo-scroll { padding:6px; }#hojaVisual {min-width:650px;}}

/* MAIA Informes: identidad y experiencia de uso */
:root { --azul:#173c57; --azul-claro:#eaf2f7; --tinta:#213b4e; --gris:#617686; --borde:#dce6eb; --fondo:#f4f7f9; --verde:#168875; }
body { font-size:15px; line-height:1.5; background:var(--fondo); }
button { font-weight:600; }.primario,button.primario { background:#173c57; border-color:#173c57; color:#fff; }button.primario:hover { background:#225474; border-color:#225474; }
input,select,textarea { border-color:#d8e3e9; border-radius:10px; padding:11px 13px; }input:hover,select:hover,textarea:hover { border-color:#aabecb; }input:focus,select:focus,textarea:focus { outline:3px solid #38b5a02c; border-color:#168875; outline-offset:0; }
.lateral { background:#fff; border-right:1px solid #e1e9ee; padding:30px 18px 22px; }.marca h1 { font-size:24px; font-weight:750; color:#173c57; letter-spacing:-1px; }.marca h1 span { color:#168875; font-size:inherit; }.brand-lockup { display:flex; align-items:center; gap:10px; }.brand-lockup img { flex-shrink:0; }.marca-sub { font-size:8px; color:#68808f; letter-spacing:1px; margin-top:13px; }.marca #quien { display:inline-block; font-size:11px; color:#687e8d; margin-top:4px; }.nav-etiqueta { color:#788d9a; font-size:9px; letter-spacing:1.4px; }.sin-casos { color:#7b8f9d; border:1px dashed #d9e4ea; border-radius:12px; padding:15px; line-height:1.8; }.lista-casos button { color:#213b4e; }.lista-casos small { color:#687e8d; }.lista-casos button.activo { background:#edf5f5; border-left-color:#168875; }.lista-casos button:hover { background:#f1f6f9; }
.lateral-pie { border-color:#e1e9ee; }.lateral-pie button.enlace { color:#617686; }.ajustes-nav summary { cursor:pointer; font-size:12px; font-weight:600; color:#3e586a; padding:12px 0; }.ajustes-nav p { font-size:11px; color:#7b8f9d; margin:0 0 6px; }.ajustes-nav button { display:block; font-size:12px; }.ajustes-nav[open] { padding-bottom:12px; }
.principal { max-width:1680px; padding-top:42px; }.eyebrow { color:#168875; font-size:9px; letter-spacing:1.8px; }#vistaNuevo .cabecera h2 { color:#173c57; font-size:clamp(28px,3vw,38px); font-weight:750; letter-spacing:-1.1px; line-height:1.2; }#vistaNuevo .cabecera p { margin-top:12px; font-size:15px; color:#6b7e8b; }.cabecera { margin-bottom:22px; }
.guia-pasos { display:flex; align-items:center; gap:25px; padding:0 0 24px; margin:0; list-style:none; color:#82929e; font-size:12px; }.guia-pasos li { display:flex; align-items:center; gap:9px; }.guia-pasos li+li:before { content:""; width:30px; height:1px; background:#dbe5eb; margin-right:8px; }.guia-pasos span { display:grid; place-items:center; width:24px; height:24px; border:1px solid #d5e0e7; border-radius:50%; font-size:10px; background:#fff; }.guia-pasos .actual { color:#173c57; font-weight:600; }.guia-pasos .actual span { background:#173c57; border-color:#173c57; color:white; }
.captura-card,.manual-card { border:1px solid #dce6eb; box-shadow:0 5px 20px #274c6205; border-radius:18px; padding:27px; }.captura-card { border-top:1px solid #dce6eb; }.seccion-titulo { margin-bottom:20px; }.seccion-titulo h3 { font-size:18px; color:#244356; font-weight:650; }.seccion-titulo p { font-size:12px; color:#768997; }.paso { background:#eaf6f1; color:#168875; border-radius:11px; font-size:20px; width:37px; height:37px; }.insignia { background:#f0f7f3; color:#168875; border:0; border-radius:20px; font-size:10px; letter-spacing:0; padding:5px 11px; }
#relato { background:#f6f9fb; border:1px solid #e6edf1; min-height:180px; line-height:1.8; font-size:16px; }#relato::placeholder { color:#8397a5; }#btnDictar { color:#173c57; border-color:#d5e2e9; background:#fff; border-radius:9px; }.herramientas-captura { margin-top:14px; }#cuentaRelato { color:#8295a2; }.ayuda { color:#758a99; line-height:1.65; }
.zona-archivos { background:#fbfdfc; border-color:#cddfd8; padding:17px; margin-top:22px; }.adjunto-icono { background:#eaf6ef; color:#168875; }.zona-archivos h4 { color:#38574c; }.zona-archivos p { color:#789086; }.boton-archivo { color:#315b4e; border-color:#d4e3db; background:#fff; border-radius:8px; }.archivos-lista li { background:#edf7f1; }.zona-archivos.arrastrando { background:#e4f4eb; border-color:#168875; }
.manual-card { gap:20px; }.manual-card .seccion-titulo { margin-bottom:0; }.manual-card label { color:#5b7281; font-size:12px; }.datos-adicionales { border-top:1px solid #e5ecf0; padding-top:16px; }.datos-adicionales summary { font-size:13px; font-weight:600; color:#315368; cursor:pointer; padding:4px 0; }.datos-adicionales summary span { display:block; font-size:11px; font-weight:400; color:#7e929f; margin:5px 0 0 16px; }.datos-contenido { display:flex; flex-direction:column; gap:17px; padding-top:20px; }.generar-barra { padding:4px 2px 16px; }.generar-barra p { color:#3e596b; font-weight:500; font-size:13px; }.generar-barra small { font-weight:400; color:#7d919e; }#btnGenerar { min-height:49px; padding:12px 24px; border-radius:11px; }
#login { background:radial-gradient(ellipse at 20% 20%,#e8f5ef 0,transparent 45%),radial-gradient(ellipse at 90% 90%,#e1edf7 0,transparent 50%),#f5f8fa; }.tarjeta-login { width:min(440px,calc(100% - 32px)); border-color:#e1e8ed; box-shadow:0 22px 65px #173c5710; padding:36px; gap:20px; }.logo-login { width:100%; max-width:310px; height:auto; margin:0 auto 12px; }.tarjeta-login .bienvenida { font-size:19px; color:#244356; letter-spacing:-.4px; }.tarjeta-login .sub { margin-top:-10px; line-height:1.65; font-size:13px; }.tarjeta-login button { margin-top:4px; }
.ver-formato { background:#edf3f7; color:#315b75; }.plantilla summary { color:#315b75; }.campo,.bloque,.plantilla { border-radius:15px; }.campo-cab h3,.bloque h3 { color:#244356; }.barra-final { border-color:#dce6eb; }.barra-final .primario { margin-left:auto; }.campo-herr button.enlace { color:#168875; }
@media(max-width:1050px){.guia-pasos { gap:12px; }.guia-pasos li+li:before { width:14px; margin-right:0; }.marca h1 { font-size:21px; }.brand-lockup { gap:8px; }.brand-lockup img { width:35px; height:35px; }}
@media(max-width:800px){.lateral { padding-top:82px; }.barra-movil { background:#fff; border-color:#e1e9ee; }.barra-movil b { color:#173c57; margin:0; font-size:19px; letter-spacing:-.5px; }.barra-movil b span { color:#168875; }.barra-movil button { color:#315368; border-color:#d8e4eb; background:#f4f8fa; }.principal { padding-top:86px; }#vistaNuevo .cabecera h2 { font-size:28px; letter-spacing:-.8px; }#vistaNuevo .cabecera p { font-size:13px; }.guia-pasos { gap:8px; align-items:flex-start; justify-content:space-between; padding-bottom:22px; font-size:10px; }.guia-pasos li { flex:1; gap:7px; line-height:1.4; }.guia-pasos li+li:before { display:none; }.guia-pasos span { flex-shrink:0; width:22px; height:22px; }.captura-card,.manual-card { padding:19px 16px; border-radius:15px; }.seccion-titulo h3 { font-size:17px; }#relato { min-height:200px; }.generar-barra { padding-bottom:22px; }.barra-final .primario { margin-left:0; }.tarjeta-login { padding:28px; }.datos-adicionales summary { font-size:13px; }.datos-adicionales summary span { font-size:11px; }}
/* La barra de dictado flota: se deja aire para que no tape el final del formulario. */
#vistaNuevo .caso-form { padding-bottom: 12px; }
#vistaNuevo { padding-bottom: 8px; }
