/* Prospecta: papel verdoso, tinta profunda y un verde laguna. Ámbar = falta algo; piedra = sin dato.
   Tipografías propias empaquetadas (funciona sin internet): Bricolage Grotesque (títulos y cifras) y Public Sans (texto). */
@font-face{font-family:"Bricolage Grotesque";src:url(/static/fonts/bricolage-grotesque-latin-wght-normal.woff2) format("woff2");font-weight:200 800;font-display:swap}
@font-face{font-family:"Public Sans";src:url(/static/fonts/public-sans-latin-wght-normal.woff2) format("woff2");font-weight:100 900;font-display:swap}
:root{
  --fondo:#f2f5f3;--superficie:#fff;--tinta:#0f2a2e;--suave:#566b6d;--linea:#dbe3e0;
  --laguna:#0e6b66;--laguna-claro:#dcefeb;--sobre-laguna:#fff;--aji:#e3a21a;--piedra:#aab6b2;
  --error:#b3351f;--error-fondo:#fbe9e5;--ok:#0e6b66;--ok-fondo:#dcefeb;--aviso:#7a4d00;--aviso-fondo:#fdf0d2;
  --radio:10px;--sombra:0 1px 2px rgba(15,42,46,.06);
  --titulo:"Bricolage Grotesque","Segoe UI Variable Display","Segoe UI",system-ui,sans-serif;
  --texto-fuente:"Public Sans","Segoe UI Variable Text","Segoe UI",system-ui,-apple-system,sans-serif;
  /* nombres anteriores, para las páginas que aún los usan */
  --azul:var(--laguna);--azul-claro:var(--laguna-claro);--sobre-azul:var(--sobre-laguna);
  --naranja:var(--laguna);--sobre-naranja:var(--sobre-laguna);
  --tarjeta:var(--superficie);--texto:var(--tinta);--acento:var(--laguna);--acento-texto:var(--sobre-laguna)
}
@media (prefers-color-scheme:dark){:root{
  --fondo:#0b1b1e;--superficie:#122a2e;--tinta:#e6f0ee;--suave:#9bb3b1;--linea:#23403f;
  --laguna:#4fc4b8;--laguna-claro:#16413f;--sobre-laguna:#06201e;--aji:#f0b83a;--piedra:#3a5553;
  --error:#ff9a86;--error-fondo:#3d1d19;--ok:#4fc4b8;--ok-fondo:#16413f;--aviso:#f3c76a;--aviso-fondo:#3a2e12;--sombra:none}}
*{box-sizing:border-box}
body{margin:0;background:var(--fondo);color:var(--tinta);font:15.5px/1.55 var(--texto-fuente)}
a{color:var(--laguna)}
a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,summary:focus-visible{outline:3px solid var(--aji);outline-offset:2px}
.app{display:grid;grid-template-columns:236px minmax(0,1fr);min-height:100vh}
.sin-menu{display:block}
/* barra lateral */
.lateral{position:sticky;top:0;align-self:start;height:100vh;display:flex;flex-direction:column;gap:20px;padding:26px 14px 20px;background:var(--superficie);border-right:1px solid var(--linea)}
.marca{font:700 1.6rem/1 var(--titulo);letter-spacing:-.025em;text-decoration:none;color:var(--tinta);padding:0 10px}
.marca small{display:block;margin-top:6px;font:400 .8rem/1.3 var(--texto-fuente);color:var(--suave);letter-spacing:0}
.menu{display:flex;flex-direction:column;gap:2px}
.menu a{display:block;padding:8px 12px;border-radius:8px;color:var(--tinta);text-decoration:none;border-left:3px solid transparent}
.menu a:hover{background:var(--fondo)}
.menu a[aria-current=page]{background:var(--laguna-claro);color:var(--laguna);font-weight:600;border-left-color:var(--laguna)}
.menu details.ayuda{margin-top:2px}
.menu details.ayuda summary{cursor:pointer;padding:8px 12px;border-radius:8px;list-style:none;border-left:3px solid transparent}
.menu details.ayuda summary::-webkit-details-marker{display:none}
.menu details.ayuda summary::after{content:"";display:inline-block;margin-left:8px;width:6px;height:6px;border-right:2px solid var(--suave);border-bottom:2px solid var(--suave);transform:translateY(-3px) rotate(45deg)}
.menu details.ayuda summary:hover{background:var(--fondo)}
.menu details.ayuda a{padding-left:24px}
.menu .aparte{margin-top:10px;padding-top:12px;border-top:1px solid var(--linea);border-radius:0 8px 8px 0}
.lateral .espacio{margin-top:auto}
.lateral .espacio label{margin:0;display:block;font-size:.8rem}
.lateral .espacio select{margin-top:4px}
main{max-width:1240px;width:100%;min-width:0;padding:34px 40px 64px}
h1{font:700 2rem/1.1 var(--titulo);margin:0 0 6px;letter-spacing:-.025em}
h2{font:600 1.15rem/1.25 var(--titulo);margin:1.8em 0 .6em;letter-spacing:-.01em}
.suave{color:var(--suave)}
.nota{color:var(--suave);font-size:.9rem;border-top:1px solid var(--linea);padding-top:14px;margin-top:28px}
.tarjeta,.panel{background:var(--superficie);border:1px solid var(--linea);border-radius:var(--radio);padding:18px 20px;margin:16px 0;box-shadow:var(--sombra)}
.angosta{max-width:400px;margin:13vh auto}
.angosta h1{font-size:2.4rem}
.cabecera{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.cabecera p{margin:0}
.acciones-cabecera{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.tarjetas{display:flex;gap:12px;flex-wrap:wrap}
.dato{display:flex;flex-direction:column;text-decoration:none;color:inherit;min-width:160px}.dato strong{font:700 1.8rem var(--titulo)}
/* inicio */
.resumen{font:500 1.55rem/1.4 var(--titulo);letter-spacing:-.015em;max-width:44rem;margin:.6rem 0 1.4rem}
.resumen a,.resumen b{font-weight:700}
.resumen-detalle{margin:-.8rem 0 1.4rem;font-size:.95rem}
.resumen a{text-decoration:none;color:var(--laguna);border-bottom:2px solid var(--laguna-claro)}
.resumen a:hover{border-color:var(--laguna)}
.cuadricula{display:grid;grid-template-columns:minmax(0,1.9fr) minmax(0,1fr);gap:32px;align-items:start}
.cuadricula>div>section:first-child{margin-top:0}
.aviso-caja{background:var(--aviso-fondo);color:var(--aviso);border-radius:var(--radio);padding:10px 14px;margin:0 0 20px}
.aviso-caja a{color:inherit;font-weight:600}
/* cobertura: la barra que mide el valor del servicio */
.leyenda{display:flex;flex-wrap:wrap;gap:6px 18px;margin:0 0 12px;font-size:.88rem;color:var(--suave)}
.leyenda span::before{content:"";display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:6px;vertical-align:-1px;background:var(--c)}
.k-con{--c:var(--laguna)}.k-correo{--c:var(--aji)}.k-sin{--c:var(--piedra)}
.regiones{list-style:none;margin:0;padding:0}
.regiones a{display:grid;grid-template-columns:7.5rem minmax(0,1fr) 3rem;gap:14px;align-items:center;padding:11px 8px;border-bottom:1px solid var(--linea);text-decoration:none;color:var(--tinta);border-radius:6px}
.regiones li:last-child a{border-bottom:0}
.regiones a:hover{background:var(--fondo)}
.regiones .nombre{font-weight:600}
.regiones .total{text-align:right;font:700 1.15rem var(--titulo);font-variant-numeric:tabular-nums}
.barra{display:flex;height:14px;gap:2px;border-radius:5px;overflow:hidden;background:var(--piedra)}
.barra i{display:block;height:100%}
.barra .con{background:var(--laguna)}.barra .correo{background:var(--aji)}.barra .sin{background:var(--piedra)}
.barra.chica{height:8px;width:96px;margin-top:5px}
.simple{list-style:none;margin:0;padding:0}
.simple li{display:flex;justify-content:space-between;gap:10px;padding:8px 0;border-bottom:1px solid var(--linea)}
.simple li:last-child{border:0}
.simple a{text-decoration:none;color:var(--tinta)}.simple a:hover{color:var(--laguna);text-decoration:underline}
.simple b{font-variant-numeric:tabular-nums}
.lateral-inicio h2{margin-top:0}
.lateral-inicio section+section{margin-top:28px}
/* tablas */
.tabla{overflow-x:auto}
table{border-collapse:collapse;width:100%}
th,td{text-align:left;padding:10px 14px;border-bottom:1px solid var(--linea);vertical-align:top}
th{color:var(--suave);font-weight:600;font-size:.82rem;white-space:nowrap;background:var(--fondo)}
tbody tr:last-child td{border-bottom:0}
tbody tr:hover{background:color-mix(in srgb,var(--laguna-claro) 40%,transparent)}
td small,.chico{font-size:.85rem}
.num{font-variant-numeric:tabular-nums;white-space:nowrap}
td .nombre-empresa{font-weight:600;color:var(--tinta);text-decoration:none}
td .nombre-empresa:hover{color:var(--laguna);text-decoration:underline}
/* formularios */
label{display:block;margin:8px 0;font-size:.9rem;color:var(--suave)}
input,select,textarea{font:inherit;color:var(--tinta);background:var(--superficie);border:1px solid var(--linea);border-radius:8px;padding:8px 10px;width:100%}
input:focus,select:focus,textarea:focus{border-color:var(--laguna)}
button,.boton{font:inherit;font-weight:600;background:var(--laguna);color:var(--sobre-laguna);border:0;border-radius:8px;padding:9px 18px;cursor:pointer;text-decoration:none;display:inline-block}
button:hover,.boton:hover{filter:brightness(1.08)}
button.secundario,.boton.secundario{background:var(--superficie);color:var(--laguna);border:1px solid var(--linea)}
td button,.fila button.chico{background:var(--laguna-claro);color:var(--laguna);padding:5px 10px;font-weight:600;font-size:.85rem}
button.peligro,td button.peligro{background:var(--error-fondo);color:var(--error)}
button:disabled{opacity:.45;cursor:not-allowed}
button.enlace{background:none;color:var(--laguna);padding:0;font-weight:400}
.fila{display:flex;gap:8px;align-items:end;flex-wrap:wrap}.fila label{margin:0}.fila select{width:auto}
label.casilla{display:flex;gap:8px;align-items:flex-start;color:var(--tinta)}label.casilla input{width:auto;margin-top:4px}
/* exportar: menú que se abre sin programación */
.exportar{position:relative}
.exportar summary{list-style:none;cursor:pointer;font-weight:600;background:var(--superficie);color:var(--laguna);border:1px solid var(--linea);border-radius:8px;padding:9px 18px}
.exportar summary::-webkit-details-marker{display:none}
.exportar summary::after{content:"";display:inline-block;margin-left:10px;width:7px;height:7px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:translateY(-3px) rotate(45deg)}
.exportar[open] summary{border-color:var(--laguna)}
.exportar .menu-exportar{position:absolute;right:0;top:calc(100% + 6px);z-index:5;min-width:380px;background:var(--superficie);border:1px solid var(--linea);border-radius:var(--radio);box-shadow:0 10px 30px rgba(15,42,46,.16);padding:6px}
.exportar .menu-exportar a{display:block;padding:10px 12px;border-radius:8px;text-decoration:none;color:var(--tinta)}
.exportar .menu-exportar a:hover{background:var(--fondo)}
.exportar .opcion{display:flex;align-items:center;gap:4px}
.exportar .opcion .texto{flex:1;padding:10px 12px}.exportar .opcion .texto small{display:block;color:var(--suave)}
.exportar .opcion a.formato{flex:none;font-size:.82rem;font-weight:600;color:var(--laguna);border:1px solid var(--linea);padding:4px 10px}
.exportar .menu-exportar small{display:block;color:var(--suave);font-weight:400}
.exportar .menu-exportar b{font-weight:600}
/* lista de empresas: filtros en una barra */
.barra-filtros{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(5,minmax(0,1fr));gap:12px;align-items:end;padding:14px 16px}
.barra-filtros label{margin:0;font-weight:600;color:var(--tinta);font-size:.82rem}
.barra-filtros select,.barra-filtros input{margin-top:4px;font-weight:400}
.barra-filtros .quitar-todo{grid-column:1/-1;font-size:.88rem}
.chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px;align-items:center}
.chip{display:inline-flex;align-items:center;gap:6px;padding:4px 13px;border:1px solid var(--linea);border-radius:999px;text-decoration:none;color:var(--tinta);background:var(--superficie);font-size:.9rem}
.chip:hover{border-color:var(--laguna)}
.chip.activo,.chip.quitar{background:var(--laguna-claro);border-color:transparent;color:var(--laguna);font-weight:600}
.chip i{font-style:normal;color:var(--suave);font-weight:400;font-variant-numeric:tabular-nums}
.paginas{display:flex;gap:10px;align-items:center;justify-content:center;margin:20px 0 0}
.vacio{text-align:center;padding:40px 16px}
.vacio p{margin:.3em 0}
/* cobertura en la fila: punto + palabra (el color nunca va solo) */
.cob{display:inline-flex;align-items:center;gap:7px;font-size:.88rem;font-weight:600}
.cob::before{content:"";width:9px;height:9px;border-radius:50%;background:var(--c)}
.cob.k-con{color:var(--laguna)}.cob.k-correo{color:var(--aviso)}.cob.k-sin{color:var(--suave)}
/* etiquetas y fichas */
.etiqueta{display:inline-block;white-space:nowrap;background:var(--laguna-claro);color:var(--laguna);border-radius:999px;padding:2px 10px;font-size:.8rem;font-weight:600}
.etiqueta.ok{background:var(--ok-fondo);color:var(--ok)}
.etiqueta.alerta{background:var(--aviso-fondo);color:var(--aviso)}
.etiqueta.malo{background:var(--error-fondo);color:var(--error)}
.etiqueta.neutra{background:var(--fondo);color:var(--suave);border:1px solid var(--linea)}
.error,.error li{color:var(--error)}.ok{color:var(--ok)}.aviso{color:var(--aviso)}
.ficha{display:grid;grid-template-columns:max-content 1fr;gap:6px 18px;margin:0}.ficha dt{color:var(--suave)}.ficha dd{margin:0;overflow-wrap:anywhere}
.datos-empresa{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 4px}
.lista{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.lista a{padding:4px 12px;border:1px solid var(--linea);border-radius:999px;text-decoration:none}.lista a.activo{background:var(--laguna);color:var(--sobre-laguna)}
.documento{background:var(--superficie);border:1px solid var(--linea);border-radius:var(--radio);padding:8px 22px}
pre.cuerpo{white-space:pre-wrap;font:inherit;background:var(--fondo);padding:8px;border-radius:6px}
.retirado td{opacity:.55;text-decoration:line-through}
.retirado td:nth-last-child(-n+2){text-decoration:none;opacity:1}
.volver{display:inline-block;margin-bottom:8px;text-decoration:none}
@media (max-width:1100px){.barra-filtros{grid-template-columns:repeat(3,minmax(0,1fr))}.barra-filtros .buscar{grid-column:1/-1}}
@media (max-width:900px){
  .app{grid-template-columns:minmax(0,1fr)}
  .lateral{position:static;height:auto;flex-direction:row;flex-wrap:wrap;align-items:center;gap:8px 14px;padding:12px 14px;border-right:0;border-bottom:1px solid var(--linea)}
  .marca small{display:none}
  .menu{flex-direction:row;flex-wrap:wrap;gap:0}.menu a{border-left:0;padding:8px 10px}.menu details.ayuda{margin-top:2px}
.menu details.ayuda summary{cursor:pointer;padding:8px 12px;border-radius:8px;list-style:none;border-left:3px solid transparent}
.menu details.ayuda summary::-webkit-details-marker{display:none}
.menu details.ayuda summary::after{content:"";display:inline-block;margin-left:8px;width:6px;height:6px;border-right:2px solid var(--suave);border-bottom:2px solid var(--suave);transform:translateY(-3px) rotate(45deg)}
.menu details.ayuda summary:hover{background:var(--fondo)}
.menu details.ayuda a{padding-left:24px}
.menu .aparte{margin:0;padding:8px 10px;border:0}
  .menu a[aria-current=page]{box-shadow:inset 0 -3px 0 var(--laguna);border-radius:0}
  .lateral .espacio{margin:0 0 0 auto}
  main{padding:20px 14px 44px}
  h1{font-size:1.7rem}.resumen{font-size:1.3rem}
  .cuadricula{grid-template-columns:minmax(0,1fr);gap:8px}
  .regiones a{grid-template-columns:6rem minmax(0,1fr) 2.4rem;gap:10px}
}
@media (max-width:700px){.barra-filtros{grid-template-columns:repeat(2,minmax(0,1fr))}.exportar .menu-exportar{right:auto;left:0}}
@media (max-width:600px){.ficha{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){*{transition:none!important}}
