@import"https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=Inter:opsz,wght@14..32,300;14..32,400;14..32,500;14..32,600;14..32,700&family=Fredoka:wght@600;700;800&display=swap";:root{--PhoneInput-color--focus: #03b2cb;--PhoneInputInternationalIconPhone-opacity: .8;--PhoneInputInternationalIconGlobe-opacity: .65;--PhoneInputCountrySelect-marginRight: .35em;--PhoneInputCountrySelectArrow-width: .3em;--PhoneInputCountrySelectArrow-marginLeft: var(--PhoneInputCountrySelect-marginRight);--PhoneInputCountrySelectArrow-borderWidth: 1px;--PhoneInputCountrySelectArrow-opacity: .45;--PhoneInputCountrySelectArrow-color: currentColor;--PhoneInputCountrySelectArrow-color--focus: var(--PhoneInput-color--focus);--PhoneInputCountrySelectArrow-transform: rotate(45deg);--PhoneInputCountryFlag-aspectRatio: 1.5;--PhoneInputCountryFlag-height: 1em;--PhoneInputCountryFlag-borderWidth: 1px;--PhoneInputCountryFlag-borderColor: rgba(0,0,0,.5);--PhoneInputCountryFlag-borderColor--focus: var(--PhoneInput-color--focus);--PhoneInputCountryFlag-backgroundColor--loading: rgba(0,0,0,.1)}.PhoneInput{display:flex;align-items:center}.PhoneInputInput{flex:1;min-width:0}.PhoneInputCountryIcon{width:calc(var(--PhoneInputCountryFlag-height) * var(--PhoneInputCountryFlag-aspectRatio));height:var(--PhoneInputCountryFlag-height)}.PhoneInputCountryIcon--square{width:var(--PhoneInputCountryFlag-height)}.PhoneInputCountryIcon--border{background-color:var(--PhoneInputCountryFlag-backgroundColor--loading);box-shadow:0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor),inset 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor)}.PhoneInputCountryIconImg{display:block;width:100%;height:100%}.PhoneInputInternationalIconPhone{opacity:var(--PhoneInputInternationalIconPhone-opacity)}.PhoneInputInternationalIconGlobe{opacity:var(--PhoneInputInternationalIconGlobe-opacity)}.PhoneInputCountry{position:relative;align-self:stretch;display:flex;align-items:center;margin-right:var(--PhoneInputCountrySelect-marginRight)}.PhoneInputCountrySelect{position:absolute;top:0;left:0;height:100%;width:100%;z-index:1;border:0;opacity:0;cursor:pointer}.PhoneInputCountrySelect[disabled],.PhoneInputCountrySelect[readonly]{cursor:default}.PhoneInputCountrySelectArrow{display:block;content:"";width:var(--PhoneInputCountrySelectArrow-width);height:var(--PhoneInputCountrySelectArrow-width);margin-left:var(--PhoneInputCountrySelectArrow-marginLeft);border-style:solid;border-color:var(--PhoneInputCountrySelectArrow-color);border-top-width:0;border-bottom-width:var(--PhoneInputCountrySelectArrow-borderWidth);border-left-width:0;border-right-width:var(--PhoneInputCountrySelectArrow-borderWidth);transform:var(--PhoneInputCountrySelectArrow-transform);opacity:var(--PhoneInputCountrySelectArrow-opacity)}.PhoneInputCountrySelect:focus+.PhoneInputCountryIcon+.PhoneInputCountrySelectArrow{opacity:1;color:var(--PhoneInputCountrySelectArrow-color--focus)}.PhoneInputCountrySelect:focus+.PhoneInputCountryIcon--border{box-shadow:0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor--focus),inset 0 0 0 var(--PhoneInputCountryFlag-borderWidth) var(--PhoneInputCountryFlag-borderColor--focus)}.PhoneInputCountrySelect:focus+.PhoneInputCountryIcon .PhoneInputInternationalIconGlobe{opacity:1;color:var(--PhoneInputCountrySelectArrow-color--focus)}:root{--sand: #f5e6d3;--sand-light: #faf3eb;--sand-dark: #d4c5b0;--ocean: #0077b6;--ocean-dark: #005f8a;--ocean-light: #90e0ef;--foam: #caf0f8;--coral: #e76f51;--coral-dark: #c45a3f;--palm: #2d6a4f;--palm-light: #40916c;--available: #2ecc71;--booked: #bdc3c7;--selected: #e76f51;--text-dark: #1a1a2e;--text-muted: #6c757d;--text-light: #adb5bd;--white: #ffffff;--bg: #faf3eb;--card-bg: #ffffff;--border: #e8ddd0;--shadow-xs: 0 1px 3px rgba(0, 0, 0, .06);--shadow: 0 2px 12px rgba(0, 0, 0, .08);--shadow-lg: 0 8px 30px rgba(0, 0, 0, .12);--radius: 12px;--radius-sm: 8px;--radius-lg: 16px;--radius-xl: 24px;--font-display: "Playfair Display", Georgia, "Times New Roman", serif;--font-body: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;scroll-behavior:smooth}body{font-family:var(--font-body);color:var(--text-dark);background:var(--bg);line-height:1.6;overflow-x:hidden}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}h1,h2,h3{font-family:var(--font-display);font-weight:600;line-height:1.25;color:var(--text-dark)}h1{font-size:1.85rem}h2{font-size:1.5rem}h3{font-size:1.15rem}.page-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:100vh;min-height:100dvh;gap:1rem;color:var(--text-muted);font-size:.9rem}.page-center{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem}.spinner{width:32px;height:32px;border:3px solid var(--border);border-top-color:var(--ocean);border-radius:50%;animation:spin .7s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;padding:.7rem 1.5rem;border:none;border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.9rem;font-weight:600;cursor:pointer;transition:background .2s,transform .15s,box-shadow .2s;text-decoration:none;-webkit-tap-highlight-color:transparent}.btn-primary{background:var(--ocean);color:var(--white);box-shadow:0 2px 8px #0077b640}.btn-primary:hover:not(:disabled){background:var(--ocean-dark);box-shadow:0 4px 14px #0077b64d;transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-primary:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-secondary{background:transparent;color:var(--ocean);border:2px solid var(--ocean)}.btn-secondary:hover{background:var(--foam)}.btn-lg{padding:.9rem 2rem;font-size:1rem;border-radius:var(--radius)}.btn-cta{background:linear-gradient(135deg,var(--ocean) 0%,#0096c7 100%);color:var(--white);box-shadow:0 4px 15px #0077b659;font-size:1.05rem;padding:1rem 2rem;border-radius:var(--radius)}.btn-cta:hover:not(:disabled){box-shadow:0 6px 20px #0077b673;transform:translateY(-2px)}.btn-cta:active:not(:disabled){transform:translateY(0)}.btn-block{width:100%}.btn-back{display:inline-flex;align-items:center;gap:.35rem;background:none;border:none;color:var(--text-muted);font-family:var(--font-body);font-size:.9rem;font-weight:500;cursor:pointer;padding:.5rem .65rem;border-radius:var(--radius-sm);text-decoration:none;-webkit-tap-highlight-color:transparent;flex-shrink:0}.btn-back:hover{color:var(--text-dark);background:var(--sand)}.btn-spinner{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .7s linear infinite}.card{background:var(--card-bg);border-radius:var(--radius-lg);padding:2rem;box-shadow:var(--shadow)}.error-card{max-width:420px;text-align:center}.error-card h2{color:var(--coral);margin-bottom:.75rem}.error-card p{color:var(--text-muted);margin-bottom:1.5rem}.landing-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.landing-hero{position:relative;min-height:340px;display:flex;align-items:center;justify-content:center;text-align:center;overflow:hidden;color:var(--white)}.hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(170deg,#012a4a,#013a63,#01497c 40%,#0077b6 65%,#0096c7 80%,#00b4d8)}.hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 600px 400px at 25% 60%,rgba(144,224,239,.12) 0%,transparent 70%),radial-gradient(ellipse 500px 300px at 75% 30%,rgba(202,240,248,.08) 0%,transparent 70%);animation:caustics 8s ease-in-out infinite alternate}@keyframes caustics{0%{transform:scale(1) translate(0)}to{transform:scale(1.1) translate(15px,-8px)}}.hero-scene{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:none;overflow:hidden}.hero-scene svg{width:100%;height:100%}.dhow-drift{animation:drift 20s ease-in-out infinite alternate;transform-origin:center}@keyframes drift{0%{transform:translate(950px,110px)}to{transform:translate(920px,108px)}}.seagulls-drift{animation:seagulls 12s ease-in-out infinite alternate}@keyframes seagulls{0%{transform:translate(0)}to{transform:translate(15px)}}.hero-inner{position:relative;z-index:2;padding:3rem 2rem 5rem}.brand-title{font-family:var(--font-display);font-size:4.5rem;font-weight:700;letter-spacing:.22em;margin-bottom:.35rem;text-shadow:0 2px 20px rgba(0,0,0,.2);line-height:1;color:var(--white)}.brand-logo{margin:0 auto .35rem;filter:drop-shadow(0 2px 12px rgba(0,0,0,.18))}@media (max-width: 768px){.brand-logo{height:60px;width:auto}}@media (max-width: 480px){.brand-logo{height:48px;width:auto}}.brand-divider{width:60px;height:2px;background:#fff6;margin:.75rem auto;border-radius:2px}.brand-subtitle{font-family:var(--font-body);font-size:.95rem;font-weight:300;letter-spacing:.4em;text-transform:uppercase;opacity:.75}.hero-tagline{font-family:var(--font-display);font-size:1.15rem;font-weight:400;font-style:italic;opacity:.65;margin-top:1rem;letter-spacing:.02em}.header-waves{position:absolute;bottom:0;left:0;width:100%;height:140px;overflow:hidden;z-index:3}.header-waves svg{position:absolute;bottom:0;left:0;width:200%;height:100%}.wave-back{animation:wave-sway 6s ease-in-out infinite alternate}.wave-mid{animation:wave-sway 8s ease-in-out infinite alternate-reverse}.wave-foam{animation:wave-sway 4s ease-in-out infinite alternate;animation-delay:-1s}@keyframes wave-sway{0%{transform:translate(-8px)}to{transform:translate(8px)}}.features-strip{display:flex;justify-content:center;gap:2rem;padding:1.25rem 1.5rem;background:var(--white);border-bottom:1px solid var(--border);flex-wrap:wrap}.feature{display:flex;align-items:center;gap:.5rem;font-size:.82rem;font-weight:600;color:var(--text-muted)}.feature-icon{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;background:var(--foam);color:var(--ocean);flex-shrink:0}.landing-main{flex:1;max-width:780px;width:100%;margin:0 auto;padding:2rem 1.5rem 3rem}.booking-form-card{background:var(--card-bg);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);overflow:hidden;margin-bottom:2.5rem}.booking-step{padding:1.5rem 1.75rem;border-bottom:1px solid var(--border)}.booking-step:last-child{border-bottom:none}.booking-step.step-disabled{opacity:.45;pointer-events:none}.step-header{display:flex;align-items:center;gap:.85rem;margin-bottom:1rem}.step-number{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--ocean);color:var(--white);font-weight:700;font-size:.85rem;flex-shrink:0}.step-title{font-family:var(--font-body);font-size:.95rem;font-weight:600;color:var(--text-dark);margin:0;line-height:1.2}.step-number-muted{background:var(--text-light)}.step-desc{font-size:.78rem;color:var(--text-muted);margin:0;line-height:1.3}.time-slots-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.65rem}.time-slot-card{display:flex;flex-direction:column;align-items:center;gap:.2rem;padding:1rem .75rem;border:2px solid var(--border);border-radius:var(--radius);background:var(--white);cursor:pointer;transition:border-color .2s,background .2s,transform .15s,box-shadow .2s;-webkit-tap-highlight-color:transparent;font-family:var(--font-body);text-align:center}.time-slot-card:hover{border-color:var(--ocean-light);background:var(--foam)}.time-slot-card.active{border-color:var(--ocean);background:linear-gradient(135deg,var(--foam) 0%,#e0f4ff 100%);box-shadow:0 0 0 3px #0077b61f;transform:scale(1.02)}.slot-icon{font-size:1.5rem;line-height:1;margin-bottom:.15rem}.slot-name{font-weight:700;font-size:.95rem;color:var(--text-dark)}.time-slot-card.active .slot-name{color:var(--ocean-dark)}.slot-time{font-size:.75rem;color:var(--text-muted);font-weight:500}.slot-rate{font-size:1.1rem;font-weight:700;color:var(--ocean);margin-top:.25rem}.slot-rate-label{font-size:.65rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.04em}.time-slot-card.expired{opacity:.45;cursor:not-allowed;background:#f5f5f5;border-color:#e0e0e0}.time-slot-card.expired:hover{transform:none;border-color:#e0e0e0;background:#f5f5f5}.slot-expired-label{font-size:.78rem;font-weight:600;color:var(--text-light);margin-top:.25rem}.booking-step-summary{padding:1.25rem 1.75rem 1.5rem;background:linear-gradient(to right,var(--sand-light),var(--foam));display:flex;flex-direction:column;gap:1rem}.summary-chips{display:flex;flex-wrap:wrap;gap:.5rem}.summary-chip{display:inline-flex;align-items:center;gap:.35rem;padding:.4rem .75rem;background:var(--white);border-radius:20px;font-size:.8rem;font-weight:500;color:var(--text-dark);border:1px solid var(--border)}.summary-chip svg{color:var(--ocean);flex-shrink:0}.summary-chip.accent{background:var(--ocean);color:var(--white);border-color:var(--ocean);font-weight:700}.loading-brand{text-align:center;margin-bottom:.5rem}.date-strip-wrapper{position:relative;display:flex;align-items:center;gap:0}.date-strip-arrow{display:flex;align-items:center;justify-content:center;width:34px;height:34px;border:none;border-radius:50%;background:var(--card-bg);color:var(--text-muted);cursor:pointer;flex-shrink:0;box-shadow:var(--shadow-xs);border:1px solid var(--border);transition:background .15s,color .15s;-webkit-tap-highlight-color:transparent;z-index:2}.date-strip-arrow:hover{background:var(--sand);color:var(--text-dark)}.date-strip-arrow.left{margin-right:-6px}.date-strip-arrow.right{margin-left:-6px}.date-strip{display:flex;gap:.5rem;overflow-x:auto;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;scrollbar-width:none;-ms-overflow-style:none;padding:.5rem .25rem;flex:1;min-width:0}.date-strip::-webkit-scrollbar{display:none}.date-card{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:82px;padding:.75rem .6rem;border:2px solid transparent;border-radius:var(--radius);background:var(--white);cursor:pointer;transition:all .2s ease;scroll-snap-align:center;-webkit-tap-highlight-color:transparent;gap:.15rem;flex-shrink:0;font-family:var(--font-body);box-shadow:var(--shadow-xs);position:relative}.date-card:hover{border-color:var(--ocean-light);background:var(--foam);transform:translateY(-2px)}.date-card.active{border-color:var(--ocean);background:var(--ocean);color:var(--white);transform:translateY(-3px);box-shadow:0 4px 14px #0077b64d}.date-card.today:not(.active){border-color:var(--ocean-light)}.date-card.weekend:not(.active){background:#fef9f3}.date-card-day{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;opacity:.7}.date-card.active .date-card-day{opacity:.85;color:var(--white)}.date-card-num{font-size:1.6rem;font-weight:700;line-height:1.1;color:var(--text-dark)}.date-card.active .date-card-num{color:var(--white)}.date-card-month{font-size:.75rem;font-weight:500;color:var(--text-muted)}.date-card.active .date-card-month{color:#fffc}.date-card-today{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--ocean);margin-top:.1rem}.date-card.active .date-card-today{color:#ffffffe6}.date-card-rate{font-size:.7rem;font-weight:700;color:var(--ocean);margin-top:3px}.date-card.active .date-card-rate{color:#ffffffe6}.date-card.weekend .date-card-rate{color:var(--coral)}.date-card.weekend.active .date-card-rate{color:#ffffffe6}.calendar{width:100%;-webkit-user-select:none;user-select:none}.calendar-header{display:flex;align-items:center;justify-content:space-between;padding:0 .25rem;margin-bottom:.75rem}.calendar-title{font-family:var(--font-display);font-size:1.1rem;font-weight:600;color:var(--text-dark)}.calendar-nav{display:flex;align-items:center;justify-content:center;width:36px;height:36px;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s,color .15s;-webkit-tap-highlight-color:transparent}.calendar-nav:hover:not(:disabled){background:var(--sand);color:var(--text-dark)}.calendar-nav:disabled{opacity:.3;cursor:not-allowed}.calendar-weekdays{display:grid;grid-template-columns:repeat(7,1fr);gap:0;margin-bottom:.35rem}.calendar-weekday{text-align:center;font-size:.72rem;font-weight:600;color:var(--text-light);text-transform:uppercase;letter-spacing:.04em;padding:.35rem 0}.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.calendar-day{aspect-ratio:1;display:flex;align-items:center;justify-content:center;border:none;border-radius:50%;background:transparent;font-family:var(--font-body);font-size:.88rem;font-weight:500;color:var(--text-dark);cursor:pointer;transition:background .15s,color .15s,transform .1s;-webkit-tap-highlight-color:transparent;position:relative}.calendar-day:hover:not(:disabled):not(.outside):not(.selected){background:var(--sand)}.calendar-day.today{color:var(--ocean);font-weight:700}.calendar-day.today:after{content:"";position:absolute;bottom:4px;left:50%;transform:translate(-50%);width:4px;height:4px;border-radius:50%;background:var(--ocean)}.calendar-day.selected{background:var(--ocean);color:var(--white);font-weight:700;transform:scale(1.05);box-shadow:0 2px 8px #0077b64d}.calendar-day.outside{color:var(--border);cursor:default}.calendar-day.disabled{color:var(--text-light);opacity:.4;cursor:not-allowed}.calendar-day.disabled:hover{background:transparent}.zone-preview{margin-top:.5rem;text-align:center}.zone-preview h3{font-size:1.3rem;margin-bottom:.3rem}.zone-preview-desc{font-size:.88rem;color:var(--text-muted);margin-bottom:1.25rem}.zone-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.65rem}.zone-card{background:var(--card-bg);border-radius:var(--radius);padding:1.15rem .75rem;text-align:center;box-shadow:var(--shadow-xs);border:1px solid var(--border);display:flex;flex-direction:column;gap:.2rem;transition:transform .2s,box-shadow .2s,border-color .2s;cursor:default}.zone-card:hover{transform:translateY(-3px);box-shadow:var(--shadow);border-color:var(--zone-color, var(--ocean))}.zone-letter{font-family:var(--font-display);font-size:1.65rem;font-weight:700;color:var(--zone-color, var(--ocean));line-height:1.1}.zone-count{font-size:.78rem;color:var(--text-muted);font-weight:500}.zone-desc{font-size:.72rem;color:var(--text-light)}.landing-footer{text-align:center;padding:1.5rem 2rem;border-top:1px solid var(--border);background:var(--white)}.footer-link{display:inline-block;color:var(--ocean);font-size:.88rem;font-weight:500;margin-bottom:.5rem;text-decoration:none}.footer-link:hover{text-decoration:underline}.footer-copy{color:var(--text-light);font-size:.78rem;letter-spacing:.05em}.page-header{display:flex;align-items:center;gap:1rem;padding:.85rem 1.25rem;background:var(--card-bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;box-shadow:var(--shadow-xs)}.header-info h1{font-size:1.25rem}.date-display{font-size:.82rem;color:var(--ocean);font-weight:500;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.header-slot-badge{display:inline-flex;align-items:center;padding:.15rem .55rem;background:var(--foam);color:var(--ocean-dark);border-radius:20px;font-size:.72rem;font-weight:600;border:1px solid rgba(0,119,182,.15)}.select-seats-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.select-layout{flex:1;display:flex;gap:0;min-height:0}.map-section{flex:1;padding:1rem;display:flex;flex-direction:column;min-height:0;overflow:hidden}.map-legend{display:flex;gap:1.25rem;padding:.65rem 1rem;background:var(--card-bg);border-radius:var(--radius-sm);margin-bottom:.75rem;box-shadow:var(--shadow-xs);border:1px solid var(--border);flex-wrap:wrap}.legend-item{display:flex;align-items:center;gap:.4rem;font-size:.8rem;color:var(--text-muted);font-weight:500}.legend-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0}.legend-dot.available{background:var(--available)}.legend-dot.booked{background:var(--booked)}.legend-dot.selected{background:var(--selected)}.selection-sidebar{width:320px;padding:1.25rem;background:var(--card-bg);border-left:1px solid var(--border);display:flex;flex-direction:column;gap:1rem;overflow-y:auto}.empty-selection{flex:1;display:flex;align-items:center;justify-content:center;text-align:center;padding:2rem;color:var(--text-light);font-size:.9rem;line-height:1.5}.beach-map-container{position:relative;width:100vw;margin-left:calc(-50vw + 50%);height:50vh;overflow:hidden;touch-action:pan-y;user-select:none;-webkit-user-select:none;background:#f5e6d3;box-shadow:none;border-top:1px solid var(--sand-dark);border-bottom:1px solid var(--sand-dark)}.booking-step-map{background:#f5e6d3!important;border-bottom:none!important;padding-bottom:0!important}.booking-step-map .step-header-row,.booking-step-map .map-legend-bar,.booking-step-map .map-mobile-hint{position:relative;z-index:2}.beach-map-container.is-fullscreen{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;border-radius:0;width:100vw;height:100vh;height:100dvh;max-height:none;flex:none}.map-zoom-controls{position:absolute;bottom:.75rem;right:.75rem;z-index:20;display:flex;flex-direction:column;gap:3px;background:#ffffffeb;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:var(--radius-sm);box-shadow:var(--shadow);padding:4px;border:1px solid rgba(0,0,0,.08)}.zoom-btn{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:none;border-radius:8px;background:transparent;color:var(--text-dark);cursor:pointer;transition:background .15s;-webkit-tap-highlight-color:transparent}.zoom-btn:hover{background:#0000000d}.zoom-btn:active{background:#0000001a}.zoom-btn.zoom-reset{border-top:1px solid rgba(0,0,0,.08)}.beach-map-svg{display:block;will-change:transform;transform-origin:0 0;transition:transform 0s}.beach-map-container{cursor:grab}.beach-map-container:active{cursor:grabbing}.wave-line{animation:wave-drift 6s ease-in-out infinite alternate}.wave-2{animation-delay:-2s;animation-duration:8s}@keyframes wave-drift{0%{transform:translate(-3px)}to{transform:translate(3px)}}.zone-label{font-family:var(--font-body);font-size:11px;font-weight:700;fill:var(--ocean);opacity:.55;text-transform:uppercase;letter-spacing:.08em;pointer-events:none}.zone-count-label{font-family:var(--font-body);font-size:7.5px;font-weight:500;fill:var(--text-light);pointer-events:none}.landmark-label{font-family:var(--font-body);font-size:7.5px;font-weight:600;fill:var(--text-muted);pointer-events:none}.map-mobile-hint{display:none;align-items:center;justify-content:center;gap:.4rem;padding:.4rem .75rem;background:var(--foam);border-radius:var(--radius-sm);font-size:.75rem;color:var(--ocean-dark);font-weight:500;margin-bottom:.35rem}.map-mobile-hint svg{flex-shrink:0}.seat-node{cursor:pointer;-webkit-tap-highlight-color:transparent}.seat-node.unavailable{cursor:default;opacity:.4}.seat-node .sunbed-visual{transition:transform .2s ease;transform-origin:0 0}.seat-node.available:hover .sunbed-visual{transform:scale(1.2)}.seat-node.selected .sunbed-visual{transform:scale(1.15)}.pair-label{font-family:sans-serif;font-size:6.5px;font-weight:700;fill:#c0392b;pointer-events:none}.facility-label{font-family:sans-serif;font-size:7px;font-weight:700;fill:#777;pointer-events:none;text-transform:uppercase;letter-spacing:.03em}.facility-label-styled{font-family:var(--font-body);font-size:5px;font-weight:600;fill:#8a7d6b;pointer-events:none;text-transform:uppercase;letter-spacing:.08em;opacity:.85}.ocean-label{font-family:var(--font-body);font-size:9px;font-weight:600;fill:#ffffff80;letter-spacing:.5em;pointer-events:none;text-transform:uppercase}.walkway-label{font-family:var(--font-body);font-size:5px;font-weight:600;fill:#8a7d6b;letter-spacing:.25em;pointer-events:none;text-transform:uppercase}.zone-label-group,.entrance-indicator{pointer-events:none}.entrance-label{font-family:var(--font-body);font-size:7px;font-weight:700;fill:var(--ocean);letter-spacing:.15em;pointer-events:none}.seat-label{font-family:var(--font-body);font-size:6px;font-weight:600;fill:var(--text-muted);pointer-events:none;opacity:.7}.seat-tooltip{position:absolute;background:var(--card-bg);border-radius:var(--radius-sm);padding:.6rem .8rem;box-shadow:var(--shadow-lg);pointer-events:none;z-index:100;min-width:145px;border:1px solid var(--border);animation:tooltipIn .15s ease}@keyframes tooltipIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.tooltip-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.3rem}.tooltip-header strong{font-size:.92rem;font-family:var(--font-body)}.tooltip-badge{font-size:.68rem;font-weight:600;padding:.12rem .45rem;border-radius:20px;text-transform:uppercase;letter-spacing:.03em}.tooltip-badge.available{background:#d4edda;color:#155724}.tooltip-badge.unavailable{background:#f8d7da;color:#721c24}.tooltip-body{display:flex;gap:.5rem;font-size:.76rem;color:var(--text-muted);flex-wrap:wrap}.tooltip-rate{font-weight:600;color:var(--ocean)}.tooltip-hint{font-size:.7rem;color:var(--text-light);margin-top:.3rem;font-style:italic}.pricing-summary h3{font-family:var(--font-body);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.65rem}.pricing-list{display:flex;flex-direction:column;gap:0;margin-bottom:.65rem}.pricing-item{display:flex;justify-content:space-between;align-items:center;padding:.45rem 0;border-bottom:1px solid var(--border)}.pricing-item:last-child{border-bottom:none}.pricing-seat{display:flex;align-items:center;gap:.45rem;font-weight:500;font-size:.88rem}.pricing-dot{width:8px;height:8px;border-radius:50%;background:var(--selected);flex-shrink:0}.pricing-remove{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:50%;background:#fef2f2;color:#ef4444;cursor:pointer;flex-shrink:0;transition:background .15s,transform .1s;-webkit-tap-highlight-color:transparent;padding:0}.pricing-remove:hover{background:#fee2e2;transform:scale(1.1)}.pricing-zone{font-size:.75rem;color:var(--text-light);font-weight:400}.pricing-rate{font-size:.88rem;font-weight:600;color:var(--ocean)}.pricing-total{display:flex;justify-content:space-between;font-weight:700;font-size:1.02rem;padding-top:.65rem;border-top:2px solid var(--text-dark)}.booking-details-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.details-layout{flex:1;display:flex;gap:0;max-width:1100px;width:100%;margin:0 auto}.details-form{flex:1;padding:2rem;display:flex;flex-direction:column;gap:1.5rem}.details-sidebar{width:340px;padding:1.5rem;background:var(--sand-light);border-left:1px solid var(--border)}.booking-summary-card{position:sticky;top:80px}.booking-summary-card h3{font-family:var(--font-body);font-size:.8rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:1rem}.summary-date{display:flex;align-items:center;gap:.5rem;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid var(--border);color:var(--text-dark);font-weight:500;font-size:.9rem}.summary-date svg{color:var(--ocean);flex-shrink:0}.summary-slot{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:1rem;border-bottom:1px solid var(--border);color:var(--text-dark);font-weight:500;font-size:.9rem}.summary-slot svg{color:var(--ocean);flex-shrink:0}.form-section h3{font-family:var(--font-body);font-size:1rem;font-weight:600;margin-bottom:1rem;color:var(--text-dark)}.form-group{display:flex;flex-direction:column;gap:.3rem}.form-group label{font-size:.82rem;font-weight:600;color:var(--text-muted)}.form-group input,.form-group textarea,.form-group select{padding:.75rem .9rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.92rem;color:var(--text-dark);background:var(--white);transition:border-color .2s,box-shadow .2s;-webkit-appearance:none}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:var(--ocean);box-shadow:0 0 0 3px #0077b61f}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--text-light)}.form-hint{font-size:.75rem;color:var(--text-light);margin-top:.1rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-error{background:#fef2f2;border:1px solid #fecaca;border-radius:var(--radius-sm);padding:.75rem 1rem;color:#dc2626;font-size:.88rem;font-weight:500}.terms-section{border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;background:var(--sand-light)}.terms-content{max-height:150px;overflow-y:auto;font-size:.82rem;color:var(--text-muted);margin-bottom:1rem;line-height:1.55}.agree-card{background:var(--foam);border-color:var(--ocean-light)}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-size:.88rem;font-weight:500;cursor:pointer;-webkit-tap-highlight-color:transparent}.checkbox-label input[type=checkbox]{width:18px;height:18px;accent-color:var(--ocean);flex-shrink:0}.confirmation-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:2rem;background:linear-gradient(to bottom,var(--foam) 0%,var(--bg) 40%)}.confirmation-card{background:var(--card-bg);border-radius:var(--radius-xl);padding:2.5rem;box-shadow:var(--shadow-lg);max-width:520px;width:100%;text-align:center}.confirmation-card.compact{text-align:left}.confirmation-icon{margin-bottom:1rem}.confirmation-card h1{font-size:1.65rem;margin-bottom:.4rem}.confirmation-subtitle{color:var(--text-muted);margin-bottom:1.5rem;font-size:.92rem}.reference-box{background:linear-gradient(135deg,var(--sand) 0%,var(--sand-light) 100%);border-radius:var(--radius);padding:1.25rem;margin-bottom:1.5rem;display:flex;flex-direction:column;gap:.3rem;align-items:center;border:1px solid var(--border)}.reference-label{font-size:.72rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted)}.reference-code{font-family:var(--font-display);font-size:1.65rem;font-weight:700;color:var(--ocean);letter-spacing:.06em}.qr-code-wrapper{margin-top:1rem;display:flex;flex-direction:column;align-items:center;gap:.4rem}.qr-code-wrapper svg{background:#fff;padding:8px;border-radius:var(--radius-sm);box-shadow:var(--shadow-xs)}.qr-label{font-size:.68rem;color:var(--text-light);text-transform:uppercase;letter-spacing:.06em;font-weight:500}.confirmation-details{text-align:left;margin-bottom:1.5rem}.detail-row{display:flex;justify-content:space-between;padding:.6rem 0;border-bottom:1px solid var(--border);gap:1rem}.detail-row.total{border-bottom:none;border-top:2px solid var(--text-dark);padding-top:.75rem;margin-top:.25rem;font-weight:700;font-size:1.02rem}.detail-label{color:var(--text-muted);font-size:.86rem;flex-shrink:0}.detail-value{font-weight:500;font-size:.86rem;text-align:right;word-break:break-word}.status-badge{background:var(--foam);color:var(--ocean);padding:.2rem .65rem;border-radius:20px;font-size:.78rem;font-weight:600}.confirmation-note{background:var(--foam);border-radius:var(--radius-sm);padding:1rem;margin-bottom:1.5rem;font-size:.84rem;color:var(--ocean-dark);line-height:1.5}.confirmation-note p+p{margin-top:.35rem}.confirmation-actions{display:flex;gap:.75rem;justify-content:center}.lookup-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.lookup-content{max-width:520px;width:100%;margin:2rem auto;padding:0 1.5rem}.lookup-form{background:var(--card-bg);padding:1.5rem;border-radius:var(--radius);box-shadow:var(--shadow);display:flex;gap:1rem;align-items:flex-end;margin-bottom:1.5rem}.lookup-form .form-group{flex:1}.lookup-result{animation:fadeUp .3s ease}@keyframes fadeUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.booking-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.booking-hero{position:relative;min-height:100px;overflow:hidden;display:flex;align-items:center;justify-content:center}.booking-hero .hero-bg{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,#012a5e,#023e8a,#0077b6 60%,#0096c7 85%,#48cae4)}.booking-hero .hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 600px 400px at 25% 60%,rgba(144,224,239,.1) 0%,transparent 70%),radial-gradient(ellipse 500px 300px at 75% 30%,rgba(202,240,248,.06) 0%,transparent 70%);animation:caustics 8s ease-in-out infinite alternate;z-index:1}.booking-hero .hero-scene{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:2}.booking-hero .hero-scene svg{width:100%;height:100%}.booking-hero-inner{position:relative;z-index:2;text-align:center;padding:.8rem 1rem 2rem}.booking-hero .brand-logo{height:50px!important}.booking-hero .brand-subtitle{color:#ffffffbf;font-size:.85rem;letter-spacing:.3em}.booking-hero .header-waves{position:absolute;bottom:0;left:0;right:0;z-index:3;line-height:0}.booking-hero .header-waves svg{width:100%;height:auto;display:block}.hero-auth-strip{position:absolute;top:.75rem;right:1rem;display:flex;align-items:center;gap:0;z-index:10}.hero-lookup-link{font-size:.78rem;color:#ffffffd9;text-decoration:none;font-weight:500;padding:4px 8px;border-radius:6px;transition:all .15s}.hero-lookup-link:hover{color:#fff;background:#ffffff26;text-decoration:none}.hero-lookup-sep{color:#ffffff4d;margin:0 .1rem;font-size:.75rem}@media (max-width: 768px){.hero-auth-strip{top:auto;bottom:42px;right:auto;left:50%;transform:translate(-50%);white-space:nowrap}.hero-lookup-link{font-size:.72rem;padding:3px 6px}}@media (max-width: 480px){.hero-auth-strip{bottom:38px}.hero-lookup-link{font-size:.68rem;padding:2px 5px}}.booking-step-section{padding:1.5rem 2rem;background:var(--card-bg);border-bottom:1px solid var(--border);position:relative;width:100%}.booking-closed-banner{text-align:center;padding:2.5rem 1.5rem}.booking-closed-banner svg{margin-bottom:1rem;opacity:.8}.booking-closed-banner h2{font-family:var(--font-display);font-size:1.3rem;color:var(--coral);margin-bottom:.5rem}.booking-closed-banner p{color:var(--text-muted);font-size:.9rem;max-width:340px;margin:0 auto;line-height:1.5}.booking-page>.booking-step-section+.booking-step-section{border-top:none}@media (max-width: 768px){.booking-step-section{padding:1rem 1.25rem}}.step-badge{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:var(--ocean);color:#fff;font-size:.72rem;font-weight:700;margin-bottom:.4rem}.step-header-row{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.step-meta{font-size:.82rem;font-weight:600;color:var(--ocean)}.booking-step-section .section-title{font-size:.95rem;font-weight:700;color:var(--text-dark);text-transform:uppercase;letter-spacing:.08em;margin-bottom:.5rem}.map-legend-bar{display:flex;gap:1rem;padding:.4rem 0;flex-wrap:wrap}.map-loading{height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:var(--text-muted)}.selected-summary{margin-top:.5rem;padding:.75rem;background:var(--bg);border-radius:var(--radius-sm);border:1px solid var(--border)}.booking-form{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.form-card{background:var(--bg);border-radius:var(--radius-sm);padding:1rem;border:1px solid var(--border)}.form-card.rules-card,.form-card.terms-card,.form-card.agree-card,.booking-form>.form-error,.booking-form>.btn{grid-column:1 / -1}.form-card-title{font-size:.82rem;font-weight:700;color:var(--text-dark);text-transform:uppercase;letter-spacing:.06em;margin-bottom:.6rem}@media (max-width: 768px){.booking-form{grid-template-columns:1fr}}.time-select{width:100%;padding:.55rem 2rem .55rem .75rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.9rem;background:var(--bg);color:var(--text-dark);cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.time-select:focus{outline:none;border-color:var(--ocean);box-shadow:0 0 0 3px #0077b61a}.rules-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:0;font-family:var(--font-body);font-size:.85rem;font-weight:600;color:var(--text-dark);cursor:pointer}.rules-content{margin-top:.75rem;font-size:.8rem;line-height:1.6;color:var(--text-muted)}.rules-content h4{font-size:.82rem;color:var(--text-dark);margin-bottom:.4rem}.rules-content ol{padding-left:1.2rem}.rules-content li{margin-bottom:.25rem}.empty-hint{text-align:center;color:var(--text-light);font-size:.88rem;line-height:1.5;padding:2rem 1.25rem}.terms-compact{font-size:.82rem}.booking-prompt{flex:1;display:flex;align-items:center;justify-content:center;padding:3rem 1.5rem}.prompt-card{text-align:center;padding:2.5rem;background:var(--card-bg);border-radius:var(--radius-lg);box-shadow:var(--shadow);max-width:400px}.prompt-card h3{margin-top:1rem;font-size:1.15rem;color:var(--text-dark)}.prompt-card p{margin-top:.35rem;color:var(--text-muted);font-size:.9rem}@media (max-width: 768px){.brand-title{font-size:3rem}.brand-subtitle{font-size:.82rem;letter-spacing:.25em}.hero-inner{padding:2.5rem 1.5rem 4.5rem}.hero-tagline{font-size:1rem}.landing-hero{min-height:280px}.features-strip{gap:1rem;padding:1rem}.feature{font-size:.78rem}.feature-icon{width:30px;height:30px}.feature-icon svg{width:16px;height:16px}.zone-grid{grid-template-columns:repeat(3,1fr);gap:.6rem}.zone-card{padding:.85rem .5rem}.zone-letter{font-size:1.4rem}.select-layout{flex-direction:column}.map-section{flex:none;height:auto;max-height:60vh;min-height:300px}.selection-sidebar{width:100%;border-left:none;border-top:2px solid var(--border);flex:1;max-height:none;padding:1rem 1.25rem}.details-layout{flex-direction:column}.details-sidebar{width:100%;border-left:none;border-top:1px solid var(--border);padding:1.25rem}.details-form{padding:1.25rem}.form-row{grid-template-columns:1fr}.confirmation-card{padding:1.75rem;border-radius:var(--radius-lg)}.confirmation-actions{flex-direction:column}.lookup-form{flex-direction:column;align-items:stretch}.date-strip-arrow{display:none}.date-card{min-width:74px;padding:.65rem .45rem}.date-card-num{font-size:1.45rem}.calendar-day{font-size:.85rem}.calendar-title{font-size:1rem}.booking-step{padding:1.25rem}.time-slots-grid{grid-template-columns:repeat(2,1fr);gap:.5rem}.booking-step-summary{padding:1rem 1.25rem}.booking-step-section{padding:1rem}.booking-hero{min-height:120px}.booking-hero-inner{padding:.75rem 1rem 2rem}.booking-hero .brand-title{font-size:2rem}.booking-hero .brand-subtitle{font-size:.7rem}}@media (max-width: 480px){html{font-size:15px}.brand-title{font-size:2.5rem;letter-spacing:.15em}.brand-subtitle{font-size:.75rem;letter-spacing:.2em}.hero-inner{padding:2rem 1rem 4rem}.hero-tagline{font-size:.9rem}.landing-hero{min-height:240px}.features-strip{gap:.5rem}.feature span{display:none}.feature-icon{width:36px;height:36px}.landing-main{padding:0 1rem 2rem}.zone-grid{grid-template-columns:repeat(2,1fr)}h1{font-size:1.4rem}h2,.hero-text h2{font-size:1.3rem}.hero-text p{font-size:.88rem}.date-form{padding:1.25rem}.page-header{padding:.75rem 1rem;gap:.65rem}.header-info h1{font-size:1.15rem}.map-legend{gap:.6rem;padding:.55rem .75rem;justify-content:center}.legend-item{font-size:.75rem}.map-section{padding:.5rem;max-height:55vh;min-height:260px}.selection-sidebar{padding:.85rem 1rem}.calendar-nav{width:32px;height:32px}.calendar-day{font-size:.82rem}.confirmation-card{padding:1.25rem}.reference-code{font-size:1.4rem}.pricing-item{padding:.35rem 0}.pricing-seat,.pricing-rate{font-size:.84rem}.booking-step-section{padding:.75rem}.booking-hero{min-height:80px}.booking-hero-inner{padding:.4rem 1rem 1.5rem}.booking-hero .brand-logo{height:40px!important}.booking-hero .brand-subtitle{font-size:.6rem;letter-spacing:.18em}.booking-hero .brand-divider{display:none}.booking-hero .header-waves svg{height:40px}.beach-map-container{height:50vh}.booking-step-map{padding:.5rem .75rem 0!important}.booking-step-map .step-badge{width:22px;height:22px;font-size:.7rem}.booking-step-map .section-title{font-size:.95rem}.map-mobile-hint{display:flex}}.floating-bar-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:99;animation:fadeIn .2s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.floating-bar{position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--card-bg);border-top:1px solid var(--border);box-shadow:0 -4px 20px #0000001f;transform:translateY(100%);transition:transform .3s cubic-bezier(.4,0,.2,1)}.floating-bar.visible{transform:translateY(0)}.floating-bar-main{display:flex;align-items:center;justify-content:space-between;padding:.65rem 1.25rem;padding-bottom:calc(.65rem + env(safe-area-inset-bottom,0px));gap:1rem}.floating-bar-summary{display:flex;align-items:center;gap:.75rem;background:none;border:none;cursor:pointer;font-family:var(--font-body);color:var(--text-dark);padding:.35rem .5rem;border-radius:var(--radius-sm);transition:background .15s;-webkit-tap-highlight-color:transparent}.floating-bar-summary:hover{background:var(--sand-light)}.floating-bar-count{display:flex;align-items:baseline;gap:.3rem}.floating-bar-count-num{font-size:1.35rem;font-weight:700;color:var(--ocean);line-height:1}.floating-bar-count-label{font-size:.82rem;font-weight:500;color:var(--text-muted)}.floating-bar-total{font-size:1rem;font-weight:700;color:var(--text-dark)}.floating-bar-chevron{transition:transform .2s;color:var(--text-muted)}.floating-bar-chevron.up{transform:rotate(180deg)}.floating-bar-continue{padding:.65rem 1.5rem;font-size:.92rem;white-space:nowrap;flex-shrink:0}.floating-bar-details{border-bottom:1px solid var(--border);max-height:280px;overflow-y:auto;animation:slideUp .2s ease}@keyframes slideUp{0%{opacity:0;max-height:0}to{opacity:1;max-height:280px}}.floating-bar-details-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1.25rem .4rem}.floating-bar-details-title{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.floating-bar-close{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:var(--text-muted);cursor:pointer;transition:background .15s}.floating-bar-close:hover{background:var(--sand)}.floating-bar-seat-list{padding:0 1.25rem .75rem}.floating-bar-seat-item{display:flex;align-items:center;gap:.5rem;padding:.4rem 0;border-bottom:1px solid var(--border)}.floating-bar-seat-item:last-child{border-bottom:none}.floating-bar-seat-remove{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;border-radius:50%;background:#fef2f2;color:#ef4444;cursor:pointer;flex-shrink:0;transition:background .15s;padding:0}.floating-bar-seat-remove:hover{background:#fee2e2}.floating-bar-seat-code{font-weight:600;font-size:.88rem}.floating-bar-seat-zone{font-size:.75rem;color:var(--text-light);flex:1}.floating-bar-seat-rate{font-size:.85rem;font-weight:600;color:var(--ocean)}.seat-popover{position:absolute;background:var(--card-bg);border-radius:var(--radius-sm);padding:.55rem .75rem;box-shadow:var(--shadow-lg);z-index:50;min-width:140px;border:1px solid var(--border);animation:popoverIn .15s ease;pointer-events:auto}@keyframes popoverIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.popover-header{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.2rem}.popover-header strong{font-size:.9rem}.tooltip-badge.selected{background:#fef2f2;color:var(--coral)}.popover-body{display:flex;gap:.5rem;font-size:.76rem;color:var(--text-muted)}.popover-hint{font-size:.7rem;color:var(--text-light);margin-top:.2rem;font-style:italic}@keyframes seat-pulse{0%{transform:scale(1.15)}50%{transform:scale(1.3)}to{transform:scale(1.15)}}.seat-node.selected .sunbed-visual{animation:seat-pulse .35s ease-out;transform:scale(1.15)}.checkout-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:var(--bg)}.checkout-header{display:flex;align-items:center;gap:1rem;padding:.85rem 1.25rem;background:var(--card-bg);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:50;box-shadow:var(--shadow-xs)}.checkout-header-info h1{font-size:1.2rem;font-family:var(--font-display)}.checkout-layout{flex:1;display:flex;gap:0;max-width:1100px;width:100%;margin:0 auto}.checkout-form{flex:1;padding:1.5rem 2rem;display:flex;flex-direction:column;gap:1.25rem}.checkout-section{background:var(--card-bg);border-radius:var(--radius);padding:1.25rem;border:1px solid var(--border)}.checkout-section-title{display:flex;align-items:center;gap:.5rem;font-family:var(--font-body);font-size:.85rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-dark);margin-bottom:1rem}.checkout-section-title svg{color:var(--ocean);flex-shrink:0}.time-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(85px,1fr));gap:.5rem}.time-chip{padding:.55rem .5rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--white);font-family:var(--font-body);font-size:.85rem;font-weight:500;color:var(--text-dark);cursor:pointer;transition:all .15s;-webkit-tap-highlight-color:transparent;text-align:center}.time-chip:hover{border-color:var(--ocean-light);background:var(--foam)}.time-chip.active{border-color:var(--ocean);background:var(--ocean);color:var(--white);font-weight:600;box-shadow:0 2px 8px #0077b640}.time-empty{color:var(--text-light);font-size:.85rem;font-style:italic}.checkout-fields{display:flex;flex-direction:column;gap:.75rem}.checkout-field-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.guest-selector{margin-top:1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:.75rem 1rem}.guest-row{display:flex;align-items:center;justify-content:space-between;padding:.6rem 0}.guest-row+.guest-row{border-top:1px solid var(--border)}.guest-info{display:flex;flex-direction:column}.guest-type{font-weight:600;font-size:.9rem;color:var(--text-dark)}.guest-desc{font-size:.7rem;color:var(--text-muted);margin-top:1px}.guest-counter{display:flex;align-items:center;gap:0;border:1px solid var(--border);border-radius:8px;overflow:hidden}.counter-btn{width:36px;height:34px;border:none;background:var(--sand-light);font-size:1.1rem;font-weight:600;color:var(--ocean);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .12s}.counter-btn:hover{background:var(--foam)}.counter-btn:disabled{color:var(--text-light);cursor:not-allowed}.counter-value{width:36px;text-align:center;font-size:1rem;font-weight:700;color:var(--text-dark)}.guest-hint{font-size:.72rem;color:var(--ocean);font-weight:500;margin-top:.5rem;text-align:center}.time-select{width:100%;padding:.7rem .9rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;font-family:var(--font-body);color:var(--text-dark);background:var(--white);outline:none;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236c757d' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center}.time-select:focus{border-color:var(--ocean);box-shadow:0 0 0 3px #0077b61f}.seat-toast{position:fixed;bottom:24px;left:50%;transform:translate(-50%);z-index:999;display:flex;align-items:center;gap:10px;background:#1a1a2e;color:#fff;padding:.75rem 1.25rem;border-radius:12px;font-size:.82rem;font-weight:500;box-shadow:0 6px 24px #00000040;max-width:90vw;animation:toastIn .3s ease-out}.seat-toast svg{flex-shrink:0;stroke:#f59e0b}@keyframes toastIn{0%{opacity:0;transform:translate(-50%) translateY(20px)}to{opacity:1;transform:translate(-50%) translateY(0)}}.pending-payment-banner{display:flex;gap:12px;background:#fff7ed;border:1.5px solid #fed7aa;border-radius:var(--radius);padding:1rem;margin-bottom:1rem}.pending-payment-icon{font-size:1.5rem;flex-shrink:0}.pending-payment-content{flex:1}.pending-payment-content strong{color:#9a3412;font-size:.9rem}.pending-payment-content p{color:#78350f;font-size:.82rem;margin:4px 0 10px;line-height:1.4}.pending-payment-actions{display:flex;gap:8px;flex-wrap:wrap}.wallet-check-btn{background:#ecfdf5;color:#065f46;border:1.5px solid #86efac;border-radius:var(--radius-sm);padding:0 12px;font-size:.75rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s;font-family:var(--font-body)}.wallet-check-btn:hover{background:#d1fae5;border-color:#4ade80}.wallet-checkout-strip{background:#ecfdf5;border:1px solid #86efac;border-radius:var(--radius-sm);padding:.65rem 1rem;margin-top:.5rem}.wallet-checkout-info{display:flex;flex-direction:column;gap:2px;font-size:.82rem;color:#065f46}.booking-summary-strip{display:flex;align-items:center;justify-content:center;gap:0;background:var(--foam);border:1px solid rgba(0,119,182,.15);border-radius:var(--radius);padding:.75rem 1rem;margin-bottom:1rem}.summary-item{flex:1;text-align:center}.summary-value{display:block;font-size:1.1rem;font-weight:700;color:var(--ocean-dark);font-family:var(--font-body)}.summary-label{display:block;font-size:.65rem;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.05em;margin-top:2px}.summary-divider{width:1px;height:28px;background:#0077b633}.booking-step-details{background:#fff}.inline-checkout-form{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin-top:.75rem;width:100%}.inline-checkout-form .form-card{background:var(--card-bg)}.inline-checkout-form .form-card-title{display:flex;align-items:center;gap:.5rem}.inline-checkout-form .form-card-title svg{color:var(--ocean);flex-shrink:0}.inline-checkout-form .checkout-fields{display:grid;grid-template-columns:1fr 1fr;gap:.6rem .75rem}.inline-checkout-form .form-group-full{grid-column:1 / -1}.inline-checkout-form .form-hint{font-size:.78rem;color:var(--text-muted);margin:-.2rem 0 .1rem}.inline-checkout-form>.rules-card,.inline-checkout-form>.terms-card,.inline-checkout-form>.form-error,.inline-checkout-form>.btn{grid-column:1 / -1}@media (max-width: 900px){.inline-checkout-form,.inline-checkout-form .checkout-fields{grid-template-columns:1fr}}.phone-input{display:flex;gap:.5rem;padding:0;border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--white);transition:border-color .2s,box-shadow .2s}.phone-input:focus-within{border-color:var(--ocean);box-shadow:0 0 0 3px #0077b61f}.phone-input .PhoneInputCountry{display:flex;align-items:center;padding:0;border-right:1px solid var(--border);gap:0}.country-select-wrapper{position:relative}.country-select-trigger{display:flex;align-items:center;gap:.4rem;padding:.6rem .7rem;background:transparent;border:none;cursor:pointer;font-family:var(--font-body);font-size:.92rem;color:var(--text-dark);-webkit-tap-highlight-color:transparent}.country-select-trigger:hover{background:var(--sand-light)}.country-select-flag{width:22px;height:16px;border-radius:2px;overflow:hidden;display:inline-flex;flex-shrink:0;box-shadow:0 1px 2px #00000026}.country-select-flag svg,.country-select-flag img{width:100%;height:100%;display:block;object-fit:cover}.country-select-flag-placeholder{background:var(--sand);align-items:center;justify-content:center;font-size:11px;box-shadow:none}.country-select-dial{font-weight:500;color:var(--text-dark);min-width:32px}.country-select-chevron{color:var(--text-muted);flex-shrink:0}.country-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:100;width:280px;max-height:340px;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden}.country-select-search-row{padding:.55rem;border-bottom:1px solid var(--border);background:var(--bg)}.country-select-search{width:100%;padding:.5rem .7rem;border:1px solid var(--border);border-radius:var(--radius-sm);font-family:var(--font-body);font-size:.88rem;background:var(--white);color:var(--text-dark);outline:none}.country-select-search:focus{border-color:var(--ocean)}.country-select-list{list-style:none;margin:0;padding:.25rem 0;overflow-y:auto;flex:1}.country-select-empty{padding:1rem;text-align:center;color:var(--text-light);font-size:.85rem}.country-select-option{display:flex;align-items:center;gap:.55rem;padding:.5rem .75rem;cursor:pointer;font-size:.88rem;color:var(--text-dark);transition:background .1s}.country-select-option:hover{background:var(--sand-light)}.country-select-option.active{background:var(--foam);font-weight:600;color:var(--ocean-dark)}.country-select-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.country-select-option-dial{color:var(--text-muted);font-size:.82rem;font-weight:500}.phone-input .PhoneInputCountrySelect{cursor:pointer}.phone-input .PhoneInputCountryIcon{display:none}.phone-input .PhoneInputCountryIcon--border{box-shadow:0 1px 2px #00000026;background:transparent}.phone-input .PhoneInputCountryIconImg{display:block;width:100%;height:100%;object-fit:cover}.phone-input .PhoneInputCountrySelectArrow{display:none}.phone-input .PhoneInputInput{flex:1;border:none;outline:none;padding:.75rem .9rem .75rem 0;font-family:var(--font-body);font-size:.92rem;color:var(--text-dark);background:transparent;min-width:0}.phone-input .PhoneInputInput::placeholder{color:var(--text-light)}.checkout-terms{background:var(--foam);border-color:var(--ocean-light)}.checkout-submit{padding:1rem;font-size:1.05rem}.checkout-sidebar{width:340px;padding:1.5rem;background:var(--sand-light);border-left:1px solid var(--border)}.checkout-summary-card{position:sticky;top:80px;background:var(--card-bg);border-radius:var(--radius);padding:1.25rem;box-shadow:var(--shadow)}.checkout-summary-card h3{font-family:var(--font-body);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:1rem}.checkout-summary-row{display:flex;align-items:center;gap:.5rem;padding-bottom:.75rem;margin-bottom:.75rem;border-bottom:1px solid var(--border);font-size:.9rem;font-weight:500;color:var(--text-dark)}.checkout-summary-row svg{color:var(--ocean);flex-shrink:0}.checkout-summary-seats{margin-bottom:.75rem;padding-bottom:.75rem;border-bottom:1px solid var(--border)}.checkout-summary-label{display:block;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--text-muted);margin-bottom:.5rem}.checkout-summary-seat-row{display:flex;justify-content:space-between;padding:.3rem 0;font-size:.85rem}.checkout-summary-seat-row small{color:var(--text-light);margin-left:.3rem}.checkout-summary-total{display:flex;justify-content:space-between;font-weight:700;font-size:1.05rem;padding-top:.5rem}@media (max-width: 768px){.checkout-layout{flex-direction:column-reverse}.checkout-sidebar{width:100%;border-left:none;border-bottom:1px solid var(--border);padding:1rem 1.25rem}.checkout-summary-card{position:static}.checkout-form{padding:1.25rem}.checkout-field-row{grid-template-columns:1fr}.floating-bar-continue{padding:.6rem 1rem;font-size:.85rem}.floating-bar-count-num{font-size:1.15rem}}@media (max-width: 480px){.floating-bar-main{padding:.5rem .75rem;padding-bottom:calc(.5rem + env(safe-area-inset-bottom,0px))}.floating-bar-total{font-size:.88rem}}@supports (padding-top: env(safe-area-inset-top)){.landing-header{padding-top:calc(2rem + env(safe-area-inset-top))}.page-header,.checkout-header{padding-top:calc(.85rem + env(safe-area-inset-top))}}.auth-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--sand-light) 0%,var(--foam) 100%);padding:2rem}.auth-card{background:var(--white);border-radius:var(--radius-xl);padding:2.5rem;width:100%;max-width:420px;box-shadow:var(--shadow-lg)}.auth-header{text-align:center;margin-bottom:2rem}.auth-header h1{font-family:var(--font-display);font-size:1.75rem;color:var(--text-dark);margin-bottom:.5rem}.auth-header p{color:var(--text-muted);font-size:.9rem}.auth-error{background:#fef2f2;color:#991b1b;border:1px solid #fecaca;border-radius:var(--radius-sm);padding:.75rem 1rem;font-size:.85rem;margin-bottom:1.25rem}.auth-form .form-group{margin-bottom:1.25rem}.auth-form label{display:block;font-size:.82rem;font-weight:600;color:var(--text-dark);margin-bottom:.4rem}.auth-form input{width:100%;padding:.7rem .9rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.95rem;font-family:var(--font-body);color:var(--text-dark);outline:none;transition:border-color .2s,box-shadow .2s;background:var(--white)}.auth-form input:focus{border-color:var(--ocean);box-shadow:0 0 0 3px #0077b61f}.auth-form input::placeholder{color:var(--text-light)}.auth-form .btn-block{width:100%;margin-top:.5rem}.auth-footer{text-align:center;margin-top:1.5rem;font-size:.85rem;color:var(--text-muted)}.auth-footer a{color:var(--ocean);text-decoration:none;font-weight:500}.auth-footer a:hover{text-decoration:underline}.auth-footer p{margin-bottom:.5rem}.auth-back{display:inline-block;margin-top:.5rem;color:var(--text-muted)!important;font-size:.82rem}.reschedule-page{min-height:100vh;background:var(--bg)}.reschedule-header{display:flex;align-items:center;gap:12px;padding:.75rem 1.25rem;background:linear-gradient(180deg,#012a5e,#0077b6)}.reschedule-back{color:#fffc;font-size:.82rem;text-decoration:none}.reschedule-card{background:var(--card-bg);border-bottom:1px solid var(--border);padding:1.25rem}.reschedule-card h2{font-family:var(--font-display);font-size:1.2rem;margin:0 0 .25rem}.reschedule-card h3{font-family:var(--font-display);font-size:1rem;margin:0 0 .75rem}.reschedule-ref{font-family:ui-monospace,monospace;color:var(--ocean);font-size:.85rem;font-weight:600;margin-bottom:.75rem}.reschedule-current{background:var(--sand-light);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem 1rem;margin-top:.75rem}.reschedule-current-label{font-size:.65rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted);margin-bottom:.5rem}.reschedule-current-row{font-size:.85rem;padding:.2rem 0;color:var(--text-dark)}.reschedule-select{width:100%;padding:.6rem .8rem;border:1.5px solid var(--border);border-radius:var(--radius-sm);font-size:.9rem;font-family:var(--font-body);background:var(--white);margin-bottom:1rem}.reschedule-summary{background:var(--sand-light);border:1px solid var(--border);border-radius:var(--radius-sm);padding:.75rem 1rem;margin-top:.75rem}.reschedule-summary-row{display:flex;justify-content:space-between;padding:.3rem 0;font-size:.85rem}.reschedule-diff{margin-top:.5rem;padding:.5rem .75rem;border-radius:6px;font-size:.82rem;font-weight:600;text-align:center}.reschedule-diff.pay{background:#fff7ed;color:#9a3412}.reschedule-diff.credit{background:#ecfdf5;color:#065f46}.my-bookings-page{max-width:800px;margin:0 auto;padding:2rem 1.5rem 4rem}.my-bookings-header{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:2rem;gap:1rem;flex-wrap:wrap}.my-bookings-header h1{font-family:var(--font-display);font-size:1.75rem;margin-bottom:.25rem}.my-bookings-user{font-size:.85rem;color:var(--text-muted)}.my-bookings-actions{display:flex;gap:.5rem}.my-bookings-loading{text-align:center;padding:4rem 1rem;color:var(--text-muted)}.my-bookings-empty{text-align:center;padding:4rem 1rem;background:var(--white);border-radius:var(--radius-lg);border:1px solid var(--border)}.my-bookings-empty h3{font-family:var(--font-display);margin-bottom:.5rem}.my-bookings-empty p{color:var(--text-muted);margin-bottom:1.5rem}.my-bookings-section{margin-bottom:2rem}.my-bookings-section h2{font-family:var(--font-display);font-size:1.15rem;margin-bottom:1rem;color:var(--text-dark)}.booking-cards{display:flex;flex-direction:column;gap:.75rem}.booking-card{background:var(--white);border:1px solid var(--border);border-radius:var(--radius);padding:1.25rem;transition:box-shadow .15s}.booking-card:hover{box-shadow:var(--shadow)}.booking-card.past{opacity:.7}.booking-card-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:.75rem}.booking-date{font-weight:600;font-size:.95rem;color:var(--text-dark)}.booking-time{font-size:.82rem;color:var(--text-muted);margin-top:2px}.booking-status{font-size:.72rem;font-weight:600;padding:3px 10px;border-radius:999px;text-transform:uppercase;letter-spacing:.03em}.status-reserved{background:var(--foam);color:var(--ocean-dark)}.status-occupied{background:#fef3e2;color:#b45309}.status-cancelled{background:#fef2f2;color:#991b1b}.status-pending{background:#fff7ed;color:#9a3412}.status-default{background:#f3f4f6;color:#555}.booking-card-body{display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.booking-seats{display:flex;gap:.4rem;flex-wrap:wrap}.booking-seat-badge{background:var(--foam);color:var(--ocean-dark);padding:3px 8px;border-radius:6px;font-size:.78rem;font-weight:600}.booking-seat-badge small{font-weight:400;opacity:.7}.booking-card-meta{display:flex;align-items:center;gap:1rem;font-size:.82rem}.booking-ref{font-family:ui-monospace,monospace;color:var(--text-muted);font-size:.75rem}.booking-amount{font-weight:600;color:var(--text-dark)}.booking-card-footer{margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.booking-card-link{color:var(--ocean);font-size:.82rem;font-weight:500;text-decoration:none}.booking-card-link:hover{text-decoration:underline}@media (max-width: 480px){.auth-card{padding:1.75rem}.my-bookings-header{flex-direction:column}.my-bookings-actions{width:100%}.my-bookings-actions .btn{flex:1;text-align:center}}.booking-page.v2{min-height:100vh;background:var(--bg)}.v2-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:linear-gradient(180deg,#012a5e,#0077b6)}.v2-logo{height:36px}.v2-header-right{display:flex;gap:.5rem}.v2-link{color:#fffc;font-size:.78rem;text-decoration:none;padding:4px 10px;border:1px solid rgba(255,255,255,.3);border-radius:6px}.v2-link:hover{color:#fff;border-color:#fff9}.v2-section{padding:1rem 1.25rem;background:var(--card-bg);border-bottom:1px solid var(--border)}.v2-title{font-family:var(--font-display);font-size:1.1rem;margin-bottom:.75rem}.v2-map-section{padding:.75rem .75rem 0;background:var(--sand-light)}.v2-map-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem;padding:0 .5rem}.v2-date-badge{font-size:.8rem;color:var(--ocean);font-weight:600}.v2-legend{display:flex;gap:.75rem;font-size:.72rem;color:var(--text-muted);padding:0 .5rem;margin-bottom:.5rem}.v2-map-container{position:relative}.minimap-container{position:absolute;top:8px;right:8px;z-index:20;border-radius:6px;overflow:hidden;box-shadow:0 2px 8px #00000026;border:1.5px solid rgba(0,119,182,.3);cursor:pointer;background:#ffffffe6}.minimap-container:active{opacity:.8}.v2-selection-bar{position:fixed;bottom:0;left:0;right:0;background:var(--card-bg);border-top:1px solid var(--border);box-shadow:0 -2px 12px #00000014;padding:.75rem 1rem;padding-bottom:calc(.75rem + env(safe-area-inset-bottom,0px));z-index:50;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.v2-selection-seats{display:flex;gap:.35rem;flex-wrap:wrap;flex:1}.v2-seat-chip{background:var(--foam);color:var(--ocean-dark);padding:3px 8px;border-radius:6px;font-size:.72rem;font-weight:600;display:inline-flex;align-items:center;gap:4px}.v2-seat-remove{background:none;border:none;color:var(--ocean-dark);cursor:pointer;font-size:.85rem;padding:0;line-height:1;opacity:.6}.v2-seat-remove:hover{opacity:1}.v2-selection-total{display:flex;align-items:center;gap:.75rem;font-weight:700;font-size:.9rem;white-space:nowrap}.btn-sm{padding:6px 16px;font-size:.8rem}.wallet-page{min-height:100vh;background:var(--bg)}.wallet-header{display:flex;align-items:center;gap:12px;padding:.75rem 1.25rem;background:linear-gradient(180deg,#012a5e,#0077b6)}.wallet-balance-card{text-align:center;padding:2rem 1rem;background:linear-gradient(135deg,#012a5e,#0077b6);color:#fff}.wallet-balance-label{font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;opacity:.7}.wallet-balance-amount{font-size:2.5rem;font-weight:800;margin:.25rem 0}.wallet-balance-sub{font-size:.78rem;opacity:.6}.wallet-section{padding:1.25rem}.wallet-section h3{font-family:var(--font-display);font-size:1rem;margin:0 0 1rem}.wallet-tx-list{display:flex;flex-direction:column;gap:.5rem}.wallet-tx{display:flex;justify-content:space-between;align-items:flex-start;padding:.75rem 1rem;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius-sm)}.wallet-tx-left{display:flex;flex-direction:column;gap:2px}.wallet-tx-type{font-weight:700;font-size:.95rem}.wallet-tx.credit .wallet-tx-type{color:#065f46}.wallet-tx.debit .wallet-tx-type{color:#991b1b}.wallet-tx-reason{font-size:.75rem;color:var(--text-muted)}.wallet-tx-ref{font-size:.68rem;font-family:ui-monospace,monospace;color:var(--ocean)}.wallet-tx-right{text-align:right;display:flex;flex-direction:column;gap:2px}.wallet-tx-date,.wallet-tx-balance{font-size:.72rem;color:var(--text-muted)}
