/* Control SUNAFIL · estilos */
:root {
  --azul-900: #0f2742;
  --azul-700: #1d4f86;
  --azul-500: #2f6fb8;
  --azul-100: #e7f0fb;
  --texto: #1c2633;
  --texto-suave: #5b6878;
  --borde: #dfe5ec;
  --fondo: #f4f6f9;
  --blanco: #ffffff;
  --verde: #1f9d55;
  --verde-claro: #e3f6eb;
  --ambar: #d48806;
  --ambar-claro: #fff5df;
  --rojo: #d43c3c;
  --rojo-claro: #fdeaea;
  --azul-estado: #2f6fb8;
  --sombra: 0 1px 2px rgba(15, 39, 66, .06), 0 4px 14px rgba(15, 39, 66, .06);
  --radio: 10px;
}
* { box-sizing: border-box; }
html { font-size: 15px; }
body {
  margin: 0;
  font-family: "Segoe UI", system-ui, -apple-system, Roboto, Arial, sans-serif;
  color: var(--texto);
  background: var(--fondo);
  line-height: 1.5;
}
a { color: var(--azul-700); }
h1 { font-size: 1.6rem; margin: .2rem 0 .3rem; color: var(--azul-900); }
h2 { font-size: 1.12rem; margin: 0 0 .7rem; color: var(--azul-900); }
h3 { font-size: 1rem; margin: 1.1rem 0 .5rem; color: var(--azul-900); }
small { color: var(--texto-suave); }
hr { border: 0; border-top: 1px solid var(--borde); margin: 1rem 0; }

.contenedor { max-width: 1180px; margin: 0 auto; padding: 0 20px; }
main.contenedor { padding-top: 1.4rem; padding-bottom: 2rem; min-height: 70vh; }

