/* /vigilancia-web · CSS de AllSitesOK encerrado bajo .aso — lo genera /root/vig_build.py, no editar a mano */
@font-face{ font-family: "Inter"; font-style: normal; font-weight: 100 900; font-display: swap;
  src: url("/static/aso/fonts/inter-latin-wght-normal.woff2") format("woff2") }
.aso{--fondo: #FFFFFF;
  --gris-fondo: #F6F8FB;
  --tinta: #0F172A;
  --suave: #475569;
  --tenue: #64748B;
  --linea: #E2E8F0;
  --linea-fuerte: #CBD5E1;
  --azul: #0B5FFF;
  --azul-hover: #0047D4;
  --azul-claro: #EEF4FF;
  --azul-borde: #C7D7FE;
  --marino: #0A1F44;
  --ok: #15803D;
  --ok-fondo: #ECFDF3;
  --ok-borde: #BBF7D0;
  --aviso: #A16207;
  --aviso-punto: #EAB308;
  --aviso-fondo: #FEFCE8;
  --mal: #B91C1C;
  --mal-fondo: #FEF2F2;
  --mal-borde: #FECACA;
  --pend: #94A3B8;
  --r: 8px;
  --r-grande: 12px;
  --sombra: 0 1px 2px rgba(15, 23, 42, .04), 0 1px 3px rgba(15, 23, 42, .06);
  --sombra-alta: 0 12px 32px -8px rgba(15, 23, 42, .12), 0 2px 6px rgba(15, 23, 42, .05);
  --sans: "Inter", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --mono: ui-monospace, "SF Mono", Menlo, Consolas, monospace;}
