:root{--gp-bg: #fdfbf7;--gp-surface: #ffffff;--gp-ink: #2a1f15;--gp-ink-soft: #6b5b4a;--gp-muted: #726250;--gp-line: #ece3d6;--gp-soft: #f6efe2;--gp-accent: #b08a3e;--gp-accent-soft: #f4ead2;--gp-accent-deep: #836221;--gp-accent-hover: #6e5219;--gp-on-accent: #ffffff;--gp-success: #27704e;--gp-success-soft: #e7f3eb;--gp-warn: #8f5d13;--gp-warn-soft: #fdf2dc;--gp-error: #b3382f;--gp-error-soft: #fbe7e3;--gp-info: #4a5f8f;--gp-info-soft: #e9eef8;color:var(--gp-ink);background:var(--gp-bg);font-family:Inter,Helvetica Neue,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5;color-scheme:light}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--gp-bg: #15120e;--gp-surface: #211c15;--gp-ink: #f3ece1;--gp-ink-soft: #c8bba8;--gp-muted: #998a76;--gp-line: #362d22;--gp-soft: #2a2319;--gp-accent: #d2a64e;--gp-accent-soft: #2e2614;--gp-accent-deep: #e2bb6a;--gp-accent-hover: #f0cf86;--gp-on-accent: #15120e;--gp-success: #5fcf95;--gp-success-soft: #14291e;--gp-warn: #e2a84e;--gp-warn-soft: #2c2310;--gp-error: #ef8d83;--gp-error-soft: #2e1613;--gp-info: #9fb2e0;--gp-info-soft: #1a2031;color-scheme:dark}}*{box-sizing:border-box}.gp-bootstrap{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;color:var(--gp-ink-soft);font-size:15px}body{margin:0;min-height:100vh;background:radial-gradient(1200px 600px at 50% -200px,rgba(176,138,62,.12),transparent 60%),var(--gp-bg)}button,input,select,textarea{font:inherit;color:inherit}a{color:inherit}:focus-visible{outline:2px solid var(--gp-accent-deep);outline-offset:2px}.gp-skip{position:absolute;left:16px;top:-100px;z-index:20;padding:12px 16px;min-height:44px;border-radius:12px;background:var(--gp-accent-deep);color:var(--gp-on-accent);font-weight:700;text-decoration:none}.gp-skip:focus,.gp-skip:focus-visible{top:12px}.gp-shell{max-width:480px;margin:0 auto;padding:20px 18px 48px;display:flex;flex-direction:column;gap:20px;min-height:100vh}.gp-header{display:flex;flex-direction:column;gap:20px}.gp-header-top{display:flex;justify-content:space-between;align-items:center;gap:8px;min-height:44px}.gp-header-tools{display:flex;align-items:center;gap:4px}.gp-wordmark{font-weight:800;letter-spacing:.12em;text-transform:uppercase;font-size:12px;color:var(--gp-accent-deep)}.gp-link{display:inline-flex;align-items:center;justify-content:center;gap:4px;background:none;border:none;border-radius:10px;color:var(--gp-accent-deep);font-weight:600;cursor:pointer;padding:10px 8px;min-height:44px;min-width:44px;font-size:14px}.gp-link:hover{text-decoration:underline}.gp-link:disabled{opacity:.6;cursor:not-allowed}.gp-lang-switch{display:inline-flex;align-items:center;gap:2px}.gp-lang.is-active{background:var(--gp-accent-soft);text-decoration:underline;text-underline-offset:4px}.gp-hero{display:flex;flex-direction:column;gap:8px}.gp-eyebrow{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.16em;color:var(--gp-accent-deep);font-weight:700}.gp-hero h1{margin:0;font-size:32px;line-height:1.1;font-weight:700;letter-spacing:-.01em}.gp-subtitle{margin:0;color:var(--gp-ink-soft);font-size:15px}.gp-hero-meta{display:flex;flex-wrap:wrap;gap:8px 12px;margin-top:4px;color:var(--gp-ink-soft);font-size:14px}.gp-hero-code{background:var(--gp-accent-soft);color:var(--gp-accent-deep);padding:3px 10px;border-radius:999px;font-weight:700;font-size:12px;letter-spacing:.06em}.gp-main{display:flex;flex-direction:column;gap:16px;flex:1}.gp-main:focus{outline:none}.gp-footer{color:var(--gp-muted);font-size:12px;text-align:center;padding-top:12px}.gp-card{background:var(--gp-surface);border:1px solid var(--gp-line);border-radius:20px;padding:20px;box-shadow:0 1px #b08a3e0a,0 12px 28px #2a1f150d}.gp-skeleton{color:var(--gp-muted);text-align:center;font-style:italic}.gp-stay{display:flex;flex-direction:column;gap:18px}.gp-stay-row{display:flex;justify-content:space-between;align-items:center;gap:12px}.gp-stay-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px 12px}.gp-stay-grid>div{display:flex;flex-direction:column;gap:2px}.gp-label{margin:0;font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--gp-muted);font-weight:600}.gp-value{margin:0;font-size:17px;font-weight:600;color:var(--gp-ink)}.gp-meta{margin:0;font-size:13px;color:var(--gp-ink-soft)}.gp-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.gp-action{display:flex;flex-direction:column;gap:6px;background:var(--gp-surface);border:1px solid var(--gp-line);border-radius:18px;padding:16px;text-align:left;cursor:pointer;color:inherit;text-decoration:none;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease;min-height:96px}.gp-action:hover:not(:disabled){border-color:var(--gp-accent);transform:translateY(-1px);box-shadow:0 8px 20px #b08a3e1f}.gp-action:disabled{opacity:.6;cursor:progress}.gp-action-static{cursor:default}.gp-action-static:hover{border-color:var(--gp-line);transform:none;box-shadow:none}.gp-action-icon{font-size:20px;color:var(--gp-accent-deep)}.gp-action-label{font-weight:700;font-size:15px}.gp-action-hint{color:var(--gp-ink-soft);font-size:13px}.gp-form{display:flex;flex-direction:column;gap:16px}.gp-field{display:flex;flex-direction:column;gap:6px}.gp-field>span{font-size:13px;font-weight:600;color:var(--gp-ink-soft)}.gp-field small{color:var(--gp-muted);font-weight:400}.gp-field input,.gp-field select,.gp-field textarea{width:100%;border:1px solid var(--gp-line);border-radius:12px;padding:12px 14px;background:var(--gp-surface);font-size:15px;color:var(--gp-ink);transition:border-color .15s ease,box-shadow .15s ease}.gp-field input:focus,.gp-field select:focus,.gp-field textarea:focus{outline:none;border-color:var(--gp-accent);box-shadow:0 0 0 3px var(--gp-accent-soft)}.gp-field input:focus-visible,.gp-field select:focus-visible,.gp-field textarea:focus-visible{outline:2px solid var(--gp-accent-deep);outline-offset:1px}.gp-field textarea{resize:vertical;min-height:80px}.gp-fieldset{border:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.gp-fieldset legend{font-size:13px;font-weight:600;color:var(--gp-ink-soft);padding:0}.gp-category-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.gp-category{position:relative;display:flex;flex-direction:column;gap:4px;padding:14px;border:1px solid var(--gp-line);border-radius:14px;cursor:pointer;background:var(--gp-surface);transition:border-color .15s ease,background .15s ease}.gp-category input{position:absolute;opacity:0;pointer-events:none}.gp-category.is-active{border-color:var(--gp-accent);background:var(--gp-accent-soft)}.gp-category-icon{font-size:22px}.gp-category-label{font-weight:700;font-size:14px}.gp-category-hint{font-size:12px;color:var(--gp-ink-soft)}.gp-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:12px;padding:14px 18px;font-size:15px;font-weight:700;cursor:pointer;border:1px solid transparent;transition:background .15s ease,border-color .15s ease,transform .05s ease;min-height:48px}.gp-button:active{transform:translateY(1px)}.gp-button-primary{background:var(--gp-accent-deep);color:var(--gp-on-accent)}.gp-button-primary:hover:not(:disabled){background:var(--gp-accent-hover)}.gp-button-primary:disabled{background:var(--gp-muted);color:var(--gp-on-accent);cursor:progress}.gp-button-ghost{background:transparent;border-color:var(--gp-line);color:var(--gp-ink)}.gp-button-ghost:hover:not(:disabled){border-color:var(--gp-accent)}.gp-stacked{display:flex;flex-direction:column;gap:10px;margin-top:12px}.gp-hint{margin:0;font-size:12px;color:var(--gp-muted);text-align:center}.gp-pill{display:inline-flex;align-items:center;border-radius:999px;padding:4px 12px;font-size:12px;font-weight:700;letter-spacing:.04em;white-space:nowrap}.gp-pill-ok{color:var(--gp-success);background:var(--gp-success-soft)}.gp-pill-warn{color:var(--gp-warn);background:var(--gp-warn-soft)}.gp-pill-info{color:var(--gp-info);background:var(--gp-info-soft)}.gp-pill-error{color:var(--gp-error);background:var(--gp-error-soft)}.gp-error{margin:0;padding:12px 14px;border-radius:12px;background:var(--gp-error-soft);color:var(--gp-error);font-size:14px;font-weight:600}.gp-success{display:flex;flex-direction:column;gap:10px;border:1px solid var(--gp-success);background:var(--gp-success-soft)}.gp-success h2{margin:0;font-size:22px;color:var(--gp-success)}.gp-success p{margin:0;color:var(--gp-ink)}.gp-confirmation{font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:20px;font-weight:700;letter-spacing:.04em;color:var(--gp-success);margin:0}.gp-disclosure{font-size:12px;color:var(--gp-muted);line-height:1.5;margin:0}@media(min-width:600px){.gp-shell{padding:32px 24px 64px}.gp-hero h1{font-size:36px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}.gp-intro{margin:0;color:var(--gp-ink-soft);font-size:15px}.gp-wizard{display:flex;flex-direction:column;gap:16px}.gp-progress{display:flex;flex-direction:column;gap:10px}.gp-progress-top{display:flex;justify-content:space-between;align-items:center}.gp-progress-label{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--gp-accent-deep)}.gp-lang{font-size:13px;padding:10px;min-height:44px;min-width:44px}.gp-progress-bar{height:6px;border-radius:999px;background:var(--gp-soft);overflow:hidden}.gp-progress-fill{display:block;height:100%;border-radius:999px;background:var(--gp-accent);transition:width .24s ease;width:0}.gp-progress-fill[data-percent="17"]{width:17%}.gp-progress-fill[data-percent="33"]{width:33%}.gp-progress-fill[data-percent="50"]{width:50%}.gp-progress-fill[data-percent="67"]{width:67%}.gp-progress-fill[data-percent="83"]{width:83%}.gp-progress-fill[data-percent="100"]{width:100%}.gp-steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}.gp-step{display:flex;flex-direction:column;align-items:center;gap:4px;font-size:10px;color:var(--gp-muted);text-align:center;line-height:1.2}.gp-step-index{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;border:1px solid var(--gp-line);font-size:11px;font-weight:700}.gp-step.is-done .gp-step-index{background:var(--gp-success-soft);border-color:var(--gp-success);color:var(--gp-success)}.gp-step.is-current{color:var(--gp-accent-deep);font-weight:700}.gp-step.is-current .gp-step-index{background:var(--gp-accent-deep);border-color:var(--gp-accent-deep);color:var(--gp-on-accent)}.gp-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}@media(max-width:420px){.gp-grid-2{grid-template-columns:1fr}}.gp-traveller-head{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}.gp-traveller-badges{display:flex;gap:6px;flex-wrap:wrap}.gp-traveller-actions{display:flex;justify-content:space-between;align-items:center;gap:12px}.gp-badge-source{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--gp-info-soft);color:var(--gp-info);font-size:11px;font-weight:600;text-transform:none;letter-spacing:0}.gp-missing{margin:0;padding:10px 12px;border-radius:12px;background:var(--gp-warn-soft);color:var(--gp-warn);font-size:13px;font-weight:600}.gp-check{display:flex;align-items:flex-start;gap:10px;font-size:14px;line-height:1.4}.gp-check input{margin-top:3px;width:20px;height:20px;accent-color:var(--gp-accent)}.gp-consent{display:flex;flex-direction:column;gap:12px}.gp-wizard-nav{display:flex;justify-content:space-between;gap:12px;padding-top:4px}.gp-wizard-nav .gp-button{flex:1}.gp-camera{display:flex;flex-direction:column;gap:12px}.gp-camera-hint{margin:0;font-size:13px;color:var(--gp-ink-soft)}.gp-camera-actions{display:flex;flex-direction:column;gap:10px}.gp-file-button{position:relative;overflow:hidden;text-align:center;cursor:pointer}.gp-file-button input{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer}.gp-file-button.is-disabled{opacity:.6;pointer-events:none}.gp-camera-live{position:relative;display:flex;flex-direction:column;gap:10px}.gp-camera-video{width:100%;aspect-ratio:3 / 2;border-radius:14px;background:#000;object-fit:cover}.gp-camera-guide{position:absolute;top:0;right:0;bottom:0;left:0;height:auto;aspect-ratio:3 / 2;border-radius:14px;box-shadow:inset 0 0 0 2px #ffffff8c;pointer-events:none}.gp-camera-guide-mrz{position:absolute;left:6%;right:6%;bottom:10%;height:22%;border:2px dashed var(--gp-accent);border-radius:8px}.gp-mrz{display:flex;flex-direction:column;gap:8px}.gp-mrz-input{font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;letter-spacing:.04em;text-transform:uppercase;padding:10px 12px;border-radius:12px;border:1px solid var(--gp-line);background:var(--gp-surface)}.gp-signature{position:relative;display:flex;flex-direction:column;gap:6px}.gp-signature-canvas{width:100%;height:180px;border:1px dashed var(--gp-accent);border-radius:14px;background:#fff;touch-action:none;cursor:crosshair}.gp-signature.is-disabled .gp-signature-canvas{opacity:.5;cursor:not-allowed}.gp-signature-placeholder{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:var(--gp-muted);font-size:14px;pointer-events:none}.gp-signature-tools{display:flex;justify-content:flex-end}.gp-signature-card,.gp-document,.gp-details,.gp-payment,.gp-otp,.gp-arrive,.gp-precheckin{display:flex;flex-direction:column;gap:12px}.gp-chips{display:flex;flex-wrap:wrap;gap:8px}.gp-chip{border:1px solid var(--gp-line);background:var(--gp-surface);border-radius:999px;padding:10px 14px;font-size:13px;cursor:pointer;min-height:44px}.gp-chip.is-active{background:var(--gp-accent-soft);border-color:var(--gp-accent);color:var(--gp-accent-deep);font-weight:700}.gp-payment-message{margin:0;font-size:15px}.gp-offers{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.gp-offers li{display:flex;justify-content:space-between;gap:12px}.gp-offer{align-items:center;padding:8px 0;border-bottom:1px solid var(--gp-line)}.gp-offer:last-child{border-bottom:0}.gp-offer-side{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex-shrink:0}.gp-stay-key{display:flex;flex-direction:column;gap:8px}.gp-button-big{min-height:56px;font-size:17px}.gp-button-huge{min-height:96px;font-size:26px;border-radius:24px;padding:0 48px}.gp-arrival-room{display:flex;flex-direction:column;gap:8px;align-items:flex-start}.gp-room-number{margin:0;font-size:56px;line-height:1;font-weight:800;letter-spacing:-.02em;color:var(--gp-accent-deep)}.gp-arrival-badges{display:flex;gap:8px;flex-wrap:wrap}.gp-arrival-key{display:flex;flex-direction:column;gap:10px}.gp-qr{display:flex;flex-direction:column;gap:6px;padding:14px;border-radius:14px;border:1px dashed var(--gp-accent);background:var(--gp-accent-soft)}.gp-qr-payload{font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:13px;word-break:break-all;color:var(--gp-ink)}.gp-qr-serial{font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:12px;color:var(--gp-muted)}.gp-arrival-pending{border-color:var(--gp-warn);background:var(--gp-warn-soft)}.gp-arrival-message{margin:0;font-size:17px;font-weight:600}.gp-handoff{display:flex;flex-direction:column;gap:4px;padding-top:8px}.gp-kiosk{min-height:100vh;background:var(--gp-bg)}.gp-kiosk .gp-shell{max-width:720px}.gp-kiosk-screen{max-width:720px;margin:0 auto;min-height:100vh;padding:48px 24px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;text-align:center}.gp-kiosk-screen h1{margin:0;font-size:40px;line-height:1.1}.gp-kiosk-attract h1{font-size:56px}.gp-kiosk-form{width:100%;max-width:520px;text-align:left}.gp-kiosk-code{font-family:SFMono-Regular,Menlo,Consolas,monospace;font-size:32px;letter-spacing:.3em;text-align:center}.gp-kiosk .gp-button,.gp-wizard-kiosk .gp-button,.gp-kiosk .gp-chip,.gp-kiosk input,.gp-kiosk select,.gp-kiosk textarea{min-height:56px;font-size:18px}.gp-kiosk .gp-signature-canvas{height:240px}.gp-kiosk-idle-warning{position:fixed;top:0;left:0;right:0;z-index:10;padding:12px 16px;text-align:center;font-weight:700;background:var(--gp-warn-soft);color:var(--gp-warn)}.gp-chat-log{display:flex;flex-direction:column;gap:8px;max-height:320px;overflow-y:auto;padding:6px 0}.gp-chat-turn{display:flex;flex-direction:column;max-width:88%}.gp-chat-guest{align-self:flex-end;align-items:flex-end}.gp-chat-bot{align-self:flex-start}.gp-chat-bubble{margin:0;padding:10px 12px;border-radius:14px;background:var(--gp-accent-soft);color:var(--gp-ink);white-space:pre-wrap}.gp-chat-guest .gp-chat-bubble{background:var(--gp-accent-deep);color:var(--gp-on-accent)}.gp-chat-action{margin:2px 4px 0;font-size:12px;color:var(--gp-muted)}.gp-chat-form{display:flex;gap:8px;align-items:flex-end}.gp-chat-field{flex:1;margin:0}.gp-visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.gp-qr-svg{display:block;max-width:100%;height:auto;border-radius:8px;background:#fff}.gp-action-primary{border-color:var(--gp-accent);background:var(--gp-accent-soft)}.gp-action-primary .gp-action-label{color:var(--gp-accent-deep)}.gp-error-text{margin:0 0 12px}.gp-folio,.gp-invoices,.gp-requests,.gp-survey,.gp-info,.gp-checkout-requests{display:flex;flex-direction:column;gap:12px}.gp-lines{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.gp-line{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:10px 0;border-top:1px solid var(--gp-line);font-size:15px}.gp-line-main{display:flex;flex-direction:column;gap:2px;min-width:0}.gp-line-amount{font-weight:600;white-space:nowrap;font-variant-numeric:tabular-nums}.gp-line-total{border-top:2px solid var(--gp-ink);font-weight:700}.gp-folio-balance{padding-top:8px;border-top:1px solid var(--gp-line)}.gp-fold>summary{display:flex;align-items:center;min-height:44px;cursor:pointer;font-weight:600;color:var(--gp-accent-deep);list-style:none}.gp-fold>summary::-webkit-details-marker{display:none}.gp-fold>summary:before{content:"▸";margin-right:8px}.gp-fold[open]>summary:before{content:"▾"}.gp-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.gp-list-item{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:8px 0;border-top:1px solid var(--gp-line)}.gp-list-item .gp-value{font-size:15px}a.gp-button{text-decoration:none}.gp-card-flat{border-radius:14px;padding:16px}.gp-info-list{margin:0;display:flex;flex-direction:column}.gp-info-row{display:flex;flex-direction:column;gap:2px;padding:10px 0;border-top:1px solid var(--gp-line)}.gp-info-row dd{margin:0}.gp-mono{font-family:SFMono-Regular,Menlo,Consolas,monospace;letter-spacing:.04em}