/* Barra superior */
.barra-superior { background: var(--azul-900); color: #fff; box-shadow: 0 2px 8px rgba(0,0,0,.15); }
.barra-contenido { display: flex; align-items: center; gap: 1.5rem; min-height: 62px; flex-wrap: wrap; }
.marca { display: flex; align-items: center; gap: .65rem; color: #fff; text-decoration: none; }
.marca small { display: block; color: #a9bdd6; font-size: .75rem; }
.marca-logo {
  display: inline-grid; place-items: center; width: 38px; height: 38px; border-radius: 9px;
  background: linear-gradient(135deg, #2f6fb8, #1f9d55); color: #fff; font-weight: 700; letter-spacing: .5px;
}
.marca-logo.grande { width: 64px; height: 64px; font-size: 1.5rem; border-radius: 14px; }
.menu { display: flex; gap: .3rem; flex: 1; }
.menu a { color: #cfdcec; text-decoration: none; padding: .45rem .8rem; border-radius: 7px; }
.menu a:hover { background: rgba(255,255,255,.08); color: #fff; }
.menu a.activo { background: rgba(255,255,255,.14); color: #fff; font-weight: 600; }
.cuenta { display: flex; align-items: center; gap: .9rem; font-size: .9rem; }
.cuenta a, .cuenta .enlace { color: #cfdcec; }
.cuenta-nombre { color: #fff; font-weight: 600; max-width: 260px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.en-linea { display: inline; margin: 0; }
.enlace { background: none; border: 0; padding: 0; font: inherit; text-decoration: underline; cursor: pointer; }

.miga { font-size: .85rem; color: var(--texto-suave); margin-bottom: .6rem; display: flex; gap: .45rem; flex-wrap: wrap; }
.miga a { color: var(--texto-suave); }
.subtitulo { color: var(--texto-suave); margin: 0 0 1.2rem; }
.nota { color: var(--texto-suave); font-size: .88rem; }
.base-legal { color: var(--texto-suave); font-size: .82rem; }
.vacio { color: var(--texto-suave); text-align: center; padding: 1.5rem; }

/* Tarjetas */
.tarjeta { background: var(--blanco); border: 1px solid var(--borde); border-radius: var(--radio); box-shadow: var(--sombra); padding: 1.3rem 1.4rem; margin-bottom: 1.2rem; }
.tarjeta.angosta { max-width: 480px; margin: 1rem auto; }

/* Formularios */
label { display: block; font-weight: 600; font-size: .9rem; margin: .8rem 0 .3rem; }
input, select, textarea {
  width: 100%; padding: .55rem .7rem; border: 1px solid #c9d3de; border-radius: 7px; font: inherit; background: #fff; color: var(--texto);
}
input:focus, select:focus, textarea:focus { outline: 2px solid var(--azul-100); border-color: var(--azul-500); }
input:disabled { background: #f0f3f6; color: var(--texto-suave); }
label.casilla { display: flex; gap: .55rem; align-items: flex-start; font-weight: 400; margin: .55rem 0; }
label.casilla input { width: auto; margin-top: .3rem; }
fieldset { border: 1px solid var(--borde); border-radius: 8px; padding: .4rem 1rem 1rem; margin: 0 0 1rem; }
legend { font-weight: 700; color: var(--azul-900); padding: 0 .4rem; }
.rejilla-2 { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0 1rem; }
.rejilla-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 0 1rem; }

.boton {
  display: inline-block; background: var(--azul-700); color: #fff; border: 0; border-radius: 8px; padding: .6rem 1.15rem;
  font: inherit; font-weight: 600; cursor: pointer; text-decoration: none; margin-top: 1rem;
}
.boton:hover { background: var(--azul-900); }
.boton-secundario { background: #fff; color: var(--azul-700); border: 1px solid #b9c7d8; }
.boton-secundario:hover { background: var(--azul-100); }
.boton-peligro { background: var(--rojo); }
.boton-peligro:hover { background: #a92b2b; }
.boton-chico { padding: .3rem .7rem; font-size: .85rem; margin: 0; }
.boton-ancho { width: 100%; }

/* Mensajes */
.mensaje { border-radius: 8px; padding: .75rem 1rem; margin: 0 0 1rem; border: 1px solid; }
.mensaje-ok { background: var(--verde-claro); border-color: #b5e3c7; color: #145c33; }
.mensaje-error { background: var(--rojo-claro); border-color: #f2bcbc; color: #8a1f1f; }
.mensaje-aviso { background: var(--ambar-claro); border-color: #f1d79a; color: #6d4a00; }
.mensaje-info { background: var(--azul-100); border-color: #c4d8f1; color: #19406c; }
.mensaje.destacado { display: flex; align-items: center; justify-content: space-between; gap: 1rem; flex-wrap: wrap; }
.mensaje.destacado .boton { margin: 0; }

/* Etiquetas y semáforo */
.etiqueta { display: inline-block; font-size: .76rem; font-weight: 600; padding: .15rem .55rem; border-radius: 999px; background: #eef1f5; color: var(--texto-suave); white-space: nowrap; }
.etiqueta.grande { font-size: .9rem; padding: .35rem .9rem; }
.etiqueta-alerta { background: #fff0e0; color: #9a4d00; }
.gravedad-leve { background: #eef1f5; color: #4a5866; }
.gravedad-grave { background: #fff1d6; color: #8a5a00; }
.gravedad-muy_grave { background: var(--rojo-claro); color: #9b2020; }
.estado-pendiente { background: var(--rojo-claro); color: #9b2020; }
.estado-revision { background: var(--azul-100); color: #1d4f86; }
.estado-observado { background: var(--ambar-claro); color: #8a5a00; }
.estado-aprobado { background: var(--verde-claro); color: #156c3b; }
.estado-inactivo { background: #eceff3; color: #6b7785; }
.punto { display: inline-block; width: 12px; height: 12px; border-radius: 50%; flex: none; }
.punto.verde { background: var(--verde); }
.punto.ambar { background: var(--ambar); }
.punto.rojo { background: var(--rojo); }
.punto.azul { background: var(--azul-estado); }
.leyenda { display: flex; gap: 1.2rem; flex-wrap: wrap; font-size: .85rem; color: var(--texto-suave); margin: 0 0 1rem; }
.leyenda span { display: inline-flex; align-items: center; gap: .4rem; }

.barra { display: block; margin: .6rem 0 .4rem; }
.barra-fondo { fill: #e6ebf1; }
.barra-valor { fill: var(--verde); }

/* Panel del cliente */
.encabezado-panel { display: flex; justify-content: space-between; align-items: center; gap: 1.5rem; flex-wrap: wrap; margin-bottom: 1rem; }
.indicador { display: flex; align-items: center; gap: .9rem; background: #fff; border: 1px solid var(--borde); border-radius: var(--radio); padding: .8rem 1.2rem; box-shadow: var(--sombra); border-left: 6px solid; }
.indicador-valor { font-size: 2.1rem; font-weight: 700; }
.indicador-texto { font-size: .85rem; color: var(--texto-suave); }
.semaforo-verde { border-left-color: var(--verde); }
.semaforo-verde .indicador-valor { color: var(--verde); }
.semaforo-ambar { border-left-color: var(--ambar); }
.semaforo-ambar .indicador-valor { color: var(--ambar); }
.semaforo-rojo { border-left-color: var(--rojo); }
.semaforo-rojo .indicador-valor { color: var(--rojo); }

.rejilla-materias { display: grid; grid-template-columns: repeat(2, 1fr); gap: 1.2rem; margin-bottom: 1.2rem; }
.tarjeta.materia { display: flex; flex-direction: column; text-decoration: none; color: inherit; margin: 0; transition: transform .12s, box-shadow .12s; }
.tarjeta.materia:hover { transform: translateY(-2px); box-shadow: 0 6px 22px rgba(15,39,66,.12); border-color: #c4d3e4; }
.tarjeta.materia p { color: var(--texto-suave); font-size: .92rem; flex: 1; margin: 0 0 .3rem; }
.materia-cabeza { display: flex; align-items: center; gap: .7rem; margin-bottom: .5rem; }
.materia-cabeza h2 { margin: 0; }
.materia-icono { font-size: 1.6rem; width: 46px; height: 46px; display: grid; place-items: center; background: var(--azul-100); border-radius: 10px; }
.materia-datos { display: flex; justify-content: space-between; align-items: center; gap: .5rem; flex-wrap: wrap; font-size: .9rem; margin-bottom: .4rem; }

/* Lista de documentos */
.lista-documentos { list-style: none; margin: 0; padding: 0; }
.lista-documentos li + li { border-top: 1px solid var(--borde); }
.lista-documentos a { display: flex; align-items: center; gap: .9rem; padding: .8rem .3rem; text-decoration: none; color: inherit; }
.lista-documentos a:hover { background: #f8fafc; }
.doc-nombre { flex: 1; }
.doc-nombre strong { display: block; color: var(--azul-900); }
.doc-nombre small { display: block; }
.doc-etiquetas { display: flex; gap: .35rem; flex-wrap: wrap; justify-content: flex-end; }

/* Detalle de documento */
.doc-titulo { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; margin-bottom: 1rem; flex-wrap: wrap; }
.codigo { font-size: .82rem; color: var(--texto-suave); font-weight: 600; letter-spacing: .3px; }
.doc-columnas { display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 1.2rem; align-items: start; }
.requisitos { padding-left: 0; list-style: none; }
.requisitos li { padding: .35rem 0 .35rem 1.7rem; position: relative; }
.requisitos li::before { content: "✓"; position: absolute; left: .2rem; color: var(--verde); font-weight: 700; }
.ficha-tecnica dl { margin: 0; }
.ficha-tecnica dt { font-size: .78rem; text-transform: uppercase; letter-spacing: .4px; color: var(--texto-suave); margin-top: .8rem; }
.ficha-tecnica dd { margin: .15rem 0 0; }

/* Administración */
.titulo-acciones { display: flex; justify-content: space-between; align-items: flex-start; gap: 1rem; flex-wrap: wrap; }
.titulo-acciones .boton { margin-top: .3rem; }
.kpis { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1.2rem; }
.kpi { display: flex; flex-direction: column; }
.kpi-valor { font-size: 1.9rem; font-weight: 700; color: var(--azul-900); }
.kpi-texto { color: var(--texto-suave); font-size: .88rem; }
.tabla-desplazable { overflow-x: auto; }
.tabla { width: 100%; border-collapse: collapse; font-size: .92rem; }
.tabla th { text-align: left; font-size: .78rem; text-transform: uppercase; letter-spacing: .3px; color: var(--texto-suave); border-bottom: 2px solid var(--borde); padding: .55rem .6rem; }
.tabla td { border-bottom: 1px solid var(--borde); padding: .65rem .6rem; vertical-align: top; }
.tabla .num { text-align: right; }
.tabla tr.inactivo td { opacity: .55; }
.celda-avance { min-width: 130px; }
.celda-avance .barra { margin: .3rem 0 0; }

/* Ingreso */
.login { display: grid; grid-template-columns: 1.2fr 1fr; gap: 2rem; align-items: center; max-width: 920px; margin: 4vh auto; }
.login-presentacion h1 { font-size: 2rem; margin-top: 1rem; }
.login-presentacion p { color: var(--texto-suave); font-size: 1.05rem; }
.login-materias { list-style: none; padding: 0; display: grid; gap: .5rem; }
.login-materias li { background: #fff; border: 1px solid var(--borde); border-radius: 8px; padding: .55rem .8rem; }
.login-formulario { margin: 0; }

.pie { font-size: .8rem; color: var(--texto-suave); padding: 1rem 20px 2rem; text-align: center; }

@media (max-width: 860px) {
  .rejilla-materias, .doc-columnas, .login, .rejilla-2, .rejilla-3, .kpis { grid-template-columns: 1fr; }
  .menu { order: 3; flex-basis: 100%; overflow-x: auto; }
  .cuenta-nombre { display: none; }
  .contenedor { padding: 0 16px; }
}
@media print {
  .barra-superior, .pie, .boton { display: none; }
  body { background: #fff; }
  .tarjeta { box-shadow: none; }
}

/* ---- Fase 2: estados, semáforo, archivos y revisión ---- */
.estado-verde { background: var(--verde-claro); color: #156c3b; }
.estado-azul { background: var(--azul-100); color: #1d4f86; }
.estado-ambar { background: var(--ambar-claro); color: #8a5a00; }
.estado-rojo { background: var(--rojo-claro); color: #9b2020; }
.etiqueta .punto { width: 8px; height: 8px; margin-right: .15rem; vertical-align: 1px; }
.texto-verde { color: var(--verde); }
.texto-ambar { color: var(--ambar); }
.texto-rojo { color: var(--rojo); }
.barra.ambar .barra-valor { fill: var(--ambar); }
.barra.rojo .barra-valor { fill: var(--rojo); }

.resumen-estados { display: grid; grid-template-columns: repeat(6, 1fr); gap: .8rem; margin-bottom: 1.2rem; }
.estado-caja { background: #fff; border: 1px solid var(--borde); border-top: 4px solid; border-radius: 8px; padding: .6rem .8rem; display: flex; flex-direction: column; font-size: .85rem; color: var(--texto-suave); box-shadow: var(--sombra); }
.estado-numero { font-size: 1.5rem; font-weight: 700; color: var(--texto); }
.borde-verde { border-top-color: var(--verde); }
.borde-azul { border-top-color: var(--azul-estado); }
.borde-ambar { border-top-color: var(--ambar); }
.borde-rojo { border-top-color: var(--rojo); }

.materia-porcentaje { margin-left: auto; font-size: 1.4rem; font-weight: 700; }
.tarjeta.atencion { border-left: 5px solid var(--ambar); }
.lista-documentos.compacta a { padding: .55rem .3rem; }

.kpi { text-decoration: none; color: inherit; }
.kpi-alerta { border-left: 5px solid var(--azul-estado); }
.kpi-alerta .kpi-valor { color: var(--azul-estado); }

.lista-archivos { list-style: none; padding: 0; margin: 0 0 .6rem; }
.lista-archivos li { display: flex; align-items: center; gap: .8rem; flex-wrap: wrap; padding: .5rem 0; border-bottom: 1px solid var(--borde); }
.lista-archivos li .boton { margin: 0; }
.subida { display: flex; gap: .8rem; align-items: center; flex-wrap: wrap; }
.subida input[type=file] { flex: 1; min-width: 220px; }
.subida .boton { margin: 0; }
input[type=file] { padding: .45rem; background: #f8fafc; }

.pasos h2 { display: flex; align-items: center; gap: .55rem; margin-top: .6rem; }
.pasos h2 + * { margin-top: 0; }
.paso { display: inline-grid; place-items: center; width: 28px; height: 28px; border-radius: 50%; background: var(--azul-700); color: #fff; font-size: .9rem; flex: none; }
.pasos form { margin-bottom: .2rem; }

.historial { list-style: none; padding: 0; margin: 0; }
.historial li { display: flex; gap: .8rem; align-items: flex-start; padding: .65rem 0; border-bottom: 1px solid var(--borde); }
.historial-detalle { display: flex; flex-direction: column; }
.observacion { color: #8a5a00 !important; }

.revision { display: grid; grid-template-columns: 1fr 1.4fr; gap: 1.2rem; }
.revision-archivo a { font-weight: 600; }
.revision-archivo small { display: block; }
.comentario { background: #f8fafc; border-radius: 6px; padding: .5rem .7rem; font-size: .9rem; }
.revision-acciones { display: grid; grid-template-columns: 1fr 1fr; gap: 1rem; }
.revision-acciones label { margin-top: 0; }
.revision-acciones .boton { margin-top: .6rem; }
.boton-aprobar { background: var(--verde); }
.boton-aprobar:hover { background: #157a40; }
.boton-observar { background: var(--ambar); }
.boton-observar:hover { background: #a86b00; }

@media (max-width: 860px) {
  .resumen-estados { grid-template-columns: repeat(3, 1fr); }
  .revision, .revision-acciones { grid-template-columns: 1fr; }
}

/* ---- Fase 3: paneles ---- */
.panel-columnas { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 1.2rem; align-items: start; }
.kpis-5 { grid-template-columns: repeat(5, 1fr); margin-bottom: 1.2rem; }
.kpis { margin-bottom: 1.2rem; }

.calendario { list-style: none; padding: 0; margin: 0; }
.calendario li + li { border-top: 1px solid var(--borde); }
.calendario a { display: flex; gap: .9rem; align-items: center; padding: .55rem .2rem; text-decoration: none; color: inherit; }
.calendario a:hover { background: #f8fafc; }
.fecha-bloque { display: flex; flex-direction: column; align-items: center; justify-content: center; width: 52px; height: 52px; flex: none;
  border-radius: 9px; background: var(--azul-100); color: var(--azul-700); font-size: .7rem; font-weight: 700; letter-spacing: .5px; }
.fecha-bloque strong { font-size: 1.25rem; line-height: 1; }
.fecha-bloque.ambar { background: var(--ambar-claro); color: #8a5a00; }

.checklist { list-style: none; padding: 0; margin: .4rem 0; }
.checklist a { display: flex; gap: .6rem; align-items: center; padding: .4rem 0; text-decoration: none; color: inherit; }
.marca-check { display: inline-grid; place-items: center; width: 22px; height: 22px; border-radius: 50%; font-size: .8rem; font-weight: 700; flex: none; }
.checklist .ok .marca-check { background: var(--verde-claro); color: var(--verde); }
.checklist .falta .marca-check { background: var(--rojo-claro); color: var(--rojo); }
.checklist .falta a { color: var(--texto-suave); }
.checklist-total { margin: .6rem 0 0; border-top: 1px solid var(--borde); padding-top: .6rem; }

.brechas { display: grid; grid-template-columns: repeat(3, 1fr); gap: .7rem; }
.brecha { border-radius: 9px; padding: .8rem; display: flex; flex-direction: column; align-items: center; text-align: center; font-size: .85rem; }
.brecha strong { font-size: 1.7rem; line-height: 1.2; }

@media (max-width: 860px) {
  .panel-columnas { grid-template-columns: 1fr; }
  .kpis-5 { grid-template-columns: repeat(2, 1fr); }
}

/* ---- Fase 4: multas e informe ---- */
.multa-total { display: grid; grid-template-columns: 1fr 1.2fr; gap: 1.5rem; align-items: center; border-left: 6px solid var(--rojo); }
.multa-monto { font-size: 2.4rem; font-weight: 800; color: var(--rojo); line-height: 1.2; margin: .2rem 0; }
.brecha small { color: inherit; opacity: .85; margin-top: .15rem; }
.tabla-escala td { padding: .35rem .3rem; }
.celda-uit { width: 4.6rem; text-align: right; padding: .3rem .4rem; }

.acciones-informe { display: flex; gap: 1rem; align-items: center; margin-bottom: 1rem; flex-wrap: wrap; }
.acciones-informe .boton { margin: 0; }
.informe { background: #fff; border: 1px solid var(--borde); border-radius: var(--radio); padding: 2rem 2.2rem; box-shadow: var(--sombra); }
.informe h2 { margin-top: 1.6rem; padding-bottom: .3rem; border-bottom: 2px solid var(--azul-100); }
.informe-cabecera { display: flex; justify-content: space-between; align-items: center; gap: 1rem; border-bottom: 3px solid var(--azul-900); padding-bottom: 1rem; flex-wrap: wrap; }
.marca-informe { display: flex; gap: .6rem; align-items: center; }
.marca-informe small { display: block; }
.informe-titulo { text-align: right; }
.informe-titulo h1 { margin: 0; }
.informe-titulo p { margin: 0; color: var(--texto-suave); }
.informe-datos { display: grid; grid-template-columns: repeat(3, 1fr); gap: .6rem 1.2rem; margin: 1.2rem 0; }
.informe-datos span { display: block; font-size: .75rem; text-transform: uppercase; color: var(--texto-suave); letter-spacing: .4px; }
.informe-resumen { display: flex; gap: 1rem; flex-wrap: wrap; align-items: stretch; }
.informe-resumen .indicador { box-shadow: none; }
.informe-estados { display: grid; grid-template-columns: repeat(3, auto); gap: .3rem 1.2rem; font-size: .88rem; align-content: center; }
.columnas-2 { columns: 2; column-gap: 2rem; }
.columnas-2 li { break-inside: avoid; }
.checklist-fila { display: flex; gap: .6rem; align-items: center; padding: .3rem 0; }
.tabla-compacta td, .tabla-compacta th { padding: .35rem .5rem; font-size: .85rem; }
.informe-pie { margin-top: 2rem; border-top: 1px solid var(--borde); padding-top: 1rem; font-size: .82rem; color: var(--texto-suave); }
.firmas { display: grid; grid-template-columns: 1fr 1fr; gap: 3rem; margin-top: 3rem; text-align: center; }
.firmas div { border-top: 1px solid var(--texto); padding-top: .4rem; color: var(--texto); }

@media (max-width: 860px) {
  .multa-total, .informe-datos { grid-template-columns: 1fr; }
  .informe { padding: 1.2rem; }
  .columnas-2 { columns: 1; }
}
@media print {
  @page { size: A4; margin: 14mm; }
  .no-imprimir, .miga, .mensaje { display: none !important; }
  main.contenedor { padding: 0; max-width: none; }
  .informe { border: 0; padding: 0; box-shadow: none; }
  .informe h2 { break-after: avoid; }
  .tabla tr { break-inside: avoid; }
  * { -webkit-print-color-adjust: exact; print-color-adjust: exact; }
}
.botones-titulo { display: flex; gap: .5rem; align-items: center; flex-wrap: wrap; }
.enlace-indicador { text-decoration: none; color: inherit; }
.enlace-indicador:hover { box-shadow: 0 6px 22px rgba(15,39,66,.12); }
.encabezado-panel > div:first-child { flex: 1; }
.tabla .num { white-space: nowrap; }

/* ---- Ajustes: varios archivos, borradores, ficha en el inicio ---- */
.filas-archivo { display: grid; gap: .6rem; margin-bottom: .6rem; }
.fila-archivo { display: grid; grid-template-columns: 1.2fr 1fr 1.2fr auto; gap: .7rem; align-items: end; background: #f8fafc; border: 1px solid var(--borde); border-radius: 8px; padding: .6rem .8rem; }
.fila-archivo label { margin-top: 0; font-size: .82rem; }
.fila-archivo-campo:only-of-type { grid-column: span 2; }
.quitar-fila { border: 0; background: var(--rojo-claro); color: var(--rojo); width: 32px; height: 32px; border-radius: 50%; cursor: pointer; font-weight: 700; }
.archivos-entrega { list-style: none; padding: 0; margin: .2rem 0 .4rem; }
.archivos-entrega li { padding: .15rem 0; }
.archivos-entrega small { margin-left: .4rem; }
.acciones-fila { white-space: nowrap; }
.acciones-fila .boton { margin: 0; }

.lista-borradores { list-style: none; padding: 0; margin: 0; }
.lista-borradores > li { display: grid; grid-template-columns: 1fr auto; gap: 1rem; align-items: center; padding: .7rem 0; border-top: 1px solid var(--borde); scroll-margin-top: 80px; }
.lista-borradores > li:first-child { border-top: 0; }
.borrador-archivos { list-style: none; padding: 0; margin: .3rem 0 0; font-size: .9rem; }
.borrador-archivos li { display: flex; gap: .6rem; align-items: center; flex-wrap: wrap; }
.lista-borradores .subida input[type=file] { min-width: 0; max-width: 300px; }
.lista-borradores > li:target { background: var(--azul-100); border-radius: 8px; padding-left: .6rem; }

.ficha-empresa { display: grid; grid-template-columns: repeat(4, 1fr); gap: .8rem 1.4rem; }
.ficha-empresa div span { display: block; font-size: .72rem; text-transform: uppercase; letter-spacing: .4px; color: var(--texto-suave); }
.ficha-empresa div strong { font-size: .98rem; }
.dato-trabajadores strong { font-size: 1.6rem !important; color: var(--azul-900); }
.tarjeta-empresa .titulo-acciones { margin-bottom: .8rem; }
.tarjeta-empresa .titulo-acciones h2 { margin: 0; }

@media (max-width: 860px) {
  .fila-archivo { grid-template-columns: 1fr auto; }
  .fila-archivo-campo { grid-column: 1 / 2; }
  .lista-borradores > li { grid-template-columns: 1fr; }
  .ficha-empresa { grid-template-columns: repeat(2, 1fr); }
}
