:root{--gp-brand:#0f766e;--gp-bg:#f5f8fb;--gp-card:#fff;--gp-text:#132033;--gp-muted:#66758d;--gp-line:#dfe7ef;--gp-soft:#eef8f7;--gp-success:#0f8a5f;--gp-warning:#a66500;--gp-danger:#ba2f2f;--gp-shadow:0 18px 45px rgba(21,34,50,.08)}
*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--gp-bg);color:var(--gp-text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}a{color:inherit}.gp-shell{min-height:100vh;display:flex;flex-direction:column}.gp-container{width:min(1180px,calc(100% - 32px));margin:0 auto}.gp-header{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:blur(14px);border-bottom:1px solid var(--gp-line)}.gp-nav{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:72px}.gp-brand{display:flex;align-items:center;gap:12px;text-decoration:none}.gp-logo{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:var(--gp-brand);color:#fff;font-weight:900}.gp-brand div{display:grid}.gp-brand strong{font-size:.98rem}.gp-brand span{font-size:.72rem;color:var(--gp-muted)}.gp-nav-links{display:flex;align-items:center;gap:8px}.gp-nav-links a,.gp-nav-links button{min-height:38px;padding:8px 12px;border:1px solid transparent;border-radius:10px;background:transparent;color:var(--gp-muted);font:inherit;font-size:.78rem;font-weight:750;text-decoration:none;cursor:pointer}.gp-nav-links a:hover{background:var(--gp-soft);color:var(--gp-brand)}.gp-nav-links .primary{background:var(--gp-brand);color:#fff}.gp-main{flex:1;padding:38px 0 60px}.gp-hero{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.55fr);gap:22px;align-items:stretch;margin-bottom:24px}.gp-hero-copy,.gp-hero-stat{border:1px solid var(--gp-line);border-radius:24px;background:var(--gp-card);box-shadow:var(--gp-shadow)}.gp-hero-copy{padding:28px}.gp-eyebrow{display:block;margin-bottom:8px;color:var(--gp-brand);font-size:.72rem;font-weight:900;letter-spacing:.09em;text-transform:uppercase}.gp-hero h1{margin:0;font-size:clamp(2rem,4vw,3.2rem);letter-spacing:-.045em}.gp-hero p{max-width:700px;margin:12px 0 0;color:var(--gp-muted);line-height:1.7}.gp-hero-stat{display:grid;align-content:center;padding:26px;background:linear-gradient(145deg,var(--gp-brand),color-mix(in srgb,var(--gp-brand),#081d25 42%));color:#fff}.gp-hero-stat span{font-size:.72rem;opacity:.78}.gp-hero-stat strong{margin:7px 0;font-size:2rem}.gp-hero-stat small{opacity:.82}.gp-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:24px}.gp-metric{padding:18px;border:1px solid var(--gp-line);border-radius:17px;background:var(--gp-card)}.gp-metric span,.gp-metric strong,.gp-metric small{display:block}.gp-metric span{color:var(--gp-muted);font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em}.gp-metric strong{margin:6px 0;font-size:1.45rem}.gp-metric small{color:var(--gp-muted);font-size:.72rem}.gp-layout{display:grid;grid-template-columns:minmax(0,1.7fr) minmax(280px,.65fr);gap:20px;align-items:start}.gp-card{border:1px solid var(--gp-line);border-radius:20px;background:var(--gp-card);box-shadow:0 8px 24px rgba(21,34,50,.035);overflow:hidden}.gp-card+.gp-card{margin-top:18px}.gp-card-head{display:flex;justify-content:space-between;gap:16px;align-items:center;padding:18px 20px;border-bottom:1px solid var(--gp-line)}.gp-card-head h2,.gp-card-head h3{margin:0;font-size:1rem}.gp-card-head p{margin:4px 0 0;color:var(--gp-muted);font-size:.76rem}.gp-card-body{padding:20px}.gp-booking-list{display:grid;gap:12px}.gp-booking{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;padding:16px;border:1px solid var(--gp-line);border-radius:15px;background:#fff;text-decoration:none;transition:.18s ease}.gp-booking:hover{transform:translateY(-1px);border-color:color-mix(in srgb,var(--gp-brand) 38%,var(--gp-line));box-shadow:0 9px 22px rgba(21,34,50,.06)}.gp-booking strong,.gp-booking span,.gp-booking small{display:block}.gp-booking strong{font-size:.9rem}.gp-booking span{margin-top:4px;color:var(--gp-muted);font-size:.75rem}.gp-booking small{margin-top:6px;color:var(--gp-brand);font-weight:800}.gp-booking-price{text-align:right}.gp-booking-price b{display:block;font-size:.9rem}.gp-booking-price em{display:block;margin-top:4px;color:var(--gp-muted);font-size:.7rem;font-style:normal}.gp-badge{display:inline-flex;align-items:center;min-height:26px;padding:4px 8px;border-radius:999px;background:#edf4f7;color:#42546a;font-size:.65rem;font-weight:850;text-transform:capitalize}.gp-badge.confirmed,.gp-badge.verified,.gp-badge.approved,.gp-badge.completed,.gp-badge.paid{background:#e8f7ef;color:#08734d}.gp-badge.pending,.gp-badge.partial{background:#fff5df;color:#946000}.gp-badge.cancelled,.gp-badge.rejected,.gp-badge.withdrawn{background:#fff0f0;color:#a82727}.gp-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 14px;border:1px solid var(--gp-line);border-radius:11px;background:#fff;color:var(--gp-text);font:inherit;font-size:.78rem;font-weight:800;text-decoration:none;cursor:pointer}.gp-btn:hover{border-color:color-mix(in srgb,var(--gp-brand) 40%,var(--gp-line));color:var(--gp-brand)}.gp-btn.primary{background:var(--gp-brand);border-color:var(--gp-brand);color:#fff}.gp-btn.danger{color:var(--gp-danger);border-color:color-mix(in srgb,var(--gp-danger) 25%,var(--gp-line))}.gp-actions{display:flex;gap:8px;flex-wrap:wrap}.gp-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;background:var(--gp-line);border:1px solid var(--gp-line);border-radius:15px;overflow:hidden}.gp-summary>div{padding:14px;background:#fff}.gp-summary span,.gp-summary strong{display:block}.gp-summary span{font-size:.65rem;color:var(--gp-muted);font-weight:800;text-transform:uppercase;letter-spacing:.04em}.gp-summary strong{margin-top:4px;font-size:.82rem}.gp-lines{display:grid;margin-top:16px;border:1px solid var(--gp-line);border-radius:14px;overflow:hidden}.gp-line-row{display:grid;grid-template-columns:minmax(0,1.5fr) auto auto;gap:12px;align-items:center;padding:12px 14px;border-bottom:1px solid var(--gp-line)}.gp-line-row:last-child{border-bottom:0}.gp-line-row strong,.gp-line-row span,.gp-line-row small{display:block}.gp-line-row small{margin-top:3px;color:var(--gp-muted);font-size:.68rem}.gp-line-row>span{font-size:.75rem}.gp-total{display:flex;justify-content:space-between;gap:14px;padding:13px 0;border-bottom:1px solid var(--gp-line)}.gp-total:last-child{border-bottom:0}.gp-total span{color:var(--gp-muted)}.gp-total.grand{font-size:1rem;font-weight:900}.gp-total.balance strong{color:var(--gp-danger)}.gp-payment-list,.gp-request-list{display:grid;gap:10px}.gp-payment,.gp-request{padding:13px;border:1px solid var(--gp-line);border-radius:13px;background:#fff}.gp-payment-top,.gp-request-top{display:flex;justify-content:space-between;gap:12px;align-items:center}.gp-payment p,.gp-request p{margin:7px 0 0;color:var(--gp-muted);font-size:.74rem;line-height:1.55}.gp-payment small,.gp-request small{display:block;margin-top:6px;color:var(--gp-muted)}.gp-form{display:grid;gap:13px}.gp-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.gp-form label{display:grid;gap:6px}.gp-form label>span{font-size:.72rem;font-weight:800;color:#516077}.gp-form input,.gp-form select,.gp-form textarea{width:100%;min-height:44px;border:1px solid var(--gp-line);border-radius:11px;background:#fff;color:var(--gp-text);padding:10px 12px;font:inherit}.gp-form textarea{min-height:96px;resize:vertical}.gp-form input:focus,.gp-form select:focus,.gp-form textarea:focus{outline:3px solid color-mix(in srgb,var(--gp-brand) 15%,transparent);border-color:var(--gp-brand)}.gp-help{color:var(--gp-muted);font-size:.7rem;line-height:1.5}.gp-alert{margin-bottom:18px;padding:13px 15px;border:1px solid var(--gp-line);border-radius:13px;background:#fff;font-size:.78rem}.gp-alert.success{background:#eaf8f1;border-color:#c6ebd8;color:#096a49}.gp-alert.error{background:#fff1f1;border-color:#f1cccc;color:#9c2525}.gp-auth{width:min(980px,calc(100% - 32px));margin:auto;display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,.7fr);gap:22px;padding:54px 0}.gp-auth-brand,.gp-auth-card{border:1px solid var(--gp-line);border-radius:24px;background:#fff;box-shadow:var(--gp-shadow)}.gp-auth-brand{padding:34px;background:linear-gradient(145deg,var(--gp-brand),color-mix(in srgb,var(--gp-brand),#081d25 45%));color:#fff}.gp-auth-brand h1{margin:16px 0 10px;font-size:2.4rem;letter-spacing:-.04em}.gp-auth-brand p{opacity:.84;line-height:1.7}.gp-auth-points{display:grid;gap:10px;margin-top:28px}.gp-auth-points span{display:flex;gap:9px;align-items:center;font-size:.8rem}.gp-auth-card{padding:28px}.gp-auth-card h2{margin:0}.gp-auth-card>p{color:var(--gp-muted);line-height:1.6}.gp-auth-tabs{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;padding:5px;margin-bottom:18px;border-radius:12px;background:#f1f5f8}.gp-auth-tabs a{padding:8px;border-radius:9px;text-align:center;text-decoration:none;color:var(--gp-muted);font-size:.72rem;font-weight:800}.gp-auth-tabs a.active{background:#fff;color:var(--gp-brand);box-shadow:0 2px 8px rgba(20,31,45,.06)}.gp-empty{padding:26px;text-align:center;color:var(--gp-muted)}.gp-footer{padding:20px 0;border-top:1px solid var(--gp-line);background:#fff;color:var(--gp-muted);font-size:.72rem}.gp-footer .gp-container{display:flex;justify-content:space-between;gap:14px;flex-wrap:wrap}.gp-request-actions{display:flex;gap:7px;margin-top:10px}.gp-section-tabs{display:flex;gap:7px;flex-wrap:wrap;margin-bottom:18px}.gp-section-tabs a{padding:8px 11px;border:1px solid var(--gp-line);border-radius:10px;text-decoration:none;font-size:.74rem;font-weight:800;color:var(--gp-muted)}.gp-section-tabs a.active{background:var(--gp-brand);border-color:var(--gp-brand);color:#fff}.gp-doc-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.gp-doc{padding:13px;border:1px solid var(--gp-line);border-radius:12px;text-decoration:none}.gp-doc strong,.gp-doc span{display:block}.gp-doc span{margin-top:4px;color:var(--gp-muted);font-size:.7rem}.gp-side-note{padding:15px;border-radius:14px;background:var(--gp-soft);color:#34524f;font-size:.74rem;line-height:1.6}.gp-payment-methods{display:grid;gap:8px;margin-bottom:14px}.gp-method{padding:11px 12px;border:1px solid var(--gp-line);border-radius:11px}.gp-method strong,.gp-method span{display:block}.gp-method span{margin-top:3px;color:var(--gp-muted);font-size:.7rem;white-space:pre-line}.gp-mobile-toggle{display:none}.gp-hidden{display:none!important}
@media(max-width:900px){.gp-hero,.gp-layout,.gp-auth{grid-template-columns:1fr}.gp-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gp-auth{padding:28px 0}.gp-auth-brand{display:none}.gp-nav-links{display:none}.gp-nav-links.open{position:absolute;left:16px;right:16px;top:64px;display:grid;padding:10px;border:1px solid var(--gp-line);border-radius:14px;background:#fff;box-shadow:var(--gp-shadow)}.gp-mobile-toggle{display:inline-flex}.gp-nav{position:relative}}
@media(max-width:620px){.gp-container{width:min(100% - 20px,1180px)}.gp-main{padding-top:20px}.gp-grid,.gp-form-grid,.gp-summary,.gp-doc-grid{grid-template-columns:1fr}.gp-hero-copy{padding:21px}.gp-hero-stat{padding:20px}.gp-card-body{padding:15px}.gp-card-head{padding:15px}.gp-booking{grid-template-columns:1fr}.gp-booking-price{text-align:left}.gp-line-row{grid-template-columns:1fr auto}.gp-line-row>span:nth-child(2){grid-column:1}.gp-auth{width:min(100% - 20px,980px)}.gp-auth-card{padding:20px}.gp-footer .gp-container{display:grid;text-align:center}.gp-actions .gp-btn{flex:1}.gp-section-tabs a{flex:1;text-align:center}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important;animation:none!important}.gp-booking:hover{transform:none}}

/* v5.16.1 guest portal enhancements */
body::before{content:"";position:fixed;inset:-10% auto auto -8%;width:380px;height:380px;border-radius:50%;background:color-mix(in srgb,var(--gp-brand) 12%,transparent);filter:blur(50px);pointer-events:none;z-index:0}
.gp-shell,.gp-auth,.gp-main,.gp-footer{position:relative;z-index:1}
.gp-hero-copy,.gp-metric,.gp-card,.gp-auth-card,.gp-auth-brand{transition:transform .25s ease,box-shadow .25s ease,border-color .25s ease}
.gp-metric:hover,.gp-card:hover,.gp-auth-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(21,34,50,.08);border-color:color-mix(in srgb,var(--gp-brand) 18%,var(--gp-line))}
.gp-hero-copy{background:linear-gradient(180deg,#fff 0%,#fcffff 100%)}
.gp-hero-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:18px}
.gp-hero-actions .gp-btn{box-shadow:0 4px 14px rgba(20,30,45,.05)}
.gp-auth-card h2{font-size:1.65rem;letter-spacing:-.03em}
.gp-auth-card>p{font-size:.88rem}
.gp-stat-pills{display:flex;flex-wrap:wrap;gap:8px;margin-top:18px}
.gp-stat-pills span{display:inline-flex;align-items:center;min-height:32px;padding:7px 10px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.18);font-size:.72rem;font-weight:700}
.gp-auth-steps{display:grid;gap:10px;margin-top:18px}
.gp-auth-steps article{display:grid;grid-template-columns:36px 1fr;gap:12px;align-items:start;padding:12px 14px;border-radius:16px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.14)}
.gp-auth-steps b{display:grid;place-items:center;width:36px;height:36px;border-radius:12px;background:#fff;color:var(--gp-brand);font-size:.95rem}
.gp-auth-steps strong,.gp-auth-steps span{display:block}
.gp-auth-steps strong{font-size:.82rem}
.gp-auth-steps span{margin-top:4px;font-size:.74rem;opacity:.86;line-height:1.45}
.gp-tip-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px}
.gp-tip{padding:12px 13px;border-radius:14px;background:linear-gradient(180deg,#f7fbfd 0%,#f0f7f9 100%);border:1px solid var(--gp-line)}
.gp-tip strong,.gp-tip span{display:block}
.gp-tip strong{font-size:.78rem}
.gp-tip span{margin-top:4px;color:var(--gp-muted);font-size:.72rem;line-height:1.45}
.gp-password-field{position:relative}
.gp-password-field input{padding-right:72px}
.gp-password-toggle{position:absolute;top:50%;right:8px;transform:translateY(-50%);min-height:32px;padding:6px 10px;border:1px solid var(--gp-line);border-radius:9px;background:#f6f8fb;color:var(--gp-muted);font:inherit;font-size:.7rem;font-weight:800;cursor:pointer}
.gp-password-toggle:hover{color:var(--gp-brand);border-color:color-mix(in srgb,var(--gp-brand) 30%,var(--gp-line))}
.gp-strength{display:grid;gap:7px;margin-top:-2px}
.gp-strength-bar{height:8px;border-radius:999px;background:#ecf0f5;overflow:hidden}
.gp-strength-bar span{display:block;width:12%;height:100%;border-radius:inherit;background:#d37a21;transition:width .22s ease,background .22s ease}
.gp-strength[data-state="weak"] .gp-strength-bar span{width:28%;background:#d37a21}
.gp-strength[data-state="fair"] .gp-strength-bar span{width:56%;background:#c9a61e}
.gp-strength[data-state="good"] .gp-strength-bar span{width:78%;background:#24a363}
.gp-strength[data-state="strong"] .gp-strength-bar span{width:100%;background:var(--gp-brand)}
.gp-strength-label{color:var(--gp-muted);font-size:.69rem;line-height:1.45}
.gp-inline-note,.gp-form-highlight{padding:13px 14px;border-radius:14px;background:var(--gp-soft);border:1px solid color-mix(in srgb,var(--gp-brand) 10%,var(--gp-line));color:#365a56;font-size:.75rem;line-height:1.55}
.gp-inline-note{margin-top:14px}
.gp-inline-note strong{color:var(--gp-text)}
.gp-form-highlight{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:6px 0 4px}
.gp-form-highlight div{padding:10px 12px;border-radius:12px;background:#fff;border:1px solid rgba(15,118,110,.1)}
.gp-form-highlight strong,.gp-form-highlight span{display:block}
.gp-form-highlight strong{font-size:.75rem}
.gp-form-highlight span{margin-top:4px;color:var(--gp-muted);font-size:.7rem;line-height:1.45}
.gp-booking{position:relative;overflow:hidden}
.gp-booking::after{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--gp-brand);opacity:.55}
.gp-doc,.gp-method,.gp-payment,.gp-request,.gp-metric{background:linear-gradient(180deg,#fff 0%,#fbfdff 100%)}
.gp-doc:hover{border-color:color-mix(in srgb,var(--gp-brand) 30%,var(--gp-line));box-shadow:0 10px 20px rgba(21,34,50,.05)}
.gp-actions .gp-btn[data-active="true"]{background:var(--gp-brand);border-color:var(--gp-brand);color:#fff}
.gp-side-note{border:1px solid color-mix(in srgb,var(--gp-brand) 14%,var(--gp-line))}
.gp-card.is-sticky{position:sticky;top:92px}
[data-reveal]{opacity:0;transform:translateY(16px);transition:opacity .45s ease,transform .45s ease}
[data-reveal].is-visible{opacity:1;transform:none}
@media(max-width:900px){.gp-card.is-sticky{position:static}.gp-tip-grid,.gp-form-highlight{grid-template-columns:1fr}}
@media(max-width:620px){.gp-hero-actions{display:grid;grid-template-columns:1fr}.gp-tip-grid,.gp-form-highlight{grid-template-columns:1fr}.gp-password-field input{padding-right:66px}}
