/* Registro de datos → Administración → Habitaciones y camas (reutiliza .pgcaja, .pgpie, .pgx y .pgnota de pagos.css) */
.invkpi.hbocup{background:#fff8ec}
.invkpi.hbocup .invkpiico{background:#fde9c8;color:#c27a0a}
.invkpi.hbdisp .invkpiico{background:#d8f1ec;color:#1f9d6b}
.hbfiltros{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) auto;gap:12px;align-items:center}
.hbfiltros input{width:100%;height:42px;border:1.5px solid #d4dde6;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-size:15px;padding:0 40px 0 12px}
.hbetq{display:flex;align-items:center;gap:10px;color:var(--navy);font-weight:700;font-size:14.5px;white-space:nowrap}
.hbetq select{flex:1;min-width:0;height:42px;border:1.5px solid #d4dde6;border-radius:8px;background:#fff;color:var(--ink);font:inherit;font-weight:400;font-size:15px;padding:0 10px}
.hbfiltros input:focus,.hbetq select:focus{outline:none;border-color:var(--teal);box-shadow:0 0 0 3px rgba(46,127,124,.15)}
.hbcrear{display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 20px;border:0;border-radius:10px;background:var(--navy);color:#fff;font:inherit;font-weight:700;white-space:nowrap;cursor:pointer}
.hbcrear:hover{filter:brightness(1.15)}
.hbcrear svg{width:20px;height:20px}
.hbaviso{display:flex;align-items:center;gap:10px;margin:14px 0 0;padding:10px 14px;border-radius:10px;background:#e8f2fb;color:#29506f;font-size:14px}
.hbaviso svg{flex:none;width:18px;height:18px;color:#2f6fd6}
.hbcab{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:10px;margin:18px 0 10px}
.hbcab h3{margin:0;font:700 18px Montserrat,sans-serif;color:var(--navy)}
.hbcab .hbetq select{min-width:220px}
.hblista{display:flex;flex-direction:column;gap:14px}
.hbhab{border:1px solid #e3eaee;border-radius:14px;background:#fff;padding:14px 14px 10px}
.hbhab header{display:grid;grid-template-columns:auto minmax(0,1fr) minmax(220px,300px) auto;gap:14px;align-items:center}
.hbhabico{width:48px;height:48px;border-radius:50%;background:#e4edf8;color:#1f5fa0;display:grid;place-items:center}
.hbhabico svg{width:24px;height:24px}
.hbtit h4{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0;font:700 19px Montserrat,sans-serif;color:var(--navy)}
.hbtit small{display:block;margin-top:2px;color:#5f7184;font-size:14px}
.hbchip{padding:2px 10px;border-radius:999px;background:#ddf3e9;color:#17734f;font:700 13px Lato,sans-serif}
.hbprog{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:4px 12px;align-items:center}
.hbprog small{grid-column:1/-1;color:#5f7184;font-size:13.5px}
.hbbarra{width:100%;height:9px;border:0;border-radius:999px;overflow:hidden;background:#e3e9ee;appearance:none}
.hbbarra::-webkit-progress-bar{background:#e3e9ee;border-radius:999px}
.hbbarra::-webkit-progress-value{background:#1f8a6a;border-radius:999px}
.hbbarra::-moz-progress-bar{background:#1f8a6a;border-radius:999px}
.hbprog b{color:var(--navy);font-size:14px}
.hbacc{display:flex;align-items:center;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.hbbtn{display:inline-flex;align-items:center;gap:6px;height:36px;padding:0 14px;border:1.5px solid #d4dde6;border-radius:8px;background:#fff;color:var(--navy);font:inherit;font-size:14px;font-weight:700;white-space:nowrap;cursor:pointer}
.hbbtn:hover{border-color:var(--teal);color:var(--teal-d)}
.hbbtn svg{width:16px;height:16px}
.hbobs{margin:8px 0 0 62px;color:#5f7184;font-size:14px}
.hbcamas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px}
.hbcama{display:grid;grid-template-columns:auto auto auto minmax(0,1fr) auto auto;gap:10px;align-items:center;padding:6px 10px;border-radius:10px;background:#f6f9fb}
.hbcamaico svg{width:22px;height:22px;color:#123f5a;display:block}
.hbcama > b{color:var(--navy);font-size:14.5px;white-space:nowrap}
.hbestado{display:inline-block;padding:3px 12px;border-radius:999px;font-size:13px;font-weight:700;white-space:nowrap}
.hbestado.ocup{background:#fbe1e1;color:#b3262a}
.hbestado.disp{background:#ddf3e9;color:#17734f}
.hbres{display:inline-flex;align-items:center;gap:6px;min-width:0;color:var(--ink);font-size:14px}
.hbres span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hbres svg{flex:none;width:16px;height:16px;color:#5f7184}
.hbres.vacio{color:#7d8ea3}
.hbmenu{position:relative}
.hbpuntos{width:32px;height:32px;border:0;border-radius:8px;background:none;color:var(--navy);display:grid;place-items:center;cursor:pointer}
.hbpuntos:hover{background:#e8eef3}
.hbpuntos svg{width:18px;height:18px}
.hbmenulista{position:absolute;right:0;top:36px;z-index:20;min-width:190px;padding:6px;border-radius:10px;background:#fff;box-shadow:0 12px 30px rgba(18,63,90,.18)}
.hbmenulista[hidden]{display:none}
.hbmenulista button{display:block;width:100%;padding:9px 12px;border:0;border-radius:8px;background:none;color:#b3262a;font:inherit;font-weight:700;text-align:left;cursor:pointer}
.hbmenulista button:hover{background:#fbeeee}

/* Ventanas */
.hbcapa{z-index:95}
.hbmodal{position:relative;max-width:820px;max-height:calc(100dvh - 40px);overflow:auto;text-align:left;padding:28px 28px 22px;display:flex;flex-direction:column;gap:14px}
.hbmodal.hbchica{max-width:520px}
.hbmodal h3{margin:0;font-size:clamp(22px,2.2vw,28px)}
.hbmodal .hbsub{margin:-8px 0 0;color:var(--muted);font-size:15px}
.hbmodal .rf label em{color:#d13b34;font-style:normal}
.hbmodal .rf select,.hbmodal .rf input{width:100%}
.hbgrid{margin:12px 18px 6px!important}
.hbayuda{display:block;margin-top:4px;color:#7d8ea3;font-size:13px}
.hbcontador{display:block;text-align:right;color:#7d8ea3;font-size:13px}
.hbnota{margin:10px 18px 0!important}
.hbcamastabla select{width:100%;height:38px;border:1.5px solid #d4dde6;border-radius:8px;background:#fff;font:inherit;font-size:14.5px;padding:0 8px}
.hbmodal .hberror{color:#a3302a;font-size:15px;margin:0}
.hbmodal .ferr[data-error="camas"]{margin:0 18px 12px}
.hbmodal .rf{margin:0}
.hbchica .rf label{display:block;font-weight:700;color:var(--navy);margin-bottom:6px}
.hbchica select{height:42px;border:1.5px solid #d4dde6;border-radius:8px;font:inherit;padding:0 10px}

@media (max-width:1200px){.hbhab header{grid-template-columns:auto minmax(0,1fr)}.hbprog,.hbacc{grid-column:1/-1}.hbacc{justify-content:flex-start}}
@media (max-width:1100px){.hbfiltros{grid-template-columns:1fr 1fr}.hbfiltros .invbuscar{grid-column:1/-1}.hbcamas{grid-template-columns:1fr}}
@media (max-width:640px){
  .hbfiltros{grid-template-columns:1fr}
  .hbcama{grid-template-columns:auto auto 1fr auto;grid-auto-flow:row}
  .hbcama .hbres{grid-column:1/-1;order:5}
  .hbobs{margin-left:0}
}
