/* ═══════════════════════════════════════════
   GHMS — Guest-Facing Styles
   ═══════════════════════════════════════════ */
.ghms-wrap{max-width:760px;margin:2rem auto;padding:0 1rem;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:#1e293b}
.ghms-title{font-size:1.5rem;font-weight:700;margin-bottom:1.5rem;border-bottom:3px solid #2563eb;padding-bottom:.5rem}
.ghms-step{display:none}.ghms-step.active{display:block}
h3{font-size:1.15rem;font-weight:600;margin:1rem 0 .75rem;color:#334155}
.ghms-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}
.ghms-form-grid label{display:flex;flex-direction:column;font-size:.85rem;font-weight:500;color:#475569}
.ghms-form-grid input,.ghms-form-grid select,.ghms-form-grid textarea{margin-top:.25rem;padding:.55rem .65rem;border:1px solid #cbd5e1;border-radius:6px;font-size:.9rem;background:#fff}
.ghms-form-grid input:focus,.ghms-form-grid select:focus,.ghms-form-grid textarea:focus{outline:none;border-color:#2563eb;box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.ghms-btn{display:inline-block;padding:.6rem 1.4rem;background:#2563eb;color:#fff;border:none;border-radius:6px;font-size:.9rem;font-weight:600;cursor:pointer;margin-top:.75rem;transition:background .15s}
.ghms-btn:hover{background:#1d4ed8}
.ghms-btn-sec{background:#64748b}.ghms-btn-sec:hover{background:#475569}
.ghms-btn-row{display:flex;gap:.75rem;margin-top:1rem}

/* Room cards */
.ghms-room-card{border:1px solid #e2e8f0;border-radius:8px;padding:1rem;margin-top:.75rem;display:flex;justify-content:space-between;align-items:center;transition:box-shadow .15s}
.ghms-room-card:hover{box-shadow:0 2px 8px rgba(0,0,0,.08)}
.ghms-room-card .room-info h4{margin:0 0 .25rem;font-size:1rem}
.ghms-room-card .room-info p{margin:0;font-size:.82rem;color:#64748b}
.ghms-room-card .room-price{text-align:right}
.ghms-room-card .room-price .total{font-size:1.25rem;font-weight:700;color:#2563eb}
.ghms-room-card .room-price .per-night{font-size:.75rem;color:#94a3b8}

/* QR */
.ghms-qr-wrap{text-align:center;margin:1.5rem 0}
.ghms-qr-img{max-width:220px;border:1px solid #e2e8f0;border-radius:8px}
.ghms-upi{font-size:.85rem;color:#64748b;margin-top:.25rem}

/* Status badge */
.ghms-badge{display:inline-block;padding:.15rem .55rem;border-radius:999px;font-size:.72rem;font-weight:600;text-transform:uppercase}
.ghms-badge-pending{background:#fef3c7;color:#92400e}
.ghms-badge-confirmed{background:#d1fae5;color:#065f46}
.ghms-badge-checked_in{background:#dbeafe;color:#1e40af}
.ghms-badge-checked_out{background:#e2e8f0;color:#475569}
.ghms-badge-cancelled{background:#fee2e2;color:#991b1b}
.ghms-badge-verified{background:#d1fae5;color:#065f46}
.ghms-badge-rejected{background:#fee2e2;color:#991b1b}

/* Success / error */
.ghms-success-box{background:#d1fae5;border:1px solid #6ee7b7;color:#065f46;padding:1rem;border-radius:8px;margin-top:1rem}
.ghms-error-box{background:#fee2e2;border:1px solid #fca5a5;color:#991b1b;padding:.75rem;border-radius:8px;margin-top:.75rem}

/* Status check result */
.ghms-status-result-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;margin-top:1rem}
.ghms-status-result-card p{margin:.25rem 0;font-size:.9rem}

/* Responsive */
@media(max-width:600px){
    .ghms-form-grid{grid-template-columns:1fr}
    .ghms-room-card{flex-direction:column;align-items:flex-start;gap:.5rem}
}
