.app-footer{flex-direction:column;width:100%;display:none;position:absolute;bottom:0;left:0}@media screen and (width<=550px){.app-footer{display:none}}.app-footer .footer-links{color:var(--ui-text-muted);justify-content:center;gap:12px;margin:0;padding:16px 0;font-size:12px;font-weight:400;line-height:18px;list-style:none;display:flex}.app-footer .footer-link:link,.app-footer .footer-link:active,.app-footer .footer-link:hover,.app-footer .footer-link:visited{color:var(--ui-text-links);text-decoration:underline}.google-place-rating{color:#5f6368;overflow-wrap:anywhere;align-items:center;gap:6px;font-size:14px;font-weight:550;line-height:20px;display:inline-flex}.google-place-rating .google-place-rating-stars{color:#dadce0;white-space:nowrap;align-items:center;gap:1px;font-size:15px;line-height:1;display:inline-flex}.google-place-rating .google-place-rating-star{color:#dadce0;line-height:1;display:inline-block;position:relative}.google-place-rating .google-place-rating-star:before{content:"★";width:var(--google-place-rating-star-fill);color:#fbbc04;position:absolute;inset:0;overflow:hidden}.google-place-rating .google-place-rating-review-count{color:#1a0dab}.dark-ui .google-place-rating{color:#bdc1c6}.dark-ui .google-place-rating .google-place-rating-review-count{color:#8ab4f8}.popover-modal.google-places-modal{border-radius:var(--ui-border-radius-large);overscroll-behavior:contain;justify-content:flex-start;width:90%;max-width:720px;max-height:calc(90vh - 110px);margin-top:110px}.popover-modal.google-places-modal .modal-content{flex-direction:column;gap:0;height:100%;min-height:0;padding:1.5rem;display:flex}.popover-modal.google-places-modal .modal-header{flex-direction:column;display:flex}.popover-modal.google-places-modal .modal-header h2.modal-title{margin:0;font-size:16px;font-weight:600;line-height:21px}.popover-modal.google-places-modal .modal-actions{border-top:1px solid var(--ui-border);box-sizing:border-box;justify-content:flex-end;gap:12px;padding-top:20px;display:flex}.popover-modal.google-places-modal .modal-body{flex-direction:column;flex:1;min-height:0;padding:0;display:flex}.popover-modal.google-places-modal .business-search{z-index:10;flex-direction:column;gap:1rem;margin:0 -1.5rem;padding:1rem 1.5rem;display:flex;position:sticky;top:0}.popover-modal.google-places-modal .search-results-container{flex:1;padding:0;overflow-y:auto}.popover-modal.google-places-modal .search-loading,.popover-modal.google-places-modal .loading-details,.popover-modal.google-places-modal .no-results,.popover-modal.google-places-modal .search-error,.popover-modal.google-places-modal .details-error{text-align:center;color:var(--text-muted);padding:2rem}.popover-modal.google-places-modal .is-empty-message{color:var(--ui-text-muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;min-height:calc(80vh - 530px);padding:2rem;display:flex}.popover-modal.google-places-modal .is-empty-message p.is-empty-text{text-align:center;max-width:20ch;color:var(--ui-text-muted);opacity:.5;margin:0;font-size:12px;line-height:18px}.popover-modal.google-places-modal .is-empty-message .empty-search-icon{opacity:.3;width:44px;height:44px}.popover-modal.google-places-modal .search-error,.popover-modal.google-places-modal .details-error{color:var(--error-color);background:var(--error-color-light);border:1px solid var(--error-color);border-radius:8px;margin:1rem 0}.popover-modal.google-places-modal .search-results{flex-direction:column;gap:.5rem;display:flex}.popover-modal.google-places-modal .search-results h4{color:var(--ui-text-muted);margin-bottom:1rem;font-size:12px;font-weight:400;line-height:18px}.popover-modal.google-places-modal .place-result{border:1px solid var(--ui-border);background:var(--ui-background-b);cursor:pointer;text-align:left;border-radius:8px;justify-content:space-between;align-items:center;padding:1rem;transition:all .2s;display:flex}.popover-modal.google-places-modal .place-result:hover{border-color:var(--ui-border);transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.popover-modal.google-places-modal .place-result:disabled{opacity:.6;cursor:not-allowed;transform:none}.popover-modal.google-places-modal .place-info{flex:1}.popover-modal.google-places-modal .place-info h5{color:var(--ui-text-bold);word-wrap:break-word;overflow-wrap:break-word;margin:0;font-size:16px;font-weight:500;line-height:23px}.popover-modal.google-places-modal .place-info p{color:var(--ui-text-muted);word-wrap:break-word;overflow-wrap:break-word;margin:0;font-size:12px;font-weight:400;line-height:21px}.popover-modal.google-places-modal .place-link{flex-shrink:0;margin-left:1rem}.popover-modal.google-places-modal .place-link span{color:var(--ui-text-muted);font-size:12px;font-weight:400}.popover-modal.google-places-modal .business-preview{flex-direction:column;gap:1.5rem;display:flex}.popover-modal.google-places-modal .business-header{border-bottom:1px solid var(--border-color);flex-direction:column;gap:.5rem;padding-bottom:1rem;display:flex}.popover-modal.google-places-modal .business-header h3{color:var(--text-primary);word-wrap:break-word;overflow-wrap:break-word;margin:0;font-size:1.25rem;font-weight:600}.popover-modal.google-places-modal .business-details{flex-direction:column;gap:1rem;display:flex}.popover-modal.google-places-modal .detail-item{flex-direction:column;gap:.25rem;display:flex}.popover-modal.google-places-modal .detail-item strong{color:var(--text-primary);text-transform:uppercase;letter-spacing:.025em;font-size:.875rem;font-weight:600}.popover-modal.google-places-modal .detail-item p{color:var(--text-secondary);word-wrap:break-word;overflow-wrap:break-word;margin:0;font-size:.875rem;line-height:1.4}.popover-modal.google-places-modal .detail-item a{color:var(--primary-color);text-decoration:none}.popover-modal.google-places-modal .detail-item a:hover{text-decoration:underline}.popover-modal.google-places-modal .hours-list{grid-template-columns:1fr 1fr;gap:.25rem;display:grid}.popover-modal.google-places-modal .hours-list p{color:var(--text-muted);margin:0;font-size:.8rem}.popover-modal.google-places-modal .available-data{background:var(--surface-tertiary);border:1px solid var(--border-color);border-radius:8px;padding:1rem}.popover-modal.google-places-modal .available-data h4{color:var(--text-primary);text-transform:uppercase;letter-spacing:.025em;margin:0 0 .75rem;font-size:.875rem;font-weight:600}.popover-modal.google-places-modal .data-types{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:.5rem;display:grid}.popover-modal.google-places-modal .data-type{align-items:center;font-size:.875rem;font-weight:500;display:flex}.popover-modal.google-places-modal .data-type:before{margin-right:.5rem;font-weight:700}.popover-modal.google-places-modal .data-type.available:before{content:"✓"}.popover-modal.google-places-modal .data-type.unavailable:before{content:"✕"}:is(.popover-modal.google-places-modal .search-loading,.popover-modal.google-places-modal .loading-details):after{content:"";border:2px solid var(--border-color);border-top-color:var(--primary-color);border-radius:50%;width:20px;height:20px;margin-left:.5rem;animation:1s linear infinite spin;display:inline-block}@media (width<=768px){.google-places-modal{width:95vw;min-width:320px;min-height:250px;max-height:85vh}.google-places-modal .place-result{flex-direction:column;align-items:flex-start;gap:.5rem}.google-places-modal .place-link{align-self:flex-end;margin-left:0}.google-places-modal .hours-list,.google-places-modal .data-types{grid-template-columns:1fr}}@keyframes spin{to{transform:rotate(360deg)}}
