/* Parking decisions: neutral surfaces, teal discovery, coral destination, blue radar. */
.parking-finder{--pf-ink:#19312e;--pf-muted:#526661;--pf-bg:#fff;--pf-soft:#f1f6f3;--pf-line:#cedbd5;color:var(--pf-ink);padding:6px 0 24px}
.parking-finder *{box-sizing:border-box}.parking-finder [hidden]{display:none!important}.parking-finder header{padding:22px 8px 16px}.parking-finder h2{font-size:29px;letter-spacing:-.06em;margin:8px 0}.parking-finder p{line-height:1.65}.pf-eyebrow{color:#167568;font-size:13px;font-weight:800;letter-spacing:.12em}.parking-finder header p{color:var(--pf-muted);margin:0;font-size:15px}.pf-search-panel{padding:18px;background:var(--pf-bg);border:1px solid var(--pf-line);border-radius:22px;margin-bottom:16px}.parking-finder button,.parking-finder input,.parking-finder select,.pf-actions a{font:inherit;min-height:46px;border:1px solid var(--pf-line);border-radius:12px;color:var(--pf-ink);background:var(--pf-bg);padding:10px 12px}.parking-finder button{cursor:pointer}.parking-finder button:disabled{opacity:.5;cursor:default}.parking-finder button:focus-visible,.parking-finder a:focus-visible{outline:3px solid #198e81;outline-offset:3px}.pf-search-row{display:flex;gap:8px;margin:8px 0 10px}.pf-search-row input{min-width:0;flex:1;width:100%;font-size:17px}.pf-search-row button,.parking-finder .pf-primary{background:#176b60;color:white;font-weight:750;border-color:#176b60}.pf-search-shortcuts{display:flex;gap:8px}.pf-search-shortcuts button{flex:1;font-size:14px}.pf-choice{display:block;width:100%;text-align:left;margin-top:10px}.pf-choice small{display:block;margin-top:5px;color:var(--pf-muted)}.pf-filters{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.pf-filters label{font-size:13px;color:var(--pf-muted)}.pf-filters select{display:block;width:100%;margin-top:5px}.pf-extra{margin-top:12px}.pf-extra summary{padding:10px 0;cursor:pointer}.pf-extra label{display:flex;align-items:center;gap:10px;margin:8px 0;font-size:14px}.pf-extra input[type=checkbox]{width:20px;min-height:20px;accent-color:#176b60}.pf-extra select{max-width:180px}.pf-map-panel{border:1px solid var(--pf-line);border-radius:22px;overflow:hidden;background:var(--pf-bg)}.pf-map-head{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 16px}.pf-map-head strong{font-size:16px}.pf-map-modes{display:flex;gap:5px;flex-shrink:0}.pf-map-modes button{padding:8px 11px;font-size:13px}.pf-map-modes button[aria-pressed=true]{background:#176b60;border-color:#176b60;color:#fff}#finderMap{width:100%;height:390px;background:#e5ebe6}#finderMapFallback{padding:24px;min-height:180px;background:var(--pf-soft);text-align:center}.pf-map-legend{display:flex;flex-wrap:wrap;gap:6px 15px;font-size:12px;padding:12px 16px;color:var(--pf-muted)}.pf-map-caption{font-size:12px;color:var(--pf-muted);margin:0;padding:0 16px 12px}.parking-finder .pf-pin{min-height:40px;border-radius:20px;background:#fff;color:#205d53;border:2px solid #458578;font-size:12px;font-weight:750;box-shadow:0 3px 9px #152d3430;white-space:nowrap;padding:8px 12px}.parking-finder .pf-pin.active{background:#176b60;color:white;border-color:#fff;outline:2px solid #176b60;transform:scale(1.07)}.pf-destination-pin{display:block;background:#9c3c2d;color:#fff;border:2px solid #fff;border-radius:20px;padding:8px 12px;font-size:13px;max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;box-shadow:0 3px 9px #0003}.pf-status{color:var(--pf-muted);font-size:14px;padding:6px 4px}.pf-detail{padding:20px;background:var(--pf-bg);border:2px solid #388878;border-radius:22px;margin:16px 0}.pf-detail h3{font-size:23px;line-height:1.4;letter-spacing:-.04em;margin:0}.pf-address{color:var(--pf-muted);font-size:14px;margin:8px 0 15px}.pf-facts{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pf-facts>div{background:var(--pf-soft);border-radius:13px;padding:12px}.pf-facts b{display:block;font-size:18px}.pf-facts small{display:block;font-size:12px;color:var(--pf-muted);line-height:1.5;margin-top:6px}.pf-schedule{font-size:14px}.pf-evidence{padding:13px;border-left:3px solid #b18742;background:var(--pf-soft);font-size:13px}.pf-evidence p{margin:5px 0}.pf-actions{display:grid;grid-template-columns:1fr;gap:8px;margin:16px 0}.pf-actions a{text-decoration:none;text-align:center}.pf-detail summary{padding:12px 0;cursor:pointer}.pf-phone{display:inline-block;padding:12px 0;color:#176b60}.pf-card{display:block;width:100%;text-align:left;margin:10px 0;padding:16px!important;border-radius:18px!important}.pf-card.selected{border-color:#176b60!important;box-shadow:inset 4px 0 #176b60}.pf-card-head{display:grid;grid-template-columns:28px 1fr;gap:8px;align-items:start}.pf-number{background:#e4f1eb;color:#176b60;border-radius:8px;text-align:center;line-height:28px;font-size:14px;font-weight:bold}.pf-card-head strong{font-size:16px;line-height:1.5}.pf-price{grid-column:2;font-size:15px;color:#176b60}.pf-card-meta,.pf-card-evidence{display:block;margin-top:9px;font-size:12px;line-height:1.55;color:var(--pf-muted)}.pf-card-evidence{color:#866026}.pf-pagination{display:flex;align-items:center;justify-content:space-between;font-size:14px}.pf-empty-hint{padding:12px 4px;color:var(--pf-muted);font-size:13px}.pf-section-label{font-size:18px;margin:24px 4px 6px}
/* Different materials for distinct jobs; keep only the central radar signature blue. */
.parking-primary-nav .tab-btn[data-tab=home]{--tab-accent:#a44a2e;--tab-soft:#f9e9dc;--tab-edge:#e2a888}.parking-primary-nav .tab-btn[data-tab=finder]{--tab-accent:#176b60;--tab-soft:#e0f1e9;--tab-edge:#82bcab}.parking-primary-nav .tab-btn[data-tab=parking]{--tab-accent:#795398;--tab-soft:#efe6f7;--tab-edge:#b89ad0}.parking-primary-nav .tab-btn[data-tab=more]{--tab-accent:#655a49;--tab-soft:#eee9df;--tab-edge:#b7ad99}
.parking-primary-nav .tab-btn:not(.tab-btn-main).on{color:var(--tab-accent)!important;background:var(--tab-soft);border-color:var(--tab-edge)}.parking-primary-nav .tab-btn:not(.tab-btn-main) .tab-icon-tile{background:linear-gradient(145deg,#fff,var(--tab-soft));border-color:var(--tab-edge)}.parking-primary-nav .tab-btn:not(.tab-btn-main).on .tab-icon-tile{background:linear-gradient(145deg,#fff,var(--tab-soft));border-color:var(--tab-edge)}
.destination-result{background:#f4f5f7;border-left-color:#8195ad}.destination-result:first-child{border-left-color:#1769e0;background:#f0f4fa}.destination-result.needs-check{border-left-color:#ac8543}.destination-parking .pk-parking-facts{background:#fff;border-color:#d5dadf}
@media(max-width:360px){.pf-search-panel,.pf-detail{padding:14px}.pf-map-head{flex-wrap:wrap}.pf-map-head strong{width:100%}.pf-map-modes{margin-left:auto}#finderMap{height:330px}.pf-facts b{font-size:16px}.pf-search-shortcuts button{font-size:12px;padding:8px}.parking-primary-nav .tab-txt{font-size:11px!important}}
@media(prefers-color-scheme:dark){.parking-finder{--pf-ink:#edf3f0;--pf-muted:#bdc9c4;--pf-bg:#222b2c;--pf-soft:#303c3b;--pf-line:#506160}.pf-eyebrow{color:#9bcfbd}.pf-card-evidence{color:#e9c287}.pf-price,.pf-phone{color:#a4d7c7}.pf-card.selected{border-color:#82bcab!important}.parking-primary-nav .tab-btn[data-tab=home]{--tab-accent:#ffd3b7;--tab-soft:#45382f;--tab-edge:#b98665}.parking-primary-nav .tab-btn[data-tab=finder]{--tab-accent:#b6e3cf;--tab-soft:#29413c;--tab-edge:#82bcab}.parking-primary-nav .tab-btn[data-tab=parking]{--tab-accent:#dfc9f5;--tab-soft:#3d3348;--tab-edge:#ad8dc6}.parking-primary-nav .tab-btn[data-tab=more]{--tab-accent:#e2d5bb;--tab-soft:#3f3c34;--tab-edge:#a69b82}.parking-primary-nav .tab-btn:not(.tab-btn-main) .tab-icon-tile,.parking-primary-nav .tab-btn:not(.tab-btn-main).on .tab-icon-tile{background:linear-gradient(145deg,#666b70,var(--tab-soft))}.destination-result,.destination-result:first-child{background:#252f3b}.destination-parking .pk-parking-facts{background:#202833;border-color:#4f5a68}.destination-parking .pk-fact-height{background:#313e4b}}

.pf-road-dialog{width:min(96vw,800px);max-width:800px;max-height:92dvh;border:1px solid var(--pf-line);border-radius:20px;background:var(--pf-bg);color:var(--pf-ink);padding:16px;overflow:auto}.pf-road-dialog::backdrop{background:#101c29bd}.pf-road-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.pf-road-head h3{font-size:18px;line-height:1.4}.pf-road-head button{flex-shrink:0}#finderRoadCanvas{height:52dvh;min-height:260px;width:100%;background:var(--pf-soft);border-radius:12px;overflow:hidden}#finderRoadStatus{font-size:14px;line-height:1.6}.pf-road-dialog a{display:inline-block;color:var(--pf-ink);padding:12px 0}.parking-finder .pf-map-caption{line-height:1.6}

.parking-finder{background:var(--pf-soft);border-radius:24px;padding:10px}.parking-finder header{padding:14px 8px 16px}.parking-finder header h2{color:var(--pf-ink)}.parking-finder .pf-pin:not(.active) .pf-pin-price{display:none}.parking-finder .pf-pin:not(.active){min-width:36px;min-height:36px;padding:7px 10px}.parking-finder .pf-extra .pf-filters label{display:block}.parking-finder .pf-extra .pf-filters select{max-width:100%}

.pf-leaf-icon{background:none;border:0}.parking-finder .leaflet-control-attribution{font-size:10px;line-height:1.4}.parking-finder .leaflet-control-zoom a{color:#1f3933;background:white}.parking-finder #finderMap{isolation:isolate;z-index:0}

/* v548 — one-hand targets (48px rows, 44px pins, 16px selects), arrival chips, selected summary under the map, exclusion list, empty-state chips */
.parking-finder button,.parking-finder input,.parking-finder select,.pf-actions a{min-height:48px}.parking-finder select{font-size:16px}.pf-map-modes button{min-height:44px;padding:8px 14px;font-size:14px}.parking-finder .pf-pin{min-height:44px}.parking-finder .pf-pin:not(.active){min-width:44px;min-height:44px;padding:9px 12px;font-size:14px}.parking-finder .pf-pin.spread{box-shadow:0 3px 9px #152d3430,0 0 0 2px #ffffff99}.pf-extra summary,.pf-detail summary{min-height:48px;display:flex;align-items:center}.pf-extra label.pf-toggle{min-height:48px;padding:4px 0;margin:2px 0;font-size:15px}.pf-extra input[type=checkbox]{width:24px;height:24px;min-height:24px;flex-shrink:0}.pf-coverage{display:block;font-size:12px;color:var(--pf-muted);margin:2px 0 4px;font-weight:400}.pf-phone,.parking-finder .pk-fact-source,.pf-road-dialog a{min-height:48px;display:inline-flex;align-items:center}
.pf-arrival{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:12px}.pf-arrival>span{flex-basis:100%;font-size:13px;color:var(--pf-muted)}.pf-arrival button{flex:1 1 auto;font-size:14px;border-radius:24px;padding:10px 12px}.pf-arrival button[aria-pressed=true]{background:#176b60;border-color:#176b60;color:#fff}#finderArrivalAt{width:100%;margin-top:8px;font-size:16px}
.pf-selected{display:flex;align-items:center;gap:10px;padding:10px 14px;border-top:1px solid var(--pf-line);background:var(--pf-soft)}.pf-selected-info{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.pf-selected-info b{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pf-selected-info span{font-size:13px;color:var(--pf-muted)}.parking-finder .pf-selected-go{flex-shrink:0;background:#176b60;color:#fff;border-color:#176b60;font-weight:750;min-width:76px}
.pf-daypass{grid-column:2;font-size:12px;color:#9a6512}.pf-excluded{margin:2px 4px 10px;font-size:13px;color:var(--pf-muted)}.pf-excluded summary{min-height:48px;display:flex;align-items:center;cursor:pointer}.pf-excluded ul{list-style:none;padding:0;margin:0 0 6px}.pf-excluded li{display:flex;flex-direction:column;gap:2px;padding:8px 0;border-top:1px solid var(--pf-line)}.pf-excluded li b{color:var(--pf-ink);font-size:14px}
.pf-empty-actions{display:flex;flex-wrap:wrap;gap:8px;padding:0 4px 12px}.pf-empty-actions button{flex:1 1 45%;border-radius:24px;font-size:14px}
@media (prefers-color-scheme: dark){.pf-daypass{color:#e5b96a}}
.parking-finder .pf-pin.active{width:100px;white-space:normal;line-height:1.25;text-align:center;padding:6px 8px}.parking-finder .pf-pin.active .pf-pin-price{display:block}

/* Provider-owned aerial view retains controls and an explicit external fallback. */
.parking-finder .pf-skyview-frame{border:0;width:100%;height:calc(100% - 48px);display:block}
.parking-finder .pf-skyview-link{display:flex;align-items:center;justify-content:center;min-height:48px;color:var(--pf-ink);background:var(--pf-bg);font-size:14px}

/* v637 A7: only the first choice glows, and only while the app and OS motion settings allow it. */
#view-finder .pf-recommendations[open] .pf-card:not(.pf-rank-1),
#view-finder .pf-recommendations[open] .pf-rank-1:is([data-pka-blink="false"],[data-pka-reduced-motion="true"]){animation:none}

/* Search stays above filters; recent selections remain local and independently scrollable. */
.pf-recent{margin:0 0 10px}.pf-recent-head{display:flex;align-items:center;justify-content:space-between;gap:10px;font-size:13px;color:var(--pf-muted)}.parking-finder .pf-recent-clear{border:0;background:none;font-size:12px;min-height:44px;padding:8px}.pf-recent-rail{display:flex;gap:8px;overflow-x:auto;max-width:100%;padding:3px 2px 8px;overscroll-behavior-inline:contain}.parking-finder .pf-recent-place{flex:none;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;background:var(--pf-soft);border-radius:24px}
#finderChoices{max-height:320px;overflow-y:auto;overscroll-behavior:contain;margin:0 0 10px;border-radius:14px}.parking-finder .pf-choice{margin:0 0 6px;line-height:1.4;overflow-wrap:anywhere}.parking-finder .pf-choice[aria-selected=true]{outline:2px solid #198e81;outline-offset:-3px;background:var(--pf-soft)}.parking-finder .pf-choice small{font-size:12px}
/* Prices and straight-line distances are readable on every visible map pin. */
.parking-finder .pf-pin,.parking-finder .pf-pin:not(.active),.parking-finder .pf-pin.active{width:120px;min-height:56px;padding:5px 7px;font-size:12px;white-space:normal;line-height:1.25;border-radius:15px}.parking-finder .pf-pin:not(.active) .pf-pin-price,.parking-finder .pf-pin.active .pf-pin-price{display:inline}.pf-pin-distance{display:block;font-size:11px;font-weight:500;margin-top:3px}.pf-selected{flex-wrap:wrap}.pf-selected-info{flex-basis:100%}.pf-selected-go{flex:1}
@media(max-width:400px){.pf-search-row{flex-wrap:wrap}.pf-search-row input{flex-basis:100%}.pf-search-row button{width:100%}}
