/* =========================================================
   aloia. by launa · Tus alojamientos, en orden.
   Sistema visual del panel. Los colores, la letra, los radios y las sombras se
   definen una sola vez acá abajo (tokens) y el resto los usa; no escribir colores
   sueltos en los componentes.
   Una sola paleta, la de aloia, igual para todos los negocios (cada negocio pone su logo y su nombre;
   su marca va en lo que ve el huésped). Los tokens se siguen llamando "violeta…" por historia: hoy
   son el verde azulado de aloia (#09848F).
   Criterio de color (siempre significa lo mismo):
     principal   la marca (verde azulado): marco, botones, lo activo, el check-in, lo ocupado del calendario
     verde       lo real y cobrado          rojo    lo que falta o está mal
     ámbar       lo abierto, en curso o que sale   violeta (token turquesa)  actividad, lo pago sin usar
     azul        uso propio (no es venta)   gris    lo que ya pasó
   El voucher (lo que ve el huésped) va aparte, en voucher.css, con la marca del alojamiento.
   ========================================================= */
:root{
  /* marca: el verde azulado de aloia y el violeta del punto (acento chico) */
  --violeta-profundo:#123A3F; --violeta:#09848F; --violeta-hover:#076C75; --violeta-medio:#7FC4CA;
  --crema:#F3F9F9; --crema-borde:#D7E9EB; --lavanda:#E6F3F4; --lavanda-borde:#C3E2E5; --blanco:#FFFFFF;
  --acento:#7A3CE0;
  /* neutros */
  --fondo:#F0F4F5; --pagina:#FFFFFF; --hoja:#EEF3F4; --superficie:#F8FAFA; --pasado:#EEF1F2; --linea:#E3E8EA; --linea-fuerte:#CBD3D6;
  --tinta:#1F2A2E; --tinta-suave:#5F6B70; --tinta-tenue:#A2ACB0;
  /* significados */
  --ok:#1E8455; --ok-fondo:#E5F5EC; --ok-borde:#BEE4CF;
  --rojo:#C63D3D; --rojo-fondo:#FDEDED; --rojo-borde:#F4CACA;
  --ambar:#8F5E10; --ambar-fuerte:#D9A13F; --ambar-fondo:#FBF2E0; --ambar-borde:#EFDBAE;
  --turquesa:#5B34B0; --turquesa-fuerte:#9B7BE0; --turquesa-fondo:#F2EDFC; --turquesa-borde:#DDD1F6;   /* actividad: el violeta del punto */
  --azul:#3A6CB0; --azul-fondo:#E6EEF9; --azul-borde:#C5D6EE;
  --wa:#1E8E50; --wa-hover:#17703F;
  /* forma */
  --radio:14px; --radio-chico:10px; --radio-grande:18px;
  --sombra:0 1px 2px rgba(18,58,63,.06), 0 6px 18px rgba(18,58,63,.07);
  --sombra-alta:0 14px 44px rgba(18,58,63,.18);
  --foco:0 0 0 3px rgba(9,132,143,.2);
  /* piezas fijas del panel: el marco (barra de arriba y menú, del mismo color, con el contenido en una
     hoja blanca redondeada), tablas, mes en curso, hoy. */
  --marco:#09848F; --hoja-radio:28px;
  --enc-fondo:var(--marco); --enc-tinta:#FFFFFF; --enc-suave:rgba(255,255,255,.68); --enc-linea:rgba(255,255,255,.18);
  --enc-control:rgba(255,255,255,.1); --enc-activo:#FFFFFF; --enc-activo-tinta:#066670;
  --enc-marca:#FFFFFF;
  --menu-tinta:rgba(255,255,255,.82); --menu-hover:rgba(255,255,255,.09);
  --menu-activo-fondo:var(--enc-activo); --menu-activo-tinta:var(--enc-activo-tinta);
  --tabla-cab-fondo:var(--superficie); --tabla-cab-tinta:var(--tinta-suave);
  --curso-fondo:var(--lavanda); --curso-marca:var(--violeta);
  --hoy:var(--violeta-profundo); --hoy-fondo:var(--lavanda); --hoy-pulso:rgba(9,132,143,.5); --hoy-pulso-0:rgba(9,132,143,0);
  --sans:'Plus Jakarta Sans',-apple-system,BlinkMacSystemFont,'Segoe UI',Helvetica,Arial,sans-serif;
  /* el logo de aloia: la palabra gris y el punto violeta */
  --aloia:#3F3D45; --aloia-punto:#7A3CE0;
  /* el día de salida en el calendario (fondo y letra): violeta suave, el del punto del logo */
  --salida:#E6DCFA; --salida-tinta:#4A2A99;
}
/* ---------- base ---------- */
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:var(--sans);font-size:14px;color:var(--tinta);background:var(--pagina);line-height:1.5;min-height:100vh;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--violeta)}
.oculto{display:none !important}
.mut{color:var(--tinta-suave)}
.ico{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round;flex-shrink:0}

/* ---------- marca: aloia. | negocio (y "by launa", la empresa, en el ingreso y la firma) ---------- */
.wordmark{font-weight:800;letter-spacing:-.045em;color:var(--aloia);line-height:1}
.wordmark i{font-style:normal;color:var(--aloia-punto)}

