:root {
  --rojo:#C8102E; --negro:#1A1A1A; --gris-oscuro:#2D2D2D; --gris-medio:#555;
  --gris-claro:#F5F5F5; --borde:#DDD; --blanco:#FFF; --azul:#1A5C8A;
  --ok:#1A6B3C; --ok-bg:#EAF5EE; --warn-bg:#FFF8E6; --warn:#7A4A00;
}
*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Open Sans',Arial,sans-serif;font-size:14px;line-height:1.6;color:var(--negro);background:var(--blanco)}
.topbar{background:var(--gris-oscuro);color:rgba(255,255,255,.75);font-size:12px;padding:6px 0}
.topbar-inner{max-width:1100px;margin:0 auto;padding:0 20px;display:flex;justify-content:space-between}
header{background:var(--blanco);border-bottom:3px solid var(--rojo);padding:12px 0}
.header-inner{max-width:1100px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:14px}
.header-inner img{height:58px;width:auto}
.logo-text .pre{font-size:13px;color:var(--gris-medio)}
.logo-text .nombre{font-size:22px;font-weight:700;color:var(--rojo)}
.header-sep{flex:1}
.breadcrumb{font-size:12px;color:var(--gris-medio)}
.breadcrumb a{color:var(--azul);text-decoration:none}
.breadcrumb a:hover{text-decoration:underline}
.page-title{background:var(--gris-claro);border-bottom:1px solid var(--borde);padding:16px 0}
.page-title-inner{max-width:1100px;margin:0 auto;padding:0 20px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.page-title h1{font-size:20px;font-weight:700}
.page-title h1 span{color:var(--rojo)}
.page-title-meta{font-size:12px;color:var(--gris-medio);margin-left:auto}
.badge-apta{display:inline-block;background:var(--ok);color:#fff;font-size:11px;font-weight:700;padding:3px 10px;border-radius:2px;letter-spacing:.05em;text-transform:uppercase;margin-left:10px;vertical-align:middle}
.subnav{background:var(--blanco);border-bottom:1px solid var(--borde);position:sticky;top:0;z-index:50}
.subnav-inner{max-width:1100px;margin:0 auto;padding:0 20px;display:flex}
.subnav a{display:block;padding:11px 16px;font-size:13px;font-weight:600;color:var(--gris-medio);text-decoration:none;border-bottom:3px solid transparent;transition:color .15s,border-color .15s}
.subnav a:hover{color:var(--rojo);border-bottom-color:var(--rojo)}
.main{max-width:1100px;margin:0 auto;padding:32px 20px 60px}
.seccion{margin-bottom:48px;padding-bottom:48px;border-bottom:1px solid var(--borde)}
.seccion:last-child{border-bottom:none}
.seccion-titulo{font-size:17px;font-weight:700;padding-bottom:10px;border-bottom:2px solid var(--rojo);display:inline-block;margin-bottom:6px}
.seccion-subtitulo{font-size:12px;color:var(--gris-medio);margin-bottom:18px}
table{width:100%;border-collapse:collapse;font-size:13px}
thead tr{background:var(--gris-oscuro);color:#fff}
thead th{padding:9px 12px;text-align:left;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.04em}
tbody tr:nth-child(even){background:var(--gris-claro)}
tbody tr:hover{background:#EDF4FB}
td{padding:8px 12px;border-bottom:1px solid var(--borde);vertical-align:middle}
.td-valor{font-weight:600}
.td-limite{color:var(--gris-medio)}
.ok{display:inline-block;background:var(--ok-bg);color:var(--ok);font-size:11px;font-weight:700;padding:2px 8px;border-radius:2px}
.ko{display:inline-block;background:#FDEAEA;color:var(--rojo);font-size:11px;font-weight:700;padding:2px 8px;border-radius:2px}
.ref{display:inline-block;background:var(--warn-bg);color:var(--warn);font-size:11px;font-weight:700;padding:2px 8px;border-radius:2px}
.nota{padding:11px 14px;font-size:12px;margin-top:12px;line-height:1.6}
.nota-warn{background:var(--warn-bg);border-left:3px solid #F0A500;color:var(--warn)}
.nota-info{background:#EDF4FB;border-left:3px solid var(--azul);color:#1A3D5C}
.nota strong{font-weight:700}
.actualizacion{font-size:11px;color:var(--gris-medio);margin-top:10px}
.grid-dureza{display:grid;grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:12px;margin-top:4px}
.card-d{border:1px solid var(--borde);border-top:3px solid var(--rojo);padding:14px;text-align:center}
.card-d-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--gris-medio);margin-bottom:6px}
.card-d-valor{font-size:20px;font-weight:700;line-height:1}
.card-d-unidad{font-size:11px;color:var(--gris-medio);margin-top:3px}
.card-d-limite{font-size:11px;color:var(--gris-medio);margin-top:5px;padding-top:5px;border-top:1px dashed var(--borde)}
.tipo{display:inline-block;font-size:10px;font-weight:700;padding:2px 7px;border-radius:2px;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.t-completo{background:#DDE8F5;color:#1A3D6B}
.t-operacional{background:#E8F0E0;color:#3D5A1A}
.t-radiactividad{background:#EEE0F8;color:#5B1A8A}
.t-cloratos{background:#FFF0D6;color:#7A4A00}
.t-control{background:#E5F5EE;color:#1A5C38}
.t-lobs{background:#F5F0FF;color:#4A1A8A}
.t-caractz{background:#FFF0F5;color:#8A1A3D}
.t-especifico{background:#F0F0F0;color:#444}
.pdf-link{color:var(--rojo);text-decoration:none;font-weight:600;font-size:12px}
.pdf-link:hover{text-decoration:underline}
.boletines-filtros{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-bottom:14px}
.boletines-filtros input[type=text]{flex:1;min-width:200px;font-family:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--borde);outline:none}
.boletines-filtros select{font-family:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--borde);background:var(--blanco);outline:none}
.boletines-filtros input[type=text]:focus,.boletines-filtros select:focus{border-color:var(--rojo)}
.bol-reset{font-family:inherit;font-size:12px;font-weight:600;padding:7px 14px;border:1px solid var(--rojo);color:var(--rojo);background:var(--blanco);cursor:pointer}
.bol-reset:hover{background:var(--rojo);color:#fff}
.bol-contador{font-size:11px;color:var(--gris-medio);white-space:nowrap}
.tarifas-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}
@media(max-width:640px){.tarifas-grid{grid-template-columns:1fr}}
.tarifa-bloque{border:1px solid var(--borde);border-top:3px solid var(--rojo)}
.tarifa-titulo{background:var(--gris-claro);padding:11px 16px;font-size:14px;font-weight:700;border-bottom:1px solid var(--borde)}
.tarifa-sub{font-size:11px;color:var(--gris-medio);font-weight:400;margin-top:2px}
.tabla-tarifa td:last-child{text-align:right;font-weight:600}
.fila-grupo td{background:var(--negro)!important;color:#fff;font-weight:700;font-size:11px;text-transform:uppercase;letter-spacing:.05em;padding:6px 16px}
.calc-box{background:var(--gris-claro);border:1px solid var(--borde);border-top:3px solid var(--rojo);padding:22px;margin-top:26px}
.calc-box h3{font-size:15px;font-weight:700;margin-bottom:4px}
.calc-box>p{font-size:12px;color:var(--gris-medio);margin-bottom:16px}
.calc-fila{display:flex;gap:20px;flex-wrap:wrap;margin-bottom:14px;align-items:flex-end}
.calc-campo{display:flex;flex-direction:column;gap:5px}
.calc-campo label{font-size:12px;font-weight:700}
.calc-campo input,.calc-campo select{font-family:inherit;font-size:13px;padding:7px 10px;border:1px solid var(--borde);background:var(--blanco);color:var(--negro);width:160px;outline:none}
.calc-campo input:focus,.calc-campo select:focus{border-color:var(--rojo)}
.calc-resultado{background:var(--rojo);color:#fff;padding:14px 18px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px}
.calc-resultado-label{font-size:13px;opacity:.85}
.calc-resultado-detalle{font-size:11px;opacity:.7;margin-top:3px}
.calc-resultado-total{font-size:26px;font-weight:700}
.calc-aviso{font-size:11px;color:var(--gris-medio);margin-top:10px;font-style:italic}
.servicio-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:18px}
@media(max-width:760px){.servicio-grid{grid-template-columns:1fr}}
.servicio-bloque{border:1px solid var(--borde);border-top:3px solid var(--gris-oscuro)}
.servicio-bloque-titulo{background:var(--gris-claro);padding:9px 14px;font-size:12px;font-weight:700;border-bottom:1px solid var(--borde);text-transform:uppercase;letter-spacing:.04em}
.tabla-servicio td{padding:8px 14px;border-bottom:1px solid var(--borde);vertical-align:top}
.tabla-servicio td:first-child{color:var(--gris-medio);width:45%}
footer{background:var(--gris-oscuro);color:rgba(255,255,255,.65);padding:36px 0 0;font-size:12px}
.footer-inner{max-width:1100px;margin:0 auto;padding:0 20px 28px;display:grid;grid-template-columns:2fr 1fr 1fr 1fr;gap:32px}
@media(max-width:760px){.footer-inner{grid-template-columns:1fr}}
.footer-titulo{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:rgba(255,255,255,.85);margin-bottom:12px;padding-bottom:8px;border-bottom:2px solid var(--rojo);display:inline-block}
.footer-logo{display:flex;align-items:center;gap:10px;margin-bottom:12px}
.footer-logo img{height:48px;width:auto;filter:brightness(0) invert(1);opacity:.7}
.footer-logo-text .pre{font-size:11px;color:rgba(255,255,255,.55)}
.footer-logo-text .nombre{font-size:15px;font-weight:700;color:var(--rojo)}
footer p{line-height:1.7;margin-bottom:4px}
.footer-links{list-style:none}
.footer-links li{margin-bottom:5px}
.footer-links a{color:rgba(255,255,255,.6);text-decoration:none}
.footer-links a::before{content:'> '}
.footer-links a:hover{color:rgba(255,255,255,.9)}
.footer-bottom{max-width:1100px;margin:0 auto;padding:12px 20px;border-top:1px solid rgba(255,255,255,.1);font-size:11px;display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.footer-bottom a{color:rgba(255,255,255,.5);text-decoration:none}
@media(max-width:680px){.subnav a{padding:9px 10px;font-size:12px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}
