@import url("https://fonts.googleapis.com/css2?family=Instrument+Serif:ital@0;1&display=swap");:root{--dark:#111317;--dark-2:#1a1d23;--surface:#22262e;--surface-hover:#2a2f38;--border:hsla(0,0%,100%,.06);--border-strong:hsla(0,0%,100%,.12);--accent:#f6fcc2;--accent-soft:rgba(164,190,243,.15);--accent-glow:rgba(164,190,243,.35);--on-accent:#111317;--accent-link-hover:#c5d9fc;--muted:#6b7280;--light:#e6edf3;--green:#34d399;--green-soft:rgba(52,211,153,.12);--red:#f87171;--red-soft:hsla(0,91%,71%,.12);--yellow:#fbbf24;--yellow-soft:rgba(251,191,36,.12);font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:hsla(0,0%,100%,.87);background-color:var(--dark);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{margin:0;padding:0;box-sizing:border-box}body,html{width:100%;height:100%}body{background-color:var(--dark);color:hsla(0,0%,100%,.87)}a{font-weight:500;color:var(--accent);text-decoration:inherit}a:hover{color:var(--accent-link-hover)}h1,h2,h3{font-family:"Instrument Serif",serif;font-weight:400}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:transparent;cursor:pointer;transition:border-color .25s}button:hover{border-color:var(--accent)}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.app{display:flex;flex-direction:column;min-height:100vh}.header{padding:1.5rem 2rem 1rem;display:flex;align-items:center;gap:1rem}.header__email{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:639px){.header__email{max-width:140px}.header__tag{display:none}.lists-view__col-desc{display:none!important}}.getaway-list-mobile{flex:1;min-height:0;overflow-y:auto;scrollbar-gutter:stable;padding:0 1rem 1rem}.getaway-list-mobile__party-wrap{box-sizing:border-box;display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.65rem .75rem;width:calc(100% + 2rem);margin-left:-1rem;margin-right:-1rem;margin-bottom:.35rem;padding:.5rem 1rem .65rem;border-bottom:1px solid var(--border)}.getaway-list-mobile__party-wrap .sheet-toolbar-party{margin-right:0;flex:0 1 auto;min-width:0}.getaway-list-mobile__sort{flex:1 1 12rem;min-width:min(12rem,100%);max-width:100%;justify-content:flex-end}.getaway-list-mobile__sort .sheet-toolbar-sort__select{max-width:100%;min-width:0}@media (max-width:480px){.getaway-list-mobile__party-wrap{flex-direction:column;align-items:stretch;flex-wrap:nowrap;gap:.65rem}.getaway-list-mobile__party-wrap .sheet-toolbar-party{flex:0 0 auto;width:100%}.getaway-list-mobile__sort{flex:0 0 auto;width:100%;min-width:0;justify-content:space-between}.getaway-list-mobile__sort .sheet-toolbar-sort__select{flex:1 1 auto;max-width:none}}@media (max-width:639px){.app-detail-view{overflow-y:auto;-webkit-overflow-scrolling:touch}.app-detail-view .list-detail-scroll,.app-detail-view .list-villas-tab{flex:none;min-height:auto;overflow:visible}.app-detail-view .list-villas-tab__table-wrap{overflow:visible;min-height:50vh}.app-detail-view .getaway-list-mobile{flex:none;min-height:auto;overflow:visible}}@media (min-width:640px){.app-detail-view{flex:1 1 0;display:flex;flex-direction:column;min-height:0;min-width:0;overflow:hidden}.app-detail-view>.list-detail-scroll{flex:1 1 0;min-height:0;min-width:0;overflow-x:visible;overflow-y:auto;-webkit-overflow-scrolling:touch}.list-villas-tab:not(.list-villas-tab--map),.list-villas-tab:not(.list-villas-tab--map) .list-villas-tab__table-wrap{flex:0 1 auto;min-width:0;overflow:visible}.list-villas-tab:not(.list-villas-tab--map) .list-villas-tab__table-wrap .sheet-wrap{min-height:0;overflow:visible}.list-villas-tab:not(.list-villas-tab--map) .sheet-scroll--fill{overflow-x:visible;overflow-y:visible}.list-villas-tab:not(.list-villas-tab--map) .sheet{min-width:0}.list-villas-tab:not(.list-villas-tab--map) .sheet thead{position:sticky;top:0;z-index:5}.list-villas-tab:not(.list-villas-tab--map) .sheet thead th{position:relative;top:auto;z-index:1}main>.app{flex:1 1 0;min-height:0;min-width:0}}.getaway-list-mobile__loading{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:var(--muted);text-align:center}.getaway-mobile-cards{display:flex;flex-direction:column;gap:.75rem;padding-bottom:1rem}.getaway-mobile-card{background:var(--surface);border-radius:10px;overflow:hidden;border:1px solid var(--border);cursor:pointer;transition:transform .15s,box-shadow .15s}.getaway-mobile-card:active{transform:scale(.98)}.getaway-mobile-card--loading{cursor:default}.getaway-mobile-card__delete-btn:hover{color:var(--red)}.getaway-mobile-card__hero{aspect-ratio:16/10;background:var(--dark-2);overflow:hidden;display:flex;align-items:center;justify-content:center}.getaway-mobile-card__hero img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.getaway-mobile-card__hero-placeholder{font-size:2rem;color:var(--muted)}.getaway-mobile-card__body{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem 1rem}.getaway-mobile-card__body-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:.2rem}.getaway-mobile-card__name{font-weight:600;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.getaway-mobile-card__price{display:flex;flex-direction:column;gap:.1rem;font-size:.8rem;color:var(--light)}.getaway-mobile-card__price-per{font-size:.75rem;color:var(--muted)}.getaway-mobile-card__likes{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.getaway-mobile-card__vote-group{display:inline-flex;align-items:center;gap:.2rem}.getaway-mobile-card__like-btn{background:none;border:none;padding:.35rem;cursor:pointer;color:var(--muted);border-radius:6px}.getaway-mobile-card__like-btn--comment{display:inline-flex;align-items:center;gap:.2rem}.getaway-mobile-card__comment-count{font-size:.75rem;line-height:1}.getaway-mobile-card__like-btn.voted{color:var(--accent)}.getaway-mobile-card__like-count{font-size:.85rem;color:var(--muted)}.getaway-mobile-cards__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:var(--muted);text-align:center}.getaway-detail-sheet{position:fixed;inset:0;z-index:1200;min-height:100vh;min-height:100dvh}.getaway-detail-sheet__backdrop{position:absolute;inset:0;background:rgba(0,0,0,.5)}.getaway-detail-sheet__panel{position:absolute;bottom:0;left:0;right:0;max-height:90vh;max-height:90dvh;background:var(--dark-2);border-radius:16px 16px 0 0;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 -4px 24px rgba(0,0,0,.3);animation:getaway-detail-sheet-in .25s ease-out}@keyframes getaway-detail-sheet-in{0%{transform:translateY(100%)}to{transform:translateY(0)}}.getaway-detail-sheet__header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0;padding:max(.65rem,env(safe-area-inset-top,0px)) 1.25rem 1rem;border-bottom:1px solid var(--border)}.getaway-detail-sheet__header h2{margin:0;font-size:1.15rem;font-weight:600;font-family:"Instrument Serif",serif}.getaway-detail-sheet__close{background:none;border:none;color:var(--muted);font-size:1.5rem;line-height:1;cursor:pointer;padding:.25rem}.getaway-detail-sheet__close:hover{color:var(--light)}.getaway-detail-sheet__header-actions{display:flex;align-items:center;gap:.5rem}.getaway-detail-sheet__action-btn{background:none;border:none;color:var(--muted);padding:.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center}.getaway-detail-sheet__action-btn:hover{color:var(--light)}.getaway-detail-sheet__action-btn--delete:hover{color:var(--red)}.getaway-detail-sheet__content{flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain;padding:1rem 1.25rem max(2rem,env(safe-area-inset-bottom,0px))}.getaway-detail-sheet__comments-anchor{scroll-margin-top:.75rem;scroll-margin-bottom:2rem}.getaway-detail-sheet__hero{width:100%;aspect-ratio:16/10;border-radius:8px;overflow:hidden;background:var(--surface);margin-bottom:1rem;cursor:pointer}.getaway-detail-sheet__hero img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.image-carousel{width:100%;margin-bottom:1rem;border-radius:8px;overflow:hidden;background:var(--surface)}.image-carousel__viewport{position:relative;width:100%}.image-carousel__arrow{position:absolute;top:0;bottom:0;margin:auto 0;width:48px;height:48px;border:none;border-radius:50%;background:rgba(0,0,0,.6);color:#fff;padding:0;cursor:pointer;display:flex;align-items:center;justify-content:center;z-index:10;transition:background .2s}.image-carousel__arrow svg{display:block;flex-shrink:0}.image-carousel__arrow:hover{background:rgba(0,0,0,.75)}.image-carousel__arrow--prev{left:12px}.image-carousel__arrow--next{right:12px}.image-carousel__counter{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.6);color:hsla(0,0%,100%,.9);padding:6px 12px;border-radius:20px;font-size:.875rem;z-index:10;pointer-events:none}.image-carousel__track{display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;aspect-ratio:16/10}.image-carousel__track::-webkit-scrollbar{display:none}.image-carousel__track{scrollbar-width:none}.image-carousel__slide{flex:0 0 100%;scroll-snap-align:center;scroll-snap-stop:always}.image-carousel__slide img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block}.image-carousel__dots{display:flex;justify-content:center;gap:.5rem;padding:.5rem}.image-carousel__dot{width:8px;height:8px;border-radius:50%;border:none;background:var(--border-strong);cursor:pointer;padding:0;transition:background .2s}.image-carousel__dot:hover{background:var(--muted)}.image-carousel__dot.active{background:var(--accent);transform:scale(1.2)}.getaway-detail-sheet__meta{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;margin-bottom:1rem;font-size:.9rem}.getaway-detail-sheet__meta dt{color:var(--muted);font-weight:500}.getaway-detail-sheet__meta dd{margin:0}.getaway-detail-sheet__price-per{margin-top:.35rem;font-size:.85rem;color:var(--muted)}.getaway-detail-sheet__section{margin-bottom:1rem}.getaway-detail-sheet__section h4{font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .35rem}.getaway-detail-sheet__section p{margin:0;font-size:.9rem;line-height:1.5}.getaway-detail-sheet__desc{white-space:pre-wrap}.getaway-detail-sheet__actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.getaway-detail-sheet__link{display:inline-flex;align-items:center;gap:.5rem;color:var(--accent);font-size:.9rem}.getaway-detail-sheet__edit-form{display:flex;flex-direction:column;gap:1rem}.getaway-detail-sheet__edit-field{display:flex;flex-direction:column;gap:.25rem}.getaway-detail-sheet__edit-field label{font-size:.8rem;color:var(--muted)}.getaway-detail-sheet__edit-row{display:flex;gap:.75rem}.getaway-detail-sheet__edit-row .getaway-detail-sheet__edit-field{flex:1}.getaway-detail-sheet__edit-textarea{resize:vertical;min-height:4rem}.getaway-detail-sheet__link:hover{color:var(--accent-link-hover)}.inline-comments{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.inline-comments h4{font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .75rem}.inline-comments__muted{color:var(--muted);font-size:.9rem;margin:0}.inline-comments__list{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.inline-comments__comment{padding:.75rem;background:var(--surface);border-radius:8px;border:1px solid var(--border)}.inline-comments__comment-header{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.inline-comments__comment-author{font-weight:600;font-size:.85rem}.inline-comments__comment-date{font-size:.75rem;color:var(--muted)}.inline-comments__comment-actions{margin-left:auto;display:flex;gap:.35rem}.inline-comments__comment-actions button{font-size:.75rem;padding:.2rem .5rem;background:var(--surface-hover);border:none;color:var(--muted);cursor:pointer;border-radius:4px}.inline-comments__comment-actions button:hover{color:var(--light)}.inline-comments__comment-actions .inline-comments__delete:hover{color:var(--red)}.inline-comments__comment-body{font-size:.9rem;line-height:1.5;margin:0;white-space:pre-wrap;word-break:break-word}.inline-comments__input{width:100%;padding:.6rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:6px;color:var(--light);font-size:.9rem;font-family:inherit;resize:vertical;min-height:60px;margin-bottom:.5rem}.inline-comments__add{margin-top:.5rem}.inline-comments__add-btn{font-size:.85rem;padding:.35rem .75rem;background:var(--accent);color:var(--on-accent);border:none;border-radius:6px;cursor:pointer}.inline-comments__add-btn:hover:not(:disabled){filter:brightness(1.06)}.inline-comments__add-btn:disabled{opacity:.5;cursor:not-allowed}.header h1{font-family:"Instrument Serif",serif;font-size:1.75rem;font-weight:400;color:#fff}.tag{background:var(--accent-soft);color:var(--accent);padding:.3rem .7rem;border-radius:6px;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em}.dropzone{display:flex;align-items:center;gap:1rem;padding:.5rem .5rem .5rem 1rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:14px;transition:border-color .2s,box-shadow .2s;cursor:text}.dropzone:hover{border-color:hsla(0,0%,100%,.22);background:var(--surface-hover)}.dropzone:hover .dropzone__icon{color:hsla(0,0%,100%,.6)}.dropzone.drag-over,.dropzone.focused{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-glow)}.dropzone.drag-over{background:var(--accent-soft)}.dropzone__input-wrap{flex:1;display:flex;align-items:center;gap:.75rem;min-width:0}.dropzone__icon{color:var(--muted);flex-shrink:0;display:flex;align-items:center;transition:color .2s}.dropzone.drag-over .dropzone__icon,.dropzone.focused .dropzone__icon{color:var(--accent)}.dropzone__input{flex:1;min-width:0;background:transparent;border:none;color:var(--light);font-size:1rem;font-family:inherit;outline:none;padding:.6rem 0}.dropzone__input::-moz-placeholder{color:var(--muted)}.dropzone__input::placeholder{color:var(--muted)}.dropzone__input:disabled{opacity:.7;cursor:not-allowed}.dropzone__submit{display:flex;align-items:center;gap:.5rem;background:var(--accent);color:var(--on-accent);border:none;border-radius:10px;padding:.65rem 1.25rem;font-size:.9rem;font-weight:600;font-family:inherit;cursor:pointer;white-space:nowrap;transition:filter .15s,transform .1s;flex-shrink:0}.dropzone__submit:hover:not(:disabled){filter:brightness(1.1)}.dropzone__submit:active:not(:disabled){transform:scale(.98)}.dropzone__submit:disabled{opacity:.6;cursor:not-allowed}.dropzone__submit-text{display:flex;align-items:center;gap:.5rem}.dropzone__spinner{width:1rem;height:1rem;border:2px solid rgba(17,19,23,.25);border-top:2px solid var(--on-accent);border-radius:50%;animation:dropzone-spin .7s linear infinite}@keyframes dropzone-spin{to{transform:rotate(1turn)}}.dropzone__hint{color:var(--muted);font-size:.8rem;white-space:nowrap;flex-shrink:0}@media (max-width:640px){.dropzone{flex-wrap:wrap}.dropzone__hint{order:3;width:100%;padding-left:2.5rem}}.sheet-wrap{margin:0 2rem;border:1px solid var(--border);border-radius:10px;overflow:hidden;background:var(--dark-2);min-width:0}.sheet-toolbar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;flex-shrink:0;padding:.35rem .75rem;background:var(--surface);border-bottom:1px solid var(--border)}.sheet thead .sheet-toolbar-cell{padding:0;text-transform:none;font-weight:400;font-size:1rem;letter-spacing:normal;border-bottom:none;text-align:left}.sheet-toolbar-party{display:flex;align-items:center;gap:.35rem;margin-right:auto}.sheet-toolbar-party__label{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin-right:.15rem}.sheet-toolbar-party__step{width:1.75rem;height:1.75rem;padding:0;border-radius:6px;border:1px solid var(--border);background:var(--dark-2);color:var(--light);font-size:1.1rem;line-height:1;cursor:pointer}.sheet-toolbar-party__step:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.sheet-toolbar-party__step:disabled{opacity:.35;cursor:not-allowed}.sheet-toolbar-party__input{width:3rem;padding:.25rem .35rem;text-align:center;border-radius:6px;border:1px solid var(--border);background:var(--card);color:var(--light);font-size:.85rem;-moz-appearance:textfield}.sheet-toolbar-party__input::-webkit-inner-spin-button,.sheet-toolbar-party__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.sheet-toolbar-sort{display:inline-flex;align-items:center;gap:.35rem;cursor:pointer}.sheet-toolbar-sort__label{font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.sheet-toolbar-sort__select{padding:.3rem 1.6rem .3rem .45rem;max-width:13rem;border-radius:6px;border:1px solid var(--border);background:var(--dark-2);color:var(--light);font-size:.8rem;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 12 12'%3E%3Cpath fill='%23999' d='M3 4.5 6 8 9 4.5z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .35rem center}.sheet-toolbar-sort__select:hover{border-color:var(--border-strong)}.sheet-toolbar-sort__select:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.expandable-cell-subline{display:block;margin-top:.2rem;font-size:.75rem;color:var(--muted);line-height:1.25;white-space:nowrap}.sheet{width:100%;min-width:-moz-max-content;min-width:max-content;border-collapse:separate;border-spacing:0;table-layout:fixed;font-size:.85rem}.sheet thead th{background:var(--surface);color:var(--muted);font-weight:600;font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;padding:.6rem .75rem;text-align:left;border-bottom:1px solid var(--border);position:sticky;z-index:2}.col-resize-handle,.sheet thead th{top:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.col-resize-handle{position:absolute;right:0;bottom:0;width:6px;cursor:col-resize;z-index:3}.col-resize-handle:after{content:"";display:block;position:absolute;top:25%;bottom:25%;right:2px;width:1px;background:transparent;transition:background .15s}.col-resize-handle:hover:after,.sheet thead th:hover .col-resize-handle:after{background:var(--border-strong)}.col-resize-handle:active:after{background:var(--accent)}.sheet tbody tr{transition:background .15s}.sheet tbody tr td{border-bottom:1px solid var(--border)}.sheet tbody tr:last-child td{border-bottom:none}.sheet tbody tr:hover{background:var(--surface-hover)}.sheet td{padding:.6rem .75rem;vertical-align:middle;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sheet col.col-rank{width:1.5rem}.sheet td.col-rank,.sheet thead th.col-rank{width:1.5rem;min-width:1.5rem;max-width:1.75rem;padding-left:.1rem;padding-right:.1rem;box-sizing:border-box}.col-rank{text-align:center;vertical-align:middle;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.68rem;font-weight:600;line-height:1.2}.sheet-row-rank{display:inline-block}.sheet-row-rank--new{font-size:.55rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--dark);background:var(--accent);padding:.1rem .25rem;border-radius:4px;line-height:1}.col-votes{width:9.5rem;min-width:8.25rem;vertical-align:middle}.sheet td.col-votes{overflow:visible}.vote-cell{display:flex;align-items:center;gap:.35rem;flex-wrap:nowrap;min-width:0}.vote-cell__vote-group{display:inline-flex;align-items:center;gap:.2rem;flex-shrink:0}.vote-cell__face-pile{position:relative;flex-shrink:0}.vote-cell__face-pile-inner{display:flex;flex-direction:row;align-items:center}.vote-cell__face-wrap{--vote-face-size:1.375rem;--vote-face-back:var(--surface);position:relative;display:inline-flex;align-items:center;flex-shrink:0;margin-left:calc(-.38 * var(--vote-face-size))}.vote-cell__face-wrap:first-child{margin-left:0}.vote-cell__face{position:relative;isolation:isolate;box-sizing:border-box;width:var(--vote-face-size);height:var(--vote-face-size);border-radius:50%;border:2px solid var(--dark);background:var(--vote-face-back);overflow:hidden;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center}.vote-cell__face-img{position:relative;z-index:1;width:100%;height:100%;-o-object-fit:cover;object-fit:cover;display:block;background-color:var(--vote-face-back)}.vote-cell__face-fallback{font-size:.55rem;font-weight:600;color:var(--muted);line-height:1}.vote-cell__comment-count{font-size:.75rem;line-height:1;color:var(--muted);font-variant-numeric:tabular-nums}.vote-cell__btn{display:inline-flex;align-items:center;gap:.2rem;padding:.35rem;border:none;background:none;color:var(--muted);cursor:pointer;border-radius:6px;transition:color .15s;flex-shrink:0}.vote-cell__btn.voted,.vote-cell__btn:hover{color:var(--accent)}.col-thumb,.sheet col.col-thumb{width:10%;min-width:4.5rem}.sheet td.col-thumb,.sheet thead th.col-thumb{padding-left:.45rem;padding-right:.45rem;box-sizing:border-box}.col-name{width:12%;min-width:80px}.col-loc{width:10%;min-width:70px}.col-baths,.col-beds,.col-guests{width:5%;min-width:44px;text-align:center}.col-price{width:9%;min-width:60px}.col-amenities,.col-caveats,.col-description,.col-included{width:11%;min-width:64px;max-width:200px}.sheet td.col-amenities.amenities-expanded,.sheet td.col-caveats.amenities-expanded,.sheet td.col-description.amenities-expanded,.sheet td.col-included.amenities-expanded,.sheet td.expandable-expanded{white-space:normal;overflow:visible;text-overflow:clip;vertical-align:top;max-width:none;min-width:200px}.expandable-cell-inner{display:flex;align-items:center;gap:.4rem;min-width:0;width:100%}.expandable-cell-primary{flex:1;min-width:0;overflow:hidden}.sheet td.expandable-expanded .expandable-cell-primary{overflow:visible}.expandable-cell-primary--wrap{flex:1;min-width:0}.expandable-cell-primary--wrap .expandable-wrap-text{width:100%}.expandable-plain{display:block;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expandable-cell-inner--wrap{align-items:flex-start}.sheet td.expandable-wrap{overflow:hidden;text-overflow:clip;vertical-align:top}.expandable-wrap-text,.sheet td.expandable-wrap{white-space:normal;word-break:break-word;overflow-wrap:anywhere}.expandable-wrap-text{min-width:0;display:block;line-height:1.35}.expandable-wrap-text--clamped{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:var(--wrap-max-lines,4);line-clamp:var(--wrap-max-lines,4);overflow:hidden}.expandable-wrap--clickable{cursor:pointer}.expandable-wrap-toggle{margin-top:.25rem;background:none;border:none;padding:0;color:var(--muted);font-size:.7rem;letter-spacing:.04em;cursor:pointer;transition:color .15s}.expandable-wrap--clickable:hover .expandable-wrap-toggle,.expandable-wrap-toggle:hover{color:var(--accent)}.expandable-cell-primary .expandable-content,.expandable-cell-primary .expandable-truncated{max-width:100%}.name-external-link{align-self:center;flex-shrink:0;color:var(--muted);padding:.2rem;border-radius:4px;transition:color .15s,background .15s}.name-external-link:hover{color:var(--accent)}.sheet-edit-input{width:100%;background:var(--surface);border:1px solid var(--border-strong);border-radius:4px;padding:.3rem;color:var(--light)}.sheet-edit-btn{border:none;padding:.25rem .5rem;border-radius:4px;cursor:pointer;font-size:.75rem}.sheet-edit-btn-save{background:var(--green);color:#fff}.sheet-edit-btn-cancel{background:var(--muted);color:#fff}.sheet td.col-amenities.amenities-expanded{white-space:normal;overflow:visible;text-overflow:clip;vertical-align:top}.amenities-collapse-btn,.amenities-expand-btn,.expandable-collapse-btn,.expandable-expand-btn{margin-left:.15rem;padding:0;border:none;background:none;color:var(--muted);cursor:pointer;font-size:inherit;vertical-align:baseline}.amenities-expand-btn .amenities-arrow,.amenities-expand-btn:hover .amenities-ellipsis,.expandable-expand-btn .expandable-arrow,.expandable-expand-btn:hover .expandable-ellipsis,.expandable-truncated .expandable-arrow,.expandable-truncated:hover .expandable-ellipsis{display:none}.amenities-expand-btn:hover .amenities-arrow,.expandable-clickable:hover .expandable-arrow,.expandable-expand-btn:hover .expandable-arrow,.expandable-truncated:hover .expandable-arrow{display:inline!important}.amenities-expand-btn:hover .amenities-ellipsis,.expandable-clickable:hover .expandable-ellipsis,.expandable-expand-btn:hover .expandable-ellipsis,.expandable-truncated:hover .expandable-ellipsis{display:none!important}.expandable-clickable{cursor:pointer}.expandable-truncated{cursor:pointer;display:flex;align-items:center;gap:.2rem;min-width:0;width:100%}.expandable-truncated .expandable-text{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.expandable-truncated .expandable-indicator{flex-shrink:0;color:var(--muted)}.expandable-truncated .expandable-arrow{display:none}.expandable-clickable:hover .expandable-ellipsis,.expandable-truncated:hover .expandable-ellipsis{display:none!important}.expandable-clickable:hover .expandable-arrow,.expandable-truncated:hover .expandable-arrow{display:inline!important}.amenities-collapse-btn:hover,.amenities-expand-btn:hover,.amenities-expanded:hover .amenities-collapse-btn,.col-amenities:hover .amenities-expand-btn,.expandable-clickable:hover .expandable-indicator,.expandable-collapse-btn:hover,.expandable-expand-btn:hover,.expandable-expanded:hover .expandable-collapse-btn,.expandable-truncated:hover .expandable-indicator{color:var(--accent)}.amenities-collapse-btn:focus,.amenities-collapse-btn:focus-visible,.amenities-expand-btn:focus,.amenities-expand-btn:focus-visible,.expandable-collapse-btn:focus,.expandable-collapse-btn:focus-visible,.expandable-expand-btn:focus,.expandable-expand-btn:focus-visible,.expandable-wrap-toggle:focus,.expandable-wrap-toggle:focus-visible,.list-villas-tab__scout-toggle:focus,.list-villas-tab__scout-toggle:focus-visible{outline:none}.col-catch{width:4.5rem;min-width:4rem}.col-catch__edit-actions{display:flex;flex-direction:column;align-items:stretch;gap:.25rem;justify-content:center}.col-actions-header{display:flex;align-items:center;gap:.5rem}.column-toggle-wrap{position:relative}.column-toggle-btn{background:none;border:none;color:var(--muted);cursor:pointer;font-size:.9rem;padding:.35rem .6rem;line-height:1;border-radius:6px}.column-toggle-btn:hover{color:var(--light);background:var(--surface-hover)}.column-popover-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.25);z-index:9998;animation:column-popover-fade-in .15s ease-out}.column-popover{position:fixed;z-index:9999;background:var(--dark-2);border:1px solid var(--border);border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.4);min-width:180px;max-height:70vh;overflow:auto;animation:column-popover-slide-in .2s ease-out}.column-popover-title{padding:.75rem 1rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--muted);border-bottom:1px solid var(--border)}.column-popover-list{padding:.5rem}.column-popover-item{display:flex;align-items:center;gap:.6rem;cursor:pointer;padding:.4rem .5rem;font-size:.9rem;color:var(--light);border-radius:6px}.column-popover-item:hover{background:var(--surface-hover)}.column-popover-item input{accent-color:var(--green)}@keyframes column-popover-fade-in{0%{opacity:0}to{opacity:1}}@keyframes column-popover-slide-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.thumb-link{cursor:pointer;position:relative;display:block;width:100%;max-width:100%}.thumb{-o-object-fit:cover;object-fit:cover;display:block}.thumb,.thumb-placeholder{width:100%;height:auto;aspect-ratio:16/10;border-radius:8px;background:var(--surface)}.thumb-placeholder{box-sizing:border-box;color:var(--muted);font-size:1rem}.thumb-link:after,.thumb-placeholder{display:flex;align-items:center;justify-content:center}.thumb-link:after{content:"↗";position:absolute;bottom:0;right:0;background:var(--accent);color:var(--on-accent);font-size:.55rem;width:14px;height:14px;border-radius:3px 0 6px 0;opacity:0;transition:opacity .15s}.thumb-link:hover:after{opacity:1}.row-loading td{color:var(--muted)}.spinner{display:inline-block;width:16px;height:16px;border:2px solid var(--border-strong);border-top-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;vertical-align:middle;margin-right:.5rem}@keyframes spin{to{transform:rotate(1turn)}}.loading-text{color:var(--accent);font-weight:500}.row-error .loading-text{color:var(--red)}.row-error .retry-btn{background:var(--red-soft);color:var(--red);border:none;border-radius:6px;padding:.25rem .6rem;font-size:.75rem;font-weight:600;font-family:inherit;cursor:pointer;margin-left:.5rem}.row-error .retry-btn:hover{filter:brightness(1.15)}.empty-state{text-align:center;padding:3rem 1rem;color:var(--muted)}.empty-state .icon{font-size:2rem;margin-bottom:.5rem}.empty-state p{font-size:.9rem}.row-actions{display:flex;gap:.2rem;justify-content:center;opacity:0;transition:opacity .15s}.sheet tbody tr:hover .row-actions{opacity:1}.row-action-btn{background:transparent;border:none;cursor:pointer;padding:0;font-size:.9rem;color:var(--light);transition:color .15s;display:inline-flex;align-items:center;justify-content:center;line-height:1;min-width:1.25rem;min-height:1.25rem}.row-action-btn.trash svg{width:15px;height:15px}.row-action-btn:hover{color:var(--accent)}.row-action-btn.trash:hover{color:var(--red)}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.65);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:9999;opacity:0;pointer-events:none;transition:opacity .2s}.modal-overlay.open{opacity:1;pointer-events:auto}.modal{background:var(--dark-2);border:1px solid var(--border-strong);border-radius:14px;width:560px;max-width:95vw;max-height:90vh;overflow-y:auto;padding:2rem;transform:translateY(10px);transition:transform .2s}.modal-overlay.open .modal{transform:translateY(0)}.modal h2{font-family:"Instrument Serif",serif;font-size:1.4rem;font-weight:400;color:#fff;margin-bottom:.5rem}.modal p{color:var(--muted);font-size:.9rem;margin-bottom:1rem}.modal kbd{padding:.15rem .4rem;font-size:.85em;background:var(--surface);border:1px solid var(--border);border-radius:4px}.modal textarea{width:100%;background:var(--surface);border:1px solid var(--border-strong);border-radius:10px;padding:1rem;color:var(--light);font-size:.9rem;font-family:inherit;line-height:1.5;resize:vertical;min-height:180px}.modal textarea:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.modal textarea::-moz-placeholder{color:var(--muted)}.modal textarea::placeholder{color:var(--muted)}.modal-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:1rem}.modal-actions button{border:none;border-radius:8px;padding:.6rem 1.25rem;font-size:.85rem;font-weight:600;font-family:inherit;cursor:pointer}.btn-cancel{background:var(--surface);color:var(--muted)}.btn-cancel:hover{color:var(--light)}.btn-primary{background:var(--accent);color:var(--on-accent)}.btn-primary:hover{filter:brightness(1.1)}.btn-primary:disabled{opacity:.6;cursor:not-allowed}.invite-link-section{margin-bottom:2rem}.invite-link-section__title{margin-bottom:1rem;color:var(--light)}.invite-link-section__notice{margin-bottom:1rem;font-size:.85rem;color:var(--muted)}.invite-link-section__box{padding:1rem;background:var(--green-soft);border:1px solid var(--green);border-radius:8px;color:var(--green)}.invite-link-section__spinner{width:1.5rem;height:1.5rem;margin-bottom:.5rem}.invite-link-section__regen-text{margin:0;font-size:.9rem}.invite-link-section__actions{display:flex;gap:.5rem;flex-wrap:wrap;margin-top:.75rem}.invite-link-section__actions--with-link{margin-top:0;margin-bottom:0}.invite-link-section__link-label{margin-bottom:.5rem;font-size:.9rem}.invite-link-section__code{font-size:.8rem;word-break:break-all;display:block;margin-bottom:.75rem}.invite-link-section__btn-copy{background:transparent;border:1px solid var(--green);color:var(--green);padding:.25rem .75rem;border-radius:4px;cursor:pointer;font-size:.85rem;font-family:inherit}.invite-link-section__btn-copy:disabled{opacity:.6;cursor:not-allowed}.invite-link-section__btn-regen{background:var(--accent);color:var(--on-accent);padding:.25rem .75rem;border-radius:4px;border:none;cursor:pointer;font-size:.85rem;font-weight:600;font-family:inherit}.invite-link-section__btn-regen:disabled{opacity:.6;cursor:not-allowed}.invite-link-section__btn-delete{background:transparent;border:1px solid var(--light);color:var(--light);padding:.4rem .75rem;border-radius:6px;font-size:.9rem;cursor:pointer}.invite-link-section__btn-delete:hover:not(:disabled){border-color:#c53030;color:#c53030}.invite-link-section__btn-delete:disabled{opacity:.6;cursor:not-allowed}.invite-link-section__btn-generate{background:var(--accent);color:var(--on-accent);padding:.6rem 1.25rem;border-radius:8px;border:none;cursor:pointer;font-weight:600;font-family:inherit}.invite-link-section__btn-generate:disabled{opacity:.6;cursor:not-allowed}.invite-link-section__btn-generate .spinner{display:inline-block;width:1rem;height:1rem;margin-right:.5rem;vertical-align:middle}.list-villas-tab{display:flex;flex-direction:column}.list-villas-tab--map{height:calc(100vh - 220px);min-height:400px;overflow:hidden}.list-villas-tab__sticky{display:flex;flex-direction:column;flex-shrink:0}.list-villas-tab__scout-panel{position:relative;flex-shrink:0;border-bottom:1px solid var(--border);min-height:2.75rem;transition:background-color .25s ease}.list-villas-tab__scout-panel:not(.list-villas-tab__scout-panel--open){background:var(--dark)}.list-villas-tab__scout-panel:not(.list-villas-tab__scout-panel--open) .list-villas-tab__scout-toggle{background:transparent;box-shadow:none}.list-villas-tab__scout-drop-clip{display:grid;grid-template-rows:0fr;transition:grid-template-rows .32s ease}.list-villas-tab__scout-panel--open .list-villas-tab__scout-drop-clip{grid-template-rows:1fr}.list-villas-tab__scout-drop-inner{min-height:0;overflow:hidden}.list-villas-tab__scout-panel--open .list-villas-tab__drop{padding-bottom:2.85rem}@media (prefers-reduced-motion:reduce){.list-villas-tab__scout-drop-clip{transition:grid-template-rows .01s linear}.list-villas-tab__scout-panel{transition:none}}.list-villas-tab__scout-toggle{position:absolute;bottom:.65rem;right:2rem;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;padding:0;border:none;border-radius:8px;background:var(--surface);color:var(--muted);cursor:pointer;font-family:inherit;box-shadow:0 2px 8px rgba(0,0,0,.25)}.list-villas-tab__scout-toggle:hover{color:var(--accent)}.list-villas-tab__scout-toggle-chevron{display:block;flex-shrink:0}.list-villas-tab__drop{padding:1.5rem 2rem;flex-shrink:0;display:flex;flex-direction:column;gap:1rem}.scout-credits .scout-credits__text--low{display:inline-block;border-bottom:1px solid;padding-bottom:1px}.scout-bookmarklet{margin-top:0}.scout-bookmarklet__toggle{background:none;border:none;color:var(--muted);font-size:.85rem;cursor:pointer;padding:.25rem 0;text-align:left}.scout-bookmarklet__toggle:hover{color:var(--accent)}.scout-bookmarklet__content{margin-top:.75rem;padding:1rem;background:var(--surface);border:1px solid var(--border);border-radius:8px}.scout-bookmarklet__intro{margin:0 0 1rem;font-size:.9rem;color:var(--light);line-height:1.5}.scout-bookmarklet__intro strong{color:var(--accent)}.scout-bookmarklet__row{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.scout-bookmarklet__link{display:inline-block;padding:.4rem .75rem;background:var(--accent);color:var(--on-accent);font-size:.9rem;font-weight:500;border-radius:6px;text-decoration:none;cursor:grab}.scout-bookmarklet__link:active{cursor:grabbing}.scout-bookmarklet__link:hover{filter:brightness(1.06)}.scout-bookmarklet__copy{font-size:.75rem;padding:.25rem .5rem;background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:4px;cursor:pointer}.scout-bookmarklet__copy:hover{color:var(--light);border-color:var(--border-strong)}.scout-bookmarklet__hint{margin:0 0 1rem;font-size:.8rem;color:var(--muted);padding-left:.25rem}.scout-bookmarklet__row:last-of-type+.scout-bookmarklet__hint{margin-bottom:0}.list-villas-tab__error{margin:0 2rem 1rem;padding:1rem;background:var(--red-soft);border:1px solid var(--red);border-radius:8px;color:var(--red);flex-shrink:0;display:flex;align-items:center;justify-content:space-between;gap:1rem}.list-villas-tab__error-retry{background:var(--red);color:#fff;border:none;padding:.35rem .75rem;border-radius:6px;cursor:pointer;font-size:.85rem;font-weight:600;flex-shrink:0}.list-villas-tab__error-dismiss{background:none;border:none;color:var(--red);font-size:1.25rem;line-height:1;cursor:pointer;padding:.25rem;opacity:.8;flex-shrink:0}.list-villas-tab__error-dismiss:hover{opacity:1}.list-villas-tab__view-toolbar{display:flex;gap:.25rem;padding:0 2rem .5rem;flex-shrink:0}.list-villas-tab__view-btn{padding:.4rem .9rem;font-size:.9rem;border-radius:6px;border:1px solid var(--border-strong);background:var(--surface);color:var(--muted);cursor:pointer}.list-villas-tab__view-btn:hover{color:var(--light);background:var(--surface-hover)}.list-villas-tab__view-btn.active{background:var(--accent-soft);color:var(--accent);border-color:var(--accent)}.list-villas-tab__table-wrap{display:flex;flex-direction:column;padding:0 2rem 1.5rem}.list-villas-tab--map .list-villas-tab__table-wrap{flex:1;min-height:0;overflow:hidden}.list-villas-tab__table-wrap .sheet-wrap{margin-left:0;margin-right:0}.list-villas-tab__table-wrap>.list-cursor-surface{flex:0 1 auto;min-width:0;display:flex;flex-direction:column;position:relative;overflow:visible}.list-cursor-surface>.sheet-wrap{flex:0 1 auto;min-width:0;width:100%;overflow:visible}.list-cursor-surface__peers{position:absolute;inset:0;pointer-events:none;z-index:20}.list-cursor-peer{position:absolute;left:0;top:0;width:0;height:0;overflow:visible;color:inherit;pointer-events:none}.list-cursor-peer__svg{display:block;position:absolute;left:-15px;top:-15px;width:35px;height:35px;overflow:visible;will-change:transform;filter:drop-shadow(0 1px 1.5px rgba(0,0,0,.55))}.getaway-map{flex:1;min-height:0;display:flex;flex-direction:column;border-radius:8px;overflow:hidden;border:1px solid var(--border);position:relative}.getaway-map__container{flex:1;min-height:0;width:100%}.getaway-map--empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.5rem;padding:2rem;color:var(--muted);text-align:center}.getaway-map__hint{font-size:.9em;opacity:.9}.map-marker-accent.leaflet-div-icon{background:none!important;border:none!important}.list-members-tab{padding:1.5rem 2rem;display:flex;flex-direction:column;flex:0 1 auto;min-height:0;overflow:auto}.list-members-tab__title{margin-bottom:1rem;color:var(--light)}.list-members-tab__list{display:flex;flex-direction:column;gap:.75rem}.list-members-tab__leave{margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.list-members-tab__leave-btn{background:transparent;border:1px solid var(--muted);color:var(--muted);padding:.5rem 1rem;border-radius:6px;cursor:pointer;font-size:.9rem;font-family:inherit}.list-members-tab__leave-btn:hover{color:var(--light)}.list-members-tab__leave-btn:disabled{cursor:not-allowed;opacity:.7}.list-members-tab__delete-btn{border-color:var(--red);color:var(--red)}.list-members-tab__delete-btn:hover{color:var(--red);background:var(--red-soft)}.member-row{padding:.75rem;background:var(--surface);border-radius:6px;border:1px solid var(--border);justify-content:space-between}.member-row,.member-row__main{display:flex;align-items:center}.member-row__main{gap:.75rem}.member-row__avatar{width:40px;height:40px;border-radius:50%;overflow:hidden;background:var(--border);flex-shrink:0}.member-row__avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.member-row__avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:1rem}.member-row__name{margin:0;color:var(--light);font-size:.9rem;font-weight:600}.member-row__subtitle{margin:0;color:var(--muted);font-size:.8rem}.member-row__meta{display:flex;align-items:center;gap:.5rem;flex-shrink:0}.member-row__role{background:var(--accent-soft);color:var(--accent);padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:capitalize}.member-row__remove{background:transparent;border:1px solid var(--muted);color:var(--muted);padding:.35rem .65rem;border-radius:6px;cursor:pointer;font-size:.75rem;font-family:inherit;font-weight:500}.member-row__remove:hover:not(:disabled){color:var(--red);border-color:var(--red);background:var(--red-soft)}.member-row__remove:disabled{cursor:not-allowed;opacity:.7}.list-detail-header{padding:1.5rem 2rem 1rem;border-bottom:1px solid var(--border);display:flex;justify-content:space-between;align-items:center}.list-detail-header__left{display:flex;align-items:center;gap:1rem}.list-detail-header__back{background:transparent;border:none;color:var(--accent);font-size:1.5rem;cursor:pointer;padding:0}.list-detail-header__title{margin:0}.list-detail-presence{display:flex;align-items:center;gap:.5rem;margin-left:1rem;padding:.25rem .75rem;background:var(--surface);border-radius:999px;border:1px solid var(--border);font-size:.8rem;color:var(--muted)}.list-detail-presence__avatars{display:flex;margin-left:.25rem}.list-detail-presence__avatar{width:24px;height:24px;border-radius:50%;overflow:hidden;margin-left:-6px;border:2px solid var(--dark);flex-shrink:0;background:var(--border)}.list-detail-presence__avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.list-detail-presence__avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.65rem;font-weight:600}.list-detail-tabs{display:flex;border-bottom:1px solid var(--border);padding:0 2rem}.list-detail-tabs__tab{background:transparent;color:var(--muted);padding:1rem 1.5rem;cursor:pointer;border:none;border-bottom:2px solid transparent;transition:color .2s;font-size:.9rem;font-weight:600;font-family:inherit}.list-detail-tabs__tab--active{color:var(--accent);border-bottom-color:var(--accent)}.list-detail-scroll{display:flex;flex-direction:column;min-height:0}.list-detail-chrome{flex-shrink:0;background:var(--dark)}.img-badge-modal{display:inline-block;background:var(--green-soft);color:var(--green);font-size:.8rem;padding:.2rem .6rem;border-radius:6px;margin-top:.5rem}.sheet-scroll{min-width:0;overflow-x:auto}@media (min-width:640px){.sheet-scroll--fill{flex:0 1 auto;min-width:0;overflow-x:auto;overflow-y:visible}}.sheet-scroll::-webkit-scrollbar{width:6px}.sheet-scroll::-webkit-scrollbar-track{background:transparent}.sheet-scroll::-webkit-scrollbar-thumb{background:var(--border-strong);border-radius:3px}.gallery-modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.95);display:flex;align-items:center;justify-content:center;padding:1rem;z-index:9999;opacity:0;pointer-events:none;transition:opacity .2s}.gallery-modal-overlay.open{opacity:1;pointer-events:auto}.gallery-container{position:relative;width:90vw;max-width:1200px;height:80vh;display:flex;align-items:center;justify-content:center}.gallery-container .gallery-carousel{width:100%;height:100%;margin-bottom:0}.gallery-container .gallery-carousel .image-carousel__viewport{height:100%}.gallery-container .gallery-carousel .image-carousel__track{height:100%;aspect-ratio:auto}.gallery-container .gallery-carousel .image-carousel__slide img,.gallery-image{-o-object-fit:contain;object-fit:contain}.gallery-image{max-width:100%;max-height:100%}.gallery-nav{position:absolute;bottom:20px;left:50%;transform:translateX(-50%);display:flex;gap:10px;z-index:102}.gallery-nav button{background:hsla(0,0%,100%,.2);color:#fff;border:1px solid hsla(0,0%,100%,.3);padding:8px 12px;border-radius:4px;cursor:pointer;font-size:.9rem;transition:background .2s}.gallery-nav button:hover{background:hsla(0,0%,100%,.3)}.gallery-close{position:absolute;top:20px;right:20px;background:rgba(0,0,0,.6);color:#fff;border:none;width:40px;height:40px;border-radius:50%;cursor:pointer;font-size:1.5rem;display:flex;align-items:center;justify-content:center;transition:background .2s;z-index:103}.gallery-close:hover{background:rgba(0,0,0,.75)}.auth-page{min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:2rem;background:var(--dark)}.auth-card{width:100%;max-width:400px;background:var(--dark-2);border:1px solid var(--border-strong);border-radius:14px;padding:2rem}.auth-card h1{font-family:"Instrument Serif",serif;font-size:1.75rem;font-weight:400;color:#fff;margin-bottom:.25rem}.auth-card .auth-tag{display:inline-block;background:var(--accent-soft);color:var(--accent);padding:.2rem .5rem;border-radius:6px;font-size:.65rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;margin-bottom:1.5rem}.auth-card .auth-error{background:var(--red-soft);border:1px solid var(--red);color:var(--red);padding:.75rem 1rem;border-radius:8px;font-size:.9rem;margin-bottom:1.25rem}.auth-card label{display:block;color:var(--muted);font-size:.8rem;font-weight:500;margin-bottom:.4rem}.auth-card input{width:100%;background:var(--surface);border:1px solid var(--border-strong);border-radius:8px;padding:.6rem .85rem;color:var(--light);font-size:.95rem;font-family:inherit;transition:border-color .15s,box-shadow .15s}.auth-card input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.auth-card input::-moz-placeholder{color:var(--muted)}.auth-card input::placeholder{color:var(--muted)}.auth-card .auth-field{margin-bottom:1rem}.auth-card .auth-submit{width:100%;background:var(--accent);color:var(--on-accent);border:none;border-radius:8px;padding:.65rem 1.25rem;font-size:.95rem;font-weight:600;font-family:inherit;cursor:pointer;margin-top:.5rem;transition:filter .15s}.auth-card .auth-submit:hover:not(:disabled){filter:brightness(1.1)}.auth-card .auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-card .auth-divider{display:flex;align-items:center;gap:1rem;margin:1.5rem 0}.auth-card .auth-divider:after,.auth-card .auth-divider:before{content:"";flex:1;height:1px;background:var(--border)}.auth-card .auth-divider span{color:var(--muted);font-size:.8rem}.auth-card .auth-google{width:100%;background:var(--surface);color:var(--light);border:1px solid var(--border-strong);border-radius:8px;padding:.65rem 1.25rem;font-size:.9rem;font-weight:500;font-family:inherit;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:.5rem;transition:background .15s,border-color .15s}.auth-card .auth-google:hover:not(:disabled){background:var(--surface-hover);border-color:var(--border-strong)}.auth-card .auth-google:disabled{opacity:.6;cursor:not-allowed}.auth-card .auth-footer{margin-top:1.5rem;text-align:center;color:var(--muted);font-size:.9rem}.auth-card .auth-footer a{color:var(--accent);font-weight:500}.auth-card .auth-footer a:hover{color:var(--accent-link-hover)}.oauth-consent-list{list-style:none;padding:0;margin:0 0 1rem}.oauth-consent-list li{padding:.5rem 0 .5rem 1.5rem;color:var(--light);font-size:.9rem;position:relative}.oauth-consent-list li:before{content:"•";position:absolute;left:0;color:var(--accent)}.auth-card .auth-cancel{width:100%;background:transparent;color:var(--muted);border:1px solid var(--border);border-radius:8px;padding:.65rem 1.25rem;font-size:.9rem;font-family:inherit;cursor:pointer;transition:color .15s,border-color .15s}.auth-card .auth-cancel:hover:not(:disabled){color:var(--light);border-color:var(--border-strong)}.auth-card .auth-cancel:disabled{opacity:.6;cursor:not-allowed}.map-getaway-sidebar{position:fixed;top:0;right:0;width:380px;max-width:90vw;height:100vh;background:var(--dark-2);border-left:1px solid var(--border);box-shadow:-4px 0 24px rgba(0,0,0,.3);z-index:1100;display:flex;flex-direction:column;animation:comments-sidebar-slide-in .2s ease-out}.map-getaway-sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border);flex-shrink:0}.map-getaway-sidebar__header h3{margin:0;font-size:1.1rem;font-weight:600;font-family:"Instrument Serif",serif}.map-getaway-sidebar__close{background:none;border:none;color:var(--muted);font-size:1.5rem;line-height:1;cursor:pointer;padding:.25rem}.map-getaway-sidebar__close:hover{color:var(--light)}.map-getaway-sidebar__content{flex:1;overflow-y:auto;padding:1rem 1.25rem}.map-getaway-sidebar__thumb{width:100%;aspect-ratio:16/10;border-radius:8px;overflow:hidden;background:var(--surface);margin-bottom:1rem;cursor:pointer}.map-getaway-sidebar__thumb img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.map-getaway-sidebar__meta{display:grid;grid-template-columns:auto 1fr;gap:.25rem 1rem;margin-bottom:1rem;font-size:.9rem}.map-getaway-sidebar__meta dt{color:var(--muted);font-weight:500}.map-getaway-sidebar__meta dd{margin:0}.map-getaway-sidebar__price-per{margin-top:.35rem;font-size:.85rem;color:var(--muted)}.map-getaway-sidebar__section{margin-bottom:1rem}.map-getaway-sidebar__section h4{font-size:.8rem;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.05em;margin:0 0 .35rem}.map-getaway-sidebar__section p{margin:0;font-size:.9rem;line-height:1.5}.map-getaway-sidebar__desc{white-space:pre-wrap}.map-getaway-sidebar__actions{display:flex;flex-direction:column;gap:.5rem;margin-top:1.5rem;padding-top:1rem;border-top:1px solid var(--border)}.map-getaway-sidebar__link{display:inline-flex;align-items:center;gap:.5rem;color:var(--accent);font-size:.9rem}.map-getaway-sidebar__link:hover{color:var(--accent-link-hover)}.map-getaway-sidebar__comment-btn{display:inline-flex;align-items:center;gap:.5rem;background:var(--surface);border:1px solid var(--border-strong);color:var(--light);padding:.5rem .75rem;border-radius:6px;font-size:.9rem;cursor:pointer;text-align:left}.map-getaway-sidebar__comment-btn:hover{background:var(--surface-hover)}.comments-sidebar{position:fixed;top:0;right:0;width:360px;max-width:90vw;height:100vh;background:var(--dark-2);border-left:1px solid var(--border);box-shadow:-4px 0 24px rgba(0,0,0,.3);z-index:1100;display:flex;flex-direction:column;animation:comments-sidebar-slide-in .2s ease-out}@keyframes comments-sidebar-slide-in{0%{transform:translateX(100%)}to{transform:translateX(0)}}.comments-sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border);flex-shrink:0}.comments-sidebar__header h3{margin:0;font-size:1rem;font-weight:600}.comments-sidebar__close{background:none;border:none;color:var(--muted);font-size:1.5rem;line-height:1;cursor:pointer;padding:.25rem}.comments-sidebar__close:hover{color:var(--light)}.comments-sidebar__content{flex:1;overflow-y:auto;padding:1rem 1.25rem}.comments-sidebar__getaway-group{margin-bottom:1.5rem}.comments-sidebar__getaway-group--focused{background:var(--accent-soft);margin:0 -1.25rem;padding:.5rem 1.25rem;border-radius:6px}.comments-sidebar__getaway-title{display:block;width:100%;text-align:left;background:none;border:none;color:var(--accent);font-size:.9rem;font-weight:600;cursor:pointer;padding:.25rem 0;margin-bottom:.5rem}.comments-sidebar__getaway-title:hover{text-decoration:underline}.comments-sidebar__comment{margin-bottom:1rem;padding:.75rem;background:var(--surface);border-radius:8px;border:1px solid var(--border)}.comments-sidebar__comment-header{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.5rem}.comments-sidebar__comment-author{font-weight:600;font-size:.85rem}.comments-sidebar__comment-date{font-size:.75rem;color:var(--muted)}.comments-sidebar__comment-actions{margin-left:auto;display:flex;gap:.35rem}.comments-sidebar__comment-actions button{font-size:.75rem;padding:.2rem .5rem;background:var(--surface-hover);border:none;color:var(--muted);cursor:pointer;border-radius:4px}.comments-sidebar__comment-actions button:hover{color:var(--light)}.comments-sidebar__comment-actions .comments-sidebar__delete:hover{color:var(--red)}.comments-sidebar__comment-body{font-size:.9rem;line-height:1.5;margin:0;white-space:pre-wrap;word-break:break-word}.comments-sidebar__add-form{margin-top:.5rem}.comments-sidebar__input{width:100%;padding:.6rem;background:var(--surface);border:1px solid var(--border-strong);border-radius:6px;color:var(--light);font-size:.9rem;font-family:inherit;resize:vertical;min-height:60px}.comments-sidebar__add-actions{display:flex;gap:.5rem;margin-top:.5rem}.comments-sidebar__add-actions button{font-size:.85rem;padding:.35rem .75rem}.comments-sidebar__add-link{background:none;border:none;color:var(--muted);font-size:.85rem;cursor:pointer;padding:.25rem 0}.comments-sidebar__add-link:hover{color:var(--accent)}.comments-sidebar__muted{color:var(--muted);font-size:.9rem;margin:0}.row-action-btn-comment{position:relative}.row-action-btn-comment__count{position:absolute;top:-4px;right:-4px;font-size:.6rem;min-width:14px;height:14px;padding:0 3px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:var(--on-accent);border-radius:7px}