:root{--primary-green:#16a34a;--primary-green-dark:#15803d;--bg-white:#ffffff;--text-dark:#0f172a;--text-muted:#475569;--text-light:#64748b;--border-light:#e2e8f0;--border-focus:#8dd3a9;--surface-subtle:#f8fafc;--surface-green:#f0fdf4;--shadow-sm:0 2px 8px rgba(15,23,42,0.06);--shadow-md:0 10px 30px rgba(15,23,42,0.12);--shadow-lg:0 18px 36px rgba(15,23,42,0.18);--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--radius-xl:24px;--radius-pill:999px;--transition-fast:0.18s ease;--transition-smooth:0.32s cubic-bezier(0.2,0.8,0.2,1)}.parking-page,.parking-shell{width:100%;min-height:calc(100vh - 92px)}.parking-shell{position:relative;isolation:isolate;overflow:hidden;background:#ecfdf3}.map-layer{position:absolute;inset:0;z-index:0}.map-current-location-btn{position:absolute;right:16px;top:18px;z-index:32;border:1px solid rgba(14,130,74,.2);border-radius:var(--radius-pill);background:#16784d;color:#ffffff;min-height:40px;padding:.42rem .82rem;display:inline-flex;align-items:center;gap:.35rem;font-size:.78rem;font-weight:780;box-shadow:0 10px 22px rgba(10,111,59,.26);transition:all var(--transition-fast)}.map-current-location-btn:hover{border-color:#0a743d;background:#115f3d;box-shadow:0 8px 18px rgba(10,111,59,.24);transform:translateY(-1px)}.nda-map-container{width:100%!important;height:100%!important;border-radius:0!important}.search-side-panel{position:absolute;top:16px;left:16px;bottom:16px;z-index:1000;display:flex;flex-direction:column;background:#ffffff;border:1px solid #dce5df;border-radius:18px;box-shadow:0 12px 30px rgba(24,51,35,.12);overflow:hidden;transition:width var(--transition-smooth),transform var(--transition-smooth),box-shadow var(--transition-smooth);will-change:width,transform}.search-side-panel.expanded{width:min(420px,calc(100vw - 32px));transform:translateX(0)}.search-side-panel.collapsed{width:60px;transform:translateX(-2px)}.panel-sticky-header{padding:14px 16px 10px;background:#ffffff;border-bottom:1px solid var(--border-light);z-index:10;touch-action:pan-x}.mobile-drag-area,.mobile-drag-handle{display:none}@media (max-width:768px){.search-side-panel{top:auto;bottom:0;left:0;right:0;width:100%!important;border-radius:20px 20px 0 0;border-bottom:none;transform:none}}.search-panel-header{display:flex;align-items:flex-start;gap:10px}.panel-toggle-btn{width:38px;height:38px;border-radius:11px;border:1px solid var(--border-light);background:var(--bg-white);color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:var(--shadow-sm);transition:all var(--transition-fast)}.panel-toggle-btn:hover{border-color:#b9c5d3;background:var(--surface-subtle)}.search-form-container{position:relative;width:100%}.search-disclaimer{margin:.35rem 0 0;color:var(--text-muted);line-height:1.35}.panel-result-count{display:flex;align-items:baseline;flex-wrap:wrap;gap:.45rem .7rem}.panel-result-context{flex:1 1 100%;color:#24352c;font-size:.96rem;font-weight:700;line-height:1.35}.panel-result-count-value,.panel-result-radius{color:#6b7f73;font-size:.78rem;font-weight:600}.panel-empty-loading{min-height:150px;display:flex;align-items:center;justify-content:center;gap:.55rem;color:#167b4c;font-weight:600}.filter-group-label{align-self:center;margin-left:.15rem;color:#718278;font-size:.7rem;font-weight:600;white-space:nowrap}.filter-group-label-filter{margin-left:.3rem}.search-form{flex:1;display:flex;align-items:center;gap:10px;border:1px solid var(--border-light);border-radius:15px;padding:.6rem .75rem;background:var(--bg-white);box-shadow:0 10px 24px rgba(15,23,42,.09);min-height:52px;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.search-form:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 3px rgba(22,163,74,.16),0 12px 26px rgba(15,23,42,.1);transform:translateY(-1px)}.search-icon{color:var(--text-light);flex-shrink:0}.search-input{flex:1;border:none;outline:none;background:transparent;color:var(--text-dark);font-size:1rem;font-weight:500;line-height:1.3}.search-input::placeholder{color:#94a3b8}.location-btn,.search-btn{width:36px;height:36px;border-radius:var(--radius-sm);border:1px solid transparent;background:var(--bg-white);color:var(--text-light);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:all var(--transition-fast);flex-shrink:0}.location-btn:hover{border-color:var(--border-light);background:var(--surface-subtle)}.search-btn{color:#ffffff}.search-btn:hover{background:#115f3d;border-color:#166534}.search-btn:disabled{opacity:.6;cursor:not-allowed}.search-form{min-height:56px;gap:12px;border-color:#d8e6de;border-radius:14px;padding:.55rem .6rem .55rem .9rem;box-shadow:0 3px 10px rgba(19,74,46,.07)}.search-form:focus-within{border-color:#35a96b;box-shadow:0 0 0 3px rgba(53,169,107,.12);transform:none}.search-icon{color:#16834c}.search-input{font-size:.96rem;font-weight:400}.search-input::placeholder{color:#8a9aaf;opacity:1}.search-btn{width:40px;height:40px;border-radius:11px;background:#16784d}.search-disclaimer{display:flex;align-items:center;gap:7px;margin:.5rem .1rem 0;color:#718095;font-size:.76rem}.search-disclaimer svg{flex:0 0 auto;color:#728096}.search-suggestions{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--bg-white);border-radius:var(--radius-lg);box-shadow:0 12px 32px rgba(0,0,0,.15);border:1px solid var(--border-light);z-index:9999;display:flex;flex-direction:column;overflow:hidden;overflow-x:hidden}.suggestions-list{min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-gutter:stable}.suggestions-header{padding:.75rem 1rem;font-size:.78rem;color:var(--text-dark);background:var(--surface-subtle);border-bottom:1px solid var(--border-light);text-transform:uppercase;letter-spacing:.02em}.suggestion-item{width:100%;background:transparent;cursor:pointer;padding:.75rem 1rem;text-align:left;display:flex;flex-direction:column;gap:.2rem;transition:background var(--transition-fast);border:none;border-bottom:1px solid #f1f5f9}.suggestion-item:last-child{border-bottom:none}.suggestion-item.active,.suggestion-item:hover{background:var(--surface-green)}.suggestion-title-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.suggestion-title{color:var(--text-dark);line-height:1.3;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.suggestion-subtitle{font-size:.78rem;font-weight:400;color:var(--text-muted);line-height:1.3}.suggestion-meta{font-size:.72rem;color:var(--text-light);gap:.4rem}.suggestion-badge,.suggestion-meta{display:inline-flex;align-items:center}.suggestion-badge{justify-content:center;padding:.15rem .5rem;border-radius:var(--radius-pill);background:#d1fae5;color:#065f46;font-size:.68rem;font-weight:700;white-space:nowrap;flex-shrink:0}.suggestions-list::-webkit-scrollbar{width:6px}.suggestions-list::-webkit-scrollbar-thumb{background:rgba(22,163,74,.3);border-radius:var(--radius-pill)}.suggestions-list::-webkit-scrollbar-track{background:transparent}.panel-filters{display:flex;align-items:center;margin-top:12px;margin-bottom:8px;background:transparent;border:none;padding:0 4px;overflow-x:auto;scrollbar-width:none;-webkit-overflow-scrolling:touch}.panel-filters::-webkit-scrollbar{display:none}.filter-chip{display:inline-flex;align-items:center;justify-content:center;background:var(--bg-white,#ffffff);border:1px solid var(--border-light,#e2e8f0);border-radius:9999px;padding:6px 14px;font-size:.82rem;font-weight:600;color:var(--text-dark,#1e293b);cursor:pointer;transition:all var(--transition-fast,.2s ease);white-space:nowrap;min-height:36px;flex:none;box-shadow:0 1px 2px rgba(0,0,0,.05)}.filter-chip svg{width:14px!important;height:14px!important;margin-right:5px!important;flex-shrink:0}.filter-chip:hover{border-color:#cbd5e1;background:#f8fafc;box-shadow:0 4px 6px -1px rgba(0,0,0,.05),0 2px 4px -1px rgba(0,0,0,.03)}.filter-chip.active{border-color:var(--primary-green,#10b981);background:#e6f7f3;color:var(--primary-green-dark,#047857);box-shadow:0 2px 4px rgba(16,185,129,.1)}.filter-chip.scan-nearby-btn{min-width:158px;color:#0b7740;background:#eef8f1;border-color:#a9dfbd;position:relative;overflow:hidden}.filter-chip.scan-nearby-btn:hover{background:#dff7e8;border-color:#72c994}.filter-chip.scan-nearby-btn.active{border-color:#10b981;background:#16784d;color:#ffffff;box-shadow:0 4px 12px rgba(16,185,129,.35);animation:scanPulse 1.5s ease-in-out infinite}.filter-chip.scan-nearby-btn.active svg{animation:radarSpin 1.2s linear infinite}@keyframes scanPulse{0%,to{box-shadow:0 4px 20px rgba(46,204,113,.35)}50%{box-shadow:0 4px 28px rgba(46,204,113,.55)}}@keyframes radarSpin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.radius-filter-panel{width:100%;border:1px solid #d8e5da;border-radius:var(--radius-sm);background:#f5faf6;padding:.5rem .65rem;display:flex;flex-direction:column;gap:.3rem;animation:panelFadeUp .26s ease both}.radius-filter-header{display:flex;align-items:center;justify-content:space-between;font-size:.68rem;font-weight:700;color:#1f2937}.radius-filter-value{color:var(--primary-green-dark)}.radius-slider{width:100%;accent-color:var(--primary-green);cursor:pointer;height:12px}.radius-slider-scale{display:flex;justify-content:space-between;font-size:.6rem;color:var(--text-light);font-weight:600}.radius-filter-actions{display:flex;justify-content:flex-end}.radius-clear-btn{border-radius:var(--radius-pill);min-height:22px;padding:0 .5rem;font-size:.62rem;font-weight:700;color:#166534;border:1px solid #cde4d5;background:var(--bg-white);cursor:pointer;transition:background var(--transition-fast)}.radius-clear-btn:hover{background:var(--surface-green)}.panel-result-count{padding:6px 4px 4px;font-size:.62rem;color:var(--primary-green-dark);letter-spacing:.02em;text-transform:uppercase;font-weight:700}.panel-results{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 14px 14px;background:var(--bg-white);transition:opacity .24s ease}.panel-quick-action{width:100%;border:1px solid #d8ebde;background:#f5faf6;border-radius:var(--radius-md);padding:.6rem .7rem;margin-bottom:8px;display:flex;align-items:center;gap:.7rem;text-align:left;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),transform var(--transition-fast)}.panel-quick-action:hover{border-color:#c8dfd1;box-shadow:0 8px 16px rgba(15,23,42,.06);transform:translateY(-1px)}.parking-result-cards{display:grid;gap:12px;margin-top:12px}.parking-result-card{display:flex;gap:10px;padding:10px;border:1px solid #e2e8f0;border-radius:16px;background:#fff;box-shadow:0 4px 14px rgba(15,23,42,.06)}.parking-result-card-main{display:flex;flex:1;gap:10px;padding:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer}.parking-result-card-image{display:grid;flex:0 0 72px;width:72px;height:72px;place-items:center;overflow:hidden;border-radius:12px;background:#ecfdf5;color:#15803d}.parking-result-card-image img{width:100%;height:100%;object-fit:cover}.parking-result-card-copy h3,.parking-result-card-copy p{margin:0}.parking-result-card-copy h3{overflow:hidden;color:#0f172a;font-size:15px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.parking-result-card-address{margin-top:3px!important;overflow:hidden;color:#64748b;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.parking-result-card-meta{display:flex;flex-wrap:wrap;gap:7px;margin-top:7px!important;color:#475569;font-size:11px;font-weight:700}.parking-result-card-meta span:first-child{color:#b7791f}.parking-result-card-price{margin-top:5px!important;color:#15803d;font-size:12px;font-weight:800}.parking-result-card-route{display:inline-flex;flex:0 0 auto;align-items:center;align-self:center;gap:4px;min-height:34px;padding:0 9px;border:1px solid #bbf7d0;border-radius:9px;background:#f0fdf4;color:#15803d;font-size:11px;font-weight:800;cursor:pointer}.parking-result-card-route:disabled{cursor:not-allowed;opacity:.45}.quick-action-icon{width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#dcfce7;color:#166534;flex-shrink:0}.quick-action-label{font-size:.78rem;font-weight:700;color:#1f2937;display:block;flex:1}.quick-action-copy{display:grid;min-width:0;flex:1;gap:.14rem}.quick-action-description{overflow:hidden;color:#698678;font-size:.69rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.quick-action-cta{flex:0 0 auto;font-size:.7rem;font-weight:700;color:var(--primary-green-dark)}.search-result-item{width:100%;border:1px solid var(--border-light);background:var(--bg-white);border-radius:var(--radius-md);padding:.75rem;margin-bottom:8px;text-align:left;cursor:pointer;display:flex;align-items:center;gap:.75rem;transition:border-color var(--transition-fast),box-shadow var(--transition-fast),background-color var(--transition-fast);animation:result-item-fade-in .24s ease both}.search-result-item:hover{border-color:#cfe0ef;box-shadow:0 6px 16px rgba(15,23,42,.07);transform:translateY(-1px)}.search-result-item.active{border-color:var(--border-focus);background:#f3fbf5}.result-leading-icon{width:42px;height:42px;border-radius:var(--radius-pill);background:#f2f3f5;color:#1f2937;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0}.result-item-content{display:flex;flex-direction:column;min-width:0;flex:1;gap:2px}.result-item-title-row{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.result-item-title{font-weight:700;color:#1f2937;font-size:.92rem;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-distance-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);border:1px solid rgba(46,204,113,.25);background:#edf8f0;color:#27ae60;font-size:.7rem;font-weight:700;padding:.12rem .45rem;white-space:nowrap;flex-shrink:0}.result-item-subtitle{color:#616875;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.result-item-meta{display:flex;gap:8px;flex-wrap:wrap;margin-top:2px;color:#3f4754;font-size:.75rem}.result-item-arrow{color:#94a3b8;font-size:1.2rem;line-height:1;flex-shrink:0}.panel-place-view{border:1px solid #dce5ee;border-radius:16px;background:#ffffff;padding:1rem;box-shadow:0 10px 24px rgba(15,23,42,.08);animation:panelFadeUp .28s ease both}.place-hero{width:100%;height:120px;border-radius:var(--radius-md);overflow:hidden;margin-bottom:.85rem;border:1px solid var(--border-light);background:var(--surface-subtle)}.place-hero-img{width:100%;height:100%;object-fit:cover;display:block}.place-hero-fallback{width:100%;height:100%;display:flex;align-items:center;justify-content:center;gap:.45rem;color:var(--text-light);font-size:.9rem;font-weight:600;background:#f4f7fa}.panel-place-header{display:flex;align-items:flex-start;gap:10px}.panel-back-btn{min-height:36px;padding:.4rem .8rem;border-radius:11px;border:1px solid #cfd9e4;background:var(--bg-white);color:var(--text-muted);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;font-weight:600;font-size:.86rem;transition:all var(--transition-fast)}.panel-back-btn:hover{border-color:#b9c5d3;background:var(--surface-subtle)}.panel-place-title{margin:0;font-size:1.08rem;color:#111827;font-weight:800;line-height:1.25}.panel-place-address{margin:.25rem 0 0;color:var(--text-light);font-size:.86rem;line-height:1.35}.panel-place-subinfo{margin:.35rem 0 0;font-size:.79rem;color:var(--text-light);font-weight:600}.detail-highlights{display:flex;gap:8px;flex-wrap:wrap;margin-top:.85rem}.detail-highlights span{display:inline-flex;align-items:center;gap:.4rem;border:1px solid #caedd8;background:#eefaf2;color:#166534;border-radius:var(--radius-pill);padding:.4rem .7rem;font-size:.8rem;font-weight:700}.detail-actions{margin-top:.85rem;display:flex;gap:10px}.book-btn-sidebar,.directions-btn,.google-maps-btn{border-radius:12px;padding:.62rem .9rem;font-size:.88rem;font-weight:700;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;cursor:pointer;transition:all var(--transition-fast);min-width:0}.directions-btn{background:var(--bg-white);color:#166534;border:1px solid #a7e2be;box-shadow:0 4px 10px rgba(22,163,74,.12)}.directions-btn:hover{background:var(--surface-green);border-color:#74cf98;box-shadow:0 7px 14px rgba(22,163,74,.2)}.google-maps-btn{background:var(--bg-white);color:var(--text-dark);border:1px solid #cbd5e1;box-shadow:0 4px 10px rgba(15,23,42,.09)}.google-maps-btn:hover{background:var(--surface-subtle);border-color:#94a3b8;box-shadow:0 7px 14px rgba(15,23,42,.14)}.book-btn-sidebar{border:1px solid transparent;background:#16784d;color:#fff;box-shadow:0 8px 16px rgba(21,128,61,.26)}.book-btn-sidebar:hover:not(:disabled){background:#115f3d}.book-btn-sidebar:disabled{background:#93c5a8;border-color:#93c5a8;box-shadow:none;opacity:1;cursor:not-allowed}.detail-reviews{margin-top:1rem;border-top:1px solid var(--border-light);padding-top:.9rem;max-height:220px;overflow-y:auto;padding-right:4px}.review-heading{margin:0 0 .62rem;font-weight:800;color:var(--text-dark);font-size:1.06rem}.review-item{border:1px solid #dfe7ef;border-radius:12px;padding:.75rem;margin-bottom:8px;background:var(--bg-white)}.review-top{display:flex;justify-content:space-between;font-size:.82rem}.review-time{color:var(--text-light);font-size:.78rem;margin-top:2px}.review-item p{margin:.4rem 0 0;color:#334155;font-size:.86rem;line-height:1.45}.review-empty{border:1px dashed #cbd5e1;border-radius:var(--radius-sm);padding:.8rem;color:var(--text-light);font-size:.85rem;text-align:center;background:var(--surface-subtle)}.detail-reviews::-webkit-scrollbar{width:5px}.detail-reviews::-webkit-scrollbar-track{background:#edf2f7;border-radius:var(--radius-pill)}.detail-reviews::-webkit-scrollbar-thumb{background:#36c26d;border-radius:var(--radius-pill)}.panel-empty{border:1px dashed #cbd5e1;border-radius:var(--radius-sm);padding:1rem;text-align:center;color:var(--text-light);font-size:.85rem;line-height:1.4}.share-parking-btn{color:#16784d;border:1px solid #b9dec5;background:#f1faf3}.share-parking-btn:hover{background:#e2f3e7}.community-badge{display:inline-flex;align-items:center;vertical-align:middle;margin-left:6px;padding:3px 7px;border-radius:999px;background:#e5f5e9;color:#16784d;font-size:10px;font-weight:800;line-height:1.2;white-space:nowrap}.panel-place-contributor{margin:4px 0 0;color:#688073;font-size:11px}.panel-empty-discovery{display:grid;justify-items:center;gap:.55rem;min-height:220px;align-content:center;border:0;border-radius:12px;color:#64748b;background:#fafcfb}.panel-empty-illustration{display:grid;width:40px;height:40px;place-items:center;border:1px solid #d8e1dc;border-radius:50%;color:#51605a;background:#fff}.panel-empty-illustration svg{stroke-width:1.8}.panel-empty-discovery h3{margin:.25rem 0 0;color:#283832;font-size:1rem;font-weight:750}.panel-empty-discovery p{max-width:330px;margin:0;color:#718078;font-size:.8rem}.panel-empty-location-btn{display:inline-flex;min-height:40px;align-items:center;gap:8px;margin-top:.45rem;padding:0 .9rem;border:1px solid #176b45;border-radius:8px;color:#fff;background:#176b45;font-size:.8rem;font-weight:700;cursor:pointer}.panel-empty-location-btn:hover{border-color:#115c39;color:#fff;background:#115c39}.suggestion-item{animation:suggestion-bloom .22s ease-out both}@keyframes suggestion-bloom{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.route-status-banner{position:absolute;right:16px;bottom:16px;z-index:35;background:rgba(255,255,255,.96);border:1px solid #bbf7d0;color:#166534;border-radius:12px;padding:.55rem .8rem;box-shadow:var(--shadow-md);font-size:.82rem;display:inline-flex;align-items:center;gap:.65rem}.route-status-text{display:inline-flex;align-items:center;gap:.35rem}.route-status-close{border:none;background:transparent;color:#166534;font-size:1rem;line-height:1;padding:0 .25rem;cursor:pointer}.route-status-close:hover{color:#047857}.error-message-floating{position:absolute;left:50%;bottom:16px;transform:translateX(-50%);z-index:50;background:#fee2e2;border:1px solid #fecaca;color:#991b1b;border-radius:12px;padding:.65rem .8rem;display:flex;align-items:center;gap:8px;box-shadow:var(--shadow-md);max-width:min(92vw,560px)}.error-message-floating.notice{background:#fff7ed;border-color:#fed7aa;color:#9a3412}.fallback-notice-inline{display:flex;align-items:center;gap:.5rem;padding:.85rem 1rem;border-radius:var(--radius-md);border:1px solid #fcdcbf;background:#fff7ed;color:#92400e;margin:0 0 1rem;font-size:.95rem}.fallback-notice-inline span[aria-hidden=true]{font-size:1rem}.error-close{background:none;border:none;color:inherit;font-size:1.1rem;cursor:pointer;line-height:1}@keyframes result-item-fade-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes panelFadeUp{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes zoomPulse{0%,to{box-shadow:0 4px 12px rgba(22,163,74,.14);transform:translateY(0)}50%{box-shadow:0 10px 18px rgba(22,163,74,.24);transform:translateY(-1px)}}.zoom-to-current-btn{border:1px solid #bde3c8;background:#ecf8f0;color:#166534;box-shadow:0 4px 12px rgba(22,163,74,.14);animation:zoomPulse 1.8s ease-in-out infinite}.zoom-to-current-btn:hover{background:#dff2e5;border-color:#86efac}@media (prefers-reduced-motion:reduce){.panel-quick-action,.search-form,.search-result-item{transition:none;animation:none}.panel-place-view,.radius-filter-panel,.zoom-to-current-btn{animation:none}.panel-quick-action:hover,.search-form:focus-within,.search-result-item:hover{transform:none}}@media (min-width:769px){.search-side-panel.collapsed .panel-filters,.search-side-panel.collapsed .panel-results,.search-side-panel.collapsed .radius-filter-panel,.search-side-panel.collapsed .search-form-container{display:none!important}.search-side-panel.collapsed .panel-sticky-header{padding:12px 8px}.search-side-panel.collapsed .search-panel-header{justify-content:center}}@media (max-width:768px){.parking-shell{height:calc(100dvh - 60px);min-height:auto;position:relative;overflow:hidden}.map-layer{position:absolute;inset:0;z-index:0}.map-current-location-btn{top:auto;bottom:16px;right:16px;width:44px;height:44px;border-radius:50%;padding:0;display:flex;align-items:center;justify-content:center;z-index:2;font-size:0;box-shadow:0 4px 16px rgba(15,23,42,.2);transition:bottom .35s cubic-bezier(.2,.8,.3,1)}.parking-shell:has(.search-side-panel.expanded) .map-current-location-btn{opacity:0;pointer-events:none}.map-current-location-btn svg{width:20px;height:20px;margin:0}.search-side-panel{position:absolute;inset:auto 0 0 0;width:100%;max-width:100%;height:100%;background:var(--bg-white);border-radius:var(--radius-xl) var(--radius-xl) 0 0;box-shadow:0 -6px 28px rgba(0,0,0,.12);pointer-events:auto;display:flex;flex-direction:column;z-index:100;margin:0;padding:0;border:none;overscroll-behavior:none;-webkit-overflow-scrolling:touch;touch-action:none}.search-side-panel.collapsed,.search-side-panel.expanded{width:100%;transform:none;will-change:height;height:50vh}.search-side-panel.collapsed{min-height:28px;overflow:hidden}.mobile-drag-area{display:flex;width:100%;padding:12px 0 4px;justify-content:center;align-items:center;cursor:grab;flex-shrink:0;touch-action:none;user-select:none;-webkit-user-select:none}.mobile-drag-area:active{cursor:grabbing}.mobile-drag-handle{display:block;width:36px;height:4px;background:#cbd5e1;border-radius:var(--radius-pill);transition:width .2s ease,background .2s ease}.mobile-drag-area:active .mobile-drag-handle{width:48px;background:#94a3b8}.panel-sticky-header{border-radius:var(--radius-xl) var(--radius-xl) 0 0;background:var(--bg-white);touch-action:none;padding:0 16px 8px;border-bottom:1px solid var(--border-light);box-shadow:none;user-select:none;-webkit-user-select:none;flex-shrink:0}.search-panel-header{flex-direction:row;padding:0;background:transparent;border:none}.panel-toggle-btn{display:none}.search-form-container{position:relative;width:100%;z-index:100}.search-form{background:#f1f5f9;border-radius:28px;box-shadow:none;border:1px solid var(--border-light);min-height:48px;padding:.35rem .9rem;gap:10px}.search-form:focus-within{border-color:var(--border-focus);box-shadow:0 0 0 2px rgba(22,163,74,.12);transform:none}.search-input{font-size:.95rem}.search-suggestions{border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.18);border:none;max-height:min(380px,50vh)}.panel-filters{margin-top:8px;background:transparent;border:none;padding:0;gap:6px;overflow-x:auto}.filter-chip{background:var(--surface-subtle);box-shadow:none;border:1px solid var(--border-light);border-radius:20px;padding:.4rem .85rem;font-size:.8rem;min-height:34px}.filter-chip.active{background:#16784d;color:#ffffff;border-color:transparent}.radius-filter-panel{margin-top:8px;box-shadow:none;border-radius:12px;border:1px solid var(--border-light);background:var(--surface-subtle);padding:.75rem}.panel-results{position:relative;background:transparent;box-shadow:none;border-radius:0;padding:8px 16px 32px;flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.panel-result-count,.panel-results:before{display:none}.panel-quick-action{border-radius:var(--radius-md);border:1px solid var(--border-light);margin-bottom:8px;padding:.65rem .85rem}.search-result-item{border-radius:var(--radius-md);padding:.7rem;margin-bottom:6px}.route-status-banner{bottom:16px;left:16px;right:80px;border-radius:16px;box-shadow:0 4px 16px rgba(0,0,0,.12);border:none;padding:.7rem .9rem}.panel-place-view{border:none;box-shadow:none;padding:0;background:transparent}.place-hero{height:150px;border-radius:var(--radius-md)}.panel-place-header{margin-top:10px}.detail-actions{margin-top:.75rem;gap:6px}.directions-btn,.google-maps-btn,.panel-back-btn{padding:.55rem .4rem!important;font-size:.78rem!important;border-radius:var(--radius-md)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:inline-block;text-align:center}}.panel-scroll-area{flex:1 1 auto;min-height:0;display:flex;flex-direction:column;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}.panel-results{overflow-y:visible!important;flex:none!important;min-height:auto!important;padding-top:10px!important}.panel-sticky-header{touch-action:pan-y!important;flex-shrink:0}@media (max-width:768px){.panel-sticky-header{touch-action:pan-y!important}.panel-results{overflow-y:visible!important}}.nda-marker{width:56px;height:66px;display:flex;align-items:flex-start;justify-content:center;cursor:pointer;user-select:none;z-index:1;--nda-marker-scale:1}.nda-marker.active{z-index:9999}.nda-marker-visual{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;transform-origin:bottom center;transform:translateY(-1px) scale(var(--nda-marker-scale,1));transition:opacity .25s ease,transform .25s ease}.nda-marker.active .nda-marker-visual{animation:bounceMarkerVisual .6s ease-in-out 1}.nda-marker-bubble{width:34px;height:34px;border-radius:999px;border:2px solid #ffffff;background:#16784d;box-shadow:0 6px 14px rgba(22,163,74,.34);display:flex;align-items:center;justify-content:center;overflow:hidden;transition:all .3s ease}.nda-marker.active .nda-marker-bubble{width:52px;height:52px;box-shadow:0 6px 14px rgba(22,163,74,.5),0 0 0 12px rgba(34,197,94,.25)}.nda-marker-disk{width:22px;height:22px;border-radius:999px;background:#ffffff;display:flex;align-items:center;justify-content:center;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(15,23,42,.08);transition:all .3s ease}.nda-marker.active .nda-marker-disk{width:34px;height:34px}.nda-marker-logo{width:16px;height:16px;object-fit:contain;display:block;transition:all .3s ease}.nda-marker.active .nda-marker-logo{width:24px;height:24px}.nda-marker-tail{width:10px;height:10px;margin-top:-1px;transform:rotate(45deg);background:#15803d;border-radius:2px;border-right:2px solid #ffffff;border-bottom:2px solid #ffffff;box-shadow:0 5px 10px rgba(22,163,74,.3);transition:all .3s ease}.nda-marker.active .nda-marker-tail{width:15px;height:15px}@keyframes bounceMarkerVisual{0%{transform:translateY(-1px) scale(1)}50%{transform:translateY(-15px) scale(1.15)}to{transform:translateY(-1px) scale(1)}}.panel-place-reviews-section{margin-top:1.25rem;padding-top:1.25rem;border-top:1px solid #e2e8f0}.reviews-section-title{font-size:.875rem;font-weight:700;color:#1e293b;margin-bottom:.75rem}.reviews-list{display:flex;flex-direction:column;gap:.75rem;max-height:250px;overflow-y:auto;padding-right:4px}.reviews-list::-webkit-scrollbar{width:4px}.reviews-list::-webkit-scrollbar-track{background:transparent}.reviews-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.reviews-list::-webkit-scrollbar-thumb:hover{background:#94a3b8}.review-card{padding:.75rem;background-color:#f8fafc;border-radius:.75rem;border:1px solid #f1f5f9}.review-card-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.25rem}.reviewer-name{font-size:.75rem;font-weight:700;color:#334155}.review-time{font-size:.625rem;color:#94a3b8}.review-rating{font-size:.75rem;color:#f59e0b;line-height:1;margin-bottom:.375rem}.review-comment{color:#475569;line-height:1.4}.no-reviews-placeholder,.review-comment{font-size:.75rem;font-style:italic;margin:0}.no-reviews-placeholder{color:#94a3b8}@media (max-width:768px){.panel-sticky-header{padding-right:12px;padding-left:12px}.panel-filters{width:100%;flex-wrap:nowrap;gap:6px;margin-bottom:6px;padding:2px 0 6px;scroll-padding-inline:0;overscroll-behavior-x:contain}.filter-chip{min-height:34px;padding:.38rem .62rem;font-size:.75rem;flex:0 0 auto}.filter-chip.scan-nearby-btn{min-width:0;background:#eef8f1}.filter-chip.scan-nearby-btn.active{background:#16784d}.radius-filter-panel{margin-right:0;margin-left:0;padding:.7rem .75rem}.radius-filter-header{font-size:.72rem}.panel-results{padding-right:12px!important;padding-bottom:calc(24px + env(safe-area-inset-bottom))!important;padding-left:12px!important}.panel-quick-action{min-height:58px;padding:.68rem .72rem}.quick-action-description{font-size:.66rem}.quick-action-cta{padding:.42rem .52rem;border-radius:999px;background:#e4f7ea}.search-result-item{min-height:72px}.result-leading-icon{width:38px;height:38px}.result-item-title{font-size:.86rem}.result-item-subtitle{font-size:.72rem}.result-item-meta{font-size:.68rem}.panel-sticky-header{padding:0 14px 10px;background:#fff}.search-form{min-height:52px;padding:.35rem .45rem .35rem .8rem;border:1px solid #d6e5dc;border-radius:14px;background:#fff;box-shadow:0 2px 8px rgba(19,74,46,.06)}}@media (max-width:768px){.search-form:focus-within{box-shadow:0 0 0 3px rgba(53,169,107,.12)}.search-icon{width:19px;height:19px;color:#16834c}.search-input{font-size:16px;font-weight:400}.search-btn{width:38px;height:38px;border-radius:10px}.search-disclaimer{margin:.48rem .25rem 0;font-size:.75rem;line-height:1.35}.panel-filters{margin:10px -2px 0;gap:8px;padding:0 2px}.filter-chip{min-height:38px;padding:.42rem .9rem;border-color:#dce7e1;background:#fff;font-weight:500}.filter-chip.scan-nearby-btn{min-width:auto;color:#156b43;background:#eef8f1;border-color:#acdcbf}.filter-chip.active{border-color:#16784d;background:#16784d;color:#fff}}@media (max-width:390px){.filter-chip.scan-nearby-btn{min-width:0;padding-right:.54rem;padding-left:.54rem}.filter-chip{padding-right:.54rem;padding-left:.54rem;font-size:.72rem}.quick-action-cta{display:none}.quick-action-description{white-space:normal}}.search-suggestions.is-mobile-start{max-height:min(440px,calc(100dvh - 190px));padding:14px;border:0;border-radius:14px;background:#f5f7f6;box-shadow:0 14px 30px rgba(22,45,33,.14)}.search-suggestions.is-mobile-start .suggestions-header{margin-top:2px;padding:14px 14px 11px;border:1px solid #dce6e0;border-bottom:0;border-radius:13px 13px 0 0;color:#26362e;background:#fff;font-size:.9rem;letter-spacing:0;text-transform:none}.search-suggestions.is-mobile-start .suggestion-item{min-height:62px;align-items:center;gap:11px;padding:10px 14px;border-right:1px solid #dce6e0;border-left:1px solid #dce6e0;background:#fff}.search-suggestions.is-mobile-start .suggestion-item:last-child{border-bottom:1px solid #dce6e0;border-radius:0 0 13px 13px}.search-quick-row{display:flex;gap:10px;overflow-x:auto;padding-bottom:10px;scrollbar-width:none}.search-quick-row::-webkit-scrollbar{display:none}.search-quick-card{display:flex;width:190px;min-width:190px;min-height:88px;align-items:center;gap:10px;padding:12px;border:0;border-radius:12px;color:#23352d;background:#fff;text-align:left;cursor:pointer}.search-quick-card:hover{background:#f9fcfa}.search-quick-card span:last-child{display:grid;gap:2px;min-width:0}.search-quick-card b{overflow:hidden;font-size:.82rem;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.search-quick-card small{color:#7b8b83;font-size:.68rem;font-weight:600}.search-quick-icon{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:50%;color:#176b45;background:#e5f4eb}.search-suggestions{top:calc(100% + 8px);max-height:min(420px,58vh);border:1px solid #dce5df;border-radius:16px;box-shadow:0 12px 28px rgba(24,56,38,.14)}.suggestions-header{padding:.9rem 1rem;color:#1d2d25;background:#fff;border-bottom-color:#e4ebe6;font-size:.88rem;font-weight:500;letter-spacing:0;text-transform:none}.suggestions-loading{min-height:54px;gap:9px;border-bottom:1px solid #edf1ee;font-size:.78rem;font-weight:400}.suggestions-empty,.suggestions-loading{display:flex;align-items:center;padding:0 1rem;color:#74817a}.suggestions-empty{min-height:64px;font-size:.8rem}.suggestion-item{min-height:70px;flex-direction:row;align-items:center;gap:11px;padding:.65rem 1rem;border-bottom-color:#edf1ee}.suggestion-item.active,.suggestion-item:hover{background:#f4f8f5}.suggestion-icon{display:grid;width:38px;height:38px;flex:0 0 38px;place-items:center;border-radius:50%;color:#718078;background:#f1f4f2}.suggestion-copy{min-width:0;flex:1}.suggestion-title{font-size:.9rem;font-weight:400}.suggestion-subtitle{margin-top:2px;font-size:.72rem}.parking-page,.parking-page button,.parking-page input{font-family:var(--font-sans);font-kerning:normal}.parking-page b,.parking-page h1,.parking-page h2,.parking-page h3,.parking-page h4,.parking-page strong{font-family:var(--font-sans);letter-spacing:normal}.panel-results{overflow-x:hidden}@media (max-width:768px){.search-side-panel{touch-action:pan-y}.panel-scroll-area{touch-action:pan-y;overflow-y:auto;overscroll-behavior-y:contain;-webkit-overflow-scrolling:touch}.mobile-drag-area{touch-action:none}.search-suggestions{left:-2px;right:-2px;max-height:min(380px,50vh);border-radius:14px}.suggestions-header{padding:.82rem .9rem}.suggestion-item{min-height:66px;padding:.6rem .9rem}.suggestion-icon{width:36px;height:36px;flex-basis:36px}}.parking-page,.parking-page button,.parking-page input,.parking-page textarea{box-sizing:border-box;font-family:Roboto,Segoe UI,Arial,sans-serif;font-kerning:normal;text-rendering:optimizeLegibility}.search-side-panel.expanded{width:min(480px,calc(100vw - 32px))}.panel-scroll-area{overflow-y:auto;overflow-x:hidden}.panel-sticky-header{padding:16px 18px 12px}.panel-results{padding:12px 18px 20px}.panel-result-count{padding:4px 2px 8px;font-size:.78rem;line-height:1.35}.parking-result-cards{gap:14px;margin-top:4px}.parking-result-card{min-width:0;gap:12px;padding:12px;border-color:#dfe9e3;border-radius:18px;box-shadow:0 5px 16px rgba(15,23,42,.07)}.parking-result-card-main{min-width:0;align-items:flex-start;gap:12px}.parking-result-card-image{flex-basis:84px;width:84px;height:84px;border-radius:14px}.parking-result-card-copy{min-width:0;padding-top:1px}.parking-result-card-copy h3{font-size:16px;line-height:1.3;font-weight:700}.parking-result-card-address,.parking-result-card-copy h3{white-space:normal;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}.parking-result-card-address{margin-top:4px!important;font-size:13px;line-height:1.35}.parking-result-card-meta{gap:8px;margin-top:8px!important;font-size:12px;line-height:1.3}.parking-result-card-price{margin-top:6px!important;font-size:13px;line-height:1.3}.parking-availability{font-weight:800}.parking-availability-available{color:#15803d!important}.parking-availability-full{color:#b42318!important}.parking-availability-unknown{color:#64748b!important}.parking-result-card-freshness{margin:4px 0 0!important;color:#718096;font-size:11px;line-height:1.25}.parking-result-card-route{min-height:38px;padding:0 10px;border-radius:10px;font-size:12px;white-space:nowrap}.search-disclaimer{justify-content:center;margin:.5rem 0 0;color:#748278;font-size:.72rem;font-weight:400;line-height:1.4;text-align:center}.search-disclaimer svg{width:15px;height:15px;color:#8a9aaf}@media (max-width:768px){.search-side-panel.expanded{width:100%}.panel-sticky-header{padding:0 16px 12px}.panel-results{padding:12px 16px calc(28px + env(safe-area-inset-bottom))}.parking-result-card{gap:10px;padding:11px}.parking-result-card-image{flex-basis:76px;width:76px;height:76px}.parking-result-card-copy h3{font-size:15px}.parking-result-card-address{font-size:12px}.parking-result-card-route{align-self:flex-start;padding:0 8px;font-size:11px}.search-disclaimer{margin-top:.48rem;font-size:.72rem}}.panel-filters{flex-wrap:wrap;overflow:visible;row-gap:8px;align-content:center}.panel-filters .filter-group-label{flex:0 0 auto}.search-disclaimer-custom{margin:.6rem .15rem .1rem;color:#718278;font-size:.72rem;line-height:1.45;text-align:center}.panel-filters{gap:8px;padding:2px 0 4px}.panel-filters .filter-chip{min-height:38px;padding:.42rem .82rem;font-size:.8rem;white-space:nowrap}@media (min-width:769px){.panel-filters{display:grid;grid-template-columns:auto repeat(3,max-content);justify-content:start;gap:8px}.panel-filters .filter-group-label-filter{grid-column:1;grid-row:2;margin-left:.15rem}.panel-filters .filter-group-label-filter+.filter-chip{grid-column:2/span 2;grid-row:2}}@media (max-width:768px){.search-disclaimer-custom{margin:.58rem .2rem .15rem;font-size:.7rem}.panel-filters{display:grid;grid-template-columns:auto repeat(3,minmax(0,1fr));align-items:center;gap:8px 6px;overflow:visible}.panel-filters .filter-group-label-filter{grid-column:1;margin-left:0}.panel-filters .filter-chip{min-width:0;padding-right:.55rem;padding-left:.55rem;font-size:.74rem}.panel-filters .filter-group-label-filter+.filter-chip{grid-column:2/span 2;justify-self:start}}.rating-summary{display:inline-flex;align-items:center;gap:4px;min-width:0;white-space:nowrap}.rating-score{color:#475569;font-weight:700}.rating-stars{display:inline-flex;align-items:center;gap:1px;color:#cbd5e1}.rating-star{position:relative;display:inline-grid;width:14px;height:14px;overflow:hidden}.rating-stars svg{width:14px;height:14px;stroke-width:1.8}.rating-star-empty{color:#cbd5e1}.rating-star-fill{position:absolute;inset:0 auto 0 0;overflow:hidden}.rating-star-fill svg{color:#fbbf24;fill:#fbbf24;stroke:#f59e0b;display:block}.rating-count{color:#64748b;font-weight:500}.panel-place-subinfo .rating-summary{font-size:.88rem}.parking-result-card-meta .rating-summary{font-size:12px}.search-ai-helper{display:flex;align-items:center;gap:.55rem;margin:.65rem .1rem 0;padding:.46rem .58rem;border:1px solid #d4e9da;border-radius:.8rem;color:#315b42;background:#f1f8f3;text-decoration:none;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.search-ai-helper:hover{border-color:#99cfaa;box-shadow:0 5px 12px rgba(24,104,60,.09);transform:translateY(-1px)}.search-ai-helper img{width:38px;height:38px;flex:0 0 auto;object-fit:contain}.search-ai-helper span{display:grid;min-width:0;gap:.1rem}.search-ai-helper strong{font-size:.75rem;line-height:1.25}.search-ai-helper small{overflow:hidden;color:#6d8274;font-size:.66rem;line-height:1.35;text-overflow:ellipsis;white-space:nowrap}.search-ai-helper b{margin-left:auto;color:#16804d;font-size:1rem}