.aso *{box-sizing: border-box}
.aso{-webkit-text-size-adjust: 100%}
.aso{margin: 0; background: var(--fondo); color: var(--tinta); font: 16px/1.6 var(--sans) !important; -webkit-font-smoothing: antialiased}
.aso ::selection{background: #CFE0FF; color: var(--marino)}
.aso input,.aso textarea{caret-color: var(--azul)}
.aso a[href^="tel:"]{white-space: nowrap}
.aso a{color: var(--azul); text-underline-offset: 2px}
.aso a:hover{color: var(--azul-hover)}
.aso :focus-visible{outline: 3px solid #93B4FD; outline-offset: 2px; border-radius: 4px}
.aso img{max-width: 100%}
.aso h1,.aso h2,.aso h3{line-height: 1.2 !important; margin: 0 0 .5em; letter-spacing: -.02em !important; font-weight: 700}
.aso h1{font-size: clamp(2rem, 4.2vw, 3.25rem) !important}
.aso h2{font-size: clamp(1.5rem, 2.6vw, 2rem) !important}
.aso h3{font-size: 1.05rem !important; font-weight: 600; letter-spacing: -.01em !important}
.aso p{margin: 0 0 1em}
.aso .mono{font-variant-numeric: tabular-nums}
.aso .suave{color: var(--suave)}
.aso .peq{font-size: .875rem !important}
.aso .sr{position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap}
.aso .saltar{position: absolute; left: -9999px; top: 8px; background: var(--tinta); color: #fff; padding: 8px 12px; z-index: 50; border-radius: var(--r)}
.aso .saltar:focus{left: 8px}
.aso .envoltura{width: min(1160px, 100% - 32px); margin-inline: auto}
.aso .btn{display: inline-flex; align-items: center; gap: .5em; justify-content: center; min-height: 44px; padding: 0 18px;
  border: 1px solid var(--tinta); border-radius: var(--r); background: var(--tinta); color: #fff; font: 600 .95rem var(--sans) !important;
  text-decoration: none; cursor: pointer; white-space: nowrap; transition: background .15s, border-color .15s}
.aso .btn:hover{background: #1E293B; color: #fff}
.aso .btn.acento{background: var(--azul); border-color: var(--azul)}
.aso .btn.acento:hover{background: var(--azul-hover); border-color: var(--azul-hover)}
.aso .btn.linea{background: #fff; color: var(--tinta); border-color: var(--linea-fuerte)}
.aso .btn.linea:hover{border-color: var(--tenue); background: var(--gris-fondo); color: var(--tinta)}
.aso .btn.peligro{background: #fff; color: var(--mal); border-color: var(--mal-borde)}
.aso .btn.peligro:hover{background: var(--mal-fondo)}
.aso .btn.chico{min-height: 36px; padding: 0 14px; font-size: .875rem !important}
.aso label{display: block; font-weight: 600; font-size: .9rem !important; margin: 0 0 6px}
.aso .ayuda{display: block; font-weight: 400; color: var(--suave); font-size: .85rem !important; margin-top: 2px}
.aso input[type=text],.aso input[type=email],.aso input[type=password],.aso input[type=url],.aso input[type=number],.aso input[type=tel],.aso select,.aso textarea{width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--linea-fuerte); border-radius: var(--r);
  background: #fff; color: var(--tinta); font: 1rem var(--sans) !important; transition: border-color .15s, box-shadow .15s}
.aso input:focus,.aso select:focus,.aso textarea:focus{outline: none; border-color: var(--azul); box-shadow: 0 0 0 3px var(--azul-claro)}
.aso input::placeholder{color: #94A3B8}
.aso .campo{margin-bottom: 16px}
.aso .check{display: flex; gap: 10px; align-items: center; font-weight: 400}
.aso .check input{width: 18px; height: 18px; accent-color: var(--azul)}
.aso .form-linea{display: flex; gap: 10px; flex-wrap: wrap}
.aso .form-linea > input{flex: 1 1 260px}
.aso .form-linea > *{min-width: 0}
.aso .flash{padding: 12px 16px; border: 1px solid; border-radius: var(--r); margin: 0 0 16px; background: #fff; font-weight: 500}
.aso .flash.ok{border-color: var(--ok-borde); background: var(--ok-fondo); color: #14532D}
.aso .flash.error{border-color: var(--mal-borde); background: var(--mal-fondo); color: #7F1D1D}
.aso .punto{width: 10px; height: 10px; border-radius: 50%; display: inline-block; flex: none; background: var(--pend)}
.aso .punto.ok{background: #22C55E; box-shadow: 0 0 0 3px #DCFCE7}
.aso .punto.aviso{background: var(--aviso-punto); box-shadow: 0 0 0 3px #FEF9C3}
.aso .punto.caida{background: #EF4444; box-shadow: 0 0 0 3px #FEE2E2}
.aso .etq{display: inline-block; font: 600 .75rem/1.4 var(--sans) !important; padding: 2px 8px; border-radius: 6px; background: #F1F5F9; color: var(--suave); white-space: nowrap}
.aso .etq.ok{background: var(--ok-fondo); color: var(--ok)}
.aso .etq.aviso{background: var(--aviso-fondo); color: var(--aviso)}
.aso .etq.caida,.aso .etq.mal{background: var(--mal-fondo); color: var(--mal)}
.aso .etq.acento{background: var(--azul-claro); color: var(--azul)}
.aso .cab{border-bottom: 1px solid var(--linea); background: rgba(255,255,255,.94); backdrop-filter: saturate(1.4) blur(8px); position: sticky; top: 0; z-index: 20}
.aso .cab .envoltura{display: flex; align-items: center; gap: 24px; min-height: 68px}
.aso .logo{display: inline-flex; align-items: center; gap: 10px; font-weight: 700; font-size: 1.1rem !important; color: var(--tinta); text-decoration: none; letter-spacing: -.02em !important}
.aso .logo:hover{color: var(--tinta)}
.aso .logo svg{width: 28px; height: 28px; flex: none}
.aso .marca{font-weight: 800; letter-spacing: -.035em !important; color: var(--marino); font-size: 1.2rem !important}
.aso .marca b{color: var(--azul); font-weight: 800}
.aso .cab nav{display: flex; align-items: center; gap: 28px}
.aso .cab .nav-central{margin-left: 40px}
.aso .cab .nav-derecha{margin-left: auto; gap: 20px}
.aso .cab nav a:not(.btn),.aso .desplegable > button{color: #334155; text-decoration: none; font: 500 .92rem var(--sans) !important}
.aso .cab nav a:not(.btn):hover,.aso .desplegable > button:hover{color: var(--azul)}
.aso .cab .nav-central a[aria-current="page"]{background: #EEF2F8; color: var(--marino); padding: 7px 12px; border-radius: 8px; margin: 0 -12px}
.aso .cab .entrar{color: var(--azul) !important; font-weight: 600 !important}
.aso .desplegable{position: relative}
.aso .desplegable > button{background: none; border: 0; padding: 8px 0; cursor: pointer; display: inline-flex; align-items: center; gap: 4px}
.aso .desplegable > button svg{width: 12px; height: 12px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round}
.aso .desplegable .menu{display: none; position: absolute; top: calc(100% + 8px); left: -16px; width: 300px; background: #fff; border: 1px solid var(--linea);
  border-radius: var(--r-grande); box-shadow: var(--sombra-alta); padding: 8px; z-index: 30}
.aso .desplegable > button[aria-expanded="true"] + .menu,.aso .desplegable:hover .menu,.aso .desplegable:focus-within .menu{display: block}
.aso .desplegable .menu::before{content: ""; position: absolute; left: 0; right: 0; top: -12px; height: 12px}
.aso .desplegable .menu a{display: block; padding: 10px 12px; border-radius: var(--r)}
.aso .desplegable .menu a:hover{background: var(--azul-claro)}
.aso .desplegable .menu b{display: block; color: var(--tinta); font-weight: 600}
.aso .desplegable .menu span{font-size: .82rem !important; color: var(--suave)}
@media (max-width: 1020px){.aso .cab .solo-ancho{display: none}
.aso .cab nav{gap: 14px}}
.aso .heroe{padding: clamp(48px, 8vw, 104px) 0 clamp(48px, 7vw, 88px); background: linear-gradient(180deg, var(--azul-claro) 0%, #fff 75%)}
.aso .heroe .rejilla{display: grid; grid-template-columns: minmax(0, 1.05fr) minmax(0, .95fr); gap: 64px; align-items: center}
@media (max-width: 920px){.aso .heroe .rejilla{grid-template-columns: minmax(0, 1fr); gap: 40px}}
.aso .heroe h1 em{font-style: normal; color: var(--azul)}
.aso .heroe .entrada{font-size: 1.15rem !important; color: var(--suave); max-width: 33em; margin-bottom: 28px}
.aso .analizador{display: flex; gap: 8px; background: #fff; border: 1px solid var(--linea-fuerte); border-radius: var(--r-grande); padding: 6px; max-width: 540px; box-shadow: var(--sombra-alta)}
.aso .analizador input{border: 0; min-height: 48px; font: 500 1.05rem var(--sans) !important; padding-left: 12px; background: transparent; min-width: 0; box-shadow: none !important}
.aso .analizador:focus-within{border-color: var(--azul); box-shadow: 0 0 0 4px var(--azul-claro), var(--sombra-alta)}
.aso .analizador .btn{min-height: 48px; padding: 0 22px}
@media (max-width: 480px){.aso .analizador{flex-direction: column}}
.aso .garantias{display: flex; flex-wrap: wrap; gap: 8px 22px; margin: 18px 0 0; font-size: .9rem !important; color: var(--suave); padding: 0; list-style: none}
.aso .garantias li{display: inline-flex; align-items: center; gap: 6px}
.aso .garantias li::before{content: ""; width: 16px; height: 16px; flex: none; background: no-repeat center/16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%2315803D'/%3E%3Cpath d='M6 10.2l2.6 2.6L14 7.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.aso .tablero{background: #fff; border: 1px solid var(--linea); border-radius: var(--r-grande); box-shadow: var(--sombra-alta); overflow: hidden; font-size: .92rem !important}
.aso .tablero .t-cab{display: flex; justify-content: space-between; align-items: center; padding: 14px 18px; border-bottom: 1px solid var(--linea); font-weight: 600; background: var(--gris-fondo)}
.aso .tablero .t-cab span:last-child{font-weight: 500; color: var(--tenue); font-size: .8rem !important}
.aso .tablero .t-fila{display: grid; grid-template-columns: 12px minmax(0, 1fr) auto; gap: 14px; align-items: center; padding: 13px 18px; border-bottom: 1px solid var(--linea)}
.aso .tablero .t-fila:last-child{border-bottom: 0}
.aso .tablero .t-fila b{font-weight: 600}
.aso .tablero .t-fila small{display: block; color: var(--suave); font-size: .82rem !important}
.aso .tablero .t-dato{font: 600 .78rem var(--sans) !important; padding: 3px 8px; border-radius: 6px; background: var(--ok-fondo); color: var(--ok); white-space: nowrap}
.aso .tablero .t-dato.mal{background: var(--mal-fondo); color: var(--mal)}
.aso .tablero .t-dato.aviso{background: var(--aviso-fondo); color: var(--aviso)}
.aso .tablero .t-dato.neutro{background: #F1F5F9; color: var(--tinta)}
.aso .confianza{border-bottom: 1px solid var(--linea); background: #fff}
.aso .confianza ul{list-style: none; margin: 0 auto; padding: 28px 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px}
@media (max-width: 860px){.aso .confianza ul{grid-template-columns: repeat(2, minmax(0, 1fr))}}
@media (max-width: 480px){.aso .confianza ul{grid-template-columns: minmax(0, 1fr)}}
.aso .confianza li{display: flex; gap: 12px; align-items: flex-start; font-size: .9rem !important; color: var(--suave)}
.aso .confianza li b{display: block; color: var(--tinta); font-weight: 600; font-size: .95rem !important}
.aso .confianza svg{width: 22px; height: 22px; flex: none; color: var(--azul); margin-top: 2px}
.aso .seccion{padding: clamp(56px, 8vw, 96px) 0}
.aso .seccion.gris{background: var(--gris-fondo)}
.aso .seccion .cab-sec{max-width: 680px; margin-bottom: 40px}
.aso .seccion .cab-sec p{color: var(--suave); font-size: 1.1rem !important}
.aso .antetitulo{font: 600 .9rem var(--sans) !important; color: var(--azul); margin-bottom: 10px; display: block}
.aso .roto{display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 16px}
.aso .roto div{padding: 22px; background: #fff; border: 1px solid var(--linea); border-radius: var(--r-grande); box-shadow: var(--sombra)}
.aso .roto .cod{font: 600 .78rem var(--sans) !important; color: var(--ok); background: var(--ok-fondo); padding: 2px 8px; border-radius: 6px; display: inline-block; margin-bottom: 12px}
.aso .roto .pero{font: 600 .9rem var(--sans) !important; color: var(--mal); display: block; margin-top: 12px}
.aso .roto p{margin: 0; color: var(--suave)}
.aso .comprob{display: grid; grid-template-columns: repeat(auto-fit, minmax(250px, 1fr)); gap: 16px; padding: 0; list-style: none; margin: 0}
.aso .comprob li{padding: 20px; background: #fff; border: 1px solid var(--linea); border-radius: var(--r-grande)}
.aso .comprob li b{display: block; font-weight: 600; margin-bottom: 4px}
.aso .comprob li span{color: var(--suave); font-size: .95rem !important}
.aso .pasos{display: grid; grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)); gap: 16px; counter-reset: p; padding: 0; list-style: none; margin: 0}
.aso .pasos li{counter-increment: p; padding: 22px; border: 1px solid var(--linea); border-radius: var(--r-grande); background: #fff}
.aso .pasos li::before{content: counter(p); display: grid; place-items: center; width: 32px; height: 32px; border-radius: 50%; background: var(--azul-claro); color: var(--azul); font-weight: 700; margin-bottom: 14px}
.aso .pasos p{color: var(--suave); margin: 0}
.aso .franja{background: var(--azul-claro); border-top: 1px solid var(--azul-borde); border-bottom: 1px solid var(--azul-borde)}
.aso .franja .envoltura{display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(0, .8fr); gap: 40px; align-items: center}
.aso .franja p{color: var(--suave)}
@media (max-width: 860px){.aso .franja .envoltura{grid-template-columns: minmax(0, 1fr)}}
.aso .pie{padding: 56px 0 28px; color: var(--suave); font-size: .9rem !important; border-top: 1px solid var(--linea); background: var(--gris-fondo)}
.aso .pie-rej{display: grid; grid-template-columns: minmax(0, 1.6fr) repeat(3, minmax(0, 1fr)); gap: 32px}
@media (max-width: 860px){.aso .pie-rej{grid-template-columns: repeat(2, minmax(0, 1fr))}
.aso .pie-marca{grid-column: 1 / -1}}
.aso .pie-rej > *{display: flex; flex-direction: column; gap: 8px; align-items: flex-start}
.aso .pie h2{font-size: .8rem !important; font-weight: 600; letter-spacing: .06em !important; text-transform: uppercase; color: var(--tinta); margin: 0 0 4px}
.aso .pie a{color: var(--suave); text-decoration: none}
.aso .pie a:hover{color: var(--azul); text-decoration: underline}
.aso .pie .logo{color: var(--tinta)}
.aso .pie-marca p{margin: 0; max-width: 22em}
.aso .pie-estado{display: inline-flex; align-items: center; gap: 10px; font-weight: 500; color: var(--ok)}
.aso .pie-base{margin-top: 40px; padding-top: 20px; border-top: 1px solid var(--linea); font-size: .82rem !important; color: #52627A}
.aso .informe-rapido{background: #fff; border: 1px solid var(--linea); border-radius: var(--r-grande); box-shadow: var(--sombra); overflow: hidden}
.aso .informe-rapido .fila{display: grid; grid-template-columns: 24px 190px minmax(0, 1fr); gap: 14px; padding: 15px 20px; border-top: 1px solid var(--linea); align-items: start}
.aso .informe-rapido .fila:first-child{border-top: 0}
@media (max-width: 600px){.aso .informe-rapido .fila{grid-template-columns: 24px minmax(0, 1fr)}
.aso .informe-rapido .fila .txt{grid-column: 2}}
.aso .ico{width: 22px; height: 22px; border-radius: 50%; display: grid; place-items: center; font: 700 .78rem var(--sans) !important; color: #fff; flex: none}
.aso .ico.ok{background: var(--ok)}
.aso .ico.aviso{background: #CA8A04}
.aso .ico.mal{background: var(--mal)}
.aso .dos-col{display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(0, .7fr); gap: 28px; align-items: start}
@media (max-width: 900px){.aso .dos-col{grid-template-columns: minmax(0, 1fr)}}
.aso .caja{background: #fff; border: 1px solid var(--linea); border-radius: var(--r-grande); padding: 24px; box-shadow: var(--sombra)}
.aso .caja.oscura{background: var(--azul-claro); border-color: var(--azul-borde); box-shadow: none}
.aso .caja.oscura p{color: var(--suave)}
.aso .caja.mal{border-color: var(--mal-borde)}
.aso .planes{display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 14px; padding-top: 12px}
@media (max-width: 1100px){.aso .planes{grid-template-columns: repeat(auto-fit, minmax(210px, 1fr))}}
.aso .plan{padding: 24px 20px; border: 1px solid var(--linea); border-radius: var(--r-grande); background: #fff; display: flex; flex-direction: column; box-shadow: var(--sombra); position: relative}
.aso .plan.dest{border: 2px solid var(--azul); box-shadow: var(--sombra-alta)}
.aso .plan[data-marca]::before{content: attr(data-marca); position: absolute; top: -12px; left: 18px; background: var(--azul); color: #fff; font: 600 .75rem var(--sans) !important; padding: 3px 10px; border-radius: 6px}
.aso .plan .precio{font: 700 2.2rem/1 var(--sans) !important; margin: 14px 0 4px; letter-spacing: -.03em !important}
.aso .plan .precio small{font-size: .95rem !important; font-weight: 500; color: var(--suave); letter-spacing: 0 !important}
.aso .plan ul{list-style: none; padding: 0; margin: 18px 0 22px; font-size: .9rem !important; flex: 1}
.aso .plan li{padding: 5px 0 5px 24px; position: relative}
.aso .plan li::before{content: ""; position: absolute; left: 0; top: 10px; width: 14px; height: 14px; background: no-repeat center/14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10.5l4 4L16 6' fill='none' stroke='%2315803D' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.aso .plan li.no{color: #94A3B8}
.aso .plan li.no::before{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M5 10h10' stroke='%23CBD5E1' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E")}
.aso .tabla-func{width: 100%; border-collapse: separate; border-spacing: 0; background: #fff; border: 1px solid var(--linea); border-radius: var(--r-grande); font-size: .92rem !important; overflow: hidden}
.aso .tabla-func th,.aso .tabla-func td{padding: 12px 16px; border-bottom: 1px solid var(--linea); text-align: left}
.aso .tabla-func tbody tr:last-child th,.aso .tabla-func tbody tr:last-child td{border-bottom: 0}
.aso .tabla-func thead th{font-weight: 600; background: var(--gris-fondo)}
.aso .tabla-func td.c{text-align: center; font-weight: 600}
.aso .tabla-func td.si{color: var(--ok)}
.aso .tabla-func td.no{color: #CBD5E1}
.aso .scroll-x{overflow-x: auto; position: relative}
.aso .auth{max-width: 440px; margin: 56px auto 72px; padding: 0 16px}
.aso .auth .caja{padding: 28px}
.aso .app{display: grid; grid-template-columns: 248px minmax(0, 1fr); min-height: 100vh; background: var(--gris-fondo)}
.aso .lateral{background: #fff; border-right: 1px solid var(--linea); padding: 20px 14px; position: sticky; top: 0; height: 100vh; display: flex; flex-direction: column; gap: 2px}
.aso .lateral .logo{margin: 4px 10px 24px}
.aso .lateral a.nav{display: flex; align-items: center; justify-content: space-between; gap: 10px; color: var(--suave); text-decoration: none; padding: 9px 12px; border-radius: var(--r); font-weight: 500; font-size: .95rem !important}
.aso .lateral a.nav:hover{background: var(--gris-fondo); color: var(--tinta)}
.aso .lateral a.nav[aria-current="page"]{background: var(--azul-claro); color: var(--azul); font-weight: 600}
.aso .lateral .cuenta-min{margin-top: auto; border-top: 1px solid var(--linea); padding: 14px 12px 0; font-size: .85rem !important; color: var(--suave)}
.aso .lateral .cuenta-min b{color: var(--tinta); display: block}
.aso .lateral .cuenta-min button{background: none; border: 0; color: var(--azul); padding: 0; cursor: pointer; font: inherit !important; margin-top: 6px}
.aso .lateral .cuenta-min button:hover{text-decoration: underline}
.aso .contador{background: #EF4444; color: #fff; font: 700 .72rem var(--sans) !important; padding: 1px 7px; border-radius: 10px}
.aso .principal{padding: 32px clamp(16px, 3.2vw, 44px) 64px; min-width: 0}
.aso .principal > header{display: flex; flex-wrap: wrap; justify-content: space-between; align-items: flex-end; gap: 16px; margin-bottom: 24px}
.aso .principal > header h1{font-size: clamp(1.5rem, 2.6vw, 1.9rem) !important; margin: 0 0 4px}
.aso .migas{font-size: .875rem !important; margin-bottom: 6px; color: var(--suave)}
.aso .migas a{color: var(--suave); text-decoration: none}
.aso .migas a:hover{color: var(--azul)}
@media (max-width: 860px){.aso .app{grid-template-columns: minmax(0, 1fr)}
.aso .lateral{position: static; height: auto; flex-direction: row; flex-wrap: wrap; align-items: center; padding: 10px 12px; gap: 2px; border-right: 0; border-bottom: 1px solid var(--linea)}
.aso .lateral .logo{margin: 0 auto 0 0; font-size: 1rem !important}
.aso .lateral a.nav{padding: 7px 10px; font-size: .9rem !important}
.aso .lateral .cuenta-min{display: none}}
.aso .resumen{display: grid; grid-template-columns: repeat(5, minmax(0, 1fr)); gap: 12px; margin-bottom: 24px}
@media (max-width: 900px){.aso .resumen{grid-template-columns: repeat(2, minmax(0, 1fr))}
.aso .resumen > :last-child:nth-child(odd){grid-column: 1 / -1}}
.aso .resumen div{padding: 18px 20px; background: #fff; border: 1px solid var(--linea); border-radius: var(--r-grande); box-shadow: var(--sombra)}
.aso .resumen b{display: block; font: 700 1.75rem/1.15 var(--sans) !important; letter-spacing: -.02em !important; font-variant-numeric: tabular-nums}
.aso .resumen span{font-size: .85rem !important; color: var(--suave)}
.aso .resumen .ok b{color: var(--ok)}
.aso .resumen .aviso b{color: var(--aviso)}
.aso .resumen .caida b{color: var(--mal)}
.aso .lista-webs{background: #fff; border: 1px solid var(--linea); border-radius: var(--r-grande); box-shadow: var(--sombra); overflow: hidden}
.aso .lista-webs .w{display: grid; grid-template-columns: 14px minmax(0, 1.6fr) minmax(0, 1.4fr) 96px 90px; gap: 16px; align-items: center;
  padding: 14px 20px; border-top: 1px solid var(--linea); color: inherit; text-decoration: none; transition: background .12s}
.aso .lista-webs .w:first-child{border-top: 0}
.aso .lista-webs .w:hover{background: #F8FAFC}
.aso .lista-webs .w.caida{background: #FFFBFB}
.aso .lista-webs .nom b{display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-weight: 600}
.aso .lista-webs .nom small{color: var(--tenue); font-size: .82rem !important}
.aso .lista-webs .det{font-size: .9rem !important; color: var(--suave); overflow: hidden; text-overflow: ellipsis; white-space: nowrap}
.aso .lista-webs .det.caida{color: var(--mal); font-weight: 600}
.aso .lista-webs .det.aviso{color: var(--aviso)}
.aso .lista-webs .num{font-size: .92rem !important; font-weight: 600; text-align: right; font-variant-numeric: tabular-nums}
.aso .lista-webs .num small{display: block; color: var(--tenue); font-size: .72rem !important; font-weight: 500}
@media (max-width: 760px){.aso .lista-webs .w{grid-template-columns: 14px minmax(0, 1fr) auto}
.aso .lista-webs .w{gap: 4px 12px; padding: 14px 16px}
.aso .lista-webs .punto{grid-row: 1}
.aso .lista-webs .num{grid-column: 3; grid-row: 1}
.aso .lista-webs .det{grid-column: 2 / 4; grid-row: 2}
.aso .lista-webs .num.ms{display: none}}
.aso .vacio{padding: 40px 28px}
.aso .rejilla-panel{display: grid; grid-template-columns: minmax(0, 1fr) 340px; gap: 24px; align-items: start}
.aso .rejilla-panel > *{min-width: 0}
@media (max-width: 1100px){.aso .rejilla-panel{grid-template-columns: minmax(0, 1fr)}}
.aso .bloque{background: #fff; border: 1px solid var(--linea); border-radius: var(--r-grande); margin-bottom: 20px; box-shadow: var(--sombra); overflow: hidden}
.aso .bloque > h2,.aso .bloque > .bloque-cab{font-size: 1rem !important; font-weight: 600; letter-spacing: -.01em !important; margin: 0; padding: 15px 20px; border-bottom: 1px solid var(--linea); display: flex; justify-content: space-between; align-items: center; gap: 12px}
.aso .bloque .dentro{padding: 20px}
.aso .alerta-min{padding: 13px 20px; border-top: 1px solid var(--linea); font-size: .9rem !important}
.aso .alerta-min:first-of-type{border-top: 0}
.aso .alerta-min time{display: block; color: var(--tenue); font-size: .8rem !important; margin-top: 2px}
.aso .barras{display: grid; grid-template-columns: repeat(90, 1fr); gap: 2px; height: 32px}
.aso .barras i{display: block; border-radius: 2px; background: #E2E8F0}
.aso .barras i.b100{background: #22C55E}
.aso .barras i.b99{background: #86EFAC}
.aso .barras i.b95{background: var(--aviso-punto)}
.aso .barras i.bmal{background: #EF4444}
.aso .barras-pie{display: flex; justify-content: space-between; font-size: .8rem !important; color: var(--tenue); margin-top: 6px}
.aso .cifras{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr))}
@media (max-width: 700px){.aso .cifras{grid-template-columns: repeat(2, minmax(0, 1fr))}}
.aso .cifras div{padding: 18px 20px; border-right: 1px solid var(--linea); border-bottom: 1px solid var(--linea)}
.aso .cifras b{display: block; font: 700 1.45rem var(--sans) !important; letter-spacing: -.02em !important; font-variant-numeric: tabular-nums}
.aso .cifras span{font-size: .84rem !important; color: var(--suave)}
.aso .estado-grande{display: flex; gap: 16px; align-items: center; padding: 18px 20px; background: #fff; border: 1px solid var(--linea); border-radius: var(--r-grande); margin-bottom: 20px; box-shadow: var(--sombra)}
.aso .estado-grande.ok{background: var(--ok-fondo); border-color: var(--ok-borde)}
.aso .estado-grande.aviso{background: var(--aviso-fondo); border-color: #FDE68A}
.aso .estado-grande.caida{background: var(--mal-fondo); border-color: var(--mal-borde)}
.aso .estado-grande b{font-size: 1.1rem !important; display: block}
.aso .estado-grande .acciones{margin-left: auto; display: flex; gap: 8px; flex-wrap: wrap}
@media (max-width: 600px){.aso .estado-grande{flex-wrap: wrap}
.aso .estado-grande .acciones{margin-left: 0; flex-basis: 100%}}
.aso .tabla{width: 100%; border-collapse: collapse; font-size: .9rem !important}
.aso .tabla th,.aso .tabla td{text-align: left; padding: 11px 20px; border-top: 1px solid var(--linea); vertical-align: top}
.aso .tabla th{font-weight: 600; font-size: .8rem !important; color: var(--suave); border-top: 0; border-bottom: 1px solid var(--linea); background: var(--gris-fondo)}
.aso .tabla td.mono{white-space: nowrap}
.aso .dl{display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 10px 16px; margin: 0; font-size: .92rem !important}
.aso .dl dt{color: var(--suave)}
.aso .dl dd{margin: 0; overflow-wrap: anywhere}
.aso .graf-lienzo{position: relative; padding-top: 18px}
.aso .graf svg{width: 100%; height: 170px; display: block; overflow: visible}
.aso .graf-tope{position: absolute; top: 0; left: 0; font-size: .74rem !important; color: var(--tenue); font-variant-numeric: tabular-nums}
.aso .graf-eje{display: flex; justify-content: space-between; font-size: .78rem !important; color: var(--tenue); margin-top: 6px}
.aso .codigo{font: .84rem var(--mono) !important; background: var(--gris-fondo); border: 1px solid var(--linea); padding: 10px 12px; border-radius: var(--r); overflow-x: auto; white-space: nowrap; display: block}
.aso .aviso-lista{list-style: none; padding: 0; margin: 0}
.aso .aviso-lista li{padding: 12px 20px; border-top: 1px solid var(--linea); display: flex; gap: 10px; align-items: baseline}
.aso .aviso-lista li:first-child{border-top: 0}
.aso .bloqueado{padding: 20px; color: var(--suave)}
.aso .bloqueado strong{color: var(--tinta)}
.aso .activado{max-width: 680px}
.aso .activado .lista-check{list-style: none; padding: 0; margin: 0 0 20px; background: #fff; border: 1px solid var(--linea); border-radius: var(--r-grande); box-shadow: var(--sombra); overflow: hidden}
.aso .activado .lista-check li{display: flex; gap: 12px; align-items: center; padding: 13px 20px; border-top: 1px solid var(--linea); font-size: .95rem !important}
.aso .activado .lista-check li:first-child{border-top: 0}
.aso .sello{display: flex; gap: 14px; align-items: center; padding: 18px 20px; background: var(--ok-fondo); border: 1px solid var(--ok-borde); border-radius: var(--r-grande); margin-bottom: 24px}
.aso .sello b{font-size: 1.1rem !important; color: #14532D}
.aso .hamburguesa{display: none; width: 44px; height: 44px; border: 1px solid #D5DEEC; border-radius: 10px; background: #fff; cursor: pointer; padding: 0;
  flex-direction: column; align-items: center; justify-content: center; gap: 4px}
.aso .hamburguesa span{display: block; width: 18px; height: 2px; border-radius: 2px; background: var(--marino); transition: transform .2s}
.aso .hamburguesa[aria-expanded="true"] span:nth-child(1){transform: translateY(6px) rotate(45deg)}
.aso .hamburguesa[aria-expanded="true"] span:nth-child(2){transform: scaleX(0)}
.aso .hamburguesa[aria-expanded="true"] span:nth-child(3){transform: translateY(-6px) rotate(-45deg)}
.aso .cab .menu-movil{border-top: 1px solid var(--linea); background: #fff; padding: 8px 16px 16px; display: grid; gap: 0}
.aso .cab .menu-movil[hidden]{display: none}
.aso .cab .menu-movil a{padding: 14px 4px; border-bottom: 1px solid #EEF2F7; color: var(--marino); font-weight: 600; text-decoration: none; font-size: 1.05rem !important}
.aso .menu-movil a:last-child{border-bottom: 0}
@media (max-width: 1020px){.aso .hamburguesa{display: inline-flex}}
@media (min-width: 1021px){.aso .menu-movil{display: none !important}}
@media (max-width: 420px){.aso .cab .solo-ancho-min{display: none}
.aso .cab .btn.chico{padding: 0 12px}}
.aso .pie-enlace{background: none; border: 0; padding: 0; font: inherit !important; color: var(--suave); cursor: pointer; text-align: left}
.aso .pie-enlace:hover{color: var(--azul); text-decoration: underline}
.aso .ck{position: fixed; left: 16px; right: 16px; bottom: 16px; z-index: 100; display: flex; justify-content: center; pointer-events: none}
.aso .ck[hidden]{display: none}
.aso .ck-in{pointer-events: auto; width: min(760px, 100%); background: #fff; border: 1px solid #D5DEEC; border-radius: 14px; padding: 18px 20px;
  box-shadow: 0 24px 60px -20px rgba(10, 31, 68, .45); display: grid; gap: 14px}
.aso .ck h2{font-size: 1rem !important; margin: 0 0 4px; color: var(--marino)}
.aso .ck p{margin: 0; font-size: .9rem !important; color: #334155}
.aso .ck-cats{display: grid; gap: 8px; border-top: 1px solid var(--linea); padding-top: 12px}
.aso .ck-cats[hidden]{display: none}
.aso .ck-cat{display: flex; gap: 10px; align-items: flex-start; font-weight: 400; font-size: .88rem !important; color: #334155; margin: 0}
.aso .ck-cat input{width: 18px; height: 18px; margin-top: 2px; accent-color: var(--azul); flex: none}
.aso .ck-botones{display: grid; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); gap: 10px}
.aso .ck-botones .btn{min-height: 44px; color: var(--marino); border-color: #B8C6DD}
.aso .ck-botones .btn:hover{border-color: var(--azul); color: var(--azul); background: #F3F7FF}
.aso .ck-botones [hidden]{display: none}
.aso .app{grid-template-columns: 250px minmax(0, 1fr); background: #F5F8FD}
.aso .lateral{padding: 22px 14px 16px; gap: 4px; border-right: 1px solid #E6ECF5}
.aso .lateral .logo{margin: 2px 10px 30px}
.aso .lateral .logo svg{width: 32px; height: 32px}
.aso .lateral .logo .marca{font-size: 1.3rem !important}
.aso .lateral a.nav,.aso .lateral button.nav{display: flex; align-items: center; justify-content: flex-start; gap: 14px; padding: 11px 14px; border-radius: 10px;
  color: #334155; font: 500 .96rem var(--sans) !important; text-decoration: none; background: none; border: 0; width: 100%; cursor: pointer; text-align: left}
.aso .lateral a.nav:hover,.aso .lateral button.nav:hover{background: #F1F5FB; color: var(--tinta)}
.aso .lateral a.nav[aria-current="page"]{background: #E8F0FF; color: var(--azul); font-weight: 600}
.aso .lateral .ni{width: 21px; height: 21px; flex: none; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round}
.aso .lateral .contador{margin-left: auto; background: #EF4444; min-width: 22px; height: 22px; display: grid; place-items: center; border-radius: 11px; padding: 0 6px}
.aso .lat-pie{margin-top: auto; padding-top: 16px; border-top: 1px solid #E6ECF5; display: flex; flex-direction: column; gap: 4px}
.aso .lat-pie form{margin: 0}
.aso .lat-promo{margin-top: 18px; border-radius: 14px; padding: 18px; color: #DCE6F7; font-size: .85rem !important;
  background: radial-gradient(90% 70% at 100% 100%, rgba(59, 130, 255, .5) 0%, rgba(59, 130, 255, 0) 70%), linear-gradient(160deg, #0A2A66 0%, #061634 100%)}
.aso .lat-promo b{display: block; color: #fff; font-size: 1.02rem !important; margin-bottom: 4px}
.aso .lat-promo p{margin: 0 0 14px}
.aso .lat-promo a{display: inline-flex; align-items: center; gap: 8px; background: #fff; color: var(--azul); font-weight: 600; text-decoration: none; padding: 8px 14px; border-radius: 8px}
.aso .lat-promo a:hover{background: #E8F0FF; color: var(--azul)}
.aso .barra-sup{display: flex; justify-content: flex-end; align-items: center; gap: 22px; margin: -8px 0 18px}
.aso .campana{position: relative; color: #334155; display: grid; place-items: center; width: 40px; height: 40px; border-radius: 50%}
.aso .campana:hover{background: #E8F0FF; color: var(--azul)}
.aso .campana .ni{width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round}
.aso .campana i{position: absolute; top: 7px; right: 8px; width: 9px; height: 9px; border-radius: 50%; background: #EF4444; box-shadow: 0 0 0 2px #F5F8FD}
.aso .yo{display: flex; align-items: center; gap: 12px; font-size: .9rem !important; line-height: 1.25 !important}
.aso .yo b{display: block; color: var(--tinta)}
.aso .yo small{color: #64748B}
.aso .avatar{width: 40px; height: 40px; border-radius: 50%; background: var(--azul); color: #fff; display: grid; place-items: center; font-weight: 700; font-size: 1.05rem !important}
@media (max-width: 860px){.aso .app{grid-template-columns: minmax(0, 1fr)}
.aso .lateral{padding: 10px 12px}
.aso .lateral .logo{margin: 0 auto 0 0}
.aso .lateral a.nav{padding: 8px 10px; font-size: .9rem !important; width: auto; gap: 8px}
.aso .lateral .ni{width: 18px; height: 18px}
.aso .lat-pie{display: contents}
.aso .lat-pie .lat-promo{display: none}
.aso .lat-pie .nav{padding: 8px; width: auto}
.aso .lat-pie .nav span{position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); white-space: nowrap}
.aso .lateral{position: relative}
.aso .barra-sup{margin: 0 0 12px}
.aso .yo span:last-child{display: none}}
.aso .h-heroe h1{font-size: clamp(2.1rem, 4.4vw, 3.5rem) !important; letter-spacing: -.035em !important; max-width: 13em}
.aso .h-heroe h1 em{display: block}
.aso .h-escena{position: relative; padding: 18px 0}
.aso .h-escena .tablero{position: relative; z-index: 1}
.aso .h-graf{padding: 12px 18px 14px; border-top: 1px solid var(--linea); background: #FBFCFE}
.aso .h-graf svg{width: 100%; height: 44px; display: block}
.aso .h-graf span{font-size: .75rem !important; color: var(--tenue)}
.aso .h-linea{fill: none; stroke: var(--azul); stroke-width: 2; vector-effect: non-scaling-stroke; stroke-linejoin: round}
.aso .h-flota{position: absolute; z-index: 2; display: flex; gap: 10px; align-items: center; background: #fff; border: 1px solid var(--linea);
  border-radius: var(--r-grande); padding: 10px 14px; box-shadow: var(--sombra-alta); font-size: .85rem !important; line-height: 1.3 !important}
.aso .h-flota b{display: block; font-weight: 600}
.aso .h-flota small{color: var(--suave); font-size: .78rem !important}
.aso .h-flota svg{width: 22px; height: 22px; fill: none; stroke: var(--ok); stroke-width: 2; stroke-linecap: round; flex: none}
.aso .h-f1{top: -6px; right: -18px; border-color: var(--mal-borde); animation: h-flotar 6s ease-in-out infinite}
.aso .h-f2{bottom: -10px; left: -22px; animation: h-flotar 7s ease-in-out -2s infinite}
@keyframes h-flotar{ 50% { transform: translateY(-8px) } }
@media (max-width: 1100px){.aso .h-f1{right: 8px}
.aso .h-f2{left: 8px}}
@media (max-width: 520px){.aso .h-flota{display: none}}
.aso .h-estado{position: relative; overflow: hidden; background: radial-gradient(120% 140% at 0% 0%, #13305F 0%, var(--tinta) 55%); color: #E2E8F0; padding: clamp(48px, 7vw, 80px) 0 32px}
.aso .h-estado .envoltura{position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 32px 48px; align-items: center}
.aso .h-estado-ok{display: flex; gap: 22px; align-items: center}
.aso .h-estado h2{margin: 0; color: #fff; font-size: clamp(2.1rem, 5vw, 4.2rem) !important; white-space: nowrap; font-weight: 800; text-transform: uppercase; letter-spacing: -.01em !important; line-height: .95 !important}
.aso .h-estado-ok p{margin: 10px 0 0; font-size: 1.05rem !important; color: #CBD5E1}
.aso .h-latido{width: 26px; height: 26px; border-radius: 50%; background: #22C55E; flex: none; animation: h-latir 2s ease-out infinite}
@keyframes h-latir{ 0% { box-shadow: 0 0 0 0 rgba(34, 197, 94, .6) } 100% { box-shadow: 0 0 0 22px rgba(34, 197, 94, 0) } }
.aso .h-monitor{position: absolute; left: 0; right: 0; bottom: 58px; width: 100%; height: 70px; pointer-events: none}
.aso .h-monitor path{fill: none; stroke: rgba(34, 197, 94, .35); stroke-width: 2; vector-effect: non-scaling-stroke; stroke-linejoin: round;
  stroke-dasharray: 1400; animation: h-trazo 5s linear infinite}
@keyframes h-trazo{ from { stroke-dashoffset: 2800 } to { stroke-dashoffset: 0 } }
.aso .h-contadores{list-style: none; margin: 0; padding: 0; display: flex; gap: 12px; flex-wrap: wrap}
.aso .h-contadores li{background: #0F1A30; border: 1px solid #1E3A5F; border-radius: var(--r-grande); padding: 14px 18px; min-width: 150px; backdrop-filter: blur(4px)}
.aso .h-contadores b{display: block; color: #fff; font-size: 1.5rem !important; font-weight: 700; letter-spacing: -.02em !important; font-variant-numeric: tabular-nums; line-height: 1.2 !important}
.aso .h-contadores span{font-size: .8rem !important; color: #94A3B8}
.aso .h-estado-mal{position: relative; grid-column: 1 / -1; display: flex; gap: 12px; align-items: center; padding-top: 20px; border-top: 1px solid #1E293B; font-size: .9rem !important; color: #94A3B8}
.aso .h-estado-mal b{color: #FCA5A5; text-transform: uppercase; letter-spacing: .04em !important}
.aso .h-estado .punto.caida{box-shadow: 0 0 0 3px rgba(239, 68, 68, .25)}
@media (max-width: 900px){.aso .h-estado .envoltura{grid-template-columns: minmax(0, 1fr)}}
@media (max-width: 480px){.aso .h-contadores li{min-width: 0; flex: 1 1 40%}
.aso .h-latido{width: 18px; height: 18px}}
.aso .h-heroe{position: relative; overflow: hidden;
  background: radial-gradient(60% 70% at 85% 30%, rgba(59, 130, 246, .16), transparent 70%), linear-gradient(180deg, var(--azul-claro) 0%, #fff 80%)}
.aso .h-heroe::before{content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: radial-gradient(rgba(29, 78, 216, .13) 1px, transparent 1px); background-size: 22px 22px;
  -webkit-mask-image: linear-gradient(180deg, #000 0%, transparent 85%); mask-image: linear-gradient(180deg, #000 0%, transparent 85%)}
.aso .h-heroe .envoltura{position: relative}
.aso .h-heroe h1{font-weight: 800}
.aso .h-ticker{display: flex; align-items: center; gap: 10px; padding: 10px 18px; background: var(--tinta); color: #CBD5E1; font: 500 .78rem var(--mono) !important; white-space: nowrap; overflow: hidden}
.aso .h-ticker span:last-child{overflow: hidden; text-overflow: ellipsis}
.aso .h-radar{width: 8px; height: 8px; border-radius: 50%; background: #22C55E; flex: none; animation: h-latir 1.6s ease-out infinite}
.aso .h-ilu{height: 178px; padding: 16px; background: #FBFCFE; border-bottom: 1px solid var(--linea); position: relative; display: flex; flex-direction: column; gap: 7px; overflow: hidden}
.aso .h-ilu .campo-f{display: block; height: 16px; border: 1px solid var(--linea-fuerte); border-radius: 4px; background: #fff}
.aso .h-ilu .campo-f.alto{height: 34px}
.aso .h-ilu .boton-f{align-self: flex-start; background: var(--azul); color: #fff; font: 600 .72rem var(--sans) !important; padding: 5px 14px; border-radius: 4px}
.aso .h-ilu .toast{position: absolute; right: 12px; bottom: 10px; left: 12px; font: 600 .74rem var(--sans) !important; padding: 7px 10px; border-radius: 6px; box-shadow: var(--sombra-alta)}
.aso .h-ilu .toast.mal{background: #FEF2F2; color: var(--mal); border: 1px solid var(--mal-borde)}
.aso .h-ilu-pago .tarjeta-f{display: flex; align-items: center; gap: 8px; padding: 7px 10px; border: 1px solid var(--linea-fuerte); border-radius: 6px; background: #fff; font: 500 .75rem var(--mono) !important; color: var(--suave)}
.aso .h-ilu-pago .tarjeta-f i{width: 22px; height: 14px; border-radius: 3px; background: linear-gradient(135deg, #1D4ED8, #60A5FA)}
.aso .h-ilu-pago .total-f{display: flex; justify-content: space-between; font-size: .8rem !important; color: var(--suave)}
.aso .h-ilu-pago .total-f b{color: var(--tinta)}
.aso .h-ilu-google{gap: 2px; font-size: .74rem !important; line-height: 1.35 !important}
.aso .h-ilu-google small{color: #475569; font-size: .68rem !important}
.aso .h-ilu-google small.sep{margin-top: 10px}
.aso .h-ilu-google b{color: #1A0DAB; font-weight: 500; font-size: .86rem !important}
.aso .h-ilu-google span{color: var(--suave)}
.aso .h-ilu-google mark{background: #FEE2E2; color: var(--mal); padding: 0 2px; border-radius: 2px}
.aso .h-ilu-ssl{flex-direction: row; align-items: center; gap: 12px}
.aso .h-ilu-ssl svg{width: 44px; height: 44px; fill: none; stroke: var(--aviso); stroke-width: 2.4; stroke-linecap: round; flex: none}
.aso .h-ilu-ssl div{flex: 1; min-width: 0; font-size: .78rem !important; line-height: 1.35 !important}
.aso .h-ilu-ssl b{display: block; font-size: .86rem !important}
.aso .h-ilu-ssl span{color: var(--suave)}
.aso .h-ilu-ssl .cuenta-f{flex: none; display: grid; place-items: center; width: 58px; height: 58px; border-radius: 50%; border: 3px solid var(--aviso-punto);
  font: 800 1.4rem/1 var(--sans) !important; color: var(--aviso)}
.aso .h-ilu-ssl .cuenta-f small{display: block; font-size: .6rem !important; font-weight: 600; margin-top: -8px}
.aso .h-hora{color: #fff; font: 700 3.6rem/1 var(--sans) !important; letter-spacing: -.04em !important; text-align: center; margin: 4px 0 26px; font-variant-numeric: tabular-nums}
.aso .h-hora small{display: block; font-size: .85rem !important; font-weight: 500; letter-spacing: 0 !important; color: #CBD5E1; margin-top: 8px}
.aso .h-cap-main{position: relative; overflow: hidden}
.aso .h-cap-main .etq{transition: background .4s, color .4s}
.aso .h-captura .lista-webs .w{position: relative; transition: background .4s}
.aso .h-captura .lista-webs .w.escanea{background: var(--azul-claro)}
.aso .h-captura .lista-webs .w.escanea::after{content: ""; position: absolute; left: 0; top: 0; bottom: 0; width: 3px; background: var(--azul)}
.aso .h-captura .punto{transition: background .3s, box-shadow .3s}
.aso .h-captura .punto.caida{animation: h-latir-rojo 1.4s ease-out infinite}
@keyframes h-latir-rojo{ 0% { box-shadow: 0 0 0 0 rgba(239, 68, 68, .55) } 100% { box-shadow: 0 0 0 10px rgba(239, 68, 68, 0) } }
.aso .h-cap-toast{position: absolute; right: 20px; bottom: 20px; z-index: 3; display: flex; gap: 12px; align-items: center; max-width: calc(100% - 40px);
  background: var(--tinta); color: #fff; border-radius: var(--r-grande); padding: 12px 16px; box-shadow: 0 18px 40px -10px rgba(15, 23, 42, .45);
  font-size: .85rem !important; line-height: 1.35 !important; transform: translateY(calc(100% + 40px)); transition: transform .55s cubic-bezier(.2, .8, .2, 1)}
.aso .h-cap-toast.visible{transform: none}
.aso .h-cap-toast b{display: block; font-weight: 600}
.aso .h-cap-toast small{color: #CBD5E1; font-size: .8rem !important}
.aso .h-linea{stroke-dasharray: 100; animation: h-dibuja 2.2s cubic-bezier(.3, .6, .2, 1) .3s both}
@keyframes h-dibuja{ from { stroke-dashoffset: 100 } to { stroke-dashoffset: 0 } }
.aso .sube{transform: translateY(32px); transition: transform .9s cubic-bezier(.2, .7, .2, 1)}
.aso .sube.visto{transform: none}
.aso .h-ventana,.aso .h-tarjeta,.aso .h-vigila li{transition: transform .9s cubic-bezier(.2, .7, .2, 1), box-shadow .25s}
.aso .h-ventana.visto:hover{transform: translateY(-4px); box-shadow: var(--sombra-alta)}
.aso .h-ventanas{display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 16px}
@media (max-width: 1000px){.aso .h-ventanas{grid-template-columns: repeat(2, minmax(0, 1fr))}}
@media (max-width: 540px){.aso .h-ventanas{grid-template-columns: minmax(0, 1fr)}}
.aso .h-ventana{background: #fff; border: 1px solid var(--linea); border-radius: var(--r-grande); box-shadow: var(--sombra); overflow: hidden; display: flex; flex-direction: column}
.aso .nav-barra{display: flex; align-items: center; gap: 5px; padding: 9px 12px; background: #F1F5F9; border-bottom: 1px solid var(--linea)}
.aso .nav-barra i{width: 8px; height: 8px; border-radius: 50%; background: #CBD5E1}
.aso .nav-barra span{margin-left: 8px; flex: 1; min-width: 0; background: #fff; border-radius: 5px; padding: 2px 8px; font-size: .72rem !important; color: var(--tenue);
  overflow: hidden; text-overflow: ellipsis; white-space: nowrap}
.aso .h-v-cuerpo{padding: 18px; display: flex; flex-direction: column; flex: 1}
.aso .h-num{font: 600 .75rem var(--sans) !important; letter-spacing: .06em !important; text-transform: uppercase; color: var(--tenue)}
.aso .h-v-cuerpo p{margin: 8px 0 16px; color: var(--suave); font-size: .95rem !important; flex: 1}
.aso .h-v-cuerpo ul{list-style: none; margin: 0; padding: 0; display: grid; gap: 6px}
.aso .h-v-cuerpo li{display: flex; gap: 8px; align-items: center; font-size: .88rem !important; font-weight: 600; padding: 7px 10px; border-radius: 6px}
.aso .h-v-cuerpo li::before{content: ""; width: 8px; height: 8px; border-radius: 50%; flex: none}
.aso .h-v-cuerpo li.si{background: var(--ok-fondo); color: var(--ok)}
.aso .h-v-cuerpo li.si::before{background: #22C55E}
.aso .h-v-cuerpo li.no{background: var(--mal-fondo); color: var(--mal)}
.aso .h-v-cuerpo li.no::before{background: #EF4444}
.aso .h-v-cuerpo li.av{background: var(--aviso-fondo); color: var(--aviso)}
.aso .h-v-cuerpo li.av::before{background: var(--aviso-punto)}
.aso .h-remate{margin: 32px 0 0; font-size: clamp(1.25rem, 2.2vw, 1.6rem) !important; font-weight: 700; letter-spacing: -.02em !important}
.aso .h-vigila{list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; background: var(--linea);
  border: 1px solid var(--linea); border-radius: var(--r-grande); overflow: hidden}
@media (max-width: 1000px){.aso .h-vigila{grid-template-columns: repeat(2, minmax(0, 1fr))}}
@media (max-width: 540px){.aso .h-vigila{grid-template-columns: minmax(0, 1fr)}}
.aso .h-vigila li{background: #fff; padding: 24px 22px; display: flex; flex-direction: column; gap: 6px}
.aso .h-vigila b{font-weight: 600; font-size: 1.02rem !important}
.aso .h-vigila span:not(.h-ico){color: var(--suave); font-size: .92rem !important; flex: 1}
.aso .h-vigila em{font: 600 .75rem var(--sans) !important; color: var(--ok); margin-top: 6px}
.aso .h-vigila em.pro{color: var(--azul)}
.aso .h-ico{width: 40px; height: 40px; border-radius: 10px; background: var(--azul-claro); display: grid; place-items: center; margin-bottom: 10px}
.aso .h-ico svg{width: 20px; height: 20px; fill: none; stroke: var(--azul); stroke-width: 2; stroke-linecap: round; stroke-linejoin: round}
.aso .h-alertas{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 380px); gap: 56px; align-items: center}
@media (max-width: 860px){.aso .h-alertas{grid-template-columns: minmax(0, 1fr)}}
.aso .h-lista{list-style: none; margin: 20px 0 0; padding: 0; display: grid; gap: 10px}
.aso .h-lista li{padding-left: 28px; position: relative}
.aso .h-lista li::before{content: ""; position: absolute; left: 0; top: 4px; width: 16px; height: 16px; background: no-repeat center/16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Ccircle cx='10' cy='10' r='10' fill='%2315803D'/%3E%3Cpath d='M6 10.2l2.6 2.6L14 7.4' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.aso .h-movil{background: linear-gradient(160deg, #1E3A8A, #0F172A 70%); border: 10px solid #0B1120; border-radius: 40px; padding: 14px 14px 56px;
  box-shadow: var(--sombra-alta); max-width: 360px; width: 100%; justify-self: center}
.aso .h-movil-cab{display: flex; justify-content: space-between; align-items: center; color: #fff; font: 600 .78rem var(--sans) !important; padding: 2px 10px 22px}
.aso .h-isla{width: 84px; height: 22px; background: #0B1120; border-radius: 12px}
.aso .h-aviso{background: #F8FAFC; border-radius: 16px; padding: 12px 14px; margin-bottom: 10px; font-size: .86rem !important; line-height: 1.35 !important; border-left: 4px solid}
.aso .h-aviso.mal{border-left-color: #EF4444}
.aso .h-aviso.ok{border-left-color: #22C55E}
.aso .h-aviso > b{display: block; margin-bottom: 2px}
.aso .h-aviso > span{color: var(--suave)}
.aso .h-aviso-cab{display: flex; align-items: center; gap: 8px; margin-bottom: 6px; font-size: .75rem !important; color: var(--suave)}
.aso .h-aviso-cab b{font-weight: 600; color: var(--tinta)}
.aso .h-aviso-cab time{margin-left: auto}
.aso .h-app{width: 20px; height: 20px; border-radius: 6px; background: var(--azul); color: #fff; display: grid; place-items: center; font: 700 .7rem var(--sans) !important}
.aso .h-captura{display: grid; grid-template-columns: 200px minmax(0, 1fr); border: 1px solid var(--linea-fuerte); border-radius: 14px; overflow: hidden;
  box-shadow: 0 30px 60px -20px rgba(15, 23, 42, .25), var(--sombra); background: var(--gris-fondo)}
.aso .h-cap-lat{background: #fff; border-right: 1px solid var(--linea); padding: 18px 12px; display: flex; flex-direction: column; gap: 2px; font-size: .88rem !important; color: var(--suave)}
.aso .h-cap-lat > span{padding: 8px 10px; border-radius: var(--r)}
.aso .h-cap-lat .act{background: var(--azul-claro); color: var(--azul); font-weight: 600}
.aso .h-cap-logo{display: flex; align-items: center; gap: 8px; font-weight: 700; color: var(--tinta); margin-bottom: 14px}
.aso .h-cap-logo svg{width: 22px; height: 22px}
.aso .h-cap-main{padding: 22px clamp(14px, 2.4vw, 28px) 26px; min-width: 0}
.aso .h-cap-hola{display: flex; justify-content: space-between; align-items: center; margin-bottom: 18px}
.aso .h-cap-hola small{display: block; color: var(--tenue); font-size: .8rem !important}
.aso .h-cap-hola b{font-size: 1.35rem !important; letter-spacing: -.02em !important}
.aso .h-captura .resumen{margin-bottom: 16px}
@media (max-width: 760px){.aso .h-captura{grid-template-columns: minmax(0, 1fr)}
.aso .h-cap-lat{display: none}
.aso .h-captura .resumen > div:nth-child(5){display: none}
.aso .h-captura .lista-webs .w{grid-template-columns: 14px minmax(0, 1fr); gap: 4px 12px}
.aso .h-captura .lista-webs .det{grid-column: 2}
.aso .h-captura .lista-webs .num{display: none}}
.aso .h-pasos{list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; position: relative}
.aso .h-pasos::before{content: ""; position: absolute; top: 20px; left: 20px; right: 12%; height: 2px; background: repeating-linear-gradient(90deg, var(--azul-borde) 0 8px, transparent 8px 14px)}
.aso .h-pasos li{position: relative}
.aso .h-paso-n{width: 42px; height: 42px; border-radius: 50%; background: var(--azul); color: #fff; font-weight: 700; display: grid; place-items: center; margin-bottom: 16px;
  box-shadow: 0 0 0 6px var(--gris-fondo)}
.aso .h-pasos p{color: var(--suave); margin: 0}
@media (max-width: 860px){.aso .h-pasos{grid-template-columns: repeat(2, minmax(0, 1fr))}
.aso .h-pasos::before{display: none}}
@media (max-width: 480px){.aso .h-pasos{grid-template-columns: minmax(0, 1fr)}}
.aso .h-precio-rej{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 400px); gap: 56px; align-items: center}
@media (max-width: 860px){.aso .h-precio-rej{grid-template-columns: minmax(0, 1fr)}}
.aso .h-precio h2{font-size: clamp(1.9rem, 3.8vw, 3rem) !important; letter-spacing: -.035em !important; max-width: 14em}
.aso .h-precio-sub{font-size: 1.2rem !important; color: var(--tinta); margin-bottom: 20px}
.aso .h-tarjeta{border: 2px solid var(--azul); border-radius: 16px; padding: 28px; background: #fff; box-shadow: var(--sombra-alta); display: flex; flex-direction: column; align-items: flex-start}
.aso .h-cifra{font: 700 3.4rem/1 var(--sans) !important; letter-spacing: -.04em !important; margin: 16px 0 6px}
.aso .h-cifra small{font-size: 1rem !important; font-weight: 500; color: var(--suave); letter-spacing: 0 !important}
.aso .h-tarjeta ul{list-style: none; padding: 0; margin: 20px 0 24px; display: grid; gap: 8px; font-size: .95rem !important}
.aso .h-tarjeta li{padding-left: 26px; position: relative}
.aso .h-tarjeta li::before{content: ""; position: absolute; left: 0; top: 5px; width: 16px; height: 16px; background: no-repeat center/16px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10.5l4 4L16 6' fill='none' stroke='%2315803D' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.aso .h-tarjeta .btn{min-height: 50px; font-size: 1rem !important; align-self: stretch}
.aso .h-gratis{margin-top: 12px; font-size: .9rem !important}
.aso .h-agencias{background: #0B1B3F; color: #CBD5E1; padding: clamp(56px, 8vw, 96px) 0}
.aso .h-agencias h2{color: #fff; font-size: clamp(1.7rem, 3.2vw, 2.4rem) !important}
.aso .h-agencias .antetitulo{color: #93B4FD}
.aso .h-ag-rej{display: grid; grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr); gap: 56px; align-items: center}
@media (max-width: 900px){.aso .h-ag-rej{grid-template-columns: minmax(0, 1fr)}}
.aso .h-ag-lista{list-style: none; padding: 0; margin: 24px 0 28px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px 24px}
@media (max-width: 480px){.aso .h-ag-lista{grid-template-columns: minmax(0, 1fr)}}
.aso .h-ag-lista li{padding-left: 24px; position: relative; color: #E2E8F0}
.aso .h-ag-lista li::before{content: ""; position: absolute; left: 0; top: 7px; width: 10px; height: 10px; border-radius: 3px; background: #22C55E}
.aso .h-botones{display: flex; gap: 16px; align-items: center; flex-wrap: wrap}
.aso .h-botones .peq{color: #94A3B8}
.aso .h-agencias .btn.acento{background: #fff; border-color: #fff; color: var(--tinta)}
.aso .h-agencias .btn.acento:hover{background: #E0E7FF; border-color: #E0E7FF; color: var(--tinta)}
.aso .h-agencias :focus-visible{outline-color: #fff}
.aso .h-ag-panel{background: #fff; color: var(--tinta); border-radius: 16px; padding: 24px; box-shadow: 0 30px 60px -20px rgba(0, 0, 0, .5)}
.aso .h-ag-total{display: flex; align-items: baseline; gap: 10px; margin-bottom: 14px}
.aso .h-ag-total b{font: 700 3rem/1 var(--sans) !important; letter-spacing: -.04em !important}
.aso .h-ag-total span{color: var(--suave)}
.aso .h-ag-fila{display: flex; gap: 10px; align-items: center; padding: 9px 0; border-top: 1px solid var(--linea); font-weight: 600; font-size: .92rem !important}
.aso .h-ag-fila.mal{color: var(--mal)}
.aso .h-ag-fila.av{color: var(--aviso)}
.aso .h-ag-mapa{display: grid; grid-template-columns: repeat(16, minmax(0, 1fr)); gap: 4px; margin: 16px 0 10px}
.aso .h-ag-mapa i{aspect-ratio: 1; border-radius: 3px; background: #22C55E}
.aso .h-ag-mapa i.mal{background: #EF4444}
.aso .h-ag-mapa i.av{background: var(--aviso-punto)}
.aso .h-ag-panel small{color: var(--tenue); font-size: .78rem !important}
.aso .h-faq-rej{display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 56px; align-items: start}
@media (max-width: 860px){.aso .h-faq-rej{grid-template-columns: minmax(0, 1fr); gap: 24px}}
.aso .h-faq details{border-bottom: 1px solid var(--linea)}
.aso .h-faq details:first-child{border-top: 1px solid var(--linea)}
.aso .h-faq summary{cursor: pointer; list-style: none; padding: 18px 36px 18px 0; font-weight: 600; position: relative}
.aso .h-faq summary::-webkit-details-marker{display: none}
.aso .h-faq summary::after{content: "+"; position: absolute; right: 4px; top: 14px; font: 400 1.5rem/1 var(--sans) !important; color: var(--azul)}
.aso .h-faq details[open] summary::after{content: "–"}
.aso .h-faq details p{color: var(--suave); margin: -4px 0 18px}
.aso .h-final{padding: clamp(56px, 8vw, 96px) 0; background: linear-gradient(180deg, #fff 0%, var(--azul-claro) 100%); border-top: 1px solid var(--linea)}
.aso .h-final h2{font-size: clamp(1.8rem, 3.6vw, 2.8rem) !important; letter-spacing: -.035em !important; max-width: 16em}
.aso .h-final p{color: var(--suave); font-size: 1.1rem !important; margin-bottom: 24px}
@media (prefers-reduced-motion: reduce){.aso .h-flota,.aso .h-latido,.aso .h-monitor path,.aso .h-radar,.aso .h-linea,.aso .h-captura .punto.caida{animation: none}}
@font-face{ font-family: "Caveat"; font-style: normal; font-weight: 400 700; font-display: swap;
  src: url("/static/aso/fonts/caveat-latin-wght-normal.woff2") format("woff2") }
.aso .cab{background: rgba(255, 255, 255, .9)}
.aso .cab .envoltura{min-height: 76px}
.aso .ico-l{width: 22px; height: 22px; fill: none; stroke: currentColor; stroke-width: 1.9; stroke-linecap: round; stroke-linejoin: round; flex: none}
.aso .k-pastilla{display: inline-flex; align-items: center; gap: 8px; font: 600 .72rem var(--sans) !important; letter-spacing: .09em !important; text-transform: uppercase;
  color: #3B5B8F; background: #EAF1FF; border: 1px solid #D6E3FF; border-radius: 6px; padding: 5px 11px; margin-bottom: 18px}
.aso .k-pastilla::before{content: ""; width: 6px; height: 6px; border-radius: 50%; background: var(--azul)}
.aso .k-pastilla.oscura{background: rgba(11, 95, 255, .18); border-color: rgba(96, 150, 255, .35); color: #C7D8FF}
.aso .k-pastilla.oscura::before{background: #5B9BFF}
.aso .k-h2{font-size: clamp(1.9rem, 3.4vw, 2.6rem) !important; font-weight: 800; letter-spacing: -.04em !important; line-height: 1.08 !important; color: var(--marino); margin: 0 0 18px}
.aso .k-h2 span,.aso .k-h2.azul{color: var(--azul)}
.aso .k-parrafo{color: #475569; font-size: 1.05rem !important; max-width: 30em}
.aso .k-parrafo b{color: var(--marino)}
.aso .k-btn{min-height: 50px; padding: 0 24px; margin-top: 10px}
.aso .k-seccion{padding: clamp(64px, 8vw, 104px) 0}
.aso .k-heroe h1 .k-h1-eti,.aso .p-heroe h1 .k-h1-eti,.aso .co-heroe h1 .k-h1-eti{display: flex; width: max-content; max-width: 100%; white-space: normal;
  font: 600 .72rem/1.4 var(--sans) !important; letter-spacing: .09em !important; text-transform: uppercase; color: #3B5B8F; margin: 0 0 18px}
.aso .p-heroe h1 .k-h1-eti{margin: 0 auto 18px}
.aso .k-analiza{display: flex; align-items: center; background: #fff; border: 1px solid #D5DEEC; border-radius: 10px; padding: 5px 5px 5px 16px;
  max-width: 540px; box-shadow: 0 14px 34px -14px rgba(11, 95, 255, .28)}
.aso .k-analiza .ico-l{color: var(--azul); width: 20px; height: 20px}
.aso .k-analiza input{flex: 1; min-width: 0; border: 0; box-shadow: none !important; background: transparent; min-height: 50px; font: 500 1rem var(--sans) !important; padding: 0 12px}
.aso .k-analiza .btn{min-height: 50px; padding: 0 22px; border-radius: 8px; font-size: .98rem !important}
.aso .k-analiza:focus-within{border-color: var(--azul); box-shadow: 0 0 0 4px rgba(11, 95, 255, .15)}
@media (max-width: 480px){.aso .k-analiza{flex-wrap: wrap; padding: 6px}
.aso .k-analiza .ico-l{margin-left: 8px}
.aso .k-analiza .btn{flex: 1 1 100%}}
.aso .k-checks{list-style: none; padding: 0; margin: 20px 0 0; display: flex; flex-wrap: wrap; gap: 8px 26px; font-size: .9rem !important; color: #475569}
.aso .k-checks li{display: inline-flex; align-items: center; gap: 8px}
.aso .k-checks li::before{content: ""; width: 14px; height: 14px; flex: none;
  background: no-repeat center/14px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10.5l4 4L16 6' fill='none' stroke='%230B5FFF' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.aso .k-heroe{position: relative; overflow: hidden; padding: clamp(48px, 7vw, 88px) 0 clamp(56px, 7vw, 88px);
  background: radial-gradient(55% 80% at 88% 20%, #DCE8FF 0%, rgba(220, 232, 255, 0) 70%), radial-gradient(40% 50% at 0% 100%, #EEF4FF 0%, rgba(238, 244, 255, 0) 70%), #FAFCFF}
.aso .k-heroe::after{content: ""; position: absolute; right: -8%; top: -10%; width: 60%; height: 120%; pointer-events: none;
  background: repeating-radial-gradient(circle at 100% 0%, rgba(11, 95, 255, .06) 0 1px, transparent 1px 38px)}
.aso .k-heroe-rej{position: relative; z-index: 1; display: grid; grid-template-columns: minmax(0, .92fr) minmax(0, 1.08fr); gap: 56px; align-items: center}
@media (max-width: 980px){.aso .k-heroe-rej{grid-template-columns: minmax(0, 1fr); gap: 48px}}
.aso .k-heroe h1{font-size: clamp(2.3rem, 3.9vw, 3.4rem) !important; font-weight: 800; letter-spacing: -.05em !important; line-height: 1.02 !important; color: var(--marino); margin-bottom: 22px}
.aso .k-heroe h1 span{display: block; color: var(--azul)}
@media (min-width: 981px){.aso .k-heroe h1{white-space: nowrap}}
.aso .k-entrada{font-size: 1.12rem !important; color: #475569; max-width: 26em; margin-bottom: 30px}
.aso .k-dash-escena{position: relative; padding: 0 0 34px}
.aso .k-dash{display: grid; grid-template-columns: 150px minmax(0, 1fr); background: #fff; border: 1px solid #E3EAF5; border-radius: 16px; overflow: hidden;
  box-shadow: 0 40px 80px -30px rgba(10, 31, 68, .35), 0 8px 20px -8px rgba(10, 31, 68, .08); font-size: .8rem !important}
.aso .k-dash-lat{border-right: 1px solid #EDF1F7; padding: 18px 10px; display: flex; flex-direction: column; gap: 2px; color: #52627A}
.aso .k-dash-logo{display: flex; align-items: center; gap: 6px; margin: 0 6px 18px}
.aso .k-dash-logo svg{width: 20px; height: 20px}
.aso .k-dash-logo .marca{font-size: .95rem !important}
.aso .k-dash-lat > span:not(.k-dash-logo){display: flex; align-items: center; gap: 9px; padding: 7px 9px; border-radius: 7px; font-weight: 500}
.aso .k-dash-lat .ico-l{width: 15px; height: 15px}
.aso .k-dash-lat .act{background: #EEF4FF; color: var(--azul); font-weight: 600}
.aso .k-dash-main{position: relative; padding: 18px 20px 48px; min-width: 0}
.aso .k-anadir{position: absolute; top: 14px; right: 16px; background: var(--marino); color: #fff; font: 600 .72rem var(--sans) !important; padding: 6px 11px; border-radius: 6px}
.aso .k-dash-estado{display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 4px 14px; align-items: center; margin: 30px 0 16px}
.aso .k-ok-grande svg{width: 46px; height: 46px; display: block}
.aso .k-ok-grande circle{fill: #22C55E; animation: k-ok 2.4s ease-out infinite}
.aso .k-ok-grande path{fill: none; stroke: #fff; stroke-width: 4.5; stroke-linecap: round; stroke-linejoin: round}
@keyframes k-ok{ 0% { filter: drop-shadow(0 0 0 rgba(34, 197, 94, .6)) } 60% { filter: drop-shadow(0 0 10px rgba(34, 197, 94, .0)) } }
.aso .k-dash-estado b{display: block; font-size: 1.25rem !important; font-weight: 700; letter-spacing: -.02em !important; color: var(--marino)}
.aso .k-dash-estado small{color: #64748B; font-size: .74rem !important}
.aso .k-fecha{grid-column: 1 / -1; grid-row: 1; font-size: .74rem !important; font-weight: 600; color: var(--marino); text-align: right; margin-bottom: 6px}
.aso .k-fecha small{display: block; font-weight: 400; color: #64748B; font-variant-numeric: tabular-nums}
.aso .k-dash-cifras{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 14px}
.aso .k-dash-cifras div{border: 1px solid #E9EEF6; border-radius: 10px; padding: 12px 14px; background: #FBFCFE}
.aso .k-dash-cifras b{display: block; font-size: 1.35rem !important; font-weight: 700; letter-spacing: -.03em !important; color: var(--marino); font-variant-numeric: tabular-nums}
.aso .k-dash-cifras small{color: #64748B; font-size: .72rem !important}
.aso .k-dash-tabla{width: 100%; border-collapse: collapse; border: 1px solid #E9EEF6; border-radius: 10px; overflow: hidden; font-variant-numeric: tabular-nums}
.aso .k-dash-tabla th{text-align: left; font-weight: 600; color: #52627A; font-size: .72rem !important; padding: 9px 10px; background: #F7F9FC; border-bottom: 1px solid #E9EEF6}
.aso .k-dash-tabla td{padding: 9px 10px; border-top: 1px solid #F0F3F8; color: #1E293B; white-space: nowrap; transition: background .35s}
.aso .k-dash-tabla tr.escanea td{background: #EEF4FF}
.aso .k-dash-tabla td.cambia{color: var(--azul)}
.aso .k-dash-tabla i{display: inline-block; width: 7px; height: 7px; border-radius: 50%; margin-right: 6px; vertical-align: 1px}
.aso .k-dash-tabla i.p-ok{background: #22C55E; box-shadow: 0 0 0 3px #DCFCE7}
.aso .k-dash-tabla td:last-child{color: #15803D}
@media (max-width: 1180px){.aso .k-dash{grid-template-columns: minmax(0, 1fr)}
.aso .k-dash-lat{display: none}}
@media (max-width: 560px){.aso .k-dash-tabla th:nth-child(4),.aso .k-dash-tabla td:nth-child(4){display: none}
.aso .k-fecha{display: none}
.aso .k-dash-cifras b{font-size: 1.05rem !important}
.aso .k-dash-main{padding: 14px 14px 56px}}
.aso .k-flota{position: absolute; right: -14px; bottom: 0; display: flex; gap: 12px; align-items: center; background: #fff; border: 1px solid #E3EAF5; border-radius: 12px;
  padding: 12px 16px; box-shadow: 0 20px 40px -14px rgba(10, 31, 68, .3); font-size: .8rem !important; line-height: 1.35 !important; color: #334155; max-width: 250px;
  animation: k-flotar 6s ease-in-out infinite}
.aso .k-flota b{display: block; color: var(--marino)}
.aso .k-flota-ico{width: 36px; height: 36px; border-radius: 10px; background: var(--azul); color: #fff; display: grid; place-items: center; flex: none}
.aso .k-flota-ico .ico-l{width: 18px; height: 18px}
@keyframes k-flotar{ 50% { transform: translateY(-8px) } }
@media (max-width: 1180px){.aso .k-flota{right: 10px}}
.aso .k-con{padding: 40px 0 10px; background: #fff}
.aso .k-mini{font: 600 .74rem var(--sans) !important; letter-spacing: .14em !important; text-transform: uppercase; color: #64748B; text-align: center; margin: 0 0 22px}
.aso .k-marquesina{position: relative; overflow: hidden; padding: 6px 0;
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent); mask-image: linear-gradient(90deg, transparent, #000 8%, #000 92%, transparent)}
.aso .k-cinta{display: flex; width: max-content; animation: k-cinta 45s linear infinite}
.aso .k-marquesina:hover .k-cinta,.aso .k-marquesina:focus-within .k-cinta{animation-play-state: paused}
@keyframes k-cinta{ to { transform: translateX(-50%) } }
.aso .k-plat{list-style: none; margin: 0; padding: 0; display: flex; align-items: center; gap: 56px; padding-right: 56px; flex: none}
.aso .k-plat li{display: flex; align-items: center; gap: 12px; font-size: 1.25rem !important; font-weight: 700; letter-spacing: -.03em !important; color: #334155; white-space: nowrap}
.aso .k-plat svg{width: 32px; height: 32px; flex: none}
.aso .k-plat .k-plat-marca svg{width: 84px; height: 42px}
@media (max-width: 700px){.aso .k-plat{gap: 36px; padding-right: 36px}
.aso .k-plat li{font-size: 1.05rem !important}
.aso .k-plat svg{width: 26px; height: 26px}}
@media (prefers-reduced-motion: reduce){.aso .k-cinta{animation: none; width: auto}
.aso .k-marquesina{-webkit-mask-image: none; mask-image: none}
.aso .k-plat{flex-wrap: wrap; justify-content: center; gap: 18px 36px; padding-right: 0; flex: 1}
.aso .k-plat[aria-hidden]{display: none}}
.aso .k-vigila{padding: 48px 0 24px; background: #fff}
.aso .k-iconos{list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(8, minmax(0, 1fr)); gap: 24px 12px; text-align: center}
@media (max-width: 1000px){.aso .k-iconos{grid-template-columns: repeat(4, minmax(0, 1fr))}}
@media (max-width: 480px){.aso .k-iconos{grid-template-columns: repeat(2, minmax(0, 1fr))}}
.aso .k-iconos li{display: flex; flex-direction: column; align-items: center; gap: 4px}
.aso .k-iconos .ico-l{width: 62px; height: 62px; padding: 19px; border-radius: 50%; background: #EEF4FF; color: var(--azul); margin-bottom: 12px; stroke-width: 2.1;
  transition: transform .9s cubic-bezier(.2, .7, .2, 1), background .25s}
.aso .k-iconos li:hover .ico-l{background: #DCE8FF}
.aso .k-iconos b{font-size: .95rem !important; color: var(--marino)}
.aso .k-iconos span{font-size: .8rem !important; color: #64748B; line-height: 1.4 !important; max-width: 13em}
.aso .k-caida{padding: clamp(56px, 7vw, 88px) 0; background: linear-gradient(180deg, #fff 0%, #F5F8FF 100%)}
.aso .k-caida-rej{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center}
@media (max-width: 900px){.aso .k-caida-rej{grid-template-columns: minmax(0, 1fr); gap: 32px}}
.aso .k-caida-planes{list-style: none; margin: 22px 0 0; padding: 0; display: flex; flex-wrap: wrap; gap: 10px}
.aso .k-caida-planes li{background: #fff; border: 1px solid #DCE6F8; border-radius: 10px; padding: 10px 14px; font-size: .82rem !important; color: #52627A; line-height: 1.3 !important}
.aso .k-caida-planes b{display: block; color: var(--azul); font-size: 1rem !important}
@media (max-width: 480px){.aso .k-caida-planes{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px}
.aso .k-caida-planes li{padding: 10px}
.aso .k-caida-planes b{font-size: .88rem !important; white-space: nowrap}}
.aso .k-linea{list-style: none; margin: 0; padding: 0; position: relative; display: grid; gap: 14px}
.aso .k-linea::before{content: ""; position: absolute; left: 76px; top: 18px; bottom: 18px; width: 2px; background: linear-gradient(#EF4444, #F59E0B 45%, #22C55E)}
.aso .k-linea li{display: grid; grid-template-columns: 56px minmax(0, 1fr); gap: 34px; align-items: center; position: relative}
.aso .k-linea li::before{content: ""; position: absolute; left: 70px; width: 14px; height: 14px; border-radius: 50%; background: #22C55E; box-shadow: 0 0 0 4px #fff, 0 0 0 5px #DCE6F8}
.aso .k-linea li.mal::before{background: #EF4444}
.aso .k-linea li.av::before{background: #F59E0B}
.aso .k-linea time{font: 700 1rem var(--sans) !important; color: var(--marino); font-variant-numeric: tabular-nums; text-align: right}
.aso .k-linea div{background: #fff; border: 1px solid #E3EAF5; border-radius: 12px; padding: 12px 16px; box-shadow: 0 16px 30px -26px rgba(10, 31, 68, .45)}
.aso .k-linea li.mal div{border-color: #FBD5D5}
.aso .k-linea li.ok div{border-color: #BBF7D0; background: #F3FDF6}
.aso .k-linea b{display: block; color: var(--marino)}
.aso .k-linea span{font-size: .88rem !important; color: #52627A}
.aso .k-linea li.mal::before{animation: h-latir-rojo 1.6s ease-out infinite}
@keyframes h-latir-rojo{ 0% { box-shadow: 0 0 0 4px #fff, 0 0 0 4px rgba(239, 68, 68, .5) } 100% { box-shadow: 0 0 0 4px #fff, 0 0 0 14px rgba(239, 68, 68, 0) } }
@media (prefers-reduced-motion: reduce){.aso .k-linea li.mal::before{animation: none}}
.aso .k-prob-rej{display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 56px; align-items: center}
@media (max-width: 980px){.aso .k-prob-rej{grid-template-columns: minmax(0, 1fr)}}
.aso .k-ventanas{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 16px}
@media (max-width: 560px){.aso .k-ventanas{grid-template-columns: minmax(0, 1fr)}}
.aso .k-ventana{background: #fff; border: 1px solid #E3EAF5; border-radius: 12px; box-shadow: 0 20px 40px -24px rgba(10, 31, 68, .3); overflow: hidden;
  display: flex; flex-direction: column; gap: 12px; padding: 0 14px 16px}
.aso .k-v-barra{display: flex; gap: 6px; padding: 12px 0 10px; margin: 0 -14px; padding-left: 14px; border-bottom: 1px solid #EEF2F7; background: #F8FAFD}
.aso .k-v-barra i{width: 9px; height: 9px; border-radius: 50%; background: #F87171}
.aso .k-v-barra i:nth-child(2){background: #FBBF24}
.aso .k-v-barra i:nth-child(3){background: #34D399}
.aso .k-v-url{display: flex; align-items: center; gap: 8px; font-size: .82rem !important; color: #64748B; margin-top: 4px}
.aso .k-v-url .ico-l{width: 15px; height: 15px}
.aso .k-chip{display: flex; align-items: center; gap: 10px; padding: 11px 12px; border-radius: 9px; font-weight: 700; font-size: .92rem !important; line-height: 1.2 !important}
.aso .k-chip::before{content: ""; width: 22px; height: 22px; border-radius: 50%; flex: none; background: no-repeat center/12px}
.aso .k-chip.ok{background: #EBFBF1; color: #14532D; align-self: flex-start; padding-right: 16px}
.aso .k-chip.ok::before{background-color: #16A34A; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10.5l4 4L16 6' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.aso .k-chip.mal{background: #FEF1F1; color: #B91C1C; border: 1px solid #FBD5D5; min-height: 64px}
.aso .k-chip.mal::before{background-color: #DC2626; background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M6 6l8 8M14 6l-8 8' fill='none' stroke='%23fff' stroke-width='3' stroke-linecap='round'/%3E%3C/svg%3E")}
.aso .k-chip.av{background: #FFF6E8; color: #9A4A00; border: 1px solid #FBE3BF; min-height: 64px}
.aso .k-chip.av::before{border-radius: 4px; background-color: transparent; width: 24px;
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2 1 21h22L12 2Z' fill='%23F59E0B'/%3E%3Cpath d='M12 9v5M12 17.5v.5' stroke='%23fff' stroke-width='2.4' stroke-linecap='round'/%3E%3C/svg%3E"); background-size: 22px}
.aso .k-esq{display: block; height: 8px; border-radius: 4px; background: #EEF2F7}
.aso .k-esq.corta{width: 60%}
.aso .k-alertas{position: relative; overflow: hidden; color: #CBD5E1; padding: clamp(64px, 8vw, 96px) 0;
  background: radial-gradient(50% 70% at 50% 40%, rgba(11, 95, 255, .35) 0%, rgba(11, 95, 255, 0) 70%), linear-gradient(135deg, #061A3A 0%, #0A2A5E 100%)}
.aso .k-alertas::before{content: ""; position: absolute; inset: 0; pointer-events: none;
  background-image: linear-gradient(rgba(255, 255, 255, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(255, 255, 255, .035) 1px, transparent 1px); background-size: 48px 48px}
.aso .k-al-rej{position: relative; display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, .8fr); gap: 40px; align-items: center}
@media (max-width: 1080px){.aso .k-al-rej{grid-template-columns: minmax(0, 1fr) minmax(0, 1fr)}
.aso .k-canales{grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr))}}
@media (max-width: 760px){.aso .k-al-rej{grid-template-columns: minmax(0, 1fr)}
.aso .k-canales{grid-template-columns: minmax(0, 1fr)}}
.aso .k-alertas .k-h2{color: #fff}
.aso .k-alertas .k-parrafo{color: #CBD5E1}
.aso .k-btn-linea{background: transparent; color: #fff; border: 1px solid rgba(255, 255, 255, .6); min-height: 48px; margin-top: 10px}
.aso .k-btn-linea:hover{background: rgba(255, 255, 255, .1); color: #fff}
.aso .k-alertas :focus-visible{outline-color: #fff}
.aso .k-telefono-escena{perspective: 1400px; display: grid; place-items: center; padding: 10px 0}
.aso .k-telefono{width: 280px; border-radius: 44px; padding: 14px 14px 80px; border: 9px solid #0B1120;
  background: radial-gradient(80% 60% at 50% 20%, #3B6FD8 0%, #16307A 45%, #0B1638 100%);
  box-shadow: 0 50px 90px -30px rgba(0, 0, 0, .7), 0 0 0 1px #2A3B5C, inset 0 0 0 1px rgba(255, 255, 255, .06);
  transform: rotateY(-16deg) rotateX(8deg) rotateZ(6deg); transition: transform .9s cubic-bezier(.2, .7, .2, 1)}
.aso .k-telefono.sube{transform: rotateY(-16deg) rotateX(8deg) rotateZ(6deg) translateY(32px)}
.aso .k-telefono.sube.visto{transform: rotateY(-16deg) rotateX(8deg) rotateZ(6deg)}
.aso .k-tel-cab{display: flex; justify-content: space-between; align-items: center; color: #fff; font: 600 .72rem var(--sans) !important; padding: 0 8px}
.aso .k-isla{width: 78px; height: 22px; background: #0B1120; border-radius: 12px}
.aso .k-tel-candado{display: grid; place-items: center; color: #fff; margin: 14px 0 4px}
.aso .k-tel-candado .ico-l{width: 16px; height: 16px}
.aso .k-tel-hora{text-align: center; color: #fff; font: 300 3.8rem/1 var(--sans) !important; letter-spacing: -.03em !important; margin-bottom: 26px}
.aso .k-tel-hora small{display: block; font: 500 .78rem var(--sans) !important; letter-spacing: 0 !important; color: #DCE6FF; margin-top: 6px}
.aso .k-noti{display: flex; gap: 10px; background: rgba(255, 255, 255, .88); backdrop-filter: blur(10px); border-radius: 16px; padding: 11px 12px; margin-bottom: 9px;
  font-size: .76rem !important; line-height: 1.35 !important; color: #1E293B; box-shadow: 0 10px 24px -10px rgba(0, 0, 0, .5)}
.aso .k-noti b{display: block; font-size: .74rem !important; color: #0F172A}
.aso .k-noti strong{font-weight: 700}
.aso .k-noti small{display: block; color: #52627A; font-style: italic; margin-top: 2px}
.aso .k-noti-ico{width: 24px; height: 24px; border-radius: 7px; display: grid; place-items: center; flex: none; color: #fff; font: 800 .8rem var(--sans) !important}
.aso .k-noti.mal .k-noti-ico{background: #DC2626}
.aso .k-noti.ok .k-noti-ico{background: #16A34A}
.aso .k-noti.mal{animation: k-noti 5s ease-in-out infinite}
@keyframes k-noti{ 0%, 70%, 100% { transform: none } 76% { transform: translateX(-3px) } 82% { transform: translateX(3px) } 88% { transform: translateX(-2px) } }
.aso .k-canales{list-style: none; margin: 0; padding: 0; display: grid; gap: 22px}
.aso .k-canales li{display: flex; gap: 14px; align-items: center; font-size: .86rem !important; color: #B8C6DD}
.aso .k-canales li > span{width: 42px; height: 42px; border-radius: 10px; background: var(--azul); color: #fff; display: grid; place-items: center; flex: none;
  box-shadow: 0 8px 20px -6px rgba(11, 95, 255, .7)}
.aso .k-canales b{display: block; color: #fff; font-size: .98rem !important}
.aso .k-pasos{list-style: none; margin: 34px 0 0; padding: 0; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 28px}
@media (max-width: 980px){.aso .k-pasos{grid-template-columns: repeat(2, minmax(0, 1fr))}}
@media (max-width: 520px){.aso .k-pasos{grid-template-columns: minmax(0, 1fr)}}
.aso .k-pasos li{display: flex; gap: 16px; align-items: flex-start; font-size: .9rem !important; color: #52627A}
.aso .k-pasos li > span{width: 52px; height: 52px; border-radius: 50%; background: #EEF4FF; color: var(--azul); display: grid; place-items: center; flex: none}
.aso .k-pasos b{display: block; color: var(--marino); font-size: 1rem !important; margin: 4px 0 4px}
.aso .k-precio{padding-top: 24px}
.aso .k-precio-rej{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(0, 1fr); gap: 32px; align-items: center}
@media (max-width: 1000px){.aso .k-precio-rej{grid-template-columns: minmax(0, 1fr) minmax(0, 1fr)}
.aso .k-precio-rej > div:first-child{grid-column: 1 / -1}}
@media (max-width: 640px){.aso .k-precio-rej{grid-template-columns: minmax(0, 1fr)}}
.aso .k-precio .k-h2{font-size: clamp(2rem, 3.6vw, 2.8rem) !important}
.aso .k-precio .k-h2 span{display: block; font-size: 1.2em !important}
.aso .k-plan{background: #fff; border: 1px solid #E3EAF5; border-radius: 16px; padding: 30px; box-shadow: 0 30px 60px -30px rgba(10, 31, 68, .3)}
.aso .k-plan-logo{display: flex; align-items: center; gap: 7px}
.aso .k-plan-logo svg{width: 22px; height: 22px}
.aso .k-plan-logo .marca{font-size: 1rem !important}
.aso .k-plan-precio{font: 800 3rem/1 var(--sans) !important; letter-spacing: -.05em !important; color: var(--marino); margin: 22px 0 22px; display: flex; align-items: baseline; gap: 10px}
.aso .k-plan-precio small{font-size: .85rem !important; font-weight: 500; letter-spacing: 0 !important; color: #64748B}
.aso .k-plan ul,.aso .k-agencias ul{list-style: none; padding: 0; margin: 0; display: grid; gap: 10px; font-size: .92rem !important; color: #1E293B}
.aso .k-plan li,.aso .k-agencias li{padding-left: 26px; position: relative}
.aso .k-plan li::before,.aso .k-agencias li::before{content: ""; position: absolute; left: 0; top: 4px; width: 15px; height: 15px;
  background: no-repeat center/15px url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10.5l4 4L16 6' fill='none' stroke='%2316A34A' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.aso .k-agencias li::before{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10.5l4 4L16 6' fill='none' stroke='%230B5FFF' stroke-width='2.8' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.aso .k-plan-nota{margin: 20px 0 0; padding-top: 16px; border-top: 1px solid #EEF2F7; font-size: .8rem !important; color: #64748B}
.aso .k-agencias{background: linear-gradient(160deg, #EEF4FF, #F6F9FF); border: 1px solid #DCE6F8; border-radius: 16px; padding: 30px}
.aso .k-agencias > small{display: block; color: #52627A; font-size: .9rem !important}
.aso .k-agencias > b{display: block; font-size: 1.15rem !important; color: var(--marino); margin: 4px 0 20px}
.aso .k-agencias ul{margin-bottom: 26px; color: #334155}
.aso .k-btn-azul{color: var(--azul); border-color: var(--azul); background: #fff; min-height: 48px; width: 100%}
.aso .k-btn-azul:hover{color: #fff; background: var(--azul); border-color: var(--azul)}
.aso .k-confianza{padding-top: 24px}
.aso .k-tarjetas{display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; margin-top: 30px}
@media (max-width: 900px){.aso .k-tarjetas{grid-template-columns: minmax(0, 1fr)}}
.aso .k-tarjetas figure{margin: 0; background: #fff; border: 1px solid #E3EAF5; border-radius: 14px; padding: 26px; box-shadow: 0 20px 40px -30px rgba(10, 31, 68, .35);
  display: flex; flex-direction: column; justify-content: space-between; gap: 22px}
.aso .k-tarjetas blockquote{margin: 0; font-size: 1rem !important; line-height: 1.55 !important; color: #1E293B}
.aso .k-tarjetas figcaption{display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 0 12px; font-size: .82rem !important; color: #64748B; align-items: center}
.aso .k-tarjetas figcaption .ico-l{grid-row: span 2; width: 38px; height: 38px; padding: 9px; border-radius: 50%; background: #EEF4FF; color: var(--azul)}
.aso .k-tarjetas figcaption b{color: var(--marino); font-size: .92rem !important}
.aso .k-faq-sec{padding-top: 24px}
.aso .k-faq-rej{display: grid; grid-template-columns: minmax(0, .8fr) minmax(0, 1.2fr); gap: 56px; align-items: start}
@media (max-width: 860px){.aso .k-faq-rej{grid-template-columns: minmax(0, 1fr); gap: 20px}}
.aso .k-faq details{border-bottom: 1px solid #E3EAF5}
.aso .k-faq details:first-child{border-top: 1px solid #E3EAF5}
.aso .k-faq summary{cursor: pointer; list-style: none; padding: 19px 40px 19px 0; font-weight: 600; color: var(--marino); position: relative}
.aso .k-faq summary::-webkit-details-marker{display: none}
.aso .k-faq summary::after{content: "+"; position: absolute; right: 6px; top: 15px; font: 400 1.5rem/1 var(--sans) !important; color: var(--azul)}
.aso .k-faq details[open] summary::after{content: "–"}
.aso .k-faq details p{color: #475569; margin: -4px 0 20px}
.aso .k-final{position: relative; overflow: hidden; padding: clamp(72px, 9vw, 112px) 0; color: #CBD5E1;
  background: radial-gradient(60% 90% at 50% 0%, #0E3A86 0%, rgba(14, 58, 134, 0) 70%), linear-gradient(180deg, #071D44 0%, #061634 100%)}
.aso .k-globo{position: absolute; left: -110px; bottom: -150px; width: 440px; height: 440px; pointer-events: none; animation: k-girar 60s linear infinite}
.aso .k-globo *{fill: none; stroke: #3A7BFF; stroke-width: 2.2; stroke-linecap: round; stroke-dasharray: .1 9}
.aso .k-globo circle{stroke-dasharray: none; stroke: rgba(58, 123, 255, .35); stroke-width: 1.4}
@keyframes k-girar{ to { transform: rotate(360deg) } }
@media (max-width: 700px){.aso .k-globo{left: -220px; bottom: -300px; opacity: .55}}
.aso .k-final-in{position: relative; display: flex; flex-direction: column; align-items: center; text-align: center}
.aso .k-final h2{color: #fff; font-size: clamp(2.2rem, 5vw, 3.6rem) !important; font-weight: 800; letter-spacing: -.05em !important; margin: 0 0 10px}
.aso .k-final h2 span{color: #4D8DFF}
.aso .k-final p{font-size: 1.1rem !important; margin: 0 0 28px; color: #DCE6FF}
.aso .k-final .k-analiza{width: 100%; max-width: 620px; box-shadow: 0 20px 50px -20px rgba(0, 0, 0, .6)}
.aso .k-final .k-checks{justify-content: center; color: #CBD5E1}
.aso .k-final .k-checks li::before{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10.5l4 4L16 6' fill='none' stroke='%237FB0FF' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.aso .k-final :focus-visible{outline-color: #fff}
.aso .k-firma{position: absolute; right: max(24px, calc((100% - 1160px) / 2)); bottom: 70px; font: 600 1.7rem/1.05 "Caveat", cursive !important; color: #E2E8F0; transform: rotate(-8deg)}
.aso .k-firma svg{display: block; width: 110px; height: 55px; margin: 6px 0 0 -30px; fill: none; stroke: #E2E8F0; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round}
@media (max-width: 1100px){.aso .k-firma{display: none}}
.aso .k-iconos li,.aso .k-ventana,.aso .k-canales li,.aso .k-pasos li,.aso .k-plan,.aso .k-agencias,.aso .k-tarjetas figure{transition: transform .9s cubic-bezier(.2, .7, .2, 1)}
.aso .c-heroe{min-height: calc(100vh - 76px - 1px); display: flex; align-items: center}
.aso .c-rej{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, .9fr); gap: 56px; align-items: center}
@media (max-width: 900px){.aso .c-rej{grid-template-columns: minmax(0, 1fr)}}
.aso .c-botones{display: flex; gap: 12px; flex-wrap: wrap}
.aso .c-btn{min-height: 54px; padding: 0 24px; font-size: 1rem !important}
.aso .c-btn .ico-l{width: 20px; height: 20px}
.aso .btn.c-wa{background: #15803D; border-color: #15803D; color: #fff}
.aso .btn.c-wa:hover{background: #166534; border-color: #166534; color: #fff}
.aso .c-tarjetas{list-style: none; margin: 0; padding: 0; display: grid; gap: 14px}
.aso .c-tarjetas li{display: flex; gap: 16px; align-items: center; background: #fff; border: 1px solid #E3EAF5; border-radius: 14px; padding: 18px 20px;
  box-shadow: 0 20px 40px -32px rgba(10, 31, 68, .45)}
.aso .c-tarjetas .ico-l{width: 46px; height: 46px; padding: 12px; border-radius: 12px; background: #EEF4FF; color: var(--azul)}
.aso .c-tarjetas b{display: block; color: var(--marino)}
.aso .c-tarjetas a,.aso .c-tarjetas span{font-weight: 600; font-size: 1.05rem !important; text-decoration: none; overflow-wrap: anywhere}
.aso .c-tarjetas span{color: #1E293B; font-weight: 500}
.aso .c-tarjetas small{display: block; color: #64748B; font-size: .82rem !important}
@media (prefers-reduced-motion: reduce){.aso .k-flota,.aso .k-ok-grande circle,.aso .k-noti.mal,.aso .k-globo{animation: none}}
.aso .an-heroe{padding: clamp(36px, 5vw, 60px) 0 32px;
  background: radial-gradient(50% 80% at 90% 10%, #E4EDFF 0%, rgba(228, 237, 255, 0) 70%), #FAFCFF; border-bottom: 1px solid #E6ECF5}
.aso .an-cab{display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 480px); gap: 32px; align-items: center}
@media (max-width: 900px){.aso .an-cab{grid-template-columns: minmax(0, 1fr)}}
.aso .an-cab h1{font-size: clamp(2rem, 4.4vw, 3.4rem) !important; font-weight: 800; letter-spacing: -.045em !important; line-height: 1.05 !important; color: var(--marino); margin: 0 0 10px; overflow-wrap: anywhere}
.aso .an-titulo{color: #475569; margin: 0 0 14px}
.aso .an-tec{list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 8px}
.aso .an-tec li{background: #fff; border: 1px solid #DCE4F1; border-radius: 6px; padding: 4px 10px; font: 600 .78rem var(--sans) !important; color: #334155}
.aso .an-veredicto{display: flex; gap: 20px; align-items: center; background: #fff; border: 1px solid #E3EAF5; border-radius: 18px; padding: 20px 22px;
  box-shadow: 0 24px 50px -30px rgba(10, 31, 68, .4); border-left: 6px solid #16A34A}
.aso .an-veredicto.aviso{border-left-color: #F59E0B}
.aso .an-veredicto.mal{border-left-color: #DC2626}
.aso .an-veredicto b{display: block; font-size: 1.35rem !important; font-weight: 800; letter-spacing: -.03em !important; color: var(--marino); margin-bottom: 4px}
.aso .an-veredicto.ok b{color: #15803D}
.aso .an-veredicto.mal b{color: #B91C1C}
.aso .an-veredicto span{color: #475569; font-size: .93rem !important}
.aso .an-anillo{width: 110px; height: 110px; flex: none; transform: rotate(-90deg)}
.aso .an-anillo circle{fill: none; stroke-width: 11}
.aso .an-anillo .base{stroke: #EEF2F7}
.aso .an-anillo .val{stroke: #16A34A; stroke-linecap: round; animation: an-anillo 1.4s cubic-bezier(.3, .6, .2, 1) both}
.aso .an-veredicto.aviso .an-anillo .val{stroke: #F59E0B}
.aso .an-veredicto.mal .an-anillo .val{stroke: #DC2626}
@keyframes an-anillo{ from { stroke-dasharray: 0 100 } }
.aso .an-anillo text{transform: rotate(90deg); transform-origin: 60px 60px; text-anchor: middle; font: 800 24px var(--sans) !important; fill: var(--marino)}
.aso .an-anillo text.peq{font: 500 11px var(--sans) !important; fill: #64748B}
@media (max-width: 480px){.aso .an-veredicto{flex-direction: column; align-items: flex-start}}
.aso .an-cuerpo{padding: 36px 0 clamp(56px, 7vw, 88px); background: #FBFCFF}
.aso .an-rej{display: grid; grid-template-columns: minmax(0, 1fr) 380px; gap: 32px; align-items: start}
@media (max-width: 1000px){.aso .an-rej{grid-template-columns: minmax(0, 1fr)}}
.aso .an-h2{font-size: 1.25rem !important; font-weight: 800; letter-spacing: -.03em !important; color: var(--marino); margin: 0 0 14px}
.aso .an-items{list-style: none; margin: 0; padding: 0; display: grid; gap: 10px}
.aso .an-item{display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 14px; align-items: center; background: #fff; border: 1px solid #E6ECF5; border-radius: 14px; padding: 14px 16px;
  box-shadow: 0 14px 30px -26px rgba(10, 31, 68, .45)}
.aso .an-item.mal{border-color: #FBD5D5; background: #FFFBFB}
.aso .an-item-ico{width: 42px; height: 42px; border-radius: 12px; display: grid; place-items: center; background: #E9F9EF; color: #15803D}
.aso .an-item.aviso .an-item-ico{background: #FFF6E8; color: #9A4A00}
.aso .an-item.mal .an-item-ico{background: #FEF1F1; color: #B91C1C}
.aso .an-item-ico .ico-l{width: 21px; height: 21px}
.aso .an-item b{display: block; color: var(--marino)}
.aso .an-item div span{color: #475569; font-size: .9rem !important; overflow-wrap: anywhere}
.aso .an-etq{font: 700 .74rem var(--sans) !important; padding: 4px 10px; border-radius: 20px; white-space: nowrap; background: #E9F9EF; color: #14532D}
.aso .an-etq.aviso{background: #FFF1D6; color: #7C3A00}
.aso .an-etq.mal{background: #FEE2E2; color: #991B1B}
@media (max-width: 480px){.aso .an-item{grid-template-columns: auto minmax(0, 1fr)}
.aso .an-etq{grid-column: 2; justify-self: start}}
.aso .an-nota{display: flex; gap: 10px; align-items: flex-start; color: #52627A; font-size: .9rem !important; margin: 18px 0 26px}
.aso .an-nota .ico-l{width: 18px; height: 18px; flex: none; margin-top: 2px; color: var(--azul)}
.aso .an-otra{max-width: none}
.aso .an-lado{display: grid; gap: 18px; position: sticky; top: 96px}
@media (max-width: 1000px){.aso .an-lado{position: static}}
.aso .an-cta{border-radius: 18px; padding: 26px; color: #DCE6F7;
  background: radial-gradient(80% 70% at 100% 0%, rgba(59, 130, 255, .45) 0%, rgba(59, 130, 255, 0) 70%), linear-gradient(160deg, #0A2A66 0%, #061634 100%);
  box-shadow: 0 30px 60px -30px rgba(10, 31, 68, .6)}
.aso .an-cta h2{color: #fff; font-size: 1.35rem !important; font-weight: 800; letter-spacing: -.03em !important; margin: 14px 0 8px}
.aso .an-cta p{font-size: .93rem !important; margin: 0 0 14px}
.aso .an-cta .k-checks{color: #DCE6F7; margin: 0 0 20px; display: grid; gap: 6px}
.aso .an-cta .k-checks li::before{background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 20 20'%3E%3Cpath d='M4 10.5l4 4L16 6' fill='none' stroke='%237FB0FF' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")}
.aso .an-cta-ico{width: 44px; height: 44px; border-radius: 12px; background: var(--azul); color: #fff; display: grid; place-items: center}
.aso .an-cta-ico .ico-l{width: 22px; height: 22px}
.aso .an-cta-ico.rojo{background: #FEE2E2; color: #B91C1C}
.aso .an-cta-btn{width: 100%; min-height: 52px; font-size: 1rem !important}
.aso .an-cta-sec{display: block; text-align: center; margin-top: 12px; color: #BFD3FF; font-size: .88rem !important}
.aso .an-cta-sec:hover{color: #fff}
.aso .an-cta :focus-visible{outline-color: #fff}
.aso .an-rep{background: #fff; border: 1px solid #FBD5D5; border-radius: 18px; padding: 24px}
.aso .an-rep-cab{display: flex; gap: 12px; align-items: center; margin-bottom: 8px}
.aso .an-rep h2{font-size: 1.2rem !important; font-weight: 800; color: var(--marino); margin: 0}
.aso .an-rep p{color: #475569; font-size: .9rem !important}
.aso .an-rep-btn{width: 100%; min-height: 48px}
.aso .an-rep input[type=tel]{width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--linea-fuerte); border-radius: var(--r); font: 1rem var(--sans) !important}
.aso .co-oblig{font-weight: 400; color: #64748B; font-size: .82rem !important}
@media (prefers-reduced-motion: reduce){.aso .an-anillo .val{animation: none}}
@media (max-width:1023px){.aso .k-heroe{padding-top:calc(48px + 73px) !important}}

/* --- capa SEO (vig_seo.py): H1 largo, H3 de los iconos y bloques de texto --- */
.aso .k-heroe h1{white-space:normal !important}
@media (min-width:1024px){.aso .k-heroe{padding-top:calc(76px + 73px) !important}}
.aso .k-iconos h3.k-ico-t{font-size:.95rem !important;line-height:1.3 !important;font-weight:700;color:#0A1F44;margin:0}
.aso .vw-seo .k-parrafo{max-width:44em}
.aso .vw-gris{background:#F6F8FC}
.aso .vw-tarjetas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:34px}
.aso .vw-tarjeta{background:#fff;border:1px solid #E2E8F0;border-radius:16px;padding:24px 24px 26px}
.aso .vw-tarjeta h3{font-size:1.08rem !important;line-height:1.3 !important;font-weight:800;color:#0A1F44;margin:0 0 8px;letter-spacing:-.01em !important}
.aso .vw-tarjeta p{font-size:.95rem !important;line-height:1.6 !important;color:#475569;margin:0}
.aso .vw-tarjeta a{color:#0B5FFF;font-weight:700;text-decoration:underline;text-underline-offset:2px}
.aso .vw-tarjeta a:hover{color:#0A1F44}
.aso .vw-tarjeta a:focus-visible{outline:3px solid #0B5FFF;outline-offset:2px;border-radius:2px}
@media (max-width:900px){.aso .vw-tarjetas{grid-template-columns:1fr}}
/* --- piezas propias de Webs Barcelona (resultado del análisis) --- */
.aso .an-heroe{padding-top:calc(40px + 73px) !important}
.aso .vw-h1{font-size:clamp(2rem,4vw,2.8rem) !important;line-height:1.1 !important;margin:14px 0 18px}
.aso .vw-error{color:#B42318;font-weight:600;margin:0 0 14px}
.aso .vw-botones{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}
.aso .vw-btn{flex:1 1 140px;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:12px 20px;border-radius:999px;font-weight:700 !important;font-size:15px !important;color:#fff;text-decoration:none;transition:transform .15s ease,filter .15s ease}
.aso .vw-btn svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.aso .vw-wa svg{stroke:none}
.aso .vw-tel{background:#0B5FFF}
.aso .vw-wa{background:#0F7A40}
.aso .vw-btn:hover{filter:brightness(1.08);transform:translateY(-1px)}
.aso .vw-btn:focus-visible{outline:3px solid #0A1F44;outline-offset:3px}
@media (prefers-reduced-motion:reduce){.aso .vw-btn{transition:none}.aso .vw-btn:hover{transform:none}}

/* --- diseño (vig_seo.py) --- */
.wb-cta-wrap{display:none !important}
.aso .vw-alta-l{margin:14px 0 0;font-size:.95rem !important;line-height:1.5 !important;color:#475569}
.aso .vw-alta-l a{color:#0B5FFF;font-weight:700;text-decoration:none;border-bottom:1.5px solid rgba(11,95,255,.35)}
.aso .vw-alta-l a:hover{border-bottom-color:#0B5FFF}
.aso .vw-alta-l.oscuro{text-align:center;margin-top:18px}
.aso .vw-alta-l.oscuro a{color:#BFD3FF;border-bottom-color:rgba(191,211,255,.4)}
.aso .vw-alta-l.oscuro a:hover{color:#fff;border-bottom-color:#fff}
.aso .vw-alta-l a:focus-visible{outline:3px solid #0B5FFF;outline-offset:3px;border-radius:2px}
.aso .vw-prueba{position:relative;z-index:1;display:flex;align-items:center;gap:16px;margin-top:56px;padding:18px 20px 18px 24px;background:#fff;border:1px solid #E2E8F0;border-radius:16px;box-shadow:0 24px 50px -36px rgba(10,31,68,.45)}
.aso .vw-prueba-punto{flex:none;width:12px;height:12px;border-radius:50%;background:#16A34A;box-shadow:0 0 0 5px rgba(22,163,74,.16)}
.aso .vw-prueba p{flex:1;margin:0;font-size:1rem !important;line-height:1.5 !important;color:#475569}
.aso .vw-prueba b{color:#0A1F44}
.aso .vw-prueba a{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:50px;padding:0 24px;border-radius:12px;background:#0B5FFF;color:#fff;font-weight:800;font-size:1rem !important;text-decoration:none;transition:background .15s}
.aso .vw-prueba a:hover{background:#0047D6}
.aso .vw-prueba a:focus-visible{outline:3px solid #0A1F44;outline-offset:3px}
@media (max-width:760px){.aso .vw-prueba{flex-wrap:wrap;margin-top:40px;padding:18px}.aso .vw-prueba p{flex-basis:calc(100% - 28px)}.aso .vw-prueba a{width:100%;justify-content:center}}
.aso .vw-precios .k-parrafo{max-width:44em}
.aso .vw-pl{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:38px;align-items:stretch}
.aso .vw-pc{position:relative;background:#fff;border:1.5px solid #E2E8F0;border-radius:18px;padding:30px 26px 26px;display:flex;flex-direction:column}
.aso .vw-pc.dest{border-color:#0B5FFF;box-shadow:0 30px 60px -38px rgba(11,95,255,.55)}
.aso .vw-pc-et{position:absolute;top:-12px;left:24px;background:#0B5FFF;color:#fff;font-size:.68rem !important;font-weight:800;letter-spacing:.08em !important;text-transform:uppercase;border-radius:6px;padding:4px 9px}
.aso .vw-pc h3{font-size:1.25rem !important;line-height:1.2 !important;font-weight:800;color:#0A1F44;margin:0 0 4px}
.aso .vw-pc-d{font-size:.9rem !important;line-height:1.5 !important;color:#64748B;margin:0 0 18px;min-height:3em}
.aso .vw-pc-p{font-size:2.6rem !important;line-height:1 !important;font-weight:800;letter-spacing:-.04em !important;color:#0A1F44;margin:0}
.aso .vw-pc-p small{font-size:.9rem !important;font-weight:600;letter-spacing:0 !important;color:#64748B}
.aso .vw-pc ul{list-style:none;margin:22px 0 26px;padding:22px 0 0;border-top:1px solid #EEF2F7;display:grid;gap:11px;flex:1;align-content:start}
.aso .vw-pc li{display:flex;gap:10px;align-items:flex-start;font-size:.95rem !important;line-height:1.45 !important;color:#1E293B}
.aso .vw-pc li svg{flex:none;width:18px;height:18px;margin-top:1px;color:#16A34A}
.aso .vw-pc li.no{color:#94A3B8}
.aso .vw-pc li.no svg{color:#CBD5E1}
.aso .vw-pc-b{display:flex;align-items:center;justify-content:center;min-height:50px;border-radius:12px;border:1.5px solid #0B5FFF;color:#0B5FFF;background:#fff;font-weight:800;font-size:1rem !important;text-decoration:none;transition:background .15s,color .15s}
.aso .vw-pc-b:hover{background:#EEF4FF}
.aso .vw-pc.dest .vw-pc-b{background:#0B5FFF;color:#fff}
.aso .vw-pc.dest .vw-pc-b:hover{background:#0047D6}
.aso .vw-pc-b:focus-visible{outline:3px solid #0A1F44;outline-offset:3px}
.aso .vw-pl4{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.aso .vw-pl4 .vw-pc{padding:28px 22px 22px}
@media (max-width:1180px){.aso .vw-pl4{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 16px}}
.aso .vw-ag{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-top:20px;padding:20px 26px;border-radius:16px;background:#F1F5FF;border:1px solid #DCE6FF}
.aso .vw-ag b{display:block;font-size:1.05rem !important;color:#0A1F44;margin:0 0 2px}
.aso .vw-ag span{font-size:.92rem !important;line-height:1.5 !important;color:#475569}
.aso .vw-ag a{flex:none;display:inline-flex;align-items:center;gap:8px;min-height:46px;padding:0 20px;border-radius:11px;background:#0A1F44;color:#fff;font-weight:700;font-size:.95rem !important;text-decoration:none}
.aso .vw-ag a:hover{background:#13306A}
.aso .vw-ag a:focus-visible{outline:3px solid #0B5FFF;outline-offset:3px}
.aso .vw-duda{margin-top:28px;padding:22px;border-radius:16px;background:#F6F8FC;border:1px solid #E2E8F0;max-width:360px}
.aso .vw-duda b{display:block;font-size:1.05rem !important;color:#0A1F44}
.aso .vw-duda span{display:block;margin:4px 0 16px;font-size:.92rem !important;line-height:1.5 !important;color:#475569}
.aso .vw-duda-b{display:flex;flex-wrap:wrap;gap:8px}
.aso .vw-duda-b a{flex:1 1 140px;display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 14px;border-radius:10px;color:#fff;font-weight:700;font-size:.92rem !important;text-decoration:none}
.aso .vw-duda-tel{background:#0B5FFF}
.aso .vw-duda-wa{background:#0F7A40}
.aso .vw-duda-b a:hover{filter:brightness(1.08)}
.aso .vw-duda-b a:focus-visible{outline:3px solid #0A1F44;outline-offset:2px}
@media (min-width:1024px){.aso .k-faq-rej > div:first-child{position:sticky;top:110px;align-self:start}}
@media (max-width:900px){.aso .vw-pl{grid-template-columns:1fr;gap:26px}.aso .vw-ag a{width:100%;justify-content:center}.aso .vw-duda{max-width:none}}
@media (prefers-reduced-motion:reduce){.aso .vw-pc-b{transition:none}}
