:root{--pri:#1a3a5c;--bg:#f5f7fa;--borde:#d9dee5;--ok:#1e7a3c;--err:#b42318;--warn:#a15c07;font-family:system-ui,-apple-system,"Segoe UI",sans-serif;color:#222}
body{margin:0;background:var(--bg)}
.cabecera{display:flex;justify-content:space-between;align-items:center;gap:1rem;flex-wrap:wrap;background:var(--pri);color:#fff;padding:.6rem 1.2rem}
.aviso-entorno{background:#fde68a;color:#5b4300;font-size:.8rem;font-weight:600;padding:.2rem .6rem;border-radius:.3rem}
.tenue{opacity:.7;font-size:.9em}
main{max-width:58rem;margin:1.5rem auto;padding:0 1rem}
.tarjeta{background:#fff;border:1px solid var(--borde);border-radius:.6rem;padding:1.2rem 1.4rem;margin-bottom:1rem}
.estrecha{max-width:26rem;margin-left:auto;margin-right:auto}
h1{font-size:1.35rem;color:var(--pri);margin:0 0 .8rem}
h2{font-size:1.1rem;color:var(--pri);margin:0 0 .6rem}
label{display:block;font-weight:600;margin:.7rem 0 .25rem;font-size:.92rem}
input[type=text],input[type=email],input[type=password]{width:100%;box-sizing:border-box;padding:.55rem .6rem;border:1px solid var(--borde);border-radius:.4rem;font-size:1rem}
input.codigo{font-family:ui-monospace,monospace;font-size:1.3rem;letter-spacing:.2em;text-align:center}
button{background:var(--pri);color:#fff;border:0;border-radius:.4rem;padding:.55rem 1rem;font-size:.95rem;cursor:pointer;margin:.8rem .4rem 0 0}
button.secundario{background:#fff;color:var(--pri);border:1px solid var(--pri)}
button.peligro{background:var(--err)}
button.pequeno{padding:.3rem .6rem;font-size:.85rem;margin:0}
button:disabled{opacity:.5;cursor:default}
.enlace{background:none;color:var(--pri);text-decoration:underline;padding:0;margin:.8rem 0 0}
.mensaje{padding:.6rem .8rem;border-radius:.4rem;margin:.8rem 0 0;font-size:.92rem}
.mensaje.error{background:#fdecea;color:var(--err)}
.mensaje.ok{background:#e7f6ec;color:var(--ok)}
.mensaje.espera{background:#fff4e0;color:var(--warn)}
nav.menu{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}
nav.menu button{margin:0;background:#fff;color:var(--pri);border:1px solid var(--borde)}
nav.menu button.activo{background:var(--pri);color:#fff}
table{width:100%;border-collapse:collapse;font-size:.88rem}
th,td{text-align:left;padding:.45rem .5rem;border-bottom:1px solid var(--borde);vertical-align:top}
th{background:#eef2f6;color:var(--pri)}
td.detalle{font-family:ui-monospace,monospace;font-size:.8rem;word-break:break-word}
.codigos{display:grid;grid-template-columns:repeat(2,1fr);gap:.3rem .8rem;font-family:ui-monospace,monospace;font-size:1.05rem;background:#f8f9fa;padding:.8rem;border-radius:.4rem}
.qr{display:block;margin:.6rem 0;border:1px solid var(--borde);border-radius:.4rem}
.secreto{font-family:ui-monospace,monospace;word-break:break-all;background:#f8f9fa;padding:.3rem .5rem;border-radius:.3rem}
.insignia{display:inline-block;font-size:.75rem;padding:.1rem .45rem;border-radius:1rem;background:#eef2f6;color:var(--pri);margin-left:.3rem}
.insignia.ok{background:#e7f6ec;color:var(--ok)}
.insignia.no{background:#fdecea;color:var(--err)}
.aviso-entorno:empty{display:none}
/* ── Documentos (1.5) ── */
select,input[type=number],input[type=date],input[type=search],input[type=url],textarea{width:100%;box-sizing:border-box;padding:.5rem .6rem;border:1px solid var(--borde);border-radius:.4rem;font-size:1rem;font-family:inherit;background:#fff}
textarea{resize:vertical;line-height:1.45}
input:disabled,select:disabled,textarea:disabled{background:#f1f3f6;color:#444}
.fila-titulo{display:flex;justify-content:space-between;align-items:center;gap:.6rem;flex-wrap:wrap}
.fila-titulo h1,.fila-titulo h2{margin:0}
.fila-titulo button{margin:0}
.filtros{display:grid;grid-template-columns:2fr repeat(3,1fr);gap:.5rem;margin:1rem 0}
.rejilla{display:grid;grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));gap:0 .9rem}
.rejilla>*{min-width:0}
.tarjeta.interior{background:#f8fafc;margin-top:1rem}
h2.anio{margin:1.2rem 0 .4rem;border-bottom:2px solid var(--pri);padding-bottom:.2rem}
h3{font-size:1rem;color:var(--pri);margin:1.2rem 0 .2rem}
.lista-docs{list-style:none;margin:0;padding:0}
.lista-docs li{margin:0 0 .4rem}
button.doc{display:flex;flex-direction:column;gap:.15rem;width:100%;text-align:left;background:#fff;color:#222;border:1px solid var(--borde);margin:0;padding:.6rem .8rem}
button.doc:hover{border-color:var(--pri)}
.doc-titulo{font-weight:600;color:var(--pri)}
.doc-meta{font-size:.85rem;overflow-wrap:anywhere}
.codigo-doc{font-family:ui-monospace,monospace;font-size:.85em}
.insignia.editando{background:#fff4e0;color:var(--warn)}
.paginas{margin-top:1rem;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}
.barra-editor{position:sticky;top:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:.4rem .8rem;background:var(--bg);padding:.5rem 0;border-bottom:1px solid var(--borde);margin-bottom:.6rem}
.barra-editor button{margin:0}
.barra-editor .acciones{margin-left:auto;display:flex;gap:.4rem}
.estado-guardado{font-size:.85rem;padding:.15rem .5rem;border-radius:1rem;background:#eef2f6}
.estado-guardado.ok{background:#e7f6ec;color:var(--ok)}
.estado-guardado.pendiente{background:#eef2f6;color:var(--pri)}
.estado-guardado.error{background:#fff4e0;color:var(--warn)}
.formulario>.campo{margin-bottom:.6rem}
details.seccion{border:1px solid var(--borde);border-radius:.5rem;margin:.5rem 0;background:#fff}
details.seccion>summary{cursor:pointer;padding:.7rem .9rem;font-weight:600;color:var(--pri);list-style-position:inside}
details.seccion[open]>summary{border-bottom:1px solid var(--borde)}
.seccion-cuerpo{padding:.2rem .9rem .9rem}
fieldset{border:1px solid var(--borde);border-radius:.4rem;margin:.8rem 0;padding:.3rem .8rem .6rem;min-width:0}
legend{font-weight:600;font-size:.92rem;padding:0 .3rem}
.casillas{display:flex;flex-wrap:wrap;gap:.2rem 1rem}
label.casilla{display:inline-flex;align-items:center;gap:.3rem;font-weight:400;margin:.3rem 0}
.rotulo{font-weight:600;font-size:.92rem;margin:.9rem 0 .3rem}
.lista .fila{display:flex;gap:.4rem;align-items:flex-start;border-left:3px solid var(--borde);padding:.1rem 0 .4rem .6rem;margin-bottom:.6rem}
.fila-campos{flex:1;min-width:0}
button.quitar{background:#fff;color:var(--err);border:1px solid var(--borde);margin:1.9rem 0 0;padding:.2rem .55rem;font-size:1.1rem;line-height:1}
.origen{display:inline-block;font-size:.72rem;font-weight:500;padding:.05rem .4rem;border-radius:1rem;margin-left:.4rem;background:#eef2f6;color:var(--pri)}
.origen-ia_propuesto{background:#fff4e0;color:var(--warn)}
.bitacora{margin:.6rem 0;padding-left:1.1rem;font-size:.9rem}
.combinacion{border-color:var(--warn)}
.conflicto{background:#fffaf2}
label.opcion-conflicto{display:grid;grid-template-columns:auto 1fr;gap:.1rem .5rem;font-weight:400;margin:.4rem 0}
.valor-conflicto{grid-column:2;white-space:pre-wrap;overflow-wrap:anywhere;background:#fff;border:1px solid var(--borde);border-radius:.3rem;padding:.3rem .5rem;font-size:.9rem}
.solo-lectura{margin-top:.6rem;opacity:.95}
.zona-borrar{margin:1rem 0 2rem;text-align:right}
.mensaje ul{margin:.4rem 0 0;padding-left:1.2rem}
.mensaje button{margin:.4rem 0 0}
@media (max-width:40rem){
  main{margin:.8rem auto;padding:0 .6rem}
  .tarjeta{padding:.9rem .8rem}
  .filtros{grid-template-columns:1fr 1fr}
  .filtros input[type=search]{grid-column:1/-1}
  .barra-editor .acciones{margin-left:0;width:100%}
  .barra-editor .acciones button{flex:1}
  table{display:block;overflow-x:auto}
}
