.checkin-wizard-container{max-width:720px;margin:0 auto;padding:1.5rem 1rem}.checkin-wizard-header{display:flex;align-items:center;gap:1rem;margin-bottom:1.5rem}.checkin-wizard-icon{font-size:2.5rem;color:var(--color-primary,#3b82f6)}.checkin-wizard-title h1{margin:0;font-size:1.6rem;font-weight:700;color:var(--color-text,#1e293b)}.checkin-booking-ref{font-size:1rem;color:var(--color-text-muted,#64748b)}.checkin-stepper{display:flex;align-items:center;justify-content:center;margin-bottom:2rem;gap:0}.checkin-step{display:flex;flex-direction:column;align-items:center;gap:.3rem;position:relative;flex:1}.checkin-step-circle{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;border:2px solid var(--color-border,#e2e8f0);background:var(--color-surface,#fff);color:var(--color-text-muted,#94a3b8);transition:background .2s,border-color .2s,color .2s}.checkin-step.active .checkin-step-circle{background:var(--color-primary,#3b82f6);border-color:var(--color-primary,#3b82f6);color:#fff}.checkin-step.done .checkin-step-circle{background:var(--color-success,#22c55e);border-color:var(--color-success,#22c55e);color:#fff}.checkin-step-label{font-size:.75rem;color:var(--color-text-muted,#64748b);font-weight:500}.checkin-step.active .checkin-step-label{color:var(--color-primary,#3b82f6);font-weight:700}.checkin-step.done .checkin-step-label{color:var(--color-success,#22c55e)}.checkin-step-connector{position:absolute;top:22px;left:52%;right:-52%;width:calc(100% - 44px);height:2px;background:var(--color-border,#e2e8f0);z-index:0;pointer-events:none}.checkin-wizard-body{background:var(--color-surface,#fff);border:1px solid var(--color-border,#e2e8f0);border-radius:.75rem;padding:1.5rem;box-shadow:0 1px 4px rgba(0,0,0,0.06)}.checkin-step-panel{display:flex;flex-direction:column;gap:1.25rem}.checkin-step-heading{display:flex;align-items:center;gap:.5rem;font-size:1.15rem;font-weight:700;color:var(--color-text,#1e293b);margin:0}.checkin-step-heading .material-symbols-outlined{color:var(--color-primary,#3b82f6);font-size:1.4rem}.checkin-summary-grid{display:grid;grid-template-columns:1fr 1fr;gap:.6rem 1.5rem}.checkin-summary-row{display:flex;flex-direction:column;gap:.1rem}.checkin-summary-notes{grid-column:1 / -1}.checkin-summary-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted,#64748b)}.checkin-summary-value{font-size:.95rem;color:var(--color-text,#1e293b)}.checkin-identity-form{display:flex;flex-direction:column;gap:.9rem}.checkin-form-row{display:flex;flex-direction:column;gap:.25rem}.checkin-form-label{font-size:.8rem;font-weight:600;color:var(--color-text-muted,#64748b)}.checkin-form-input{padding:.5rem .75rem;border:1px solid var(--color-border,#e2e8f0);border-radius:.4rem;font-size:.95rem;background:var(--color-input-bg,#f8fafc);color:var(--color-text,#1e293b);transition:border-color .15s}.checkin-form-input:focus {outline:none;border-color:var(--color-primary,#3b82f6)}.checkin-sef-row{margin-top:.3rem}.checkin-sef-label{display:flex;align-items:flex-start;gap:.6rem;cursor:pointer;font-size:.9rem;color:var(--color-text,#1e293b)}.checkin-sef-label input[type="checkbox"]{margin-top:.15rem;accent-color:var(--color-primary,#3b82f6)}.checkin-room-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:.75rem}.checkin-room-card{display:flex;flex-direction:column;align-items:center;gap:.25rem;padding:.85rem .5rem;border:2px solid var(--color-border,#e2e8f0);border-radius:.6rem;background:var(--color-surface,#fff);cursor:pointer;transition:border-color .15s,background .15s;color:var(--color-text,#1e293b)}.checkin-room-card:hover {border-color:var(--color-primary,#3b82f6);background:var(--color-primary-light,#eff6ff)}.checkin-room-card.selected{border-color:var(--color-primary,#3b82f6);background:var(--color-primary-light,#eff6ff);color:var(--color-primary,#3b82f6)}.checkin-room-card .material-symbols-outlined{font-size:1.8rem}.checkin-room-number{font-size:1.05rem;font-weight:700}.checkin-room-floor{font-size:.72rem;color:var(--color-text-muted,#64748b)}.checkin-room-type{font-size:.72rem;color:var(--color-text-muted,#64748b);text-align:center}.checkin-no-rooms{display:flex;align-items:center;gap:.75rem;padding:1rem;background:var(--color-warning-light,#fef9c3);border:1px solid var(--color-warning,#eab308);border-radius:.5rem;color:var(--color-text,#1e293b);font-size:.9rem}.checkin-keycard-row{flex-direction:row;align-items:center;gap:.5rem;margin-top:.5rem}.checkin-keycard-row .checkin-form-input{flex:1;margin-top:0}.checkin-wizard-actions{display:flex;justify-content:flex-end;gap:.75rem;margin-top:.5rem}.checkin-error-banner{display:flex;align-items:center;gap:.5rem;padding:.75rem 1rem;background:var(--color-danger-light,#fee2e2);border:1px solid var(--color-danger,#ef4444);border-radius:.5rem;color:var(--color-danger,#dc2626);font-size:.9rem;margin-bottom:.5rem}.checkin-confirmation{align-items:center;text-align:center}.checkin-success-icon .material-symbols-outlined{font-size:4rem;color:var(--color-success,#22c55e)}.checkin-success-title{font-size:1.4rem;font-weight:700;color:var(--color-text,#1e293b);margin:0}.checkin-success-sub{color:var(--color-text-muted,#64748b);font-size:1rem;margin:0}.checkin-welcome-card{border:2px solid var(--color-border,#e2e8f0);border-radius:.75rem;overflow:hidden;width:100%;max-width:420px;text-align:left;margin:0 auto}.checkin-welcome-header{display:flex;align-items:center;gap:.75rem;background:var(--color-primary,#3b82f6);color:#fff;padding:.85rem 1.25rem;font-size:1rem;font-weight:700}.checkin-welcome-header .material-symbols-outlined{font-size:1.5rem}.checkin-welcome-body{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.6rem;background:var(--color-surface,#fff)}.checkin-welcome-row{display:flex;align-items:center;gap:.6rem;font-size:.95rem;color:var(--color-text,#1e293b)}.checkin-welcome-row .material-symbols-outlined{font-size:1.1rem;color:var(--color-primary,#3b82f6)}.checkin-final-actions{justify-content:center}@media print{.checkin-stepper,.checkin-wizard-actions,.checkin-wizard-header{display:none!important}.checkin-wizard-body{border:none;box-shadow:none;padding:0}.checkin-welcome-card{border:1px solid #000;max-width:100%}.checkin-welcome-header{background:none!important;color:#000!important;border-bottom:1px solid #000}}@media (max-width: 480px){.checkin-summary-grid{grid-template-columns:1fr}.checkin-room-grid{grid-template-columns:repeat(3,1fr)}}