@import url('https://fonts.googleapis.com/css2?family=EB+Garamond:wght@400;500&family=Inter:wght@400;500;600&display=swap');
:root{
  --paper:#f7f5ef; --paper-2:#fbfaf7; --ink:#122832; --ink-2:#2c4652; --muted:#60747e;
  --blue:#dce9ef; --blue-2:#b9ced8; --bronze:#9b5500; --bronze-soft:#d7b987;
  --line:rgba(18,40,50,.12); --line-strong:rgba(18,40,50,.22);
  --shadow:0 22px 60px rgba(23,45,55,.14); --shadow-soft:0 10px 30px rgba(23,45,55,.08);
  --header-h:68px; --serif:Georgia,'Times New Roman',serif; --sans:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
}
*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--paper);color:var(--ink);font-family:var(--sans)}body{overflow-x:hidden}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit}button{color:inherit}img{max-width:100%;display:block}svg{width:1em;height:1em}#app{min-height:100vh}
.site-header{position:fixed;z-index:90;inset:0 0 auto;height:var(--header-h);display:flex;align-items:center;gap:22px;padding:0 30px;background:rgba(251,250,247,.92);backdrop-filter:blur(16px) saturate(.85);border-bottom:1px solid var(--line)}
.brand{display:flex;align-items:center;gap:11px;min-width:max-content}.brand img{width:32px;height:32px;object-fit:contain}.brand-word{font-family:var(--serif);letter-spacing:.22em;font-size:13px;font-weight:500}.nav{margin-left:auto;display:flex;align-items:center;gap:27px;font-size:11px}.nav a{opacity:.82;position:relative;padding:9px 0}.nav a::after{content:"";position:absolute;left:50%;right:50%;bottom:2px;height:1px;background:var(--ink);transition:.2s ease}.nav a:hover::after,.nav a.active::after{left:0;right:0}.header-contact{height:34px;padding:0 14px;border:1px solid var(--line-strong);border-radius:999px;background:rgba(255,255,255,.7);font-size:10px;cursor:pointer;transition:.2s ease}.header-contact:hover{background:#fff;transform:translateY(-1px)}
.menu-btn{display:none;width:38px;height:38px;border:0;background:none;position:relative;cursor:pointer}.menu-btn span{position:absolute;left:8px;width:22px;height:1px;background:var(--ink);transition:.2s}.menu-btn span:first-child{top:14px}.menu-btn span:last-child{top:22px}.menu-btn[aria-expanded=true] span:first-child{top:18px;transform:rotate(45deg)}.menu-btn[aria-expanded=true] span:last-child{top:18px;transform:rotate(-45deg)}.mobile-menu{display:none}
.page-shell{padding-top:var(--header-h);min-height:100vh;background:var(--paper-2)}.page-inner{max-width:1480px;margin:0 auto;padding:42px 42px 72px}.page-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.23em;opacity:.55;margin-bottom:10px}.page-title{font-family:var(--serif);font-weight:400;font-size:clamp(38px,4vw,60px);line-height:1;margin:0 0 12px;letter-spacing:-.025em}.page-lead{max-width:720px;line-height:1.65;color:#4d626c;font-size:14px}.solid-btn,.outline-btn,.text-button{border:1px solid var(--line-strong);border-radius:10px;background:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:8px;transition:.2s ease}.solid-btn{background:#0d2b38;color:#fff;border-color:#0d2b38;box-shadow:0 8px 20px rgba(13,43,56,.12)}.solid-btn:hover{background:#153847;transform:translateY(-1px)}.outline-btn:hover,.text-button:hover{border-color:rgba(18,40,50,.4);background:#fff;transform:translateY(-1px)}

/* REAL MAP */
.map-page{height:100vh;min-height:680px;position:relative;overflow:hidden;background:#edf1ef}
.map-stage{position:absolute;inset:var(--header-h) 0 0;overflow:hidden;user-select:none;touch-action:none;background:#edf1ef;cursor:grab}
.map-stage.dragging{cursor:grabbing}
.map-stage .google-map-element{display:block;width:100%;height:100%;outline:none}
.map-load-error{position:absolute;inset:0;display:grid;place-items:center;padding:30px;text-align:center;color:#60727d;background:#eef2f1;font-size:12px}
.map-ui{z-index:20}
.map-stage::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;box-shadow:inset 0 0 90px rgba(255,255,255,.38)}
.home-copy{position:absolute;top:calc(var(--header-h) + 67px);left:32px;width:405px;pointer-events:none}.home-copy .eyebrow{font-size:10px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:18px;opacity:.56}.home-copy h1{font-family:var(--serif);font-weight:400;font-size:61px;line-height:.98;margin:0 0 16px;letter-spacing:-.04em}.home-copy>p{font-size:13px;line-height:1.6;max-width:330px;color:#29414c}.map-search-wrap{pointer-events:auto;margin-top:24px;position:relative;width:390px}.map-search{display:flex;align-items:center;gap:10px;width:100%;height:46px;background:rgba(255,255,255,.94);border:1px solid var(--line);border-radius:12px;padding:0 11px 0 13px;box-shadow:var(--shadow-soft)}.map-search>svg{width:18px;flex:0 0 auto;opacity:.65}.map-search input{border:0;outline:0;background:transparent;flex:1;min-width:0;color:var(--ink);font-size:12px}.map-search button{width:28px;height:28px;border:0;border-radius:50%;background:transparent;cursor:pointer;opacity:.5;font-size:18px}.map-search button:hover{background:#f2f2ef;opacity:1}.map-results{display:none;position:absolute;left:0;right:0;top:52px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.98);box-shadow:var(--shadow);overflow:hidden}.map-results.visible{display:block}.map-results button{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;border:0;border-bottom:1px solid var(--line);background:transparent;text-align:left;padding:11px 12px;cursor:pointer}.map-results button:last-child{border-bottom:0}.map-results button:hover{background:#f4f5f2}.map-results span{font-family:var(--serif);font-size:14px}.map-results small{font-size:9px;color:var(--muted)}.no-result{padding:12px;font-size:10px;color:var(--muted)}
.filter-row{pointer-events:auto;display:flex;gap:8px;margin-top:10px}.filter-chip{position:relative;display:flex;align-items:center;gap:7px;border:1px solid var(--line);background:rgba(255,255,255,.9);height:35px;padding:0 10px;border-radius:999px;font-size:10px;box-shadow:0 4px 14px rgba(24,48,64,.04)}.filter-chip::after{content:'⌄';opacity:.55}.filter-chip select{position:absolute;inset:0;opacity:0;cursor:pointer;width:100%}
.map-controls{position:absolute;right:20px;top:calc(var(--header-h) + 24px);display:flex;flex-direction:column;gap:7px}.map-control{width:40px;height:40px;border-radius:10px;border:1px solid var(--line);background:rgba(255,255,255,.94);display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 22px rgba(23,45,55,.08);font-size:18px;transition:.18s}.map-control:hover{background:#fff;transform:translateY(-1px)}.map-legend{position:absolute;left:30px;bottom:22px;display:flex;align-items:center;gap:10px;font-size:10px;color:#40555e}.map-legend small{font-size:8px;opacity:.65}.compass{width:39px;height:39px;border:1px solid rgba(18,40,50,.24);border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.78);font-family:var(--serif);font-size:14px;position:relative}.compass::before{content:"";position:absolute;top:4px;width:1px;height:8px;background:var(--ink)}

.property-popover{position:absolute;z-index:40;width:318px;background:rgba(253,252,249,.985);backdrop-filter:blur(14px);border:1px solid rgba(18,40,50,.14);border-radius:14px;padding:9px;box-shadow:0 24px 58px rgba(18,43,55,.18);opacity:0;pointer-events:none;transform:translateY(8px) scale(.987);transition:opacity .18s ease,transform .22s ease}.property-popover.visible{opacity:1;pointer-events:auto;transform:none}.property-popover::before{display:none!important;content:none!important;pointer-events:none!important}.popover-media{position:relative;border-radius:10px;overflow:hidden;height:150px;background:#e6e9e6;cursor:pointer}.popover-media img{width:100%;height:100%;object-fit:cover;transition:transform .35s ease}.popover-media:hover img{transform:scale(1.015)}.popover-badge{position:absolute;left:8px;top:8px;background:rgba(255,255,255,.93);border:1px solid rgba(18,40,50,.08);border-radius:999px;padding:5px 8px;font-size:9px}.popover-close{position:absolute;right:7px;top:7px;width:28px;height:28px;border-radius:50%;border:1px solid rgba(18,40,50,.10);background:rgba(255,255,255,.93);cursor:pointer;display:grid;place-items:center}.popover-close svg{width:14px;height:14px}.popover-body{padding:11px 4px 3px}.popover-kicker{font-size:8px;text-transform:uppercase;letter-spacing:.16em;color:#728087;margin-bottom:4px}.popover-title{font-family:var(--serif);font-size:20px;font-weight:400;margin:0 0 4px}.popover-meta{font-size:10px;color:#5c707a;margin-bottom:8px}.popover-price{font-size:16px;font-weight:650;margin-bottom:8px}.popover-price span{font-weight:400;font-size:10px;color:#63757e}.popover-address{display:flex;gap:6px;align-items:center;font-size:9px;color:#687b84;margin-bottom:11px;white-space:nowrap;overflow:hidden}.popover-address svg{width:13px;flex:0 0 auto}.popover-address span{overflow:hidden;text-overflow:ellipsis}.popover-actions{display:grid;gap:7px}.popover-actions button{height:39px;font-size:10px}.popover-actions .solid-btn svg{width:14px}

/* listings */
.listings-head{display:flex;align-items:end;justify-content:space-between;gap:24px;margin-bottom:28px}.map-link,.text-link{font-size:11px;text-decoration:underline;text-underline-offset:4px;text-decoration-color:rgba(18,40,50,.28)}.listings-layout{display:grid;grid-template-columns:230px 1fr;gap:28px}.filters-panel{border-right:1px solid var(--line);padding-right:24px}.filters-panel .search-box{display:flex;gap:9px;align-items:center;background:#fff;border:1px solid var(--line);border-radius:10px;padding:10px 11px;margin-bottom:13px}.filters-panel .search-box svg{width:16px}.filters-panel input,.filters-panel select{width:100%;border:1px solid var(--line);background:#fff;border-radius:9px;padding:10px 11px;color:var(--ink);outline:none}.filters-panel .search-box input{border:0;padding:0}.filters-panel label{display:block;font-size:9px;text-transform:uppercase;letter-spacing:.12em;opacity:.58;margin:15px 0 6px}.reset-link{margin-top:17px;border:0;background:none;padding:0;text-decoration:underline;text-underline-offset:3px;cursor:pointer;font-size:10px}.results-count{font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#708089;margin-bottom:10px}.property-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.property-card{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;transition:.22s ease;cursor:pointer;box-shadow:0 6px 18px rgba(19,45,61,.035);outline:none}.property-card:hover,.property-card:focus-visible{transform:translateY(-3px);box-shadow:var(--shadow-soft);border-color:rgba(18,40,50,.22)}.property-card-media{height:205px;position:relative;overflow:hidden;background:#e8ecec}.property-card-media img{width:100%;height:100%;object-fit:cover;transition:.35s ease}.property-card:hover .property-card-media img{transform:scale(1.02)}.status-pill{position:absolute;top:9px;left:9px;border-radius:999px;padding:5px 8px;background:rgba(250,249,246,.94);font-size:9px;border:1px solid rgba(18,40,50,.08)}.property-card-body{padding:13px 14px 15px}.property-card-kicker{font-size:8px;letter-spacing:.12em;text-transform:uppercase;color:#75848b;margin-bottom:4px}.property-card h3{font-family:var(--serif);font-size:19px;font-weight:400;margin:0 0 5px}.property-card-meta{font-size:10px;color:#60727d;margin-bottom:8px}.property-card-price{font-weight:650;font-size:13px}.property-card-address{display:flex;gap:5px;align-items:center;font-size:9px;color:#788891;margin-top:6px}.property-card-address svg{width:12px}.empty-state{grid-column:1/-1;border:1px dashed var(--line-strong);border-radius:12px;padding:42px;text-align:center;color:var(--muted);font-size:12px}

/* property detail */
.property-inner{max-width:1320px}.back-link{display:inline-flex;gap:7px;align-items:center;font-size:10px;color:#536976;margin-bottom:18px}.gallery{display:grid;grid-template-columns:minmax(0,2.35fr) minmax(190px,.8fr);gap:9px;height:455px;margin-bottom:27px}.gallery-main{position:relative;border-radius:13px;overflow:hidden;background:#e6e8e5}.gallery-main img{width:100%;height:100%;object-fit:cover;transition:opacity .2s}.gallery-counter{position:absolute;right:10px;bottom:10px;background:rgba(15,31,39,.75);color:#fff;border-radius:999px;padding:5px 8px;font-size:9px}.gallery-side{display:grid;grid-template-rows:repeat(3,1fr);gap:9px;overflow:hidden}.gallery-thumb{border:0;padding:0;border-radius:11px;overflow:hidden;cursor:pointer;background:#e6e8e5}.gallery-thumb img{width:100%;height:100%;object-fit:cover;transition:.25s}.gallery-thumb:hover img{transform:scale(1.02)}.detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:44px}.detail-kicker{font-size:9px;text-transform:uppercase;letter-spacing:.15em;color:#718087;margin-bottom:5px}.detail-title{font-family:var(--serif);font-size:39px;font-weight:400;margin:0 0 5px}.detail-address{display:flex;gap:6px;align-items:center;font-size:10px;color:#657883;margin-bottom:20px}.detail-address svg{width:13px}.stats{display:flex;flex-wrap:wrap;gap:20px;padding:13px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line);font-size:11px}.detail-price{font-size:18px;font-weight:700;margin:18px 0 5px}.detail-price small{font-size:11px;font-weight:400;color:#63757e}.availability{display:inline-block;font-size:9px;background:#e8f4eb;border-radius:999px;padding:5px 8px;color:#315a3e;margin-left:9px;vertical-align:middle}.detail-copy{font-size:12px;line-height:1.75;color:#3e5663;max-width:760px}.section-heading{font-family:var(--serif);font-weight:400;font-size:22px;margin-top:27px}.amenities{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px;margin-top:14px;font-size:11px}.amenities span::before{content:'✓';margin-right:7px;color:#2c667c}.booking-card{position:sticky;top:92px;align-self:start;background:#fff;border:1px solid var(--line);border-radius:14px;padding:16px;box-shadow:var(--shadow-soft)}.booking-kicker{font-size:8px;text-transform:uppercase;letter-spacing:.16em;color:#73828a}.booking-title{font-family:var(--serif);font-size:22px;margin-top:4px}.booking-card p{font-size:10px;line-height:1.6;color:#61737d}.booking-card .solid-btn,.booking-card .outline-btn{width:100%;height:42px;margin-top:7px;font-size:10px}.mini-map{height:190px;border-radius:10px;overflow:hidden;position:relative;margin-top:15px;border:1px solid var(--line);background:#e9efef}.mini-map-link{display:block;text-align:center;font-size:9px;margin-top:9px;text-decoration:underline;text-underline-offset:3px}

/* about */
.about-wrap{max-width:1120px}.about-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:20px;margin-top:32px}.about-card{border:1px solid var(--line);background:#fff;border-radius:16px;padding:25px;position:relative;overflow:hidden}.about-card h3{font-family:var(--serif);font-size:25px;font-weight:400;margin:0 0 11px}.about-card-mark{position:absolute;right:-36px;top:-42px;width:180px;height:180px;opacity:.055}.about-card-mark img{width:100%;height:100%;object-fit:contain}.text-button{height:41px;padding:0 16px;background:#0d2b38;color:white;border-color:#0d2b38;font-size:10px;margin-top:8px}.contact-choice{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:18px 0}.contact-choice button{border:1px solid var(--line-strong);border-radius:9px;background:#fafaf8;padding:11px 9px;font-size:10px;cursor:pointer}.contact-choice button:hover{background:#0d2b38;color:#fff;border-color:#0d2b38}.contact-lines{display:grid;gap:8px;font-size:10px;color:#536872;border-top:1px solid var(--line);padding-top:15px}

/* intake */
.intake-wrap{max-width:1080px;margin:0 auto}.intake-tabs{display:grid;grid-template-columns:1fr 1fr;border:1px solid var(--line-strong);border-radius:10px;overflow:hidden;margin:22px 0;background:#fff}.intake-tab{border:0;background:#fff;padding:13px;cursor:pointer;font-size:11px;transition:.18s}.intake-tab.active{background:#0d2b38;color:#fff}.intake-form{display:grid;grid-template-columns:1fr 1fr;gap:32px}.form-section{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;align-content:start}.form-section h3{grid-column:1/-1;font-family:var(--serif);font-weight:400;font-size:21px;margin:2px 0 6px}.field.full{grid-column:1/-1}.field label{display:block;font-size:9px;margin-bottom:5px;color:#536976}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line-strong);border-radius:8px;padding:10px 11px;background:#fff;color:var(--ink);outline:none;transition:.18s ease}.field textarea{min-height:108px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:#477186;box-shadow:0 0 0 3px rgba(71,113,134,.08)}.checks{display:grid;grid-template-columns:1fr 1fr;gap:9px;font-size:10px;color:#455d69}.checks label{display:flex;gap:7px;align-items:center}.form-submit{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding-top:19px;margin-top:4px}.form-submit span{font-size:9px;color:#78878f}.form-submit button{height:42px;padding:0 20px;font-size:10px}.form-note{font-size:9px;color:#75848d;line-height:1.55;max-width:640px;margin-top:12px}
.footer{border-top:1px solid var(--line);padding:21px 42px 30px;display:flex;justify-content:space-between;gap:20px;font-size:9px;color:#667985;background:var(--paper)}.toast{position:fixed;z-index:200;bottom:24px;left:50%;transform:translate(-50%,20px);background:#0d2e3e;color:#fff;padding:11px 15px;border-radius:999px;font-size:10px;opacity:0;pointer-events:none;transition:.22s ease;box-shadow:var(--shadow)}.toast.show{opacity:1;transform:translate(-50%,0)}

@media (max-width:1100px){.nav{gap:16px}.header-contact{display:none}.site-header{padding:0 20px}.property-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gallery{height:390px}.detail-grid{grid-template-columns:1fr 300px;gap:28px}}
@media (max-width:800px){
  :root{--header-h:61px}.site-header{padding:0 13px}.brand-word{font-size:11px}.brand img{width:29px;height:29px}.nav,.header-contact{display:none}.menu-btn{display:block;margin-left:auto}.mobile-menu{display:flex;position:absolute;top:calc(var(--header-h) - 1px);left:0;right:0;background:rgba(251,250,247,.98);border-bottom:1px solid var(--line);padding:18px 16px 20px;flex-direction:column;gap:4px;opacity:0;transform:translateY(-8px);pointer-events:none;transition:.18s ease}.mobile-menu.open{opacity:1;transform:none;pointer-events:auto}.mobile-menu a,.mobile-menu button{padding:12px 3px;border:0;border-bottom:1px solid var(--line);background:none;text-align:left;font-family:var(--serif);font-size:20px}.mobile-menu button{font-family:var(--sans);font-size:11px;border:1px solid var(--line-strong);border-radius:9px;margin-top:10px;padding:12px}
  .map-page{min-height:620px}.home-copy{display:none}.map-controls{top:calc(var(--header-h) + 13px);right:11px}.map-control{width:37px;height:37px}.map-legend{display:none}.property-popover{width:min(286px,calc(100vw - 24px));max-height:330px;overflow:auto;transform:translateY(15px)}.property-popover.visible{transform:none}.popover-media{height:128px}.popover-actions{grid-template-columns:1fr 1fr}.popover-actions button{height:38px}.page-inner{padding:26px 16px 52px}.page-title{font-size:41px}.listings-head{display:block}.map-link{display:inline-block;margin-top:10px}.listings-layout{grid-template-columns:1fr}.filters-panel{border-right:0;border-bottom:1px solid var(--line);padding:0 0 18px;display:grid;grid-template-columns:1fr 1fr;gap:9px}.filters-panel label{margin:0}.filters-panel .search-box{grid-column:1/-1;margin:0}.reset-link{margin:6px 0 0}.property-grid{grid-template-columns:1fr 1fr}.property-card-media{height:160px}.gallery{grid-template-columns:1fr;height:355px}.gallery-side{display:none}.detail-grid{grid-template-columns:1fr}.booking-card{position:static}.detail-title{font-size:33px}.amenities{grid-template-columns:1fr}.about-grid{grid-template-columns:1fr}.intake-form{grid-template-columns:1fr;gap:22px}.form-section{grid-template-columns:1fr 1fr}.form-submit{grid-column:1/-1}.footer{padding:20px 16px;flex-direction:column}
}
@media (max-width:520px){.property-grid{grid-template-columns:1fr}.property-card-media{height:205px}.filters-panel{grid-template-columns:1fr}.popover-actions{grid-template-columns:1fr}.intake-tabs{grid-template-columns:1fr}.intake-tab+.intake-tab{border-top:1px solid var(--line)}.gallery{height:285px}.detail-title{font-size:30px}.stats{gap:11px}.form-section{grid-template-columns:1fr}.field.full,.form-section h3{grid-column:auto}.checks{grid-template-columns:1fr}.form-submit{align-items:flex-end;gap:12px;flex-direction:column-reverse}.contact-choice{grid-template-columns:1fr}}

/* ===== v4: map-first property browser ===== */

.home-panel{position:absolute;top:var(--header-h);left:0;bottom:0;width:430px;z-index:30;pointer-events:none;background:linear-gradient(90deg,rgba(251,250,247,.985) 0%,rgba(251,250,247,.965) 78%,rgba(251,250,247,.78) 91%,rgba(251,250,247,0) 100%)}
.home-panel::after{content:"";position:absolute;top:0;right:-68px;bottom:0;width:90px;background:linear-gradient(90deg,rgba(251,250,247,.34),rgba(251,250,247,0));pointer-events:none}
.home-panel-scroll{height:100%;width:386px;overflow-y:auto;overscroll-behavior:contain;padding:47px 22px 34px 30px;pointer-events:auto;scrollbar-width:thin;scrollbar-color:rgba(18,40,50,.2) transparent}
.home-panel-scroll::-webkit-scrollbar{width:5px}.home-panel-scroll::-webkit-scrollbar-thumb{background:rgba(18,40,50,.18);border-radius:999px}.home-panel-scroll::-webkit-scrollbar-track{background:transparent}
.home-intro .eyebrow{font-size:9px;letter-spacing:.22em;text-transform:uppercase;margin-bottom:15px;opacity:.55}.home-intro h1{font-family:var(--serif);font-weight:400;font-size:54px;line-height:.98;margin:0 0 14px;letter-spacing:-.04em}.home-intro>p{font-size:12px;line-height:1.62;max-width:318px;color:#29414c;margin:0}
.home-panel .map-search-wrap{width:100%;margin-top:21px}.home-panel .map-search{height:45px}.home-panel .filter-row{flex-wrap:wrap;margin-top:9px}
.map-list-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:24px 1px 10px;padding-top:16px;border-top:1px solid var(--line);font-size:9px;text-transform:uppercase;letter-spacing:.14em;color:#536872}.map-list-head small{font-size:8px;letter-spacing:.06em;text-transform:none;color:#7b8a91}
.home-list{display:grid;gap:9px;padding-bottom:30px}.home-list-empty{border:1px dashed var(--line-strong);border-radius:12px;padding:22px 14px;text-align:center;font-size:10px;color:var(--muted);background:rgba(255,255,255,.6)}
.map-list-card{width:100%;display:grid;grid-template-columns:92px minmax(0,1fr) 18px;align-items:center;gap:10px;border:1px solid rgba(18,40,50,.11);border-radius:12px;background:rgba(255,255,255,.84);padding:7px;text-align:left;cursor:pointer;box-shadow:0 5px 18px rgba(22,43,53,.035);transition:transform .18s ease,border-color .18s ease,background .18s ease,box-shadow .18s ease}
.map-list-card:hover,.map-list-card:focus-visible,.map-list-card.active{background:#fff;border-color:rgba(18,40,50,.25);box-shadow:0 9px 24px rgba(22,43,53,.08);transform:translateX(2px);outline:none}.map-list-card.active{border-color:rgba(155,85,0,.34)}
.map-list-thumb{height:72px;border-radius:8px;overflow:hidden;position:relative;background:#e8ecea}.map-list-thumb>img{width:100%;height:100%;object-fit:cover}.map-list-thumb>span{position:absolute;left:5px;top:5px;font-size:7px;background:rgba(255,255,255,.9);border-radius:999px;padding:3px 5px;border:1px solid rgba(18,40,50,.08)}
.map-list-copy{min-width:0;display:grid;gap:2px}.map-list-copy small{font-size:7px;letter-spacing:.13em;text-transform:uppercase;color:#77878e;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-list-copy strong{font-family:var(--serif);font-weight:400;font-size:16px;line-height:1.05;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-list-copy em{font-style:normal;font-size:8px;color:#647780;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.map-list-copy b{font-size:11px;margin-top:2px}.map-list-copy b i{font-style:normal;font-weight:400;color:#6d7d84;font-size:8px}.map-list-arrow{font-size:14px;opacity:.42;transition:.18s}.map-list-card:hover .map-list-arrow,.map-list-card.active .map-list-arrow{opacity:.8;transform:translateX(2px)}

/* Keep the V discreet; C becomes the selection signal. */



.map-controls{right:18px}.map-control.map-3d{font-size:9px;font-weight:650;letter-spacing:.08em}.map-control.map-3d.active{background:#0d2b38;color:#fff;border-color:#0d2b38}
.map-legend{left:auto;right:76px;bottom:20px;background:rgba(251,250,247,.74);backdrop-filter:blur(8px);padding:5px 8px 5px 5px;border-radius:999px}

/* Contact checkboxes: keep each box visually attached to its label. */
.checks{gap:8px 12px}.checks label{display:grid;grid-template-columns:15px minmax(0,1fr);gap:7px;align-items:start;line-height:1.35;margin:0!important}.checks input[type="checkbox"]{appearance:auto!important;width:14px!important;height:14px!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;align-self:start}

@media (max-width:1000px){
  .home-panel{width:380px}.home-panel-scroll{width:342px;padding-left:22px}.home-intro h1{font-size:47px}.map-list-card{grid-template-columns:78px minmax(0,1fr) 15px}.map-list-thumb{height:64px}
}
@media (max-width:800px){
  .home-panel{position:absolute;left:10px;right:10px;top:auto;bottom:10px;width:auto;height:auto;max-height:43vh;border-radius:15px;background:rgba(251,250,247,.96);backdrop-filter:blur(16px);box-shadow:0 16px 42px rgba(18,43,55,.16);overflow:hidden;z-index:28}
  .home-panel::after{display:none}.home-panel-scroll{width:100%;height:auto;max-height:43vh;padding:12px 12px 14px;overflow-y:auto}.home-intro{display:none}.home-panel .map-search-wrap{margin-top:0}.home-panel .filter-row{margin-top:8px}.map-list-head{margin-top:13px;padding-top:11px}.home-list{gap:7px;padding-bottom:2px}.map-list-card{grid-template-columns:72px minmax(0,1fr) 14px;padding:6px}.map-list-thumb{height:58px}.map-list-copy strong{font-size:15px}
  .map-controls{top:calc(var(--header-h) + 12px);right:10px}.map-legend{display:none}
}
@media (max-width:520px){
  .home-panel{max-height:46vh}.home-panel-scroll{max-height:46vh}.home-panel .filter-row{gap:5px}.home-panel .filter-chip{height:31px;padding:0 8px;font-size:9px}.map-list-head{margin-bottom:7px}.map-list-card{grid-template-columns:64px minmax(0,1fr) 12px}.map-list-thumb{height:52px}.map-list-copy em{display:none}
}


/* ===== v5: square listing previews + proximity echo ===== */
/* The V is a pointer: its bottom tip is the geographic coordinate. */


/* Larger square thumbnails make the map browser much easier to scan. */
.map-list-card{grid-template-columns:98px minmax(0,1fr) 18px;min-height:112px;padding:7px 8px 7px 7px}
.map-list-thumb{width:98px;height:98px;aspect-ratio:1/1;border-radius:10px}
.map-list-thumb>img{object-position:center}
.map-list-copy{gap:3px;padding:2px 0}
.map-list-copy strong{font-size:17px}
.map-list-copy em{font-size:8.5px}
.map-list-copy b{font-size:12px;margin-top:3px}



@media (max-width:1000px){
  .map-list-card{grid-template-columns:88px minmax(0,1fr) 15px;min-height:101px}.map-list-thumb{width:88px;height:88px}
}
@media (max-width:800px){
  .map-list-card{grid-template-columns:78px minmax(0,1fr) 14px;min-height:90px}.map-list-thumb{width:78px;height:78px}.map-list-copy strong{font-size:15px}
}
@media (max-width:520px){
  .map-list-card{grid-template-columns:70px minmax(0,1fr) 12px;min-height:82px}.map-list-thumb{width:70px;height:70px}
}

/* ===== v6: two-column map property browser ===== */
/* Desktop browser now follows the approved rental-search reference: two visual cards per row,
   landscape photography on top, property information grouped underneath. */
@media (min-width:1001px){
  .home-panel{
    width:690px;
    background:linear-gradient(90deg,rgba(251,250,247,.992) 0%,rgba(251,250,247,.985) 86%,rgba(251,250,247,.78) 96%,rgba(251,250,247,0) 100%);
  }
  .home-panel::after{right:-54px;width:76px}
  .home-panel-scroll{
    width:646px;
    padding:34px 20px 34px 28px;
  }
  .home-intro{max-width:560px}
  .home-intro h1{font-size:48px;line-height:1;margin-bottom:10px}
  .home-intro>p{max-width:510px;font-size:11.5px}
  .home-panel .map-search-wrap{margin-top:17px}
  .home-panel .filter-row{flex-wrap:nowrap}
  .map-list-head{margin-top:18px;padding-top:14px}
  .home-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px;
    align-items:start;
  }
  .map-list-card{
    position:relative;
    display:block;
    min-width:0;
    min-height:0;
    padding:0;
    border-radius:13px;
    overflow:hidden;
    background:rgba(255,255,255,.9);
    text-align:left;
    transform:none;
  }
  .map-list-card:hover,.map-list-card:focus-visible,.map-list-card.active{
    transform:translateY(-2px);
  }
  .map-list-thumb{
    display:block;
    width:100%;
    height:auto;
    aspect-ratio:16/9;
    border-radius:0;
    overflow:hidden;
    background:#e8ecea;
  }
  .map-list-thumb>img{width:100%;height:100%;object-fit:cover}
  .map-list-thumb>span{
    left:9px;
    top:9px;
    font-size:7.5px;
    padding:4px 7px;
  }
  .map-list-copy{
    display:grid;
    gap:4px;
    padding:11px 13px 13px;
  }
  .map-list-copy small{font-size:7.5px}
  .map-list-copy strong{
    font-size:18px;
    line-height:1.08;
    white-space:nowrap;
    overflow:hidden;
    text-overflow:ellipsis;
    padding-right:18px;
  }
  .map-list-copy em{font-size:9px}
  .map-list-copy b{font-size:13px;margin-top:2px}
  .map-list-copy b i{font-size:8.5px}
  .map-list-arrow{
    position:absolute;
    right:12px;
    bottom:12px;
    font-size:15px;
  }
}

/* Keep two columns on medium desktop/laptop widths while leaving enough map visible. */
@media (min-width:801px) and (max-width:1000px){
  .home-panel{width:590px}
  .home-panel-scroll{width:548px;padding:28px 18px 30px 24px}
  .home-intro h1{font-size:43px}
  .home-intro>p{max-width:470px}
  .home-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .map-list-card{display:block;position:relative;min-height:0;padding:0;overflow:hidden;transform:none}
  .map-list-card:hover,.map-list-card:focus-visible,.map-list-card.active{transform:translateY(-2px)}
  .map-list-thumb{display:block;width:100%;height:auto;aspect-ratio:16/9;border-radius:0}
  .map-list-copy{padding:9px 10px 11px;gap:3px}
  .map-list-copy strong{font-size:16px;padding-right:16px}
  .map-list-copy em{font-size:8px}
  .map-list-copy b{font-size:11.5px}
  .map-list-arrow{position:absolute;right:10px;bottom:10px}
}

/* ===== v7: direct-review refinements ===== */
/* One-line headline, denser browser, right-side detail drawer, transit/POI layers. */
@media (min-width:801px){
  .home-intro h1{white-space:nowrap;font-size:44px!important;letter-spacing:-.045em}
}

/* Right-side property detail replaces the standalone property page for normal browsing. */
.property-detail-drawer{
  position:absolute;top:calc(var(--header-h) + 12px);right:12px;bottom:12px;width:min(430px,38vw);
  background:rgba(253,252,249,.985);backdrop-filter:blur(18px);border:1px solid rgba(18,40,50,.14);
  border-radius:18px;box-shadow:0 28px 70px rgba(18,43,55,.2);overflow-y:auto;overscroll-behavior:contain;
  opacity:0;pointer-events:none;transform:translateX(calc(100% + 28px));transition:transform .42s cubic-bezier(.2,.78,.2,1),opacity .24s ease;
  scrollbar-width:thin;scrollbar-color:rgba(18,40,50,.18) transparent;
}
.property-detail-drawer.open{opacity:1;pointer-events:auto;transform:none}
.drawer-head{position:sticky;top:0;z-index:3;display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:18px 18px 12px;background:linear-gradient(180deg,rgba(253,252,249,.99),rgba(253,252,249,.93) 78%,rgba(253,252,249,0));backdrop-filter:blur(10px)}
.drawer-kicker{font-size:8px;text-transform:uppercase;letter-spacing:.17em;color:#73848b;margin-bottom:4px}.drawer-head h2{font-family:var(--serif);font-weight:400;font-size:29px;line-height:1;margin:0;letter-spacing:-.025em}.drawer-close{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:#fff;display:grid;place-items:center;cursor:pointer;flex:0 0 auto}.drawer-close svg{width:16px;height:16px}
.drawer-gallery{padding:0 14px 14px}.drawer-main{height:230px;border-radius:13px;overflow:hidden;position:relative;background:#e8ecea}.map-page>#property-detail-drawer .drawer-main{height:auto!important;aspect-ratio:3/2}.drawer-main img{width:100%;height:100%;object-fit:cover}.drawer-main>span{position:absolute;left:10px;top:10px;padding:4px 7px;border-radius:999px;background:rgba(255,255,255,.94);border:1px solid rgba(18,40,50,.08);font-size:8px}
.drawer-thumbs{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin-top:7px}.drawer-thumbs button{border:1px solid var(--line);padding:0;border-radius:9px;overflow:hidden;background:#eef1ef;height:76px;cursor:pointer}.drawer-thumbs img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.drawer-thumbs button:hover img{transform:scale(1.035)}
.drawer-content{padding:0 18px 22px}.drawer-address{display:flex;align-items:flex-start;gap:6px;color:#64767e;font-size:9px;line-height:1.4}.drawer-address svg{width:13px;height:13px;flex:0 0 auto}.drawer-stats{display:flex;gap:8px;flex-wrap:wrap;margin:13px 0 8px}.drawer-stats span{font-size:9px;border:1px solid var(--line);border-radius:999px;padding:5px 8px;background:#fff}.drawer-price{font-size:21px;font-weight:700;margin:8px 0 12px}.drawer-price small{font-size:9px;font-weight:400;color:#64767e}.drawer-price>span{display:inline-block;margin-left:8px;font-size:8px;font-weight:500;color:#3f6b50;background:#eef5ef;border-radius:999px;padding:4px 7px;vertical-align:middle}.drawer-content>p{font-size:11px;line-height:1.6;color:#425861;margin:0 0 18px}.drawer-content section{border-top:1px solid var(--line);padding-top:15px;margin-top:15px}.drawer-content h3{font-family:var(--serif);font-weight:400;font-size:18px;margin:0 0 10px}
.drawer-visit{display:flex;align-items:center;gap:12px;justify-content:space-between;background:#f4f4ef;border:1px solid var(--line);border-radius:12px;padding:12px!important}.drawer-visit>div{display:grid;gap:2px}.drawer-visit small{font-size:7px;letter-spacing:.15em;color:#718087}.drawer-visit strong{font-family:var(--serif);font-weight:400;font-size:17px}.drawer-visit span{font-size:8px;color:#677980}.drawer-visit .solid-btn{height:38px;padding:0 12px;font-size:9px;white-space:nowrap}
.drawer-amenities{display:grid;grid-template-columns:1fr 1fr;gap:7px 10px}.drawer-amenities span{font-size:9px;color:#425861}.drawer-amenities span::before{content:'✓';margin-right:6px;color:#648270}
.drawer-nearby{display:grid;grid-template-columns:1fr 1fr;gap:7px}.drawer-nearby>span{display:grid;grid-template-columns:28px minmax(0,1fr);grid-template-areas:'icon name' 'icon detail';column-gap:7px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:7px;background:#fff}.drawer-nearby b{grid-area:icon;display:grid;place-items:center;width:28px;height:28px;border-radius:50%;background:#eef1ef;color:#875900;font-family:var(--serif);font-size:11px}.drawer-nearby em{grid-area:name;font-size:9px;font-style:normal;font-weight:650}.drawer-nearby small{grid-area:detail;font-size:7px;color:#728087}.drawer-question{width:100%;height:38px;margin-top:16px;font-size:9px}
.map-page.detail-open .map-controls{right:calc(min(430px,38vw) + 28px)}
.map-page.detail-open .map-layer-controls{right:calc(min(430px,38vw) + 28px)}

/* Layer toggles sit under the normal map controls; 3D button was intentionally removed. */
.map-layer-controls{position:absolute;right:18px;top:calc(var(--header-h) + 216px);width:118px;display:grid;gap:5px;padding:8px;border:1px solid var(--line);background:rgba(253,252,249,.9);backdrop-filter:blur(12px);border-radius:12px;box-shadow:0 9px 24px rgba(23,45,55,.08);transition:right .42s cubic-bezier(.2,.78,.2,1)}
.layer-title{font-size:7px;letter-spacing:.14em;text-transform:uppercase;color:#73838a;padding:2px 3px 4px}.layer-chip{height:26px;border:1px solid rgba(18,40,50,.11);background:rgba(255,255,255,.55);border-radius:8px;font-size:8px;text-align:left;padding:0 8px;cursor:pointer;color:#6c7a80;transition:.18s}.layer-chip.active{background:#fff;color:#203a45;border-color:rgba(18,40,50,.22);box-shadow:0 3px 10px rgba(18,43,55,.05)}.layer-chip:hover{transform:translateX(-1px)}

@media (max-width:1180px) and (min-width:801px){
  .property-detail-drawer{width:360px}.map-page.detail-open .map-controls,.map-page.detail-open .map-layer-controls{right:378px}.drawer-main{height:205px}.drawer-head h2{font-size:26px}.drawer-nearby{grid-template-columns:1fr}
}
@media (max-width:800px){
  .property-detail-drawer{top:calc(var(--header-h) + 8px);left:8px;right:8px;bottom:8px;width:auto;border-radius:15px;transform:translateY(105%)}.property-detail-drawer.open{transform:none}.drawer-main{height:190px}.drawer-head{padding:13px 14px 9px}.drawer-gallery{padding:0 10px 10px}.drawer-content{padding:0 14px 18px}.drawer-thumbs button{height:60px}.map-layer-controls{top:calc(var(--header-h) + 174px);right:10px;width:104px}.map-page.detail-open .map-controls,.map-page.detail-open .map-layer-controls{right:10px;opacity:0;pointer-events:none}.drawer-nearby{grid-template-columns:1fr 1fr}
}
@media (max-width:520px){
  .drawer-nearby,.drawer-amenities{grid-template-columns:1fr}.drawer-main{height:170px}.drawer-thumbs button{height:52px}.map-layer-controls{display:none}
}


/* ===== v8: review polish + dark theme ===== */
.theme-toggle{
  width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.62);
  display:grid;place-items:center;cursor:pointer;transition:transform .18s ease,background .18s ease,border-color .18s ease;color:var(--ink);flex:0 0 auto
}
.theme-toggle svg{width:17px;height:17px}.theme-toggle:hover{transform:translateY(-1px);background:#fff;border-color:var(--line-strong)}

@media (min-width:801px){
  .home-panel{transition:transform .42s cubic-bezier(.2,.78,.2,1),opacity .28s ease}
  .map-page.detail-open .home-panel{transform:translateX(calc(-100% - 80px));opacity:0;pointer-events:none}
  .property-detail-drawer{width:min(540px,42vw)}
  .drawer-main{height:310px}
  .map-page.detail-open .map-controls,.map-page.detail-open .map-layer-controls{right:calc(min(540px,42vw) + 30px)}
}
@media (max-width:1280px) and (min-width:801px){
  .property-detail-drawer{width:min(455px,40vw)}
  .drawer-main{height:255px}
  .map-page.detail-open .map-controls,.map-page.detail-open .map-layer-controls{right:calc(min(455px,40vw) + 30px)}
}
@media (max-width:1000px) and (min-width:801px){
  .property-detail-drawer{width:390px}
  .drawer-main{height:225px}
  .map-page.detail-open .map-controls,.map-page.detail-open .map-layer-controls{right:408px}
}

/* Map display filters are icon controls, matching the main map-control rail. */
.map-layer-controls{
  width:auto;display:flex;flex-direction:column;gap:7px;padding:0;border:0;background:transparent;backdrop-filter:none;box-shadow:none
}
.layer-title{display:none}.layer-chip{
  width:40px;height:40px;padding:0;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.94);
  display:grid;place-items:center;cursor:pointer;box-shadow:0 8px 22px rgba(23,45,55,.08);color:var(--muted);transition:.18s
}
.layer-chip svg{width:16px;height:16px}.layer-chip>span{display:none}.layer-chip.active{background:#fff;color:var(--ink);border-color:var(--line-strong);box-shadow:0 8px 22px rgba(23,45,55,.1)}
.layer-chip:hover{transform:translateY(-1px)}

/* Theme tokens */
:root[data-theme="dark"]{
  --paper:#0b1014;--paper-2:#10171b;--ink:#edf2f1;--ink-2:#d1dadd;--muted:#8fa0a7;
  --blue:#1b2b33;--blue-2:#29434d;--bronze:#c8812a;--bronze-soft:#9b7444;
  --line:rgba(230,238,239,.12);--line-strong:rgba(230,238,239,.23);
  --shadow:0 22px 65px rgba(0,0,0,.38);--shadow-soft:0 10px 30px rgba(0,0,0,.24)
}
:root[data-theme="dark"] body,:root[data-theme="dark"] .page-shell{background:var(--paper-2);color:var(--ink)}
:root[data-theme="dark"] .site-header{background:rgba(10,15,19,.9);border-color:var(--line)}
:root[data-theme="dark"] .theme-toggle,:root[data-theme="dark"] .map-control,:root[data-theme="dark"] .layer-chip{background:rgba(19,27,32,.92);color:#dbe4e6;border-color:var(--line)}
:root[data-theme="dark"] .theme-toggle:hover,:root[data-theme="dark"] .map-control:hover,:root[data-theme="dark"] .layer-chip.active,:root[data-theme="dark"] .layer-chip:hover{background:#182229;color:#fff;border-color:var(--line-strong)}
:root[data-theme="dark"] .menu-btn span{background:var(--ink)}
:root[data-theme="dark"] .mobile-menu{background:rgba(11,16,20,.98);border-color:var(--line)}
:root[data-theme="dark"] .page-lead,:root[data-theme="dark"] .detail-copy{color:#aab7bc}
:root[data-theme="dark"] .solid-btn{background:#d9e5e7;color:#0b171c;border-color:#d9e5e7;box-shadow:0 8px 22px rgba(0,0,0,.22)}
:root[data-theme="dark"] .solid-btn:hover{background:#fff;color:#0b171c}
:root[data-theme="dark"] .outline-btn,:root[data-theme="dark"] .text-button{background:#121a1f;color:var(--ink);border-color:var(--line-strong)}
:root[data-theme="dark"] .outline-btn:hover,:root[data-theme="dark"] .text-button:hover{background:#182229;border-color:rgba(230,238,239,.34)}

:root[data-theme="dark"] .map-page,:root[data-theme="dark"] .map-stage{background:#11191d}
:root[data-theme="dark"] .map-stage::after{box-shadow:inset 0 0 110px rgba(0,0,0,.35)}
:root[data-theme="dark"] .home-panel{background:linear-gradient(90deg,rgba(10,15,19,.995) 0%,rgba(10,15,19,.975) 86%,rgba(10,15,19,.76) 96%,rgba(10,15,19,0) 100%)}
:root[data-theme="dark"] .home-panel::after{background:linear-gradient(90deg,rgba(10,15,19,.38),rgba(10,15,19,0))}
:root[data-theme="dark"] .home-panel-scroll{scrollbar-color:rgba(230,238,239,.22) transparent}
:root[data-theme="dark"] .map-search,:root[data-theme="dark"] .filter-chip{background:rgba(18,26,31,.93);border-color:var(--line);color:var(--ink)}
:root[data-theme="dark"] .map-search input{color:var(--ink)}
:root[data-theme="dark"] .map-search input::placeholder{color:#728188}
:root[data-theme="dark"] .map-search button:hover{background:#202b31}
:root[data-theme="dark"] .map-list-head{color:#a8b5ba}
:root[data-theme="dark"] .map-list-card{background:rgba(17,24,29,.93);border-color:var(--line);box-shadow:0 8px 22px rgba(0,0,0,.16)}
:root[data-theme="dark"] .map-list-card:hover,:root[data-theme="dark"] .map-list-card:focus-visible,:root[data-theme="dark"] .map-list-card.active{background:#151f24;border-color:rgba(230,238,239,.25);box-shadow:0 12px 30px rgba(0,0,0,.28)}
:root[data-theme="dark"] .map-list-card.active{border-color:rgba(200,129,42,.55)}
:root[data-theme="dark"] .map-list-thumb>span,:root[data-theme="dark"] .popover-badge,:root[data-theme="dark"] .drawer-main>span{background:rgba(12,18,22,.88);color:#edf2f1;border-color:var(--line)}
:root[data-theme="dark"] .map-list-copy small,:root[data-theme="dark"] .map-list-copy em,:root[data-theme="dark"] .map-list-copy b i{color:#8fa0a7}

:root[data-theme="dark"] .property-popover,:root[data-theme="dark"] .property-detail-drawer{background:rgba(13,19,23,.985);border-color:var(--line);box-shadow:0 28px 75px rgba(0,0,0,.48)}
:root[data-theme="dark"] .drawer-head{background:linear-gradient(180deg,rgba(13,19,23,.99),rgba(13,19,23,.94) 78%,rgba(13,19,23,0))}
:root[data-theme="dark"] .drawer-close,:root[data-theme="dark"] .drawer-stats span,:root[data-theme="dark"] .drawer-nearby>span{background:#131c21;border-color:var(--line);color:var(--ink)}
:root[data-theme="dark"] .drawer-content>p,:root[data-theme="dark"] .drawer-address,:root[data-theme="dark"] .drawer-price small{color:#a1b0b5}
:root[data-theme="dark"] .drawer-price>span{background:#17251d;color:#9bc3a2}
:root[data-theme="dark"] .drawer-visit{background:#151e22;border-color:var(--line)}
:root[data-theme="dark"] .drawer-thumbs button{background:#10171b;border-color:var(--line)}
:root[data-theme="dark"] .drawer-nearby b{background:#20231f;color:#d9aa66}


:root[data-theme="dark"] .about-card,:root[data-theme="dark"] .contact-card,:root[data-theme="dark"] .booking-card,:root[data-theme="dark"] .filters-panel,:root[data-theme="dark"] .property-card,:root[data-theme="dark"] .intake-form{background:#11191e;border-color:var(--line);box-shadow:0 12px 34px rgba(0,0,0,.18)}
:root[data-theme="dark"] input,:root[data-theme="dark"] select,:root[data-theme="dark"] textarea{background:#0f171b;color:var(--ink);border-color:var(--line-strong)}
:root[data-theme="dark"] input::placeholder,:root[data-theme="dark"] textarea::placeholder{color:#697a82}
:root[data-theme="dark"] .intake-tabs,:root[data-theme="dark"] .contact-choice{border-color:var(--line)}
:root[data-theme="dark"] .intake-tab,:root[data-theme="dark"] .contact-choice button{background:#11191e;color:#b9c5c9;border-color:var(--line)}
:root[data-theme="dark"] .intake-tab.active,:root[data-theme="dark"] .contact-choice button:hover{background:#d9e5e7;color:#0b171c}
:root[data-theme="dark"] .footer{background:#0a0f13;color:#9aabb1;border-color:var(--line)}
:root[data-theme="dark"] .toast{background:#e4ecee;color:#0d171c}

@media (max-width:800px){
  :root[data-theme="dark"] .home-panel{background:rgba(12,18,22,.97);box-shadow:0 18px 46px rgba(0,0,0,.42)}
}


/* ===== v9: review corrections ===== */
/* A clearer, softer dark cartographic treatment: the map is now recoloured in JS
   from the light vector style, so streets and water stay readable instead of collapsing to black. */
:root[data-theme="dark"] .map-stage::after{box-shadow:inset 0 0 90px rgba(0,0,0,.13)}
:root[data-theme="dark"] .compass{background:rgba(18,27,31,.9);border-color:var(--line-strong)}

/* Small visual dividers in the right-hand control rail. */
.map-layer-controls::before{
  content:"";width:24px;height:1px;background:rgba(24,48,64,.2);margin:0 auto 3px;border-radius:999px;display:block
}
.map-layer-controls .layer-chip:nth-of-type(3){margin-top:10px;position:relative}
.map-layer-controls .layer-chip:nth-of-type(3)::before{
  content:"";position:absolute;width:20px;height:1px;left:50%;top:-9px;transform:translateX(-50%);background:rgba(24,48,64,.15);pointer-events:none
}
:root[data-theme="dark"] .map-layer-controls::before,
:root[data-theme="dark"] .map-layer-controls .layer-chip:nth-of-type(3)::before{background:rgba(230,238,239,.19)}

/* Larger property drawer: roughly +25% at normal desktop sizes. */
@media (min-width:1281px){
  .property-detail-drawer{width:min(650px,48vw)}
  .drawer-main{height:365px}
  .map-page.detail-open .map-controls,.map-page.detail-open .map-layer-controls{right:calc(min(650px,48vw) + 30px)}
}
@media (max-width:1280px) and (min-width:1001px){
  .property-detail-drawer{width:min(565px,46vw)}
  .drawer-main{height:315px}
  .map-page.detail-open .map-controls,.map-page.detail-open .map-layer-controls{right:calc(min(565px,46vw) + 30px)}
}
@media (max-width:1000px) and (min-width:801px){
  .property-detail-drawer{width:460px}
  .drawer-main{height:270px}
  .map-page.detail-open .map-controls,.map-page.detail-open .map-layer-controls{right:478px}
}
.drawer-main{cursor:zoom-in;outline:none;transition:box-shadow .18s ease,transform .18s ease}
.drawer-main:hover,.drawer-main:focus-visible{box-shadow:0 0 0 2px rgba(129,92,41,.18),0 10px 26px rgba(18,43,55,.1)}
.drawer-main::after{content:'Agrandir';position:absolute;right:10px;bottom:10px;padding:5px 8px;border-radius:999px;background:rgba(13,31,39,.76);color:#fff;font-size:8px;letter-spacing:.04em;opacity:0;transform:translateY(4px);transition:.18s ease;pointer-events:none}
.drawer-main:hover::after,.drawer-main:focus-visible::after{opacity:1;transform:none}

/* Image preview modal. Closing the modal returns to the open right drawer. */
.property-lightbox{position:absolute;inset:var(--header-h) 0 0;z-index:90;background:rgba(6,10,12,.82);backdrop-filter:blur(12px);display:grid;grid-template-columns:64px minmax(0,1fr) 64px;align-items:center;gap:12px;padding:34px clamp(22px,5vw,74px);opacity:0;pointer-events:none;transition:opacity .2s ease;outline:none}
.property-lightbox.open{opacity:1;pointer-events:auto}
.property-lightbox figure{margin:0;min-width:0;max-width:min(1180px,82vw);max-height:calc(100vh - var(--header-h) - 70px);justify-self:center;display:grid;gap:10px}
.lightbox-image{display:block;max-width:100%;max-height:calc(100vh - var(--header-h) - 118px);width:auto;height:auto;object-fit:contain;border-radius:14px;box-shadow:0 26px 80px rgba(0,0,0,.42);background:#111}
.property-lightbox figcaption{display:flex;align-items:center;justify-content:space-between;gap:20px;color:#eaf0f1;font-size:10px;padding:0 2px}.property-lightbox figcaption small{opacity:.65}
.lightbox-close,.lightbox-nav{border:1px solid rgba(255,255,255,.22);background:rgba(14,22,27,.74);color:#fff;backdrop-filter:blur(10px);cursor:pointer;display:grid;place-items:center;transition:.18s ease}
.lightbox-close:hover,.lightbox-nav:hover{background:rgba(30,43,50,.94);border-color:rgba(255,255,255,.42);transform:scale(1.03)}
.lightbox-close{position:absolute;right:24px;top:22px;width:42px;height:42px;border-radius:50%}.lightbox-close svg{width:18px;height:18px}
.lightbox-nav{width:48px;height:58px;border-radius:12px;font-family:var(--serif);font-size:32px;line-height:1}.lightbox-prev{justify-self:end}.lightbox-next{justify-self:start}
@media (max-width:800px){.property-lightbox{grid-template-columns:42px minmax(0,1fr) 42px;padding:24px 10px}.lightbox-nav{width:38px;height:50px}.lightbox-close{right:12px;top:12px}}

/* Sliding labels for the POI/transit icon rail. */
.layer-chip{position:relative;overflow:visible}
.layer-chip>span{display:block!important;position:absolute;right:calc(100% + 9px);top:50%;transform:translate(9px,-50%);opacity:0;pointer-events:none;white-space:nowrap;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:rgba(253,252,249,.96);backdrop-filter:blur(10px);box-shadow:0 8px 22px rgba(23,45,55,.1);font-size:9px;font-weight:600;color:var(--ink);transition:opacity .16s ease,transform .2s cubic-bezier(.2,.78,.2,1)}
.layer-chip:hover>span,.layer-chip:focus-visible>span{opacity:1;transform:translate(0,-50%)}
:root[data-theme="dark"] .layer-chip>span{background:rgba(18,27,32,.97);color:#edf2f1;border-color:var(--line);box-shadow:0 10px 26px rgba(0,0,0,.34)}

/* Contact form: use the available desktop width instead of leaving an excessive right margin. */
@media (min-width:801px){
  .intake-wrap{max-width:1320px;width:100%}
  .intake-form{gap:42px}
  .intake-tabs{width:100%}
  .form-submit{padding-top:22px}
}

/* Dark-theme brand contrast. Keep a metallic feel on map markers, but lift them out
   of the brown/black range; the header mark becomes clean white. */
:root[data-theme="dark"] .brand img,:root[data-theme="dark"] .about-card-mark img{filter:brightness(0) invert(1)}

/* Filters show the actual chosen value instead of continuing to say Type / Prix /
   Chambres after a selection. */
.filter-chip-text{display:inline-block;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.filter-chip.has-value{border-color:rgba(75,111,128,.42);background:rgba(243,248,248,.96)}
.filter-chip.has-value::after{opacity:.85}
:root[data-theme="dark"] .filter-chip.has-value{background:rgba(28,39,45,.96);border-color:rgba(147,171,181,.44)}

.map-list-tools{display:flex;align-items:center;gap:10px;margin-left:auto}
.home-sort{position:relative;display:flex;align-items:center;gap:6px;height:28px;padding:0 9px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.78);font-size:8px;color:#60737d;cursor:pointer}
.home-sort::after{content:'⌄';font-size:10px;opacity:.58}
.home-sort span{font-weight:600;text-transform:uppercase;letter-spacing:.08em}
.home-sort select{position:absolute;inset:0;width:100%;opacity:0;cursor:pointer}
:root[data-theme="dark"] .home-sort{background:rgba(18,26,31,.92);border-color:var(--line);color:#aab8bd}

/* Fuller, consistent gallery preview. All demo source files are normalized to 3:2. */
.drawer-thumbs{grid-template-columns:repeat(5,minmax(0,1fr))}
.drawer-thumbs button{aspect-ratio:3/2;height:auto;min-height:58px}
.drawer-main img,.map-list-thumb img,.popover-media img{object-position:center center}
.lightbox-image{aspect-ratio:3/2;width:min(1080px,80vw);height:auto;max-height:calc(100vh - var(--header-h) - 118px);object-fit:contain}
@media (max-width:1200px){.drawer-thumbs{grid-template-columns:repeat(4,minmax(0,1fr))}.drawer-thumbs button:nth-child(5){display:none}}
@media (max-width:800px){.drawer-thumbs{grid-template-columns:repeat(3,minmax(0,1fr))}.drawer-thumbs button:nth-child(n+4){display:none}.lightbox-image{width:100%;aspect-ratio:auto}}

/* The contact form should live directly on the page, not reveal the rectangular
   boundary of a darker card in dark mode. */
:root[data-theme="dark"] .intake-form{background:transparent!important;border:0!important;box-shadow:none!important}
:root[data-theme="dark"] .form-submit{border-top-color:rgba(220,231,233,.12)}
@media (min-width:801px){.intake-wrap{max-width:1420px}.intake-form{column-gap:54px}}

/* ===== v12: 19:41 review pass ===== */
/* Custom dropdowns replace the browser-native select popups so the filter UI feels
   intentional and consistent with the rest of CV Location. */
.select-menu{position:relative;pointer-events:auto;z-index:45}
.select-menu-trigger{font:inherit;color:inherit}
.filter-chip.select-menu-trigger{appearance:none;cursor:pointer;justify-content:space-between;min-width:88px;transition:border-color .18s ease,box-shadow .18s ease}
.filter-chip.select-menu-trigger::after,.home-sort.select-menu-trigger::after{display:none!important}
.select-menu-trigger:hover,.select-menu.open .select-menu-trigger{transform:translateY(-1px);border-color:rgba(70,101,115,.35);box-shadow:0 8px 22px rgba(22,45,55,.08)}
.select-menu-value{display:block;max-width:148px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.select-menu-chevron{width:7px;height:7px;border-right:1.3px solid currentColor;border-bottom:1.3px solid currentColor;transform:rotate(45deg) translateY(-2px);transform-origin:center;opacity:.52;transition:transform .18s ease,opacity .18s ease;flex:0 0 auto;margin-left:2px}
.select-menu.open .select-menu-chevron{transform:rotate(225deg) translate(-1px,-1px);opacity:.82}
.select-menu-popover{position:absolute;left:0;top:calc(100% + 8px);min-width:190px;padding:6px;border:1px solid rgba(27,54,67,.14);border-radius:13px;background:rgba(253,252,249,.98);backdrop-filter:blur(18px);box-shadow:0 18px 42px rgba(19,42,52,.16);opacity:0;visibility:hidden;pointer-events:none;transform:translateY(-5px) scale(.985);transform-origin:top left;transition:opacity .14s ease,transform .18s cubic-bezier(.2,.78,.2,1),visibility 0s linear .18s;z-index:120}
.select-menu.open .select-menu-popover{opacity:1;visibility:visible;pointer-events:auto;transform:none;transition-delay:0s}
.select-menu-option{width:100%;min-height:34px;padding:7px 8px 7px 10px;border:0;border-radius:9px;background:transparent;color:#405760;display:grid;grid-template-columns:minmax(0,1fr) 18px;align-items:center;gap:10px;text-align:left;font:inherit;font-size:9.5px;cursor:pointer;transition:background .14s ease,color .14s ease,transform .14s ease}
.select-menu-option span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.select-menu-option i{font-style:normal;opacity:0;transform:scale(.7);color:#8b6430;text-align:center;transition:.14s ease}
.select-menu-option:hover,.select-menu-option:focus-visible{outline:none;background:#eef3f2;color:#18313c}
.select-menu-option.selected{background:#f4f6f3;color:#18313c;font-weight:650}
.select-menu-option.selected i{opacity:1;transform:scale(1)}
.select-menu.has-value .filter-chip{border-color:rgba(87,119,132,.42);background:rgba(245,248,247,.98)}
.sort-menu .select-menu-popover{left:auto;right:0;min-width:180px;transform-origin:top right}
.sort-menu .home-sort{min-width:58px;justify-content:space-between;gap:7px}
.sort-menu .select-menu-value{max-width:92px}
.home-sort.select-menu-trigger{appearance:none}
.filter-row,.map-list-head,.map-list-tools{overflow:visible}

:root[data-theme="dark"] .select-menu-popover{background:rgba(17,25,30,.985);border-color:rgba(225,235,237,.14);box-shadow:0 20px 48px rgba(0,0,0,.48)}
:root[data-theme="dark"] .select-menu-option{color:#aab8bd}
:root[data-theme="dark"] .select-menu-option:hover,:root[data-theme="dark"] .select-menu-option:focus-visible{background:#202c32;color:#f2f6f5}
:root[data-theme="dark"] .select-menu-option.selected{background:#1b272d;color:#f2f6f5}
:root[data-theme="dark"] .select-menu-option.selected i{color:#d5b47b}
:root[data-theme="dark"] .select-menu.has-value .filter-chip{background:rgba(29,41,47,.97);border-color:rgba(172,192,200,.42)}
:root[data-theme="dark"] .select-menu-trigger:hover,:root[data-theme="dark"] .select-menu.open .select-menu-trigger{border-color:rgba(224,233,235,.28);box-shadow:0 10px 25px rgba(0,0,0,.22)}

/* Make the right-side map display toggles unmistakably on/off. */
.layer-chip{opacity:.48;filter:saturate(.55);transition:opacity .16s ease,filter .16s ease,transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}
.layer-chip:hover{opacity:.76;filter:saturate(.85);transform:translateY(-1px)}
.layer-chip.active{opacity:1;filter:none;box-shadow:0 0 0 1px rgba(54,84,96,.10),0 8px 22px rgba(23,45,55,.10)}
.layer-chip.active::after{content:"";position:absolute;right:4px;top:4px;width:5px;height:5px;border-radius:50%;background:#6b8d79;box-shadow:0 0 0 2px rgba(255,255,255,.78)}
:root[data-theme="dark"] .layer-chip{opacity:.38;filter:saturate(.35)}
:root[data-theme="dark"] .layer-chip:hover{opacity:.7;filter:saturate(.75)}
:root[data-theme="dark"] .layer-chip.active{opacity:1;filter:none;background:#e8eeee!important;color:#0d191e!important;border-color:#f5f7f7!important;box-shadow:0 0 0 1px rgba(255,255,255,.16),0 10px 24px rgba(0,0,0,.28)}
:root[data-theme="dark"] .layer-chip.active::after{background:#547b67;box-shadow:0 0 0 2px #e8eeee}

@media (max-width:800px){
  .select-menu-popover{min-width:165px}
  .filter-row .select-menu:last-child .select-menu-popover{left:auto;right:0}
}

/* ===== v13: map navigation + deterministic return polish ===== */
/* The compass now behaves like a real north indicator. */
.compass{padding:0;color:inherit;cursor:pointer;font:inherit;overflow:hidden}
.compass::before{content:none!important}
.compass-rose{position:relative;width:100%;height:100%;display:block;transition:transform .08s linear;transform-origin:50% 50%;pointer-events:none}
.compass-rose b{position:absolute;left:50%;top:3px;transform:translateX(-50%);font-family:var(--serif);font-size:11px;font-weight:600;line-height:1}
.compass-rose i{position:absolute;left:50%;top:14px;width:1px;height:16px;background:currentColor;transform:translateX(-50%);opacity:.82}
.compass-rose i::after{content:"";position:absolute;left:50%;top:-3px;width:5px;height:5px;border-left:1px solid currentColor;border-top:1px solid currentColor;transform:translateX(-50%) rotate(45deg)}
.compass:hover{background:#fff;border-color:var(--line-strong)}
:root[data-theme="dark"] .compass:hover{background:#182229}

/* While Google camera navigation is active, keep transient popovers from intercepting gestures. */
.map-page.map-navigation-active .property-popover{pointer-events:none!important;}

/* ===== v19: VERIFIED stable-map left-side property detail =====
   The property detail truly replaces the LEFT property browser on desktop.
   The map camera is not moved when opening or closing a property. */
@media (min-width:1001px){
  .map-page.detail-open .home-panel{
    transform:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .property-detail-drawer{
    top:var(--header-h)!important;
    left:0!important;
    right:auto!important;
    bottom:0!important;
    width:690px!important;
    border-radius:0!important;
    border-left:0!important;
    border-top:0!important;
    border-bottom:0!important;
    z-index:36!important;
    opacity:0;
    transform:translateX(calc(-100% - 28px))!important;
    background:rgba(253,252,249,.995)!important;
    box-shadow:18px 0 54px rgba(18,43,55,.13)!important;
    transition:transform .34s cubic-bezier(.2,.78,.2,1),opacity .20s ease!important;
  }
  .property-detail-drawer.open{
    opacity:1!important;
    transform:none!important;
    pointer-events:auto!important;
  }
  .property-detail-drawer::after{
    content:"";
    position:fixed;
    top:var(--header-h);
    left:690px;
    width:70px;
    bottom:0;
    background:linear-gradient(90deg,rgba(253,252,249,.22),rgba(253,252,249,0));
    pointer-events:none;
  }
  .drawer-head{padding:20px 28px 14px}
  .drawer-gallery{padding:0 26px 16px}
  .drawer-main{height:330px!important}
  .drawer-thumbs button{height:78px}
  .drawer-content{padding:0 28px 34px}
  .map-page.detail-open .map-controls{right:18px!important}
  .map-page.detail-open .map-layer-controls{right:18px!important}
}
@media (max-width:1000px) and (min-width:801px){
  .map-page.detail-open .home-panel{
    transform:none!important;
    opacity:0!important;
    visibility:hidden!important;
    pointer-events:none!important;
  }
  .property-detail-drawer{
    top:var(--header-h)!important;
    left:0!important;
    right:auto!important;
    bottom:0!important;
    width:590px!important;
    border-radius:0!important;
    border-left:0!important;
    border-top:0!important;
    border-bottom:0!important;
    z-index:36!important;
    opacity:0;
    transform:translateX(calc(-100% - 28px))!important;
    background:rgba(253,252,249,.995)!important;
    box-shadow:18px 0 54px rgba(18,43,55,.13)!important;
    transition:transform .34s cubic-bezier(.2,.78,.2,1),opacity .20s ease!important;
  }
  .property-detail-drawer.open{
    opacity:1!important;
    transform:none!important;
    pointer-events:auto!important;
  }
  .property-detail-drawer::after{
    content:"";
    position:fixed;
    top:var(--header-h);
    left:590px;
    width:60px;
    bottom:0;
    background:linear-gradient(90deg,rgba(253,252,249,.22),rgba(253,252,249,0));
    pointer-events:none;
  }
  .drawer-head{padding:18px 22px 12px}
  .drawer-gallery{padding:0 20px 14px}
  .drawer-main{height:270px!important}
  .drawer-thumbs button{height:68px}
  .drawer-content{padding:0 22px 30px}
  .map-page.detail-open .map-controls{right:18px!important}
  .map-page.detail-open .map-layer-controls{right:18px!important}
}
:root[data-theme="dark"] .property-detail-drawer{
  background:rgba(13,19,23,.997)!important;
  box-shadow:18px 0 58px rgba(0,0,0,.38)!important;
}
:root[data-theme="dark"] .property-detail-drawer::after{
  background:linear-gradient(90deg,rgba(13,19,23,.25),rgba(13,19,23,0));
}

/* ===== v21: owner presentation page, password gate, locale toggle ===== */
.header-tools{display:flex;align-items:center;gap:10px;margin-left:18px}
.lang-toggle{height:34px;padding:0 12px;border:1px solid var(--line-strong);border-radius:999px;background:rgba(255,255,255,.72);display:inline-flex;align-items:center;gap:7px;font-size:10px;cursor:pointer;transition:.18s ease;letter-spacing:.06em}
.lang-toggle:hover{background:#fff;transform:translateY(-1px)}
.lang-toggle span{opacity:.55}.lang-toggle .active{opacity:1;font-weight:700}
.mobile-menu-tools{display:none}
.map-notice-popup{margin-top:10px;display:flex;align-items:flex-start;justify-content:space-between;gap:12px;border:1px solid rgba(18,40,50,.12);background:rgba(255,255,255,.72);border-radius:14px;padding:12px 13px;box-shadow:0 8px 26px rgba(18,43,55,.05)}
.map-notice-popup strong{display:block;font-size:10px;margin-bottom:4px;letter-spacing:.05em;text-transform:uppercase;color:#233b46}.map-notice-popup p{margin:0;font-size:10px;line-height:1.45;color:#5b7079}.map-notice-popup button{width:26px;height:26px;border-radius:50%;border:0;background:rgba(18,40,50,.06);cursor:pointer;font-size:16px;line-height:1}


:root[data-theme="dark"] .lang-toggle{background:rgba(19,27,32,.92);color:#dbe4e6;border-color:var(--line)}
:root[data-theme="dark"] .lang-toggle:hover{background:#182229;border-color:var(--line-strong)}
@media (max-width:1000px){.header-tools{margin-left:auto}.nav{gap:18px}}
@media (max-width:800px){.header-tools{display:none}.mobile-menu-tools{display:flex;align-items:center;gap:10px;padding-top:12px}}
@media (max-width:560px){.map-notice-popup{padding:11px 12px}}

/* ==========================================================================
   v33 — owner page rebuilt against the mockup + recorded QA.
   Uses the normal CV Location header scale; three distinct scroll stages;
   tighter editorial typography; light-blue CV Location accent; no stacked
   legacy owner overrides.
   ========================================================================== */

.owner-v33{
  --o-bg:var(--paper);--o-surface:var(--paper-2);--o-card:color-mix(in srgb,var(--paper-2) 94%,transparent);--o-solid:var(--paper-2);
  --o-text:var(--ink);--o-muted:var(--muted);--o-line:var(--line);
  --o-blue:var(--ink-2);--o-blue-soft:var(--blue);--o-warm:var(--bronze-soft);
  padding-top:var(--header-h);min-height:100vh;background:var(--o-bg);color:var(--o-text);
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;overflow-x:clip;overflow-y:visible
}
:root[data-theme="dark"] .owner-v33{
  --o-bg:var(--paper);--o-surface:var(--paper-2);--o-card:rgba(17,24,29,.93);--o-solid:var(--paper-2);
  --o-text:var(--ink);--o-muted:var(--muted);--o-line:var(--line);
  --o-blue:var(--ink-2);--o-blue-soft:var(--blue);--o-warm:var(--bronze-soft)
}
.owner-v33 *{box-sizing:border-box}
.owner-v33 .owner-icon{display:block!important;flex:0 0 auto!important}
.v33-shell{width:calc(100% - 84px);max-width:1480px;margin:0 auto}
.v33-kicker{font-size:10px;line-height:1;text-transform:uppercase;letter-spacing:.22em;font-weight:600;color:var(--o-warm);white-space:nowrap}

/* FIRST VIEWPORT */
.v33-stage-one{height:auto;min-height:0;display:block;background:var(--o-bg)}
.v33-hero{height:801px;min-height:640px;max-height:none;position:relative;overflow:hidden;border-bottom:1px solid var(--o-line);background:var(--o-bg)}
.v33-hero-media{position:absolute;left:34%;right:0;top:0;bottom:0;overflow:hidden}
.v33-hero-media img{width:100%;height:100%;display:block;object-fit:cover;object-position:center center;transform:scale(1.015)}
:root[data-theme="dark"] .v33-hero-media img{filter:saturate(.82) brightness(.72) contrast(1.06)}
.v33-hero-gradient{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,#f7f5ef 0%,#f7f5ef 25%,rgba(247,245,239,.98) 36%,rgba(247,245,239,.84) 45%,rgba(247,245,239,.28) 56%,rgba(247,245,239,0) 69%)}
:root[data-theme="dark"] .v33-hero-gradient{background:linear-gradient(90deg,var(--paper) 0%,var(--paper) 25%,color-mix(in srgb,var(--paper) 99%,transparent) 36%,color-mix(in srgb,var(--paper) 88%,transparent) 45%,color-mix(in srgb,var(--paper) 38%,transparent) 56%,transparent 69%)}
.v33-hero-layout{height:100%;max-height:100%;position:relative}
.v33-hero-copy{position:absolute;left:38px;top:12%;width:min(41%,610px);z-index:2}
.v33-hero-copy h1{margin:17px 0 18px;font-family:'EB Garamond','GFS Didot',Georgia,serif;font-weight:400;font-size:clamp(52px,4.15vw,70px);line-height:.92;letter-spacing:-.024em;color:var(--o-text)}
.v33-hero-copy>p{margin:0;max-width:560px;font-size:clamp(12px,.96vw,15px);line-height:1.58;color:var(--o-text);opacity:.96}
.v33-hero-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-top:26px}
.v33-pill{height:46px;padding:0 20px;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;gap:10px;font-size:10px;line-height:1;text-decoration:none;white-space:nowrap;cursor:pointer}
.v33-pill-primary{background:var(--ink);color:var(--paper-2);border:1px solid var(--ink)}
:root[data-theme="dark"] .v33-pill-primary{background:var(--ink);border-color:var(--ink);color:var(--paper)}
.v33-pill svg{width:13px!important;height:13px!important}

.v33-goodhands{position:absolute;right:8px;top:14%;width:24%;min-width:300px;padding:24px 24px 24px;border-radius:18px;background:rgba(17,27,34,.95);border:1px solid rgba(255,255,255,.13);box-shadow:0 20px 52px rgba(0,0,0,.20);backdrop-filter:blur(12px);color:#f7f6f3;z-index:3}
:root:not([data-theme="dark"]) .v33-goodhands{background:rgba(255,255,255,.96);border-color:rgba(21,37,45,.11);box-shadow:0 20px 52px rgba(36,46,50,.13);color:#17242c}
.v33-goodhands-icon{width:34px;height:34px;border-radius:9px;display:grid;place-items:center;background:var(--o-blue-soft);border:1px solid color-mix(in srgb,var(--o-blue) 42%,transparent);color:var(--o-blue)}
.v33-goodhands-icon svg{width:18px!important;height:18px!important}
.v33-goodhands h2{margin:13px 0 15px;font-family:'EB Garamond','GFS Didot',Georgia,serif;font-weight:400;font-size:clamp(22px,2.2vw,32px);line-height:.96}
.v33-goodhands ul{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.v33-goodhands li{display:flex;align-items:center;gap:10px;font-size:clamp(9px,.73vw,12px);line-height:1.22;white-space:nowrap}
.v33-goodhands li b{width:20px;height:20px;border-radius:50%;display:grid;place-items:center;background:var(--ink-2);color:var(--paper);flex:0 0 auto}
.v33-goodhands li b svg{width:9px!important;height:9px!important}
:root:not([data-theme="dark"]) .v33-goodhands li b{background:var(--ink);color:var(--paper-2)}

/* Owner process rail + guided process interaction (v48). */
.owner-flowbar{
  width:min(691px,calc(100% - 48px));
  height:64px;
  margin:6px auto 20px;
  padding:0 12px;
  border:1px solid var(--o-line);
  border-radius:13px;
  background:color-mix(in srgb,var(--o-surface) 91%,transparent);
  backdrop-filter:blur(14px) saturate(.9);
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr) 10px) minmax(0,1fr);
  align-items:center;
  position:sticky;
  top:calc(var(--header-h) + 8px);
  z-index:80;
  box-shadow:0 12px 28px rgba(0,0,0,.08);
}
.owner-flowbar__step{
  appearance:none;border:0;background:transparent;padding:0;margin:0;
  height:56px;min-width:0;display:grid;grid-template-rows:24px 8px 13px;
  align-content:center;justify-items:center;align-items:center;color:var(--o-text);text-align:center;cursor:pointer;
  transition:color .22s ease,filter .22s ease;
}
.owner-flowbar__icon{width:25px;height:25px;display:grid;place-items:center;color:var(--o-blue);transition:color .22s ease,transform .22s ease}
.owner-flowbar__icon svg{width:21px!important;height:21px!important}
.owner-flowbar__num{font-size:6.5px;line-height:7px;letter-spacing:.05em;color:var(--o-muted);align-self:end;transition:color .22s ease}
.owner-flowbar__label{font-size:8.8px;line-height:11px;font-weight:600;color:var(--o-text);white-space:nowrap;align-self:start;transition:color .22s ease}
.owner-flowbar__step.is-active .owner-flowbar__icon,.owner-flowbar__step.is-active .owner-flowbar__num,.owner-flowbar__step.is-active .owner-flowbar__label{color:var(--o-warm)}
.owner-flowbar__step.is-active .owner-flowbar__icon{filter:drop-shadow(0 0 7px color-mix(in srgb,var(--o-warm) 32%,transparent));transform:translateY(-1px)}
.owner-flowbar__arrow{width:10px;height:22px;display:grid;place-items:center;color:var(--o-muted);opacity:.38}
.owner-flowbar__arrow svg{width:8px!important;height:8px!important}

/* SECOND VIEWPORT */
.v33-process{width:calc(100% - 76px);max-width:none;height:auto;min-height:0;display:grid;grid-template-columns:25% 6% minmax(0,38%) 4% minmax(0,27%);padding:30px 0 46px;align-items:start;justify-items:start;scroll-margin-top:calc(var(--header-h) + 90px)}
.v33-process-intro{grid-column:1;padding-top:10px;position:sticky;top:calc(var(--header-h) + 88px);align-self:start;justify-self:start;width:100%;max-width:455px;min-width:0}
.v33-process-intro h2{margin:14px 0 20px;max-width:455px;font-family:'EB Garamond','GFS Didot',Georgia,serif;font-weight:400;font-size:40px;line-height:.94;letter-spacing:-.018em;color:var(--o-text)}
.v33-process-intro p{margin:0;max-width:420px;font-size:clamp(12px,.86vw,14px);line-height:1.62;color:var(--o-text);opacity:.92}
.v33-timeline{grid-column:3;width:100%;min-width:0;height:auto;min-height:0;position:relative;display:flex;flex-direction:column;gap:10px;justify-self:stretch}
.v33-timeline::before{content:"";position:absolute;left:-41px;top:32px;bottom:32px;border-left:1px dashed color-mix(in srgb,var(--o-blue) 55%,transparent)}

.v48-process-step{position:relative;min-width:0;border:1px solid var(--o-line);border-radius:14px;background:var(--o-card);overflow:visible;transition:border-color .24s ease,box-shadow .24s ease,background .24s ease}
.v48-process-step.is-active{border-color:color-mix(in srgb,var(--o-warm) 72%,var(--o-line));box-shadow:0 0 0 1px color-mix(in srgb,var(--o-warm) 16%,transparent),0 12px 30px rgba(0,0,0,.07)}
.v33-node{position:absolute;left:-58px;top:15px;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,var(--o-blue) 13%,var(--o-solid));border:1px solid color-mix(in srgb,var(--o-blue) 36%,transparent);font-size:10px;color:var(--o-text);z-index:2;transition:background .22s ease,border-color .22s ease,color .22s ease,box-shadow .22s ease}
.v48-process-step.is-active .v33-node{background:var(--o-warm);border-color:var(--o-warm);color:var(--paper);box-shadow:0 0 16px color-mix(in srgb,var(--o-warm) 26%,transparent)}
.v48-step-head{width:100%;min-height:64px;border:0;background:transparent;color:inherit;display:grid;grid-template-columns:50px 150px minmax(0,1fr) 22px;align-items:center;padding:9px 14px 9px 12px;column-gap:10px;text-align:left;cursor:pointer}
.v33-row-icon{width:38px;height:38px;display:grid;place-items:center;color:var(--o-blue);transition:color .22s ease}
.v33-row-icon svg{width:25px!important;height:25px!important}
.v48-process-step.is-active .v33-row-icon{color:var(--o-warm)}
.v48-step-title{font-weight:600;font-size:13.5px;line-height:1.08;color:var(--o-text);white-space:nowrap}
.v48-step-copy{font-size:10.5px;line-height:1.42;color:var(--o-muted);min-width:0}
.v48-step-caret{display:grid;place-items:center;color:var(--o-muted);transform:rotate(0deg);transition:transform .22s ease,color .22s ease}
.v48-process-step.is-open .v48-step-caret{transform:rotate(90deg)}.v48-process-step.is-active .v48-step-caret{color:var(--o-warm)}
.v48-step-body{display:grid;grid-template-rows:0fr;opacity:0;transition:grid-template-rows .34s cubic-bezier(.2,.8,.2,1),opacity .24s ease;border-top:1px solid transparent}
.v48-process-step.is-open .v48-step-body{grid-template-rows:1fr;opacity:1;border-top-color:var(--o-line)}
.v48-step-body-inner{min-height:0;overflow:hidden;padding:0 16px}
.v48-process-step.is-open .v48-step-body-inner{padding:18px 16px 20px}

.v48-detail-grid{display:grid;grid-template-columns:minmax(190px,31%) minmax(0,1fr);gap:18px;align-items:start}
.v48-detail-copy h4{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:19px;font-weight:500;line-height:1.08;margin:0 0 8px;color:var(--o-text)}
.v48-detail-copy p{margin:0;color:var(--o-muted);font-size:10px;line-height:1.55}
.v48-tile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.v48-tile-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}
.v48-detail-tile{min-height:76px;border:1px solid var(--o-line);border-radius:10px;padding:11px;display:grid;grid-template-columns:28px 1fr;gap:9px;align-items:start;background:color-mix(in srgb,var(--o-solid) 28%,transparent)}
.v48-detail-icon{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:color-mix(in srgb,var(--o-warm) 10%,transparent);color:var(--o-warm)}
.v48-detail-tile strong{display:block;font-size:10px;color:var(--o-text);margin-bottom:3px}.v48-detail-tile small{display:block;font-size:8.5px;line-height:1.35;color:var(--o-muted)}

.v48-marketing-detail,.v48-visits-detail,.v48-applications-detail,.v48-decision-detail,.v48-lease-detail{display:grid;gap:14px}
.v48-service-pills{display:flex;flex-wrap:wrap;gap:7px}.v48-service-pills span{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--o-line);border-radius:999px;padding:6px 9px;font-size:8.5px;color:var(--o-muted)}.v48-service-pills svg{color:var(--o-warm)}
.v48-before-after{display:grid;grid-template-columns:1fr 1fr;gap:8px}.v48-visual{position:relative;margin:0;height:190px;overflow:hidden;border-radius:11px;border:1px solid var(--o-line);background:var(--o-solid)}.v48-visual img{width:100%;height:100%;object-fit:cover}.v48-before img{filter:none}.v48-visual figcaption{position:absolute;top:9px;left:9px;padding:5px 8px;border-radius:999px;background:rgba(7,17,23,.82);color:#fff;font-size:8px}.v48-after figcaption{left:auto;right:9px;background:var(--o-warm);color:#17242c}

.v48-visit-board{display:grid;grid-template-columns:1.08fr .92fr;gap:10px}.v48-mini-calendar,.v48-upcoming{border:1px solid var(--o-line);border-radius:11px;padding:12px;background:color-mix(in srgb,var(--o-solid) 25%,transparent)}
.v51-visit-board{grid-template-columns:minmax(0,1.06fr) minmax(220px,.94fr);gap:12px}
.v51-calendar{padding:14px 14px 12px}
.v51-calendar-toolbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.v51-calendar-toolbar strong{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:16px;font-weight:500;color:var(--o-text)}
.v51-calendar-nav{display:flex;gap:5px}.v51-calendar-nav span{width:24px;height:24px;border:1px solid var(--o-line);border-radius:7px;display:grid;place-items:center;font-size:15px;line-height:1;color:var(--o-muted)}
.v51-calendar-weekdays,.v51-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));text-align:center}.v51-calendar-weekdays{gap:3px;padding:0 2px 5px;border-bottom:1px solid color-mix(in srgb,var(--o-line) 75%,transparent)}.v51-calendar-weekdays span{font-size:6.8px;line-height:1;text-transform:uppercase;letter-spacing:.05em;color:var(--o-muted)}
.v51-calendar-grid{gap:3px;padding-top:6px}.v51-calendar-grid>span{position:relative;height:27px;border-radius:8px;display:grid;place-items:center;font-size:8.4px;color:var(--o-text);border:1px solid transparent}.v51-calendar-grid>span.is-outside{opacity:.28}.v51-calendar-grid>span.has-visit{color:var(--o-warm);background:color-mix(in srgb,var(--o-warm) 7%,transparent)}.v51-calendar-grid>span.has-visit i{position:absolute;bottom:3px;width:3px;height:3px;border-radius:50%;background:var(--o-warm)}.v51-calendar-grid>span.is-selected{border-color:color-mix(in srgb,var(--o-warm) 65%,var(--o-line));background:color-mix(in srgb,var(--o-warm) 14%,transparent);box-shadow:0 0 12px color-mix(in srgb,var(--o-warm) 12%,transparent)}
.v51-calendar-legend{display:flex;align-items:center;gap:6px;margin-top:9px;padding-top:9px;border-top:1px solid color-mix(in srgb,var(--o-line) 72%,transparent);font-size:7.5px;color:var(--o-muted)}.v51-calendar-legend i{width:5px;height:5px;border-radius:50%;background:var(--o-warm);box-shadow:0 0 8px color-mix(in srgb,var(--o-warm) 30%,transparent)}
.v51-upcoming{padding:14px;display:grid;align-content:start;gap:0}.v51-upcoming-head{display:flex;align-items:end;justify-content:space-between;gap:10px;padding-bottom:10px}.v51-upcoming-head strong{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:16px;font-weight:500;color:var(--o-text)}.v51-upcoming-head>span{font-size:7.5px;color:var(--o-muted);text-align:right}.v51-visit-slot{display:grid!important;grid-template-columns:46px minmax(0,1fr)!important;gap:10px!important;align-items:center;padding:9px 0!important;border-top:1px solid var(--o-line)!important}.v51-visit-slot>b{height:44px;border:1px solid color-mix(in srgb,var(--o-warm) 24%,var(--o-line));border-radius:9px;display:grid;place-items:center;align-content:center;gap:0;background:color-mix(in srgb,var(--o-warm) 6%,transparent);color:var(--o-warm)!important}.v51-visit-slot>b strong{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:16px;line-height:.8;font-weight:500}.v51-visit-slot>b small{font-size:5.8px;line-height:1.1;letter-spacing:.06em}.v51-visit-slot>span{display:grid;gap:3px;color:var(--o-text)!important}.v51-visit-slot>span strong{font-size:9px;font-weight:600;color:var(--o-text)}.v51-visit-slot>span small{font-size:7.5px;color:var(--o-muted)}

.v48-application-list{display:grid;gap:7px}.v48-app-row{border:1px solid var(--o-line);border-radius:10px;padding:9px 11px;display:grid;grid-template-columns:78px 96px 1fr;gap:10px;align-items:center}.v48-app-row strong{font-size:10px}.v48-app-row small{font-size:8.5px;line-height:1.35;color:var(--o-muted)}
.v48-status{display:inline-flex;width:max-content;align-items:center;border:1px solid var(--o-line);border-radius:999px;padding:4px 7px;font-size:7.5px;color:var(--o-muted)}.v48-status.is-complete,.v48-status.is-ready{border-color:color-mix(in srgb,var(--o-warm) 34%,var(--o-line));color:var(--o-warm);background:color-mix(in srgb,var(--o-warm) 8%,transparent)}

.v48-candidate-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.v48-candidate-card{border:1px solid var(--o-line);border-radius:11px;padding:11px;display:grid;gap:7px;min-width:0;background:color-mix(in srgb,var(--o-solid) 24%,transparent)}.v48-candidate-card strong{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:15px;font-weight:500}.v48-candidate-card small{font-size:8px;color:var(--o-warm)}.v48-candidate-card span{font-size:8.5px;color:var(--o-muted);padding-top:5px;border-top:1px solid var(--o-line)}.v48-candidate-card button{height:30px;border:1px solid var(--o-line);border-radius:8px;background:transparent;color:var(--o-text);font-size:8px;cursor:pointer}

.v48-lease-flow{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.v48-lease-flow span{position:relative;display:grid;justify-items:center;gap:5px;text-align:center;color:var(--o-muted);font-size:8px}.v48-lease-flow span::after{content:"";position:absolute;top:15px;left:68%;right:-32%;height:1px;background:var(--o-line)}.v48-lease-flow span:last-child::after{display:none}.v48-lease-flow svg{width:30px!important;height:30px!important;padding:7px;border-radius:50%;border:1px solid var(--o-line);background:var(--o-solid)}.v48-lease-flow .is-done{color:var(--o-warm)}.v48-lease-flow .is-done svg{border-color:color-mix(in srgb,var(--o-warm) 48%,var(--o-line));background:color-mix(in srgb,var(--o-warm) 10%,var(--o-solid))}.v48-lease-flow b{font-weight:500}
.v48-document-preview{border:1px solid var(--o-line);border-radius:11px;padding:12px;display:grid;grid-template-columns:90px 1fr;gap:14px;align-items:center;background:color-mix(in srgb,var(--o-solid) 24%,transparent)}.v48-paper{height:112px;background:#f5f2e9;color:#26343b;border-radius:5px;padding:11px;display:grid;align-content:start;gap:7px;box-shadow:0 8px 20px rgba(0,0,0,.13)}.v48-paper strong{font-size:7px;text-align:center}.v48-paper i{display:block;height:3px;background:rgba(38,52,59,.19);border-radius:2px}.v48-document-preview h5{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:17px;font-weight:500;margin:0 0 5px}.v48-document-preview p{font-size:8.8px;line-height:1.4;color:var(--o-muted);margin:0 0 8px}

.v33-decisions{grid-column:5;height:auto;min-height:0;max-height:none;border:1px solid var(--o-line);border-radius:16px;background:var(--o-card);padding:28px 22px 22px;overflow:hidden;align-self:start;justify-self:start;position:sticky;top:calc(var(--header-h) + 88px);width:min(502px,100%);max-width:563px;min-width:0}
.v33-decisions h2{margin:0 0 14px;font-family:'EB Garamond','GFS Didot',Georgia,serif;font-weight:400;font-size:40px;line-height:.94;letter-spacing:-.018em;color:var(--o-text);white-space:nowrap}
.v33-decisions>p{margin:0 0 14px;width:100%;max-width:453px;font-size:11.5px;line-height:1.5;color:var(--o-text);opacity:.9}
.v33-decision-list{display:grid}.v33-decision-item{display:grid;grid-template-columns:38px 1fr;gap:12px;align-items:center;padding:12px 9px;border-top:1px solid var(--o-line);border-radius:9px;transition:background .22s ease,box-shadow .22s ease,color .22s ease}.v33-decision-icon{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--o-blue-soft);color:var(--o-blue);transition:background .22s ease,color .22s ease,box-shadow .22s ease}.v33-decision-icon svg{width:15px!important;height:15px!important}.v33-decision-item span{display:grid;gap:2px;min-width:0}.v33-decision-item strong{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-weight:500;font-size:15px;line-height:1;color:var(--o-text)}.v33-decision-item small{font-size:10px;line-height:1.34;color:var(--o-muted)}
.v33-decision-item.is-active{background:color-mix(in srgb,var(--o-warm) 7%,transparent);box-shadow:inset 2px 0 var(--o-warm)}.v33-decision-item.is-active .v33-decision-icon{color:var(--o-warm);background:color-mix(in srgb,var(--o-warm) 12%,transparent);box-shadow:0 0 14px color-mix(in srgb,var(--o-warm) 18%,transparent)}


/* OWNER CTA BETWEEN PROCESS + MAP (v51) */
.v51-owner-cta{position:relative;border-top:1px solid var(--o-line);border-bottom:1px solid var(--o-line);background:linear-gradient(90deg,color-mix(in srgb,var(--o-surface) 96%,transparent),color-mix(in srgb,var(--o-bg) 96%,transparent));overflow:hidden}
.v51-owner-cta::before{content:"";position:absolute;left:50%;top:0;width:min(520px,42vw);height:1px;transform:translateX(-50%);background:linear-gradient(90deg,transparent,var(--o-warm),transparent);opacity:.58}
.v51-owner-cta-inner{min-height:168px;display:flex;align-items:center;justify-content:space-between;gap:44px;padding-top:30px;padding-bottom:30px}
.v51-owner-cta-copy{max-width:760px}.v51-owner-cta-copy .v33-kicker{margin-bottom:10px}.v51-owner-cta-copy h2{margin:0 0 8px;font-family:'EB Garamond','GFS Didot',Georgia,serif;font-weight:400;font-size:clamp(30px,2.6vw,46px);line-height:.98;letter-spacing:-.018em;color:var(--o-text)}.v51-owner-cta-copy p{margin:0;max-width:660px;font-size:11px;line-height:1.55;color:var(--o-muted)}
.v51-owner-cta-button{flex:0 0 auto;min-width:154px;justify-content:center}


/* THIRD VIEWPORT / MAP */
.v33-map-preview{height:54vh;min-height:455px;position:relative;overflow:hidden;border-top:1px solid var(--o-line);background:#e7e5df}
.v33-map-live{position:absolute;inset:-20px;z-index:0}
.v33-map-live .google-map-element{filter:saturate(.78) contrast(.98) brightness(1.02)}
:root[data-theme="dark"] .v33-map-live .google-map-element{filter:saturate(.74) brightness(.65) contrast(1.16)}
.v33-map-gradient{position:absolute;inset:0;z-index:1;pointer-events:none;background:linear-gradient(90deg,rgba(247,245,239,.96) 0%,rgba(247,245,239,.77) 22%,rgba(247,245,239,.17) 45%,rgba(247,245,239,0) 64%)}
:root[data-theme="dark"] .v33-map-gradient{background:linear-gradient(90deg,rgba(7,17,23,.96) 0%,rgba(7,17,23,.78) 22%,rgba(7,17,23,.20) 45%,rgba(7,17,23,0) 64%)}
.v33-map-marker{width:37px;height:37px;border-radius:50% 50% 50% 7px;transform:rotate(-45deg);display:grid;place-items:center;background:rgba(255,255,255,.94);border:1px solid rgba(88,132,151,.30);color:var(--o-blue);box-shadow:0 6px 16px rgba(0,0,0,.13)}
.v33-map-marker svg{transform:rotate(45deg);width:16px!important;height:16px!important}.v33-map-marker.accent{color:#b48a2d;border-color:rgba(185,140,45,.48)}
:root[data-theme="dark"] .v33-map-marker{background:rgba(31,40,48,.94);border-color:rgba(225,231,235,.22);color:#a9cede}:root[data-theme="dark"] .v33-map-marker.accent{color:#efc471}
.v33-map-layout{height:100%;position:relative;z-index:2;display:grid;grid-template-columns:30% 40% 30%;align-items:center;pointer-events:none;padding-top:8px}
.v33-map-copy{grid-column:1;padding-left:0;pointer-events:auto}
.v33-map-copy h2{margin:15px 0 12px;font-family:'EB Garamond','GFS Didot',Georgia,serif;font-weight:400;font-size:clamp(38px,3.6vw,54px);line-height:.92;color:var(--o-text)}
.v33-map-copy p{margin:0;max-width:330px;font-size:11px;line-height:1.55;color:var(--o-text);opacity:.92}
.v33-access{grid-column:2;justify-self:center;width:min(340px,28vw);min-height:288px;border:1px solid rgba(28,39,46,.11);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 20px 50px rgba(25,34,41,.15);padding:24px 20px 20px;text-align:center;z-index:4;color:#17242c;position:relative;pointer-events:auto;transition:opacity .16s ease,transform .16s ease}
:root[data-theme="dark"] .v33-access{background:rgba(20,29,37,.96);border-color:rgba(222,230,236,.15);color:#eef2f4;box-shadow:0 20px 50px rgba(0,0,0,.28)}
.v33-access.is-dismissed{opacity:0;transform:translateY(8px);pointer-events:none}.v33-access-close{position:absolute;right:12px;top:10px;border:0;background:none;color:inherit;font-size:22px;line-height:1;cursor:pointer;opacity:.72}
.v33-lock{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;margin:0 auto 12px;color:var(--o-blue);background:var(--o-blue-soft)}
.v33-lock svg{width:19px!important;height:19px!important}
.v33-access h3{margin:0 0 8px;font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:25px;font-weight:500}.v33-access>p{margin:0 auto 15px;max-width:260px;font-size:10px;line-height:1.45;opacity:.85}
.v33-access label{height:42px;border:1px solid rgba(29,43,50,.18);border-radius:9px;display:flex;align-items:center;margin-bottom:9px;overflow:hidden;background:rgba(255,255,255,.72)}
:root[data-theme="dark"] .v33-access label{background:rgba(10,16,21,.58);border-color:rgba(220,229,235,.18)}
.v33-access input{border:0;background:transparent;outline:0;flex:1;min-width:0;padding:0 10px;color:inherit;font-size:10px}.v33-eye{border:0;background:none;color:inherit;width:38px;height:100%;display:grid;place-items:center;cursor:pointer;opacity:.68}.v33-eye svg{width:14px!important;height:14px!important}
.v33-access-submit{height:42px;width:100%;border:0;border-radius:9px;background:#102b37;color:#fff;font-size:10px;cursor:pointer}:root[data-theme="dark"] .v33-access-submit{background:#0d1419;border:1px solid rgba(255,255,255,.28)}.v33-access-error{font-size:9px;color:#bd4949;margin-top:6px}

@media (max-width:1100px) and (min-width:761px){
  .v33-shell{width:calc(100% - 48px)}.v33-hero-copy{left:16px;top:11%;width:46%}.v33-goodhands{top:14%;width:28%;min-width:260px}.v33-process{width:calc(100% - 48px);grid-template-columns:27% 6% minmax(0,67%);column-gap:0}.v33-process-intro{grid-column:1;top:calc(var(--header-h) + 88px)}.v33-timeline{grid-column:3}.v33-decisions{grid-column:3;position:static;top:auto;width:100%;max-width:none;margin-top:22px}.v48-step-head{grid-template-columns:44px 120px minmax(0,1fr) 20px}.v48-detail-grid{grid-template-columns:1fr}.v48-tile-grid--3{grid-template-columns:repeat(2,minmax(0,1fr))}.v48-candidate-cards{grid-template-columns:1fr}.v48-before-after{grid-template-columns:1fr 1fr}.v51-owner-cta-inner{gap:26px}.v51-owner-cta-copy{max-width:620px}
}
@media (max-width:760px){
  .owner-v33{overflow:visible}.v33-shell{width:calc(100% - 24px)}
  .v33-stage-one{height:auto;min-height:0;display:block}.v33-hero{height:auto;min-height:570px}.v33-hero-media{left:0;inset:0}.v33-hero-media img{object-position:58% center}.v33-hero-gradient{background:linear-gradient(180deg,rgba(247,245,239,.34),rgba(247,245,239,.93) 48%,#f7f5ef 74%)}:root[data-theme="dark"] .v33-hero-gradient{background:linear-gradient(180deg,rgba(7,17,23,.40),rgba(7,17,23,.93) 48%,#071117 74%)}
  .v33-hero-layout{height:auto;padding:32px 8px 26px}.v33-hero-copy{position:relative;left:auto;top:auto;width:auto}.v33-hero-copy h1{font-size:44px}.v33-hero-copy>p{font-size:12px}.v33-hero-actions{gap:10px}.v33-goodhands{position:relative;right:auto;top:auto;width:100%;min-width:0;margin-top:24px}
  .owner-flowbar{position:static;width:calc(100% - 24px);height:58px;display:flex;overflow-x:auto;gap:4px;padding:4px 7px;margin:10px auto 12px}.owner-flowbar__step{flex:0 0 74px;height:48px;grid-template-rows:20px 7px 11px}.owner-flowbar__arrow{display:none}
  .v33-process{height:auto;min-height:0;grid-template-columns:1fr;padding:24px 0;row-gap:22px}.v33-process-intro,.v33-timeline,.v33-decisions{grid-column:1}.v33-process-intro{position:static;top:auto}.v33-decisions{position:static;top:auto;width:100%;max-width:none}.v33-process-intro h2{max-width:none;font-size:40px}.v33-process-intro p{max-width:none;font-size:11px}.v33-timeline{margin-left:30px;gap:7px}.v33-timeline::before{left:-20px}.v33-node{left:-34px;top:17px;width:24px;height:24px}.v48-step-head{grid-template-columns:32px minmax(0,1fr) 20px;grid-template-rows:auto auto;min-height:62px}.v48-step-title{font-size:12px}.v48-step-copy{grid-column:2;font-size:9px}.v48-step-caret{grid-column:3;grid-row:1/3}.v48-detail-grid{grid-template-columns:1fr}.v48-tile-grid,.v48-tile-grid--3{grid-template-columns:1fr 1fr}.v48-before-after,.v48-visit-board,.v48-candidate-cards{grid-template-columns:1fr}.v51-visit-board{grid-template-columns:1fr}.v48-visual{height:180px}.v48-app-row{grid-template-columns:72px 90px 1fr}.v48-lease-flow{grid-template-columns:repeat(2,1fr);row-gap:16px}.v48-lease-flow span::after{display:none}.v33-decisions{height:auto;min-height:0;max-height:none}
  .v33-map-preview{height:520px}.v33-map-layout{grid-template-columns:1fr;align-content:start;padding-top:30px;gap:20px}.v33-map-copy,.v33-access{grid-column:1}.v33-map-copy h2{font-size:37px}.v33-map-copy p{max-width:none}.v33-access{justify-self:start;width:min(100%,320px);min-height:0}.v33-map-gradient{background:linear-gradient(180deg,rgba(247,245,239,.95),rgba(247,245,239,.52) 52%,rgba(247,245,239,.10))}:root[data-theme="dark"] .v33-map-gradient{background:linear-gradient(180deg,rgba(7,17,23,.97),rgba(7,17,23,.58) 52%,rgba(7,17,23,.12))}
}

/* Carte password gate — preserved from the supplied v28 package. */
.map-access-gate{position:absolute;z-index:82;inset:var(--header-h) 0 0;display:grid;place-items:center;padding:20px;background:rgba(239,241,238,.34);backdrop-filter:blur(7px) saturate(.75);transition:opacity .22s ease}
:root[data-theme="dark"] .map-access-gate{background:rgba(4,10,14,.48)}
.map-access-gate.leaving{opacity:0;pointer-events:none}
.map-access-card{width:min(410px,calc(100vw - 36px));padding:23px;border:1px solid var(--line-strong);border-radius:18px;background:rgba(252,251,248,.96);box-shadow:0 28px 70px rgba(18,43,55,.18);color:var(--ink)}
:root[data-theme="dark"] .map-access-card{background:rgba(13,20,25,.97);color:#ecf2f3;border-color:rgba(215,225,228,.14)}
.map-access-badge{display:inline-flex;padding:6px 9px;border-radius:999px;border:1px solid var(--line);font-size:8px;letter-spacing:.16em;color:var(--muted);margin-bottom:11px}
.map-access-card h2{font-family:var(--serif);font-size:29px;font-weight:400;margin:0 0 9px}
.map-access-card>p{margin:0 0 17px;font-size:11px;line-height:1.55;color:var(--muted)}
.map-access-card form{display:grid;grid-template-columns:1fr auto;gap:10px;align-items:end}
.map-access-card label{display:grid;gap:6px;font-size:9px;color:var(--muted)}
.map-access-card input{height:41px;border-radius:10px;border:1px solid var(--line-strong);background:rgba(255,255,255,.92);color:var(--ink);padding:0 11px;outline:none}
.map-access-card input:focus{border-color:#8e6eb6;box-shadow:0 0 0 3px rgba(142,110,182,.10)}
.map-access-card .solid-btn{height:41px;padding:0 14px;font-size:9px}
.map-access-error{grid-column:1/-1;color:#b44a4a;font-size:9px}
:root[data-theme="dark"] .map-access-card input{background:#111b21;color:#e7edef;border-color:rgba(215,225,228,.14)}
@media (max-width:650px){.map-access-card form{grid-template-columns:1fr}.map-access-error{grid-column:1}}

@media (max-width:760px){.v51-owner-cta-inner{min-height:0;display:grid;grid-template-columns:1fr;gap:20px;padding-top:30px;padding-bottom:32px}.v51-owner-cta-copy h2{font-size:34px}.v51-owner-cta-copy p{font-size:10.5px}.v51-owner-cta-button{width:max-content}.v51-calendar-grid>span{height:30px}}

/* ==========================================================================
   v52 — Collaboration + Partner inventory foundation
   ========================================================================== */

/* Map: the CV Location V is intentionally quieter at rest. It is a location
   signal, not an ownership badge; C remains the stronger selection state. */






/* Partner inventory deliberately avoids the CV V/C language. */




.map-list-card.is-partner{border-style:dashed}.map-list-card.is-partner.active{border-style:solid}
.listing-source-tag,.drawer-source{font-size:7px;line-height:1;text-transform:uppercase;letter-spacing:.14em;color:#6e8088;margin-bottom:6px}.listing-source-tag.partner,.map-list-card.is-partner .map-list-copy small{color:#7d6a4d}.drawer-source{margin-bottom:4px}

/* Dark mode only: keep light theme exactly as approved, while making the
   active gold more saturated, darker and easier to read against the dark UI. */
:root[data-theme="dark"] .owner-v33{--o-warm:#c99542}
:root[data-theme="dark"] .v48-process-step.is-active{border-color:rgba(201,149,66,.82);box-shadow:0 0 0 1px rgba(201,149,66,.16),0 12px 30px rgba(0,0,0,.20)}
:root[data-theme="dark"] .v33-decision-item.is-active{background:rgba(201,149,66,.10);box-shadow:inset 2px 0 #c99542,0 0 22px rgba(201,149,66,.06)}
:root[data-theme="dark"] .owner-flowbar__step.is-active .owner-flowbar__icon{filter:drop-shadow(0 0 8px rgba(201,149,66,.42))}

/* Collaboration landing */
.collab-hub{padding:54px 0 62px;background:var(--o-bg);border-bottom:1px solid var(--o-line)}
.collab-hub-inner{display:grid;grid-template-columns:minmax(320px,.82fr) minmax(580px,1.35fr);gap:7vw;align-items:end}
.collab-hub-copy h1{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:clamp(48px,5vw,76px);font-weight:400;line-height:.9;letter-spacing:-.035em;margin:16px 0 18px;max-width:680px}
.collab-hub-copy p{max-width:550px;margin:0;color:var(--o-muted);font-size:12px;line-height:1.65}
.collab-path-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.collab-path-card{position:relative;min-height:200px;border:1px solid var(--o-line);border-radius:15px;background:var(--o-card);padding:18px 18px 16px;display:grid;grid-template-rows:auto 1fr auto auto;gap:10px;transition:transform .2s ease,border-color .2s ease,background .2s ease,box-shadow .2s ease}
.collab-path-card:hover{transform:translateY(-3px);border-color:color-mix(in srgb,var(--o-warm) 38%,var(--o-line));box-shadow:0 14px 34px rgba(0,0,0,.08)}
.collab-path-card>span{font-size:9px;letter-spacing:.15em;color:var(--o-warm)}
.collab-path-card>b{align-self:end;font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:24px;font-weight:500;line-height:1}
.collab-path-card>small{font-size:9px;line-height:1.48;color:var(--o-muted)}
.collab-path-card>i{position:absolute;right:15px;top:15px;color:var(--o-muted);font-style:normal;transition:transform .2s ease,color .2s ease}.collab-path-card:hover>i{transform:translateX(3px);color:var(--o-warm)}
.owner-story{scroll-margin-top:calc(var(--header-h) + 76px)}
.collab-audience{padding:80px 0;background:var(--o-bg);border-top:1px solid var(--o-line);scroll-margin-top:calc(var(--header-h) + 28px)}
.collab-renters{background:color-mix(in srgb,var(--o-surface) 66%,var(--o-bg))}
.collab-audience-inner{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(400px,.9fr);gap:9vw;align-items:center}
.collab-audience-copy h2{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:clamp(38px,4vw,58px);font-weight:400;line-height:.94;letter-spacing:-.025em;margin:13px 0 14px}
.collab-audience-copy p{max-width:690px;color:var(--o-muted);font-size:11px;line-height:1.65;margin:0}
.collab-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:22px}.collab-actions .v33-pill:not(.v33-pill-primary){border:1px solid var(--o-line);background:transparent;color:var(--o-text)}
.collab-feature-stack{display:grid;gap:8px}.collab-feature-stack>span{display:grid;grid-template-columns:32px 1fr;grid-template-rows:auto auto;column-gap:12px;padding:14px;border:1px solid var(--o-line);border-radius:12px;background:var(--o-card)}.collab-feature-stack svg{grid-row:1/3;color:var(--o-warm);margin-top:2px}.collab-feature-stack b{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-weight:500;font-size:16px}.collab-feature-stack small{font-size:8.5px;line-height:1.45;color:var(--o-muted);margin-top:3px}
.collab-professionals{padding-top:92px;padding-bottom:100px}.collab-audience-inner--pro{align-items:stretch}.collab-beta-note{font-size:8.5px;color:var(--o-muted)}
.partner-preview{border:1px solid var(--o-line);border-radius:18px;background:var(--o-card);padding:18px;display:grid;gap:15px;box-shadow:0 18px 50px rgba(0,0,0,.06)}
.partner-preview-head{display:flex;align-items:center;gap:12px}.partner-demo-marker{width:38px;height:38px;border-radius:10px;border:1px solid var(--o-line);display:grid;place-items:center;color:var(--o-blue);background:var(--o-blue-soft)}.partner-preview-head div{display:grid;gap:3px}.partner-preview-head small{font-size:7px;letter-spacing:.14em;color:var(--o-muted)}.partner-preview-head strong{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-weight:500;font-size:17px}
.partner-preview-filters{display:flex;gap:6px;padding:5px;border:1px solid var(--o-line);border-radius:999px;width:max-content}.partner-preview-filters span{font-size:8px;padding:6px 10px;border-radius:999px;color:var(--o-muted)}.partner-preview-filters .is-active{background:var(--o-text);color:var(--o-bg)}
.partner-preview-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.partner-preview-stats>span{display:grid;gap:4px;border-top:1px solid var(--o-line);padding-top:11px}.partner-preview-stats b{font-size:9px}.partner-preview-stats small{font-size:7.5px;line-height:1.4;color:var(--o-muted)}
.intake-tabs--three{grid-template-columns:repeat(3,1fr)}

/* Collaboration responsive rules. */
@media (max-width:1100px){
  .collab-hub-inner{grid-template-columns:1fr;gap:34px}.collab-path-grid{max-width:860px}.collab-audience-inner{grid-template-columns:1fr;gap:30px}.collab-feature-stack,.partner-preview{max-width:760px}
}
@media (max-width:800px){

  .collab-hub{padding:28px 0 38px}.collab-path-grid{grid-template-columns:1fr}.collab-path-card{min-height:130px}.collab-audience{padding:54px 0}.partner-preview-stats{grid-template-columns:1fr}.intake-tabs--three{grid-template-columns:1fr}.intake-tabs--three .intake-tab+.intake-tab{border-top:1px solid var(--line)}
}

html[lang="en"] .v33-decisions h2{font-size:34px}
.partner-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;padding-top:2px}.partner-tiers>span{display:grid;gap:3px;border:1px solid var(--o-line);border-radius:10px;padding:10px;background:color-mix(in srgb,var(--o-solid) 28%,transparent)}.partner-tiers b{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:14px;font-weight:500}.partner-tiers small{font-size:7px;line-height:1.35;color:var(--o-muted)}.partner-pricing-note{font-size:7px;color:var(--o-muted);text-align:right}@media(max-width:800px){.partner-tiers{grid-template-columns:1fr}}

/* v53 — Collaboration split into three dedicated journeys. */
.collab-owner-route .collab-hub,
.collab-owner-route .collab-renters,
.collab-owner-route .collab-professionals{display:none!important}
.collaboration-hub-page{min-height:calc(100vh - var(--header-h));display:flex;flex-direction:column}
.collab-hub--standalone{flex:1;display:flex;align-items:center;padding-top:72px;padding-bottom:82px}
.collab-hub-note{border-top:1px solid var(--o-line);padding:18px 0 22px;background:var(--o-bg)}
.collab-hub-note a,.collab-back{font-size:9px;color:var(--o-muted);transition:color .18s ease}.collab-hub-note a:hover,.collab-back:hover{color:var(--o-text)}

.collab-detail-page{background:var(--o-bg);color:var(--o-text)}
.collab-detail-hero{padding:80px 0 86px;border-bottom:1px solid var(--o-line);background:linear-gradient(135deg,var(--o-bg),color-mix(in srgb,var(--o-surface) 76%,var(--o-bg)))}
.collab-detail-hero-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(390px,.92fr);gap:8vw;align-items:center}
.collab-detail-copy{max-width:760px}.collab-detail-copy .collab-back{display:inline-block;margin-bottom:28px}.collab-detail-copy h1{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:clamp(48px,5.4vw,78px);font-weight:400;line-height:.91;letter-spacing:-.04em;margin:16px 0 20px;max-width:820px}.collab-detail-copy>p{max-width:720px;font-size:12px;line-height:1.68;color:var(--o-muted);margin:0}
.collab-section-heading{max-width:780px}.collab-section-heading h2{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:clamp(38px,4.1vw,60px);font-weight:400;line-height:.94;letter-spacing:-.03em;margin:13px 0 14px}.collab-section-heading>p{font-size:11px;line-height:1.65;color:var(--o-muted);max-width:720px}

.renter-visit-card{border:1px solid var(--o-line);border-radius:20px;overflow:hidden;background:var(--o-card);box-shadow:0 22px 56px rgba(0,0,0,.07)}
.renter-visit-visual{position:relative;aspect-ratio:1.55/1;overflow:hidden}.renter-visit-visual img{width:100%;height:100%;object-fit:cover;display:block}.renter-visit-visual:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 48%,rgba(5,13,17,.48))}.renter-visit-visual>span{position:absolute;z-index:2;left:16px;bottom:14px;border:1px solid rgba(255,255,255,.55);border-radius:999px;background:rgba(8,18,23,.46);backdrop-filter:blur(8px);padding:6px 10px;color:#fff;font-size:7px;letter-spacing:.16em}
.renter-visit-copy{padding:22px}.renter-visit-copy>small{font-size:7px;letter-spacing:.16em;color:var(--o-warm)}.renter-visit-copy h2{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:27px;font-weight:400;line-height:1;margin:9px 0 10px}.renter-visit-copy p{font-size:9px;line-height:1.6;color:var(--o-muted);margin:0}
.collab-renter-process{padding:88px 0;background:var(--o-bg)}
.renter-step-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.renter-step-card{position:relative;min-height:260px;border:1px solid var(--o-line);border-radius:16px;background:var(--o-card);padding:22px;display:flex;flex-direction:column;align-items:flex-start}.renter-step-card>span{font-size:8px;letter-spacing:.15em;color:var(--o-warm)}.renter-step-card>i{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:var(--o-blue-soft);color:var(--o-blue);margin-top:auto;font-style:normal}.renter-step-card h3{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:23px;font-weight:500;line-height:1;margin:15px 0 9px}.renter-step-card p{font-size:9px;line-height:1.55;color:var(--o-muted);margin:0}
.renter-communication{padding:86px 0;background:color-mix(in srgb,var(--o-surface) 72%,var(--o-bg));border-top:1px solid var(--o-line);border-bottom:1px solid var(--o-line)}
.renter-communication-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(390px,.85fr);gap:9vw;align-items:center}.renter-communication h2{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:clamp(38px,4vw,58px);font-weight:400;line-height:.94;letter-spacing:-.03em;margin:13px 0 14px}.renter-communication p{font-size:11px;line-height:1.65;color:var(--o-muted);max-width:650px}
.renter-message-demo{border:1px solid var(--o-line);border-radius:18px;padding:20px;background:var(--o-card);display:grid;gap:10px}.message-bubble{max-width:82%;padding:12px 14px;border-radius:14px;font-size:9px;line-height:1.5}.message-bubble.is-user{justify-self:end;background:var(--o-text);color:var(--o-bg);border-bottom-right-radius:4px}.message-bubble.is-cv{justify-self:start;background:var(--o-blue-soft);color:var(--o-text);border:1px solid color-mix(in srgb,var(--o-blue) 28%,var(--o-line));border-bottom-left-radius:4px}.message-status{border-top:1px solid var(--o-line);padding-top:12px;margin-top:4px;display:flex;align-items:center;gap:7px;font-size:8px;color:var(--o-muted)}.message-status svg{color:var(--o-warm)}
.collab-final-cta{padding:54px 0 60px;background:var(--o-bg)}.collab-final-cta-inner{display:flex;justify-content:space-between;align-items:end;gap:28px}.collab-final-cta h2{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:clamp(34px,3.5vw,52px);font-weight:400;line-height:.96;letter-spacing:-.025em;margin:12px 0 0}

/* Professionals / Partners */
.collab-pro-hero{padding-bottom:92px}.pro-map-preview{border:1px solid var(--o-line);border-radius:20px;background:var(--o-card);padding:17px;box-shadow:0 24px 60px rgba(0,0,0,.07);display:grid;gap:14px}.pro-map-preview-top{display:flex;align-items:center;gap:11px}.pro-map-preview-top>div{display:grid;gap:3px}.pro-map-preview-top small{font-size:7px;letter-spacing:.15em;color:var(--o-muted)}.pro-map-preview-top strong{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:17px;font-weight:500}.pro-map-surface{position:relative;height:260px;border:1px solid var(--o-line);border-radius:13px;overflow:hidden;background:linear-gradient(135deg,color-mix(in srgb,var(--o-blue-soft) 40%,var(--o-solid)),var(--o-solid))}.pro-map-surface:before,.pro-map-surface:after{content:"";position:absolute;background:color-mix(in srgb,var(--o-line) 80%,transparent)}.pro-map-surface:before{width:140%;height:18px;left:-16%;top:48%;transform:rotate(-24deg)}.pro-map-surface:after{width:18px;height:140%;left:55%;top:-18%;transform:rotate(18deg)}.pro-road{position:absolute;display:block;background:color-mix(in srgb,var(--o-line) 72%,transparent);border-radius:999px}.pro-road.r1{width:110%;height:7px;left:-5%;top:28%;transform:rotate(7deg)}.pro-road.r2{width:88%;height:5px;left:10%;bottom:24%;transform:rotate(-10deg)}.pro-road.r3{height:110%;width:6px;left:25%;top:-5%;transform:rotate(-8deg)}.pro-pin{position:absolute;z-index:3;width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--o-warm);color:#fff;font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:19px;font-weight:600;box-shadow:0 8px 18px rgba(0,0,0,.14)}.pro-pin.partner{border-radius:9px;background:var(--o-solid);color:var(--o-blue);border:1px solid var(--o-line)}.pro-pin.p1{left:30%;top:34%}.pro-pin.p2{right:27%;top:23%}.pro-pin.p3{right:18%;bottom:22%}.pro-filter-preview{display:flex;gap:6px;padding:5px;border:1px solid var(--o-line);border-radius:999px;width:max-content}.pro-filter-preview span{font-size:8px;padding:6px 10px;border-radius:999px;color:var(--o-muted)}.pro-filter-preview .active{background:var(--o-text);color:var(--o-bg)}
.pro-value-section{padding:88px 0;background:var(--o-bg)}.pro-value-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}.pro-value-grid article{min-height:210px;border:1px solid var(--o-line);border-radius:16px;background:var(--o-card);padding:21px}.pro-value-grid article>svg{color:var(--o-warm);margin-bottom:42px}.pro-value-grid h3{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:22px;font-weight:500;margin:0 0 9px}.pro-value-grid p{font-size:9px;line-height:1.55;color:var(--o-muted);margin:0}
.pro-publish-section{padding:86px 0;background:color-mix(in srgb,var(--o-surface) 72%,var(--o-bg));border-top:1px solid var(--o-line);border-bottom:1px solid var(--o-line)}.pro-publish-grid{display:grid;grid-template-columns:minmax(0,.9fr) minmax(460px,1.1fr);gap:8vw;align-items:start}.pro-publish-steps{display:grid}.pro-publish-steps article{display:grid;grid-template-columns:145px 1fr;gap:22px;padding:18px 0;border-top:1px solid var(--o-line)}.pro-publish-steps article:last-child{border-bottom:1px solid var(--o-line)}.pro-publish-steps b{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:18px;font-weight:500}.pro-publish-steps p{font-size:9px;line-height:1.55;color:var(--o-muted);margin:0}
.pro-upload-demo{padding:88px 0;background:var(--o-bg)}.pro-upload-grid{display:grid;grid-template-columns:minmax(0,.8fr) minmax(450px,1.2fr);gap:9vw;align-items:center}.pro-upload-grid h2{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:clamp(38px,4vw,56px);font-weight:400;line-height:.94;letter-spacing:-.03em;margin:13px 0 14px}.pro-upload-grid>div:first-child p{font-size:10px;line-height:1.62;color:var(--o-muted)}.upload-mock{border:1px solid var(--o-line);border-radius:18px;background:var(--o-card);padding:18px;display:grid;gap:12px}.upload-drop{height:150px;border:1px dashed color-mix(in srgb,var(--o-blue) 45%,var(--o-line));border-radius:13px;background:var(--o-blue-soft);display:grid;place-items:center;align-content:center;text-align:center;gap:6px;color:var(--o-text)}.upload-drop svg{color:var(--o-blue);margin-bottom:4px}.upload-drop strong{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:18px;font-weight:500}.upload-drop small{font-size:7px;letter-spacing:.12em;color:var(--o-muted)}.upload-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:8px}.upload-fields span{height:42px;border:1px solid var(--o-line);border-radius:9px;display:flex;align-items:center;padding:0 12px;font-size:8px;color:var(--o-muted);background:color-mix(in srgb,var(--o-solid) 36%,transparent)}.upload-mock .outline-btn{height:42px;display:flex;align-items:center;justify-content:center}
.pro-pricing{padding:88px 0 104px;background:color-mix(in srgb,var(--o-surface) 70%,var(--o-bg));border-top:1px solid var(--o-line)}.pro-plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:36px}.pro-plan{position:relative;border:1px solid var(--o-line);border-radius:18px;background:var(--o-card);padding:22px;min-height:350px;display:flex;flex-direction:column}.pro-plan.is-featured{border-color:color-mix(in srgb,var(--o-warm) 60%,var(--o-line));box-shadow:0 18px 44px rgba(0,0,0,.09)}.pro-plan>small{font-size:6.5px;letter-spacing:.15em;color:var(--o-warm)}.pro-plan h3{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:26px;font-weight:500;margin:13px 0 8px}.pro-price{display:flex;align-items:baseline;gap:7px;padding-bottom:18px;border-bottom:1px solid var(--o-line)}.pro-price b{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:38px;font-weight:400}.pro-price span{font-size:8px;color:var(--o-muted)}.pro-plan ul{list-style:none;margin:18px 0 24px;padding:0;display:grid;gap:10px}.pro-plan li{display:flex;gap:8px;align-items:flex-start;font-size:8.5px;line-height:1.45;color:var(--o-muted)}.pro-plan li svg{color:var(--o-warm);margin-top:1px}.pro-plan>a{margin-top:auto;height:40px;display:flex;align-items:center;justify-content:center}

@media(max-width:1100px){
  .collab-detail-hero-grid,.renter-communication-grid,.pro-publish-grid,.pro-upload-grid{grid-template-columns:1fr;gap:34px}.renter-visit-card,.pro-map-preview,.upload-mock{max-width:760px}.renter-step-grid,.pro-value-grid,.pro-plan-grid{grid-template-columns:1fr 1fr}.pro-plan-grid .pro-plan:last-child{grid-column:1/-1;max-width:50%}
}
@media(max-width:800px){
  .collab-hub--standalone{align-items:flex-start;padding-top:32px}.collab-detail-hero{padding:46px 0 56px}.collab-detail-copy h1{font-size:46px}.renter-step-grid,.pro-value-grid,.pro-plan-grid{grid-template-columns:1fr}.pro-plan-grid .pro-plan:last-child{grid-column:auto;max-width:none}.renter-step-card{min-height:220px}.renter-communication,.pro-value-section,.pro-publish-section,.pro-upload-demo,.pro-pricing{padding:56px 0}.collab-final-cta-inner{align-items:flex-start;flex-direction:column}.pro-publish-steps article{grid-template-columns:1fr;gap:7px}.upload-fields{grid-template-columns:1fr}
}

/* --------------------------------------------------------------------------
   v54 — Collaboration refinements + Partner studio
   -------------------------------------------------------------------------- */

/* The owner route keeps the approved v51 page; this is only a quiet way back. */
.collab-back--owner{position:relative;z-index:4;display:inline-flex!important;align-items:center;gap:6px;margin:0 0 18px!important;color:rgba(255,255,255,.72)!important;text-decoration:none;font-size:8px!important;letter-spacing:.035em;text-shadow:0 1px 10px rgba(0,0,0,.24)}
.collab-back--owner:hover{color:#fff!important}

/* Renter journey: compact editorial cards with the visual cue at the top and
   a useful action anchored at the bottom. */
.renter-path-heading{max-width:none}
.renter-path-heading h2{max-width:none;white-space:nowrap;font-size:clamp(38px,4.15vw,58px)}
.renter-step-card{min-height:292px;padding:21px 21px 19px}
.renter-step-top{width:100%;display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:29px}
.renter-step-top>span{font-size:8px;letter-spacing:.15em;color:var(--o-warm)}
.renter-step-top>i{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--o-blue-soft);color:var(--o-blue);font-style:normal}
.renter-step-top>i svg{width:20px!important;height:20px!important}
.renter-step-card h3{margin:0 0 10px}
.renter-step-card p{margin:0}
.renter-step-footer{margin-top:auto;padding-top:22px;width:100%}
.renter-step-action{min-height:37px;width:100%;border:1px solid var(--o-line);border-radius:999px;background:transparent;color:var(--o-text);display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 13px;font:inherit;font-size:8px;cursor:pointer;text-decoration:none;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}
.renter-step-action:hover{border-color:color-mix(in srgb,var(--o-warm) 52%,var(--o-line));background:color-mix(in srgb,var(--o-warm) 7%,transparent);color:var(--o-warm);transform:translateY(-1px)}
.renter-spotlight-link{display:inline-flex;align-items:center;gap:7px;margin-top:11px;font-size:8px;color:var(--o-text);text-decoration:none;border-bottom:1px solid color-mix(in srgb,var(--o-text) 26%,transparent);padding-bottom:2px}
.renter-spotlight-link:hover{color:var(--o-warm);border-color:var(--o-warm)}
.renter-communication h2{white-space:nowrap}

/* Google mini-map preview on the professional page. */
.pro-live-map{height:260px;position:relative;overflow:hidden;border-radius:13px;border:1px solid var(--o-line);background:var(--o-surface)}
.pro-live-map .google-map-element{outline:none}


.pro-map-preview-top{display:flex;align-items:center;gap:11px;margin-bottom:12px}.pro-map-preview-top>div{display:grid;gap:3px}.pro-map-preview-top small{font-size:6.5px;letter-spacing:.13em;color:var(--o-muted)}.pro-map-preview-top strong{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:16px;font-weight:500;color:var(--o-text)}
.partner-demo-marker{width:34px;height:34px;border:1px solid var(--o-line);border-radius:9px;display:grid;place-items:center;color:var(--o-blue);background:var(--o-solid)}
.pro-filter-preview{margin-top:11px}

/* Partner publishing studio. */
.partner-studio-page{min-height:100vh;background:var(--o-bg);color:var(--o-text)}
.partner-studio-head{padding:58px 0 42px;border-bottom:1px solid var(--o-line);background:color-mix(in srgb,var(--o-surface) 78%,var(--o-bg))}
.partner-studio-head-inner{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:7vw;align-items:end}
.partner-studio-head h1{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:clamp(46px,5vw,72px);font-weight:400;line-height:.92;letter-spacing:-.035em;margin:14px 0 15px}
.partner-studio-head p{max-width:720px;margin:0;font-size:10.5px;line-height:1.65;color:var(--o-muted)}
.partner-studio-status{border:1px solid var(--o-line);border-radius:14px;padding:15px;background:var(--o-card);display:grid;gap:7px}.partner-studio-status span{display:flex;align-items:center;gap:7px;color:var(--o-warm);font-size:7px;letter-spacing:.1em}.partner-studio-status small{font-size:8px;line-height:1.45;color:var(--o-muted)}
.partner-studio-body{padding:34px 0 90px}.partner-studio-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(310px,.62fr);gap:26px;align-items:start}
.partner-editor{display:grid;gap:14px}.partner-editor-section{border:1px solid var(--o-line);border-radius:17px;background:var(--o-card);padding:20px}.partner-editor-section-head{display:grid;grid-template-columns:35px minmax(0,1fr);gap:12px;align-items:start;margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid var(--o-line)}.partner-editor-section-head>span{width:31px;height:31px;border-radius:50%;display:grid;place-items:center;border:1px solid color-mix(in srgb,var(--o-warm) 35%,var(--o-line));color:var(--o-warm);font-size:7px}.partner-editor-section-head h2{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:22px;font-weight:500;line-height:1;margin:0 0 5px}.partner-editor-section-head p{font-size:8px;line-height:1.45;color:var(--o-muted);margin:0}
.partner-editor-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.partner-editor-fields label,.partner-brand-fields label{display:grid;gap:6px}.partner-editor-fields label.wide{grid-column:1/-1}.partner-editor-fields label>span,.partner-brand-fields label>span{font-size:7.5px;color:var(--o-muted)}
.partner-editor input,.partner-editor select,.partner-editor textarea{width:100%;border:1px solid var(--o-line);border-radius:9px;background:color-mix(in srgb,var(--o-solid) 38%,transparent);color:var(--o-text);font:inherit;font-size:9px;padding:0 11px;outline:none;transition:border-color .18s ease,box-shadow .18s ease,background .18s ease}.partner-editor input,.partner-editor select{height:41px}.partner-editor textarea{min-height:100px;resize:vertical;padding-top:10px;line-height:1.5}.partner-editor input:focus,.partner-editor select:focus,.partner-editor textarea:focus{border-color:color-mix(in srgb,var(--o-warm) 58%,var(--o-line));box-shadow:0 0 0 3px color-mix(in srgb,var(--o-warm) 8%,transparent);background:var(--o-solid)}
.partner-photo-drop{min-height:148px;border:1px dashed color-mix(in srgb,var(--o-blue) 44%,var(--o-line));border-radius:13px;background:var(--o-blue-soft);display:grid;place-items:center;align-content:center;gap:7px;text-align:center;cursor:pointer;color:var(--o-text);transition:border-color .18s ease,background .18s ease}.partner-photo-drop:hover{border-color:color-mix(in srgb,var(--o-warm) 48%,var(--o-line));background:color-mix(in srgb,var(--o-warm) 6%,var(--o-blue-soft))}.partner-photo-drop svg{color:var(--o-blue)}.partner-photo-drop strong{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:17px;font-weight:500}.partner-photo-drop small{font-size:7px;color:var(--o-muted);letter-spacing:.06em}.partner-photo-drop input{display:none}.partner-photo-strip{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px;margin-top:9px}.partner-photo-strip:empty{display:none}.partner-photo-strip img{width:100%;height:70px;object-fit:cover;border-radius:8px;border:1px solid var(--o-line)}
.partner-marker-choices{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.partner-marker-choices label{position:relative;min-height:92px;border:1px solid var(--o-line);border-radius:11px;padding:11px;display:grid;grid-template-columns:36px 1fr;gap:9px;align-items:center;cursor:pointer;background:color-mix(in srgb,var(--o-solid) 28%,transparent);transition:border-color .18s ease,background .18s ease}.partner-marker-choices label.active{border-color:color-mix(in srgb,var(--o-warm) 62%,var(--o-line));background:color-mix(in srgb,var(--o-warm) 6%,var(--o-solid))}.partner-marker-choices input{position:absolute;opacity:0;pointer-events:none}.partner-marker-choices span{display:grid;gap:4px}.partner-marker-choices b{font-size:8.5px}.partner-marker-choices small{font-size:7px;line-height:1.3;color:var(--o-muted)}
.publisher-marker-preview{width:34px;height:34px;display:grid;place-items:center;border:1px solid var(--o-line);background:var(--o-solid);color:var(--o-blue);border-radius:9px;font-style:normal;font-family:'EB Garamond','GFS Didot',Georgia,serif;font-weight:600;overflow:hidden}.publisher-marker-preview.monogram{background:var(--o-warm);color:#fff;border-color:var(--o-warm)}.publisher-marker-preview.logo img{width:100%;height:100%;object-fit:contain;background:#fff}.partner-brand-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:11px}.partner-brand-fields .logo-upload input{padding:7px;height:41px}
.partner-editor-actions{display:flex;gap:8px}.partner-editor-actions button{min-height:40px;flex:1}.partner-editor-note{font-size:7.5px;line-height:1.5;color:var(--o-muted);margin:12px 0 0}
.partner-preview-column{min-width:0}.partner-preview-sticky{position:sticky;top:calc(var(--header-h) + 20px);display:grid;gap:12px}.publisher-listing-preview{border:1px solid var(--o-line);border-radius:17px;overflow:hidden;background:var(--o-card);box-shadow:0 16px 44px rgba(0,0,0,.07)}.publisher-preview-photo{height:220px;position:relative;background:var(--o-surface);overflow:hidden}.publisher-preview-photo img{width:100%;height:100%;object-fit:cover}.publisher-preview-photo>span{position:absolute;left:10px;top:10px;border-radius:999px;padding:5px 8px;background:rgba(7,17,23,.79);color:#fff;font-size:6px;letter-spacing:.1em}.publisher-preview-body{padding:16px;display:grid;gap:7px}.publisher-preview-source{display:flex;align-items:center;gap:8px}.publisher-preview-source>span{font-size:7.5px;color:var(--o-muted)}.publisher-preview-body>small{font-size:7px;color:var(--o-warm);text-transform:uppercase;letter-spacing:.08em}.publisher-preview-body h3{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:23px;font-weight:500;line-height:1.02;margin:0}.publisher-preview-body p{font-size:8px;color:var(--o-muted);margin:0}.publisher-preview-body>b{font-size:15px}.publisher-preview-body>b i{font-style:normal;font-weight:400;font-size:8px;color:var(--o-muted)}.publisher-preview-body>em{font-size:8px;font-style:normal;color:var(--o-muted);padding-top:7px;border-top:1px solid var(--o-line)}.publisher-preview-tip{border:1px solid var(--o-line);border-radius:12px;padding:12px;display:flex;gap:8px;align-items:flex-start;background:var(--o-card);font-size:7.5px;line-height:1.45;color:var(--o-muted)}.publisher-preview-tip svg{color:var(--o-warm);flex:0 0 auto}

.map-control.map-3d.active{background:#173c4d!important;color:#fff!important;border-color:#173c4d!important}
:root[data-theme="dark"] .map-control.map-3d.active{background:#c99542!important;color:#10181c!important;border-color:#c99542!important}

@media(max-width:1100px){
  .partner-studio-head-inner{grid-template-columns:1fr}.partner-studio-status{max-width:360px}.partner-studio-grid{grid-template-columns:1fr}.partner-preview-sticky{max-width:none}.renter-path-heading h2{white-space:normal}
}
@media(max-width:800px){
  .renter-path-heading h2,.renter-communication h2{white-space:normal}.renter-step-card{min-height:245px}.renter-step-top{margin-bottom:20px}
  .partner-studio-head{padding:42px 0 30px}.partner-studio-head h1{font-size:44px}.partner-editor-section{padding:15px}.partner-editor-fields,.partner-brand-fields{grid-template-columns:1fr}.partner-editor-fields label.wide{grid-column:auto}.partner-marker-choices{grid-template-columns:1fr}.partner-photo-strip{grid-template-columns:repeat(3,minmax(0,1fr))}.partner-editor-actions{flex-direction:column}
}
.partner-brand-fields .logo-upload small{font-size:6.5px;line-height:1.35;color:var(--o-muted);margin-top:-1px}

/* ===== v55: collaboration refinements + professional platform ===== */

/* Collaboration selector: this is a role choice, not three paths for one user. */
.collab-hub-copy h1{max-width:560px}
.collab-back,.collab-back--owner{display:inline-flex!important;align-items:center;gap:6px;color:#637f8b!important;font-size:9px!important;letter-spacing:.035em;text-decoration:none;text-shadow:none!important;transition:color .18s ease,opacity .18s ease}
.collab-back:hover,.collab-back--owner:hover{color:#294b5a!important}
:root[data-theme="dark"] .collab-back,:root[data-theme="dark"] .collab-back--owner{color:#8fa7b1!important}
:root[data-theme="dark"] .collab-back:hover,:root[data-theme="dark"] .collab-back--owner:hover{color:#bfd0d6!important}
.collab-detail-hero,.collab-renter-process,.renter-communication,.pro-value-section,.pro-publish-section,.pro-upload-demo,.pro-pricing{border-color:color-mix(in srgb,var(--o-line) 72%,transparent)!important}

/* Renter copy stays roomy without making the cards larger. */
.renter-step-card p{font-size:11px;line-height:1.58}
.renter-step-card h3{font-size:24px}
.renter-step-footer{margin-top:auto;padding-top:19px}
.renter-step-action{font-size:9.5px}
.renter-communication p{font-size:12px;line-height:1.7}
@media (min-width:1180px){.renter-path-heading h2{white-space:nowrap}}

/* Professional public page readability. */
.pro-value-grid p,.pro-publish-steps p,.pro-upload-demo p,.pro-pricing .collab-section-heading p{font-size:11px;line-height:1.62}
.pro-publish-steps article{grid-template-columns:165px 1fr;align-items:start}
.pro-publish-steps b{white-space:nowrap}
.pro-dashboard-preview{border:1px solid var(--o-line);border-radius:18px;background:var(--o-card);padding:18px;box-shadow:0 18px 52px rgba(12,27,35,.07);min-height:360px}
.pro-dashboard-preview-head{display:flex;align-items:center;justify-content:space-between;padding-bottom:13px;border-bottom:1px solid var(--o-line);font-size:9px;color:var(--o-muted)}
.pro-dashboard-preview-head b{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:19px;color:var(--o-text);font-weight:500}
.pro-dashboard-mini-metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-top:16px}
.pro-dashboard-mini-metrics span{padding:12px;border:1px solid var(--o-line);border-radius:12px;background:var(--o-solid);display:grid;gap:3px}
.pro-dashboard-mini-metrics b{font-size:17px}.pro-dashboard-mini-metrics small{font-size:7px;color:var(--o-muted)}
.pro-dashboard-mini-chart{margin-top:12px;border:1px solid var(--o-line);border-radius:13px;padding:9px;background:var(--o-solid);height:210px;overflow:hidden}
.pro-dashboard-mini-chart .partner-line-chart{height:100%}
.pro-credit-pricing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:34px}
.pro-credit-pricing-grid article{border:1px solid var(--o-line);border-radius:17px;background:var(--o-card);padding:24px;min-height:210px;display:flex;flex-direction:column}
.pro-credit-pricing-grid article>small{font-size:8px;letter-spacing:.13em;text-transform:uppercase;color:var(--o-muted)}
.pro-credit-pricing-grid article>div{display:flex;align-items:baseline;gap:6px;margin:30px 0 13px}.pro-credit-pricing-grid article>div b{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:38px;font-weight:500}.pro-credit-pricing-grid article>div span{font-size:10px;color:var(--o-muted)}
.pro-credit-pricing-grid article p{margin:auto 0 0;font-size:10.5px;line-height:1.6;color:var(--o-muted)}
.pro-credit-packs{margin-top:14px;border:1px solid var(--o-line);border-radius:16px;padding:16px;display:grid;grid-template-columns:minmax(190px,1.6fr) repeat(4,minmax(90px,.65fr)) auto;gap:10px;align-items:center;background:var(--o-card)}
.pro-credit-packs>div{display:grid;gap:4px}.pro-credit-packs>div strong{font-family:'EB Garamond','GFS Didot',Georgia,serif;font-size:18px;font-weight:500}.pro-credit-packs>div span{font-size:8px;color:var(--o-muted)}
.pro-credit-packs>span{padding:10px;border-left:1px solid var(--o-line);display:grid;gap:2px}.pro-credit-packs>span b{font-size:13px}.pro-credit-packs>span small{font-size:7px;color:var(--o-muted)}
.pro-credit-packs .outline-btn{height:38px;padding:0 12px;font-size:8px}
.pro-volume-note{margin-top:12px;border:1px solid var(--o-line);border-radius:14px;padding:14px 16px;display:flex;align-items:center;gap:11px;background:var(--o-blue-soft);font-size:9px;color:var(--o-muted)}.pro-volume-note svg{color:var(--o-blue);flex:0 0 auto}.pro-volume-note a{margin-left:auto;color:var(--o-text);font-weight:600}

/* ==================== Professional workspace ==================== */
.partner-portal-route{background:#f4f5f2}
.partner-app-shell{min-height:100vh;display:grid;grid-template-columns:238px minmax(0,1fr);background:#f5f6f3;color:#122832;font-family:var(--sans)}
.partner-app-sidebar{position:sticky;top:0;height:100vh;background:#0b171d;color:#e9eff0;padding:22px 14px 18px;display:flex;flex-direction:column;z-index:30;border-right:1px solid rgba(255,255,255,.07)}
.partner-app-brand{display:flex;align-items:center;gap:9px;padding:4px 9px 22px;border-bottom:1px solid rgba(255,255,255,.08)}.partner-app-brand img{width:27px;filter:brightness(0) invert(1)}.partner-app-brand span{font-family:var(--serif);font-size:11px;letter-spacing:.18em}
.partner-app-account{display:flex;align-items:center;gap:10px;margin:15px 7px 8px;padding-bottom:14px;border-bottom:1px solid rgba(255,255,255,.08)}.partner-app-account>i{flex:0 0 auto}.partner-app-account>div{display:grid;gap:2px;min-width:0}.partner-app-account b{font-size:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.partner-app-account small{font-size:6.8px;color:#8599a2}
.partner-app-sidebar nav{display:grid;gap:4px;margin-top:5px}.partner-app-sidebar nav a{display:flex;align-items:center;gap:10px;padding:10px 11px;border-radius:9px;color:#9fb0b6;font-size:8.5px;transition:.18s}.partner-app-sidebar nav a svg{opacity:.85}.partner-app-sidebar nav a:hover{background:rgba(255,255,255,.055);color:#fff}.partner-app-sidebar nav a.active{background:#9d702b;color:#fff;box-shadow:0 7px 20px rgba(0,0,0,.18)}
.partner-app-balance{margin-top:auto;border:1px solid rgba(255,255,255,.09);background:rgba(255,255,255,.035);border-radius:12px;padding:12px;display:grid;gap:4px}.partner-app-balance small{font-size:6px;letter-spacing:.14em;color:#83959c}.partner-app-balance strong{font-family:var(--serif);font-size:23px;font-weight:500}.partner-app-balance span{font-size:6.8px;color:#91a2a8;line-height:1.45}.partner-app-balance a{font-size:7.2px;color:#d7b987;margin-top:5px}
.partner-app-side-footer{display:grid;gap:7px;padding:13px 8px 0}.partner-app-side-footer a{font-size:6.8px;color:#7f929a}.partner-app-side-footer a:hover{color:#fff}
.partner-app-main{min-width:0;background:#f6f7f4}.partner-app-topbar{height:76px;display:flex;align-items:center;justify-content:space-between;padding:0 28px;background:rgba(255,255,255,.94);border-bottom:1px solid rgba(18,40,50,.10);position:sticky;top:0;z-index:20;backdrop-filter:blur(14px)}.partner-app-topbar>div:first-child{display:grid;gap:2px}.partner-app-topbar small{font-size:6px;letter-spacing:.15em;color:#829198}.partner-app-topbar h1{font-family:var(--serif);font-size:24px;font-weight:500;margin:0;line-height:1}.partner-app-toptools{display:flex;align-items:center;gap:8px}.partner-app-toptools .lang-toggle,.partner-app-toptools .theme-toggle{background:#fff}
.partner-page-pad{padding:26px 30px 48px;max-width:1540px;margin:0 auto}.partner-page-intro{display:flex;align-items:flex-start;justify-content:space-between;gap:24px;margin-bottom:22px}.partner-page-intro h2{font-family:var(--serif);font-weight:500;font-size:28px;margin:0 0 6px;letter-spacing:-.025em}.partner-page-intro p{font-size:9px;color:#6b7d85;margin:0}.partner-page-intro .solid-btn{height:38px;padding:0 14px;font-size:8px}.partner-period,.partner-analytics-controls select{height:34px;border:1px solid rgba(18,40,50,.12);border-radius:9px;background:#fff;padding:0 10px;color:#465c65;font-size:8px}
.partner-kpi-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin-bottom:12px}.partner-kpi-grid article{position:relative;border:1px solid rgba(18,40,50,.1);background:#fff;border-radius:12px;padding:14px;min-height:112px;display:grid;align-content:start;gap:3px;box-shadow:0 6px 18px rgba(22,43,53,.025)}.partner-kpi-grid article i{position:absolute;right:12px;top:12px;width:28px;height:28px;border-radius:8px;background:#f0f4f3;display:grid;place-items:center;color:#667f89;font-style:normal}.partner-kpi-grid article small{font-size:7px;color:#788b93}.partner-kpi-grid article b{font-size:24px;line-height:1.1;margin-top:15px}.partner-kpi-grid article>span{font-size:7px;color:#8a989e}.partner-kpi-grid article>span.positive{color:#3e8a65}.partner-kpi-four{grid-template-columns:repeat(4,1fr)}
.partner-dashboard-grid{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(260px,.72fr);gap:12px}.partner-panel{border:1px solid rgba(18,40,50,.1);background:#fff;border-radius:13px;box-shadow:0 6px 20px rgba(20,39,48,.025);min-width:0}.partner-panel-head{display:flex;align-items:flex-start;justify-content:space-between;gap:15px;padding:15px 16px 0}.partner-panel-head h3{font-family:var(--serif);font-size:18px;font-weight:500;margin:0}.partner-panel-head p{font-size:7px;color:#84939a;margin:3px 0 0}.partner-panel-head>a{font-size:7px;color:#637c87;margin-top:4px}.partner-performance-panel{padding-bottom:8px}.partner-line-chart{display:block;width:100%;height:auto;padding:8px 11px 4px}.partner-line-chart .grid line{stroke:#e8eceb;stroke-width:1}.partner-line-chart polyline{fill:none;stroke-width:2;vector-effect:non-scaling-stroke}.partner-line-chart .s-views{stroke:#365f9a}.partner-line-chart .s-opens{stroke:#c39742}.partner-line-chart .s-clicks{stroke:#4f9a83}.partner-line-chart .s-requests{stroke:#be6f55}.partner-chart-legend{display:flex;gap:11px;flex-wrap:wrap;padding-top:2px}.partner-chart-legend span{font-size:6.2px;color:#72848b}.partner-chart-legend span:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;margin-right:4px}.partner-chart-legend .views:before{background:#365f9a}.partner-chart-legend .opens:before{background:#c39742}.partner-chart-legend .clicks:before{background:#4f9a83}.partner-chart-legend .requests:before{background:#be6f55}
.partner-traffic{padding-bottom:14px}.partner-donut{width:132px;height:132px;border-radius:50%;margin:17px auto 13px;background:conic-gradient(#365f9a 0 42%,#c39742 42% 70%,#7c9faf 70% 86%,#69a47f 86% 95%,#c8d0d2 95% 100%);display:grid;place-items:center}.partner-donut:before{content:"";width:79px;height:79px;border-radius:50%;background:#fff;grid-area:1/1}.partner-donut>div{grid-area:1/1;z-index:1;text-align:center;display:grid}.partner-donut b{font-size:17px}.partner-donut span{font-size:6px;color:#84939a}.partner-traffic-list{display:grid;gap:7px;padding:0 16px}.partner-traffic-list>span{display:grid;grid-template-columns:7px 1fr auto;gap:6px;align-items:center}.partner-traffic-list i{width:6px;height:6px;border-radius:50%;background:#365f9a}.partner-traffic-list i.t2{background:#c39742}.partner-traffic-list i.t3{background:#7c9faf}.partner-traffic-list i.t4{background:#69a47f}.partner-traffic-list i.t5{background:#c8d0d2}.partner-traffic-list b{font-size:7px;font-weight:500}.partner-traffic-list small{font-size:7px;color:#7a8b92}
.partner-dashboard-lower{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(260px,.55fr);gap:12px;margin-top:12px}.partner-mini-list{padding:8px 14px 14px}.partner-mini-list a{display:grid;grid-template-columns:46px 1fr auto;gap:9px;align-items:center;padding:8px 0;border-bottom:1px solid #edf0ef}.partner-mini-list a:last-child{border-bottom:0}.partner-mini-list img{width:46px;height:38px;object-fit:cover;border-radius:7px}.partner-mini-list span{display:grid;gap:2px}.partner-mini-list b{font-size:8px}.partner-mini-list small,.partner-mini-list em{font-size:6.8px;color:#7d8d94;font-style:normal}.partner-credit-card{padding:17px;display:flex;flex-direction:column}.partner-credit-card>small{font-size:6px;letter-spacing:.15em;color:#8b979c}.partner-credit-card>b{font-family:var(--serif);font-size:35px;font-weight:500;margin:10px 0 4px}.partner-credit-card p{font-size:8px;color:#7b8c93;margin:0 0 13px}.partner-credit-card p strong{color:#233f4b}.partner-credit-meter{height:5px;border-radius:999px;background:#edf0ef;overflow:hidden}.partner-credit-meter i{display:block;height:100%;background:#a67631;border-radius:inherit}.partner-credit-card>span{font-size:6.5px;color:#8a989e;margin-top:7px}.partner-credit-card .outline-btn{height:34px;font-size:7.5px;margin-top:auto}

/* Listing management */
.partner-list-tabs{display:flex;gap:18px;align-items:center;border-bottom:1px solid #e4e9e7;margin-bottom:12px}.partner-list-tabs button{appearance:none;border:0;background:transparent;padding:0 2px 10px;font:inherit;font-size:10px;color:#7b8b92;position:relative;cursor:pointer}.partner-list-tabs button.active{color:#183845;font-weight:650}.partner-list-tabs button.active:after{content:"";position:absolute;height:2px;left:0;right:0;bottom:-1px;background:#173c4d}
.partner-list-table{overflow:hidden}.partner-table-head,.partner-table-row{display:grid;grid-template-columns:minmax(210px,1.35fr) minmax(190px,1fr) 100px 70px 60px 72px 70px;gap:10px;align-items:center}.partner-table-head{padding:11px 14px;border-bottom:1px solid #e8eceb;font-size:6px;text-transform:uppercase;letter-spacing:.08em;color:#8a989e}.partner-table-row{padding:10px 14px;border-bottom:1px solid #edf0ef}.partner-table-row:last-child{border-bottom:0}.partner-table-property{display:flex;align-items:center;gap:9px;min-width:0}.partner-table-property img{width:58px;height:44px;object-fit:cover;border-radius:7px}.partner-table-property>span,.partner-table-row>span{display:grid;gap:2px;min-width:0}.partner-table-property b{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.partner-table-property small,.partner-table-row>span small{font-size:6.5px;color:#84939a}.partner-table-row>span{font-size:7.5px}.partner-table-row>b{font-size:8px}.partner-status{font-style:normal;font-size:6.5px;padding:5px 7px;border-radius:999px;width:max-content}.partner-status.is-active{background:#e6f4eb;color:#2e7c4e}.partner-status.is-pending{background:#fff2d8;color:#9b6a19}.partner-status.is-inactive{background:#edf0ef;color:#7d8b91}.partner-row-actions{display:flex;justify-content:flex-end;gap:5px}.partner-row-actions a,.partner-row-actions button{width:29px;height:29px;border:1px solid #dfe5e3;background:#fff;border-radius:7px;display:grid;place-items:center;cursor:pointer;color:#617981}.partner-list-cost-note{margin-top:11px;display:flex;align-items:center;gap:8px;padding:12px 14px;border:1px solid #dfe5e3;border-radius:11px;background:#fff;font-size:7.5px;color:#71848b}.partner-list-cost-note svg{color:#a67631}.partner-list-cost-note b{color:#1d3c49}

/* Detailed analytics */
.partner-analytics-controls{display:flex;gap:8px}.partner-analytics-controls select:first-child{min-width:300px}.partner-source-bars{padding-bottom:16px}.partner-source-bars label{display:grid;gap:5px;padding:8px 16px}.partner-source-bars label>span{display:flex;justify-content:space-between;font-size:7px}.partner-source-bars label small{color:#819198}.partner-source-bars label>i{height:6px;border-radius:999px;background:#edf0ef;overflow:hidden}.partner-source-bars label>i em{display:block;height:100%;background:#507ca6;border-radius:inherit}.partner-analytics-bottom{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(290px,.6fr);gap:12px;margin-top:12px}.partner-funnel{padding:30px 18px;display:flex;align-items:center;justify-content:space-between;gap:10px}.partner-funnel>span{display:grid;text-align:center;gap:3px}.partner-funnel b{font-size:22px}.partner-funnel small{font-size:6.5px;color:#83939a}.partner-funnel>i{font-style:normal;color:#aeb9bd}.partner-listing-analytics-card{padding:12px;display:grid;grid-template-columns:115px 1fr;gap:12px}.partner-listing-analytics-card img{width:115px;height:100%;min-height:105px;object-fit:cover;border-radius:9px}.partner-listing-analytics-card>div{display:flex;flex-direction:column;justify-content:center}.partner-listing-analytics-card small{font-size:6px;color:#3b865b;text-transform:uppercase}.partner-listing-analytics-card h3{font-family:var(--serif);font-size:19px;font-weight:500;margin:5px 0 3px}.partner-listing-analytics-card p{font-size:7px;color:#7d8d94;margin:0}.partner-listing-analytics-card a{font-size:7px;color:#315c70;margin-top:14px}

/* Credits */
.partner-billing-hero{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:12px}.partner-billing-hero>div{border:1px solid #dfe5e3;background:#fff;border-radius:13px;padding:18px;display:grid;gap:5px}.partner-billing-hero small{font-size:6px;letter-spacing:.1em;color:#84939a}.partner-billing-hero b{font-family:var(--serif);font-size:28px;font-weight:500}.partner-billing-hero b i{font-family:var(--sans);font-size:9px;color:#778991;font-style:normal;font-weight:400}.partner-billing-hero span{font-size:7px;color:#7c8d94;line-height:1.45}.partner-credit-packs-panel{padding-bottom:16px}.partner-credit-pack-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;padding:16px}.partner-credit-pack-grid button{position:relative;min-height:130px;border:1px solid #dfe5e3;border-radius:12px;background:#fbfcfa;cursor:pointer;display:grid;align-content:center;justify-items:center;gap:5px;color:#183743;transition:.18s}.partner-credit-pack-grid button:hover{border-color:#b88a43;transform:translateY(-2px);box-shadow:0 8px 22px rgba(30,50,58,.06)}.partner-credit-pack-grid button small{font-size:6px;color:#8b989d}.partner-credit-pack-grid button b{font-size:23px}.partner-credit-pack-grid button span{font-size:7px;color:#6e8189}.partner-credit-pack-grid button em{position:absolute;right:7px;top:7px;font-size:6px;font-style:normal;color:#8b6123;background:#f6ead4;padding:4px 6px;border-radius:999px}.partner-billing-grid{display:grid;grid-template-columns:1.3fr .7fr;gap:12px;margin-top:12px}.partner-billing-grid>.partner-panel{padding-bottom:16px}.partner-usage-lines{display:flex;align-items:center;justify-content:center;gap:18px;padding:30px 18px 20px}.partner-usage-lines span{display:grid;gap:3px;text-align:center}.partner-usage-lines b{font-size:20px}.partner-usage-lines small{font-size:6.5px;color:#84939a}.partner-credit-meter.large{margin:0 18px;height:7px}.partner-billing-grid>.partner-panel>p{font-size:7px;color:#7c8c93;padding:0 18px}.partner-volume-copy{padding:26px 18px 18px;display:grid;justify-items:start;gap:12px}.partner-volume-copy svg{color:#a67631}.partner-volume-copy p{font-size:8px;line-height:1.6;color:#75868d;margin:0}.partner-volume-copy .outline-btn{height:34px;padding:0 11px;font-size:7px}

/* Create listing studio */
.partner-create-page{max-width:1600px}.partner-create-cost{display:grid;text-align:right;gap:2px}.partner-create-cost small{font-size:6px;color:#86959b}.partner-create-cost b{font-size:14px}.partner-create-cost span{font-size:6.5px;color:#7b8d94}
.partner-editor-layout{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,.62fr);gap:14px;align-items:start}.partner-editor-form{display:grid;gap:12px}.partner-editor-section{border:1px solid #dfe5e3;background:#fff;border-radius:13px;padding:17px}.partner-editor-section-head{display:grid;grid-template-columns:27px 1fr;gap:10px;align-items:start;margin-bottom:15px}.partner-editor-section-head>span{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;background:#173c4d;color:#fff;font-size:7px}.partner-editor-section-head h3{font-family:var(--serif);font-size:18px;font-weight:500;margin:0}.partner-editor-section-head p{font-size:7px;color:#839299;margin:3px 0 0}.partner-editor-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.partner-editor-grid label,.partner-brand-fields label,.partner-profile-form>label{display:grid;gap:5px}.partner-editor-grid label.full{grid-column:1/-1}.partner-editor-grid label>span,.partner-brand-fields label>span,.partner-profile-form label>span{font-size:7px;color:#657b84}.partner-editor-grid input,.partner-editor-grid select,.partner-editor-grid textarea,.partner-brand-fields input,.partner-profile-form input{width:100%;border:1px solid #dce3e1;border-radius:8px;background:#fbfcfa;color:#183743;padding:0 10px;height:37px;outline:none;font-size:8px}.partner-editor-grid textarea{height:92px;padding:10px;resize:vertical}.partner-editor-grid input:focus,.partner-editor-grid select:focus,.partner-editor-grid textarea:focus,.partner-brand-fields input:focus,.partner-profile-form input:focus{border-color:#7897a4;box-shadow:0 0 0 2px rgba(90,126,141,.08)}
.partner-photo-drop{display:block;border:1px dashed #cdd7d5;border-radius:11px;background:#fafbf9;cursor:pointer}.partner-photo-drop input{display:none}.partner-photo-drop>span{min-height:110px;display:grid;place-items:center;align-content:center;gap:5px;color:#6f838b}.partner-photo-drop svg{color:#a67631}.partner-photo-drop b{font-size:8px}.partner-photo-drop small{font-size:6.5px}.partner-photo-strip{display:flex;gap:7px;margin-top:8px;overflow:auto}.partner-photo-strip img{width:72px;height:58px;border-radius:7px;object-fit:cover;flex:0 0 auto}.partner-marker-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px}.partner-marker-choices label{border:1px solid #dfe5e3;border-radius:10px;padding:10px;display:flex;align-items:center;gap:9px;cursor:pointer}.partner-marker-choices label.active{border-color:#a67631;background:#fbf6ed}.partner-marker-choices input{display:none}.partner-marker-choices label>span{display:grid;gap:2px}.partner-marker-choices b{font-size:7.5px}.partner-marker-choices small{font-size:6px;color:#84949a}.partner-marker-choices.compact{grid-template-columns:repeat(3,1fr)}.partner-brand-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px}.partner-brand-fields small,.partner-profile-form label small{font-size:6px;color:#8b989d}.publisher-location-map{position:relative;height:275px;border:1px solid #dce3e1;border-radius:11px;overflow:hidden;background:#e9eeec;cursor:crosshair}.publisher-location-note{display:block;margin-top:7px;font-size:6.5px;color:#829198}.publisher-map-marker{width:30px;height:36px;border-radius:10px 10px 14px 14px;background:#173c4d;color:#fff;display:grid;place-items:center;box-shadow:0 7px 16px rgba(20,43,53,.22);cursor:default}.partner-publish-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:13px}.partner-publish-summary>span{border:1px solid #e1e6e4;border-radius:10px;padding:11px;display:grid;grid-template-columns:20px 1fr;column-gap:8px;align-items:center}.partner-publish-summary svg{grid-row:1/3;color:#a67631}.partner-publish-summary b{font-size:10px}.partner-publish-summary small{font-size:6.5px;color:#85949a}.partner-editor-actions{display:flex;justify-content:flex-end;gap:8px}.partner-editor-actions button{height:37px;padding:0 14px;font-size:7.5px}.partner-editor-note{font-size:6.5px!important;line-height:1.5;color:#87959b!important;margin:11px 0 0!important}.partner-preview-sticky{top:92px}.publisher-preview-booking,#publisher-preview-booking{margin-top:5px;height:34px;border-radius:8px;background:#173c4d;color:#fff;display:flex;align-items:center;justify-content:center;font-size:7.5px}.publisher-preview-tip{font-size:7px!important}

/* Profile */
.partner-profile-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,.7fr);gap:12px}.partner-profile-form{padding:18px;display:grid;gap:11px}.partner-profile-form>label input{height:38px}.partner-profile-form>.solid-btn{height:38px;font-size:8px;justify-self:start;padding:0 18px}.partner-brand-preview{padding:20px}.partner-brand-preview>small{font-size:6px;letter-spacing:.12em;color:#87959b}.partner-brand-preview-marker{display:flex;gap:10px;align-items:center;margin:28px 0 14px}.partner-brand-preview-marker>span{display:grid;gap:2px}.partner-brand-preview-marker b{font-family:var(--serif);font-size:18px;font-weight:500}.partner-brand-preview-marker small{font-size:6.5px;color:#85949a}.partner-brand-preview>p{font-size:8px;line-height:1.55;color:#74868e}

/* Portal dark theme */
:root[data-theme="dark"] .partner-app-main,:root[data-theme="dark"] .partner-portal-route{background:#091117;color:#eef3f4}
:root[data-theme="dark"] .partner-app-topbar{background:rgba(11,18,23,.94);border-color:rgba(222,231,235,.1)}
:root[data-theme="dark"] .partner-app-topbar h1,:root[data-theme="dark"] .partner-page-intro h2{color:#eef3f4}
:root[data-theme="dark"] .partner-panel,:root[data-theme="dark"] .partner-kpi-grid article,:root[data-theme="dark"] .partner-billing-hero>div,:root[data-theme="dark"] .partner-editor-section,:root[data-theme="dark"] .pro-dashboard-preview{background:#0f1a21;border-color:rgba(222,231,235,.11);color:#eef3f4}
:root[data-theme="dark"] .partner-page-intro p,:root[data-theme="dark"] .partner-panel-head p,:root[data-theme="dark"] .partner-kpi-grid article small,:root[data-theme="dark"] .partner-kpi-grid article>span,:root[data-theme="dark"] .partner-table-property small,:root[data-theme="dark"] .partner-table-row>span small{color:#8fa0a7}
:root[data-theme="dark"] .partner-period,:root[data-theme="dark"] .partner-analytics-controls select,:root[data-theme="dark"] .partner-editor-grid input,:root[data-theme="dark"] .partner-editor-grid select,:root[data-theme="dark"] .partner-editor-grid textarea,:root[data-theme="dark"] .partner-brand-fields input,:root[data-theme="dark"] .partner-profile-form input{background:#0c151b;border-color:rgba(222,231,235,.12);color:#eef3f4}
:root[data-theme="dark"] .partner-table-head,:root[data-theme="dark"] .partner-table-row,:root[data-theme="dark"] .partner-mini-list a{border-color:rgba(222,231,235,.08)}
:root[data-theme="dark"] .partner-donut:before{background:#0f1a21}
:root[data-theme="dark"] .partner-line-chart .grid line{stroke:#1d2b32}
:root[data-theme="dark"] .partner-credit-meter,:root[data-theme="dark"] .partner-source-bars label>i{background:#1d2930}
:root[data-theme="dark"] .partner-row-actions a,:root[data-theme="dark"] .partner-row-actions button,:root[data-theme="dark"] .partner-list-cost-note,:root[data-theme="dark"] .partner-photo-drop,:root[data-theme="dark"] .partner-credit-pack-grid button{background:#0d171d;border-color:rgba(222,231,235,.1);color:#eaf0f1}
:root[data-theme="dark"] .partner-marker-choices label{border-color:rgba(222,231,235,.1)}:root[data-theme="dark"] .partner-marker-choices label.active{background:rgba(166,118,49,.13);border-color:#9f742f}

@media (max-width:1180px){
  .pro-credit-packs{grid-template-columns:1fr repeat(2,1fr)}.pro-credit-packs .outline-btn{grid-column:1/-1}.partner-app-shell{grid-template-columns:210px minmax(0,1fr)}.partner-kpi-grid{grid-template-columns:repeat(3,1fr)}.partner-kpi-grid article:nth-last-child(-n+2){grid-column:auto}.partner-dashboard-grid,.partner-dashboard-lower,.partner-analytics-bottom,.partner-billing-grid{grid-template-columns:1fr}.partner-table-head,.partner-table-row{grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) 90px 60px 50px 60px 60px}.partner-editor-layout{grid-template-columns:minmax(0,1.25fr) minmax(280px,.7fr)}
}
@media (max-width:900px){
  .pro-credit-pricing-grid{grid-template-columns:1fr}.pro-credit-packs{grid-template-columns:1fr 1fr}.partner-app-shell{display:block}.partner-app-sidebar{position:relative;height:auto;padding:12px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.partner-app-brand{border:0;padding:0}.partner-app-account{margin:0;border:0;padding:0}.partner-app-sidebar nav{grid-column:1/-1;display:flex;overflow:auto}.partner-app-sidebar nav a{white-space:nowrap}.partner-app-balance{display:none}.partner-app-side-footer{display:none}.partner-app-topbar{top:0;height:66px}.partner-page-pad{padding:20px 16px 38px}.partner-kpi-grid,.partner-kpi-four{grid-template-columns:repeat(2,1fr)}.partner-list-table{overflow:auto}.partner-table-head,.partner-table-row{min-width:850px}.partner-profile-grid{grid-template-columns:1fr}.partner-editor-layout{grid-template-columns:minmax(0,1.15fr) minmax(270px,.8fr)}.partner-preview-sticky{position:sticky;top:78px}.partner-billing-hero{grid-template-columns:1fr}.partner-credit-pack-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:620px){
  .pro-dashboard-mini-metrics{grid-template-columns:1fr 1fr}.pro-credit-packs{grid-template-columns:1fr}.partner-app-account{display:none}.partner-app-sidebar{grid-template-columns:1fr auto}.partner-app-sidebar nav{grid-column:1/-1}.partner-app-topbar{padding:0 14px}.partner-app-topbar h1{font-size:19px}.partner-page-intro{flex-direction:column}.partner-kpi-grid,.partner-kpi-four{grid-template-columns:1fr 1fr}.partner-dashboard-grid,.partner-dashboard-lower{grid-template-columns:1fr}.partner-analytics-controls{width:100%;display:grid}.partner-analytics-controls select:first-child{min-width:0}.partner-funnel{display:grid;grid-template-columns:1fr}.partner-funnel>i{transform:rotate(90deg)}.partner-credit-pack-grid{grid-template-columns:1fr}.partner-editor-grid,.partner-brand-fields,.partner-marker-choices,.partner-publish-summary{grid-template-columns:1fr}.partner-editor-grid label.full{grid-column:auto}
}
.partner-marker-monogram{font-family:var(--serif);font-size:13px;font-weight:600;line-height:1}

/* === v56 QA polish ======================================================= */
/* Collaboration selector: more editorial / visual, based on approved mockup. */
.collab-path-grid{align-items:stretch}
.collab-path-card{min-height:330px;grid-template-rows:150px auto 1fr auto;overflow:hidden;padding:0 18px 18px}
.collab-path-card figure{margin:0 -18px 4px;height:150px;overflow:hidden;border-bottom:1px solid var(--o-line);background:var(--o-surface)}
.collab-path-card figure img{width:100%;height:100%;object-fit:cover;filter:saturate(.78) contrast(.96);transition:transform .45s ease,filter .3s ease}
.collab-path-card:hover figure img{transform:scale(1.035);filter:saturate(.92) contrast(1)}
.collab-path-card>span{padding-top:4px}
.collab-path-card>b{align-self:start;font-size:27px;margin-top:2px}
.collab-path-card>small{font-size:10px;line-height:1.52}
.collab-path-card>i{top:166px}
:root[data-theme="dark"] .collab-path-card figure img{filter:saturate(.65) brightness(.78) contrast(1.05)}
:root[data-theme="dark"] .collab-path-card:hover figure img{filter:saturate(.82) brightness(.86) contrast(1.08)}

/* Professional landing identity test. */
.pro-logo-preview-upload{display:grid;grid-template-columns:auto 1fr;align-items:center;column-gap:9px;row-gap:2px;border:1px dashed var(--o-line);border-radius:10px;padding:9px 11px;cursor:pointer;background:color-mix(in srgb,var(--o-card) 88%,transparent)}
.pro-logo-preview-upload input{display:none}.pro-logo-preview-upload span{display:flex;align-items:center;gap:7px;font-size:9px;font-weight:600}.pro-logo-preview-upload small{grid-column:2;font-size:7.5px;color:var(--o-muted)}
.partner-demo-marker img,.partner-marker-logo img,.publisher-marker-preview.logo img,.partner-app-account .logo img{width:100%;height:100%;object-fit:contain;border-radius:inherit}
.partner-marker-logo{width:100%;height:100%;display:grid;place-items:center;overflow:hidden;padding:3px}

/* Compact popup at narrower desktop widths; mobile drawer remains unchanged. */
@media (min-width:801px) and (max-width:1180px){
  .property-popover{width:276px;max-height:360px;border-radius:13px}.popover-media{height:126px}.popover-body{padding:12px}.popover-title{font-size:20px}.popover-actions{gap:6px}.popover-actions button{height:34px;font-size:7.5px}
}

/* Professional app: larger type, theme-aware sidebar, clearer hierarchy. */
.partner-app-sidebar{background:#f6f4ee;color:#19343f;border-right:1px solid rgba(18,40,50,.11)}
.partner-app-brand{color:#19343f}.partner-app-account{border-color:rgba(18,40,50,.11)}.partner-app-account small{color:#6f838b}
.partner-app-sidebar nav a{color:#627983;font-size:10px}.partner-app-sidebar nav a:hover{background:rgba(18,40,50,.055);color:#173c4d}.partner-app-sidebar nav a.active{background:#173c4d;color:#fff}
.partner-app-balance{background:rgba(255,255,255,.62);border-color:rgba(18,40,50,.1);color:#19343f}.partner-app-side-footer a{color:#647983}
:root[data-theme="dark"] .partner-app-sidebar{background:#081117;color:#e9eff0;border-color:rgba(255,255,255,.07)}
:root[data-theme="dark"] .partner-app-brand{color:#e9eff0}:root[data-theme="dark"] .partner-app-account{border-color:rgba(255,255,255,.08)}:root[data-theme="dark"] .partner-app-account small{color:#8599a2}
:root[data-theme="dark"] .partner-app-sidebar nav a{color:#9fb0b6}:root[data-theme="dark"] .partner-app-sidebar nav a:hover{background:rgba(255,255,255,.055);color:#fff}:root[data-theme="dark"] .partner-app-sidebar nav a.active{background:#9d702b;color:#fff}
:root[data-theme="dark"] .partner-app-balance{background:rgba(255,255,255,.035);border-color:rgba(255,255,255,.08);color:#eef3f4}:root[data-theme="dark"] .partner-app-side-footer a{color:#8fa1a9}
.partner-page-intro p{font-size:11px;line-height:1.5}.partner-kpi-grid article small{font-size:9px}.partner-kpi-grid article>span{font-size:8.5px}.partner-panel-head p{font-size:9px}.partner-table-property b{font-size:10px}.partner-table-property small,.partner-table-row>span small{font-size:8px}.partner-table-row>span{font-size:9px}.partner-table-row>b{font-size:9.5px}.partner-table-head{font-size:7.5px}.partner-status{font-size:8px}.partner-editor-section-head p{font-size:9px;line-height:1.45}.partner-editor-grid label>span,.partner-brand-fields label>span,.partner-profile-form label>span{font-size:9px}.partner-editor-grid input,.partner-editor-grid select,.partner-editor-grid textarea,.partner-brand-fields input,.partner-profile-form input{font-size:10px}.partner-photo-drop b{font-size:10px}.partner-photo-drop small,.partner-marker-choices small,.partner-brand-fields small,.partner-profile-form label small{font-size:8px}.partner-marker-choices b{font-size:9px}.publisher-preview-body>small{font-size:8px}.publisher-preview-body p,.publisher-preview-body>em,.publisher-preview-source>span{font-size:9px}.publisher-preview-tip{font-size:9px!important}.partner-editor-note{font-size:8.5px!important}.partner-list-cost-note{font-size:9px}.partner-app-account small{font-size:8px}.partner-app-balance span,.partner-app-balance small{font-size:8px}
.partner-demo-notice{display:flex;align-items:flex-start;gap:9px;margin-bottom:15px;padding:10px 12px;border:1px solid rgba(166,118,49,.24);border-radius:10px;background:rgba(166,118,49,.07);color:#6b542f}.partner-demo-notice>span{display:grid;gap:2px;font-size:9px;line-height:1.4}.partner-demo-notice b{font-size:9px}.partner-demo-notice svg{margin-top:1px}
:root[data-theme="dark"] .partner-demo-notice{background:rgba(201,149,66,.08);border-color:rgba(201,149,66,.24);color:#d7b987}

/* Listing table interaction and address alignment. */
.partner-table-head,.partner-table-row{grid-template-columns:minmax(220px,1.25fr) minmax(220px,1.08fr) 96px 64px 58px 72px 112px}
.partner-table-row[role="link"]{cursor:pointer;transition:background .15s ease}.partner-table-row[role="link"]:hover{background:rgba(20,55,70,.035)}
:root[data-theme="dark"] .partner-table-row[role="link"]:hover{background:rgba(255,255,255,.025)}
.partner-status.is-archived{background:#ece9e1;color:#776c58}.partner-row-actions{min-width:104px}.partner-row-actions button[data-delete]{font-size:17px;line-height:1;color:#9b5b5b}

/* Publishing studio: address typeahead, sortable photos and sticky preview. */
.partner-editor-layout,.partner-editor-form,.partner-preview-column{overflow:visible}.partner-preview-sticky{position:sticky!important;top:calc(var(--header-h) + 18px)!important;align-self:start}
.publisher-address-field{position:relative}.publisher-address-suggestions{position:absolute;z-index:45;left:0;right:0;top:calc(100% + 5px);border:1px solid #dce3e1;border-radius:10px;background:#fff;box-shadow:0 14px 36px rgba(20,43,53,.14);padding:5px;max-height:220px;overflow:auto}.publisher-address-suggestions[hidden]{display:none}.publisher-address-suggestions button{width:100%;border:0;background:transparent;text-align:left;padding:9px 10px;border-radius:7px;display:grid;gap:2px;color:#173c4d;cursor:pointer}.publisher-address-suggestions button:hover{background:#f1f5f3}.publisher-address-suggestions b{font-size:9px}.publisher-address-suggestions small{font-size:8px;color:#7c8e95}
:root[data-theme="dark"] .publisher-address-suggestions{background:#0c151b;border-color:rgba(222,231,235,.14)}:root[data-theme="dark"] .publisher-address-suggestions button{color:#eef3f4}:root[data-theme="dark"] .publisher-address-suggestions button:hover{background:#15232a}
.partner-photo-strip{align-items:stretch}.partner-photo-thumb{position:relative;width:82px;height:70px;border:1px solid #dbe2e0;border-radius:9px;background:#fff;padding:0;overflow:hidden;cursor:grab;flex:0 0 auto}.partner-photo-thumb:active{cursor:grabbing}.partner-photo-thumb img{width:100%;height:100%;object-fit:cover}.partner-photo-thumb small{position:absolute;left:4px;bottom:4px;padding:3px 5px;border-radius:999px;background:rgba(7,17,23,.78);color:#fff;font-size:6.5px}.partner-photo-thumb.is-cover{border-color:#a67631;box-shadow:0 0 0 1px rgba(166,118,49,.15)}
.partner-photo-thumb{user-select:none;touch-action:manipulation;transition:transform .14s ease,opacity .14s ease,border-color .14s ease,box-shadow .14s ease}.partner-photo-thumb.dragging{opacity:.42;transform:scale(.96)}.partner-photo-thumb.drag-over{border-color:#a67631!important;box-shadow:0 0 0 2px rgba(166,118,49,.18)!important;transform:translateY(-2px)}.partner-photo-drag{position:absolute;z-index:2;right:4px;top:4px;min-width:20px;height:20px;padding:0 5px;border-radius:999px;display:grid;place-items:center;background:rgba(7,17,23,.74);color:#fff;font-size:11px;line-height:1;letter-spacing:-2px;pointer-events:none}.partner-photo-thumb:focus-visible{outline:2px solid rgba(166,118,49,.5);outline-offset:2px}
.partner-brand-auto{display:flex!important;grid-column:1/-1;align-items:center;gap:8px!important}.partner-brand-auto input{width:auto!important;height:auto!important}

/* Explicit line-break intent in the professional hero/pricing titles. */
.collab-pro-page .collab-detail-copy h1 br,.pro-pricing .collab-section-heading h2 br{display:block}

/* Minimized / very narrow desktop: avoid giant overlays fighting the viewport. */
@media (max-width:760px){
  .collab-path-card{min-height:250px;grid-template-rows:110px auto 1fr auto}.collab-path-card figure{height:110px}.collab-path-card>i{top:126px}
  .partner-app-sidebar nav a{font-size:9px}.partner-page-pad{padding-inline:12px}.partner-kpi-grid,.partner-kpi-four{grid-template-columns:1fr 1fr}
}
@media (max-width:480px){.partner-kpi-grid,.partner-kpi-four{grid-template-columns:1fr}.partner-app-topbar h1{font-size:17px}.partner-app-sidebar nav{gap:2px}.partner-app-sidebar nav a{padding:8px 9px}.property-popover{max-height:44vh}}
/* v56 final collision/address refinements */
.partner-table-head,.partner-table-row{grid-template-columns:minmax(188px,1.12fr) minmax(220px,1.12fr) 96px 64px 58px 72px 112px}
:root[data-theme="dark"] .publisher-marker-preview.logo img,:root[data-theme="dark"] .partner-marker-logo img{background:#fff}

/* Stable top-right map-control anchor. The rail stays a single flex stack. */
.map-topright{
  position:absolute;z-index:30;top:calc(var(--header-h) + 14px);right:18px;
  display:flex;align-items:flex-start;justify-content:flex-end;gap:10px;
  max-width:calc(100vw - 36px);pointer-events:none;
}
.map-topright>*{pointer-events:auto}
@media (min-width:801px) and (max-width:1180px){.map-topright{right:14px;gap:8px}}
@media (max-width:900px){.map-topright{top:calc(var(--header-h) + 9px);right:10px;align-items:flex-end;gap:8px}}
@media (max-width:800px){.map-page.detail-open .map-topright .map-control-rail{opacity:0;pointer-events:none}}
/* v59 — rebuild the right-side map controls as ONE flat rail.
   There are no nested navigation/layer groups and no child positioning.
   Every visible control is a direct flex child of .map-control-rail. */
.map-control-rail{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:flex-start;
  gap:7px;
  flex:0 0 auto;
  width:40px;
  margin:0;
  padding:0;
  position:relative;
  pointer-events:auto;
}
.map-control-rail > .map-rail-btn{
  position:relative!important;
  inset:auto!important;
  top:auto!important;
  right:auto!important;
  bottom:auto!important;
  left:auto!important;
  margin:0!important;
  padding:0!important;
  width:40px!important;
  min-width:40px!important;
  max-width:40px!important;
  height:40px!important;
  min-height:40px!important;
  max-height:40px!important;
  flex:0 0 40px!important;
  box-sizing:border-box!important;
  display:grid!important;
  place-items:center!important;
  border-radius:10px!important;
}
.map-control-rail > .map-rail-btn + .map-rail-btn{margin-top:0!important}
.map-control-rail > .layer-chip::before{display:none!important;content:none!important}
.map-control-rail > .layer-chip > span{
  display:block!important;
  position:absolute;
  right:calc(100% + 9px);
  top:50%;
  transform:translate(9px,-50%);
  opacity:0;
  pointer-events:none;
  white-space:nowrap;
}
.map-control-rail > .layer-chip:hover > span,
.map-control-rail > .layer-chip:focus-visible > span{opacity:1;transform:translate(0,-50%)}

/* Old group containers are intentionally retired in v59. */
.map-control-stack,.map-layer-controls{ }

@media (max-width:900px){
  .map-control-rail{width:37px;gap:7px}
  .map-control-rail > .map-rail-btn{
    width:37px!important;min-width:37px!important;max-width:37px!important;
    height:37px!important;min-height:37px!important;max-height:37px!important;
    flex-basis:37px!important;
  }
}
@media (max-width:520px){
  .map-control-rail > .layer-chip{display:none!important}
}


/* v60 — stabilization pass before the production map-engine migration. */

/* The right control rail remains one flex stack; the separator is a real
   layout child, so visual grouping cannot reintroduce overlapping rails. */
.map-control-separator{
  display:block;
  width:24px;
  height:1px;
  flex:0 0 1px;
  margin:4px 0 3px;
  background:color-mix(in srgb,var(--line-strong) 72%,transparent);
  border-radius:999px;
  pointer-events:none;
}
:root[data-theme="dark"] .map-control-separator{
  background:rgba(225,234,237,.55);
}
@media (max-width:520px){
  .map-control-separator{display:none}
}

/* Collaboration hub: keep the approved cards, but anchor the intro copy in
   the upper-left composition instead of bottom-aligning it beneath them. */
.collab-hub-inner{
  align-items:start!important;
}
.collab-hub-copy{
  align-self:start;
  padding-top:48px;
}
@media (max-width:1100px){
  .collab-hub-copy{padding-top:0}
}

/* Professional workspace: the light sidebar needs the dark mark, while dark
   mode keeps the white mark. */
:root:not([data-theme="dark"]) .partner-app-brand img{
  filter:none!important;
}
:root[data-theme="dark"] .partner-app-brand img{
  filter:brightness(0) invert(1)!important;
}

/* Professional workspace typography pass. The prototype had accumulated
   6–9px labels that were technically fitting but not comfortably readable. */
.partner-app-shell{font-size:11.5px}
.partner-app-brand span{font-size:12px}
.partner-app-account b{font-size:11.5px}
.partner-app-account small{font-size:9.5px!important}
.partner-app-sidebar nav a{font-size:11px!important}
.partner-app-balance small,
.partner-app-balance span{font-size:9.5px!important}
.partner-app-balance strong{font-size:24px}
.partner-app-side-footer a{font-size:9.5px}

.partner-app-topbar small{font-size:8px}
.partner-app-topbar h1{font-size:26px}
.partner-page-intro h2{font-size:27px}
.partner-page-intro p{font-size:12px!important;line-height:1.55!important}
.partner-period{font-size:10px}

.partner-kpi-grid article small{font-size:10.5px!important}
.partner-kpi-grid article>span{font-size:9.5px!important}
.partner-kpi-grid article>b{font-size:24px}
.partner-panel-head h3{font-size:19px}
.partner-panel-head p{font-size:10px!important}
.partner-panel-head>a{font-size:9.5px}
.partner-chart-legend span{font-size:8.5px}
.partner-traffic-list b{font-size:9.5px}
.partner-traffic-list small{font-size:9px}
.partner-mini-list b{font-size:10.5px}
.partner-mini-list small,
.partner-mini-list em{font-size:9px}
.partner-credit-card>small{font-size:8.5px}
.partner-credit-card p{font-size:10px}
.partner-credit-card>span{font-size:9px}
.partner-credit-card .outline-btn{font-size:9.5px}

.partner-table-head{font-size:9px!important}
.partner-table-property b{font-size:11px!important}
.partner-table-property small,
.partner-table-row>span small{font-size:9px!important}
.partner-table-row>span{font-size:10px!important}
.partner-table-row>b{font-size:10.5px!important}
.partner-status{font-size:9px!important}
.partner-row-actions a,
.partner-row-actions button{font-size:10px}
.partner-list-cost-note{font-size:10px!important}

.partner-editor-section-head h3{font-size:17px}
.partner-editor-section-head p{font-size:10.5px!important;line-height:1.5!important}
.partner-editor-grid label>span,
.partner-brand-fields label>span,
.partner-profile-form label>span{font-size:10.5px!important}
.partner-editor-grid input,
.partner-editor-grid select,
.partner-editor-grid textarea,
.partner-brand-fields input,
.partner-profile-form input{font-size:11.5px!important}
.partner-photo-drop b{font-size:11px!important}
.partner-photo-drop small,
.partner-marker-choices small,
.partner-brand-fields small,
.partner-profile-form label small{font-size:9px!important}
.partner-marker-choices b{font-size:10.5px!important}
.publisher-preview-body>small{font-size:9px!important}
.publisher-preview-body p,
.publisher-preview-body>em,
.publisher-preview-source>span{font-size:10px!important}
.publisher-preview-tip{font-size:10px!important}
.partner-editor-note{font-size:9.5px!important}
.partner-demo-notice>span,
.partner-demo-notice b{font-size:10px!important}


/* ==========================================================================
   v62 — one Google renderer: top-down <-> 3D camera transition
   ========================================================================== */

/* The public map now has one Map3DElement only. "2D" is the same ROADMAP
   renderer viewed top-down (tilt 0); the 3D control animates tilt/range/heading
   on that exact instance instead of swapping map engines. */
.google-unified-stage{transition:left .28s ease,background .2s ease}
.google-map-element,
.mini-map .google-map-element,
.v33-map-live .google-map-element,
.pro-live-map .google-map-element,
.publisher-location-map .google-map-element{display:block;width:100%;height:100%}
/* Keep one real map viewport on desktop/tablet. Both the inventory browser
   and the selected-property drawer occupy the same left rail, so the Google map
   must not change width when detail-open toggles. v62 previously changed #main-map
   only while detail-open (and even used a stale 460px tablet width), which made an
   unchanged geographic camera center visibly jump when the logement was closed. */
@media (min-width:1001px){.map-page #main-map{left:690px}}
@media (max-width:1000px) and (min-width:801px){.map-page #main-map{left:590px}}
@media (max-width:800px){.map-page #main-map{left:0}}
:root[data-theme="dark"] .google-unified-stage{background:#091216}

/* Local/demo API-key state. This intentionally replaces Google's generic
   error card so a missing key looks like part of CV Location. */
.google-map-config{position:absolute;inset:0;z-index:30;display:grid;place-items:center;padding:28px;background:linear-gradient(145deg,#e9efed,#f6f5f0);color:#17303b}
.google-map-config>div{width:min(460px,calc(100% - 24px));padding:24px;border:1px solid rgba(18,40,50,.13);border-radius:18px;background:rgba(251,250,247,.96);box-shadow:0 24px 70px rgba(17,39,49,.13)}
.google-map-config span{display:block;margin-bottom:8px;font-size:8px;font-weight:700;letter-spacing:.16em;color:#71848d}
.google-map-config b{display:block;font-family:var(--serif);font-size:24px;font-weight:500;margin-bottom:8px}
.google-map-config p{margin:0 0 16px;font-size:10.5px;line-height:1.55;color:#5d7079}
.google-map-config-form{display:flex;gap:8px}.google-map-config-form input{min-width:0;flex:1;height:40px;border:1px solid rgba(18,40,50,.17);border-radius:9px;background:#fff;padding:0 11px;outline:0}.google-map-config-form button{height:40px;border:0;border-radius:9px;background:#173847;color:#fff;padding:0 14px;cursor:pointer}
.google-map-config small{display:block;margin-top:10px;font-size:8.5px;line-height:1.45;color:#7b8b92}
.google-map-config.compact{padding:10px}.google-map-config.compact>div{width:100%;padding:14px;border-radius:12px;text-align:center}.google-map-config.compact b{font-size:16px}.google-map-config.compact p{font-size:8.5px;margin-bottom:0}
:root[data-theme="dark"] .google-map-config{background:linear-gradient(145deg,#091216,#111b20);color:#edf2f3}
:root[data-theme="dark"] .google-map-config>div{background:rgba(14,24,29,.96);border-color:rgba(231,239,241,.13)}
:root[data-theme="dark"] .google-map-config p,:root[data-theme="dark"] .google-map-config small{color:#a5b5bb}

.google-map-marker-host{pointer-events:auto}
.google-map-listing-marker{
  position:relative;border:0;background:transparent;padding:0;margin:0;
  cursor:pointer;display:grid;place-items:center;transform:translateY(-2px);
  transition:transform .18s ease,filter .18s ease;filter:drop-shadow(0 4px 6px rgba(12,31,40,.18));
}
.google-map-listing-marker.cv{width:50px;height:42px}
.google-map-marker-art{position:relative;display:block;width:100%;height:100%;overflow:visible}
.google-map-marker-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
.google-map-v{z-index:2;opacity:1;transform:none;transition:transform .34s cubic-bezier(.2,.75,.2,1),filter .34s}
.google-map-c{z-index:1;opacity:0;transform:translate(-13px,2px) rotate(-24deg) scale(1.17);transform-origin:50% 50%;transition:opacity .18s ease,transform .42s cubic-bezier(.18,.88,.24,1.12)}
.google-map-listing-marker.cv:hover,.google-map-listing-marker.cv:focus-visible,.google-map-listing-marker.cv.active{transform:translateY(-4px);filter:drop-shadow(0 7px 10px rgba(12,31,40,.24));outline:none}
.google-map-listing-marker.cv:hover .google-map-v,.google-map-listing-marker.cv:focus-visible .google-map-v,.google-map-listing-marker.cv.active .google-map-v{opacity:1;transform:scale(1.025)}
.google-map-listing-marker.cv:hover .google-map-c,.google-map-listing-marker.cv:focus-visible .google-map-c,.google-map-listing-marker.cv.active .google-map-c{opacity:1;transform:translate(0,0) rotate(0) scale(1)}
.google-map-listing-marker.partner{width:34px;height:34px;border:1px solid rgba(18,40,50,.2);border-radius:10px;background:rgba(251,250,247,.96);color:#173c4d;overflow:hidden}
.google-map-listing-marker.partner:hover,.google-map-listing-marker.partner:focus-visible,.google-map-listing-marker.partner.active{transform:translateY(-5px) scale(1.06);border-color:rgba(18,40,50,.42);outline:none}
.google-map-partner-logo,.google-map-partner-monogram,.google-map-partner-neutral{display:grid;place-items:center;width:100%;height:100%;overflow:hidden}
.google-map-partner-logo{padding:4px;background:#fff}.google-map-partner-logo img{width:100%;height:100%;object-fit:contain}
.google-map-partner-monogram{background:#a67631;color:#fff;font-family:var(--serif);font-size:15px;font-weight:650}
:root[data-theme="dark"] .google-map-listing-marker.partner{background:rgba(12,22,28,.95);border-color:rgba(235,241,243,.22);color:#eef3f4}

.publisher-location-map .google-map-listing-marker.partner.publisher-location-marker{width:38px;height:38px;border-radius:11px;box-shadow:0 8px 18px rgba(20,43,53,.24)}
.publisher-location-map .google-map-listing-marker.partner.publisher-location-marker .google-map-partner-logo{padding:3px}

/* Generic secure/demo gate used by both the partner workspace and local Google
   API-key setup. It is deliberately not coupled to any map renderer. */
.workspace-access-gate{position:fixed;z-index:120;inset:0;display:grid;place-items:center;background:rgba(241,243,241,.68);backdrop-filter:blur(16px)}
.workspace-access-gate form{width:min(410px,calc(100vw - 32px));border:1px solid rgba(18,40,50,.14);border-radius:20px;background:rgba(251,250,247,.98);box-shadow:0 32px 90px rgba(18,43,55,.20);padding:28px;color:#17303b}
.workspace-access-gate h2{font-family:var(--serif);font-size:34px;font-weight:400;margin:10px 0 8px}.workspace-access-gate p{font-size:11px;line-height:1.55;color:#687c85}
.workspace-access-gate label{display:grid;gap:6px;font-size:9.5px;margin-top:18px}.workspace-access-gate input{height:42px;border-radius:9px;border:1px solid rgba(18,40,50,.16);background:#fff;color:#17303b;padding:0 12px;outline:0}
.workspace-access-gate .solid-btn{height:42px;width:100%;margin-top:9px}.workspace-access-gate>a{display:block;text-align:center;margin-top:13px;font-size:9.5px;color:#667b84}.workspace-access-gate .map-access-error{margin-top:8px;text-align:center}
.google-map-gate-cancel{width:100%;height:36px;margin-top:8px;border:0;background:transparent;color:#667b84;font:inherit;font-size:9.5px;cursor:pointer}
:root[data-theme="dark"] .workspace-access-gate{background:rgba(7,17,23,.56)}
:root[data-theme="dark"] .workspace-access-gate form{border-color:rgba(255,255,255,.18);background:rgba(17,27,33,.97);box-shadow:0 32px 90px rgba(0,0,0,.38);color:#edf2f3}
:root[data-theme="dark"] .workspace-access-gate p{color:#acbbc1}
:root[data-theme="dark"] .workspace-access-gate input{border-color:rgba(255,255,255,.16);background:#0d171d;color:#fff}
:root[data-theme="dark"] .workspace-access-gate>a,:root[data-theme="dark"] .google-map-gate-cancel{color:#adbac0}

/* QA: professional workspace navigation collapses instead of becoming a
   horizontally scrolling strip. */
.partner-sidebar-toggle{display:none;width:40px;height:40px;border:1px solid rgba(18,40,50,.13);border-radius:9px;background:transparent;padding:9px;cursor:pointer;align-content:center;gap:4px}
.partner-sidebar-toggle span{display:block;width:100%;height:1.5px;background:currentColor;border-radius:999px;transition:.18s}
.partner-app-topbar>div:first-child{min-width:0}.partner-app-toptools{flex:0 0 auto}.partner-row-actions{flex-wrap:nowrap;min-width:max-content}

/* Functional listing tabs. */
.partner-list-tabs button:focus-visible{outline:2px solid rgba(23,60,77,.28);outline-offset:3px;border-radius:3px}
:root[data-theme="dark"] .partner-list-tabs button{color:#8fa0a7}:root[data-theme="dark"] .partner-list-tabs button.active{color:#eef3f4}:root[data-theme="dark"] .partner-list-tabs button.active:after{background:#c99542}
.partner-table-row[hidden]{display:none!important}

/* Second readability pass after video QA. */
.partner-app-topbar small{font-size:9.5px!important}.partner-chart-legend span{font-size:9.5px!important}.partner-source-bars label span b{font-size:10px!important}.partner-source-bars label span small{font-size:9px!important}
.partner-funnel span small{font-size:9px!important}.partner-funnel span b{font-size:17px!important}.partner-listing-analytics-card p,.partner-listing-analytics-card a{font-size:9.5px!important}
.partner-create-cost small,.partner-create-cost span{font-size:9.5px!important}.publisher-location-note{font-size:9.5px!important}.partner-publish-summary small{font-size:9.5px!important}.partner-publish-summary b{font-size:11.5px!important}
.partner-editor-actions button{font-size:10px!important}.publisher-preview-booking,#publisher-preview-booking{font-size:10px!important}.partner-credit-pack-grid button small{font-size:9px!important}.partner-credit-pack-grid button span{font-size:9.5px!important}

/* The dashboard was still visibly undersized in the QA video. Keep the
   compact product feel, but do not rely on the old 6–8px prototype labels. */
.partner-app-sidebar nav a{font-size:10.5px!important}
.partner-app-account small,.partner-app-balance span,.partner-app-balance small,.partner-app-side-footer a{font-size:9.5px!important}
.partner-page-intro p{font-size:11.5px!important}.partner-kpi-grid article small{font-size:10px!important}.partner-kpi-grid article>span{font-size:9.5px!important}
.partner-panel-head p,.partner-panel-head a{font-size:10px!important}.partner-table-head{font-size:9px!important}.partner-table-property b{font-size:10.5px!important}.partner-table-property small,.partner-table-row>span small{font-size:9.5px!important}.partner-table-row>span{font-size:10px!important}.partner-table-row>b{font-size:10.5px!important}.partner-status{font-size:9px!important}
.partner-mini-list b{font-size:10px!important}.partner-mini-list small,.partner-mini-list em{font-size:9px!important}.partner-credit-card>small,.partner-credit-card>span{font-size:9.5px!important}.partner-credit-card p{font-size:10px!important}.partner-credit-card .outline-btn{font-size:9.5px!important}
.partner-traffic-list b,.partner-traffic-list small{font-size:9px!important}.partner-donut span{font-size:8.5px!important}.partner-list-cost-note{font-size:10px!important}
.partner-editor-section-head p{font-size:10px!important}.partner-editor-grid label>span,.partner-brand-fields label>span,.partner-profile-form label>span{font-size:10px!important}.partner-editor-grid input,.partner-editor-grid select,.partner-editor-grid textarea,.partner-brand-fields input,.partner-profile-form input{font-size:11px!important}
.partner-photo-drop b{font-size:11px!important}.partner-photo-drop small,.partner-marker-choices small,.partner-brand-fields small,.partner-profile-form label small{font-size:9px!important}.partner-marker-choices b{font-size:10px!important}
.publisher-preview-body>small{font-size:9px!important}.publisher-preview-body p,.publisher-preview-body>em,.publisher-preview-source>span{font-size:10px!important}.publisher-preview-tip,.partner-editor-note{font-size:9.5px!important}

/* Studio preview follows the form on desktop/reduced desktop. The full
   property preview expands inside this SAME right sticky column. */
.partner-editor-layout,.partner-editor-form,.partner-preview-column{overflow:visible}
.partner-preview-column{min-width:0;align-self:stretch}
.partner-preview-sticky{position:sticky!important;top:94px!important;align-self:start;max-height:calc(100vh - 112px);overflow:auto;overscroll-behavior:contain;padding-right:3px;scrollbar-width:thin}
.publisher-full-preview-btn{width:100%;height:38px;font-size:10px;display:flex;align-items:center;justify-content:center}
#publisher-compact-preview[hidden],.publisher-full-preview-panel[hidden]{display:none!important}
.publisher-full-preview-panel{width:100%;min-width:0;border:1px solid var(--o-line);border-radius:17px;overflow:hidden;background:var(--o-card);box-shadow:0 16px 44px rgba(0,0,0,.08)}
.publisher-full-preview-panel .drawer-head{position:sticky;top:0;z-index:3;padding:15px 15px 11px;background:linear-gradient(180deg,color-mix(in srgb,var(--o-card) 97%,transparent),color-mix(in srgb,var(--o-card) 91%,transparent) 80%,transparent)}
.publisher-full-preview-panel .drawer-head h2{font-size:25px}.publisher-full-preview-panel .drawer-gallery{padding:0 12px 12px}.publisher-full-preview-panel .drawer-main{height:220px!important}.publisher-full-preview-panel .drawer-thumbs button{height:62px}.publisher-full-preview-panel .drawer-content{padding:0 15px 22px}.publisher-full-preview-panel .drawer-nearby{grid-template-columns:1fr}.publisher-full-preview-panel .drawer-visit{align-items:flex-start;flex-direction:column}.publisher-full-preview-panel .drawer-visit .solid-btn{width:100%}
:root[data-theme="dark"] .publisher-full-preview-panel{background:rgba(13,19,23,.997);border-color:var(--line);box-shadow:0 18px 50px rgba(0,0,0,.28)}

/* Pricing is displayed as the final amount the user sees. */
.partner-create-cost b,.partner-publish-summary b{font-variant-numeric:tabular-nums}

@media (max-width:900px){
  .partner-app-sidebar{position:sticky!important;top:0;height:auto!important;padding:12px!important;display:grid!important;grid-template-columns:1fr auto!important;align-items:center;gap:10px;z-index:40}
  .partner-app-brand{border:0!important;padding:0!important;min-width:0}.partner-sidebar-toggle{display:grid;color:inherit}
  .partner-app-account{display:none!important}.partner-app-balance,.partner-app-side-footer{display:none!important}
  .partner-app-sidebar nav{display:none!important;grid-column:1/-1!important;margin:3px 0 0!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px;overflow:visible!important;padding-top:8px;border-top:1px solid rgba(18,40,50,.1)}
  .partner-app-sidebar.nav-open nav{display:grid!important}.partner-app-sidebar nav a{white-space:normal!important;min-width:0;font-size:10.5px!important;padding:10px!important}
  .partner-app-topbar{position:relative!important;top:auto!important;height:66px}.partner-profile-grid{grid-template-columns:1fr}.partner-editor-layout{grid-template-columns:minmax(0,1.15fr) minmax(270px,.8fr)!important}.partner-preview-sticky{position:sticky!important;top:78px!important;max-height:calc(100vh - 92px);overflow:auto;padding-right:3px}
  .partner-list-tabs{overflow-x:auto;scrollbar-width:none;gap:15px}.partner-list-tabs::-webkit-scrollbar{display:none}.partner-list-tabs button{white-space:nowrap;flex:0 0 auto}
}
@media (max-width:620px){
  .partner-app-sidebar nav{grid-template-columns:1fr}.partner-page-intro{align-items:stretch}.partner-create-page .partner-page-intro{display:grid!important;grid-template-columns:1fr;gap:10px}
  .partner-create-cost{margin-left:auto;align-self:end;text-align:right;width:max-content}
  .partner-funnel{display:grid!important;grid-template-columns:repeat(7,minmax(0,auto))!important;align-items:center!important;gap:6px!important;overflow-x:auto;padding-bottom:4px}.partner-funnel>i{transform:none!important}.partner-funnel span{min-width:74px}
}

@media (max-width:720px){
  .partner-editor-layout,.partner-profile-grid{grid-template-columns:1fr!important}
  .partner-preview-sticky{position:static!important;max-height:none!important;overflow:visible!important;padding-right:0!important}
}
@media (max-width:480px){.google-map-listing-marker.cv{width:43px;height:36px}.partner-app-toptools{gap:4px}}

/* ===== v64: final QA lock before Places / Transit ===== */
/* Strong insertion feedback for Studio photo reordering. */
.partner-photo-thumb.drop-before{
  border-color:#a67631!important;
  box-shadow:-5px 0 0 #c49349,0 0 0 2px rgba(166,118,49,.16),0 10px 22px rgba(20,43,53,.12)!important;
  transform:translateY(-3px);
}
.partner-photo-thumb.drop-after{
  border-color:#a67631!important;
  box-shadow:5px 0 0 #c49349,0 0 0 2px rgba(166,118,49,.16),0 10px 22px rgba(20,43,53,.12)!important;
  transform:translateY(-3px);
}
.partner-photo-thumb.drop-before::after,.partner-photo-thumb.drop-after::after{
  content:'';position:absolute;z-index:5;top:7px;bottom:7px;width:3px;border-radius:999px;background:#f0c879;box-shadow:0 0 0 1px rgba(111,72,19,.18),0 0 12px rgba(196,147,73,.48);pointer-events:none;
}
.partner-photo-thumb.drop-before::after{left:2px}.partner-photo-thumb.drop-after::after{right:2px}
:root[data-theme="dark"] .partner-photo-thumb.drop-before,:root[data-theme="dark"] .partner-photo-thumb.drop-after{border-color:#d1a15d!important}

/* Studio full preview uses the exact public property-drawer component and its
   internal typography/gallery/content. Only its POSITION changes: public Carte
   = left drawer; Studio = normal-flow block inside the sticky RIGHT column. */
.partner-preview-column .property-detail-drawer.studio-property-preview{
  position:relative!important;inset:auto!important;top:auto!important;left:auto!important;right:auto!important;bottom:auto!important;
  width:100%!important;max-width:none!important;min-width:0!important;height:auto!important;max-height:none!important;
  opacity:1!important;pointer-events:auto!important;transform:none!important;
  overflow:visible!important;border-radius:18px!important;border:1px solid var(--o-line)!important;
  background:var(--o-card)!important;box-shadow:0 16px 44px rgba(0,0,0,.08)!important;
  transition:none!important;
}
.partner-preview-column .property-detail-drawer.studio-property-preview::after{display:none!important;content:none!important}
.partner-preview-column .property-detail-drawer.studio-property-preview .drawer-head{border-radius:18px 18px 0 0}
:root[data-theme="dark"] .partner-preview-column .property-detail-drawer.studio-property-preview{background:rgba(13,19,23,.997)!important;border-color:var(--line)!important;box-shadow:0 18px 50px rgba(0,0,0,.28)!important}

/* v64 replaces v63's compact full-preview treatment. The component above now
   inherits the SAME drawer internals used on the Carte page. */
.publisher-full-preview-panel{width:100%;min-width:0}

/* Cloud styling is the real light/dark solution. Until a Map ID is configured,
   leave Google's basemap untouched rather than using a destructive CSS filter. */
.google-unified-stage[data-cloud-style="configured"] .google-map-element{filter:none!important}
.partner-preview-column .studio-property-preview .drawer-head{padding:18px 18px 12px!important}
.partner-preview-column .studio-property-preview .drawer-head h2{font-size:29px!important}
.partner-preview-column .studio-property-preview .drawer-gallery{padding:0 14px 14px!important}
.partner-preview-column .studio-property-preview .drawer-main{height:230px!important}
.partner-preview-column .studio-property-preview .drawer-thumbs button{height:76px!important}
.partner-preview-column .studio-property-preview .drawer-content{padding:0 18px 22px!important}
.partner-preview-column .studio-property-preview .drawer-visit{align-items:center!important;flex-direction:row!important}
.partner-preview-column .studio-property-preview .drawer-visit .solid-btn{width:auto!important}
@media (min-width:1001px){
  .partner-preview-column .studio-property-preview .drawer-head{padding:20px 28px 14px!important}
  .partner-preview-column .studio-property-preview .drawer-gallery{padding:0 26px 16px!important}
  .partner-preview-column .studio-property-preview .drawer-main{height:330px!important}
  .partner-preview-column .studio-property-preview .drawer-thumbs button{height:78px!important}
  .partner-preview-column .studio-property-preview .drawer-content{padding:0 28px 34px!important}
}
@media (max-width:1000px) and (min-width:801px){
  .partner-preview-column .studio-property-preview .drawer-head{padding:18px 22px 12px!important}
  .partner-preview-column .studio-property-preview .drawer-gallery{padding:0 20px 14px!important}
  .partner-preview-column .studio-property-preview .drawer-main{height:270px!important}
  .partner-preview-column .studio-property-preview .drawer-thumbs button{height:68px!important}
  .partner-preview-column .studio-property-preview .drawer-content{padding:0 22px 30px!important}
}
/* Match the Studio full-preview header to the public Carte drawer. The older
   compact Studio rule used --o-card here and made the header look like a
   separate card instead of the same property-detail component. */
.partner-preview-column .studio-property-preview .drawer-head{
  background:linear-gradient(180deg,rgba(253,252,249,.99),rgba(253,252,249,.93) 78%,rgba(253,252,249,0))!important;
}
:root[data-theme="dark"] .partner-preview-column .studio-property-preview .drawer-head{
  background:linear-gradient(180deg,rgba(13,19,23,.99),rgba(13,19,23,.94) 78%,rgba(13,19,23,0))!important;
}

/* ===== v65: reliable Google interactions + true Studio drawer + live Places ===== */
/* Keep the visual V/C size approved in QA, but make its interactive target much
   more forgiving without changing the artwork itself. */
.google-map-marker-host{pointer-events:auto!important;overflow:visible!important}
.google-map-listing-marker{touch-action:manipulation;-webkit-tap-highlight-color:transparent;isolation:isolate}
.google-map-listing-marker.cv .google-map-marker-art{pointer-events:none}
.google-map-listing-marker.partner>*{pointer-events:none}

/* Real Places overlays. Native Google POIs are intentionally suppressed by the
   cloud style; these appear only when the corresponding CV Location control is on. */
.google-place-marker-host{pointer-events:none!important;overflow:visible!important}
.google-place-marker{
  width:32px;height:32px;border-radius:50%;display:grid;place-items:center;
  background:rgba(252,251,248,.96);border:1px solid rgba(20,49,61,.2);color:#173c4d;
  box-shadow:0 8px 22px rgba(10,31,40,.2);backdrop-filter:blur(9px);
}
.google-place-marker svg{width:15px;height:15px}
.google-place-marker--metro{color:#2f7f62}.google-place-marker--bus{color:#45748a}
.google-place-marker--grocery{color:#9a7738}.google-place-marker--cafe{color:#9a6b42}
.google-place-marker--restaurant{color:#875a42}.google-place-marker--park{color:#4c7f64}
:root[data-theme="dark"] .google-place-marker{background:rgba(9,24,31,.96);border-color:rgba(201,221,228,.22);color:#d8e8ed;box-shadow:0 8px 24px rgba(0,0,0,.36)}
.layer-chip.loading{opacity:.62;pointer-events:none;position:relative}
.layer-chip.loading::after{content:"";position:absolute;right:6px;top:50%;width:9px;height:9px;margin-top:-5px;border:1.5px solid currentColor;border-right-color:transparent;border-radius:50%;animation:cvloc-spin .7s linear infinite}
@keyframes cvloc-spin{to{transform:rotate(360deg)}}

/* True Studio full preview: the exact public drawer HTML is mirrored into the
   RIGHT Studio column. The editor remains usable on the left and the preview
   owns its own viewport-height scroll, just like the public Carte drawer. */
@media (min-width:721px){
  .partner-editor-layout.full-preview-mode{
    grid-template-columns:minmax(390px,1fr) clamp(480px,46vw,690px)!important;
    align-items:start;
  }
  .partner-editor-layout.full-preview-mode .partner-preview-column{min-width:0}
  .partner-editor-layout.full-preview-mode .partner-preview-sticky{
    position:sticky!important;top:94px!important;max-height:none!important;overflow:visible!important;padding-right:0!important;
  }
  .partner-editor-layout.full-preview-mode .property-detail-drawer.studio-property-preview{
    position:relative!important;inset:auto!important;width:100%!important;max-width:none!important;
    height:calc(100vh - 112px)!important;max-height:calc(100vh - 112px)!important;
    overflow-y:auto!important;overflow-x:hidden!important;overscroll-behavior:contain;
    opacity:1!important;pointer-events:auto!important;transform:none!important;
    border-radius:0!important;border:1px solid rgba(18,40,50,.14)!important;
    background:rgba(253,252,249,.995)!important;
    box-shadow:-18px 0 54px rgba(18,43,55,.13)!important;
    scrollbar-width:thin;scrollbar-color:rgba(18,40,50,.2) transparent;
  }
  .partner-editor-layout.full-preview-mode .property-detail-drawer.studio-property-preview::after{display:none!important}
  .partner-editor-layout.full-preview-mode .studio-property-preview .drawer-head{padding:20px 28px 14px!important;border-radius:0!important}
  .partner-editor-layout.full-preview-mode .studio-property-preview .drawer-head h2{font-size:29px!important}
  .partner-editor-layout.full-preview-mode .studio-property-preview .drawer-gallery{padding:0 26px 16px!important}
  .partner-editor-layout.full-preview-mode .studio-property-preview .drawer-main{height:330px!important}
  .partner-editor-layout.full-preview-mode .studio-property-preview .drawer-thumbs button{height:78px!important}
  .partner-editor-layout.full-preview-mode .studio-property-preview .drawer-content{padding:0 28px 34px!important}
  .partner-editor-layout.full-preview-mode .studio-property-preview .drawer-nearby{grid-template-columns:1fr 1fr!important}
  .partner-editor-layout.full-preview-mode .studio-property-preview .drawer-visit{align-items:center!important;flex-direction:row!important}
  .partner-editor-layout.full-preview-mode .studio-property-preview .drawer-visit .solid-btn{width:auto!important}
  :root[data-theme="dark"] .partner-editor-layout.full-preview-mode .property-detail-drawer.studio-property-preview{
    background:rgba(13,19,23,.997)!important;border-color:var(--line)!important;box-shadow:-18px 0 58px rgba(0,0,0,.38)!important;
  }
}
@media (max-width:1100px) and (min-width:721px){
  .partner-editor-layout.full-preview-mode{grid-template-columns:minmax(340px,1fr) minmax(430px,46vw)!important}
  .partner-editor-layout.full-preview-mode .studio-property-preview .drawer-head{padding:18px 22px 12px!important}
  .partner-editor-layout.full-preview-mode .studio-property-preview .drawer-gallery{padding:0 20px 14px!important}
  .partner-editor-layout.full-preview-mode .studio-property-preview .drawer-main{height:270px!important}
  .partner-editor-layout.full-preview-mode .studio-property-preview .drawer-thumbs button{height:68px!important}
  .partner-editor-layout.full-preview-mode .studio-property-preview .drawer-content{padding:0 22px 30px!important}
}
@media (max-width:720px){
  .partner-editor-layout.full-preview-mode .property-detail-drawer.studio-property-preview{height:auto!important;max-height:none!important;overflow:visible!important;border-radius:15px!important}
}

/* Local Google setup — avoids console commands and, importantly, separates
   API-key control from optional Light/Dark Map IDs. */
.google-map-settings-modal{position:fixed;z-index:260;inset:0;display:grid;place-items:center;padding:20px;background:rgba(5,14,19,.62);backdrop-filter:blur(14px)}
.google-map-settings-card{position:relative;width:min(620px,calc(100vw - 32px));display:grid;gap:14px;padding:28px;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:#101b21;color:#edf3f4;box-shadow:0 32px 90px rgba(0,0,0,.42)}
.google-map-settings-card>span{font-size:8px;letter-spacing:.18em;color:#8fa8b2}.google-map-settings-card h2{font-family:var(--serif);font-size:34px;font-weight:400;margin:0}.google-map-settings-card p,.google-map-settings-card>small{font-size:10px;line-height:1.55;color:#a8bac1;margin:0}
.google-map-settings-card label{display:grid;gap:6px}.google-map-settings-card label b{font-size:9px;font-weight:650}.google-map-settings-card input{height:42px;border:1px solid rgba(255,255,255,.15);border-radius:9px;background:#0b151a;color:#fff;padding:0 11px;outline:0}.google-map-settings-card input:focus{border-color:#789aaa;box-shadow:0 0 0 2px rgba(120,154,170,.12)}
.google-map-settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.google-map-settings-actions{display:flex;justify-content:flex-end;gap:8px;flex-wrap:wrap}.google-map-settings-actions button{height:38px;font-size:9px}.google-map-settings-actions .danger{border-color:rgba(211,119,119,.35);color:#efb0b0}.google-map-settings-close{position:absolute;right:14px;top:12px;width:34px;height:34px;border:0;border-radius:50%;background:rgba(255,255,255,.07);color:#fff;font-size:23px;cursor:pointer}
@media (max-width:620px){.google-map-settings-grid{grid-template-columns:1fr}.google-map-settings-actions{display:grid;grid-template-columns:1fr}.google-map-settings-actions .solid-btn{grid-row:1}}
.google-map-config-settings{width:100%;height:36px;margin-top:9px;border:1px solid rgba(18,40,50,.14);border-radius:9px;background:transparent;color:#49636f;font:inherit;font-size:9px;cursor:pointer}
.google-map-config-settings:hover{border-color:rgba(18,40,50,.28);background:rgba(255,255,255,.5)}
:root[data-theme="dark"] .google-map-config-settings{border-color:rgba(231,239,241,.14);color:#b5c7cd;background:rgba(255,255,255,.02)}

/* ===== v66: authoritative Google marker clicks + contextual Places labels ===== */
.google-map-marker-host[data-cvloc-marker="listing"]{cursor:pointer!important;overflow:visible!important}
.google-map-marker-host[data-cvloc-marker="listing"] .google-map-listing-marker{
  pointer-events:auto!important;
  cursor:pointer;
}
.google-map-marker-host[data-cvloc-marker="listing"] .google-map-listing-marker::before{
  display:none!important;content:none!important;pointer-events:none!important;
}

/* Radius control lives in the same single flex rail as every other map control. */
.map-radius-control{font-family:var(--sans);line-height:1;gap:1px!important}
.map-radius-control b{font-size:10px;font-weight:700;letter-spacing:-.02em;line-height:1}
.map-radius-control small{font-size:6px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.62;line-height:1}
.map-radius-control:hover b,.map-radius-control:focus-visible b{color:var(--ink)}
:root[data-theme="dark"] .map-radius-control:hover b,:root[data-theme="dark"] .map-radius-control:focus-visible b{color:#fff}

/* Real Google Places are intentionally readable: only a handful are fetched,
   so each contextual marker can carry its actual place name + distance. */
.google-place-marker-host{pointer-events:none!important;overflow:visible!important}
.google-place-marker{
  width:auto!important;height:auto!important;min-height:34px;max-width:190px;
  display:inline-flex!important;align-items:center;justify-content:flex-start;gap:8px;
  padding:4px 9px 4px 4px;border-radius:999px!important;white-space:nowrap;
  background:rgba(252,251,248,.97);border:1px solid rgba(20,49,61,.18);color:#173c4d;
  box-shadow:0 8px 22px rgba(10,31,40,.17);backdrop-filter:blur(10px);
}
.google-place-marker-icon{width:26px;height:26px;flex:0 0 26px;border-radius:50%;display:grid;place-items:center;background:color-mix(in srgb,currentColor 9%,transparent)}
.google-place-marker-icon svg{width:14px;height:14px}
.google-place-marker-copy{min-width:0;display:grid;gap:1px;text-align:left;line-height:1.05}
.google-place-marker-copy b{display:block;max-width:132px;overflow:hidden;text-overflow:ellipsis;font-size:8.5px;font-weight:700;color:var(--ink);letter-spacing:-.01em}
.google-place-marker-copy small{display:block;font-size:6.8px;font-weight:600;color:var(--muted);letter-spacing:.01em}
:root[data-theme="dark"] .google-place-marker{background:rgba(9,24,31,.97);border-color:rgba(201,221,228,.2);box-shadow:0 8px 24px rgba(0,0,0,.34)}
:root[data-theme="dark"] .google-place-marker-copy b{color:#edf4f5}
:root[data-theme="dark"] .google-place-marker-copy small{color:#98afb8}

@media (max-width:800px){
  .google-place-marker-copy{display:none}
  .google-place-marker{padding:4px!important;width:34px!important;height:34px!important;min-height:34px!important}
  .google-place-marker-icon{width:26px;height:26px;flex-basis:26px}
}


/* ===== v67: site-owned map theme + deterministic marker fallback ===== */
.google-map-settings-card .outline-btn{
  background:#13242c!important;color:#eaf2f4!important;border-color:rgba(222,236,240,.22)!important;
}
.google-map-settings-card .outline-btn:hover{background:#1b303a!important;border-color:rgba(222,236,240,.38)!important;color:#fff!important}
.google-map-settings-card .solid-btn{background:#dce8ea!important;color:#0c1b21!important;border-color:#dce8ea!important}
.google-map-settings-card .solid-btn:hover{background:#fff!important;color:#0c1b21!important}
.google-map-settings-warning{display:grid;gap:3px;padding:10px 12px;border:1px solid rgba(240,193,108,.35);border-radius:10px;background:rgba(166,118,49,.12);color:#f3d69f}
.google-map-settings-warning b{font-size:9px}.google-map-settings-warning span{font-size:8px;line-height:1.45;color:#d9c6a5}
.google-map-settings-diagnostic{padding:10px 12px;border:1px solid rgba(255,255,255,.1);border-radius:10px;background:#0b151a}
.google-map-settings-diagnostic label{grid-template-columns:auto 1fr!important;align-items:flex-start;gap:10px!important;cursor:pointer}
.google-map-settings-diagnostic input{width:16px!important;height:16px!important;margin-top:2px;accent-color:#77a6b6}
.google-map-settings-diagnostic span{display:grid;gap:3px}.google-map-settings-diagnostic b{font-size:8.5px}.google-map-settings-diagnostic small{font-size:7.5px;line-height:1.45;color:#9fb2ba}
.google-map-marker-host[data-cvloc-marker="listing"] .google-map-listing-marker{pointer-events:auto!important}
.google-map-marker-host[data-cvloc-marker="listing"] .google-map-marker-art,
.google-map-marker-host[data-cvloc-marker="listing"] .google-map-marker-art img{pointer-events:none!important}


/* ===== v71: root marker click fix + contextual places polish ===== */
/* No invisible/proxy hit layer and no geographic nearest-listing fallback.
   Google's interactive marker owns listing activation. The old transparent
   popover bridge was removed because it could overlap the marker after hover
   and intercept the first click in the fresh-list state. */
.map-stage.marker-pointer,.map-stage.marker-pointer .google-map-element{cursor:pointer!important}

/* Nearby Places return to small category-coloured icons. Names/distances are
   still available, but only expand on hover/focus so the map stays legible. */
.google-place-marker-host{pointer-events:auto!important;overflow:visible!important;cursor:default}
.google-place-marker{position:relative!important;width:34px!important;height:34px!important;min-height:34px!important;max-width:none!important;padding:0!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:var(--place-accent,#456f80)!important;border:2px solid rgba(255,255,255,.92)!important;color:#fff!important;box-shadow:0 7px 18px rgba(10,31,40,.18)!important;backdrop-filter:none!important;overflow:visible!important}
.google-place-marker-icon{width:30px!important;height:30px!important;display:grid!important;place-items:center!important;border-radius:50%!important;background:transparent!important;color:#fff!important}
.google-place-marker-icon svg{width:15px!important;height:15px!important;stroke-width:1.8}
.google-place-marker-copy{position:absolute!important;left:40px!important;top:50%!important;z-index:2;display:grid!important;gap:2px;min-width:0;max-width:0;overflow:hidden;padding:0!important;opacity:0;transform:translateY(-50%) translateX(-5px);pointer-events:none;white-space:nowrap;background:rgba(250,249,246,.97);border:1px solid rgba(18,40,50,.14);border-radius:9px;box-shadow:0 10px 28px rgba(12,31,40,.16);transition:max-width .2s ease,opacity .15s ease,transform .2s ease,padding .2s ease}
.google-place-marker:hover .google-place-marker-copy,.google-place-marker:focus-within .google-place-marker-copy{max-width:240px;padding:9px 11px!important;opacity:1;transform:translateY(-50%) translateX(0)}
.google-place-marker-copy b{display:block;max-width:215px;overflow:hidden;text-overflow:ellipsis;font-size:11px!important;font-weight:700;color:#17313d!important}
.google-place-marker-copy small{display:block;font-size:9px!important;font-weight:600;color:#6c7d84!important}
:root[data-theme="dark"] .google-place-marker{border-color:rgba(7,18,24,.9)!important;box-shadow:0 8px 22px rgba(0,0,0,.35)!important}
:root[data-theme="dark"] .google-place-marker-copy{background:rgba(8,21,28,.97);border-color:rgba(212,229,234,.17);box-shadow:0 12px 30px rgba(0,0,0,.36)}
:root[data-theme="dark"] .google-place-marker-copy b{color:#edf4f5!important}
:root[data-theme="dark"] .google-place-marker-copy small{color:#9fb4bc!important}
@media (max-width:800px){.google-place-marker-copy{display:none!important}}

/* ===== v72+: selected-marker cleanup + amenity markers + readable labels ===== */
/* Google 3D interactive markers receive focus after activation. Keep CV
   Location's V→C active state as the focus feedback and suppress Google's
   rectangular host highlight/background around the custom artwork. */
.google-map-marker-host[data-cvloc-marker="listing"],
.google-map-marker-host[data-cvloc-marker="listing"]:focus,
.google-map-marker-host[data-cvloc-marker="listing"]:focus-visible{
  outline:none!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
  -webkit-tap-highlight-color:transparent!important;
}

/* v71's label was still tiny and truncated. Make it a real readable card and
   allow the complete Google place name to wrap instead of ellipsizing. */
.google-place-marker-copy{
  left:44px!important;
  width:max-content!important;
  min-width:0!important;
  max-width:0!important;
  white-space:normal!important;
  border-radius:12px!important;
}
.google-place-marker:hover .google-place-marker-copy,
.google-place-marker:focus-within .google-place-marker-copy{
  min-width:min(300px,42vw)!important;
  max-width:min(460px,46vw)!important;
  padding:14px 16px!important;
}
.google-place-marker-copy b{
  max-width:400px!important;
  overflow:visible!important;
  text-overflow:clip!important;
  white-space:normal!important;
  font-size:14px!important;
  line-height:1.22!important;
}
.google-place-marker-copy small{
  margin-top:2px;
  font-size:11px!important;
  line-height:1.2!important;
}
@media (max-width:800px){.google-place-marker-copy{display:none!important}}

/* ===== v73: amenity hover card stacking ===== */
/* A label is a child of its Google marker host. Raising only the label cannot
   cross a neighbouring host's stacking level, so app.js raises the host while
   hovered/focused. Explicit pointer events keep the icon as the hover target. */
.google-place-marker{pointer-events:auto!important}
.google-place-marker-copy{z-index:10!important}

/* ===== v75: map polish + transit + real address autocomplete ===== */
/* Radius is now a continuous control. It remains a single direct child of the
   locked right-hand flex rail; only its small slider flyout leaves the 40px
   footprint, so the old overlapping-control bug cannot return. */
.map-radius-control{overflow:visible!important;position:relative!important}
.map-radius-trigger{width:100%;height:100%;border:0;background:transparent;color:inherit;border-radius:inherit;display:grid;place-items:center;align-content:center;gap:1px;cursor:pointer;font:inherit;padding:0}
.map-radius-trigger b{font-size:10px;font-weight:700;letter-spacing:-.02em;line-height:1}
.map-radius-trigger small{font-size:6px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;opacity:.62;line-height:1}
.map-radius-popover{position:absolute;right:calc(100% + 10px);top:50%;width:190px;transform:translate(8px,-50%) scale(.98);opacity:0;pointer-events:none;padding:10px 12px 11px;border:1px solid rgba(18,40,50,.14);border-radius:12px;background:rgba(250,249,246,.98);box-shadow:0 14px 34px rgba(12,31,40,.16);transition:opacity .15s ease,transform .18s ease;z-index:20}
.map-radius-control.open .map-radius-popover,.map-radius-control:focus-within .map-radius-popover{opacity:1;pointer-events:auto;transform:translate(0,-50%) scale(1)}
.map-radius-popover label{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#6d7f87}
.map-radius-popover output{font-size:10px;font-weight:700;letter-spacing:0;text-transform:none;color:#17313d}
.map-radius-popover input[type="range"]{display:block;width:100%;margin:0;accent-color:#173c4d;cursor:pointer}
:root[data-theme="dark"] .map-radius-popover{background:rgba(8,21,28,.98);border-color:rgba(212,229,234,.17);box-shadow:0 15px 36px rgba(0,0,0,.38)}
:root[data-theme="dark"] .map-radius-popover label{color:#91a8b1}:root[data-theme="dark"] .map-radius-popover output{color:#edf4f5}:root[data-theme="dark"] .map-radius-popover input[type="range"]{accent-color:#8fcbe5}

/* Amenity markers now reveal a tiny visual Google-place preview rather than a
   text card. Photos load lazily on exploration; no photo means the category
   icon remains as the visual fallback. */
.google-place-preview{position:absolute;left:44px;top:50%;z-index:10;width:216px;overflow:hidden;opacity:0;transform:translate(-5px,-50%) scale(.985);pointer-events:none;background:rgba(250,249,246,.985);border:1px solid rgba(18,40,50,.14);border-radius:12px;box-shadow:0 12px 32px rgba(12,31,40,.18);transition:opacity .15s ease,transform .18s ease;cursor:default}
.google-place-marker:hover .google-place-preview,.google-place-marker:focus-within .google-place-preview,.google-place-marker.pinned .google-place-preview{opacity:1;transform:translate(0,-50%) scale(1);pointer-events:auto}
.google-place-preview-media{position:relative;display:grid;place-items:center;width:100%;height:92px;overflow:hidden;background:linear-gradient(145deg,color-mix(in srgb,var(--place-accent,#456f80) 13%,#eef3f3),#dce8ec)}
.google-place-preview-media>img{width:100%;height:100%;display:block;object-fit:contain;background:rgba(255,255,255,.16)}
.google-place-preview-fallback{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--place-accent,#456f80);color:#fff;box-shadow:0 7px 18px rgba(10,31,40,.13)}
.google-place-preview-fallback svg{width:16px;height:16px}
.google-place-preview.photo-loading .google-place-preview-media::after{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.34) 48%,transparent 66%);transform:translateX(-100%);animation:cvlocPlacePhotoLoading 1.1s linear infinite}
@keyframes cvlocPlacePhotoLoading{to{transform:translateX(100%)}}
.google-place-photo-credit{position:absolute;right:5px;bottom:4px;max-width:calc(100% - 10px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;border-radius:999px;padding:3px 5px;background:rgba(6,16,21,.68);color:#fff!important;font-size:5.5px!important;text-decoration:none;line-height:1}
.google-place-preview-body{display:grid;gap:3px;padding:9px 10px 10px;text-align:left}
.google-place-preview-name{display:block;color:#17313d!important;font-size:10.5px;font-weight:700;line-height:1.18;text-decoration:none;white-space:normal}
a.google-place-preview-name:hover{text-decoration:underline;text-underline-offset:2px}
.google-place-preview-meta{font-size:8px;color:#6c7d84;font-weight:600;line-height:1.2}
.google-place-preview-routes{display:grid;gap:5px;margin-top:5px;padding-top:7px;border-top:1px solid rgba(23,49,61,.10)}
.google-place-preview-routes-label{font-size:7.5px;line-height:1;text-transform:uppercase;letter-spacing:.08em;color:#83939a;font-weight:750}
.google-place-preview-route-chips{display:flex;flex-wrap:wrap;gap:4px}
.google-place-marker--bus,.google-place-marker--metro{cursor:pointer}
.google-place-marker.pinned{outline:3px solid color-mix(in srgb,var(--place-accent,#456f80) 30%,transparent);outline-offset:2px}
.google-place-preview-route-chip{appearance:none;border:1px solid color-mix(in srgb,var(--place-accent,#456f80) 34%,transparent);background:color-mix(in srgb,var(--place-accent,#456f80) 10%,#fff);color:#244652;border-radius:999px;padding:3px 6px;font-family:inherit;font-size:8px;font-weight:750;line-height:1.05;cursor:pointer;transition:background .12s ease,border-color .12s ease,transform .12s ease,box-shadow .12s ease}
.google-place-preview-route-chip:hover,.google-place-preview-route-chip:focus-visible{outline:none;background:color-mix(in srgb,var(--place-accent,#456f80) 20%,#fff);border-color:color-mix(in srgb,var(--place-accent,#456f80) 62%,transparent);box-shadow:0 3px 10px color-mix(in srgb,var(--place-accent,#456f80) 18%,transparent);transform:translateY(-1px)}
:root[data-theme="dark"] .google-place-preview{background:rgba(8,21,28,.985);border-color:rgba(212,229,234,.17);box-shadow:0 12px 32px rgba(0,0,0,.4)}
:root[data-theme="dark"] .google-place-preview-media{background:linear-gradient(145deg,color-mix(in srgb,var(--place-accent,#456f80) 23%,#102630),#0b1920)}
:root[data-theme="dark"] .google-place-preview-name{color:#edf4f5!important}:root[data-theme="dark"] .google-place-preview-meta{color:#9fb4bc}
:root[data-theme="dark"] .google-place-preview-routes{border-top-color:rgba(218,233,238,.12)}
:root[data-theme="dark"] .google-place-preview-routes-label{color:#829aa4}
:root[data-theme="dark"] .google-place-preview-route-chip{background:color-mix(in srgb,var(--place-accent,#456f80) 20%,#0b1920);color:#e8f2f4;border-color:color-mix(in srgb,var(--place-accent,#456f80) 44%,transparent)}
:root[data-theme="dark"] .google-place-preview-route-chip:hover,:root[data-theme="dark"] .google-place-preview-route-chip:focus-visible{background:color-mix(in srgb,var(--place-accent,#456f80) 34%,#0b1920);border-color:color-mix(in srgb,var(--place-accent,#456f80) 72%,transparent)}
@media (max-width:800px){.google-place-preview{display:none!important}}

/* Nearby transit summary in the selected-property drawer. Places supplies the
   actual station/stop; walking minutes are intentionally labelled approximate
   until route-based ETA is added. */
.drawer-transit{margin-top:24px;padding-top:2px}
.drawer-transit-summary{display:grid;gap:7px;margin-top:10px}
.drawer-transit-row{display:grid;grid-template-columns:31px minmax(0,1fr);gap:9px;align-items:center;padding:9px 10px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--paper) 82%,transparent)}
.drawer-transit-row>i{width:29px;height:29px;border-radius:50%;display:grid;place-items:center;background:#e8f1f4;color:#315e72;font-style:normal}
.drawer-transit-row>i svg{width:14px;height:14px}
.drawer-transit-row>span{display:grid;gap:2px;min-width:0}.drawer-transit-row b{font-size:9.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.drawer-transit-row small{font-size:7.5px;color:var(--muted)}
.drawer-transit-loading,.drawer-transit-empty{font-size:8px;color:var(--muted);padding:3px 1px}
.drawer-transit-note{font-size:6.5px;line-height:1.35;color:var(--muted);opacity:.78;padding:2px 2px 0}
:root[data-theme="dark"] .drawer-transit-row{background:rgba(255,255,255,.035);border-color:rgba(225,235,239,.12)}:root[data-theme="dark"] .drawer-transit-row>i{background:rgba(97,164,193,.13);color:#9ccfe4}


/* ===== v76: final v75 QA corrections ===== */
/* Selected-listing camera now lands at the same effective range the user
   reached with one small wheel zoom in v75, keeping Google ROADMAP inside
   its useful building LOD without removing manual camera control. */
.google-place-preview.has-photo .google-place-preview-media{transition:height .18s ease}
:root[data-theme="dark"] .google-place-preview-media>img{background:rgba(7,20,27,.7)}
.drawer-transit-lines{display:flex!important;flex-wrap:wrap;gap:4px;margin-top:3px}
.drawer-transit-lines em{display:inline-grid;place-items:center;min-width:24px;height:18px;padding:0 6px;border-radius:999px;background:#dcecf3;color:#244e60;font-style:normal;font-size:7.5px;font-weight:800;line-height:1}
:root[data-theme="dark"] .drawer-transit-lines em{background:rgba(108,185,216,.16);color:#bce7f7;border:1px solid rgba(151,211,235,.14)}


/* ===== v77: plated-gold listing markers + on-map transit identity ===== */
/* v76 only brightened the original brown/orange PNGs. Shift the artwork into
   a yellow-gold hue while keeping the source shading/anti-aliasing intact. */
.google-map-listing-marker.cv .google-map-v,
.google-map-listing-marker.cv .google-map-c{
  filter:hue-rotate(18deg) saturate(1.58) brightness(1.22) contrast(1.04) drop-shadow(0 1px 1px rgba(255,226,112,.20));
}
:root[data-theme="dark"] .google-map-listing-marker.cv .google-map-v,
:root[data-theme="dark"] .google-map-listing-marker.cv .google-map-c{
  filter:hue-rotate(18deg) saturate(1.72) brightness(1.66) contrast(1.02) drop-shadow(0 0 4px rgba(255,215,82,.42));
}

/* Transit identity is always visible directly on the map. Keep it beneath the
   compact round marker so the visual Google-place preview can still open to
   the right without colliding with the label. */
.google-place-transit-tag{
  position:absolute;left:50%;top:calc(100% + 5px);z-index:4;transform:translateX(-50%);
  max-width:150px;padding:4px 7px;border:1px solid rgba(18,40,50,.15);border-radius:999px;
  background:rgba(250,249,246,.96);box-shadow:0 5px 14px rgba(12,31,40,.14);
  color:#17313d;font-size:7.5px;font-weight:800;line-height:1;letter-spacing:.005em;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;pointer-events:none;
}
.google-place-transit-tag--bus{color:#2f6077;background:rgba(240,248,251,.97);border-color:rgba(69,116,138,.22)}
.google-place-transit-tag--metro{max-width:170px;color:#245b48;background:rgba(241,249,245,.97);border-color:rgba(47,127,98,.22)}
:root[data-theme="dark"] .google-place-transit-tag{
  background:rgba(7,20,27,.96);border-color:rgba(216,232,237,.18);color:#edf4f5;
  box-shadow:0 6px 16px rgba(0,0,0,.34);
}
:root[data-theme="dark"] .google-place-transit-tag--bus{color:#bde8f8;border-color:rgba(111,190,222,.24)}
:root[data-theme="dark"] .google-place-transit-tag--metro{color:#bcebd9;border-color:rgba(91,186,149,.24)}
@media (max-width:800px){
  .google-place-transit-tag{font-size:7px;max-width:118px;padding:4px 6px}
  .google-place-transit-tag--metro{max-width:132px}
}

/* ===== v78: true gold V/C + persistent selection + transit route overlays ===== */
/* Move the original orange/brown shaded PNGs decisively toward yellow-gold.
   Dark mode deliberately has NO glow; only a small luminance lift. */
.google-map-listing-marker.cv .google-map-v,
.google-map-listing-marker.cv .google-map-c{
  filter:hue-rotate(18deg) saturate(.85) brightness(1.75) contrast(1.03);
}
:root[data-theme="dark"] .google-map-listing-marker.cv .google-map-v,
:root[data-theme="dark"] .google-map-listing-marker.cv .google-map-c{
  filter:hue-rotate(18deg) saturate(.88) brightness(1.92) contrast(1.04);
}


/* ===== v81: stronger theme-aware selected-logement halo ===== */
/* User-approved direction: reverse the v80 contrast treatment and make the
   selected C unmistakable in dense amenity/transit views. Resting V markers
   are unchanged. Light map = strong white halo; dark map = strong dark halo. */
.google-map-listing-marker.cv.active{
  filter:
    drop-shadow(0 0 3px rgba(255,255,255,1))
    drop-shadow(0 0 8px rgba(255,255,255,.98))
    drop-shadow(0 0 15px rgba(255,255,255,.90))
    drop-shadow(0 0 26px rgba(255,255,255,.68));
}
:root[data-theme="dark"] .google-map-listing-marker.cv.active{
  filter:
    drop-shadow(0 0 3px rgba(0,8,13,1))
    drop-shadow(0 0 8px rgba(0,8,13,.98))
    drop-shadow(0 0 15px rgba(0,8,13,.92))
    drop-shadow(0 0 26px rgba(0,8,13,.72));
}

/* ==========================================================================
   v82 — production foundation: forms, live analytics, privacy + admin leads
   ========================================================================== */
.footer a{color:inherit;text-decoration:none;border-bottom:1px solid color-mix(in srgb,currentColor 28%,transparent)}.footer a:hover{border-bottom-color:currentColor}
.cvloc-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;overflow:hidden!important;pointer-events:none!important}
.intake-privacy{grid-column:1/-1;display:flex;align-items:flex-start;gap:9px;padding:12px 14px;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--surface) 78%,transparent);font-size:9px;line-height:1.5;color:var(--muted)}
.intake-privacy input{width:15px;height:15px;flex:0 0 15px;margin:1px 0 0}.intake-privacy a{color:var(--ink);text-decoration:underline;text-underline-offset:2px}
.intake-submit-status{display:none;grid-column:1/-1;border-radius:10px;padding:12px 14px;font-size:9px;line-height:1.5}.intake-submit-status:not(:empty){display:grid;gap:3px}.intake-submit-status b{font-size:10px}.intake-submit-status small{opacity:.7;margin-top:2px}.intake-submit-status.is-loading{background:rgba(63,112,139,.07);border:1px solid rgba(63,112,139,.18);color:#315d72}.intake-submit-status.is-success{background:rgba(45,126,84,.08);border:1px solid rgba(45,126,84,.20);color:#286b49}.intake-submit-status.is-error{background:rgba(176,73,73,.07);border:1px solid rgba(176,73,73,.20);color:#9d4242}
.form-submit button:disabled{opacity:.62;cursor:wait}
.privacy-wrap{max-width:1160px;margin:0 auto}.privacy-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:28px}.privacy-grid section{border:1px solid var(--line);border-radius:13px;padding:20px;background:var(--surface)}.privacy-grid h2{font-family:var(--serif);font-weight:500;font-size:22px;margin:0 0 8px}.privacy-grid p{font-size:10px;line-height:1.7;color:var(--muted);margin:0}.privacy-grid a{color:var(--ink)}.privacy-review-note{margin-top:14px;border:1px solid rgba(182,130,48,.25);border-radius:12px;padding:14px 16px;background:rgba(182,130,48,.06);font-size:9px;line-height:1.6;color:#795c2d}
.partner-live-data-badge{display:inline-flex;align-items:center;width:max-content;padding:5px 8px;border-radius:999px;margin-bottom:8px;font-size:7px;font-weight:700;letter-spacing:.12em;border:1px solid rgba(120,132,138,.18);color:#7a898f;background:rgba(120,132,138,.06)}.partner-live-data-badge.live{color:#27704c;border-color:rgba(39,112,76,.24);background:rgba(39,112,76,.08)}
.partner-backend-connect{display:flex;justify-content:space-between;align-items:center;gap:18px;padding:12px 14px;margin:0 0 14px;border:1px solid rgba(49,92,112,.18);border-radius:11px;background:rgba(49,92,112,.055)}.partner-backend-connect>div{display:grid;gap:3px}.partner-backend-connect b{font-size:9px}.partner-backend-connect span{font-size:8px;color:#6e818a;line-height:1.45}.partner-backend-connect .outline-btn{height:34px;white-space:nowrap;font-size:8px}
.admin-leads-wrap{max-width:1260px;margin:0 auto}.admin-leads-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:18px}.admin-leads-heading .page-lead{margin-bottom:0}.admin-auth-card{margin:20px 0 12px;padding:15px;border:1px solid rgba(176,122,42,.24);border-radius:12px;background:rgba(176,122,42,.06);display:grid;grid-template-columns:1fr minmax(300px,.7fr);gap:18px;align-items:center}.admin-auth-card[hidden]{display:none}.admin-auth-card>div{display:grid;gap:4px}.admin-auth-card b{font-size:11px}.admin-auth-card span{font-size:9px;line-height:1.5;color:var(--muted)}.admin-auth-card form{display:grid;grid-template-columns:1fr auto;gap:8px}.admin-auth-card input,.admin-lead-filters select,.admin-lead-state{height:38px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--ink);padding:0 10px;outline:none}.admin-auth-card .solid-btn{height:38px}.admin-lead-filters{display:flex;gap:8px;margin:20px 0 10px}.admin-statusline{font-size:9px;color:var(--muted);padding:4px 0 10px}.admin-leads-list{display:grid;gap:9px}.admin-lead-card{border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:15px}.admin-lead-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.admin-lead-mode{font-size:7px;letter-spacing:.13em;text-transform:uppercase;color:#9a6f2d}.admin-lead-card h2{font-family:var(--serif);font-weight:500;font-size:22px;margin:3px 0 2px}.admin-lead-card p{font-size:9px;color:var(--muted);margin:0}.admin-lead-meta{display:grid;justify-items:end;gap:7px}.admin-lead-meta time{font-size:8px;color:var(--muted)}.admin-lead-state{height:32px;font-size:8px}.admin-lead-details{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:13px 0}.admin-lead-details>span{display:grid;gap:2px;border-radius:8px;background:color-mix(in srgb,var(--ink) 3%,transparent);padding:8px 9px;min-width:0}.admin-lead-details small{font-size:6.5px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted)}.admin-lead-details b{font-size:8.5px;font-weight:500;overflow-wrap:anywhere}.admin-lead-card>footer{display:flex;gap:12px;flex-wrap:wrap;border-top:1px solid var(--line);padding-top:9px;font-size:7px;color:var(--muted)}
:root[data-theme="dark"] .intake-privacy,:root[data-theme="dark"] .privacy-grid section,:root[data-theme="dark"] .admin-lead-card,:root[data-theme="dark"] .admin-auth-card input,:root[data-theme="dark"] .admin-lead-filters select,:root[data-theme="dark"] .admin-lead-state{background:#10191f;border-color:rgba(222,231,235,.10);color:#edf2f3}:root[data-theme="dark"] .intake-privacy a{color:#f0f3f4}:root[data-theme="dark"] .privacy-review-note{color:#d9b979;background:rgba(199,153,70,.08);border-color:rgba(199,153,70,.20)}:root[data-theme="dark"] .partner-live-data-badge.live{color:#7bc59c}:root[data-theme="dark"] .partner-backend-connect{background:rgba(107,166,193,.06);border-color:rgba(107,166,193,.16)}:root[data-theme="dark"] .partner-backend-connect span{color:#8fa0a7}
@media (max-width:800px){
  .intake-tabs--three{grid-template-columns:1fr}.intake-tabs--three .intake-tab{border-bottom:1px solid var(--line)}.intake-tabs--three .intake-tab:last-child{border-bottom:0}
  .intake-form{gap:18px}.form-section{grid-template-columns:1fr}.form-section h3,.field.full{grid-column:auto}.checks{grid-template-columns:1fr}.form-submit{display:grid;gap:12px}.form-submit button{width:100%}
  .privacy-grid{grid-template-columns:1fr}.privacy-grid section{padding:17px}.privacy-grid h2{font-size:20px}
  .partner-backend-connect{align-items:stretch;flex-direction:column}.partner-backend-connect .outline-btn{width:100%}
  .admin-leads-heading{display:grid}.admin-auth-card{grid-template-columns:1fr}.admin-auth-card form{grid-template-columns:1fr}.admin-lead-filters{display:grid;grid-template-columns:1fr 1fr}.admin-lead-top{display:grid}.admin-lead-meta{justify-items:start}.admin-lead-details{grid-template-columns:1fr 1fr}
}
@media (max-width:480px){.admin-lead-filters,.admin-lead-details{grid-template-columns:1fr}.page-title{font-size:36px}.privacy-grid{gap:8px}}


/* ==========================================================================
   v83 QA pass — contact, lead inbox, balance presentation, profile alignment
   ========================================================================== */

/* The owner contact address reuses the Studio Google autocomplete language. */
.contact-owner-address-field{z-index:8}

/* Lead inbox: v82 was intentionally compact, but the production inbox needs
   to be comfortably readable when scanning real phone numbers and notes. */
.admin-leads-wrap{max-width:1320px}
.admin-leads-list{gap:14px}
.admin-lead-card{padding:20px;border-radius:15px}
.admin-lead-top{gap:22px}
.admin-lead-mode{font-size:10px;letter-spacing:.12em;font-weight:700}
.admin-lead-card h2{font-size:26px;margin:5px 0 4px}
.admin-lead-card p{font-size:12px;line-height:1.5}
.admin-lead-meta{gap:9px}
.admin-lead-meta time{font-size:10.5px}
.admin-lead-state{height:38px;font-size:11px;padding:0 12px}
.admin-lead-details{gap:9px;margin:17px 0}
.admin-lead-details>span{gap:4px;padding:11px 12px;border-radius:10px}
.admin-lead-details small{font-size:8.5px}
.admin-lead-details b{font-size:11.5px;line-height:1.45}
.admin-lead-card>footer{gap:16px;padding-top:12px;font-size:9.5px;line-height:1.45}
.admin-statusline{font-size:11px}
.admin-auth-card b{font-size:13px}
.admin-auth-card span{font-size:11px}
.admin-lead-filters select{font-size:11px}

/* Balance cards: the useful information is what lands in the wallet, not the
   amount charged. Promotional value must be visible at a glance. */
.partner-credit-pack-grid button{min-height:154px;gap:7px;padding:18px 12px}
.partner-credit-pack-grid button small{font-size:9.5px!important;letter-spacing:.08em;font-weight:650}
.partner-credit-pack-grid button b{font-size:30px;line-height:1}
.partner-credit-pack-grid button span{font-size:11px!important}
.partner-credit-pack-grid button em{
  right:10px;top:10px;
  font-size:10.5px!important;font-weight:750;letter-spacing:.035em;
  padding:7px 10px;border-radius:999px;
  color:#725019;background:#f4d891;border:1px solid rgba(166,118,49,.24);
  box-shadow:0 4px 12px rgba(118,78,18,.12)
}
:root[data-theme="dark"] .partner-credit-pack-grid button em{
  color:#ffe7a8;background:#5b431b;border-color:rgba(255,220,132,.24)
}

/* v84: restore the original profile-field layout. Only the native file
   control itself is centered, exactly as requested in QA. */
.partner-profile-logo-field input{
  width:min(100%,380px);
  justify-self:center;
  margin-inline:auto;
}

.partner-pack-price{display:flex!important;align-items:baseline;justify-content:center;gap:8px}
.partner-pack-price del{opacity:.48;font-size:.88em}
.partner-pack-price strong{font-size:1.18em;color:var(--ink)}
.partner-credit-service-note{font-size:9.5px;line-height:1.55;color:var(--muted);margin:14px 0 0}
:root[data-theme="dark"] .partner-pack-price strong{color:#eef3f4}

@media(max-width:720px){
  .admin-lead-top{display:grid}
  .admin-lead-meta{justify-items:start}
  .admin-lead-details{grid-template-columns:1fr}
}

/* v90: contextual Places Echo. Search starts on listing selection while the
   camera is moving; the visible outward wave begins only when the camera has
   settled. Late categories join the same wave in app.js. */
.google-place-marker.amenity-wave-in{
  opacity:0;
  transform:scale(.3);
  animation:cvlocAmenityWaveIn .42s cubic-bezier(.16,.88,.32,1.18) var(--amenity-wave-delay,0ms) forwards;
  transform-origin:50% 50%;
}
@keyframes cvlocAmenityWaveIn{
  0%{opacity:0;transform:scale(.3)}
  68%{opacity:1;transform:scale(1.12)}
  100%{opacity:1;transform:scale(1)}
}

/* v92.8 departure Echo. Existing context retracts far -> near while the camera
   is already travelling to the next listing; it is not a blocking preflight. */
.google-place-marker.amenity-wave-out{
  pointer-events:none!important;
  animation:cvlocAmenityWaveOut var(--amenity-wave-out-duration,300ms) cubic-bezier(.55,.02,.72,.42) var(--amenity-wave-out-delay,0ms) forwards!important;
  transform-origin:50% 50%;
}
@keyframes cvlocAmenityWaveOut{
  0%{opacity:1;transform:scale(1)}
  100%{opacity:0;transform:scale(.28)}
}
@media (prefers-reduced-motion:reduce){
  .google-place-marker.amenity-wave-in{animation:none!important;opacity:1!important;transform:none!important}
  .google-place-marker.amenity-wave-out{animation:none!important;opacity:0!important;transform:scale(.28)!important}
}

/* v92 — trust/security/admin hardening */
.contact-turnstile{margin-top:2px;min-height:0}.contact-turnstile[hidden]{display:none}
.partner-portal-disabled{width:min(520px,calc(100vw - 32px));border:1px solid rgba(18,40,50,.14);border-radius:20px;background:rgba(251,250,247,.98);box-shadow:0 32px 90px rgba(18,43,55,.20);padding:30px;color:#17303b;text-align:left}.partner-portal-disabled h2{font-family:var(--serif);font-size:34px;font-weight:400;margin:10px 0 8px}.partner-portal-disabled p{font-size:11px;line-height:1.6;color:#687c85}.partner-portal-disabled .solid-btn{display:flex;align-items:center;justify-content:center;text-decoration:none;margin-top:18px}.partner-portal-disabled>a:last-child{display:block;text-align:center;margin-top:13px;font-size:9.5px;color:#667b84;text-decoration:none}
.trust-status-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:28px 0 12px}.trust-status-grid article{border:1px solid var(--line);border-radius:14px;padding:20px;background:var(--surface)}.trust-status-grid b{display:flex;align-items:center;gap:8px;font-size:11px}.trust-status-grid p{font-size:9.5px;line-height:1.65;color:var(--muted);margin:9px 0 0}.trust-links{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}.trust-links a{border:1px solid var(--line);border-radius:999px;padding:10px 14px;color:var(--ink);text-decoration:none;font-size:9px}
.admin-hub-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:24px}.admin-hub-grid>a{display:block;color:var(--ink);text-decoration:none;padding:22px}.admin-hub-grid small{font-size:7px;letter-spacing:.13em;color:#9a6f2d}.admin-hub-grid h2{font-family:var(--serif);font-size:26px;font-weight:500;margin:6px 0}.admin-hub-grid p{font-size:9px;line-height:1.6;color:var(--muted);margin:0}.admin-analytics-grid{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,.7fr);gap:12px;margin-top:12px}.admin-analytics-kpis{margin-top:8px}.admin-daily-bars,.admin-source-list{display:grid;gap:8px;margin-top:14px}.admin-daily-bars label{display:grid;grid-template-columns:120px 1fr;align-items:center;gap:10px}.admin-daily-bars label>span{display:flex;justify-content:space-between;gap:8px;font-size:8px}.admin-daily-bars i{height:7px;border-radius:99px;background:color-mix(in srgb,var(--ink) 6%,transparent);overflow:hidden}.admin-daily-bars em{display:block;height:100%;border-radius:inherit;background:#b68a45}.admin-source-list>div{display:flex;justify-content:space-between;border-bottom:1px solid var(--line);padding:8px 0;font-size:9px}.admin-source-list>div:last-child{border-bottom:0}
:root[data-theme="dark"] .partner-portal-disabled{border-color:rgba(255,255,255,.18);background:rgba(17,27,33,.97);box-shadow:0 32px 90px rgba(0,0,0,.38);color:#edf2f3}:root[data-theme="dark"] .partner-portal-disabled p{color:#acbbc1}:root[data-theme="dark"] .trust-status-grid article{background:#10191f;border-color:rgba(222,231,235,.10)}
@media(max-width:760px){.trust-status-grid,.admin-hub-grid,.admin-analytics-grid{grid-template-columns:1fr}.admin-daily-bars label{grid-template-columns:92px 1fr}}


/* v92 — publisher / brokerage identification support */
.listing-publisher-disclosure{display:flex;flex-direction:column;gap:3px;margin:14px 0 18px;padding:12px 14px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--paper-2) 92%,transparent)}
.listing-publisher-disclosure small{font-size:10px;letter-spacing:.12em;color:var(--muted);font-weight:700}
.listing-publisher-disclosure strong{font-size:13px;font-weight:600;color:var(--text)}
.listing-publisher-disclosure span{font-size:12px;line-height:1.45;color:var(--muted)}
.listing-publisher-disclosure.compact{margin:10px 0 14px;padding:10px 12px}

/* v92.4 — map display toggles */
.map-control-rail>.map-display-toggle{position:relative;font-size:12px;font-weight:760;letter-spacing:-.02em;opacity:.46;transition:opacity .16s ease,transform .16s ease,background .16s ease,border-color .16s ease,box-shadow .16s ease}
.map-control-rail>.map-display-toggle:hover{opacity:.78;transform:translateY(-1px)}
.map-control-rail>.map-display-toggle.active{opacity:1;background:#fff;color:var(--ink);border-color:var(--line-strong);box-shadow:0 8px 22px rgba(23,45,55,.10)}
.map-control-rail>.map-display-toggle>span{position:absolute;right:calc(100% + 9px);top:50%;transform:translate(9px,-50%);opacity:0;pointer-events:none;white-space:nowrap;padding:7px 10px;border:1px solid var(--line);border-radius:8px;background:rgba(253,252,249,.96);backdrop-filter:blur(10px);box-shadow:0 8px 22px rgba(23,45,55,.1);font-size:9px;font-weight:600;letter-spacing:0;color:var(--ink);transition:opacity .16s ease,transform .2s cubic-bezier(.2,.78,.2,1)}
.map-control-rail>.map-display-toggle:hover>span,.map-control-rail>.map-display-toggle:focus-visible>span{opacity:1;transform:translate(0,-50%)}
:root[data-theme="dark"] .map-control-rail>.map-display-toggle.active{background:#e8eeee!important;color:#0d191e!important;border-color:#f5f7f7!important;box-shadow:0 10px 24px rgba(0,0,0,.28)}
:root[data-theme="dark"] .map-control-rail>.map-display-toggle>span{background:rgba(18,27,32,.97);color:#edf2f1;border-color:var(--line);box-shadow:0 10px 26px rgba(0,0,0,.34)}
@media(max-width:800px){.map-control-rail>.map-display-toggle{display:none!important}}


/* ==========================================================================
   v92.9 lead-pipeline hardening — compact/expanded inbox + pagination
   ========================================================================== */
.admin-lead-filters{align-items:center;flex-wrap:wrap}
.admin-lead-view-toggle{height:38px;white-space:nowrap;font-size:10px}
.admin-lead-label-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.admin-lead-risk{display:inline-flex;align-items:center;padding:3px 7px;border-radius:999px;font-size:7px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#9a5c36;background:rgba(177,92,48,.08);border:1px solid rgba(177,92,48,.18)}
.admin-lead-actions{display:flex;align-items:center;justify-content:flex-end;gap:7px}
.admin-lead-expand{height:32px;padding:0 10px;font-size:8px}
.admin-leads-pager{display:flex;justify-content:center;padding:16px 0 0}
.admin-leads-pager .outline-btn{min-width:160px}

/* Compact is now the default scanning mode. The existing v83 card treatment is
   preserved as the expanded mode rather than deleted or redesigned. */
.admin-leads-list.is-compact-view{gap:8px}
.admin-leads-list.is-compact-view .admin-lead-card{padding:11px 13px;border-radius:11px}
.admin-leads-list.is-compact-view .admin-lead-card h2{font-size:18px;margin:3px 0 2px}
.admin-leads-list.is-compact-view .admin-lead-card p{font-size:10px;line-height:1.35}
.admin-leads-list.is-compact-view .admin-lead-mode{font-size:8px}
.admin-leads-list.is-compact-view .admin-lead-meta{gap:5px}
.admin-leads-list.is-compact-view .admin-lead-meta time{font-size:9px}
.admin-leads-list.is-compact-view .admin-lead-state{height:32px;font-size:9px}
.admin-leads-list.is-compact-view .admin-lead-details,
.admin-leads-list.is-compact-view .admin-lead-card>footer{display:none}
.admin-leads-list.is-compact-view .admin-lead-card.is-open .admin-lead-details{display:grid}
.admin-leads-list.is-compact-view .admin-lead-card.is-open>footer{display:flex}
.admin-leads-list.is-expanded-view .admin-lead-details{display:grid}
.admin-leads-list.is-expanded-view .admin-lead-card>footer{display:flex}

:root[data-theme="dark"] .admin-lead-risk{color:#e4aa82;background:rgba(205,125,74,.10);border-color:rgba(205,125,74,.22)}
@media(max-width:720px){
  .admin-lead-filters{grid-template-columns:1fr 1fr}.admin-lead-view-toggle{grid-column:1/-1;width:100%}
  .admin-lead-actions{justify-content:flex-start;flex-wrap:wrap}
}


/* v92.10 — admin analytics polish; intentionally isolated from map/listing UI */
.admin-analytics-wrap{max-width:1320px;margin:0 auto}.admin-analytics-heading{align-items:flex-end}.admin-analytics-controls{display:flex;gap:10px;align-items:flex-end}.admin-analytics-controls label{display:grid;gap:5px}.admin-analytics-controls label>span{font-size:8px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.admin-analytics-controls select{height:38px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--ink);padding:0 11px;min-width:135px}.admin-analytics-kpi-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:8px}.admin-analytics-kpi-grid article{border:1px solid var(--line);border-radius:13px;background:var(--surface);padding:16px;display:grid;gap:7px;min-height:105px}.admin-analytics-kpi-grid article small{font-size:8px;color:var(--muted)}.admin-analytics-kpi-grid article b{font-family:var(--serif);font-size:31px;font-weight:500;line-height:1}.admin-analytics-kpi-grid article span{font-size:8px;color:var(--muted)}.admin-analytics-kpi-grid article.is-accent{border-color:rgba(182,138,69,.32);background:rgba(182,138,69,.055)}.admin-lead-mix{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 0}.admin-lead-mix>span{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px 12px;background:var(--surface)}.admin-lead-mix small{font-size:8px;color:var(--muted)}.admin-lead-mix b{font-size:15px}.admin-analytics-grid-main{grid-template-columns:minmax(0,1.45fr) minmax(280px,.65fr);margin-top:10px}.admin-analytics-panel{padding:18px!important}.admin-top-listings{margin-top:10px}.admin-listing-table{display:grid;margin-top:14px}.admin-listing-table-head,.admin-listing-row{display:grid;grid-template-columns:minmax(240px,1.6fr) repeat(4,minmax(82px,.45fr));align-items:center;gap:12px;padding:10px 4px;border-bottom:1px solid var(--line)}.admin-listing-table-head{font-size:7.5px;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);padding-top:0}.admin-listing-row:last-child{border-bottom:0}.admin-listing-row>span{font-size:9px}.admin-listing-row>span:first-child{display:grid;gap:2px}.admin-listing-row b{font-family:var(--serif);font-size:15px;font-weight:500}.admin-listing-row small{font-size:8px;color:var(--muted)}.admin-analytics-empty{font-size:9px;color:var(--muted);margin:14px 0 0}.admin-analytics-note{margin-top:10px;padding:11px 13px;border-radius:10px;border:1px solid rgba(182,138,69,.18);background:rgba(182,138,69,.045);font-size:8.5px;line-height:1.55;color:var(--muted)}
:root[data-theme="dark"] .admin-analytics-kpi-grid article,:root[data-theme="dark"] .admin-lead-mix>span,:root[data-theme="dark"] .admin-analytics-controls select{background:#10191f;border-color:rgba(222,231,235,.10);color:#edf2f3}
@media(max-width:900px){.admin-analytics-kpi-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-analytics-grid-main{grid-template-columns:1fr}.admin-listing-table-head,.admin-listing-row{grid-template-columns:minmax(170px,1.5fr) repeat(4,minmax(62px,.45fr));gap:7px}}
@media(max-width:620px){.admin-analytics-heading{display:grid}.admin-analytics-controls{width:100%}.admin-analytics-controls label,.admin-analytics-controls select{width:100%}.admin-analytics-kpi-grid,.admin-lead-mix{grid-template-columns:1fr}.admin-listing-table{overflow-x:auto}.admin-listing-table-head,.admin-listing-row{min-width:650px}}


/* ========================================================================== 
   v92.11 — QA corrections: contact context, admin views, mobile sheet, public polish
   ========================================================================== */
.contact-listing-context{grid-column:1/-1;border:1px solid var(--line);border-radius:14px;padding:16px;background:color-mix(in srgb,var(--surface) 88%,transparent);display:grid;gap:12px}
.contact-listing-context-head{display:flex;align-items:flex-end;justify-content:space-between;gap:18px}.contact-listing-context-head>div{display:grid;gap:3px}.contact-listing-context-head small{font-size:7px;letter-spacing:.14em;color:var(--muted)}.contact-listing-context-head h3{font-family:var(--serif);font-weight:500;font-size:22px;margin:0}.contact-listing-context-head>span{font-size:8px;color:var(--muted)}
.contact-listing-context .field>span{display:block;font-size:9px;margin-bottom:5px;color:#536976}.contact-listing-context select{width:100%;height:42px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--ink);padding:0 11px}
.contact-listing-preview{display:grid;grid-template-columns:88px minmax(0,1fr) auto;gap:13px;align-items:center;padding:9px;border:1px solid var(--line);border-radius:11px;background:var(--bg)}.contact-listing-preview img{width:88px;height:66px;object-fit:cover;border-radius:8px}.contact-listing-preview>div{display:grid;gap:2px;min-width:0}.contact-listing-preview small{font-size:6.5px;letter-spacing:.1em;color:var(--warm)}.contact-listing-preview b{font-family:var(--serif);font-size:18px;font-weight:500}.contact-listing-preview span,.contact-listing-preview em{font-size:8px;color:var(--muted);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.contact-listing-preview>a{font-size:8px;color:var(--ink);text-decoration:none;white-space:nowrap}.contact-listing-empty{border:1px dashed var(--line);border-radius:10px;padding:12px;font-size:9px;color:var(--muted)}

.admin-lead-filters{align-items:center}.admin-lead-view-control{height:38px;display:flex;align-items:center;gap:8px;padding-left:11px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface)}.admin-lead-view-control>span{font-size:8px;color:var(--muted);white-space:nowrap}.admin-lead-view-control select{height:36px;border:0!important;border-left:1px solid var(--line)!important;border-radius:0 8px 8px 0!important;background:transparent!important;padding:0 28px 0 9px!important}
.admin-lead-label-row{display:flex;align-items:center;gap:7px}.admin-lead-risk{font-size:7px;padding:3px 6px;border-radius:999px;background:rgba(176,73,73,.08);color:#9d4242}.admin-lead-actions{display:flex;align-items:center;gap:7px}.admin-lead-expand{height:32px;border:1px solid var(--line-strong);border-radius:999px;background:transparent;color:var(--ink);padding:0 11px;display:inline-flex;align-items:center;gap:7px;font:inherit;font-size:8.5px;cursor:pointer}.admin-lead-expand:hover{border-color:color-mix(in srgb,var(--warm) 52%,var(--line-strong));color:var(--warm)}.admin-lead-expand i{font-style:normal;font-size:10px}.admin-lead-state-wrap{position:relative}.admin-lead-state{min-width:104px;border-radius:999px!important;padding:0 28px 0 11px!important;font-size:8.5px!important;cursor:pointer}.admin-lead-card h2{font-size:24px}.admin-lead-card p{font-size:10px}.admin-lead-meta time{font-size:8.5px}.admin-statusline{font-size:10px}
.admin-leads-list[data-view="compact"] .admin-lead-card{padding:10px 12px}.admin-leads-list[data-view="compact"] .admin-lead-card h2{font-size:18px;margin-top:2px}.admin-leads-list[data-view="compact"] .admin-lead-details,.admin-leads-list[data-view="compact"] .admin-lead-card>footer{display:none}.admin-leads-list[data-view="compact"] .admin-lead-card.is-open .admin-lead-details{display:grid}.admin-leads-list[data-view="compact"] .admin-lead-card.is-open>footer{display:flex}
.admin-leads-list[data-view="detailed"] .admin-lead-details,.admin-leads-list[data-view="detailed"] .admin-lead-card>footer{display:grid}.admin-leads-list[data-view="detailed"] .admin-lead-card>footer{display:flex}
.admin-leads-list[data-view="grid"]{grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch}.admin-leads-list[data-view="grid"] .admin-lead-card{min-height:230px;display:flex;flex-direction:column}.admin-leads-list[data-view="grid"] .admin-lead-top{display:grid}.admin-leads-list[data-view="grid"] .admin-lead-meta{justify-items:start}.admin-leads-list[data-view="grid"] .admin-lead-actions{width:100%;justify-content:space-between}.admin-leads-list[data-view="grid"] .admin-lead-details,.admin-leads-list[data-view="grid"] .admin-lead-card>footer{display:none}.admin-leads-list[data-view="grid"] .admin-lead-card.is-open .admin-lead-details{display:grid;grid-template-columns:1fr}.admin-leads-list[data-view="grid"] .admin-lead-card.is-open>footer{display:flex;margin-top:auto}

.v33-lock .owner-icon,.v33-lock svg{display:block!important;margin:0!important;transform:none!important}

@media(max-width:1100px){.admin-leads-list[data-view="grid"]{grid-template-columns:repeat(2,minmax(0,1fr))}.renter-visit-card{margin-inline:auto}}
@media(max-width:800px){
  .contact-listing-preview{grid-template-columns:72px minmax(0,1fr)}.contact-listing-preview img{width:72px;height:58px}.contact-listing-preview>a{grid-column:2}.contact-listing-context-head{align-items:flex-start}.contact-listing-context{padding:13px}
  .home-panel-scroll{height:43vh!important;max-height:43vh!important;display:flex!important;flex-direction:column!important;overflow:hidden!important;padding-bottom:10px!important}.home-panel .map-search-wrap,.home-panel .filter-row,.map-list-head{flex:0 0 auto}.home-list{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding-bottom:12px!important;scrollbar-width:thin}
  .map-page.detail-open .home-panel{opacity:0!important;visibility:hidden!important;pointer-events:none!important;transform:translateY(105%)!important}
  .property-detail-drawer{top:auto!important;left:8px!important;right:8px!important;bottom:8px!important;width:auto!important;height:50vh!important;max-height:50vh!important;border-radius:16px!important;transform:translateY(calc(100% + 20px))!important;overflow:auto!important;overscroll-behavior:contain;background:rgba(253,252,249,.99)!important;box-shadow:0 -16px 44px rgba(18,43,55,.16)!important}
  .property-detail-drawer.open{transform:none!important;opacity:1!important;pointer-events:auto!important}.property-detail-drawer::after{display:none!important}.drawer-head{padding:12px 14px 9px}.drawer-main{height:170px!important}.drawer-gallery{padding:0 10px 10px}.drawer-content{padding:0 14px 20px}.map-page.detail-open .map-controls{right:10px!important;opacity:1!important;pointer-events:auto!important}.map-page.detail-open .map-layer-controls{opacity:1!important;pointer-events:auto!important}
  .admin-lead-filters{grid-template-columns:1fr 1fr}.admin-lead-view-control{grid-column:1/-1;width:max-content}.admin-leads-list[data-view="grid"]{grid-template-columns:1fr}.admin-lead-card h2{font-size:21px}.admin-lead-card p{font-size:9.5px}
}
@media(max-width:520px){.home-panel-scroll{height:46vh!important;max-height:46vh!important}.property-detail-drawer{height:52vh!important;max-height:52vh!important}.admin-lead-filters{grid-template-columns:1fr}.admin-lead-view-control{width:100%}.admin-lead-view-control select{flex:1}.admin-lead-actions{flex-wrap:wrap}.admin-lead-state{min-width:116px}.renter-visit-card{width:100%}}
:root[data-theme="dark"] .contact-listing-context,:root[data-theme="dark"] .contact-listing-preview,:root[data-theme="dark"] .admin-lead-view-control{background:#10191f;border-color:rgba(222,231,235,.10)}
:root[data-theme="dark"] .property-detail-drawer{background:rgba(13,19,23,.995)!important}
.admin-lead-state,.admin-lead-view-control select{appearance:none;-webkit-appearance:none;background-image:none!important}
.admin-lead-state-wrap::after{content:'⌄';position:absolute;right:10px;top:50%;transform:translateY(-54%);font-size:9px;color:var(--muted);pointer-events:none}.admin-lead-view-control{position:relative}.admin-lead-view-control::after{content:'⌄';position:absolute;right:10px;top:50%;transform:translateY(-54%);font-size:9px;color:var(--muted);pointer-events:none}.admin-lead-view-control select{padding-right:30px!important}
.admin-leads-list[data-view="grid"] .admin-lead-card:not(.is-open){aspect-ratio:1.22/1}
@media(max-width:1100px){.admin-leads-list[data-view="grid"] .admin-lead-card:not(.is-open){aspect-ratio:auto;min-height:220px}}


/* ==========================================================================
   v92.12 — QA corrections only: searchable visit picker + admin control revert
   ========================================================================== */
.renter-search-section.is-hidden{display:none!important}
.contact-listing-picker{position:relative}
.contact-listing-input-wrap{position:relative;display:flex;align-items:center}
.contact-listing-input-wrap>svg{position:absolute;left:12px;width:15px;height:15px;color:var(--muted);pointer-events:none}
.contact-listing-input-wrap>input{width:100%;height:44px;border:1px solid var(--line-strong);border-radius:10px;background:var(--surface);color:var(--ink);padding:0 42px 0 39px;outline:none;font:inherit;font-size:10px}
.contact-listing-input-wrap>input:focus{border-color:color-mix(in srgb,var(--warm) 54%,var(--line-strong));box-shadow:0 0 0 3px color-mix(in srgb,var(--warm) 9%,transparent)}
.contact-listing-clear{position:absolute;right:8px;top:50%;transform:translateY(-50%);width:28px;height:28px;border:0;border-radius:999px;background:color-mix(in srgb,var(--ink) 6%,transparent);color:var(--muted);font-size:18px;line-height:1;cursor:pointer}
.contact-listing-clear:hover{background:color-mix(in srgb,var(--ink) 10%,transparent);color:var(--ink)}
.contact-listing-suggestions{position:absolute;z-index:24;left:0;right:0;top:calc(100% + 6px);max-height:360px;overflow:auto;border:1px solid var(--line-strong);border-radius:12px;background:var(--surface);box-shadow:0 18px 46px rgba(18,43,55,.14);padding:6px}
.contact-listing-suggestion{width:100%;border:0;border-radius:9px;background:transparent;color:var(--ink);padding:7px;display:grid;grid-template-columns:68px minmax(0,1fr);gap:10px;align-items:center;text-align:left;cursor:pointer}
.contact-listing-suggestion:hover,.contact-listing-suggestion:focus-visible{background:color-mix(in srgb,var(--ink) 4%,transparent);outline:none}
.contact-listing-suggestion img{width:68px;height:52px;border-radius:7px;object-fit:cover}
.contact-listing-suggestion>span{display:grid;gap:2px;min-width:0}
.contact-listing-suggestion b{font-family:var(--serif);font-size:15px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contact-listing-suggestion small,.contact-listing-suggestion em{font-size:8px;color:var(--muted);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.contact-listing-suggestion em{color:var(--warm)}
.contact-listing-no-results{padding:13px 11px;font-size:9px;color:var(--muted)}
:root[data-theme="dark"] .contact-listing-input-wrap>input,:root[data-theme="dark"] .contact-listing-suggestions{background:#10191f;border-color:rgba(222,231,235,.12);color:#edf2f3}

.admin-lead-expand{height:32px;padding:0 10px;font-size:8px}
.admin-lead-state{min-width:0;border-radius:9px!important;padding:0 10px!important;background-image:revert!important;appearance:auto!important;-webkit-appearance:auto!important}
.admin-lead-state-wrap{display:contents}
.admin-lead-state-wrap::after{display:none!important}
.admin-primary-action{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:38px;padding-inline:14px;border-color:color-mix(in srgb,var(--warm) 40%,var(--line-strong));background:color-mix(in srgb,var(--warm) 6%,var(--surface));font-size:9px;letter-spacing:.015em}
.admin-primary-action:hover{border-color:var(--warm);background:color-mix(in srgb,var(--warm) 11%,var(--surface));color:var(--ink)}
#admin-leads-refresh.admin-primary-action{border-radius:999px}
.admin-leads-pager .admin-primary-action{min-width:170px;border-radius:999px}

.admin-leads-list[data-view="grid"]{align-items:start}
.admin-leads-list[data-view="grid"] .admin-lead-card,
.admin-leads-list[data-view="grid"] .admin-lead-card:not(.is-open){display:block;height:auto;min-height:0;aspect-ratio:auto!important;align-self:start}
.admin-leads-list[data-view="grid"] .admin-lead-meta{justify-items:start;margin-top:9px}
.admin-leads-list[data-view="grid"] .admin-lead-actions{justify-content:flex-start}
.admin-leads-list[data-view="grid"] .admin-lead-card.is-open>footer{margin-top:9px}

@media(max-width:620px){
  .contact-listing-suggestions{max-height:300px}
  .contact-listing-suggestion{grid-template-columns:58px minmax(0,1fr)}
  .contact-listing-suggestion img{width:58px;height:46px}
}

/* v92.12 exact revert for the blue-marked lead controls: preserve the v92.10 treatment. */
.admin-lead-expand{border:1px solid var(--line-strong);border-radius:10px;background:#fff;color:var(--ink)}
.admin-lead-expand:hover{border-color:rgba(18,40,50,.4);background:#fff;color:var(--ink);transform:translateY(-1px)}
:root[data-theme="dark"] .admin-lead-expand{background:#121a1f;color:var(--ink);border-color:var(--line-strong)}
:root[data-theme="dark"] .admin-lead-expand:hover{background:#182229;border-color:rgba(230,238,239,.34);color:var(--ink)}

/* ==========================================================================
   v92.13 — mobile QA + professional entry + listing context polish
   ========================================================================== */
/* Header: public professional workspace entry. */
.pro-entry{width:36px;height:36px;border:1px solid var(--line);border-radius:50%;background:rgba(255,255,255,.62);display:grid;place-items:center;color:var(--ink);flex:0 0 auto;transition:transform .18s ease,background .18s ease,border-color .18s ease;padding:0;line-height:0}
.pro-entry svg,.theme-toggle svg{display:block;margin:auto}
.pro-entry:hover{transform:translateY(-1px);background:#fff;border-color:var(--line-strong)}
:root[data-theme="dark"] .pro-entry{background:rgba(19,27,32,.92);color:#dbe4e6;border-color:var(--line)}
:root[data-theme="dark"] .pro-entry:hover{background:#182229;color:#fff;border-color:var(--line-strong)}
.mobile-pro-entry{display:flex!important;align-items:center!important;gap:10px!important}
.mobile-pro-entry svg{width:18px;height:18px;flex:0 0 auto}

/* /pro public entry — real product entry point, demo gate only on staging. */
.pro-entry-page{background:var(--paper-2)}
.pro-entry-wrap{max-width:1180px;padding-top:58px}
.pro-entry-grid{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(330px,.72fr);gap:34px;align-items:start;margin-top:28px}
.pro-entry-copy{padding:10px 0}.pro-entry-copy .page-title{max-width:720px}.pro-entry-copy .page-lead{max-width:640px}
.pro-entry-points{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:28px 0 24px}
.pro-entry-points>span{min-height:92px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.58);padding:14px;display:grid;align-content:start;gap:10px}
.pro-entry-points svg{font-size:18px;color:var(--bronze)}.pro-entry-points b{font-family:var(--serif);font-weight:500;font-size:16px;line-height:1.14}
.pro-entry-card{border:1px solid var(--line);border-radius:17px;background:#fff;box-shadow:var(--shadow-soft);padding:26px}
.pro-entry-card form,.pro-entry-ready{display:grid;gap:13px}.pro-entry-card small{font-size:8px;letter-spacing:.14em;color:var(--muted)}.pro-entry-card h2{font-family:var(--serif);font-size:29px;font-weight:500;line-height:1.05;margin:0}.pro-entry-card p{font-size:11px;line-height:1.6;color:var(--muted);margin:0}.pro-entry-card label{display:grid;gap:6px;font-size:9px;color:var(--muted)}.pro-entry-card input{height:44px;border:1px solid var(--line-strong);border-radius:10px;background:var(--paper-2);color:var(--ink);padding:0 12px;outline:none}.pro-entry-card .solid-btn{min-height:43px;padding-inline:16px;width:max-content}.pro-entry-ready>svg{width:24px;height:24px;color:var(--bronze)}
:root[data-theme="dark"] .pro-entry-points>span,:root[data-theme="dark"] .pro-entry-card{background:#10191f;border-color:rgba(222,231,235,.11)}
:root[data-theme="dark"] .pro-entry-card input{background:#0c1419;border-color:rgba(222,231,235,.15);color:#edf2f3}

/* Contact listing picker: v92.12 used an undefined surface token in light mode. */
:root:not([data-theme="dark"]) .contact-listing-input-wrap>input{background:#fff}
:root:not([data-theme="dark"]) .contact-listing-suggestions{background:#fff;color:var(--ink)}

/* Lead listing context + equal Detail/Status controls. */
.admin-lead-top{display:grid;grid-template-columns:minmax(220px,1fr) auto auto;align-items:center;gap:18px}
.admin-lead-listing-slot{width:min(390px,34vw);min-width:0}.admin-lead-listing-slot:empty{width:0}
.admin-lead-listing-context{margin:0;border:1px solid var(--line);border-radius:10px;background:color-mix(in srgb,var(--ink) 2.5%,transparent);padding:7px;display:grid;grid-template-columns:64px minmax(0,1fr) auto;gap:10px;align-items:center;transition:.16s ease}
.admin-lead-listing-context:hover{border-color:color-mix(in srgb,var(--warm) 44%,var(--line-strong));background:color-mix(in srgb,var(--warm) 4%,transparent)}
.admin-lead-listing-context img{width:64px;height:50px;object-fit:cover;border-radius:7px}.admin-lead-listing-context>div{min-width:0;display:grid;gap:2px}.admin-lead-listing-context small{font-size:7.5px;letter-spacing:.11em;color:var(--warm)}.admin-lead-listing-context b{font-family:var(--serif);font-size:16px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-lead-listing-context span{font-size:9px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-lead-listing-context em{font-size:9px;color:var(--ink);font-style:normal}.admin-lead-listing-context>i{font-style:normal;font-size:13px;color:var(--muted)}
.admin-lead-listing-context.is-text{grid-template-columns:1fr}.admin-lead-state,.admin-lead-expand{height:32px!important;min-height:32px!important;font-size:9px!important}
.admin-lead-mode{font-size:8.5px}.admin-lead-card p{font-size:11px}.admin-lead-meta time{font-size:9.5px}.admin-leads-list[data-view="compact"] .admin-lead-card h2{font-size:20px}
.admin-leads-list[data-view="grid"] .admin-lead-top{grid-template-columns:1fr}.admin-leads-list[data-view="grid"] .admin-lead-listing-slot{width:100%}.admin-leads-list[data-view="grid"] .admin-lead-meta{justify-items:start}
@media(max-width:980px){.admin-lead-top{grid-template-columns:1fr auto}.admin-lead-listing-slot{grid-column:1/-1;width:100%;max-width:520px}.admin-lead-meta{grid-column:2;grid-row:1}}
@media(max-width:700px){.admin-lead-top{grid-template-columns:1fr}.admin-lead-listing-slot,.admin-lead-meta{grid-column:auto;grid-row:auto;width:100%}.admin-lead-meta{justify-items:start}}
:root[data-theme="dark"] .admin-lead-listing-context{background:rgba(255,255,255,.025);border-color:rgba(222,231,235,.10)}

/* Analytics listing rows now scan visually like mini property records. */
.admin-listing-property{display:grid;grid-template-columns:68px minmax(0,1fr);gap:10px;align-items:center;min-width:0}
.admin-listing-property>img{width:68px;height:52px;object-fit:cover;border-radius:8px;background:#e6e9e6}
.admin-listing-property>span{display:grid;gap:2px;min-width:0}.admin-listing-property b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-listing-property small,.admin-listing-property em{font-size:7.5px;color:var(--muted);font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.admin-listing-property em{color:var(--warm)}
.admin-listing-row:hover .admin-listing-property b{color:var(--warm)}

/* Mobile page/header containment shared by non-map sections. */
@media(max-width:800px){
  html,body,#app,.site-header,.map-page,.map-stage,.page-shell{max-width:100vw;min-width:0}.page-inner{max-width:100%;min-width:0;padding-left:18px;padding-right:18px}.mobile-menu{max-width:100vw;overflow-x:hidden}
  /* Theme/account symbols stay optically centred inside the round buttons. */
  .theme-toggle,.pro-entry{padding:0!important;display:grid!important;place-items:center!important;line-height:0!important}.theme-toggle svg,.pro-entry svg{position:static!important;transform:none!important;margin:auto!important}
}

@media(max-width:720px){
  .pro-entry-grid{grid-template-columns:1fr;gap:20px}.pro-entry-points{grid-template-columns:1fr}.pro-entry-card{padding:20px}.pro-entry-wrap{padding-top:34px}
  .admin-listing-property{grid-template-columns:58px minmax(0,1fr)}.admin-listing-property>img{width:58px;height:46px}
}


/* ==========================================================================
   v92.19 — authoritative mobile map / sheet geometry
   --------------------------------------------------------------------------
   One rule set owns the phone/narrow-browser relationship between the real map
   viewport, both bottom sheets, the right control rail and hover preview.
   ========================================================================== */
.home-panel-mobile-handle,.drawer-mobile-handle,.map-control-rail>.mobile-amenities-toggle{display:none!important}

@media(max-width:800px){
  html,body,#app,.site-header,.map-page,.map-stage,.page-shell{max-width:100vw;min-width:0}

  /* Bottom sheets are real interactive layout surfaces. */
  .home-panel{bottom:max(10px,env(safe-area-inset-bottom,0px));height:var(--mobile-sheet-height,46vh)!important;max-height:min(var(--mobile-sheet-height,46vh),calc(100dvh - var(--header-h) - 20px))!important;pointer-events:auto!important}
  .home-panel-mobile-handle{display:flex!important;height:30px!important;flex:0 0 30px!important;align-items:center;justify-content:center;touch-action:none;cursor:ns-resize;background:inherit;position:relative;z-index:10;pointer-events:auto!important;user-select:none;-webkit-user-select:none}
  .home-panel-mobile-handle i{display:block;width:44px;height:4px;border-radius:999px;background:rgba(18,40,50,.25)}
  :root[data-theme="dark"] .home-panel-mobile-handle i{background:rgba(231,239,241,.28)}
  .home-panel-scroll{height:calc(100% - 30px)!important;max-height:none!important}
  .home-panel.sheet-animate{transition:height .24s ease,max-height .24s ease!important}
  .home-panel.is-dragging{transition:none!important;user-select:none}
  .home-panel.is-dragging *{user-select:none}

  .drawer-mobile-handle{display:flex!important;position:sticky;top:0;z-index:10;height:32px!important;min-height:32px!important;align-items:center;justify-content:center;background:inherit;touch-action:none;cursor:ns-resize;border-radius:16px 16px 0 0;pointer-events:auto!important;user-select:none;-webkit-user-select:none}
  .drawer-mobile-handle i{display:block;width:44px;height:4px;border-radius:999px;background:rgba(18,40,50,.25)}
  :root[data-theme="dark"] .drawer-mobile-handle i{background:rgba(231,239,241,.28)}
  /* The handle and title/close row are one continuous sticky top region. They
     no longer overlap at top:0, so the close button remains visible while the
     property sheet is scrolled. */
  .property-detail-drawer>.drawer-head{top:32px!important;z-index:9!important}
  .property-detail-drawer{bottom:max(8px,env(safe-area-inset-bottom,0px))!important;height:var(--mobile-sheet-height,54vh)!important;max-height:min(var(--mobile-sheet-height,54vh),calc(100dvh - var(--header-h) - 16px))!important;scroll-padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important}
  .property-detail-drawer .drawer-content{padding-bottom:calc(88px + env(safe-area-inset-bottom,0px))!important}
  .property-detail-drawer.sheet-animate{transition:height .24s ease,max-height .24s ease,transform .32s cubic-bezier(.2,.78,.2,1),opacity .2s ease!important}
  .property-detail-drawer.is-dragging{transition:none!important;user-select:none}
  .property-detail-drawer.is-dragging *{user-select:none}

  /* The map host itself ends at the sheet's final *layout* top. JS computes this
     from offsetTop, which is intentionally unaffected by the sheet slide transform. */
  .map-page #main-map{bottom:var(--mobile-map-bottom,0px)!important}
  .map-page.mobile-map-viewport-animate #main-map{transition:left .28s ease,bottom .24s ease,background .2s ease!important}
  .map-stage::after{box-shadow:none!important}

  /* Controls share exactly the same lower boundary as the real map. */
  .map-page.detail-open .map-topright .map-control-rail{opacity:1!important;visibility:visible!important;pointer-events:auto!important}
  .map-topright{bottom:calc(var(--mobile-map-bottom,0px) + 8px)!important;min-height:0!important}
  .map-control-rail{max-height:100%!important;min-height:0!important;overflow-y:auto!important;overflow-x:visible!important;overscroll-behavior:contain;scrollbar-width:none;padding-bottom:4px}
  .map-control-rail::-webkit-scrollbar{display:none}
  /* On mobile the rail must scroll vertically, which necessarily clips children
     that fly out horizontally. JS temporarily portals only the radius popover to
     .map-page while it is open; keep the normal desktop nesting unchanged. */
  .map-radius-popover.radius-popover-portaled{position:absolute!important;right:auto!important;z-index:70!important;opacity:1!important;pointer-events:auto!important;transform:translateY(-50%) scale(1)!important}
  .map-topright,.map-control-rail,.map-control-rail.mobile-amenities-open{background:transparent!important;border:0!important;box-shadow:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important}

  /* Narrow desktop hover/focus preview: compact, marker-positioned by JS and
     constrained to the real visible map instead of spanning the viewport. */
  .property-popover{width:min(286px,calc(100vw - 24px));max-width:calc(100vw - 24px);max-height:330px;overflow:auto}
  .property-popover .popover-media{height:112px}
  .property-popover .popover-title{font-size:18px}
  .property-popover .popover-body{padding:9px 4px 3px}
  .property-popover .popover-actions button{height:34px}

  /* Tap-to-pin amenity previews. Hover remains desktop behavior. */
  .google-place-preview{display:none!important}
  .google-place-marker.pinned .google-place-preview{display:grid!important;left:50%!important;right:auto!important;top:auto!important;bottom:34px!important;width:min(216px,calc(100vw - 48px))!important;max-height:min(300px,52vh);overflow:auto;opacity:1!important;transform:translateX(-50%) scale(1)!important;pointer-events:auto!important}
}

@media(max-width:520px){
  /* The amenity launcher is intentionally near the top of the DOM rail (after
     recenter), so short phone map viewports cannot scroll it out of reach. */
  .map-control-rail>.mobile-amenities-toggle{display:grid!important}
  .map-control-rail>.layer-chip{display:none!important}
  .map-control-rail.mobile-amenities-open>.layer-chip{display:grid!important}
  .map-control-rail.mobile-amenities-open>.map-control:not(.mobile-amenities-toggle),
  .map-control-rail.mobile-amenities-open>.map-control-separator{display:none!important}
  .map-control-rail.mobile-amenities-open>.mobile-amenities-toggle{display:grid!important;position:sticky!important;top:0!important;z-index:3;background:var(--surface)!important}
  .map-control-rail.mobile-amenities-open{padding:0!important}

  /* Four inventory filters stay fully visible on phone. */
  .home-panel .filter-row{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:5px!important;width:100%!important}
  .home-panel .filter-row>.select-menu{min-width:0!important;width:100%!important}
  .home-panel .filter-row .filter-chip.select-menu-trigger{min-width:0!important;width:100%!important;padding:0 6px!important;gap:3px!important}
  .home-panel .filter-row .select-menu-value{max-width:none!important;min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important}
  .home-panel .filter-row .select-menu-chevron{margin-left:auto!important}
}

/* v92.17's stable desktop map geometry, touch-only marker activation and
   heading-only 3D orbit remain the active desktop/map behavior. */

/* Scoped professional performance chart controls and readable axes. */
.partner-demo-global{margin:16px 24px 0}
.partner-chart-tools{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;padding:14px 16px 4px}
.partner-chart-modes{display:flex;gap:4px;border:1px solid var(--line);border-radius:8px;padding:3px}
.partner-chart-modes button,.partner-performance-chart .partner-chart-legend button{font:inherit;font-size:12px;border:0;border-radius:5px;padding:7px 9px;background:transparent;color:var(--muted);cursor:pointer}
.partner-chart-modes button[aria-pressed="true"]{background:var(--ink);color:var(--paper)}
.partner-performance-chart .partner-chart-legend{padding:0;gap:4px}
.partner-performance-chart .partner-chart-legend button:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;margin-right:6px;background:currentColor}
.partner-performance-chart .partner-chart-legend .views{color:#365f9a}.partner-performance-chart .partner-chart-legend .opens{color:#c39742}.partner-performance-chart .partner-chart-legend .clicks{color:#4f9a83}.partner-performance-chart .partner-chart-legend .requests{color:#be6f55}
.partner-performance-chart .partner-chart-legend button[aria-pressed="false"]{opacity:.45;text-decoration:line-through}
.partner-chart-scroll{overflow-x:auto;overscroll-behavior-x:contain}
.partner-performance-chart .partner-line-chart{min-width:600px;padding:8px 10px 0}
.partner-line-chart .chart-axis-label,.partner-line-chart .chart-unit{fill:var(--muted);font-size:9.5px;font-family:var(--sans)}
.partner-line-chart .chart-unit{font-size:10px}
.partner-chart-point{cursor:crosshair}.partner-chart-point:focus{outline:none;fill:rgba(80,130,160,.12);stroke:#72848b;stroke-width:1}
.partner-chart-tooltip{margin:0 16px;padding:10px 12px;border-radius:8px;background:rgba(100,130,140,.08);font-size:12px;line-height:1.6;min-height:40px;color:var(--ink)}
.partner-chart-timezone{display:block;padding:8px 16px;color:var(--muted);font-size:11px}
.partner-chart-tools button:focus-visible{outline:2px solid #4f9a83;outline-offset:2px}
@media(max-width:600px){.partner-chart-tools{gap:8px}.partner-demo-global{margin:12px 14px 0}.partner-chart-tooltip{font-size:12px}}


/* v92.25 — lightweight public feedback + internal review. */
.feedback-wrap{max-width:860px}.feedback-form{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:24px;padding:24px;border:1px solid var(--line);border-radius:12px;background:var(--paper)}.feedback-form .full{grid-column:1/-1}.feedback-form textarea{min-height:170px}.admin-feedback-list{display:grid;gap:12px;margin-top:16px}.admin-feedback-card{border:1px solid var(--line);border-radius:12px;background:var(--paper);padding:16px 18px}.admin-feedback-card>header{display:flex;justify-content:space-between;align-items:center;gap:12px;color:var(--muted);font-size:10px}.admin-feedback-kind{font-weight:700;letter-spacing:.08em;text-transform:uppercase}.admin-feedback-card>p{font-size:13px;line-height:1.65;white-space:pre-wrap;margin:14px 0}.admin-feedback-meta{display:flex;flex-wrap:wrap;gap:8px 16px;font-size:10px;color:var(--muted)}.admin-feedback-meta b,.admin-feedback-meta a{color:var(--ink);font-weight:500}.admin-feedback-state{display:flex;align-items:center;gap:8px;margin-top:14px;font-size:10px;color:var(--muted)}.admin-feedback-state select{border:1px solid var(--line-strong);border-radius:7px;padding:7px 9px;background:var(--paper);color:var(--ink)}
:root[data-theme="dark"] .feedback-form,:root[data-theme="dark"] .admin-feedback-card{background:#11191e;border-color:var(--line)}
@media(max-width:700px){.feedback-form{grid-template-columns:1fr;padding:18px}.feedback-form .full{grid-column:auto}.admin-feedback-card>header{align-items:flex-start;flex-direction:column}}


/* v92.26 — final launch identity/demo/feedback polish. */
.publisher-marker-preview.monogram{font-size:10px;letter-spacing:.02em}
.partner-demo-notice.partner-demo-global{display:flex;align-items:center;justify-content:space-between;gap:14px}
.partner-demo-notice.partner-demo-global>a{flex:0 0 auto;color:inherit;font-size:9px;font-weight:700;text-decoration:none;border-bottom:1px solid currentColor;padding-bottom:1px}
.admin-hub-card{position:relative}
.admin-hub-badge{position:absolute;top:14px;right:14px;min-width:20px;height:20px;padding:0 6px;border-radius:999px;display:grid;place-items:center;background:var(--o-warm,#b67f2d);color:#fff;font-size:9px;font-weight:700;line-height:1}
.admin-hub-badge[hidden]{display:none}
@media(max-width:700px){.partner-demo-notice.partner-demo-global{align-items:flex-start;flex-direction:column}.partner-demo-notice.partner-demo-global>a{font-size:8.5px}}

/* v92.28 — launch QA: admin search/sort controls + draggable publisher location marker */
.admin-filter-search{height:38px;min-width:210px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--ink);padding:0 11px;outline:none;font-size:10px}
.admin-filter-search::placeholder{color:var(--muted)}
.admin-filter-search:focus{border-color:#a67631;box-shadow:0 0 0 2px rgba(166,118,49,.10)}
.admin-sort-control{height:38px;display:flex;align-items:center;gap:7px;padding-left:10px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--ink)}
.admin-sort-control>span{font-size:8px;color:var(--muted);white-space:nowrap}
.admin-sort-control select{height:36px;border:0!important;border-left:1px solid var(--line)!important;border-radius:0 8px 8px 0!important;background:transparent!important;color:var(--ink)!important;padding:0 27px 0 9px!important;font-size:10px!important}
.admin-sort-order{width:38px;height:38px;flex:0 0 38px;border:1px solid var(--line-strong);border-radius:9px;background:var(--surface);color:var(--ink);font-size:16px;line-height:1;cursor:pointer}
.admin-sort-order:hover{border-color:#a67631}
.admin-feedback-name{font-family:var(--serif);font-weight:500;font-size:18px;margin:12px 0 -6px}
:root[data-theme="dark"] .admin-filter-search,:root[data-theme="dark"] .admin-sort-control,:root[data-theme="dark"] .admin-sort-order{background:#10191f;border-color:rgba(222,231,235,.10);color:#edf2f3}
.publisher-location-map .google-map-listing-marker.publisher-location-marker{cursor:grab}
.publisher-location-map .google-map-listing-marker.publisher-location-marker.is-dragging,.publisher-location-map.marker-dragging .google-map-listing-marker.publisher-location-marker{cursor:grabbing;transform:scale(1.04)}
@media(max-width:760px){.admin-filter-search{min-width:0;width:100%}.admin-sort-control{min-width:0}.admin-sort-control select{min-width:0;flex:1}}
.privacy-source-links{margin-top:8px!important}.privacy-source-links a{display:inline-block;margin-top:2px}


/* v92.29 — admin native-select dark-theme readability + feedback verification notice */
:root[data-theme="dark"] .admin-lead-filters select,
:root[data-theme="dark"] .admin-sort-control select,
:root[data-theme="dark"] .admin-lead-state,
:root[data-theme="dark"] .admin-feedback-state select,
:root[data-theme="dark"] .admin-lead-view-control select{color-scheme:dark;background:#10191f!important;color:#edf2f3!important}
:root[data-theme="dark"] .admin-lead-filters select option,
:root[data-theme="dark"] .admin-sort-control select option,
:root[data-theme="dark"] .admin-lead-state option,
:root[data-theme="dark"] .admin-feedback-state select option,
:root[data-theme="dark"] .admin-lead-view-control select option{background:#10191f;color:#edf2f3}
.feedback-verification-notice{display:grid;gap:4px;margin-top:18px;padding:13px 15px;border:1px solid var(--line);border-radius:10px;background:var(--paper);font-size:10px;line-height:1.55}
.feedback-verification-notice b{font-size:11px}.feedback-verification-notice span{color:var(--muted)}
.feedback-verification-notice.is-success{border-color:rgba(49,132,90,.28);background:rgba(49,132,90,.06)}
.feedback-verification-notice.is-error{border-color:rgba(183,83,67,.28);background:rgba(183,83,67,.06)}
.feedback-form .field small{display:block;margin-top:5px;color:var(--muted);font-size:8.5px;line-height:1.45}

/* v92.30 feedback receipt: prominent confirmation within the form viewport */
.feedback-form .intake-submit-status.is-success{padding:22px 23px;border:1px solid rgba(53,145,96,.5);background:rgba(40,118,76,.17);color:var(--text);font-size:12px;line-height:1.6;box-shadow:0 7px 25px rgba(0,0,0,.12)}
.feedback-form .intake-submit-status.is-success b{font-size:17px;letter-spacing:.005em}
.feedback-form .intake-submit-status.is-success span{color:var(--text)}
/* Production launch: visible confirmation for contact/visit requests, matching feedback accessibility. */
.intake-submit-status.is-success{padding:22px 23px;border:1px solid rgba(53,145,96,.5);background:rgba(40,118,76,.17);color:var(--text);font-size:12px;line-height:1.6;box-shadow:0 7px 25px rgba(0,0,0,.12)}
.intake-submit-status.is-success b{font-size:17px;letter-spacing:.005em;color:var(--text)}
.intake-submit-status.is-success span{color:var(--text)}


/* Photo Studio embed surfaces: map-only shell, never reveal admin navigation. */
body.cvloc-embed-mode > *:not(#app) { display:none!important; }
body.cvloc-embed-mode header,body.cvloc-embed-mode footer,body.cvloc-embed-mode .site-header,body.cvloc-embed-mode .site-footer {display:none!important;}
body.cvloc-embed-mode .cvloc-embed-placeholder{display:grid;place-items:center;min-height:100dvh;padding:28px;background:var(--bg,#101719);color:var(--text,#e6e8e8)}
body.cvloc-embed-mode .cvloc-embed-placeholder>div{max-width:600px}
body.cvloc-embed-mode .cvloc-embed-placeholder a{color:inherit;text-decoration:underline}

/* Photo Studio embedded Carte: the public header is absent, so its reserved
   layout offset must also be zero. Keep normal/public routes untouched. */
body.cvloc-embed-mode.is-map-page { --header-h: 0px; }

/* v92.36: native-style centered chevrons; preserve controls with their own visual overlay. */
select:not(.filter-chip select):not(.home-sort select) {
  -webkit-appearance:none!important;appearance:none!important;
  padding-right:36px!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m2 2 4 4 4-4' fill='none' stroke='%238a9ba4' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-position:right 15px center!important;background-size:11px 7px!important;
}
/* These controls already draw their own arrow using a wrapper pseudo-element. */
.admin-lead-view-control select, .admin-lead-state-wrap select {background-image:none!important;}
.admin-lead-view-control::after,.admin-lead-state-wrap::after {right:15px!important;font-size:10px!important;}

/* v92.37 — public Logements marketplace. Scoped to avoid modifying the approved Carte geometry. */
.cvloc-marketplace .page-inner{max-width:1450px}
.cvloc-marketplace .listings-head{padding-bottom:23px;border-bottom:1px solid var(--line);margin-bottom:27px}
.cvloc-marketplace .listings-layout{grid-template-columns:minmax(218px,245px) minmax(0,1fr);gap:32px}
.cvloc-marketplace .filters-panel{align-self:start;position:sticky;top:calc(var(--header-h) + 25px);border-right:1px solid var(--line);padding-right:24px}
.cvloc-marketplace .filters-panel label{font-size:10px;opacity:.8}
.cvloc-marketplace .filters-panel input,.cvloc-marketplace .filters-panel select{background:var(--paper-2);color:var(--ink);border-color:var(--line);min-height:43px;font-size:12px}
.cvloc-marketplace .filters-panel .search-box{background:var(--paper-2);border-color:var(--line)}
.cvloc-marketplace .filters-panel .search-box input{border:0;background:transparent;min-height:24px}
.cvloc-marketplace .cvloc-marketplace-toolbar{display:flex;justify-content:space-between;align-items:center;gap:14px;min-height:42px;margin-bottom:17px}
.cvloc-marketplace .results-count{margin:0;font-size:11px;letter-spacing:.06em;color:var(--muted)}
.cvloc-marketplace-toolbar>label{display:flex;gap:10px;align-items:center;white-space:nowrap;font-size:11px;color:var(--muted)}
.cvloc-marketplace-toolbar select{width:auto;max-width:220px;min-width:145px;border-radius:9px;padding:9px 36px 9px 12px;background-color:var(--paper-2);color:var(--ink);border:1px solid var(--line)}
.cvloc-marketplace .property-card{color:var(--ink);text-decoration:none;display:block;background:var(--paper-2);box-shadow:none;overflow:hidden;min-width:0}
.cvloc-marketplace .property-card h3{color:var(--ink);font-size:20px;line-height:1.28}
.cvloc-marketplace .property-card-body{padding:16px}
.cvloc-marketplace .property-card-meta,.cvloc-marketplace .property-card-address{color:var(--muted)}
.cvloc-marketplace .property-card-price{color:var(--ink);font-size:15px}
.cvloc-marketplace .property-card-price small{font-size:11px;font-weight:400;color:var(--muted)}
.cvloc-marketplace .property-card-media{aspect-ratio:3/2;height:auto}
.cvloc-marketplace .property-card-media img{height:100%}
.cvloc-marketplace .empty-state{padding:65px 25px;border-radius:16px;background:var(--paper-2)}
.cvloc-marketplace-empty strong{display:block;color:var(--ink);font-size:17px;font-weight:600}
.cvloc-marketplace-empty p{margin:12px auto 24px;max-width:430px;line-height:1.6}
.cvloc-marketplace-empty .solid-btn{display:inline-flex;align-items:center;justify-content:center;padding:13px 22px;color:white;text-decoration:none}
.cvloc-marketplace-more{text-align:center;padding:26px 0}
.cvloc-marketplace-more button{padding:13px 24px}
.cvloc-marketplace-link{color:var(--ink);text-decoration:underline;text-underline-offset:3px;white-space:nowrap;font-size:10px}
@media(max-width:900px){.cvloc-marketplace .listings-layout{grid-template-columns:1fr}.cvloc-marketplace .filters-panel{position:static;padding:0 0 20px;border-right:0;border-bottom:1px solid var(--line);display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.cvloc-marketplace .filters-panel .search-box{grid-column:1/-1}.cvloc-marketplace .filters-panel label{margin:0 0 6px}.cvloc-marketplace .reset-link{margin:10px 0 0}}
@media(max-width:580px){.cvloc-marketplace .filters-panel{grid-template-columns:1fr 1fr}.cvloc-marketplace .listings-head{margin-bottom:20px}.cvloc-marketplace .page-title{font-size:40px}.cvloc-marketplace .cvloc-marketplace-toolbar{align-items:flex-start;flex-direction:column}.cvloc-marketplace .property-grid{grid-template-columns:1fr}.cvloc-marketplace .property-card-media{aspect-ratio:3/2}.cvloc-marketplace .filters-panel .search-box{grid-column:1/-1}.cvloc-marketplace .reset-link{grid-column:1/-1}}

/* v92.38 — Rentals QA. Everything here is scoped to marketplace, not Carte. */
.cvloc-marketplace .listings-layout{grid-template-columns:minmax(225px,260px) minmax(0,1fr);gap:32px}
.cvloc-marketplace .filters-panel{border:0;padding:0 8px 30px 0;min-width:0}
.cvloc-marketplace .marketplace-filter-group{margin:16px 0 0;padding:0;border:0;min-width:0}
.cvloc-marketplace .marketplace-filter-group>label,
.cvloc-marketplace .marketplace-filter-group>legend{display:block;font-size:10px;font-weight:600;letter-spacing:.1em;opacity:.86;text-transform:uppercase;margin:0 0 9px}
.cvloc-marketplace .marketplace-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
.cvloc-marketplace .marketplace-option{position:relative;display:flex;align-items:center;min-height:37px;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);padding:7px 9px!important;margin:0!important;text-transform:none!important;letter-spacing:0!important;opacity:1!important;font-size:11px!important;font-weight:500!important;cursor:pointer}
.cvloc-marketplace .marketplace-option input[type=checkbox]{position:absolute!important;width:1px!important;height:1px!important;min-height:0!important;padding:0!important;margin:0!important;opacity:0;pointer-events:none}
.cvloc-marketplace .marketplace-option:has(input:checked){background:var(--ink);border-color:var(--ink);color:var(--paper-2)}
.cvloc-marketplace .marketplace-option:has(input:focus-visible){outline:2px solid var(--bronze);outline-offset:2px}
.cvloc-marketplace .marketplace-option>span{overflow-wrap:anywhere}
.cvloc-marketplace .marketplace-price-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;background:var(--paper-2);min-height:43px;overflow:hidden}
.cvloc-marketplace .marketplace-price-input #price-filter{width:100%;min-width:0;min-height:41px!important;border:0!important;background:transparent!important;padding:8px 10px;font-size:12px;outline-offset:-2px}
.cvloc-marketplace .marketplace-price-input>span{white-space:nowrap;padding:0 11px;color:var(--muted);font-size:10px}
.cvloc-marketplace .filters-panel #price-slider{display:block;appearance:auto!important;width:100%;height:24px;min-height:24px!important;margin:9px 0 0;padding:0!important;border:0!important;background:transparent!important;accent-color:var(--bronze);cursor:pointer}
.cvloc-marketplace .marketplace-price-scale{display:flex;justify-content:space-between;color:var(--muted);font-size:10px;margin-top:2px}
.cvloc-marketplace .filters-panel #hood-filter{min-height:43px}
.cvloc-marketplace .reset-link{margin-top:21px}
.cvloc-marketplace-pagination[hidden]{display:none!important}
.cvloc-marketplace-pagination{display:flex;justify-content:center;align-items:center;gap:6px;flex-wrap:wrap;padding:27px 0 10px}
.cvloc-marketplace-pagination button{min-width:38px;min-height:38px;padding:7px 12px;border:1px solid var(--line-strong);border-radius:9px;background:var(--paper-2);color:var(--ink);font-size:11px;cursor:pointer}
.cvloc-marketplace-pagination button:hover:not(:disabled){border-color:var(--muted)}
.cvloc-marketplace-pagination button[aria-current=page]{background:var(--ink);border-color:var(--ink);color:var(--paper-2);font-weight:600}
.cvloc-marketplace-pagination button:disabled{opacity:.35;cursor:default}
.cvloc-marketplace-pagination .pagination-ellipsis{padding:0 4px;color:var(--muted)}
.cvloc-marketplace .cvloc-marketplace-results{min-width:0}
@media(max-width:900px){
 .cvloc-marketplace .listings-layout{grid-template-columns:1fr;gap:20px}
 .cvloc-marketplace .filters-panel{position:static;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:16px;row-gap:4px;padding:0 0 18px;border:0}
 .cvloc-marketplace .filters-panel .search-box{grid-column:1/-1;margin-bottom:5px}
 .cvloc-marketplace .filters-panel .reset-link{grid-column:1/-1;justify-self:start}
}
@media(max-width:580px){
 .cvloc-marketplace .filters-panel{grid-template-columns:1fr;row-gap:1px}
 .cvloc-marketplace .marketplace-check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .cvloc-marketplace .filters-panel .search-box{grid-column:auto}
 .cvloc-marketplace .filters-panel .reset-link{grid-column:auto}
 .cvloc-marketplace-pagination{gap:4px}
 .cvloc-marketplace-pagination button{min-width:34px;min-height:36px;padding:6px 9px}
}

.cvloc-marketplace .marketplace-option::before{content:'';display:grid;place-items:center;width:13px;height:13px;flex:0 0 13px;border:1px solid var(--line-strong);border-radius:3px;margin-right:6px}
.cvloc-marketplace .marketplace-option:has(input:checked)::before{content:'✓';font-size:10px;line-height:1;font-weight:700;background:var(--paper-2);border-color:var(--paper-2);color:var(--ink)}

/* v92.39 private professional workspace, scoped; existing Carte/Pro demo untouched */
.pro-workspace{min-height:70vh}.pro-workspace .page-inner{max-width:1260px}.pro-workspace-state{margin:24px 0;padding:24px;border:1px solid var(--border-color,#53616a);border-radius:13px}.pro-workspace-toolbar,.pro-workspace-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:14px;margin:24px 0}.pro-workspace-toolbar{justify-content:space-between}.pro-workspace-org select{margin-left:10px}.pro-workspace-tabs{border-bottom:1px solid #69757a55;padding-bottom:12px}.pro-workspace-tabs button{border:1px solid #87959b55;background:transparent;color:inherit;padding:12px 19px;border-radius:9px;cursor:pointer}.pro-workspace-tabs button.active{background:#a5b9bf24;border-color:#8ca0a8}.pro-workspace-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.pro-workspace-metrics article,.pro-workspace-drafts article{border:1px solid #87959b44;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:9px}.pro-workspace-metrics b{font-size:1.8rem}.pro-workspace-metrics small,.pro-workspace-drafts small,.pro-workspace-metrics em,.pro-workspace-note{opacity:.72;font-size:13px;font-style:normal}.pro-workspace-drafts{display:grid;gap:12px;margin-top:20px}.pro-workspace-drafts article{display:flex;flex-direction:row;justify-content:space-between;align-items:center;flex-wrap:wrap}.pro-workspace-drafts article>div{display:grid;gap:5px}.pro-workspace-drafts button,.pro-draft-form button{border:1px solid #899aa7;background:transparent;color:inherit;border-radius:8px;padding:10px 16px;cursor:pointer}.pro-draft-form{margin-top:18px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:20px;border:1px solid #899aa744;border-radius:12px}.pro-draft-form label{display:grid;gap:7px;font-size:13px}.pro-draft-form input,.pro-draft-form select,.pro-draft-form textarea,.pro-workspace-org select{min-width:0;width:100%;color:inherit;background:transparent;border:1px solid #85949a77;border-radius:7px;padding:10px}.pro-draft-form select option{color:#20282d}.pro-draft-wide{grid-column:1/-1}.pro-draft-form button{justify-self:start}.pro-workspace #pro-workspace-panel h2{margin:20px 0 12px;font-size:23px}@media(max-width:850px){.pro-workspace-metrics,.pro-draft-form{grid-template-columns:1fr}.pro-workspace-toolbar{align-items:flex-start}.pro-workspace-drafts article{align-items:flex-start}}

/* v92.40 — Rentals sidebar inherits a global dark card shadow; neutralize at its source. */
.cvloc-marketplace .filters-panel,
:root[data-theme="dark"] .cvloc-marketplace .filters-panel{
  background:transparent;
  box-shadow:none;
  border:0;
  border-radius:0;
}
.cvloc-marketplace .marketplace-price-title{font-size:10px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px;color:var(--ink)}
.cvloc-marketplace .marketplace-price-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.cvloc-marketplace .marketplace-price-fields>label{display:block;margin:0;min-width:0;text-transform:none;letter-spacing:normal;opacity:1;font-size:11px;color:var(--muted)}
.cvloc-marketplace .marketplace-price-input{margin-top:6px;width:100%;min-width:0}
.cvloc-marketplace .marketplace-price-input input{width:100%;min-width:0;min-height:40px!important;background:transparent!important;border:0!important;padding:8px!important;font-size:12px!important;outline-offset:-2px}
.cvloc-marketplace .marketplace-price-input em{font-size:11px;padding-right:9px;font-style:normal;color:var(--muted)}
.cvloc-marketplace .marketplace-dual-slider{position:relative;height:31px;margin:8px 8px 0;--range-left:0%;--range-right:100%}
.cvloc-marketplace .marketplace-range-track{position:absolute;top:13px;left:0;right:0;height:5px;border-radius:99px;background:linear-gradient(to right,var(--line-strong) 0 var(--range-left),var(--bronze) var(--range-left) var(--range-right),var(--line-strong) var(--range-right) 100%)}
.cvloc-marketplace .filters-panel .marketplace-dual-slider input[type=range]{position:absolute;left:0;top:0;display:block;width:100%;height:31px;min-height:31px;margin:0;padding:0;border:0;background:none;appearance:none;-webkit-appearance:none;pointer-events:none;outline-offset:1px}
.cvloc-marketplace .marketplace-dual-slider input[type=range]::-webkit-slider-runnable-track{height:5px;background:transparent;border:0}
.cvloc-marketplace .marketplace-dual-slider input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;pointer-events:auto;cursor:ew-resize;background:var(--bronze);width:17px;height:17px;margin-top:-6px;border:2px solid var(--paper-2);border-radius:50%;box-shadow:0 0 0 1px var(--bronze)}
.cvloc-marketplace .marketplace-dual-slider input[type=range]::-moz-range-track{height:5px;background:transparent}
.cvloc-marketplace .marketplace-dual-slider input[type=range]::-moz-range-thumb{pointer-events:auto;cursor:ew-resize;background:var(--bronze);width:14px;height:14px;border:2px solid var(--paper-2);border-radius:50%}
.cvloc-marketplace .marketplace-dual-slider #price-min-slider{z-index:2}
.cvloc-marketplace .marketplace-dual-slider #price-max-slider{z-index:3}
.cvloc-marketplace .marketplace-dual-slider input[type=range]:focus-visible{outline:2px solid var(--bronze);outline-offset:2px}
@media(max-width:900px){.cvloc-marketplace .filters-panel{padding-bottom:18px}}

/* v92.40 — individual Rentals photo gallery, touch-friendly and keyboard accessible. */
.rental-gallery .gallery-main{cursor:zoom-in;touch-action:pan-y}
.rental-gallery .gallery-main:focus-visible{outline:3px solid var(--bronze);outline-offset:3px}
.rental-gallery-hint{position:absolute;left:14px;bottom:13px;color:#fff;background:rgba(10,20,25,.68);border-radius:20px;padding:7px 12px;font-size:11px;pointer-events:none}
.rental-detail-lightbox[hidden]{display:none!important}
.rental-detail-lightbox{position:fixed;inset:0;z-index:1500;background:rgba(6,11,15,.96);display:grid;grid-template-columns:52px minmax(0,1fr) 52px;align-items:center;gap:13px;padding:70px clamp(12px,4vw,56px) 28px;color:#fff}
.rental-detail-lightbox figure{min-width:0;min-height:0;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px}
.rental-detail-lightbox .rental-lightbox-img{max-width:100%;max-height:calc(100dvh - 148px);width:auto;height:auto;object-fit:contain;touch-action:pan-y}
.rental-detail-lightbox figcaption{font-size:12px;color:#c4cdd1}
.rental-detail-lightbox button{border:1px solid rgba(255,255,255,.22);background:rgba(20,30,36,.82);color:#fff;cursor:pointer}
.rental-detail-lightbox .rental-lightbox-close{position:absolute;right:20px;top:19px;width:42px;height:42px;display:grid;place-items:center;border-radius:50%}
.rental-detail-lightbox .rental-lightbox-close svg{width:17px;height:17px}
.rental-detail-lightbox .rental-lightbox-prev,.rental-detail-lightbox .rental-lightbox-next{height:58px;border-radius:11px;font-size:32px}
@media(max-width:750px){.rental-detail-lightbox{grid-template-columns:32px minmax(0,1fr) 32px;gap:5px;padding:70px 6px 20px}.rental-detail-lightbox .rental-lightbox-prev,.rental-detail-lightbox .rental-lightbox-next{height:48px;font-size:25px}.rental-detail-lightbox .rental-lightbox-img{max-height:calc(100dvh - 130px)}}

/* v92.42: retain existing professional shell; secure login uses the same palette. */
.pro-login-page{min-height:calc(100svh - 135px)}
.pro-login-card{max-width:480px;margin:24px 0;border:1px solid var(--line,rgba(127,146,151,.35));border-radius:14px;padding:24px;background:var(--surface,#111b20);color:inherit;display:grid;gap:14px}
.pro-login-card h2{font-size:21px;margin:0}.pro-login-card p{font-size:12px;line-height:1.55}
.pro-login-card form{display:grid;gap:12px}.pro-login-card label{display:grid;gap:5px;font-size:12px}.pro-login-card input{width:100%;height:43px;border:1px solid rgba(127,146,151,.37);border-radius:9px;padding:9px 12px;background:transparent;color:inherit}
.pro-login-card form .solid-btn{height:44px}.pro-login-actions{display:flex;flex-wrap:wrap;gap:9px}.pro-login-actions button,.pro-auth-logout{background:transparent;border:1px solid rgba(127,146,151,.3);border-radius:8px;padding:8px 12px;color:inherit;cursor:pointer;font-size:11px}
.pro-auth-logout{margin-right:7px;font-size:10px}.pro-data-body{padding:20px;display:grid;gap:12px;font-size:12px}.pro-data-body p{line-height:1.6}.pro-data-body h3{font-family:var(--serif);font-size:19px}.pro-data-body a{color:#ad813f}
.pro-d1-row{display:flex;align-items:center;justify-content:space-between;gap:12px;border-bottom:1px solid rgba(127,146,151,.2);padding:12px 0}.pro-d1-row>div{display:grid;gap:4px}.pro-d1-row small{font-size:10px;opacity:.65}.pro-d1-row button{border-radius:8px;border:1px solid rgba(127,146,151,.3);padding:8px;background:transparent;color:inherit;cursor:pointer}
@media (max-width:700px){.pro-data-body{padding:15px}.pro-d1-row{flex-wrap:wrap}.pro-auth-logout{font-size:10px}}

.pro-edit-draft{display:inline-block;text-decoration:none;border:1px solid rgba(127,146,151,.3);border-radius:8px;padding:8px;font-size:10px;color:inherit}.pro-edit-draft:hover{text-decoration:underline}

/* v92.44 — Google sign-in within the existing professional access screen. */
.pro-google-signin{display:flex;align-items:center;justify-content:center;gap:11px;width:100%;min-height:44px;padding:10px 16px;background:var(--surface,#111b20);border:1px solid rgba(127,146,151,.43);border-radius:9px;color:inherit;font-size:13px;font-weight:600;cursor:pointer}
.pro-google-signin:hover:not(:disabled){border-color:currentColor}
.pro-google-signin:disabled{opacity:.6;cursor:default}
.pro-google-logo{font-family:Arial,sans-serif;font-size:19px;font-weight:700;color:#4285f4;line-height:1}
.pro-login-divider{display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted,#87969d);justify-content:center}
.pro-login-divider::before,.pro-login-divider::after{content:"";height:1px;flex:1;background:rgba(127,146,151,.24)}
.pro-profile-auth{margin-top:22px;padding-top:18px;border-top:1px solid rgba(127,146,151,.25)}
.pro-profile-auth .pro-google-signin{max-width:280px}

/* v92.46: restore established /pro page hierarchy; keep D1 real values and inactive billing. */
.pro-data-body h3{font-family:var(--sans);font-weight:650;font-size:14px;letter-spacing:0;line-height:1.35}
.partner-page-pad .pro-ledger-panel{margin-top:12px}
.pro-ledger-panel .pro-ledger-entries{padding:0 18px 16px}
.pro-ledger-panel .pro-ledger-entries .pro-d1-row{margin:0;padding:12px 0;border-top:1px solid var(--line)}
.pro-plain-empty{padding:14px 18px!important;font-size:10px;color:var(--muted)}
.pro-billing-pending{font-size:9px;border:1px solid var(--line);border-radius:999px;padding:7px 11px;color:var(--muted)}
.partner-credit-pack-grid button:disabled{cursor:default;opacity:1;transform:none;box-shadow:none}
.partner-credit-pack-grid button:disabled:hover{transform:none;box-shadow:none}
.pro-listing-no-media{width:58px;height:44px;display:grid;place-items:center;border:1px solid var(--line);border-radius:7px;color:var(--muted);background:color-mix(in srgb,var(--ink) 3%,transparent);flex:none}
.partner-empty-table{padding:28px 18px;font-size:11px;color:var(--muted)}
.pro-identity-fields{align-content:start}
.pro-identity-fields input[readonly]{opacity:.83;cursor:default}
.pro-identity-note{font-size:10px;line-height:1.6;color:var(--muted)}
.pro-identity-fields .outline-btn{justify-self:start;padding:10px 12px;font-size:10px}
.pro-identity-fields .partner-panel-head{padding:0;margin:0 0 8px}
.partner-source-bars .pro-plain-empty{padding:12px 16px!important}
@media(max-width:700px){.partner-credit-pack-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.partner-billing-hero{grid-template-columns:1fr}.partner-billing-grid{grid-template-columns:1fr}.pro-ledger-panel .pro-ledger-entries{padding:0 12px 12px}}

.partner-table-row[hidden],.pro-filter-empty[hidden]{display:none!important}
.pro-filter-empty{padding:20px;font-size:10px;color:var(--muted);border-top:1px solid var(--line)}

/* v92.45 — retain the established professional UI and center only the sign-in state. */
.pro-login-page > .page-inner{width:min(100%,640px);margin-inline:auto;text-align:center;padding-top:clamp(42px,8vh,110px)}
.pro-login-page .pro-login-card{width:100%;max-width:480px;margin:24px auto 50px;text-align:left}
.pro-login-page .page-title{font-size:clamp(39px,5vw,60px)}
.pro-auth-pending{min-height:calc(100svh - var(--header-h,72px));display:grid;place-items:center;padding:0}
.pro-auth-pending-center{display:grid;place-items:center;min-height:240px;width:100%}
.pro-auth-spinner{display:block;width:40px;height:40px;border-radius:50%;border:3px solid rgba(126,150,157,.22);border-top-color:var(--ink,#acc0c9);animation:pro-auth-spin .85s linear infinite}
@keyframes pro-auth-spin{to{transform:rotate(360deg)}}
.pro-auth-pending .sr-only{position:absolute;width:1px;height:1px;clip:rect(0,0,0,0);white-space:nowrap;overflow:hidden}
@media(prefers-reduced-motion:reduce){.pro-auth-spinner{animation-duration:2.5s}}
@media(max-width:700px){.pro-login-page>.page-inner{padding:50px 18px 56px}.pro-login-page .pro-login-card{margin:20px auto 35px}}


/* v92.47 — targeted professional/public UI consistency; do not alter map camera. */
/* The professional brand is the same anchored mark as the public header. */
.partner-app-brand{padding-left:10px!important;min-height:57px;align-items:flex-start;padding-top:3px!important}
.partner-app-brand img{width:31px!important;height:auto;object-fit:contain}
.partner-app-account>div>small{display:none!important}
.partner-mobile-account-tools{display:none}
.partner-page-intro .outline-btn,.partner-page-intro .solid-btn,.partner-list-actions .outline-btn,.partner-list-actions .solid-btn{font-size:12px!important;min-height:40px;padding:10px 15px}
.partner-dashboard-grid .partner-panel-head a{font-size:11px!important}
.partner-chart-tools{position:relative;padding-right:60px}
.partner-chart-fullscreen{position:absolute;right:14px;top:12px;display:grid!important;place-items:center!important;width:35px;height:35px;padding:0!important;line-height:1!important;border:1px solid var(--line);border-radius:9px;background:transparent;color:var(--ink);cursor:pointer}
.partner-chart-fullscreen svg{display:block;width:17px;height:17px;margin:0!important;transform:none!important}
.partner-performance-chart:fullscreen{background:var(--paper-2);color:var(--ink);display:flex;flex-direction:column;justify-content:center;padding:clamp(12px,3vw,45px)}
.partner-performance-chart:fullscreen .partner-chart-scroll{width:100%;flex:1;display:grid;align-items:center;max-height:calc(100dvh - 175px)}
.partner-performance-chart:fullscreen .partner-line-chart{min-width:0;width:100%;max-height:100%}
.partner-performance-chart:fullscreen .partner-chart-fullscreen{top:16px;right:16px}
.publisher-preview-photo .publisher-photo-placeholder{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:12px;background:color-mix(in srgb,var(--paper-2) 94%,var(--ink) 6%);color:var(--muted);font-size:13px}
.publisher-preview-photo .publisher-photo-placeholder[hidden]{display:none!important}
.publisher-preview-photo>img[hidden]{display:none!important}
.publisher-full-preview-empty{min-height:350px;display:grid;place-content:center;justify-items:center;gap:16px;text-align:center;padding:30px;color:var(--muted)}
/* Keep Google/Firebase auth in the page's actual theme, not a dark rectangle in light mode. */
:root:not([data-theme="dark"]) .pro-login-card{background:#fff!important;color:#19313d!important;border-color:rgba(18,40,50,.18)!important}
:root:not([data-theme="dark"]) .pro-login-card input{background:#fff;color:#19313d}
:root:not([data-theme="dark"]) .pro-login-card button:not(.solid-btn){color:#19313d!important}
:root[data-theme="dark"] .pro-login-card{background:#111b20!important;color:#e3ecef!important}
/* Spinner uses the already rendered professional shell: no second public top navigation. */
.partner-app-main{position:relative;min-height:100vh}
.pro-auth-inline-pending{position:absolute;inset:76px 0 0;z-index:35;display:grid;place-items:center;background:var(--paper-2);color:var(--ink);min-height:calc(100vh - 76px)}
.pro-auth-inline-pending .pro-auth-spinner{width:38px;height:38px}
/* The identity editor preserves the existing panel styles but saves to D1. */
.pro-brand-mode-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin:4px 0;border:0;padding:0}
.pro-brand-mode-options legend{grid-column:1/-1;font-size:11px;color:var(--muted);margin-bottom:8px}
.pro-brand-mode-choice{border:1px solid var(--line);border-radius:10px;padding:12px!important;display:flex!important;gap:8px;align-items:center;cursor:pointer;font-size:12px}
.pro-brand-mode-choice input{width:15px!important;height:15px!important;min-height:0!important;accent-color:var(--bronze)}
.pro-brand-apply{display:flex!important;align-items:center;gap:9px}
.pro-brand-apply input{width:16px!important;height:16px!important;min-height:0!important}
#pro-brand-save-result{min-height:1.3em;font-size:12px;color:var(--muted)}
.pro-identity-fields button[type=submit]{justify-self:start;min-width:100px;padding:12px 20px;font-size:12px}
/* Map inventory filters use the same checkbox/rent-range components as Rentals. */
.map-filter-control{position:relative;min-width:0}
.home-panel .filter-row .filter-chip{font:500 10px/1 var(--sans);letter-spacing:0;transition:none!important;transform:none!important;min-width:0;gap:6px}
.home-panel .filter-row .filter-chip:hover,.home-panel .filter-row .select-menu.open .filter-chip{transform:none!important}
.map-filter-trigger{height:35px;white-space:nowrap;gap:8px}
.map-filter-trigger:after{display:none!important}
.map-filter-control .map-filter-panel{position:absolute;top:calc(100% + 9px);left:0;z-index:150;width:min(340px,calc(100vw - 35px));max-height:min(70dvh,450px);overflow:auto;background:var(--paper);color:var(--ink);border:1px solid var(--line-strong);border-radius:12px;padding:16px;box-shadow:0 16px 36px rgba(0,0,0,.15)}
.map-filter-control .map-filter-panel[hidden]{display:none!important}
.map-filter-control:last-child .map-filter-panel{left:auto;right:0}
.map-filter-panel .marketplace-filter-group{margin:0;padding:0;border:0}
.map-filter-panel .marketplace-filter-group legend,.map-filter-panel .marketplace-price-title{font-weight:650;letter-spacing:.07em;font-size:11px;margin-bottom:13px}
.map-filter-panel .marketplace-check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
.map-filter-panel .marketplace-option{display:flex;align-items:center;gap:7px;border:1px solid var(--line);border-radius:8px;padding:10px;font-size:11px;cursor:pointer}
.map-filter-panel .marketplace-option input{accent-color:var(--bronze);width:15px;height:15px}
.map-filter-panel .marketplace-price-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
.map-filter-panel .marketplace-price-fields label{font-size:11px;display:grid;gap:5px;color:var(--muted)}
.map-filter-panel .marketplace-price-input{display:flex;align-items:center;border:1px solid var(--line);border-radius:9px;min-width:0}
.map-filter-panel .marketplace-price-input input{min-width:0;width:100%;border:0!important;padding:10px 7px!important;background:transparent!important;color:var(--ink)}
.map-filter-panel .marketplace-price-input em{font-size:11px;padding-right:8px;font-style:normal}
.map-filter-panel .marketplace-dual-slider{position:relative;height:32px;margin:10px 10px 0;--range-left:0%;--range-right:100%}
.map-filter-panel .marketplace-range-track{position:absolute;inset:13px 0 auto;height:5px;border-radius:99px;background:linear-gradient(to right,var(--line-strong) 0 var(--range-left),var(--bronze) var(--range-left) var(--range-right),var(--line-strong) var(--range-right) 100%)}
.map-filter-panel .marketplace-dual-slider input[type=range]{appearance:none;-webkit-appearance:none;position:absolute;inset:0;width:100%;height:32px;pointer-events:none;background:transparent!important;border:0!important;padding:0!important;margin:0}
.map-filter-panel .marketplace-dual-slider input[type=range]::-webkit-slider-runnable-track{background:transparent;height:5px}
.map-filter-panel .marketplace-dual-slider input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;pointer-events:auto;cursor:ew-resize;background:var(--bronze);width:17px;height:17px;border:2px solid var(--paper-2);border-radius:50%;margin-top:-6px}
.map-filter-panel .marketplace-dual-slider input[type=range]::-moz-range-thumb{pointer-events:auto;cursor:ew-resize;background:var(--bronze);border:2px solid var(--paper-2);border-radius:50%;width:16px;height:16px}
.map-filter-panel #map-min-slider{z-index:2}.map-filter-panel #map-max-slider{z-index:3}
.map-filter-panel .marketplace-price-scale{display:flex;justify-content:space-between;font-size:10px;color:var(--muted)}
:root[data-theme="dark"] .map-filter-panel{background:#101a1f!important;border-color:rgba(222,234,237,.2)!important;color:#e6eef0!important}
@media(max-width:800px){
 .partner-mobile-account-tools{display:flex;grid-column:1/-1;gap:10px;justify-content:flex-start;align-items:center;flex-wrap:wrap;padding:12px 0 2px;border-top:1px solid var(--line)}
 .partner-app-sidebar:not(.nav-open) .partner-mobile-account-tools{display:none}
 .partner-app-toptools{display:none!important}
 .partner-app-topbar{justify-content:flex-start!important;height:70px!important}
 .partner-app-topbar h1{font-size:22px!important}
 .partner-app-brand{min-height:0;padding-top:0!important;padding-bottom:0!important;padding-left:10px!important}
 .partner-app-brand img{width:31px!important}
 .pro-auth-inline-pending{inset:70px 0 0;min-height:calc(100dvh - 70px)}
 .map-filter-control .map-filter-panel{position:fixed;left:12px!important;right:12px!important;top:auto!important;bottom:calc(46vh + 7px);width:auto;max-height:40vh}
}
@media(max-width:520px){.pro-brand-mode-options{grid-template-columns:1fr}.partner-mobile-account-tools .lang-toggle{max-width:130px}}

/* v92.48: compact coherent map filters and brand upload, preserving approved layout. */

.home-panel .filter-row .map-filter-trigger .select-menu-chevron{flex-shrink:0}
.pro-brand-file-control .pro-brand-file-button{position:relative;display:flex;align-items:center;flex-wrap:wrap;gap:12px;min-height:46px;padding:7px;border:1px solid var(--line);border-radius:10px;background:var(--paper);cursor:pointer}
.pro-brand-file-button>input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:1}
.pro-brand-file-action{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid var(--line-strong);border-radius:8px;background:var(--paper-2);padding:9px 12px;color:var(--ink);font-size:12px;font-weight:600}
.pro-brand-filename{font-size:12px;color:var(--muted);overflow-wrap:anywhere}
.pro-brand-file-button:focus-within{outline:2px solid var(--bronze);outline-offset:3px}
.partner-chart-options{display:none;align-items:center;gap:8px;margin-right:14px}
.partner-chart-options label{display:flex;align-items:center;gap:5px;font-size:12px;font-weight:500;line-height:1.3;color:var(--ink)}
.partner-chart-options select{width:auto!important;min-height:35px!important;padding:6px 20px 6px 8px!important;border-radius:8px;background:var(--paper);color:var(--ink);border:1px solid var(--line-strong);font-size:12px!important}
.partner-performance-chart:fullscreen .partner-chart-options{display:flex}
.partner-line-chart .chart-axis-label,.partner-line-chart .chart-unit{font-size:calc(11px * var(--chart-font-scale,1))!important}
@media(max-width:700px){.partner-performance-chart:fullscreen .partner-chart-tools{padding:48px 8px 10px;align-items:flex-start}.partner-performance-chart:fullscreen .partner-chart-options{flex-wrap:wrap}.partner-chart-options label{font-size:11px}}

/* v92.48 real-media preparation and explicit review submission */
.partner-media-status{font-size:12px;color:var(--muted);padding:10px 2px 16px;min-height:28px}
.partner-editor-actions #partner-submit-review{background:var(--ink);color:var(--paper);opacity:1}
.partner-editor-actions #partner-submit-review:disabled{opacity:.55;cursor:wait}

.admin-review-list{display:grid;gap:14px;padding-top:14px}
.admin-review-card{padding:24px;display:grid;gap:10px;justify-items:start}
.admin-review-card h2{font:600 20px/1.3 var(--sans,system-ui);margin:0}
.admin-review-card p,.admin-review-card small{margin:0;font-size:13px;color:var(--muted)}

.partner-rights-confirm{display:flex!important;align-items:flex-start;gap:10px;margin:12px 0;font-size:12px;color:var(--ink);line-height:1.6}
.partner-rights-confirm input{width:17px!important;height:17px!important;min-height:17px!important;margin-top:2px;accent-color:var(--bronze)}


/* v92.49: stable CV Location wordmark anchor across desktop/sidebar/mobile.
   Desktop and phone both put the emblem 25px from the left edge and 36px from top. */
.partner-app-sidebar{padding-top:0!important;padding-left:12px!important;padding-right:12px!important}
.partner-app-brand{box-sizing:border-box!important;display:flex!important;flex:0 0 auto!important;min-height:73px!important;height:73px!important;align-items:center!important;padding:0 13px!important;margin:0!important;gap:10px!important;border-bottom:1px solid rgba(255,255,255,.08)!important}
.partner-app-brand img{display:block!important;flex:0 0 30px!important;width:30px!important;height:30px!important;object-fit:contain!important;max-width:none!important}
.partner-app-brand span{display:block;white-space:nowrap;font-size:11px!important;letter-spacing:.16em!important;line-height:1!important}
@media(max-width:900px){.partner-app-sidebar{padding-top:12px!important;padding-left:12px!important;padding-right:12px!important}.partner-app-brand{height:46px!important;min-height:46px!important;padding:0 13px!important;border:0!important}}
/* Embedded test checkout belongs to the existing billing page, never another route. */
.pro-stripe-test-note{padding:12px 14px;margin:12px 0 0;border:1px solid var(--bronze);border-radius:10px;font-size:12px;line-height:1.5}
.partner-credit-pack-grid button[data-stripe-test-pack]{cursor:pointer;opacity:1}
.partner-credit-pack-grid button[data-stripe-test-pack]:hover{outline:2px solid var(--bronze);outline-offset:2px}
/* CV Location test payment: a single overlay with Stripe's secure iframe.
   Theme styling is passed to the Checkout Session by the backend. */
.pro-stripe-open{overflow:hidden}
.pro-stripe-overlay{position:fixed;inset:0;z-index:6000;display:grid;place-items:center;overflow:auto;padding:clamp(8px,2vh,20px);background:rgba(6,13,18,.72)}
.pro-stripe-overlay[data-theme="light"]{background:rgba(19,34,41,.50)}
.pro-stripe-dialog{width:min(510px,100%);max-height:calc(100dvh - 16px);overflow:auto;overscroll-behavior:contain;border-radius:17px;padding:0 12px 4px;background:#fbfaf7;color:#122832;border:1px solid rgba(18,40,50,.18);box-shadow:0 24px 95px rgba(0,0,0,.32);scrollbar-width:thin}
.pro-stripe-overlay[data-theme="dark"] .pro-stripe-dialog{background:#0f1a20;color:#e9efef;border-color:rgba(220,234,235,.22)}
.pro-stripe-dialog-head{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:13px 6px 9px}
.pro-stripe-dialog-head h2{font:600 15px/1.3 var(--sans);margin:0 0 3px;color:inherit}
.pro-stripe-dialog-head p{font:400 11px/1.45 var(--sans);color:#667b83;margin:0}
.pro-stripe-overlay[data-theme="dark"] .pro-stripe-dialog-head p{color:#a9b9be}
.pro-stripe-test-tag{display:inline-flex;vertical-align:middle;margin-left:5px;border-radius:4px;background:#e7cda1;color:#633d12;font:700 9px/1.6 var(--sans);padding:1px 6px;letter-spacing:.06em}
.pro-stripe-close{width:36px;height:36px;flex:0 0 auto;display:grid;place-items:center;border:1px solid rgba(18,40,50,.22);border-radius:9px;background:transparent;color:inherit;font:500 19px/1 var(--sans);cursor:pointer}
.pro-stripe-close:hover{background:rgba(100,124,130,.12)}
#pro-stripe-embed{width:100%;min-height:290px}
#pro-stripe-status{font:400 11px/1.5 var(--sans);padding:4px 6px;margin:0;color:#60747e}
.pro-stripe-overlay[data-theme="dark"] #pro-stripe-status{color:#acc0c5}
@media(max-width:550px){.pro-stripe-overlay{padding:5px}.pro-stripe-dialog{border-radius:12px;width:100%;max-height:calc(100dvh - 10px);padding:0 7px 4px}.pro-stripe-dialog-head{padding:11px 7px}}

/* v92.53 — Carte filters are one exclusive group. Shared chevron and popover motion. */
.home-panel .filter-row .map-filter-trigger .select-menu-chevron{transition:transform .18s cubic-bezier(.2,.78,.2,1),opacity .18s ease}
.home-panel .filter-row .map-filter-control.open .select-menu-chevron{transform:rotate(225deg) translate(-1px,-1px);opacity:.82}
.home-panel .map-filter-control .map-filter-panel:not([hidden]){animation:cvlocMapFilterOpen .18s cubic-bezier(.2,.78,.2,1) both;transform-origin:top left}
@keyframes cvlocMapFilterOpen{from{opacity:0;transform:translateY(-5px) scale(.985)}to{opacity:1;transform:translateY(0) scale(1)}}
@media(prefers-reduced-motion:reduce){.home-panel .map-filter-control .map-filter-panel:not([hidden]){animation:none}.home-panel .filter-row .select-menu-chevron{transition:none}}
/* v92.53 — Checkout Elements (TEST only), dark inputs are controlled via Stripe Appearance API. */
.pro-stripe-payment-summary{display:flex;justify-content:space-between;align-items:center;gap:12px;font:500 13px/1.5 var(--sans);padding:12px 8px 19px;color:inherit}
.pro-stripe-payment-summary strong{font-size:19px;font-weight:650;white-space:nowrap}
#pro-stripe-elements-form{padding:2px 8px 14px}
#pro-stripe-element{min-height:155px}
.pro-stripe-elements-submit{display:block;width:100%;min-height:46px;border:none;border-radius:9px;margin-top:22px;background:#123747;color:#fff;font:600 14px/1.3 var(--sans);cursor:pointer}
.pro-stripe-elements-submit:hover{filter:brightness(1.13)}.pro-stripe-elements-submit:disabled{opacity:.6;cursor:wait}
.pro-stripe-overlay[data-theme="dark"] .pro-stripe-elements-submit{background:#bd9152;color:#11191e}
.pro-stripe-complete{display:flex;align-items:center;justify-content:center;flex-direction:column;min-height:225px;text-align:center;gap:12px;padding:16px 4px;color:inherit}
.pro-stripe-complete span{display:grid;place-items:center;width:62px;height:62px;border-radius:50%;background:rgba(43,154,109,.12);color:#39ba82;font-size:30px}
.pro-stripe-complete h3{font:600 21px/1.2 var(--sans);margin:0;color:inherit}.pro-stripe-complete p{max-width:300px;font:12px/1.55 var(--sans);color:inherit;opacity:.75;margin:0}

/* v92.54: Publishing Studio validation and consistent native area units */
.partner-size-control{display:grid;grid-template-columns:minmax(0,1fr) 100px;gap:8px;min-width:0}
.partner-size-control input,.partner-size-control select{width:100%;min-width:0}
.partner-validation-summary:not([hidden]){display:block;background:rgba(194,93,59,.08);border:1px solid rgba(195,96,62,.48);border-radius:10px;padding:14px 17px;color:var(--ink);font-size:12px;line-height:1.55}
.partner-validation-summary ul{margin:6px 0 0 18px;padding:0}
.partner-editor-form .pro-field-invalid input,.partner-editor-form .pro-field-invalid textarea,.partner-editor-form .pro-field-invalid select,.partner-editor-form .pro-field-invalid.partner-photo-drop,.partner-editor-form .pro-field-invalid.publisher-location-map{border:2px solid #d16953!important;outline:2px solid rgba(209,105,83,.14);outline-offset:1px}
.partner-table-row[role="link"]:focus-visible{outline:2px solid var(--bronze);outline-offset:-2px}
/* Use the same interaction feedback for Inventory, Type, Price and Bedrooms. */
.home-panel .filter-row .filter-chip:hover,.home-panel .filter-row .filter-chip:focus-visible,.home-panel .filter-row .map-filter-control.open>.filter-chip,.home-panel .filter-row .select-menu.open>.filter-chip{background:var(--paper-2)!important;border-color:var(--bronze)!important;color:var(--ink)!important;box-shadow:0 3px 13px rgba(35,44,47,.1)!important}
.map-filter-control.open .map-filter-trigger .select-menu-chevron{transform:rotate(225deg) translate(-1px,-1px);opacity:.82}
.map-filter-control:last-child .map-filter-panel{left:0;right:auto}
@media(max-width:750px){.map-filter-control:last-child .map-filter-panel{left:auto;right:0}}
/* Performance guides make empty/low-traffic series easier to read. */
.partner-line-chart .chart-date-guide{stroke:var(--line-strong);stroke-width:.65;stroke-dasharray:2.5 4;opacity:.65}
:root[data-theme="dark"] .partner-line-chart .chart-date-guide{opacity:.28}
.partner-line-chart .grid line{stroke:var(--line-strong);opacity:.7}

.partner-duration-note{margin:11px 0;color:var(--muted);font-size:11px;line-height:1.55}
.partner-row-actions{justify-content:flex-end;flex-wrap:wrap}
.partner-row-actions a,.partner-row-actions button{width:auto;min-width:64px;height:30px;padding:0 8px;display:inline-flex;gap:5px;align-items:center;justify-content:center;white-space:nowrap;font:500 9px/1 var(--sans)}
.partner-row-actions svg{width:12px;height:12px;flex-shrink:0}
.partner-table-head,.partner-table-row{grid-template-columns:minmax(188px,1.12fr) minmax(180px,1.12fr) 96px 64px 58px 72px minmax(145px,.8fr)}
@media(max-width:1000px){.partner-table-head,.partner-table-row{min-width:985px}}

/* v92.55: customer-facing Studio polish; do not add new visual chrome around payments. */
.partner-description-counter{display:block;margin-top:6px;color:var(--o-muted);font:500 11px/1.4 var(--sans);text-align:right}
.partner-description-counter.is-short{color:#bc7950}
.partner-editor-form label:has(#partner-description) {min-width:0}
.partner-editor-form .logo-upload .pro-brand-file-button{width:100%;max-width:none;justify-content:flex-start;min-height:44px}
.partner-editor-form .logo-upload .pro-brand-file-action{display:inline-flex;align-items:center;gap:7px;flex-shrink:0}
.partner-editor-form .logo-upload .pro-brand-filename{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}
.partner-validation-summary:not([hidden]){margin:13px 0 19px}
.partner-editor-actions{margin-top:10px;align-items:stretch}
.partner-editor-actions button{min-height:42px}
@media(max-width:720px){.partner-editor-form .logo-upload .pro-brand-file-button{flex-wrap:wrap;gap:10px}}

/* v92.56 — one cohesive Admin publication review workspace. */
.admin-review-controls{display:grid;grid-template-columns:minmax(240px,1fr) 175px 185px auto;gap:10px;align-items:end;margin:20px 0 4px}
.admin-review-controls>label{display:grid;gap:6px;font:600 11px/1.3 var(--sans)}
.admin-review-controls input,.admin-review-controls select{width:100%;height:40px;padding:0 12px;background:var(--paper);color:var(--ink);border:1px solid var(--line-strong);border-radius:9px;font:12px var(--sans)}
.admin-review-view{display:flex;border:1px solid var(--line-strong);border-radius:9px;padding:3px;gap:3px;min-height:40px}
.admin-review-view button{padding:0 12px;border:0;border-radius:7px;background:transparent;color:var(--ink);font:600 11px var(--sans);cursor:pointer}
.admin-review-view button.active{background:var(--ink);color:var(--paper)}
.admin-review-list .admin-review-card{padding:12px;display:grid;grid-template-columns:140px minmax(0,1fr) auto;gap:18px;align-items:center;justify-items:stretch}
.admin-review-image{height:98px;border-radius:10px;overflow:hidden;background:var(--paper-2);display:grid;place-items:center;color:var(--muted)}
.admin-review-image img{width:100%;height:100%;object-fit:cover}
.admin-review-info{min-width:0;display:grid;gap:5px}
.admin-review-info h2{font:500 23px/1.15 var(--serif);white-space:normal;overflow-wrap:anywhere}
.admin-review-info p{color:var(--muted);font:11px/1.5 var(--sans)}
.admin-review-label{font:600 9px/1.3 var(--sans);letter-spacing:.05em;color:var(--muted);text-transform:uppercase}
.admin-review-tags{display:flex;flex-wrap:wrap;gap:7px;align-items:center;color:var(--muted);font:10px/1.4 var(--sans)}
.admin-review-tags>*{display:inline-flex;padding:4px 8px;border:1px solid var(--line);border-radius:999px}
.admin-review-status.pending{color:#a67631}.admin-review-status.approved{color:#2f906e}.admin-review-status.changes_requested{color:#b4684e}
.admin-review-card [data-review-id]{align-self:center;white-space:nowrap;font:600 11px var(--sans)}
.admin-review-list.is-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
.admin-review-list.is-grid .admin-review-card{display:flex;flex-direction:column;align-items:stretch;gap:12px}
.admin-review-list.is-grid .admin-review-image{height:175px}
.admin-review-list.is-grid .admin-review-card [data-review-id]{align-self:flex-start;margin-top:auto}
.admin-review-empty{padding:24px!important;color:var(--muted);font:12px var(--sans)}
.admin-review-modal[hidden]{display:none!important}
body.review-modal-open{overflow:hidden}
.admin-review-modal{position:fixed;inset:0;z-index:9500;display:grid;place-items:center;padding:14px}
.admin-review-backdrop{position:absolute;inset:0;background:rgba(3,10,15,.75)}
.admin-review-dialog{position:relative;width:min(980px,100%);max-height:calc(100dvh - 28px);overflow:auto;border:1px solid var(--line-strong);border-radius:18px;padding:24px;background:var(--paper);color:var(--ink);box-shadow:0 30px 100px rgba(0,0,0,.25);scrollbar-width:thin}
.admin-review-dialog-head{position:sticky;top:-24px;z-index:4;background:var(--paper);display:flex;align-items:center;justify-content:space-between;gap:14px;padding:2px 0 14px;border-bottom:1px solid var(--line);margin-bottom:18px}
.admin-review-dialog-head small{color:var(--muted);font:600 9px var(--sans);letter-spacing:.14em}
.admin-review-dialog-head h2{margin:6px 0 0;font:500 28px/1.2 var(--serif)}
.admin-review-gallery{display:grid;grid-template-columns:minmax(0,1fr) 112px;gap:10px;min-height:280px}
.admin-review-main-image{min-height:280px;max-height:380px;display:grid;place-items:center;background:var(--paper-2);border-radius:12px;overflow:hidden}
.admin-review-main-image img{width:100%;height:100%;max-height:380px;object-fit:contain}
.admin-review-thumbs{max-height:380px;overflow:auto;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-content:start;gap:6px}
.admin-review-thumbs button{height:56px;padding:0;border:2px solid transparent;border-radius:8px;background:var(--paper-2);cursor:pointer;overflow:hidden}
.admin-review-thumbs button.active{border-color:var(--bronze)}
.admin-review-thumbs img{width:100%;height:100%;object-fit:cover}
.admin-review-detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:20px 0}
.admin-review-detail-grid dl{display:grid;grid-template-columns:110px 1fr;gap:10px;font:12px/1.5 var(--sans);margin:0}
.admin-review-detail-grid dt{color:var(--muted)}.admin-review-detail-grid dd{margin:0;overflow-wrap:anywhere}
.admin-review-detail-grid h3,.admin-review-description h3{font:500 21px var(--serif);margin:0 0 12px}
.admin-review-checks{display:grid;gap:6px}
.admin-review-checks span{display:block;padding:7px 10px;border-radius:8px;background:color-mix(in srgb,var(--ink) 4%,transparent);font:11px/1.3 var(--sans)}
.admin-review-checks .pass{border-left:3px solid #45a782}.admin-review-checks .fail{border-left:3px solid #b55b4e}
.admin-review-description p{white-space:pre-wrap;overflow-wrap:anywhere;font:12px/1.7 var(--sans);max-height:200px;overflow:auto}
.admin-review-decision{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);display:grid;grid-template-columns:minmax(200px,auto) 1fr auto;align-items:end;gap:12px}
.admin-review-decision>label{display:grid;gap:7px;font:11px var(--sans)}
.admin-review-decision textarea{resize:vertical;min-height:45px;border:1px solid var(--line-strong);border-radius:8px;background:var(--paper);color:var(--ink);padding:10px;font:12px var(--sans)}
.admin-review-decision button{min-height:43px;white-space:nowrap;font:600 11px var(--sans)}
.admin-review-decision button:disabled{opacity:.45;cursor:not-allowed}
.admin-review-note{font:10px/1.6 var(--sans);color:var(--muted);margin-top:15px}
.studio-property-preview .drawer-thumbs button.is-selected{outline:2px solid var(--bronze);outline-offset:-2px}
@media(max-width:950px){.admin-review-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-review-list.is-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-review-decision{grid-template-columns:1fr}}
@media(max-width:650px){.admin-review-controls,.admin-review-detail-grid{grid-template-columns:1fr}.admin-review-list.is-grid{grid-template-columns:1fr}.admin-review-list .admin-review-card{grid-template-columns:95px 1fr}.admin-review-card [data-review-id]{grid-column:1/-1}.admin-review-image{height:95px}.admin-review-dialog{padding:14px}.admin-review-dialog-head{top:-14px}.admin-review-gallery{grid-template-columns:1fr}.admin-review-thumbs{grid-template-columns:repeat(6,minmax(0,1fr));max-height:85px}.admin-review-thumbs button{height:53px}}

/* v92.57: professional-only authenticated cover images and revision context */
.pro-listing-no-media{overflow:hidden}
.pro-listing-no-media img{width:100%;height:100%;object-fit:cover;border-radius:inherit;display:block}
.pro-revision-note{font-size:10px!important;line-height:1.4;color:#b08032!important;white-space:normal;max-width:420px}
:root[data-theme="dark"] .pro-revision-note{color:#e9be7e!important}

/* v92.65 — existing credit-panel layout, isolated TEST publication area */
.pro-sandbox-inner{padding:16px;display:grid;gap:15px;font-size:12px}
#pro-sandbox-start{display:flex;gap:12px;align-items:end;flex-wrap:wrap}
#pro-sandbox-start label{display:grid;gap:6px;min-width:165px;font-size:11px}
#pro-sandbox-start select,#pro-sandbox-start input{min-height:38px;padding:8px;border:1px solid var(--line);background:var(--bg,#fff);color:inherit;border-radius:8px}
.pro-sandbox-campaigns{display:grid;gap:8px}
.pro-sandbox-campaign{border:1px solid var(--line);border-radius:9px;padding:10px;display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
#pro-sandbox-status{min-height:1em}

/* v92.66 — editorial status uses the review decision, while the private draft workflow stays unchanged. */
.admin-review-status.rejected,.partner-status.is-rejected{color:#b13838!important;background:rgba(188,49,49,.07);border-color:rgba(188,49,49,.24)}
.pro-revision-note.is-rejected{color:#b13838!important}
:root[data-theme="dark"] .admin-review-status.rejected,:root[data-theme="dark"] .partner-status.is-rejected,:root[data-theme="dark"] .pro-revision-note.is-rejected{color:#f3aaa3!important}
.pro-sandbox-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.pro-sandbox-metrics>div{display:grid;gap:4px;border:1px solid var(--line);border-radius:9px;padding:12px;min-width:0}
.pro-sandbox-metrics small{font:10px/1.4 var(--sans);color:var(--muted)}
.pro-sandbox-metrics b{font:600 18px/1.25 var(--sans);font-variant-numeric:tabular-nums}
.pro-sandbox-explanation{font-size:11px;line-height:1.6;color:var(--muted);max-width:870px}
.pro-sandbox-campaign{gap:16px;min-height:90px}
.pro-sandbox-campaign-listing{display:flex;align-items:center;gap:11px;min-width:205px;flex:1 1 245px}
.pro-sandbox-cover{width:65px;height:52px;display:grid;place-items:center;flex:0 0 auto;border-radius:8px;overflow:hidden;background:var(--paper-2);color:var(--muted);border:1px solid var(--line)}
.pro-sandbox-cover img{display:block;width:100%;height:100%;object-fit:cover}
.pro-sandbox-campaign-copy{display:grid;gap:3px;min-width:0}
.pro-sandbox-campaign-copy strong{font-size:12px;line-height:1.4;overflow-wrap:anywhere}
.pro-sandbox-campaign-copy small{font-size:10px;line-height:1.4;color:var(--muted)}
.pro-sandbox-campaign-account{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;flex:1 1 320px}
.pro-sandbox-campaign-account span{white-space:nowrap;font-size:10px;color:var(--muted)}
.pro-sandbox-campaign-account b{font-weight:600;color:var(--ink);font-variant-numeric:tabular-nums}
.pro-sandbox-campaign-account small{width:100%;font-size:9px;color:var(--muted)}
.pro-sandbox-history{display:grid;gap:9px;border-top:1px solid var(--line);padding-top:13px}
.pro-sandbox-history h4{font:500 18px var(--serif)}
.pro-sandbox-history>p{font-size:10px;line-height:1.5;color:var(--muted)}
.pro-sandbox-events{display:grid;gap:0;max-height:270px;overflow-y:auto;border:1px solid var(--line);border-radius:8px}
.pro-sandbox-event{display:flex;justify-content:space-between;gap:12px;padding:9px 11px;border-bottom:1px solid var(--line)}
.pro-sandbox-event:last-child{border-bottom:0}
.pro-sandbox-event>span{display:grid;gap:3px;min-width:0}
.pro-sandbox-event>span:last-child{text-align:right}
.pro-sandbox-event b,.pro-sandbox-event strong{font:600 11px var(--sans)}
.pro-sandbox-event small{font:9px var(--sans);color:var(--muted)}
@media(max-width:650px){.pro-sandbox-metrics{grid-template-columns:1fr}.pro-sandbox-campaign-account{flex-basis:100%}.pro-sandbox-campaign>button{width:100%}.pro-sandbox-event b,.pro-sandbox-event strong{font-size:10px}}


/* v92.67 OFFICIAL UI FREEZE — only editorial status badge consistency.
   Neutral pill surfaces, semantic text color only, same rules in Light/Dark.
   Limit these changes to pro Listings and Admin publication review, preserving layout. */
.partner-status.is-active,.admin-review-status.approved,
.partner-status.is-pending,.admin-review-status.pending,
.partner-status.is-rejected,.admin-review-status.rejected,
.admin-review-status.changes_requested{
  background:transparent!important;
  border:1px solid var(--line)!important;
  box-shadow:none!important;
}
.partner-status.is-active,.admin-review-status.approved{color:#237b58!important}
.partner-status.is-pending,.admin-review-status.pending{color:#956515!important}
.partner-status.is-rejected,.admin-review-status.rejected{color:#bd3535!important}
.admin-review-status.changes_requested{color:#ad7440!important}
:root[data-theme="dark"] .partner-status.is-active,
:root[data-theme="dark"] .admin-review-status.approved{color:#7ad7aa!important}
:root[data-theme="dark"] .partner-status.is-pending,
:root[data-theme="dark"] .admin-review-status.pending{color:#f2c679!important}
:root[data-theme="dark"] .partner-status.is-rejected,
:root[data-theme="dark"] .admin-review-status.rejected{color:#f4a2a2!important}
:root[data-theme="dark"] .admin-review-status.changes_requested{color:#edb989!important}


/* v92.70 targeted corrective hotfix: dark-theme TEST controls only.
   Earlier controls fell back to white background while inheriting white text.
   Keep the frozen UI unchanged everywhere else. */
:root[data-theme="dark"] #pro-sandbox-start select,
:root[data-theme="dark"] #pro-sandbox-start input{
  background:var(--paper-2);
  color:var(--ink);
  border-color:var(--line-strong);
  color-scheme:dark;
}
:root[data-theme="dark"] #pro-sandbox-start select:disabled,
:root[data-theme="dark"] #pro-sandbox-start input:disabled{
  opacity:1;
  color:#b8c5ca;
  -webkit-text-fill-color:#b8c5ca;
  cursor:not-allowed;
}
:root[data-theme="dark"] #pro-sandbox-start select option{
  background:var(--paper-2);
  color:var(--ink);
}


/* v92.77: Google sign-in button contrast correction; no layout changes. */
:root:not([data-theme="dark"]) .pro-login-card .pro-google-signin{
  background:#ffffff!important;
  color:#19313d!important;
  border-color:#9caeb6!important;
}
:root:not([data-theme="dark"]) .pro-login-card .pro-google-signin:hover:not(:disabled){
  background:#eef4f6!important;
  color:#102d3a!important;
}
:root[data-theme="dark"] .pro-login-card .pro-google-signin{
  background:#1c323c!important;
  color:#f1f7fa!important;
  border-color:#607e8b!important;
}
:root[data-theme="dark"] .pro-login-card .pro-google-signin:hover:not(:disabled){
  background:#25404b!important;
  color:#ffffff!important;
}
