/* RentSphere R11: definitive visual system. Rental-first structure, own visual identity.
   Source of truth for final visual tokens, no injected inline scripts or remote assets. */
:root {
  --brand:#bc2635;
  --brand2:#a71d2b;
  --ink:#1b2839;
  --muted:#637184;
  --line:#e5e8ed;
  --bg:#f7f8fa;
  --shadow:0 12px 42px rgba(26,38,58,.08);
  --rs-dark:#18263a;
  --rs-focus:#1164ac;
  --rs-radius:12px;
}
html {scroll-padding-top:90px}
body {font-family:Inter,'Segoe UI',Arial,sans-serif;color:var(--ink);background:var(--bg)}
:focus-visible {outline:3px solid var(--rs-focus)!important;outline-offset:3px}
button:disabled {opacity:.62;cursor:not-allowed}
.rs-utilitybar {display:flex;align-items:center;justify-content:space-between;background:#192638;color:#dce3ed;padding:8px max(4.5vw,22px);font-size:11px;font-weight:650;letter-spacing:.02em;gap:12px}
.rs-utilitybar span:last-child {color:#f1d2d6}
.topbar {position:sticky;top:0;z-index:30;height:76px;background:#fff!important;border-bottom:1px solid #e6e9ef!important;box-shadow:0 3px 14px rgba(24,38,58,.05)!important;padding:0 max(4.5vw,22px);gap:32px}
.brand {font-size:24px;color:#18263a;letter-spacing:-.05em;font-weight:850;flex-shrink:0}
.brand-mark {background:var(--brand)!important;border-radius:8px!important;transform:none!important;font-size:21px;width:38px;height:38px}
.topbar nav {gap:22px}
.topbar nav a {font-size:13px;font-weight:720;color:#38475a}
.topbar nav a:hover,.topbar nav a:focus-visible {color:var(--brand)}
.nav-actions {gap:9px}
.primary,.rs-cta-button {background:var(--brand)!important;color:#fff!important;border:1px solid var(--brand)!important;border-radius:8px!important;box-shadow:none!important;font-weight:760;transition:background .17s ease,transform .17s ease}
.primary:hover,.rs-cta-button:hover {background:var(--brand2)!important;transform:translateY(-1px)}
.outline {color:var(--brand)!important;background:#fff!important;border:1px solid #d8a4ab!important;border-radius:8px!important;font-weight:740}
.outline:hover {background:#fff5f6!important;border-color:var(--brand)!important}
.ghost:hover {color:var(--brand)}
.user-pill {border:1px solid var(--line);background:#fff}.user-pill>span {background:#fff0f1!important;color:var(--brand)!important}
.rs-mobile-menu {color:var(--rs-dark);background:#fff;border-color:#e0e4eb}
.rs-hero {padding:95px max(5vw,24px) 91px!important;background:linear-gradient(112deg,#fff7f7 0%,#fff 49%,#f8f9fb 100%)!important;border-bottom:1px solid #e6e8ec!important;min-height:auto!important;position:relative;overflow:hidden}
.rs-hero::after {content:'';position:absolute;right:-65px;top:-145px;width:340px;height:340px;border-radius:50%;background:#fbe7e9;opacity:.65;pointer-events:none}
.rs-hero-inner {position:relative;z-index:1;max-width:1130px}
.rs-kicker {font-size:11px;letter-spacing:.17em;color:var(--brand)!important;font-weight:850}
.rs-hero h1 {font-size:clamp(38px,5.1vw,70px);max-width:970px;color:#152235;line-height:1.12;letter-spacing:-.053em;margin:0 auto 16px}
.rs-hero h1 span {color:var(--brand)!important}
.rs-hero p {font-size:16px;max-width:740px;line-height:1.75;color:#5b687b;margin-bottom:29px}
.rs-market-tabs {justify-content:center;gap:4px;max-width:970px;margin:0 auto;padding:0;border-bottom:0;background:#fff;border-radius:13px 13px 0 0;border:1px solid #e5e7ec}
.rs-market-tabs .rs-tab {color:#344256!important;background:#fff!important;border:0!important;border-bottom:3px solid transparent!important;border-radius:0!important;font-size:13px;padding:18px 21px;font-weight:760}
.rs-market-tabs .rs-tab.active {color:var(--brand)!important;background:#fff8f8!important;border-bottom-color:var(--brand)!important}
.rs-market-tabs .rs-tab:hover {background:#fff5f5!important}
.rs-market-tabs .rs-tab-hint {font-size:11px;margin-left:auto;margin-right:15px;color:#778397}
.rs-home-search {max-width:970px;padding:12px!important;grid-template-columns:minmax(200px,2fr) minmax(120px,.9fr) minmax(140px,1fr) auto;border:1px solid #e5e7ec!important;border-top:0!important;border-radius:0 0 13px 13px!important;box-shadow:0 18px 45px rgba(25,37,58,.10)!important}
.rs-home-search label {padding:8px 13px;border-right:1px solid #e3e6eb}
.rs-home-search label span {color:#6b7788;font-size:10px;letter-spacing:.06em}
.rs-home-search input,.rs-home-search select {color:#253246!important}
.rs-home-search .rs-search-button {min-height:49px;white-space:nowrap;padding:11px 24px}
.rs-trust-row {gap:26px;font-size:12px;color:#5f6e80;margin-top:23px}
.section {padding-left:max(5vw,24px);padding-right:max(5vw,24px)}
.section-head {margin-bottom:25px}
.section-head h2 {color:#19273c;font-size:clamp(25px,2.55vw,36px);letter-spacing:-.04em}
.section-head p {font-size:14px;color:#667387;line-height:1.55}
.rs-quick {background:#fff;padding-top:60px;padding-bottom:59px}
.rs-cities {display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:12px}
.rs-city {min-height:128px;border:1px solid #e4e7ed!important;border-radius:12px!important;padding:19px 15px;gap:8px;background:linear-gradient(#fff,#fff)}
.rs-city>span {color:var(--brand)!important;font-size:23px}
.rs-city b {color:#233248;font-weight:780}
.rs-city small {color:#667488}
.rs-city:hover {border-color:#cc6671!important;box-shadow:0 8px 22px rgba(185,38,56,.09)!important}
.rs-featured {background:#f7f8fa;padding-top:72px;padding-bottom:78px}
.cards {gap:21px}
.property-card {border:1px solid #e0e5ed!important;border-radius:13px!important;background:#fff;box-shadow:0 5px 16px rgba(23,38,58,.045)!important;overflow:hidden;transition:transform .18s,box-shadow .18s}
.property-card:hover {transform:translateY(-3px);box-shadow:0 13px 34px rgba(25,39,57,.12)!important;border-color:#d7dbe4!important}
.rs-cover-wrap {height:214px;overflow:hidden;background:#e8ecf1;position:relative}
.rs-cover-wrap .property-img {display:block;width:100%;height:100%;object-fit:cover;background:#e7ecf1;transition:transform .35s}
.property-card:hover .property-img {transform:scale(1.025)}
.rs-cover-top {position:absolute;top:12px;left:12px;display:flex;gap:7px;flex-wrap:wrap;right:45px}
.rs-offer-tag,.rs-verified-tag {background:#fff;color:#233349;border-radius:5px;padding:7px 9px;font-size:10px;font-weight:820;box-shadow:0 2px 5px rgba(0,0,0,.08)}
.rs-offer-tag {background:var(--brand);color:#fff}
.rs-verified-tag {color:#16714a;background:#f2fff7}
.rs-image-disclaimer {position:absolute;bottom:0;left:0;right:0;background:rgba(22,35,53,.83);color:#fff;font-size:10px;text-align:center;padding:6px}
.rs-save-heart {position:absolute;top:10px;right:11px;width:34px;height:34px;border-radius:100%;border:1px solid #e7e8ef;background:#fff;font-size:21px;color:var(--brand)}
.card-body {padding:19px!important}
.rs-property-location {font-size:12px;font-weight:650;color:#6c7888;margin-bottom:8px;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.card-body h3 {font-size:17px;line-height:1.37;font-weight:780;letter-spacing:-.02em;color:#1b2a3f;margin:0 0 15px;min-height:45px}
.rs-property-facts {display:flex;align-items:center;gap:0;flex-wrap:wrap;margin-bottom:17px}
.rs-property-facts span {font-size:11px;font-weight:660;color:#556377;padding:0 10px;border-right:1px solid #ccd3dd}
.rs-property-facts span:first-child {padding-left:0}
.rs-property-facts span:last-child {border:0}
.rs-property-price {display:flex;justify-content:space-between;align-items:center;gap:8px;padding:14px 0;border-top:1px solid #e9edf2;border-bottom:1px solid #e9edf2}
.rs-property-price .price {font-size:21px;color:#18283b;letter-spacing:-.03em}
.rs-property-price small {font-size:11px;color:#728092}
.rs-property-price>small {white-space:nowrap;text-align:right}
.rs-card-footer {display:flex;align-items:center;justify-content:space-between;gap:8px;margin:13px 0;color:#687588;font-size:11px;min-height:29px}
.rs-compare-toggle {color:var(--brand)!important;border:1px solid #efc9cd!important;background:#fff7f8!important;padding:6px 9px;border-radius:6px!important;font-size:11px;font-weight:750}
.rs-compare-toggle.compare-active {background:#effbf3!important;color:#106a40!important;border-color:#c7edd4!important}
.card-actions {display:grid;grid-template-columns:1fr 1.1fr;gap:9px;margin-top:11px}
.card-actions button {padding:10px 8px!important;min-height:43px;font-size:12px!important;white-space:nowrap}
.rs-how {background:#fff;padding-top:70px;padding-bottom:75px}
.rs-how .feature {border:1px solid #e5e9ef;border-radius:12px;box-shadow:0 6px 22px rgba(22,34,52,.04);padding:25px 22px}
.rs-how .feature h3 {color:#1b2b40}
.rs-cta {background:#1d2a40;color:#fff;padding:47px max(5vw,24px)}
.rs-cta p {color:#c8d1dc}
.rs-results {max-width:1580px}
.rs-results-layout {gap:24px;grid-template-columns:285px minmax(0,1fr)}
.rs-filter-sidebar {border:1px solid #e2e7ed!important;border-radius:12px;top:95px;box-shadow:0 4px 18px rgba(27,41,56,.045)!important}
.rs-filter-sidebar h3 {color:#19263b}
.rs-filter-form label:not(.rs-check) {color:#34455a;font-weight:700}
.rs-filter-form input:not([type=checkbox]),.rs-filter-form select {border-color:#dce2e9!important}
.rs-results-toolbar {color:#334359;border-bottom:1px solid #e5e7ec;margin-bottom:18px;padding:9px 0 15px}
.rs-listings-grid {grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}
.rs-mobile-filter-toggle {display:none;border:1px solid #e0a5ad;border-radius:8px;color:var(--brand);background:#fff;padding:13px 18px;font-weight:760;width:100%;margin-bottom:14px;text-align:left}
.rs-empty-results {grid-column:1/-1;padding:60px 24px}
.rs-empty-results b {display:block;color:#24344b;font-size:17px}
.rs-empty-results p {max-width:480px;margin:12px auto 18px}
.dashboard-wrap {min-height:calc(100vh - 110px)}
.sidebar {background:#202d42!important;padding:23px 13px}
.sidebar h3 {font-size:17px;color:#fff}
.sidebar button {padding:12px 14px;color:#e0e4ed}
.sidebar button.active,.sidebar button:hover {background:var(--brand)!important;color:#fff}
.dashboard-main {background:#f7f8fa!important;padding:30px}
.dashboard-main .panel,.metric-grid .metric {border-radius:12px;border:1px solid #e1e6ed}
.metric-grid .metric {border-top:3px solid var(--brand)!important}
.metric b {color:#213247;font-weight:820}
.modal-backdrop {backdrop-filter:blur(4px)}
.modal-card {border-radius:16px;box-shadow:0 25px 100px rgba(15,24,37,.27)}
.auth-tabs button.active {color:var(--brand);font-weight:760}
.production-box {background:#fff7f8!important;border:1px dashed #e8b1b7!important}
.rs-unread {border-left-color:var(--brand)!important;background:#fff6f7!important}
footer {background:#18263a!important;padding-top:46px;padding-bottom:42px}
#toast {background:#1c2a3d;border-radius:9px}
@media(max-width:1250px){.rs-cities {grid-template-columns:repeat(4,minmax(0,1fr))}.topbar nav{gap:13px}.topbar{gap:18px}}
@media(max-width:1050px){.rs-home-search {grid-template-columns:1.5fr 1fr 1fr auto}.rs-results-layout{grid-template-columns:250px minmax(0,1fr)}.rs-listings-grid{grid-template-columns:1fr}.nav-actions{gap:4px}.nav-actions button{padding:9px 11px}}
@media(max-width:760px){
  .rs-utilitybar {padding:7px 14px;font-size:10px;justify-content:center;text-align:center}.rs-utilitybar span:first-child{display:none}
  .topbar {height:auto;min-height:67px;padding:10px 13px;gap:9px;position:relative}
  .brand {font-size:20px}.brand-mark {width:33px;height:33px;font-size:19px}
  .rs-mobile-menu {display:inline-flex;margin-left:auto}
  .topbar nav#navLinks{display:none;order:8;flex:0 0 100%;padding:12px;background:#fff;border:1px solid #e2e6ed;border-radius:10px}
  .topbar nav#navLinks.rs-nav-open{display:flex;flex-direction:column}
  .topbar .nav-actions{margin-left:0}.topbar .nav-actions>button{padding:7px 9px;font-size:11px}
  .rs-hero {padding:55px 15px 53px!important}.rs-hero h1{font-size:clamp(32px,8vw,46px)}.rs-hero p{font-size:14px}
  .rs-market-tabs {justify-content:center;gap:0;flex-wrap:wrap}.rs-market-tabs .rs-tab{font-size:12px;padding:14px 12px}.rs-tab-hint {display:none}
  .rs-home-search {grid-template-columns:1fr 1fr;gap:8px;padding:10px!important;border-radius:0 0 11px 11px!important}
  .rs-home-search label {border:1px solid #e7e9ee!important;border-radius:8px!important;padding:10px!important}
  .rs-home-search label:first-child{grid-column:1/-1}.rs-home-search .rs-search-button {grid-column:1/-1;min-height:48px}
  .rs-trust-row {gap:9px 14px;justify-content:center;font-size:10px}
  .section {padding:42px 16px}.rs-quick,.rs-featured,.rs-how{padding:47px 16px}
  .rs-cities {grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.rs-city {min-height:94px;padding:12px}
  .cards,.rs-listings-grid{grid-template-columns:1fr;gap:14px}
  .rs-results-layout{display:block}.rs-mobile-filter-toggle{display:block}
  .rs-filter-sidebar{display:none;position:static;margin-bottom:16px}.rs-filter-sidebar.rs-filter-open{display:block}
  .rs-results-toolbar{flex-wrap:wrap;gap:10px}
  .card-body h3{min-height:auto}.rs-cover-wrap{height:205px}
  .dashboard-wrap{grid-template-columns:1fr}.sidebar{display:flex;gap:7px;overflow:auto;padding:10px}.sidebar button{min-width:max-content;width:auto;padding:10px}
  .dashboard-main{padding:15px}.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .detail-grid,.form-grid{grid-template-columns:1fr}
  .rs-cta{padding:42px 16px;align-items:flex-start;flex-direction:column}.rs-cta-button{width:100%}
  footer{grid-template-columns:1fr;padding:30px 18px;gap:15px}
}
@media(max-width:390px){.rs-market-tabs .rs-tab{padding:12px 8px;font-size:11px}.rs-home-search{grid-template-columns:1fr}.rs-home-search label:first-child,.rs-home-search .rs-search-button{grid-column:auto}.rs-property-price .price{font-size:18px}.card-actions button{font-size:11px!important}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.property-card,.property-img,.primary{transition:none!important}}

/* R13: Google sign-in & mandatory private ID, no KYC gate */
.rs-google-auth { margin-top: 1rem; text-align: center; }
.rs-or-divider { color: #64748b; font-size: .85rem; margin: .7rem 0; }
.rs-google-button { display:flex; justify-content:center; align-items:center; min-height:44px; }
.rs-google-button.muted { font-size:.84rem; color:#64748b; }
#googleLinkBox { padding:.7rem 0; }

/* R14 coordinate-backed map, media and panorama: no fake listing pins. */
.rs-catalog-map-wrap{background:var(--card,#fff);padding:14px;margin:10px 0 24px;border:1px solid #d7dfe8;border-radius:16px}
.rs-catalog-map-wrap[hidden]{display:none!important}
.rs-tile-map{height:380px;min-height:250px;position:relative;overflow:hidden;border:1px solid #cfd8e3;border-radius:12px;background:#e6edf2;isolation:isolate;user-select:none}
.rs-map-picker{height:260px;cursor:crosshair}
.rs-map-tile{position:absolute;width:256px;height:256px;max-width:none;pointer-events:none}
.rs-map-pin{position:absolute;z-index:3;transform:translate(-50%,-100%);border:2px solid #fff;border-radius:22px;background:#bd2634;color:#fff;font-size:12px;font-weight:700;padding:7px 10px;box-shadow:0 3px 9px #0005;cursor:pointer;white-space:nowrap}
.rs-map-pin:focus-visible{outline:3px solid #1a75bb}
.rs-map-controls{position:absolute;right:12px;top:12px;display:flex;flex-direction:column;z-index:4;background:#fff;border-radius:6px;overflow:hidden;box-shadow:0 2px 10px #0003}
.rs-map-controls button{border:0;background:#fff;color:#1b2c40;font-size:22px;padding:4px 12px;cursor:pointer}
.rs-map-attribution{position:absolute;z-index:4;bottom:2px;right:3px;font:10px sans-serif;background:#fffd;padding:2px;color:#111}
.rs-map-no-pins{padding:110px 28px;text-align:center;color:#29455a;font-weight:600}
.rs-map-note{font-size:12px}.rs-picker-crosshair{position:absolute;pointer-events:none;transform:translate(-50%,-50%);font-size:38px;color:#c21d38;text-shadow:0 2px 4px #fff}
.rs-property-media{display:grid;gap:10px;margin:12px 0;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}
.rs-gallery-thumb,.rs-listing-video{width:100%;height:180px;object-fit:cover;border-radius:10px;background:#111}.rs-pano-canvas{width:100%;max-width:800px;aspect-ratio:16/9;cursor:grab;touch-action:none;border-radius:12px;background:#172231}.rs-pano-canvas:active{cursor:grabbing}
@media(max-width:760px){.rs-tile-map{height:300px}.rs-map-picker{height:230px}.rs-property-media{grid-template-columns:1fr}}

/* R16 registration location directory */
.auth-card .rs-signup-location{display:grid;grid-template-columns:1fr 1fr;gap:12px 14px;border:1px solid #dbe4f0;border-radius:14px;padding:14px;margin:2px 0;min-width:0;background:#fbfdff}
.auth-card .rs-signup-location legend{font-size:15px;font-weight:750;padding:0 6px}
.auth-card .rs-signup-location>p,.auth-card .rs-signup-location>.rs-city-status{grid-column:1/-1;margin:0;line-height:1.5}
.auth-card .rs-signup-location label{display:flex;flex-direction:column;font-weight:650;font-size:13px;gap:5px;min-width:0}
.auth-card .rs-signup-location label:first-of-type{grid-column:1/-1}
.auth-card .rs-signup-location select,.auth-card .rs-signup-location input{width:100%;min-width:0;background:#fff}
.auth-card .rs-signup-location .rs-city-other{grid-column:1/-1}
.auth-card .rs-signup-location select:disabled{opacity:.75;background:#f2f5fa}
.auth-card .rs-role-location-note{font-size:12px;color:#475569}
@media(max-width:580px){.auth-card .rs-signup-location{grid-template-columns:1fr}.auth-card .rs-signup-location label{grid-column:1/-1}}

/* R16R2 shared location controls in every location-bearing workflow. */
.rs-location-picker{display:grid;gap:11px;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));min-width:0;border:1px solid #dae2ee;border-radius:14px;padding:12px;margin:10px 0;background:#f9fbfe;grid-column:1/-1}
.rs-location-picker legend{font-weight:700;padding:0 7px;color:#142d49}
.rs-location-picker label{display:flex;flex-direction:column;gap:6px;min-width:0}
.rs-location-picker select,.rs-location-picker input{width:100%;min-width:0}
.rs-location-picker small,.rs-location-picker .rs-role-location-note{grid-column:1/-1;margin:0}
.rs-hero-location-more{grid-column:1/-1;padding:10px 12px;background:#fff;border-radius:12px;border:1px solid #dbe3ed}
.rs-hero-location-more summary{cursor:pointer;font-weight:600}
.rs-hero-location-more:not([open]) .rs-location-picker{display:none}
.rs-filter-form .rs-location-picker{grid-template-columns:1fr}
.rs-filter-form .rs-location-picker label{margin:0}
.rs-form-help{font-size:.82rem;color:#456078}
@media(max-width:640px){.rs-location-picker{grid-template-columns:1fr}.rs-hero-location-more{width:100%}}
