.hmhi-hidden{display:none!important}.hmhi-panel{background:#fff;border:1px solid #e7eaf0;border-radius:28px;padding:24px;box-shadow:0 14px 40px rgba(16,24,40,.06)}.hmhi-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.hmhi-eyebrow{margin:0 0 6px;color:#667085;font-size:12px;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.hmhi-head h1{margin:0;font-size:30px;letter-spacing:-.04em;line-height:1.05}.hmhi-head p{margin:10px 0 0;color:#667085;font-size:14px;line-height:1.5}.hmhi-btn{border:0;border-radius:14px;padding:12px 15px;background:#101828;color:#fff;font-weight:800;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center;gap:8px;white-space:nowrap}.hmhi-btn:hover{filter:brightness(.96);color:#fff}.hmhi-btn.secondary{background:#f2f4f7;color:#344054}.hmhi-btn.danger{background:#fff1f3;color:#b42318}.hmhi-layout{display:grid;grid-template-columns:290px 1fr;gap:18px}.hmhi-card{background:#fff;border:1px solid #e7eaf0;border-radius:22px;padding:18px;box-shadow:0 10px 28px rgba(16,24,40,.04)}.hmhi-card h2{font-size:17px;margin:0 0 14px;letter-spacing:-.02em}.hmhi-rooms{display:flex;flex-direction:column;gap:10px;max-height:660px;overflow:auto;padding-right:2px}.hmhi-room{border:1px solid #edf0f5;background:#fbfcfe;border-radius:18px;padding:13px;cursor:pointer}.hmhi-room.active{border-color:#101828;background:#fff}.hmhi-room strong{display:block;font-size:14px;color:#18212f}.hmhi-room span{display:block;font-size:12px;color:#667085;margin-top:4px}.hmhi-room small{display:inline-block;margin-top:8px;padding:5px 8px;border-radius:999px;background:#f2f4f7;color:#475467;font-weight:800}.hmhi-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.hmhi-field{display:flex;flex-direction:column;gap:6px}.hmhi-field.full{grid-column:1/-1}.hmhi-field label{font-size:12px;font-weight:800;color:#475467}.hmhi-field input,.hmhi-field textarea,.hmhi-field select{width:100%;border:1px solid #d0d5dd;border-radius:13px;padding:11px 12px;font-size:14px;background:#fff;color:#101828}.hmhi-field textarea{min-height:84px;resize:vertical}.hmhi-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:14px}.hmhi-gallery{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}.hmhi-gallery img{width:54px;height:54px;border-radius:12px;object-fit:cover;border:1px solid #e7eaf0}.hmhi-calendar-top{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.hmhi-calendar-title{font-weight:900;font-size:18px;letter-spacing:-.02em}.hmhi-calendar-nav{display:flex;gap:8px}.hmhi-calendar{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:7px}.hmhi-day-name{font-size:12px;color:#667085;font-weight:900;text-align:center;padding:5px}.hmhi-day{min-height:74px;border:1px solid #edf0f5;border-radius:15px;background:#fff;padding:8px;cursor:pointer;position:relative;overflow:hidden}.hmhi-day.other{opacity:.35;background:#f8fafc}.hmhi-day.selected{outline:2px solid #101828}.hmhi-day-num{font-size:12px;font-weight:900;color:#344054}.hmhi-day .hmhi-badge{display:block;margin-top:7px;border-radius:999px;padding:4px 6px;font-size:11px;font-weight:900;text-align:center}.hmhi-day.blocked .hmhi-badge{background:#fff7ed;color:#b54708}.hmhi-day.reserved .hmhi-badge{background:#fff1f3;color:#b42318}.hmhi-day.available .hmhi-badge{background:#ecfdf3;color:#027a48}.hmhi-blocks{margin-top:16px;display:flex;flex-direction:column;gap:8px}.hmhi-block-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid #edf0f5;border-radius:15px;padding:10px 12px;background:#fbfcfe}.hmhi-block-row span{font-size:13px;color:#344054}.hmhi-toast{position:fixed;right:18px;bottom:18px;background:#101828;color:#fff;padding:12px 14px;border-radius:14px;box-shadow:0 12px 30px rgba(16,24,40,.18);z-index:99999;font-weight:800;font-size:13px}.hmhi-empty{padding:18px;border:1px dashed #d0d5dd;border-radius:18px;color:#667085;text-align:center;font-size:14px}.hmhi-ical-box{background:#f8fafc;border:1px solid #edf0f5;border-radius:16px;padding:12px;margin-top:12px}.hmhi-ical-box input{font-size:12px}.hmhi-modal{position:fixed;inset:0;background:rgba(16,24,40,.45);display:flex;align-items:center;justify-content:center;z-index:99998;padding:18px}.hmhi-modal-card{width:min(560px,100%);background:#fff;border-radius:24px;padding:20px;box-shadow:0 24px 70px rgba(16,24,40,.22)}.hmhi-modal-card h2{margin:0 0 14px;font-size:20px}.hmhi-muted{color:#667085;font-size:13px;line-height:1.45}@media(max-width:900px){.hmhi-layout{grid-template-columns:1fr}.hmhi-head{flex-direction:column}.hmhi-form{grid-template-columns:1fr}.hmhi-day{min-height:62px;padding:6px}.hmhi-calendar{gap:5px}}@media(max-width:520px){.hmhi-panel{padding:17px;border-radius:22px}.hmhi-head h1{font-size:24px}.hmhi-calendar{gap:4px}.hmhi-day{min-height:54px;border-radius:12px}.hmhi-day .hmhi-badge{font-size:10px;padding:3px 4px}.hmhi-block-row{align-items:flex-start;flex-direction:column}.hmhi-calendar-top{align-items:flex-start;flex-direction:column}}


/* Calendario v4: cuadros de color con número blanco */
.hmhi-calendar{
    grid-template-columns:repeat(7,minmax(44px,1fr)) !important;
    gap:10px !important;
}

.hmhi-day-name{
    text-align:center !important;
    white-space:normal !important;
    word-break:normal !important;
}

.hmhi-day{
    min-height:58px !important;
    height:58px !important;
    border-radius:16px !important;
    border:0 !important;
    padding:0 !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    cursor:pointer !important;
    box-shadow:0 8px 18px rgba(16,24,40,.08) !important;
    background:#16a34a !important;
}

.hmhi-day.available{
    background:#16a34a !important;
}

.hmhi-day.reserved{
    background:#dc2626 !important;
}

.hmhi-day.blocked{
    background:#f59e0b !important;
}

.hmhi-day.other{
    opacity:.35 !important;
}

.hmhi-day.selected{
    outline:3px solid #101828 !important;
    outline-offset:2px !important;
}

.hmhi-day-num{
    color:#fff !important;
    font-size:19px !important;
    line-height:1 !important;
    font-weight:900 !important;
    display:block !important;
    text-align:center !important;
}

.hmhi-badge{
    display:none !important;
}

@media(max-width:700px){
    .hmhi-calendar{
        gap:7px !important;
        grid-template-columns:repeat(7,minmax(36px,1fr)) !important;
    }

    .hmhi-day{
        min-height:46px !important;
        height:46px !important;
        border-radius:12px !important;
    }

    .hmhi-day-num{
        font-size:15px !important;
    }
}


/* v5 Layout: habitaciones en filas y calendario vertical */
.hmhi-layout{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
}

.hmhi-layout > aside.hmhi-card,
.hmhi-layout > .hmhi-main{
    width:100% !important;
    max-width:100% !important;
}

.hmhi-rooms{
    max-height:none !important;
    display:grid !important;
    grid-template-columns:repeat(auto-fit,minmax(240px,1fr)) !important;
    gap:12px !important;
    overflow:visible !important;
    padding-right:0 !important;
}

.hmhi-room{
    min-height:120px !important;
}

.hmhi-main{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:18px !important;
}

#hmhi-calendar-card{
    margin-top:0 !important;
}

