@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:#c45c26;--accent-soft:rgba(196,92,38,.15);--accent-glow:rgba(196,92,38,.25);--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:#d17c3b}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;padding:0 1rem 1rem}@media (max-width:639px){.app-detail-view{overflow-y:auto;-webkit-overflow-scrolling:touch}.app-detail-view .list-detail-sticky{position:sticky;top:0;z-index:10;background:var(--dark);flex-shrink:0}.app-detail-view .list-detail-content,.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}}.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__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__name{font-weight:600;font-size:.95rem;flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.getaway-mobile-card__likes{display:flex;align-items:center;gap:.35rem;flex-shrink:0}.getaway-mobile-card__like-btn{background:none;border:none;padding:.35rem;cursor:pointer;color:var(--muted);border-radius:6px}.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}.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;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__handle{width:36px;height:4px;background:var(--border-strong);border-radius:2px;margin:.5rem auto 0;flex-shrink:0}.getaway-detail-sheet__header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid var(--border);flex-shrink:0}.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;overflow-y:auto;padding:1rem 1.25rem 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__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:#d17c3b}.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:#fff;border:none;border-radius:6px;cursor:pointer}.inline-comments__add-btn:hover:not(:disabled){background:#d17c3b}.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:#fff;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 hsla(0,0%,100%,.3);border-top-color:#fff;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);flex:1}.sheet-toolbar{display:flex;align-items:center;padding:.35rem .75rem;background:var(--surface);border-bottom:1px solid var(--border)}.sheet{width:100%;border-collapse:collapse;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;position:sticky;top:0;z-index:2;-webkit-user-select:none;-moz-user-select:none;user-select:none}.sheet tbody tr,.sheet thead th{border-bottom:1px solid var(--border)}.sheet tbody tr{transition:background .15s}.sheet tbody tr:hover{background:var(--surface-hover)}.sheet tbody tr:last-child{border-bottom:none}.sheet td{padding:.6rem .75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.col-votes,.sheet td{vertical-align:middle}.col-votes{width:72px;min-width:72px}.vote-cell{gap:.5rem}.vote-cell,.vote-cell__avatars{display:flex;align-items:center}.vote-cell__avatars{flex-wrap:wrap;gap:2px}.vote-cell__avatar{width:22px;height:22px;border-radius:50%;overflow:hidden;border:2px solid var(--dark);flex-shrink:0;background:var(--border);cursor:default}.vote-cell__avatar img{width:100%;height:100%;-o-object-fit:cover;object-fit:cover}.vote-cell__avatar-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:.6rem;font-weight:600}.vote-cell__more{font-size:.65rem;color:var(--muted);margin-left:2px}.vote-cell__btn{padding:.25rem;border:none;background:none;color:var(--muted);cursor:pointer;border-radius:4px;transition:color .15s}.vote-cell__btn.voted,.vote-cell__btn:hover{color:var(--accent)}.col-thumb{width:48px;min-width:48px}.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:90px;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}.expandable-cell-inner .expandable-content,.expandable-cell-inner .expandable-truncated{flex:1;min-width:0}.name-external-link{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)}.col-catch{width:auto}.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{-o-object-fit:cover;object-fit:cover;display:block}.thumb,.thumb-placeholder{width:40px;height:40px;border-radius:6px;background:var(--surface)}.thumb-placeholder{display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:1rem}.thumb-link{cursor:pointer;position:relative}.thumb-link:after{content:"↗";position:absolute;bottom:0;right:0;background:var(--accent);color:#fff;font-size:.55rem;width:14px;height:14px;border-radius:3px 0 6px 0;display:flex;align-items:center;justify-content:center;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:.5rem;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:1.2rem;color:var(--light);transition:color .15s;display:inline-flex;align-items:center;justify-content:center;line-height:1}.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:#fff}.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:#fff;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:#fff;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;flex:1;overflow:hidden}.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:#fff;font-size:.9rem;font-weight:500;border-radius:6px;text-decoration:none;cursor:grab}.scout-bookmarklet__link:active{cursor:grabbing}.scout-bookmarklet__link:hover{background:#d17c3b}.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{flex:1;min-height:0;display:flex;flex-direction:column;padding:0 2rem 1.5rem;overflow:hidden}.list-villas-tab__table-wrap .sheet-wrap{margin-left:0;margin-right:0}.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:1;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__role{background:var(--accent-soft);color:var(--accent);padding:.25rem .75rem;border-radius:4px;font-size:.75rem;font-weight:600;text-transform:capitalize}.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-content{flex:1;min-height:0;overflow:auto;display:flex;flex-direction:column}.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{max-height:calc(100vh - 220px);overflow-y:auto}.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:#fff;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:#d17c3b}.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__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:#d17c3b}.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:#fff;border-radius:7px}