/* Hospefacil: identidad visual (azul noche y oro), tipografías de la marca y movimiento.
   Va la última para mandar sobre estilos anteriores; respeta «reducir movimiento». */
@font-face{font-family:"DM Serif Display";src:url(/fonts/dm-serif-display.woff2) format("woff2");font-weight:400;font-display:swap}
@font-face{font-family:Poppins;src:url(/fonts/poppins-300.woff2) format("woff2");font-weight:300;font-display:swap}
@font-face{font-family:Poppins;src:url(/fonts/poppins-500.woff2) format("woff2");font-weight:500;font-display:swap}
@font-face{font-family:Poppins;src:url(/fonts/poppins-600.woff2) format("woff2");font-weight:600;font-display:swap}
:root{--hf-noche:#1e2b45;--hf-noche-2:#2a3b5f;--hf-noche-3:#141d33;--hf-oro:#b8975a;--hf-oro-claro:#d9c39a;--hf-crema:#f6f2ea;--hf-fondo:#f7f5f0;--hf-linea:#e8e3d9;--hf-tinta:#1a2233;--hf-suave:#5d6879;--hf-serif:"DM Serif Display",Georgia,"Times New Roman",serif;--hf-ui:Poppins,system-ui,-apple-system,"Segoe UI",sans-serif;--hf-sombra:0 1px 2px rgba(30,43,69,.05),0 10px 30px -14px rgba(30,43,69,.18);--hf-muelle:cubic-bezier(.34,1.56,.64,1);--hf-suave-curva:cubic-bezier(.2,.8,.2,1);--brand:var(--hf-noche);--green:var(--hf-noche);--ink:var(--hf-tinta);--line:var(--hf-linea);--soft:var(--hf-crema)}

/* Fondo cálido y tipografía */
body{background:var(--hf-fondo)!important;color:var(--hf-tinta)}
body:has(.guest),body:has(#water-content){background:var(--hf-fondo)!important}
:is(#content,#water-content,#dialog-content) :is(h1,h2),dialog :is(h1,h2),.login h1,.guest h1,.guest h2{font-family:var(--hf-serif);font-weight:400!important;letter-spacing:.003em!important;color:var(--hf-noche)}
:is(#content,#water-content,#dialog-content) h3{color:var(--hf-noche);letter-spacing:-.01em}
.eyebrow{font-family:var(--hf-ui);font-weight:500!important;letter-spacing:.16em!important;text-transform:uppercase;color:#9a7b41!important}
a{color:var(--hf-noche)}
::selection{background:rgba(184,151,90,.3)}

/* Barra superior: azul noche, símbolo y nombre del alojamiento */
#app-top-surface{background-color:var(--hf-noche)!important;height:env(safe-area-inset-top,0)!important;min-height:0}
body:has(#shell:not([hidden])) aside{background:linear-gradient(180deg,var(--hf-noche) 0%,#22314f 100%)!important;box-shadow:inset 0 -1px 0 rgba(184,151,90,.45)!important;transition:box-shadow .3s ease}
body.hf-scrolled:has(#shell:not([hidden])) aside{box-shadow:inset 0 -1px 0 rgba(184,151,90,.45),0 10px 24px -12px rgba(10,16,30,.55)!important}
body:has(#shell:not([hidden])) aside .brand,body:has(#water-content) .brand-water{display:flex!important;align-items:center;gap:10px;color:#fff!important;text-decoration:none;line-height:1!important;background:transparent!important}
body:has(#shell:not([hidden])) aside .brand span,body:has(#water-content) .brand-water span{font-family:var(--hf-serif)!important;font-weight:400!important;font-size:21px!important;line-height:24px!important;letter-spacing:.005em!important;color:#fff!important;overflow:hidden;text-overflow:ellipsis}
.brand .brand-mark{width:30px!important;max-width:30px!important;height:30px!important;flex:none;display:block}
body:has(#water-content)::before{background:linear-gradient(180deg,var(--hf-noche) 0%,#22314f 100%)!important;box-shadow:inset 0 -1px 0 rgba(184,151,90,.45)!important}
.header-notifications{display:inline-flex!important;align-items:center;justify-content:center;gap:7px;background:rgba(255,255,255,.1)!important;color:#fff!important;border:1px solid rgba(255,255,255,.2)!important;border-radius:999px!important;padding:0 14px!important;font-family:var(--hf-ui);font-weight:500!important;font-size:14px!important;text-decoration:none;transition:background .2s ease}
.header-notifications:hover{background:rgba(255,255,255,.18)!important}
.header-notifications .gear{width:17px;height:17px;flex:none;transition:transform .6s var(--hf-suave-curva)}
.header-notifications:active .gear{transform:rotate(90deg)}
.top-back.screen-back{color:#fff!important}

/* Botones */
button,.button{font-family:var(--hf-ui);font-weight:500;letter-spacing:.005em!important;transition:transform .14s ease,box-shadow .2s ease,background-color .2s ease,filter .2s ease;-webkit-tap-highlight-color:transparent}
.hf-rippling{overflow:hidden!important}.hf-rippling.hf-static{position:relative}
button:not(.secondary):not(.danger):not(.capacity-button):not(.header-notifications):not(:is(.calendar,.reservation-board,.month-board,.tariff-board,#mobile-nav,.dialog-module-nav) *){box-shadow:0 1px 2px rgba(30,43,69,.18),inset 0 1px 0 rgba(255,255,255,.08)}
button:not(:disabled):active,.button:active{transform:scale(.97)}
button:hover{filter:brightness(1.08)}
button.secondary,.secondary{background:var(--hf-crema);color:var(--hf-noche)}
button.secondary:hover{background:#efe8da;filter:none}
.hf-ripple{position:absolute;border-radius:50%;background:currentColor;opacity:.18;transform:scale(0);pointer-events:none;animation:hf-ripple .6s ease-out forwards}
@keyframes hf-ripple{to{transform:scale(1);opacity:0}}

/* Campos */
:is(input:not([type=checkbox]):not([type=radio]),select,textarea){border-color:#dcd6ca;background:#fff;transition:border-color .2s ease,box-shadow .2s ease}
:is(input:not([type=checkbox]):not([type=radio]),select,textarea):focus{border-color:var(--hf-noche)!important;box-shadow:0 0 0 4px rgba(184,151,90,.22)!important;outline:none}
input[type=checkbox],input[type=radio]{accent-color:var(--hf-noche)}
:focus-visible{outline-color:var(--hf-oro)!important}

/* Tarjetas, avisos y etiquetas */
.card,#content section.card,.water-card{background:#fff;border:1px solid var(--hf-linea)!important;box-shadow:var(--hf-sombra);border-radius:18px}
.notice{border-left-color:var(--hf-oro)!important;background:#fbf7ee!important}
.badge{background:var(--hf-crema);color:var(--hf-noche);font-family:var(--hf-ui);font-weight:500}
.row{border-top-color:var(--hf-linea)}

/* Barra inferior: blanca con indicador dorado */
#mobile-nav:not([hidden]){background:#fff!important;border-top:1px solid rgba(30,43,69,.08)!important;box-shadow:0 -8px 30px -18px rgba(30,43,69,.35)}
#mobile-nav button,#mobile-nav a{position:relative;color:#7a8394!important;background:transparent!important;font-family:var(--hf-ui);transition:color .25s ease}
#mobile-nav button span,#mobile-nav a span{font-weight:500}
#mobile-nav :is(.active,[aria-current=page]){color:var(--hf-noche)!important;background:transparent!important}
#mobile-nav :is(button,a)::after{content:"";position:absolute;top:2px;left:50%;width:22px;height:3px;margin-left:-11px;border-radius:3px;background:var(--hf-oro);transform:scaleX(0);transition:transform .35s var(--hf-muelle)}
#mobile-nav :is(.active,[aria-current=page])::after{transform:scaleX(1)}
#mobile-nav :is(.active,[aria-current=page]) .nav-icon{animation:hf-bote .5s var(--hf-muelle)}
@keyframes hf-bote{0%{transform:scale(.85)}60%{transform:scale(1.12)}100%{transform:scale(1)}}

/* Ventanas y avisos */
dialog{border:0!important;box-shadow:0 30px 80px -20px rgba(10,16,30,.45)}
dialog[open]{animation:hf-ventana .34s var(--hf-suave-curva)}
dialog::backdrop{background:rgba(20,29,51,.46)!important;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);animation:hf-aparece .3s ease}
@keyframes hf-ventana{from{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}
@keyframes hf-aparece{from{opacity:0}to{opacity:1}}
#toast{background:var(--hf-noche)!important;border-left:4px solid var(--hf-oro);border-radius:14px!important;box-shadow:0 18px 40px -14px rgba(10,16,30,.5)!important;font-family:var(--hf-ui);animation:hf-aviso .45s var(--hf-muelle)}
@keyframes hf-aviso{from{opacity:0;transform:translate(-50%,16px) scale(.96)}to{opacity:1;transform:translate(-50%,0)}}

/* Entrada de cada pantalla, escalonada */
.hf-in{animation:hf-entra .5s var(--hf-suave-curva) both;animation-delay:var(--hf-delay,0ms)}
@keyframes hf-entra{from{opacity:0;transform:translateY(12px)}to{opacity:1;transform:none}}

/* Pantalla de entrada */
.login{position:relative;overflow:hidden;background:radial-gradient(900px 500px at 15% -10%,rgba(184,151,90,.28),transparent 60%),radial-gradient(700px 500px at 110% 110%,rgba(90,120,180,.25),transparent 60%),linear-gradient(160deg,var(--hf-noche) 0%,var(--hf-noche-3) 100%)!important}
.login::before,.login::after{content:"";position:absolute;border-radius:50%;filter:blur(40px);opacity:.35;pointer-events:none}
.login::before{width:340px;height:340px;background:var(--hf-oro);top:-120px;left:-80px;animation:hf-flota 14s ease-in-out infinite alternate}
.login::after{width:420px;height:420px;background:#3d5a96;bottom:-160px;right:-120px;animation:hf-flota 18s ease-in-out infinite alternate-reverse}
@keyframes hf-flota{from{transform:translate(0,0) scale(1)}to{transform:translate(60px,40px) scale(1.15)}}
.login .card{position:relative;z-index:1;border:0!important;border-top:0!important;border-radius:26px!important;padding:34px 30px!important;box-shadow:0 40px 80px -30px rgba(0,0,0,.55)!important;animation:hf-sube .8s var(--hf-suave-curva) both}
@keyframes hf-sube{from{opacity:0;transform:translateY(28px)}to{opacity:1;transform:none}}
.login-hf{display:block;width:190px;height:auto;margin:0 0 22px}
.login-property{font-family:var(--hf-serif);font-size:30px;line-height:1.15;color:var(--hf-noche);margin:0 0 4px}
.login-property::after{content:"";display:block;width:44px;height:3px;border-radius:3px;background:var(--hf-oro);margin:14px 0 18px;transform-origin:left;animation:hf-raya .9s .4s var(--hf-suave-curva) both}
@keyframes hf-raya{from{transform:scaleX(0)}to{transform:scaleX(1)}}
.login .card h1{font-size:20px!important;margin:0 0 4px!important;font-family:var(--hf-ui)!important;font-weight:500!important;color:var(--hf-tinta)}
.login .card h1+p{color:var(--hf-suave);margin-bottom:22px}
.login .card button{width:100%}
.login-powered{display:block;text-align:center;margin-top:8px;color:#8a92a1!important;font-family:var(--hf-ui);letter-spacing:.04em}

/* Presentación al abrir la app */
#app-loading{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
#splash{position:fixed;inset:0;z-index:1000;display:grid;place-content:center;justify-items:center;gap:18px;padding:24px;background:radial-gradient(800px 500px at 50% 20%,rgba(184,151,90,.22),transparent 65%),linear-gradient(160deg,var(--hf-noche) 0%,var(--hf-noche-3) 100%);transition:opacity .55s ease,visibility .55s ease}
#splash.out{opacity:0;visibility:hidden}
.splash-mark{width:104px;height:104px;overflow:visible}
.splash-house{fill:#fff;stroke:#fff;stroke-width:3;stroke-linejoin:round;transform-box:fill-box;transform-origin:50% 100%;animation:hf-casa .8s var(--hf-muelle) both}
.splash-dot{fill:var(--hf-noche);transform-box:fill-box;transform-origin:center;animation:hf-escribe 1.1s .5s ease-in-out infinite both}
.splash-dot:nth-of-type(2){animation-delay:.65s}.splash-dot:nth-of-type(3){animation-delay:.8s}.splash-dot.gold{fill:var(--hf-oro)}
@keyframes hf-casa{from{opacity:0;transform:translateY(16px) scale(.6)}to{opacity:1;transform:none}}
@keyframes hf-escribe{0%,100%{transform:translateY(0);opacity:.55}35%{transform:translateY(-5px);opacity:1}}
.splash-word{width:200px;height:auto;opacity:0;animation:hf-entra .7s .35s var(--hf-suave-curva) both}
.splash-property{margin:0;color:var(--hf-oro-claro);font-family:var(--hf-serif);font-size:22px;letter-spacing:.01em;opacity:0;animation:hf-entra .7s .6s var(--hf-suave-curva) both}
#splash.quick :is(.splash-house,.splash-word,.splash-property){animation-duration:.01s;animation-delay:0s}
#splash.quick{transition-duration:.3s}


@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.login::before,.login::after{animation:none}}
.stat strong{font-family:var(--hf-serif);font-weight:400!important;letter-spacing:0!important;color:var(--hf-noche)}
.stat span{font-family:var(--hf-ui)}
.guest .brand span{font-family:var(--hf-serif);font-weight:400;font-size:22px}

/* Arreglos de visualización en móvil (0.42.1) */
.context-actions:not(:has(>button:not([hidden]))){display:none!important}
#content h2{margin-top:.7em}
#content :is(.card,section,details,dialog)>h2:first-child,#content>h2:first-child{margin-top:0}
@media(max-width:720px){
 header .eyebrow{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;font-size:.62rem!important;letter-spacing:.12em!important}
 header>div{min-width:0;flex:1}
 #new-booking{white-space:nowrap;flex:none}
 .tariff-board button[data-tariff-unit]{padding:0 2px!important;font-size:13px!important;letter-spacing:-.01em!important}
}

/* Aviso de privacidad del check-in y foco: sin recuadros sobre contenedores (0.43.0) */
.privacidad-huesped{margin:0 0 18px;padding:12px 16px;border-radius:14px;background:#fff;border:1px solid var(--hf-linea);font-size:.92rem;color:var(--hf-suave)}
.privacidad-huesped summary{cursor:pointer;font-weight:600;color:var(--hf-noche)}
.privacidad-huesped p{margin:10px 0 0}
[tabindex="-1"]:focus,[tabindex="-1"]:focus-visible,nav:focus,section:focus,form:focus,div:focus{outline:none!important}
:focus:not(:focus-visible){outline:none}

/* Ajustes por grupos: cuadrícula de botones y apartados (0.43.0) */
.ajustes-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:12px;margin-top:6px}
.ajustes-tile{display:flex!important;align-items:center;gap:14px;width:100%;min-height:84px!important;padding:14px 16px!important;text-align:left;background:#fff!important;color:var(--hf-tinta)!important;border:1px solid var(--hf-linea)!important;border-radius:18px!important;box-shadow:var(--hf-sombra)!important;transition:transform .25s var(--hf-muelle),box-shadow .25s ease}
.ajustes-tile:hover{transform:translateY(-2px);filter:none}
.ajustes-tile b{display:block;font-family:var(--hf-ui);font-weight:600;font-size:1rem;color:var(--hf-noche)}
.ajustes-tile small{display:block;margin-top:2px;font-size:.8rem;line-height:1.3;color:var(--hf-suave);font-weight:400}
.ajustes-icono{flex:none;display:grid;place-items:center;width:44px;height:44px;border-radius:14px;background:linear-gradient(145deg,var(--hf-noche),#2f4470);color:var(--hf-oro-claro);font-size:1.25rem}
.ajustes-panel{animation:hf-entra .35s var(--hf-suave-curva)}
.ajustes-panel>h2{margin:10px 0 14px!important}
.ajustes-volver{min-height:40px!important;padding:0 16px!important;margin-bottom:4px}
.ajustes-lista{display:grid;gap:10px;margin:0 0 16px}
.ajustes-lista>button{width:100%;text-align:left;justify-content:flex-start}
.ajustes-panel .unit-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px}
.ajustes-panel .unit-grid .card{padding:14px}
.ajustes-panel .form-grid small{display:block;font-weight:400;margin-top:4px}
@media(max-width:720px){.ajustes-grid{grid-template-columns:1fr 1fr;gap:10px}.ajustes-tile{flex-direction:column;align-items:flex-start;gap:10px;min-height:128px!important}.ajustes-tile small{font-size:.74rem}#content[data-view="settings"] h1{margin-bottom:10px}}

/* «Nueva reserva» arriba, junto al título del calendario */
.calendario-cabecera{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.calendario-cabecera h1{margin:0!important}
.calendario-cabecera #calendar-new{flex:none;white-space:nowrap;min-height:44px!important;padding:0 16px!important;border-radius:999px!important}

/* Check-in: aviso visible de lo que falta y campos marcados */
.aviso-falta{margin:0 0 14px;padding:14px 16px;border-radius:14px;background:#fdecec;border:1px solid #f1b8b8;color:#8a1f1f;font-weight:500}
label.campo-falta{color:#8a1f1f}
label.campo-falta :is(input,select){border-color:#d34a4a!important;box-shadow:0 0 0 3px rgba(211,74,74,.15)!important}

/* Botón de WhatsApp */
.boton-whatsapp{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;padding:0 18px;margin:0 8px 8px 0;border-radius:12px;background:#1f8f4e;color:#fff!important;font-family:var(--hf-ui);font-weight:500;text-decoration:none}
.boton-whatsapp::before{content:"";width:18px;height:18px;background:currentColor;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2Z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 2a10 10 0 0 0-8.6 15.1L2 22l5-1.3A10 10 0 1 0 12 2Z'/%3E%3C/svg%3E") center/contain no-repeat}
#dialog-content a.boton-whatsapp,#content a.boton-whatsapp,a.boton-whatsapp{background:#1f8f4e!important;color:#fff!important;border:0!important}

/* Check-in: rellenar con foto del documento */
.foto-documento{display:grid;gap:8px;margin:0 0 16px;padding:14px;border-radius:16px;background:#fff;border:1px dashed var(--hf-oro)}
.foto-boton{display:flex!important;align-items:center;justify-content:center;min-height:52px;border-radius:14px;background:var(--hf-noche);color:#fff!important;font-family:var(--hf-ui);font-weight:500;cursor:pointer;text-decoration:none}
.foto-documento small{color:var(--hf-suave);line-height:1.4}
.aviso-falta.aviso-ok{background:#eaf5ec;border-color:#b7dcbf;color:#235c2d}
.foto-boton{text-align:center;padding:12px 18px!important;line-height:1.3;gap:8px}

/* Calendario limpio (0.44.0): rejilla de medios días, barras con bordes en diagonal */
.cal-barra-sup{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:0 0 10px;flex-wrap:wrap}
.cal-nav,.cal-acciones{display:flex;align-items:center;gap:8px}
.cal-nav{flex:1;min-width:0}
.cal-titulo{margin:0!important;font-size:1.35rem!important;flex:1;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#calendar-today.cal-hoy{position:static!important;margin:0!important}
@media(max-width:720px){.cal-barra-sup{flex-direction:column;align-items:stretch}.cal-nav .cal-titulo{text-align:center}.cal-acciones{justify-content:space-between}.cal-acciones #calendar-new{margin-left:auto}}
.cal-flecha,.cal-hoy{min-height:40px!important;height:40px!important;padding:0 12px!important;border-radius:12px!important}
.cal-flecha{width:40px;padding:0!important;font-size:1.3rem!important}
.cal-barra-sup #calendar-mode{width:auto;min-height:40px!important;height:40px!important;margin:0;padding:0 10px;font-size:.9rem}
.cal-barra-sup #calendar-new{min-height:40px!important;height:40px!important;padding:0 14px!important;border-radius:999px!important;white-space:nowrap}
.cal-seleccion{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:8px 12px!important;margin:0 0 8px!important}
.cal-tablero{--nombre:76px;--medio:22px;overflow-x:auto;overscroll-behavior-x:contain;background:#fff;border:1px solid var(--hf-linea);border-radius:16px;padding-bottom:2px}
.cal-fila{display:grid;grid-template-rows:44px;position:relative;border-top:1px solid #f0ece4;width:max-content;min-width:100%}
.cal-fila>*{grid-row:1}
.cal-cab{grid-template-rows:42px;border-top:0;position:sticky;top:0;z-index:3;background:#fff}
.cal-apto{position:sticky;left:0;z-index:2;display:flex;align-items:center;padding:0 8px;background:#fff;font-family:var(--hf-ui);font-weight:600;font-size:.78rem;color:var(--hf-noche);border-right:1px solid var(--hf-linea);line-height:1.15}
.cal-cab-dia{display:flex;flex-direction:column;align-items:center;justify-content:center;font-family:var(--hf-ui);font-size:.68rem;color:var(--hf-suave);line-height:1.1;border-left:1px solid #f0ece4}
.cal-cab-dia b{font-size:.92rem;font-weight:600;color:var(--hf-noche)}
.cal-cab-dia.finde{background:#faf8f3}
.cal-cab-dia.hoy{box-shadow:inset 0 -3px 0 var(--hf-oro)}.cal-cab-dia.hoy b{color:#9a7b41}
.cal-dia{min-height:0!important;height:100%!important;padding:0!important;margin:0;border:0!important;border-left:1px solid #f0ece4!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;cursor:pointer}
.cal-dia:hover{background:#f6f2ea!important;filter:none}
.cal-dia.hoy{background:rgba(184,151,90,.07)!important}
.cal-dia.cerrado{background:repeating-linear-gradient(135deg,#efece6 0 6px,#e5e1d8 6px 12px)!important;cursor:not-allowed}
.cal-dia.inicio{background:rgba(184,151,90,.3)!important}
.cal-barra{z-index:1;align-self:center;height:32px!important;min-height:0!important;margin:0!important;padding:0 12px 0 14px!important;border:0!important;border-radius:0!important;background:var(--hf-noche)!important;color:#fff!important;font-family:var(--hf-ui);font-weight:500;font-size:.74rem;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;box-shadow:none!important;clip-path:polygon(10px 0,100% 0,calc(100% - 10px) 100%,0 100%);display:flex!important;align-items:center}
.cal-barra span{overflow:hidden;text-overflow:ellipsis}
.cal-barra.en-curso{background:linear-gradient(90deg,#24365c,#2f4470)!important}
.cal-barra.pasada{background:#dcd8cf!important;color:#5d6879!important}
.cal-barra.corta-izq{clip-path:polygon(0 0,100% 0,calc(100% - 10px) 100%,0 100%);padding-left:8px!important}
.cal-barra.corta-der{clip-path:polygon(10px 0,100% 0,100% 100%,0 100%)}
.cal-barra.corta-izq.corta-der{clip-path:none}
.cal-barra:hover{filter:brightness(1.12)}
.cal-mes{--medio:20px}
@media(max-width:720px){.cal-tablero{--nombre:64px}.cal-apto{font-size:.7rem;padding:0 6px}.cal-titulo{font-size:1.15rem!important}.cal-barra-sup{gap:6px}}
/* Nombre y apellidos en dos líneas dentro de la barra, como en los programas de hotel */
.cal-barra{height:38px!important;white-space:normal!important;line-height:1.12!important;font-size:.7rem!important;padding-top:2px!important;padding-bottom:2px!important}
.cal-barra span{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;word-break:break-word}
/* Significado de un vistazo: en curso, pendiente de cobro y fines de semana */
.cal-dia.finde{background:#faf8f3!important}
.cal-barra{box-shadow:inset 0 1px 0 rgba(255,255,255,.12)!important}
.cal-barra.en-curso{background:linear-gradient(90deg,#2a3d66,#34497a)!important;box-shadow:inset 3px 0 0 var(--hf-oro)!important}
.cal-barra.debe::after{content:"";position:absolute;right:14px;top:6px;width:8px;height:8px;border-radius:50%;background:var(--hf-oro);box-shadow:0 0 0 2px rgba(255,255,255,.85)}
.cal-barra.corta-der.debe::after{right:6px}
.cal-barra{position:relative}
.cal-barra.pasada{background:#e4e0d8!important}
/* PPCL y piscina: lista de tareas legales, registros y exportar */
.agua-cabecera{display:flex;align-items:baseline;justify-content:space-between;gap:12px;margin:4px 0 12px}
.agua-cabecera h1{margin:0}
.agua-resumen{margin:0;font-weight:600;font-size:14px;color:#9a7b41;background:#fbf7ee;border:1px solid var(--hf-oro-claro);border-radius:999px;padding:4px 12px}
.agua-resumen.ok{color:#2f6b47;background:#eef7f1;border-color:#bfe0cb}
.agua-tareas{padding:4px!important;display:grid;gap:0}
.agua-tarea{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:10px 12px!important;background:transparent!important;color:var(--hf-tinta)!important;border:0!important;border-bottom:1px solid var(--hf-linea)!important;border-radius:12px!important;box-shadow:none!important;text-align:left}
.agua-tarea:last-child{border-bottom:0!important}
.agua-tarea:active{background:var(--hf-crema)!important}
.agua-tarea i{flex:none;width:26px;height:26px;border-radius:50%;border:2px solid var(--hf-oro);display:grid;place-items:center;font-style:normal;font-size:14px;font-weight:700;color:#fff}
.agua-tarea.hecha i{background:#2f6b47;border-color:#2f6b47}
.agua-tarea span{flex:1;min-width:0;display:grid;gap:2px}
.agua-tarea b{font-weight:600;font-size:16px;line-height:1.25}
.agua-tarea.hecha b{color:var(--hf-suave)}
.agua-tarea small{color:var(--hf-suave);font-size:13px}
.agua-tarea em{font-style:normal;font-size:24px;color:var(--hf-oro);line-height:1}
.agua-otros{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:12px 0}
.agua-otros button{min-height:48px;margin:0!important;width:100%}
.agua-exportar{display:grid;gap:10px}
.agua-exportar h2{margin:0}
.agua-enlaces{display:flex;flex-wrap:wrap;gap:8px}
.agua-enlaces>*{flex:1 1 140px;min-height:44px;display:inline-flex;align-items:center;justify-content:center;text-align:center;margin:0!important;text-decoration:none}
.agua-plegable{padding:0!important}
.agua-plegable>summary{padding:16px;font-weight:600;font-size:16px;color:var(--hf-noche);cursor:pointer;list-style:none;display:flex;justify-content:space-between}
.agua-plegable>summary::after{content:'›';color:var(--hf-oro);font-size:22px;line-height:1;transition:transform .2s ease}
.agua-plegable[open]>summary::after{transform:rotate(90deg)}
.agua-plegable>:not(summary){margin-left:16px;margin-right:16px}
.agua-plegable>:last-child{margin-bottom:16px}
.agua-plegable h3{margin:14px 0 4px;font-size:15px}
.agua-registro{display:flex;align-items:center;gap:10px;padding:10px 0;border-top:1px solid var(--hf-linea)}
.agua-registro>div{flex:1;min-width:0;display:grid;gap:2px}
.agua-registro small{color:var(--hf-suave);font-size:13px}
.agua-registro p{margin:0;font-size:14px;overflow-wrap:anywhere}
.agua-registro .badge{justify-self:start}
.agua-registro button{flex:none;min-height:40px;margin:0!important}
.agua-equipos{display:grid;gap:6px}
.agua-equipos p{margin:0}
.enlace{background:none!important;border:0!important;padding:0!important;color:var(--hf-noche)!important;text-decoration:underline;box-shadow:none!important;min-height:0!important;font:inherit}
.agua-medidas{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.agua-medidas label small{display:block;color:var(--hf-suave);font-size:12px;font-weight:400}
.agua-lista{display:grid;gap:8px;margin-bottom:12px}
.agua-lista button{min-height:52px;margin:0!important;width:100%}
.agua-aviso{border-left:4px solid var(--hf-oro)!important}
.agua-aviso h2{margin:0 0 4px}
#water-dialog textarea[rows="1"]{min-height:44px}
.agua-enlaces a.button.secondary{background:var(--hf-crema)!important;color:var(--hf-noche)!important;box-shadow:none!important}
.agua-enlaces>a.button:first-child:not(:last-child){flex-basis:100%}
/* Contabilidad: facturas y recibos */
.fact-botones{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:0 0 14px}
.fact-botones.n1{grid-template-columns:1fr}.fact-botones.n3>:first-child{grid-column:1/-1}
.fact-botones>*{min-height:52px;margin:0!important;width:100%;display:inline-flex;align-items:center;justify-content:center;text-decoration:none;text-align:center}
.fact-ancho{width:100%;margin-top:10px!important;min-height:48px}
.fact-cifras{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:14px}
.fact-cifras>div{background:#fff;border:1px solid var(--hf-linea);border-radius:16px;padding:12px;display:grid;gap:4px;box-shadow:var(--hf-sombra)}
.fact-cifras span{font-size:12px;color:var(--hf-suave);line-height:1.2}
.fact-cifras b{font-size:17px;color:var(--hf-noche);font-weight:600;white-space:nowrap}
.fact-cifras b.pend{color:#9a7b41}
.fact-filtros{display:grid;grid-template-columns:repeat(4,1fr);gap:4px;background:var(--hf-crema);border-radius:14px;padding:4px;margin-bottom:10px}
.fact-filtros button{min-height:40px;margin:0!important;background:transparent!important;color:var(--hf-noche)!important;box-shadow:none!important;border:0!important;border-radius:10px!important;font-size:14px;padding:0 4px!important}
.fact-filtros button.activo{background:#fff!important;box-shadow:0 1px 3px rgba(30,43,69,.15)!important;font-weight:600}
#fact-busca{width:100%;margin-bottom:10px}
.fact-lista{padding:4px!important;margin-bottom:14px}
.fact-fila{display:flex;justify-content:space-between;align-items:center;gap:12px;width:100%;min-height:62px;padding:10px 12px!important;margin:0!important;background:transparent!important;color:var(--hf-tinta)!important;border:0!important;border-bottom:1px solid var(--hf-linea)!important;border-radius:12px!important;box-shadow:none!important;text-align:left}
.fact-fila:last-child{border-bottom:0!important}
.fact-fila>span{display:grid;gap:3px;min-width:0}
.fact-fila small{color:var(--hf-suave);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.fact-fila b{font-weight:600}
.fact-importe{text-align:right;justify-items:end;flex:none}
.fact-estado{font-size:12px;font-weight:600;border-radius:999px;padding:2px 8px;background:var(--hf-crema);color:var(--hf-suave)}
.fact-estado.ok{background:#eef7f1;color:#2f6b47}.fact-estado.pend{background:#fbf7ee;color:#9a7b41}.fact-estado.anulada{background:#f4f1f1;color:#8a3b3b}
.fact-vacio{padding:18px;text-align:center;color:var(--hf-suave);margin:0}
.fact-pie{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px}
.fact-pie>*{min-height:48px;margin:0!important;display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none}
.fact-pie>:only-child{grid-column:1/-1}
.fact-pie a.button.secondary{background:var(--hf-crema)!important;color:var(--hf-noche)!important;box-shadow:none!important}
.fact-negocio{padding:0!important}.fact-negocio>summary{padding:16px;font-weight:600;cursor:pointer}.fact-negocio>section{padding:0 12px 12px}
.fact-aviso{display:grid;gap:10px;border-left:4px solid var(--hf-oro)!important}
.fact-aviso button{margin:0!important}
.fact-tipo{display:grid;grid-template-columns:1fr 1fr;gap:4px;background:var(--hf-crema);border-radius:14px;padding:4px;margin-bottom:12px}
.fact-tipo label{margin:0;cursor:pointer}
.fact-tipo input{position:absolute;opacity:0;pointer-events:none}
.fact-tipo span{display:flex;align-items:center;justify-content:center;min-height:44px;border-radius:10px;font-weight:500;color:var(--hf-noche)}
.fact-tipo input:checked+span{background:#fff;box-shadow:0 1px 3px rgba(30,43,69,.15);font-weight:600}
.fact-tipo input:focus-visible+span{outline:2px solid var(--hf-oro)}
.fact-cliente{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.fact-cliente .full,.form-grid .full{grid-column:1/-1}
.fact-cliente label[hidden]{display:none}
.fact-linea{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;align-items:end;padding:10px 0;border-bottom:1px solid var(--hf-linea);position:relative}
.fact-linea .fact-concepto{grid-column:1/-1;padding-right:44px}
.fact-quitar{position:absolute;top:30px;right:0;width:38px;min-height:38px!important;height:38px;padding:0!important;margin:0!important;border-radius:50%!important;background:var(--hf-crema)!important;color:var(--hf-noche)!important;font-size:20px;line-height:1}
.fact-quitar[hidden]{display:none}
.fact-mas{width:100%;margin-top:10px!important}
.fact-total{display:flex;justify-content:space-between;align-items:baseline;font-size:16px;margin:14px 0 6px;padding:12px 14px;background:var(--hf-crema);border-radius:12px}
.fact-total b{font-size:22px;color:var(--hf-noche)}
.fact-error{color:#8a3b3b;font-weight:500;min-height:0;margin:4px 0}
.fact-error:empty{display:none}
.fact-ok{background:#eef7f1;color:#2f6b47;border-radius:12px;padding:10px 14px;font-weight:600}
.fact-resumen{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 14px}
.fact-resumen>div{background:var(--hf-crema);border-radius:12px;padding:10px 12px;display:grid;gap:2px}
.fact-resumen span{font-size:12px;color:var(--hf-suave)}
.fact-resumen b{font-weight:600;color:var(--hf-noche);overflow-wrap:anywhere}
.fact-mini{margin:6px 0;font-size:14px}
.fact-ejemplo{font-size:13px;color:var(--hf-suave);margin:0}
label.check{display:flex;align-items:center;gap:10px;font-weight:500}
@media (max-width:380px){.fact-cifras b{font-size:15px}}
/* Correos automáticos */
.correo-estado{display:grid;gap:6px;border-left:4px solid var(--hf-oro)!important}
.correo-estado.ok{border-left-color:#2f6b47!important}
.correo-estado b{color:var(--hf-noche)}.correo-estado span{color:var(--hf-suave);font-size:14px}
.correo-estado button{margin:4px 0 0!important;min-height:44px}
.correo-flujo{padding:6px!important}
.correo-cabeza{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 10px 6px}
.correo-cabeza h3{margin:0;font-size:18px}
.correo-interruptor{display:inline-flex!important;align-items:center;gap:8px;min-height:40px!important;margin:0!important;padding:0 14px 0 6px!important;border-radius:999px!important;background:var(--hf-crema)!important;color:var(--hf-suave)!important;box-shadow:none!important;font-size:14px}
.correo-interruptor span{width:40px;height:24px;border-radius:999px;background:#cfc8bb;position:relative;transition:background .2s}
.correo-interruptor span::after{content:'';position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;transition:transform .2s var(--hf-suave-curva)}
.correo-interruptor.on{color:#2f6b47!important;font-weight:600}.correo-interruptor.on span{background:#2f6b47}.correo-interruptor.on span::after{transform:translateX(16px)}
.correo-paso{display:flex;align-items:center;gap:12px;width:100%;min-height:58px;padding:10px!important;margin:0!important;background:transparent!important;color:var(--hf-tinta)!important;border:0!important;border-top:1px solid var(--hf-linea)!important;border-radius:0!important;box-shadow:none!important;text-align:left}
.correo-paso i{flex:none;width:34px;height:34px;border-radius:50%;background:#fbf7ee;color:#9a7b41;display:grid;place-items:center;font-style:normal}
.correo-paso span{flex:1;display:grid;gap:2px;min-width:0}.correo-paso b{font-weight:600}.correo-paso small{color:var(--hf-suave);font-size:13px}
.correo-paso em{font-style:normal;font-size:22px;color:var(--hf-oro)}
.correo-paso.apagado{opacity:.55}
.correo-mas{width:calc(100% - 8px);margin:8px 4px 4px!important;min-height:46px}
.correo-envios{padding:0!important}.correo-envios>summary{padding:16px;font-weight:600;cursor:pointer}
.correo-envio{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:10px 16px;border-top:1px solid var(--hf-linea)}
.correo-envio span:first-child{display:grid;gap:2px;min-width:0}.correo-envio small{color:var(--hf-suave);font-size:13px}
.correo-cuando{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.correo-cuando label[hidden]{display:none}
.correo-variables{display:flex;flex-wrap:wrap;gap:6px;margin:4px 0 12px}
.correo-variables button{min-height:34px!important;margin:0!important;padding:0 10px!important;font-size:13px;border-radius:999px!important;background:#fbf7ee!important;color:#7d6331!important;border:1px solid var(--hf-oro-claro)!important;box-shadow:none!important}
.correo-previa{white-space:pre-wrap;background:var(--hf-crema);border-radius:12px;padding:14px;font:14px/1.5 var(--hf-ui);margin:0 0 12px;max-height:320px;overflow:auto}
.correo-cuando{border:1px solid var(--hf-linea)!important;border-radius:14px;padding:12px 14px 14px!important;margin:0 0 14px!important}
.correo-cuando legend{padding:0 6px;font-weight:600;color:var(--hf-noche)}
.correo-cuando label:first-of-type,.correo-cuando label:last-of-type,.correo-cuando label.solo{grid-column:1/-1}
/* Salones: misma cabecera que el calendario y huecos a la medida del dedo */
.cal-etiqueta{margin-left:auto;align-self:center;font-weight:600;color:#9a7b41;font-size:15px}
#content .rolling-board .slot button{min-height:44px!important}
#content .rolling-board tbody th:first-child,#content .rolling-board tbody td:first-child{white-space:normal!important;overflow-wrap:normal;hyphens:manual}
#content .rolling-board tbody :is(th,td):first-child *{white-space:normal!important;text-overflow:clip!important}
/* Editor de correos en el móvil: ajustes compactos e iguales, texto grande */
.correo-editor{display:grid;gap:14px}
.correo-ajustes{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;align-items:end}
.correo-ajustes label{margin:0!important;display:grid;gap:4px;font-size:13px;font-weight:600;color:var(--hf-suave)}
.correo-ajustes label.ancho{grid-column:1/-1}
.correo-ajustes label[hidden]{display:none}
.correo-ajustes :is(input,select),#correo-dato{height:44px!important;min-height:44px!important;padding:0 12px!important;font-size:16px!important;margin:0!important;box-sizing:border-box;width:100%}
.correo-texto{display:grid;gap:6px}
.correo-texto-cabeza{display:flex;justify-content:space-between;align-items:center;gap:10px}
.correo-texto-cabeza span{font-size:13px;font-weight:600;color:var(--hf-suave)}
.correo-texto-cabeza select{width:auto!important;max-width:60%;background:#fbf7ee!important;color:#7d6331!important;border-color:var(--hf-oro-claro)!important;border-radius:999px!important}
.correo-texto textarea{width:100%;min-height:45vh;font-size:16px!important;line-height:1.5;padding:14px!important;resize:none;overflow:hidden;box-sizing:border-box}
.correo-editor>label.check{margin:0}
#dialog-content:has(.correo-editor){overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
#dialog-content .correo-ajustes :is(input,select),#dialog-content #correo-dato{height:44px!important;min-height:44px!important;max-height:44px!important;line-height:normal!important}
#dialog-content .correo-ajustes input[type=time]{line-height:42px!important;padding-top:0!important;padding-bottom:0!important;display:block}
#dialog-content .correo-ajustes select{padding-right:30px!important;text-overflow:ellipsis}
/* Reservas de una noche: barra estrecha con el nombre de pila en una línea y el punto en la esquina */
.cal-barra.estrecha{padding:0 6px 0 11px!important;font-size:.64rem!important;letter-spacing:-.01em}
.cal-barra.estrecha span{-webkit-line-clamp:1;display:block;white-space:nowrap;text-overflow:clip;word-break:normal}
.cal-barra.estrecha.debe::after{right:5px;top:4px;width:6px;height:6px;box-shadow:0 0 0 1.5px rgba(255,255,255,.85)}
/* Cobro pendiente: raya dorada bajo la barra, sin quitar sitio al nombre */
.cal-barra.debe::after,.cal-barra.estrecha.debe::after{content:"";position:absolute;left:4px;right:4px;top:auto;bottom:0;width:auto;height:4px;border-radius:0;background:var(--hf-oro);box-shadow:none}
.cal-barra span{word-break:normal!important;overflow-wrap:normal!important}
.cal-barra.estrecha{padding-left:10px!important;padding-right:4px!important;font-size:.62rem!important}
.cal-barra.estrecha span{text-overflow:ellipsis;overflow:hidden}
/* Check-in terminado */
.checkin-hecho{display:grid;justify-items:center;text-align:center;gap:8px;margin:18px 0;padding:28px 20px;background:#eef7f1;border:1px solid #bfe0cb;border-radius:20px;animation:hf-aparece .5s var(--hf-muelle) both}
.checkin-hecho span{width:64px;height:64px;border-radius:50%;background:#2f6b47;color:#fff;display:grid;place-items:center;font-size:34px;font-weight:700}
.checkin-hecho h2{margin:6px 0 0;font-size:30px!important;color:#1f4f33!important}
.checkin-hecho p{margin:0;font-size:18px;font-weight:600;color:#1f4f33;line-height:1.4}
@keyframes hf-aparece{from{opacity:0;transform:scale(.92)}to{opacity:1;transform:none}}
/* Fechas en iPhone: mismo ancho y alto que el resto de campos */
.guest input[type=date],#travellers-form input[type=date]{-webkit-appearance:none;appearance:none;display:block;width:100%!important;max-width:100%!important;min-width:0!important;box-sizing:border-box;height:48px!important;min-height:48px!important;max-height:48px;line-height:normal;text-align:left;padding-top:0;padding-bottom:0}
#travellers-form input[type=date]::-webkit-date-and-time-value{text-align:left;margin:0}
#travellers-form input[type=date]::-webkit-datetime-edit{padding:0}
/* Ficha de la reserva */
.ficha-cabecera h2{margin:0 0 4px}
.ficha-cabecera p{margin:0 0 10px;color:var(--hf-suave)}
.ficha-chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.ficha-chip{font-size:13px;font-weight:600;border-radius:999px;padding:4px 10px;background:#fbf7ee;color:#9a7b41;border:1px solid var(--hf-oro-claro)}
.ficha-chip.ok{background:#eef7f1;color:#2f6b47;border-color:#bfe0cb}
.ficha-bloque{margin:0 0 12px!important;padding:14px 16px!important}
.ficha-titulo{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px}
.ficha-titulo h3{margin:0;font-size:18px}
.ficha-titulo button{min-height:40px!important;margin:0!important;padding:0 16px!important}
.ficha-datos{display:grid;grid-template-columns:1fr 1fr;gap:10px 14px;margin:0 0 12px}
.ficha-datos div{min-width:0}
.ficha-datos dt{font-size:12px;color:var(--hf-suave);font-weight:600}
.ficha-datos dd{margin:2px 0 0;font-size:15px;overflow-wrap:anywhere}
.ficha-falta{color:#b3aa9b;font-style:italic}
.ficha-total{margin:0 0 10px;font-size:15px}
.ficha-total b{font-size:18px;color:var(--hf-noche)}
.ficha-pago{margin:0 0 10px!important}
.ficha-botones{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.ficha-botones:empty{display:none}
.ficha-botones>*{margin:0!important;min-height:46px;width:100%}
.ficha-botones>:only-child{grid-column:1/-1}
.ficha-ocupantes{list-style:none;padding:0;margin:0;display:grid;gap:8px}
.ficha-ocupantes li{display:grid;gap:2px;padding:8px 10px;background:var(--hf-crema);border-radius:10px}
.ficha-ocupantes small{color:var(--hf-suave)}
#ficha-notas{width:100%;box-sizing:border-box;font-size:16px}
#ficha-guardar-notas{margin-top:8px!important;width:100%}
.titular-bloque{border:1px solid var(--hf-linea);border-radius:14px;padding:0 14px}
.titular-bloque>summary{padding:12px 0;font-weight:600;cursor:pointer}
.titular-campos{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;padding-bottom:12px}
.titular-campos label{margin:0!important;min-width:0}
.titular-campos label.ancho{grid-column:1/-1}
.titular-campos :is(input,select){width:100%;box-sizing:border-box}
#ficha-cliente-form .titular-campos{margin-bottom:14px}
/* Tocar el mes del calendario abre el selector de fecha: se puede ir a cualquier día de cualquier año */
.cal-saltar{position:relative;display:inline-block;cursor:pointer;padding:0 22px 0 0}
.cal-saltar::after{content:'▾';position:absolute;right:0;top:50%;transform:translateY(-50%);font-size:.6em;color:var(--hf-oro)}
.cal-saltar input[type=date]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;margin:0;padding:0;border:0;-webkit-appearance:none;appearance:none}
