/* Astro HMS · web 2
   Identidad de astrohms.com: fondo de círculos en la cabecera, cian #00B4D5, titulares con serifa.
   Cada bloque de la página es una clase de este fichero; las páginas solo combinan bloques. */

:root{
  --cyan:#00B4D5; --cyan-deep:#07798f; --cyan-soft:#e3f6fa; --cyan-line:#9fd9e6; --on-cyan:#14262b; /* texto sobre el azul de marca: 6,3:1 (el blanco da 2,5:1) */
  --ink:#14262b; --muted:#5a6b70; --line:#dbe6e9; --paper:#f2fafc; --white:#ffffff;
  /* Paleta de la guía (02 Colores). Rojo #F9564F: círculos de marca, alertas, errores, lo que se pierde y series negativas */
  --red:#F9564F; --orange:#F86624; --yellow:#FEAD31;
  --ok:#137a4b; --ok-soft:#f2fafc; --warn:#b8481a; --warn-soft:#f2fafc; --accent:var(--orange);
  --display:"Fraunces", Georgia, "Times New Roman", serif;
  --body:"Inter", Arial, sans-serif;
  --radius:12px; --shadow:0 12px 30px rgba(20,38,43,.14); --shadow-soft:0 6px 16px rgba(20,38,43,.07);
  --wrap:1180px;
  color-scheme:light;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.6 var(--body)}
img{max-width:100%;height:auto}
a{color:var(--cyan-deep)}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
h1,h2,h3,h4{font-family:var(--display);line-height:1.12;margin:0;text-wrap:balance;color:var(--ink)}
h1{font-size:clamp(32px,4.4vw,54px);font-weight:500} h1 b,h1 strong{font-weight:700}
h2{font-size:clamp(26px,3vw,38px);font-weight:500} h2 b,h2 strong{font-weight:700}
h3{font-size:19px;font-weight:700}
p{margin:0}
.band{padding-block:72px;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.band.tight{padding-block:36px}
.band.white{background:var(--white)}
.band.soft{background:var(--paper)}
.inner{max-width:var(--wrap);margin:0 auto;display:grid;gap:32px}
.head{display:grid;gap:10px;max-width:760px}
.head.center{margin-inline:auto;text-align:center;justify-items:center}
.eyebrow{font:600 12px var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--cyan-deep)}
.w2-lead{font-size:16px;color:var(--muted)}
.icon{width:24px;height:24px;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex:0 0 auto}
img.icon.brand{object-fit:contain}
.feat .ico img.icon.brand{width:32px;height:32px}

/* ---------- Botones ---------- */
.w2-btn{display:inline-flex;align-items:center;gap:8px;font:600 16px var(--body);padding:12px 22px;border-radius:999px;text-decoration:none;border:2px solid var(--cyan);transition:transform .15s,box-shadow .15s}
.w2-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px rgba(0,180,213,.25)}
.w2-btn.primary{background:var(--cyan);color:var(--on-cyan)}
.w2-btn.ghost{background:var(--white);color:var(--cyan-deep)}
.w2-btn.w2-small{padding:8px 16px;font-size:14px}
.ctas{display:flex;flex-wrap:wrap;gap:12px}

/* ---------- Barra superior ---------- */
.topbar{position:sticky;top:env(safe-area-inset-top,0px);z-index:50;background:var(--cyan);padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.topbar .bar{max-width:var(--wrap);margin:0 auto;display:flex;align-items:center;gap:20px;min-height:62px}
.w2-logo img{display:block;height:38px;width:auto}
.w2-nav{display:flex;align-items:center;gap:4px;margin-left:8px;flex:1}
.w2-nav>li{list-style:none;position:relative}
.w2-nav{padding:0;margin-block:0}
.w2-nav a,.w2-nav button{display:block;color:var(--on-cyan);text-decoration:none;font:500 15px var(--body);padding:8px 10px;border-radius:8px;background:none;border:0;cursor:pointer}
.w2-nav a:hover,.w2-nav button:hover,.w2-nav li:focus-within>button{background:rgba(255,255,255,.16)}
.drop{position:absolute;left:0;top:100%;min-width:240px;background:var(--white);border-radius:var(--radius);box-shadow:var(--shadow);padding:10px;display:none}
.w2-nav li:hover>.drop,.w2-nav li:focus-within>.drop{display:grid}
.drop a{color:var(--ink);padding:8px 10px}
.drop a:hover{background:var(--cyan-soft)}
.drop.mega{grid-template-columns:repeat(3,minmax(170px,1fr));min-width:600px}
.drop.mega h4{font:600 12px var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--cyan-deep);padding:8px 10px 2px}
.topbar .demo{margin-left:auto;background:var(--white);color:var(--cyan-deep);border-color:var(--cyan)}
.burger{display:none;margin-left:auto;background:none;border:0;color:var(--on-cyan);padding:8px;cursor:pointer}
@media (max-width:1180px){
  .w2-nav{display:none;position:absolute;left:0;right:0;top:62px;background:var(--cyan);flex-direction:column;align-items:stretch;padding:8px max(16px,env(safe-area-inset-right,0px)) 16px max(16px,env(safe-area-inset-left,0px));max-height:calc(100vh - 62px);overflow:auto}
  .topbar.open .w2-nav{display:flex}
  .drop,.drop.mega{position:static;display:grid;box-shadow:none;background:transparent;min-width:0;grid-template-columns:1fr 1fr;padding:0 0 6px 10px}
  .drop a{color:var(--on-cyan)} .drop a:hover{background:rgba(255,255,255,.22)} .drop.mega h4{color:var(--on-cyan);opacity:.8}
  .burger{display:block}
  .topbar .demo{display:none}
}

/* ---------- Cabecera (hero) con el fondo de círculos ---------- */
.hero{position:relative;overflow:hidden;background:var(--white) url("../img/banner_landing.svg") center/cover no-repeat}
/* portada: también el fondo de cabeceras de la web (07 Fondos: «fondo-circulos-landing: cabeceras de la web»; el texto, sobre zona clara) */
.hero.home{background-image:url("../img/banner_landing.svg")}
/* sin velo sobre el fondo de círculos (07 Fondos: «no se añaden velos ni degradados encima») */
.hero .inner{position:relative;grid-template-columns:minmax(0,5fr) minmax(0,7fr);align-items:center;gap:56px}
.hero-copy{display:grid;gap:18px}
.hero-copy .sub{font-size:16px;max-width:32em}
.crumbs{font-size:13px;color:var(--muted)} .crumbs a{color:var(--muted)}
@media (max-width:900px){.hero .inner{grid-template-columns:1fr;gap:28px}}

/* Escenario: portátil, móvil y tarjetas flotantes */
.stage{position:relative;padding:52px 0 40px}
.screen{position:relative;background:#1d2b30;border-radius:14px 14px 4px 4px;padding:10px 10px 12px;box-shadow:0 24px 60px rgba(20,38,43,.22)}
.screen .view{position:relative;border-radius:4px;overflow:hidden;background:var(--white)}
.screen img{display:block;width:100%;height:auto}
.base{height:14px;background:linear-gradient(#d6dfe2,#b9c6ca);border-radius:0 0 14px 14px;margin:0 -4%}
.newbar{position:absolute;height:5.4%;width:0;border-radius:6px;background:var(--accent);color:var(--ink);font:600 clamp(8px,1vw,12px)/1 var(--body);display:flex;align-items:center;padding-left:8px;white-space:nowrap;overflow:hidden;box-shadow:0 0 0 3px rgba(248,102,36,.25);animation:grow 9s ease-in-out infinite}
@keyframes grow{0%,3%{width:0}12%,88%{width:var(--w,24%)}96%,100%{width:0}}
.phone{position:absolute;right:-2%;bottom:6px;width:28%;background:#1d2b30;border-radius:22px;padding:8px;box-shadow:0 18px 40px rgba(20,38,43,.28)}
.phone .ph{background:var(--white);border-radius:15px;overflow:hidden}
.phone .ptitle{font:600 11px var(--body);padding:8px 10px;background:var(--cyan);color:var(--on-cyan)}
.slides{position:relative;aspect-ratio:451/392;background:var(--paper)}
.slide{position:absolute;inset:0;opacity:0;transition:opacity .6s ease}
.slide.on{opacity:1}
.slide>img{width:100%;height:100%;object-fit:cover;object-position:top}
.pdots{display:flex;justify-content:center;gap:4px;padding:5px 0 3px;background:var(--white)}
.pdots i{width:5px;height:5px;border-radius:50%;background:var(--cyan-line)}.pdots i.on{background:var(--cyan)}
.float{position:absolute;z-index:3;background:var(--white);border-radius:var(--radius);padding:10px 14px;box-shadow:var(--shadow);display:flex;gap:10px;align-items:center;font-size:13px;line-height:1.3;max-width:290px}
.float b{display:block;font-size:14px;color:var(--ink)}
.float span{color:var(--muted)}
.float .dot{flex:0 0 32px;height:32px;border-radius:50%;display:grid;place-items:center;font:600 13px var(--body);color:var(--on-cyan);background:var(--cyan)}
.float .dot .icon{width:18px;height:18px}
.float.tl{left:-2%;top:-14px} .float.tr{right:-7%;top:-14px} .float.bl{left:-2%;bottom:6%} .float.br{right:-4%;bottom:-18px}
.float.pop{animation:pop 9s ease-in-out infinite}
.float.swap .fx{opacity:0} .float .fx{transition:opacity .3s}
@keyframes pop{0%,4%{opacity:0;transform:translateY(8px) scale(.96)}9%,88%{opacity:1;transform:none}96%,100%{opacity:0;transform:translateY(-4px)}}
@media (prefers-reduced-motion:reduce){.newbar,.float.pop{animation:none}.newbar{width:var(--w,24%)}}
@media (max-width:560px){
  .float{max-width:210px;padding:8px 10px;font-size:12px}.float b{font-size:13px}
  .float.tl,.float.bl{left:0}.float.tr{right:0;top:auto;bottom:-34px}.float.br{right:0}
  .phone{width:34%;right:0}
}

/* Mini pantallas de app (móvil y portátil) */
.app{padding:8px;display:grid;gap:5px;align-content:start;font-size:clamp(7px,.72vw,10px);line-height:1.25;color:var(--ink);background:#f3f7f8;height:100%}
.app .c{display:inline-block;border:1px solid var(--line);border-radius:999px;padding:0 5px;font-weight:600;background:var(--white)}
.app .red{color:#d23a33;border-color:#fdd5d3}.app .yel{color:#a96a00;border-color:#ffe3b8}.app .blu{color:#1565c0;border-color:#b9d3f0}
.app .w2-row{display:flex;gap:3px;flex-wrap:wrap}
.app .tile{background:var(--white);border-radius:6px;padding:6px;display:grid;gap:2px;box-shadow:0 1px 3px rgba(20,38,43,.08)}
.app .meta{color:var(--muted)} .app .who{color:var(--cyan-deep);font-weight:600} .app .okt{color:var(--ok);font-weight:600}
.app .ln{display:flex;justify-content:space-between;background:var(--white);padding:3px 6px;border-radius:4px}
.app .tot{display:flex;justify-content:space-between;font-weight:600;border-top:1px solid var(--line);padding:3px 6px 0}
.app .act{text-align:center;border-radius:5px;padding:5px 2px;font-weight:600;background:var(--cyan);color:var(--on-cyan)}
.app .act.alt{background:var(--white);color:var(--ink);border:1px solid var(--line)}
.app .acts{display:grid;grid-template-columns:1fr 2fr;gap:4px}
.app .kpis{display:grid;grid-template-columns:repeat(3,1fr);gap:4px}
.app .kpis span{background:var(--white);border-radius:6px;padding:4px 5px;display:grid}
.app .kpis small{font-size:.8em;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.app .kpis b{font-size:1.6em;line-height:1.1}
.app .kpis .hi{background:var(--cyan);color:var(--on-cyan)}.app .kpis .hi small{color:var(--on-cyan)}
.app .title{font-weight:600;color:var(--cyan-deep)}
.app .hint{text-align:center;color:var(--muted)}
.app .big{font:600 2.6em/1 var(--body);text-align:center}
.desk{padding:2.2% 2.6%;display:grid;gap:3%;align-content:start;font-size:clamp(7px,.95vw,13px);line-height:1.3;color:var(--ink);background:#f3f7f8;aspect-ratio:1400/572}
.desk .dh{display:flex;justify-content:space-between;align-items:center;gap:8px;border-bottom:1px solid var(--line);padding-bottom:1.4%}
.desk .dh b{font-size:1.15em}
.desk .st{font-size:.9em;color:var(--muted);background:var(--white);border:1px solid var(--line);border-radius:999px;padding:1px 8px}
.desk .st.ok{color:var(--ok);border-color:#bfe6d2;background:var(--ok-soft)}
.desk .boxes{display:grid;grid-template-columns:repeat(var(--n,3),1fr);gap:2%}
.desk .box{background:var(--white);border-radius:8px;padding:5% 6%;display:grid;gap:3px;box-shadow:0 1px 3px rgba(20,38,43,.06)}
.desk .box small{font-size:.8em;text-transform:uppercase;letter-spacing:.05em;color:var(--cyan-deep);font-weight:600}
.desk .box span{color:var(--muted)}
.desk .box b.bn{font:600 2.2em/1.05 var(--body)}
.desk .box.hi{background:var(--cyan);color:var(--on-cyan)}.desk .box.hi small,.desk .box.hi span{color:var(--on-cyan)}
.desk .rows{display:grid;gap:5px}
.desk .rows>div{display:flex;justify-content:space-between;gap:10px;background:var(--white);border-radius:6px;padding:1.2% 2%}
.desk .pill{display:inline-block;font-weight:600;color:var(--ok);background:var(--ok-soft);border-radius:999px;padding:1px 8px}
.desk .pill.warn{color:var(--warn);background:var(--warn-soft)}

/* ---------- Franja de datos ---------- */
.facts{background:var(--white);border-block:1px solid var(--line)}
.facts .inner{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:16px}
.fact{display:grid;gap:4px;padding:6px 4px}
.fact strong{font:700 24px/1.1 var(--display);color:var(--cyan-deep)}
.fact span{font-size:14px;color:var(--muted)}
@media (max-width:900px){.facts .inner{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Funciones (tarjetas con icono) ---------- */
.feats{display:grid;grid-template-columns:repeat(var(--cols,3),minmax(0,1fr));gap:18px}
.feat{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:grid;gap:10px;align-content:start}
.feat .ico{width:44px;height:44px;border-radius:12px;background:var(--cyan-soft);color:var(--cyan-deep);display:grid;place-items:center}
.feat p{color:var(--muted);font-size:15px}
.feat a{font-size:14px;font-weight:600;text-decoration:none}
.feat a:hover{text-decoration:underline}
@media (max-width:900px){.feats{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:560px){.feats{grid-template-columns:1fr}}

/* ---------- Captura explicada ---------- */
.explain{display:grid;grid-template-columns:minmax(0,8fr) minmax(0,4fr);gap:36px;align-items:start}
.shot{position:relative}
.frame{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:0 18px 44px rgba(20,38,43,.14)}
.frame .chrome{display:flex;gap:6px;padding:9px 12px;background:var(--paper);border-bottom:1px solid var(--line)}
.frame .chrome i{width:10px;height:10px;border-radius:50%;background:var(--line);display:block}
.frame img{display:block;width:100%;height:auto}
.w2-badge{position:absolute;z-index:3;width:26px;height:26px;border-radius:50%;background:var(--cyan);color:var(--on-cyan);font:600 14px var(--body);display:grid;place-items:center;box-shadow:0 0 0 2px var(--white);transform:translate(-50%,-50%)}
.loupe{position:absolute;width:34%;aspect-ratio:1;border-radius:50%;border:5px solid var(--white);box-shadow:0 14px 34px rgba(20,38,43,.3);background-repeat:no-repeat}
.pin{position:absolute;background:var(--white);border-radius:var(--radius);padding:10px 14px;box-shadow:var(--shadow);font-size:13px;display:grid;gap:2px}
.pin b{font:700 22px/1 var(--display);color:var(--cyan-deep)}
.legend{list-style:none;margin:0;padding:0;display:grid;gap:16px}
.legend li{display:grid;grid-template-columns:30px 1fr;gap:12px;align-items:start}
.num{width:30px;height:30px;border-radius:50%;background:var(--cyan);color:var(--on-cyan);font:600 14px var(--body);display:grid;place-items:center}
.legend b{display:block}
.legend li>div>span{color:var(--muted);font-size:15px}
@media (max-width:900px){.explain{grid-template-columns:1fr}.loupe{width:40%}}

/* ---------- Paso a paso ---------- */
.steps{display:grid;grid-template-columns:repeat(var(--n,4),minmax(0,1fr));gap:16px;position:relative}
.steps::before{content:"";position:absolute;left:8%;right:8%;top:15px;border-top:2px dashed var(--cyan-line);z-index:0}
.step{position:relative;z-index:1;display:grid;gap:10px;align-content:start;justify-items:center;text-align:center}
.step .mini{width:100%;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:12px;display:grid;gap:6px;align-content:start;text-align:left;box-shadow:var(--shadow-soft);min-height:88px}
.step p{font-size:14px;color:var(--muted)}
.w2-chip{display:inline-flex;align-items:center;gap:6px;font:600 13px var(--body);padding:3px 9px;border-radius:999px;background:var(--cyan-soft);color:var(--ink);width:max-content;max-width:100%}
.w2-chip.ok{background:var(--ok-soft);color:var(--ok)} .w2-chip.warn{background:var(--warn-soft);color:var(--warn)}
.mini small{color:var(--muted);font-size:13px}
@media (max-width:900px){
  .steps{grid-template-columns:1fr;gap:18px}
  .steps::before{left:15px;right:auto;top:10px;bottom:10px;border-top:0;border-left:2px dashed var(--cyan-line)}
  .step{grid-template-columns:30px 1fr;column-gap:14px;justify-items:start;text-align:left}
  .step .num{grid-row:span 4}
}

/* ---------- Conectado con… ---------- */
.links{display:flex;flex-wrap:wrap;gap:10px}
.links a{display:inline-flex;align-items:center;gap:8px;background:var(--white);border:1px solid var(--line);border-radius:999px;padding:8px 14px;color:var(--ink);text-decoration:none;font-weight:500}
.links a:hover{border-color:var(--cyan);color:var(--cyan-deep)}
.links .icon{width:18px;height:18px;color:var(--cyan-deep)}
.connect{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,7fr);gap:36px;align-items:center}
@media (max-width:900px){.connect{grid-template-columns:1fr}}

/* ---------- Circuito del huésped (portada) ---------- */
.circuit{display:grid;gap:22px}
.track{position:relative;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding-bottom:64px}
.rail{position:absolute;left:8.3%;right:8.3%;top:20px;height:4px;background:var(--cyan-line);border-radius:4px}
.rail-fill{position:absolute;left:0;top:0;bottom:0;width:0;background:var(--cyan);border-radius:4px;transition:width .6s ease}
.guest{position:absolute;top:50%;left:0;transform:translate(-50%,-50%);width:22px;height:22px;border-radius:50%;background:var(--ink);box-shadow:0 0 0 5px rgba(0,180,213,.35);transition:left .6s ease}
.stage-btn{position:relative;z-index:1;display:grid;justify-items:center;gap:4px;background:none;border:0;padding:0;cursor:pointer;font:inherit;color:var(--ink);text-align:center}
.stage-btn .n{width:44px;height:44px;border-radius:50%;background:var(--white);border:3px solid var(--cyan-line);display:grid;place-items:center;font:600 16px var(--body);color:var(--cyan-deep);transition:all .3s}
.stage-btn b{font:700 19px var(--display)}
.stage-btn small{font-size:13px;color:var(--muted)}
.stage-btn.w2-active .n{background:var(--cyan);border-color:var(--cyan);color:var(--on-cyan);box-shadow:0 0 0 6px rgba(0,180,213,.18)}
.loop{position:absolute;left:0;right:0;bottom:6px;width:100%;height:60px}
.loop-label{position:absolute;left:50%;bottom:0;transform:translateX(-50%);font-size:13px;color:var(--cyan-deep);background:var(--paper);padding:0 8px;white-space:nowrap}
.panel{display:none;grid-template-columns:minmax(0,6fr) minmax(0,5fr);gap:32px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:28px;box-shadow:0 14px 40px rgba(20,38,43,.08)}
.panel.w2-active{display:grid;animation:fadein .4s ease}
@keyframes fadein{from{opacity:.3;transform:translateY(6px)}to{opacity:1;transform:none}}
.pcopy{display:grid;gap:12px}
.pcopy .num{display:none}
.pcopy ul{margin:0;padding-left:18px;display:grid;gap:6px}
.pcopy li::marker{color:var(--cyan-deep)}
.mods{font-size:14px;color:var(--muted)}
.pui{display:grid;gap:12px;background:var(--paper);border-radius:14px;padding:18px}
.pui.two{grid-template-columns:repeat(2,minmax(0,1fr))}
.ui-card{background:var(--white);border-radius:10px;padding:12px 14px;display:grid;gap:5px;box-shadow:var(--shadow-soft);align-content:start}
.ui-card small{font:600 12px var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--cyan-deep)}
.ui-card span:not(.w2-chip){font-size:13px;color:var(--muted)}
.merge .src{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}
.merge .src .w2-chip{background:var(--white);box-shadow:0 2px 6px rgba(20,38,43,.08)}
.merge .w2-arrow{text-align:center;color:var(--cyan-deep);font-size:22px;line-height:1}
.core{text-align:center;color:var(--muted);font-size:15px}
.core span{display:inline-block;font-weight:600;color:var(--ink);background:var(--white);border:1px solid var(--line);border-radius:999px;padding:4px 14px;margin-right:6px}
@media (max-width:900px){
  .track{display:none}
  .panel{display:grid;grid-template-columns:1fr;padding:20px;margin-bottom:14px}
  .panel.w2-active{animation:none}
  .pcopy .num{display:grid}
}
@media (max-width:480px){.pui.two{grid-template-columns:1fr}}
@media (prefers-reduced-motion:reduce){.rail-fill,.guest{transition:none}.panel.w2-active{animation:none}}

/* ---------- Preguntas frecuentes ---------- */
.faq{display:grid;gap:10px;max-width:860px}
.faq details{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:4px 18px}
.faq summary{cursor:pointer;font-weight:600;padding:12px 0;list-style:none;display:flex;justify-content:space-between;gap:12px}
.faq summary::-webkit-details-marker{display:none}
.faq summary::after{content:"+";color:var(--cyan-deep);font-size:22px;line-height:1}
.faq details[open] summary::after{content:"–"}
.faq details p{padding:0 0 14px;color:var(--muted)}

/* ---------- Llamada a la demo ---------- */
.cta{background:var(--white);border-block:1px solid var(--line)}
.cta .inner{grid-template-columns:minmax(0,1fr) auto;align-items:center}
.cta h2{font-size:clamp(26px,2.4vw,30px);color:var(--ink)}
@media (max-width:700px){.cta .inner{grid-template-columns:1fr}}

/* ---------- Otros módulos (rejilla compacta) ---------- */
.mods-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.mods-grid a{display:flex;align-items:center;gap:10px;background:var(--white);border:1px solid var(--line);border-radius:10px;padding:12px 14px;color:var(--ink);text-decoration:none;font-weight:600}
.mods-grid a:hover{border-color:var(--cyan);color:var(--cyan-deep)}
.mods-grid .icon{color:var(--cyan-deep)}
@media (max-width:900px){.mods-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

/* ---------- Pie ---------- */
.footer{background:var(--paper);color:var(--ink);border-top:1px solid var(--line);padding-block:48px 0;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px))}
.footer .cols{max-width:var(--wrap);margin:0 auto;display:grid;grid-template-columns:1.4fr 1fr 1fr 1fr;gap:28px;padding-bottom:36px}
.footer h4{font:700 19px var(--display);color:var(--ink);margin-bottom:10px}
.footer a{color:var(--cyan-deep);display:block;padding:3px 0;font-size:14px}
.footer p{font-size:14px;color:var(--ink)}
.footer .follow{display:flex;align-items:center;gap:19px;margin-top:16px;font-weight:600;font-size:14px}
.footer .follow a{display:block;padding:0;line-height:0}.footer .follow img{width:28px;height:28px;display:block}
.footer .legal{max-width:var(--wrap);margin:0 auto;border-top:1px solid var(--line);padding-block:16px;font-size:13px;color:var(--muted);display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px}
@media (max-width:800px){.footer .cols{grid-template-columns:1fr 1fr}}

/* Iconos de los módulos tal como salen en la aplicación */
img.icon.modicon{object-fit:contain;width:32px;height:32px}
.mods-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}
.mods-grid a{flex-direction:column;justify-content:center;text-align:center;gap:10px;padding:18px 12px;font-size:15px}
.mods-grid img.icon.modicon,.mods-grid .icon{width:64px;height:64px}
.links a{padding:8px 16px 8px 10px}
.links a img.icon.modicon{width:30px;height:30px}
.feat .ico{width:56px;height:56px}
.feat .ico img.icon.modicon{width:40px;height:40px}
.drop a{display:flex;align-items:center;gap:10px}
.drop img.icon.modicon{width:28px;height:28px}
.crumbs{display:flex;align-items:center;gap:8px}
.crumbs img.icon.modicon.lg{width:64px;height:64px;margin-right:6px}

/* ---------- Blog ---------- */
.head-row{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:end;gap:16px}
.posts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}
.post{display:grid;grid-template-rows:auto 1fr;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;text-decoration:none;color:var(--ink);transition:transform .15s,box-shadow .15s}
.post:hover{transform:translateY(-2px);box-shadow:var(--shadow)}
.post img,.post .noimg{display:block;width:100%;aspect-ratio:16/9;object-fit:cover;background:var(--cyan-soft)}
.pbody{padding:16px 18px;display:grid;gap:8px;align-content:start}
.pcat{font:600 12px var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--cyan-deep)}
.post h3{font-size:19px;line-height:1.25}
.pdate{font-size:13px;color:var(--muted)}
.post.feature{grid-template-columns:minmax(0,7fr) minmax(0,5fr);grid-template-rows:auto}
.post.feature img{aspect-ratio:16/10;height:100%}
.post.feature .pbody{padding:28px;align-content:center;gap:12px}
.post.feature p{color:var(--muted)}
.fchips{display:flex;flex-wrap:wrap;gap:8px}
.fchip{font:500 14px var(--body);border:1px solid var(--line);background:var(--white);color:var(--ink);border-radius:999px;padding:6px 14px;cursor:pointer}
.fchip.on{background:var(--cyan);border-color:var(--cyan);color:var(--on-cyan)}
@media (max-width:900px){.posts{grid-template-columns:repeat(2,minmax(0,1fr))}.post.feature{grid-template-columns:1fr}}
@media (max-width:560px){.posts{grid-template-columns:1fr}}

/* ---------- PCI DSS ---------- */
.footer a.pci{display:inline-flex;align-items:center;gap:10px;margin-top:14px;background:var(--white);border:1px solid var(--line);color:var(--ink);border-radius:10px;padding:6px 12px 6px 8px;text-decoration:none;font-weight:600}
.footer a.pci img{height:34px;width:auto}
.trust{display:flex;flex-wrap:wrap;align-items:center;gap:18px;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:18px 22px}
.trust img{height:56px;width:auto}
.trust p{color:var(--muted);flex:1;min-width:240px}

/* ---------- Integraciones ---------- */
.intgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}
.intcard{display:grid;grid-template-columns:72px 1fr;gap:14px;align-items:start;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:14px}
.intcard[hidden]{display:none}
.intcard img,.intcard .nologo{width:72px;height:72px;object-fit:contain;border-radius:10px;background:var(--white);border:1px solid var(--line)}
.intcard .nologo{display:grid;place-items:center;font:700 22px var(--display);color:var(--cyan-deep);background:var(--cyan-soft)}
.intcard b{display:block}
.intcard p{font-size:13px;color:var(--muted);margin-top:4px}

/* ---------- Notas del parche ---------- */
.notes{display:grid;gap:10px;max-width:860px}
.notes a{display:grid;grid-template-columns:140px 1fr auto;gap:12px;align-items:center;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:14px 18px;text-decoration:none;color:var(--ink)}
.notes a:hover{border-color:var(--cyan)}
.notes span{color:var(--muted)} .notes .go{color:var(--cyan-deep);font-weight:600}
@media (max-width:560px){.notes a{grid-template-columns:1fr}}

/* Más aire entre el menú y el principio de la página */
.hero.band{padding-top:104px;padding-bottom:80px}
.band.white:first-child,main>section.band.white:first-of-type{padding-top:104px}
@media (max-width:900px){.hero.band{padding-top:56px}main>section.band.white:first-of-type{padding-top:56px}}
.fact strong{overflow-wrap:anywhere;hyphens:auto}
@media (max-width:440px){.facts .inner{grid-template-columns:1fr}}

/* ---------- IA ---------- */
.split{display:grid;grid-template-columns:minmax(0,5fr) minmax(0,6fr);gap:40px;align-items:center}
@media (max-width:900px){.split{grid-template-columns:1fr}}
.ticks{list-style:none;padding:0;margin:8px 0 0;display:grid;gap:8px}
.ticks li{padding-left:28px;position:relative}
.ticks li::before{content:"✓";position:absolute;left:0;top:0;width:20px;height:20px;border-radius:50%;background:var(--cyan-soft);color:var(--cyan-deep);font-weight:600;font-size:12px;display:grid;place-items:center}
.aichat,.aiprice{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:20px;box-shadow:0 18px 44px rgba(20,38,43,.12);display:grid;gap:14px}
.aiq,.aia{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start}
.aiq p{background:var(--paper);border-radius:12px;padding:10px 14px}
.aiav{width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font:600 12px var(--body);background:var(--line);color:var(--ink)}
.aia table{width:100%;border-collapse:collapse;margin-top:10px;font-size:14px;font-variant-numeric:tabular-nums}
.aia th,.aia td{padding:6px 8px;border-bottom:1px solid var(--line);text-align:right}
.aia th:first-child,.aia td:first-child{text-align:left}
.aia tr:last-child td{font-weight:600;color:var(--cyan-deep)}
.aiacts{display:flex;gap:8px;margin-top:10px}
.aiacts span{font-size:13px;font-weight:600;border:1px solid var(--line);border-radius:999px;padding:4px 12px;color:var(--cyan-deep)}
.aiprice .dh2{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid var(--line);padding-bottom:8px}
.aiprice .dh2 span{font-size:13px;color:var(--muted)}
.rec{display:grid;grid-template-columns:1fr auto auto;gap:14px;align-items:center;padding:10px 12px;border-radius:10px;background:var(--paper)}
.rec span{display:block;font-size:13px;color:var(--muted)}
.rec .pr{text-align:right}.rec .pr s{color:var(--muted);font-size:13px;display:block}.rec .pr b{font:700 20px var(--display);color:var(--cyan-deep)}
.rec .ra{display:grid;gap:4px}.rec .ra span{font-size:12px;font-weight:600;text-align:center;border-radius:6px;padding:3px 10px;border:1px solid var(--line);background:var(--white);color:var(--ink)}
.rec .ra .ok{background:var(--cyan);border-color:var(--cyan);color:var(--on-cyan)}
.guard{font-size:13px;color:var(--muted)}
@media (max-width:480px){.rec{grid-template-columns:1fr auto}.rec .ra{grid-column:1/-1;grid-template-columns:1fr 1fr}}

/* ---------- Clientes y cifras ---------- */
.stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;text-align:center}
.stats div{display:grid;gap:4px;padding:18px 10px;border-radius:var(--radius);background:var(--cyan-soft)}
.stats b{font:700 clamp(34px,4vw,48px)/1 var(--display);color:var(--cyan-deep)}
.stats span{font-size:14px;color:var(--muted)}
.clients{display:flex;flex-wrap:wrap;justify-content:center;gap:10px 28px;padding-top:8px}
.clients span{font:500 19px var(--display);color:var(--muted);white-space:nowrap}
@media (max-width:700px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.clients span{font-size:16px}}

/* ---------- Portátil en 3D ---------- */
.laptop{position:relative;perspective:1800px;perspective-origin:30% 40%}
.laptop .screen{transform:rotateY(-13deg) rotateX(4deg);transform-origin:50% 100%;border-radius:14px 14px 6px 6px;box-shadow:-30px 30px 60px rgba(20,38,43,.22)}
.deck{position:relative;height:0;padding-bottom:13%;margin:-2px -6% 0 -3%;background:linear-gradient(180deg,#e9eef0 0%,#cfd9dc 70%,#b6c3c7 100%);
  transform:rotateX(58deg) rotateY(-13deg) rotateZ(4deg);transform-origin:50% 0;border-radius:6px 6px 18px 18px;box-shadow:0 26px 30px -14px rgba(20,38,43,.35)}
.deck .keys{position:absolute;left:9%;right:9%;top:10%;height:52%;border-radius:4px;
  background:repeating-linear-gradient(90deg,transparent 0 6.4%,#c2ccd0 6.4% 7%),repeating-linear-gradient(0deg,#f6f8f9 0 17%,#c2ccd0 17% 20%);opacity:.95}
.deck .pad{position:absolute;left:38%;right:38%;top:68%;bottom:10%;border-radius:4px;background:#dfe6e8;box-shadow:inset 0 0 0 1px #c2ccd0}
@media (prefers-reduced-motion:reduce){.laptop .screen,.deck{transform:none}}
@media (max-width:560px){.laptop .screen{transform:rotateY(-8deg)}.deck{transform:rotateX(58deg) rotateY(-8deg)}}

/* ---------- Franja superior: teléfono, reunión y acceso ---------- */
.utilbar{background:var(--ink);color:#fff;padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-top:env(safe-area-inset-top,0px)}
.ubar{max-width:var(--wrap);margin:0 auto;display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:34px;font-size:13px}
.ubar>span{opacity:.9}
.util{display:flex;align-items:center;gap:2px}
.util a{display:flex;align-items:center;gap:6px;color:#fff;text-decoration:none;font:500 13px var(--body);padding:5px 10px;border-radius:6px;white-space:nowrap}
.util a:hover{background:rgba(255,255,255,.16)}
.util .icon{width:16px;height:16px}
.w2-nav a,.w2-nav button{white-space:nowrap}
.topbar{top:0}
@media (max-width:760px){.ubar>span{display:none}.ubar{justify-content:center}.util .meet span{display:none}}
@media (max-width:400px){.util .login span{display:none}}
.more{font-weight:600;text-decoration:none;font-size:15px;justify-self:start}

/* ---------- IoT ---------- */
.iot{display:grid;justify-items:center;gap:18px;background:var(--white);border:1px solid var(--line);border-radius:16px;padding:24px;box-shadow:0 18px 44px rgba(20,38,43,.1)}
.iot .cloud,.iot .hub{display:grid;justify-items:center;font:700 18px var(--display);border-radius:14px;padding:12px 22px;position:relative}
.iot small{font:500 13px var(--body);color:inherit}
.iot .cloud{background:var(--cyan);color:var(--on-cyan)}
.iot .hub{background:var(--cyan-soft);color:var(--cyan-deep)}
.iot .cloud::after,.iot .hub::after{content:"";position:absolute;left:50%;top:100%;height:18px;border-left:2px dashed var(--cyan-line)}
.iot .devs{display:flex;flex-wrap:wrap;justify-content:center;gap:8px}
.iot .devs span{font-size:13px;font-weight:600;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:6px 12px}
.topbar .demo{white-space:nowrap}
@media (max-width:1100px){.w2-nav a,.w2-nav button{padding:8px 7px;font-size:14px}.w2-nav{margin-left:0}}
@media (max-width:1060px) and (min-width:981px){.topbar .demo{display:none}}

/* Portátil plano (el usuario prefiere la versión sin giro) */
.laptop{perspective:none}
.laptop .screen{transform:none;box-shadow:0 24px 60px rgba(20,38,43,.22)}
.deck{transform:none!important;height:14px;padding-bottom:0;margin:0 -4%;background:linear-gradient(#d6dfe2,#b9c6ca);border-radius:0 0 14px 14px;box-shadow:none}
.deck .keys,.deck .pad{display:none}


/* Cifras discretas en la cabecera de la portada (censo de telemetría) */
.proof{display:flex;flex-wrap:wrap;gap:6px 22px;margin-top:6px;padding-top:16px;border-top:1px solid rgba(20,38,43,.12);font-size:14px;color:var(--muted)}
.proof b{font:700 20px var(--display);color:var(--cyan-deep);margin-right:2px}

.drop img.icon.brand{width:24px;height:24px}

/* Iconos: todos en negro, como la iconografía de la marca */
.feat .ico{color:var(--ink);background:var(--cyan-soft)}
.links .icon,.mods-grid .icon{color:var(--ink)}
img.icon.brand{width:32px;height:32px}
.util img.icon.brand{width:24px;height:24px}.w2-btn img.icon.brand{width:24px;height:24px}
.links a img.icon.brand{width:24px;height:24px}
/* AstroMate */
img.astromate{object-fit:contain}
.w2-nav a.ia{display:flex;align-items:center;gap:6px}

.aiav.ai{background:var(--cyan-soft);padding:2px;overflow:hidden}
.aiav.ai img{width:100%;height:100%;object-fit:contain}
.mascot{display:block;height:150px;width:auto;margin-left:auto}
.cta .inner{grid-template-columns:auto minmax(0,1fr) auto}
.cta .mascot{height:120px;margin:0}
@media (max-width:700px){.cta .mascot{height:96px}}
.mascot-big{width:100%;max-width:360px;justify-self:center}
.feat .ico img.astromate{width:34px;height:40px}
.float .dot img.astromate{width:26px;height:30px}
.float .dot:has(img.astromate){background:var(--cyan-soft)}

/* Cifras reales del censo en la franja de datos */
.fact.census strong{font-size:30px;color:var(--ink)}
.fact.census span{color:var(--cyan-deep);font-weight:600}

/* Portada: franja de cifras reales bajo la cabecera */
.facts.numbers{padding-block:40px}
.facts.numbers .fact{text-align:center;border-right:1px solid var(--line)}
.facts.numbers .fact:nth-child(4){border-right:0}
.facts.numbers .fact.census strong{font-size:clamp(34px,4vw,46px);color:var(--cyan-deep)}
.facts.numbers .fact.census span{color:var(--muted);font-weight:500}
.facts .badges{grid-column:1/-1;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 20px;padding-top:18px;border-top:1px solid var(--line);font-size:14px;color:var(--ink)}
.facts .badges span{display:inline-flex;align-items:center;gap:6px}
.facts .badges .icon{width:24px;height:24px}
@media (max-width:900px){.facts.numbers .fact{border-right:0}}
@media (max-width:600px){.facts .badges{flex-direction:column;align-items:flex-start;max-width:340px;margin-inline:auto}}
.facts.numbers .inner{grid-template-columns:repeat(4,minmax(0,1fr))}
@media (max-width:900px){.facts.numbers .inner{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:600px){.facts .badges{width:fit-content;max-width:100%}}
/* Menú Módulos: columnas con sitio para los nombres largos */
@media (min-width:1181px){.drop.mega{grid-template-columns:repeat(3,minmax(230px,1fr));min-width:780px;column-gap:8px}.drop.mega h4{white-space:nowrap}}
@media (min-width:1181px) and (max-width:1240px){.drop.mega{grid-template-columns:repeat(3,minmax(0,1fr));min-width:690px}.drop.mega a{font-size:14px}}
/* Integraciones: tarjeta que abre el detalle */
[data-int]{cursor:pointer;transition:border-color .15s,box-shadow .15s}
[data-int]:hover,[data-int]:focus-visible{border-color:var(--cyan);box-shadow:var(--shadow)}
.intcard .more{display:inline-block;margin-top:6px;font-size:13px;font-weight:600;color:var(--cyan-deep)}
.intdlg{border:0;border-radius:var(--radius);padding:28px;width:min(620px,calc(100vw - 32px));max-height:calc(100vh - 48px);box-shadow:var(--shadow);background:var(--white);color:var(--ink)}
.intdlg::backdrop{background:rgba(20,38,43,.45)}
.intdlg .x{position:absolute;top:10px;right:14px;border:0;background:none;font-size:28px;line-height:1;color:var(--muted);cursor:pointer}
.intdlg .ih{display:flex;gap:16px;align-items:center;margin-bottom:16px;padding-right:24px}
.intdlg .ilogo img,.intdlg .ilogo .nologo{width:72px;height:72px;object-fit:contain;border:1px solid var(--line);border-radius:10px}
.intdlg h3{font:500 26px var(--display);margin:0}
.intdlg .pcat{font-size:13px;color:var(--muted)}
.intdlg .ib p{margin:0 0 12px;line-height:1.6}
.intdlg .intlinks{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
/* PMS: tarjetas destacadas que llevan a otras landings */
.spot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.spotcard{display:grid;grid-template-columns:64px 1fr;gap:18px;padding:26px;border:1px solid var(--line);border-radius:var(--radius);background:var(--white);color:var(--ink);text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s}
.spotcard:hover{border-color:var(--cyan);box-shadow:var(--shadow);transform:translateY(-2px)}
.spotcard .sico{width:64px;height:64px;border-radius:16px;background:var(--cyan-soft);display:grid;place-items:center}
.spotcard .sico .icon{width:38px;height:38px}
.spotcard h3{font:500 26px var(--display);margin:4px 0 6px}
.spotcard p{color:var(--muted);margin:0 0 10px}
.spotcard .ticks{margin:0 0 12px}
.spotcard .more{font-weight:600;color:var(--cyan-deep)}
@media (max-width:760px){.spot{grid-template-columns:1fr}.spotcard{grid-template-columns:1fr;padding:20px}}
.fact.link{text-decoration:none;color:inherit;border-radius:10px;transition:background .15s}
.fact.link:hover{background:var(--cyan-soft)}
.fact.link span{color:var(--cyan-deep);font-weight:600}
.hero .sub a{color:var(--cyan-deep);text-decoration:underline;text-decoration-thickness:1px;text-underline-offset:3px}
/* CTA final en móvil: AstroMate y texto arriba, botones debajo a todo el ancho */
@media (max-width:860px){
  .cta .inner{grid-template-columns:auto minmax(0,1fr);gap:16px 18px}
  .cta .mascot{height:84px}
  .cta .ctas{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:10px}
  .cta .ctas .w2-btn{flex:1 1 200px;justify-content:center;text-align:center}
}
/* Franja PCI entre dos secciones: sin relleno propio, el aire lo ponen las vecinas */
.band.slim{padding-block:0}
/* Móvil: zona táctil cómoda en los enlaces «→» de las tarjetas, y etiquetas legibles */
.feat > a,.spotcard .more,.intcard .more{display:inline-block;padding-block:10px;margin-block:-6px}
.pcat{font-size:12px}
/* Páginas legales y de error */
.legal{max-width:860px}
.legal h1{font:500 clamp(32px,4vw,44px) var(--display);margin:10px 0 4px}
.legal h2{font:500 26px var(--display);margin:30px 0 8px}
.legal p{line-height:1.6;margin:0 0 12px}
.legal .muted,.errpage .muted{color:var(--muted)}
.tablewrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--radius);margin:8px 0 16px}
.legal table{border-collapse:collapse;width:100%;font-size:14px;min-width:640px}
.legal th,.legal td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.legal th{background:var(--cyan-soft);font-weight:600}
@media (max-width:640px){.legal .tablewrap{overflow:visible;border:0}.legal table{min-width:0}.legal table tr:first-child:has(th),.legal thead{display:none}.legal tr{display:block;border:1px solid var(--line);border-radius:var(--radius);margin:0 0 10px;padding:6px 0}.legal td{display:block;border:0;padding:4px 12px}.legal td[data-label]::before{content:attr(data-label);display:block;font-size:12px;font-weight:600;color:var(--muted)}}
.legal code{font:500 13px var(--body);color:var(--ink);background:var(--cyan-soft);padding:1px 6px;border-radius:6px;word-break:break-word}
.errpage{display:grid;grid-template-columns:220px 1fr;gap:32px;align-items:center;min-height:52vh}
.errpage h1{font:500 clamp(32px,4.4vw,52px) var(--display);margin:6px 0 10px}
@media (max-width:700px){.errpage{grid-template-columns:1fr;text-align:left}.errpage img{width:140px}}
/* LiveChat de AstroMate */
.chat{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:60;display:grid;justify-items:end;gap:10px}
.chat-btn{display:flex;align-items:center;gap:8px;border:2px solid var(--cyan);border-radius:999px;background:var(--white);color:var(--cyan-deep);font:600 15px var(--body);padding:6px 16px 6px 6px;box-shadow:var(--shadow);cursor:pointer}
.chat-btn img{width:36px;height:36px;object-fit:contain;background:var(--white);border-radius:50%;padding:2px}
.chat-btn:focus-visible,.chat .opt:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
.chat-panel{width:min(340px,calc(100vw - 32px));background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden}
.chat-head{display:flex;align-items:center;gap:10px;background:var(--cyan);color:var(--on-cyan);padding:10px 12px}
.chat-head img{width:38px;height:38px;object-fit:contain;background:var(--white);border-radius:50%;padding:2px}
.chat-head small{display:block;font-size:13px}
.chat-x,.nudge-x{margin-left:auto;border:0;background:none;color:inherit;font-size:26px;line-height:1;cursor:pointer}
.chat-body{padding:14px;display:grid;gap:8px}
.chat .msg{background:var(--cyan-soft);border-radius:12px 12px 12px 4px;padding:10px 12px;margin:0;font-size:14px}
.chat .opt{display:block;border:1px solid var(--cyan);border-radius:10px;padding:10px 12px;text-decoration:none;color:var(--cyan-deep);font-weight:600;font-size:14px}
.chat .opt:hover{background:var(--cyan-soft)}
.chat .hint{font-size:13px;color:var(--muted);margin:2px 0 0}
/* Popup de avisos normativos: tarjeta discreta, nunca a pantalla completa */
.nudge{position:fixed;left:max(16px,env(safe-area-inset-left,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:59;width:min(380px,calc(100vw - 32px));background:var(--white);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:18px 18px 16px;display:grid;gap:8px}
.nudge h3{font:700 19px var(--display);margin:0}
.nudge p{margin:0;font-size:14px;color:var(--muted)}
.nudge-x{position:absolute;top:8px;right:10px;color:var(--muted)}
.nudge-f{display:grid;grid-template-columns:1fr auto;gap:8px}
.nudge-f input[type=email]{min-width:0;border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit}
.nudge-ok{grid-column:1/-1;font-size:13px;color:var(--muted);display:flex;gap:6px;align-items:flex-start}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
@media (max-width:700px){.nudge{bottom:calc(76px + env(safe-area-inset-bottom,0px))}.chat-btn span{display:none}.chat-btn{padding:6px}}
@media (prefers-reduced-motion:no-preference){.nudge:not([hidden]){animation:nudgein .35s ease-out}@keyframes nudgein{from{transform:translateY(12px);opacity:0}to{transform:none;opacity:1}}}
.nudge-ok span{display:block}
.nudge-ok input{margin-top:2px;flex:none}
.nudge .nudge-legal{grid-column:1/-1;font-size:11.5px;line-height:1.45;color:var(--muted)}
.nudge .nudge-legal a{color:var(--cyan-deep)}
@media (max-width:700px){
  .nudge{left:max(12px,env(safe-area-inset-left,0px));right:max(84px,calc(env(safe-area-inset-right,0px) + 84px));width:auto;bottom:max(16px,env(safe-area-inset-bottom,0px));padding:14px 14px 12px;gap:6px}
  .nudge > p:not(.nudge-done),.nudge .eyebrow{display:none}
  .nudge h3{font-size:17px;padding-right:22px}
  .nudge-f{grid-template-columns:1fr}
}
/* Ofertas de empleo */
.jobs{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px}
.job{background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:22px;display:grid;gap:8px;align-content:start}
.job .ico{width:52px;height:52px;border-radius:14px;background:var(--cyan-soft);display:grid;place-items:center}
.job .ico .icon{width:32px;height:32px}
.job h3{font:700 19px var(--display);margin:0}
.job p{margin:0;color:var(--muted)}
.job .req{font-size:14px}
.job .w2-btn{justify-self:start;margin-top:6px}
/* Cartel de financiación: siempre sobre blanco, como exige la imagen oficial */
.funded{display:grid;gap:12px;justify-items:center;text-align:center}
.funded img{width:100%;max-width:1100px;height:auto;background:#fff;border:1px solid var(--line);border-radius:12px;padding:8px}
.kitstatus{display:flex;gap:14px;align-items:flex-start;max-width:860px;margin:22px auto 0;background:var(--white);border:1px solid var(--line);border-radius:var(--radius);padding:16px 18px;text-align:left}
.kitstatus p{margin:0}
.st.warn{color:var(--warn);background:var(--warn-soft);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;white-space:nowrap}

/* Lo oculto se oculta siempre, aunque el componente tenga su propio display */
[hidden]{display:none!important}
/* Menú del móvil: apartados plegados, una columna, iconos de módulo sobre pastilla blanca */
@media (max-width:1180px){
  .w2-nav > li > button,.w2-nav > li > a{width:100%;text-align:left;font-size:17px;padding:13px 10px}
  .w2-nav > li > button{display:flex;justify-content:space-between;align-items:center}
  .w2-nav li.sub > .drop,.w2-nav li.sub > .drop.mega{display:none}
  .w2-nav li.sub.open > .drop,.w2-nav li.sub.open > .drop.mega{display:grid}
  .w2-nav li.sub.open > button{background:rgba(255,255,255,.16)}
  .drop a{display:flex;align-items:center;gap:12px;padding:9px 10px}
  .drop img.modicon{width:34px;height:34px;object-fit:contain;background:#fff;border-radius:9px;padding:4px;flex:none}
  .drop img.icon.brand{flex:none}
  .drop.mega h4{grid-column:1/-1;padding-top:12px}
  body.menu-open .chat,body.menu-open .nudge{display:none!important}
}
@media (max-width:600px){
  .drop,.drop.mega{grid-template-columns:1fr}
  .drop.mega > div{display:grid}
}

/* Cabecera con el menú completo de producción: el logo no se encoge */
.topbar .w2-logo{flex:none}
.topbar .w2-logo img{width:132px;height:auto}
@media (min-width:1181px){.w2-nav a,.w2-nav button{padding:8px 9px}}
/* AstroHMS Academy: talleres por departamento */
.academy{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-top:20px}
.academy h3{font:700 19px var(--display);margin:0 0 10px;color:var(--ink)}
.academy ul{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.academy li{background:var(--white);border:1px solid var(--line);border-radius:10px;padding:10px 12px;display:grid;gap:2px}
.academy li span{font:600 12px var(--body);letter-spacing:.09em;text-transform:uppercase;color:var(--cyan-deep)}
.academy li b{font-weight:600}
@media (max-width:900px){.academy{grid-template-columns:1fr}}
/* Accesibilidad: salto al contenido (visible al tabular) y sin animaciones si el sistema lo pide */
.skip{position:absolute;left:12px;top:-60px;z-index:100;background:var(--ink);color:#fff;padding:10px 14px;border-radius:8px;font-weight:600;text-decoration:none}
.skip:focus{top:12px}
@media (prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}
@media (max-width:600px){.kitstatus{flex-direction:column;gap:8px}}


/* ---------- Portátil y móvil tipo MacBook / iPhone ---------- */
.laptop{padding:0 4%}
.laptop .screen{background:#0b0d0e;border-radius:16px 16px 0 0;padding:2.6% 2.4% 2.2%;
  box-shadow:inset 0 0 0 1px #2c3134,0 0 0 2px #b8bfc2,0 30px 60px rgba(20,38,43,.2)}
.laptop .screen::before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:9%;height:1.9%;min-height:8px;background:#0b0d0e;border-radius:0 0 6px 6px}
.laptop .screen::after{content:"";position:absolute;left:50%;top:.9%;transform:translateX(-50%);width:5px;height:5px;border-radius:50%;background:#1f2a2e;box-shadow:inset 0 0 0 1px #34444a}
.screen .view{border-radius:2px}
.screen .vbody{position:relative}
.appbar{display:flex;align-items:center;gap:1.4%;height:clamp(16px,2.4vw,28px);padding:0 1.6%;background:var(--cyan);color:var(--on-cyan);font:600 clamp(7px,.85vw,12px)/1 var(--body);white-space:nowrap}
.appbar .apps{display:block;width:11px;height:11px;flex:none;fill:currentColor}  /* cuadrícula de apps en SVG: con puntos de px sueltos salía desigual al escalar la pantalla */
.appbar .sp{flex:1}
.appbar .hotel{font-weight:500;opacity:.85}
.appbar .av{display:grid;place-items:center;width:clamp(12px,1.6vw,20px);height:clamp(12px,1.6vw,20px);border-radius:50%;background:var(--white);color:var(--cyan-deep);font-size:.75em;font-weight:600}
.deck{position:relative;height:auto!important;aspect-ratio:100/2.6;margin:0 -4.5%!important;border-radius:2px 2px 50% 50%/2px 2px 100% 100%!important;
  background:linear-gradient(180deg,#eef1f2 0%,#d3d8da 35%,#a9b0b3 80%,#7d8487 100%)!important;box-shadow:0 1px 0 #fff inset,0 18px 22px -10px rgba(20,38,43,.35)!important}
.deck::before{content:"";position:absolute;left:50%;top:0;transform:translateX(-50%);width:15%;height:42%;border-radius:0 0 10px 10px;background:linear-gradient(180deg,#9aa1a4,#c6cccf)}
.deck::after{content:"";position:absolute;left:6%;right:6%;top:100%;height:26px;margin-top:4px;border-radius:50%;background:radial-gradient(closest-side,rgba(20,38,43,.22),transparent);filter:blur(4px)}
.phone{background:#0b0d0e;border-radius:26px;padding:7px;box-shadow:inset 0 0 0 1px #2c3134,0 0 0 2px #b8bfc2,0 18px 40px rgba(20,38,43,.28)}
.phone .ph{border-radius:20px;position:relative}
.phone .ph::before{content:"";position:absolute;left:50%;top:5px;transform:translateX(-50%);width:30%;height:9px;border-radius:999px;background:#0b0d0e;z-index:2}
.phone .ptitle{padding-top:18px}

/* ---------- Pantallas dibujadas a partir de las capturas reales (pantallas.py) ---------- */
.screen .view{container-type:inline-size}
.mk{isolation:isolate;background:#f7f9fa;color:#1f2a2e;font:400 1cqw/1.25 var(--body);aspect-ratio:1400/600;display:grid;grid-template-rows:auto 1fr;overflow:hidden}
.mk-top{display:flex;align-items:center;gap:2cqw;padding:.9cqw 1.4cqw;background:#fff;border-bottom:1px solid #e3e8ea}
.mk-t{font-size:1.35cqw;color:#374245}.mk-t i{font-style:normal;color:#6b777b;font-size:.85em}
.mk-nav{display:flex;align-items:center;gap:.3cqw}.mk-nav i,.mk-nav b{font-style:normal;background:#e9ecef;border-radius:.3cqw;padding:.35cqw .7cqw;color:#374245}
.mk-nav b{background:none;font-weight:500;font-size:1.15cqw}
/* planning */
.pl-body{display:grid;grid-template-columns:1fr 15%;min-height:0}
.pl-grid{display:grid;grid-template-columns:11% repeat(var(--n),1fr);grid-auto-rows:minmax(0,1fr);background:#fff;min-height:0}
.pl-grid .h{display:grid;place-items:center;align-content:center;font-size:.95cqw;color:#1f2a2e;border-bottom:1px solid #dfe5e8;padding:.35cqw 0}
.pl-grid .h small{font-size:.8cqw;color:#5d6a6e}.pl-grid .h b{font-weight:500}
.pl-grid .h.we{background:#d9e0e6;font-style:normal}.pl-grid .h.hoy{background:#fdf8e4;box-shadow:inset 0 0 0 1px #e8c98a}
.pl-grid .h.r{font-weight:600}
.pl-grid .rm{grid-column:1;background:var(--cyan);color:#0d3540;display:grid;align-content:center;padding:0 .7cqw;border-bottom:1px solid #fff;line-height:1.05}
.pl-grid .rm b{font-size:1cqw}.pl-grid .rm small{font-size:.7cqw;opacity:.8}
.pl-grid .c{border-right:1px solid #eef1f3;border-bottom:1px solid #eef1f3}.pl-grid .c.we{background:#eef2f5}
.pl-grid .bar{z-index:1;margin:.25cqw .15cqw;border-radius:.3cqw;background:#2b9ab3;color:#fff;display:flex;align-items:center;gap:.4cqw;padding:0 .4cqw;font-size:.82cqw;white-space:nowrap;overflow:hidden}
.pl-grid .bar span{flex:1;overflow:hidden;text-overflow:ellipsis}
.pl-grid .bar i{width:.8cqw;height:.8cqw;border-radius:50%;background:#e8f3f6;flex:none}
.pl-grid .bar u{width:1.1cqw;height:1.1cqw;border-radius:50%;background:#fff;flex:none;box-shadow:inset 0 0 0 .25cqw #2b9ab3}
.pl-grid .bar.new{background:var(--accent);font-weight:600;box-shadow:0 0 0 .25cqw rgba(248,102,36,.25);z-index:2}
@media (prefers-reduced-motion:no-preference){.pl-grid .bar.new{animation:plnew 9s ease-in-out infinite}}
@keyframes plnew{0%,14%{clip-path:inset(0 100% 0 0)}26%,92%{clip-path:inset(0 0 0 0)}97%,100%{clip-path:inset(0 100% 0 0)}}
.pl-grid .ft{display:grid;place-items:center;font-size:.85cqw;border-top:1px solid #e3e8ea}
.pl-grid .ft.r{grid-column:1;justify-items:start;padding-left:.7cqw;font-weight:600}
.pl-grid .ft.o{background:#fbe3d4;font-weight:600;color:#7a3a17}.pl-grid .ft.o.alta{background:#fbf0cf;color:#6b5310}
.pl-grid .ft.l{color:#137a4b;font-weight:600}
.pl .side{background:#fff;border-left:1px solid #e3e8ea;padding:1cqw;display:grid;align-content:start;gap:1.2cqw;font-size:.85cqw}
.pl .cal b{display:block;text-align:center;font-size:1cqw;margin-bottom:.5cqw}
.pl .mes{display:grid;grid-template-columns:repeat(7,1fr);gap:.25cqw;text-align:center;font-size:.75cqw}
.pl .mes i{font-style:normal;padding:.15cqw 0}.pl .mes i:nth-child(-n+7){font-weight:600}
.pl .mes i.hoy{background:#d5f1f8;border-radius:50%;box-shadow:0 0 0 1px var(--cyan)}
.pl .flt{display:grid;gap:.35cqw}.pl .flt small{font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:#5d6a6e}
.pl .flt span{color:#5d6a6e}.pl .flt em{font-style:normal;border:1px solid #dfe5e8;border-radius:.3cqw;padding:.3cqw .5cqw}
/* app de pisos en el móvil */
.hkapp{gap:5px;background:#f4f6f8;font-size:clamp(6.5px,.62vw,9px)}
.hk-f{display:flex;gap:4px;flex-wrap:wrap}.hk-f span{border:1px solid #dfe5e8;border-radius:999px;padding:1px 6px;background:#fff;font-size:.9em}
.hk{background:#fff;border:1px solid #e3e8ea;border-radius:9px;padding:7px;display:grid;gap:4px}
.hk-h{display:flex;align-items:center;gap:5px}.hk-h b{font-size:1.15em}
.hk .tag{font-size:.8em;font-weight:600;border-radius:999px;padding:0 5px}
.hk .tag.sal,.hk-ch .sal{color:#c0262d;background:#fdecec}.hk .tag.ok,.hk-ch .ok{color:#137a4b;background:#e6f6ee}
.hk-ch{display:flex;gap:3px;flex-wrap:wrap}.hk-ch span{font-size:.82em;font-weight:600;border-radius:999px;padding:0 5px}
.hk-ch .pen{color:#c0262d;background:#fdecec}
.hk-g{display:flex;gap:5px;align-items:center}.hk-g span:last-child{display:grid}.hk-g small{color:#6b777b}
.hk .av{width:2.2em;height:2.2em;border-radius:50%;display:grid;place-items:center;background:#e6f4f8;color:#1c6f86;font-weight:600;font-size:.85em;flex:none}
.hk-next{background:#fdf0f0;border:1px solid #f5c9cb;border-radius:6px;padding:4px 6px;color:#9b2228;font-size:.9em}
.hk-p{display:flex;align-items:center;gap:4px;background:#f4f6f8;border-radius:6px;padding:3px 6px;font-weight:600}
.hk-p .n{width:1.6em;height:1.6em;border-radius:50%;display:grid;place-items:center;background:#137a4b;color:#fff;font-size:.9em}
.hk-p small{margin-left:auto;color:#137a4b;text-transform:uppercase;font-size:.75em;letter-spacing:.04em}
.hk-b{display:flex;justify-content:flex-end;gap:4px}.hk-b span{border:1px solid #dfe5e8;border-radius:999px;padding:2px 7px;font-weight:600}
.hk-b .go{background:#1d7fd1;color:#fff;border-color:#1d7fd1}
/* channel manager */
.cm-main{display:grid;grid-template-columns:1fr;min-height:0}.cm.con-ai .cm-main{grid-template-columns:1fr 26%}
.cm-l{display:grid;grid-template-rows:auto auto 1fr;min-height:0;background:#fff}
.cm-tool,.cm-tabs{display:flex;flex-wrap:wrap;align-items:center;gap:.35cqw;padding:.5cqw 1cqw;font-size:.82cqw}
.cm-tool>i,.cm-tabs i{font-style:normal;background:#e9ecef;border-radius:.3cqw;padding:.35cqw .6cqw;color:#374245;white-space:nowrap}
.cm-tool>i.on{background:var(--cyan);color:#0d3540}.cm-tool>i.tag{background:#fff;box-shadow:inset 0 0 0 1px var(--cyan)}
.cm-tabs{padding-top:0}.cm-tabs i{background:#fff;box-shadow:inset 0 0 0 1px #dfe5e8;border-radius:0}.cm-tabs i.on{background:var(--cyan);color:#0d3540;box-shadow:none}
.cm-tabs span{color:#5d6a6e;margin-left:.5cqw}.cm-tabs u{text-decoration:none;border:1px solid var(--cyan);border-radius:.3cqw;padding:.1cqw .4cqw;color:#1f2a2e}
.cm-grid{display:grid;grid-template-columns:15% repeat(var(--n),1fr);grid-auto-rows:minmax(0,1fr);min-height:0;font-size:.78cqw}
.cm-grid .h{display:grid;place-items:center;border-bottom:1px solid #dfe5e8;padding:.25cqw 0;font-size:.85cqw}.cm-grid .h small{font-size:.7cqw;color:#5d6a6e}.cm-grid .h b{font-weight:500}
.cm-grid .h.we{background:#d9e0e6;font-style:normal}.cm-grid .h.hoy{background:#fdf8e4;box-shadow:inset 0 0 0 1px #e8c98a}.cm-grid .h.r{font-weight:600;place-items:center start;padding-left:.6cqw}
.cm-grid .r{display:flex;align-items:center;padding-left:.6cqw;border-bottom:1px solid #eef1f3;white-space:nowrap;overflow:hidden}
.cm-grid .r.tp{background:var(--cyan);color:#0d3540;font-weight:600}.cm-grid .r.tf{padding-left:1.2cqw}.cm-grid .r.ev{background:#f4f6f8;font-weight:600}
.cm-grid .c{display:grid;place-items:center end;padding:0 .4cqw;margin:.12cqw;border-radius:.2cqw;position:relative}
.cm-grid .c.ev{background:#f4f6f8;margin:0;border-radius:0;place-items:center}.cm-grid .c.ev span{background:#fff;border:1px solid #dfe5e8;border-radius:.2cqw;padding:0 .3cqw;font-size:.7cqw;white-space:nowrap}
.cm-grid .c.inv{background:#e6f2f8;color:#1c6f86;place-items:center start;font-weight:600}.cm-grid .c.inv.low{background:#fbe9de;color:#9a4a1c}
.cm-grid .c.p{background:#eef5fb;color:#1f4f7a}.cm-grid .c.p.ed{background:#f1dc8f;color:#3d3207;font-weight:600}.cm-grid .c.p.ok{background:#e6f5ec;color:#16613d}
.cm-grid .c em{position:absolute;top:.15cqw;left:.2cqw;width:.55cqw;height:.55cqw;border-radius:50%;background:var(--accent);box-shadow:0 0 0 .15cqw #fff}
.cm-ai{background:#fff;border-left:1px solid #e3e8ea;display:grid;align-content:start;gap:.7cqw;padding:.9cqw;font-size:.85cqw}
.cm-ai .ai-h{display:flex;justify-content:space-between}.cm-ai .ai-h i{font-style:normal;color:var(--cyan-deep)}
.cm-ai .ai-q{justify-self:end;max-width:88%;background:#e6f4f8;border-radius:.6cqw .6cqw .1cqw .6cqw;padding:.5cqw .7cqw}
.cm-ai .ai-a{background:#f4f6f8;border-radius:.6cqw .6cqw .6cqw .1cqw;padding:.6cqw .7cqw;line-height:1.35}
.cm-ai .src{display:block;margin-top:.4cqw;color:var(--cyan-deep);font-size:.75cqw}
.cm-ai .ai-s{display:grid;gap:.3cqw}.cm-ai .ai-s i{font-style:normal;border:1px solid #dfe5e8;border-radius:.3cqw;padding:.35cqw .5cqw}
.cm-ai .ai-in{display:flex;justify-content:space-between;align-items:center;border:1px solid var(--cyan);border-radius:.4cqw;padding:.4cqw .5cqw;color:#8a979b}
.cm-ai .ai-in b{background:var(--cyan);color:var(--on-cyan);border-radius:.3cqw;padding:0 .4cqw}
.cm-ai small{color:#8a979b;font-size:.7cqw}
/* channel manager en el móvil */
.cmm{gap:5px;background:#fff}
.cmm-b{display:grid;grid-template-columns:repeat(5,1fr);gap:3px}.cmm-b span{display:grid;justify-items:center;border:1px solid #dfe5e8;border-radius:6px;padding:3px 0;background:#f7f9fa}
.cmm-b small{font-size:.75em;color:#374245}
.cmm-sel{display:flex;gap:4px}.cmm-sel span{flex:1;background:#e9ecef;border-radius:5px;padding:3px 5px}.cmm-sel .tag{flex:none;background:#fff;box-shadow:inset 0 0 0 1px var(--cyan)}
.cmm-tabs{display:flex}.cmm-tabs i{flex:1;font-style:normal;text-align:center;border:1px solid #dfe5e8;padding:2px 0}.cmm-tabs i.on{background:var(--cyan);color:#0d3540;border-color:var(--cyan)}
.cmm-mes{display:flex;justify-content:space-between;align-items:center;background:#eef1f3;margin:0 -8px;padding:3px 8px}.cmm-mes i{font-style:normal;background:var(--cyan);color:#0d3540;border-radius:4px;padding:0 6px}
.cmm-dias{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.cmm-dias span{display:grid;justify-items:center;border-radius:5px;padding:2px 0;font-weight:600;background:#fff;box-shadow:inset 0 0 0 1px #eef1f3}
.cmm-dias small{font-weight:400;color:#5d6a6e;font-size:.8em}.cmm-dias .we{background:#d9e0e6}.cmm-dias .on{background:var(--cyan);color:#0d3540}.cmm-dias .on small{color:#0d3540}
.cmm-tp{display:flex;justify-content:space-between;align-items:center;font-weight:600;background:#f7f9fa;margin:0 -8px;padding:3px 8px}.cmm-tp span{background:#e6f2f8;color:#1c6f86;border-radius:4px;padding:0 8px}
.cmm .ln b{background:#e6f5ec;color:#16613d;border-radius:4px;padding:0 5px}
.mkwrap{container-type:inline-size}
.cm-grid .evt{z-index:1;align-self:center;justify-self:center;background:#fff;border:1px solid #dfe5e8;border-radius:.2cqw;padding:0 .4cqw;font-size:.7cqw;white-space:nowrap}
.cm-grid .c.inv.zero{background:#f8d7d7;color:#a3161c}
.cmm{font-size:clamp(6px,.58vw,8.5px)}
.phone.left{right:auto;left:-4%}
.cm-grid .r.tf small{color:#8a979b;margin-left:.3cqw;overflow:hidden;text-overflow:ellipsis}
.cmm-b small{font-size:.68em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.cmm-b span{min-width:0}
/* panel de pisos */
.gb-f{margin-left:auto;color:#5d6a6e;font-size:.9cqw}
.gb-b{display:grid;grid-template-rows:auto auto 1fr;gap:.8cqw;padding:.8cqw 1.2cqw;min-height:0;font-size:.82cqw}
.gb-k{display:grid;grid-template-columns:repeat(8,1fr);gap:.6cqw}
.gb-k .k{border-radius:.5cqw;padding:.5cqw .7cqw;display:grid}.gb-k small{font-size:.68cqw;text-transform:uppercase;letter-spacing:.05em;color:#5d6a6e}.gb-k b{font-size:1.9cqw;line-height:1.1}
.gb-3{display:grid;grid-template-columns:repeat(3,1fr);gap:.8cqw}
.gb .pn{background:#fff;border-radius:.6cqw;padding:.6cqw .8cqw;box-shadow:0 1px 3px rgba(20,38,43,.06);min-height:0;overflow:hidden}
.gb .pn>b{font-size:.95cqw;font-weight:600}
.gb table{width:100%;border-collapse:collapse;margin-top:.3cqw}.gb th{font-size:.62cqw;text-transform:uppercase;letter-spacing:.05em;color:#5d6a6e;font-weight:600;text-align:left;padding:.15cqw .2cqw;border-bottom:1px solid #e3e8ea}
.gb td{padding:.22cqw .2cqw;border-bottom:1px solid #f0f3f4;white-space:nowrap}
.gb .gb-3 td:not(:first-child),.gb .gb-3 th:not(:first-child){text-align:right}
.gb .oc-h{display:flex;align-items:center;gap:.4cqw}.gb .oc-h i{font-style:normal;border:1px solid #dfe5e8;border-radius:.3cqw;padding:.15cqw .45cqw}.gb .oc-h span{margin-left:auto;color:#5d6a6e}
.gb .st{border-radius:.25cqw;padding:0 .35cqw;font-size:.72cqw;font-weight:600}
.gb .st.ent{background:#137a4b;color:#fff}.gb .st.sal{background:#c0262d;color:#fff}.gb .st.est{background:#d5eef6;color:#1c6f86}.gb .st.res{background:#eef1f3;color:#5d6a6e}
.gb .st.pen{background:#fde3e4;color:#a3161c}.gb .st.cur{background:#fdf4c8;color:#7a5d00}.gb .st.hec{background:#ddf5e6;color:#137a4b}
/* motor de reservas */
.bm{grid-template-rows:auto 1fr;background:#f4f7f9}
.bm-web{display:flex;align-items:center;gap:1.6cqw;padding:.9cqw 1.6cqw;background:#fff;border-bottom:1px solid #e3e8ea;font-size:.95cqw}
.bm-logo{font:700 1.4cqw var(--display);color:#c96a1b;margin-right:auto}.bm-web i{font-style:normal;background:#1f3d4a;color:#fff;border-radius:.4cqw;padding:.4cqw 1cqw}
.bm-b{display:grid;grid-template-columns:27% 1fr;gap:1.2cqw;padding:1.2cqw 1.6cqw;min-height:0}
.bm-form{background:#fff;border-radius:.8cqw;padding:1cqw;display:grid;align-content:start;gap:.6cqw;font-size:.85cqw;box-shadow:0 1px 4px rgba(20,38,43,.06)}
.bm-form>small{letter-spacing:.12em;text-transform:uppercase;color:var(--cyan-deep);font-weight:600}.bm-form p{margin:0;color:#5d6a6e}
.bm-f{border:1px solid #dfe5e8;border-radius:.6cqw;padding:.5cqw .7cqw;display:grid}.bm-f.on{border-color:var(--cyan);box-shadow:0 0 0 .2cqw #d5f1f8}
.bm-f small{font-size:.65cqw;letter-spacing:.1em;text-transform:uppercase;color:#8a979b}.bm-f .cod{color:var(--cyan-deep)}
.bm-go{font-style:normal;text-align:center;background:var(--cyan);color:#0d3540;font-weight:600;border-radius:.6cqw;padding:.6cqw}
.bm-club{background:#e6f4f8;color:#1c6f86;border-radius:.6cqw;padding:.5cqw .6cqw;font-size:.78cqw}
.bm-cal{background:#fff;border-radius:.8cqw;padding:1cqw;display:grid;grid-template-rows:1fr auto;gap:.6cqw;box-shadow:0 4px 14px rgba(20,38,43,.1);min-height:0}
.bm-ms{display:grid;grid-template-columns:1fr 1fr;gap:1.4cqw;min-height:0}
.bm-mt{text-align:center;font-weight:600;font-size:1.15cqw;background:#f1f5f7;border-radius:.4cqw;padding:.35cqw;margin-bottom:.4cqw}
.bm-g{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:1fr;gap:1px;font-size:.85cqw}
.bm-g i{font-style:normal;font-weight:600;text-align:center;padding:.2cqw 0;border-bottom:1px solid #dfe5e8}
.bm-g b{display:grid;justify-items:center;align-content:center;font-weight:500;position:relative;padding:.15cqw 0;line-height:1.1}
.bm-g b small{font-size:.66cqw;font-weight:600}
.bm-g .p1{background:#e3f5ea}.bm-g .p1 small{color:#137a4b}.bm-g .p2{background:#fbf5df}.bm-g .p2 small{color:#a5760a}
.bm-g .p3{background:#fcebdc}.bm-g .p3 small{color:#c25a14}.bm-g .p4{background:#f9dede}.bm-g .p4 small{color:#c0262d}
.bm-g .pas{color:#b5bec2}.bm-g .cer{color:#b5bec2;background:repeating-linear-gradient(135deg,#f4f6f8 0 .3cqw,#e7ebee .3cqw .45cqw);text-decoration:line-through}
.bm-g .sel{box-shadow:inset 0 0 0 .16cqw var(--cyan);z-index:1}
.bm em,.bm-pie em{font-style:normal}.bm .min{position:absolute;top:0;right:.2cqw;font-size:.55cqw;font-weight:600;color:#a5760a}
.bm .nl{position:absolute;top:.25cqw;left:.3cqw;width:.5cqw;height:.5cqw;border-radius:50%;background:var(--accent)}
.bm-pie{display:flex;align-items:center;gap:1cqw;font-size:.75cqw;color:#5d6a6e;border-top:1px solid #e3e8ea;padding-top:.5cqw}
.bm-pie .nl{position:static;display:inline-block}.bm-pie .min{position:static}.bm-pie s{color:#b5bec2}
.bm-pie i{font-style:normal;background:#1f3d4a;color:#fff;border-radius:.4cqw;padding:.3cqw .8cqw}.bm-pie i:first-of-type{margin-left:auto}.bm-pie i.ok{background:var(--cyan);color:#0d3540;font-weight:600}
/* carrito en el móvil */
.bc{gap:6px;background:#fff}
.bc-h{display:flex;justify-content:space-between;align-items:center}.bc-h b{letter-spacing:.1em;text-transform:uppercase;color:#1c6f86}.bc-h span{border:1px solid #dfe5e8;border-radius:999px;padding:0 6px}
.bc-box{border:1px solid #e3e8ea;border-radius:8px;padding:6px;display:grid;gap:5px;background:#f8fafb}.bc-box>small{color:#5d6a6e}
.bc-it{background:#fff;border:1px solid #e3e8ea;border-radius:6px;padding:5px;display:grid;gap:2px}.bc-it div{display:flex;justify-content:space-between}.bc-it span{color:#5d6a6e}
.bc-up{border:1px solid var(--cyan);border-radius:8px;padding:6px;display:grid;gap:3px;background:#fff}.bc-up div{display:flex;justify-content:space-between;align-items:center}
.bc-up small{letter-spacing:.08em;text-transform:uppercase;color:#1c6f86;font-weight:600}.bc-up b{color:#1c6f86}
.bc-up i{font-style:normal;justify-self:start;background:var(--cyan);color:#0d3540;font-weight:600;border-radius:5px;padding:2px 8px}
.bc-t{display:flex;justify-content:space-between;color:#5d6a6e}.bc-t.tot{color:#1f2a2e;font-weight:600;font-size:1.15em}
.bc-go{font-style:normal;text-align:center;background:var(--cyan);color:#0d3540;font-weight:600;border-radius:7px;padding:6px}.bc-s{text-align:center;color:#8a979b}
.bm-cal{grid-template-rows:minmax(0,1fr) auto}.bm-ms{height:100%}.bm-mes{display:grid;grid-template-rows:auto minmax(0,1fr)}
.bm-g{grid-template-rows:auto repeat(6,minmax(0,1fr));grid-auto-rows:minmax(0,1fr)}
.bc{font-size:clamp(6px,.6vw,8.5px)}
/* comedor */
.cd{grid-template-rows:auto 1fr;background:#f4f7f9}
.cd-top{display:flex;align-items:center;gap:.8cqw;padding:1cqw 1.6cqw;background:#fff;box-shadow:0 1px 3px rgba(20,38,43,.06);font-size:.9cqw}
.cd-ic{width:2.6cqw;height:2.6cqw;border-radius:.6cqw;background:var(--cyan);display:grid;place-items:center;font-size:1.3cqw}
.cd-top>b{font-size:1.6cqw;font-weight:500}.cd-top>small{font-size:1.1cqw;letter-spacing:.12em;text-transform:uppercase;color:#c3ccd1;font-weight:600;margin-right:auto}
.cd-top i{font-style:normal;background:#e6f4f8;color:#1c6f86;font-weight:600;border-radius:.5cqw;padding:.45cqw .8cqw}.cd-top i+i{background:#eef1f3;color:#374245}
.cd-s{display:grid;text-align:right;border-left:1px solid #e3e8ea;padding-left:1cqw}.cd-s small{letter-spacing:.1em;text-transform:uppercase;color:#8a979b;font-size:.7cqw;font-weight:600}
.cd-b{display:grid;grid-template-columns:1fr 27%;gap:1.4cqw;padding:1.4cqw 1.6cqw;min-height:0}
.cd-l{display:grid;grid-template-rows:auto 1fr;gap:1.2cqw;min-height:0}
.cd-k{display:grid;grid-template-columns:repeat(3,1fr);gap:1cqw}.cd-k div{background:#fff;border-radius:1.2cqw;padding:1cqw 1.4cqw;display:grid;box-shadow:0 2px 8px rgba(20,38,43,.06)}
.cd-k small{letter-spacing:.12em;text-transform:uppercase;color:#8a979b;font-size:.75cqw;font-weight:600}.cd-k b{font-size:2.6cqw;line-height:1.1}
.cd-k .hi{background:var(--cyan)}.cd-k .hi small{color:#0d3540}
.cd-m{background:#fff;border-radius:1.4cqw;padding:1.6cqw;display:grid;align-content:center;gap:1.2cqw;justify-items:center;box-shadow:0 2px 8px rgba(20,38,43,.06);font-size:.95cqw}
.cd-in{display:flex;width:100%;gap:1cqw}.cd-in span{flex:1;border:1px solid #eef1f3;border-radius:.6cqw;padding:.8cqw 1cqw;color:#8a979b}
.cd-in i{font-style:normal;background:#1f2a3c;color:#fff;font-weight:600;border-radius:.3cqw;padding:.8cqw 1.6cqw}
.cd-ok{display:grid;justify-items:center;gap:.3cqw;background:#e6f6ee;border-radius:1cqw;padding:1cqw 2cqw;color:#16613d}
.cd-ok .tick{width:2.6cqw;height:2.6cqw;border-radius:50%;background:#137a4b;color:#fff;display:grid;place-items:center;font-size:1.3cqw}.cd-ok b{font-size:1.3cqw}
.cd-m p{margin:0;color:#5d6a6e}
.cd-r{background:#fff;border-radius:1.4cqw;padding:1cqw;display:grid;align-content:start;gap:.6cqw;box-shadow:0 2px 8px rgba(20,38,43,.06);font-size:.82cqw}
.cd-rh{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eef1f3;padding-bottom:.5cqw}.cd-rh b{font-size:1.05cqw;font-weight:500}
.cd-rh i{font-style:normal;color:#d23a33;background:#fdecec;border-radius:.3cqw;padding:.2cqw .6cqw;font-weight:600}
.cr{background:#f7f9fa;border-radius:.7cqw;padding:.5cqw .7cqw;display:grid;gap:.2cqw}.cr div{display:flex;justify-content:space-between;align-items:center}
.cr .rg{font-size:.7cqw;font-weight:600;background:#fff;border-radius:.3cqw;padding:0 .4cqw;color:#5d6a6e}.cr small{color:#8a979b}
.cr .hb{font-size:1.4cqw;font-weight:600;background:#e6f4f8;border-radius:.4cqw;padding:0 .6cqw}
.cr.warn{background:#fff4ec;box-shadow:inset 0 0 0 1px #f9c9a6}.cr em{font-style:normal;color:#b8481a;font-weight:600;font-size:.75cqw}
/* escandallo */
.es{grid-template-rows:auto 1fr;background:#fff}
.es-top{display:flex;align-items:center;gap:1cqw;padding:.8cqw 1.4cqw;border-bottom:1px solid #e3e8ea;font-size:.9cqw}
.es-top i{font-style:normal;border:1px solid var(--cyan);color:#1c6f86;border-radius:.3cqw;padding:.3cqw .7cqw}.es-top i.b{border-color:#dfe5e8;color:#374245}
.es-top span{display:grid;margin-right:auto}.es-top small{color:var(--cyan-deep)}.es-top span b{font-weight:500}
.es-f{padding:1cqw 1.4cqw;display:grid;grid-template-columns:1fr 1fr;gap:.6cqw 2cqw;align-content:start;font-size:.88cqw;min-height:0}
.es-c{display:grid;grid-template-columns:30% 1fr;gap:.35cqw}.es-c span{font-weight:600}.es-c b{font-weight:400;border-bottom:1px solid #dfe5e8}
.es-h{grid-column:1/-1;font-weight:600;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #dfe5e8;padding-top:.3cqw}
.es-k{grid-column:1/-1;display:grid;grid-template-columns:repeat(5,1fr);gap:.6cqw}.es-k div{background:#f7f9fa;border-radius:.5cqw;padding:.5cqw .7cqw;display:grid}
.es-k small{color:#5d6a6e}.es-k b{font-size:1.3cqw}.es-k .ok{background:#e6f6ee}.es-k .ok b{color:#137a4b}.es-k span{color:#137a4b;font-size:.75cqw}
.es-t{grid-column:1/-1;display:flex;gap:1.6cqw;border-bottom:1px solid #dfe5e8}.es-t i{font-style:normal;color:var(--cyan-deep);padding:.3cqw .6cqw}
.es-t i.on{color:#1f2a2e;border:1px solid #dfe5e8;border-bottom-color:#fff;border-radius:.3cqw .3cqw 0 0;margin-bottom:-1px}
.es table{grid-column:1/-1;border-collapse:collapse;width:100%;font-size:.82cqw}.es th{text-align:right;font-weight:600;border-bottom:1px solid #dfe5e8;padding:.25cqw .4cqw}
.es td{text-align:right;padding:.22cqw .4cqw;border-bottom:1px solid #f0f3f4}.es th:first-child,.es td:first-child{text-align:left}.es td:first-child{color:#1f2a2e}
/* MICE: agenda de salones */
.ma{grid-template-rows:auto 1fr;background:#f1f4f8}
.ma-sel{border:1px solid #dfe5e8;border-radius:.3cqw;padding:.35cqw 1cqw;background:#fff;min-width:16cqw}
.ma .mk-nav{margin-left:auto}.ma-v{display:flex;margin-left:auto}.ma-v i{font-style:normal;border:1px solid var(--cyan);color:#1c6f86;padding:.3cqw .7cqw}.ma-v i.on{background:var(--cyan);color:#0d3540}
.ma-b{display:grid;grid-template-rows:auto auto;align-content:start;gap:1cqw;min-height:0}
.ma-g{display:grid;grid-template-columns:13% repeat(31,1fr);grid-template-rows:auto repeat(6,5.4cqw);background:#fff;font-size:.8cqw}
.ma-g .h{text-align:center;padding:.4cqw 0;border-bottom:1px solid #dfe5e8;color:#5d6a6e;border-left:1px solid #eef1f3}.ma-g .h.r{text-align:left;padding-left:.6cqw;border-left:0}
.ma-g .h.hoy{color:#d23a33;font-weight:600}
.ma-g .sl{grid-column:1;display:grid;align-content:center;padding-left:.6cqw;border-bottom:1px solid #eef1f3}.ma-g .sl b{font-weight:600}.ma-g .sl small{color:#5d6a6e;font-size:.7cqw}
.ma-g .c{background:#f3f5f9;border-left:1px solid #e8ecf0;border-bottom:1px solid #e8ecf0}.ma-g .c.hoy{background:#f6ecef;box-shadow:inset .12cqw 0 0 #d23a33}
.ma-g .mon{margin:.5cqw 0;background:repeating-linear-gradient(135deg,#d6dbe1 0 .25cqw,#eef1f3 .25cqw .5cqw);z-index:1}
.ma-g .ev{z-index:2;margin:.5cqw .1cqw;border-radius:.3cqw;display:flex;align-items:center;padding:0 .4cqw;font-size:.72cqw;font-weight:600;overflow:hidden;white-space:nowrap}
.ma-g .ev span{overflow:hidden;text-overflow:ellipsis}
.ma .pen{background:#f6ad37;color:#3d2a00}.ma .pet{background:#4aa3c2;color:#fff}.ma .con{background:#3f9f4a;color:#fff}.ma .cel{background:#dfe3e8;color:#374245}
.ma-l{display:flex;align-items:center;gap:.5cqw;padding:0 1cqw;font-size:.8cqw;color:#5d6a6e}.ma-l span{border-radius:.25cqw;padding:.15cqw .5cqw;font-weight:600}
.ma-l em{width:.9cqw;height:.9cqw;margin-left:1cqw;background:repeating-linear-gradient(135deg,#c5ccd3 0 .2cqw,#eef1f3 .2cqw .4cqw)}
.ma-g .ev{white-space:normal;line-height:1.15;font-size:.66cqw;padding:.15cqw .35cqw}.ma-g .ev span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
/* barra de la app como en Odoo: icono de apps blanco y pequeño, textos en blanco */
.appbar{color:#fff;font-weight:500}.appbar b{font-weight:500}
.appbar .apps{width:8px;height:8px;fill:#fff}
.appbar .hotel{opacity:1}
/* icono del canal en las barras del planning */
.pl-grid .bar i.ch{width:1.25cqw;height:1.25cqw;border-radius:50%;display:grid;place-items:center;font:600 .62cqw/1 var(--body);font-style:normal;letter-spacing:0;box-shadow:0 0 0 .1cqw #fff}
.pl-grid .bar i.ch.bk{background:#003580;color:#fff}.pl-grid .bar i.ch.ex{background:#191e3b;color:#ffc72c}.pl-grid .bar i.ch.as{background:#fff;color:var(--cyan-deep)}
.pl-grid .bar i.ch.tui{background:#d40e14;color:#fff}.pl-grid .bar i.ch.w2m{background:#222;color:#fff}.pl-grid .bar i.ch.jet{background:#e30613;color:#fff;font-size:.5cqw}
.pl.full{aspect-ratio:1400/843}.pl-grid .ft.t{font-size:.75cqw;color:#5d6a6e;border-top:0;background:#f7f9fa}.pl-grid .ft.r.t{font-weight:400}
.loupe.mkwrap{overflow:hidden;display:grid;place-items:center;background:#fff}
.oz{display:grid;grid-template-columns:1.4fr repeat(4,1fr);gap:1px;font-size:13px;width:88%}
.oz i{font-style:normal;text-align:center;font-size:11px;color:#5d6a6e;padding-bottom:3px}
.oz b{font-weight:600;font-size:12px;padding:3px 0}.oz span{text-align:center;padding:3px 0}
.oz .o{background:#fbe3d4;color:#7a3a17;font-weight:600}.oz .t{color:#5d6a6e}.oz .l{color:#137a4b;font-weight:600}
.oz{width:74%;font-size:11px;gap:0 2px;grid-template-columns:1.5fr repeat(4,1fr)}.oz i{font-size:9px}.oz b{font-size:10px}.oz span{padding:2px 0}
/* spa, wellness y pistas */
.sp{grid-template-rows:auto 1fr;background:#fff}
.sp-top{display:flex;align-items:center;gap:1cqw;padding:.7cqw 1.2cqw;border-bottom:1px solid #e3e8ea;font-size:.95cqw}
.sp-top .mk-nav i.on{background:#d5f1f8}.sp-top>b{font-weight:500;font-size:1.15cqw}
.sp-q{flex:1;max-width:30cqw;margin-left:2cqw;border:1px solid #dfe5e8;border-radius:.3cqw;padding:.3cqw .5cqw;color:#8a979b;display:flex;gap:.6cqw;align-items:center}
.sp-q u{text-decoration:none;background:#eef1f3;color:#374245;border-radius:.2cqw;padding:0 .4cqw;box-shadow:inset 1.2cqw 0 0 var(--cyan)}
.sp-v{display:flex;margin-left:auto}.sp-v i{font-style:normal;border:1px solid #dfe5e8;padding:.2cqw .6cqw}.sp-v i.on{background:#d5f1f8}
.sp-b{position:relative;display:grid;align-content:start;font-size:.82cqw;min-height:0}
.sp-h{display:grid;grid-template-columns:17% 1fr;border-bottom:1px solid #e3e8ea}.sp-h div{display:flex;justify-content:space-between;padding:.35cqw 0;color:#5d6a6e}
.sp-h i{font-style:normal;width:0;display:grid;place-items:center}
.sp-g{font-size:.7cqw;letter-spacing:.1em;text-transform:uppercase;color:#5d6a6e;font-weight:600;padding:.5cqw .8cqw .2cqw}
.sp-r{display:grid;grid-template-columns:17% 1fr;border-bottom:1px solid #eef1f3;height:3.15cqw}
.sp-n{display:flex;align-items:center;gap:.4cqw;padding-left:.8cqw}.sp-n::before{content:"";width:.6cqw;height:1.1cqw;border-radius:.15cqw;background:var(--c)}
.sp-t{position:relative;background:repeating-linear-gradient(90deg,#eef1f3 0 1px,transparent 1px calc(100%/14))}
.sp-t b{position:absolute;top:.3cqw;bottom:.3cqw;border-radius:.3cqw;background:var(--bg);color:#1f2a2e;font-weight:600;display:flex;align-items:center;gap:.3cqw;padding:0 .4cqw;overflow:hidden;white-space:nowrap;font-size:.72cqw}
.sp-t b span{flex:1;overflow:hidden;text-overflow:ellipsis}.sp-t b em{font-style:normal;font-weight:400}
.sp-t b.hab{box-shadow:inset .25cqw 0 0 #137a4b}
.sp .spa{--c:#a9c7ef;--bg:#cfe0f7}.sp .pad{--c:#f2c08f;--bg:#f6d9bb}.sp .ten{--c:#ea8b8b;--bg:#f3bdbd}.sp .pol{--c:#c8a3d8;--bg:#e4d0ee}
.sp-now{position:absolute;top:2cqw;bottom:0;width:.15cqw;background:#d23a33}
/* mostrador de spa en el móvil (tema oscuro) */
.smv{background:#141c26;color:#e8eef2;gap:4px;font-size:clamp(6px,.6vw,8.5px)}
.sm-h{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:0 5px}.sm-h b{font-size:2em;line-height:1}.sm-h span{color:#9aa7b0}.sm-h small{grid-column:1/-1;color:#9aa7b0}
.sm-f{display:flex;flex-wrap:wrap;gap:3px}.sm-f i{font-style:normal;border:1px solid #33404d;border-radius:4px;padding:1px 5px}.sm-f i.on{background:#e8eef2;color:#141c26}
.sm-i{display:grid;grid-template-columns:auto 1fr auto;gap:5px;align-items:center;background:#1b2531;border-radius:5px;padding:4px 5px}
.sm-i .h{display:grid}.sm-i .h b{font-size:1.35em;line-height:1}.sm-i small{color:#9aa7b0}.sm-i .n{display:grid;min-width:0}.sm-i .n b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sm-i i{font-style:normal;font-size:.75em;font-weight:600;text-transform:uppercase;border-radius:3px;padding:1px 4px}
.sm-i i.ok{color:#5fd08a;box-shadow:inset 0 0 0 1px #2f7d4f}.sm-i i.bor{color:#f2c14e;box-shadow:inset 0 0 0 1px #8a6a1d}
.pl-grid .rm.rc b{font-size:.9cqw}.pl-grid .bar.cuna{background:#7a6bb8}
.pl .chips{display:flex;flex-wrap:wrap;gap:.3cqw}.pl .chips u{text-decoration:none;border:1px solid var(--cyan);border-radius:999px;padding:.15cqw .5cqw}.pl .chips u.on{background:var(--cyan);color:#0d3540}
.pl-grid .rm.rc b{display:flex;align-items:center;gap:.4cqw}.pl svg{width:1.1cqw;height:.85cqw;flex:none;color:#2a3f47}.pl .chips u{display:inline-flex;align-items:center;gap:.25cqw}
/* expediente de grupo */
.gr{grid-template-rows:auto 1fr;background:#fff}
.gr-top{display:flex;align-items:center;gap:1cqw;padding:.6cqw 1.2cqw;border-bottom:1px solid #e3e8ea;font-size:.85cqw}
.gr-top .nv{font-style:normal;border:1px solid var(--cyan);color:#1c6f86;border-radius:.3cqw;padding:.3cqw .6cqw}
.gr-top>span{display:grid}.gr-top small{color:var(--cyan-deep)}.gr-top>span b{font-weight:500}
.gr-sm{display:flex;margin:0 auto}.gr-sm span{display:grid;border:1px solid #e3e8ea;padding:.2cqw .7cqw;font-size:.75cqw}.gr-sm small{color:#374245}.gr-sm b{color:var(--cyan-deep);font-weight:500}
.gr-n{color:#5d6a6e}
.gr-b{display:grid;align-content:start;gap:.7cqw;padding:.7cqw 1.2cqw;font-size:.85cqw;min-height:0;overflow:hidden}
.gr-btn{display:flex;flex-wrap:wrap;gap:.35cqw}.gr-btn i{font-style:normal;background:#e9ecef;color:#374245;border-radius:.3cqw;padding:.35cqw .6cqw;font-size:.8cqw}
.gr-btn i.b{background:var(--cyan);color:var(--on-cyan)}.gr-btn i.ok{margin-left:auto}
.gr-p{display:flex;gap:1cqw;align-items:center;background:#d8efdf;border-left:.3cqw solid #3f9f4a;padding:.6cqw 1cqw;color:#173d22}
.gr-p .sp{font-size:1.6cqw;display:inline-block}.gr-p>div{flex:1;display:grid;gap:.25cqw}.gr-p b{text-transform:uppercase;font-size:.8cqw;letter-spacing:.03em}
.gr-p .bar{height:.4cqw;background:#eef1f3;border-radius:.2cqw;overflow:hidden}.gr-p .bar u{display:block;height:100%;width:100%;background:#3f9f4a;transform-origin:left}
.gr-p small{font-size:.75cqw}.gr-p em{font-style:normal}.gr-p em::after{content:"19 de 19 reservas creadas"}
@media (prefers-reduced-motion:no-preference){
 .gr-p .sp{animation:grspin 1.2s linear infinite}.gr-p .bar u{animation:grbar 9s linear infinite}.gr-p em::after{animation:grcnt 9s steps(1) infinite}}
@keyframes grspin{to{transform:rotate(360deg)}}
@keyframes grbar{0%{transform:scaleX(0)}70%,100%{transform:scaleX(1)}}
@keyframes grcnt{0%{content:"0 de 19 reservas creadas"}15%{content:"4 de 19 reservas creadas"}30%{content:"8 de 19 reservas creadas"}45%{content:"12 de 19 reservas creadas"}60%{content:"16 de 19 reservas creadas"}70%,100%{content:"19 de 19 reservas creadas"}}
.gr-t{font-size:1.6cqw;font-weight:600}
.gr-f{display:grid;grid-template-columns:1fr 1fr;gap:3cqw}.gr-f>div{display:grid;grid-template-columns:30% 1fr;gap:.35cqw}.gr-f span{font-weight:600}.gr-f b{font-weight:400}
.gr-tabs{display:flex;gap:1.4cqw;border-bottom:1px solid #dfe5e8}.gr-tabs i{font-style:normal;color:var(--cyan-deep);padding:.3cqw .6cqw}
.gr-tabs i.on{color:#1f2a2e;border:1px solid #dfe5e8;border-bottom-color:#fff;border-radius:.3cqw .3cqw 0 0;margin-bottom:-1px}
.gr table{width:100%;border-collapse:collapse}.gr th{text-align:left;font-weight:600;border-bottom:1px solid #dfe5e8;padding:.25cqw .4cqw}
.gr td{padding:.3cqw .4cqw;border-bottom:1px solid #f0f3f4}.gr th:last-child,.gr td:last-child{text-align:right}
.gr .st{background:var(--cyan);color:var(--on-cyan);border-radius:999px;padding:0 .5cqw;font-size:.75cqw}
/* pie del planning como en el PMS */
.pl-grid .ft{border-top:0}.pl-grid .ft.r.w2-h1{font-weight:600}
.pl-grid .ft.o.o1{background:#fbe0d0;color:#1f2a2e}.pl-grid .ft.o.o2{background:#fbe9d6;color:#1f2a2e}.pl-grid .ft.o.o3{background:#fcf3c9;color:#1f2a2e}
.pl-grid .ft.o{font-weight:600;text-decoration:underline;text-underline-offset:.15cqw}
.pl-grid .ft.na{color:#c25a14;font-weight:600}.pl-grid .ft.r.na{font-weight:600}
.pl-grid .ft.t{background:none;z-index:1;font-size:.72cqw;color:#374245}.pl-grid .ft.t u{text-decoration:underline dotted #9aa4a8;text-underline-offset:.15cqw}
.pl-grid .ft.r.t{background:#fff}
/* la curva ocupa su zona del grid en absoluto: Safari (iPhone) deja a 0 de alto un svg con height:100% dentro del grid */.pl-grid{position:relative}.pl-grid .curva{position:absolute;inset:0;width:100%;height:100%;z-index:0}
.pl-grid .ft.r.l{color:#137a4b;font-weight:600}.pl-grid .ft.l{font-weight:600}
.pl-grid .ft.tot{font-weight:600;border-top:1px solid #1f2a2e}
/* cambio de precio en la cuadrícula: escribir → enviando a los canales → guardado */
.cm-grid .c.edit{position:relative;display:block;padding:0}
.cm-grid .c.edit s{position:absolute;inset:0;display:flex;align-items:center;justify-content:flex-end;padding:0 .4cqw;text-decoration:none;opacity:0;border-radius:.2cqw}
.cm-grid .c.edit .v0{opacity:1}
.cm-grid .c.edit .v1{background:#fff;box-shadow:inset 0 0 0 .15cqw var(--cyan);color:#1f2a2e;font-weight:600}
.cm-grid .c.edit .v1 b{width:.1cqw;height:1cqw;background:#1f2a2e;margin-left:.1cqw}
.cm-grid .c.edit .v2{background:repeating-linear-gradient(135deg,#e3eef8 0 .3cqw,#f3f8fc .3cqw .6cqw);color:#1f4f7a;gap:.2cqw}
.cm-grid .c.edit .v2 i{font-style:normal;font-size:.7cqw;color:var(--cyan-deep);display:inline-block}
.cm-grid .c.edit .v3{background:#d5f1f8;color:#0d3540;font-weight:600}
@media (prefers-reduced-motion:no-preference){
 .cm-grid .c.edit .v0{animation:cmv0 10s infinite}.cm-grid .c.edit .v1{animation:cmv1 10s infinite}
 .cm-grid .c.edit .v2{animation:cmv2 10s infinite}.cm-grid .c.edit .v3{animation:cmv3 10s infinite}
 .cm-grid .c.edit .v1 b{animation:cmcaret .5s steps(1) infinite}.cm-grid .c.edit .v2 i{animation:grspin 1s linear infinite}
 .cm-grid .c.ed6 s{animation-delay:-5s!important}}
@media (prefers-reduced-motion:reduce){.cm-grid .c.edit .v0{opacity:0}.cm-grid .c.edit .v3{opacity:1}}
@keyframes cmv0{0%,8%{opacity:1}10%,96%{opacity:0}100%{opacity:1}}
@keyframes cmv1{0%,9%{opacity:0}10%,28%{opacity:1}30%,100%{opacity:0}}
@keyframes cmv2{0%,29%{opacity:0}30%,48%{opacity:1}50%,100%{opacity:0}}
@keyframes cmv3{0%,49%{opacity:0}50%,94%{opacity:1}96%,100%{opacity:0}}
@keyframes cmcaret{50%{opacity:0}}
.gb .oc table tr.hoy td{background:#d9eedd}.gb .mv{font-style:normal;color:#fff;font-weight:600;font-size:.62cqw;border-radius:.2cqw;padding:0 .3cqw;margin-right:.3cqw}
.gb .mv.ent{background:#2f8f46}.gb .mv.sal{background:#c0262d}
.gb .st.no{background:none;color:#5d6a6e}.gb .st.o{background:#fff;box-shadow:inset 0 0 0 1px currentColor}.gb .st.o.no{box-shadow:inset 0 0 0 1px #9aa4a8}
.gb .oc-h i.pr{margin-left:auto}.gb .oc-h span{margin-left:.4cqw}
.gb .oc td,.gb .oc th{padding-top:.18cqw;padding-bottom:.18cqw}
/* TPV (pantalla de venta) */
.tp{grid-template-rows:auto 1fr;background:#e9ecef}
.tp-top{display:flex;align-items:center;gap:.5cqw;padding:.5cqw .8cqw;background:#fff;border-bottom:1px solid #dfe5e8;font-size:.95cqw}
.tp-top i{font-style:normal;padding:.5cqw 1cqw;border-radius:.3cqw;background:#f1f3f5}.tp-top i.on{background:var(--cyan);color:#0d3540;font-weight:600}
.tp-top b{margin:0 auto;font:700 1.3cqw var(--display);color:#c96a1b}.tp-top .q{border:1px solid #dfe5e8;border-radius:.3cqw;padding:.4cqw .8cqw;color:#8a979b;min-width:14cqw}
.tp-top .u{background:#f1f3f5;border-radius:.3cqw;padding:.4cqw .7cqw}
.tp-b{display:grid;grid-template-columns:31% 1fr;min-height:0}
.tp-l{background:#fff;display:grid;grid-template-rows:auto 1fr auto auto auto auto;gap:.3cqw;padding:.4cqw;font-size:.82cqw;min-height:0;border-right:1px solid #dfe5e8}
.tp-tag{display:flex;gap:.3cqw}.tp-tag i{font-style:normal;border:1px solid #dfe5e8;border-radius:.2cqw;padding:.15cqw .4cqw;font-size:.7cqw}
.tp-ls{display:grid;align-content:start;gap:.15cqw;overflow:hidden}
.tpl{display:grid;grid-template-columns:1fr auto;padding:.3cqw .5cqw;border-left:.25cqw solid #3f9f4a;border-bottom:1px solid #f0f3f4}.tpl span{color:#5d6a6e;font-size:.72cqw}.tpl em{font-style:normal;font-weight:600;grid-row:1}
.tpl.on{background:#d5f1f8;border-color:var(--cyan)}
.tp-tot{display:grid;grid-template-columns:1fr auto;padding:.2cqw .5cqw;border-top:1px solid #dfe5e8;color:#5d6a6e}.tp-tot b{font-size:1.3cqw;color:#1f2a2e}
.tp-ac{display:grid;grid-template-columns:1fr 1fr;gap:.25cqw}.tp-ac i{font-style:normal;text-align:center;border:1px solid #dfe5e8;padding:.4cqw;border-radius:.2cqw}.tp-ac .hab{background:#e6f6ee;border-color:#9ed4b4;color:#137a4b;font-weight:600}
.tp-k{display:grid;grid-template-columns:repeat(4,1fr);gap:.25cqw}.tp-k i{font-style:normal;text-align:center;padding:.45cqw 0;background:#f5f6f8;border-radius:.2cqw}
.tp-k i:nth-child(4){background:#d5f1f8}.tp-k i:nth-child(13){background:#fce7a5}.tp-k i:nth-child(16){background:#f6b3b0}
.tp-go{display:grid;grid-template-columns:1fr 1fr;gap:.25cqw}.tp-go i{font-style:normal;padding:.8cqw .6cqw;border-radius:.2cqw;font-weight:600}
.tp-go .ped{background:var(--cyan);color:#0d3540;display:flex;justify-content:space-between;align-items:center}.tp-go .ped u{text-decoration:none;font-size:.7cqw;background:rgba(255,255,255,.5);border-radius:.2cqw;padding:0 .3cqw}
.tp-go .pag{background:#f1f3f5;text-align:center}
.tp-r{display:grid;grid-template-rows:auto 1fr;gap:.4cqw;padding:.4cqw;min-height:0;overflow:hidden}
.tp-c{display:grid;grid-template-columns:repeat(6,1fr);gap:.25cqw}.tp-c i{font-style:normal;text-align:center;padding:.6cqw .2cqw;background:#efdccd;border-radius:.2cqw;font-size:.78cqw}.tp-c i.on{background:#f4b98a;font-weight:600}
.tp-p{display:grid;grid-template-columns:repeat(7,1fr);grid-auto-rows:5.4cqw;gap:.3cqw}
.tp-p b{position:relative;background:#f6c49c;border-radius:.2cqw;display:grid;place-items:center;align-content:center;text-align:center;font-weight:600;font-size:.78cqw;padding:.2cqw}
.tp-p b small{font-weight:400;font-size:.68cqw;color:#5a3a1f}.tp-p b em{position:absolute;right:.3cqw;bottom:.1cqw;font:600 1.4cqw var(--body);font-style:normal}
.tpl b{grid-column:1;grid-row:1}.tpl em{grid-column:2;grid-row:1}.tpl span{grid-column:1/-1;grid-row:2}
.tp-p{grid-auto-rows:minmax(0,1fr);grid-template-rows:repeat(4,1fr)}
/* TPV en el móvil */
.tpm{background:#fff;gap:4px}
.tpm-h{display:flex;align-items:center;gap:5px}.tpm-h i{font-style:normal;border:1px solid #dfe5e8;border-radius:3px;padding:2px 5px}.tpm-h i.on{background:var(--cyan);color:#0d3540;border-color:var(--cyan);font-weight:600}
.tpm-h span:first-of-type{margin-left:auto}
.tpm-c{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.tpm-c i{font-style:normal;text-align:center;background:#efdccd;border-radius:3px;padding:4px 0;font-size:.85em}.tpm-c i.on{background:#f4b98a;font-weight:600}
.tpm-p{display:grid;grid-template-columns:repeat(3,1fr);gap:3px}.tpm-p b{position:relative;background:#f6c49c;border-radius:3px;display:grid;place-items:center;text-align:center;font-weight:600;font-size:.85em;height:3.6em;padding:2px}
.tpm-p b em{position:absolute;right:3px;bottom:0;font-style:normal;font-size:1.4em}
.tpm-l{background:#1c8aa5;color:#fff;text-align:center;font-weight:600;border-radius:3px;padding:3px}
.tpm-go{display:grid;grid-template-columns:1fr 1fr;gap:3px}.tpm-go i{font-style:normal;display:grid;justify-items:center;padding:5px 0;border-radius:3px;background:#eef1f3;font-weight:600}
.tpm-go i.ped{background:var(--cyan);color:#0d3540}.tpm-go small{font-weight:400;font-size:.8em}
.tpm{font-size:clamp(6px,.55vw,8px)}.tpm-p b{height:3em}
/* facturas de clientes */
.fc{grid-template-rows:auto 1fr;background:#fff}
.fc-top{display:flex;align-items:center;gap:1cqw;padding:.7cqw 1.2cqw;border-bottom:1px solid #e3e8ea;font-size:.9cqw}
.fc-top .nv{font-style:normal;background:var(--cyan);color:var(--on-cyan);border-radius:.3cqw;padding:.35cqw .7cqw}.fc-top b{font-weight:500}
.fc-q{flex:1;max-width:34cqw;margin-left:auto;border:1px solid #dfe5e8;border-radius:.3cqw;padding:.3cqw .5cqw;color:#8a979b;display:flex;gap:.4cqw;font-size:.8cqw}
.fc-q u{text-decoration:none;background:#eef1f3;color:#374245;border-radius:.2cqw;padding:0 .4cqw;box-shadow:inset 1.1cqw 0 0 var(--cyan);padding-left:1.4cqw}
.fc-n{color:#5d6a6e;margin-left:1cqw}
.fc table{border-collapse:collapse;width:100%;font-size:.82cqw;align-self:start}
.fc th{text-align:left;font-weight:600;padding:.45cqw .5cqw;border-bottom:1px solid #dfe5e8}.fc td{padding:.48cqw .5cqw;border-bottom:1px solid #f0f3f4;white-space:nowrap}
.fc td:nth-child(5),.fc td:nth-child(9),.fc td:nth-child(10),.fc th:nth-child(5),.fc th:nth-child(9),.fc th:nth-child(10){text-align:right}
.fc td u{display:block;width:.9cqw;height:.9cqw;border:1px solid #c5ccd1;border-radius:.15cqw}.fc td.venc{color:#c0262d}
.fc .st{border-radius:999px;padding:.05cqw .5cqw;font-size:.72cqw;font-weight:600;color:#fff}
.fc .st.pag{background:#3f9f4a}.fc .st.nop{background:#d23a33}.fc .st.par{background:#f6ad37;color:#3d2a00}.fc .st.rev{background:#6b777b}
.fc .vf{color:#137a4b;font-weight:600;font-size:.72cqw}
/* cuenta de resultados USALI */
.us{grid-template-rows:auto 1fr;background:#f4f6f8}
.us-top{display:flex;align-items:center;gap:.5cqw;padding:.6cqw 1.2cqw;background:#fff;border-bottom:1px solid #e3e8ea;font-size:.85cqw}
.us-top span{font-weight:600}.us-top i{font-style:normal;border:1px solid #dfe5e8;border-radius:.2cqw;padding:.25cqw .6cqw}
.us-top u{text-decoration:none;border:1px solid var(--cyan);color:#1c6f86;border-radius:.2cqw;padding:.25cqw .6cqw}.us-top u:first-of-type{margin-left:auto}.us-top u.x{border-color:#3f9f4a;color:#2f7d3a}
.us-b{display:grid;grid-template-rows:auto auto 1fr;gap:.7cqw;padding:.7cqw 1.2cqw;min-height:0}
.us-k4,.us-k6{display:grid;grid-template-columns:repeat(4,1fr);gap:.7cqw}.us-k6{grid-template-columns:repeat(6,1fr)}
.us-k4 div,.us-k6 div{background:#fff;border-radius:.4cqw;padding:.6cqw;display:grid;justify-items:center;gap:.1cqw;box-shadow:0 1px 3px rgba(20,38,43,.06)}
.us small{text-transform:uppercase;letter-spacing:.05em;color:#5d6a6e;font-size:.7cqw}.us-k4 b{font-size:1.4cqw;color:#2b9ab3;font-weight:500}.us-k4 span{font-size:.72cqw;color:#5d6a6e}
.us-k6 b{font-size:1.25cqw;font-weight:500}.us-k6 .az{color:#2b9ab3}.us-k6 .vd{color:#2f7d3a}.us-k6 .am{color:#a5760a}.us-k6 .up{color:#2f7d3a;font-size:.7cqw}
.us-t{background:#fff;border-radius:.4cqw;overflow:hidden;min-height:0}.us-t>b{display:block;background:#1f2329;color:#fff;padding:.6cqw .8cqw;font-size:.95cqw}
.us table{width:100%;border-collapse:collapse;font-size:.78cqw}.us th{text-align:right;font-weight:600;padding:.35cqw .6cqw;border-bottom:1px solid #dfe5e8}
.us td{text-align:right;padding:.32cqw .6cqw;border-bottom:1px solid #eef1f3;font-family:var(--body);font-variant-numeric:tabular-nums}.us th:first-child,.us td:first-child{text-align:left;font-family:var(--body)}
.us td.up{color:#2f7d3a}.us tr.dep td{background:#1f2329;color:#fff;font-weight:600}.us tr.sec td{font-weight:600;letter-spacing:.03em;text-transform:uppercase}
.us tr td:first-child{padding-left:1.4cqw}.us tr.sec td:first-child,.us tr.dep td:first-child{padding-left:.6cqw}.us tr.b td{font-weight:600;color:#2f7d3a}.us tr.b td:first-child{color:#1f2a2e}
.us tr.tot td{background:#dcefdc;font-weight:600;color:#2f7d3a}.us tr.tot td:first-child{color:#1f2a2e}.us tr.eb td{background:#dcedf3;color:#2b9ab3}.us tr.eb td:first-child{color:#1f2a2e}
.us tr.net td{background:#1f2329;color:#7fd28a}.us tr.net td:first-child{color:#fff}
/* TPV: categorías con color, fichas con imagen, «i», alérgenos y cantidad */
.mk.tp .tp-c i,.tpm-c i{--k:#f2d5b8}
.tp-c i.beb,.tpm-c i.beb{background:#f2d5b8}.tp-c i.coc,.tpm-c i.coc{background:#f5c39b}.tp-c i.com,.tpm-c i.com{background:#f3a8a4}
.tp-c i.hel,.tpm-c i.hel{background:#fff;box-shadow:inset 0 0 0 1px #e3e8ea}.tp-c i.evt,.tpm-c i.evt{background:#f1a9cf}.tp-c i.txt,.tpm-c i.txt{background:#f1a8a0}
.tp-c i.on,.tpm-c i.on{font-weight:600;box-shadow:inset 0 -.25em 0 rgba(0,0,0,.18)}
.pt{position:relative;overflow:hidden;--bg:#f2d5b8}.pt.beb{--bg:#f2d5b8}.pt.coc{--bg:#f5c39b}.pt.com{--bg:#f3b1ad}.pt.hel{--bg:#fff}.pt.evt{--bg:#f4c0dc}.pt.txt{--bg:#fff}
.tp-p .pt,.tpm-p .pt{background:var(--bg)!important;box-shadow:0 1px 2px rgba(20,38,43,.12)}
.pt.img{display:grid!important;grid-template-rows:1fr auto;padding:0!important;background:#f7f5f7!important}
.pt .ph{display:grid;place-items:center;font-size:2.2em;line-height:1}
.pt.img .nm{background:var(--bg);text-align:left;padding:.25em .4em;font-weight:500;display:grid;line-height:1.1}
.pt .nm small{font-weight:400;opacity:.75}
.pt u{position:absolute;top:0;right:0;width:1.6em;height:1.6em;text-decoration:none;color:#fff;font:600 .7em/1 var(--body);text-align:right;padding:.15em .25em;
  background:linear-gradient(225deg,rgba(0,0,0,.22) 50%,transparent 50%)}
.pt em{position:absolute!important;right:.2em!important;bottom:0!important;font:600 1.9em/1 var(--body)!important;color:#5d6a6e}
.pt.img em{bottom:.05em!important}
.pt .al{position:absolute;right:.25em;top:1.7em;display:grid;gap:.1em}.pt .al i{font-style:normal;font-size:.75em;background:#fff;border-radius:50%;width:1.4em;height:1.4em;display:grid;place-items:center;box-shadow:0 0 0 1px #1f2a2e}
.tp-p{grid-template-columns:repeat(7,1fr)!important;grid-template-rows:repeat(3,1fr)!important}
.tp-p .pt{font-size:.85cqw}.tp-p .pt .ph{font-size:2.6cqw}
.tpm-p .pt{height:4.6em!important;font-size:.9em}.tpm-p .pt .ph{font-size:1.8em}
.tpm-c{grid-template-columns:repeat(3,1fr)}
/* plano de mesas */
.tpl-plan{background:#eef1f3;gap:5px}
.mesas{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}
.mesa{position:relative;aspect-ratio:1;border-radius:5px;background:#dfe3e6;box-shadow:inset 0 0 0 2px #c5ccd1;display:grid;grid-template-rows:auto 1fr;overflow:visible;font-weight:400}
.mesa strong{display:grid;place-items:center;font-size:1.5em}
.mesa.ocu{background:#6bcf7f;box-shadow:inset 0 0 0 2px #4fb865}.mesa.res{background:#fde9a8;box-shadow:inset 0 0 0 2px #e8c55a}
.mesa .hb{background:#2f5f3a;color:#fff;border-radius:4px 4px 0 0;padding:2px 4px;font-size:.85em}
.mesa em{position:absolute;top:-5px;right:-5px;width:1.7em;height:1.7em;border-radius:50%;background:#d23a33;color:#fff;font-style:normal;font-weight:600;display:grid;place-items:center}
.mesa small{text-align:center;color:#6b5310;font-size:.8em;padding-bottom:2px}
.tp-p .pt.img,.tpm-p .pt.img{place-items:stretch!important;align-content:stretch!important}
.pt.img .ph{align-self:center;justify-self:center}.pt.img .nm{align-self:end}
.pt .al{top:auto;bottom:2.4em;right:.3em;grid-auto-flow:column}.pt .al i{font-size:.9em;width:1.5em;height:1.5em}
.tpm-p{grid-template-columns:repeat(3,1fr)}.tpm-p .pt{height:5.6em!important}.tpm-p .pt .al{display:none}
.tpm-p .pt u{display:none}.tpm-p .pt{height:5em!important}.tpm-p .pt .ph{font-size:1.6em;background:none}
.tpm-p .pt .nm{font-size:.95em}
.tpm-p .pt{height:3.6em!important;display:grid;place-items:center}.tpm-p .pt .nm{display:grid;text-align:center}
/* factura con analítica */
.w2-fa{grid-template-rows:auto auto 1fr;background:#fff}
.fa-top{display:flex;align-items:center;gap:1cqw;padding:.6cqw 1.2cqw;border-bottom:1px solid #e3e8ea;font-size:.85cqw}
.fa-top .nv{font-style:normal;border:1px solid var(--cyan);color:#1c6f86;border-radius:.3cqw;padding:.3cqw .6cqw}.fa-top>span{display:grid}.fa-top small{color:var(--cyan-deep)}.fa-top>span b{font-weight:500}
.fa-sm{display:flex!important;margin:0 auto}.fa-sm span{display:grid;border:1px solid #e3e8ea;padding:.2cqw .8cqw;font-size:.75cqw}.fa-sm b{color:var(--cyan-deep);font-weight:500}
.fa-btn{display:flex;gap:.35cqw;padding:.5cqw 1.2cqw;font-size:.8cqw}.fa-btn i{font-style:normal;background:#e9ecef;border-radius:.25cqw;padding:.35cqw .6cqw}.fa-btn i.b{background:var(--cyan);color:var(--on-cyan)}
.fa-btn span{margin-left:auto;display:flex}.fa-btn span i{border-radius:0;background:#eef1f3;color:#8a979b}.fa-btn span i.on{background:#d5f1f8;color:#1f2a2e}
.fa-b{position:relative;overflow:hidden;margin:0 1.2cqw;border:1px solid #e3e8ea;padding:.8cqw 1.2cqw;font-size:.82cqw;display:grid;align-content:start;gap:.5cqw}
.fa-band{position:absolute;top:2cqw;right:-3.4cqw;transform:rotate(45deg);background:#3f9f4a;color:#fff;font-weight:600;letter-spacing:.1em;padding:.4cqw 4cqw;font-size:.9cqw}
.fa-t{font-size:2cqw;font-weight:500}
.fa-f{display:grid;grid-template-columns:1fr 1fr;gap:3cqw}.fa-f>div{display:grid;grid-template-columns:28% 1fr;gap:.35cqw;align-content:start}.fa-f span{color:#5d6a6e}.fa-f b{font-weight:400}
.w2-fa .lk{color:#5b5ea6}
.fa-tabs{display:flex;gap:1.2cqw;border-bottom:1px solid #dfe5e8}.fa-tabs i{font-style:normal;color:#5b5ea6;padding:.3cqw .6cqw}
.fa-tabs i.on{color:#1f2a2e;border:1px solid #dfe5e8;border-bottom-color:#fff;border-radius:.3cqw .3cqw 0 0;margin-bottom:-1px}
.w2-fa table{width:100%;border-collapse:collapse}.w2-fa th{text-align:left;font-weight:600;padding:.3cqw .4cqw;border-bottom:1px solid #dfe5e8}
.w2-fa td{padding:.35cqw .4cqw;border-bottom:1px solid #f0f3f4;vertical-align:top}.w2-fa td:first-child i{display:block;font-size:.72cqw;color:#5d6a6e}
.w2-fa th:nth-child(n+4),.w2-fa td:nth-child(n+4){text-align:right}.w2-fa td:nth-child(7){text-align:left}
.w2-fa .tg{display:inline-block;border-radius:999px;padding:0 .45cqw;font-size:.7cqw;margin:0 .2cqw .2cqw 0}
.w2-fa .tg.a1{background:#fbe0d0}.w2-fa .tg.a2{background:#f6b8d6}.w2-fa .tg.a3{background:#d5eef6}.w2-fa .tg.a4{background:#e4d0ee}
.w2-fa .tx{background:#e9ecef;border-radius:999px;padding:0 .45cqw;font-size:.72cqw}
/* BI comercial */
.bc2{grid-template-rows:auto 1fr;background:#f4f6f8}
.bc2-b{display:grid;grid-template-rows:auto 1fr;gap:.8cqw;padding:.8cqw 1.2cqw;min-height:0;font-size:.82cqw}
.bc2-k{display:grid;grid-template-columns:repeat(6,1fr);gap:.6cqw}
.bc2-k div{background:#fff;border-radius:.4cqw;padding:.6cqw .8cqw;display:grid;gap:.1cqw;box-shadow:0 1px 3px rgba(20,38,43,.06)}
.bc2-k small{text-transform:uppercase;letter-spacing:.05em;color:#5d6a6e;font-size:.68cqw}.bc2-k b{font-size:1.45cqw;font-weight:600}
.bc2 .up{color:#2f7d3a;font-size:.72cqw}.bc2 .dn{color:#c0262d;font-size:.72cqw}
.bc2-g{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:.8cqw;min-height:0}
.bc2 .pn{background:#fff;border-radius:.4cqw;padding:.7cqw .9cqw;display:grid;grid-template-rows:auto 1fr auto;gap:.4cqw;box-shadow:0 1px 3px rgba(20,38,43,.06);min-height:0}
.bc2 .pn>b{font-weight:600;font-size:.9cqw}
.bc2 svg{width:100%;height:100%}.bc2 rect{fill:var(--cyan)}.bc2 rect.we{fill:#2b8aa3}
.bc2 .lg{margin:0;display:flex;align-items:center;gap:.4cqw;color:#5d6a6e;font-size:.72cqw}.bc2 .lg span{display:inline-block;width:1cqw;height:.5cqw;background:var(--cyan)}.bc2 .lg .l{height:.15cqw;background:#F86624;margin-left:.8cqw}
.bc2 .ch{display:grid;align-content:start;gap:.7cqw}.bc2 .ch div{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:.2cqw .4cqw}
.bc2 .ch span{width:.7cqw;height:.7cqw;border-radius:50%;background:var(--c)}.bc2 .ch i{grid-column:1/-1;height:.45cqw;border-radius:.2cqw}
.bc2 table{width:100%;border-collapse:collapse;align-self:start}.bc2 th{text-align:right;font-weight:600;font-size:.7cqw;color:#5d6a6e;text-transform:uppercase;padding:.25cqw .2cqw;border-bottom:1px solid #e3e8ea}
.bc2 td{text-align:right;padding:.45cqw .2cqw;border-bottom:1px solid #f0f3f4}.bc2 th:first-child,.bc2 td:first-child{text-align:left}
.fa-tot{display:grid;grid-template-columns:auto 9cqw;justify-content:end;gap:.25cqw 1.5cqw;padding-top:.4cqw}.fa-tot span{color:#5d6a6e;text-align:right}.fa-tot b{text-align:right;font-weight:500}.fa-tot .t{font-weight:600;color:#1f2a2e;font-size:1cqw;border-top:1px solid #dfe5e8;padding-top:.2cqw}
.tp-p .pt{display:grid!important;place-items:center!important;text-align:center;padding:.3cqw!important}
.tp-p .pt .nm{display:grid;font-weight:600;font-size:.95cqw;line-height:1.15}
.pt .al{position:absolute;right:.3em;bottom:.3em;top:auto;display:flex;gap:.15em}
.pt .al svg{width:1.5em;height:1.5em;color:#1f2a2e}
.tp-p .pt .al svg{width:1.2cqw;height:1.2cqw}
.pt em{right:auto!important;left:.3em!important}
.pt em{left:auto!important;right:.3em!important}.pt .al{right:auto;left:.3em}
.gb .cumple{font-style:normal;font-size:.62cqw;background:#fde9a8;color:#6b5310;border-radius:.2cqw;padding:0 .3cqw;margin-left:.3cqw}.cmm-b span{font-size:.8em;padding:4px 0}
/* reservas de mesa */
.rm{grid-template-rows:auto 1fr;background:#f7f9fa}
.rm-v{display:flex}.rm-v i{font-style:normal;border:1px solid #dfe5e8;padding:.25cqw .6cqw;background:#fff}.rm-v i.on{background:#d5f1f8}
.rk-b{display:grid;grid-template-columns:repeat(4,1fr);gap:1.2cqw;padding:1cqw 1.2cqw;align-items:start;font-size:.85cqw}
.rk-c{display:grid;gap:.6cqw}.rk-c>b{font-size:1.15cqw;font-weight:500;margin-bottom:.2cqw}
.rk{background:#fff;border:1px solid #e3e8ea;border-left:.3cqw solid var(--k);padding:.6cqw .8cqw;display:grid;gap:.35cqw;color:#374245}
.rk svg{width:.95cqw;height:.95cqw;vertical-align:-.12cqw;margin-right:.3cqw;color:#5d6a6e}
.rk-h{display:flex;align-items:center}.rk-h b{font-weight:600;color:#1f2a2e;font-size:.95cqw}.rk-h .st{margin-left:auto;background:var(--k);color:#fff;border-radius:.25cqw;padding:.05cqw .5cqw;font-size:.75cqw;font-weight:600}
.rk-f{display:flex;justify-content:space-between}
.rk.con{--k:#4ab3cf}.rk.pen{--k:#b8c0c5}.rk.pen .st{background:#eef1f3;color:#5d6a6e}.rk.sen{--k:#2f8f46}.rk.nop{--k:#c0262d}
/* asignación automática */
.aa{grid-template-rows:auto 1fr;background:#f7f9fa}.aa-ok{margin-left:auto;color:#137a4b;font-weight:600;font-size:.9cqw}
.aa-b{display:grid;grid-template-columns:30% 1fr;gap:1.2cqw;padding:1cqw 1.2cqw;font-size:.85cqw;min-height:0}
.aa-f{background:#fff;border:1px solid #e3e8ea;border-radius:.4cqw;padding:1cqw;display:grid;align-content:start;gap:.7cqw}.aa-f>b{font-size:1.4cqw;font-weight:500}
.aa-f>div{display:grid;grid-template-columns:1fr auto;gap:.55cqw .8cqw}.aa-f span{font-weight:600}.aa-f div b{font-weight:400;text-align:right}
.aa-f div span:nth-of-type(6),.aa-f div b:nth-of-type(6){background:#fdf3d0;margin:-.2cqw -.4cqw;padding:.2cqw .4cqw}
.aa-f>i{font-style:normal;justify-self:start;background:#e9ecef;border-radius:.3cqw;padding:.4cqw .7cqw}
.aa-r{background:#fff;border:1px solid #e3e8ea;border-radius:.4cqw;padding:.6cqw .8cqw;display:grid;align-content:start;gap:.6cqw}
.aa table{width:100%;border-collapse:collapse}.aa th{text-align:left;font-weight:600;padding:.35cqw .4cqw;border-bottom:1px solid #dfe5e8}
.aa td{padding:.55cqw .4cqw;border-bottom:1px solid #f0f3f4}.aa td:last-child{color:#5d6a6e}
.aa .up{font-style:normal;background:#ddf5e6;color:#137a4b;border-radius:999px;padding:0 .4cqw;font-size:.72cqw;font-weight:600}
.aa-r p{margin:0;color:#5d6a6e;font-size:.8cqw}
.aa-b{font-size:.95cqw}.aa td{padding:.75cqw .4cqw}.aa-f>div{gap:.8cqw}
/* MICE */
.me{grid-template-rows:auto auto 1fr;background:#fff}
.me-b{margin:0 1.2cqw;border:1px solid #e3e8ea;padding:.8cqw 1.2cqw;font-size:.82cqw;display:grid;align-content:start;gap:.6cqw}
.me-t{font-size:1.8cqw;font-weight:500}
.me-c{display:grid;grid-template-columns:repeat(6,1fr);gap:.5cqw}.me-c div{background:#f7f9fa;border-radius:.3cqw;padding:.4cqw .6cqw;display:grid}.me-c small{color:#5d6a6e}.me-c b{font-weight:600}
.me table{width:100%;border-collapse:collapse}.me th{text-align:left;font-weight:600;padding:.3cqw .4cqw;border-bottom:1px solid #dfe5e8}.me td{padding:.25cqw .4cqw;border-bottom:1px solid #f0f3f4;vertical-align:middle}
.me td .plano{width:3.2cqw;vertical-align:middle;margin-right:.4cqw}
.me .st{border-radius:999px;padding:0 .5cqw;font-size:.72cqw;font-weight:600}.me .st.con{background:#e9ecef}.me .st.ten{background:#fdf3d0;color:#6b5310}
.plano{color:#6b777b;fill:#6b777b}.plano rect,.plano path{fill:none}.plano rect:first-child{fill:#b8c0c5}
.mt{grid-template-rows:auto 1fr;background:#fff}.mt-b{padding:.6cqw 1.2cqw}
.mt table{width:100%;border-collapse:collapse;font-size:.95cqw}.mt th{text-align:left;font-weight:600;padding:.4cqw .6cqw;border-bottom:1px solid #dfe5e8}
.mt td{padding:.3cqw .6cqw;border-bottom:1px solid #f0f3f4;vertical-align:middle}.mt td:last-child{font-weight:600;font-size:1.2cqw}.mt .plano{width:6.5cqw}
.fa-f.os u,.me .dp{text-decoration:none;background:#e9ecef;border-radius:999px;padding:0 .45cqw;font-size:.75cqw;margin-right:.2cqw}
.os-t{font-size:.76cqw}.os-t td{padding:.4cqw .35cqw!important;white-space:nowrap}.os-t td:nth-child(n+9),.os-t th:nth-child(n+9){text-align:right}
.dg-n{background:#d5ecf2;border-left:.25cqw solid var(--cyan);padding:.5cqw .8cqw}
.me .dc{border-radius:999px;padding:0 .5cqw;font-size:.72cqw;font-weight:600}.me .dc.va{background:#ddf5e6;color:#137a4b}.me .dc.no{background:#fdecec;color:#a3161c}.me .dc.alt{background:#fdf3d0;color:#6b5310}
.dg-p{margin:0;color:#5d6a6e}.dg-p i{font-style:normal}
/* conserjería: libro de novedades */
.nv{grid-template-rows:auto 1fr;background:#f4f6f8}
.nv-top{display:flex;align-items:center;gap:1cqw;padding:.6cqw 1.2cqw;font-size:.85cqw}.nv-top .mk-nav b{background:#fff;border:1px solid #dfe5e8;border-radius:.3cqw;padding:.3cqw .8cqw}
.nv-c{margin:0 auto;display:grid;justify-items:center}.nv-c b{font-size:1.15cqw;font-weight:600}.nv-c small{color:#5d6a6e}
.nv-top i{font-style:normal;border-radius:.3cqw;padding:.4cqw .8cqw}.nv-top .pr{background:#fff}.nv-top .fi{background:var(--cyan);color:var(--on-cyan);font-weight:600}
.nv-b{display:grid;align-content:start;gap:.6cqw;padding:0 1.2cqw .8cqw;font-size:.82cqw;min-height:0;overflow:hidden}
.nv-p,.nv-t{background:#fff;border:1px solid #e3e8ea;border-radius:.3cqw}.nv-p{border-color:#f0b75a}
.nv-th{display:flex;align-items:center;justify-content:space-between;gap:.6cqw;padding:.45cqw .8cqw;border-bottom:1px solid #eef1f3}.nv-th b{font-weight:500}
.nv-th span{color:#5d6a6e}.nv-th span.w{background:#f6ad37;color:#3d2a00;font-weight:600;border-radius:.25cqw;padding:0 .45cqw;margin-right:auto}
.nv-r{display:grid;grid-template-columns:auto auto 1fr auto auto auto;gap:.6cqw;align-items:start;padding:.4cqw .8cqw;border-bottom:1px solid #f0f3f4}
.nv-r u{width:.8cqw;height:.8cqw;border:1px solid #c5ccd1;border-radius:.15cqw;margin-top:.2cqw}.nv-r .h{color:#5d6a6e}.nv-r div{display:grid}.nv-r b{font-weight:400}.nv-r small{color:#8a979b}
.nv-r i{font-style:normal;border:1px solid #dfe5e8;border-radius:.2cqw;padding:0 .4cqw;font-size:.72cqw;font-weight:600}.nv-r .ojo.on{background:#f6ad37;border-color:#f6ad37;color:#3d2a00}
.nv-r .x{color:#c0262d;border-color:#c0262d}.nv-r .m{border:0}
.nv-t p{margin:0;padding:.4cqw .8cqw;color:#8a979b}
.nv-in{display:flex;gap:.4cqw;background:#fff;border:1px solid var(--cyan);border-radius:.3cqw;padding:.4cqw}.nv-in span{flex:1;color:#8a979b;padding:.2cqw .4cqw}
.nv-in i{font-style:normal;padding:.3cqw .7cqw;border-radius:.2cqw}.nv-in .ojo{color:#c98a12;border:1px solid #f0b75a}.nv-in .es{background:var(--cyan);color:var(--on-cyan);font-weight:600}
/* entrega de equipaje con firma */
.eq{background:#eef6f9;gap:4px}
.eq-h{display:grid;grid-template-columns:1fr auto;background:var(--cyan);color:var(--on-cyan);margin:-8px -8px 2px;padding:6px 8px}.eq-h small{grid-row:2;font-size:.75em;letter-spacing:.06em;text-transform:uppercase;opacity:.85}
.eq-h span{grid-row:1/3;grid-column:2;align-self:center;background:#fff;color:#1c6f86;font-weight:600;border-radius:4px;padding:2px 5px}
.eq-c{display:grid;grid-template-columns:2fr 1fr 1fr;background:#fff;border-radius:5px;padding:4px 6px}.eq-c div{display:grid}.eq-c small,.eq-l{font-size:.72em;letter-spacing:.06em;text-transform:uppercase;color:#8a979b}
.eq-i{background:#fff;border:1px solid var(--cyan);border-radius:5px;padding:4px 6px}
.eq-f{background:#fff;border:1px solid var(--cyan);border-radius:5px;height:6em;display:grid;place-items:center}.eq-f svg{width:85%}
.eq-b{display:grid;grid-template-columns:auto 1fr;gap:4px}.eq-b i{font-style:normal;border:1px solid #dfe5e8;background:#fff;border-radius:5px;padding:4px 8px;text-align:center}.eq-b .ok{background:var(--cyan);color:var(--on-cyan);font-weight:600;border-color:var(--cyan)}
.eq{font-size:clamp(6px,.58vw,8.5px)}.eq-h{background:none;color:#1f2a2e;margin:0;padding:0;display:flex;justify-content:space-between;align-items:center}.eq-h span{border:1px solid var(--cyan)}
.eq-f{height:4.6em}.eq{gap:3px}
.hk-ch .esp{color:#7a3a17;background:#fbe0d0}.hk-ch .des{color:#6b5310;background:#fdf3d0}
/* mantenimiento */
.mn{grid-template-rows:auto 1fr;background:#f7f9fa}.mn-t{display:grid}.mn-t small{color:var(--cyan-deep)}.mn-t b{font-weight:500}
.mn-b{display:grid;grid-template-columns:repeat(3,1fr) 17%;gap:1cqw;padding:.8cqw 1.2cqw;align-items:start;font-size:.82cqw}
.mk-c{display:grid;gap:.5cqw}.mk-ch{display:flex;justify-content:space-between}.mk-ch b{font-size:1.1cqw;font-weight:500}
.mk-bar{height:.5cqw;background:#e3e8ea;border-radius:.3cqw;overflow:hidden}.mk-bar u{display:block;height:100%;background:#3f9f4a}
.ms{background:#fff;border:1px solid #e3e8ea;padding:.5cqw .7cqw;display:grid;gap:.15cqw}.ms.urg{border-left:.3cqw solid #d23a33}
.ms small{color:#5d6a6e}.ms b{font-size:.95cqw;font-weight:600}.ms>span{color:#5d6a6e}
.ms-f{display:flex;align-items:center;gap:.6cqw}.st3 i{font-style:normal;color:#c5ccd1}.st3 i.on{color:#f6ad37}.ms-f .t{color:var(--cyan-deep)}
.ms-f .fo{background:#e6f4f8;color:#1c6f86;border-radius:.2cqw;padding:0 .35cqw;font-size:.72cqw}.ms-f u{margin-left:auto;text-decoration:none;width:1.4cqw;height:1.4cqw;border-radius:.2cqw;background:#2b9ab3;color:#fff;display:grid;place-items:center;font-size:.7cqw}
.mn-eq{background:#fff;border:1px solid #e3e8ea;padding:.6cqw .8cqw;display:grid;gap:.5cqw}.mn-eq div{display:grid}.mn-eq i{font-style:normal;justify-self:start;background:var(--cyan);color:var(--on-cyan);border-radius:.2cqw;padding:0 .4cqw;font-size:.72cqw}
/* app del técnico */
.mapp{background:#eef3f8;gap:5px}.mapp svg{width:1.2em;height:1.2em}
.mapp-h{display:flex;align-items:center;gap:6px;background:#295b6b;color:#fff;margin:-8px -8px 2px;padding:7px 8px}.mapp-h div{display:grid}.mapp-h small{color:#9fd9e6}
.mapp .ic{width:2em;height:2em;border-radius:50%;background:#4fb4d0;color:#fff;display:grid;place-items:center;flex:none}
.ma2{display:flex;align-items:center;gap:6px;background:#fff;border-radius:8px;padding:6px;box-shadow:0 1px 3px rgba(20,38,43,.08)}.ma2 .ic{background:#e6f1f8;color:#295b6b}
.ma2 div{display:grid;flex:1}.ma2 div span{display:flex;gap:3px;flex-wrap:wrap}.ma2 i{font-style:normal;font-size:.78em;border-radius:999px;padding:0 5px}
.ma2 .p{background:#eef1f3}.ma2 .e{background:#e3effb;color:#1d5fa8}.ma2 em{font-style:normal;color:#9aa4a8}
.mapp-n{background:#e8833a;color:#fff;font-weight:600;text-align:center;border-radius:999px;padding:5px}
.mapp-tab{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;margin:2px -8px -8px;padding:4px 0;text-align:center;font-size:.8em}.mapp-tab i{font-style:normal;color:#8a979b}.mapp-tab i.on{color:#295b6b;font-weight:600}
/* legionela */
.lgn{grid-template-rows:auto 1fr;background:#fff}.lgn .fc-top b{font-weight:500}
.lg-b{display:grid;grid-template-columns:17% 1fr;font-size:.82cqw;min-height:0}
.lg-s{display:grid;align-content:start;gap:.35cqw;padding:.8cqw;border-right:1px solid #e3e8ea}.lg-s b{text-transform:uppercase;font-size:.72cqw;letter-spacing:.05em;margin-top:.4cqw}
.lg-s span{display:flex;gap:.4cqw;align-items:center}.lg-s u{width:.8cqw;height:.8cqw;border:1px solid #c5ccd1;border-radius:.15cqw}
.lgn table{width:100%;border-collapse:collapse;align-self:start}.lgn th{text-align:left;font-weight:600;padding:.45cqw .5cqw;border-bottom:1px solid #dfe5e8}.lgn td{padding:.45cqw .5cqw;border-bottom:1px solid #f0f3f4}
.lgn td u{display:grid;place-items:center;width:1cqw;height:1cqw;border:1px solid #c5ccd1;border-radius:.15cqw;text-decoration:none;font-size:.7cqw}.lgn td u.ok{background:var(--cyan);border-color:var(--cyan);color:var(--on-cyan)}
.lgn tr.no td{background:#fff4ec}.lgn tr.ven td:nth-child(5){color:#c0262d;font-weight:600}
.mapp{font-size:clamp(6px,.56vw,8px)}.mapp-h{margin-top:-6px}
/* SILOÉ */
.slo{background:#eef3f8;gap:5px;font-size:clamp(6px,.56vw,8px)}.slo svg{width:1.1em;height:1.1em}.slo .mapp-h{margin-top:-6px}
.sl-k{background:#fff;border-radius:10px;padding:7px;display:grid;grid-template-columns:auto 1fr;gap:6px;align-items:center}
.sl-k .ring{width:4.4em;height:4.4em;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(closest-side,#fff 76%,transparent 78%),conic-gradient(#3f9f4a 56%,#e3e8ea 0)}
.sl-k .ring b{font-size:1.2em;line-height:1}.sl-k .ring small{color:#8a979b}.sl-k>div:nth-child(2){display:grid}.sl-k>div:nth-child(2) b{font-size:1.4em}.sl-k span{color:#5d6a6e}
.sl-c{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,1fr);gap:4px}.sl-c span{display:grid;justify-items:center;border-radius:999px;padding:2px 0;font-size:.85em}.sl-c b{font-size:1.3em;line-height:1}
.sl-c .ok{background:#e6f6ee;color:#137a4b}.sl-c .pen{background:#fdf6dc;color:#8a5a00}.sl-c .tar{background:#fdecec;color:#c0262d}
.sl-t{background:#fff;border-radius:10px;overflow:hidden}.sl-th{display:flex;align-items:baseline;gap:5px;background:#f7f9fa;padding:5px 7px}.sl-th small{color:#8a979b}.sl-th span{margin-left:auto;color:#8a979b}
.sl-v{display:flex;align-items:center;gap:6px;padding:4px 7px}.sl-v b{flex:1;font-weight:600}
.sl-v .g{width:1.9em;height:1.9em;border-radius:50%;display:grid;place-items:center;background:#e0f4fa;color:#2b9ab3}.sl-v .g.ok{background:#e6f6ee;color:#137a4b}.sl-v .g.tar{background:#fdecec;color:#c0262d}
.sl-v i{font-style:normal;font-size:.82em;border-radius:999px;padding:0 6px;background:#eef1f3;color:#5d6a6e}.sl-v i.ok{background:#e6f6ee;color:#137a4b}.sl-v i.pen{background:#fdf6dc;color:#8a5a00}.sl-v i.tar{background:#fdecec;color:#c0262d}
.sm table td:nth-child(n+4),.sm table th:nth-child(n+4){text-align:right}.sm table td:last-child,.sm table th:last-child{text-align:center}
.sm td u{display:inline-grid;place-items:center;width:1cqw;height:1cqw;border:1px solid #c5ccd1;border-radius:.15cqw;text-decoration:none;font-size:.7cqw}.sm td u.ok{background:var(--cyan);border-color:var(--cyan);color:var(--on-cyan)}
.sm tr.fr td{color:#c0262d}.sm td u.rj{background:#c0262d;border-color:#c0262d}.sm .rj{color:#c0262d;font-weight:600}.sm td{padding:.45cqw .4cqw!important}
.sm table{width:74%}.sm .fa-f{width:74%}
/* SILOÉ: web pública */
.sw{grid-template-rows:auto auto auto 1fr;background:#fff}.sw .bm-web .on{color:var(--cyan-deep);font-weight:600}
.sw-h{display:flex;align-items:center;justify-content:space-between;background:linear-gradient(120deg,#2a7fd4,#2a5bb5);color:#fff;padding:1.4cqw 2cqw}
.sw-h>div:first-child{display:grid;gap:.5cqw;justify-items:start;max-width:62%}.sw-b{background:#3f9f4a;border-radius:999px;padding:.15cqw .7cqw;font-size:.8cqw;font-weight:600}
.sw-h b{font:600 2.3cqw/1.05 var(--body);letter-spacing:0}.sw-h p{margin:0;font-size:.95cqw;opacity:.9}
.sw-h i{font-style:normal;display:inline-block;background:var(--cyan);border-radius:999px;padding:.5cqw 1.2cqw;font-size:.9cqw;margin-right:.5cqw}.sw-h i.o{background:none;box-shadow:inset 0 0 0 1px #fff}
.sw-s{width:9cqw;height:9cqw;border-radius:50%;border:.35cqw solid #fff;display:grid;place-items:center;align-content:center;box-shadow:inset 0 0 0 .5cqw #2a6bd0,inset 0 0 0 .62cqw rgba(255,255,255,.6)}
.sw-s b{font-size:1.25cqw}.sw-s small{font-size:.7cqw;letter-spacing:.1em}
.sw-l{padding:1cqw 2cqw}.sw-lt{display:flex;justify-content:space-between;align-items:baseline}.sw-lt b{font-size:1.3cqw;font-weight:600}.sw-lt small{color:#5d6a6e;font-size:.8cqw}
.sw-g{display:grid;grid-template-columns:repeat(3,1fr);gap:1cqw;margin-top:.6cqw}
.sw-v{border:1px solid #e3e8ea;border-left:.3cqw solid #3f9f4a;border-radius:.4cqw;padding:.7cqw 1cqw;display:grid;gap:.2cqw;font-size:.82cqw}
.sw-v>b{font-size:1.1cqw;font-weight:600}.sw-v small{color:#5d6a6e}.sw-v div{display:flex;justify-content:space-between}.sw-v div span:last-child{font-weight:600}
.sw-v i{font-style:normal;justify-self:start;color:var(--cyan-deep);border:1px solid var(--cyan);border-radius:.2cqw;padding:0 .4cqw;margin-top:.3cqw;font-size:.75cqw}
.sw-n{display:grid;grid-template-columns:1.2fr repeat(3,1fr);gap:1cqw;align-items:center;background:#f2f6f9;padding:1cqw 2cqw}.sw-n>b{font-size:1.5cqw;font-weight:600}
.sw-n div{background:#fff;border-radius:.4cqw;padding:.6cqw;display:grid;justify-items:center;text-align:center}.sw-n div b{font-size:1.8cqw}.sw-n div:nth-child(2) b{color:#3f9f4a}.sw-n div span{font-size:.75cqw;color:#5d6a6e}
.sw-cta{display:flex;gap:.5cqw}
/* BI: informes con menú lateral */
.bin{grid-template-rows:auto 1fr;background:#f4f6f8}
.bin-top{display:flex;align-items:center;gap:.5cqw;padding:.6cqw 1.2cqw;background:#fff;border-bottom:1px solid #e3e8ea;font-size:.82cqw}.bin-top span{font-weight:600}
.bin-top i{font-style:normal;border:1px solid #dfe5e8;border-radius:.2cqw;padding:.25cqw .6cqw}.bin-top u{text-decoration:none;border:1px solid var(--cyan);color:#1c6f86;border-radius:.2cqw;padding:.25cqw .6cqw}
.bin-top u:first-of-type{margin-left:auto}.bin-top u.x{border-color:#3f9f4a;color:#2f7d3a}
.bin-b{display:grid;grid-template-columns:15% 1fr;min-height:0}
.bin nav{background:#fff;border-right:1px solid #e3e8ea;padding:.6cqw .8cqw;display:grid;align-content:start;gap:.25cqw;font-size:.78cqw}
.bin nav b{text-transform:uppercase;letter-spacing:.06em;font-size:.68cqw;color:#5d6a6e;margin-top:.5cqw}.bin nav span{padding:.1cqw .4cqw;color:#374245}
.bin nav span::before{content:"• ";color:#9aa4a8}.bin nav span.on{background:#e6f4f8;color:#1c6f86;font-weight:600;border-radius:.2cqw}
.bin-m{display:grid;grid-template-rows:auto 1fr;gap:.8cqw;padding:.8cqw 1cqw;min-height:0}
.bin-k{grid-template-columns:repeat(5,1fr)!important;font-size:.82cqw}
.bin-g{display:grid;grid-template-columns:1fr 1fr;gap:.8cqw;min-height:0}
.bin .pn{background:#fff;border-radius:.4cqw;padding:.7cqw .9cqw;display:grid;grid-template-rows:auto auto 1fr;gap:.3cqw;box-shadow:0 1px 3px rgba(20,38,43,.06);min-height:0;font-size:.82cqw}
.bin .pn>b{font-weight:600;font-size:.95cqw}
.lg2{margin:0;display:flex;justify-content:center;gap:.4cqw;align-items:center;color:#5d6a6e;font-size:.72cqw}.lg2 span{width:1.2cqw;height:.6cqw;display:inline-block}.lg2 .ay,.ch2 .ay{background:#3fb85a;fill:#3fb85a}.lg2 .ly,.ch2 .ly{background:#e8524a;fill:#e8524a}
.ch2{display:grid;grid-template-rows:1fr auto;min-height:0}.ch2 svg{width:100%;height:100%;border-bottom:1px solid #dfe5e8;background:repeating-linear-gradient(0deg,#f0f3f4 0 1px,transparent 1px 20%)}
.ch2 .bx{display:grid;grid-template-columns:repeat(var(--n),1fr);text-align:center;font-size:.68cqw;color:#5d6a6e;padding-top:.2cqw}.ch2 .bx i{font-style:normal}
.bin-top{align-items:flex-end}.bin-top label{display:grid;gap:.15cqw}.bin-top label span{font-size:.72cqw}.bin-top em{font-style:normal;font-size:.62cqw;color:#1c6f86;background:#e6f4f8;border-radius:.2cqw;padding:0 .3cqw}
.bin-m.pg{grid-template-rows:1fr}.bin-m.pg .pn{grid-template-rows:auto 1fr}
.pgt{width:100%;border-collapse:collapse;font-size:.76cqw;align-self:start}.pgt th{text-align:right;font-weight:600;padding:.35cqw .4cqw;border-bottom:1px solid #dfe5e8;white-space:nowrap}
.pgt td{text-align:right;padding:.33cqw .4cqw;border-bottom:1px solid #f0f3f4;white-space:nowrap}.pgt th:first-child,.pgt td:first-child{text-align:left}
.pgt td.up{color:#2f8f46;font-weight:600}.pgt td.dn{color:#c0262d;font-weight:600}
.pgt .bar{display:block;width:7cqw;height:.7cqw;background:#eef1f3;border:1px solid #dfe5e8;margin-left:auto}.pgt .bar u{display:block;height:100%}
.pgt .bar.a u{background:#f0a73a}.pgt .bar.r u{background:#e33b2e}.pgt .bar.v u{background:#3fb85a}
.pk-g{display:grid;grid-template-columns:13% repeat(14,1fr);grid-auto-rows:minmax(0,1fr);background:#fff;font-size:.8cqw;min-height:0}
.pk-g .h{display:grid;place-items:center;border-bottom:1px solid #dfe5e8;padding:.25cqw 0}.pk-g .h b{font-weight:500}.pk-g .h small{font-size:.7cqw;color:#5d6a6e}
.pk-g .h.we{background:#d9e0e6;font-style:normal}.pk-g .h.hoy{background:#fdf8e4;box-shadow:inset 0 0 0 1px #e8c98a}
.pk-g>div{display:flex;align-items:center;justify-content:flex-end;padding:0 .4cqw;border-bottom:1px solid #eef1f3}
.pk-g .r{justify-content:flex-start;white-space:nowrap;overflow:hidden}.pk-g .g.r{background:var(--cyan);color:#0d3540;font-weight:600}
.pk-g .g{background:#eaf6fa;font-weight:600}.pk-g .g.p{color:#2f8f46}.pk-g .t.p{color:#2f8f46;font-weight:600}.pk-g .t{color:#5d6a6e}.pk-g .t.r{color:#1f2a2e;padding-left:.8cqw}
.pk-g .h{justify-content:center!important;display:grid!important}
/* comedor: previsión */
.cp{grid-template-rows:auto 1fr;background:#fff}
.cp-f{display:flex;align-items:flex-end;gap:.8cqw;padding:.6cqw 1.2cqw;border-bottom:1px solid #e3e8ea;font-size:.72cqw}
.cp-f label{display:grid;gap:.15cqw;text-transform:uppercase;letter-spacing:.06em;color:#5d6a6e;font-size:.62cqw}.cp-f i{font-style:normal;text-transform:none;letter-spacing:0;color:#1f2a2e;border:1px solid #dfe5e8;border-radius:.2cqw;padding:.25cqw .5cqw;font-size:.75cqw}
.cp-f span{display:flex;gap:.25cqw}.cp-f b{color:#fff;border-radius:.2cqw;padding:.3cqw .55cqw;text-transform:none;letter-spacing:0;font-size:.75cqw}
.cp .des{background:#b3401e;color:#fff}.cp .alm{background:#2f6a2f;color:#fff}.cp .cen{background:#25228a;color:#fff}.cp-f b.dk{background:#1f3d4a}
.cp-f u{margin-left:auto;text-decoration:none;background:#eef1f3;border-radius:.2cqw;padding:.35cqw .7cqw;font-size:.78cqw;color:#1f2a2e}
.cp-b{padding:.7cqw 1.2cqw;display:grid;align-content:start;gap:.4cqw;font-size:.76cqw;min-height:0;overflow:hidden}
.cp-t{display:flex;justify-content:space-between;align-items:baseline;border-bottom:.15cqw solid #1f3d4a;padding-bottom:.3cqw}.cp-t b{font-size:1.3cqw}.cp-t small{color:#5d6a6e}
.cp table{width:100%;border-collapse:collapse}.cp-r th{color:#fff;font-weight:600;padding:.25cqw}.cp-r th.f{background:#1f3d4a;text-align:left;padding-left:.5cqw}.cp-r th.s{font-weight:400;font-size:.68cqw}
.cp-r tr:nth-child(2) th:nth-child(-n+3){background:#b3401e}.cp-r tr:nth-child(2) th:nth-child(n+4):nth-child(-n+6){background:#2f6a2f}.cp-r tr:nth-child(2) th:nth-child(n+7){background:#25228a}
.cp-r td{text-align:center;padding:.3cqw;border-bottom:1px solid #eef1f3}.cp-r td.f{text-align:left;font-weight:600}
.cp-d{display:flex;justify-content:space-between;background:#1f3d4a;color:#fff;padding:.45cqw .7cqw;margin-top:.3cqw}.cp-d b{font-size:.95cqw}
.cp-n{display:flex;gap:.3cqw;align-items:center;color:#5d6a6e;font-size:.68cqw;text-transform:uppercase;letter-spacing:.05em}.cp-n i{font-style:normal;text-transform:none;border:1px solid #c9d6f0;color:#25409a;border-radius:999px;padding:0 .35cqw}
.cp-s{display:flex;justify-content:space-between;background:#fbe9e3;color:#b3401e;border-left:.25cqw solid #b3401e;padding:.25cqw .6cqw;text-transform:uppercase;letter-spacing:.05em}
.cp-l th{text-align:left;font-size:.66cqw;text-transform:uppercase;letter-spacing:.05em;color:#5d6a6e;padding:.2cqw .4cqw;border-bottom:1px solid #dfe5e8}.cp-l td{padding:.25cqw .4cqw;border-bottom:1px solid #f0f3f4}
.cp .hb{background:#1f3d4a;color:#fff;border-radius:.15cqw;padding:0 .4cqw;font-weight:600}.cp .hb.sal{background:#f0a73a}.cp em{font-style:normal;border:1px solid #f0a73a;color:#c98a12;border-radius:.15cqw;padding:0 .25cqw;font-size:.62cqw}
.cp-l u{text-decoration:none;background:#eef1f3;border-radius:.15cqw;padding:0 .3cqw;font-size:.68cqw}.cp .nt{font-style:normal;border:1px solid var(--cyan);color:#1c6f86;border-radius:.15cqw;padding:0 .3cqw;font-size:.66cqw}
/* comedor: monitor de aforo */
.cmo{grid-template-rows:auto auto 1fr;background:#f7f9fa}
.cmo-h{display:flex;justify-content:space-between;padding:.8cqw 2cqw .4cqw}.cmo-h div{display:grid}.cmo-h span{color:var(--cyan-deep);font-size:1cqw}.cmo-h b{font-size:1.3cqw;letter-spacing:.12em;text-transform:uppercase;color:#8a979b}
.cmo-h .r{text-align:right}.cmo-h .r small{font-size:.7cqw;letter-spacing:.12em;text-transform:uppercase;color:#8a979b}.cmo-h .r b{color:var(--cyan-deep);font-size:1.8cqw;letter-spacing:0}
.cmo-b{display:grid;grid-template-columns:1.6fr 1fr;gap:1.4cqw;padding:.4cqw 2cqw 1.2cqw;min-height:0}
.cmo-r{background:#fff;border-radius:2cqw;display:grid;place-items:center;position:relative;box-shadow:0 2px 10px rgba(20,38,43,.06)}
.ring2{width:18cqw;height:18cqw;border-radius:50%;display:grid;place-items:center;align-content:center;background:radial-gradient(closest-side,#fff 84%,transparent 85%),conic-gradient(var(--cyan) 68%,#eef3f7 0)}
.ring2 b{font-size:4.6cqw;line-height:1;color:var(--ink)}.ring2 small{font-size:1cqw;letter-spacing:.2em;text-transform:uppercase;color:#8a979b;font-weight:600}
.cmo-n{position:absolute;inset:auto 2cqw 1.2cqw;display:flex;justify-content:space-between}.cmo-n div{display:grid;justify-items:center}.cmo-n b{font-size:2.6cqw;line-height:1}.cmo-n b.g{color:#c5ccd6}.cmo-n span{color:#5d6a6e;font-size:.9cqw;font-weight:600}
.cmo-s{display:grid;grid-template-rows:auto 1fr;gap:1cqw}.cmo-s .lib{background:var(--cyan);color:var(--on-cyan);border-radius:2cqw;padding:1.2cqw 1.6cqw;display:grid}.cmo-s .lib b{font-size:3cqw;line-height:1}.cmo-s .lib span{font-size:.8cqw;letter-spacing:.12em;text-transform:uppercase;font-weight:600}
.cmo-l{background:#fff;border-radius:2cqw;padding:1cqw;display:grid;align-content:start;gap:.6cqw;box-shadow:0 2px 10px rgba(20,38,43,.06)}
.cm-a{display:flex;justify-content:space-between;align-items:center;gap:.6cqw}.cm-a>div{display:grid}.cm-ah{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #eef1f3;padding-bottom:.4cqw}.cm-ah b{font-weight:500;font-size:1cqw}.cm-ah i{width:.7cqw;height:.7cqw;border-radius:50%;background:#6bcf7f}
.cmz-c{display:flex;justify-content:space-between;align-items:center;background:#f7f9fa;border-radius:1cqw;padding:.6cqw .8cqw}.cmz-c div{display:grid}.cm-a b{font-size:.95cqw}.cmz-c small{font-size:.7cqw;letter-spacing:.08em;text-transform:uppercase;color:#5d6a6e;font-weight:600}
.cmz-c span{background:#e6f4f8;color:var(--cyan-deep);font-weight:600;border-radius:.6cqw;padding:.4cqw .5cqw;font-size:1cqw}
.cq{background:linear-gradient(160deg,#f7f9fa,#e8f2f6);display:grid;align-content:center;gap:8px;justify-items:center;text-align:center}
.cq-c{background:#fff;border-radius:16px;padding:12px 8px;display:grid;justify-items:center;gap:5px;box-shadow:0 4px 14px rgba(20,38,43,.08);width:100%}
.cq-i{width:3.6em;height:3.6em;border-radius:12px;background:var(--cyan);display:grid;place-items:center}.cq-i svg{width:1.6em;height:1.6em}
.cq-c b{font-size:1.2em}.cq-c span{color:#8a979b}.cq-c i{display:block;width:90%;height:3px;border-radius:2px;background:var(--cyan)}
.cq small{letter-spacing:.12em;text-transform:uppercase;color:#8a979b;font-size:.7em;font-weight:600}
/* RRHH: parte diario de jornada */
.as{grid-template-rows:auto 1fr;background:#fff}.cp-f b.lt{background:#fff;color:#1f2a2e;border:1px solid #dfe5e8}
.as-ks{display:grid;grid-template-columns:repeat(6,1fr);gap:.5cqw}.as-k{border:1px solid #e3e8ea;border-left:.3cqw solid var(--k);padding:.4cqw .6cqw;display:grid}
.as-k b{font-size:1.5cqw;color:var(--k)}.as-k small{font-size:.62cqw;letter-spacing:.06em;text-transform:uppercase;color:#5d6a6e}
.as-k.v{--k:#2f8f46}.as-k.g{--k:#6b777b}.as-k.r{--k:#c0262d}.as-k.a{--k:#2554c7}.as-k.o{--k:#e8833a}.as-k.n{--k:#1f2a2e}
.as-g{display:grid;grid-template-columns:1fr 1fr;gap:.8cqw;align-items:start}
.as table{width:100%;border-collapse:collapse}.as th{background:#1f3d4a;color:#fff;font-weight:600;font-size:.66cqw;padding:.3cqw .35cqw;text-align:right}.as th:first-child,.as th:nth-child(2){text-align:left}
.as td{padding:.32cqw .35cqw;border-bottom:1px solid #f0f3f4;text-align:right;white-space:nowrap}.as td:first-child{text-align:left;font-weight:600}.as td.up{color:#2f8f46}.as td.dn{color:#c0262d}
.as-e td{text-align:left}.as-e td:nth-child(2) b{display:block;font-size:.78cqw}.as-e td small{color:#8a979b}
.as .es{color:#fff;border-radius:.15cqw;padding:.05cqw .35cqw;font-size:.62cqw;font-weight:600;text-transform:uppercase}.as .es.v{background:#2f8f46}.as .es.g{background:#6b777b}.as .es.r{background:#c0262d}.as .es.a{background:#2554c7}
.tl2{display:block;position:relative;height:.6cqw;background:#eef1f3;border-radius:.3cqw;width:9cqw}.tl2 u{position:absolute;top:0;bottom:0;background:#4b6170;border-radius:.3cqw}
.as-g{grid-template-columns:1fr}.as-r,.as-e{width:76%!important}.as-r td,.as-e td{padding:.28cqw .4cqw}.tl2{width:16cqw}
.as-d{font-size:.66cqw;text-transform:uppercase;letter-spacing:.05em;color:#5d6a6e}.as-d i{font-style:normal;text-transform:none;letter-spacing:0;border:1px solid #c9d6f0;color:#25409a;border-radius:999px;padding:0 .35cqw;margin-right:.25cqw}
.as-e td{font-size:.76cqw}.as-e td:nth-child(2) b{display:inline}
.pdn :is(h5,.xh5){margin:.4cqw 0 .3cqw;font-size:.72cqw;letter-spacing:.06em;text-transform:uppercase;border-bottom:1px solid #dfe5e8;padding-bottom:.2cqw}
.pd-c{display:grid;grid-template-columns:1fr 1fr;gap:2cqw}.pdn .kv{display:grid;grid-template-columns:42% 1fr;gap:.3cqw .6cqw}.pdn .kv span{color:#374245;font-weight:600}.pdn .kv b{font-weight:400}
.pdn .kv u{text-decoration:none;background:#e9ecef;border-radius:999px;padding:0 .4cqw;margin:0 .2cqw .2cqw 0;display:inline-block;font-size:.72cqw}
.pdn td.up{color:#2f8f46;font-weight:600}.pdn td.dn{color:#c0262d;font-weight:600}.pdn table td:last-child,.pdn table th:last-child{text-align:right}
.rc td.up{color:#2f8f46;font-weight:600}.rc td.dn{color:#c0262d;font-weight:600}.rc td:nth-child(n+4):nth-child(-n+6),.rc td:nth-child(n+9):nth-child(-n+10){text-align:right}
.rc .pe{background:#e9ecef;border-radius:999px;padding:0 .5cqw;font-size:.72cqw;font-weight:600}.rc .ac i{font-style:normal;margin-right:.6cqw;font-size:.78cqw}.rc .ac .ok{color:#1c6f86}.rc .ac .no{color:#c0262d}
/* compset: fila Mercado */
.cm-grid .r.mkt{background:#f4f6f8;font-weight:600}
.cm-grid .c.mkt{display:grid;place-items:center;align-content:center;background:#f4f6f8;margin:0;border-radius:0;line-height:1.05;padding:.15cqw 0}
.cm-grid .c.mkt b{font-size:.85cqw}.cm-grid .c.mkt small{font-size:.58cqw;color:#8a979b}.cm-grid .c.mkt em{font-style:normal;font-size:.6cqw;font-weight:600}
.cm-grid .c.mkt em.up{color:#2f8f46}.cm-grid .c.mkt em.dn{color:#c0262d}
.cm-grid .c.mkt em{position:static;width:auto;height:auto;border-radius:0;background:none;box-shadow:none}
.cm-grid .c.p.wvs{display:grid;place-items:start end;align-content:center;line-height:1}.cm-grid .c.p .vs{font-size:.56cqw;opacity:.75;font-weight:600}
.rbk tr.hot td{color:#c0262d}.rbk td:nth-child(n+6):nth-child(-n+8),.rbk th:nth-child(n+6):nth-child(-n+8){text-align:right}
.rbk .rb{border-radius:999px;padding:0 .5cqw;font-size:.72cqw;font-weight:600;background:#e9ecef;color:#374245}.rbk .rb.con{background:#fde3e4;color:#a3161c}.rbk .rb.rec{background:#ddf5e6;color:#137a4b}.rbk .rb.rev{background:#fdf3d0;color:#6b5310}
.rbk td em{font-style:normal;color:#c0262d;font-weight:600}.rbk td i{font-style:normal;color:#8a979b}
.rbk table{font-size:.95cqw}.rbk td,.rbk th{padding:.75cqw .6cqw!important;text-align:left!important}.rbk td:nth-child(n+6):nth-child(-n+8),.rbk th:nth-child(n+6):nth-child(-n+8){text-align:right!important}
.rbk .rb{display:inline-block!important;font-size:.8cqw}
/* rondas nocturnas */
.rdn{grid-template-rows:1fr;background:#fff}.rd-b{padding:.8cqw 1.2cqw;display:grid;align-content:start;gap:.6cqw;font-size:.8cqw}
.rd-t{font-size:1.3cqw;font-weight:500}.rd-h span{display:inline-block;border:1px solid #e3e8ea;padding:.3cqw .7cqw}.rd-h u{text-decoration:none;background:#eef1f3;border-radius:.2cqw;padding:0 .4cqw;margin-left:.4cqw}
.rdn .as-k{border-left-width:.25cqw}.rdn .as-k b{font-size:1.5cqw}
.rd-3{display:grid;grid-template-columns:repeat(3,1fr);gap:.6cqw}.rd-2{display:grid;grid-template-columns:1fr 1fr;gap:.6cqw}
.rdn .pn{border:1px solid #e3e8ea;padding:.5cqw .8cqw;display:grid;align-content:start;gap:.25cqw}.rdn .pn>b{font-weight:500;font-size:.95cqw}.rdn .pn p{margin:0;color:#5d6a6e}.rdn .pn p.w{color:#c98a12;font-weight:600}
.rdn .pn b u{text-decoration:none;background:#eef1f3;border-radius:.2cqw;padding:0 .4cqw}
.rd-p{display:grid;grid-template-columns:1fr 9cqw auto;gap:.5cqw;align-items:center}.rd-p i{height:.5cqw;background:#eef1f3;border-radius:.3cqw;overflow:hidden}.rd-p u{display:block;height:100%;background:#3f9f4a}
.rdn .tg{display:flex;gap:.3cqw}.rdn .tg i{font-style:normal;border-radius:.2cqw;padding:.05cqw .4cqw;font-weight:600;color:#fff}.rdn .tg .c{background:#d23a33}.rdn .tg .al{background:#f0a73a;color:#3d2a00}.rdn .tg .m{background:#4ab3cf}.rdn .tg .b{background:#fff;color:#1f2a2e;box-shadow:inset 0 0 0 1px #dfe5e8}
.rd-c{display:grid;grid-template-columns:repeat(7,1fr);gap:.6cqw;height:5cqw;align-items:end}.rd-c div{display:grid;justify-items:center;align-content:end;height:100%}.rd-c i{width:60%;background:#3f9f4a;border-radius:.2cqw .2cqw 0 0}.rd-c small{color:#5d6a6e;font-size:.65cqw}
.rd-c{height:7cqw}.rd-c div{display:flex;flex-direction:column;justify-content:flex-end;align-items:center;height:7cqw}.rd-c i{display:block}
.rd-b{font-size:.9cqw;gap:.8cqw}.rdn .pn{padding:.7cqw .9cqw}
/* turnos con contexto */
.tu{grid-template-rows:auto auto 1fr;background:#fff}.tu-b{display:flex;gap:.3cqw;margin-left:auto}.tu-b i{font-style:normal;background:var(--cyan);color:var(--on-cyan);border-radius:.25cqw;padding:.35cqw .6cqw;font-size:.8cqw}.tu-b i.on{background:#fff;color:#1f2a2e;box-shadow:inset 0 0 0 1px #1f2a2e}
.tu-w{margin:.4cqw 1.2cqw;justify-self:start;background:#fdf3d0;color:#6b5310;border-radius:999px;padding:.2cqw .8cqw;font-size:.78cqw;font-weight:600}
.tu-g{display:grid;grid-template-columns:1fr 24%;min-height:0}
.tu-p{display:grid;grid-template-columns:12% repeat(14,1fr);grid-auto-rows:min-content;font-size:.66cqw;align-content:start}
.tu-p .h{display:grid;place-items:center;border-bottom:1px solid #dfe5e8;padding:.25cqw 0}.tu-p .h b{font-weight:500;font-size:.8cqw}.tu-p .h small{color:#5d6a6e}
.tu-p .h.we{background:#d9e0e6;font-style:normal}.tu-p .h.hoy{background:#fdf8e4;box-shadow:inset 0 0 0 1px #e8c98a}.tu-p .h.r{font-weight:600;font-size:.8cqw}
.tu-p .em{background:var(--cyan);color:#0d3540;padding:.25cqw .4cqw;border-bottom:1px solid #fff;display:grid;line-height:1.1}.tu-p .em b{font-size:.72cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tu-p .em small{font-size:.62cqw}
.tu-p .em u{text-decoration:none;background:#fff;border-radius:.2cqw;padding:0 .3cqw;font-size:.56cqw;justify-self:start}
.tu-p .sh{margin:.12cqw;border-radius:.15cqw;display:grid;place-items:center;text-align:center;padding:.2cqw .1cqw;line-height:1.1}
.sh.m{background:#d5ecf7;color:#1c5f86}.sh.t{background:#e4dcf6;color:#4a3a8a}.sh.l{background:repeating-linear-gradient(135deg,#eef1f3 0 .3cqw,#e3e8ea .3cqw .6cqw);color:#6b777b}.sh.v{background:#ddf5e6;color:#137a4b}.sh.x{color:#c5ccd1}
.tu-c{border-left:1px solid #e3e8ea;padding:.6cqw .8cqw;display:grid;align-content:start;gap:.25cqw;font-size:.72cqw}.tu-c>b{font-size:.95cqw}.tu-c>small{font-weight:600;margin-top:.3cqw}.tu-c p{margin:0;color:#5d6a6e}
.cbs{display:grid;grid-template-columns:repeat(14,1fr);gap:.12cqw;align-items:end;height:4cqw}.cb{display:flex;flex-direction:column;justify-content:flex-end;align-items:center}.cb small{font-size:.45cqw;color:#5d6a6e}
.cb i{width:100%;background:#3fb85a}.cb i.hi{background:#f08a2e}.cb i.d{background:#f08a2e}.cb i.r{background:#6b4fc4}
/* portal del trabajador */
.ptr{background:#eef1f5;gap:4px;font-size:clamp(6px,.56vw,8px)}
.pt-tabs{display:flex;gap:3px;overflow:hidden;white-space:nowrap}.pt-tabs i{font-style:normal;padding:2px 5px;border-radius:4px;color:#5d6a6e}.pt-tabs i.on{background:#1b1f33;color:#fff;font-weight:600}
.pt-h{background:#1b1f33;color:#fff;margin:0 -8px;padding:6px 8px;display:grid;gap:1px}.pt-h small{color:#9aa4b8}.pt-h>b{font-size:1.25em}
.pt-w{display:flex;align-items:center;justify-content:space-between;margin-top:4px}.pt-w i{font-style:normal;width:1.8em;height:1.8em;border-radius:50%;background:#2c3150;display:grid;place-items:center}.pt-w span{display:grid;text-align:center}
.pt-d{background:#fff;border-radius:8px;padding:6px;display:grid;gap:4px}.pt-dh{display:flex;align-items:center;gap:4px;border-bottom:1px solid #eef1f3;padding-bottom:3px}.pt-dh .sh{margin-left:auto;background:#d5ecf7;color:#1c5f86;border-radius:999px;padding:0 6px;font-weight:600}
.pt-f{display:grid;gap:2px;background:#f6f8fb;border:1px solid #e3e8ef;border-radius:6px;padding:5px}.pt-f small{font-weight:600}.pt-f .in{background:#fff;border:1px solid #d5dbe5;border-radius:4px;padding:3px 5px}.pt-f .in.on{border-color:#1b1f33}.pt-f .in.tx{height:2.6em;color:#5d6a6e}
.pt-f .go{margin-top:3px;background:#1b3a64;color:#fff;font-weight:600;text-align:center;border-radius:6px;padding:4px}
.ptr{grid-auto-rows:min-content}.pt-tabs{min-height:1.6em;flex:none}.pt-tabs i{color:#5d6a6e}.pt-tabs i.on{color:#fff}.pt-f .in.tx{height:auto}
/* ausencias */
.au{grid-template-rows:auto auto 1fr auto;background:#fff}.au .mk-nav{margin-left:1cqw}
.au-k{display:grid;grid-template-columns:repeat(3,1fr);background:#f4f6f8;border-bottom:1px solid #e3e8ea}.au-k div{display:grid;justify-items:center;padding:.6cqw;border-right:1px solid #e3e8ea}
.au-k small{font-weight:600;font-size:.85cqw}.au-k b{font-size:1.6cqw;color:var(--cyan-deep)}.au-k span{font-size:.7cqw;text-transform:uppercase;color:var(--cyan-deep)}
.au-b{display:grid;grid-template-columns:repeat(3,1fr);gap:.6cqw 2cqw;padding:.6cqw 2.4cqw;font-size:.72cqw}.au-m span{font-weight:600}
.au-g{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;margin-top:.2cqw}.au-g i{font-style:normal;font-weight:600;color:#5d6a6e}.au-g b{font-weight:400;padding:.12cqw 0}
.au-g b.we{background:#eef1f3}.au-g b.fes{background:#dfe5e8;color:#c0262d}.au-g b.vac{background:#4ab3cf;color:#fff}.au-g b.comp{background:#8e7cc3;color:#fff}.au-g b.per{background:#f0a73a;color:#fff}.au-g b.baj{background:#e8524a;color:#fff}
.au-g b.pen{background:repeating-linear-gradient(135deg,#4ab3cf 0 .2cqw,#bfe5ef .2cqw .4cqw);color:#0d3540}.au-g b.hoy{box-shadow:inset 0 0 0 .12cqw #1f2a2e;font-weight:600}
.au-l{display:flex;gap:1.2cqw;padding:.4cqw 2.4cqw .6cqw;font-size:.72cqw;color:#5d6a6e}.au-l span{display:flex;align-items:center;gap:.3cqw}.au-l u{width:.8cqw;height:.8cqw;border-radius:.15cqw}
.au-l .vac u{background:#4ab3cf}.au-l .comp u{background:#8e7cc3}.au-l .per u{background:#f0a73a}.au-l .baj u{background:#e8524a}.au-l .pen u{background:repeating-linear-gradient(135deg,#4ab3cf 0 2px,#bfe5ef 2px 4px)}.au-l .fes u{background:#dfe5e8}
.au-b{align-content:start;font-size:.9cqw;gap:1.2cqw 2.4cqw;padding-top:1cqw}.au-g b{padding:.25cqw 0}.au{grid-template-rows:auto auto 1fr auto}
/* marketing por correo */
.mlg td:nth-child(n+5):nth-child(-n+8),.mlg th:nth-child(n+5):nth-child(-n+8){text-align:right}.mlg td{padding:.6cqw .5cqw!important}
.mlg .ml{border-radius:999px;padding:0 .5cqw;font-size:.72cqw;font-weight:600;color:#fff}.mlg .ml.bor{background:#4ab3cf}.mlg .ml.w2-col{background:#2b9ab3}.mlg .ml.env{background:#3f9f4a}
.ld .fa-sm span{min-width:5cqw}.ld-s{color:#5d6a6e}.ld-h{font-weight:600;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px solid #dfe5e8;padding-bottom:.2cqw;margin-top:.4cqw}
.kv2{display:grid;grid-template-columns:18% 1fr;gap:.4cqw}.kv2 span{font-weight:600}.kv2 b{font-weight:400}.kv2 i{font-style:normal;background:#eef1f3;border-radius:.2cqw;padding:.1cqw .5cqw}
.ld-c{margin-top:.3cqw}.ld-r{display:grid;grid-template-columns:40% 25% 1fr;gap:.6cqw;align-items:center;padding:.2cqw 0}.ld-r span:first-child{justify-self:start;border:1px solid #dfe5e8;border-radius:.2cqw;padding:.05cqw .4cqw}.ld-r b{font-weight:500}
.ld-n{color:var(--cyan-deep);font-weight:600}
.mlg td:nth-child(n+4):nth-child(-n+7),.mlg th:nth-child(n+4):nth-child(-n+7){text-align:right}.mlg td:nth-child(8),.mlg th:nth-child(8),.mlg td:nth-child(9),.mlg th:nth-child(9){text-align:left}.mlg table{font-size:.92cqw}.mlg td:nth-child(4){text-align:left}
.ma2b{grid-template-rows:auto auto 1fr;background:#fff}.ma-t{display:flex;gap:.3cqw;padding:.5cqw 1.2cqw}.ma-t i{font-style:normal;background:#eef1f3;border-radius:.2cqw;padding:.3cqw .6cqw;font-size:.8cqw}.ma-t i.on{background:#6f5a9e;color:#fff}.ma-t i.on+i.on,.ma-t i:nth-child(3).on{background:#d5d0e6;color:#1f2a2e}
.ma-g{display:grid;grid-template-columns:1.5fr 1fr;gap:1cqw;padding:0 1.2cqw 1cqw;min-height:0;font-size:.8cqw}.ma2b .pn{display:grid;grid-template-rows:auto 1fr auto;gap:.3cqw;min-height:0}.ma-g .pn:last-child{grid-template-rows:auto 1fr}
.ma2b svg{width:100%;height:100%;background:repeating-linear-gradient(0deg,#f0f3f4 0 1px,transparent 1px 20%)}
.ma2b .a1{fill:rgba(74,179,207,.35)}.ma2b .l1{stroke:#2b9ab3;fill:#2b9ab3;stroke-width:1.5}.ma2b .a2{fill:rgba(111,90,158,.35)}.ma2b .l2{stroke:#6f5a9e;fill:#6f5a9e;stroke-width:1.5}.ma2b polyline{fill:none}
.lg3{margin:0;display:flex;gap:.5cqw;align-items:center;color:#5d6a6e}.lg3 span{width:1.2cqw;height:.6cqw;display:inline-block}.lg3 .k1{background:#4ab3cf}.lg3 .k2{background:#6f5a9e}
.ma-x{display:grid;grid-template-columns:repeat(var(--n),1fr);font-size:.62cqw;color:#5d6a6e;text-align:center}.ma-x i{font-style:normal}
.ma2b table{width:100%;border-collapse:collapse}.ma2b th{text-align:right;font-weight:600;padding:.35cqw .4cqw;border-bottom:1px solid #dfe5e8}.ma2b td{text-align:right;padding:.4cqw;border-bottom:1px solid #f0f3f4}.ma2b th:first-child,.ma2b td:first-child{text-align:left}
.ma2b svg{height:20cqw}.ma-g{align-items:start}
.ma2b polyline.l1,.ma2b polyline.l2{fill:none}.ma2b circle{display:none}
.ma2b svg{height:24cqw}.ma2b td{padding:.6cqw .4cqw}
.gt-k{display:grid;grid-template-columns:1fr auto 1fr auto 1fr;align-items:center;background:#f4f6f8;border-bottom:1px solid #e3e8ea;padding:.6cqw 0}.gt-k div{display:grid;justify-items:center}.gt-k b{font-size:1.5cqw;color:var(--cyan-deep);font-weight:600}.gt-k span{font-weight:600;font-size:.85cqw}.gt-k em{font-style:normal;font-size:2.4cqw;color:#5d6a6e}
.gt .nv.o{background:var(--cyan)}.gt table{font-size:.9cqw}.gt td{padding:.65cqw .5cqw!important}.gt td:nth-child(7),.gt th:nth-child(7){text-align:right}.gt td:nth-child(5),.gt th:nth-child(5){text-align:left}
.gt .tk{font-style:normal;background:#e6f4f8;color:#1c6f86;border-radius:.2cqw;padding:0 .3cqw;font-size:.65cqw}.gt .an{background:#fbe0d0;border-radius:999px;padding:0 .45cqw;font-size:.72cqw}
.gt .gs{border-radius:999px;padding:0 .5cqw;font-size:.72cqw;font-weight:600;color:#fff}.gt .gs.env{background:#4ab3cf}.gt .gs.val{background:#f0a73a;color:#3d2a00}.gt .gs.apr{background:#2b9ab3}.gt .gs.pag{background:#3f9f4a}
.mk.gt{grid-template-rows:auto auto 1fr}.gt table{align-self:start}
.gt td{padding:.8cqw .5cqw!important}
/* motor: plantillas */
.tpls{grid-template-rows:auto 1fr;background:#eef2f5;aspect-ratio:1400/640}
.tpls-h{display:flex;align-items:baseline;gap:1cqw;padding:1cqw 1.6cqw .4cqw}.tpls-h b{font-size:1.4cqw}.tpls-h span{color:#5d6a6e;font-size:.95cqw}
.tpls-g{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4cqw;padding:.6cqw 1.6cqw 1.4cqw;min-height:0}
.mtp{background:#fff;border-radius:.8cqw;overflow:hidden;box-shadow:0 4px 14px rgba(20,38,43,.12);display:grid;grid-template-rows:auto auto 1fr auto;font-size:.78cqw;min-height:0}
.mtp-h{display:flex;justify-content:space-between;align-items:center;background:var(--c);color:var(--f);padding:.6cqw .8cqw}.mtp-h b{font-size:1.1cqw}.mtp-h span{font-size:.62cqw;opacity:.85;font-family:Inter,sans-serif}
.mtp-s{display:flex;gap:.3cqw;padding:.5cqw .8cqw;border-bottom:1px solid #eef1f3;font-family:Inter,sans-serif}.mtp-s span{flex:1;border:1px solid #dfe5e8;border-radius:.3cqw;padding:.2cqw .4cqw;font-size:.66cqw}.mtp-s i{font-style:normal;background:var(--c);color:var(--f);border-radius:.3cqw;padding:.2cqw .6cqw;font-size:.66cqw}
.mtp-b{padding:.6cqw .8cqw;display:grid;gap:.5cqw;align-content:start;min-height:0}.mtp-b.grid{grid-template-columns:repeat(3,1fr)}
.mth{border:1px solid #eef1f3;border-radius:.4cqw;overflow:hidden}.mth .mft{display:block}.mth b{font-size:.8cqw}.mth small{color:#8a979b;font-size:.6cqw;font-family:Inter,sans-serif}.mth em{font-style:normal;font-weight:600;color:var(--c)}
.mth i{font-style:normal;background:var(--c);color:var(--f);border-radius:.25cqw;text-align:center;font-size:.6cqw;padding:.15cqw 0;font-family:Inter,sans-serif}
.mth.g{display:grid;gap:.15cqw;padding-bottom:.3cqw}.mth.g .mft{height:5cqw}.mth.g>*:not(.mft){margin:0 .3cqw}
.mth.l{display:grid;grid-template-columns:4cqw 1fr auto auto;gap:.5cqw;align-items:center;padding-right:.4cqw}.mth.l .mft{height:3.2cqw}.mth.l span{display:grid}.mth.l i{padding:.15cqw .4cqw}
.mth.c{display:grid;grid-template-columns:5cqw 1fr auto;gap:.5cqw;align-items:center;padding-right:.4cqw}.mth.c .mft{height:4.2cqw}.mth.c span{display:grid}.mth.c .rt{grid-template-columns:auto auto;gap:0 .4cqw;align-items:center;font-family:Inter,sans-serif}
.mtp-n{margin:0;text-align:center;padding:.4cqw;background:#f7f9fa;font-weight:600;font-family:Inter,sans-serif;font-size:.85cqw;border-top:1px solid #eef1f3}
.tpls{aspect-ratio:1400/700}.mth.g .mft{height:4cqw}
/* portal del huésped (colores del hotel) */
.pg{--pg:#2f6a88;--pgd:#21485e;background:#eef1f4;display:block;position:relative;font-size:1cqw}
.pg svg{width:1.2em;height:1.2em;flex:none;vertical-align:-.2em}.pg .fl,.pgm .fl,.pgl .fl{width:1.5em;height:1em;border-radius:2px;box-shadow:0 0 0 .5px rgba(0,0,0,.15)}
.pg-cab{background:linear-gradient(120deg,var(--pg),var(--pgd));color:#fff;padding:1.4cqw 2.4cqw 3.6cqw}
.pg-hd{display:flex;align-items:center;gap:1cqw}.pg-hd b{font-size:1.9cqw}
.pg-logo{display:grid;place-items:center;width:3.4cqw;height:3.4cqw;border-radius:.8cqw;background:rgba(255,255,255,.14);box-shadow:inset 0 0 0 1px rgba(255,255,255,.25)}.pg-logo svg{width:65%;height:65%}
.pg-lang{margin-left:auto;display:flex;align-items:center;gap:.6em;border:1px solid rgba(255,255,255,.35);border-radius:.6cqw;padding:.5cqw 1cqw;background:rgba(255,255,255,.08)}
.pg-res{display:flex;flex-wrap:wrap;gap:.4cqw 2cqw;margin-top:1.1cqw;font-size:1.15cqw;color:#dbe8ee}.pg-res b{color:#fff}
.pg-tabs{display:flex;gap:.4cqw;background:#fff;border-radius:1cqw;margin:-2.4cqw 2.4cqw 0;padding:.5cqw;box-shadow:0 .3cqw 1.2cqw rgba(20,38,43,.1);position:relative}
.pg-tabs i{font-style:normal;font-weight:600;display:flex;align-items:center;gap:.4em;padding:.6cqw 1.2cqw;border-radius:.7cqw;color:#374245;font-size:1.1cqw}
.pg-tabs i.on{background:var(--pg);color:#fff}.pg-tabs i.off{color:#a6b0b4}.pg .lk{width:.9em;height:.9em;color:#b7a06a}
.pg-body{display:grid;grid-template-columns:1.25fr 1fr;gap:1.4cqw;padding:1.4cqw 2.4cqw}.pg-col{display:grid;gap:1.4cqw;align-content:start}
.pg-card{background:#fff;border-radius:1.2cqw;padding:1.4cqw 1.6cqw;display:grid;gap:.6cqw;align-content:start;box-shadow:0 .1cqw .5cqw rgba(20,38,43,.06)}
.pg-card :is(h4,.xh4){margin:0;font:500 1.45cqw/1.2 var(--body);color:#1f2a2e}.pg-card p{margin:0;color:#5d6a6e}.pg-card>small{color:#8a979b}
.pg-chips{display:flex;gap:.5cqw}.pg-chips span{background:#fbefd9;color:#a5701b;font-weight:600;border-radius:99px;padding:.3cqw 1cqw}.pg-chips span.ok{background:#dcefe2;color:#2e7a4a}
.pg-bar{height:.55cqw;border-radius:99px;background:#e3e7ec;overflow:hidden}.pg-bar u{display:block;height:100%;background:var(--pg)}.pg-bar.g u{background:#3f8f5a}
.pg-btn{background:var(--pg);color:#fff;font-weight:600;text-align:center;border-radius:.8cqw;padding:.9cqw;margin-top:.4cqw}
.pg-btn2{background:#eaf3f6;color:var(--pg);font-weight:600;text-align:center;border-radius:.8cqw;padding:.8cqw}
.pg-li{display:flex;gap:1cqw;align-items:center;padding:.5cqw 0;border-bottom:1px solid #edf0f2}.pg-li:last-child{border:0}
.pg-li div,.pg-sv div{display:grid}.pg-li b{font-size:1.15cqw}.pg-li small,.pg-sv small{color:#8a979b}
.pg .ic{display:grid;place-items:center;width:2.8cqw;height:2.8cqw;border-radius:.7cqw;background:#eef5f8;color:var(--pg)}
.pg-sv{display:flex;gap:1cqw;align-items:center;border:1px solid #e6eaed;border-radius:1cqw;padding:.8cqw 1cqw;color:#9aa5a9}.pg-sv b{display:flex;align-items:center;gap:.3em}.pg-sv .ic{color:#9aa5a9}
/* pre check-in */
.pg-pc{display:grid;gap:.7cqw;align-content:start;background:#fff;border-radius:1.2cqw;margin:-2.4cqw 2.4cqw 0;padding:1.4cqw 1.8cqw;position:relative;box-shadow:0 .3cqw 1.2cqw rgba(20,38,43,.08)}
.pg-ph{display:grid;gap:.4cqw}.pg-ph :is(h4,.xh4){margin:0;font:500 1.6cqw var(--body)}.pg-ph small{color:#8a979b}
.pg-g{border:1px solid #e3e7ec;border-radius:1cqw;overflow:hidden}.pg-g.on{border-color:#3b6fd0;box-shadow:inset 0 0 0 1px #3b6fd0}
.pg-gh{display:flex;align-items:center;gap:1cqw;padding:.8cqw 1.2cqw}.pg-gh div{display:grid}.pg-gh small{color:#8a979b}.pg-gh i{font-style:normal;color:#5d6a6e;font-size:.8em}
.pg-gh .av{display:grid;place-items:center;width:2.8cqw;height:2.8cqw;border-radius:50%;background:#e9f1f5;color:var(--pg);font-weight:600}
.pg-gh em{margin-left:auto;font-style:normal;font-weight:600;border-radius:99px;padding:.2cqw .9cqw}.pg-gh em.w{background:#fbefd9;color:#a5701b}.pg-gh em.k{background:#dcefe2;color:#2e7a4a}
.pg-scan{display:flex;justify-content:center;align-items:center;gap:.5em;margin:0 1.2cqw;background:#eaf3f6;color:var(--pg);font-weight:600;border-radius:.8cqw;padding:.8cqw}
.pg-sec{color:#5d6a6e;font-size:1.15cqw;margin:.6cqw 1.2cqw 0}.pg-g>.pg-sec:first-of-type{margin-top:.8cqw}
.pg-f{display:grid;gap:.6cqw 1.6cqw;padding:0 1.2cqw .6cqw}.pg-f.c2{grid-template-columns:1fr 1fr}.pg-f.c3{grid-template-columns:repeat(3,1fr)}
.pg-f label{display:grid;gap:.15cqw;padding:.3cqw .5cqw;border-bottom:1px solid #e6eaed}.pg-f small{color:#7b878b}.pg-f span{color:#1f2a2e;display:flex;align-items:center;gap:.4em;min-height:1.25em;white-space:nowrap}
.pg-f label.vac{border-bottom-color:#d9a54b}.pg-f label.bx{border:1px solid #dfe4e8;border-radius:.7cqw;padding:.6cqw .8cqw}.pg-f label.bx span{justify-content:space-between}
.pg .pre{font-style:normal;display:inline-flex;align-items:center;gap:.3em;background:var(--pg);color:#fff;border-radius:.4cqw;padding:0 .5em;font-weight:600}
.pgd .pg-g.on{max-height:none}
/* firma */
.pgf .pg-dim{filter:blur(.08cqw);opacity:.55}.pgf .pg-dim>small{color:#8a979b;padding:0 1.2cqw}
.pg-sig0{margin:0 1.2cqw;border:1px dashed #cfd6db;border-radius:.8cqw;padding:1.2cqw;text-align:center;color:#8a979b}
.pg-ck{display:flex;align-items:center;gap:.6em;padding:0 1.2cqw}.pg-ck i{width:1.1em;height:1.1em;border:1px solid #9aa5a9;border-radius:.2em}.pg-ck i.on{background:var(--pg);border-color:var(--pg)}
.pgf::after{content:"";position:absolute;inset:0;background:rgba(40,48,56,.35)}
.pg-modal{position:absolute;z-index:2;left:50%;top:52%;transform:translate(-50%,-50%);width:46%;background:#fff;border-radius:1.6cqw;padding:2cqw 2.2cqw;display:grid;gap:1cqw;box-shadow:0 1.5cqw 4cqw rgba(0,0,0,.25)}
.pg-modal :is(h3,.xh3){margin:0;font:500 2.6cqw/1.1 var(--body);color:#1f2a2e}.pg-modal p{margin:0;font-size:1.2cqw;color:#374245}
.pg-pad{border:1px dashed #d9dde8;border-radius:1cqw;background:#fbfbfc;height:9cqw;display:grid;place-items:center}.pg-pad svg{width:80%;height:auto}
.pg-trazo{stroke-dasharray:900;stroke-dashoffset:900;animation:pgfirma 2.6s .6s ease-out forwards}
@keyframes pgfirma{to{stroke-dashoffset:0}}@media (prefers-reduced-motion:reduce){.pg-trazo{animation:none;stroke-dashoffset:0}}
.pg-acts{display:grid;grid-template-columns:1fr 1fr;gap:1cqw}.pg-acts span{background:#eaf3f6;color:var(--pg);font-weight:600;text-align:center;border-radius:.8cqw;padding:1cqw;font-size:1.2cqw}.pg-acts .go{background:var(--pg);color:#fff}
/* horas y comentarios */
.pg-two{display:grid;grid-template-columns:1fr 1fr;gap:1.4cqw;margin:-2.4cqw 2.4cqw 0;position:relative}.pgh .pg-card{gap:.9cqw}.pgh .pg-f{padding:0}
.pg-ta{border:1px solid #dfe4e8;border-radius:.8cqw;padding:.8cqw 1cqw;min-height:5.2cqw;color:#1f2a2e}
.pg-ok{color:#2e7a4a;font-weight:600}
/* en el móvil */
.pgm{padding:0;gap:0;background:#eef1f4;font-size:clamp(6.5px,.62vw,9px);--pg:#2f6a88;--pgd:#21485e;align-content:start}
.pgm .pg-cab{padding:8px 8px 18px}.pgm .pg-hd{gap:6px}.pgm .pg-hd b{font-size:1.4em}.pgm .pg-logo{width:22px;height:22px;border-radius:6px}.pgm .pg-lang{padding:2px 5px;border-radius:5px;font-size:.9em}
.pgm .pg-pc{margin:-12px 6px 0;padding:8px;border-radius:9px;gap:5px}.pgm .pg-ph :is(h4,.xh4){font-size:1.3em}.pgm .pg-ph{gap:3px}
.pgm .pg-bar{height:4px}.pgm .pg-g{border-radius:7px}.pgm .pg-gh{padding:5px 6px;gap:6px}.pgm .pg-gh .av{width:20px;height:20px}.pgm .pg-gh em{padding:1px 6px}
.pgm .pg-scan{margin:0 6px;padding:5px;border-radius:6px}.pgm .pg-sec{margin:5px 6px 0;font-size:1em}.pgm .pg-f{padding:0 6px 3px;gap:4px 8px}.pgm .pg-f.c3{grid-template-columns:1fr 1fr}
.pgm .pg-f label{padding:2px 3px}.pgm .pg-f span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pgm .pre{border-radius:3px}
.pgm svg{width:1.2em;height:1.2em}
.pgl{background:#eef4f6;justify-items:center;align-content:center;text-align:center;gap:4px;font-size:clamp(7px,.7vw,10px)}
.pgl>b{font-size:1.6em}.pgl>small{color:#5d6a6e}.pgl .pg-logo{width:30px;height:30px;border-radius:8px;background:#2f6a88;display:grid;place-items:center}.pgl .pg-logo svg{width:65%;height:65%}
.pgl-l{display:grid;gap:5px;width:100%;margin-top:6px}.pgl-l span{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid #e3e7ec;border-radius:8px;padding:7px 10px;font-weight:600;text-align:left}
.pgl-l span.on{border-color:#2f6a88;box-shadow:inset 0 0 0 1px #2f6a88}
/* reserva en el PMS: estado del pre check-in */
.pgp{display:block;background:#fff;font-size:1cqw}.pgp svg{width:1.2em;height:1.2em;vertical-align:-.25em;margin-right:.3em}
.pgp-top{display:flex;align-items:center;gap:1.4cqw;padding:1.2cqw 2cqw;border-bottom:1px solid #e3e8ea}.pgp-top b{font-size:1.6cqw}.pgp-top span{color:#5d6a6e}
.pgp-top em{margin-left:auto;font-style:normal;background:#dcefe2;color:#2e7a4a;font-weight:600;border-radius:99px;padding:.3cqw 1cqw}
.pgp-tabs{display:flex;gap:.2cqw;padding:1cqw 2cqw 0;border-bottom:1px solid #dfe4e8}.pgp-tabs i{font-style:normal;color:#0a8fa8;padding:.6cqw 1.1cqw}.pgp-tabs i.on{color:#1f2a2e;border:1px solid #dfe4e8;border-bottom-color:#fff;border-top:2px solid #00b4d5;border-radius:.3cqw .3cqw 0 0;margin-bottom:-1px;background:#fff}
.pgp-st{display:grid;grid-template-columns:1.2fr 1fr auto;align-items:center;gap:2cqw;padding:1.4cqw 2cqw}.pgp-st>div{display:flex;align-items:center;gap:1cqw}.pgp-st span{font-weight:600}
.pgp-st .pg-bar{width:12cqw;height:.7cqw;border-radius:99px;background:#e3e7ec;overflow:hidden}.pgp-st .pg-bar u{display:block;height:100%;background:#3f8f5a}
.pgp em{font-style:normal;font-weight:600;border-radius:99px;padding:.25cqw .9cqw;white-space:nowrap}.pgp em.w{background:#fbefd9;color:#a5701b}.pgp em.k{background:#dcefe2;color:#2e7a4a}
.pgp-bt{display:flex;gap:.6cqw}.pgp-bt i{font-style:normal;background:#e9ecef;border-radius:.4cqw;padding:.6cqw 1cqw;color:#374245}
.pgp table{width:calc(100% - 4cqw);margin:0 2cqw;border-collapse:collapse}.pgp th{text-align:left;font-weight:600;padding:.7cqw .5cqw;border-bottom:1px solid #d6dde0;white-space:nowrap}
.pgp td{padding:.9cqw .5cqw;border-bottom:1px solid #e9edef;white-space:nowrap}.pgp td.h{color:#a5701b;font-weight:600}
.pgp td.acc{display:flex;gap:1cqw}.pgp .a{color:#0a8fa8}
.pgp .ck{display:inline-block;width:1.3em;height:1.3em;border:1px solid #c9d1d5;border-radius:.25em}.pgp .ck.ok{background:#3f8f5a;border-color:#3f8f5a;box-shadow:inset 0 0 0 .25em #3f8f5a}
.pgp .ck.ok::after{content:"";display:block;width:.35em;height:.65em;margin:.15em auto 0;border:solid #fff;border-width:0 .15em .15em 0;transform:rotate(45deg)}
.pgp-add{padding:1cqw 2.5cqw;color:#0a8fa8}
/* PMS: lista de reservas */
.pmr{display:block;background:#fff;font-size:1.05cqw}
.pmr-top{display:flex;align-items:center;gap:2cqw;padding:1.2cqw 2cqw;border-bottom:1px solid #e3e8ea}.pmr-top b{font-size:1.5cqw;font-weight:500}.pmr-top small{margin-left:auto;color:#5d6a6e}
.pmr .q{flex:0 1 45%;display:flex;gap:.5cqw;align-items:center;border:1px solid #dfe4e8;border-radius:.4cqw;padding:.4cqw .6cqw;color:#9aa5a9}.pmr .q u{text-decoration:none;background:#e7f6f9;color:#0a6f83;border-radius:.3cqw;padding:.1cqw .6cqw}
.pmr table{width:100%;border-collapse:collapse}.pmr th{text-align:left;font-weight:600;padding:.9cqw .6cqw;background:#f7f9fa;border-bottom:1px solid #dfe4e8;white-space:nowrap}
.pmr td{padding:1cqw .6cqw;border-bottom:1px solid #edf0f2;white-space:nowrap}.pmr td.n{text-align:right}.pmr th:first-child,.pmr td:first-child{padding-left:2cqw}
.pmr .cb{display:inline-block;width:1.1em;height:1.1em;border:1px solid #c9d1d5;border-radius:.25em;margin-right:.7em;vertical-align:-.2em}
.pmr i.ch{display:inline-grid;place-items:center;width:1.5em;height:1.5em;border-radius:50%;font:600 .7em/1 var(--body);font-style:normal;margin-right:.4em;vertical-align:-.1em;box-shadow:0 0 0 1px #e3e8ea}
.pmr i.ch.bk{background:#003580;color:#fff}.pmr i.ch.ex{background:#191e3b;color:#ffc72c}.pmr i.ch.as{background:#fff;color:#0a8fa8}.pmr i.ch.w2m{background:#222;color:#fff}.pmr i.ch.nt{background:#2c5f8a;color:#fff;font-size:.6em}.pmr i.ch.tui{background:#d40e14;color:#fff}
.pmr em{font-style:normal;font-weight:600;font-size:.9em;border-radius:99px;padding:.2cqw .8cqw;color:#fff}
.pmr em.r{background:#e2443c}.pmr em.k{background:#3f8f5a}.pmr em.w{background:#f0a430;color:#3b2a06}.pmr em.g{background:#e9ecef;color:#374245}.pmr em.p{background:#3fa6c0}.pmr em.f{background:#e9ecef;color:#5d6a6e}
/* pre check-in: OCR propio */
.pgd-g{display:grid;grid-template-columns:.8fr 1.4fr;gap:1.4cqw;align-items:start}
.pg-doc{display:grid;gap:.8cqw}.pg-pas{position:relative;overflow:hidden;background:linear-gradient(135deg,#f3eee4,#e6eef0);border-radius:.8cqw;padding:1.2cqw;display:grid;grid-template-columns:7cqw 1fr;gap:1cqw;box-shadow:inset 0 0 0 1px #d8d2c4}
.pg-pas .ft{background:linear-gradient(#c9d3d8,#aab8bf);border-radius:.4cqw;height:9cqw;position:relative}.pg-pas .ft::before{content:"";position:absolute;left:50%;top:22%;width:2.8cqw;height:2.8cqw;margin-left:-1.4cqw;border-radius:50%;background:#8e9ea6}.pg-pas .ft::after{content:"";position:absolute;left:18%;right:18%;bottom:0;height:3.2cqw;border-radius:2cqw 2cqw 0 0;background:#8e9ea6}
.pg-pas .dt{display:grid;font-size:.95cqw}.pg-pas .dt small{color:#7b878b;font-size:.75cqw}.pg-pas .dt b{font-weight:600;letter-spacing:.03em;background:rgba(0,180,213,.16);box-shadow:inset 0 0 0 1px rgba(0,180,213,.6);border-radius:.2cqw;padding:0 .3cqw;justify-self:start;margin-bottom:.15cqw}
.pg-pas code{grid-column:1/-1;font:600 .82cqw/1.35 var(--body);font-variant-numeric:tabular-nums;letter-spacing:.06em;color:#374245;white-space:nowrap;overflow:hidden}
.pg-pas .sc{position:absolute;left:0;right:0;height:.25cqw;background:#00b4d5;box-shadow:0 0 1cqw .3cqw rgba(0,180,213,.55);animation:pgscan 2.8s ease-in-out infinite alternate}
@keyframes pgscan{from{top:4%}to{top:94%}}@media (prefers-reduced-motion:reduce){.pg-pas .sc{animation:none;top:50%}}
.pg-ocr{display:grid;grid-template-columns:auto 1fr;align-items:center;gap:0 .8cqw;background:#e7f6f9;color:#0a6f83;border-radius:.8cqw;padding:.8cqw 1cqw}.pg-ocr svg{grid-row:span 2;width:2cqw;height:2cqw}.pg-ocr span{color:#5d6a6e}
.pg em.ocr,.pgm em.ocr{font-style:normal;font-size:.75em;font-weight:600;color:#0a6f83;background:#e7f6f9;border-radius:.3em;padding:0 .35em;margin-left:.3em}
.pg-f label.r{background:#f4fbfc;border-bottom-color:#00b4d5}
.pg-scan.ok{background:#e3f3e8;color:#2e7a4a}
.pgm{font-size:clamp(5.5px,.5vw,7.5px)}.pgm .pg-gh em{white-space:nowrap}.pgm .pg-gh b{white-space:nowrap}
.mk.pgh{aspect-ratio:1400/470}
/* compras: pedido y catálogo del proveedor */
.pco,.pcc{display:block;background:#fff;font-size:1cqw}.pco svg{width:1.6cqw;height:1.6cqw;color:#0a8fa8}
.pco-top{display:flex;align-items:center;gap:1.2cqw;padding:.8cqw 1.6cqw;border-bottom:1px solid #e3e8ea}.pco-top>span{display:grid}.pco-top>span small{color:#0a8fa8}.pco-top>span b{font-weight:500}
.pco-top .nv,.pco-top .bk{font-style:normal;border:1px solid #00b4d5;color:#0a6f83;border-radius:.3cqw;padding:.35cqw .7cqw}.pco-top .bk{border-color:#dfe4e8;background:#e9ecef;color:#374245}
.pco-top .sb{display:flex;margin:0 auto}.pco-top .sb i{font-style:normal;display:flex;align-items:center;gap:.5cqw;border:1px solid #dfe4e8;padding:.3cqw .9cqw}.pco-top .sb i span{display:grid;line-height:1.1}.pco-top .sb b{color:#0a8fa8}
.pco-top .pg{color:#5d6a6e;white-space:nowrap}.pcc .pco-top .pg{margin-left:auto}
.pco-ac{display:flex;align-items:center;gap:.5cqw;padding:.7cqw 1.6cqw}.pco-ac>i{font-style:normal;background:#e9ecef;border-radius:.3cqw;padding:.45cqw .8cqw;color:#374245}
.pco-st{margin-left:auto;display:flex}.pco-st u{text-decoration:none;color:#8a979b;background:#f1f3f5;padding:.45cqw 1.3cqw .45cqw 1.6cqw;clip-path:polygon(0 0,calc(100% - .7cqw) 0,100% 50%,calc(100% - .7cqw) 100%,0 100%,.7cqw 50%)}.pco-st u.on{background:#d9f1f6;color:#0a4e5c;font-weight:600}
.pco-f{display:grid;grid-template-columns:1fr 1fr;gap:.4cqw 3cqw;padding:.6cqw 2cqw}.pco-f small{color:#374245}.pco-f :is(h3,.xh3){margin:0;font:500 2.1cqw var(--body)}
.pco-f dl{display:grid;grid-template-columns:auto 1fr;gap:.55cqw 1.4cqw;margin:0}.pco-f dt{font-weight:600;color:#374245}.pco-f dd{margin:0}.pco-f .lk{color:#0a8fa8}
.pco-f .sw{display:inline-block;width:2.2em;height:1.1em;border-radius:99px;background:#3f9f4a;position:relative;vertical-align:-.2em}.pco-f .sw::after{content:"";position:absolute;right:.15em;top:.15em;width:.8em;height:.8em;border-radius:50%;background:#fff}
.pco-f .an,.pco .tx{font-style:normal;background:#eef0f2;border-radius:99px;padding:.1cqw .7cqw;font-size:.9em}
.pco-tabs{display:flex;gap:.3cqw;padding:.6cqw 2cqw 0;border-bottom:1px solid #dfe4e8}.pco-tabs i{font-style:normal;padding:.5cqw 1cqw;color:#0a8fa8}.pco-tabs i.on{color:#1f2a2e;border:1px solid #dfe4e8;border-bottom-color:#fff;margin-bottom:-1px;border-radius:.3cqw .3cqw 0 0}
.pco table{width:calc(100% - 4cqw);margin:0 2cqw;border-collapse:collapse}.pco th{text-align:left;padding:.6cqw .5cqw;border-bottom:1px solid #d6dde0;font-weight:600}.pco td{padding:.55cqw .5cqw;border-bottom:1px solid #edf0f2;white-space:nowrap}
.pco .n{text-align:right}.pco td.p{color:#0a8fa8}.pco td.pa{color:#c0711b;font-weight:600}.pco td em{font-style:normal;font-size:.8em;font-weight:600;color:#2e7a4a;background:#dcefe2;border-radius:99px;padding:0 .5em}
.pco-tot{display:flex;justify-content:space-between;align-items:start;padding:.8cqw 2cqw}.pco-tot .add{color:#0a8fa8}.pco-tot dl{display:grid;grid-template-columns:auto auto;gap:.2cqw 1.6cqw;margin:0;text-align:right}.pco-tot dd{margin:0;font-weight:600}.pco-tot .t{font-size:1.4cqw;font-weight:600}.pco-tot dt:last-of-type,.pco-tot dd:last-of-type{color:#2e7a4a;font-weight:500}
.pcc .q{flex:0 1 46%;display:flex;align-items:center;gap:.6cqw;border:1px solid #dfe4e8;border-radius:.4cqw;padding:.35cqw .6cqw;margin:0 auto}.pcc .q u{text-decoration:none;background:#2fa3bd;color:#fff;border-radius:.3cqw;padding:.1cqw .6cqw}.pcc .q em{font-style:normal;color:#9aa5a9;margin-left:auto}
.pcc-b{display:grid;grid-template-columns:13cqw 1fr}.pcc-side{display:grid;align-content:start;gap:.2cqw;padding:1.2cqw;border-right:1px solid #e3e8ea}.pcc-side small{font-weight:600;text-transform:uppercase;letter-spacing:.04em;margin-bottom:.5cqw}
.pcc-side i{font-style:normal;padding:.35cqw .8cqw;border-radius:.3cqw}.pcc-side i.on{background:#d9f1f6}
.pcc-g{display:grid;grid-template-columns:repeat(3,1fr);gap:1cqw;padding:1.2cqw;background:#f7f9fa}
.cc{background:#fff;border:1px solid #e3e8ea;border-radius:.4cqw;padding:1cqw 1.2cqw;display:grid;gap:.25cqw}.cc b{font-size:1.2cqw;font-weight:600}.cc small{color:#5d6a6e}.cc.on{background:#d9f1f6;border-color:#7cc9da}
.cc .qt{display:flex;align-items:center;justify-content:flex-end;gap:0;margin-top:.4cqw}.cc .qt i{font-style:normal;background:#4ab3cc;color:#fff;width:2.2cqw;text-align:center;padding:.3cqw 0;border-radius:.2cqw}
.cc .qt u{text-decoration:none;background:#fff;width:5cqw;text-align:center;padding:.3cqw 0}.cc .qt em{font-style:normal;background:#e9ecef;border-radius:.3cqw;padding:.3cqw .8cqw;margin-left:auto}.cc.on .qt em{background:#fff}
.pco-ac>i.go{background:#2fa3bd;color:#fff}
.pco-f .co{color:#2e7a4a;font-weight:600}
/* economato: app de inventario */
.ivm{padding:0;gap:0;background:#f3f4f5;font-size:clamp(6.5px,.6vw,8.5px);grid-template-rows:auto;position:relative}
.iv-h{display:flex;align-items:center;gap:.8em;background:#00b4d5;color:var(--on-cyan);padding:1em 1.1em}.iv-h i{font-style:normal;background:rgba(255,255,255,.25);border-radius:.4em;width:2.2em;height:2.2em;display:grid;place-items:center;font-size:1.1em}
.iv-h div{display:grid}.iv-h b{font-size:1.25em;line-height:1.15}.iv-h small{opacity:.9}
.iv-n{text-align:right;color:#5d6a6e;background:#fff;padding:.5em 1.1em;border-top:.3em solid #3f8f5a}
.iv-ug{display:grid;grid-template-columns:repeat(var(--c),1fr);gap:.8em;padding:.9em}
.iv-u{background:#fff;border:1px solid #e3e7ec;border-radius:.8em;padding:1em;display:grid;gap:.35em}.iv-u b{font-size:1.15em}.iv-u small{color:#8a979b}.iv-u span{color:#5d6a6e;display:flex;align-items:center;gap:.3em}
.iv-u svg{width:1.2em;height:1.2em;color:#3f8f5a}.iv-u.on{border-color:#00b4d5;box-shadow:inset 0 0 0 1px #00b4d5}.iv-u .pg-bar{height:.4em;border-radius:99px;background:#e3e7ec;overflow:hidden}.iv-u .pg-bar u{display:block;height:100%;background:#3f8f5a}
.iv-b{display:flex;align-items:center;gap:.7em;background:#fff;padding:.8em;margin-top:auto;border-top:1px solid #e3e7ec}.iv-b span{border-radius:.5em;padding:.8em 1.2em;font-weight:600;background:#eceff1}.iv-b .go{flex:1;text-align:center;background:#00b4d5;color:var(--on-cyan)}.iv-b .mm{background:#fdf0e3;color:#c45a12;box-shadow:inset 0 0 0 1px #f5c79a}
.iv-b small{flex:1;color:#5d6a6e}
.iv-q{margin:.8em;background:#eceff1;border-radius:.5em;padding:.7em .9em;color:#8a979b}.iv-f{display:flex;gap:.4em;padding:0 .8em .6em;flex-wrap:wrap}.iv-f i{font-style:normal;border:1px solid #d6dbe0;border-radius:99px;padding:.25em .8em;background:#fff}.iv-f i.on{border-color:#00b4d5;color:#0a6f83;background:#e7f6f9}
.iv-c{background:#e9edf0;color:#4b5a5f;font-weight:600;text-transform:uppercase;letter-spacing:.04em;font-size:.85em;padding:.5em 1.1em}
.iv-p{display:flex;align-items:center;gap:.6em;background:#fff;padding:.7em 1.1em;border-bottom:1px solid #eef0f2}.iv-p div{display:grid;flex:1;min-width:0}.iv-p b{font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.iv-p small{color:#8a979b}
.iv-p em{font-style:normal;font-weight:600;font-size:1.25em;color:#aab3b7}.iv-p em.ok{color:#3f8f5a}.iv-p em.dif{color:#d07a14}.iv-p i{font-style:normal;color:#aab3b7}.iv-p.sel{background:#e7f6f9}
.iv-t{position:absolute;left:50%;bottom:4.2em;transform:translateX(-50%);background:#2e7a4a;color:#fff;font-weight:600;border-radius:99px;padding:.5em 1.1em;display:flex;align-items:center;gap:.4em;white-space:nowrap}.iv-t svg{width:1.1em;height:1.1em}
.ivk .iv-dim{filter:brightness(.6)}.ivk .iv-k{position:absolute;left:0;right:0;bottom:0;border-radius:1.2em 1.2em 0 0}
.iv-k{background:#fff;padding:1.1em;display:grid;gap:.6em}.iv-k>small{color:#8a979b;margin-top:-.5em}
.iv-d{background:#f0f2f4;border-radius:.6em;padding:.5em .9em;text-align:right;font-size:1.9em;font-weight:500;display:grid}.iv-d small{font-size:.45em;color:#8a979b}
.iv-kg{display:grid;grid-template-columns:repeat(4,1fr);gap:.4em}.iv-kg i{font-style:normal;text-align:center;background:#eceff1;border-radius:.4em;padding:.6em 0;font-size:1.2em;font-weight:500}.iv-kg i.op{background:#ddf3f8;color:#0a8fa8}.iv-kg i.op.on{background:#00b4d5;color:var(--on-cyan)}.iv-kg i.del{background:#fde4e2;color:#d23a33}
.iv-ka{display:grid;grid-template-columns:1fr 2fr;gap:.5em}.iv-ka span{text-align:center;background:#eceff1;border-radius:.5em;padding:.8em;font-weight:600}.iv-ka .go{background:#00b4d5;color:var(--on-cyan)}
.mk.ivt{display:grid;grid-template-columns:1fr 1.25fr 1fr;grid-template-rows:none;gap:1px;background:#d6dbe0;font-size:1.05cqw}
.ivt .iv-col{background:#f3f4f5;display:flex;flex-direction:column;position:relative;overflow:hidden}.ivt .iv-col.k{justify-content:center;background:#e9edf0;padding:1.4cqw}.ivt .iv-k{border-radius:1cqw;box-shadow:0 .4cqw 1.6cqw rgba(20,38,43,.12)}
.ivt .iv-t{bottom:1.5em}
.iv-t.st{position:static;transform:none;justify-self:center;margin:.8em auto}
.ivt .iv-ug{gap:.6cqw;padding:.8cqw}.ivt .iv-u{padding:.7cqw 1cqw;gap:.2cqw}.ivt .iv-b{padding:.6cqw}
.ivm .iv-ug{gap:.5em;padding:.7em}.ivm .iv-u{padding:.7em .9em;gap:.25em}
/* encuestas */
.enc-h{padding:.6cqw 2cqw;display:grid;gap:.6cqw}.enc-h :is(h3,.xh3){margin:0;font:500 2cqw/1.2 var(--body)}.enc-t{display:flex;gap:1.6cqw;color:#374245}
.enc-t span{display:flex;align-items:center;gap:.4em}.enc-t i{width:1em;height:1em;border-radius:50%;border:1px solid #9aa5a9}.enc-t i.on{border:.3em solid #2fa3bd}
.enc-h dl{display:grid;grid-template-columns:auto 1fr;gap:.5cqw 1.6cqw;margin:0}.enc-h dt{font-weight:600}.enc-h dd{margin:0;display:flex;align-items:center;gap:.5em}
.enc .av{font-style:normal;display:grid;place-items:center;width:1.8em;height:1.8em;border-radius:.3em;background:#3f9f4a;color:#fff;font-size:.8em;font-weight:600}
.enc td.dr{color:#b5bdc1;width:1.5cqw;letter-spacing:0}
.mk.er{display:block;background:#fff;font-size:1cqw}.er-h{padding:1.6cqw 2.4cqw 1cqw;display:grid;gap:1cqw;border-bottom:1px solid #e3e8ea}.er-h :is(h3,.xh3){margin:0;font:600 2.2cqw/1.15 var(--body)}
.er-f{display:flex;gap:.8cqw;align-items:center}.er-f span{border:1px solid #c9d1d5;border-radius:.4cqw;padding:.5cqw 1cqw}.er-f i{margin-left:auto;background:#253341;color:#fff;border-radius:.4cqw;padding:.5cqw 1.1cqw;display:grid}.er-f svg{width:1.4cqw;height:1.4cqw}
.er-g{display:grid;grid-template-columns:repeat(3,1fr);gap:1.6cqw;padding:1.4cqw 2.4cqw}
.er-q{display:grid;grid-template-columns:1fr auto;gap:.5cqw;align-content:start}.er-q b{grid-column:1/-1;font-weight:500;font-size:1.2cqw;min-height:2.6em}.er-q small{color:#5d6a6e;align-self:center}.er-q strong{color:#1f2a2e}
.er-v{display:flex;gap:.3cqw}.er-v u{display:grid;place-items:center;width:2.2cqw;height:2.2cqw;border-radius:.3cqw}.er-v u.on{background:#e9ecef;box-shadow:inset 0 0 0 1px #9aa5a9}.er-v svg{width:1.3cqw;height:1.3cqw}
.er .tarta{grid-column:1/-1;justify-self:center;width:14cqw;height:14cqw;border-radius:50%;margin:.6cqw 0;box-shadow:0 0 0 .15cqw #fff inset}
.er-l{grid-column:1/-1;display:flex;justify-content:center;gap:1cqw}.er-l span{display:flex;align-items:center;gap:.3em}.er-l i{width:1.6cqw;height:.8cqw;border-radius:.15cqw}
.ivm{font-size:clamp(5.5px,.5vw,7.5px)}
/* reglas de asignación */
.ar-h,.ar-r{display:grid;grid-template-columns:2cqw 2.2fr 1fr 2fr 1.4fr;gap:1.2cqw;padding:.7cqw 2cqw;align-items:start}.ar-h{padding-top:1cqw;border-bottom:1px solid #d6dde0}.ar-h b:first-child{grid-column:2}
.ar-r{border-bottom:1px solid #e6eaed;padding:.9cqw 2cqw}.ar-r:nth-child(odd){background:#fafbfc}.ar-r .dr{font-style:normal;color:#b5bdc1;letter-spacing:0;align-self:center}
.ar-c{display:grid;gap:.4cqw;justify-items:start}.ar-c small{color:#5d6a6e}.ar-c .dom{border:1px solid #dfe4e8;border-radius:.3cqw;padding:.3cqw .7cqw;background:#fff}.ar-c .dom i{color:#5d6a6e}.ar-c .dom u{text-decoration:none;color:#0a8fa8;font-weight:600}
.ar-c a,.ar-k a{color:#0a8fa8}.ar-o{color:#374245}.ar-n{color:#374245}
.ar-k{display:grid;gap:.4cqw}.ar-kh{display:grid;grid-template-columns:1fr 1.3fr;gap:.6cqw;font-weight:600;border-bottom:1px solid #e3e8ea;padding-bottom:.2cqw}
.ar-cn{display:grid;grid-template-columns:1fr 1.3fr;gap:.6cqw}.ar-cn .sel{border:1px solid #dfe4e8;border-radius:.3cqw;padding:.25cqw .6cqw;background:#fff;display:flex;flex-wrap:wrap;gap:.3cqw;align-items:center;justify-content:space-between}
.ar-cn .sel.h u{text-decoration:none;background:#e9ecef;border-radius:99px;padding:0 .6em}.ar-no{color:#8a979b;font-style:normal;text-align:center}
.ar .pco-top .pg{margin-left:auto}
/* SES.Hospedajes */
.ses .pcc-b{grid-template-columns:12cqw 1fr}.ses .pcc-side small{margin-top:.8cqw}.ses .pcc-side i{font-size:.95em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ses td.lt{color:#5d6a6e;font-family:var(--body);font-variant-numeric:tabular-nums;font-size:.9em}
.pmr em.ok{background:#3f8f5a}.pmr em.sv{background:#3fa6c0}.pmr em.no,.pmr em.na{background:#e9ecef;color:#374245}.pmr em.er{background:#e2443c}
.ses-lk,.ses-av{margin:.4cqw 2cqw;background:#fdf1d8;border-radius:.4cqw;padding:.6cqw 1cqw;color:#5b4413;display:flex;align-items:center;gap:.5em}.ses-lk svg{width:1.2em;height:1.2em}
.sesp .pco-ac{justify-content:flex-end}.sesp .pco-f :is(h3,.xh3){grid-column:1/-1}
.sesp td.f{color:#c0332b;font-weight:600}.sesp tr.rj td{background:#fdecea}.sesp td.ac{display:flex;gap:1.2cqw;color:#0a8fa8}.sesp td.ac span{display:flex;align-items:center;gap:.3em}.sesp td.ac svg{width:1.2cqw;height:1.2cqw}
.sesp .pco-top .pg{margin-left:auto}
.pco-st u.on.er{background:#fde4e2;color:#a3241d}.ses-lk.er{background:#fdecea;color:#7a1e18}
/* encuesta del INE */
.pmr em.pr{background:#3f8f5a}.pmr em.av{background:#f0a430;color:#3b2a06}.pmr em.sv{background:#e9ecef;color:#374245}
.ine table{font-size:1.05cqw}
.inef .sb i.ok svg{color:#2fa3bd}.inef .sb i span b{color:#0a8fa8}.pco-ac.ib>i{background:#2fa3bd;color:#fff}
.ine-g{display:grid;grid-template-columns:1fr 1fr;gap:3cqw;padding:1cqw 2cqw}.ine-g small{display:block;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #dfe4e8;padding-bottom:.3cqw;margin-bottom:.5cqw}
.ine-g dl{display:grid;grid-template-columns:auto 1fr;gap:.5cqw 1.4cqw;margin:0}.ine-g dt{color:#5d6a6e}.ine-g dd{margin:0}
.inef .pco-f :is(h3,.xh3){grid-column:1/-1}.inef .pco-f dd.lk{display:flex;align-items:center;gap:.4em}.inef .pco-f dd.lk svg{width:1.3cqw;height:1.3cqw}
.mk.inef{aspect-ratio:1400/560}
/* spa: clic en una reserva (animado) */
.mk.sp{position:relative}
.sp-m{position:absolute;z-index:3;left:14cqw;top:5cqw;width:72cqw;background:#fff;border-radius:.8cqw;box-shadow:0 0 0 100cqw rgba(30,40,46,.35),0 1.4cqw 4cqw rgba(0,0,0,.3);font-size:1cqw;opacity:0;transform:scale(.96);animation:spm 10s infinite}
.sp-mh{display:flex;justify-content:space-between;padding:1.2cqw 1.8cqw;border-bottom:1px solid #e3e8ea}.sp-mh b{font-size:1.4cqw;font-weight:500}.sp-mh i{font-style:normal;color:#5d6a6e}
.sp-ma{display:flex;align-items:center;gap:.4cqw;padding:1cqw 1.8cqw .4cqw}.sp-ma>i,.sp-mb i{white-space:nowrap;font-style:normal;background:#e9ecef;border-radius:.3cqw;padding:.45cqw .8cqw;color:#374245}.sp-ma>i.go,.sp-mb i.go{background:#2fa3bd;color:#fff}
.sp-ma .pco-st{margin-left:auto}.sp-ma .pco-st u{padding:.45cqw 1cqw .45cqw 1.3cqw;white-space:nowrap}
.sp-ma .c1{animation:spc1 10s infinite}.sp-ma .c2{animation:spc2 10s infinite}
.sp-mf{display:grid;grid-template-columns:1fr 1fr;gap:3cqw;padding:.8cqw 1.8cqw 1.2cqw}.sp-mf dl{display:grid;grid-template-columns:auto 1fr;gap:.7cqw 1.4cqw;margin:0}.sp-mf dt{font-weight:600}.sp-mf dd{margin:0;color:#374245}
.sp-mb{display:flex;gap:.4cqw;padding:1cqw 1.8cqw;border-top:1px solid #e3e8ea}
.sp-cur{position:absolute;z-index:4;width:1.6cqw;height:2cqw;left:70cqw;top:38cqw;animation:spcur 10s infinite;filter:drop-shadow(0 .1cqw .2cqw rgba(0,0,0,.3))}
.sp-t b.tgt{animation:sptg 10s infinite}
@keyframes spcur{0%{left:70cqw;top:38cqw;transform:scale(1)}14%{left:31.5cqw;top:8.4cqw;transform:scale(1)}17%{transform:scale(.8)}19%{transform:scale(1);left:31.5cqw;top:8.4cqw}
 36%{left:31.5cqw;top:8.4cqw}48%{left:20cqw;top:11.6cqw;transform:scale(1)}51%{transform:scale(.8)}53%{transform:scale(1);left:20cqw;top:11.6cqw}86%{left:20cqw;top:11.6cqw;opacity:1}92%{opacity:0;left:20cqw;top:11.6cqw}100%{opacity:0;left:70cqw;top:38cqw}}
@keyframes spm{0%,18%{opacity:0;transform:scale(.96)}23%,86%{opacity:1;transform:scale(1)}91%,100%{opacity:0;transform:scale(.96)}}
@keyframes sptg{0%,15%{box-shadow:none}17%,90%{box-shadow:0 0 0 .25cqw #00b4d5}100%{box-shadow:none}}
@keyframes spc1{0%,52%{background:#d9f1f6;color:#0a4e5c;font-weight:600}54%,100%{background:#f1f3f5;color:#8a979b;font-weight:400}}
@keyframes spc2{0%,52%{background:#f1f3f5;color:#8a979b;font-weight:400}54%,100%{background:#d9f1f6;color:#0a4e5c;font-weight:600}}
@media (prefers-reduced-motion:reduce){.sp-m,.sp-cur,.sp-t b.tgt,.sp-ma .c1,.sp-ma .c2{animation:none}.sp-m{opacity:1;transform:none}.sp-cur{display:none}}
/* comisiones */
.cmz-nav{display:flex;align-items:center;gap:1.6cqw;background:#2fa3bd;color:#fff;padding:.8cqw 1.6cqw}.cmz-nav b{font-weight:500;font-size:1.3cqw}.cmz-nav i{font-style:normal;opacity:.85}.cmz-nav i.on{opacity:1;font-weight:600;text-decoration:underline;text-underline-offset:.4em}
.cmz-b{display:grid;grid-template-columns:22cqw 1fr}.cmz-ag{display:grid;align-content:start;gap:.7cqw;padding:1.2cqw;background:#f4f6f8;border-right:1px solid #e3e8ea}.cmz-ag>small{font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:#5d6a6e}
.cmz-c{display:flex;gap:.8cqw;align-items:center;background:#fff;border:1px solid #e3e8ea;border-radius:.4cqw;padding:.8cqw}.cmz-c.on{border-color:#00b4d5;box-shadow:inset 0 0 0 1px #00b4d5}.cmz-c div{display:grid}.cmz-c small{color:#5d6a6e}.cmz-c span{color:#0a8fa8;font-size:.9em}
.cmz-c i.ch{flex:none;display:grid;place-items:center;width:2.6cqw;height:2.6cqw;border-radius:50%;font:600 1cqw/1 var(--body);font-style:normal}
.cmz-c i.ch.bk{background:#003580;color:#fff}.cmz-c i.ch.ex{background:#191e3b;color:#ffc72c}.cmz-c i.ch.w2m{background:#222;color:#fff}.cmz-c i.ch.nt{background:#2c5f8a;color:#fff;font-size:.8cqw}
.cmz-f .pco-ac .pco-st{margin-left:auto}.cmz-f .pco-f :is(h3,.xh3){grid-column:1/-1}.cmz-s{margin:.4cqw 2cqw 0;font-weight:600;text-transform:uppercase;font-size:.9em;letter-spacing:.03em;border-bottom:1px solid #dfe4e8;padding-bottom:.3cqw}
.cmz-c small{text-transform:none;letter-spacing:0;font-weight:400;font-size:.9em}.cmz-c span{background:none;padding:0;white-space:nowrap;font-weight:500}
.ar-h,.ar-r{grid-template-columns:2cqw 2.1fr 1fr 2fr .8fr 1.3fr}.ar-e{display:grid;place-items:center}.ar-e i{width:1.3cqw;height:1.3cqw;border:1px solid #9aa5a9;border-radius:.2cqw}.ar-e i.on{background:#2fa3bd;border-color:#2fa3bd;box-shadow:inset 0 0 0 .25cqw #2fa3bd}
.ar-e i.on::after{content:"";display:block;width:.35cqw;height:.65cqw;margin:.15cqw auto 0;border:solid #fff;border-width:0 .15cqw .15cqw 0;transform:rotate(45deg)}
/* facturas: acciones y pestaña SII */
.mk.fac{position:relative}.fac-t{gap:.6cqw}.fac-t .sel{background:#d9f1f6;color:#0a4e5c;border-radius:.3cqw;padding:.35cqw .8cqw;margin-left:2cqw}.fac-t i{font-style:normal;background:#e9ecef;border-radius:.3cqw;padding:.35cqw .8cqw}.fac-t i.on{background:#fff;box-shadow:inset 0 0 0 1px #2fa3bd;color:#0a6f83}
.fac tr.sel td{background:#e7f6f9}.fac .cb.on{background:#2fa3bd;border-color:#2fa3bd}.fac td.hoy{color:#c0711b}
.pmr em.np{background:#e9ecef;color:#374245}.pmr em.rv{background:#3f8f5a}.pmr em.pa{background:#3f8f5a}
.fac-m{position:absolute;left:52%;top:5.2cqw;width:24cqw;background:#fff;border-radius:.4cqw;box-shadow:0 .6cqw 2cqw rgba(0,0,0,.18);padding:.6cqw 0;display:grid}
.fac-m i{font-style:normal;padding:.35cqw 1.2cqw;white-space:nowrap}.fac-m i.w2-hl{background:#d9f1f6;color:#0a4e5c;font-weight:600}.fac-m hr{border:0;border-top:1px solid #e3e8ea;margin:.3cqw 0}
.fsii{position:relative;overflow:hidden}.fs-rib{position:absolute;right:-5cqw;top:11cqw;transform:rotate(40deg);background:#3f9f4a;color:#fff;font-weight:600;letter-spacing:.1em;text-transform:uppercase;padding:.4cqw 6cqw}
.fsii .sb i span b{color:#0a8fa8}
.fs-g{display:grid;grid-template-columns:1fr 1fr;gap:3cqw;padding:1cqw 2cqw}.fs-g small{display:block;font-weight:600;text-transform:uppercase;border-bottom:1px solid #dfe4e8;padding-bottom:.3cqw;margin-bottom:.6cqw}
.fs-g dl{display:grid;grid-template-columns:auto 1fr;gap:.6cqw 1.4cqw;margin:0}.fs-g dt{font-weight:600}.fs-g dd{margin:0}.fs-g .bt{display:inline-block;margin-top:.8cqw;background:#e9ecef;border-radius:.3cqw;padding:.45cqw .9cqw}
.fs-g em{font-style:normal;font-weight:600;border-radius:99px;padding:.1cqw .8cqw}.fs-g em.k{background:#dcefe2;color:#2e7a4a}.fs-g .mono{font-family:var(--body);font-variant-numeric:tabular-nums}.fs-g .ck{display:inline-block;width:1.1em;height:1.1em;border:1px solid #c9d1d5;border-radius:.2em}
/* Daypass */
.dpl i.ch{display:inline-grid;place-items:center;width:1.5em;height:1.5em;border-radius:50%;font:600 .7em/1 var(--body);font-style:normal;margin-right:.4em;vertical-align:-.1em;box-shadow:0 0 0 1px #e3e8ea}
.dpl i.ch.bk{background:#003580;color:#fff}.dpl i.ch.as{background:#fff;color:#0a8fa8}.dpl i.ch.nt{background:#f0a430;color:#fff;font-size:.6em}
.pmr em.hoy{background:#00b4d5}.dpf .tg{font-style:normal;background:#d9f1f6;color:#0a4e5c;border-radius:99px;padding:.1cqw .8cqw;font-weight:600;margin-left:.6cqw;vertical-align:.3cqw}.dpf .pco-f :is(h3,.xh3){display:inline}
.dpf .pco-f dd svg{width:1.6cqw;height:1.6cqw;color:#1f2a2e}.dpf .sb i span b{color:#0a8fa8}
.dpl i.ch.vs{background:#2c5f8a;color:#fff;font-size:.6em}
/* TPV dentro del datáfono */
.aio{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:clamp(24px,5vw,64px);align-items:center}
@media (max-width:760px){.aio{grid-template-columns:1fr}.aio .df{margin:0 auto}}
.aio ul{margin:14px 0 0;padding:0;list-style:none;display:grid;gap:12px}.aio li{display:grid;grid-template-columns:28px 1fr;gap:10px;align-items:start}.aio li b{display:block}
.aio li .num{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:var(--cyan);color:var(--on-cyan,#14262b);font-weight:600}
.df{width:min(100%,300px);position:relative;padding-top:64px;font:13px/1.3 var(--body)}
.df-tk{position:absolute;left:18%;right:18%;top:0;height:92px;background:#fff;border:1px solid #e3e8ea;border-bottom:0;padding:8px 10px;display:grid;align-content:start;gap:2px;font:11px/1.3 var(--body);font-variant-numeric:tabular-nums;color:#374245;
 animation:dftk 6s ease-in-out infinite;transform-origin:bottom}
.df-tk b{font-family:var(--body);font-size:11px}
@keyframes dftk{0%,40%{transform:translateY(40px);opacity:0}55%,90%{transform:none;opacity:1}100%{transform:none;opacity:0}}
@media (prefers-reduced-motion:reduce){.df-tk{animation:none}}
.df-b{position:relative;background:linear-gradient(160deg,#2b3540,#141b22);border-radius:28px;padding:16px 14px 18px;box-shadow:0 24px 50px rgba(20,38,43,.25),inset 0 0 0 1px rgba(255,255,255,.06)}
.df-b::before{content:"";position:absolute;left:22%;right:22%;top:-6px;height:12px;border-radius:6px;background:#0e1318}
.df-s{background:#f6f8f9;border-radius:14px;padding:12px;display:grid;gap:6px;color:#1f2a2e}
.df-h{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid #e3e8ea;padding-bottom:6px}.df-h small{color:#5d6a6e}
.df-l{display:grid;grid-template-columns:22px 1fr auto;gap:6px}.df-l b{color:#0a8fa8}.df-l i{font-style:normal}
.df-t{display:flex;justify-content:space-between;border-top:1px solid #e3e8ea;padding-top:6px}.df-t b{font-size:18px}
.df-p{display:grid;justify-items:center;gap:2px;background:#00b4d5;color:#14262b;border-radius:10px;padding:10px}.df-p small{opacity:.8}
.df-p .nfc{display:grid;place-items:center;width:34px;height:34px}.df-p svg{width:30px;height:30px;animation:dfnfc 1.6s ease-in-out infinite}
@keyframes dfnfc{50%{transform:scale(1.15);opacity:.7}}@media (prefers-reduced-motion:reduce){.df-p svg{animation:none}}
.df-k{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px}.df-k i{font-style:normal;text-align:center;color:#c9d1d5;background:rgba(255,255,255,.06);border-radius:8px;padding:6px 0;font-size:12px}
.df{padding-top:0}.df-ok{position:absolute;z-index:2;left:50%;bottom:34%;transform:translateX(-50%);white-space:nowrap;background:#2e7a4a;color:#fff;font-weight:600;border-radius:99px;padding:6px 12px;font-size:12px;animation:dfok 5s ease-in-out infinite}
@keyframes dfok{0%,45%{opacity:0;transform:translate(-50%,8px)}55%,90%{opacity:1;transform:translate(-50%,0)}100%{opacity:0}}@media (prefers-reduced-motion:reduce){.df-ok{animation:none}}
/* cabeceras animadas: channel manager y motor de reservas */
@media (prefers-reduced-motion:no-preference){
 .cm.anim .cm-ai .ai-q{animation:aiq 12s infinite both}
 .cm.anim .cm-ai .ai-a,.cm.anim .cm-ai .ai-s{animation:aia 12s infinite both}
 .cm.anim .cm-ai .ai-t{display:flex;gap:.3cqw;padding:.5cqw .7cqw;background:#f4f6f8;border-radius:.6cqw;justify-self:start;animation:ait 12s infinite both}
 .cm.anim .cm-ai .ai-t i{width:.45cqw;height:.45cqw;border-radius:50%;background:#8a979b;animation:aidot 1s infinite}
 .cm.anim .cm-ai .ai-t i:nth-child(2){animation-delay:.2s}.cm.anim .cm-ai .ai-t i:nth-child(3){animation-delay:.4s}
 .cm.anim .cm-ai .ai-in{position:relative}.cm.anim .cm-ai .ai-in .ty{position:absolute;left:.7cqw;top:50%;transform:translateY(-50%);display:inline-block;overflow:hidden;white-space:nowrap;vertical-align:bottom;color:#1f2a2e;animation:aity 12s infinite both steps(40)}
 .cm.anim .cm-ai .ai-in .ph{animation:aiph 12s infinite both}
 .bm.anim .bm-g b.sel{animation:bmsel 9s infinite both}
 .bm.anim .bm-g b.a1{animation-delay:.35s}.bm.anim .bm-g b.a2{animation-delay:.7s}.bm.anim .bm-g b.a3{animation-delay:1.05s}
 .bm.anim .bm-sw{display:grid}.bm.anim .bm-sw span{grid-area:1/1}
 .bm.anim .bm-sw .o{animation:bmo 9s infinite both}.bm.anim .bm-sw .n{animation:bmn 9s infinite both}
 .bm.anim .bm-pie .ok{animation:bmok 9s infinite both}
 .bm.anim .bm-go{animation:bmgo 9s infinite both}
}
.cm-ai .ai-t{display:none}
@keyframes aity{0%{max-width:0}22%,24%{max-width:40cqw}25%,100%{max-width:0}}
@keyframes aiph{0%,24%{opacity:0}26%,100%{opacity:1}}
@keyframes aiq{0%,24%{opacity:0;transform:translateY(.6cqw)}27%,94%{opacity:1;transform:none}100%{opacity:0}}
@keyframes ait{0%,27%{opacity:0}29%,42%{opacity:1}44%,100%{opacity:0;height:0;padding:0}}
@keyframes aia{0%,43%{opacity:0;transform:translateY(.6cqw)}47%,94%{opacity:1;transform:none}100%{opacity:0}}
@keyframes aidot{50%{opacity:.3}}
@keyframes bmsel{0%,12%{box-shadow:none}14%,88%{box-shadow:inset 0 0 0 .16cqw var(--cyan),0 0 0 .3cqw rgba(0,180,213,.18)}90%,100%{box-shadow:none}}
@keyframes bmo{0%,30%{opacity:1}32%,92%{opacity:0}94%,100%{opacity:1}}
@keyframes bmn{0%,30%{opacity:0}32%,92%{opacity:1}94%,100%{opacity:0}}
@keyframes bmok{0%,26%{transform:none}28%{transform:scale(.92)}30%,100%{transform:none}}
@keyframes bmgo{0%,40%{box-shadow:none}46%{box-shadow:0 0 0 .5cqw rgba(0,180,213,.35)}52%,100%{box-shadow:none}}
.cm-ai .ai-in .ty{display:none}@media (prefers-reduced-motion:no-preference){.cm.anim .cm-ai .ai-in .ty{display:inline-block}}
/* tótem del comedor (modo quiosco) */
.totem{position:absolute;right:1%;bottom:-38px;width:22%;display:grid;justify-items:center;z-index:3;filter:drop-shadow(0 18px 30px rgba(20,38,43,.28))}
.tt-scr{width:100%;aspect-ratio:9/15;background:#0b0d0e;border-radius:14px;padding:6px;box-shadow:inset 0 0 0 1px #2c3134,0 0 0 2px #b8bfc2}
.tt-nfc{width:100%;margin-top:-2px;background:linear-gradient(#d9dee1,#c3cacd);border-radius:0 0 12px 12px;display:grid;justify-items:center;gap:2px;padding:6px 0 5px;font:600 8px var(--body);color:#5d6a6e}
.tt-nfc i{width:28%;height:6px;border-radius:3px;background:#00b4d5;box-shadow:0 0 8px rgba(0,180,213,.7)}
.tt-col{width:16%;height:46px;background:linear-gradient(90deg,#aeb6ba,#d9dee1 45%,#9aa3a7)}.tt-base{width:62%;height:9px;border-radius:50%/100% 100% 0 0;background:#8f989c}
.tq{height:100%;border-radius:9px;overflow:hidden;background:linear-gradient(160deg,#f7f9fa,#e8f2f6);display:grid;grid-template-rows:auto 1fr auto;font:10px/1.3 var(--body);color:#1f2a2e;position:relative}
.tq-h{display:flex;justify-content:space-between;align-items:baseline;background:#00b4d5;color:var(--on-cyan);padding:7px 8px}.tq-h b{font-size:11px}.tq-h span{font-size:8px;opacity:.9}
.tq-a,.tq-b{grid-area:2/1;align-self:center;margin:8px;background:#fff;border-radius:12px;padding:14px 8px;display:grid;justify-items:center;text-align:center;gap:6px;box-shadow:0 4px 14px rgba(20,38,43,.08)}
.tq-a b,.tq-b b{font-size:12px}.tq-a span,.tq-b span{color:#5d6a6e;font-size:9px}.tq-a i{width:80%;height:3px;border-radius:2px;background:#00b4d5}
.tq .cq-i,.tq .ok{width:38px;height:38px;border-radius:11px;background:#00b4d5;display:grid;place-items:center}.tq .ok{background:#3f8f5a;border-radius:50%}.tq svg{width:20px;height:20px}
.tq-b em{font-style:normal;background:#e3f3e8;color:#2e7a4a;font-weight:600;border-radius:99px;padding:2px 8px;font-size:9px}.tq-b small{color:#8a979b;font-size:8px}
.tq-f{text-align:center;font-size:8px;color:#5d6a6e;padding:6px}
.tq-b{opacity:0}
@media (prefers-reduced-motion:no-preference){.tq-a{animation:tqa 7s infinite}.tq-b{animation:tqb 7s infinite}.tt-nfc i{animation:tqn 7s infinite}}
@keyframes tqa{0%,40%{opacity:1;transform:none}46%,92%{opacity:0;transform:scale(.96)}100%{opacity:1}}
@keyframes tqb{0%,42%{opacity:0;transform:scale(.96)}48%,90%{opacity:1;transform:none}96%,100%{opacity:0}}
@keyframes tqn{0%,36%{background:#00b4d5}40%,48%{background:#3f8f5a;box-shadow:0 0 12px rgba(63,143,90,.9)}52%,100%{background:#00b4d5}}
@media (max-width:760px){.totem{width:30%;bottom:-24px}}
@media (max-width:760px){.totem{width:26%;bottom:-10px}.tq{font-size:6px}.tq-h{padding:4px 5px}.tq-h b{font-size:7px}.tq-h span{display:none}
 .tq-a,.tq-b{margin:4px;padding:6px 4px;gap:3px;border-radius:7px}.tq-a b,.tq-b b{font-size:7px}.tq-a span,.tq-b span,.tq-b em,.tq-b small,.tq-f{font-size:5.5px}
 .tq .cq-i,.tq .ok{width:20px;height:20px;border-radius:6px}.tq svg{width:11px;height:11px}.tt-col{height:22px}.tt-nfc{font-size:5px;padding:3px 0}.tt-nfc span{display:none}}
.tq{grid-template-rows:1fr auto}.tq-a{grid-area:1/1;animation:none!important}.tq-f{letter-spacing:.1em;text-transform:uppercase;font-weight:600;color:#8a979b}
.tt-nfc span{display:none}.tt-nfc{padding:5px 0}
@media (max-width:760px){.stage:has(.totem) .phone{width:30%}}
/* nóminas */
.nml .imp{font-style:normal;background:#2fa3bd;color:#fff;border-radius:.3cqw;padding:.4cqw .9cqw;margin-left:auto}.nml .pmr-top small{margin-left:1cqw}
.nml-ok{display:flex;align-items:center;gap:.6em;margin:.8cqw 2cqw;background:#e3f3e8;color:#2e7a4a;border-radius:.4cqw;padding:.6cqw 1cqw}.nml-ok svg{width:1.3cqw;height:1.3cqw}
.nmr .sb i span b{color:#0a8fa8}.nmr .an{font-style:normal;background:#eef0f2;border-radius:99px;padding:.1cqw .7cqw}
.nmr-g{display:grid;grid-template-columns:1fr 1.2fr;gap:2.4cqw;padding:.6cqw 2cqw}.nmr-g small{display:block;font-weight:600;text-transform:uppercase;border-bottom:1px solid #dfe4e8;padding-bottom:.3cqw;margin-bottom:.3cqw}
.nmr-g table{width:100%;margin:0}.nmr-g td,.nmr-g th{padding:.45cqw .4cqw}.nmr-g tr.t td{font-weight:600;background:#f4f6f8}
/* cadenas: todo el grupo en una pantalla */
.mk.cdm{display:block;background:#fff;position:relative;font-size:1.05cqw}
.cd-top{display:flex;align-items:center;gap:1.4cqw;padding:1cqw 2cqw;border-bottom:1px solid #e3e8ea}.cd-top b{font-size:1.4cqw;font-weight:500}
.cd-sw{margin-left:auto;background:#e7f6f9;color:#0a6f83;font-weight:600;border-radius:.4cqw;padding:.4cqw 1cqw;box-shadow:inset 0 0 0 1px #00b4d5}
.cd-menu{position:absolute;z-index:2;right:2cqw;top:4.4cqw;width:24cqw;background:#fff;border-radius:.6cqw;box-shadow:0 .8cqw 2.4cqw rgba(0,0,0,.18);padding:1cqw;display:grid;gap:.5cqw}
.cd-menu>small{font-weight:600;text-transform:uppercase;color:#5d6a6e;letter-spacing:.04em}.cd-menu span{display:grid;grid-template-columns:auto 1fr;gap:0 .7cqw;align-items:center}.cd-menu span small{grid-column:2;color:#8a979b}
.cd-menu .ck{grid-row:span 2;width:1.3cqw;height:1.3cqw;border-radius:.25cqw;background:#2fa3bd;position:relative}.cd-menu .ck::after{content:"";position:absolute;left:.42cqw;top:.18cqw;width:.35cqw;height:.7cqw;border:solid #fff;border-width:0 .16cqw .16cqw 0;transform:rotate(45deg)}
.cd-menu em{font-style:normal;color:#2e7a4a;background:#e3f3e8;border-radius:.3cqw;padding:.4cqw .6cqw;font-weight:600}
.cd-ks{display:grid;grid-template-columns:repeat(4,1fr);gap:1cqw;padding:1.2cqw 2cqw;width:70%}
.cd-k{border-radius:.6cqw;padding:.8cqw 1cqw;display:grid;grid-template-columns:1fr 1fr;gap:.3cqw .8cqw;background:#f4f6f8;border-top:.3cqw solid var(--c)}.cd-k b{grid-column:1/-1}
.cd-k span{display:grid;font-weight:600}.cd-k small{font-weight:400;color:#5d6a6e;font-size:.85em}
.cd-k.sol,.cdm .h.sol{--c:#00b4d5}.cd-k.tie,.cdm .h.tie{--c:#a8703f}.cd-k.lun,.cdm .h.lun{--c:#2c3e6b}.cd-k.tot{--c:#3f8f5a;background:#e3f3e8}
.cdm table{width:calc(100% - 4cqw);margin:0 2cqw;border-collapse:collapse}.cdm th{text-align:left;padding:.7cqw .6cqw;border-bottom:1px solid #d6dde0;background:#f7f9fa}.cdm td{padding:.75cqw .6cqw;border-bottom:1px solid #edf0f2}
.cdm .h{font-style:normal;font-weight:600;color:var(--ink);box-shadow:inset .3cqw 0 0 var(--c);padding-left:.8cqw}
.cd-k b{font-size:1.2cqw;font-weight:600;line-height:1.2;white-space:nowrap}.cd-k small{text-transform:none;letter-spacing:0;font-size:.85cqw}.cd-k span{font-size:1.05cqw}
/* FEHM · Monitor de Actividad Hotelera */
.fm .pco-ac{gap:.6cqw}.fm-n{margin-left:auto;display:flex;align-items:center;gap:.4em;color:#2e7a4a;background:#e3f3e8;border-radius:.3cqw;padding:.35cqw .8cqw;font-weight:600}.fm-n svg{width:1.2cqw;height:1.2cqw}
.fm-k{display:grid;grid-template-columns:repeat(6,1fr);gap:.8cqw;padding:.8cqw 2cqw}.fm-k div{background:#f4f6f8;border-radius:.5cqw;padding:.7cqw .9cqw;display:grid}.fm-k small{color:#5d6a6e}.fm-k b{font-size:1.6cqw}.fm-k em{font-style:normal;color:#8a979b;font-size:.85em}
.fm-g{display:grid;grid-template-columns:1.3fr 1fr;gap:2.4cqw;padding:.4cqw 2cqw 1cqw}.fm-g small{display:block;font-weight:600;text-transform:uppercase;letter-spacing:.03em;border-bottom:1px solid #dfe4e8;padding-bottom:.25cqw;margin:.4cqw 0 .5cqw}
.fm-b{display:grid;grid-template-columns:9cqw 1fr 3cqw;align-items:center;gap:.6cqw;padding:.15cqw 0}.fm-b i{display:block;height:1cqw;width:var(--w);background:#00b4d5;border-radius:.2cqw}.fm-b b{text-align:right}
.fm-c{display:flex;justify-content:space-between;padding:.2cqw 0;border-bottom:1px solid #f0f2f4}
.fm-r{display:flex;gap:.5cqw}.fm-r span{flex:1;background:#f4f6f8;border-radius:.4cqw;padding:.4cqw;display:grid;text-align:center}.fm-r.av span{background:#e7f6f9}
.fm .pco-top .pg{margin-left:auto}
/* tasa turística generada en la reserva */
.txr{position:relative}.txr .sb i span b{color:#0a8fa8}.txr .pco-f :is(h3,.xh3){grid-column:1/-1}
.tx-b{padding:1cqw 2cqw;display:grid;gap:.8cqw;justify-items:start}.tx-btn{background:#e9ecef;border-radius:.3cqw;padding:.5cqw 1cqw;color:#374245}
.txr table{width:100%;margin:0}.tx-l td{background:#f7fbfc}.txr em.p{font-style:normal;background:#3fa6c0;color:#fff;border-radius:99px;padding:.15cqw .8cqw;font-weight:600}
.tx-n{color:#2e7a4a;background:#e3f3e8;border-radius:.3cqw;padding:.4cqw .8cqw;font-weight:600}
.tx-cur{position:absolute;width:1.6cqw;height:2cqw;left:60cqw;top:44cqw;z-index:3;filter:drop-shadow(0 .1cqw .2cqw rgba(0,0,0,.3));display:none}
@media (prefers-reduced-motion:no-preference){
 .tx-cur{display:block;animation:txcur 8s infinite}.tx-l td{animation:txl 8s infinite both}.tx-n{animation:txn 8s infinite both}.tx-btn{animation:txb 8s infinite}}
@keyframes txcur{0%{left:60cqw;top:44cqw}25%,30%{left:11cqw;top:25.5cqw;transform:scale(1)}33%{transform:scale(.8)}36%{transform:scale(1);left:11cqw;top:25.5cqw}85%{opacity:1;left:30cqw;top:36cqw}95%,100%{opacity:0;left:60cqw;top:44cqw}}
@keyframes txb{0%,31%{background:#e9ecef}33%,38%{background:#cfd6da}40%,100%{background:#e9ecef}}
@keyframes txl{0%,36%{opacity:0;transform:translateY(-.5cqw)}42%,94%{opacity:1;transform:none}100%{opacity:0}}
@keyframes txn{0%,44%{opacity:0}50%,94%{opacity:1}100%{opacity:0}}
/* ATIB 700 / 790 */
.atb .pco-top .pg{margin-left:auto}.atb .pco-f :is(h3,.xh3){grid-column:1/-1}
.at-t{margin-left:auto;display:flex;gap:.3cqw}.at-t i{font-style:normal;padding:.4cqw .9cqw;border-radius:.3cqw;background:#e9ecef;color:#374245}.at-t i.on{background:#d9f1f6;color:#0a4e5c;font-weight:600}
.at-x{display:grid;grid-template-columns:repeat(5,1fr);gap:.8cqw;padding:.6cqw 2cqw}.at-x div{background:#f4f6f8;border-radius:.5cqw;padding:.7cqw .9cqw;display:grid}.at-x small{color:#5d6a6e}.at-x b{font-size:1.5cqw}.at-x .tot{background:#e3f3e8}
.at-l{padding:.4cqw 2cqw}.at-l>small{display:block;font-weight:600;text-transform:uppercase;border-bottom:1px solid #dfe4e8;padding-bottom:.3cqw}.at-l table{width:100%;margin:0}.at-l tr.t td{font-weight:600;background:#f4f6f8}
.at-x.c4{grid-template-columns:repeat(4,1fr)}
/* mapa de comunidades autónomas */
.ccmap{display:grid;grid-template-columns:repeat(6,1fr);grid-auto-rows:minmax(84px,auto);gap:8px;max-width:980px;margin:24px auto 0}
.ccmap .cc{display:grid;align-content:center;gap:2px;padding:10px 12px;border-radius:14px;background:var(--paper);border:1px solid var(--line);color:var(--ink);text-decoration:none;transition:transform .15s,box-shadow .15s}
.ccmap .cc b{font-size:15px}.ccmap .cc small{color:var(--muted);font-size:12px}.ccmap .cc em{font-style:normal;font-weight:600;font-size:12px;color:#0a6f83;margin-top:4px}
.ccmap .cc.on{background:#e3f6fa;border-color:var(--cyan);box-shadow:inset 0 0 0 1px var(--cyan)}
.ccmap .cc:hover,.ccmap .cc:focus-visible{transform:translateY(-2px);box-shadow:0 8px 20px rgba(20,38,43,.12);outline:none}
.ccley{display:flex;justify-content:center;gap:10px;align-items:center;color:var(--muted);font-size:13px;margin-top:14px}.ccley span{width:14px;height:14px;border-radius:4px;background:var(--paper);border:1px solid var(--line)}.ccley span.on{background:#e3f6fa;border-color:var(--cyan)}
@media (max-width:760px){.ccmap{grid-template-columns:repeat(2,1fr)}.ccmap .cc{grid-column:auto!important;grid-row:auto!important}}
.esmap{display:grid;grid-template-columns:1fr 250px;gap:24px;align-items:center;max-width:1040px;margin:24px auto 0}
.esmap svg{width:100%;height:auto}.esmap .can{fill:none;stroke:var(--line);stroke-dasharray:4 4}
.esmap .rg path{fill:#e8eef0;stroke:#fff;stroke-width:1.2;transition:fill .15s}.esmap .rg:hover path,.esmap .rg:focus-visible path{fill:#c9d6db}
.esmap .rg.on path{fill:var(--cyan)}.esmap .rg.on:hover path,.esmap .rg.on:focus-visible path{fill:#0a8fa8}
.esmap text{font:600 15px var(--body);fill:var(--ink);pointer-events:none;paint-order:stroke;stroke:#fff;stroke-width:4px}
.esl{display:grid;gap:10px}.esl a{display:grid;padding:12px 14px;border-radius:12px;border:1px solid var(--cyan);background:#e3f6fa;color:var(--ink);text-decoration:none}
.esl a b{font-size:16px}.esl a span{color:var(--muted);font-size:13px}.esl a.ot{border-color:var(--line);background:#f4f7f8}.esl a:hover{box-shadow:0 6px 16px rgba(20,38,43,.12)}
@media (max-width:760px){.esmap{grid-template-columns:1fr}}
/* calidad: sistema de gestión */
.mk.sg{display:block;background:#f7f9fa;position:relative;font-size:1.05cqw}.sg .pmr-top{background:#fff}
.sg-m{position:absolute;z-index:2;left:15cqw;top:3.6cqw;background:#fff;border-radius:.5cqw;box-shadow:0 .6cqw 2cqw rgba(0,0,0,.16);padding:.6cqw 0;display:grid}.sg-m i{font-style:normal;padding:.45cqw 1.6cqw}.sg-m i:first-child{background:#d9f1f6;font-weight:600}
.sg-b{display:grid;grid-template-columns:repeat(3,1fr);gap:1.4cqw;padding:1.2cqw 2cqw}.sg-c{display:grid;gap:.8cqw;align-content:start}.sg-c>b{font-size:1.3cqw;font-weight:500}.sg-c>b small{color:#5d6a6e}
.sg-k{background:#fff;border:1px solid #e3e8ea;border-left:.35cqw solid var(--c);border-radius:.3cqw;padding:.8cqw 1cqw;display:grid;grid-template-columns:1fr auto;gap:.3cqw .8cqw}
.sg-k span{grid-column:1/-1;font-size:1.15cqw}.sg-k small{color:#5d6a6e}.sg-k i{font-style:normal;background:#3f8f5a;color:#fff;font-weight:600;border-radius:.3cqw;padding:.1cqw .5cqw;font-size:.85em}
.sg-k.w{--c:#f0a430}.sg-k.r{--c:#e2443c}.sg-k.k{--c:#3f8f5a}
.sgr .sb i span b{color:#0a8fa8}.sgr .pco-ac{justify-content:flex-end}
.sgr-d{padding:1cqw 2cqw;display:grid;gap:1cqw}.sgr-d p{margin:0;color:#374245}.sgr-t{display:grid;gap:.5cqw;border-left:.2cqw solid #00b4d5;padding-left:1.2cqw}.sgr-t b{color:#0a6f83;margin-right:.6cqw}
/* bonos regalo */
.bng .sb i span b{color:#0a8fa8}.bng-b{display:grid;grid-template-columns:28cqw 1fr;gap:2.4cqw;padding:1cqw 2cqw}
.bng-c{border-radius:1.2cqw;padding:1.6cqw;color:#fff;background:linear-gradient(135deg,#00b4d5,#0a6f83);display:grid;gap:.4cqw;box-shadow:0 1cqw 2.4cqw rgba(10,111,131,.3);position:relative;overflow:hidden}
.bng-c::after{content:"";position:absolute;right:-4cqw;top:-4cqw;width:14cqw;height:14cqw;border-radius:50%;background:rgba(255,255,255,.12)}
.bng-c small{opacity:.85;text-transform:uppercase;letter-spacing:.08em;font-size:.8em}.bng-c>b{font-size:1.7cqw;line-height:1.15}.bng-c em{font-style:normal;margin-top:.4cqw}
.bng-cod{display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.18);border-radius:.6cqw;padding:.6cqw .9cqw;margin-top:.6cqw}.bng-cod b{font-family:var(--body);font-variant-numeric:tabular-nums;letter-spacing:.08em}
.bng-bar{display:block;height:2.4cqw;margin-top:.4cqw;background:repeating-linear-gradient(90deg,#fff 0 .15cqw,transparent .15cqw .35cqw,#fff .35cqw .45cqw,transparent .45cqw .7cqw);opacity:.9;border-radius:.2cqw}
.bng-f{grid-template-columns:1fr;padding:0}.bng-f dl{gap:.75cqw 1.6cqw}
.bnw{gap:6px;background:#f7f9fa}.bnw-h{display:grid;background:#00b4d5;color:var(--on-cyan);margin:-8px -8px 0;padding:8px}.bnw-h b{font-size:1.2em}
.bnw-t{display:flex;gap:3px}.bnw-t i{flex:1;font-style:normal;text-align:center;padding:4px;border-radius:5px;background:#e9ecef;font-weight:600}.bnw-t i.on{background:#d9f1f6;color:#0a4e5c}
.bnw-o{display:grid;grid-template-columns:auto 1fr auto;gap:6px;align-items:center;background:#fff;border:1px solid #e3e7ec;border-radius:7px;padding:6px}.bnw-o div{display:grid}.bnw-o small{color:#8a979b}.bnw-o em{font-style:normal;font-weight:600;color:#0a6f83}
.bnw-o i{width:10px;height:10px;border-radius:50%;border:1px solid #9aa5a9}.bnw-o.on{border-color:#00b4d5}.bnw-o.on i{border:3px solid #00b4d5}
.bnw-f{display:grid;background:#fff;border-radius:7px;padding:6px;gap:1px}.bnw-f small{color:#8a979b}.bnw-f .cod{font-family:var(--body);font-variant-numeric:tabular-nums;letter-spacing:.06em;font-weight:600}
.bnw-r{display:grid;background:#e3f3e8;color:#2e7a4a;border-radius:7px;padding:6px}.bnw-p{background:#00b4d5;color:#14262b;text-align:center;font-weight:600;border-radius:7px;padding:7px}.bnw-s{text-align:center;color:#8a979b}
.mk.bng{aspect-ratio:1400/440}
/* hojas de cálculo */
.mk.hc{display:block;background:#fff;font-size:.95cqw}
.hc-top{display:grid;padding:.7cqw 1.6cqw}.hc-top small{color:#0a8fa8}.hc-mn{display:flex;gap:1.6cqw;padding:.4cqw 1.6cqw;color:#374245}.hc-mn i{font-style:normal}
.hc-tb{display:flex;align-items:center;gap:1cqw;padding:.5cqw 1.6cqw;border-top:1px solid #e3e8ea;border-bottom:1px solid #d6dde0;color:#5d6a6e}.hc-tb i{font-style:normal}
.hc-fx{flex:1;margin-left:1cqw;font-family:var(--body);font-variant-numeric:tabular-nums;color:#1f2a2e;white-space:nowrap;overflow:hidden}.hc-fx b{color:#0a8fa8;margin-right:.8cqw;font-style:normal}
.hc-g{display:grid}.hc-r{display:grid;grid-template-columns:3cqw 7cqw 1fr 10cqw 6cqw 10cqw 6cqw;border-bottom:1px solid #edf0f2}
.hc-r>*{padding:.42cqw .6cqw;border-right:1px solid #edf0f2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hc-r>b{background:#f4f6f8;color:#8a979b;text-align:center;font-weight:400}
.hc-r.hd>*{background:#f4f6f8;color:#5d6a6e;text-align:center}.hc-r.th{font-weight:600}.hc-r.h span:nth-child(3){font-weight:600}.hc-r.t{font-weight:600;background:#f7fbfc}
.hc-r .n{text-align:right}.hc-r .pos{color:#2e7a4a}.hc-r .neg,.hc-r.n .neg{color:#c0332b}.hc-r .sel{box-shadow:inset 0 0 0 .15cqw #2f6ae0;position:relative}
.hc-a{display:grid}.hc-a u{grid-area:1/1;text-decoration:none;text-align:right}.hc-a .f{text-align:left;font-family:var(--body);font-variant-numeric:tabular-nums;color:#0a6f83;font-size:.9em;opacity:0}
@media (prefers-reduced-motion:no-preference){.hc-a .f{animation:hcf 7s infinite}.hc-a .v{animation:hcv 7s infinite}}
@keyframes hcf{0%,8%{opacity:0;clip-path:inset(0 100% 0 0)}12%{opacity:1}40%{opacity:1;clip-path:inset(0 0 0 0)}50%,100%{opacity:0}}
@keyframes hcv{0%,8%{opacity:1}10%,48%{opacity:0}54%,100%{opacity:1;background:transparent}56%{background:#fff3c4}70%{background:transparent}}
.mk.w2-hl{display:block;background:#f7f9fa;font-size:1.05cqw}.w2-hl .pmr-top{background:#fff}.hl-g{display:grid;grid-template-columns:repeat(4,1fr);gap:1cqw;padding:1.2cqw 2cqw}
.hl-c{display:flex;gap:1cqw;align-items:center;background:#fff;border:1px solid #e3e8ea;border-radius:.4cqw;padding:1cqw}.hl-c div{display:grid}.hl-c b{color:#0a6f83;font-weight:600}.hl-c small{color:#5d6a6e}
.hc-ico{flex:none;width:3.6cqw;height:4.4cqw;border-radius:.5cqw;background:#13c98a;position:relative;clip-path:polygon(0 0,70% 0,100% 25%,100% 100%,0 100%)}
.hc-ico::before{content:"";position:absolute;right:0;top:0;width:30%;height:25%;background:#174e74;border-bottom-left-radius:.4cqw}
.hc-ico u{position:absolute;left:18%;right:18%;top:42%;bottom:14%;background:linear-gradient(90deg,transparent 30%,#13c98a 30% 36%,transparent 36% 64%,#13c98a 64% 70%,transparent 70%),linear-gradient(transparent 30%,#13c98a 30% 36%,transparent 36% 64%,#13c98a 64% 70%,transparent 70%),#fff;border-radius:.15cqw}
code.fx{display:block;font:500 13px var(--body);font-variant-numeric:tabular-nums;color:var(--cyan-deep);background:var(--cyan-soft);border-radius:6px;padding:3px 8px;margin-bottom:6px;width:max-content;max-width:100%}
.hc-r{grid-template-columns:3cqw 7cqw 1fr 10cqw 6cqw 10cqw 6cqw}.hc-r.hd{grid-template-columns:3cqw 7cqw 1fr 10cqw 6cqw 10cqw 6cqw}
/* Conversaciones */
.mk.cv{display:grid;grid-template-columns:23cqw 1fr;grid-template-rows:none;background:#fff;font-size:1.05cqw}
.cv-s{border-right:1px solid #e3e8ea;padding:1cqw;display:grid;align-content:start;gap:.3cqw}.cv-s>small{font-weight:600;color:#8a979b;letter-spacing:.04em;margin-top:.8cqw;font-size:.8em}
.cv-go{justify-self:center;display:flex;align-items:center;gap:.4em;background:#2fa3bd;color:#fff;font-weight:600;border-radius:.3cqw;padding:.45cqw 1cqw;margin-bottom:.6cqw}.cv-go svg{width:1.3cqw;height:1.3cqw}
.cv-i{font-style:normal;padding:.3cqw .6cqw;color:#374245}.cv-c{font-style:normal;display:flex;align-items:center;gap:.6cqw;padding:.35cqw .6cqw;border-radius:.4cqw;color:#374245}.cv-c.on{background:#e7f6f9;font-weight:600}
.cv-c b{display:grid;place-items:center;width:1.9cqw;height:1.9cqw;border-radius:50%;color:#fff;font-size:.9em}.cv-c em{margin-left:auto;font-style:normal;background:#00b4d5;color:var(--on-cyan);border-radius:99px;padding:0 .5cqw;font-size:.8em;font-weight:600}
.cv .av{display:grid;place-items:center;flex:none;width:2.4cqw;height:2.4cqw;border-radius:50%;color:#fff;font-weight:600;font-size:.85em}
.cv-b{display:grid;grid-template-rows:auto 1fr auto;min-height:0}.cv-h{display:flex;align-items:baseline;gap:1cqw;padding:1cqw 1.6cqw;border-bottom:1px solid #e3e8ea}.cv-h b{font-size:1.4cqw}.cv-h small{color:#8a979b}
.cv-ic{margin-left:auto;display:flex;gap:1cqw;color:#5d6a6e}.cv-ic svg{width:1.5cqw;height:1.5cqw}
.cv-l{padding:1cqw 1.6cqw;display:grid;gap:1cqw;align-content:end;background:#fafbfc}.cv-d{justify-self:center;color:#8a979b}
.cv-m{display:flex;gap:.9cqw}.cv-m div{display:grid;gap:.2cqw}.cv-m span{display:flex;gap:.6cqw;align-items:baseline}.cv-m small{color:#8a979b}.cv-m p{margin:0;color:#1f2a2e}.cv-m u{text-decoration:none;color:#0a8fa8;font-weight:600}
.cv-in{margin:1cqw 1.6cqw;border:1px solid #dfe4e8;border-radius:.5cqw;padding:.8cqw 1cqw;color:#9aa5a9;display:flex;justify-content:space-between}
.cv-v{background:#14191c;padding:1cqw;display:grid;gap:.8cqw;grid-row:span 1}.cv-sh{background:#fff;border-radius:.5cqw;overflow:hidden}
.cv-shh{display:flex;align-items:center;gap:.5em;background:#2e7a4a;color:#fff;padding:.4cqw .8cqw;font-weight:600}.cv-shh svg{width:1.2cqw;height:1.2cqw}
.cv-shb{padding:.8cqw 1cqw}.cv-shb span{font-weight:600}.cv-bars{display:flex;align-items:end;gap:.8cqw;height:7cqw;margin-top:.5cqw}.cv-bars i{flex:1;background:#00b4d5;border-radius:.2cqw .2cqw 0 0}
.cv-ts{display:flex;justify-content:center;gap:1cqw}.cv-t{display:grid;justify-items:center;gap:.3cqw;color:#c9d1d5}.cv-t .av{width:3.6cqw;height:3.6cqw;font-size:1.2cqw;box-shadow:0 0 0 .2cqw #14191c,0 0 0 .35cqw #3f8f5a}
.cv-ctl{display:flex;justify-content:center;gap:.8cqw}.cv-ctl i{display:grid;place-items:center;width:3cqw;height:3cqw;border-radius:50%;background:#2c3438;color:#fff}.cv-ctl svg{width:1.4cqw;height:1.4cqw}.cv-ctl i.on{background:#2e7a4a}.cv-ctl i.end{background:#e2443c}
.cv-l.sm{align-content:start}.cv-sys{margin:0;text-align:center;color:#8a979b}
.cv-bars{align-items:flex-end}.cmz-i{width:1.8cqw;height:1.8cqw;background:#fff;border-radius:.3cqw;padding:.15cqw}
.mk .cmz-nav img.cmz-i{width:1.8cqw!important;height:1.8cqw!important;max-width:none;flex:none;object-fit:contain;background:#fff;border-radius:.3cqw;padding:.15cqw}
.leytab{overflow-x:auto;margin-top:22px;border:1px solid var(--line);border-radius:14px;background:#fff}.leytab table{width:100%;border-collapse:collapse;min-width:620px}
.leytab th{text-align:left;padding:12px 16px;background:var(--paper);font-size:14px}.leytab td{padding:14px 16px;border-top:1px solid var(--line);vertical-align:top;font-size:15px}
.leytab td:first-child{font-weight:600;width:34%}.leytab td.no{color:#c0332b;font-weight:600;white-space:nowrap;width:120px}.leynota{color:var(--muted);font-size:13px;margin-top:10px}
.at-x.c5{grid-template-columns:repeat(5,1fr)}.cot tr.rv td{background:#fff8ec}.cot .mono{font-family:var(--body);font-variant-numeric:tabular-nums}.cot em{font-style:normal;font-weight:600;border-radius:99px;padding:.15cqw .8cqw;font-size:.9em}
.cot em.k{background:#dcefe2;color:#2e7a4a}.cot em.w{background:#fbefd9;color:#a5701b}.cot em.r{background:#fde4e2;color:#a3241d}.cot .pco-top .pg{margin-left:auto}
/* planning: estado de la reserva e iconos de pago, facturación y mejora */
.pl-grid .bar.pe{background:#2b9ab3}.pl-grid .bar.wk{background:#f0b429;color:#2f2304}.pl-grid .bar.st{background:#3f9f5a}.pl-grid .bar.out{background:#d9534f}
.pl-grid .bar .pi{flex:none;display:grid;place-items:center;width:1.25cqw;height:1.25cqw;border-radius:50%;background:#fff;margin-left:-.15cqw}
.pi svg{width:78%;height:78%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.pi.py{color:#2e7a4a}.pi.ppa{color:#d0861a}.pi.pn{color:#c0332b}.pi.ff{color:#2e7a4a}.pi.fpf{color:#d0861a}.pi.ft{color:#0a8fa8}.pi.fq{color:#8a979b}.pi.up{color:#0a8fa8}
.pl .ley{display:grid;grid-template-columns:auto 1fr;gap:.35cqw .5cqw;align-items:center;font-size:.72cqw;margin-top:1cqw;color:#374245}.pl .ley small{grid-column:1/-1;font-weight:600;text-transform:uppercase;color:#5d6a6e;letter-spacing:.04em}
.pl .ley span{grid-column:1/-1;display:flex;gap:.5cqw;align-items:center}.pl .ley i.e{width:1.6cqw;height:.8cqw;border-radius:.2cqw}.pl .ley i.pe{background:#2b9ab3}.pl .ley i.wk{background:#f0b429}.pl .ley i.st{background:#3f9f5a}.pl .ley i.out{background:#d9534f}
.pl .ley .pi{display:grid;place-items:center;width:1.25cqw;height:1.25cqw;border-radius:50%;background:#fff;box-shadow:0 0 0 1px #dfe4e8}.pl .ley b{font-weight:400}
/* turoperadores */
.toc .pco-top .pg{margin-left:auto}.toc-g{display:grid;grid-template-columns:1.6fr 1fr;gap:2cqw;padding:.6cqw 2cqw}.toc-g small{display:block;font-weight:600;text-transform:uppercase;font-size:.8em;letter-spacing:.03em;border-bottom:1px solid #dfe4e8;padding-bottom:.3cqw}
.toc-g table{width:100%;margin:0}.toc-g td,.toc-g th{padding:.5cqw .4cqw}
.tov{gap:5px}.tov .sub{color:#5d6a6e}.tov table{width:100%;border-collapse:collapse;background:#fff;border-radius:6px;overflow:hidden}.tov td{padding:4px 6px;border-bottom:1px solid #eef0f2}.tov .n{text-align:right;white-space:nowrap}.tov tr.t td{font-weight:600;background:#f4f6f8}
.tov-f{display:flex;justify-content:space-between;align-items:center;background:#00b4d5;color:#14262b;border-radius:6px;padding:6px 8px}.tov-f b{font-size:1.2em}
.toe{display:block}.toe .at-x{padding:1cqw 2cqw}.toe em{font-style:normal;font-weight:600;border-radius:99px;padding:.15cqw .8cqw}.toe em.k{background:#dcefe2;color:#2e7a4a}.toe em.w{background:#fbefd9;color:#a5701b}
.tov{font-size:clamp(6px,.55vw,8px)}.tov td{padding:3px 5px}
.tov{grid-auto-rows:min-content;align-content:start}.tov table{flex:none}
/* contrato real, garantías y valoración animada */
.tc-b{display:grid;grid-template-columns:30cqw 1fr;gap:2cqw;padding:1cqw 2cqw}.tc-h,.tc-ls{display:grid;grid-template-columns:auto 1fr;gap:.6cqw 1cqw;margin:0 0 1cqw}.tc-h dt,.tc-l dt{font-weight:600}.tc-h dd,.tc-l dd{margin:0}
.tc-ls{display:grid;grid-template-columns:1fr;gap:.6cqw}.tc-l{display:grid;grid-template-columns:11cqw 1fr;gap:.6cqw;align-items:center}.tc-l dd{display:grid}.tc-l u{text-decoration:none;justify-self:start;background:#efe9e6;border-radius:99px;padding:.15cqw .8cqw;font-weight:600;font-size:.9em}.tc-l small{color:#8a979b}
.tc-s{display:block;color:#5d6a6e;margin-bottom:.4cqw}.tc-b table{width:100%;margin:0}.tc-b .pco-tabs{padding:0}
.mk.tog{display:grid;place-items:center;background:#7c8387}.tog-m{width:88%;background:#fff;border-radius:.6cqw;box-shadow:0 1cqw 3cqw rgba(0,0,0,.3)}
.tog-h{display:flex;justify-content:space-between;padding:1cqw 1.6cqw;border-bottom:1px solid #e3e8ea}.tog-h b{font-size:1.4cqw;font-weight:500}.tog-h i{font-style:normal;color:#5d6a6e}
.tog-b{display:grid;grid-template-columns:1fr 1fr;gap:2cqw;padding:1cqw 1.6cqw}.tog-b dl{display:grid;grid-template-columns:auto 1fr;gap:.6cqw 1.4cqw;margin:0}.tog-b dt{font-weight:600}.tog-b dd{margin:0}
.tog-d{display:grid;grid-template-columns:1fr 1fr;gap:.4cqw}.tog-d span{display:flex;gap:.5em;align-items:center}.tog-d .ck{width:1.1em;height:1.1em;border-radius:.2em;background:#2fa3bd}
.tog .pco-tabs{padding:0 1.6cqw}.tog table{width:calc(100% - 3.2cqw);margin:0 1.6cqw 1.6cqw}.tog td.sel{position:relative;color:#0a6f83}
.tog-o{position:absolute;left:0;top:100%;z-index:2;width:24cqw;background:#fff;border-radius:.5cqw;box-shadow:0 .6cqw 2cqw rgba(0,0,0,.2);padding:.4cqw;display:grid;color:#1f2a2e}.tog-o i{font-style:normal;padding:.35cqw .7cqw;border-radius:.3cqw}.tog-o i.on{background:#5b8def;color:#fff}
.mk.tvm{position:relative;background:#fff}.tv-bg{padding:1cqw 2cqw}.tv-bg dl{display:grid;grid-template-columns:auto 1fr;gap:.6cqw 1.4cqw;margin:0}.tv-bg dt{font-weight:600}.tv-bg dd{margin:0}
.tvm .pco-ac .b1{box-shadow:0 0 0 .2cqw rgba(0,180,213,.35)}
.tv-m{position:absolute;left:12%;right:12%;top:18%;background:#fff;border-radius:.6cqw;box-shadow:0 0 0 100cqw rgba(30,40,46,.3),0 1cqw 3cqw rgba(0,0,0,.3);padding:0 0 1cqw;font-size:.95cqw}
.tv-h{display:flex;gap:2cqw;align-items:baseline;padding:1cqw 1.4cqw;border-bottom:1px solid #e3e8ea}.tv-h b{font-size:1.3cqw;font-weight:500}.tv-h span{color:#0a8fa8}
.tv-m table{width:calc(100% - 2.8cqw);margin:.4cqw 1.4cqw}.tv-m td,.tv-m th{padding:.4cqw .4cqw}.tv-m td.ic{color:#0a8fa8;font-weight:600}.tv-m tr.w2-hl td{background:#e7f6f9}.tv-t{padding:.4cqw 1.4cqw;color:#5d6a6e}.tv-t b{color:#1f2a2e;margin-left:.6cqw}
.tv-cur{position:absolute;z-index:5;width:1.6cqw;height:2cqw;filter:drop-shadow(0 .1cqw .2cqw rgba(0,0,0,.3));display:none}
.tv-m.m1,.tv-m.m2{opacity:0}
@media (prefers-reduced-motion:no-preference){.tv-m.m1{animation:tvm1 11s infinite}.tv-m.m2{animation:tvm2 11s infinite}.tv-cur{display:block;animation:tvcur 11s infinite}}
@media (prefers-reduced-motion:reduce){.tv-m.m2{opacity:1}}
@keyframes tvm1{0%,14%{opacity:0;transform:scale(.97)}18%,48%{opacity:1;transform:none}51%,100%{opacity:0}}
@keyframes tvm2{0%,50%{opacity:0;transform:scale(.97)}54%,92%{opacity:1;transform:none}96%,100%{opacity:0}}
@keyframes tvcur{0%{left:60cqw;top:30cqw}10%,12%{left:40cqw;top:9cqw;transform:scale(1)}13%{transform:scale(.8)}15%{transform:scale(1);left:40cqw;top:9cqw}36%{left:40cqw;top:9cqw}46%,47%{left:84.5cqw;top:17.5cqw;transform:scale(1)}48.5%{transform:scale(.8)}50%{transform:scale(1);left:84.5cqw;top:17.5cqw}90%{opacity:1;left:84.5cqw;top:17.5cqw}95%,100%{opacity:0;left:60cqw;top:30cqw}}
.float .dot img.icon.brand{width:22px;height:22px}
@media (min-width:1181px){.drop.mega{grid-template-columns:repeat(4,minmax(205px,1fr));min-width:900px;column-gap:6px}.drop.mega div h4:not(:first-child){margin-top:12px}}
@media (min-width:1181px) and (max-width:1300px){.drop.mega{grid-template-columns:repeat(4,minmax(0,1fr));min-width:820px}.drop.mega a{font-size:14px}}
.lws{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:12px;margin-top:20px}
.lw{display:grid;gap:4px;padding:14px 16px;border:1px solid var(--line);border-left:4px solid var(--cyan);border-radius:12px;background:#fff;color:var(--ink);text-decoration:none}
.lw b{font-size:15px}.lw span{color:var(--muted);font-size:14px;line-height:1.4}.lw em{font-style:normal;font-weight:600;color:var(--cyan-deep);font-size:13px}.lw:hover{box-shadow:0 6px 16px rgba(20,38,43,.1)}
.lw{grid-template-rows:auto 1fr auto;align-content:start}.lw em{margin-top:4px}
.esl a{grid-template-columns:44px 1fr;column-gap:12px;align-items:center}.esl a img{grid-row:span 2;width:44px;height:44px}.esl a.ot{grid-template-columns:1fr}
.intcard .pcat,.intdlg .pcat{display:grid;gap:4px;justify-items:start;margin-top:6px}
.pcat .t{background:var(--cyan-soft,#e3f6fa);color:var(--cyan-deep);border-radius:99px;padding:2px 9px;letter-spacing:.04em}
.pcat .m{text-transform:none;letter-spacing:0;font-weight:600;font-size:12px;color:var(--muted)}
.pcat .m::before{content:"Integrado en ";font-weight:400}
.cc .qt b.sel{background:#fff;border:1px solid #c9d1d5;border-radius:.2cqw;padding:.15cqw .45cqw;margin-right:.3cqw;font-weight:400;color:#374245}
.head .w2-lead small.letra{display:block;font-size:13px;line-height:1.5;color:var(--muted);margin-top:6px}
/* calendario del motor: quintiles de precio, sin disponibilidad tachado y sin salidas, como hms_booking_engine */
.bm-g .q0{background:#e1f4e8}.bm-g .q0 small{color:#15803d}.bm-g .q1{background:#ecf6dc}.bm-g .q1 small{color:#4d7c0f}
.bm-g .q2{background:#fbf3d9}.bm-g .q2 small{color:#a16207}.bm-g .q3{background:#fde8d6}.bm-g .q3 small{color:#c2410c}.bm-g .q4{background:#fadcdc}.bm-g .q4 small{color:#b91c1c}
.bm-g .full{color:#94a3b8;background:#f1f4f6 linear-gradient(to top right,transparent calc(50% - .06cqw),#94a3b8 calc(50% - .06cqw),#94a3b8 calc(50% + .06cqw),transparent calc(50% + .06cqw))}
.bm .ns{position:absolute;top:.25cqw;right:.3cqw;width:.5cqw;height:.5cqw;border-radius:50%;background:#6366f1}
.bm .nl{background:#f97316}
.bm-pie .ns{position:static;display:inline-block}.bm-pie s.tx{text-decoration:none;background:linear-gradient(to top right,transparent 45%,#94a3b8 45% 55%,transparent 55%);padding:0 .2cqw}
.bm-pie .hm{display:flex;align-items:center;gap:.2cqw}.bm-pie .hm u{display:inline-block;width:.9cqw;height:.7cqw;border-radius:.15cqw}.bm-pie .hm u.q0{background:#bfe8cd}.bm-pie .hm u.q2{background:#f6e3a5}.bm-pie .hm u.q4{background:#f4b8b8}
.bm-pie{flex-wrap:wrap;row-gap:.3cqw}
/* barra del menú: Cian con el texto en Tinta (guía: «Sobre Cian, el texto va en Tinta», 6,3:1) */
.ubar .util{margin-left:auto}
.w2-nav > li > a,.w2-nav > li > button,.burger{color:var(--on-cyan);font-weight:600}
.w2-nav > li > a:hover,.w2-nav > li > button:hover,.w2-nav li:focus-within>button{background:rgba(255,255,255,.22)}
@media (min-width:1181px){.drop a{color:var(--ink)}}
@media (max-width:1180px){.drop a{color:var(--on-cyan)} .drop.mega h4{color:var(--on-cyan);opacity:1}}
/* carrito del motor: se desplaza solo para enseñar las dos mejoras */
.bc{overflow:hidden;display:block}.bc-sc{display:grid;gap:6px}
.bc-up.rm{border-color:#f0a430}.bc-up.rm small,.bc-up.rm b{color:#a5701b}
.bc-a{display:flex;gap:6px;align-items:center;margin:2px 0 0}.bc-a i{font-style:normal;background:var(--cyan);color:#0d3540;font-weight:600;border-radius:5px;padding:2px 8px}.bc-up.rm .bc-a i{background:#f0a430;color:#3b2a06}.bc-a u{text-decoration:none;color:#8a979b}
@media (prefers-reduced-motion:no-preference){.bc-sc{animation:bcsc 10s ease-in-out infinite}}
@keyframes bcsc{0%,15%{transform:none}40%,62%{transform:translateY(-38%)}88%,100%{transform:none}}
.bc-a i,.bc-a u,.bc-up b{white-space:nowrap}.bc-up span{line-height:1.25}
@keyframes bcsc{0%,12%{transform:none}38%,48%{transform:translateY(-34%)}62%,74%{transform:translateY(-58%)}92%,100%{transform:none}}
@media (prefers-reduced-motion:no-preference){.bc-sc{animation:bcsc2 5.5s ease-in-out infinite}}
@keyframes bcsc2{0%,12%{transform:none}35%,50%{transform:translateY(-34%)}70%,92%{transform:translateY(-58%)}100%{transform:none}}
.band.slim{padding-block:0 40px}
/* motor: extras */
.mk.mx{display:grid;grid-template-columns:1fr 30cqw;grid-template-rows:none;gap:1.6cqw;padding:1.6cqw;background:#f4f6f8;font-size:1.05cqw}
.mx-l{display:grid;gap:1.4cqw;align-content:start}.mx-box{background:#fff;border:1px solid #e3e8ea;border-radius:1cqw;padding:1.4cqw;display:grid;gap:.6cqw}.mx-box>b{font-size:1.4cqw}.mx-box>small{color:#5d6a6e}
.mx-g{display:grid;grid-template-columns:1fr 1fr;gap:1cqw;margin-top:.4cqw}.mx-c{border:1px solid #e3e8ea;border-radius:.8cqw;padding:1cqw;display:grid;gap:.6cqw}.mx-c.on{border-color:#00b4d5;box-shadow:inset 0 0 0 1px #00b4d5}
.mx-c>div:first-child{display:grid;grid-template-columns:1fr auto;gap:0 .6cqw}.mx-c b{font-size:1.25cqw}.mx-c small{color:#8a979b;text-align:right}.mx-c em{font-style:normal;font-weight:600;text-align:right;grid-column:2}.mx-c b+small{grid-row:1;grid-column:2}
.mx-q{display:flex;align-items:center;gap:.8cqw}.mx-q i{font-style:normal;display:grid;place-items:center;width:2.2cqw;height:2.2cqw;border-radius:50%;background:#eef1f3;color:#5d6a6e}.mx-q i.p{background:#00b4d5;color:var(--on-cyan)}.mx-q u{text-decoration:none;font-weight:600}
.mx-f{display:grid;grid-template-columns:1fr 1fr;gap:1cqw}.mx-f span{display:grid;border:1px solid #dfe4e8;border-radius:.5cqw;padding:.6cqw .8cqw;color:#8a979b;font-size:.9em}.mx-f u{text-decoration:none;color:#1f2a2e;font-size:1.1em}
.mx-r{background:#fff;border:1px solid #e3e8ea;border-radius:1cqw;padding:1.4cqw;display:grid;gap:.8cqw;align-content:start}.mx-r>small{color:#5d6a6e}
.mx-it{border:1px solid #e3e8ea;border-radius:.6cqw;padding:.8cqw;display:grid;gap:.3cqw}.mx-it div{display:flex;justify-content:space-between}.mx-it span{color:#5d6a6e}.mx-it.ex{background:#e7f6f9;border-color:#9fd9e6}.mx-it.ex span{color:#0a6f83}
.mx-t{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid #e3e8ea;padding-top:.8cqw}.mx-t b{font-size:1.6cqw}.mx-r .bc-go{font-style:normal;text-align:center;background:var(--cyan);color:#0d3540;font-weight:600;border-radius:.6cqw;padding:.8cqw}
.mx .bc-h{display:flex;justify-content:space-between}.mx .bc-h b{letter-spacing:.1em;text-transform:uppercase;color:#1c6f86}.mx .bc-h span{border:1px solid #dfe5e8;border-radius:99px;padding:0 .8cqw}
/* plantillas reales del motor de reservas */
.mk.tpl2{display:grid;grid-template-rows:1fr auto;gap:1cqw;padding:1.2cqw;background:#eef1f4;aspect-ratio:1400/820;font-size:.66cqw}
.tpl2-g{display:grid;grid-template-columns:1fr 1.25fr 1.25fr;gap:1cqw;min-height:0}
.mt-p{background:#f7f9fa;border-radius:.6cqw;overflow:hidden;display:grid;grid-template-rows:auto 1fr auto;box-shadow:0 .2cqw .8cqw rgba(20,38,43,.1);min-height:0}
.mt-h{display:flex;justify-content:space-between;align-items:center;background:var(--c);color:#fff;padding:.6cqw .9cqw}.mt-h b{font-size:1.1cqw}.mt-h span{opacity:.9}
.mt-room{margin:.8cqw;background:#fff;border:1px solid #e3e8ea;border-radius:.7cqw;overflow:hidden;display:grid;align-content:start;min-height:0}
.mt-f{position:relative;height:9cqw;background-size:cover}.mt-f i{position:absolute;left:.5cqw;top:.5cqw;font-style:normal;background:#14262b;color:#fff;font-weight:600;border-radius:99px;padding:.15cqw .6cqw}
.mt-f u{position:absolute;right:.5cqw;top:.5cqw;text-decoration:none;background:rgba(20,38,43,.7);color:#fff;border-radius:99px;padding:.1cqw .45cqw}
.mt-in{padding:.7cqw .8cqw;display:grid;gap:.45cqw;align-content:start}.mt-n{font-size:1.2cqw}.mt-d{margin:0;color:#5d6a6e;line-height:1.35}.mt-m{color:#0a8fa8;text-decoration:underline}
.mt-chips{display:flex;gap:.4cqw}.mt-chips span{display:grid;border:1px solid #dfe4e8;border-radius:.5cqw;padding:.3cqw .6cqw;color:#5d6a6e}.mt-chips span b{color:#1f2a2e}.mt-chips .on{border-color:var(--c);background:#f2fafc}
.mt-rate,.mt-col{border:1px solid #e3e8ea;border-radius:.6cqw;padding:.5cqw;display:grid;gap:.3cqw}
.mt-rh{display:flex;align-items:center;gap:.4cqw;flex-wrap:wrap}.mt-rh small{margin-left:auto;color:#5d6a6e;text-decoration:underline dotted}
:is(.mt-rh,.mt-rc) .d{display:inline-block;width:.6cqw;height:.6cqw;border-radius:50%}:is(.mt-rh,.mt-rc) .d.nr{background:#f0a430}:is(.mt-rh,.mt-rc) .d.st{background:#00b4d5}
.tpl2 em{font-style:normal;border-radius:99px;padding:.05cqw .5cqw;font-weight:600;white-space:nowrap}.tpl2 em.nr{background:#fdf0dc;color:#a5701b}.tpl2 em.st{background:#e7f6f9;color:#0a8fa8}
.mr{display:grid;grid-template-columns:auto 1fr auto;gap:.5cqw;align-items:center;padding:.3cqw .4cqw;border-radius:.4cqw}.mr.on{background:#f2fafc}
.mr>i{width:.9cqw;height:.9cqw;border-radius:50%;border:1px solid #9aa5a9}.mr.on>i{border:.25cqw solid var(--c)}
.mr b{display:grid;justify-items:end;font-size:1.05cqw;line-height:1.15}.mr b small{font-size:.6cqw;color:#0a8fa8}.mr b em{padding:0;font-weight:400;color:#5d6a6e;font-size:.6cqw}
.mt-cols{display:grid;grid-template-columns:1fr 1fr;gap:.5cqw}.mt-add{font-style:normal;justify-self:center;background:var(--c);color:#fff;font-weight:600;border-radius:.4cqw;padding:.35cqw 1.4cqw;margin-top:.2cqw}
.mt-tx{justify-self:end;color:#5d6a6e}
.mt-am{display:flex;flex-wrap:wrap;gap:.3cqw}.mt-am span{border:1px solid #dfe4e8;border-radius:99px;padding:.05cqw .5cqw;color:#5d6a6e}
.mt-xr{letter-spacing:.12em;font-weight:600;color:#5d6a6e}.mt-exp{border:1px solid #e3e8ea;border-radius:.6cqw;padding:.5cqw;display:grid;gap:.4cqw}
.mt-exp>b{display:flex;align-items:center;gap:.4cqw}.mt-exp>b u{text-decoration:none;background:#14262b;color:#fff;border-radius:99px;padding:0 .4cqw;font-size:.85em}
.mt-rcs{display:grid;grid-template-columns:1fr 1fr;gap:.4cqw}.mt-rc{border:1px solid #e3e8ea;border-radius:.5cqw;padding:.5cqw;display:grid;gap:.25cqw;justify-items:start}
.mt-rc strong{font-size:1.3cqw}.mt-rc small{color:#5d6a6e}.mt-rc em.soc{background:#14262b;color:#fff}.mt-rc .mt-add{justify-self:stretch;text-align:center}
.mt-p.l .mt-room{grid-template-columns:30% 1fr}.mt-p.l .mt-f{height:auto}
.mt-p.c .mt-room{grid-template-columns:28% 1fr;align-items:start}.mt-p.c .mt-f{height:7cqw}
.mt-med{display:flex;gap:1.2cqw;align-items:center;border:.15cqw dashed #9fd9e6;border-radius:.6cqw;background:#fff;padding:.7cqw 1.2cqw;font-size:1cqw}.mt-med b{color:#0a6f83;white-space:nowrap}.mt-med span{color:#374245}
.tpl2 .mtp-n{margin:0;padding:.5cqw;text-align:center;font-weight:600;background:#fff;border-top:1px solid #e3e8ea}
.mt-bus{display:grid;grid-template-columns:1fr 1fr 1fr auto;gap:.4cqw;padding:.6cqw .8cqw 0}.mt-bus span{display:grid;background:#fff;border:1px solid #dfe4e8;border-radius:.4cqw;padding:.25cqw .5cqw;white-space:nowrap;overflow:hidden}
.mt-bus small{color:#8a979b;font-size:.85em}.mt-bus .pc{color:#0a8fa8;font-weight:600}.mt-bus i{font-style:normal;align-self:stretch;display:grid;place-items:center;background:var(--c);color:#fff;font-weight:600;border-radius:.4cqw;padding:0 .8cqw}
.mt-club{display:flex;justify-content:space-between;align-items:center;margin:.5cqw .8cqw 0;background:#e7f6f9;color:#0a6f83;border-radius:.4cqw;padding:.3cqw .6cqw}.mt-club i{font-style:normal;background:var(--c);color:#fff;border-radius:.3cqw;padding:.1cqw .5cqw;font-weight:600}
.mt-room{margin-top:.6cqw}
/* «≥2» del calendario del motor, legible */
.bm .min{font-size:.8cqw;top:.1cqw;right:.25cqw;background:#fff4dc;border-radius:.2cqw;padding:0 .2cqw}.bm-pie .min{font-size:.75cqw}
.mt-p{grid-template-rows:auto auto auto 1fr auto}.mt-bus span{align-self:start}
.tpl2-g{grid-template-columns:1fr 1.35fr 1.2fr}.mt-p.l .mt-room{grid-template-columns:24% 1fr}.mt-p.l .mr b{font-size:.95cqw}
.mx-c .mx-hd{display:flex;align-items:flex-start;gap:.8cqw}.mx-c .mx-hd b{flex:1}
.mx-i{display:grid;place-items:center;flex:none;width:2.6cqw;height:2.6cqw;border-radius:.6cqw;background:#e7f6f9;color:#0a8fa8}.mx-i svg{width:1.6cqw;height:1.6cqw}
.mx-c.on .mx-i{background:#00b4d5;color:var(--on-cyan)}
.mx-pr{display:grid;justify-items:end;line-height:1.2}.mx-pr small{color:#8a979b}.mx-pr em{font-style:normal;font-weight:600}
.mx-c>div.mx-hd{display:flex;grid-template-columns:none}.mx-c .mx-hd b{grid-row:auto;align-self:center}.mx-pr small{text-align:right;grid-column:auto;grid-row:auto}.mx-pr em{grid-column:auto}
.cd-k.tie,.cdm .h.tie{--c:#F86624}.cd-k.lun,.cdm .h.lun{--c:#14262B}
.bm-logo{color:#0a8fa8}.bm-web i{background:var(--cyan);color:#0d3540;font-weight:600}
.mt-f{background-size:cover!important;background-position:center!important}
.mx-c.on .mx-i{background:#e7f6f9;color:#0a8fa8}
.mx-tel{display:grid;grid-template-columns:auto 1fr;gap:.5cqw}.mx-tel b{display:flex;align-items:center;gap:.4cqw;border:1px solid #1f2a2e;border-radius:.5cqw;padding:0 .8cqw;font-weight:500;color:#1f2a2e}
.mx-tel b .fl{width:1.5cqw;height:1cqw;border-radius:.1cqw;box-shadow:0 0 0 .5px rgba(0,0,0,.15)}
/* movimiento genérico en la pantalla de las cabeceras */
.vbody{position:relative}
.hmov{position:absolute;inset:0;pointer-events:none;z-index:6}
.hmov .cur{position:absolute;width:1.6cqw;height:2cqw;left:var(--x1);top:var(--y1);filter:drop-shadow(0 .1cqw .25cqw rgba(0,0,0,.35));display:none}
.hmov .rip{position:absolute;width:3.2cqw;height:3.2cqw;margin:-1.2cqw 0 0 -1.2cqw;border-radius:50%;border:.2cqw solid rgba(0,180,213,.8);opacity:0;display:none}
.hmov .r1{left:var(--x1);top:var(--y1)}.hmov .r2{left:var(--x2);top:var(--y2)}.hmov .r3{left:var(--x3);top:var(--y3)}
@media (prefers-reduced-motion:no-preference){
 .hmov .cur{display:block;animation:hmcur 12s ease-in-out infinite}
 .hmov .rip{display:block}.hmov .r1{animation:hmrip 12s infinite 1.6s}.hmov .r2{animation:hmrip 12s infinite 5.6s}.hmov .r3{animation:hmrip 12s infinite 9.6s}
 .vbody .mk table tr:nth-child(3) td,.vbody .mk table tr:nth-child(5) td{animation:hmrow 12s infinite}
 .vbody .mk table tr:nth-child(5) td{animation-delay:6s}
 .vbody .pl-grid .bar:nth-of-type(5n){animation:hmbar 12s infinite}
}
@keyframes hmcur{0%{left:85%;top:90%;opacity:0}6%{opacity:1}12%,16%{left:var(--x1);top:var(--y1);transform:none}14%{transform:scale(.8)}
 40%,48%{left:var(--x2);top:var(--y2);transform:none}46%{transform:scale(.8)}72%,80%{left:var(--x3);top:var(--y3);transform:none}78%{transform:scale(.8)}92%{opacity:1}100%{left:85%;top:90%;opacity:0}}
@keyframes hmrip{0%{opacity:.9;transform:scale(.3)}8%{opacity:0;transform:scale(1.6)}100%{opacity:0}}
@keyframes hmrow{0%,20%{background:transparent}25%,40%{background:#fff4cf}55%,100%{background:transparent}}
@keyframes hmbar{0%,30%{filter:none}35%,45%{filter:brightness(1.18) saturate(1.2)}55%,100%{filter:none}}
/* animaciones de cabecera por módulo: sw = cambia un valor, nw = aparece algo nuevo (ciclo de 9 s, sincronizado) */
.sw{display:inline-grid}.sw>s{grid-area:1/1;text-decoration:none}.sw>s+s{opacity:0}
@media (prefers-reduced-motion:no-preference){
 .sw>s:first-child{animation:swA 9s infinite}.sw>s+s{animation:swB 9s infinite}
 .nw{animation:nwin 9s infinite}
 .hl9{animation:hl9 9s infinite}
}
@keyframes swA{0%,30%{opacity:1}34%,92%{opacity:0}96%,100%{opacity:1}}
@keyframes swB{0%,30%{opacity:0;background:transparent}34%{opacity:1;background:#fff1b8}50%,92%{opacity:1;background:transparent}96%,100%{opacity:0}}
@keyframes nwin{0%,14%{opacity:0;transform:translateY(-.4cqw)}20%{opacity:1;transform:none;background:#fff4cf}45%,92%{opacity:1;background:transparent}97%,100%{opacity:0}}
@keyframes hl9{0%,30%{box-shadow:none}34%,55%{box-shadow:0 0 0 .2cqw rgba(0,180,213,.55)}60%,100%{box-shadow:none}}
.pe.ok{background:#dcefe2!important;color:#2e7a4a!important}
/* animaciones de cabecera por módulo (ciclo de 9 s) */
.t9{position:absolute;right:2cqw;bottom:2cqw;z-index:3;background:#1f2a2e;color:#fff;border-radius:.4cqw;padding:.6cqw 1.2cqw;font-size:.95em;opacity:0;box-shadow:0 .4cqw 1.2cqw rgba(0,0,0,.18)}
.pco{position:relative}
@media (prefers-reduced-motion:no-preference){
 .pr9{animation:pr9 9s infinite}
 .t9{animation:t9 9s infinite}
 .in9{animation:in9 9s infinite}.ow9{animation:ow9 9s infinite}
 .pw9{animation:pw9 9s infinite}.gn9{animation:gn9 9s infinite}
 .bw9{animation:bw9 9s infinite}.ck9{animation:ck9 9s infinite}
 .sm tr.fr9 td{animation:fr9 9s infinite}
 .eq-trazo{stroke-dasharray:1;stroke-dashoffset:1;animation:eqf 9s infinite}
 .eq-b .ok{animation:hl9 9s infinite}
}
@keyframes pr9{0%,20%{transform:none;box-shadow:none}24%{transform:scale(.94);box-shadow:0 0 0 .25cqw rgba(0,180,213,.6)}30%{transform:none;box-shadow:0 0 0 .25cqw rgba(0,180,213,.6)}36%,100%{box-shadow:none}}
@keyframes t9{0%,30%{opacity:0;transform:translateY(-.5cqw)}35%,80%{opacity:1;transform:none}86%,100%{opacity:0}}
@keyframes in9{0%,32%{opacity:0;transform:translateX(-1cqw)}38%{opacity:1;transform:none;background:#fff4cf}55%,92%{opacity:1;background:transparent}97%,100%{opacity:0}}
@keyframes ow9{0%,28%{opacity:1}34%,94%{opacity:.12}100%{opacity:1}}
@keyframes pw9{0%,30%{color:var(--warn);background:var(--warn-soft)}34%,92%{color:var(--ok);background:var(--ok-soft)}96%,100%{color:var(--warn);background:var(--warn-soft)}}
@keyframes gn9{0%,30%{}34%,92%{background:#3f8f5a;color:#fff}}
@keyframes bw9{0%,30%{width:50%}38%,92%{width:100%}97%,100%{width:50%}}
@keyframes ck9{0%,30%{background:#fbefd9;color:#a5701b}34%,92%{background:#dcefe2;color:#2e7a4a}96%,100%{background:#fbefd9;color:#a5701b}}
@keyframes fr9{0%,30%{color:inherit}34%,92%{color:#c0262d}96%,100%{color:inherit}}
@keyframes eqf{0%,4%{stroke-dashoffset:1}30%,92%{stroke-dashoffset:0}97%,100%{stroke-dashoffset:1}}
.cvx{position:relative}.cvx-call{position:absolute;inset:0;opacity:0}
@media (prefers-reduced-motion:no-preference){.cvx-call{animation:call9 9s infinite}}
@keyframes call9{0%,30%{opacity:0}35%,86%{opacity:1}91%,100%{opacity:0}}
.cv-m p{background:#e5f3f8;border:1px solid #c6e5ee;border-radius:.5cqw;padding:.45cqw .9cqw;justify-self:start}.cv-m.yo p{background:#e4f3e7;border-color:#c4e3cb}
.cv-in{position:relative}.cv-ty{position:absolute;left:1cqw;top:.8cqw;color:#1f2a2e;white-space:nowrap;overflow:hidden;max-width:0;border-right:.12cqw solid #1f2a2e}
.in21{opacity:1}
@media (prefers-reduced-motion:no-preference){
 .cv-ty{animation:ty9 9s infinite}.cv-ph{animation:ph9 9s infinite}.in21{animation:in21 9s infinite}
}
@media (prefers-reduced-motion:reduce){.cv-ty{display:none}}
@keyframes ty9{0%,3%{max-width:0;opacity:0}4%{max-width:0;opacity:1;animation-timing-function:steps(48)}18%{max-width:48ch;opacity:1;animation-timing-function:steps(1)}20.5%,100%{max-width:0;opacity:0}}
@keyframes ph9{0%,3%{opacity:1}4%,20%{opacity:0}21%,100%{opacity:1}}
@keyframes in21{0%,20%{opacity:0;transform:translateY(.4cqw)}23%{opacity:1;transform:none}92%{opacity:1}97%,100%{opacity:0}}
/* Conversaciones: cabecera con iconos, escritura lenta y ratón que pulsa la videollamada (ciclo de 12 s) */
.cv-h{align-items:center}.cv-ic{gap:0;align-items:center}.cv-ic i{display:grid;place-items:center;background:#eef1f3;padding:.45cqw .55cqw}.cv-ic i:first-child,.cv-ic b+i{border-radius:.4cqw 0 0 .4cqw}.cv-ic i:last-child,.cv-ic i:has(+b){border-radius:0 .4cqw .4cqw 0}.cv-ic b{width:.6cqw}.cv-ic svg{width:1.3cqw;height:1.3cqw}
.cv-cur{position:absolute;z-index:5;width:1.4cqw;left:40%;top:92%;opacity:0;pointer-events:none}
@media (prefers-reduced-motion:no-preference){
 .cvx .cv-ty{animation:ty12 12s infinite}.cvx .cv-ph{animation:ph12 12s infinite}.cvx .in21{animation:in12 12s infinite}
 .cvx-call{animation:call12 12s infinite}.cv-cur{animation:cur12 12s infinite}.cvx .cv-vid{animation:vid12 12s infinite}
}
@keyframes ty12{0%,3%{max-width:0;opacity:0}4%{max-width:0;opacity:1;animation-timing-function:steps(63)}38%{max-width:63ch;opacity:1;animation-timing-function:steps(1)}40%,100%{max-width:0;opacity:0}}
@keyframes ph12{0%,3%{opacity:1}4%,39.9%{opacity:0}40%,100%{opacity:1}}
@keyframes in12{0%,39.9%{opacity:0;transform:translateY(.4cqw)}43%{opacity:1;transform:none;background:transparent}96%{opacity:1}99%,100%{opacity:0}}
@keyframes cur12{0%,42%{opacity:0;left:40%;top:92%;transform:none}44%{opacity:1;left:40%;top:92%}55%{left:var(--cx,81%);top:var(--cy,4.9%);transform:none}57%{transform:scale(.8)}59%{transform:none;opacity:1;left:var(--cx,81%);top:var(--cy,4.9%)}63%,100%{opacity:0;left:var(--cx,81%);top:var(--cy,4.9%)}}
@keyframes vid12{0%,56%{background:#eef1f3;color:inherit}57%,62%{background:#00b4d5;color:var(--on-cyan)}64%,100%{background:#eef1f3;color:inherit}}
@keyframes call12{0%,61%{opacity:0}64%,94%{opacity:1}98%,100%{opacity:0}}
.cv-rl{display:grid;margin-top:.6cqw}.cv-rl div{display:grid;grid-template-columns:4cqw 1fr auto;align-items:center;gap:1cqw;padding:.55cqw .3cqw;border-top:1px solid #e3e8ea}.cv-rl b{font-size:1.2cqw}.cv-rl span{color:#5d6a6e}
.cv-rl em{font-style:normal;font-weight:600;border-radius:99px;padding:.15cqw .8cqw;background:#eef1f3;color:#5d6a6e}.cv-rl em.w{background:#fde4e2;color:#a3241d}.cv-rl em.k{background:#dcefe2;color:#2e7a4a}.cv-rl em.p{background:#fbefd9;color:#a5701b}
/* cifras que cambian: la vieja sale hacia arriba, la nueva entra con salto y su tarjeta se ilumina */
@media (prefers-reduced-motion:no-preference){
 .sw>s:first-child{animation:swA2 9s infinite}.sw>s+s{animation:swB2 9s infinite;border-radius:.3em}
 .as-k:has(.sw),.gb-k .k:has(.sw),.cd-k span:has(.sw),.bin-k div:has(.sw),.box:has(.sw),.at-x div:has(.sw){animation:card9 9s infinite}
 .rf9 td{animation:rf9 9s infinite}.ed9{animation:ed9 9s infinite}.rd9{animation:rd9 9s infinite}
}
@keyframes swA2{0%,30%{opacity:1;transform:none}34%,94%{opacity:0;transform:translateY(-70%)}97%,100%{opacity:1;transform:none}}
@keyframes swB2{0%,30%{opacity:0;transform:translateY(70%)}34%{opacity:1;transform:scale(1.3);background:#ffe27a;box-shadow:0 0 0 .25em #ffe27a}40%{transform:scale(1)}60%{background:#fff1b8;box-shadow:0 0 0 .15em #fff1b8}70%,92%{opacity:1;transform:none;background:transparent;box-shadow:none}96%,100%{opacity:0}}
@keyframes card9{0%,31%{box-shadow:none}35%,58%{box-shadow:0 0 0 .2cqw rgba(0,180,213,.7)}66%,100%{box-shadow:none}}
@keyframes rf9{0%,22%{background:transparent}26%,55%{background:#fff1b8}65%,100%{background:transparent}}
@keyframes ed9{0%,18%{box-shadow:none}22%,34%{box-shadow:inset 0 0 0 .2cqw #00b4d5;background:#fff}40%,100%{box-shadow:none}}
@keyframes rd9{0%,30%{width:50%}38%,92%{width:62.5%}97%,100%{width:50%}}
.cp,.gb,.as,.rdn,.bin,.cdm,.mk.ma{position:relative}.cp .t9,.gb .t9,.as .t9,.rdn .t9,.bin .t9{top:auto;bottom:2cqw}
.cp .t9{right:auto;left:2cqw}
.bin .ch2 rect{transform-box:fill-box;transform-origin:50% 100%}
@media (prefers-reduced-motion:no-preference){
 .bin .ch2 rect:nth-child(4n+1){animation:barA 9s infinite}.bin .ch2 rect:nth-child(4n+2){animation:barB 9s infinite}
 .bin .ch2 rect:nth-child(4n+3){animation:barC 9s infinite}.bin .ch2 rect:nth-child(4n){animation:barD 9s infinite}
}
@keyframes barA{0%,30%,96%,100%{transform:none}38%,90%{transform:scaleY(.68)}}
@keyframes barB{0%,30%,96%,100%{transform:none}38%,90%{transform:scaleY(.8)}}
@keyframes barC{0%,30%,96%,100%{transform:none}38%,90%{transform:scaleY(1.08)}}
@keyframes barD{0%,30%,96%,100%{transform:none}38%,90%{transform:scaleY(.9)}}
.cp .t9{left:30%;right:auto;top:19cqw;bottom:auto}
.tcell{position:relative}.tin{position:absolute;inset:.15cqw .2cqw;display:flex;justify-content:flex-end;align-items:center;background:#fff;border:.15cqw solid #00b4d5;border-radius:.25cqw;padding:0 .5cqw;font-style:normal;opacity:0}
.tin span{display:inline-block;overflow:hidden;white-space:nowrap;width:0;border-right:.12cqw solid #1f2a2e}
@media (prefers-reduced-motion:no-preference){.tin{animation:tin9 9s infinite}.tin span{animation:tint9 9s infinite}}
@keyframes tin9{0%,8%{opacity:0}10%,29%{opacity:1}31%,100%{opacity:0}}
@keyframes tint9{0%,12%{width:0;animation-timing-function:steps(6)}26%,100%{width:6ch}}
.tcx{position:relative}.tcx-b{position:absolute;inset:0;background:#fff;opacity:0}
@media (prefers-reduced-motion:no-preference){.tcx-b{animation:tcx9 9s infinite}.tcx-a{animation:tcxa9 9s infinite}}
@keyframes tcx9{0%,26%{opacity:0}30%,90%{opacity:1}95%,100%{opacity:0}}
@keyframes tcxa9{0%,26%{opacity:1}30%,90%{opacity:0}95%,100%{opacity:1}}
/* Menú Módulos: enlace a la página con todos */
.drop.mega .mega-all{grid-column:1/-1;justify-self:start;margin-top:4px;font-weight:600;color:var(--cyan-deep)}
a.fchip{text-decoration:none;display:inline-block}
a.fchip:hover{border-color:var(--cyan)}
.feat .ico:has(> img.modicon){background:transparent;width:56px;height:56px}.feat .ico > img.icon.modicon{width:56px;height:56px;border-radius:12px}
/* Motor de reservas de cadena (pantallas.motor_cadena) */
.bmc{grid-template-rows:auto minmax(0,1fr)!important}
.bmc-cab{display:flex;align-items:baseline;gap:1cqw;border-bottom:1px solid #e3e8ea;padding-bottom:.5cqw}.bmc-cab b{font:600 1.3cqw var(--body)}.bmc-cab small{font-size:.8cqw;color:#5d6a6e;margin-left:auto}
.bmc-l{display:grid;grid-template-rows:repeat(3,minmax(0,1fr));gap:.7cqw;min-height:0}
.bmc-h{display:grid;grid-template-columns:22% 1fr auto;align-items:center;gap:1cqw;border:1px solid #e3e8ea;border-radius:.7cqw;padding:.5cqw;font-size:.9cqw}
.bmc-f{align-self:stretch;border-radius:.5cqw;min-height:3cqw}
.bmc-f.f0{background:linear-gradient(135deg,#7fd3e6,#2a9fbd 60%,#f6d58a)}.bmc-f.f1{background:linear-gradient(135deg,#f3c9a1,#c97b4a 55%,#6d8fa3)}.bmc-f.f2{background:linear-gradient(135deg,#c9d3e6,#6f7fa8 60%,#2f3b5e)}
.bmc-t{display:grid;gap:.15cqw}.bmc-t>b{font:600 1.15cqw var(--body)}.bmc-t small{color:#5d6a6e;font-size:.8cqw}.bmc-t span b{color:#137a4b}
.bmc-h .bm-go{padding:.45cqw 1cqw;font-size:.85cqw}
.bmc-h.lleno .bmc-f{filter:grayscale(.7);opacity:.7}.bmc-no{color:#b45309;font-weight:600}
.bmc-a{display:flex;gap:.5cqw;margin-top:.2cqw}.bmc-a i{font-style:normal;text-align:center;border:1px solid #1f3d4a;color:#1f3d4a;border-radius:.5cqw;padding:.35cqw .8cqw;font-size:.8cqw}.bmc-a i.ok{background:var(--cyan);border-color:var(--cyan);color:#0d3540;font-weight:600}
@media (prefers-reduced-motion:no-preference){
 .bmk.anim .bmc-h{animation:bmcin 9s infinite both}
 .bmk.anim .bmc-h.c1{animation-delay:.25s}.bmk.anim .bmc-h.c2{animation-delay:.5s}
 .bmk.anim .bmc-a .ok{animation:bmcok 9s infinite both}
}
@keyframes bmcin{0%,44%{opacity:0;transform:translateY(.8cqw)}50%,94%{opacity:1;transform:none}100%{opacity:0}}
@keyframes bmcok{0%,70%{box-shadow:none}76%{box-shadow:0 0 0 .45cqw rgba(0,180,213,.35)}82%,100%{box-shadow:none}}
.bmc-f.f0{background:url(../img/cadena/hotel-sol.webp) center/cover}.bmc-f.f1{background:url(../img/cadena/hotel-tierra.webp) center/cover}.bmc-f.f2{background:url(../img/cadena/hotel-luna.webp) center/cover}
/* Motor de cadena: hotel lleno (pantallas.motor_cadena_lleno) */
.cl{background:#f4f7f9;padding:1.6cqw;display:grid;gap:1.1cqw;align-content:start;font-size:1.05cqw}
.cl-bus,.hf-bus{display:grid;grid-template-columns:1.3fr 1fr 1fr auto;gap:.8cqw;background:#fff;border:1px solid #e3e8ea;border-radius:.9cqw;padding:.8cqw}
.cl-bus span,.hf-bus span{display:grid;border:1px solid #dfe5e8;border-radius:.6cqw;padding:.4cqw .8cqw;font-weight:600}.cl-bus small,.hf-bus small{font-size:.75cqw;letter-spacing:.1em;text-transform:uppercase;color:#8a979b;font-weight:500}
.cl-bus i,.hf-bus i{font-style:normal;display:grid;place-items:center;background:var(--cyan);color:#0d3540;font-weight:600;border-radius:.6cqw;padding:0 2cqw}
.cl-fi,.hf-fi{display:flex;align-items:center;gap:1.2cqw;color:#5d6a6e;font-size:.95cqw}.cl-fi b,.hf-fi b{color:#1f2a2e;font:600 1.3cqw var(--body)}.cl-fi u,.hf-fi u{color:#0a8fa8}
.cl-no{display:grid;grid-template-columns:1fr auto;align-items:center;gap:1.4cqw;background:#fff7ed;border:1px solid #fed7aa;border-radius:.9cqw;padding:1.1cqw 1.3cqw}
.cl-no>div:first-child{display:grid;gap:.2cqw}.cl-no b{color:#9a3412;font-size:1.25cqw}.cl-no small{color:#7c5a43}
.cl-av{display:flex;gap:.6cqw;align-items:stretch}.cl-av span{display:grid;background:#fff;border:1px solid #dfe5e8;border-radius:.6cqw;padding:.3cqw .8cqw;color:#8a979b;font-size:.8cqw}.cl-av u{text-decoration:none;color:#1f2a2e;font-size:1cqw}
.cl-av i{font-style:normal;display:grid;place-items:center;background:#1f3d4a;color:#fff;font-weight:600;border-radius:.6cqw;padding:0 1.4cqw}
.cl-t{display:flex;align-items:baseline;gap:1cqw}.cl-t b{font:600 1.45cqw var(--body)}.cl-t small{color:#5d6a6e}
.cl-l{display:grid;grid-template-columns:repeat(3,1fr);gap:1cqw}
.cl-h{background:#fff;border:1px solid #e3e8ea;border-radius:.9cqw;overflow:hidden;display:grid;grid-template-rows:7.5cqw auto auto}
.cl-f{display:block}.cl-h>div{display:grid;gap:.15cqw;padding:.8cqw 1cqw 0}.cl-h b{font:600 1.2cqw var(--body)}.cl-h small{color:#5d6a6e;font-size:.85cqw}.cl-h em{font-style:normal;font-weight:600;color:#137a4b}
.cl-h i{font-style:normal;margin:.8cqw 1cqw 1cqw;text-align:center;background:var(--cyan);color:#0d3540;font-weight:600;border-radius:.6cqw;padding:.45cqw}
/* Motor de cadena: página propia de un hotel (pantallas.motor_hotel_fijo) */
.hf{--b:#8a5a3c;grid-template-rows:auto 1fr;background:#f7f4f1;font-size:1.05cqw}
.hf .bm-logo{color:var(--b)}.hf .bm-web i{background:var(--b);color:#fff}
.hf-b{display:grid;gap:1cqw;padding:1.4cqw 1.6cqw;align-content:start}
.hf-bus{grid-template-columns:1fr 1fr 1fr auto}.hf-bus i{background:var(--b);color:#fff}
.hf-fi b{color:var(--b)}.hf-fi u{color:var(--b)}
.hf-so{background:#fff;border:1px solid #ece4dc;border-radius:.9cqw;padding:1cqw 1.2cqw;display:grid;gap:.8cqw}.hf-so>b{font-size:1.15cqw}.hf-so>b small{color:#8a979b}
.hf-g{display:grid;grid-template-columns:2fr 1fr 1fr;gap:.6cqw;height:9cqw}.hf-g span{border-radius:.6cqw}
.hf-sv{display:flex;flex-wrap:wrap;gap:.5cqw}.hf-sv i{font-style:normal;background:#f3ece5;color:#6b4a33;border-radius:99px;padding:.2cqw .9cqw;font-size:.9cqw}
.hf-so p{margin:0;color:#5d6a6e;font-size:.95cqw}
.hf-h{display:grid;grid-template-columns:9cqw 1fr auto auto;align-items:center;gap:1.2cqw;background:#fff;border:1px solid #ece4dc;border-radius:.9cqw;padding:.7cqw}
.hf-f{align-self:stretch;min-height:5cqw;border-radius:.6cqw}.hf-h>div{display:grid}.hf-h b{font:600 1.25cqw var(--body)}.hf-h small{color:#5d6a6e}.hf-p em{font-style:normal;font-weight:600;color:#137a4b}
.hf-h i{font-style:normal;background:var(--b);color:#fff;font-weight:600;border-radius:.6cqw;padding:.5cqw 1.4cqw}
/* Central de reservas: tentativa (pantallas.cc_tentativa) */
.cc{grid-template-rows:auto 1fr;background:#f4f7f9;font-size:1cqw}
.cc-top{display:flex;align-items:center;gap:1cqw;background:#fff;border-bottom:1px solid #e3e8ea;padding:.9cqw 1.4cqw}.cc-top b{font:600 1.35cqw var(--body);margin-right:.4cqw}
.cc-top i{font-style:normal;background:var(--cyan);color:#0d3540;font-weight:600;border-radius:.5cqw;padding:.4cqw 1cqw}.cc-top i.alt{background:#fff;border:1px solid #cfd8dc;color:#1f2a2e;font-weight:500}
.cc-crono{margin-left:auto;color:#5d6a6e;font-variant-numeric:tabular-nums}
.cc-st{background:#e7f6f9;color:#0a6f86;border-radius:99px;padding:.15cqw .8cqw;font-weight:600}.cc-st.won{background:#e3f5ea;color:#137a4b}
.cc-b{display:grid;grid-template-columns:24% 1fr;gap:1.2cqw;padding:1.2cqw 1.4cqw;min-height:0}
.cc-cli{background:#fff;border:1px solid #e3e8ea;border-radius:.8cqw;padding:1cqw;display:grid;gap:.35cqw;align-content:start}.cc-cli small{letter-spacing:.1em;text-transform:uppercase;color:#0a8fa8;font-weight:600;font-size:.8cqw}
.cc-cli>b{font:600 1.3cqw var(--body)}.cc-cli>span{color:#5d6a6e}.cc-ok{background:#e3f5ea;color:#137a4b;border-radius:.5cqw;padding:.35cqw .6cqw;font-size:.9cqw;font-weight:600}
.cc-se{background:#fff;border:1px solid #e3e8ea;border-radius:.8cqw;padding:1cqw;display:grid;gap:.7cqw;align-content:start}
.cc-q{display:grid;grid-template-columns:1fr 1fr 2fr 1fr auto;gap:.6cqw}.cc-q span{display:grid;border:1px solid #dfe5e8;border-radius:.5cqw;padding:.3cqw .6cqw;font-weight:600}.cc-q small{font-size:.7cqw;letter-spacing:.1em;text-transform:uppercase;color:#8a979b;font-weight:500}
.cc-q i{font-style:normal;display:grid;place-items:center;background:#1f3d4a;color:#fff;border-radius:.5cqw;padding:0 1cqw;font-weight:600}
.cc-gs>small{color:#5d6a6e}.cc-gs>div{display:grid;grid-template-columns:repeat(3,1fr);gap:1cqw;margin-top:.3cqw}
.cc-gr{display:grid;grid-template-columns:auto 1fr;align-items:end;gap:.6cqw}.cc-gr small{font-weight:600}.cc-gr span{display:flex;align-items:flex-end;gap:.3cqw;height:3.2cqw;border-bottom:1px solid #dfe5e8}
.cc-gr i{flex:1;background:#7fd3e6;border-radius:.2cqw .2cqw 0 0}
.cc-th,.cc-op{display:grid;grid-template-columns:1.1fr 1.4fr .6fr .8fr .5fr;gap:.6cqw;align-items:center;padding:.35cqw .6cqw}
.cc-th{color:#8a979b;font-size:.85cqw;border-bottom:1px solid #e3e8ea}.cc-op{border-radius:.4cqw}.cc-op.on{background:#e7f6f9;box-shadow:inset 0 0 0 1px #7fd3e6}
.cc-op em{font-style:normal;font-weight:600}.cc-op u{text-decoration:none;text-align:center;border:1px solid #dfe5e8;border-radius:.3cqw;background:#fff}
.cc-seg{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #e3e8ea;padding-top:.5cqw}.cc-seg b{font-size:1.25cqw}
/* Central de reservas: tarjeta y asistente (pantallas.cc_formalizar) */
.cf{display:grid;grid-template-columns:42% 1fr;gap:1.6cqw;padding:1.6cqw;background:#f4f7f9;font-size:1.05cqw}
.cf-web{background:#fff;border:1px solid #e3e8ea;border-radius:1cqw;padding:1.4cqw;display:grid;gap:.8cqw;align-content:start}
.cf-h{display:flex;align-items:baseline;justify-content:space-between}.cf-h small{color:#5d6a6e}.cf-web p{margin:0;color:#5d6a6e}
.cf-f{display:grid;border:1px solid #dfe5e8;border-radius:.6cqw;padding:.4cqw .8cqw;font-weight:600}.cf-f small{font-size:.75cqw;letter-spacing:.1em;text-transform:uppercase;color:#8a979b;font-weight:500}
.cf-f.on{border-color:var(--cyan);box-shadow:0 0 0 .2cqw #d5f1f8}.cf-2{display:grid;grid-template-columns:1fr 1fr;gap:.8cqw}
.cf-web>i{font-style:normal;text-align:center;background:var(--cyan);color:#0d3540;font-weight:600;border-radius:.6cqw;padding:.6cqw}.cf-s{text-align:center;color:#5d6a6e}
.cf-wz{background:#fff;border:1px solid #e3e8ea;border-radius:1cqw;padding:1.4cqw;display:grid;gap:.6cqw;align-content:start;box-shadow:0 6px 20px rgba(20,38,43,.1)}
.cf-wh{display:flex;justify-content:space-between;align-items:baseline;border-bottom:1px solid #e3e8ea;padding-bottom:.6cqw}.cf-wh b{font:600 1.45cqw var(--body)}.cf-wh span{color:#5d6a6e}
.cf-ln{display:flex;justify-content:space-between;padding:.25cqw 0}.cf-ln span{color:#5d6a6e}.cf-ln .ok{color:#137a4b}.cf-ln.ex{background:#e7f6f9;border-radius:.4cqw;padding:.35cqw .6cqw}
.cf-res{border:1px solid #e3e8ea;border-radius:.6cqw;padding:.6cqw .8cqw;display:grid}.cf-res span{color:#5d6a6e}
.cf-act{display:flex;align-items:center;justify-content:space-between;margin-top:.3cqw}.cf-act i{font-style:normal;background:var(--cyan);color:#0d3540;font-weight:600;border-radius:.6cqw;padding:.55cqw 1.6cqw}
.cc{font-size:1.15cqw}.cc-b{align-items:stretch}.cc-se{gap:1cqw}.cc-gr span{height:5cqw}.cc-th,.cc-op{padding:.6cqw .7cqw}.cc-cli{gap:.6cqw}
.cf{font-size:1.3cqw;align-items:stretch}.cf-web,.cf-wz{gap:1.05cqw;padding:1.6cqw}.cf-f{padding:.6cqw .9cqw}.cf-ln{padding:.45cqw 0}
.cf{font-size:1.42cqw}
/* Cifras de la portada en pestañas (build.cifras) */
.facts.cifras .inner{display:block}
.cf-tabs{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:0 auto 26px}
.cf-tabs button{font:600 14px var(--body);color:var(--muted);background:var(--white);border:1px solid var(--line);border-radius:99px;padding:8px 16px;cursor:pointer}
.cf-tabs button:hover{color:var(--ink);border-color:var(--cyan)}
.cf-tabs button[aria-selected="true"]{background:var(--cyan);border-color:var(--cyan);color:var(--on-cyan)}
.cf-tabs button:focus-visible{outline:2px solid var(--cyan-deep);outline-offset:2px}
.cf-p{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr))}
.cf-p[hidden]{display:none}
.facts.cifras .fact{border-right:1px solid var(--line)}.facts.cifras .fact:last-child{border-right:0}
.facts.cifras a.fact{text-decoration:none;color:inherit;border-radius:12px;transition:background .15s}
.facts.cifras a.fact:hover{background:var(--cyan-soft)}
.facts.cifras a.fact span{color:var(--muted)}
.facts.cifras strong{font-variant-numeric:tabular-nums}
.cf-nota{text-align:center;color:var(--muted);font-size:13px;margin:18px 0 0}
@media (max-width:900px){.cf-p{grid-template-columns:repeat(2,minmax(0,1fr));row-gap:22px}.facts.cifras .fact{border-right:0}}
@media (max-width:640px){.cf-tabs{flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;scrollbar-width:none;margin-inline:-16px;padding:2px 16px}.cf-tabs::-webkit-scrollbar{display:none}.cf-tabs button{flex:none}}
/* Cabeceras propias de las soluciones (pantallas.apto_llegadas, camping_parcelas, vivienda_ruta, baleares_its, hotel_hoy) */
.hx{background:#f4f7f9;padding:1.4cqw 1.6cqw;display:grid;gap:1cqw;align-content:start;font-size:1.05cqw}
.hx-h{display:flex;align-items:baseline;justify-content:space-between}.hx-h b{font:600 1.5cqw var(--body)}.hx-h span{color:#5d6a6e}
.hx-k{display:grid;grid-template-columns:repeat(4,1fr);gap:.8cqw}
.hx-k>div{background:#fff;border:1px solid #e3e8ea;border-radius:.7cqw;padding:.7cqw .9cqw;display:grid}.hx-k small{font-size:.75cqw;letter-spacing:.08em;text-transform:uppercase;color:#8a979b;font-weight:600}
.hx-k b{font:600 1.7cqw var(--body)}.hx-k>div>span{color:#5d6a6e;font-size:.85cqw}.hx-k .hi{background:var(--cyan);border-color:var(--cyan)}.hx-k .hi small,.hx-k .hi>span{color:#0d3540}.hx-k .hi b{color:#0d3540}
.hx-r{display:grid;grid-template-columns:.9fr 1.3fr .8fr .6fr 1.4fr;gap:.8cqw;align-items:center;background:#fff;border:1px solid #e3e8ea;border-radius:.6cqw;padding:.55cqw .9cqw}
.hx-r.th{background:none;border:0;padding-block:0;color:#8a979b;font-size:.85cqw}.hx-r>span small{display:block;color:#8a979b;font-size:.85cqw}
.hx-r i{font-style:normal;display:inline-grid;place-items:center;width:1.6cqw;height:1.6cqw;border-radius:50%}.hx-r i.ok{background:#e3f5ea;color:#137a4b}.hx-r i.no{background:#fff4dc;color:#a5760a}
.hx-l{color:#0a6f86;font-weight:600}.hx-n{background:#e7f6f9;color:#0a6f86;border-radius:.6cqw;padding:.55cqw .9cqw}
.hx-r.b{grid-template-columns:1fr 1.4fr .8fr 1.2fr .5fr}.hx-d{justify-self:end;background:#e3f5ea;color:#137a4b;border-radius:99px;padding:0 .7cqw;font-weight:600}.hx-d:empty{display:none}
.hx-pl{background:#fff;border:1px solid #e3e8ea;border-radius:.7cqw;padding:.6cqw;display:grid;gap:.35cqw}
.hx-p{display:grid;grid-template-columns:7.5cqw 1fr;align-items:center;gap:.6cqw}.hx-p.th{grid-template-columns:7.5cqw repeat(7,1fr);color:#8a979b;font-size:.85cqw;text-align:center}
.hx-p>span b{display:block;font-size:.95cqw}.hx-p>span small{color:#8a979b;font-size:.8cqw}
.hx-pg{display:grid;grid-template-columns:repeat(7,1fr);gap:.25cqw;background:repeating-linear-gradient(90deg,#f4f7f9 0 calc(100%/7 - .25cqw),transparent 0 calc(100%/7));border-radius:.3cqw;min-height:2.1cqw}
.hx-pg i{font-style:normal;border-radius:.35cqw;padding:.35cqw .6cqw;color:#fff;font-size:.85cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hx-pg .c1{background:#3a9ad9}.hx-pg .c2{background:#2e9e6a}.hx-pg .c3{background:#e0a32e}.hx-pg .c4{background:#1f3d4a}
.hx-z{display:flex;gap:.6cqw}.hx-z span{background:#fff;border:1px solid #e3e8ea;border-radius:99px;padding:.3cqw 1cqw;font-weight:600}.hx-z span small{color:#8a979b;font-weight:400;margin-left:.4cqw}.hx-z .on{border-color:var(--cyan);background:#e7f6f9}
.hx-sl{display:grid;gap:.45cqw}
.hx-s{display:grid;grid-template-columns:4cqw 1.2cqw 1fr auto;align-items:center;gap:.8cqw;background:#fff;border:1px solid #e3e8ea;border-radius:.6cqw;padding:.5cqw .9cqw}
.hx-s .h{font-weight:600;font-variant-numeric:tabular-nums}.hx-s u{width:1cqw;height:1cqw;border-radius:50%;background:#cfd8dc}.hx-s div b{display:block}.hx-s small{color:#8a979b}
.hx-s i{font-style:normal;border-radius:99px;padding:.1cqw .8cqw;background:#f1f4f6;color:#5d6a6e;font-weight:600}
.hx-s.hecho u{background:#2e9e6a}.hx-s.hecho i{background:#e3f5ea;color:#137a4b}.hx-s.ahora{border-color:var(--cyan);box-shadow:0 0 0 .2cqw #d5f1f8}.hx-s.ahora u{background:var(--cyan)}.hx-s.ahora i{background:var(--cyan);color:#0d3540}
.hx-a{display:grid;grid-template-columns:1fr 1fr;gap:.8cqw}.hx-a div{background:#fff;border:1px solid #e3e8ea;border-radius:.7cqw;padding:.8cqw 1cqw;display:grid;gap:.2cqw}
.hx-a small{font-size:.75cqw;letter-spacing:.08em;text-transform:uppercase;color:#0a8fa8;font-weight:600}.hx-a b{font-weight:600}
.mk.hx{grid-template-rows:none;grid-auto-rows:min-content;align-content:start}
.hx{font-size:1.2cqw;gap:1.1cqw}.hx-h b{font-size:1.7cqw}.hx-k b{font-size:2cqw}.hx-k small{font-size:.85cqw}.hx-k>div>span{font-size:.95cqw}
.hx-r{padding:.7cqw 1cqw}.hx-r.th{font-size:.95cqw}.hx-r.h{grid-template-columns:1.2fr 1.2fr .6fr 1.2fr}
.hx-p>span b{font-size:1.05cqw}.hx-pg{min-height:2.5cqw}.hx-pg i{font-size:.95cqw}.hx-s{padding:.6cqw 1cqw}
/* Movimiento de las cabeceras de soluciones: valores que cambian (hx-sw) y filas que entran (hx-nw) */
.hx-sw{display:inline-grid}.hx-sw>span{grid-area:1/1}.hx-sw .o{visibility:hidden}
@media (prefers-reduced-motion:no-preference){
 .hx.anim .hx-sw .o{visibility:visible;animation:bmo 9s infinite both}
 .hx.anim .hx-sw .n{animation:bmn 9s infinite both}
 .hx.anim .hx-nw{animation:hxin 9s infinite both}
}
@keyframes hxin{0%,30%{opacity:0;transform:translateY(-.6cqw)}36%,92%{opacity:1;transform:none}100%{opacity:0}}
/* Bloques explicados nuevos (pantallas.pisos_tarea, tpv_cierre, crm_ficha, spa_dia) */
.mk.xp{grid-template-columns:1fr 1.1fr;grid-template-rows:none;gap:1.2cqw;align-items:start}
.xp-l,.xp-c{background:#fff;border:1px solid #e3e8ea;border-radius:.9cqw;padding:1.1cqw;display:grid;gap:.6cqw}
.xp-h{display:flex;align-items:baseline;justify-content:space-between;gap:1cqw}.xp-h b{font:600 1.45cqw var(--body)}.xp-h small,.xp-t{color:#5d6a6e;font-size:.95cqw}
.xp-r{display:grid;grid-template-columns:5.5cqw 1fr auto;align-items:center;gap:.8cqw;border:1px solid #e3e8ea;border-radius:.6cqw;padding:.5cqw .8cqw}
.xp-r.on{border-color:var(--cyan);box-shadow:0 0 0 .2cqw #d5f1f8}.xp-r>span{color:#5d6a6e}
.xp-r i{font-style:normal;border-radius:99px;padding:.1cqw .8cqw;background:#f1f4f6;color:#5d6a6e;font-weight:600;font-size:.9cqw}
.xp-r i.ok{background:#e3f5ea;color:#137a4b}.xp-r i.ah{background:#e7f6f9;color:#0a6f86}.xp-r i.no{background:#fde8d6;color:#c2410c}
.xp-av{display:flex;flex-wrap:wrap;gap:.5cqw}.xp-av span{background:#fff4dc;color:#8a5a0a;border-radius:99px;padding:.2cqw .8cqw;font-weight:600;font-size:.95cqw}
.xp-ck{list-style:none;margin:0;padding:0;display:grid;gap:.35cqw}.xp-ck li{display:flex;align-items:center;gap:.6cqw}.xp-ck u{display:grid;place-items:center;width:1.4cqw;height:1.4cqw;border:1px solid #cfd8dc;border-radius:.3cqw;text-decoration:none;color:#fff;font-size:.9cqw}
.xp-ck li.ok u{background:#2e9e6a;border-color:#2e9e6a}.xp-ck li.ok{color:#5d6a6e;text-decoration:line-through}
.xp-ln{display:grid;gap:.1cqw;background:#f4f7f9;border-radius:.6cqw;padding:.55cqw .8cqw}.xp-ln small{font-size:.8cqw;letter-spacing:.08em;text-transform:uppercase;color:#0a8fa8;font-weight:600}
.xp-ln.nw{background:#e3f5ea}.xp-ln.nw small{color:#137a4b}
.xp-k{display:grid;grid-template-columns:repeat(3,1fr);gap:.6cqw}.xp-k>div{border:1px solid #e3e8ea;border-radius:.6cqw;padding:.5cqw .7cqw;display:grid}
.xp-k small{font-size:.8cqw;letter-spacing:.08em;text-transform:uppercase;color:#8a979b;font-weight:600}.xp-k b{font:600 1.6cqw var(--body)}.xp-k .ok{background:#e3f5ea;border-color:#bfe8cd}
.xp-b{display:flex;gap:.6cqw;justify-content:flex-end}.xp-b i{font-style:normal;background:var(--cyan);color:#0d3540;font-weight:600;border-radius:.6cqw;padding:.5cqw 1.2cqw}.xp-b i.alt{background:#fff;border:1px solid #cfd8dc;color:#1f2a2e;font-weight:500}
.mk.xs{grid-template-rows:none;align-content:start;gap:.8cqw}
.xs-g{display:grid;grid-template-columns:4.5cqw repeat(5,1fr);grid-auto-rows:3.2cqw;gap:.35cqw;background:#fff;border:1px solid #e3e8ea;border-radius:.8cqw;padding:.6cqw}
.xs-g.th{grid-auto-rows:auto;background:none;border:0;padding:0 .6cqw;color:#5d6a6e;font-weight:600;font-size:.95cqw;text-align:center}
.xs-g:not(.th)>span{grid-column:1;color:#8a979b;font-size:.9cqw;align-self:start}
.xs-g>i{font-style:normal;border-radius:.5cqw;padding:.35cqw .6cqw;color:#fff;display:grid;align-content:start;overflow:hidden}.xs-g>i b{font-size:.95cqw}.xs-g>i small{font-size:.8cqw;opacity:.9}
.xs-g .c1{background:#2a9fbd;color:#14262b}.xs-g .c2{background:#8a5a3c}.xs-g .c3{background:#2e9e6a;color:#14262b}.xs-g .c4{background:#1f3d4a}

.mk.xp{font-size:1.32cqw;align-items:stretch;padding:1.6cqw}.xp-l,.xp-c{gap:.9cqw;padding:1.4cqw;align-content:start}
.xp-h b{font-size:1.85cqw}.xp-h small,.xp-t{font-size:1.1cqw}.xp-r{padding:.75cqw 1cqw;grid-template-columns:6.5cqw 1fr auto}.xp-r i{font-size:1.05cqw}
.xp-av span{font-size:1.1cqw;padding:.3cqw 1cqw}.xp-ck{gap:.6cqw}.xp-ck u{width:1.7cqw;height:1.7cqw}.xp-ln{padding:.8cqw 1cqw}.xp-ln small{font-size:.95cqw}
.xp-k b{font-size:2.1cqw}.xp-k small{font-size:.95cqw}.xp-k>div{padding:.8cqw 1cqw}.xp-b{margin-top:auto}.xp-b i{padding:.75cqw 1.5cqw}
.mk.xs{font-size:1.2cqw;padding:1.4cqw}.xs-g{grid-auto-rows:5.4cqw}.xs-g>i b{font-size:1.15cqw}.xs-g>i small{font-size:1cqw}.xs-g.th{font-size:1.1cqw}
.xs-g{grid-auto-rows:4.5cqw}
.mk.xp{font-size:1.55cqw;gap:1.5cqw;padding:1.8cqw}.xp-l,.xp-c{gap:1.05cqw;padding:1.6cqw}.xp-h b{font-size:2.1cqw}.xp-h small,.xp-t{font-size:1.25cqw}
.xp-r{padding:.9cqw 1.1cqw;grid-template-columns:7.5cqw 1fr auto}.xp-r i{font-size:1.2cqw}.xp-av span{font-size:1.25cqw}.xp-ck u{width:2cqw;height:2cqw}
.xp-ln small{font-size:1.05cqw}.xp-ln{padding:.9cqw 1.1cqw}.xp-k b{font-size:2.4cqw}.xp-k small{font-size:1.05cqw}.xp-b i{padding:.85cqw 1.7cqw}
/* Bloques explicados · tandas 2 a 4 */
.xw{display:grid;gap:.7cqw}.xw p{margin:0;border-radius:.9cqw;padding:.7cqw 1cqw;max-width:85%}.xw .in{background:#f1f4f6;justify-self:start}
.xw .out{background:#dcf8c6;justify-self:end}.xw .out small,.xw .tpl small{display:block;color:#5d6a6e;font-size:.95cqw;margin-top:.2cqw}
.xw .tpl{background:#e7f6f9;justify-self:end;border:1px dashed #7fd3e6}.xw .tpl small{margin:0 0 .2cqw}
.xa{background:#1f3d4a;color:#fff;border-radius:.8cqw;padding:1.2cqw 1.4cqw;display:grid;gap:.3cqw}.xa small{color:#7fd3e6;font-size:1.05cqw;letter-spacing:.06em;text-transform:uppercase}.xa b{font:600 2cqw var(--body)}
.xc{display:grid;gap:.7cqw}.xc>div{display:grid;grid-template-columns:12cqw 1fr 4cqw;align-items:center;gap:.8cqw}.xc small{color:#5d6a6e}
.xc span{height:1.4cqw;background:#f1f4f6;border-radius:99px;overflow:hidden}.xc i{display:block;height:100%;background:linear-gradient(90deg,#2e9e6a,#7fd3e6)}
.mk.xpj{font-size:1.4cqw;padding:1.6cqw;grid-template-rows:none;align-content:start;gap:1cqw}
.xpj-c{display:grid;grid-template-columns:repeat(3,1fr);gap:1cqw}.xk{background:#fff;border:1px solid #e3e8ea;border-radius:.8cqw;padding:1cqw;display:grid;gap:.6cqw;align-content:start}
.xk>small{font-size:1cqw;letter-spacing:.08em;text-transform:uppercase;color:#8a979b;font-weight:600}.xk>div{border:1px solid #e3e8ea;border-radius:.6cqw;padding:.6cqw .8cqw;display:grid}
.xk>div span{color:#5d6a6e;font-size:1.1cqw}.xk .ext{border-left:.35cqw solid #e0a32e}.xk .ok{border-left:.35cqw solid #2e9e6a}
.xpj-f{display:grid;grid-template-columns:1.3fr 1fr 1fr;gap:1cqw;align-items:stretch}
.mk.xcm{grid-template-columns:20% 1fr;grid-template-rows:none;gap:1.2cqw;padding:1.6cqw;font-size:1.35cqw}
.xcm-p{background:#fff;border:1px solid #e3e8ea;border-radius:.8cqw;padding:1cqw;display:grid;gap:.5cqw;align-content:start}.xcm-p small{font-size:1cqw;letter-spacing:.08em;text-transform:uppercase;color:#8a979b;font-weight:600}
.xcm-p span{border:1px dashed #cfd8dc;border-radius:.5cqw;padding:.5cqw .7cqw;background:#f9fbfc}
.xcm-v{background:#fff;border:1px solid #e3e8ea;border-radius:.8cqw;padding:1.2cqw;display:grid;gap:1cqw;align-content:start}
.xcm-t{display:flex;align-items:center;gap:1cqw}.xcm-t b{font:600 1.7cqw var(--body);margin-right:auto}.xcm-t span{display:flex;gap:.3cqw}.xcm-t span i{font-style:normal;border:1px solid #cfd8dc;border-radius:.4cqw;padding:.1cqw .5cqw;font-size:1.05cqw}.xcm-t span i.on{background:#1f3d4a;color:#fff;border-color:#1f3d4a}
.xcm-s{font-style:normal;background:var(--cyan);color:#0d3540;font-weight:600;border-radius:.6cqw;padding:.5cqw 1.2cqw}
.xcm-h{background:linear-gradient(135deg,#1f3d4a,#2a9fbd);color:#fff;border-radius:.8cqw;padding:2.4cqw 1.6cqw;display:grid;gap:.3cqw}.xcm-h b{font:600 2.2cqw var(--body)}
.xcm-bus{display:grid;grid-template-columns:1fr 1fr auto;gap:.8cqw;border:2px solid var(--cyan);border-radius:.8cqw;padding:.8cqw}.xcm-bus span{display:grid;color:#8a979b;font-size:1.05cqw}.xcm-bus span b{color:#1f2a2e;font-size:1.3cqw}
.xcm-bus i{font-style:normal;display:grid;place-items:center;background:var(--cyan);color:#0d3540;font-weight:600;border-radius:.6cqw;padding:0 1.6cqw}
.xcm-seo{display:grid;background:#f4f7f9;border-radius:.6cqw;padding:.8cqw 1cqw}.xcm-seo small{font-size:1cqw;letter-spacing:.08em;text-transform:uppercase;color:#0a8fa8;font-weight:600}
.xj{margin:0;background:#1f2a2e;color:#cfe9f0;border-radius:.8cqw;padding:1.2cqw;font:400 1.15cqw/1.5 var(--body);font-variant-numeric:tabular-nums;white-space:pre-wrap}
.xw p{display:block}.xpj .xp-k b{font-size:1.7cqw}.xpj .xp-k>div{padding:.6cqw .8cqw}
/* Artículo destacado del blog en una columna: la foto con su altura propia (Safari resolvía el 100 % contra toda la tarjeta y el texto quedaba encima) */
@media (max-width:900px){.post.feature img{height:auto;aspect-ratio:16/9}}
/* «Datos en directo»: punto verde que late (quieto si el dispositivo pide menos movimiento) */
.cf-nota{display:flex;align-items:center;justify-content:center;gap:8px;font-weight:500}
/* Fondo de burbujas en el móvil: la imagen es apaisada y con «cover» solo se veía su franja central, con las burbujas a media altura; se ajusta a la altura de la zona de texto y arranca arriba */
@media (max-width:640px){.hero{background-size:auto 62%;background-position:center top}}
/* Móviles con movimiento (pantallas.parte_movil, ticket_tbai, ticket_igic, grupo_partes, villa_llegada, hoja_movil) */
@media (prefers-reduced-motion:no-preference){
 .app.anim .hx-sw .o{visibility:visible;animation:bmo 9s infinite both}
 .app.anim .hx-sw .n{animation:bmn 9s infinite both}
 .app.anim .hx-nw{animation:apin 9s infinite both}
}
@keyframes apin{0%,30%{opacity:0;transform:translateY(-4px)}36%,92%{opacity:1;transform:none}100%{opacity:0}}
.app .ln small{font-size:.9em}
.app .tbai{grid-template-columns:auto 1fr;align-items:center;gap:6px}.app .tbai>span:last-child{display:grid;gap:1px}
.app .qr{width:3.4em;height:3.4em;border:2px solid #fff;outline:1px solid var(--line);background:repeating-conic-gradient(var(--ink) 0 25%,#fff 0 50%) 0 0/.85em .85em}
.app .hc-m b{display:block}.app .hc-m small{font-family:var(--body);font-variant-numeric:tabular-nums;font-size:.85em}
.app .kpis .hx-sw,.app .kpis .hx-sw>span{background:none;padding:0;border-radius:0}.app .kpis.k2{grid-template-columns:repeat(2,1fr)}
/* Móvil de la cabecera en pantallas estrechas: algo más alto y con la letra algo menor, para que quepa la pantalla entera */
@media (max-width:640px){.phone .slides{aspect-ratio:451/500}.phone .app{font-size:6.3px;padding:6px;gap:4px}}
@media (max-width:640px){.phone .app .kpis span{min-width:0;padding:3px 4px}.phone .app .kpis small{letter-spacing:0;font-size:.72em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
/* Pantallas del móvil que no caben: bajan hasta el final y vuelven (astro.js pone --sc) */
@media (prefers-reduced-motion:no-preference){.slide .app.asc{animation:asc 6.5s ease-in-out infinite}}
@keyframes asc{0%,18%{transform:none}55%,82%{transform:translateY(var(--sc))}100%{transform:none}}
@media (prefers-reduced-motion:reduce){.phone .slide{overflow-y:auto}}
/* Planning de las cabeceras (campings, recursos): días alineados con las barras y fin de semana (vie, sáb, dom) en gris, como en Astro HMS */
.hx-p.th{grid-template-columns:7.5cqw 1fr;color:inherit;font-size:inherit}
.hx-pd{display:grid;grid-template-columns:repeat(7,1fr);gap:.25cqw}
.hx-pd span{display:grid;justify-items:center;background:#f4f7f9;border-radius:.3cqw;padding:.3cqw 0;line-height:1.1}
.hx-pd b{font-size:1.05cqw;color:#1f2a2e}.hx-pd small{font-size:.8cqw;color:#5d6a6e}
.hx-pd .we{background:#d9e0e6}.hx-pd .we small{font-style:normal}
.hx-pg{background:none}.hx-pg>*{grid-row:1}
.hx-pg .bg{background:#f4f7f9;border-radius:.3cqw}.hx-pg .bg.we{background:#e6ebef}
.hx-pg i{position:relative}
/* Canal «motor de reservas de Astro»: la A de la marca (blanca sobre cian), no una letra A */
i.ch.as{background:#00b4d5 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='150 200 660 680'%3E%3Cpath fill='%23fff' fill-rule='evenodd' d='M204 824L310 365C330 290 365 256 415 256H545C595 256 630 290 650 365L755 824ZM341 717H619L533 362H427Z'/%3E%3C/svg%3E") center/70% no-repeat!important;color:transparent!important;overflow:hidden}
/* Menú de aplicaciones de Astro HMS (pantallas.apps_menu) */
.mk.am{display:grid;grid-template-rows:auto auto 1fr;background:linear-gradient(135deg,#f4f5fb 0%,#eceef8 60%,#f7f7fb 100%);container-type:inline-size;overflow:hidden}
.am-top{display:flex;align-items:center;gap:1cqw;background:#00b4d5;color:var(--on-cyan);padding:.7cqw 1.2cqw;font-size:1.05cqw}
.am-top .sp{flex:1}.am-grid{width:1.6cqw;height:1.6cqw;background:radial-gradient(circle,#fff 32%,transparent 34%) 0 0/33.3% 33.3%}
.am-u{display:grid;place-items:center;width:2cqw;height:2cqw;border-radius:.4cqw;background:#7b3fe4;font-weight:600}
.am-q{margin:1.2cqw auto .6cqw;width:72%;display:flex;gap:.8cqw;align-items:center;background:#fff;border:1px solid #dfe3ea;border-radius:.5cqw;padding:.7cqw 1cqw;font-size:1.15cqw;color:#7d868a;box-shadow:0 1px 3px rgba(20,38,43,.06)}
.am-q i{font-style:normal;color:#333;font-size:1.3cqw}
.am-g{display:grid;grid-template-columns:repeat(7,1fr);gap:1cqw .6cqw;padding:.6cqw 4cqw 1.4cqw;align-content:start}
.am-a{display:grid;justify-items:center;gap:.4cqw;text-align:center}
.am-a span{width:4.6cqw;height:4.6cqw;border-radius:.7cqw;background:#fff;box-shadow:0 1px 3px rgba(20,38,43,.14);display:grid;place-items:center}
.am-a img{width:72%;height:72%;object-fit:contain}
.am-a small{font-size:.95cqw;line-height:1.15;color:#1f2a2e}
@media (prefers-reduced-motion:no-preference){
 .am.anim .am-f{animation:amf 9s infinite both}
 .am.anim .am-m span{animation:amm 9s infinite both}
 .am.anim .am-ty{position:relative;color:transparent}
 .am.anim .am-ty::before{content:"Buscar menús…";position:absolute;left:0;color:#7d868a;animation:amph 9s infinite both}
 .am.anim .am-ty::after{content:attr(data-t);position:absolute;left:0;color:#1f2a2e;overflow:hidden;white-space:nowrap;width:0;border-right:2px solid #1f2a2e;animation:amty 9s infinite steps(4)}
}
@keyframes amph{0%,24%{opacity:1}25%,92%{opacity:0}93%,100%{opacity:1}}
@keyframes amty{0%,24%{width:0;opacity:0}25%{opacity:1;width:0}36%,90%{width:4ch;opacity:1}92%,100%{width:0;opacity:0}}
@keyframes amf{0%,34%{opacity:1}40%,88%{opacity:.12}94%,100%{opacity:1}}
@keyframes amm{0%,36%{transform:none;box-shadow:0 1px 3px rgba(20,38,43,.14)}42%,88%{transform:scale(1.12);box-shadow:0 0 0 .25cqw #00b4d5,0 6px 14px rgba(0,180,213,.3)}94%,100%{transform:none}}
/* Fondo de marca detrás de las apps (Marketing/Iconografía/Backgrounds/Section Background) */
.mk.am{background:#f4f5f8 url("../img/fondo-apps.webp") center 30%/cover no-repeat}
.mk.am .am-g{position:relative}
/* Calendario (pantallas.calendario_semana) */
.mk.cs{display:grid;grid-template-rows:auto 1fr;background:#fff;container-type:inline-size;font-size:1cqw;color:#1f2a2e}
.cs-top{display:flex;justify-content:space-between;align-items:center;padding:.8cqw 1.2cqw;border-bottom:1px solid #e3e8ea}.cs-top b{font-size:1.3cqw}.cs-top span{color:#5d6a6e}
.cs-body{display:grid;grid-template-columns:15% 1fr 24%;min-height:0}
.cs-side{display:grid;align-content:start;gap:.5cqw;padding:1cqw;border-right:1px solid #eef1f3}.cs-side small{color:#8a979b;text-transform:uppercase;font-size:.8cqw;letter-spacing:.04em}
.cs-side span{display:flex;gap:.5cqw;align-items:center}.cs-side span::before{content:"";width:1cqw;height:1cqw;border-radius:.2cqw;border:1px solid #b9c3c7}
.cs-side span.on::before{border:0}.cs-side .c1.on::before{background:#00b4d5}.cs-side .c2.on::before{background:#f0a430}
.cs-g{display:grid;grid-template-rows:auto 1fr;padding:.6cqw}
.cs-hd{display:grid;grid-template-columns:3.6cqw repeat(5,1fr);text-align:center;color:#5d6a6e;padding-bottom:.4cqw}
.cs-grid{display:grid;grid-template-columns:3.6cqw repeat(5,1fr);grid-template-rows:repeat(6,3.2cqw);position:relative}
.cs-h{grid-column:1;color:#8a979b;font-size:.8cqw}.cs-c{border-top:1px solid #eef1f3;border-left:1px solid #eef1f3}
.cs-e{font-style:normal;margin:.15cqw;border-radius:.35cqw;padding:.25cqw .4cqw;font-size:.82cqw;line-height:1.15;overflow:hidden;color:#0d3540;position:relative}
.cs-e.c1{background:#d8f4f9;border-left:.3cqw solid #00b4d5}.cs-e.c2{background:#fdecd2;border-left:.3cqw solid #f0a430}
.cs-e.c3{background:#eceff1;border-left:.3cqw solid #8a979b}.cs-e.c4{background:repeating-linear-gradient(45deg,#f2f4f5 0 .4cqw,#e7ebed .4cqw .8cqw);color:#5d6a6e}
.cs-det{display:grid;align-content:start;gap:.6cqw;padding:1cqw;border-left:1px solid #eef1f3;background:#fafcfd}
.cs-det b{font-size:1.15cqw}.cs-det small{color:#5d6a6e}.cs-det>span{background:#00b4d5;color:var(--on-cyan);border-radius:.4cqw;padding:.5cqw;text-align:center;font-weight:600}
.cs-as{display:grid;gap:.35cqw}.cs-as span{display:flex;justify-content:space-between}.cs-as i{font-style:normal;color:#a5760a}.cs-as i.ok{color:#137a4b}
@media (prefers-reduced-motion:no-preference){.cs.anim .hx-sw .o{visibility:visible;animation:bmo 9s infinite both}.cs.anim .hx-sw .n{animation:bmn 9s infinite both}}
.cs-body{min-height:30cqw}.cs-g{grid-template-rows:auto 1fr}.cs-grid{grid-template-rows:repeat(6,minmax(4cqw,1fr))}
.cs-e{font-size:.95cqw}.cs-side{gap:.8cqw;font-size:1.05cqw}
.cs-det{gap:1.6cqw;font-size:1.05cqw;padding:1.4cqw 1.2cqw}.cs-det b{font-size:1.3cqw}.cs-as{gap:.7cqw}
.cs-body{min-height:0}.cs-g{align-content:start}.cs-grid{grid-template-rows:repeat(6,4.2cqw)}
.cs-det{padding-left:3.4cqw}.cs-side{padding-left:3.2cqw}
.cs-det{padding-left:4.6cqw}.cs-side{padding-left:4.4cqw}
/* Progreso de creación de reservas del grupo: el fa-spinner del programa (8 puntos, giro de 2 s), sin fondo */
.gr-p svg.sp{width:2.2cqw;height:2.2cqw;flex:none;color:#173d22;background:none}
@media (prefers-reduced-motion:no-preference){.gr-p svg.sp{animation:grspin 2s linear infinite}}
/* Proyecto: tablero kanban como en el programa (pantallas.proyecto_kanban) */
.mk.pk{display:grid;grid-template-rows:auto 1fr;background:#f4f6f8;container-type:inline-size;font-size:1cqw;color:#1f2a2e;overflow:hidden}
.pk-top{display:flex;align-items:center;gap:1.2cqw;background:#fff;padding:.8cqw 1.2cqw;border-bottom:1px solid #e3e8ea}
.pk-new{background:#00b4d5;color:var(--on-cyan);border-radius:.4cqw;padding:.5cqw .9cqw;font-weight:600}
.pk-bc{display:grid;line-height:1.2}.pk-bc small{color:#0a8fa8}.pk-bc b{font-weight:500}
.pk-q{flex:1;display:flex;align-items:center;gap:.6cqw;border:1px solid #cfd6da;border-radius:.4cqw;padding:.35cqw .7cqw;max-width:34cqw;margin:0 auto;color:#8a979b}
.pk-q em{font-style:normal;background:#e6f6fa;color:#1f2a2e;border-radius:.3cqw;padding:.1cqw .5cqw}
.pk-v{display:flex;gap:.2cqw}.pk-v i{font-style:normal;width:2.2cqw;height:2.2cqw;display:grid;place-items:center;border-radius:.3cqw;background:#eef1f3}.pk-v i.on{background:#d8f4f9;color:#0a8fa8}
.pk-b{display:grid;grid-template-columns:repeat(5,1fr) 3cqw;gap:1cqw;padding:1cqw 1.2cqw;align-items:start}
.pk-c{display:grid;gap:.6cqw}.pk-h{display:flex;justify-content:space-between;font-size:1.15cqw}.pk-h i{font-style:normal;color:#8a979b}
.pk-bar{display:flex;align-items:center;gap:.6cqw}.pk-bar u{flex:1;height:.6cqw;border-radius:.3cqw;background:#e1e5e8}.pk-bar u.blk{background:#1b9db8}.pk-bar span{font-weight:600}
.pk-k{background:#fff;border:1px solid #e1e5e8;padding:.7cqw .8cqw;display:grid;gap:.35cqw}
.pk-k b{font-weight:500;font-size:1.05cqw}.pk-tg{display:flex;gap:.3cqw;flex-wrap:wrap}.pk-tg i{font-style:normal;border-radius:99px;padding:0 .55cqw;font-size:.82cqw}
.pk-tg .t1{background:#f7b3b0;color:#5a1512}.pk-tg .t2{background:#c9ecd0;color:#1c5a2a}.pk-tg .t3{background:#f4c4ea;color:#5d1a51}.pk-tg .t4{background:#fde3a7;color:#5c4100}
.pk-k small{color:#5d6a6e}.pk-k small.late{color:#d23a33}
.pk-f{display:flex;align-items:center;gap:.4cqw}.pk-f .sp{flex:1}.pk-f em{font-style:normal;color:#c7cfd3}.pk-f em.on{color:#f0b400}.pk-f u{text-decoration:none;color:#5d6a6e}
.pk-f s{text-decoration:none;border:1px solid #1f2a2e;border-radius:.3cqw;padding:0 .4cqw;font-size:.85cqw}
.pk-av{font-style:normal;width:1.7cqw;height:1.7cqw;border-radius:50%;background:#7b3fe4;color:#fff;display:grid;place-items:center;font-size:.7cqw}
.pk-pl{font-style:normal;width:1.6cqw;height:1.6cqw;border-radius:50%;background:#1f8f3a;color:#fff;display:grid;place-items:center;font-size:.7cqw}
.pk-hg{font-style:normal;color:#1b9db8;font-size:1.3cqw}
.pk-fold{display:grid;gap:3cqw;justify-items:center;padding-top:.4cqw;color:#5d6a6e}.pk-fold span{writing-mode:vertical-rl}
@media (prefers-reduced-motion:no-preference){
 .pk.anim .hx-sw .o{visibility:visible;animation:bmo 9s infinite both}.pk.anim .hx-sw .n{animation:bmn 9s infinite both}
 .pk.anim .hx-nw{animation:hxin 9s infinite both}.pk.anim .pk-out{animation:pkout 9s infinite both}
}
@keyframes pkout{0%,28%{opacity:1;transform:none}34%,92%{opacity:0;transform:translateX(8cqw)}96%,100%{opacity:1;transform:none}}
.pk .hx-sw{display:inline-grid}.pk .hx-sw>span{grid-area:1/1}.pk .hx-sw .o{visibility:hidden}
.pk .pk-out{overflow:hidden;max-height:9cqw}
@keyframes pkout{0%,26%{opacity:1;transform:none;max-height:9cqw}32%{opacity:0;transform:translateX(8cqw);max-height:9cqw;padding-block:.7cqw;border-width:1px}
 36%,90%{opacity:0;max-height:0;padding-block:0;border-width:0;margin-top:-.6cqw}96%,100%{opacity:1;transform:none;max-height:9cqw}}
/* CRM: embudo kanban (pantallas.crm_pipeline), sobre los estilos del kanban de Proyecto */
.cr-gen{background:#e9ecef;border-radius:.4cqw;padding:.5cqw .9cqw}
.pk-b.cr-b4{grid-template-columns:repeat(4,1fr) 8cqw}
.pk-bar u.cr-b{display:flex;overflow:hidden;background:#e1e5e8}.pk-bar u.cr-b u{display:block;height:100%;flex:none}
.cr-k>span:nth-of-type(1){font-size:.9cqw}.cr-k small{color:#1f2a2e}
.cr-k .pk-f em{font-size:1.2cqw}.cr-a{font-size:1cqw}.cr-a b.red{color:#d23a33}.cr-a b.grn{color:#1f8f3a}
.pk-tg .t5{background:#fbd5bd;color:#6b2e0d}
.cr-st{background:#fff;padding:.7cqw;text-align:center;color:#1f2a2e;border-radius:.3cqw}
.pk .pk-k.cr-k.pk-out{max-height:12cqw}
.crk .pk-tg .t1{background:#f8c9a4;color:#5c2c06}.crk .pk-tg .t2{background:#d9b8e3;color:#4a1e57}.crk .pk-tg .t3{background:#f7a8ad;color:#5a1219}.crk .pk-tg .t4{background:#fde9a0;color:#5c4100}
/* CMS: editor de la web (pantallas.cms_web_editor) */
.mk.ce{display:grid;grid-template-columns:1fr 24%;container-type:inline-size;font-size:1cqw;overflow:hidden;background:#fff}
.ce-site{display:grid;grid-template-rows:auto 1fr auto;min-height:0}
.ce-nav{display:flex;align-items:center;gap:1.2cqw;padding:.8cqw 1.6cqw;color:#3b4a4f}.ce-nav .sp{flex:1}.ce-nav .on{color:#111;font-weight:600}
.ce-logo{color:#e8613c;letter-spacing:.04em}.ce-nav i{font-style:normal;width:2.4cqw;height:2.4cqw;border-radius:50%;background:#f1f3f4;display:grid;place-items:center}
.ce-nav em{font-style:normal;background:#f0663f;color:#fff;border-radius:.4cqw;padding:.5cqw 1cqw;font-weight:600}
.ce-hero{position:relative;background:center/cover no-repeat;min-height:22cqw;display:grid;place-items:center;align-content:center;gap:1.6cqw}
.ce-hero>b{color:#fff;font-size:3.6cqw;font-weight:600;text-shadow:0 2px 12px rgba(0,0,0,.45)}
.ce-bus{display:flex;align-items:center;gap:1cqw;background:#fff;border-radius:.6cqw;padding:.7cqw 1cqw;box-shadow:0 6px 20px rgba(0,0,0,.25)}
.ce-bus span{display:grid;color:#8a979b;font-size:.8cqw;border-right:1px solid #e3e8ea;padding-right:1cqw}.ce-bus b{color:#1f2a2e;font-size:1cqw}
.ce-bus i{font-style:normal;background:#00b4d5;color:var(--on-cyan);border-radius:.4cqw;padding:.5cqw .9cqw;font-weight:600}
.ce-foot{background:#3a3130;color:#fff;display:flex;justify-content:center;align-items:center;gap:1cqw;padding:1cqw;flex-wrap:wrap}
.ce-foot span{width:2.4cqw;height:2.4cqw;border-radius:50%;background:#fff;color:#1f2a2e;display:grid;place-items:center;font-weight:600}.ce-foot small{flex-basis:100%;text-align:center;font-size:.85cqw}
.ce-pan{background:#2b2d33;color:#e4e6ea;display:grid;align-content:start;gap:.8cqw;padding-bottom:1cqw}
.ce-act{display:flex;align-items:center;gap:.8cqw;padding:.7cqw .8cqw;background:#24262b}.ce-act .sp{flex:1}.ce-act i{font-style:normal;color:#9aa0a6}
.ce-act em{font-style:normal;background:#00b4d5;color:#0d3540;padding:.45cqw .7cqw;font-weight:600}
.ce-tabs{display:flex;justify-content:space-around;font-size:.85cqw}.ce-tabs b{border-bottom:2px solid #00b4d5;padding-bottom:.3cqw}.ce-tabs span{color:#aeb3b8}
.ce-cat{padding:0 .9cqw;color:#c8ccd0}
.ce-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.2cqw;padding:0 .7cqw}
.ce-t{background:#34373e;display:grid;justify-items:center;gap:.3cqw;padding:.6cqw .2cqw;text-align:center}
.ce-t i{font-style:normal;font-size:1.7cqw;color:#cdd3d8;line-height:1}.ce-t small{font-size:.72cqw;line-height:1.1}
.ce-t.ce-bk i{background:#eef6f9;color:var(--cyan-deep);border-radius:.3cqw;width:2.6cqw;height:2.6cqw;display:grid;place-items:center;font-size:1.4cqw}
@media (prefers-reduced-motion:no-preference){
 .ce.anim .hx-nw{animation:hxin 9s infinite both}
 .ce.anim .ce-go{animation:cego 9s infinite both}
}
@keyframes cego{0%,14%{box-shadow:none}18%,30%{box-shadow:0 0 0 .2cqw #00b4d5;transform:scale(1.06)}36%,100%{box-shadow:none;transform:none}}
.mk.ce{height:100%}.ce-site{height:100%}.ce-hero{min-height:0}.ce-pan{height:100%}
/* Animación: calendario de mes (pantallas.animacion_mes) */
.mk.am2{display:grid;grid-template-rows:auto auto 1fr;background:#fff;container-type:inline-size;font-size:.9cqw;color:#1f2a2e;overflow:hidden}
.am2-top{display:flex;gap:1.2cqw;align-items:center;padding:.6cqw 1.2cqw;border-bottom:1px solid #e3e8ea}.am2-top .sp{flex:1}.am2-top b{font-size:1.2cqw}
.am2-v{display:flex;gap:.2cqw}.am2-v i{font-style:normal;width:2cqw;height:2cqw;display:grid;place-items:center;border-radius:.3cqw;background:#eef1f3}.am2-v i.on{background:#d8f4f9;color:#0a8fa8}
.am2-bar{display:flex;gap:.5cqw;align-items:center;padding:.5cqw 1.2cqw}.am2-bar i,.am2-bar em{font-style:normal;background:#e9ecef;border-radius:.3cqw;padding:.2cqw .6cqw}.am2-bar b{font-size:1.1cqw;margin-left:.6cqw;font-weight:500}
.am2-body{display:grid;grid-template-columns:1fr 15%;min-height:0}
.am2-h,.am2-c{display:grid;grid-template-columns:repeat(7,1fr)}.am2-h b{text-align:center;font-weight:500;color:#5d6a6e;padding:.3cqw 0;border-bottom:1px solid #e3e8ea}
.am2-c>div{border-right:1px solid #eef1f3;border-bottom:1px solid #eef1f3;padding:.25cqw .3cqw;display:grid;gap:.1cqw;align-content:start;min-height:7cqw}
.am2-c span{justify-self:center;color:#5d6a6e}.am2-c span.hoy{background:#d6304b;color:#fff;border-radius:50%;width:1.7cqw;height:1.7cqw;display:grid;place-items:center}
.am2-c i{font-style:normal;font-size:.72cqw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:flex;align-items:center;gap:.25cqw}
.am2-c i::before{content:"";flex:none;width:.6cqw;height:.6cqw;border-radius:50%;background:var(--c)}.am2-c i.mas{color:#0a8fa8;justify-content:center}.am2-c i.mas::before{display:none}
.am2 .dep{--c:#d6304b}.am2 .mini{--c:#f0b429}.am2 .noche{--c:#9a4d8f}.am2 .pisc{--c:#e07b39}.am2 .tall{--c:#3a8de0}
.am2-ley{display:grid;align-content:start;gap:.6cqw;padding:1cqw;border-left:1px solid #eef1f3}.am2-ley small{font-weight:600}
.am2-ley span{display:flex;gap:.5cqw;align-items:center}.am2-ley span::before{content:"✓";width:1.2cqw;height:1.2cqw;border-radius:.2cqw;background:var(--c);color:#fff;display:grid;place-items:center;font-size:.7cqw}
@media (prefers-reduced-motion:no-preference){.am2.anim .hx-nw{animation:hxin 9s infinite both}}
/* Economía circular: lista de indicadores (pantallas.circular_lista) */
.mk.cix{display:grid;align-content:start;grid-template-rows:none;background:#fff;container-type:inline-size;font-size:1cqw;color:#1f2a2e}
.ci-n{color:#5d6a6e}
.ci-r{display:grid;grid-template-columns:2cqw 1.6fr .5fr 1fr 1.2fr 1fr 1.1fr;gap:1cqw;align-items:center;padding:.8cqw 1.2cqw;border-bottom:1px solid #eef1f3}
.ci-r span{text-align:right}.ci-r b{font-weight:400}.ci-r i{width:1.3cqw;height:1.3cqw;border:1px solid #c7cfd3;border-radius:.25cqw}
.ci-th{font-weight:600;background:#f7f9fa;font-size:.9cqw}.ci-th b{font-weight:600}
.ci-det{margin:1.2cqw;border:1px solid #e3e8ea;padding:1cqw 1.2cqw;display:grid;grid-template-columns:repeat(3,auto);gap:.6cqw 2cqw;align-items:center}
.ci-det b{grid-column:1/-1;font-size:1.15cqw}.ci-det span{display:grid;color:#5d6a6e}.ci-det em{font-style:normal;color:#1f2a2e;font-weight:600;font-size:1.15cqw}
@media (prefers-reduced-motion:no-preference){.cix.anim .hx-sw .o{visibility:visible;animation:bmo 9s infinite both}.cix.anim .hx-sw .n{animation:bmn 9s infinite both}}
.cix .hx-sw{display:inline-grid}.cix .hx-sw>span{grid-area:1/1}.cix .hx-sw .o{visibility:hidden}
/* Sostenibilidad: gráfica de la huella (pantallas.huella_grafica) */
.mk.hg{display:grid;grid-template-rows:auto auto 1fr;background:#f7f9fa;container-type:inline-size;font-size:1cqw;color:#1f2a2e}
.hg .pk-q em{font-style:normal;background:#e6f6fa;color:#1f2a2e;border-radius:.3cqw;padding:.1cqw .5cqw}
.hg-tb{display:flex;gap:.2cqw;align-items:center;padding:.7cqw 1.2cqw}.hg-tb em{font-style:normal;background:#00b4d5;color:var(--on-cyan);border-radius:.3cqw;padding:.4cqw .8cqw;margin-right:.4cqw}
.hg-tb i{font-style:normal;width:2.2cqw;height:2.2cqw;display:grid;place-items:center;background:#eef1f3;border-radius:.3cqw}.hg-tb i.on{background:#d8f4f9;color:#0a8fa8}.hg-tb .sp{flex:1}
.hg-ley{color:#5d6a6e}.hg-ley::first-letter{color:#4a9be8}
.hg-ch{display:grid;grid-template-columns:4cqw 1fr;padding:0 1.2cqw 3cqw;min-height:22cqw}
.hg-y{display:grid;align-content:space-between;color:#8a979b;font-size:.8cqw;text-align:right;padding-right:.5cqw}
.hg-b{display:flex;align-items:flex-end;gap:.3cqw;background:repeating-linear-gradient(#fff 0 calc(25% - 1px),#e7ebed calc(25% - 1px) 25%)}
.hg-b i{flex:1;background:#4a9be8;border-radius:.2cqw .2cqw 0 0;position:relative}
.hg-b small{position:absolute;top:calc(100% + .3cqw);left:50%;transform:translateX(-50%) rotate(-45deg);transform-origin:center;white-space:nowrap;font-size:.62cqw;color:#5d6a6e;display:none}
.hg-b i:nth-child(3n+1) small{display:block}
@media (prefers-reduced-motion:no-preference){.hg.anim .hx-nw{animation:hgcrece 9s infinite both;transform-origin:top}}
@keyframes hgcrece{0%,25%{transform:scaleY(.1)}45%,92%{transform:scaleY(1)}100%{transform:scaleY(.1)}}
.mk.hg{grid-template-rows:auto auto 1fr}
/* IA: una consulta del BI (pantallas.ia_consulta) */
.mk.iq{display:grid;align-content:start;grid-template-rows:none;background:#f4f6f8;container-type:inline-size;font-size:1cqw;color:#1f2a2e}
.iq .sp{flex:1}.iq .ci-n{color:#5d6a6e}
.iq-bar{display:flex;gap:.4cqw;align-items:center;padding:.7cqw 1.2cqw}
.iq-bar em,.iq-bar>span:not(.sp):not(.iq-st){font-style:normal;background:#e9ecef;border-radius:.3cqw;padding:.4cqw .7cqw}.iq-bar em{background:#00b4d5;color:var(--on-cyan)}
.iq-st{display:flex}.iq-st i{font-style:normal;background:#eef1f3;color:#5d6a6e;padding:.4cqw 1cqw;clip-path:polygon(0 0,90% 0,100% 50%,90% 100%,0 100%,10% 50%)}.iq-st i.on{background:#d8f4f9;color:#0a6f83;font-weight:600}
.iq-card{margin:0 1.2cqw 1.2cqw;background:#fff;border:1px solid #e3e8ea;padding:1.2cqw 1.4cqw;display:grid;gap:.8cqw}
.iq-t{font-size:1.6cqw;font-weight:500}.iq-m{display:flex;gap:3cqw}.iq-m span{display:grid}.iq-m small{color:#5d6a6e}
.iq-q{margin:0;color:#3b4a4f}.iq-tabs{display:flex;gap:1.6cqw;border-bottom:1px solid #e3e8ea}.iq-tabs b{border:1px solid #e3e8ea;border-bottom-color:#fff;padding:.4cqw .8cqw;margin-bottom:-1px;font-weight:500}.iq-tabs span{color:#0a8fa8;padding:.4cqw 0}
.iq-a{margin:0}
.iq-r{display:grid;grid-template-columns:1.6fr 1fr 1fr 1fr;gap:1cqw;padding:.5cqw 0;border-bottom:1px solid #eef1f3}.iq-r span{text-align:right}.iq-r b{font-weight:400}
.iq-th{font-weight:600}.iq-th b{font-weight:600}
@media (prefers-reduced-motion:no-preference){.iq.anim .hx-nw{animation:hxin 9s infinite both}.iq.anim .hx-sw .o{visibility:visible;animation:bmo 9s infinite both}.iq.anim .hx-sw .n{animation:bmn 9s infinite both}}
.iq .hx-sw{display:inline-grid}.iq .hx-sw>span{grid-area:1/1}.iq .hx-sw .o{visibility:hidden}
/* PCI DSS: ficha de la tarjeta (pantallas.pci_ficha_tarjeta) */
.pc-card{gap:.6cqw}.pc-f{display:grid;grid-template-columns:12cqw 1fr;gap:.55cqw 1cqw;align-items:center}
.pc-f small{color:#5d6a6e}.pc-f b{font-weight:400}.pc-num{letter-spacing:.12em}.pc-cvv{color:#8a979b}
.pc-sec{font-weight:600;font-size:.9cqw;border-bottom:1px solid #e3e8ea;padding:.6cqw 0 .3cqw;margin-top:.4cqw}
.pc-r{grid-template-columns:1fr 2fr 1fr 1fr}.pc-ok{font-style:normal;background:#1f8f3a;color:#fff;border-radius:99px;padding:.1cqw .6cqw;font-size:.8cqw}
.pc .iq-st i{min-width:6cqw;text-align:center}
@media (prefers-reduced-motion:no-preference){
 .pc.anim .pc-d{animation:pcd 9s infinite both}.pc.anim .pc-v{animation:pcv 9s infinite both}
 .pc.anim .pc-on{animation:hxin 9s infinite both}.pc.anim .pc-on2{animation:pcin2 9s infinite both}
}
@keyframes pcd{0%,30%{background:#d8f4f9;color:#0a6f83;font-weight:600}36%,100%{background:#eef1f3;color:#5d6a6e;font-weight:400}}
@keyframes pcv{0%,30%{background:#eef1f3;color:#5d6a6e;font-weight:400}36%,92%{background:#d8f4f9;color:#0a6f83;font-weight:600}98%,100%{background:#eef1f3;color:#5d6a6e}}
@keyframes pcin2{0%,55%{opacity:0;transform:translateY(-.6cqw)}62%,92%{opacity:1;transform:none}100%{opacity:0}}
/* Móvil: lo que se desplaza queda recortado dentro de su pantalla y nunca asoma por encima del título azul */
.phone .slides{overflow:hidden;isolation:isolate}.phone .slide{overflow:hidden}
.phone .ptitle{position:relative;z-index:3}
@media (prefers-reduced-motion:no-preference){.slide .app.asc{animation:asc 6.5s ease-in-out infinite both}}
@keyframes asc{0%,18%{transform:translateY(0)}55%,80%{transform:translateY(var(--sc))}96%,100%{transform:translateY(0)}}
/* Cabeceras con pantalla en dos columnas: los dos paneles llegan hasta abajo y el contenido se reparte (sin hueco vacío) */
.hero .mk.xp{height:100%;align-items:stretch;font-size:1.45cqw}
.hero .mk.xp>.xp-l,.hero .mk.xp>.xp-c{align-content:space-evenly}
.hero .mk.xp.xp{grid-template-rows:1fr!important;align-content:stretch!important}

/* títulos de las pantallas dibujadas: <strong class="xh3…"> en lugar de h3–h5, para no romper el orden de encabezados de la página */
strong[class^="xh"],strong[class*=" xh"]{display:block;font-weight:600}

/* filas explicadas con rótulos largos («Excepciones», «11 × Doble»): primera columna más ancha */
.xp.xr-w .xp-r{grid-template-columns:11.5cqw 1fr auto}
/* ── Ajustes a la guía de marca (27/10/2026) ── */
/* AstroMate del tipo en la cabecera de las landings de solución (guía, «Landings: tipos»): sobre el fondo de círculos, sin sombra */
/* Booking.com: logo oficial, a 120 px o más de ancho y con su espacio libre */
.intcard.wide{grid-template-columns:140px 1fr}
.intcard img.wide{width:140px;height:72px;object-fit:contain;padding:8px;box-sizing:border-box}
.intdlg .ilogo img.wide{width:180px;height:auto;padding:10px;box-sizing:border-box}
/* aviso de normativa en móvil: una banda baja de una línea; el formulario se abre al tocarla */
@media (max-width:700px){
  .nudge{padding:10px 12px;gap:4px}
  .nudge:not(.open) .nudge-f,.nudge:not(.open) .nudge-done{display:none}
  .nudge:not(.open) h3{font-size:15px;cursor:pointer}
  .nudge:not(.open) h3::after{content:" ›";color:var(--cyan-deep)}
}
/* círculos de las capturas explicadas, en móvil más pequeños */
@media (max-width:700px){.w2-badge{width:20px;height:20px;font-size:11px;box-shadow:0 0 0 1.5px var(--white)}}
/* «Tres datos»: con tres, la fila se reparte en tres columnas (sin hueco vacío) */
@media (min-width:901px){.facts:not(.cifras) .inner:has(> .fact:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr))}}
/* «Síguenos» (pie y Quiénes somos): LinkedIn, Instagram, X y YouTube en Tinta, mismo tamaño, separados 2/3 de icono */
.follow{display:flex;align-items:center;gap:19px;margin-top:16px;font-weight:600;font-size:14px}
.follow a{display:block;padding:0;line-height:0}.follow img{width:28px;height:28px;display:block}
/* Sello «Booking.com Connectivity Partner 2025» (G/08 Sellos de partners): fichero oficial, 72 px de alto (mínimo), espacio libre = mitad de su altura (36 px), fondo liso claro */
.sello-bk{display:block;line-height:0;width:max-content;max-width:100%}
.sello-bk img,.trust .sello-bk img{height:72px;width:auto;max-width:none;display:block}
.footer .sello-bk{margin-top:36px}
.trust.bkp{padding:36px;gap:36px;background:var(--white)}
@media (max-width:800px){.footer .cols>div:first-child{grid-column:1/-1}}

/* ── Segunda revisión de la guía de marca (28/10/2026) ── */
/* Negrita: Inter solo se carga en 400/500/600 (guía, «Tipografía»); Fraunces, 500 y 700 */
b,strong{font-weight:600}
h1 b,h1 strong,h2 b,h2 strong,h3 b,h3 strong{font-weight:700}
/* Círculos numerados: Cian con número Tinta (la regla de la leyenda no los pisa) */
.legend .num,.num{color:var(--on-cyan);font-size:14px}
/* Filas de las capturas explicadas: la etiqueta crece con su texto y no se monta sobre el valor */
.xp-r,.xp.xr-w .xp-r{grid-template-columns:minmax(7.5cqw,max-content) minmax(0,1fr) auto}
.xp-r>*{min-width:0}
/* Tarjetas flotantes: icono de marca en color sobre Cian suave (el blanco, solo grande sobre Cian) */
.float .dot{flex:0 0 40px;height:40px;background:var(--cyan-soft);color:var(--ink)}
.float .dot img.icon.brand,.float .dot .icon{width:24px;height:24px}
/* Notas a 13 px como mínimo (escala de la guía) */
@media (max-width:560px){.float{font-size:13px}.float b{font-size:14px}}
/* Lema del pie, sin cursiva (no se carga la cursiva de Inter) */
.footer .legal i{font-style:normal}
/* Pie: nuestro logo, más grande que el sello de Booking.com (sellos «más pequeños que nuestro logo») */
.footer .flogo{display:block;line-height:0;margin-bottom:18px;padding:0}
.footer .flogo img{width:260px;height:auto;display:block}
@media (max-width:1000px){.footer .cols>div:first-child{grid-column:1/-1}}
/* Bloque «Connectivity Partner»: nuestro logo y el sello, separados por una línea fina */
.trust.bkp .cobrand{display:flex;align-items:center;gap:36px;flex-wrap:wrap}
.trust.bkp .cobrand>img{width:260px;height:auto;display:block}
.trust.bkp .cobrand>i{align-self:stretch;width:1px;background:var(--line)}
/* «Powered by AWS» y «Odoo Community Member»: más pequeños que nuestro logo (G/08); Odoo, 20 px de alto como mínimo */
.sello-aws{display:block;line-height:0}.sello-aws img{height:40px;width:auto;display:block}
.sello-odoo{height:72px;width:auto;display:block}
@media (max-width:640px){.trust.bkp .cobrand>i{display:none}}
/* Menú móvil: «Ver todos los módulos» en Tinta sobre la barra Cian */
@media (max-width:1180px){.drop.mega .mega-all{color:var(--on-cyan);text-decoration:underline;min-height:44px;display:flex;align-items:center}
  .drop.mega h4{opacity:1}}
html.menu-lock,html.menu-lock body{overflow:hidden}
/* Objetivos táctiles de 44 px en pantallas táctiles y móvil */
@media (max-width:760px),(pointer:coarse){
  .util a{min-height:44px;min-width:44px;justify-content:center}
  .burger{min-width:44px;min-height:44px}
  .follow a{display:grid;place-items:center;min-width:44px;min-height:44px}
  .follow{gap:4px}
  .footer .cols a{padding-block:11px}
  .footer .legal a{display:inline-block!important;padding-block:11px}
  .crumbs a{display:inline-block;padding-block:12px}
  .hero-copy a.more{display:inline-block;padding-block:10px}
  .w2-btn.w2-small{min-height:44px}
  .fchip{min-height:44px}
  .chat-x,.nudge-x{min-width:44px;min-height:44px}
  .nudge-ok input{width:20px;height:20px}
  .feat > a,.spotcard .more,.intcard .more{min-height:44px}
}
/* Aviso de normativa: el título es un botón; abierto en móvil, compacto (≤ 15 % de la pantalla) */
.nudge h3 button{all:unset;cursor:pointer}
.nudge h3 button:focus-visible{outline:3px solid var(--ink);outline-offset:2px}
@media (max-width:700px){
  .nudge.open{left:max(12px,env(safe-area-inset-left,0px));right:max(12px,env(safe-area-inset-right,0px))}
  .nudge.open .nudge-f{grid-template-columns:1fr auto}
  .nudge.open .nudge-f .w2-btn{min-height:44px;padding:8px 14px}
  .nudge.open .nudge-f input[type=email]{padding:8px 10px}
  .nudge.open .nudge-ok{font-size:13px;line-height:1.3}
  body.nudge-open .chat{display:none}
}
/* Chat: aparece al pasar la cabecera (no tapa su maqueta ni suma un segundo AstroMate) */
.chat.lejos{opacity:0;pointer-events:none;transform:translateY(12px)}
.chat{transition:opacity .25s,transform .25s}
/* Esquema IoT: sin transparencias que bajen el contraste */
.iot .cloud small{color:var(--on-cyan)}.iot .hub small{color:var(--cyan-deep)}
/* Tablas anchas en móvil: sombra en el borde que indica que hay más a la derecha */
.tablewrap,.leytab{background:linear-gradient(90deg,#fff 30%,rgba(255,255,255,0)) left/40px 100% no-repeat local,linear-gradient(270deg,#fff 30%,rgba(255,255,255,0)) right/40px 100% no-repeat local,radial-gradient(farthest-side at 0 50%,rgba(20,38,43,.18),transparent) left/14px 100% no-repeat scroll,radial-gradient(farthest-side at 100% 50%,rgba(20,38,43,.18),transparent) right/14px 100% no-repeat scroll;background-color:#fff}
.legal code{word-break:normal;overflow-wrap:normal;white-space:nowrap}
/* Capturas explicadas en móvil: se amplían al tocarlas */
.shot .zoombtn{display:none}
@media (max-width:560px){
  .shot .zoombtn{display:inline-flex;position:absolute;right:8px;bottom:8px;z-index:5;align-items:center;gap:6px;min-height:44px;padding:0 14px;border-radius:999px;border:2px solid var(--cyan);background:var(--white);color:var(--ink);font:600 14px var(--body);box-shadow:var(--shadow-soft);cursor:pointer}
}
.zoomdlg{border:0;padding:0;margin:0;width:100vw;max-width:100vw;height:100dvh;max-height:100dvh;background:var(--white)}
.zoomdlg::backdrop{background:rgba(20,38,43,.5)}
.zoomdlg .zbar{position:sticky;top:0;left:0;z-index:2;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:8px 12px;background:var(--paper);border-bottom:1px solid var(--line);font-size:14px;color:var(--muted)}
.zoomdlg .zbar button{min-width:44px;min-height:44px;border:0;background:none;font-size:28px;line-height:1;color:var(--ink);cursor:pointer}
.zoomdlg .zscroll{overflow:auto;height:calc(100dvh - 61px);padding:16px}
.zoomdlg .zscroll .shot{width:960px;max-width:none}
.zoomdlg .zoombtn{display:none!important}
.zoomdlg .zleg{width:960px;margin-top:18px}
/* Integraciones: en móvil, los filtros siguen a la vista */
@media (max-width:760px){.fchips:has(+ .intgrid),.fchips:has(+ .posts){position:sticky;top:62px;z-index:4;background:var(--paper);padding-block:8px}}
/* Blog: «Ver más artículos» */
.posts .post.mas{display:none}
.vermas{justify-self:center}
/* «Qué incluye» con más de 7 puntos: 6 tarjetas y el resto en lista, sin iconos */
.feat-more{list-style:none;margin:6px 0 0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 28px}
.feat-more li{display:grid;align-content:start;gap:2px;padding:12px 0;border-top:1px solid var(--line)}
.feat-more span{color:var(--muted);font-size:15px}
.feat-more a{font-weight:600;text-decoration:none;white-space:nowrap}
@media (max-width:700px){.feat-more{grid-template-columns:1fr}}
/* Franjas finas (PCI…): una banda más de la alternancia Blanco/Papel */
.band.slim{padding-block:36px}
/* Preguntas frecuentes: al ancho de lectura */
.faq{width:100%}
/* AstroMate de la cabecera: si el móvil va a la izquierda, AstroMate a la derecha (no lo tapa) */

/* Mapa de España en móvil: sin rótulos diminutos (los nombres están en la lista de al lado) */
@media (max-width:560px){.esmap text{display:none}}
/* Integraciones: sin logo, un icono de marca; Booking.com con el espacio libre de la «o» */
.intcard .nologo img.icon.brand,.intdlg .nologo img.icon.brand{width:40px;height:40px}
.intdlg .ilogo .nologo{display:grid;place-items:center;background:var(--cyan-soft)}
.intcard.wide{grid-template-columns:148px 1fr}
.intcard img.wide{width:148px;padding:12px}
.footer .cols a.flogo{padding:0}
/* Barra de la app en las maquetas: texto Tinta sobre Cian (lista de comprobación de la guía) */
.appbar,.appbar b,.appbar .hotel{color:var(--on-cyan)}
.appbar .apps{fill:var(--on-cyan)}
.mt-p.g .mt-h,.mt-p.g .mt-bus i,.mt-p.g .mt-club i{color:var(--on-cyan)}.mt-p.g .mt-h span{opacity:1}
.pl-grid .rm small{opacity:1}
.pmr em.hoy,.dpl em.hoy{color:var(--on-cyan)}
/* Sin cursivas ni negritas sintéticas por defecto del navegador (Inter: 400/500/600) */
i,em,cite,dfn,address{font-style:normal}
th{font-weight:600}
.st.warn{font-size:13px}
/* Datáfono (punto de venta): el aviso de pago sustituye al texto, no se monta encima */
.df-p{animation:dfp 5s ease-in-out infinite}
@keyframes dfp{0%,45%{opacity:1}55%,90%{opacity:0}100%{opacity:1}}
@media (prefers-reduced-motion:reduce){.df-p{animation:none}.df-ok{display:none}}
@media (max-width:760px),(pointer:coarse){.crumbs a,.fchip{min-width:44px;text-align:center}.crumbs a{padding-inline:6px}}
/* Iconos de canal en las maquetas: sin los colores de marca de terceros (paleta de la guía); el «A» del motor propio se queda */
.pl-grid .bar i.ch:not(.as),.pmr i.ch:not(.as),.dpl i.ch:not(.as),.cmz-c i.ch:not(.as){background:var(--ink);color:#fff}

/* AstroMate de la cabecera (landings de solución): en primer plano, apoyado a la altura de la base del portátil y rozando
   solo su borde, sin tapar la pantalla. --mx y --mw los pone build.py por página. */
.stage:has(.hero-mate){padding-bottom:56px}
.hero-mate{position:absolute;left:var(--mx,-13%);bottom:-6px;z-index:5;width:var(--mw,24%);max-width:170px;height:auto;pointer-events:none;filter:drop-shadow(0 14px 16px rgba(20,38,43,.22))}
.stage:has(.phone.left) .hero-mate{left:auto;right:var(--mx,-13%)}
@media (max-width:1240px){.hero-mate{left:-8%;width:20%}.stage:has(.phone.left) .hero-mate{right:-6%}}
@media (max-width:900px){.stage:has(.hero-mate){padding-bottom:40px}.hero-mate{left:-1%;bottom:-8px;width:22%;max-width:110px}.stage:has(.phone.left) .hero-mate{display:none}}

/* AstroMate, el asistente de IA (28/10/2026): su avatar marca lo que hace la IA dentro de las maquetas */
.mate-av{width:20px;height:20px;border-radius:50%;object-fit:cover;object-position:50% 10%;background:var(--white);flex:none}
.aiav.ai{background:var(--white);border:1px solid var(--line);padding:0}
.aiav.ai .mate-av{width:100%;height:100%}
.aiwho{margin:0 0 4px!important;font-size:12px;color:var(--muted)}.aiwho b{color:var(--ink)}
.by-mate{display:inline-flex!important;align-items:center;gap:6px}
.eb-mate{display:inline-flex;align-items:center;gap:8px}.eb-mate .mate-av{width:24px;height:24px;border:1px solid var(--line)}
.mate-card{background:var(--white);border:1px solid var(--line);border-radius:16px;padding:22px 24px;box-shadow:0 12px 32px rgba(20,38,43,.08)}
.mate-card .mc-h{display:flex;align-items:center;gap:14px;margin-bottom:14px}
.mate-card .mc-h .mate-av{width:64px;height:64px;border:1px solid var(--line)}
.mate-card .mc-h b{display:block;font:700 22px/1.2 var(--display)}.mate-card .mc-h span{color:var(--muted);font-size:14px}
.mate-card ul{margin:0;padding:0;list-style:none;display:grid;gap:10px}
.mate-card li{padding-left:26px;position:relative;line-height:1.45}
.mate-card li::before{content:"";position:absolute;left:0;top:.45em;width:12px;height:12px;border-radius:50%;background:var(--cyan)}

/* foto del personaje en la barra de las maquetas (28/10/2026) */
.appbar img.av{object-fit:cover;padding:0;background:var(--white);border:1px solid rgba(255,255,255,.7)}

/* casos de éxito (28/10/2026) */
.caso-filtros{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.caso-filtros span{padding:7px 14px;border:1.5px solid var(--line);border-radius:999px;font:600 14px var(--body);color:var(--ink)}
.caso-filtros span.on{background:var(--cyan);border-color:var(--cyan)}
.caso-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:22px}
.caso-card{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--white);color:var(--ink);text-decoration:none;box-shadow:0 10px 28px rgba(20,38,43,.06)}
.caso-card .cc-foto{aspect-ratio:16/9;background:var(--paper) center/cover no-repeat;color:#fff;text-shadow:0 1px 6px rgba(0,0,0,.45);display:flex;flex-direction:column;justify-content:space-between;padding:14px 16px;font:700 18px var(--display)}.caso-card .cc-foto i{font:400 12px var(--body);opacity:.9}
.caso-card .cc-b{padding:16px 18px 18px;display:grid;grid-template-columns:1fr;gap:4px}.caso-card small{color:var(--muted)}.cc-cifra{font:700 30px/1.1 var(--display);color:var(--cyan-deep)}
.caso-card p{margin:6px 0 0;color:var(--muted);font-style:italic}.caso-card em{font-style:normal;color:var(--cyan-deep);font-weight:600;margin-top:6px}
.caso-cita{margin:0;padding:22px 24px;border-left:4px solid var(--cyan);background:var(--paper);border-radius:0 14px 14px 0;font:500 20px/1.4 var(--display)}
.caso-cita.grande{max-width:880px;margin:0 auto;font-size:26px}.caso-cita footer{margin-top:14px;font:400 15px var(--body);display:grid}.caso-cita footer span{color:var(--muted)}
.caso-mods,.caso-ints{display:flex;flex-wrap:wrap;gap:10px;margin-top:12px}
.caso-mods a,.caso-int{display:inline-flex;align-items:center;gap:10px;padding:8px 14px 8px 8px;border:1px solid var(--line);border-radius:12px;background:var(--white);color:var(--ink);font-weight:600;text-decoration:none}
.caso-mods img{width:36px;height:36px}.caso-int img{width:56px;height:56px;border-radius:10px;object-fit:contain}.caso-int{font-size:16px;padding:6px 16px 6px 6px}
.caso-h3{margin:26px 0 0;font:700 18px var(--display)}
.caso-equipo{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;margin-top:12px}
.caso-equipo div{border:1px solid var(--line);border-radius:12px;padding:14px 16px;background:var(--white);display:grid;gap:2px}.caso-equipo span{color:var(--muted)}.caso-equipo small{color:var(--cyan-deep);font-weight:600}
.caso-tabla{width:100%;max-width:880px;border-collapse:collapse;margin-top:16px;font-size:16px}.caso-tabla th,.caso-tabla td{padding:12px 10px;border-bottom:1px solid var(--line);text-align:left}
.caso-tabla td b{color:var(--cyan-deep)}.caso-fuente{color:var(--muted);font-size:13px;margin-top:8px}
/* foto del hotel en la cabecera del caso: detrás del portátil, a la derecha */
.stage.con-foto .hero-foto{position:absolute;right:0;top:0;width:86%;margin:0;z-index:0}
.stage.con-foto .hero-foto img{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover;border-radius:20px;box-shadow:0 24px 60px rgba(20,38,43,.18)}
.stage.con-foto .hero-foto figcaption{position:absolute;right:12px;top:10px;font:500 12px var(--body);color:#fff;background:rgba(20,38,43,.55);padding:3px 9px;border-radius:999px}
.stage.con-foto .laptop{width:66%;margin:44% 0 0 -4%;position:relative;z-index:1}
.caso-foto{margin:0;position:relative}.caso-foto img{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:18px}
.caso-foto .caso-cita{position:absolute;left:-18px;right:24px;bottom:-22px;background:var(--white);box-shadow:0 14px 36px rgba(20,38,43,.14)}
@media (max-width:900px){.stage.con-foto .hero-foto{position:relative;width:100%}.stage.con-foto .laptop{width:80%;margin:-22% auto 0}.caso-foto .caso-cita{position:relative;left:0;right:0;bottom:0;margin-top:-30px}}
.caso-ccaa{display:flex;gap:24px;align-items:center;max-width:960px;border:1px solid var(--line);border-radius:18px;padding:26px 28px;background:var(--paper)}
.caso-ccaa img{width:72px;height:72px;flex:none}.caso-ccaa h3{margin:6px 0 8px;font:500 24px/1.25 var(--display)}.caso-ccaa h3 b{font-weight:700}.caso-ccaa p{margin:0 0 14px;color:var(--muted)}
.caso-card .cc-ccaa{font-style:normal;font-size:12px;font-weight:600;color:var(--cyan-deep);background:var(--cyan-soft);border-radius:999px;padding:2px 10px;width:max-content;margin:2px 0 0}
@media (max-width:640px){.caso-ccaa{flex-direction:column;align-items:flex-start}}