/* ---------- encabezado ---------- */
.franja{background:var(--enc-fondo);color:var(--enc-tinta);position:sticky;top:0;z-index:20}
.franja-in{max-width:1100px;margin:0 auto;padding:10px 16px;display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.marca{display:flex;align-items:center;gap:14px;min-width:0}
.marca .wordmark{font-size:1.65rem}
/* sobre el marco oscuro, la versión clara del logo */
.franja{--aloia:#FFFFFF; --aloia-punto:#B9A0F7}
/* "by launa", chiquito abajo del wordmark */
.wordmark-grupo{display:flex;flex-direction:column;line-height:1}
.marca .by{font-size:.6rem;font-weight:600;letter-spacing:.08em;color:var(--enc-suave);margin-top:3px;padding-left:1px}
.marca-sep{width:1px;height:28px;background:var(--enc-linea)}
.negocio{font-weight:700;font-size:.9375rem;color:var(--enc-marca);line-height:1.15}
.negocio small{display:block;font-size:.75rem;font-weight:500;color:var(--enc-suave)}
/* quien es miembro de varios negocios elige acá cuál ver */
.negocio select{border:0;background:transparent;color:inherit;font:inherit;font-weight:700;cursor:pointer;padding:0;max-width:220px}
.negocio select option{color:var(--tinta);background:var(--blanco)}
.franja-der{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.anio{display:flex;background:var(--enc-control);border:1px solid var(--enc-linea);border-radius:999px;padding:3px}
.anio button{border:0;background:transparent;color:var(--enc-suave);padding:4px 12px;border-radius:999px;cursor:pointer;font-weight:600;font-size:.8125rem}
.anio button.on{background:var(--enc-activo);color:var(--enc-activo-tinta);box-shadow:0 1px 3px rgba(0,0,0,.12)}
.quien{font-size:.75rem;color:var(--enc-suave)}
.btn-chico{border:1px solid var(--enc-linea);background:transparent;color:var(--enc-tinta);border-radius:999px;padding:5px 13px;font-size:.8125rem;font-weight:600;cursor:pointer}
.btn-chico:hover{border-color:currentColor}
@media(max-width:600px){.marca .wordmark{font-size:1.4rem}.marca{gap:10px}.marca-sep{height:24px}}

/* ---------- navegación ---------- */
.tabs{background:var(--enc-fondo);margin:0;padding:2px 16px 16px;display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}
.tabs::-webkit-scrollbar{display:none}
.tab{flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;border:1px solid var(--enc-linea);background:transparent;
  font-size:.9375rem;font-weight:500;color:var(--menu-tinta);text-decoration:none;transition:background .12s,color .12s}
.tab:hover{background:var(--menu-hover)}
.tab.on,.tab.on:hover{background:var(--menu-activo-fondo);border-color:var(--menu-activo-fondo);color:var(--menu-activo-tinta);font-weight:600}
.ic-tab{width:19px;height:19px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
#app{background:var(--enc-fondo)}
main{background:var(--hoja);border-radius:22px 22px 0 0;min-height:calc(100vh - 120px);padding:20px 16px 80px}
main>*{max-width:1100px;margin-left:auto;margin-right:auto}

/* ---------- títulos ---------- */
.sec-tit{font-size:1.25rem;font-weight:800;letter-spacing:-.02em;color:var(--violeta-profundo);margin:4px 2px 14px}
.card-tit{font-size:1rem;font-weight:700;letter-spacing:-.01em;color:var(--violeta-profundo);margin-bottom:12px}
h2.sec{font-size:1rem;font-weight:700;letter-spacing:-.01em;color:var(--violeta-profundo);margin:24px 0 10px;display:flex;gap:10px;align-items:center}
h2.sec::after{content:"";flex:1;height:1px;background:var(--linea)}
h2.sec .sec-btn{order:3;margin-left:4px;font-size:.8125rem;padding:6px 14px}
.grupo{font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--violeta);font-weight:700;margin:18px 0 8px;display:flex;gap:9px;align-items:center}
.grupo::after{content:"";flex:1;height:1px;background:var(--linea)}
.grupo .neg{color:var(--rojo)}
.nota{font-size:.8125rem;color:var(--tinta-suave);margin:-6px 2px 16px}
.card > .nota{font-size:.875rem}

/* ---------- tarjetas ---------- */
.card{background:var(--blanco);border:1px solid rgba(18,58,63,.06);border-radius:var(--radio-grande);box-shadow:var(--sombra);padding:18px;margin-bottom:16px}
.dos{display:grid;gap:0 16px}
.dos>*{min-width:0}
.dos>* h2.sec:first-child{margin-top:4px}

/* ---------- indicadores ---------- */
.stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:12px}
@media(max-width:700px){.stats{grid-template-columns:repeat(2,minmax(0,1fr))}}
.stat{border-radius:var(--radio);padding:13px 14px;border:1px solid var(--linea);background:var(--blanco);min-width:0}
.stat.ancho{grid-column:1/-1}
.stat .lbl{font-size:.6875rem;letter-spacing:.05em;text-transform:uppercase;color:var(--tinta-suave);font-weight:700}
.stat .val{font-size:1.25rem;font-weight:700;letter-spacing:-.01em;font-variant-numeric:tabular-nums;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--violeta-profundo)}
.stat .hint{font-size:.75rem;color:var(--tinta-suave);margin-top:2px}
@media(max-width:700px){.stat .val{font-size:1.125rem;letter-spacing:-.02em}}
/* cada color con su franja a la izquierda y el número en su tono, para que no se confundan */
.stat.t-ver{background:var(--ok-fondo);border-color:var(--ok-borde);border-left:4px solid var(--ok)}
.stat.t-ver .val{color:var(--ok)}
.stat.t-gla{background:var(--turquesa-fondo);border-color:var(--turquesa-borde);border-left:4px solid var(--turquesa-fuerte)}
.stat.t-gla .val{color:var(--turquesa)}
.stat.t-are{background:var(--superficie);border-color:var(--linea);border-left:4px solid var(--violeta-medio)}
.stat.t-are .val{color:var(--violeta-profundo)}
.stat.t-roj{background:var(--rojo-fondo);border-color:var(--rojo-borde);border-left:4px solid var(--rojo)}
.stat.t-roj .val{color:var(--rojo)}
.stat.t-ter{background:var(--ambar-fondo);border-color:var(--ambar-borde);border-left:4px solid var(--ambar-fuerte)}
.stat.t-ter .val{color:var(--ambar)}
.ley-colores{display:flex;flex-wrap:wrap;gap:6px 18px;font-size:.75rem;color:var(--tinta-suave);margin:0 2px 12px}
.ley-colores span{display:inline-flex;align-items:center;gap:6px}
.ley-colores i{width:12px;height:12px;border-radius:4px;display:inline-block;border:1px solid rgba(0,0,0,.06)}
.ley-colores .t-gla{background:var(--turquesa-fuerte)}.ley-colores .t-are{background:var(--violeta-medio)}.ley-colores .t-ver{background:var(--ok)}
.ley-colores .t-roj{background:var(--rojo)}.ley-colores .t-ter{background:var(--ambar-fuerte)}

/* ---------- chips ---------- */
.chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.chip{font-size:.75rem;font-weight:700;padding:3px 10px;border-radius:999px;white-space:nowrap;background:var(--fondo);color:var(--tinta-suave)}
.chip.ok{background:var(--ok-fondo);color:var(--ok)}
.chip.rojo{background:var(--rojo-fondo);color:var(--rojo)}
.chip.ter{background:var(--ambar-fondo);color:var(--ambar)}
.chip.gla{background:var(--turquesa-fondo);color:var(--turquesa)}
.chip.gris{background:var(--pasado);color:var(--tinta-suave)}
.chip.propio{background:var(--azul-fondo);color:var(--azul)}
/* una por plataforma (con su color = ya dejó reseña; gris = falta) */
.chip.plat-booking{background:#E3EAF6;color:#1F3F7A}
.chip.plat-airbnb{background:#FBE4E5;color:#A8323A}
.chip.plat-google{background:#FBF0D2;color:#7A5A0C}
.chip.plat-otra{background:var(--pasado);color:var(--tinta-suave)}
.chip.falta{color:var(--tinta-suave);background:var(--pasado)}

/* ---------- botones ---------- */
.acciones{display:flex;gap:8px;flex-wrap:wrap;margin-bottom:14px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;border:1px solid var(--violeta);background:var(--violeta);color:var(--blanco);border-radius:999px;padding:9px 18px;font-weight:700;font-size:.875rem;line-height:1.2;text-decoration:none;cursor:pointer;transition:background .12s,border-color .12s}
/* un ícono dentro de un botón: chico y centrado con el texto */
.btn > .ico{width:17px;height:17px}
.btn:hover{background:var(--violeta-hover);border-color:var(--violeta-hover)}
.btn.sec{background:var(--blanco);color:var(--violeta-profundo);border-color:var(--linea-fuerte)}
.btn.sec:hover{background:var(--lavanda);border-color:var(--lavanda-borde)}
.btn.peligro{background:var(--blanco);color:var(--rojo);border-color:var(--rojo-borde)}
.btn.peligro:hover{background:var(--rojo-fondo)}
/* el botón que pide un segundo toque para confirmar (borrar, quitar) */
.btn.armado,.btn.peligro.armado,.menu-op button.armado{background:var(--rojo);border-color:var(--rojo);color:var(--blanco)}
.btn:disabled{opacity:.5;cursor:default}
.btn-ico{display:inline-flex;align-items:center;gap:6px}
.btn-ico .ico{width:17px;height:17px}
.btn-grande{padding:13px 26px;font-size:1rem}
.btn.btn-chico-v{padding:5px 12px;font-size:.8125rem}
.btn-link{border:0;background:none;color:var(--violeta);text-decoration:underline;cursor:pointer;font-size:.875rem;padding:0}
.seg{display:inline-flex;background:var(--blanco);border:1px solid var(--linea);border-radius:999px;padding:4px}
.seg button{border:0;background:transparent;color:var(--tinta-suave);padding:8px 20px;border-radius:999px;cursor:pointer;font:inherit;font-weight:700;font-size:.9375rem}
.seg button.on{background:var(--violeta-profundo);color:var(--blanco)}
/* WhatsApp: su verde y su ícono */
.btn-wa{text-decoration:none;display:inline-flex;align-items:center;gap:8px}
.btn.btn-wa:not(.sec){background:var(--wa);border-color:var(--wa)}
.btn.btn-wa:not(.sec):hover{background:var(--wa-hover);border-color:var(--wa-hover)}
.btn.sec.btn-wa{color:var(--wa);border-color:#9CCBB0}
.btn-wa::before{content:"";width:17px;height:17px;flex-shrink:0;background-repeat:no-repeat;background-size:contain;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 20.5l1.3-4A8.5 8.5 0 1 1 8 19.6z'/%3E%3Cpath d='M9 8.5c0 3.5 2.6 6.5 6.5 6.6l.9-1.6-1.8-.9-.9 1c-1.3-.6-2.3-1.6-2.9-2.9l1-.9-.9-1.8z' fill='white' stroke='none'/%3E%3C/svg%3E")}
.btn.sec.btn-wa::before{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231E8E50' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M3.5 20.5l1.3-4A8.5 8.5 0 1 1 8 19.6z'/%3E%3Cpath d='M9 8.5c0 3.5 2.6 6.5 6.5 6.6l.9-1.6-1.8-.9-.9 1c-1.3-.6-2.3-1.6-2.9-2.9l1-.9-.9-1.8z' fill='%231E8E50' stroke='none'/%3E%3C/svg%3E")}
.wa-previa{white-space:pre-wrap;font-family:var(--sans);font-size:.875rem;background:#E8F5EC;border-radius:12px;padding:12px 14px;margin:0;line-height:1.5}
/* menú "⋯" de cada fila */
.menu-mas{position:relative}
.menu-mas summary{list-style:none;cursor:pointer;width:38px;height:38px;border-radius:999px;border:1px solid var(--linea);display:grid;place-items:center;font-weight:700;color:var(--tinta-suave);background:var(--blanco);user-select:none}
.menu-mas summary::-webkit-details-marker{display:none}
.menu-mas[open] summary{background:var(--lavanda);border-color:var(--lavanda-borde);color:var(--violeta)}
.menu-op{position:absolute;right:0;top:44px;z-index:30;background:var(--blanco);border:1px solid var(--linea);border-radius:12px;box-shadow:var(--sombra-alta);padding:6px;min-width:210px;display:flex;flex-direction:column}
.menu-op button{border:0;background:none;text-align:left;padding:10px 12px;border-radius:8px;font:inherit;font-size:.9375rem;cursor:pointer;color:var(--tinta)}
.menu-op button:hover{background:var(--lavanda);color:var(--violeta-profundo)}

/* ---------- formularios y ventanas ---------- */
dialog{border:0;border-radius:var(--radio-grande);padding:0;width:min(640px,calc(100vw - 24px));max-height:calc(100vh - 24px);box-shadow:var(--sombra-alta);margin:auto}
dialog::backdrop{background:rgba(28,24,36,.45)}
.dlg-head{position:sticky;top:0;background:var(--blanco);padding:16px 18px 12px;border-bottom:1px solid var(--linea);display:flex;align-items:center;gap:10px;z-index:1}
.dlg-head h3{font-size:1.125rem;font-weight:800;letter-spacing:-.015em;color:var(--violeta-profundo);flex:1}
.dlg-body{padding:16px 18px}
.dlg-pie{position:sticky;bottom:0;background:var(--blanco);padding:12px 18px;border-top:1px solid var(--linea);display:flex;gap:8px;flex-wrap:wrap}
.dlg-pie .der{margin-left:auto;display:flex;gap:8px}
.campos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 12px}
@media(max-width:520px){.campos{grid-template-columns:1fr}}
/* en el celular, lo que se escribe va en 16 px: más chico, el iPhone hace zoom al tocarlo */
@media(max-width:600px){.campo input,.campo select,.campo textarea,.sel,.buscador input{font-size:16px}}
.campo{display:flex;flex-direction:column;gap:4px;min-width:0}
.campo.ancho{grid-column:1/-1}
.campo label{font-size:.75rem;font-weight:700;color:var(--tinta-suave);text-transform:uppercase;letter-spacing:.04em}
.campo input,.campo select,.campo textarea{border:1px solid var(--linea-fuerte);border-radius:var(--radio-chico);padding:9px 11px;background:var(--blanco);width:100%;min-width:0}
.campo input:focus,.campo select:focus,.campo textarea:focus{outline:none;border-color:var(--violeta);box-shadow:var(--foco)}
.campo input[readonly]{background:var(--pasado);color:var(--tinta-suave)}
.campo .ayuda{font-size:.75rem;color:var(--tinta-suave)}
.campo .ayuda.warn{color:var(--ambar)}
.subtit{grid-column:1/-1;font-size:.6875rem;letter-spacing:.1em;text-transform:uppercase;color:var(--violeta);font-weight:700;margin-top:8px;border-top:1px solid var(--linea);padding-top:10px}
.errores{background:var(--rojo-fondo);border-left:3px solid var(--rojo);color:var(--rojo);border-radius:8px;padding:9px 12px;font-size:.8125rem;margin-bottom:12px}
.errores li{margin-left:16px}
.sel{border:1px solid var(--linea-fuerte);border-radius:12px;padding:10px 12px;background:var(--blanco);font-size:.9375rem}
.sel-grande{font-size:1rem;padding:13px 14px}
.buscar{border:1px solid var(--linea-fuerte);border-radius:999px;padding:8px 14px;background:var(--blanco);min-width:0;flex:1;max-width:320px}
.buscador{flex:1;min-width:220px;display:flex;align-items:center;gap:10px;border:1px solid var(--linea-fuerte);border-radius:999px;padding:0 18px;background:var(--blanco)}
.buscador:focus-within{border-color:var(--violeta);box-shadow:var(--foco)}
.buscador .ico{color:var(--tinta-suave)}
.buscador input{flex:1;border:0;background:transparent;padding:13px 0;font-size:1rem;outline:none;min-width:0}
.solo-otro{display:none}
form.con-otro .solo-otro{display:block}
.solo-otro.ancho{grid-column:1/-1}
/* cobro: "¿Pagó?" muestra solo lo que corresponde (todavía no / seña / todo) */
.solo-sena,.solo-resto{display:none}
form.pago-sena .solo-sena{display:block}
form.pago-resto .solo-resto{display:block}
form.pago-no .solo-pago,form.pago-no .solo-otro{display:none}
/* Airbnb: el huésped ya pagó y Airbnb retiene la plata; el cobro no se carga en la reserva */
.solo-airbnb{display:none}
form.es-airbnb .solo-airbnb{display:block;grid-column:1/-1}
form.es-airbnb .bloque-cobro > :not(.subtit):not(.solo-airbnb){display:none}
.ya-seno{background:var(--ambar-fondo);border:1px solid var(--ambar-borde);border-radius:var(--radio-chico);padding:10px 14px;color:var(--tinta);font-size:.875rem;line-height:1.45}
.ya-seno b{color:var(--ambar)}
/* la comisión y los pesos: datos calculados, no campos para completar */
.com-calc{border:1px dashed var(--linea-fuerte);border-radius:var(--radio-chico);padding:9px 12px;background:var(--superficie);font-weight:700;
  font-variant-numeric:tabular-nums;color:var(--ambar);min-height:42px;display:flex;align-items:center}
.com-calc .vacia{color:var(--tinta-suave);font-weight:400}
.campo input[name="pesos_recibidos"][readonly],.campo input[name="pesos"][readonly]{
  background:var(--superficie);border:1px dashed var(--linea-fuerte);color:var(--ok);font-weight:700;font-variant-numeric:tabular-nums;min-height:42px;
  padding:9px 12px;border-radius:var(--radio-chico);cursor:default;outline:none;box-shadow:none}
.campo input[name="pesos_recibidos"][readonly]::placeholder,.campo input[name="pesos"][readonly]::placeholder{color:var(--tinta-suave);font-weight:400;opacity:1}
#vista-cobro{color:var(--ok)}
/* la reserva dentro del formulario: neutra, con la franja de la marca */
.bloque-reserva{grid-column:1/-1;display:grid;grid-template-columns:inherit;gap:12px;
  background:var(--superficie);border:1px solid var(--linea);border-left:4px solid var(--violeta-medio);border-radius:var(--radio);padding:4px 16px 16px;margin-bottom:6px}
.bloque-reserva .subtit{border-top:0;padding-top:10px;margin-top:0;color:var(--violeta)}
.bloque-reserva .campo input:not([readonly]),.bloque-reserva .campo select,.bloque-reserva .pax{background:var(--blanco)}
/* el cobro dentro de la reserva: verde suave (lo cobrado) */
.bloque-cobro{grid-column:1/-1;display:grid;grid-template-columns:inherit;gap:12px;
  background:#F2FAF6;border:1px solid var(--ok-borde);border-left:4px solid var(--ok);border-radius:var(--radio);padding:4px 16px 16px;margin-top:6px}
.bloque-cobro .subtit{border-top:0;padding-top:10px;margin-top:0;color:var(--ok)}
.bloque-cobro .campo input:not([readonly]),.bloque-cobro .campo select{background:var(--blanco)}
.bloque-notas{grid-column:1/-1;background:var(--superficie);border:1px solid var(--linea);border-left:4px solid var(--linea-fuerte);border-radius:var(--radio);padding:4px 16px 16px;margin-top:6px}
.bloque-notas .subtit{border-top:0;padding-top:10px;margin:0 0 6px;color:var(--tinta-suave)}
.bloque-notas .campo > label:empty{display:none}
.bloque-notas textarea{background:var(--blanco)}
@media(min-width:1024px){.bloque-reserva,.bloque-cobro{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:520px){.bloque-reserva,.bloque-cobro{grid-template-columns:1fr}}
@media(min-width:521px){.bloque-reserva.fbk-dos{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* subir un PDF o una captura y que se complete solo */
.fbk-pdf{grid-column:1/-1;display:flex;align-items:center;gap:14px;padding:14px 16px;border:2px dashed var(--linea-fuerte);border-radius:var(--radio);background:var(--superficie);cursor:pointer;transition:background .15s,border-color .15s}
.fbk-pdf:hover,.fbk-pdf.encima{background:var(--lavanda);border-color:var(--violeta-medio)}
.fbk-pdf b{display:block;font-size:1rem;color:var(--tinta)}
.fbk-pdf small{display:block;margin-top:2px;color:var(--tinta-suave);font-size:.875rem}
.fbk-pdf-ico{flex:none;width:40px;height:40px;border-radius:var(--radio-chico);background:var(--blanco);display:grid;place-items:center;color:var(--violeta)}
.fbk-pdf-ico .ico{width:22px;height:22px}
.fbk-pdf.ok{border-style:solid;border-color:var(--ok);background:var(--ok-fondo)}
.fbk-pdf.ok small{color:var(--ok);font-weight:600}
.fbk-pdf.mal{border-style:solid;border-color:var(--rojo);background:var(--rojo-fondo)}
.fbk-pdf.mal small{color:var(--rojo);font-weight:600}
/* reserva caída: los datos van debajo de la lista, ocupando el ancho */
.caida-datos{grid-column:1/-1;display:grid}
.caida-datos.oculto{display:none}
/* huéspedes, como en Booking */
.pax{border:1px solid var(--linea-fuerte);border-radius:12px;background:var(--blanco);padding:6px 14px}
.pax-fila{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 0;border-bottom:1px solid var(--linea)}
.pax-fila b{display:block;font-weight:700;font-size:.9375rem}
.pax-fila span{font-size:.75rem;color:var(--tinta-suave)}
.pax-cont{display:flex;align-items:center;gap:12px}
.pax-cont button{width:36px;height:36px;border-radius:50%;border:1.5px solid var(--violeta);background:var(--blanco);color:var(--violeta);
  font-size:1.3rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center}
.pax-cont button:hover:not(:disabled){background:var(--violeta);color:var(--blanco)}
.pax-cont button:disabled{border-color:var(--linea);color:var(--linea-fuerte);cursor:default}
.pax-cont .pax-n{min-width:20px;text-align:center;font-size:1.1rem;font-weight:700;color:var(--tinta)}
.pax-edades{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;padding:12px 0;border-bottom:1px solid var(--linea)}
.pax-edades label{display:flex;flex-direction:column;gap:4px;font-size:.75rem;font-weight:700;color:var(--tinta-suave);text-transform:uppercase;letter-spacing:.04em}
.pax-edades .sel{text-transform:none;letter-spacing:0;font-weight:400;color:var(--tinta)}
.pax-res{padding:10px 0 4px;font-size:.875rem;color:var(--violeta);font-weight:700}

/* ---------- tablas ---------- */
.tabla-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;margin-bottom:14px;border-radius:var(--radio);border:1px solid var(--linea);background:var(--blanco)}
table.mtz{width:100%;border-collapse:collapse;font-size:.8125rem}
.mtz th{background:var(--tabla-cab-fondo);color:var(--tabla-cab-tinta);font-size:.6875rem;letter-spacing:.06em;text-transform:uppercase;font-weight:700;padding:10px 10px;text-align:right;white-space:nowrap;border-bottom:1px solid var(--linea)}
.mtz th:first-child,.mtz td:first-child{text-align:left}
.mtz td{padding:9px 10px;border-top:1px solid var(--linea);text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
.mtz tr:first-child td{border-top:0}
.mtz td:first-child{white-space:normal;font-weight:700;color:var(--violeta-profundo)}
.mtz td small{display:block;font-weight:400;font-size:.75rem;color:var(--tinta-suave)}
.mtz tr.click{cursor:pointer}.mtz tr.click:hover td{background:var(--superficie)}
.mtz tr.tot td{background:var(--lavanda);border-top:2px solid var(--lavanda-borde);font-weight:700}
/* lo que ya pasó, grisado entero (la letra queda oscura para que se lea) */
.mtz tr.cerrado td{background:var(--pasado)}
.mtz tr.cerrado:hover td{background:#E8E5EE}
/* mes en curso: lavanda, para ubicarse rápido en la tabla */
.mtz tr.curso td{background:var(--curso-fondo)}
.mtz tr.curso td:first-child{box-shadow:inset 4px 0 0 var(--curso-marca)}
.mtz td.neg{color:var(--rojo)}.mtz td.pos{color:var(--ok)}
.mtz th:has(.th-izq){text-align:left}
.mtz td.sube{color:var(--ok);font-weight:700}
.mtz td.baja{color:var(--ambar);font-weight:700}
.mtz td.est-ok{color:var(--ok);font-weight:700}
.mtz td.est-curso{color:var(--ambar);font-weight:700}
.mtz td.neto-ref{color:var(--ok);font-weight:800}
.mtz td.fee-est{text-align:left}
.mtz td.fbk-estado{text-align:left;white-space:normal}
.mtz td.fbk-estado small{display:block;margin-top:4px}
.mtz td.fbk-acc{text-align:right;white-space:nowrap}

/* ---------- desplegables ---------- */
.pleg{background:var(--blanco);border:1px solid rgba(18,58,63,.06);border-radius:var(--radio);margin-bottom:12px;overflow:hidden;box-shadow:var(--sombra)}
.pleg summary{cursor:pointer;padding:16px 20px;font-weight:700;font-size:1rem;color:var(--violeta-profundo);list-style:none;display:flex;justify-content:space-between;align-items:center}
.pleg summary::-webkit-details-marker{display:none}
.pleg summary::after{content:"+";font-size:1.4rem;line-height:1;color:var(--violeta);font-weight:400}
.pleg[open] summary::after{content:"−"}
.pleg[open] summary{border-bottom:1px solid var(--linea)}
.pleg-t{display:flex;align-items:center;gap:12px}
.pleg-t .ico{color:var(--violeta)}
.pleg-n{background:var(--fondo);color:var(--violeta-profundo);border-radius:999px;padding:1px 10px;font-size:.8125rem;font-weight:700}
.pleg-n.ok{background:var(--ok-fondo);color:var(--ok)}
.pleg-n.mal{background:var(--rojo-fondo);color:var(--rojo)}
.pleg-in{padding:16px 20px}
.pleg-in .tabla-wrap{margin:0}

/* ---------- controles ---------- */
.ctrl{display:flex;gap:10px;align-items:flex-start;padding:9px 0;border-top:1px solid var(--linea);font-size:.875rem}
.ctrl:first-child{border-top:0}
.ctrl .ic{width:22px;height:22px;border-radius:50%;flex-shrink:0;display:flex;align-items:center;justify-content:center;color:var(--blanco);font-size:.75rem;font-weight:700}
.ctrl .ic.ok{background:var(--ok)}.ctrl .ic.mal{background:var(--rojo)}
.ctrl small{display:block;color:var(--tinta-suave);font-size:.75rem;font-variant-numeric:tabular-nums}

/* ---------- pendientes ---------- */
.pend{display:flex;flex-direction:column;gap:7px}
.pend-it{border-radius:var(--radio-chico);padding:9px 12px;border-left:3px solid;font-size:.875rem;cursor:default}
.pend-it b{display:block;font-weight:700}.pend-it span{font-size:.75rem;color:var(--tinta-suave)}
.pend-it.rojo{background:var(--rojo-fondo);border-color:var(--rojo)}.pend-it.ter{background:var(--ambar-fondo);border-color:var(--ambar-fuerte)}
.pend-it.gla{background:var(--turquesa-fondo);border-color:var(--turquesa-fuerte)}.pend-it.ok{background:var(--ok-fondo);border-color:var(--ok)}
.pend-it[data-id]{cursor:pointer}

/* ---------- barras ---------- */
.barra{display:flex;height:12px;border-radius:999px;overflow:hidden;background:var(--pasado);margin:8px 0}
.barra span{display:block;height:100%}
.c-Booking{background:var(--violeta)}.c-Airbnb{background:var(--ambar-fuerte)}.c-Despegar{background:var(--turquesa-fuerte)}.c-Directa{background:var(--ok)}
.ley{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:.8125rem}
.ley i{display:inline-block;width:10px;height:10px;border-radius:3px;margin-right:5px}
.om{display:grid;grid-template-columns:90px 1fr 70px 40px;gap:8px;align-items:center;font-size:.8125rem;margin:5px 0}
.om .b{height:10px;background:var(--pasado);border-radius:999px;overflow:hidden}
.om .b i{display:block;height:100%}
.om .p{text-align:right;font-variant-numeric:tabular-nums}
.o-cerrado{background:var(--tinta-tenue)}.o-en-curso{background:var(--violeta)}.o-por-venir{background:var(--violeta-medio)}
/* Ocupación: de dónde vienen las noches, un canal por renglón */
.canal-fila{display:grid;grid-template-columns:minmax(110px,170px) minmax(0,1fr) 90px 44px;align-items:center;gap:12px;margin-top:12px}
.canal-nom{font-size:.9375rem}
.canal-b{height:16px;border-radius:999px;background:var(--pasado);overflow:hidden}
.canal-b i{display:block;height:100%;border-radius:999px;min-width:6px}
.canal-fila .canal-b i[class^="o-"]{min-width:0}
.canal-n{font-size:.875rem;color:var(--tinta-suave);text-align:right;white-space:nowrap}
.canal-n b{color:var(--tinta)}
.canal-p{font-weight:700;text-align:right}
@media(max-width:600px){.canal-fila{grid-template-columns:1fr 76px 38px;row-gap:4px}.canal-nom{grid-column:1/-1}.canal-b{grid-column:1}}

/* ---------- calendario ---------- */
.mes-tit{font-size:1.125rem;font-weight:800;letter-spacing:-.015em;color:var(--violeta-profundo);text-transform:capitalize;display:flex;align-items:baseline;gap:10px;flex-wrap:wrap}
.mes-tit small{font-size:.75rem;font-weight:500;color:var(--tinta-suave);text-transform:none;letter-spacing:0}
.dow,.grid{display:grid;grid-template-columns:repeat(7,1fr);gap:5px}
.dow{margin:10px 0 4px;text-align:center;font-size:.6875rem;text-transform:uppercase;color:var(--tinta-suave);font-weight:700}
.day{position:relative;aspect-ratio:1/1;border-radius:11px;background:var(--fondo);font-size:.78rem;padding:4px 0 0 7px;overflow:hidden}
.day.vacio{visibility:hidden}
.day[data-tip]{cursor:default}
.day.occ,.day.sale,.day.turn{color:var(--blanco);font-weight:700}
.day.occ{background:var(--violeta)}
/* día de salida sin nadie que entre: arriba el que se va, abajo libre */
.day.sale{background:linear-gradient(180deg,var(--salida) 50%,var(--fondo) 50%);color:var(--salida-tinta)}
/* día de recambio: arriba el que se va, abajo el que entra (así los nombres entran a lo ancho, también en el celular) */
.day.turn{background:linear-gradient(180deg,var(--salida) 50%,var(--violeta) 50%);color:var(--salida-tinta)}
.day.turn .nm:not(.a){color:var(--blanco)}
.day.fin{filter:grayscale(.85) opacity(.75)}
/* los días con reserva se tocan y abren la reserva. En el recambio y la salida cada mitad va por separado
   (arriba el que se va, abajo el que entra) y al pasar el mouse se oscurece solo esa mitad */
.day[data-id],.day-arriba[data-id],.day-abajo[data-id]{cursor:pointer}
.day-arriba,.day-abajo{position:absolute;left:0;right:0;height:50%;z-index:1;transition:background .12s}
.day-arriba{top:0}.day-abajo{bottom:0}
.day-arriba[data-id]:hover,.day-abajo[data-id]:hover,.day:not(.turn)[data-id]:hover{background-image:linear-gradient(rgba(18,58,63,.14),rgba(18,58,63,.14))}
.day.pend{background:var(--turquesa-fondo);border:1.5px dashed var(--turquesa-fuerte);color:var(--turquesa)}
/* uso propio (la familia o la dueña): ocupa pero no es una venta */
.day.occ.propio{background:var(--azul);color:var(--blanco)}
.day.sale.propio{background:linear-gradient(180deg,var(--azul) 50%,var(--fondo) 50%);color:var(--blanco)}
.day.turn.sale-propio{background:linear-gradient(180deg,var(--azul) 50%,var(--violeta) 50%)}
.day.turn.propio{background:linear-gradient(180deg,var(--salida) 50%,var(--azul) 50%)}
.day.turn.propio.sale-propio{background:var(--azul)}
.day .nm{position:absolute;left:0;right:0;bottom:4px;text-align:center;font-size:.56rem;white-space:nowrap;overflow:hidden;padding:0 2px}
.day.turn .nm,.day.sale .nm{text-overflow:ellipsis}
.day.turn .nm.a,.day.sale .nm{bottom:calc(50% + 2px)}
.day.turn .nm:not(.a){bottom:3px}
/* "Disponible": la noche libre, en gris suave (en el día de salida, en la mitad de abajo) */
.day .nm.libre{color:var(--tinta-tenue);font-weight:600}
.day.sale .nm.libre,.cal-ancho .day.sale .nm.libre{top:auto;bottom:3px}
@media(max-width:480px){.day .nm{font-size:.48rem}.day{font-size:.66rem;padding:2px 0 0 5px}.day.turn{font-size:.56rem}.day.turn .nm,.day.sale .nm{font-size:.42rem}.day.turn .nm:not(.a){bottom:2px}.day.turn .nm.a,.day.sale .nm{top:12px;bottom:auto}}
/* el día de hoy: borde con un pulso que sale del recuadro y el número en un círculo */
.day.hoy{z-index:1;font-weight:700;box-shadow:0 0 0 3px var(--hoy);animation:pulso-hoy 2s ease-out infinite}
.day.hoy:not(.occ):not(.sale):not(.turn){background:var(--hoy-fondo);color:var(--hoy)}
.day.hoy.fin{filter:none}
/* el número de hoy, en un círculo del color de "hoy" (no tapa el nombre) */
.day.hoy .num{display:inline-flex;align-items:center;justify-content:center;min-width:1.75em;height:1.75em;padding:0 .35em;margin:-.3em 0 0 -.35em;border-radius:999px;background:var(--hoy);color:var(--blanco);font-weight:800}
@keyframes pulso-hoy{
  0%{box-shadow:0 0 0 3px var(--hoy),0 0 0 3px var(--hoy-pulso)}
  75%{box-shadow:0 0 0 3px var(--hoy),0 0 0 16px var(--hoy-pulso-0)}
  100%{box-shadow:0 0 0 3px var(--hoy),0 0 0 16px var(--hoy-pulso-0)}}
@media(prefers-reduced-motion:reduce){.day.hoy{animation:none}}
/* cartelito de cada noche */
#tip{position:fixed;z-index:1000;pointer-events:none;background:var(--violeta-profundo);color:var(--blanco);border-radius:var(--radio-chico);padding:9px 12px;font-size:.8125rem;line-height:1.45;white-space:pre-line;max-width:260px;box-shadow:var(--sombra-alta);opacity:0;transition:opacity .12s}
#tip.ver{opacity:1}
#tip::first-line{font-weight:700}
.cal-vista{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 2px 14px}
.cal-vista .nota{margin:0}
/* el calendario del mes en Inicio: a lo ancho, sin fichas, con días más bajos */
.cal-ancho .mes-card{display:block}
.cal-ancho .mes-card .mes-cal{position:static}

/* ---------- calendario con varias unidades: una fila por unidad (planillaMes) ---------- */
.mes-card.planilla-card{display:block}
.mes-card.planilla-card .fichas{margin-top:16px}
@media(min-width:1024px){.mes-card.planilla-card .fichas{grid-template-columns:repeat(2,minmax(0,1fr))}}
.planilla-wrap{overflow-x:auto;margin:12px -4px 0;padding:0 4px 6px;-webkit-overflow-scrolling:touch}
.planilla{--pl-nom:128px;display:grid;column-gap:0;row-gap:6px;min-width:calc(var(--pl-nom) + 31 * 30px)}
@media(max-width:600px){.planilla{--pl-nom:92px}}
.pl-nom{position:sticky;left:0;z-index:3;background:var(--blanco);display:flex;align-items:center;padding-right:8px;font-size:.8125rem;font-weight:700;color:var(--violeta-profundo);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-dia{text-align:center;font-size:.75rem;font-weight:600;color:var(--tinta-suave);padding:2px 0 4px;line-height:1.15}
.pl-dia small{display:block;font-size:.6875rem;font-weight:500;color:var(--tinta-tenue)}
.pl-dia.finde{color:var(--violeta-profundo)}
.pl-dia.pl-hoy{color:var(--blanco);background:var(--hoy);border-radius:8px}
.pl-dia.pl-hoy small{color:var(--lavanda)}
.pl-celda{background:var(--fondo);margin:0 1px;border-radius:6px}
.pl-celda.pl-hoy{background:var(--hoy-fondo);box-shadow:inset 0 0 0 2px var(--hoy)}
.pl-celda.libre{cursor:pointer}
.pl-celda.libre:hover{background:var(--lavanda);box-shadow:inset 0 0 0 1.5px var(--violeta)}
.pl-res{z-index:2;align-self:stretch;margin:4px 2px;border-radius:8px;background:var(--violeta);color:var(--blanco);font-size:.75rem;font-weight:700;display:flex;align-items:center;padding:0 7px;min-width:0;overflow:hidden;box-shadow:0 1px 2px rgba(18,58,63,.18)}
.pl-res span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-res[data-id]{cursor:pointer}
.pl-res[data-id]:hover{filter:brightness(.92)}
.pl-res.sigue-antes{border-top-left-radius:0;border-bottom-left-radius:0;margin-left:0}
.pl-res.sigue-despues{border-top-right-radius:0;border-bottom-right-radius:0;margin-right:0}
.pl-res.fin{filter:grayscale(.85) opacity(.75)}
.pl-res.propio{background:var(--azul)}
.pl-res.pend{background:var(--turquesa-fondo);border:1.5px dashed var(--turquesa-fuerte);color:var(--turquesa);box-shadow:none}
.chip.unidad{background:var(--lavanda);color:var(--violeta-profundo)}
/* calendarios de Booking y Airbnb (SQL 032): lo que todavía no está cargado en aloia, rayado */
.pl-res.ext{background:repeating-linear-gradient(135deg,var(--pasado) 0 6px,var(--fondo) 6px 12px);color:var(--tinta-suave);border:1px dashed var(--linea-fuerte);box-shadow:none;cursor:default}
.day.ext{background:repeating-linear-gradient(135deg,var(--pasado) 0 6px,var(--fondo) 6px 12px)}
.day .nm.ext{color:var(--tinta-suave);font-weight:700}
.ical-link{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ical-link code{flex:1;min-width:0;font-size:.75rem;background:var(--fondo);border-radius:var(--radio-chico);padding:8px 10px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.cal-est{display:inline-block;margin:4px 8px 0 0;font-size:.75rem;color:var(--ok)}
.cal-est.mal{color:var(--rojo)}
/* el acceso de un usuario nuevo (mostrarAcceso) */
.acceso{display:grid;gap:8px;margin-top:10px;padding:12px 14px;background:var(--lavanda);border-radius:var(--radio-chico)}
.acceso div{display:flex;justify-content:space-between;gap:12px;flex-wrap:wrap}
.acceso span{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--tinta-suave)}
.acceso-clave{font-family:ui-monospace,Menlo,monospace;font-size:1rem;letter-spacing:.04em;color:var(--violeta-profundo)}
/* ¿Tenés lugar? (tarjetaDisponibilidad) */
.disp-cab{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}
.disp-cab b{font-size:1rem;color:var(--violeta-profundo)}
.disp-campos{grid-template-columns:repeat(3,minmax(0,1fr))}
@media(max-width:640px){.disp-campos{grid-template-columns:1fr 1fr}.disp-campos .campo:last-child{grid-column:span 2}}
.disp-res-tit{font-size:.875rem;color:var(--tinta-suave);margin:14px 0 6px}
.disp-res-tit b{color:var(--violeta-profundo)}
.disp-fila{display:flex;align-items:center;justify-content:space-between;gap:8px 14px;flex-wrap:wrap;padding:10px 0;border-top:1px solid var(--linea)}
.disp-fila b{display:block;font-size:.9375rem;color:var(--tinta)}
.disp-fila small{font-size:.75rem;color:var(--tinta-suave)}
.disp-fila:not(.ok) b{color:var(--tinta-suave)}
.disp-est{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap}
.disp-precio{font-weight:700;font-size:.875rem;color:var(--violeta-profundo)}
.disp-precio small{font-weight:500}
.disp-pie{margin-top:12px}
.por-unidad td small{font-weight:500;color:var(--tinta-suave)}
.ocup-mini{display:inline-block;vertical-align:middle;width:48px;height:6px;border-radius:999px;background:var(--lavanda);margin-right:8px;overflow:hidden}
.ocup-mini i{display:block;height:100%;background:var(--violeta)}

/* ---------- fichas de estadías ---------- */
.fichas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:14px}
@media(max-width:700px){.fichas{grid-template-columns:1fr}}
.ficha{border:1px solid var(--linea);border-radius:var(--radio);padding:12px 14px;background:var(--blanco);display:flex;gap:12px;cursor:pointer;text-align:left;width:100%;transition:border-color .12s,box-shadow .12s}
.ficha:hover{border-color:var(--violeta-medio);box-shadow:var(--sombra)}
.ficha.fin{filter:grayscale(.6);opacity:.7;background:var(--pasado);border-color:var(--linea-fuerte)}
.ficha.alerta{border-left:3px solid var(--rojo)}
.ficha.cancel{border-left:3px solid var(--turquesa-fuerte)}
.ficha.propio{border-left:4px solid var(--azul)}
.fbox{flex-shrink:0;background:var(--violeta);color:var(--blanco);border-radius:var(--radio-chico);padding:6px 9px;min-width:50px;text-align:center;align-self:flex-start}
.ficha.propio .fbox{background:var(--azul)}
.fbox b{display:block;font-size:1.25rem;font-weight:800;line-height:1.05}.fbox span{font-size:.6875rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.finfo{min-width:0;flex:1}
.fnom{font-size:1rem;font-weight:700;color:var(--violeta-profundo)}
.frango{font-size:.75rem;color:var(--tinta-suave)}
.fnota{font-size:.75rem;color:var(--tinta-suave);font-style:italic;margin-top:4px}
.fplata{font-size:.75rem;margin-top:5px}.fplata b{color:var(--ok)}

/* ---------- ingreso ---------- */
.login{min-height:100vh;display:grid;place-items:center;padding:32px 16px;background:var(--crema)}
.login-in{width:min(400px,100%)}
.login-marca{text-align:center;margin-bottom:22px}
.login-marca .wordmark{font-size:3.2rem}
.login-marca .by{display:block;margin-top:4px;font-size:.82rem;font-weight:600;letter-spacing:.06em;color:var(--tinta-suave)}
/* la firma al pie de Configuración */
.firma{text-align:center;margin:28px 0 4px;color:var(--tinta-tenue);font-size:.8125rem}
.firma .wordmark{font-size:1rem;color:var(--tinta-suave)}
.login-marca p{margin-top:8px;color:var(--violeta-profundo);font-weight:600;font-size:1rem}
.login .card{padding:26px;border-color:var(--crema-borde)}
.login h1{font-size:1.125rem;font-weight:800;letter-spacing:-.01em;color:var(--violeta-profundo);line-height:1.2}
.login .card > p{color:var(--tinta-suave);font-size:.875rem;margin:6px 0 18px}
.login-pie{text-align:center;color:var(--tinta-suave);font-size:.75rem;margin-top:18px}
.login .card > p.login-otra{margin:18px 0 0;padding-top:16px;border-top:1px solid var(--linea);text-align:center;font-size:.875rem;color:var(--tinta-suave)}
.login-otra .btn-link{font-weight:700}

/* ---------- Alta guiada (primer ingreso: qué alquila, cuántos, el negocio) ---------- */
.alta-in{width:min(520px,100%)}
.alta-paso{font-size:.75rem;font-weight:700;color:var(--tinta-suave);text-transform:uppercase;letter-spacing:.04em}
.alta-barra{height:4px;border-radius:999px;background:var(--lavanda);margin:8px 0 18px;overflow:hidden}
.alta-barra i{display:block;height:100%;background:var(--violeta);border-radius:999px;transition:width .2s}
.alta-ops{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.alta-op{border:1px solid var(--linea-fuerte);background:var(--blanco);color:var(--violeta-profundo);border-radius:var(--radio-chico);padding:14px 12px;font:inherit;font-size:.9375rem;font-weight:600;cursor:pointer;text-align:center;transition:background .12s,border-color .12s}
.alta-op:hover{border-color:var(--violeta)}
.alta-op.on{background:var(--lavanda);border-color:var(--violeta);box-shadow:var(--foco)}
.alta-nums{grid-template-columns:repeat(6,minmax(0,1fr))}
.alta-nums .alta-op{padding:12px 4px}
@media(max-width:420px){.alta-nums{grid-template-columns:repeat(3,minmax(0,1fr))}}
.alta-mas{margin-top:12px;max-width:160px}
.alta-nombres{display:grid;gap:8px;margin-top:18px}
.alta-sub{font-size:.8125rem;font-weight:700;color:var(--tinta-suave)}
.alta-resumen{font-size:.8125rem;color:var(--tinta-suave);background:var(--fondo);border-radius:var(--radio-chico);padding:9px 11px}
.alta-pie{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:22px}
.login .card > p.alta-salir{margin:18px 0 0;padding-top:14px;border-top:1px solid var(--linea);font-size:.75rem;color:var(--tinta-suave)}
.alta-salir .btn-link{font-size:.75rem;margin-left:4px}
.msg{font-size:.875rem;margin-top:10px}
.cargando{text-align:center;color:var(--tinta-suave);padding:40px}
.toast{position:fixed;left:50%;bottom:20px;transform:translateX(-50%);background:var(--violeta-profundo);color:var(--blanco);padding:10px 18px;border-radius:999px;font-size:.875rem;font-weight:600;z-index:100;box-shadow:var(--sombra-alta)}

/* ---------- Inicio ---------- */
.saludo{position:relative;margin:2px 2px 18px}
.saludo h1{font-size:1.75rem;font-weight:800;letter-spacing:-.035em;color:var(--violeta-profundo);line-height:1.1}
.saludo p{color:var(--tinta-suave);font-size:1rem;margin-top:4px}
.saludo p::first-letter{text-transform:uppercase}
.saludo .fecha{font-size:1rem;color:var(--tinta);margin-top:6px}
.saludo #reloj{font-weight:700;color:var(--violeta-profundo)}
/* el día en dos pastillas chicas: el clima y el dólar MEP */
.dia-info{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}
.info{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap;background:var(--blanco);border:1px solid rgba(18,58,63,.08);border-radius:999px;
  padding:5px 13px;font-size:.875rem;color:var(--tinta-suave);box-shadow:0 1px 2px rgba(18,58,63,.04)}
.info b{color:var(--tinta);font-weight:700}
.info-k{font-weight:700;color:var(--violeta)}
.info-t{font-size:.75rem;color:var(--tinta-tenue)}
/* "Usar MEP": debajo de cada tipo de cambio, chiquito */
.btn-mep{align-self:flex-start;border:0;background:none;padding:2px 0;color:var(--violeta);font-size:.75rem;font-weight:700;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.btn-mep:hover{color:var(--violeta-hover)}
.clima-ic{font-size:1rem;line-height:1}
.btn-nueva{float:right;margin:4px 0 0 16px;padding:10px 20px;font-size:.875rem}
@media(max-width:600px){.saludo h1{font-size:1.5rem}.saludo .fecha{font-size:.9375rem}.btn-nueva{float:none;display:block;width:100%;margin:0 0 14px}}
.mes-res{margin-bottom:0}
/* la tarjeta de hoy: crema, el fondo destacado de la marca */
.hoy{background:var(--blanco);border:1px solid rgba(18,58,63,.06);border-radius:var(--radio-grande);box-shadow:var(--sombra);margin-bottom:16px;overflow:hidden}
.hoy.animar{animation:hoy-entra .5s cubic-bezier(.2,.7,.2,1) both}
@keyframes hoy-entra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.hoy.animar{animation:none}}
.hoy [data-id]{cursor:pointer}
/* el asistente de abajo a la derecha: los recordatorios de hoy (pintarBot) */
.bot{position:fixed;right:20px;bottom:20px;z-index:60;display:flex;flex-direction:column;align-items:flex-end;gap:10px;pointer-events:none}
.bot>*{pointer-events:auto}
.bot-lanzar{position:relative;width:56px;height:56px;border-radius:50%;border:0;background:var(--violeta);color:var(--blanco);cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px rgba(18,58,63,.28);transition:transform .15s}
.bot-lanzar:hover{transform:scale(1.05)}
.bot-lanzar .ico{width:24px;height:24px;stroke-width:1.8}
.bot-n{position:absolute;top:-3px;right:-3px;min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--acento);color:var(--blanco);font-size:.75rem;font-weight:700;display:flex;align-items:center;justify-content:center;border:2px solid var(--blanco)}
.bot-globo{position:relative;max-width:min(320px,calc(100vw - 40px));background:var(--blanco);border-radius:16px 16px 4px 16px;padding:12px 34px 12px 14px;font-size:.875rem;line-height:1.45;color:var(--tinta);box-shadow:0 8px 28px rgba(18,58,63,.18);cursor:pointer;animation:bot-entra .35s ease-out}
.bot-globo .bot-x{position:absolute;top:6px;right:6px}
.bot-panel{width:min(400px,calc(100vw - 32px));max-height:min(70vh,560px);display:flex;flex-direction:column;background:var(--blanco);border-radius:18px;box-shadow:0 12px 40px rgba(18,58,63,.24);overflow:hidden;animation:bot-entra .25s ease-out}
.bot-cab{display:flex;align-items:center;gap:12px;padding:14px 14px 12px 16px;border-bottom:1px solid var(--linea)}
.bot-cab>div{flex:1}
.bot-cab b{display:block;font-size:.9375rem;color:var(--violeta-profundo)}
.bot-cab small{display:block;font-size:.75rem;color:var(--tinta-suave)}
.bot-ava{width:34px;height:34px;border-radius:50%;background:var(--lavanda);color:var(--aloia);font-weight:800;font-size:1rem;letter-spacing:-.04em;display:flex;align-items:center;justify-content:center;flex-shrink:0}
.bot-ava i{font-style:normal;color:var(--aloia-punto)}
.bot-x{border:0;background:transparent;color:var(--tinta-suave);width:26px;height:26px;border-radius:50%;cursor:pointer;font-size:.8125rem}
.bot-x:hover{background:var(--fondo)}
.bot-cuerpo{overflow-y:auto;padding:2px 16px 12px}
@keyframes bot-entra{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:reduce){.bot-globo,.bot-panel{animation:none}}
@media(max-width:600px){.bot{right:14px;bottom:14px}.bot-lanzar{width:52px;height:52px}}
.aviso-it{padding:12px 0;border-top:1px solid var(--linea)}
.aviso-it:first-of-type{border-top:0}
.aviso-quien{cursor:pointer;margin-bottom:4px}
.aviso-quien b{font-size:.9375rem;font-weight:700;color:var(--violeta-profundo)}
.aviso-quien small{font-size:.8125rem;color:var(--tinta-suave);margin-left:8px}
.aviso-tarea{display:flex;align-items:center;justify-content:space-between;gap:8px 16px;flex-wrap:wrap;padding:5px 0 5px 12px;border-left:2px solid var(--lavanda)}
.aviso-tarea span{font-size:.875rem;color:var(--tinta)}
.aviso-acc{display:flex;gap:8px;flex-wrap:wrap}
.hoy-k{font-size:.75rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta);white-space:nowrap}
.hoy-acc{margin-left:auto}
/* arriba, chico: el que se va */
.hoy-sale{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;padding:12px 22px;border-bottom:1px solid var(--linea);font-size:.9375rem;transition:background .15s}
.hoy-sale:hover{background:var(--superficie)}
.hoy-sale .hoy-k{color:var(--acento);text-transform:none;letter-spacing:0;font-size:.9375rem;font-weight:700}
.hoy-sale b{font-weight:700;color:var(--tinta)}
/* en el medio, grande: lo de hoy */
.hoy-main{padding:20px 22px;display:flex;flex-direction:column;gap:6px;transition:background .15s}
.hoy-main[data-id]:hover{background:var(--superficie)}
.hoy-id{display:flex;flex-direction:column;align-items:flex-start;gap:6px}
.hoy-id .hoy-acc{margin:8px 0 0}
.hoy-estado{display:flex;align-items:center;gap:10px;font-size:1rem;font-weight:700;color:var(--violeta)}
.hoy-estado .live{width:10px;height:10px;background:var(--violeta);flex-shrink:0}
.hoy-cobro{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap}
.hoy-cobro .hoy-acc{margin:0}
.hoy-nombre{font-size:1.75rem;font-weight:800;letter-spacing:-.03em;color:var(--violeta-profundo);line-height:1.08}
.hoy-datos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px;margin-top:12px;padding-top:14px;border-top:1px solid var(--linea)}
/* abajo: el próximo ingreso */
.hoy-prox{display:flex;align-items:center;gap:6px 12px;flex-wrap:wrap;padding:12px 22px;border-top:1px solid var(--linea);font-size:.9375rem;transition:background .15s}
.hoy-prox:hover{background:var(--superficie)}
.hoy-prox .hoy-k{color:var(--tinta-suave);text-transform:none;letter-spacing:0;font-size:.9375rem;font-weight:700}
.hoy-prox b{font-weight:700}
.btn-fila{border:1px solid var(--violeta);background:var(--blanco);color:var(--violeta);border-radius:999px;padding:6px 14px;font-size:.75rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s}
.btn-fila:hover{background:var(--violeta);color:var(--blanco)}
/* etiquetas suaves */
.et{display:inline-flex;align-items:center;font-size:.75rem;font-weight:600;padding:3px 10px;border-radius:999px;white-space:nowrap;background:var(--pasado);color:var(--tinta-suave)}
.et.ok{background:var(--ok-fondo);color:var(--ok)}
.et.rojo{background:var(--rojo-fondo);color:var(--rojo)}
.et.ter{background:var(--ambar-fondo);color:var(--ambar)}
.et.canal{background:var(--blanco);border:1px solid var(--linea);color:var(--tinta-suave)}
/* Hoy con varias unidades (tarjetaHoyVarias): el resumen arriba y una fila por unidad */
.hoyv-cabeza{display:flex;align-items:baseline;gap:6px 14px;flex-wrap:wrap;padding:16px 22px 12px}
.hoyv-res{font-size:.875rem;color:var(--tinta-suave)}
.hoyv-fila{display:grid;grid-template-columns:150px minmax(0,1fr);gap:4px 16px;padding:12px 22px;border-top:1px solid var(--linea)}
.hoyv-fila.mov{background:var(--superficie)}
.hoyv-cab{font-size:.9375rem;font-weight:800;color:var(--violeta-profundo);padding-top:3px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hoyv-tx{display:flex;flex-direction:column;gap:8px;min-width:0}
.hoyv-p{display:flex;align-items:center;gap:6px 10px;flex-wrap:wrap;font-size:.9375rem}
.hoyv-p[data-id],.hoyv-p b[data-id]{cursor:pointer}
.hoyv-p[data-id]:hover b,.hoyv-p b[data-id]:hover{text-decoration:underline}
.hoyv-p b{font-weight:700;color:var(--tinta)}
.hoyv-k{font-size:.8125rem;font-weight:700;white-space:nowrap}
.hoyv-k.entra{color:var(--violeta)}
.hoyv-k.sale{color:var(--acento)}
.hoyv-k.casa{color:var(--violeta-profundo)}
.hoyv-k.libre{color:var(--tinta-suave)}
.hoyv-extra{font-size:.8125rem;color:var(--tinta-suave)}
@media(max-width:600px){.hoyv-fila{grid-template-columns:1fr;padding:12px 16px}.hoyv-cabeza{padding:14px 16px 10px}}
@media(max-width:600px){
  .hoy-sale,.hoy-prox{padding-left:16px;padding-right:16px}
  .hoy-main{padding:18px 16px}
  .hoy-nombre{font-size:1.5rem}
  .hoy-datos{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px}
  .hoy-datos .dato:first-child,.hoy-datos .dato:last-child{grid-column:1/-1}
  .hoy-prox-tx{flex-basis:100%;order:-1}
  .hoy-prox .hoy-k{flex-basis:100%;order:-2}
}
.live{width:11px;height:11px;border-radius:50%;background:var(--blanco);display:inline-block;margin:0;animation:titila 1.2s ease-in-out infinite}
@keyframes titila{0%,100%{opacity:1}50%{opacity:.15}}
@media(prefers-reduced-motion:reduce){.live{animation:none}}
.dato{display:flex;flex-direction:column;gap:2px;min-width:0}
.dato .k{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-suave)}
.dato .v{font-size:1rem;color:var(--tinta);font-weight:600}
/* Configuración: los datos del negocio, en grilla; el permiso de cada usuario, en una lista */
.sel-rol{-webkit-appearance:none;appearance:none;height:38px;min-width:170px;padding:0 36px 0 16px;border:1px solid var(--linea-fuerte);border-radius:999px;
  font-size:.875rem;font-weight:700;color:var(--violeta-profundo);cursor:pointer;
  background:var(--blanco) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 8' fill='none' stroke='%236E6A5F' stroke-width='1.6' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M1 1.5l5 5 5-5'/%3E%3C/svg%3E") no-repeat right 14px center/11px}
.sel-rol:hover:not(:disabled){border-color:var(--violeta)}
.sel-rol:focus{outline:none;border-color:var(--violeta);box-shadow:var(--foco)}
.sel-rol:disabled{cursor:default;background-image:none;padding-right:16px;color:var(--tinta-suave);background-color:var(--superficie)}
.menu-hueco{width:38px;flex-shrink:0}
.copiar-tx b .vos{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--fondo);color:var(--tinta-suave);font-size:.6875rem;font-weight:700;vertical-align:2px}
.ficha-datos{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px 24px}
.ficha-datos .v{word-break:break-word}
/* Respuestas rápidas: la pregunta, y las respuestas sugeridas con su texto ya completo */
.resp-campos{margin-top:14px}
.resp-campos textarea,.resp-sug textarea{width:100%;border:1px solid var(--linea-fuerte);border-radius:var(--radio-chico);padding:10px 12px;background:var(--blanco);font:inherit;font-size:.9375rem;line-height:1.5;resize:vertical}
.resp-sug{border:1px solid var(--linea);border-radius:var(--radio);padding:12px 14px;margin-bottom:12px;background:var(--superficie);display:flex;flex-direction:column;gap:10px}
.resp-sug:last-child{margin-bottom:0}
.resp-sug-top{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;align-items:baseline}
.resp-sug-top b{color:var(--violeta-profundo)}
.resp-sug-top .mut{font-size:.75rem}
.resp-acc{display:flex;justify-content:flex-end}
.ia-archivos{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}
.ia-arch{position:relative;width:96px;border:1px solid var(--linea);border-radius:var(--radio-chico);overflow:hidden;background:var(--superficie)}
.ia-arch img{display:block;width:100%;height:72px;object-fit:cover}
.ia-arch-pdf{display:flex;align-items:center;justify-content:center;height:72px;font-weight:800;color:var(--rojo)}
.ia-arch-nom{display:block;font-size:.6875rem;padding:4px 6px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;color:var(--tinta-suave)}
.ia-arch-x{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:50%;border:0;background:rgba(0,0,0,.6);color:var(--blanco);cursor:pointer;line-height:1;font-size:1rem}
.ia-dictar{display:flex;gap:8px;align-items:flex-start}
.ia-dictar textarea{flex:1}
.ia-mic{padding:8px 12px}
.ia-mic.grabando{background:var(--rojo-fondo);border-color:var(--rojo);animation:titila 1.2s ease-in-out infinite}
.ia-calc{display:block;font-size:.875rem;line-height:1.6}
.ia-lejos{color:var(--rojo);font-weight:600}
.ia-acuerdos{margin-top:12px}
.ia-acc{display:flex;gap:8px;flex-wrap:wrap;align-items:center;justify-content:space-between;margin-top:8px}
.ia-barra{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.ia-res{border:1px solid var(--linea);border-radius:var(--radio);padding:14px;background:var(--superficie);display:flex;flex-direction:column;gap:10px;margin-top:14px}
.ia-aviso{background:var(--ambar-fondo);border:1px solid var(--ambar-borde);color:var(--ambar);border-radius:var(--radio-chico);padding:9px 12px;font-weight:600;font-size:.875rem}
.ia-avisos{padding:9px 12px 9px 28px;background:var(--rojo-fondo);border:1px solid var(--rojo-borde);border-radius:var(--radio-chico);color:var(--rojo);font-size:.8125rem}
.ia-msj textarea{width:100%;border:1px solid var(--linea-fuerte);border-radius:var(--radio-chico);padding:10px 12px;background:var(--blanco);font:inherit;font-size:.9375rem;line-height:1.5;resize:vertical}
.ia-para{font-size:.8125rem;color:var(--tinta-suave);margin-bottom:4px}
.ia-pie{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:6px}
.ia-cuenta{font-size:.75rem;color:var(--tinta-suave);font-variant-numeric:tabular-nums}
.ia-cuenta.pasado{color:var(--rojo);font-weight:700}
.ia-guardar{background:var(--lavanda);border:1px solid var(--lavanda-borde);border-radius:var(--radio-chico);padding:10px 12px;font-size:.875rem}
.ia-ajustes,.ia-cambio{display:flex;flex-wrap:wrap;gap:6px}
.ia-ajustes .btn,.ia-cambio .btn{padding:7px 14px;font-size:.8125rem}
.ia-cambio input{flex:1 1 200px;border:1px solid var(--linea-fuerte);border-radius:999px;padding:8px 14px;background:var(--blanco);min-width:0}
.ia-datos summary{cursor:pointer;font-size:.8125rem;color:var(--tinta-suave);font-weight:600}
.ia-datos p{font-size:.8125rem;white-space:pre-wrap;margin-top:6px;color:var(--tinta-suave)}
.ia-cargando{margin:14px 0 0;color:var(--tinta-suave);animation:titila 1.6s ease-in-out infinite}
.ia-error{margin:14px 0 0;color:var(--rojo);font-weight:600}
.copiar-it.apagado{opacity:.55}
/* Seguimiento de la reserva: una línea de puntos (verde hecho, ámbar a medias, gris falta) */
#caja-seguimiento{grid-column:1/-1;min-width:0}   /* min-width:0: que la línea se desplace adentro y no ensanche el formulario */
.seguimiento{background:var(--superficie);border:1px solid var(--linea);border-radius:var(--radio);padding:12px 16px 14px}
.seg-cab{display:flex;align-items:center;justify-content:space-between;gap:10px}
.seg-cab .subtit{border:0;padding:0;margin:0}
.seg-n{font-size:.75rem;font-weight:700;color:var(--tinta-suave)}
.seg-linea{display:flex;overflow-x:auto;padding:12px 2px 4px;scrollbar-width:thin}
.seg-paso{position:relative;flex:1 0 64px;display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;border:0;background:none;padding:0;font:inherit;color:var(--tinta-suave);cursor:default}
.seg-paso.a-mano{cursor:pointer}
.seg-paso::before{content:"";position:absolute;top:10px;right:50%;width:100%;height:2px;background:var(--linea-fuerte);z-index:0}
.seg-paso:first-child::before{display:none}
.seg-paso.ok::before{background:var(--ok)}
.seg-dot{position:relative;z-index:1;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-size:.75rem;font-weight:800;color:var(--blanco);background:var(--blanco);border:2px solid var(--linea-fuerte)}
.seg-paso.ok .seg-dot{background:var(--ok);border-color:var(--ok)}
.seg-paso.medio .seg-dot{background:var(--ambar-fondo);border-color:var(--ambar-fuerte)}
.seg-paso.a-mano:hover .seg-dot{border-color:var(--violeta);box-shadow:var(--foco)}
.seg-tx{font-size:.6875rem;font-weight:700;line-height:1.2;max-width:76px}
.seg-paso.ok .seg-tx{color:var(--tinta)}
.seg-prox{margin-top:8px;font-size:.8125rem;color:var(--tinta-suave);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.seg-prox b{color:var(--tinta)}
.seg-prox.ok{color:var(--ok);font-weight:700}
/* Tu marca: el logo del negocio */
.identidad{display:flex;gap:18px;align-items:center;flex-wrap:wrap;margin-bottom:16px}
.logo-caja{width:92px;height:92px;border-radius:var(--radio);border:1px dashed var(--linea-fuerte);background:var(--superficie);display:grid;place-items:center;overflow:hidden;flex-shrink:0;color:var(--tinta-tenue);font-size:.75rem;text-align:center}
.logo-caja img{max-width:84%;max-height:84%;object-fit:contain}
.identidad-tx{flex:1;min-width:220px}
.identidad-tx p{margin:0 0 10px;color:var(--tinta-suave);font-size:.875rem}
.identidad-acc{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.color-marca{display:flex;align-items:center;gap:12px;margin-top:14px;cursor:pointer}
.color-marca input{width:44px;height:44px;border:1px solid var(--linea-fuerte);border-radius:12px;padding:3px;background:var(--blanco);cursor:pointer}
.color-marca b{display:block;font-size:.9375rem;color:var(--tinta)}
.color-marca small{display:block;font-size:.8125rem;color:var(--tinta-suave)}
/* Mercado Pago en Configuración: el estado de la cuenta y el botón */
.mp-fila{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.mp-ic{width:44px;height:44px;border-radius:12px;background:var(--fondo);color:var(--tinta-suave);display:flex;align-items:center;justify-content:center;flex-shrink:0}
.mp-ic.ok{background:var(--ok-fondo);color:var(--ok)}
.mp-ic .ico{width:22px;height:22px}
.mp-tx{flex:1;min-width:200px}
.mp-tx b{display:block;font-size:.9375rem;color:var(--tinta)}
.mp-tx small{display:block;font-size:.8125rem;color:var(--tinta-suave)}
/* el logo del negocio, al lado de su nombre en el encabezado */
.negocio{display:flex;align-items:center;gap:10px}
.negocio-logo{width:30px;height:30px;object-fit:contain;border-radius:7px;background:var(--blanco);flex-shrink:0}
/* Para copiar */
.copiar-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}
.copiar-top .card-tit{margin:0}
.copiar-it{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--linea)}
.copiar-it:first-of-type{border-top:0}
.copiar-tx{flex:1;min-width:0}
.copiar-tx b{display:block;font-size:.9375rem;color:var(--violeta-profundo)}
.copiar-tx span{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;white-space:pre-line;color:var(--tinta-suave);font-size:.875rem;margin-top:2px;word-break:break-word}
.copiar-acc{display:flex;gap:8px;flex-shrink:0;align-items:center}
.copiar-acc .btn{display:inline-flex;align-items:center;gap:6px}
.copiar-acc .ico{width:16px;height:16px}
@media(max-width:600px){.copiar-it{flex-direction:column;align-items:stretch}.copiar-acc .btn{flex:1;justify-content:center}}
/* Para comprar */
.compra-it{display:flex;align-items:center;gap:14px;padding:11px 0;border-top:1px solid var(--linea)}
.compra-it:first-of-type{border-top:0}
.compra-it.urgente{background:var(--ambar-fondo);margin:0 -18px;padding:11px 18px}
.compra-tx{flex:1;min-width:0}
.compra-tx b{display:flex;align-items:center;gap:8px;font-size:1rem}
.compra-tx small{display:block;color:var(--tinta-suave);font-size:.875rem;margin-top:2px}
.compra-acc{display:flex;gap:8px;flex-shrink:0}
@media(max-width:600px){.compra-it{flex-direction:column;align-items:stretch}.compra-acc .btn{flex:1}}

/* ---------- Reservas ---------- */
.acc-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:22px}
@media(max-width:900px){.acc-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
.acc-btn{display:flex;flex-direction:column;align-items:flex-start;gap:6px;text-align:left;cursor:pointer;
  background:var(--blanco);border:1px solid var(--linea);border-radius:var(--radio-grande);padding:22px 22px 20px;box-shadow:var(--sombra);transition:transform .12s,box-shadow .12s,border-color .12s}
.acc-btn:hover{transform:translateY(-2px);border-color:var(--violeta-medio);box-shadow:0 6px 22px rgba(37,16,68,.1)}
.acc-btn b{font-size:1.125rem;font-weight:700;color:var(--violeta-profundo)}
.acc-btn span,.acc-btn .acc-sub{font-size:.8125rem;color:var(--tinta-suave)}
.acc-ico,.acc-btn .acc-ico{width:46px;height:46px;border-radius:var(--radio);display:inline-flex;align-items:center;justify-content:center;margin-bottom:8px;background:var(--lavanda);color:var(--violeta)}
.acc-ico .ico{width:24px;height:24px}
.acc-btn.principal{background:var(--violeta);border-color:var(--violeta)}
.acc-btn.principal:hover{background:var(--violeta-hover);border-color:var(--violeta-hover)}
.acc-btn.principal b,.acc-btn.principal span{color:var(--blanco)}
.acc-btn.principal .acc-sub{color:rgba(255,255,255,.82)}
.acc-btn.principal .acc-ico{background:rgba(255,255,255,.18);color:var(--blanco)}
.fila-cobro{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.fila-cobro .sel,.fila-cobro .buscar{flex:1;min-width:220px;max-width:none}
#lista-carga .tabla-wrap{margin:12px 0 0}
.cobro-card{padding:22px 24px}
.cobro-top{display:flex;align-items:center;gap:16px;margin-bottom:14px}
.cobro-top .acc-ico{margin:0}
.cobro-top h3{font-size:1.25rem;font-weight:800;letter-spacing:-.015em;color:var(--violeta-profundo);line-height:1.15}
.cobro-top p{color:var(--tinta-suave);font-size:1rem;margin-top:2px}
.cobro-top p b{color:var(--tinta);font-weight:700}
.venc-tit{font-size:.6875rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--tinta-suave);margin:14px 0 8px}
.vencidas{background:var(--rojo-fondo);border:1px solid var(--rojo-borde);border-radius:var(--radio);padding:14px 16px}
.vencidas .venc-tit{color:var(--rojo);margin-top:0}
.venc{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:10px 0;border-top:1px solid var(--rojo-borde)}
.venc:first-of-type{border-top:0;padding-top:2px}
.venc b{font-size:1rem;font-weight:700}
.venc span{display:block;font-size:.8125rem;color:var(--tinta-suave)}
.venc-der{display:flex;align-items:center;gap:14px}
.venc-der .neg{color:var(--rojo);font-size:1.125rem;font-variant-numeric:tabular-nums}
@media(max-width:600px){.venc{flex-direction:column;align-items:flex-start}.venc-der{width:100%;justify-content:space-between}}
/* resúmenes con franja a la izquierda (caídas, facturas, reseñas) */
.cai-resumen{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}
.cai-res{background:var(--rojo-fondo);border:1px solid var(--rojo-borde);border-left:4px solid var(--rojo);border-radius:12px;padding:10px 16px;min-width:180px}
.cai-res span{display:block;font-size:.6875rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tinta-suave)}
.cai-res b{display:block;font-size:1.25rem;font-weight:800;color:var(--rojo);font-variant-numeric:tabular-nums}
.cai-res small{font-size:.8125rem;color:var(--tinta-suave)}
.cai-res.fbk-ok{background:var(--ok-fondo);border-color:var(--ok-borde);border-left-color:var(--ok)}
.cai-res.fbk-ok b{color:var(--ok)}
.cai-res.res-ter{background:var(--ambar-fondo);border-color:var(--ambar-borde);border-left-color:var(--ambar-fuerte)}.cai-res.res-ter b{color:var(--ambar)}
.cai-res.res-gla{background:var(--turquesa-fondo);border-color:var(--turquesa-borde);border-left-color:var(--turquesa-fuerte)}.cai-res.res-gla b{color:var(--turquesa)}
.res-punt small,.cai-res b small{font-size:.65em;font-weight:600;opacity:.75}
/* facturas de Booking */
.fbk-debe{margin:0 2px 10px;font-size:.9375rem;color:var(--tinta-suave)}
.fbk-debe b{color:var(--rojo);font-weight:700}
.fbk-debe.ok{color:var(--ok);font-weight:600}
.fbk-vencida{color:var(--rojo);font-weight:700}

/* ---------- Reseñas ---------- */
.res-resumen{display:flex;align-items:center;justify-content:space-between;gap:12px 24px;flex-wrap:wrap;padding:16px 20px}
.res-cuenta{font-size:1.125rem}
.res-cuenta b{font-size:1.5rem;font-weight:800;color:var(--ok)}
.res-prom{display:flex;gap:18px;flex-wrap:wrap;color:var(--tinta-suave);font-size:.9375rem}
.res-prom b{color:var(--tinta)}
.res-plat{display:inline-flex;align-items:center;gap:7px}
.logo{width:22px;height:22px;flex-shrink:0}
.logo-ab{fill:#FF385C}
.logo-gg{fill:#4285F4}
.logo-bk{display:inline-flex;align-items:center;justify-content:center;background:#003580;color:#fff;border-radius:5px;font-weight:800;font-size:.8125rem;letter-spacing:-.02em}
.res-filtros{display:flex;gap:8px;flex-wrap:wrap;margin:18px 0 12px}
.res-filtros button{border:1px solid var(--linea);background:var(--blanco);color:var(--tinta);border-radius:999px;padding:8px 16px;font:inherit;font-weight:700;font-size:.875rem;cursor:pointer}
.res-filtros button span{display:inline-block;min-width:22px;margin-left:4px;padding:0 7px;border-radius:999px;background:var(--fondo);color:var(--tinta-suave);font-size:.8125rem}
.res-filtros button.on{background:var(--violeta-profundo);border-color:var(--violeta-profundo);color:var(--blanco)}
.res-filtros button.on span{background:rgba(255,255,255,.2);color:var(--blanco)}
.res-tabla{padding:0;overflow:hidden}
.res-fila{display:grid;grid-template-columns:minmax(200px,1.4fr) minmax(170px,1fr) auto;gap:12px;align-items:center;padding:12px 18px;border-top:1px solid var(--linea)}
.res-tabla > .res-fila:first-child{border-top:0}
.res-cab{border-top:0;background:var(--tabla-cab-fondo);color:var(--tabla-cab-tinta);font-size:.6875rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:10px 18px}
.res-fila.res-si{background:#F2FAF6}
.res-fila > div:nth-child(2){display:flex;flex-wrap:wrap;gap:4px;min-width:0}
.res-fila .chip{white-space:normal}
.res-hu b{display:block;color:var(--violeta-profundo)}
.res-hu small{color:var(--tinta-suave);font-size:.8125rem}
.res-tel{font-size:.9375rem}
.res-acc{display:flex;gap:8px;flex-shrink:0;align-items:center}
.res-fila .res-acc{flex-wrap:wrap;justify-content:flex-end}
/* los botones de cada fila: del mismo ancho, en blanco con borde y letra del color de la paleta
   (el lleno queda para los botones principales de los formularios) */
.res-fila .res-acc .btn{min-width:152px;background:var(--blanco);color:var(--violeta);border:1.5px solid var(--violeta)}
.res-fila .res-acc .btn:hover{background:var(--lavanda);color:var(--violeta-hover);border-color:var(--violeta-hover)}
.res-fila .res-acc .btn.sec{color:var(--tinta-suave);border-color:var(--linea-fuerte)}
.res-fila .res-acc .btn.sec:hover{background:var(--fondo);color:var(--tinta)}
.res-tel-op label{font-size:.6875rem;color:var(--tinta-suave)}
.res-tel-op input{max-width:340px;font-size:.9375rem;padding-top:8px;padding-bottom:8px}
.res-ahora{border:1.5px solid var(--ambar-fuerte)}
@media(max-width:700px){
  .res-cab{display:none}
  .res-fila{grid-template-columns:minmax(0,1fr);row-gap:8px}
  .res-fila .res-acc{grid-column:1;justify-content:flex-start}
  .res-fila .res-acc .btn{flex:1}
}
.res-lista{padding:6px 16px}
.res-it{display:flex;align-items:center;gap:14px;padding:12px 0;border-top:1px solid var(--linea)}
.res-lista > .res-it:first-child,.pleg-in > .res-it:first-of-type{border-top:0}
.res-tx{flex:1;min-width:0}
.res-tx b{display:block;font-size:1rem}
.res-tx small{color:var(--tinta-suave);font-size:.875rem}
@media(max-width:600px){.res-it{flex-direction:column;align-items:stretch}.res-acc .btn{flex:1}}
.res-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px}
.res-card{margin:0}
.res-top{display:flex;align-items:center;gap:12px}
.res-top > div{flex:1;min-width:0}
.res-top b{display:block}
.res-top small{color:var(--tinta-suave);font-size:.875rem}
.res-punt{flex-shrink:0;min-width:58px;text-align:center;background:var(--ok-fondo);color:var(--ok);border-radius:12px;padding:8px 6px;font-weight:800;font-size:1.25rem;line-height:1}
.res-titulo{margin-top:10px;font-weight:700;color:var(--violeta-profundo)}
.res-texto{margin-top:10px;color:var(--tinta);font-size:.9375rem;line-height:1.55;white-space:pre-line;font-style:italic}
.res-titulo + .res-texto{margin-top:4px}
.res-envio{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.res-cap{grid-column:1/-1}
form.res-no .solo-dejo{display:none}
.solo-dejo.ancho,.solo-dejo.campos{grid-column:1/-1}

/* ---------- selector de fechas (flatpickr) ---------- */
.flatpickr-wrapper{display:block;width:100%}
.flatpickr-calendar{font-family:var(--sans);border-radius:var(--radio-grande);box-shadow:var(--sombra-alta);border:1px solid var(--linea);
  width:392px !important;padding:8px 10px 12px}
.flatpickr-calendar.static{top:calc(100% + 6px);z-index:30}
.flatpickr-calendar.arrowTop:before,.flatpickr-calendar.arrowTop:after{display:none}
.flatpickr-months{padding:4px 0 8px}
.flatpickr-months .flatpickr-month{height:44px;color:var(--violeta-profundo)}
.flatpickr-current-month{font-size:1.15rem;padding-top:8px}
.flatpickr-current-month .flatpickr-monthDropdown-months,.flatpickr-current-month input.cur-year{font-weight:800;font-family:var(--sans);font-size:1.15rem}
.flatpickr-current-month .flatpickr-monthDropdown-months{text-transform:capitalize}
.flatpickr-months .flatpickr-prev-month,.flatpickr-months .flatpickr-next-month{padding:14px;color:var(--violeta);fill:var(--violeta)}
.flatpickr-months .flatpickr-prev-month svg,.flatpickr-months .flatpickr-next-month svg{width:16px;height:16px}
.flatpickr-innerContainer,.flatpickr-rContainer,.flatpickr-days{width:100% !important}
.flatpickr-weekdays{height:34px}
span.flatpickr-weekday{font-size:.76rem;font-weight:700;color:var(--tinta-suave);text-transform:uppercase}
.dayContainer{width:100% !important;min-width:100% !important;max-width:100% !important}
.flatpickr-day{max-width:none;flex-basis:14.2857%;height:50px;line-height:50px;font-size:1rem;border-radius:12px;color:var(--tinta)}
.flatpickr-day.today{border-color:var(--hoy);color:var(--hoy);font-weight:800}
.flatpickr-day.selected,.flatpickr-day.selected:hover{background:var(--violeta);border-color:var(--violeta);color:var(--blanco);font-weight:700}
.flatpickr-day:hover{background:var(--lavanda);border-color:var(--lavanda)}
.flatpickr-day.prevMonthDay,.flatpickr-day.nextMonthDay{color:var(--tinta-tenue)}
.flatpickr-day.flatpickr-disabled,.flatpickr-day.flatpickr-disabled:hover{color:#CFCBD8}
/* noches que ya tienen huésped */
.flatpickr-day.fp-ocupado{background:var(--turquesa-fondo);color:var(--turquesa);border-color:transparent;position:relative}
.flatpickr-day.fp-ocupado::after{content:"";position:absolute;left:50%;bottom:7px;width:5px;height:5px;margin-left:-2.5px;border-radius:50%;background:var(--turquesa-fuerte)}
.flatpickr-day.fp-ocupado.selected{background:var(--ambar-fuerte);border-color:var(--ambar-fuerte);color:var(--blanco)}
/* la estadía elegida, como en Booking: el ingreso, las noches y la salida */
.flatpickr-day.fp-inicio,.flatpickr-day.fp-inicio.flatpickr-disabled{background:var(--violeta);border-color:var(--violeta);color:var(--blanco);font-weight:700}
.flatpickr-day.fp-fin,.flatpickr-day.fp-fin:hover{background:var(--violeta-profundo);border-color:var(--violeta-profundo);color:var(--blanco);font-weight:700}
.flatpickr-day.fp-rango,.flatpickr-day.fp-hover{background:var(--lavanda);border-color:var(--lavanda);color:var(--tinta);border-radius:6px}
.flatpickr-day.fp-hover.fp-ocupado,.flatpickr-day.fp-rango.fp-ocupado{background:var(--rojo-fondo);color:var(--rojo)}
.flatpickr-calendar .fp-ley{font-size:.78rem;color:var(--tinta-suave);padding:8px 6px 0;display:flex;align-items:center;gap:8px}
.fp-noches{border-top:1px solid var(--linea);margin-top:8px;padding:10px 6px 2px;font-size:.875rem;color:var(--tinta-suave)}
.fp-noches b{color:var(--violeta);font-weight:800}
/* los campos de fecha se ven como campos normales (el calendario los marca readonly) */
.campo input.flatpickr-input[readonly],.flatpickr-wrapper input[readonly]{background:var(--blanco) !important;color:var(--tinta) !important;cursor:pointer}
.caida-datos input.flatpickr-input[readonly]:disabled,.caida-datos .flatpickr-wrapper input[readonly]{background:var(--pasado) !important;color:var(--tinta-suave) !important}
@media(max-width:520px){.flatpickr-calendar{width:calc(100vw - 48px) !important}.flatpickr-day{height:42px;line-height:42px}}
@media(max-width:600px){
  .flatpickr-calendar.static{width:100% !important;left:0;right:auto;padding:6px 6px 10px}
  .flatpickr-day{height:40px;line-height:40px;font-size:.95rem}
}

/* ---------- escritorio: menú lateral ---------- */
@media(min-width:1024px){
  #app{--alto-franja:76px;display:grid;grid-template-columns:232px minmax(0,1fr);grid-template-rows:auto 1fr;min-height:100vh}
  .franja{grid-column:1/-1}
  .franja-in{max-width:none;min-height:var(--alto-franja);padding:12px 32px 12px 24px}
  /* el menú ocupa el alto de la pantalla; Configuración queda abajo de todo */
  .tabs{flex-direction:column;gap:4px;margin:0;padding:6px 14px 20px;position:sticky;top:var(--alto-franja);align-self:start;
    height:calc(100vh - var(--alto-franja));overflow-y:auto}
  .tab{width:100%;text-align:left;border:0;background:transparent;font-size:.9375rem;padding:10px 14px;gap:12px}
  .tab[href="#config"]{margin-top:auto}
  .tab .ic-tab{width:19px;height:19px}
  .tab.on,.tab.on:hover{font-weight:600}
  main{width:100%;margin:0;padding:30px 36px 80px;border-radius:var(--hoja-radio) 0 0 0;min-height:calc(100vh - var(--alto-franja))}
  main>*{max-width:1440px;margin-left:0}
  /* la esquina redondeada queda fija arriba aunque el contenido se mueva por debajo */
  main::before{content:"";position:fixed;top:var(--alto-franja);left:232px;width:var(--hoja-radio);height:var(--hoja-radio);z-index:15;pointer-events:none;
    background:radial-gradient(circle at 100% 100%,transparent calc(var(--hoja-radio) - .5px),var(--enc-fondo) var(--hoja-radio))}
  .dos{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}
  .stats{grid-template-columns:repeat(3,minmax(0,1fr))}
  .stat .val{font-size:1.25rem}
  /* Calendario: el mes a la izquierda, grande (un poco más ancho que las fichas), y las fichas en una columna */
  .mes-card{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);gap:26px;align-items:start}
  .mes-card .fichas{margin-top:0;grid-template-columns:1fr}
  .mes-card .grid,.mes-card .dow{gap:6px}
  .mes-card .day{aspect-ratio:1.1/1;font-size:.875rem;padding:6px 0 0 9px;border-radius:12px}
  .mes-card .day .nm{font-size:.6875rem;bottom:7px}
  .mes-card .day.turn{font-size:.875rem}
  .mes-card .day.turn .nm,.mes-card .day.sale .nm{font-size:.6875rem}
  .mes-card .day.turn .nm.a,.mes-card .day.sale .nm{bottom:calc(50% + 3px)}
  .mes-card .day.turn .nm:not(.a),.mes-card .day.sale .nm.libre{bottom:5px}
  dialog{width:min(760px,calc(100vw - 48px))}
  .campos{grid-template-columns:repeat(3,minmax(0,1fr))}
  /* Inicio: el calendario a lo ancho, el mes en números en una fila, filas parejas */
  .cal-ancho .grid{gap:8px}
  .cal-ancho .dow{gap:8px;font-size:.75rem;margin:14px 0 6px}
  .cal-ancho .day{aspect-ratio:auto;height:100px;font-size:.9375rem;padding:9px 0 0 12px;border-radius:var(--radio)}
  .cal-ancho .day .nm{font-size:.75rem;bottom:12px}
  .cal-ancho .day.turn{font-size:.9375rem}
  .cal-ancho .day.turn .nm,.cal-ancho .day.sale .nm{font-size:.75rem;padding:0 8px}
  .cal-ancho .day.turn .nm:not(.a){bottom:9px}
  .cal-ancho .day.turn .nm.a,.cal-ancho .day.sale .nm{bottom:calc(50% + 6px)}
  /* en el calendario grande, antes del nombre: "Sale" o "Entra" */
  .cal-ancho .day.turn .nm::before,.cal-ancho .day.sale .nm::before{font-size:.62rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.75;margin-right:5px}
  .cal-ancho .day.turn .nm.a::before,.cal-ancho .day.sale .nm::before{content:"Sale"}
  .cal-ancho .day.turn .nm:not(.a)::before{content:"Entra"}
  .cal-ancho .day .nm.libre{font-size:.75rem}
  .cal-ancho .day.sale .nm.libre{bottom:9px}
  .cal-ancho .day.sale .nm.libre::before{content:none}
  .cal-ancho .mes-tit{font-size:1.125rem}
  .mes-res{grid-template-columns:repeat(6,minmax(0,1fr));grid-auto-rows:1fr}
  .mes-res .stat.ancho{grid-column:auto}
  .mes-res .stat .val{font-size:1.125rem;letter-spacing:-.02em}
  .dos.igual{align-items:stretch;margin-bottom:16px}
  .dos.igual>div{display:flex;flex-direction:column}
  .dos.igual>div>*{flex:1 1 auto;margin:0 !important}
  .dos.igual .mes-res{flex:1}
  .dos.igual>div>.card:has(.mes-res){display:flex;flex-direction:column}
  /* la tarjeta de hoy: el check-in a la izquierda y su ficha a la derecha */
  .hoy-sale,.hoy-prox{padding-left:30px;padding-right:30px}
  .hoy-main{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);column-gap:40px;align-items:center;padding:28px 30px}
  .hoy-main.libre{display:flex}
  .hoy-nombre{font-size:2rem}
  .hoy-estado{font-size:1.125rem}
  .hoy-main .hoy-datos{margin:0;padding:6px 0 6px 36px;border-top:0;border-left:1px solid var(--linea);grid-template-columns:minmax(0,.7fr) minmax(0,.7fr) minmax(0,2fr);gap:18px 24px}
  .hoy-cobro{flex-wrap:nowrap}
  .hoy-datos .dato:first-child{grid-column:1/-1}
}
@media(min-width:1400px){
  .mes-card .fichas{grid-template-columns:1fr}
}