.hmhi-calendar-top{
    display:flex !important;
    flex-direction:column !important;
    align-items:flex-start !important;
    justify-content:flex-start !important;
    gap:14px !important;
    margin-bottom:18px !important;
}

.hmhi-calendar-top > div:first-child{
    width:100% !important;
}

.hmhi-calendar-top h2{
    margin:0 0 8px !important;
    font-size:30px !important;
    line-height:1.15 !important;
    max-width:100% !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
}

.hmhi-calendar-top .hmhi-muted{
    margin:0 !important;
    max-width:650px !important;
    line-height:1.45 !important;
    word-break:normal !important;
    overflow-wrap:normal !important;
}

.hmhi-calendar-nav{
    width:100% !important;
    display:flex !important;
    gap:12px !important;
    justify-content:flex-start !important;
    flex-wrap:wrap !important;
}

.hmhi-calendar-nav .hmhi-btn{
    min-width:150px !important;
}

.hmhi-calendar{
    width:100% !important;
    margin-top:8px !important;
}

@media(max-width:700px){
    .hmhi-rooms{
        grid-template-columns:1fr !important;
    }

    .hmhi-calendar-top h2{
        font-size:24px !important;
    }

    .hmhi-calendar-nav{
        display:grid !important;
        grid-template-columns:1fr 1fr !important;
    }

    .hmhi-calendar-nav .hmhi-btn{
        min-width:0 !important;
        width:100% !important;
    }
}


/* Precios dinámicos y servicios por habitación */
.hmhi-price-config{background:#f8fafc;border:1px solid #edf0f5;border-radius:18px;padding:14px!important}.hmhi-price-row{display:grid;grid-template-columns:1fr 1fr auto;gap:10px;margin:10px 0;align-items:center}.hmhi-price-row input{width:100%}.hmhi-service-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}.hmhi-service-option{display:flex;gap:10px;align-items:flex-start;border:1px solid #e5e7eb;border-radius:16px;padding:12px;background:#fff;cursor:pointer}.hmhi-service-option input{width:auto;margin-top:3px}.hmhi-service-option span{display:flex;flex-direction:column;gap:3px}.hmhi-service-option small{color:#667085}@media(max-width:650px){.hmhi-price-row{grid-template-columns:1fr}.hmhi-price-row .hmhi-btn{width:100%}}

.hmhi-gallery-item{display:flex;flex-direction:column;gap:6px;align-items:center;border:1px solid #e7eaf0;border-radius:14px;padding:7px;background:#fff}.hmhi-gallery-item.is-main{border-color:#101828;box-shadow:0 0 0 2px rgba(16,24,40,.08)}.hmhi-gallery-item img{width:74px;height:58px}.hmhi-set-main-image{border:0;border-radius:999px;background:#f2f4f7;color:#344054;font-size:11px;font-weight:800;padding:6px 8px;cursor:pointer}.hmhi-gallery-item.is-main .hmhi-set-main-image{background:#101828;color:#fff}
