.cx-shell{background:hsl(var(--background));flex-direction:column;min-height:100dvh;display:flex}.cx-header{z-index:1100;background:hsl(var(--card) / .92);-webkit-backdrop-filter:blur(10px);border-bottom:1px solid hsl(var(--border));position:sticky;top:0}.cx-header-inner{justify-content:space-between;align-items:center;gap:1rem;max-width:1200px;margin:0 auto;padding:.7rem 1rem;display:flex}.cx-logo{color:hsl(var(--foreground));align-items:center;gap:.5rem;font-size:1.05rem;font-weight:600;text-decoration:none;display:flex}.cx-nav{align-items:center;gap:.25rem;display:flex}.cx-nav-link{color:hsl(var(--muted-foreground));border-radius:999px;align-items:center;gap:.4rem;padding:.5rem .85rem;font-size:.9rem;font-weight:500;text-decoration:none;display:inline-flex}.cx-nav-link:hover{color:hsl(var(--foreground));background:hsl(var(--secondary))}.cx-nav-link.active{color:hsl(var(--foreground));background:hsl(var(--accent))}.cx-main{flex:1;width:100%;max-width:1200px;margin:0 auto;padding:1.5rem 1rem 6rem}.cx-main.cx-main-wide{max-width:none;padding:0}.cx-bottom-nav{display:none}@media (max-width:768px){.cx-nav{display:none}.cx-bottom-nav{z-index:1100;background:hsl(var(--card));border-top:1px solid hsl(var(--border));padding:.35rem .5rem calc(.35rem + env(safe-area-inset-bottom));justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0}.cx-bottom-link{color:hsl(var(--muted-foreground));border-radius:var(--radius-sm);flex-direction:column;flex:1;align-items:center;gap:.2rem;padding:.4rem 0;font-size:.72rem;font-weight:500;text-decoration:none;display:flex}.cx-bottom-link.active{color:hsl(var(--foreground))}.cx-bottom-link.active svg{background:hsl(var(--brand));box-sizing:content-box;border-radius:999px;padding:2px 10px}}.cx-page-title{letter-spacing:-.02em;margin-bottom:.35rem;font-size:1.6rem;font-weight:600}.cx-page-subtitle{color:hsl(var(--muted-foreground));margin:0 0 1.5rem;font-size:.95rem}.cx-card{background:hsl(var(--card));border-radius:var(--radius-lg);box-shadow:var(--shadow-card);padding:1.25rem}.cx-narrow{max-width:440px;margin:0 auto}.cx-auth-tabs{background:hsl(var(--secondary));border-radius:var(--radius);grid-template-columns:1fr 1fr;margin-bottom:1.25rem;padding:4px;display:grid}.cx-auth-tabs button{border-radius:var(--radius-sm);cursor:pointer;color:hsl(var(--muted-foreground));background:0 0;border:none;padding:.6rem;font-size:.92rem;font-weight:500}.cx-auth-tabs button.active{background:hsl(var(--card));color:hsl(var(--foreground));box-shadow:var(--shadow-card)}.cx-auth-intro{color:hsl(var(--muted-foreground));margin:0 0 1rem;font-size:.9rem;line-height:1.5}.cx-form{flex-direction:column;gap:1rem;display:flex}.cx-form .full-width{margin-top:.25rem}.cx-check{color:hsl(var(--muted-foreground));cursor:pointer;align-items:flex-start;gap:.6rem;font-size:.82rem;line-height:1.45;display:flex}.cx-check input{width:1.05rem;height:1.05rem;accent-color:hsl(var(--primary));flex-shrink:0;margin-top:.15rem}.cx-check a,.cx-small-link,.cx-link-button{color:hsl(var(--foreground));font-weight:600;text-decoration:underline}.cx-small-link{align-self:center;font-size:.85rem}.cx-link-button{cursor:pointer;font:inherit;background:0 0;border:none;padding:0}.cx-hint{margin-top:.35rem;font-size:.8rem}.cx-error{border-radius:var(--radius-sm);background:hsl(var(--destructive) / .08);color:hsl(var(--destructive));margin:0;padding:.7rem .9rem;font-size:.86rem}.cx-notice{border-radius:var(--radius);background:hsl(var(--accent));color:hsl(var(--accent-foreground));padding:.8rem 1rem;font-size:.88rem;line-height:1.5}.cx-explore{grid-template-columns:380px minmax(0,1fr);height:calc(100dvh - 57px);display:grid}.cx-explore-panel,.cx-explore-filters,.cx-map-wrap{min-width:0}.cx-sheet-handle{display:none}.cx-explore-panel{background:hsl(var(--card));border-right:1px solid hsl(var(--border));flex-direction:column;min-height:0;display:flex}.cx-explore-filters{border-bottom:1px solid hsl(var(--border));flex-direction:column;gap:.75rem;padding:1rem;display:flex}.cx-search{position:relative}.cx-search svg{color:hsl(var(--muted-foreground));pointer-events:none;position:absolute;top:50%;left:.85rem;transform:translateY(-50%)}.cx-search .input{padding-left:2.5rem}.cx-chips{flex-wrap:wrap;gap:.4rem;display:flex}.cx-chips::-webkit-scrollbar{display:none}.cx-chip{border:1px solid hsl(var(--border));background:hsl(var(--card));cursor:pointer;white-space:nowrap;border-radius:999px;flex-shrink:0;padding:.4rem .8rem;font-size:.82rem;font-weight:500}.cx-chip.active{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.cx-results-meta{color:hsl(var(--muted-foreground));justify-content:space-between;align-items:center;font-size:.82rem;display:flex}.cx-results{flex:1;margin:0;padding:.5rem;list-style:none;overflow-y:auto}.cx-result{border-radius:var(--radius);cursor:pointer;text-align:left;background:0 0;border:1px solid #0000;align-items:center;gap:.8rem;width:100%;padding:.7rem;display:flex}.cx-result:hover,.cx-result.active{background:hsl(var(--secondary))}.cx-result.active{border-color:hsl(var(--border))}.cx-avatar{border-radius:var(--radius);background:hsl(var(--accent));width:48px;height:48px;color:hsl(var(--accent-foreground));flex-shrink:0;justify-content:center;align-items:center;font-weight:600;display:flex;overflow:hidden}.cx-avatar img{object-fit:cover;width:100%;height:100%}.cx-result-body{flex-direction:column;flex:1;gap:.15rem;min-width:0;display:flex}.cx-result-name{text-overflow:ellipsis;white-space:nowrap;font-size:.95rem;font-weight:600;overflow:hidden}.cx-result-sub{color:hsl(var(--muted-foreground));text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;overflow:hidden}.cx-rating{align-items:center;gap:.2rem;font-size:.8rem;font-weight:600;display:inline-flex}.cx-map-wrap{min-height:0;position:relative}.cx-map{z-index:0;position:absolute;inset:0}.cx-map-actions{z-index:500;flex-direction:column;gap:.5rem;display:flex;position:absolute;bottom:1.5rem;right:.75rem}.cx-fab{background:hsl(var(--card));box-shadow:var(--shadow-float);cursor:pointer;border:none;border-radius:999px;align-items:center;gap:.45rem;padding:.65rem 1rem;font-size:.85rem;font-weight:600;display:inline-flex}.cx-empty{text-align:center;color:hsl(var(--muted-foreground));padding:2rem 1rem;font-size:.9rem;line-height:1.5}.cx-pin{background:hsl(var(--primary));border:2px solid hsl(var(--card));border-radius:50% 50% 50% 0;justify-content:center;align-items:center;width:34px;height:34px;display:flex;transform:rotate(-45deg);box-shadow:0 2px 8px #0000004d}.cx-pin span{color:hsl(var(--brand));font-size:.8rem;font-weight:700;font-family:var(--font-sans), system-ui, sans-serif;transform:rotate(45deg)}.cx-pin.active{background:hsl(var(--brand))}.cx-pin.active span{color:hsl(var(--brand-foreground))}.cx-popup{min-width:180px;font-family:var(--font-sans), system-ui, sans-serif;flex-direction:column;gap:.35rem;display:flex}.cx-popup strong{font-size:.95rem}.cx-popup small{color:hsl(var(--muted-foreground))}.cx-popup-actions{gap:.4rem;margin-top:.3rem;display:flex}.cx-popup-actions a{text-align:center;border-radius:var(--radius-sm);flex:1;padding:.45rem .6rem;font-size:.8rem;font-weight:600;text-decoration:none}.cx-popup-actions a.primary{background:hsl(var(--primary));color:hsl(var(--primary-foreground))}.cx-popup-actions a.secondary{background:hsl(var(--secondary));color:hsl(var(--foreground))}.leaflet-container{font-family:var(--font-sans), system-ui, sans-serif;background:hsl(var(--muted))}@media (max-width:768px){.cx-explore{--cx-nav-h:calc(62px + env(safe-area-inset-bottom));height:calc(100dvh - 57px);display:block;position:relative}.cx-map-wrap{position:absolute;inset:0}.cx-explore-panel{left:0;right:0;bottom:var(--cx-nav-h);z-index:600;border-right:none;border-radius:20px 20px 0 0;max-height:58%;position:absolute;box-shadow:0 -8px 30px #10101424}.cx-explore-panel.collapsed .cx-explore-filters,.cx-explore-panel.collapsed .cx-results,.cx-explore-panel.collapsed .cx-empty{display:none}.cx-sheet-handle{width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:none;flex-direction:column;gap:.4rem;padding:.5rem 1rem .45rem;display:flex}.cx-sheet-grip{background:hsl(var(--border));border-radius:999px;align-self:center;width:40px;height:4px}.cx-sheet-label{color:hsl(var(--muted-foreground));justify-content:space-between;align-items:center;gap:.75rem;font-size:.85rem;display:flex}.cx-sheet-label strong{color:hsl(var(--foreground));flex-shrink:0;align-items:center;gap:.2rem;font-weight:600;display:inline-flex}.cx-explore-filters{gap:.6rem;padding:.25rem 1rem .75rem}.cx-explore-filters .cx-page-title{display:none}.cx-chips{scrollbar-width:none;flex-wrap:nowrap;margin-right:-1rem;padding-right:1rem;overflow-x:auto;-webkit-mask-image:linear-gradient(90deg,#000 85%,#0000);mask-image:linear-gradient(90deg,#000 85%,#0000)}.cx-chips::-webkit-scrollbar{display:none}.cx-results{-webkit-overflow-scrolling:touch;overflow-y:auto}.cx-map-actions{top:.75rem;bottom:auto;right:.75rem}.cx-map .leaflet-control-zoom{display:none}.cx-map .leaflet-bottom.leaflet-right{inset:0 auto auto 0}.cx-map .leaflet-control-attribution{white-space:nowrap;font-size:10px}}.cx-tabs{background:hsl(var(--secondary));border-radius:999px;margin-bottom:1.25rem;padding:4px;display:inline-flex}.cx-tabs button{cursor:pointer;color:hsl(var(--muted-foreground));background:0 0;border:none;border-radius:999px;padding:.45rem 1rem;font-size:.88rem;font-weight:500}.cx-tabs button.active{background:hsl(var(--card));color:hsl(var(--foreground));box-shadow:var(--shadow-card)}.cx-booking-list{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:.85rem;display:grid}.cx-booking{flex-direction:column;gap:.85rem;display:flex}.cx-booking-head{align-items:center;gap:.8rem;display:flex}.cx-booking-when{border-radius:var(--radius);background:hsl(var(--secondary));flex-direction:column;gap:.1rem;padding:.75rem .9rem;display:flex}.cx-booking-when strong{font-size:1rem}.cx-booking-when span{color:hsl(var(--muted-foreground));font-size:.84rem}.cx-status{text-transform:uppercase;letter-spacing:.04em;background:hsl(var(--secondary));color:hsl(var(--muted-foreground));border-radius:999px;flex-shrink:0;margin-left:auto;padding:.25rem .55rem;font-size:.72rem;font-weight:600}.cx-status.confirmed{background:hsl(var(--accent));color:hsl(var(--accent-foreground))}.cx-status.cancelled{background:hsl(var(--destructive) / .1);color:hsl(var(--destructive))}.cx-booking-actions{flex-wrap:wrap;gap:.5rem;display:flex}.cx-booking-actions .btn{flex:1;min-width:120px;padding:.55rem .9rem}.cx-restriction{color:hsl(var(--muted-foreground));margin:0;font-size:.8rem;line-height:1.45}.cx-pin-picker{flex-direction:column;gap:.75rem;display:flex}.cx-pin-map{border-radius:var(--radius);border:1px solid hsl(var(--border));z-index:0;height:320px;overflow:hidden}.cx-pin-search{gap:.5rem;display:flex}.cx-pin-search .input{flex:1}.cx-pin-results{border:1px solid hsl(var(--border));border-radius:var(--radius);margin:0;padding:0;list-style:none;overflow:hidden}.cx-pin-results button{text-align:left;background:hsl(var(--card));cursor:pointer;border:none;border-bottom:1px solid hsl(var(--border));width:100%;padding:.6rem .8rem;font-size:.85rem}.cx-pin-results li:last-child button{border-bottom:none}.cx-pin-results button:hover{background:hsl(var(--secondary))}
