/* Hotel modules of the panel (Pages/Panel/Habitaciones…). Uses the tokens of buz.css / claro-app.css (light and dark). */
.ht-cifras{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:10px 0}
.ht-cifras div{padding:12px 14px;border-radius:14px;background:var(--tarjeta);border:1px solid var(--linea)}
.ht-cifras b{display:block;font-size:1.5rem;font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums}
.ht-cifras span{font-size:.82rem;color:var(--suave)}
@media(max-width:560px){.ht-cifras{grid-template-columns:repeat(2,minmax(0,1fr))}}
.ht-piso h2{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline;margin:18px 0 8px}
.ht-piso h2 small{font-size:.85rem;font-weight:600;color:var(--suave)}
.ht-rejilla{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:8px;align-items:start}
.ht-hab{border-radius:14px;border:1.5px solid var(--linea);background:var(--tarjeta);min-width:0}
.ht-hab[open]{grid-column:1/-1;max-width:420px}
.ht-hab>summary{list-style:none;cursor:pointer;display:grid;gap:2px;padding:10px 12px;border-radius:12px}
.ht-hab>summary::-webkit-details-marker{display:none}
.ht-hab>summary b{font-size:1.25rem;font-variant-numeric:tabular-nums}
.ht-hab>summary span{font-size:.8rem;font-weight:700}
.ht-hab>summary small{font-size:.75rem;color:var(--suave);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ht-hab.libre>summary span{color:var(--e2-t)}
.ht-hab.ocupada{border-color:var(--e1-t)}
.ht-hab.ocupada>summary{background:var(--e1-f)}
.ht-hab.ocupada>summary span{color:var(--e1-t)}
.ht-detalle{padding:6px 12px 12px;display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.ht-detalle form{margin:0}
.ht-detalle .pista{flex-basis:100%;margin:0}
.ht-codigo{flex-basis:100%;margin:4px 0 0;display:flex;align-items:baseline;gap:10px}
.ht-codigo small{font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;color:var(--suave)}
.ht-codigo b{font-size:2rem;letter-spacing:.2em;font-variant-numeric:tabular-nums}
.ht-llegada{flex-basis:100%;display:grid;gap:6px}
.ht-llegada label{margin:0}
.ht-agregar{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,120px),1fr));gap:10px;align-items:end}
.ht-agregar div{min-width:0}
.ht-agregar label{margin-top:0}
/* Orders board */
.ht-filtro{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 12px}
.ht-filtro a{padding:8px 14px;border-radius:999px;border:1.5px solid var(--linea);background:var(--tarjeta);color:var(--tinta);text-decoration:none;font-weight:700}
.ht-filtro a[aria-current]{background:var(--pestana-activa);border-color:var(--pestana-activa);color:var(--pestana-activa-t)}
.ht-filtro .pista{margin:0}
.ht-columnas{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;align-items:start}
@media(max-width:900px){.ht-columnas{grid-template-columns:1fr}}
.ht-col h2{display:flex;align-items:center;gap:8px;margin:4px 0 8px;font-size:1.05rem}
.globo-n{display:inline-grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:999px;background:var(--relleno);font-size:.8rem}
.ht-col-recibido .globo-n{background:var(--acento);color:var(--acento-t)}
.ht-pedido{padding:12px 14px;margin:0 0 10px;border-radius:14px;background:var(--tarjeta);border:1.5px solid var(--linea);box-shadow:var(--sombra)}
.ht-col-recibido .ht-pedido{border-color:var(--acento)}
.ht-pedido.tarde{border-color:var(--mal)}
.ht-pedido.tarde em{color:var(--mal);font-weight:800}
.ht-pedido header{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.ht-pedido header b{font-size:1.3rem}
.ht-pedido header span{font-size:.84rem;color:var(--suave)}
.ht-pedido header em{font-style:normal}
.ht-pedido ul{margin:8px 0;padding:0;list-style:none;display:grid;gap:3px;font-size:1rem}
.ht-nota{margin:6px 0;padding:8px 10px;border-radius:10px;background:var(--e0-f);color:var(--e0-t);font-weight:600}
.ht-total{margin:6px 0;font-size:.95rem}
.ht-total small{color:var(--suave)}
.ht-acciones{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.ht-acciones form{margin:0}
.ht-acciones>form button{min-height:44px;font-size:1rem}
.ht-acciones details summary{cursor:pointer;color:var(--suave);font-size:.88rem}
.ht-cancelar{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.ht-cancelar input{flex:1;min-width:0}
.ht-cerrados ul{margin:8px 0 0;padding-left:18px;display:grid;gap:6px;font-size:.9rem}
.ht-cerrados summary{cursor:pointer;font-weight:700}
/* Room service menu */
.ht-config .check{align-items:flex-start;margin:6px 0}
.ht-config .check input{margin-top:2px}
.ht-categoria h3{margin:0 0 6px}
.ht-categoria h3 small{font-weight:500;color:var(--suave);font-size:.9rem}
.ht-platos{list-style:none;margin:6px 0 0;padding:0;display:grid}
.ht-platos li{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;padding:10px 0;border-top:1px solid var(--linea)}
.ht-platos li>div{display:grid;flex:1;min-width:150px}
.ht-platos li small{color:var(--suave)}
.ht-platos li span{font-weight:700;font-variant-numeric:tabular-nums}
.ht-platos li img{width:56px;height:56px;object-fit:cover;border-radius:10px}
.ht-platos li.agotado>div{opacity:.55}
.ht-platos li form{margin:0}
.ht-platos .ht-editar{flex-basis:100%}
.ht-editar summary{cursor:pointer;color:var(--laguna,var(--acento));font-weight:700;font-size:.9rem}
.ht-producto{display:grid;gap:6px;margin-top:8px}
.ht-dos-forms{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:0 12px;align-items:start}
.ht-dos-forms summary{cursor:pointer;font-weight:700}
.ht-pago{font-weight:700}
.ht-avanzar{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.ht-avanzar select{width:auto;min-height:44px}
.ht-caja h2{font-size:1rem;margin:0 0 6px}
.ht-caja ul{list-style:none;margin:0;padding:0;display:grid}
.ht-caja li{display:flex;justify-content:space-between;gap:10px;padding:6px 0;border-bottom:1px solid var(--linea);font-variant-numeric:tabular-nums}
.ht-caja li small{color:var(--suave)}
.ht-caja li.total{font-weight:800;border-bottom:0}
.ht-pagos{border:0;margin:10px 0;padding:0;display:flex;flex-wrap:wrap;gap:4px 16px}
.ht-pagos legend{padding:0;margin-bottom:4px;font-weight:700}
/* Housekeeping: the housekeeper's page (Pages/HotelLimpieza) and the board (/panel/limpieza) */
.hl-cab p{margin:0 0 4px;font-weight:700;opacity:.9}
.hl-form h2{margin:0 0 6px}
.hl-reloj{margin:0 0 10px;font-size:1rem}
.hl-reloj b{font-size:1.6rem;font-variant-numeric:tabular-nums}
.hl-tareas{border:0;margin:6px 0;padding:0;display:grid;gap:6px}
.hl-tareas legend{padding:0;margin-bottom:6px;font-weight:700}
.hl-tareas .check{align-items:flex-start;margin:0;padding:8px 10px;border-radius:10px;background:var(--relleno)}
.hl-tareas .check input{margin-top:2px}
.hl-tareas button{justify-self:start}
.hl-tipo{border:0;margin:10px 0;padding:0;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}
.hl-tipo legend{padding:0;margin-bottom:6px;font-weight:700}
.hl-tipo label{display:flex;gap:6px;align-items:flex-start;margin:0;padding:10px;border-radius:12px;border:1.5px solid var(--linea);background:var(--tarjeta);cursor:pointer}
.hl-tipo label:has(input:checked){border-color:var(--acento)}
.hl-tipo input{width:18px;height:18px;min-height:0;margin:2px 0 0;accent-color:var(--acento)}
.hl-tipo span{display:grid;line-height:1.2}
.hl-tipo small{font-size:.74rem;color:var(--suave)}
@media(max-width:380px){.hl-tipo{grid-template-columns:1fr}}
.hl-cancelar{margin:8px 0 0;text-align:center}
.hl-regresada{border-color:var(--mal)}
/* Board colors by cleaning state */
.ht-hab.l-regresada{border-color:#d9534f}.ht-hab.l-regresada>summary{background:#fde2dd}
.ht-hab.l-limpiando{border-color:#e0a100}.ht-hab.l-limpiando>summary{background:#fff3cd}
.ht-hab.l-porinspeccionar{border-color:#3b82f6}.ht-hab.l-porinspeccionar>summary{background:#dbeafe}
.ht-hab.l-limpia{border-color:#22a06b}.ht-hab.l-limpia>summary{background:#dcf5e8}
.ht-hab.l-nomolestar{border-color:#6b7280}.ht-hab.l-nomolestar>summary{background:#e5e7eb}
:root[data-theme=dark] .ht-hab[class*=" l-"]:not(.l-pendiente)>summary{color:#12292F}
@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .ht-hab[class*=" l-"]>summary{color:#12292F}}
.hl-leyenda{display:flex;flex-wrap:wrap;gap:6px 14px;margin:6px 0 10px;font-size:.84rem}
.hl-leyenda span::before{content:"";display:inline-block;width:12px;height:12px;margin-right:6px;border-radius:4px;vertical-align:-1px;background:var(--c)}
.hl-desempeno td,.hl-desempeno th{text-align:left;padding:6px 8px;border-bottom:1px solid var(--linea);font-size:.9rem}
.hl-desempeno{width:100%;border-collapse:collapse}
.hl-desempeno td.n{text-align:right;font-variant-numeric:tabular-nums}
.hl-historial{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.hl-historial li{padding:10px 12px;border-radius:12px;border:1px solid var(--linea);background:var(--tarjeta)}
.hl-historial li small{color:var(--suave)}
.hl-estado.regresada{background:#fde2dd;color:#a5321c}.hl-estado.limpiando{background:#fff3cd;color:#7a5a00}.hl-estado.porinspeccionar{background:#dbeafe;color:#1d4ed8}
.hl-estado.limpia{background:#dcf5e8;color:#166534}.hl-estado.nomolestar{background:#e5e7eb;color:#374151}
.hl-cifras{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:700px){.hl-cifras{grid-template-columns:repeat(2,minmax(0,1fr))}}
.hl-fotos{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.pie.personal{margin-top:24px;font-size:.8rem;opacity:.7}
/* Housekeeping: any day of the last 90 (board and dated history) */
.hl-dia{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:4px 0 12px}
.hl-dia form{margin:0}
.hl-dia input[type=date]{width:auto;min-height:36px;padding:4px 10px}
.hl-dia-txt{font-weight:800}
.hl-fecha{margin:14px 0 6px;font-size:.95rem;color:var(--suave)}
/* Waiters' tables (/panel/mesas) */
.chip.listo{background:var(--acento);color:var(--acento-t)}
.ht-mpedido.camino{padding:10px 12px;border:1.5px solid var(--acento);border-radius:12px}
.ht-mias[aria-pressed=true]{background:var(--e2-f)!important;color:var(--e2-t)!important;border-color:var(--e2-t)!important}
.ht-mesas{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,320px),1fr));gap:12px;align-items:start}
.ht-mesa{padding:12px 14px;border-radius:14px;background:var(--tarjeta);border:1.5px solid var(--linea);box-shadow:var(--sombra);min-width:0}
.ht-mesa.mia{border-color:var(--e2-t)}
.ht-mesa.urgente{border:2.5px solid var(--acento);box-shadow:0 0 0 4px color-mix(in srgb,var(--acento) 18%,transparent),var(--sombra)}
.ht-mesa header{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:baseline}
.ht-mesa header b{font-size:1.4rem}
.ht-mesa header span{color:var(--suave);font-size:.9rem}
.ht-mesa header .ht-mesero{margin-left:auto;font-weight:700;color:var(--tinta)}
.ht-tomar{margin:8px 0 0}
.ht-tomar button{width:100%;min-height:44px}
.ht-llamado{margin:10px 0 0;padding:10px 12px;border-radius:12px;background:var(--e0-f);color:var(--e0-t)}
.ht-llamado.voy{background:var(--e1-f);color:var(--e1-t)}
.ht-llamado .ht-acciones{margin-top:6px}
.ht-mpedido{margin:10px 0 0;padding-top:10px;border-top:1px solid var(--linea)}
.ht-mpedido p{margin:0}
.ht-mpedido ul{margin:6px 0;padding:0;list-style:none;display:grid;gap:3px}
.ht-mpedido.porconfirmar{padding:10px 12px;border:1.5px dashed var(--acento);border-radius:12px}
.ht-mpedido.cancelado ul{text-decoration:line-through;opacity:.6}
.ht-mpedido .ht-acciones button,.ht-llamado .ht-acciones button{min-height:44px}
.ht-mesa-mas{display:grid;gap:6px;margin-top:8px}
.ht-mesa-mas summary{cursor:pointer;font-weight:700;color:var(--suave)}
.ht-mesa-mas select{flex:1;min-width:0}
/* Restaurants and bars report (/panel/mesas/reporte) */
.ht-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,190px),1fr));gap:10px;margin:0 0 12px}
.ht-kpis .tarjeta{display:grid;gap:2px;margin:0}
.ht-kpis span{color:var(--suave);font-weight:700;font-size:.85rem}
.ht-kpis b{font-size:1.6rem;font-variant-numeric:tabular-nums}
.ht-kpis small{color:var(--suave)}
.ht-reporte{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,360px),1fr));gap:12px;align-items:start}
.ht-reporte .tarjeta{margin:0}
.ht-scroll{overflow-x:auto}
.ht-tabla{width:100%;border-collapse:collapse;font-size:.92rem}
.ht-tabla th{text-align:right;font-size:.78rem;color:var(--suave);font-weight:800;padding:6px 8px;border-bottom:1.5px solid var(--linea)}
.ht-tabla td{text-align:right;padding:7px 8px;border-bottom:1px solid var(--linea);font-variant-numeric:tabular-nums}
.ht-tabla th:first-child,.ht-tabla td:first-child{text-align:left}
.ht-lista{list-style:none;margin:0;padding:0;display:grid}
.ht-lista li{display:flex;justify-content:space-between;gap:10px;padding:7px 0;border-bottom:1px solid var(--linea)}
.ht-lista li.total{font-weight:800;border-bottom:0}
.ht-lista small{color:var(--suave)}
.ht-dias{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.ht-dias li{display:grid;grid-template-columns:90px minmax(0,1fr) auto auto;gap:10px;align-items:center;font-size:.9rem}
.ht-dias i{display:block;height:14px;width:var(--w);min-width:4px;border-radius:0 4px 4px 0;background:var(--acento)}
.ht-dias b{font-variant-numeric:tabular-nums}
.ht-dias small{color:var(--suave);min-width:60px;text-align:right}
@media(max-width:560px){.ht-dias li{grid-template-columns:70px minmax(0,1fr) auto}.ht-dias small{display:none}}
