:root{--navy:#082f49;--navy2:#0f4667;--green:#22c55e;--coral:#ff6b5e;--cream:#f7f7f2;--ink:#102a3a;--muted:#637681;--line:#dbe4e7;--white:#fff;--shadow:0 16px 45px rgba(8,47,73,.12)}*{box-sizing:border-box}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif;color:var(--ink);background:var(--cream)}button,input,select{font:inherit}button{cursor:pointer}.topbar{height:76px;padding:0 max(24px,calc((100vw - 1180px)/2));display:flex;align-items:center;justify-content:space-between;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:20}.brand{display:flex;gap:10px;align-items:center;text-decoration:none;color:var(--navy)}.brand-mark{width:42px;height:42px;border-radius:50% 50% 50% 8px;transform:rotate(-45deg);background:var(--green);display:grid;place-items:center;color:white;font-size:28px;font-weight:900}.brand-mark::first-letter{transform:rotate(45deg)}.brand span:last-child{display:flex;flex-direction:column;line-height:1.05}.brand strong{font-size:20px}.brand small{color:var(--green);font-weight:700;margin-top:4px}.top-actions{display:flex;gap:8px}.text-button,.icon-button{background:transparent;border:0;color:var(--navy);font-weight:800}.icon-button{width:40px;height:40px;border-radius:12px;background:#eef4f5}.hero{background:linear-gradient(135deg,var(--navy),#075265);color:white;padding:64px max(24px,calc((100vw - 1180px)/2)) 70px;position:relative;overflow:hidden}.hero:after{content:"";position:absolute;width:360px;height:360px;border:70px solid rgba(34,197,94,.14);border-radius:50%;right:-80px;top:-150px}.eyebrow{color:#71e49b;text-transform:uppercase;letter-spacing:.14em;font-size:12px;font-weight:900}.hero h1{font-size:clamp(34px,5vw,62px);max-width:800px;margin:8px 0 12px;line-height:1.04}.hero>p:not(.eyebrow):not(.status){font-size:18px;color:#dbecef}.search-row{display:flex;gap:12px;margin-top:28px;max-width:800px}.location-search{flex:1;display:flex;align-items:center;gap:10px;background:white;color:var(--navy);padding:0 18px;border-radius:14px}.location-search input{width:100%;border:0;outline:0;padding:16px 0;background:transparent}.primary-button,.secondary-button{border:0;border-radius:12px;padding:14px 18px;font-weight:800}.primary-button{background:var(--green);color:#052e1a}.secondary-button{background:white;border:1px solid var(--line);color:var(--navy)}.status{min-height:1.2em;font-size:13px;color:#bfeacf}.controls,.results-section{max-width:1180px;margin:auto;padding:28px 24px}.controls{background:white;margin-top:-22px;position:relative;z-index:2;border-radius:20px;box-shadow:var(--shadow)}.filter-header{display:flex;gap:20px;align-items:flex-end;justify-content:space-between}.section-label{font-size:13px;font-weight:800;color:var(--muted)}.filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.filter-chip{border:1px solid var(--line);background:#fff;border-radius:999px;padding:10px 13px;color:var(--ink)}.filter-chip.active{background:var(--navy);border-color:var(--navy);color:#fff}.advanced-filters{border-top:1px solid var(--line);margin-top:20px;padding-top:20px;display:flex;gap:18px;align-items:end}.advanced-filters[hidden]{display:none}.advanced-filters label{display:flex;flex-direction:column;gap:7px;color:var(--muted);font-size:13px;font-weight:700}.advanced-filters select{background:white;border:1px solid var(--line);border-radius:10px;padding:10px;min-width:170px}.advanced-filters .toggle-label{flex-direction:row;align-items:center;padding:11px}.results-heading{display:flex;justify-content:space-between;align-items:end;margin:18px 0}.results-heading h2{margin:0 0 5px}.results-heading p{margin:0;color:var(--muted)}.view-switch{display:flex;background:#e7edef;padding:4px;border-radius:12px}.view-switch button{border:0;background:transparent;padding:9px 14px;border-radius:9px}.view-switch .active{background:white;color:var(--navy);box-shadow:0 3px 10px #cbd5d8}.card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.place-card{background:white;border-radius:20px;overflow:hidden;box-shadow:0 8px 24px rgba(8,47,73,.08);transition:.2s;position:relative}.place-card:hover{transform:translateY(-3px);box-shadow:var(--shadow)}.card-image{height:220px;background:linear-gradient(135deg,#0b3a52,#1a756f);display:flex;align-items:center;justify-content:center;color:white;position:relative;background-size:cover;background-position:center}.placeholder-art{font-size:48px}.verified{position:absolute;left:14px;top:14px;background:white;color:var(--navy);font-size:12px;font-weight:900;padding:7px 10px;border-radius:999px}.favorite{position:absolute;right:14px;top:14px;width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.92);font-size:20px;color:var(--coral)}.card-body{padding:19px}.card-title-row{display:flex;justify-content:space-between;gap:15px}.card-title-row h3{margin:0;font-size:21px}.distance{white-space:nowrap;color:var(--green);font-weight:900}.city{margin:5px 0 14px;color:var(--muted)}.amenity-summary{display:flex;gap:8px;flex-wrap:wrap;margin:12px 0}.amenity-pill{background:#f0f5f4;border-radius:9px;padding:7px 9px;font-size:12px}.charger-info{display:flex;justify-content:space-between;gap:8px;border-top:1px solid var(--line);padding-top:14px;color:var(--muted);font-size:13px}.card-button{width:100%;border:0;background:transparent;color:var(--navy);font-weight:900;text-align:left;padding:16px 19px;border-top:1px solid var(--line)}.load-more{display:block;margin:28px auto;border:1px solid var(--navy);color:var(--navy);background:white;padding:13px 24px;border-radius:12px;font-weight:800}.map-view{height:560px;border-radius:22px;overflow:hidden;position:relative;background-color:#dce9df;background-image:linear-gradient(30deg,#c3d9cb 12%,transparent 12.5%,transparent 87%,#c3d9cb 87.5%),linear-gradient(150deg,#c3d9cb 12%,transparent 12.5%,transparent 87%,#c3d9cb 87.5%),linear-gradient(30deg,#c3d9cb 12%,transparent 12.5%,transparent 87%,#c3d9cb 87.5%);background-size:80px 140px}.map-pin{position:absolute;transform:translate(-50%,-50%);background:var(--navy);color:white;border:4px solid white;border-radius:50% 50% 50% 8px;width:48px;height:48px;display:grid;place-items:center;font-weight:900;box-shadow:var(--shadow)}dialog{border:0;border-radius:22px;padding:0;box-shadow:0 28px 100px rgba(0,0,0,.3);max-height:92vh}dialog::backdrop{background:rgba(4,25,37,.65)}.detail-dialog{width:min(900px,94vw)}.detail-hero{height:300px;background:linear-gradient(135deg,#0b3a52,#1a756f);color:white;padding:28px;display:flex;align-items:flex-end;position:relative;background-size:cover;background-position:center}.dialog-close{position:absolute;right:18px;top:18px;z-index:2;border:0;background:white;border-radius:50%;width:38px;height:38px;font-size:24px}.detail-body{padding:26px}.detail-meta{display:flex;gap:10px;flex-wrap:wrap}.detail-actions{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}.amenity-list{display:grid;gap:10px}.amenity-row{border:1px solid var(--line);padding:14px;border-radius:13px;display:flex;align-items:center;justify-content:space-between;gap:12px}.amenity-row p{margin:4px 0;color:var(--muted);font-size:13px}.amenity-row a{color:var(--navy);font-weight:800}.admin-dialog{width:min(780px,94vw);padding:30px}.admin-dialog form{display:grid;gap:14px;margin:20px 0}.admin-dialog label{display:grid;gap:6px;font-weight:700}.admin-dialog input{padding:12px;border:1px solid var(--line);border-radius:10px}.admin-table{display:grid;gap:10px;margin-top:18px}.admin-place{display:grid;grid-template-columns:1fr auto auto;gap:12px;align-items:center;border:1px solid var(--line);border-radius:12px;padding:12px}.admin-place small{color:var(--muted)}.admin-place button{border:0;border-radius:8px;padding:8px 10px}.verify-button{background:#dcfce7;color:#166534}.hide-button{background:#fee2e2;color:#991b1b}@media(max-width:760px){.topbar{height:66px}.brand small{display:none}.hero{padding-top:42px}.search-row{flex-direction:column}.location-search{min-height:52px}.filter-header,.results-heading{align-items:stretch;flex-direction:column}.advanced-filters{align-items:stretch;flex-direction:column}.card-grid{grid-template-columns:1fr}.card-image{height:200px}.view-switch{align-self:flex-start}.detail-hero{height:230px}.admin-place{grid-template-columns:1fr 1fr}.admin-place>div{grid-column:1/-1}}
