@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700;800&display=swap";:root{--ga-blue: #007bff;--ga-blue-dark: #0056d6;--ga-blue-light: #eef6ff;--ga-blue-soft: #d6ebff;--ga-navy: #0a192f;--ga-surface: #f8fafc;--ga-border: #e2e8f0;--ga-text: #0f172a;--ga-text-secondary: #475569;--ga-muted: #64748b;--ga-radius: 18px;--ga-shadow: 0 4px 24px rgba(0, 123, 255, .08)}*{box-sizing:border-box}html{-webkit-font-smoothing:antialiased;color-scheme:light only;min-height:100%;background:#fff}body{margin:0;min-height:100vh;font-family:Inter,system-ui,-apple-system,sans-serif;color:var(--ga-text);background:linear-gradient(180deg,#fff,#f8fafc 45%,#eef6ff);background-attachment:fixed;color-scheme:light only}input,textarea,select,button{color-scheme:light only}input:not([type=checkbox]):not([type=radio]),textarea,select{background-color:#fff;color:var(--ga-text)}#root{min-height:100vh;background:transparent}.wrap{max-width:440px;margin:0 auto;padding:1.5rem 1.25rem 2.5rem;min-height:100vh;display:flex;flex-direction:column;background:transparent}.brandBar{text-align:center;margin-bottom:.5rem}.brandLogo{width:140px;height:auto;display:inline-block}.hotelHero{text-align:center;padding:1.25rem 1rem 1.5rem;margin-bottom:.5rem}.hotelBadge{display:inline-flex;align-items:center;gap:.4rem;font-size:.7rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--ga-blue-dark);background:var(--ga-blue-light);border:1px solid var(--ga-blue-soft);padding:.35rem .75rem;border-radius:999px;margin-bottom:.75rem}.hotelBadgeCheckout{color:#b45309;background:#fffbeb;border-color:#fcd34d}.hotelHero h1{font-size:1.65rem;font-weight:800;letter-spacing:-.03em;margin:0 0 .35rem;color:var(--ga-text)}.hotelHero p{margin:0;color:var(--ga-muted);font-size:.95rem}.stepDots{display:flex;justify-content:center;gap:.4rem;margin-bottom:1rem}.stepDot{width:8px;height:8px;border-radius:50%;background:var(--ga-border);transition:background .2s,transform .2s}.stepDot.active{background:var(--ga-blue);transform:scale(1.2)}.card{background:#fff;border:1px solid var(--ga-border);border-radius:var(--ga-radius);padding:1.5rem;display:flex;flex-direction:column;gap:1rem;box-shadow:var(--ga-shadow)}.card h2{font-size:1.25rem;font-weight:700;margin:0;letter-spacing:-.02em}.card>p{margin:-.25rem 0 0;color:var(--ga-muted);font-size:.9rem;line-height:1.55}.menuGrid{display:grid;gap:.75rem}.menuCard{display:flex;align-items:center;gap:1rem;text-align:left;padding:1.1rem 1.15rem;border:1px solid var(--ga-border);border-radius:14px;background:var(--ga-surface);cursor:pointer;transition:border-color .18s,background .18s,transform .18s}.menuCard:hover{border-color:var(--ga-blue-soft);background:var(--ga-blue-light);transform:translateY(-1px)}.menuCard.primary{background:linear-gradient(135deg,var(--ga-blue) 0%,var(--ga-blue-dark) 100%);border-color:transparent;color:#fff;box-shadow:0 6px 20px #007bff59}.menuCard.primary:hover{background:linear-gradient(135deg,#1a88ff 0%,var(--ga-blue) 100%)}.menuCard.primary .menuCardDesc{color:#ffffffd9}.menuIcon{width:44px;height:44px;border-radius:12px;background:#fff;color:var(--ga-blue);font-size:1.25rem;font-weight:700;display:grid;place-items:center;flex-shrink:0}.menuCard.primary .menuIcon{background:#fff3;color:#fff}.menuCardText strong{display:block;font-size:1rem;font-weight:700}.menuCardDesc{font-size:.8rem;color:var(--ga-muted);margin-top:.15rem}label{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem;font-weight:600;color:var(--ga-text-secondary)}input,textarea,select{font:inherit;padding:.75rem 1rem;border:1px solid #cbd5e1;border-radius:12px;background:#fff;color:var(--ga-text);transition:border-color .18s,box-shadow .18s}input:focus,select:focus{outline:none;border-color:var(--ga-blue);box-shadow:0 0 0 3px #007bff26}button{font:inherit;border:0;border-radius:12px;padding:.8rem 1.1rem;cursor:pointer;background:linear-gradient(135deg,var(--ga-blue) 0%,var(--ga-blue-dark) 100%);color:#fff;font-weight:700;box-shadow:0 4px 14px #007bff4d;transition:transform .15s,box-shadow .15s}button:hover:not(:disabled){box-shadow:0 6px 20px #007bff66}button:active:not(:disabled){transform:scale(.98)}button.secondary{background:var(--ga-blue-light);color:var(--ga-blue-dark);box-shadow:none}button:disabled{opacity:.5;cursor:not-allowed}.error{color:#b91c1c;font-size:.875rem;margin:0;padding:.65rem .85rem;background:#fef2f2;border-radius:10px;border:1px solid #fecaca}.successBox{text-align:center;padding:.5rem 0}.successIcon{width:56px;height:56px;margin:0 auto 1rem;border-radius:50%;background:#dcfce7;color:#166534;font-size:1.5rem;display:grid;place-items:center}.codeBadge{display:inline-block;margin-top:.5rem;padding:.5rem 1rem;background:var(--ga-blue-light);border:1px solid var(--ga-blue-soft);border-radius:10px;font-family:ui-monospace,monospace;font-weight:700;color:var(--ga-blue-dark);letter-spacing:.05em}.actions{display:flex;flex-direction:column;gap:.6rem;margin-top:.25rem}.ratingRow{display:flex;gap:.5rem;justify-content:center}.ratingBtn{width:48px;height:48px;border-radius:12px;background:var(--ga-surface);border:1px solid var(--ga-border);color:var(--ga-muted);font-size:1.25rem;box-shadow:none;padding:0}.ratingBtn.selected{background:var(--ga-blue-light);border-color:var(--ga-blue);color:var(--ga-blue-dark)}.loadingScreen{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;color:var(--ga-muted)}.loadingSpinner{width:32px;height:32px;border:3px solid var(--ga-blue-soft);border-top-color:var(--ga-blue);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.footerNote{margin-top:auto;padding-top:2rem;text-align:center;font-size:.75rem;color:var(--ga-muted)}.checkInWizard{display:flex;flex-direction:column;gap:.75rem}.checkInScanCard{position:relative}.idAnalyzingOverlay{position:absolute;inset:0;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;padding:2rem 1.5rem;border-radius:var(--ga-radius);background:#ffffffeb;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);text-align:center}.idAnalyzingOverlay p{margin:0;font-weight:600;color:var(--ga-text)}.idAnalyzingOverlay small{color:var(--ga-muted);font-size:.85rem}.captureStatus{margin:0;font-size:.88rem;color:var(--ga-blue-dark);background:var(--ga-blue-light);padding:.65rem .85rem;border-radius:10px;text-align:center}.wizardSteps{display:flex;gap:.35rem;flex-wrap:wrap}.wizardStep{flex:1;min-width:0;text-align:center;font-size:.72rem;font-weight:600;padding:.45rem .35rem;border-radius:999px;background:#fff;border:1px solid var(--ga-border);color:var(--ga-muted)}.wizardStep.active{background:var(--ga-blue-light);border-color:var(--ga-blue-soft);color:var(--ga-blue-dark)}.idScanner{margin:.75rem 0}.idScannerInput{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.idScanBtn{width:100%;display:flex;align-items:center;gap:.85rem;padding:1rem;border-radius:14px;border:2px dashed var(--ga-blue-soft);background:#fff;text-align:left;cursor:pointer}.idScanBtn strong{display:block;color:var(--ga-text);margin-bottom:.15rem}.idScanBtn small{color:var(--ga-muted);font-size:.78rem}.idScanIcon{font-size:1.5rem;width:44px;height:44px;display:grid;place-items:center;background:var(--ga-blue-light);border-radius:12px}.idPreview img{width:100%;max-height:180px;object-fit:cover;border-radius:12px;border:1px solid var(--ga-border)}.idRescanBtn{margin-top:.5rem;width:100%}.scanStatus{font-size:.85rem;color:var(--ga-blue-dark);margin:.35rem 0 0}.ocrPreview{margin-top:1rem;padding:1rem;border-radius:14px;background:var(--ga-blue-light);border:1px solid var(--ga-blue-soft)}.ocrAiBadge{font-weight:600;text-transform:none;letter-spacing:0;color:var(--ga-green, #0d7a4a);font-size:.72rem}.ocrPreviewTitle{margin:0 0 .65rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--ga-blue-dark)}.ocrPreview dl{display:grid;gap:.5rem;margin:0}.ocrPreview dt{font-size:.68rem;font-weight:600;text-transform:uppercase;color:var(--ga-muted)}.ocrPreview dd{margin:.1rem 0 0;font-size:.92rem;font-weight:600}.ocrHint{margin:.75rem 0 0;font-size:.78rem;color:var(--ga-muted)}.ocrWarn{margin:.5rem 0 0;font-size:.8rem;color:#b45309;background:#fffbeb;padding:.5rem .65rem;border-radius:8px}.foreignGuestNotice{margin:0 0 .85rem;font-size:.88rem;line-height:1.4;color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;padding:.65rem .75rem;border-radius:10px}.groupMemberList{list-style:none;margin:0 0 1rem;padding:0;display:grid;gap:.65rem}.groupMemberItem{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.75rem .85rem;border:1px solid var(--ga-border);border-radius:12px;background:#fff}.groupMemberItem.primary{background:var(--ga-blue-light);border-color:var(--ga-blue-soft)}.groupMemberItem strong{display:block}.groupMemberItem .muted,.groupMemberItem span.muted{display:block;font-size:.8rem;margin-top:.15rem}.fullWidth{width:100%}.prefBlock{margin:.85rem 0;padding:.85rem;border:1px solid var(--ga-border);border-radius:12px;background:#fff;display:grid;gap:.45rem}.prefTitle{margin:0 0 .25rem;font-size:.85rem;font-weight:800;color:var(--ga-text)}.detectedIdType{margin:0 0 .5rem;font-size:.9rem;color:var(--ga-text-secondary)}.detectedIdType strong{color:var(--ga-blue-dark)}.idTypePicker{display:flex;gap:.5rem;flex-wrap:wrap;margin:.75rem 0 1rem}.idTypeChip{flex:1;min-width:90px;padding:.55rem .75rem;border-radius:999px;border:1px solid var(--ga-border);background:#fff;font:inherit;font-size:.82rem;font-weight:600;color:var(--ga-muted);cursor:pointer}.idTypeChipActive{background:var(--ga-blue);border-color:var(--ga-blue);color:#fff}.card input.readonly{background:var(--ga-surface);color:var(--ga-muted)}.card textarea{font:inherit;padding:.75rem .9rem;border:1px solid var(--ga-border);border-radius:12px;resize:vertical;min-height:4rem}.fieldRow{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.chipFieldset{border:0;margin:0 0 1rem;padding:0}.chipFieldset legend{font-size:.85rem;font-weight:600;margin-bottom:.5rem;color:var(--ga-text-secondary)}.chipRow{display:flex;flex-wrap:wrap;gap:.5rem}.chipBtn{border:1px solid var(--ga-border);background:#fff;border-radius:999px;padding:.45rem .85rem;font-size:.85rem;font-weight:500;cursor:pointer;color:var(--ga-text-secondary)}.chipBtn.selected{border-color:var(--ga-blue);background:var(--ga-blue-light);color:var(--ga-blue-dark)}.optional{font-weight:400;color:var(--ga-muted);font-size:.82rem}.signaturePad{position:relative;margin-bottom:1rem}.signatureCanvas{width:100%;height:140px;border:2px dashed var(--ga-border);border-radius:12px;background:#fff;touch-action:none;cursor:crosshair}.signatureHint{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none;color:var(--ga-muted);font-size:.85rem;margin:0}.signatureClear{margin-top:.5rem;width:auto}.signatureLabel{display:block;font-weight:600;font-size:.85rem;margin-bottom:.35rem}.signaturePreview{margin:1rem 0;padding:.75rem;border:1px solid var(--ga-border);border-radius:10px;background:var(--ga-surface)}.signaturePreview img{display:block;max-height:64px;margin-top:.35rem}.confirmSummary{display:grid;gap:.65rem;margin:0 0 1rem;font-size:.9rem}.confirmSummary div{display:flex;justify-content:space-between;gap:1rem;border-bottom:1px solid var(--ga-border);padding-bottom:.35rem}.confirmSummary dt{color:var(--ga-muted);font-weight:500}.confirmSummary dd{margin:0;font-weight:600;text-align:right}.linkBtn{display:inline-block;margin:.35rem 0 .75rem;padding:0;border:none;background:none;color:var(--ga-blue);font:inherit;font-size:.88rem;font-weight:600;cursor:pointer;text-decoration:underline;text-underline-offset:2px}.moreFields{display:grid;gap:.75rem;margin-bottom:.5rem;padding:.85rem;border-radius:12px;background:var(--ga-surface-alt, #f8fafc);border:1px solid var(--ga-border, #e2e8f0)}.consentCheck{display:flex;gap:.65rem;align-items:flex-start;font-size:.85rem;line-height:1.45;margin:1rem 0}.consentCheck input{margin-top:.2rem;flex-shrink:0}.consentCheck a{color:var(--ga-blue)}.reviewAxis{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.65rem;font-size:.88rem;font-weight:500}.reviewAxis .ratingRow{flex-shrink:0}.reviewAxis .ratingBtn{width:36px;height:36px;font-size:1.1rem}.photoUploadLabel input[type=file]{margin-top:.35rem;font-size:.85rem}.reviewPhotoGrid{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem;margin-bottom:1rem}.reviewPhotoGrid img{width:100%;height:96px;object-fit:cover;border-radius:10px;border:1px solid var(--ga-border)}.invoiceDeliveryBox{background:var(--ga-blue-light);border:1px solid var(--ga-blue-soft);border-radius:12px;padding:1rem;margin-bottom:1.25rem}.invoiceDeliveryBox h3{margin:0 0 .35rem;font-size:1rem;color:var(--ga-blue-dark)}.invoiceDeliveryBox p{margin:0 0 .5rem;font-size:.9rem}.deliveryList{margin:0;padding-left:1.1rem;font-size:.85rem;color:var(--ga-text-secondary)}.mutedNote{font-size:.85rem;color:var(--ga-muted);margin-top:.75rem}@media(max-width:480px){.wrap{padding:1rem .85rem calc(1.5rem + env(safe-area-inset-bottom,0px));padding-top:calc(1rem + env(safe-area-inset-top,0px))}.brandLogo{width:120px}.hotelHero{padding:1rem .5rem 1.25rem}.hotelHero h1{font-size:1.4rem}.card{padding:1.15rem;border-radius:14px}.card h2{font-size:1.15rem}.menuCard{padding:1rem}.menuIcon{width:40px;height:40px;font-size:1.1rem}input,textarea,select,button{font-size:16px}button{min-height:48px}.wizardStep{font-size:.65rem;padding:.4rem .25rem}.idPreview img{max-height:220px}.ratingBtn{width:44px;height:44px;flex:1;max-width:52px}.ratingRow{gap:.35rem}}@media(max-width:360px){.wizardSteps{flex-direction:column}.wizardStep{flex:none;width:100%}}
