.transport-tabs{display:flex;flex-wrap:wrap;gap:8px;margin:-4px 0 28px;padding-bottom:18px;border-bottom:1px solid var(--line)}
.transport-tabs a{display:flex;align-items:center;gap:8px;min-height:44px;padding:9px 16px;border-radius:10px;text-decoration:none;font-size:14px;font-weight:600;color:var(--slate)}
.transport-tabs a[aria-current]{background:var(--teal);color:var(--on-accent,#fff)}.transport-tabs a:hover{box-shadow:inset 0 0 0 1px var(--teal)}
.parking-p{display:inline-grid;place-items:center;width:21px;height:21px;border:1px solid currentColor;border-radius:5px;font-size:14px}
.parking-toolbar{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:20px}.parking-search{display:flex;flex-direction:column;gap:7px;flex:1;max-width:510px;font-size:13px;font-weight:600}.parking-search input{width:100%;min-height:48px;border:1px solid var(--line);border-radius:12px;padding:11px 15px;background:var(--paper);color:var(--ink);font-weight:400}.parking-checked{text-align:right;font-size:12px;line-height:1.9;color:var(--slate)}.parking-checked .text-link{font-size:12px}
.parking-zone-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.parking-zone-card{display:flex;flex-direction:column;align-items:start;text-align:left;padding:20px 18px;background:var(--paper);border:1px solid var(--line);border-top:4px solid var(--zone);border-radius:15px;color:var(--ink);transition:box-shadow .15s}.parking-zone-card[hidden]{display:none}.parking-zone-card:hover,.parking-zone-card[aria-pressed=true]{box-shadow:0 0 0 2px var(--zone)}.parking-zone-card .parking-price{margin-top:14px}.parking-badge{display:inline-flex;align-items:center;gap:7px;font-size:12px;font-weight:700;white-space:nowrap}.parking-badge:before{content:'';display:block;width:11px;height:11px;background:var(--zone);border-radius:3px;flex-shrink:0}.parking-price{font-size:29px;font-weight:700;line-height:1.3;letter-spacing:-1px}.parking-price small{font-size:13px;letter-spacing:0;font-weight:400;color:var(--slate)}.parking-secondary-price{font-size:13px;color:var(--slate);margin:5px 0 14px}.parking-zone-name{font-size:14px;font-weight:600;line-height:1.5}.parking-card-hours{font-size:11px;color:var(--slate);line-height:1.6;margin-top:auto;padding-top:12px}.parking-search-status{font-size:12px;color:var(--slate);margin:14px 0 20px}
.parking-workspace{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(270px,1fr);gap:20px;align-items:start}.parking-map-panel,.parking-detail,.parking-info-card{border:1px solid var(--line);border-radius:18px;background:var(--paper);overflow:hidden}.parking-map-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px}.parking-map-toolbar h2{font-size:17px;line-height:1.4}.parking-map-toolbar button{font-size:12px;flex-shrink:0}.parking-page button.text-link{border:0;background:transparent;color:var(--teal);padding:7px 0;text-align:left;cursor:pointer}.parking-map-frame{position:relative}.parking-map{width:100%;height:480px;background:#e9efed;z-index:0}.parking-map-status{position:absolute;bottom:38px;left:15px;right:15px;background:var(--paper);color:var(--ink);padding:12px 15px;border-radius:10px;box-shadow:var(--shadow);font-size:12px;z-index:5;pointer-events:none}.parking-map-status[hidden]{display:none}.parking-map-controls{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:14px;padding:18px 18px 0}.parking-legend{display:flex;flex-wrap:wrap;gap:12px}.parking-map-controls label{display:flex;align-items:center;gap:7px;font-size:12px;min-height:36px;cursor:pointer}.parking-map-controls input{width:16px;height:16px;accent-color:var(--teal)}.parking-meter-key{display:grid;place-items:center;width:19px;height:19px;background:#253d48;color:white;font-size:11px;border-radius:4px;font-weight:700}.parking-map-note,.parking-map-source{font-size:12px;color:var(--slate);margin:14px 18px;line-height:1.7}.parking-map-source{margin-top:0}.parking-map-source .text-link{font-size:12px}.parking-detail-intro{padding:26px}.parking-detail h2{font-size:25px;line-height:1.3;margin:12px 0 18px}.parking-detail p{font-size:14px}.parking-detail .parking-price{font-size:34px}.parking-detail h3{font-size:15px;margin:20px 0 10px}.parking-facts{margin:20px 0;padding:16px 0;border-block:1px solid var(--line);display:grid;gap:12px}.parking-facts dt{font-size:11px;color:var(--slate);margin-bottom:4px}.parking-facts dd{font-size:13px;font-weight:600;margin:0}.parking-streets{margin:0;padding-left:18px;font-size:12px;line-height:1.7}.parking-streets li+li{margin-top:6px}.parking-detail .parking-small{font-size:11px;color:var(--slate);margin:18px 0}.parking-tip{margin:24px 0;padding:20px;border-radius:12px;background:var(--mist)}.parking-tip strong{font-size:14px}.parking-tip p{margin:8px 0 12px}.parking-detail .text-link{font-size:12px}
.parking-info-grid{display:grid;grid-template-columns:1.2fr 1fr;gap:20px;margin:28px 0}.parking-info-card{padding:30px}.parking-info-card h2{font-size:25px;margin:12px 0 22px;line-height:1.35}.parking-info-card ol{padding-left:21px;margin:0 0 20px;font-size:14px}.parking-info-card li+li{margin-top:14px}.parking-info-card p{font-size:13px;line-height:1.8}.parking-easypark{background:var(--mist)}.parking-fee-note{border-left:3px solid var(--teal);padding:0 0 0 16px;margin:24px 0;font-size:13px}.parking-fee-note p{margin-top:7px}.parking-actions{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.parking-actions .text-link{font-size:12px}.parking-help h3{font-size:15px;margin:20px 0 6px}.parking-help .text-link{font-size:13px;margin-top:22px}.parking-source-note{font-size:11px;color:var(--slate);line-height:1.8}.parking-source-note .text-link{font-size:11px;display:inline}
.parking-zone-marker span{display:grid;place-items:center;width:32px;height:30px;background:var(--zone);color:#fff;border:2px solid white;border-radius:8px;font:700 13px Inter,Arial,sans-serif;box-shadow:0 2px 5px #0003}.parking-meter-marker{display:grid;place-items:center}.parking-meter-marker span{display:grid;place-items:center;box-sizing:border-box;width:14px;height:14px;border:1px solid white;border-radius:3px;background:#253d48;color:white;font:700 9px/1 Inter,Arial,sans-serif;box-shadow:0 1px 2px #0003}.parking-popup{font:400 13px/1.6 Inter,Arial,sans-serif;color:var(--ink)}.parking-popup h3{font-size:16px;margin:10px 0}.parking-popup p{margin:8px 0}.parking-popup .parking-badge{color:var(--ink)}
@media(max-width:1200px){.parking-zone-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.parking-workspace{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}}
@media(max-width:760px){.parking-workspace,.parking-info-grid{grid-template-columns:1fr}.parking-toolbar{align-items:start}.parking-checked{max-width:145px}.parking-map{height:380px}.parking-detail-intro,.parking-info-card{padding:24px}.parking-detail h2{font-size:23px}.parking-info-grid{margin-top:20px}.parking-zone-card{padding:17px 14px}.parking-price{font-size:27px}}
@media(max-width:440px){.parking-toolbar{display:block}.parking-checked{text-align:left;max-width:none;margin-top:12px}.parking-checked br{display:none}.parking-checked .text-link{margin-left:7px}.parking-zone-cards{gap:10px}.parking-map-toolbar{padding:15px;gap:8px}.parking-map-toolbar h2{font-size:15px}.parking-map{height:350px}.transport-tabs a{padding:9px 12px;font-size:12px}.parking-card-hours{font-size:10px}.parking-info-card h2{font-size:23px}}

html[data-theme="dark"] .parking-map .leaflet-control-zoom a{background:var(--paper);color:var(--ink)}
