:root{--page-bg:#f0f7ff;--surface:#fff;--surface-hover:#e6f7ff;--surface-muted:#e6f4ff;--primary:#1890ff;--primary-hover:#40a9ff;--primary-active:#096dd9;--border-color:#91d5ff;--text-heading:#003a8c;--text-primary:rgba(0,0,0,.88);--text-secondary:#597ef7;--text-muted:#8c8c8c;--text-on-primary:#fff;--star-accent:#faad14;--color-teal:#1890ff;--color-dark-blue:#003a8c;--color-red:#db3a34;--color-yellow:#faad14;--color-dark-gray:#595959;--card-bg:var(--surface);--dark-bg:#d6e4ff;--primary-gradient:linear-gradient(135deg,#1890ff,#096dd9);--secondary-gradient:linear-gradient(135deg,#40a9ff,#1890ff);--success-gradient:var(--primary-gradient);--warning-gradient:linear-gradient(135deg,#40a9ff,#69c0ff);--danger-gradient:linear-gradient(135deg,#db3a34,#c02e28);--shadow-sm:0 2px 8px rgba(24,144,255,.1);--shadow-md:0 4px 16px rgba(24,144,255,.12);--shadow-lg:0 8px 24px rgba(24,144,255,.14);--shadow-xl:0 12px 40px rgba(24,144,255,.16)}body{background:#f0f7ff;background:var(--page-bg);background-attachment:fixed;color:rgba(0,0,0,.88);color:var(--text-primary);min-height:100vh}.auth-gate,.container{padding:2rem 1rem}.auth-gate{align-items:center;display:flex;justify-content:center;min-height:100vh}.auth-card{background:#fff;background:var(--surface);border:1px solid #91d5ff;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 8px 24px rgba(24,144,255,.14);box-shadow:var(--shadow-lg);max-width:420px;padding:2.5rem 2rem;text-align:center;width:100%}.auth-card--plain{padding:2rem}.auth-title{color:#003a8c;color:var(--text-heading);font-size:2rem;font-weight:700;margin-bottom:.75rem}.auth-subtitle{color:#8c8c8c;color:var(--text-muted);font-size:.95rem;margin-bottom:1.5rem}.auth-message{font-size:.9rem;margin-bottom:1rem}.auth-message--error{color:#db3a34;color:var(--color-red)}.auth-google-wrap{display:flex;justify-content:center}.auth-loading{margin:0}.auth-loading,.user-menu-email{color:#8c8c8c;color:var(--text-muted)}.user-menu-email{font-size:.85rem;max-width:14rem}.modern-header{background:#fff;background:var(--surface);border:1px solid #91d5ff;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 8px 24px rgba(24,144,255,.14);box-shadow:var(--shadow-lg);margin-bottom:2rem;overflow:hidden;padding:2rem;position:relative}.modern-header:before{-webkit-animation:pulse 4s ease-in-out infinite;animation:pulse 4s ease-in-out infinite;background:radial-gradient(circle,rgba(24,144,255,.08) 0,transparent 70%);content:"";height:200%;position:absolute;right:-50%;top:-50%;width:200%}@-webkit-keyframes pulse{0%,to{opacity:.5;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.85;-webkit-transform:scale(1.1);transform:scale(1.1)}}@keyframes pulse{0%,to{opacity:.5;-webkit-transform:scale(1);transform:scale(1)}50%{opacity:.85;-webkit-transform:scale(1.1);transform:scale(1.1)}}.modern-header .modern-header-title,.modern-header h1{color:#003a8c;color:var(--text-heading);font-size:3rem;font-weight:700;margin:0;position:relative;text-shadow:none;z-index:1}.modern-header-title{flex:1 1;min-width:0;text-align:left}.modern-header-actions{flex-shrink:0;position:relative;z-index:1}.modern-header .btn{border:none;border-radius:12px;box-shadow:0 2px 8px rgba(24,144,255,.1);box-shadow:var(--shadow-sm);font-weight:600;padding:.75rem 1.5rem;position:relative;transition:all .3s ease;z-index:1}.modern-header .btn:hover{box-shadow:0 4px 16px rgba(24,144,255,.12);box-shadow:var(--shadow-md);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.modern-table-container{background:#fff;background:var(--surface);border:1px solid #91d5ff;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 12px 40px rgba(24,144,255,.16);box-shadow:var(--shadow-xl);overflow:hidden;padding:1.5rem}.modern-table{background:transparent;border-collapse:initial;border-spacing:0;width:100%}.modern-table thead th{background:#1890ff;background:var(--primary);border:none;color:#fff;color:var(--text-on-primary);font-size:.85rem;font-weight:600;letter-spacing:.5px;padding:1.25rem 1rem;position:relative;text-transform:uppercase;transition:all .2s ease}.modern-table thead th:hover{background:#096dd9;background:var(--primary-active);-webkit-transform:translateY(-1px);transform:translateY(-1px)}.modern-table tbody tr{background:#fff;background:var(--surface);border-bottom:1px solid #e6f4ff;border-bottom:1px solid var(--surface-muted);cursor:pointer;transition:all .2s ease}.modern-table tbody tr:hover{background:#e6f7ff;background:var(--surface-hover);box-shadow:0 2px 8px rgba(24,144,255,.1);box-shadow:var(--shadow-sm);-webkit-transform:scale(1.002);transform:scale(1.002)}.modern-table tbody tr:last-child{border-bottom:none}.modern-table tbody td{border:none;color:rgba(0,0,0,.88);color:var(--text-primary);padding:1.25rem 1rem;vertical-align:middle}.btn-modern{border:none;border-radius:10px;box-shadow:0 2px 8px rgba(24,144,255,.1);box-shadow:var(--shadow-sm);font-weight:600;overflow:hidden;padding:.5rem 1.25rem;position:relative;transition:all .3s ease}.btn-modern:before{background:hsla(0,0%,100%,.35);border-radius:50%;content:"";height:0;left:50%;position:absolute;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);transition:width .6s,height .6s;width:0}.btn-modern:hover:before{height:300px;width:300px}.btn-modern:hover{box-shadow:0 4px 16px rgba(24,144,255,.12);box-shadow:var(--shadow-md);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.btn-modern:active{-webkit-transform:translateY(0);transform:translateY(0)}.btn-warning-modern{background:linear-gradient(135deg,#40a9ff,#69c0ff);background:var(--warning-gradient)}.btn-danger-modern,.btn-warning-modern{color:#fff;color:var(--text-on-primary)}.btn-danger-modern{background:linear-gradient(135deg,#db3a34,#c02e28);background:var(--danger-gradient)}.btn-primary-modern{background:#1890ff;background:var(--primary);color:#fff;color:var(--text-on-primary)}.btn-primary-modern:hover{background:#096dd9;background:var(--primary-active);color:#fff;color:var(--text-on-primary)}.btn-secondary-modern{background:#fff;background:var(--surface);border:2px solid #40a9ff;border:2px solid var(--primary-hover);color:#40a9ff;color:var(--primary-hover)}.btn-secondary-modern:hover{background:rgba(24,144,255,.06);border-color:#1890ff;border-color:var(--primary);color:#1890ff;color:var(--primary)}.modern-modal .modal-content{background:#fff;background:var(--surface);border:1px solid #91d5ff;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 12px 40px rgba(24,144,255,.16);box-shadow:var(--shadow-xl);overflow:hidden}.modern-modal .modal-header{background:#1890ff;background:var(--primary);border:none;padding:1.5rem}.modern-modal .modal-title{color:#fff;color:var(--text-on-primary);font-size:1.5rem;font-weight:700}.modern-modal .modal-body{background:#fff;background:var(--surface);color:rgba(0,0,0,.88);color:var(--text-primary);padding:2rem}.modern-modal .form-label{color:#003a8c;color:var(--text-heading);font-weight:600;margin-bottom:.5rem}.modern-modal .form-control,.modern-modal .form-select{background:#fff;background:var(--surface);border:2px solid #91d5ff;border:2px solid var(--border-color);border-radius:10px;color:rgba(0,0,0,.88);color:var(--text-primary);padding:.75rem 1rem;transition:all .2s ease}.modern-modal .form-control:focus,.modern-modal .form-select:focus{background:#fff;background:var(--surface);border-color:#1890ff;border-color:var(--primary);box-shadow:0 0 0 .2rem rgba(24,144,255,.2);color:rgba(0,0,0,.88);color:var(--text-primary)}.modern-modal .form-control::-webkit-input-placeholder{color:#8c8c8c;color:var(--text-muted)}.modern-modal .form-control::placeholder{color:#8c8c8c;color:var(--text-muted)}.modern-modal .modal-footer{background:#e6f4ff;background:var(--surface-muted);border:none;padding:1.5rem}.place-tiles-toolbar{align-items:stretch;border-bottom:1px solid #e6f4ff;border-bottom:1px solid var(--surface-muted);display:flex;flex-direction:column;gap:.65rem;margin-bottom:1.25rem;padding-bottom:1rem}.place-tiles-sort-bar{width:100%}.place-tiles-sort-bar,.place-tiles-sort-bar-main{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem .75rem;min-width:0}.place-tiles-sort-bar-main{flex:1 1 auto}.place-tiles-name-search{align-items:center;display:flex;flex:0 0 auto;margin-left:auto}.place-tiles-name-search-toggle{align-items:center;background:#fff;background:var(--surface);border:1px solid #91d5ff;border:1px solid var(--border-color);border-radius:999px;color:#8c8c8c;color:var(--text-muted);cursor:pointer;display:inline-flex;height:2.35rem;justify-content:center;padding:0;transition:background .2s ease,border-color .2s ease,color .2s ease,box-shadow .2s ease;width:2.35rem}.place-tiles-name-search-toggle:hover{background:#e6f7ff;background:var(--surface-hover);border-color:#40a9ff;border-color:var(--primary-hover);color:#096dd9;color:var(--primary-active)}.place-tiles-name-search-toggle.has-filter{background:rgba(24,144,255,.12);border-color:#1890ff;border-color:var(--primary);color:#096dd9;color:var(--primary-active)}.place-tiles-name-search-field{align-items:center;display:flex;gap:.35rem;max-width:18rem;min-width:min(16rem,100%)}.place-tiles-name-search-input{border-radius:999px;flex:1 1 auto;min-width:0;padding-left:.85rem;padding-right:.85rem}.place-tiles-name-search-close{align-items:center;background:#fff;background:var(--surface);border:1px solid #91d5ff;border:1px solid var(--border-color);border-radius:999px;color:#8c8c8c;color:var(--text-muted);cursor:pointer;display:inline-flex;flex-shrink:0;height:2rem;justify-content:center;padding:0;transition:background .15s ease,color .15s ease;width:2rem}.place-tiles-name-search-close:hover{background:#e6f7ff;background:var(--surface-hover);color:#003a8c;color:var(--text-heading)}.place-tiles-filter-section-start{border-left:1px solid #91d5ff;border-left:1px solid var(--border-color);margin-left:.35rem;padding-left:1rem}.place-tiles-filter-input-wrap{flex:0 1 10rem;max-width:12rem;min-width:7.5rem}.place-tiles-tag-filter-pill{align-items:center;background:rgba(24,144,255,.14);border:1px solid #91d5ff;border:1px solid var(--border-color);border-radius:999px;color:#003a8c;color:var(--text-heading);display:inline-flex;font-size:.78rem;font-weight:600;gap:.2rem;line-height:1.2;padding:.28rem .15rem .28rem .65rem}.place-tiles-tag-filter-pill-text{max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.place-tiles-tag-filter-pill-remove{align-items:center;background:transparent;border:none;border-radius:50%;color:#8c8c8c;color:var(--text-muted);cursor:pointer;display:inline-flex;font-size:1.1rem;height:1.5rem;justify-content:center;line-height:1;margin:0;padding:0;transition:background .15s ease,color .15s ease;width:1.5rem}.place-tiles-tag-filter-pill-remove:hover{background:rgba(0,0,0,.08);color:#003a8c;color:var(--text-heading)}.place-tiles-filter-hint{text-align:left;width:100%}.place-tiles-sort-label{color:#8c8c8c;color:var(--text-muted);font-size:.75rem;font-weight:600;letter-spacing:.06em;margin-right:.25rem;text-transform:uppercase}.place-tiles-sort-btn{align-items:center;background:#fff;background:var(--surface);border:1px solid #91d5ff;border:1px solid var(--border-color);border-radius:999px;color:#003a8c;color:var(--text-heading);cursor:pointer;display:inline-flex;font-size:.85rem;font-weight:600;gap:.35rem;padding:.4rem .85rem;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.place-tiles-sort-btn:hover{background:#e6f7ff;background:var(--surface-hover);border-color:#40a9ff;border-color:var(--primary-hover)}.place-tiles-sort-btn.is-active{background:rgba(24,144,255,.12);border-color:#1890ff;border-color:var(--primary);color:#096dd9;color:var(--primary-active)}.place-tiles-sort-icon{color:#1890ff;color:var(--primary);font-size:.75rem;opacity:.45}.place-tiles-sort-icon--active{font-weight:700;opacity:1}.place-tiles-grid{grid-gap:1.25rem;display:grid;gap:1.25rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.place-tiles-empty{grid-column:1/-1;padding:2rem 1rem;text-align:center}.place-tile{background:#fff;background:var(--surface);border:1px solid #91d5ff;border:1px solid var(--border-color);border-radius:14px;box-shadow:0 2px 8px rgba(24,144,255,.1);box-shadow:var(--shadow-sm);display:flex;flex-direction:column;overflow:hidden;position:relative;transition:box-shadow .2s ease,border-color .2s ease,-webkit-transform .2s ease;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease;transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease,-webkit-transform .2s ease}.place-tile--has-notes{overflow:visible;z-index:0}.place-tile--has-notes:focus-within,.place-tile--has-notes:hover{z-index:3}.place-tile:hover{border-color:#40a9ff;border-color:var(--primary-hover);box-shadow:0 4px 16px rgba(24,144,255,.12);box-shadow:var(--shadow-md);-webkit-transform:translateY(-2px);transform:translateY(-2px)}.place-tile-notes-tooltip{background:#fff;background:var(--surface);border:1px solid #91d5ff;border:1px solid var(--border-color);border-radius:10px;bottom:calc(100% + 10px);box-shadow:0 8px 24px rgba(24,144,255,.14);box-shadow:var(--shadow-lg);color:rgba(0,0,0,.88);color:var(--text-primary);font-size:.85rem;left:50%;line-height:1.45;max-height:220px;max-width:min(320px,calc(100vw - 2rem));min-width:200px;opacity:0;overflow-y:auto;padding:.65rem .85rem;pointer-events:none;position:absolute;text-align:left;-webkit-transform:translateX(-50%) translateY(4px);transform:translateX(-50%) translateY(4px);transition:opacity .18s ease,visibility 0s linear .2s,-webkit-transform .18s ease;transition:opacity .18s ease,visibility 0s linear .2s,transform .18s ease;transition:opacity .18s ease,visibility 0s linear .2s,transform .18s ease,-webkit-transform .18s ease;visibility:hidden}.place-tile--has-notes:focus-within .place-tile-notes-tooltip,.place-tile--has-notes:hover .place-tile-notes-tooltip{opacity:1;-webkit-transform:translateX(-50%) translateY(0);transform:translateX(-50%) translateY(0);transition:opacity .2s ease .12s,visibility 0s,-webkit-transform .2s ease .12s;transition:opacity .2s ease .12s,visibility 0s,transform .2s ease .12s;transition:opacity .2s ease .12s,visibility 0s,transform .2s ease .12s,-webkit-transform .2s ease .12s;visibility:visible}.place-tile-notes-tooltip-label{color:#8c8c8c;color:var(--text-muted);display:block;font-size:.7rem;font-weight:700;letter-spacing:.06em;margin-bottom:.35rem;text-transform:uppercase}.place-tile-notes-tooltip-text{white-space:pre-wrap;word-break:break-word}@media (prefers-reduced-motion:reduce){.place-tile--has-notes:focus-within .place-tile-notes-tooltip,.place-tile--has-notes:hover .place-tile-notes-tooltip,.place-tile-notes-tooltip{transition:none}}.place-tile-main{cursor:pointer;flex:1 1 auto;padding:1.25rem 1.25rem 1rem;text-align:left}.place-tile-main:focus{outline:2px solid #1890ff;outline:2px solid var(--primary);outline-offset:-2px}.place-tile-main:focus:not(:focus-visible){outline:none}.place-tile-main:focus-visible{outline:2px solid #1890ff;outline:2px solid var(--primary);outline-offset:-2px}.place-tile-name{color:#003a8c;color:var(--text-heading);font-size:1.15rem;font-weight:700;line-height:1.3;margin:0 0 .65rem}.place-tile-price-range{color:#096dd9;color:var(--primary-active);font-size:.95rem;font-weight:600;letter-spacing:.08em;line-height:1.3;margin:-.35rem 0 .65rem}.place-tile-location{align-items:flex-start;color:rgba(0,0,0,.88);color:var(--text-primary);display:flex;font-size:.9rem;gap:.5rem;line-height:1.45;margin:0 0 .85rem}.place-tile-location-icon{color:#1890ff;color:var(--primary);flex-shrink:0;margin-top:.2rem}.place-tile-tags{align-items:center;display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.85rem;min-height:1.5rem}.place-tile-tag{background:rgba(24,144,255,.1)!important;border:1px solid #91d5ff!important;border:1px solid var(--border-color)!important;color:#003a8c!important;color:var(--text-heading)!important;font-size:.75rem!important;font-weight:500!important}.place-tile-rating{margin-top:auto;padding-top:.25rem}.place-tile-actions{background:#e6f4ff;background:var(--surface-muted);border-top:1px solid #91d5ff;border-top:1px solid var(--border-color);display:flex;gap:.5rem;justify-content:flex-end;padding:.75rem 1rem}.price-range{color:#096dd9;color:var(--primary-active);font-size:1.25rem;font-weight:600;letter-spacing:2px}.rating-display{align-items:center;display:flex;gap:.5rem}.place-details-hero{grid-gap:1.5rem;align-items:start;display:grid;gap:1.5rem;margin-bottom:2rem}@media (min-width:992px){.place-details-hero--with-side-panel{grid-template-columns:1fr minmax(260px,34%)}}.place-details-hero .place-details-header{margin-bottom:0}.place-details-notes-panel{background:#fff;background:var(--surface);border:1px solid #91d5ff;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 8px 24px rgba(24,144,255,.14);box-shadow:var(--shadow-lg);padding:1.5rem 1.35rem;text-align:left}.place-details-notes-heading{align-items:center;color:#003a8c;color:var(--text-heading);display:flex;font-size:1rem;font-weight:700;margin:0 0 .75rem}.place-details-notes-heading i{color:#1890ff;color:var(--primary);opacity:.9}.place-details-notes-body{color:rgba(0,0,0,.88);color:var(--text-primary);font-size:.98rem;line-height:1.55;white-space:pre-wrap}.place-details-public-notes{margin-left:auto;margin-right:auto;max-width:42rem}.place-details-public-notes-heading{align-items:center;color:#003a8c;color:var(--text-heading);display:flex;font-size:.95rem;font-weight:700;justify-content:center;margin:0 0 .5rem}.place-details-public-notes-heading i{color:#1890ff;color:var(--primary);opacity:.9}.place-details-public-notes-body{text-align:center}.place-details-private-notes-hint{color:#8c8c8c;color:var(--text-muted);font-size:.82rem;line-height:1.4}.place-details-private-notes-body{text-align:left}.place-details-private-notes-delete-confirm{background:rgba(250,173,20,.08);border:1px solid #91d5ff;border:1px solid var(--border-color)}.place-details-header{background:#fff;background:var(--surface);border:1px solid #91d5ff;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 12px 40px rgba(24,144,255,.16);box-shadow:var(--shadow-xl);margin-bottom:2rem;padding:3rem 2rem;text-align:center}.place-details-header h1{color:#003a8c;color:var(--text-heading);font-size:3.5rem;font-weight:700;margin-bottom:1rem;text-shadow:none}.place-details-header--has-address h1{margin-bottom:.35rem}.place-details-price-range{color:#096dd9;color:var(--primary-active);font-size:1.2rem;font-weight:600;letter-spacing:.14em;margin-bottom:.5rem}.place-details-header--has-address .place-details-price-range{margin-bottom:.35rem}.place-details-header .place-details-address{color:#8c8c8c;color:var(--text-muted);font-size:1.05rem;font-weight:500;margin-bottom:1rem}.place-details-header .place-details-address-link{color:inherit;text-decoration:underline;text-decoration-color:color-mix(in srgb,#1890ff 45%,transparent);text-decoration-color:color-mix(in srgb,var(--primary) 45%,transparent);text-underline-offset:.15em;transition:color .15s ease,text-decoration-color .15s ease}.place-details-header .place-details-address-link:focus-visible,.place-details-header .place-details-address-link:hover{color:#1890ff;color:var(--primary);text-decoration-color:#1890ff;text-decoration-color:var(--primary)}.place-details-tags-readonly{margin-bottom:1rem;margin-top:.35rem}.place-details-tag-pill{background:rgba(24,144,255,.12);border:1px solid #91d5ff;border:1px solid var(--border-color);color:#003a8c;color:var(--text-heading);font-size:.9rem;font-weight:500;padding:.45em .75em}.place-details-header .rating-display{color:rgba(0,0,0,.88);color:var(--text-primary)}.reviews-section{background:#fff;background:var(--surface);border:1px solid #91d5ff;border:1px solid var(--border-color);border-radius:16px;box-shadow:0 8px 24px rgba(24,144,255,.14);box-shadow:var(--shadow-lg);margin-bottom:2rem;padding:2rem}.reviews-section h3{color:#003a8c;color:var(--text-heading);font-weight:700}.list-group-item.list-group-item-action.active{background-color:#1890ff;background-color:var(--primary);border-color:#1890ff;border-color:var(--primary);color:#fff;color:var(--text-on-primary)}@media (max-width:768px){.modern-header .modern-header-title,.modern-header h1{font-size:2rem}.modern-table-container{overflow-x:auto;padding:1rem}.modern-table{font-size:.9rem}.modern-table tbody td,.modern-table thead th{padding:.75rem .5rem}.place-tiles-grid{gap:1rem;grid-template-columns:1fr}.place-tiles-sort-bar{margin-bottom:1rem;padding-bottom:.75rem}}::-webkit-scrollbar{width:10px}::-webkit-scrollbar-track{background:#e6f4ff;background:var(--surface-muted)}::-webkit-scrollbar-thumb{background:#40a9ff;background:var(--primary-hover);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:#1890ff;background:var(--primary)}
/*# sourceMappingURL=main.7c678301.css.map*/