:root {
  --bg: #f6f7f4;
  --ink: #17201d;
  --muted: #66716a;
  --line: rgba(17, 31, 27, 0.12);
  --panel: rgba(255, 255, 255, 0.94);
  --panel-solid: #ffffff;
  --panel-soft: #f4f7f3;
  --green-950: #081b18;
  --green-900: #0e2d28;
  --emerald: #08856f;
  --emerald-dark: #006e5f;
  --amber: #c78322;
  --red: #bd3f35;
  --emerald-soft: #dff5ee;
  --amber-soft: #fff0ce;
  --red-soft: #fde8e4;
  --shadow: 0 22px 55px rgba(23, 32, 29, 0.13);
  --shadow-soft: 0 14px 30px rgba(23, 32, 29, 0.09);
  --radius: 8px;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* LYMOS BID v46: restore original map canvas size, keep only wider Leaflet zoom-out. */
body.lymos-pro-user {
  overflow-x: hidden !important;
}

.bid-main {
  overflow-x: hidden !important;
}

.bid-topbar {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  right: auto !important;
  left: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 72px !important;
  height: auto !important;
  margin: 0 0 14px !important;
  padding: 10px 16px !important;
  display: grid !important;
  grid-template-columns: auto minmax(520px, 820px) minmax(220px, 1fr) !important;
  align-items: center !important;
  gap: 16px !important;
  border-radius: 0 0 18px 18px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.bid-topbar .area-toggle {
  grid-column: 1 !important;
  width: 180px !important;
  min-width: 180px !important;
  max-width: 180px !important;
  margin: 0 !important;
}

.bid-topbar .global-search,
.bid-topbar .area-toggle:not([hidden]) + .global-search {
  grid-column: 2 !important;
  width: 100% !important;
  max-width: 820px !important;
  min-width: 520px !important;
  margin: 0 !important;
}

.bid-topbar .user-actions {
  grid-column: 3 !important;
  justify-self: end !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.bid-topbar .user-mini {
  max-width: 245px !important;
}

body[data-role="user"] .bid-topbar {
  grid-template-columns: minmax(560px, 860px) minmax(220px, 1fr) !important;
}

body[data-role="user"] .bid-topbar .global-search {
  grid-column: 1 !important;
  min-width: 560px !important;
  max-width: 860px !important;
}

body[data-role="user"] .bid-topbar .user-actions {
  grid-column: 2 !important;
}

.pro-filters {
  position: relative !important;
  top: auto !important;
  z-index: 30 !important;
  margin: 0 0 16px !important;
}

body[data-view="dashboard"] .map-stage,
body[data-view="dashboard"] .map-stage .real-map,
body[data-view="dashboard"] .map-stage .leaflet-container {
  height: 560px !important;
  min-height: 560px !important;
  max-height: none !important;
}

body[data-view="mapa"] .map-stage,
body[data-view="mapa"] .map-stage .real-map,
body[data-view="mapa"] .map-stage .leaflet-container {
  height: 680px !important;
  min-height: 680px !important;
  max-height: none !important;
}

body[data-view="dashboard"] .bid-content,
body[data-view="mapa"] .bid-content {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 420px) !important;
  gap: 18px !important;
}

body[data-view="dashboard"] .bid-right,
body[data-view="mapa"] .bid-right {
  max-width: 420px !important;
}

@media (max-width: 1380px) {
  .bid-topbar {
    grid-template-columns: auto minmax(380px, 1fr) auto !important;
  }

  .bid-topbar .global-search,
  .bid-topbar .area-toggle:not([hidden]) + .global-search {
    min-width: 380px !important;
  }

  body[data-role="user"] .bid-topbar {
    grid-template-columns: minmax(420px, 1fr) auto !important;
  }

  body[data-role="user"] .bid-topbar .global-search {
    min-width: 420px !important;
  }
}

/* LYMOS BID v46 final override: map canvas restored, search wide, only Leaflet zoom changed. */
.bid-topbar {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 72px !important;
  height: auto !important;
  margin: 0 0 14px !important;
  padding: 10px 16px !important;
  display: grid !important;
  grid-template-columns: auto minmax(520px, 820px) minmax(220px, 1fr) !important;
  align-items: center !important;
  gap: 16px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.bid-topbar .area-toggle {
  grid-column: 1 !important;
  width: 180px !important;
  min-width: 180px !important;
  max-width: 180px !important;
  margin: 0 !important;
}

.bid-topbar .global-search,
.bid-topbar .area-toggle:not([hidden]) + .global-search {
  grid-column: 2 !important;
  width: 100% !important;
  max-width: 820px !important;
  min-width: 520px !important;
  margin: 0 !important;
}

.bid-topbar .user-actions {
  grid-column: 3 !important;
  justify-self: end !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

body[data-role="user"] .bid-topbar {
  grid-template-columns: minmax(560px, 860px) minmax(220px, 1fr) !important;
}

body[data-role="user"] .bid-topbar .global-search {
  grid-column: 1 !important;
  min-width: 560px !important;
  max-width: 860px !important;
}

body[data-role="user"] .bid-topbar .user-actions {
  grid-column: 2 !important;
}

.pro-filters {
  position: relative !important;
  top: auto !important;
  z-index: 30 !important;
  margin: 0 0 16px !important;
}

body[data-view="dashboard"] .map-stage,
body[data-view="dashboard"] .map-stage .real-map,
body[data-view="dashboard"] .map-stage .leaflet-container {
  height: 560px !important;
  min-height: 560px !important;
  max-height: none !important;
}

body[data-view="mapa"] .map-stage,
body[data-view="mapa"] .map-stage .real-map,
body[data-view="mapa"] .map-stage .leaflet-container {
  height: 680px !important;
  min-height: 680px !important;
  max-height: none !important;
}

body[data-view="dashboard"] .bid-content,
body[data-view="mapa"] .bid-content {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 420px) !important;
  gap: 18px !important;
}

body[data-view="dashboard"] .bid-right,
body[data-view="mapa"] .bid-right {
  max-width: 420px !important;
}

@media (max-width: 1380px) {
  .bid-topbar {
    grid-template-columns: auto minmax(380px, 1fr) auto !important;
  }

  .bid-topbar .global-search,
  .bid-topbar .area-toggle:not([hidden]) + .global-search {
    min-width: 380px !important;
  }

  body[data-role="user"] .bid-topbar {
    grid-template-columns: minmax(420px, 1fr) auto !important;
  }

  body[data-role="user"] .bid-topbar .global-search {
    min-width: 420px !important;
  }
}

@media (max-width: 1180px) {
  .bid-topbar,
  body[data-role="user"] .bid-topbar {
    grid-template-columns: 1fr !important;
  }

  .bid-topbar .area-toggle,
  .bid-topbar .global-search,
  .bid-topbar .area-toggle:not([hidden]) + .global-search,
  .bid-topbar .user-actions,
  body[data-role="user"] .bid-topbar .global-search,
  body[data-role="user"] .bid-topbar .user-actions {
    grid-column: 1 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body[data-view="dashboard"] .bid-content,
  body[data-view="mapa"] .bid-content {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 1180px) {
  .bid-topbar,
  body[data-role="user"] .bid-topbar {
    grid-template-columns: 1fr !important;
  }

  .bid-topbar .area-toggle,
  .bid-topbar .global-search,
  .bid-topbar .area-toggle:not([hidden]) + .global-search,
  .bid-topbar .user-actions,
  body[data-role="user"] .bid-topbar .global-search,
  body[data-role="user"] .bid-topbar .user-actions {
    grid-column: 1 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body[data-view="dashboard"] .bid-content,
  body[data-view="mapa"] .bid-content {
    grid-template-columns: 1fr !important;
  }
}

* { box-sizing: border-box; }
body {
  margin: 0;
  min-width: 320px;
  color: var(--ink);
  background:
    linear-gradient(135deg, rgba(8, 133, 111, 0.05), transparent 28%),
    linear-gradient(315deg, rgba(199, 131, 34, 0.055), transparent 34%),
    var(--bg);
}
button, input, select, textarea { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
button { cursor: pointer; }
a { color: inherit; text-decoration: none; }
svg { width: 18px; height: 18px; fill: currentColor; }
h1, h2, h3, p { margin: 0; }

.portal-body {
  min-height: 100vh;
  display: grid;
  place-items: center;
  padding: 28px;
}
.entry {
  width: min(1100px, 100%);
  display: grid;
  grid-template-columns: 0.9fr 1.2fr;
  gap: 18px;
  align-items: stretch;
}
.entry-brand, .role-card {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow);
}
.entry-brand {
  min-height: 420px;
  padding: 38px;
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  background: linear-gradient(145deg, rgba(8, 27, 24, 0.94), rgba(14, 45, 40, 0.88));
  color: #fff;
}
.brand-mark {
  width: 48px;
  height: 48px;
  display: grid;
  place-items: center;
  border-radius: var(--radius);
  background: linear-gradient(140deg, #0a9078, #c9902e);
  color: #fff;
  font-size: 14px;
  font-weight: 900;
}
.entry-brand h1 {
  margin-top: 18px;
  font-size: clamp(42px, 7vw, 74px);
  line-height: 0.95;
}
.entry-brand p {
  margin-top: 16px;
  max-width: 520px;
  color: #c7d6d0;
  font-size: 16px;
  line-height: 1.5;
}
.role-grid { display: grid; gap: 18px; }
.login-shell {
  width: min(960px, 100%);
  display: grid;
  grid-template-columns: 1fr 430px;
  gap: 18px;
  align-items: stretch;
}
.login-brand { min-height: 520px; }
.login-panel {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow);
  padding: 34px;
  display: grid;
  align-content: center;
}
.login-panel h2 { margin-top: 8px; font-size: 34px; }
.login-form { display: grid; gap: 14px; margin-top: 22px; }
.login-form label {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.login-form input {
  display: block;
  width: 100%;
  min-height: 42px;
  margin-top: 6px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel-solid);
  color: var(--ink);
  padding: 9px 11px;
  font-size: 14px;
  font-weight: 700;
  text-transform: none;
}
.login-help {
  margin-top: 18px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}
.role-card {
  padding: 28px;
  display: grid;
  align-content: center;
  min-height: 200px;
  transition: 180ms ease;
}
.role-card:hover { transform: translateY(-3px); box-shadow: 0 28px 70px rgba(23, 32, 29, 0.17); }
.role-kicker, .label {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.role-card strong { margin-top: 8px; font-size: 28px; }
.role-card p { margin-top: 8px; color: var(--muted); line-height: 1.45; }
.role-action {
  margin-top: 20px;
  width: fit-content;
  min-height: 40px;
  display: inline-flex;
  align-items: center;
  padding: 0 14px;
  border-radius: var(--radius);
  background: var(--emerald);
  color: #fff;
  font-size: 13px;
  font-weight: 900;
}

.app-shell {
  display: grid;
  grid-template-columns: 276px minmax(0, 1fr);
  min-height: 100vh;
}
.sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  gap: 26px;
  padding: 22px 16px;
  color: #edf5f0;
  background:
    radial-gradient(circle at 70% 0%, rgba(20, 164, 135, 0.2), transparent 28%),
    linear-gradient(180deg, #07372f, rgba(8, 27, 24, 0.98)),
    var(--green-950);
}
.brand {
  display: flex;
  align-items: center;
  gap: 12px;
}
.brand strong { display: block; font-size: 17px; }
.brand small { display: block; margin-top: 3px; color: #aabbb4; font-size: 12px; }
.nav-list { display: grid; gap: 7px; }
.nav-item {
  border: 0;
  min-height: 44px;
  padding: 0 12px;
  border-radius: var(--radius);
  color: #c3d0ca;
  display: flex;
  align-items: center;
  font-size: 14px;
  font-weight: 750;
}
.nav-button {
  width: 100%;
  background: transparent;
  text-align: left;
}
.nav-item:hover, .nav-item.active { background: rgba(255, 255, 255, 0.1); color: #fff; }
.sidebar-card {
  margin-top: auto;
  padding: 16px;
  border: 1px solid rgba(255, 255, 255, 0.11);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.08);
}
.sidebar-card strong { display: block; margin-top: 7px; font-size: 34px; line-height: 1; }
.sidebar-card p { margin-top: 8px; color: #b8c8c1; font-size: 12px; line-height: 1.45; }

.workspace { min-width: 0; padding: 20px 24px; background: #f6f7f4; }
.topbar {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 14px;
}
h1 { max-width: 850px; font-size: clamp(28px, 2.6vw, 42px); line-height: 1.02; font-weight: 950; }
.title-block p, .panel-heading p, .detail-subtitle, .property-meta, .small-muted {
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}
.title-block p { margin-top: 6px; max-width: 760px; }
.top-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.app-topbar {
  padding-bottom: 2px;
}
.mode-switch {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  gap: 4px;
  margin-bottom: 10px;
  padding: 4px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.78);
  box-shadow: var(--shadow-soft);
}
.mode-switch span {
  padding: 0 9px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 900;
}
.mode-pill {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  padding: 0 13px;
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 950;
}
.mode-pill.active {
  background: linear-gradient(135deg, var(--emerald), var(--emerald-dark));
  color: #fff;
  box-shadow: 0 10px 24px rgba(8, 133, 111, 0.22);
}
.primary-action, .secondary-action, .icon-button {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  padding: 0 14px;
  font-size: 13px;
  font-weight: 900;
}
.primary-action {
  border-color: var(--emerald);
  background: linear-gradient(135deg, var(--emerald), var(--emerald-dark));
  color: #fff;
  box-shadow: 0 14px 24px rgba(8, 133, 111, 0.22);
}
.secondary-action, .icon-button { background: var(--panel-solid); color: var(--ink); }
.icon-button { width: 40px; padding: 0; }

.command-bar, .panel, .kpi-strip article, .process-strip, .ops-hero {
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel);
  box-shadow: var(--shadow-soft);
}
.command-bar {
  display: grid;
  grid-template-columns: minmax(360px, 1.25fr) minmax(620px, 2fr);
  gap: 12px;
  padding: 10px;
  margin-bottom: 12px;
}
.search-field {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 42px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel-solid);
  color: var(--muted);
}
.search-field input { border: 0; outline: 0; width: 100%; min-width: 0; background: transparent; color: var(--ink); }
.filters { display: grid; grid-template-columns: repeat(5, minmax(88px, 1fr)); gap: 9px; }
.filters label, .admin-form label {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.filters select, .admin-form input, .admin-form select, .admin-form textarea {
  display: block;
  width: 100%;
  min-height: 34px;
  margin-top: 5px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel-solid);
  color: var(--ink);
  padding: 8px 10px;
  font-size: 13px;
  font-weight: 650;
  text-transform: none;
}

.kpi-strip { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 12px 0; }
.kpi-strip article {
  padding: 14px 16px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(250, 252, 249, 0.92));
}
.kpi-strip span, .metric span, .coord-card span, .checklist-title {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.kpi-strip strong { display: block; margin-top: 5px; font-size: 25px; line-height: 1; }
.kpi-strip small { display: block; margin-top: 5px; color: var(--muted); font-size: 12px; }

.user-intel-strip {
  display: grid;
  grid-template-columns: 1.15fr 0.8fr 0.9fr;
  gap: 12px;
  margin: 0 0 12px;
}
.user-intel-strip article {
  padding: 13px 15px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(8, 133, 111, 0.06), transparent 46%),
    var(--panel-solid);
  box-shadow: var(--shadow-soft);
}
.intel-label {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}
.user-intel-strip strong {
  display: block;
  margin-top: 5px;
  font-size: 18px;
  line-height: 1.15;
}
.user-intel-strip small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
}

.user-dashboard {
  background:
    linear-gradient(180deg, rgba(8, 27, 24, 0.02), rgba(8, 133, 111, 0.055)),
    #f7f8f5;
}
.user-dashboard .workspace {
  padding-top: 26px;
}
.user-dashboard .topbar {
  margin-bottom: 14px;
}
.user-dashboard h1 {
  max-width: 940px;
  font-size: clamp(32px, 3vw, 54px);
  letter-spacing: 0;
}
.user-dashboard .title-block > p {
  max-width: 780px;
}
.user-dashboard .command-bar {
  grid-template-columns: minmax(320px, 0.9fr) minmax(620px, 1.35fr);
  align-items: end;
  padding: 12px;
  margin-bottom: 10px;
  border-color: rgba(8, 133, 111, 0.13);
  box-shadow: 0 12px 28px rgba(23, 32, 29, 0.07);
}
.user-dashboard .search-field {
  min-height: 54px;
}
.user-dashboard .search-field input {
  font-size: 17px;
}
.user-dashboard .filters select {
  min-height: 46px;
}
.user-kpis {
  gap: 10px;
  margin: 10px 0;
}
.user-kpis article {
  position: relative;
  overflow: hidden;
  min-height: 92px;
  padding: 12px 15px;
}
.user-kpis article::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 3px;
  background: linear-gradient(90deg, var(--emerald), rgba(199, 131, 34, 0.75), transparent);
  opacity: 0.68;
}
.user-kpis strong {
  font-size: 27px;
}
.user-intel-compact {
  grid-template-columns: 1.05fr 0.55fr 0.72fr;
  gap: 10px;
  margin-bottom: 14px;
}
.user-intel-compact article {
  min-height: 84px;
  padding: 12px 14px;
}
.user-intel-compact strong {
  font-size: 20px;
}

.user-grid {
  display: grid;
  grid-template-columns: minmax(330px, 0.82fr) minmax(560px, 1.45fr) minmax(370px, 0.92fr);
  grid-template-areas: "list map detail";
  gap: 14px;
  align-items: stretch;
}
.user-grid-polished .map-panel {
  padding: 14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.98), rgba(249,251,248,.94));
}
.map-panel { grid-area: map; }
.list-panel { grid-area: list; overflow: hidden; }
.detail-panel { grid-area: detail; position: sticky; top: 20px; }
.panel { padding: 16px; }
.list-panel { padding: 0; }
.user-grid-polished > .panel {
  min-height: 650px;
}
.user-grid-polished .detail-panel {
  max-height: calc(100vh - 40px);
  overflow: auto;
}
.opportunity-rail {
  background:
    linear-gradient(180deg, rgba(8, 27, 24, 0.02), rgba(8, 133, 111, 0.04)),
    var(--panel-solid);
}
.panel-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
.panel-heading h2 { font-size: 18px; line-height: 1.15; }

.geo-map {
  position: relative;
  min-height: clamp(220px, 26vh, 360px);
  overflow: hidden;
  border: 1px solid rgba(39, 48, 43, 0.12);
  border-radius: var(--radius);
  background: radial-gradient(circle at 30% 25%, rgba(8, 133, 111, 0.13), transparent 23%), linear-gradient(145deg, #e7f0ec, #f8f3e7 52%, #e3e9e7);
}
.geo-map::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: linear-gradient(rgba(23,32,29,.045) 1px, transparent 1px), linear-gradient(90deg, rgba(23,32,29,.045) 1px, transparent 1px);
  background-size: 48px 48px;
}
.brazil-map {
  position: absolute;
  left: 5%;
  top: 5%;
  width: 68%;
  height: 90%;
  filter: drop-shadow(0 18px 24px rgba(23, 32, 29, 0.1));
}
.coast-shadow { fill: rgba(8, 27, 24, 0.08); }
.brazil-shape { fill: rgba(255, 253, 247, 0.76); stroke: rgba(8, 133, 111, 0.34); stroke-width: 3; }
.region-line { fill: none; stroke: rgba(8, 133, 111, 0.17); stroke-width: 2; }
.pin-layer { position: absolute; inset: 0; }
.map-pin {
  position: absolute;
  left: var(--x);
  top: var(--y);
  border: 0;
  width: 34px;
  height: 34px;
  transform: translate(-50%, -100%);
  background: transparent;
  color: var(--pin-color);
}
.map-pin::before {
  content: "";
  position: absolute;
  left: 50%;
  top: 3px;
  width: 18px;
  height: 18px;
  transform: translateX(-50%) rotate(45deg);
  border-radius: 50% 50% 50% 6px;
  background: currentColor;
  box-shadow: 0 10px 18px rgba(23, 32, 29, 0.22);
}
.map-pin::after {
  content: "";
  position: absolute;
  left: 50%;
  top: 8px;
  width: 7px;
  height: 7px;
  transform: translateX(-50%);
  border-radius: 50%;
  background: #fff;
}
.map-pin.active .pin-pulse {
  position: absolute;
  left: 50%;
  top: 20px;
  width: 38px;
  height: 18px;
  transform: translate(-50%, -50%);
  border: 2px solid currentColor;
  border-radius: 50%;
  opacity: 0.42;
  animation: pulse 1.7s infinite;
}
.pin-tooltip {
  position: absolute;
  left: var(--tip-x);
  top: var(--tip-y);
  z-index: 4;
  width: 220px;
  transform: translate(-50%, -108%);
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 253, 247, 0.96);
  box-shadow: var(--shadow);
  pointer-events: none;
}
.pin-tooltip strong { display: block; font-size: 13px; }
.pin-tooltip span { display: block; margin-top: 3px; color: var(--muted); font-size: 12px; }
.tooltip-metrics { display: flex; gap: 6px; margin-top: 9px; }
.tooltip-metrics b { padding: 5px 7px; border-radius: 99px; background: var(--emerald-soft); color: #086456; font-size: 11px; }
.map-legend {
  position: absolute;
  right: 14px;
  bottom: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 253, 247, 0.86);
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
}
.real-map-shell {
  position: relative;
  min-height: 568px;
  overflow: hidden;
  border: 1px solid rgba(39, 48, 43, 0.12);
  border-radius: var(--radius);
  background: #dbe7e2;
}
.real-map {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.real-map-shell .map-legend {
  z-index: 3;
}
.map-offline {
  position: absolute;
  inset: auto 14px 14px 14px;
  z-index: 4;
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 253, 247, 0.95);
  color: var(--muted);
  font-size: 12px;
  box-shadow: var(--shadow-soft);
}
.leaflet-container {
  font-family: inherit;
  background: #dbe7e2;
}
.leaflet-control-zoom a {
  color: var(--ink);
  font-weight: 900;
}
.lymos-marker {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border: 3px solid #fff;
  border-radius: 50% 50% 50% 8px;
  transform: rotate(-45deg);
  box-shadow: 0 12px 24px rgba(23, 32, 29, 0.28);
}
.lymos-marker span {
  transform: rotate(45deg);
  color: #fff;
  font-size: 11px;
  font-weight: 950;
}
.lymos-marker.high { background: var(--red); }
.lymos-marker.medium { background: var(--amber); }
.lymos-marker.low { background: var(--emerald); }
.leaflet-popup-content-wrapper {
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.leaflet-popup-content {
  margin: 12px;
  min-width: 210px;
}
.map-popup-title {
  display: block;
  color: var(--ink);
  font-size: 13px;
  font-weight: 950;
}
.map-popup-meta {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}
.map-popup-tags {
  display: flex;
  gap: 6px;
  margin-top: 9px;
}
.map-popup-tags b {
  padding: 5px 7px;
  border-radius: 99px;
  background: var(--emerald-soft);
  color: #086456;
  font-size: 11px;
}
.legend-dot { width: 9px; height: 9px; display: inline-block; margin-right: 5px; border-radius: 50%; vertical-align: -1px; }
.legend-dot.strong { background: var(--emerald); }
.legend-dot.mid { background: var(--amber); }
.legend-dot.risk { background: var(--red); }

.table-heading { padding: 15px 15px 0; }
.table-tools {
  display: flex;
  gap: 6px;
  align-items: center;
}
.tool-pill {
  border: 1px solid var(--line);
  min-height: 30px;
  padding: 0 10px;
  border-radius: 999px;
  background: var(--panel-solid);
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
}
.tool-pill.active {
  background: var(--green-900);
  color: #fff;
}
.opportunity-list {
  display: grid;
  gap: 0;
  max-height: 590px;
  overflow: auto;
  padding-bottom: 6px;
}
.opportunity-card {
  width: 100%;
  display: grid;
  gap: 12px;
  padding: 14px 15px;
  border: 0;
  border-top: 1px solid var(--line);
  border-left: 4px solid transparent;
  background: transparent;
  color: var(--ink);
  text-align: left;
  cursor: pointer;
  transition: background 160ms ease, border-color 160ms ease, transform 160ms ease;
}
.opportunity-card:hover,
.opportunity-card.active {
  border-left-color: var(--emerald);
  background:
    linear-gradient(90deg, rgba(223, 245, 238, 0.74), rgba(255, 255, 255, 0.72));
}
.opportunity-card:hover {
  transform: translateX(2px);
}
.opportunity-top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  gap: 10px;
  align-items: start;
}
.opportunity-top strong {
  display: block;
  overflow: hidden;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.opportunity-top small {
  display: block;
  margin-top: 4px;
  overflow: hidden;
  color: var(--muted);
  font-size: 11px;
  line-height: 1.3;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.opportunity-metrics {
  display: grid;
  grid-template-columns: 1.12fr 0.82fr 0.82fr;
  gap: 7px;
}
.opportunity-metrics span {
  min-width: 0;
  padding: 9px;
  border: 1px solid rgba(23, 32, 29, 0.09);
  border-radius: var(--radius);
  background: rgba(255, 253, 247, 0.76);
}
.opportunity-metrics b,
.opportunity-metrics small {
  display: block;
}
.opportunity-metrics b {
  overflow: hidden;
  color: #075f52;
  font-size: 12px;
  line-height: 1.15;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.opportunity-metrics small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
}
.mini-score {
  width: 40px;
  height: 40px;
  justify-self: end;
  font-size: 12px;
}
.auction-table { width: 100%; overflow-x: auto; }
.table-row {
  display: grid;
  grid-template-columns: minmax(320px, 1.45fr) 92px 124px 64px 82px 64px;
  gap: 10px;
  align-items: center;
  padding: 11px 15px;
  border-top: 1px solid var(--line);
}
.table-head { color: var(--muted); background: #f6f8f4; font-size: 11px; font-weight: 900; text-transform: uppercase; }
.auction-row { border: 0; border-top: 1px solid var(--line); width: 100%; background: transparent; color: var(--ink); text-align: left; }
.auction-row:hover, .auction-row.active { background: rgba(223, 245, 238, 0.58); }
.auction-row.active {
  box-shadow: inset 3px 0 0 var(--emerald);
}
.property-cell { display: grid; grid-template-columns: 52px minmax(0, 1fr); gap: 11px; align-items: center; }
.thumb {
  height: 46px;
  border: 1px solid rgba(39, 48, 43, 0.14);
  border-radius: var(--radius);
  background: linear-gradient(135deg, rgba(255,255,255,.4), transparent), var(--thumb-bg, #dfe7df);
  position: relative;
  overflow: hidden;
}
.thumb::before, .thumb::after, .detail-hero::before, .detail-hero::after { content: ""; position: absolute; background: rgba(255,253,247,.7); }
.thumb::before { left: 10px; right: 10px; bottom: 9px; height: 17px; }
.thumb::after { left: 17px; top: 12px; width: 21px; height: 17px; transform: rotate(45deg); }
.property-title { display: block; overflow: hidden; font-size: 14px; font-weight: 900; text-overflow: ellipsis; white-space: nowrap; }
.row-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
  margin-top: 5px;
}
.row-tags i {
  min-height: 20px;
  display: inline-flex;
  align-items: center;
  padding: 0 7px;
  border-radius: 999px;
  background: #eef4ef;
  color: var(--muted);
  font-size: 10px;
  font-style: normal;
  font-weight: 850;
}
.price { color: #0b6658; font-size: 13px; font-weight: 900; }
.discount, .risk-chip, .status-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 27px;
  width: fit-content;
  padding: 0 9px;
  border-radius: 99px;
  font-size: 11px;
  font-weight: 900;
}
.discount { background: var(--amber-soft); color: #7a5011; }
.risk-chip.low { background: var(--emerald-soft); color: #086456; }
.risk-chip.medium { background: var(--amber-soft); color: #7a5011; }
.risk-chip.high { background: var(--red-soft); color: #822c25; }
.score {
  width: 44px;
  height: 44px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(var(--score-color, var(--emerald)) calc(var(--score) * 1%), rgba(39,48,43,.14) 0);
  font-size: 13px;
  font-weight: 950;
  position: relative;
}
.score-large {
  width: 54px;
  height: 54px;
  font-size: 15px;
}
.score::before { content: ""; position: absolute; inset: 4px; border-radius: 50%; background: var(--panel-solid); }
.score span { position: relative; z-index: 1; }

.detail-hero {
  min-height: 112px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: linear-gradient(180deg, rgba(23,32,29,0), rgba(23,32,29,.18)), var(--thumb-bg, #dfe7df);
  position: relative;
  overflow: hidden;
}
.detail-hero::before { left: 42px; right: 44px; bottom: 22px; height: 48px; }
.detail-hero::after { left: 64px; top: 34px; width: 82px; height: 82px; transform: rotate(45deg); }
.property-photo {
  position: relative;
  min-height: 132px;
  overflow: hidden;
  border: 1px solid rgba(8, 133, 111, 0.22);
  border-radius: var(--radius);
  background:
    linear-gradient(180deg, rgba(214, 235, 229, 0.88), rgba(169, 205, 194, 0.92)),
    #c8ded7;
}
.property-photo::before {
  content: "";
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 36px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.2), rgba(32, 72, 65, 0.28));
}
.photo-building {
  position: absolute;
  left: 72px;
  bottom: 22px;
  width: 122px;
  height: 82px;
  background: rgba(255, 253, 247, 0.86);
  box-shadow: 0 18px 30px rgba(23, 32, 29, 0.12);
}
.photo-building::before {
  content: "";
  position: absolute;
  left: 25px;
  top: -32px;
  width: 72px;
  height: 72px;
  transform: rotate(45deg);
  background: rgba(255, 253, 247, 0.86);
}
.photo-building span {
  position: relative;
  z-index: 1;
  display: inline-block;
  width: 13px;
  height: 22px;
  margin: 42px 0 0 17px;
  background: rgba(8, 133, 111, 0.22);
}
.photo-street {
  position: absolute;
  right: 52px;
  bottom: 38px;
  width: 210px;
  height: 34px;
  background: rgba(255, 253, 247, 0.72);
}
.detail-topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 12px 0 8px; }
.status-pill { background: var(--emerald-soft); color: #086456; }
.detail-title { font-size: 21px; line-height: 1.16; }
.detail-chips {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin: 10px 0 2px;
}
.detail-chips span {
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  padding: 0 9px;
  border-radius: 999px;
  background: var(--emerald-soft);
  color: #086456;
  font-size: 11px;
  font-weight: 900;
}
.coord-card, .detail-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 9px; margin: 11px 0; }
.coord-card { padding: 10px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(247,242,232,.74); }
.coord-card strong, .metric strong { display: block; margin-top: 5px; font-size: 15px; }
.metric { padding: 10px; border: 1px solid var(--line); border-radius: var(--radius); background: rgba(255,253,247,.76); }
.return-card,
.watch-card {
  margin: 12px 0;
  padding: 12px;
  border: 1px solid rgba(8, 133, 111, 0.18);
  border-radius: var(--radius);
  background:
    linear-gradient(135deg, rgba(8, 133, 111, 0.09), transparent 55%),
    #fbfffc;
}
.return-card {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
  align-items: center;
}
.return-card span,
.watch-card span {
  display: block;
  color: var(--muted);
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}
.return-card strong,
.watch-card strong {
  display: block;
  margin-top: 5px;
  font-size: 18px;
}
.return-card small,
.watch-card small {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 12px;
}
.return-card dl {
  display: grid;
  gap: 7px;
  margin: 0;
}
.return-card dl div {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  padding: 8px;
  border-radius: var(--radius);
  background: rgba(255,255,255,.75);
}
.return-card dt {
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
}
.return-card dd {
  margin: 0;
  color: var(--ink);
  font-size: 12px;
  font-weight: 950;
}
.risk-list, .checklist { display: grid; gap: 7px; margin: 12px 0; }
.risk-item, .check-item {
  display: flex;
  gap: 8px;
  padding: 9px;
  border-radius: var(--radius);
  background: rgba(247,242,232,.82);
  color: var(--muted);
  font-size: 12px;
  line-height: 1.35;
}
.risk-item.high { background: var(--red-soft); color: #822c25; }
.risk-item.medium { background: var(--amber-soft); color: #7a5011; }
.risk-dot, .check-dot { width: 8px; height: 8px; flex: 0 0 auto; margin-top: 4px; border-radius: 50%; background: currentColor; }
.check-dot { color: var(--emerald); }
.detail-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; margin-top: 14px; }
.detail-actions .primary-action { grid-column: 1 / -1; }

.ops-hero {
  display: grid;
  grid-template-columns: minmax(300px, 0.8fr) minmax(520px, 1.2fr);
  gap: 18px;
  align-items: center;
  padding: 18px;
  margin-bottom: 14px;
  background:
    linear-gradient(135deg, rgba(8, 133, 111, 0.08), transparent 42%),
    var(--panel);
}
.ops-hero h2 {
  margin-top: 5px;
  font-size: 24px;
}
.ops-hero p {
  margin-top: 7px;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.45;
}
.ops-pipeline {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}
.pipeline-step,
.process-step {
  padding: 13px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: rgba(255, 255, 255, 0.72);
}
.pipeline-step b,
.process-step b { width: 28px; height: 28px; display: grid; place-items: center; border-radius: 50%; background: var(--panel-soft); color: var(--muted); }
.pipeline-step.done b,
.pipeline-step.active b,
.process-step.active b { background: var(--emerald); color: #fff; }
.pipeline-step span,
.process-step span { display: block; margin-top: 9px; font-weight: 950; }
.pipeline-step small,
.process-step small { color: var(--muted); font-size: 12px; }
.admin-grid { display: grid; grid-template-columns: minmax(420px, 1fr) minmax(520px, 1.2fr); gap: 14px; align-items: start; }
.admin-grid-polished {
  align-items: stretch;
}
.csv-box {
  width: 100%;
  min-height: 240px;
  resize: vertical;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel-solid);
  padding: 12px;
  color: var(--ink);
  font-size: 13px;
  line-height: 1.5;
}
.panel-actions { display: flex; justify-content: space-between; align-items: center; gap: 12px; margin-top: 12px; }
.form-note { color: var(--muted); font-size: 12px; }
.admin-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.admin-form textarea { min-height: 74px; resize: vertical; }
.span-2 { grid-column: 1 / -1; }
.source-form {
  display: grid;
  grid-template-columns: minmax(160px, 1fr) minmax(220px, 1.3fr) 150px 130px 110px minmax(180px, 1fr) auto;
  gap: 10px;
  align-items: end;
}
.source-form label {
  color: var(--muted);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}
.source-form input,
.source-form select {
  display: block;
  width: 100%;
  min-height: 38px;
  margin-top: 5px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel-solid);
  padding: 8px 10px;
  color: var(--ink);
  font-weight: 700;
  text-transform: none;
}
.source-grid,
.job-list {
  display: grid;
  gap: 10px;
  margin-top: 14px;
}
.source-card,
.job-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel-solid);
}
.source-card {
  border-left: 4px solid var(--emerald);
}
.source-card-managed {
  display: grid;
  grid-template-columns: minmax(260px, 0.8fr) auto;
  align-items: start;
}
.source-card-managed.inactive {
  border-left-color: var(--red);
  opacity: 0.72;
}
.source-actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}
.source-edit-form {
  grid-column: 1 / -1;
  display: grid;
  grid-template-columns: minmax(160px, 1fr) 150px minmax(220px, 1.5fr) 120px 110px minmax(180px, 1fr);
  gap: 8px;
  margin-top: 12px;
}
.source-edit-form input,
.source-edit-form select {
  min-height: 34px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel-solid);
  padding: 7px 9px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
}
.job-row {
  border-left: 4px solid var(--amber);
}
.source-card strong,
.job-row strong {
  display: block;
  font-size: 14px;
}
.source-card span,
.job-row span,
.source-card small,
.job-row small {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 12px;
}
.quality-list, .log-table { display: grid; gap: 10px; }
.quality-row, .log-row {
  position: relative;
  overflow: hidden;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--panel-solid);
}
.quality-row span, .log-row span { display: block; color: var(--muted); font-size: 12px; }
.quality-row strong, .log-row strong { display: block; margin-top: 4px; font-size: 14px; }
.quality-row i {
  display: block;
  height: 5px;
  margin-top: 10px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--emerald), var(--amber));
}

.toast {
  position: fixed;
  left: 50%;
  bottom: 22px;
  z-index: 20;
  transform: translateX(-50%) translateY(20px);
  opacity: 0;
  pointer-events: none;
  max-width: min(92vw, 430px);
  padding: 12px 14px;
  border-radius: var(--radius);
  background: var(--green-950);
  color: #fff;
  box-shadow: var(--shadow);
  font-size: 13px;
  transition: 180ms ease;
}
.toast.show { opacity: 1; transform: translateX(-50%) translateY(0); }
@keyframes pulse {
  0% { transform: translate(-50%, -50%) scale(.7); opacity: .5; }
  70% { transform: translate(-50%, -50%) scale(1.45); opacity: 0; }
  100% { opacity: 0; }
}

@media (max-width: 1250px) {
  .user-grid { grid-template-columns: 1fr; grid-template-areas: "list" "map" "detail"; }
  .user-grid-polished > .panel { min-height: auto; }
  .user-grid-polished .detail-panel { max-height: none; overflow: visible; }
  .opportunity-list { max-height: none; }
  .real-map-shell { min-height: 520px; }
  .detail-panel { position: static; }
  .admin-grid { grid-template-columns: 1fr; }
}
@media (max-width: 1000px) {
  .app-shell, .entry, .login-shell { grid-template-columns: 1fr; }
  .sidebar { position: static; height: auto; }
  .nav-list { grid-template-columns: repeat(3, minmax(130px, 1fr)); overflow-x: auto; }
  .sidebar-card { display: none; }
  .user-dashboard .command-bar,
  .command-bar { grid-template-columns: 1fr; }
  .filters { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .kpi-strip, .process-strip { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .user-intel-strip { grid-template-columns: 1fr; }
  .table-row { min-width: 720px; }
}
@media (max-width: 640px) {
  .workspace, .portal-body { padding: 14px; }
  .topbar { flex-direction: column; }
  .filters, .kpi-strip, .process-strip, .admin-form, .coord-card, .detail-grid, .detail-actions, .return-card { grid-template-columns: 1fr; }
  .user-dashboard h1 { font-size: 32px; }
  .user-dashboard .search-field input { font-size: 15px; }
  .user-kpis article { min-height: auto; }
  .opportunity-metrics { grid-template-columns: 1fr; }
  .real-map-shell { min-height: 420px; }
  .source-form { grid-template-columns: 1fr; }
  .span-2, .detail-actions .primary-action { grid-column: auto; }
  .geo-map { min-height: 380px; }
  .brazil-map { left: -8%; width: 92%; }
}

body.lymos-pro-user {
  min-width: 1180px;
  overflow-x: auto;
  background: #f4f6f4;
  color: #101817;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-size: 14px;
  font-weight: 500;
  -webkit-font-smoothing: antialiased;
  text-rendering: geometricPrecision;
}
.lymos-pro-user button,
.lymos-pro-user input,
.lymos-pro-user select {
  font: inherit;
}
.bid-shell {
  min-height: 100vh;
  display: grid;
  grid-template-columns: 224px minmax(0, 1fr);
}
.bid-sidebar {
  position: sticky;
  top: 0;
  height: 100vh;
  display: flex;
  flex-direction: column;
  gap: 18px;
  padding: 22px 14px 18px;
  background:
    radial-gradient(circle at 88% 6%, rgba(0, 188, 132, 0.2), transparent 30%),
    linear-gradient(180deg, #07372f 0%, #031b18 100%);
  color: #fff;
  box-shadow: inset -1px 0 0 rgba(255, 255, 255, 0.08);
}
.bid-logo {
  display: grid;
  gap: 2px;
  color: #fff;
  text-decoration: none;
  font-weight: 950;
  letter-spacing: 0;
}
.bid-logo span {
  font-size: 25px;
  line-height: 1;
}
.bid-logo b { color: #00c482; }
.bid-logo small {
  color: rgba(255,255,255,.66);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: 1.7px;
  text-transform: uppercase;
}
.bid-nav {
  display: grid;
  gap: 5px;
}
.bid-nav a,
.side-bottom button {
  min-height: 44px;
  display: flex;
  align-items: center;
  gap: 14px;
  border: 0;
  border-radius: 6px;
  padding: 0 13px;
  background: transparent;
  color: rgba(255,255,255,.9);
  text-decoration: none;
  font-size: 14px;
  font-weight: 800;
  text-align: left;
}
.bid-nav a.active {
  background: linear-gradient(90deg, #0aa66f, #02875f);
  box-shadow: 0 15px 32px rgba(0, 152, 99, 0.32);
}
.nav-ico {
  width: 21px;
  height: 21px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.55);
  border-radius: 4px;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0;
}
.bid-nav b {
  margin-left: auto;
  min-width: 26px;
  min-height: 22px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #f6a313;
  color: #fff;
  font-size: 11px;
}
.saved-filters {
  margin-top: auto;
  padding-top: 13px;
  border-top: 1px solid rgba(255,255,255,.15);
}
.saved-filters h3 {
  margin: 0 0 10px;
  color: rgba(255,255,255,.76);
  font-size: 13px;
}
.saved-filters button {
  width: 100%;
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  border: 0;
  background: transparent;
  color: rgba(255,255,255,.86);
  font-size: 13px;
  text-align: left;
}
.saved-filters span {
  min-width: 24px;
  padding: 3px 6px;
  border-radius: 999px;
  background: rgba(255,255,255,.17);
  text-align: center;
}
.bid-tip {
  padding: 15px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 7px;
  background: rgba(255,255,255,.05);
}
.bid-tip strong {
  display: block;
  font-size: 13px;
}
.bid-tip p {
  margin: 9px 0 13px;
  color: rgba(255,255,255,.74);
  font-size: 12px;
  line-height: 1.45;
}
.bid-tip button {
  min-height: 40px;
  border: 0;
  border-radius: 5px;
  padding: 0 18px;
  background: #059b6a;
  color: #fff;
  font-weight: 900;
}
.side-bottom {
  display: grid;
  gap: 6px;
}
.side-bottom button {
  width: 100%;
  min-height: 40px;
  padding: 0 2px;
  font-size: 13px;
}
.bid-main {
  min-width: 0;
  padding: 0 18px 22px;
}
.bid-topbar {
  height: 76px;
  display: grid;
  grid-template-columns: 254px minmax(360px, 640px) 1fr;
  align-items: center;
  gap: 24px;
  margin: 0 -18px 14px;
  padding: 0 28px;
  background: linear-gradient(90deg, #071f1c, #042a25 58%, #06211f);
  box-shadow: 0 12px 30px rgba(7, 31, 28, 0.18);
}
.area-toggle {
  width: 218px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  padding: 3px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 7px;
  background: rgba(255,255,255,.04);
}
.area-toggle a {
  min-height: 42px;
  display: grid;
  place-items: center;
  border-radius: 5px;
  color: #fff;
  text-decoration: none;
  font-size: 13px;
  font-weight: 950;
}
.area-toggle a.active {
  background: linear-gradient(90deg, #0aa66f, #028b62);
}
.global-search {
  height: 48px;
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 0 12px 0 16px;
  border-radius: 6px;
  background: #fff;
  box-shadow: 0 13px 34px rgba(0,0,0,.22);
}
.global-search input {
  width: 100%;
  border: 0;
  outline: 0;
  color: #111817;
  font-size: 14px;
}
.global-search kbd {
  min-width: 40px;
  min-height: 28px;
  display: grid;
  place-items: center;
  border-radius: 5px;
  background: #f2f3f1;
  color: #707773;
  font-size: 12px;
}
.user-actions {
  justify-self: end;
  display: flex;
  align-items: center;
  gap: 16px;
  color: #fff;
}
.bell,
.help {
  position: relative;
  width: 35px;
  height: 35px;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: #fff;
  font-size: 18px;
}
.bell span {
  position: absolute;
  right: -2px;
  top: -3px;
  min-width: 20px;
  min-height: 20px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: #0eb77b;
  font-size: 10px;
  font-weight: 950;
}
.help {
  border: 1px solid rgba(255,255,255,.28);
  font-weight: 900;
}
.user-mini {
  display: grid;
  grid-template-columns: 42px auto;
  column-gap: 12px;
  align-items: center;
  padding-left: 18px;
  border-left: 1px solid rgba(255,255,255,.16);
}
.user-mini span {
  grid-row: 1 / span 2;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #0a865d;
  font-weight: 950;
}
.user-mini strong {
  font-size: 14px;
}
.user-mini small {
  color: rgba(255,255,255,.68);
  font-size: 12px;
}
.pro-filters {
  display: grid;
  grid-template-columns: repeat(7, minmax(118px, 1fr)) 140px 84px;
  gap: 12px;
  align-items: end;
  margin-bottom: 16px;
}
.pro-filters label {
  position: relative;
  display: grid;
  color: #3f4845;
  font-size: 12px;
  font-weight: 700;
}
.pro-filters select {
  height: 52px;
  margin-top: -2px;
  border: 1px solid #d8ddda;
  border-radius: 6px;
  background: #fff;
  color: #141b19;
  padding: 15px 12px 0;
  font-size: 14px;
  font-weight: 700;
}
.more-filters,
.clear-filters {
  height: 52px;
  border-radius: 6px;
  font-size: 13px;
  font-weight: 900;
}
.more-filters {
  position: relative;
  border: 1px solid #d8ddda;
  background: #fff;
  color: #121a18;
}
.more-filters span {
  position: absolute;
  right: -7px;
  top: -8px;
  min-width: 22px;
  min-height: 22px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: #00986a;
  color: #fff;
  font-size: 11px;
}
.clear-filters {
  border: 0;
  background: transparent;
  color: #00895e;
}
.bid-content {
  display: grid;
  grid-template-columns: minmax(790px, 1fr) 500px;
  gap: 18px;
  align-items: start;
}
.mvp-page {
  display: none;
}
.mvp-page.active {
  display: block;
}
.mvp-heading {
  display: grid;
  gap: 6px;
  margin: 10px 0 18px;
}
.mvp-heading h1 {
  margin: 0;
  font-size: 28px;
  line-height: 1.05;
  font-weight: 850;
}
.mvp-heading p {
  max-width: 760px;
  margin: 0;
  color: #5b6662;
  font-size: 14px;
  line-height: 1.5;
}
.mvp-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}
.mvp-grid article,
.mvp-list {
  border: 1px solid #dfe3e0;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15, 24, 21, 0.06);
}
.mvp-grid article {
  min-height: 154px;
  display: grid;
  align-content: center;
  gap: 8px;
  padding: 20px;
}
.mvp-grid span {
  color: #52605b;
  font-size: 11px;
  font-weight: 850;
  text-transform: uppercase;
}
.mvp-grid strong {
  font-size: 34px;
  line-height: 1;
}
.mvp-grid small {
  color: #5b6662;
  font-size: 13px;
}
.mvp-grid button {
  justify-self: start;
  min-height: 36px;
  border: 1px solid #cfe7dc;
  border-radius: 5px;
  background: #effbf5;
  color: #047a54;
  padding: 0 14px;
  font-size: 12px;
  font-weight: 850;
}
.mvp-list {
  display: grid;
  overflow: hidden;
}
.mvp-list-row {
  min-height: 76px;
  display: grid;
  grid-template-columns: 62px minmax(0, 1fr) 48px;
  gap: 14px;
  align-items: center;
  border: 0;
  border-bottom: 1px solid #e5e9e6;
  background: #fff;
  padding: 10px 14px;
  text-align: left;
}
.mvp-list-row:last-child {
  border-bottom: 0;
}
.mvp-list-row span {
  width: 52px;
  height: 52px;
  display: block;
  border-radius: 6px;
  background: #eaf2ef;
  overflow: hidden;
}
.mvp-list-row img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.mvp-list-row strong {
  overflow: hidden;
  font-size: 14px;
  line-height: 1.25;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.mvp-list-row small {
  display: block;
  margin-top: 5px;
  color: #64706b;
  font-size: 12px;
  font-weight: 600;
}
.mvp-list-row em {
  width: 38px;
  height: 38px;
  display: grid;
  place-items: center;
  border: 2px solid #0b9b69;
  border-radius: 50%;
  font-style: normal;
  font-weight: 850;
}
.mvp-list-row.static {
  border: 0;
  border-bottom: 1px solid #e5e9e6;
}
.empty-state {
  margin: 0;
  padding: 22px;
  color: #5f6a66;
}
.alert-list {
  margin-top: 14px;
}
.alert-row {
  min-height: 72px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 120px 110px;
  gap: 14px;
  align-items: center;
  border-bottom: 1px solid #e5e9e6;
  padding: 12px 16px;
}
.alert-row:last-child {
  border-bottom: 0;
}
.alert-row strong,
.alert-row small {
  display: block;
}
.alert-row strong {
  overflow: hidden;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.alert-row small {
  margin-top: 5px;
  color: #66716c;
  font-size: 12px;
  font-weight: 600;
}
.alert-row span {
  color: #007d56;
  font-size: 13px;
  font-weight: 850;
}
.alert-row button {
  min-height: 36px;
  border: 1px solid #ecd2d2;
  border-radius: 5px;
  background: #fff6f6;
  color: #b82424;
  font-size: 12px;
  font-weight: 850;
}
body[data-view="dashboard"] .opps-board {
  display: none;
}
body[data-view="dashboard"] .risk-card,
body[data-view="dashboard"] .calc-card,
body[data-view="dashboard"] .side-lists {
  display: none;
}
body[data-view="mapa"] .pro-kpis,
body[data-view="mapa"] .opps-board {
  display: none;
}
body[data-view="mapa"] .bid-content {
  grid-template-columns: minmax(760px, 1fr) 430px;
}
body[data-view="mapa"] .map-stage {
  height: 620px;
}
body[data-view="oportunidades"] .pro-kpis,
body[data-view="oportunidades"] .map-board {
  display: none;
}
body[data-view="oportunidades"] .bid-content {
  grid-template-columns: minmax(0, 1fr);
}
body[data-view="oportunidades"] .bid-right {
  display: none;
}
body[data-view="due-diligence"] .bid-left {
  display: none;
}
body[data-view="due-diligence"] .bid-content {
  grid-template-columns: minmax(0, 980px);
}
body[data-view="due-diligence"] .bid-right {
  position: static;
  max-width: 980px;
}
body[data-view="due-diligence"] .pro-filters,
body[data-view="due-diligence"] .mvp-page[data-page="due-diligence"] {
  display: none;
}
body[data-view="alertas"] .bid-content,
body[data-view="watchlist"] .bid-content,
body[data-view="relatorios"] .bid-content,
body[data-view="leiloeiros"] .bid-content,
body[data-view="editais"] .bid-content,
body[data-view="noticias"] .bid-content {
  display: none;
}
body[data-view="alertas"] .pro-filters,
body[data-view="watchlist"] .pro-filters,
body[data-view="relatorios"] .pro-filters,
body[data-view="leiloeiros"] .pro-filters,
body[data-view="editais"] .pro-filters,
body[data-view="noticias"] .pro-filters {
  display: none;
}
.bid-left,
.bid-right {
  min-width: 0;
}
.pro-kpis {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 1px solid #dfe3e0;
  border-radius: 7px;
  overflow: hidden;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15, 24, 21, 0.06);
}
.kpi-card {
  position: relative;
  min-height: 126px;
  display: grid;
  grid-template-columns: 52px 1fr;
  gap: 14px;
  align-items: center;
  padding: 22px 18px 18px;
  border-right: 1px solid #e1e5e2;
}
.kpi-card:last-child { border-right: 0; }
.kpi-card i {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  color: #fff;
  font-style: normal;
  font-size: 22px;
  font-weight: 950;
}
.kpi-card.green i { background: linear-gradient(145deg, #09a66e, #04754f); }
.kpi-card.amber i { background: linear-gradient(145deg, #f7b735, #ea8b00); }
.kpi-card.blue i { background: linear-gradient(145deg, #3d78d8, #2458ad); }
.kpi-card span {
  display: block;
  color: #36433f;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}
.kpi-card strong {
  display: block;
  margin-top: 5px;
  font-size: 25px;
  line-height: 1;
  white-space: nowrap;
}
.kpi-card small {
  display: block;
  margin-top: 7px;
  color: #079a68;
  font-size: 12px;
  font-weight: 850;
}
.kpi-card svg {
  position: absolute;
  right: 12px;
  bottom: 9px;
  width: 108px;
  height: 34px;
  fill: none;
  opacity: .85;
}
.kpi-card svg path {
  stroke: #079a68;
  stroke-width: 2;
}
.kpi-card.amber svg path { stroke: #eda11d; }
.kpi-card.blue svg path { stroke: #e74d4b; }
.map-board,
.opps-board,
.selected-card,
.risk-card,
.calc-card,
.side-lists section {
  border: 1px solid #dfe3e0;
  border-radius: 7px;
  background: #fff;
  box-shadow: 0 10px 28px rgba(15, 24, 21, 0.06);
}
.map-board {
  margin-top: 14px;
  overflow: hidden;
}
.board-heading {
  height: 45px;
  display: flex;
  align-items: center;
  gap: 22px;
  padding: 0 16px;
  border-bottom: 1px solid #e4e8e5;
}
.board-heading h2,
.selected-card h2,
.risk-card h2,
.calc-card h2,
.side-lists h2 {
  margin: 0;
  font-size: 16px;
  letter-spacing: 0;
}
.map-key {
  display: flex;
  align-items: center;
  gap: 8px;
  color: #4d5753;
  font-size: 12px;
}
.dot {
  width: 10px;
  height: 10px;
  display: inline-block;
  border-radius: 50%;
}
.dot.high { background: #099a68; }
.dot.medium { background: #f3a51b; }
.dot.low { background: #e44444; }
.map-stage {
  position: relative;
  height: 440px;
  overflow: hidden;
  background: #d5e8ef;
}
.map-stage .real-map {
  position: absolute;
  inset: 0;
  z-index: 1;
}
.map-stage .leaflet-container {
  background: #d5e8ef;
}
.map-layer,
.list-view {
  position: absolute;
  z-index: 4;
  border: 1px solid #d4dbd8;
  background: #fff;
  color: #151c1a;
  box-shadow: 0 12px 22px rgba(15, 24, 21, 0.14);
}
.map-layer {
  left: 20px;
  width: 42px;
  height: 42px;
  font-size: 25px;
  font-weight: 400;
}
.zoom-in { top: 46px; border-radius: 5px 5px 0 0; }
.zoom-out { top: 88px; border-radius: 0 0 5px 5px; }
.layers {
  top: 144px;
  border-radius: 5px;
  font-size: 18px;
}
.list-view {
  right: 18px;
  bottom: 16px;
  min-height: 44px;
  border-radius: 5px;
  padding: 0 18px;
  font-size: 13px;
  font-weight: 900;
}
.pro-marker {
  position: relative;
  width: 24px;
  height: 24px;
  border: 2px solid #fff;
  border-radius: 10px 10px 10px 3px;
  background: linear-gradient(145deg, #12b77a, #067d5a);
  box-shadow: 0 8px 18px rgba(15, 24, 21, .24), inset 0 1px 0 rgba(255,255,255,.28);
  transform: rotate(-45deg);
}
.pro-marker::after {
  content: "";
  position: absolute;
  inset: -5px;
  border-radius: 13px 13px 13px 4px;
  border: 1px solid rgba(10, 157, 103, .22);
  opacity: .9;
}
.pro-marker span {
  width: 8px;
  height: 8px;
  display: block;
  margin: 6px auto 0;
  border-radius: 50%;
  background: #fff;
  box-shadow: inset 0 0 0 3px rgba(8, 133, 94, .14);
}
.pro-marker i {
  position: absolute;
  left: 50%;
  top: 50%;
  width: 4px;
  height: 4px;
  border-radius: 50%;
  background: rgba(255,255,255,.7);
  transform: translate(-50%, -50%) rotate(45deg);
}
.pro-marker.good { background: linear-gradient(145deg, #13b77b, #087e5a); }
.pro-marker.warn { background: linear-gradient(145deg, #f7b733, #d88606); }
.pro-marker.danger { background: linear-gradient(145deg, #f45b5a, #c93232); }
.region-cluster {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  align-content: center;
  border: 3px solid #fff;
  border-radius: 50%;
  color: #fff;
  box-shadow:
    0 0 0 6px rgba(8, 133, 111, .13),
    0 0 0 12px rgba(8, 133, 111, .07),
    0 10px 24px rgba(15, 24, 21, .2);
}
.region-cluster strong {
  display: block;
  font-size: 14px;
  line-height: 1;
}
.region-cluster span {
  display: block;
  margin-top: 2px;
  font-size: 7px;
  font-weight: 850;
  letter-spacing: .3px;
  line-height: 1;
  text-transform: uppercase;
}
.region-cluster.good { background: #0a9d67; }
.region-cluster.warn {
  background: #f2a51d;
  box-shadow:
    0 0 0 8px rgba(242, 165, 29, .16),
    0 0 0 12px rgba(242, 165, 29, .08),
    0 10px 24px rgba(15, 24, 21, .2);
}
.region-cluster.danger {
  background: #e04645;
  box-shadow:
    0 0 0 6px rgba(224, 70, 69, .16),
    0 0 0 12px rgba(224, 70, 69, .08),
    0 10px 24px rgba(15, 24, 21, .2);
}
.leaflet-popup-content-wrapper {
  border-radius: 6px;
  box-shadow: 0 16px 40px rgba(15, 24, 21, .18);
}
.popup-link {
  margin-top: 9px;
  border: 0;
  background: transparent;
  color: #00885e;
  font-size: 12px;
  font-weight: 900;
}
.opps-board {
  margin-top: 14px;
  overflow: hidden;
}
.table-tools-line {
  justify-content: space-between;
}
.table-tools-line label {
  margin-left: auto;
  color: #5c6662;
  font-size: 12px;
}
.table-tools-line select {
  height: 36px;
  margin-left: 8px;
  border: 1px solid #d8ddda;
  border-radius: 5px;
  background: #fff;
  padding: 0 34px 0 12px;
  font-size: 12px;
  font-weight: 850;
}
.list-icon {
  width: 42px;
  height: 36px;
  border: 1px solid #d8ddda;
  border-radius: 5px;
  background: #fff;
  color: #4b5753;
  font-size: 11px;
  font-weight: 850;
}
.opportunity-table {
  overflow-x: auto;
}
.opportunity-head,
.pro-row {
  min-width: 1120px;
  display: grid;
  grid-template-columns: 28px 32px minmax(220px, 1.35fr) 110px 120px 112px 116px 62px 104px 94px 58px 76px 28px;
  gap: 12px;
  align-items: center;
}
.opportunity-head {
  min-height: 38px;
  padding: 0 12px;
  border-bottom: 1px solid #e3e7e4;
  color: #56615d;
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}
.pro-row {
  width: 100%;
  min-height: 66px;
  border: 0;
  border-bottom: 1px solid #e6e9e7;
  background: #fff;
  padding: 0 12px;
  color: #111817;
  text-align: left;
  font-size: 12px;
}
.pro-row > span,
.opportunity-head > span {
  min-width: 0;
}
.pro-row > span:nth-child(4),
.pro-row > span:nth-child(5),
.pro-row > span:nth-child(6),
.pro-row > span:nth-child(7),
.pro-row > span:nth-child(8),
.pro-row > span:nth-child(9),
.pro-row > span:nth-child(10),
.pro-row > span:nth-child(11),
.pro-row > span:nth-child(12),
.opportunity-head > span:nth-child(n+4) {
  text-align: left;
}
.pro-row.active {
  background: #f3fbf6;
  box-shadow: inset 3px 0 0 #009966;
}
.pro-row .star {
  color: #f3ad13;
  font-size: 18px;
}
.prop-name strong,
.prop-name small,
.pro-row small {
  display: block;
}
.prop-name strong {
  overflow: hidden;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.clip-cell {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.clip-cell small {
  overflow: hidden;
  text-overflow: ellipsis;
}
.prop-name small,
.pro-row small {
  margin-top: 3px;
  color: #5d6763;
  font-size: 10px;
}
.green-text { color: #00895e; font-weight: 900; }
.danger-text { color: #ee3737; font-weight: 900; }
.score-badge {
  width: 35px;
  height: 35px;
  display: grid;
  place-items: center;
  border: 2px solid #0b9b69;
  border-radius: 50%;
  background: #fff;
  color: #101817;
}
.risk-pill {
  display: inline-grid;
  place-items: center;
  min-height: 26px;
  border-radius: 5px;
  padding: 0 9px;
  font-style: normal;
  font-size: 11px;
  font-weight: 900;
}
.risk-pill.low { background: #e1f7ee; color: #007b56; }
.risk-pill.medium { background: #fff0cf; color: #c27300; }
.risk-pill.high { background: #ffe2e2; color: #d82727; }
.dots {
  color: #5f6864;
  font-size: 22px;
}
.table-footer {
  min-height: 72px;
  display: grid;
  grid-template-columns: 220px 1fr 130px;
  align-items: center;
  padding: 0 18px;
  color: #424d49;
  font-size: 12px;
}
.table-footer select {
  height: 38px;
  margin-left: 8px;
  border: 1px solid #d8ddda;
  border-radius: 5px;
  background: #fff;
  padding: 0 16px;
}
.pager {
  justify-self: center;
  display: flex;
  align-items: center;
  gap: 4px;
}
.pager button {
  min-width: 34px;
  height: 34px;
  border: 0;
  border-radius: 5px;
  background: transparent;
  color: #3f4a46;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 700;
}
.pager button:first-child,
.pager button:last-child {
  min-width: 74px;
}
.pager button.active {
  background: #e9f7ef;
  color: #007c55;
}
.bid-right {
  position: sticky;
  top: 92px;
  display: grid;
  gap: 12px;
}
.selected-card,
.risk-card,
.calc-card,
.side-lists section {
  padding: 16px;
}
.selected-card header,
.risk-card header,
.side-lists header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 12px;
}
.selected-card header button,
.risk-card header button,
.side-lists header button {
  border: 0;
  background: transparent;
  color: #007d56;
  font-size: 12px;
  font-weight: 850;
}
.selected-card header button {
  color: #5f6864;
  font-size: 20px;
}
.media-hero {
  min-height: 174px;
  display: flex;
  align-items: flex-end;
  margin-bottom: 10px;
  border-radius: 8px;
  background:
    linear-gradient(180deg, rgba(17, 29, 26, 0), rgba(17, 29, 26, .48)),
    linear-gradient(135deg, #c8d8d4, #8ab6aa);
  background-size: cover;
  background-position: center;
  overflow: hidden;
}
.media-status {
  width: 100%;
  display: flex;
  flex-wrap: wrap;
  gap: 7px;
  padding: 12px;
}
.media-status span {
  min-height: 26px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  background: rgba(11, 26, 22, .58);
  color: #fff;
  padding: 0 10px;
  font-size: 11px;
  font-weight: 900;
  backdrop-filter: blur(8px);
}
.thumb-strip {
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 8px;
  margin: 0 0 12px;
}
.thumb-strip span {
  height: 52px;
  border-radius: 6px;
  background-size: cover;
  background-position: center;
  box-shadow: inset 0 0 0 1px rgba(16, 31, 27, .12);
}
.selected-main {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr) 78px;
  gap: 14px;
  align-items: center;
  padding-bottom: 16px;
  border-bottom: 1px solid #e2e6e3;
}
.real-photo {
  height: 104px;
  border-radius: 6px;
  background:
    linear-gradient(180deg, rgba(18, 38, 35, 0), rgba(18, 38, 35, .2)),
    linear-gradient(135deg, #c8d8d4 0 18%, #eef1ef 18% 38%, #9eb7b0 38% 56%, #d7dedb 56% 100%);
  position: relative;
  overflow: hidden;
  background-size: cover;
  background-position: center;
}
.real-photo.has-photo {
  background-size: cover;
  background-position: center;
}
.real-photo.has-photo::before {
  display: none;
}
.real-photo::before {
  content: "";
  position: absolute;
  left: 38px;
  top: 15px;
  width: 46px;
  height: 74px;
  background:
    repeating-linear-gradient(0deg, rgba(255,255,255,.8) 0 7px, rgba(48,76,70,.25) 7px 10px),
    #dfe8e5;
  box-shadow: -28px 18px 0 -8px rgba(255,255,255,.82), 28px 18px 0 -8px rgba(255,255,255,.82);
}
.selected-title h3 {
  margin: 0;
  font-size: 18px;
  line-height: 1.15;
  overflow-wrap: anywhere;
}
.selected-title p {
  margin: 7px 0 9px;
  color: #5a6661;
  font-size: 13px;
  line-height: 1.35;
}
.tags {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.tags span {
  min-height: 25px;
  display: inline-grid;
  place-items: center;
  border-radius: 5px;
  padding: 0 9px;
  background: #e7f7ef;
  color: #007852;
  font-size: 11px;
  font-weight: 850;
}
.tags span:nth-child(2) {
  background: #f1f2f0;
  color: #3d4743;
}
.tags .danger {
  background: #ffe3e3;
  color: #df2020;
}
.score-ring {
  width: 78px;
  height: 78px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: conic-gradient(var(--score-color, #099866) calc(var(--score, 75) * 1%), #d7eadf 0);
  position: relative;
}
.score-ring::before {
  content: "";
  position: absolute;
  inset: 7px;
  border-radius: 50%;
  background: #fff;
}
.score-ring strong,
.score-ring span,
.score-ring small {
  position: relative;
  z-index: 1;
  display: block;
  line-height: 1;
}
.score-ring strong { font-size: 27px; }
.score-ring span { color: #55605c; font-size: 9px; font-weight: 950; text-transform: uppercase; }
.score-ring small { color: var(--score-color, #008b5f); font-size: 10px; font-weight: 900; }
.fact-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
.fact-grid div {
  min-height: 72px;
  padding: 13px 12px;
  border-right: 1px solid #e2e6e3;
  border-bottom: 1px solid #e2e6e3;
}
.fact-grid div:nth-child(3n) { border-right: 0; }
.fact-grid div:nth-last-child(-n+3) { border-bottom: 0; }
.document-panel {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #e2e6e3;
}
.document-panel header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-bottom: 10px;
}
.document-panel header span {
  color: #007d56;
  font-size: 11px;
  font-weight: 900;
}
.doc-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
}
.doc-grid p {
  grid-column: 1 / -1;
  margin: 0;
  color: #5d6763;
  font-size: 12px;
}
.doc-pill {
  min-height: 58px;
  display: grid;
  align-content: center;
  gap: 4px;
  border: 1px solid #dce4df;
  border-radius: 7px;
  background: #fbfdfb;
  padding: 10px 12px;
  color: #111817;
  text-decoration: none;
}
.doc-pill strong {
  font-size: 13px;
}
.doc-pill span {
  color: #61706a;
  font-size: 11px;
  font-weight: 800;
}
.doc-pill.edital {
  border-color: #bfe7d4;
  background: #f1fbf6;
}
.doc-pill.matricula {
  border-color: #f0d8a4;
  background: #fff9ea;
}
.fact-grid span,
.calc-card label,
.calc-results span,
.risk-grid small {
  display: block;
  color: #53605b;
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}
.fact-grid strong {
  overflow-wrap: anywhere;
  display: block;
  margin-top: 7px;
  font-size: 14px;
  line-height: 1.25;
}
.fact-grid strong small {
  display: block;
  margin-top: 4px;
  color: #53605b;
  font-size: 11px;
  font-weight: 700;
  text-transform: none;
}
.risk-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
}
.risk-grid div {
  display: grid;
  gap: 5px;
  padding: 0 12px;
  border-right: 1px solid #e2e6e3;
}
.risk-grid div:last-child { border-right: 0; }
.risk-grid strong {
  color: #202925;
  font-size: 13px;
}
.risk-grid strong::before {
  content: "";
  width: 9px;
  height: 9px;
  display: inline-block;
  margin-right: 7px;
  border-radius: 50%;
  background: #f6af1a;
}
.risk-grid div:nth-child(n+3) strong::before { background: #079a68; }
.calc-card h2 {
  margin-bottom: 14px;
}
.calc-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
}
.calc-card input {
  width: 100%;
  height: 38px;
  margin-top: 6px;
  border: 1px solid #dbe0dd;
  border-radius: 5px;
  background: #fff;
  padding: 0 10px;
  color: #202925;
  font-weight: 750;
}
.calc-results {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 12px;
  margin-top: 15px;
}
.calc-results strong {
  display: block;
  margin-top: 7px;
  font-size: 15px;
}
.calc-results div:nth-child(n+3) strong {
  color: #008a5f;
  font-size: 19px;
}
.calc-card > small {
  display: block;
  margin-top: 12px;
  color: #68736e;
  font-size: 11px;
}
.side-lists {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.side-lists p {
  position: relative;
  display: grid;
  gap: 2px;
  margin: 0;
  padding: 8px 28px 8px 0;
}
.side-lists strong {
  font-size: 13px;
}
.side-lists small {
  color: #5f6965;
  font-size: 11px;
}
.side-lists span {
  position: absolute;
  right: 0;
  top: 12px;
  color: #f5b316;
}
.side-lists em {
  position: absolute;
  right: 0;
  top: 10px;
  border-radius: 5px;
  background: #e3f7ee;
  color: #007c55;
  padding: 5px 8px;
  font-style: normal;
  font-size: 10px;
  font-weight: 900;
}
.decision-actions {
  display: grid;
  grid-template-columns: 1fr 1fr 1.2fr;
  gap: 12px;
}
.decision-actions button {
  min-height: 54px;
  border: 1px solid #cfd6d2;
  border-radius: 6px;
  background: #fff;
  color: #131b19;
  font-weight: 950;
}
.decision-actions button:last-child {
  border-color: #008a5f;
  background: linear-gradient(90deg, #009b6a, #007e58);
  color: #fff;
  box-shadow: 0 14px 28px rgba(0, 135, 94, .25);
}

.decision-actions:not(.in-card) {
  display: none !important;
}

.selected-card .decision-actions.in-card {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #e2e6e3;
}

@media (max-width: 1540px) {
  body.lymos-pro-user { min-width: 1120px; }
  .bid-shell { grid-template-columns: 220px minmax(0, 1fr); }
  .bid-content { grid-template-columns: minmax(680px, 1fr) 500px; }
  .fact-grid { grid-template-columns: repeat(2, 1fr); }
  .fact-grid div:nth-child(3n) { border-right: 1px solid #e2e6e3; }
  .fact-grid div:nth-child(2n) { border-right: 0; }
  .selected-main { grid-template-columns: 104px 1fr 82px; }
  .calc-grid,
  .calc-results,
  .risk-grid { grid-template-columns: repeat(2, 1fr); }
}

/* LYMOS BID premium frontend pass */
body.lymos-pro-user {
  background: linear-gradient(180deg, #f7f9f7 0%, #eef3f0 100%);
  color: #101615;
  font-weight: 500;
}
.bid-shell { grid-template-columns: 216px minmax(0, 1fr); }
.bid-sidebar {
  gap: 16px;
  padding: 24px 14px 18px;
  background: radial-gradient(circle at 100% 0%, rgba(0, 190, 133, .18), transparent 26%), linear-gradient(180deg, #083f35 0%, #062b25 46%, #031714 100%);
  box-shadow: inset -1px 0 0 rgba(255,255,255,.08), 18px 0 48px rgba(10, 31, 27, .07);
}
.bid-logo { padding: 0 2px 10px; }
.bid-logo span { font-size: 24px; }
.bid-nav { gap: 4px; }
.bid-nav a,
.side-bottom button {
  min-height: 42px;
  border-radius: 9px;
  color: rgba(255,255,255,.82);
  font-size: 13px;
  font-weight: 760;
}
.bid-nav a.active {
  background: rgba(16, 180, 121, .95);
  color: #fff;
  box-shadow: 0 14px 30px rgba(3, 142, 92, .24);
}
.nav-ico {
  border-color: rgba(255,255,255,.28);
  background: rgba(255,255,255,.06);
  color: rgba(255,255,255,.9);
}
.saved-filters { margin-top: auto; padding-top: 14px; }
.saved-filters h3 { font-size: 11px; letter-spacing: .3px; text-transform: uppercase; }
.saved-filters button { min-height: 32px; border-radius: 7px; padding: 0 6px; font-size: 12px; }
.saved-filters button:hover { background: rgba(255,255,255,.06); }
.bid-tip { border-color: rgba(255,255,255,.12); border-radius: 10px; background: rgba(255,255,255,.055); }
.bid-tip button { width: 100%; border-radius: 8px; background: linear-gradient(135deg, #09a66f, #007b58); }
.bid-main { padding: 0 24px 28px; }
.bid-topbar {
  height: 72px;
  grid-template-columns: 220px minmax(420px, 680px) 1fr;
  gap: 22px;
  margin: 0 -24px 18px;
  padding: 0 32px;
  background: linear-gradient(90deg, #062621, #03211d 64%, #061b19);
}
.area-toggle { width: 216px; border-radius: 11px; }
.area-toggle a { min-height: 42px; border-radius: 8px; }
.global-search {
  height: 46px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 10px;
  box-shadow: 0 18px 44px rgba(0,0,0,.2);
}
.global-search span { color: #007c58; font-size: 11px; font-weight: 900; }
.global-search input { font-size: 13px; }
.pro-filters {
  grid-template-columns: repeat(7, minmax(104px, 1fr)) 132px 72px;
  gap: 10px;
  align-items: end;
  margin-bottom: 14px;
  padding: 10px;
  border: 1px solid #dfe7e2;
  border-radius: 14px;
  background: rgba(255,255,255,.78);
  box-shadow: 0 16px 38px rgba(18, 36, 31, .05);
}
.pro-filters label { color: #61706a; font-size: 10px; font-weight: 850; text-transform: uppercase; }
.pro-filters select {
  height: 44px;
  border-color: #d9e2dd;
  border-radius: 10px;
  padding: 13px 10px 0;
  font-size: 13px;
}
.more-filters,
.clear-filters { height: 44px; border-radius: 10px; }
.bid-content { grid-template-columns: minmax(780px, 1fr) 420px; gap: 18px; }
.pro-kpis {
  gap: 12px;
  border: 0;
  overflow: visible;
  background: transparent;
  box-shadow: none;
}
.kpi-card {
  min-height: 104px;
  grid-template-columns: 44px 1fr;
  gap: 13px;
  border: 1px solid #dfe7e2;
  border-radius: 14px;
  background: linear-gradient(180deg, rgba(255,255,255,.94), rgba(255,255,255,.78));
  padding: 16px;
  box-shadow: 0 16px 38px rgba(17, 36, 31, .06);
}
.kpi-card:last-child { border-right: 1px solid #dfe7e2; }
.kpi-card i { width: 42px; height: 42px; font-size: 15px; border-radius: 12px; }
.kpi-card span { color: #65716d; font-size: 10px; letter-spacing: .2px; }
.kpi-card strong { font-size: 25px; }
.kpi-card small { max-width: 128px; color: #087d59; font-size: 11px; line-height: 1.25; }
.kpi-card svg { right: 14px; bottom: 10px; width: 88px; opacity: .62; }
.map-board,
.opps-board,
.selected-card,
.risk-card,
.calc-card,
.side-lists section,
.mvp-grid article,
.mvp-list {
  border-color: #dfe7e2;
  border-radius: 16px;
  background: rgba(255,255,255,.9);
  box-shadow: 0 18px 44px rgba(17, 36, 31, .07);
}
.map-board { margin-top: 14px; }
.board-heading { height: 54px; padding: 0 18px; background: rgba(255,255,255,.78); }
.board-heading h2,
.selected-card h2,
.risk-card h2,
.calc-card h2,
.side-lists h2 { font-size: 17px; font-weight: 850; }
.map-key { margin-left: auto; gap: 9px; color: #66716d; font-size: 11px; }
.map-stage { height: 545px; background: #dcecf0; }
.map-stage .leaflet-container { filter: saturate(.92) contrast(.96); }
.map-layer {
  left: 18px;
  width: 36px;
  height: 36px;
  border-color: #dce5e0;
  border-radius: 10px;
  color: #283632;
  font-size: 16px;
  font-weight: 850;
  box-shadow: 0 10px 24px rgba(17, 36, 31, .12);
}
.zoom-in { top: 18px; border-radius: 10px 10px 0 0; }
.zoom-out { top: 54px; border-radius: 0 0 10px 10px; }
.layers { top: 104px; font-size: 10px; letter-spacing: .2px; }
.list-view {
  right: 18px;
  bottom: 16px;
  min-height: 40px;
  border: 0;
  border-radius: 10px;
  background: #062f28;
  color: #fff;
  box-shadow: 0 14px 30px rgba(6, 47, 40, .2);
}
.pro-marker {
  width: 18px;
  height: 18px;
  border: 2px solid #fff;
  border-radius: 50% 50% 50% 4px;
  box-shadow: 0 7px 18px rgba(17, 36, 31, .22);
}
.pro-marker::after {
  inset: -5px;
  border-radius: 50% 50% 50% 7px;
  border-color: rgba(0, 120, 88, .18);
}
.pro-marker span { width: 6px; height: 6px; margin: 4px auto 0; box-shadow: none; }
.pro-marker i { display: none; }
.region-cluster {
  width: 34px;
  height: 34px;
  border: 2px solid #fff;
  box-shadow: 0 0 0 5px rgba(8, 133, 111, .11), 0 9px 22px rgba(17, 36, 31, .2);
}
.region-cluster strong { font-size: 13px; font-weight: 900; }
.region-cluster span { display: none; }
.region-cluster.warn { box-shadow: 0 0 0 5px rgba(242, 165, 29, .12), 0 9px 22px rgba(17, 36, 31, .2); }
.region-cluster.danger { box-shadow: 0 0 0 5px rgba(224, 70, 69, .12), 0 9px 22px rgba(17, 36, 31, .2); }
.leaflet-popup-content-wrapper { border-radius: 12px; box-shadow: 0 20px 50px rgba(17, 36, 31, .18); }
.selected-card { overflow: hidden; }
.selected-card,
.risk-card,
.calc-card,
.side-lists section { padding: 14px; }
.selected-card header,
.risk-card header,
.side-lists header { margin-bottom: 10px; }
.media-hero { min-height: 158px; border-radius: 12px; }
.selected-main { grid-template-columns: 96px minmax(0, 1fr) 70px; gap: 12px; }
.real-photo { height: 90px; border-radius: 10px; }
.selected-title h3 { font-size: 17px; }
.fact-grid { grid-template-columns: repeat(2, 1fr); }
.fact-grid div { min-height: 66px; }
.fact-grid div:nth-child(3n) { border-right: 1px solid #e2e6e3; }
.fact-grid div:nth-child(2n) { border-right: 0; }
.fact-grid div:nth-last-child(-n+3) { border-bottom: 1px solid #e2e6e3; }
.fact-grid div:nth-last-child(-n+2) { border-bottom: 0; }
.score-ring { width: 70px; height: 70px; }
.score-ring strong { font-size: 24px; }
.doc-grid { grid-template-columns: 1fr; }
body[data-view="mapa"] .bid-content { grid-template-columns: minmax(760px, 1fr) 400px; }
body[data-view="mapa"] .map-stage { height: 680px; }
body[data-view="dashboard"] .map-stage { height: 560px; }
@media (max-width: 1540px) {
  .bid-shell { grid-template-columns: 216px minmax(0, 1fr); }
  .bid-content { grid-template-columns: minmax(690px, 1fr) 400px; }
  .selected-main { grid-template-columns: 92px minmax(0, 1fr) 68px; }
}

/* LYMOS BID premium refinement: map, pins and selected property density */
.app-main {
  background:
    radial-gradient(circle at 70% -10%, rgba(0, 160, 117, .08), transparent 30%),
    linear-gradient(180deg, #f7faf8 0%, #eef4f1 100%);
}

.pro-filters {
  position: sticky;
  top: 84px;
  z-index: 20;
}

.map-board {
  border: 1px solid rgba(16, 67, 55, .12);
  box-shadow: 0 24px 56px rgba(17, 36, 31, .09);
}

.map-stage {
  border-top: 1px solid #dfe8e3;
}

.map-stage .leaflet-container {
  filter: saturate(1.08) contrast(1.02) brightness(.99);
}

.leaflet-tile-pane {
  opacity: .96;
}

.pro-marker {
  transform: rotate(-45deg);
  outline: 7px solid rgba(7, 115, 88, .12);
  transition: transform .18s ease, outline-color .18s ease, box-shadow .18s ease;
}

.pro-marker span {
  transform: rotate(45deg);
  border-radius: 50%;
  background: rgba(255,255,255,.95);
}

.pro-marker::after {
  display: none;
}

.pro-marker:hover {
  transform: rotate(-45deg) scale(1.18);
  outline-color: rgba(7, 115, 88, .2);
}

.pro-marker.warn {
  outline-color: rgba(242, 165, 29, .16);
}

.pro-marker.danger {
  outline-color: rgba(224, 70, 69, .16);
}

.region-cluster {
  position: relative;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(145deg, #07a875, #057553);
  color: #fff;
}

.region-cluster::before {
  content: "";
  position: absolute;
  inset: -8px;
  border-radius: inherit;
  background: rgba(7, 168, 117, .13);
  box-shadow: 0 0 0 8px rgba(7, 168, 117, .06);
}

.region-cluster strong {
  position: relative;
  z-index: 1;
}

.region-cluster.warn {
  background: linear-gradient(145deg, #f4ae20, #d88606);
}

.region-cluster.danger {
  background: linear-gradient(145deg, #ef5b59, #c83232);
}

.selected-card {
  padding: 16px;
  max-height: calc(100vh - 96px);
  overflow: auto;
}

.selected-card header {
  align-items: center;
}

.media-hero {
  min-height: 132px;
  box-shadow: inset 0 -60px 70px rgba(0, 0, 0, .16);
}

.media-status {
  left: 10px;
  right: 10px;
  bottom: 10px;
  gap: 6px;
}

.media-status span {
  padding: 5px 9px;
  border-radius: 999px;
  background: rgba(11, 31, 27, .78);
  color: #fff;
  font-size: 10px;
  font-weight: 850;
}

.selected-main {
  grid-template-columns: minmax(0, 1fr) 74px;
  align-items: start;
  margin-top: 12px;
}

.selected-main .real-photo {
  display: none;
}

.selected-title h3 {
  max-width: 100%;
  line-height: 1.08;
}

.selected-title p {
  margin-top: 6px;
  color: #586762;
  line-height: 1.35;
}

.tags {
  flex-wrap: wrap;
  gap: 6px;
}

.tags span {
  padding: 5px 8px;
  border-radius: 7px;
  font-size: 10px;
}

.score-ring {
  align-self: start;
  flex: 0 0 auto;
  width: 74px;
  height: 74px;
  background:
    radial-gradient(circle, #fff 53%, transparent 54%),
    conic-gradient(var(--score-color, #008b5f) calc(var(--score) * 1%), #d9eee5 0);
}

.score-ring strong {
  font-size: 24px;
  line-height: 1;
}

.score-ring span {
  font-size: 8px;
  margin-top: 2px;
}

.score-ring small {
  display: none;
}

.fact-grid {
  margin-top: 14px;
  border-color: #dde6e1;
  background: #fbfcfb;
}

.fact-grid div {
  min-height: 62px;
  padding: 12px;
}

.fact-grid span {
  font-size: 9px;
  letter-spacing: .15px;
}

.fact-grid strong {
  margin-top: 7px;
  font-size: 13px;
  line-height: 1.18;
  word-break: break-word;
}

.document-panel {
  margin-top: 14px;
  padding-top: 14px;
  border-top: 1px solid #e1e8e4;
}

.doc-pill {
  border-radius: 10px;
  background: #f8fbf9;
}

@media (max-width: 1540px) {
  .bid-content { grid-template-columns: minmax(720px, 1fr) 420px; }
  .kpi-card { padding: 14px; }
  .kpi-card strong { font-size: 23px; }
  .kpi-card small { font-size: 10px; }
}

/* LYMOS BID visual correction: navigation, dashboard energy and live map markers */
.icon-sprite {
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
}

body.lymos-pro-user {
  min-width: 1260px;
  background:
    radial-gradient(circle at 14% 0%, rgba(14, 176, 124, .08), transparent 24%),
    linear-gradient(180deg, #f3f7f5 0%, #eaf1ed 100%);
}

.bid-shell {
  grid-template-columns: 252px minmax(0, 1fr);
}

.bid-sidebar {
  gap: 16px;
  padding: 26px 16px 20px;
  overflow-y: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.22) transparent;
  background:
    radial-gradient(circle at 84% 9%, rgba(16, 198, 139, .28), transparent 25%),
    linear-gradient(180deg, #064738 0%, #052d27 42%, #031613 100%);
  box-shadow: inset -1px 0 0 rgba(255,255,255,.08), 16px 0 46px rgba(6, 34, 29, .12);
}

.bid-sidebar::-webkit-scrollbar { width: 7px; }
.bid-sidebar::-webkit-scrollbar-thumb { background: rgba(255,255,255,.2); border-radius: 99px; }

.bid-logo {
  position: relative;
  padding: 4px 4px 20px 4px;
}

.bid-logo::after {
  content: "";
  position: absolute;
  left: 4px;
  right: 4px;
  bottom: 0;
  height: 1px;
  background: linear-gradient(90deg, rgba(255,255,255,.16), transparent);
}

.bid-logo span {
  font-size: 27px;
  letter-spacing: -.8px;
}

.bid-logo small {
  color: rgba(255,255,255,.72);
  letter-spacing: 1.55px;
}

.bid-nav {
  gap: 6px;
}

.bid-nav a,
.side-bottom button {
  position: relative;
  min-height: 46px;
  display: grid;
  grid-template-columns: 36px 1fr;
  align-items: center;
  gap: 10px;
  padding: 0 12px;
  border: 1px solid transparent;
  border-radius: 12px;
  color: rgba(238, 255, 249, .78);
  font-size: 13px;
  font-weight: 820;
  transition: background .18s ease, color .18s ease, transform .18s ease, border-color .18s ease;
}

.bid-nav a:hover,
.side-bottom button:hover {
  transform: translateX(2px);
  background: rgba(255,255,255,.07);
  color: #fff;
}

.bid-nav a.active {
  border-color: rgba(255,255,255,.14);
  background: linear-gradient(135deg, #14c98b, #069866 78%);
  color: #fff;
  box-shadow: 0 14px 28px rgba(0, 155, 101, .28);
}

.bid-nav a.active::before {
  content: "";
  position: absolute;
  left: -16px;
  width: 4px;
  height: 28px;
  border-radius: 0 99px 99px 0;
  background: #a9ffe0;
}

.nav-ico {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 10px;
  background: rgba(255,255,255,.07);
  color: currentColor;
}

.nav-ico svg,
.kpi-card i svg {
  width: 17px;
  height: 17px;
  position: static;
  right: auto;
  bottom: auto;
  opacity: 1;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.nav-ico svg use,
.kpi-card i svg use {
  fill: none;
  stroke: currentColor;
}

.bid-nav a.active .nav-ico {
  border-color: rgba(255,255,255,.3);
  background: rgba(255,255,255,.16);
}

.saved-filters {
  margin-top: 8px;
  padding: 16px 4px 0;
}

.saved-filters h3 {
  color: rgba(255,255,255,.52);
  font-size: 10px;
  letter-spacing: 1px;
}

.saved-filters button {
  min-height: 34px;
  padding: 0 4px;
  color: rgba(255,255,255,.84);
}

.saved-filters span {
  min-width: 38px;
  height: 24px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255,255,255,.14);
}

.bid-tip {
  margin-top: 4px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.08), rgba(255,255,255,.04));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.bid-tip button {
  min-height: 42px;
  border-radius: 10px;
  background: linear-gradient(135deg, #14bd83, #07845e);
}

.side-bottom {
  margin-top: 0;
  padding-top: 12px;
  border-top: 1px solid rgba(255,255,255,.11);
}

.bid-main {
  padding: 0 28px 34px;
  background:
    radial-gradient(circle at 78% -4%, rgba(13, 154, 109, .1), transparent 30%),
    linear-gradient(180deg, #f8fbf9, #edf4f0 70%);
}

.bid-topbar {
  margin: 0 -28px 18px;
  padding: 0 34px;
}

.pro-filters {
  border-radius: 18px;
  background: rgba(255,255,255,.88);
  box-shadow: 0 16px 42px rgba(16, 42, 36, .07);
}

.dashboard-hero {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 28px;
  align-items: center;
  margin-bottom: 16px;
  padding: 22px 24px;
  border: 1px solid rgba(8, 87, 68, .13);
  border-radius: 22px;
  background:
    radial-gradient(circle at 82% 16%, rgba(24, 199, 137, .22), transparent 28%),
    linear-gradient(135deg, #092b25 0%, #064437 58%, #0a7354 100%);
  color: #fff;
  box-shadow: 0 26px 60px rgba(5, 42, 35, .18);
}

.dashboard-hero span {
  color: #8ff4c9;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: 1.3px;
  text-transform: uppercase;
}

.dashboard-hero h1 {
  max-width: 760px;
  margin: 8px 0 8px;
  font-size: 31px;
  line-height: 1.05;
  letter-spacing: 0;
}

.dashboard-hero p {
  max-width: 720px;
  margin: 0;
  color: rgba(255,255,255,.74);
  font-size: 14px;
  line-height: 1.45;
}

.hero-stats {
  display: grid;
  grid-template-columns: repeat(3, 96px);
  gap: 10px;
}

.hero-stats article {
  min-height: 92px;
  display: grid;
  align-content: center;
  justify-items: center;
  gap: 5px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 16px;
  background: rgba(255,255,255,.08);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.hero-stats strong {
  font-size: 25px;
  line-height: 1;
}

.hero-stats small {
  color: rgba(255,255,255,.68);
  font-size: 11px;
  font-weight: 800;
}

.bid-content {
  grid-template-columns: minmax(820px, 1fr) 430px;
}

.kpi-card {
  position: relative;
  min-height: 112px;
  border-radius: 18px;
  background:
    linear-gradient(180deg, rgba(255,255,255,.97), rgba(255,255,255,.86));
  box-shadow: 0 16px 38px rgba(18, 42, 36, .08);
}

.kpi-card i {
  color: #fff;
}

.kpi-card.green i { background: linear-gradient(135deg, #12b87d, #058a61); }
.kpi-card.amber i { background: linear-gradient(135deg, #f3b023, #dd8f00); }
.kpi-card.blue i { background: linear-gradient(135deg, #407be0, #265eb8); }

.kpi-card strong {
  font-size: 28px;
  letter-spacing: 0;
}

.kpi-card small {
  max-width: none;
  font-weight: 830;
}

.map-board {
  overflow: hidden;
  border-radius: 20px;
}

.board-heading {
  height: 58px;
  padding: 0 20px;
}

.board-heading h2 {
  font-size: 18px;
}

.map-stage {
  height: 585px;
  background: #dcebed;
}

body[data-view="mapa"] .map-stage {
  height: 720px;
}

body[data-view="dashboard"] .map-stage {
  height: 585px;
}

.map-layer {
  width: 38px;
  height: 38px;
  border: 1px solid rgba(9, 51, 43, .08);
  background: rgba(255,255,255,.94);
}

.layers {
  width: auto;
  padding: 0 11px;
  font-size: 11px;
}

.list-view {
  min-height: 42px;
  padding: 0 18px;
  border-radius: 12px;
}

.pro-marker {
  width: 16px;
  height: 16px;
  border: 3px solid #fff;
  box-shadow: 0 11px 24px rgba(11, 39, 34, .24), 0 0 0 6px rgba(7, 134, 97, .14);
}

.pro-marker span {
  width: 4px;
  height: 4px;
  margin: 3px auto 0;
}

.pro-marker.warn {
  box-shadow: 0 11px 24px rgba(11, 39, 34, .24), 0 0 0 6px rgba(233, 164, 31, .16);
}

.pro-marker.danger {
  box-shadow: 0 11px 24px rgba(11, 39, 34, .24), 0 0 0 6px rgba(224, 70, 69, .16);
}

.region-cluster {
  width: 36px;
  height: 36px;
  border: 3px solid #fff;
  box-shadow: 0 14px 30px rgba(12, 38, 34, .22);
}

.region-cluster::before {
  inset: -9px;
}

.region-cluster strong {
  font-size: 13px;
}

.leaflet-popup-content-wrapper {
  border: 1px solid rgba(16, 65, 54, .1);
  border-radius: 14px;
}

.leaflet-popup-content {
  margin: 14px 16px;
  min-width: 210px;
}

.leaflet-popup-tip {
  box-shadow: 0 8px 20px rgba(17,36,31,.12);
}

.map-popup-title {
  display: block;
  margin-bottom: 7px;
  color: #101817;
  font-size: 14px;
}

.map-popup-meta {
  display: block;
  color: #5c6863;
  font-size: 12px;
  line-height: 1.4;
}

.popup-link {
  margin-top: 9px;
  border: 0;
  background: transparent;
  color: #008a61;
  font-size: 12px;
  font-weight: 900;
}

@media (max-width: 1540px) {
  .bid-shell { grid-template-columns: 244px minmax(0, 1fr); }
  .bid-main { padding-inline: 22px; }
  .bid-topbar { margin-inline: -22px; }
  .bid-content { grid-template-columns: minmax(720px, 1fr) 420px; }
  .dashboard-hero { grid-template-columns: 1fr; gap: 16px; }
  .hero-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

/* LYMOS BID marketplace pass: OLX-like opportunity cards and cleaner chrome */
body:not([data-view="dashboard"]) .dashboard-hero {
  display: none;
}

.bid-topbar {
  grid-template-columns: 220px minmax(420px, 680px) minmax(310px, 1fr);
}

.user-actions {
  gap: 12px;
}

.bell,
.help {
  background: rgba(255,255,255,.06);
  border: 1px solid rgba(255,255,255,.15);
}

.user-mini {
  min-width: 218px;
  grid-template-columns: 44px minmax(0, 1fr);
  padding: 9px 12px;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  background: rgba(255,255,255,.075);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.08);
}

.user-mini span {
  width: 40px;
  height: 40px;
  border-radius: 14px;
  background: linear-gradient(135deg, #16c88b, #087555);
}

.user-mini strong {
  overflow: hidden;
  max-width: 142px;
  color: #fff;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.user-mini small {
  overflow: hidden;
  max-width: 142px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.pro-filters {
  position: relative;
  top: auto;
  z-index: 10;
  grid-template-columns: repeat(4, minmax(150px, 1fr)) repeat(3, minmax(140px, .82fr)) 126px 68px;
  gap: 8px;
  align-items: stretch;
  margin: 0 0 16px;
  padding: 12px;
  border-radius: 18px;
  background: rgba(255,255,255,.92);
  backdrop-filter: blur(14px);
}

.pro-filters label {
  min-width: 0;
  padding: 7px 10px 8px;
  border: 1px solid #dfe8e3;
  border-radius: 12px;
  background: #fff;
}

.pro-filters label:focus-within {
  border-color: rgba(0, 146, 99, .34);
  box-shadow: 0 0 0 3px rgba(0, 146, 99, .08);
}

.pro-filters select {
  height: 28px;
  margin-top: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  padding: 0;
  font-size: 13px;
}

.more-filters,
.clear-filters {
  height: auto;
  min-height: 54px;
  border-radius: 12px;
}

body[data-view="oportunidades"] .pro-filters {
  margin-bottom: 20px;
}

.opps-board {
  margin-top: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.opportunity-toolbar {
  display: grid;
  grid-template-columns: 210px minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  margin-bottom: 28px;
}

.sort-box {
  display: grid;
  gap: 6px;
}

.sort-box span {
  color: #69736f;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
}

.sort-box select {
  width: 100%;
  height: 54px;
  border: 1px solid #dde3df;
  border-radius: 8px;
  background: #fff;
  color: #087d5c;
  padding: 0 16px;
  font-size: 18px;
  font-weight: 900;
  box-shadow: 0 10px 28px rgba(16, 32, 28, .04);
}

.opportunity-title h2 {
  margin: 0;
  font-size: 28px;
  line-height: 1.05;
}

.opportunity-title p {
  margin: 6px 0 0;
  color: #66716d;
  font-size: 13px;
}

.view-switch {
  display: inline-flex;
  overflow: hidden;
  border: 1px solid #dde3df;
  border-radius: 9px;
  background: #fff;
}

.view-switch button {
  width: 58px;
  height: 54px;
  border: 0;
  border-right: 1px solid #e5e9e6;
  background: transparent;
  color: #c1c7c4;
}

.view-switch button:last-child {
  border-right: 0;
}

.view-switch button.active {
  color: #07865f;
  background: #eefbf5;
}

.view-switch svg {
  width: 22px;
  height: 22px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.auction-card-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  gap: clamp(18px, 1.55vw, 26px);
  align-items: stretch;
}

.auction-card {
  overflow: hidden;
  display: grid;
  grid-template-rows: minmax(0, 52%) minmax(0, 48%);
  aspect-ratio: 1 / 1.03;
  min-height: 0;
  border: 1px solid #dfe2df;
  border-radius: 12px;
  background: #fff;
  color: #101817;
  padding: 0;
  text-align: left;
  box-shadow: 0 12px 30px rgba(16, 32, 28, .06);
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.auction-card:hover,
.auction-card.active {
  transform: translateY(-3px);
  border-color: rgba(0, 139, 92, .38);
  box-shadow: 0 22px 48px rgba(6, 70, 55, .14);
}

.sale-photo {
  position: relative;
  min-height: 0;
  height: 100%;
  display: flex;
  align-items: flex-end;
  padding: 18px;
  background:
    linear-gradient(180deg, rgba(5, 20, 17, .02) 0%, rgba(5, 20, 17, .72) 100%),
    linear-gradient(135deg, #c5d7d1, #799f94);
  background-size: cover;
  background-position: center;
}

.sale-photo.has-photo {
  background-size: cover;
  background-position: center;
}

.sale-photo::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(0,0,0,.02) 35%, rgba(0,0,0,.58));
}

.sale-photo em {
  position: absolute;
  left: 18px;
  top: 16px;
  z-index: 1;
  min-height: 32px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(5, 45, 37, .92);
  color: #fff;
  padding: 0 18px;
  font-style: normal;
  font-size: 14px;
  font-weight: 900;
}

.sale-photo b {
  position: absolute;
  right: 18px;
  top: 16px;
  z-index: 1;
  min-height: 30px;
  display: inline-grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.28);
  border-radius: 999px;
  background: rgba(255,255,255,.14);
  color: #fff;
  padding: 0 13px;
  font-size: 12px;
  font-weight: 900;
  backdrop-filter: blur(10px);
}

.sale-photo strong {
  position: relative;
  z-index: 1;
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  color: #fff;
  font-size: 16px;
  line-height: 1.2;
  text-shadow: 0 2px 8px rgba(0,0,0,.35);
}

.sale-photo small {
  display: block;
  overflow: hidden;
  max-width: 100%;
  margin-top: 3px;
  color: #fff;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sale-body {
  display: grid;
  grid-template-rows: 32px auto 22px 22px 28px;
  gap: 8px;
  padding: 16px;
  min-height: 0;
}

.sale-topline,
.sale-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.sale-topline del {
  overflow: hidden;
  color: #1e2724;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sale-topline i {
  flex: 0 0 auto;
  min-height: 32px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, #0aa36f, #057554);
  color: #fff;
  padding: 0 18px;
  font-style: normal;
  font-size: 13px;
  font-weight: 900;
}

.sale-price {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 8px;
  color: #087d5c;
}

.sale-price small {
  flex-basis: 100%;
  color: #087d5c;
  font-size: 14px;
  font-weight: 900;
}

.sale-price strong {
  font-size: clamp(20px, 1.55vw, 24px);
  line-height: 1;
  white-space: nowrap;
}

.sale-price strong.pending-price {
  color: #d90011;
  font-size: clamp(18px, 1.35vw, 21px);
}

.sale-price b {
  color: #0e3129;
  font-size: 18px;
}

.sale-price b::after {
  content: "↓";
  margin-left: 5px;
}

.sale-price b.pending-discount::after {
  content: "";
  margin-left: 0;
}

.sale-date,
.sale-meta {
  overflow: hidden;
  color: #111817;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sale-date b {
  font-weight: 900;
}

.sale-meta i {
  width: 1px;
  height: 14px;
  display: inline-block;
  margin: 0 7px -2px;
  background: #d6dcd8;
}

.score-chip {
  min-height: 28px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  padding: 0 12px;
  background: #e7f8ef;
  color: #00895e;
  font-size: 11px;
  font-weight: 900;
}

.score-chip.warn { background: #fff2ce; color: #b97100; }
.score-chip.danger { background: #ffe5e5; color: #ce2020; }

.share-icon {
  color: #aeb8bd;
}

.share-icon svg {
  width: 24px;
  height: 24px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.opps-board[data-mode="cards"] .opportunity-table,
.opps-board[data-mode="cards"] .opportunity-head {
  display: none;
}

.opps-board[data-mode="cards"] .table-footer {
  display: grid;
  margin-top: 28px;
  border: 1px solid #dfe6e2;
  border-radius: 14px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 14px 32px rgba(16, 32, 28, .06);
}

.opps-board[data-mode="list"] .auction-card-grid {
  display: none;
}

@media (max-width: 1500px) {
  .auction-card-grid {
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
  }
  .opportunity-toolbar {
    grid-template-columns: 210px 1fr auto;
  }
}

/* LYMOS BID due diligence profile pass */
body[data-view="due-diligence"] .bid-main {
  background:
    radial-gradient(circle at 75% 0%, rgba(15, 158, 111, .09), transparent 28%),
    linear-gradient(180deg, #f8fbf9, #edf4f0 72%);
}

body[data-view="due-diligence"] .bid-content {
  max-width: 1240px;
  grid-template-columns: minmax(0, 1fr);
  margin: 0 auto;
}

body[data-view="due-diligence"] .bid-right {
  position: static;
  max-width: none;
  gap: 16px;
}

body[data-view="due-diligence"] .selected-card,
body[data-view="due-diligence"] .risk-card,
body[data-view="due-diligence"] .calc-card,
body[data-view="due-diligence"] .side-lists section {
  border: 1px solid #dfe7e2;
  border-radius: 20px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 20px 46px rgba(16, 42, 36, .08);
}

body[data-view="due-diligence"] .selected-card {
  display: grid;
  grid-template-columns: minmax(420px, .92fr) minmax(430px, 1fr);
  gap: 0;
  overflow: hidden;
  padding: 0;
}

body[data-view="due-diligence"] .selected-card header {
  grid-column: 1 / -1;
  min-height: 62px;
  display: flex;
  align-items: center;
  padding: 0 22px;
  border-bottom: 1px solid #e4ebe7;
  background: linear-gradient(180deg, #fff, #fbfdfc);
}

body[data-view="due-diligence"] .selected-card header h2 {
  font-size: 20px;
}

body[data-view="due-diligence"] .selected-card header button {
  min-width: 108px;
  min-height: 38px;
  border: 1px solid #d6e1dc;
  border-radius: 999px;
  background: #fff;
  color: #087d5c;
  font-size: 0;
}

body[data-view="due-diligence"] .selected-card header button::before {
  content: "Voltar";
  font-size: 13px;
  font-weight: 900;
}

body[data-view="due-diligence"] .media-hero {
  grid-row: 2 / span 3;
  min-height: 470px;
  height: 100%;
  margin: 0;
  border-radius: 0;
  box-shadow: inset 0 -140px 120px rgba(0,0,0,.34);
}

body[data-view="due-diligence"] .media-status {
  padding: 18px;
}

body[data-view="due-diligence"] .thumb-strip {
  grid-column: 1;
  grid-row: 5;
  margin: 0;
  padding: 14px;
  background: #f7faf8;
}

body[data-view="due-diligence"] .selected-main {
  grid-column: 2;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 88px;
  gap: 18px;
  align-items: start;
  margin: 0;
  padding: 24px 24px 18px;
  border-bottom: 1px solid #e4ebe7;
}

body[data-view="due-diligence"] .selected-main .real-photo {
  display: none;
}

body[data-view="due-diligence"] .selected-title h3 {
  font-size: 26px;
  line-height: 1.08;
}

body[data-view="due-diligence"] .selected-title p {
  margin: 10px 0 12px;
  font-size: 14px;
}

body[data-view="due-diligence"] .score-ring {
  width: 86px;
  height: 86px;
}

body[data-view="due-diligence"] .score-ring strong {
  font-size: 30px;
}

body[data-view="due-diligence"] .fact-grid {
  grid-column: 2;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin: 0;
  border: 0;
  background: #fff;
}

body[data-view="due-diligence"] .fact-grid div {
  min-height: 86px;
  padding: 18px 20px;
  border-right: 1px solid #e4ebe7;
  border-bottom: 1px solid #e4ebe7;
}

body[data-view="due-diligence"] .fact-grid div:nth-child(2n) {
  border-right: 0;
}

body[data-view="due-diligence"] .fact-grid span {
  color: #66736d;
  font-size: 10px;
}

body[data-view="due-diligence"] .fact-grid strong {
  color: #101817;
  font-size: 16px;
}

body[data-view="due-diligence"] .fact-grid div:nth-child(2) strong,
body[data-view="due-diligence"] .fact-grid div:nth-child(4) strong,
body[data-view="due-diligence"] .fact-grid div:nth-child(5) strong {
  color: #087d5c;
  font-size: 18px;
}

body[data-view="due-diligence"] .document-panel {
  grid-column: 2;
  margin: 0;
  padding: 20px 24px 24px;
  border-top: 0;
  background: #fbfdfc;
}

body[data-view="due-diligence"] .document-panel header {
  margin-bottom: 12px;
}

.auctioneer-panel {
  grid-column: 2;
  margin: 0;
  padding: 18px 24px;
  border-top: 1px solid #dfe6e2;
  background: #ffffff;
}

.auctioneer-panel header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
}

.auctioneer-panel header span,
.auctioneer-panel small {
  color: #66736d;
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
}

.auctioneer-panel header strong {
  color: #101817;
  font-size: 18px;
}

.auctioneer-panel > div {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.auctioneer-panel p {
  min-width: 0;
  padding: 12px;
  border: 1px solid #e6ece8;
  border-radius: 10px;
  background: #f6f8f7;
}

.auctioneer-panel b,
.auctioneer-panel a {
  display: block;
  overflow: hidden;
  color: #10342b;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

body[data-view="due-diligence"] .doc-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body[data-view="due-diligence"] .risk-card,
body[data-view="due-diligence"] .calc-card {
  padding: 22px;
}

body[data-view="due-diligence"] .risk-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

body[data-view="due-diligence"] .risk-grid div {
  min-height: 92px;
  align-content: center;
  border: 1px solid #e4ebe7;
  border-radius: 14px;
  background: #fbfdfc;
  padding: 14px;
}

body[data-view="due-diligence"] .calc-grid,
body[data-view="due-diligence"] .calc-results {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

body[data-view="due-diligence"] .side-lists {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body[data-view="due-diligence"] .decision-actions {
  position: static;
  bottom: auto;
  z-index: auto;
  max-width: 780px;
  margin: 14px 0 0;
  padding: 0;
  border: 1px solid #dbe6e1;
  border-radius: 18px;
  background: transparent;
  backdrop-filter: none;
  box-shadow: none;
}

body[data-view="due-diligence"] .decision-actions button {
  border-radius: 12px;
}

@media (max-width: 1500px) {
  body[data-view="due-diligence"] .selected-card {
    grid-template-columns: 1fr;
  }
  body[data-view="due-diligence"] .media-hero,
  body[data-view="due-diligence"] .selected-main,
  body[data-view="due-diligence"] .fact-grid,
  body[data-view="due-diligence"] .document-panel {
    grid-column: 1;
  }
  body[data-view="due-diligence"] .media-hero {
    min-height: 330px;
  }
}

/* LYMOS BID dashboard repair: spacing, popovers and usable map zoom */
body[data-view="dashboard"] .bid-main {
  padding-bottom: 42px;
}

body[data-view="dashboard"] .pro-filters {
  grid-template-columns: repeat(7, minmax(132px, 1fr)) 126px 70px;
  margin-bottom: 14px;
  padding: 10px;
  border-radius: 16px;
}

body[data-view="dashboard"] .pro-filters label {
  min-height: 56px;
}

body[data-view="dashboard"] .dashboard-hero {
  min-height: auto;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px);
  margin-bottom: 14px;
  padding: 18px 20px;
  border-radius: 18px;
}

body[data-view="dashboard"] .dashboard-hero h1 {
  max-width: 680px;
  font-size: 25px;
  line-height: 1.08;
}

body[data-view="dashboard"] .dashboard-hero p {
  max-width: 680px;
  font-size: 13px;
}

body[data-view="dashboard"] .hero-stats {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

body[data-view="dashboard"] .hero-stats article {
  min-height: 76px;
}

body[data-view="dashboard"] .hero-stats strong {
  font-size: 22px;
}

body[data-view="dashboard"] .bid-content {
  grid-template-columns: minmax(700px, 1fr) 390px;
  gap: 16px;
}

body[data-view="dashboard"] .pro-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 12px;
}

body[data-view="dashboard"] .kpi-card {
  min-height: 96px;
  grid-template-columns: 40px minmax(0, 1fr);
  padding: 13px;
}

body[data-view="dashboard"] .kpi-card i {
  width: 40px;
  height: 40px;
}

body[data-view="dashboard"] .kpi-card strong {
  font-size: 22px;
}

body[data-view="dashboard"] .kpi-card small {
  max-width: 118px;
  font-size: 10px;
}

body[data-view="dashboard"] .kpi-card > svg {
  width: 74px;
  height: 24px;
  opacity: .48;
}

body[data-view="dashboard"] .map-board {
  margin-top: 0;
}

body[data-view="dashboard"] .map-stage {
  height: 475px;
}

body[data-view="dashboard"] .selected-card {
  max-height: none;
  padding: 14px;
}

body[data-view="dashboard"] .media-hero {
  min-height: 118px;
}

body[data-view="dashboard"] .selected-title h3 {
  font-size: 18px;
}

body[data-view="dashboard"] .fact-grid div {
  min-height: 58px;
  padding: 10px;
}

.bid-topbar {
  position: sticky;
  top: 0;
  z-index: 80;
}

.user-actions {
  position: relative;
}

.bell,
.help,
.user-mini {
  cursor: pointer;
}

.bell svg,
.help svg {
  width: 18px;
  height: 18px;
  fill: none;
  stroke: currentColor;
  stroke-width: 2;
}

.bell {
  display: grid;
  place-items: center;
}

.top-popover {
  position: absolute;
  top: 64px;
  right: 34px;
  z-index: 120;
  width: min(360px, calc(100vw - 320px));
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid rgba(12, 66, 54, .14);
  border-radius: 16px;
  background: rgba(255,255,255,.97);
  color: #101817;
  box-shadow: 0 24px 58px rgba(6, 31, 26, .22);
}

.top-popover[hidden] {
  display: none;
}

.top-popover header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 4px 4px 8px;
  border-bottom: 1px solid #e3ebe6;
}

.top-popover header strong {
  font-size: 15px;
}

.top-popover header button,
.top-popover > button {
  border: 0;
  background: transparent;
  color: #087d5c;
  font-weight: 900;
}

.top-popover > button {
  min-height: 58px;
  display: grid;
  grid-template-columns: 1fr auto;
  align-content: center;
  gap: 2px 12px;
  border-radius: 12px;
  padding: 10px 12px;
  text-align: left;
}

.top-popover > button:hover {
  background: #f0faf5;
}

.top-popover > button span,
.top-popover > button small {
  color: #66736d;
  font-size: 11px;
}

.top-popover > button strong {
  grid-row: 1 / span 2;
  grid-column: 2;
  align-self: center;
  color: #101817;
  font-size: 20px;
}

.top-popover p {
  margin: 6px 4px;
  color: #56645f;
  font-size: 13px;
  line-height: 1.45;
}

.profile-card-mini {
  display: grid;
  grid-template-columns: 46px 1fr;
  gap: 4px 12px;
  align-items: center;
  padding: 12px;
  border-radius: 14px;
  background: linear-gradient(135deg, #063d34, #087554);
  color: #fff;
}

.profile-card-mini span {
  grid-row: 1 / span 2;
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: rgba(255,255,255,.14);
  font-weight: 950;
}

.profile-card-mini small {
  color: rgba(255,255,255,.72);
}

@media (max-width: 1500px) {
  body[data-view="dashboard"] .bid-content {
    grid-template-columns: minmax(650px, 1fr) 380px;
  }
  body[data-view="dashboard"] .dashboard-hero {
    grid-template-columns: 1fr;
  }
  body[data-view="dashboard"] .pro-kpis {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* LYMOS BID MVP polish: resilient cards, full-screen map mode and richer popups */
.lymos-pro-user {
  font-family: "Inter", system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-feature-settings: "cv02", "cv03", "cv04";
}

.bid-logo span,
.dashboard-hero h1,
.mvp-heading h1,
.map-board h2,
.opps-board h2,
.selected-title h3,
.kpi-card strong,
.sale-price strong,
.score-ring strong,
.map-popup-copy strong {
  font-family: "Space Grotesk", "Inter", system-ui, sans-serif;
  letter-spacing: 0;
}

.auction-card-grid {
  grid-template-columns: repeat(auto-fill, minmax(330px, 1fr));
}

.auction-card {
  grid-template-rows: 214px minmax(224px, auto);
  min-height: 442px;
  aspect-ratio: auto;
  border-radius: 16px;
}

.sale-photo {
  height: 214px;
  min-height: 214px;
  padding: 18px;
}

.sale-photo em,
.sale-photo b {
  max-width: calc(100% - 36px);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.sale-photo strong {
  -webkit-line-clamp: 3;
  font-size: 17px;
}

.sale-photo small {
  white-space: normal;
  line-height: 1.25;
}

.sale-body {
  grid-template-rows: auto auto auto auto 32px;
  align-content: start;
  gap: 10px;
  min-height: 224px;
  padding: 16px;
}

.sale-topline {
  align-items: flex-start;
}

.sale-topline del {
  min-width: 0;
  line-height: 1.3;
  white-space: normal;
}

.sale-topline i {
  max-width: 46%;
  padding: 0 12px;
}

.sale-price strong {
  white-space: normal;
}

.sale-date {
  overflow: visible;
  color: #283431;
  line-height: 1.35;
  white-space: normal;
}

.sale-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  overflow: visible;
  white-space: normal;
}

.sale-meta i {
  display: none;
}

.sale-meta em {
  min-height: 25px;
  display: inline-grid;
  place-items: center;
  border: 1px solid #e1e9e4;
  border-radius: 999px;
  background: #f6faf8;
  color: #42504b;
  padding: 0 9px;
  font-style: normal;
  font-size: 11px;
  font-weight: 850;
}

.sale-actions {
  align-self: end;
}

.score-chip {
  min-width: 86px;
}

.score-ring {
  display: grid;
  place-items: center;
  align-content: center;
  justify-content: center;
  text-align: center;
}

.score-ring strong,
.score-ring span,
.score-ring small {
  grid-column: 1;
}

.selected-main {
  grid-template-columns: minmax(0, 1fr) 78px;
}

.selected-title h3 {
  overflow-wrap: anywhere;
}

body:not([data-view="due-diligence"]) .bid-right .selected-main {
  grid-template-columns: minmax(0, 1fr);
  justify-items: start;
}

body:not([data-view="due-diligence"]) .bid-right .score-ring {
  justify-self: center;
  margin-top: 8px;
}

body:not([data-view="due-diligence"]) .bid-right .fact-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

body[data-view="mapa"] .dashboard-hero,
body[data-view="mapa"] .pro-kpis,
body[data-view="mapa"] .opps-board,
body[data-view="mapa"] .bid-right,
body[data-view="mapa"] .mvp-page {
  display: none;
}

body[data-view="mapa"] .bid-content {
  display: block;
  max-width: none;
}

body[data-view="mapa"] .bid-left {
  max-width: none;
}

body[data-view="mapa"] .map-board {
  height: calc(100vh - 184px);
  min-height: 680px;
  display: grid;
  grid-template-rows: auto minmax(0, 1fr);
  overflow: hidden;
  border-radius: 22px;
}

body[data-view="mapa"] .map-board header {
  min-height: 68px;
  padding-inline: 20px;
}

body[data-view="mapa"] .map-stage,
body[data-view="mapa"] .map-stage .real-map,
body[data-view="mapa"] .map-stage .leaflet-container {
  height: 100%;
  min-height: 600px;
}

body[data-view="mapa"] .pro-filters {
  margin-bottom: 14px;
}

.pro-marker {
  --pin-main: #07986a;
  --pin-light: #20c997;
  --pin-dark: #04724f;
  --pin-halo: rgba(7, 152, 106, .2);
  position: relative;
  width: 42px;
  height: 54px;
  display: grid;
  place-items: center;
  border: 0;
  border-radius: 0;
  background: transparent;
  filter: drop-shadow(0 13px 16px rgba(16, 24, 20, .22));
  transform: none;
  transition: transform .16s ease, filter .16s ease;
}

.pro-marker::after {
  content: "";
  position: absolute;
  inset: 2px 4px 4px;
  border-radius: 50% 50% 50% 4px;
  background:
    radial-gradient(circle at 50% 38%, #fff 0 19%, transparent 20%),
    linear-gradient(145deg, var(--pin-light), var(--pin-main) 46%, var(--pin-dark) 100%);
  box-shadow:
    inset 0 0 0 3px rgba(255,255,255,.78),
    inset 7px 8px 0 rgba(255,255,255,.11),
    inset -8px -12px 0 rgba(0,0,0,.07),
    0 0 0 7px var(--pin-halo);
  transform: rotate(-45deg);
}

.pro-marker span {
  position: absolute;
  top: 12px;
  left: 50%;
  z-index: 2;
  width: 16px;
  height: 16px;
  display: block;
  border-radius: 50%;
  background: #fff;
  box-shadow:
    0 1px 2px rgba(0,0,0,.08),
    inset 0 0 0 2px rgba(255,255,255,.9);
  transform: translateX(-50%);
}

.pro-marker i {
  position: absolute;
  left: 8px;
  top: 8px;
  z-index: 3;
  width: 22px;
  height: 12px;
  display: block;
  border-top: 4px solid rgba(255,255,255,.2);
  border-radius: 50%;
  transform: rotate(-23deg);
}

.pro-marker:hover {
  transform: translateY(-2px) scale(1.08);
  filter: drop-shadow(0 18px 22px rgba(16, 24, 20, .28));
}

.pro-marker.good {
  --pin-main: #07986a;
  --pin-light: #20c997;
  --pin-dark: #04724f;
  --pin-halo: rgba(7, 152, 106, .2);
}

.pro-marker.warn {
  --pin-main: #f2a31b;
  --pin-light: #ffc247;
  --pin-dark: #c97700;
  --pin-halo: rgba(242, 163, 27, .24);
}

.pro-marker.danger {
  --pin-main: #ef2d2d;
  --pin-light: #ff5a54;
  --pin-dark: #bf171a;
  --pin-halo: rgba(239, 45, 45, .24);
}

/* Clean library-style map pin. No shadows, glows or handmade marker effects. */
.pro-marker {
  width: 36px;
  height: 44px;
  display: grid;
  place-items: center;
  color: #07986a;
  background: transparent;
  border: 0;
  filter: none;
  transform: none;
  transition: transform .14s ease;
}

.pro-marker::after,
.pro-marker span,
.pro-marker i {
  display: none;
}

.pro-marker svg {
  width: 36px;
  height: 44px;
  display: block;
  fill: currentColor;
  stroke: #ffffff;
  stroke-width: 1.35;
  stroke-linejoin: round;
}

.pro-marker .pin-hole {
  fill: #ffffff;
  stroke: none;
}

.pro-marker:hover {
  transform: translateY(-1px);
  filter: none;
}

.pro-marker.good {
  color: #07986a;
}

.pro-marker.warn {
  color: #f2a31b;
}

.pro-marker.danger {
  color: #ef2d2d;
}

.region-cluster {
  width: 44px;
  height: 44px;
  border: 3px solid #fff;
  box-shadow: 0 16px 34px rgba(8, 38, 33, .24);
}

.region-cluster span {
  position: relative;
  z-index: 1;
  display: block;
  margin-top: 2px;
  color: rgba(255,255,255,.82);
  font-size: 7px;
  font-weight: 900;
  line-height: 1;
  text-transform: uppercase;
}

.leaflet-popup-content-wrapper {
  border: 1px solid rgba(11, 62, 52, .08);
  border-radius: 18px;
  background: rgba(255,255,255,.98);
  box-shadow: 0 24px 58px rgba(8, 38, 33, .22);
}

.leaflet-popup-content {
  width: auto !important;
  min-width: 246px;
  margin: 0;
}

.leaflet-popup-close-button {
  top: 8px !important;
  right: 8px !important;
  width: 24px !important;
  height: 24px !important;
  display: grid !important;
  place-items: center;
  border-radius: 999px;
  background: rgba(255,255,255,.86) !important;
  color: #5d6763 !important;
  font-size: 18px !important;
  line-height: 1 !important;
}

.map-property-popup {
  display: grid;
  grid-template-columns: 112px 1fr;
  gap: 12px;
  width: 250px;
  padding: 12px;
  border-radius: 18px;
  background: #fff;
}

.map-popup-photo {
  min-height: 214px;
  border-radius: 13px;
  background:
    linear-gradient(180deg, rgba(8, 28, 24, 0), rgba(8, 28, 24, .16)),
    linear-gradient(135deg, #cfe0dc, #7fa79c);
  background-size: cover;
  background-position: center;
}

.map-popup-photo.empty {
  background:
    linear-gradient(135deg, rgba(255,255,255,.72) 0 28%, transparent 28% 100%),
    linear-gradient(135deg, #bfd7d0, #86afa4);
}

.map-popup-copy {
  min-width: 0;
  display: grid;
  align-content: start;
  gap: 9px;
}

.map-popup-copy strong {
  color: #101817;
  font-size: 16px;
  line-height: 1.08;
}

.map-popup-copy small {
  color: #62706a;
  font-size: 12px;
  line-height: 1.3;
}

.map-popup-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 5px;
}

.map-popup-grid span {
  min-width: 0;
  display: grid;
  gap: 2px;
  place-items: center;
  border: 1px solid #dcefe7;
  border-radius: 9px;
  background: #f0fbf6;
  padding: 7px 5px;
}

.map-popup-grid b {
  overflow: hidden;
  color: #087d5c;
  max-width: 42px;
  font-size: 12px;
  line-height: 1;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-popup-grid small {
  color: #6b7671;
  font-size: 8px;
  font-weight: 900;
  text-transform: uppercase;
}

.map-popup-score {
  text-align: center;
}

.map-popup-score b {
  color: #111817;
  font-size: 22px;
}

.map-cluster-popup {
  display: grid;
  gap: 5px;
  min-width: 220px;
  padding: 14px 14px 4px;
}

.popup-link {
  min-height: 38px;
  display: inline-grid;
  place-items: center;
  border-radius: 11px;
  background: #dff8ec;
  color: #00875f;
  padding: 0 10px;
  text-align: center;
  line-height: 1.05;
}

/* Final map popup and pin polish */
.leaflet-marker-icon.lymos-leaflet-pin {
  width: 21px !important;
  height: 34px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

.leaflet-marker-shadow {
  display: none !important;
}

.leaflet-marker-icon.lymos-leaflet-pin.good {
  filter: hue-rotate(78deg) saturate(1.35) brightness(.92) !important;
}

.leaflet-marker-icon.lymos-leaflet-pin.warn {
  filter: hue-rotate(174deg) saturate(1.2) brightness(1.04) !important;
}

.leaflet-marker-icon.lymos-leaflet-pin.danger {
  filter: hue-rotate(135deg) saturate(1.55) brightness(1.05) !important;
}

.leaflet-marker-icon.lymos-svg-pin {
  width: 34px !important;
  height: 46px !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

.leaflet-marker-icon.lymos-svg-pin:hover {
  transform: translate3d(var(--leaflet-translate-x, 0), var(--leaflet-translate-y, 0), 0);
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

.leaflet-marker-icon.lymos-div-marker {
  width: 34px !important;
  height: 46px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.lymos-div-marker .pro-marker {
  position: relative;
  width: 34px;
  height: 46px;
  display: block;
  background: transparent !important;
  border: 0 !important;
  box-shadow: none !important;
  filter: none !important;
}

.leaflet-pane .lymos-div-marker,
.lymos-div-marker.leaflet-interactive {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.lymos-div-marker .pro-marker::before {
  content: "";
  position: absolute;
  inset: 0 1px 2px;
  display: block;
  background: currentColor;
  clip-path: polygon(50% 100%, 42% 87%, 31% 72%, 21% 56%, 13% 39%, 12% 25%, 17% 13%, 27% 5%, 38% 1%, 50% 0, 62% 1%, 73% 5%, 83% 13%, 88% 25%, 87% 39%, 79% 56%, 69% 72%, 58% 87%);
}

.lymos-div-marker .pro-marker .pin-dot {
  position: absolute;
  top: 9px;
  left: 50%;
  z-index: 2;
  width: 13px;
  height: 13px;
  display: block !important;
  border: 3px solid #fff;
  border-radius: 999px;
  background: transparent !important;
  transform: translateX(-50%);
}

.lymos-div-marker .pro-marker::after,
.lymos-div-marker .pro-marker i,
.lymos-div-marker .pro-marker svg {
  display: none !important;
}

.lymos-div-marker .pro-marker:hover {
  transform: none;
  box-shadow: none !important;
  filter: none !important;
}

.lymos-map-popup .leaflet-popup-content-wrapper {
  overflow: hidden;
  border: 1px solid rgba(12, 50, 43, .08);
  border-radius: 24px;
  background: #fff;
  box-shadow: 0 18px 44px rgba(18, 39, 35, .18);
}

.lymos-map-popup .leaflet-popup-content {
  width: 300px !important;
  min-width: 300px;
  margin: 0;
}

.lymos-map-popup .leaflet-popup-tip {
  background: #fff;
  box-shadow: none;
}

.lymos-map-popup .leaflet-popup-close-button {
  top: 10px !important;
  right: 10px !important;
  z-index: 3;
  width: 28px !important;
  height: 28px !important;
  border: 1px solid rgba(12, 50, 43, .1) !important;
  background: rgba(255,255,255,.92) !important;
  color: #40504b !important;
  font-size: 18px !important;
  font-weight: 800 !important;
}

.lymos-map-popup .map-property-popup {
  width: 300px;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 10px;
  padding: 10px;
  border-radius: 20px;
}

.lymos-map-popup .map-popup-photo {
  min-height: 136px;
  height: 136px;
  border-radius: 14px;
  border: 1px solid rgba(12, 50, 43, .08);
}

.lymos-map-popup .map-popup-copy {
  gap: 7px;
  align-content: start;
  padding-right: 4px;
}

.lymos-map-popup .map-popup-copy > em {
  width: max-content;
  max-width: 100%;
  overflow: hidden;
  border-radius: 999px;
  background: #e6f8ef;
  color: #007c59;
  padding: 4px 8px;
  font-size: 9px;
  font-style: normal;
  font-weight: 900;
  line-height: 1;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
}

.lymos-map-popup .map-popup-copy strong {
  display: -webkit-box;
  overflow: hidden;
  color: #111817;
  font-size: 15px;
  font-weight: 900;
  line-height: 1.12;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.lymos-map-popup .map-popup-copy small {
  display: -webkit-box;
  overflow: hidden;
  color: #65746f;
  font-size: 10.5px;
  font-weight: 650;
  line-height: 1.28;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}

.lymos-map-popup .map-popup-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 4px;
}

.lymos-map-popup .map-popup-grid span {
  min-height: 42px;
  border-color: #d9efe6;
  border-radius: 10px;
  background: #f2fbf6;
  padding: 6px 3px;
}

.lymos-map-popup .map-popup-grid b {
  max-width: 100%;
  color: #007c59;
  font-size: 10.5px;
  font-weight: 950;
  letter-spacing: 0;
}

.lymos-map-popup .map-popup-score b {
  color: #111817;
  font-size: 19px;
}

.lymos-map-popup .popup-link {
  width: 100%;
  min-height: 36px;
  border: 0;
  border-radius: 14px;
  background: #d9f8eb;
  color: #007d5b;
  font-weight: 950;
}

.map-popup-actions {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 38px;
  gap: 8px;
}

.popup-favorite {
  width: 38px;
  min-height: 36px;
  display: grid;
  place-items: center;
  border: 1px solid #d9efe6;
  border-radius: 14px;
  background: #ffffff;
  color: #87938e;
  font-size: 18px;
  font-weight: 950;
}

.popup-favorite.active {
  border-color: rgba(0, 135, 95, .25);
  background: #d9f8eb;
  color: #007d5b;
}

/* LYMOS BID menu polish v12 */
.bid-sidebar {
  width: 224px;
  padding: 24px 14px 18px;
  gap: 14px;
  background:
    linear-gradient(180deg, rgba(17, 193, 134, .12), transparent 18%),
    radial-gradient(circle at 76% 5%, rgba(39, 232, 165, .22), transparent 26%),
    linear-gradient(180deg, #064335 0%, #032821 48%, #021512 100%);
}

.bid-logo {
  min-height: 60px;
  padding: 4px 6px 16px;
}

.bid-logo span {
  font-family: "Space Grotesk", Inter, sans-serif;
  font-size: 28px;
  letter-spacing: 0;
}

.bid-nav {
  gap: 3px;
}

.nav-section {
  display: block;
  margin: 14px 8px 5px;
  color: rgba(206, 244, 230, .52);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: 1.35px;
  text-transform: uppercase;
}

.bid-nav a,
.side-bottom button {
  min-height: 42px;
  grid-template-columns: 34px minmax(0, 1fr);
  border-radius: 13px;
  color: rgba(238, 255, 249, .8);
  font-size: 13px;
  letter-spacing: 0;
}

.bid-nav a::after,
.side-bottom button::after {
  content: "";
  width: 6px;
  height: 6px;
  justify-self: end;
  border-radius: 999px;
  background: transparent;
}

.bid-nav a:hover,
.side-bottom button:hover {
  background: rgba(255,255,255,.075);
  color: #fff;
  transform: translateX(1px);
}

.bid-nav a.active {
  background: linear-gradient(135deg, #16bd88 0%, #079161 100%);
  box-shadow: 0 12px 28px rgba(0, 156, 101, .24), inset 0 1px 0 rgba(255,255,255,.18);
}

.bid-nav a.active::after {
  background: #c9ffe9;
  box-shadow: 0 0 0 5px rgba(201, 255, 233, .12);
}

.nav-ico {
  width: 30px;
  height: 30px;
  border-radius: 11px;
  background: rgba(255,255,255,.075);
}

.saved-filters,
.side-bottom {
  border-top-color: rgba(255,255,255,.1);
}

.bid-tip {
  border-radius: 16px;
  background:
    radial-gradient(circle at 90% 0%, rgba(54, 228, 169, .2), transparent 44%),
    linear-gradient(180deg, rgba(255,255,255,.085), rgba(255,255,255,.035));
}

.area-toggle.single-mode {
  width: 132px;
  grid-template-columns: 1fr;
}

.area-toggle a[hidden] {
  display: none !important;
}

.user-mini {
  min-width: 210px;
  grid-template-columns: 42px minmax(0, 1fr);
  gap: 11px;
  padding: 8px 12px 8px 9px;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 18px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.11), rgba(255,255,255,.045));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.11);
}

.user-mini span,
.profile-card-mini span {
  background: linear-gradient(135deg, #18c28a, #077f5d);
  color: #fff;
  box-shadow: 0 10px 24px rgba(0, 139, 96, .25);
}

.user-mini strong,
.profile-card-mini strong {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.top-popover {
  border-radius: 18px;
  border: 1px solid rgba(9, 96, 72, .12);
  box-shadow: 0 24px 70px rgba(4, 35, 30, .18);
}

body[data-view="mapa"] .bid-main {
  min-height: 100vh;
}

body[data-view="mapa"] .pro-filters {
  margin-bottom: 12px;
}

body[data-view="mapa"] .bid-content {
  display: block !important;
  max-width: none !important;
}

body[data-view="mapa"] .bid-left {
  max-width: none !important;
}

body[data-view="mapa"] .bid-right {
  display: none !important;
}

body[data-view="mapa"] .map-board {
  height: calc(100vh - 174px) !important;
  min-height: 720px !important;
  border-radius: 22px;
}

body[data-view="mapa"] .map-stage,
body[data-view="mapa"] .map-stage .real-map,
body[data-view="mapa"] .map-stage .leaflet-container {
  height: 100% !important;
  min-height: 640px !important;
}

@media (max-width: 980px) {
  .auction-card-grid {
    grid-template-columns: 1fr;
  }

  body[data-view="mapa"] .map-board {
    height: calc(100vh - 220px);
    min-height: 560px;
  }

  body[data-view="mapa"] .map-stage,
  body[data-view="mapa"] .map-stage .real-map,
  body[data-view="mapa"] .map-stage .leaflet-container {
    min-height: 500px;
  }
}

/* LYMOS BID executive dashboard rebuild */
.is-loading-data .bid-main::before {
  content: "Carregando base LYMOS BID...";
  position: fixed;
  top: 78px;
  right: 24px;
  z-index: 200;
  min-height: 38px;
  display: inline-flex;
  align-items: center;
  border: 1px solid rgba(0, 129, 96, .18);
  border-radius: 999px;
  background: #ffffff;
  color: #006f55;
  padding: 0 16px;
  font-size: 12px;
  font-weight: 900;
}

.bid-main {
  background:
    linear-gradient(180deg, #eef7f2 0, #f7faf8 250px, #f5f7f5 100%);
}

.bid-topbar {
  border-bottom: 1px solid rgba(7, 61, 51, .1);
  background: linear-gradient(90deg, #052b25, #073f35 55%, #08261f);
}

.global-search {
  border: 1px solid rgba(255,255,255,.12);
  background: rgba(255,255,255,.96);
}

.user-mini {
  min-width: 210px;
  border-radius: 16px;
  background: rgba(255,255,255,.08);
}

.pro-filters {
  position: sticky;
  top: 68px;
  z-index: 60;
  align-items: end;
  border: 1px solid rgba(7, 61, 51, .08);
  border-radius: 22px;
  background: rgba(255,255,255,.92);
  box-shadow: 0 18px 42px rgba(13, 49, 41, .08);
  backdrop-filter: blur(16px);
}

.pro-filters label {
  border: 1px solid #e2ebe6;
  border-radius: 14px;
  background: #fbfdfc;
  padding: 9px 11px;
}

.pro-filters select {
  border: 0;
  background: transparent;
  padding: 0;
}

.dashboard-hero {
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, .72fr) minmax(300px, .55fr);
  gap: 18px;
  align-items: stretch;
  border: 1px solid rgba(7, 61, 51, .1);
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 10%, rgba(34, 197, 143, .2), transparent 30%),
    linear-gradient(135deg, #062e28 0%, #083f35 54%, #f7fbf8 54.2%, #ffffff 100%);
  color: #ffffff;
  padding: 24px;
  box-shadow: 0 28px 70px rgba(7, 42, 35, .16);
}

body[data-view="dashboard"] .dashboard-hero {
  grid-template-columns: minmax(0, 1.25fr) minmax(360px, .72fr) minmax(300px, .55fr);
  gap: 18px;
  min-height: 292px;
  margin-bottom: 16px;
  padding: 24px;
  border-radius: 28px;
}

.dashboard-hero .hero-copy {
  min-height: 244px;
  display: grid;
  align-content: center;
  gap: 14px;
  padding-right: 12px;
}

.dashboard-hero .live-badge {
  width: fit-content;
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: rgba(255,255,255,.1);
  color: #a7f3d0;
  padding: 0 12px;
  font-size: 11px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.dashboard-hero h1 {
  max-width: 760px;
  color: #ffffff;
  font-size: clamp(34px, 3.4vw, 58px);
  line-height: .96;
}

body[data-view="dashboard"] .dashboard-hero h1 {
  max-width: 760px;
  color: #ffffff;
  font-size: clamp(34px, 3.4vw, 58px);
  line-height: .96;
}

.dashboard-hero p {
  max-width: 700px;
  color: rgba(236, 253, 245, .78);
  font-size: 15px;
  line-height: 1.5;
}

body[data-view="dashboard"] .dashboard-hero p {
  max-width: 700px;
  color: rgba(236, 253, 245, .78);
  font-size: 15px;
  line-height: 1.5;
}

.hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 4px;
}

.hero-actions button {
  min-height: 42px;
  border: 1px solid rgba(255,255,255,.18);
  border-radius: 999px;
  background: #00a876;
  color: #fff;
  padding: 0 16px;
  font-weight: 900;
}

.hero-actions button + button {
  background: rgba(255,255,255,.1);
}

.dashboard-hero .hero-stats {
  display: grid;
  gap: 12px;
}

body[data-view="dashboard"] .dashboard-hero .hero-stats {
  grid-template-columns: 1fr;
  gap: 12px;
}

.dashboard-hero .hero-stats article,
.hero-source-panel {
  border: 1px solid rgba(6, 65, 52, .1);
  border-radius: 20px;
  background: rgba(255,255,255,.94);
  color: #10201b;
  box-shadow: 0 18px 45px rgba(12, 54, 45, .1);
}

.dashboard-hero .hero-stats article {
  min-height: 72px;
  display: grid;
  align-content: center;
  padding: 15px 18px;
}

body[data-view="dashboard"] .dashboard-hero .hero-stats article {
  min-height: 72px;
}

.dashboard-hero .hero-stats small,
.hero-source-panel small {
  color: #60726b;
  font-size: 10px;
  font-weight: 950;
  text-transform: uppercase;
}

.dashboard-hero .hero-stats strong,
.hero-source-panel strong {
  margin-top: 2px;
  color: #0b1512;
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: 31px;
  line-height: 1;
}

body[data-view="dashboard"] .dashboard-hero .hero-stats strong {
  font-size: 31px;
}

.dashboard-hero .hero-stats span {
  margin-top: 4px;
  color: #6a7772;
  font-size: 12px;
  font-weight: 700;
}

.hero-source-panel {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  align-content: start;
  padding: 16px;
}

.hero-source-panel > div {
  min-width: 0;
  border-radius: 14px;
  background: #f3faf6;
  padding: 12px;
}

.hero-source-panel strong {
  display: block;
  font-size: 22px;
}

#sourceMixList {
  grid-column: 1 / -1;
  display: grid;
  gap: 8px;
  margin-top: 4px;
}

#sourceMixList span {
  min-height: 34px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  border-top: 1px solid #e1ebe6;
  color: #52605b;
  font-size: 12px;
  font-weight: 800;
}

#sourceMixList b {
  color: #00835f;
  font-family: "Space Grotesk", "Inter", sans-serif;
  font-size: 18px;
}

.pro-kpis {
  gap: 14px;
}

.kpi-card {
  border: 1px solid rgba(7, 61, 51, .08);
  border-radius: 20px;
  background: #ffffff;
  box-shadow: 0 16px 38px rgba(16, 42, 36, .08);
}

.kpi-card i {
  border-radius: 16px;
}

.bid-content {
  align-items: start;
}

.map-board,
.opps-board,
.bid-right .selected-card {
  border: 1px solid rgba(7, 61, 51, .08);
  border-radius: 24px;
  background: #ffffff;
  box-shadow: 0 18px 46px rgba(16, 42, 36, .08);
}

.map-stage {
  border-radius: 18px;
}

.auction-card {
  border: 1px solid #dde8e2;
  background: #fff;
  box-shadow: none;
}

.auction-card:hover,
.auction-card.active {
  border-color: rgba(0, 135, 95, .45);
  box-shadow: 0 18px 42px rgba(0, 109, 79, .12);
}

@media (max-width: 1320px) {
  .dashboard-hero,
  body[data-view="dashboard"] .dashboard-hero {
    grid-template-columns: 1fr;
  }

  .dashboard-hero {
    background: linear-gradient(145deg, #062e28, #083f35);
  }
}

/* Map v6: final override after all legacy dashboard rules */
body[data-view="mapa"] .dashboard-hero,
body[data-view="mapa"] .pro-kpis,
body[data-view="mapa"] .opps-board,
body[data-view="mapa"] .bid-right,
body[data-view="mapa"] .mvp-page {
  display: none !important;
}

body[data-view="mapa"] .bid-content,
body[data-view="mapa"] .bid-left {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}

body[data-view="mapa"] .map-board {
  height: calc(100vh - 156px) !important;
  min-height: 680px !important;
  margin: 0 !important;
  overflow: hidden !important;
  border-radius: 22px !important;
}

body[data-view="mapa"] .map-stage,
body[data-view="mapa"] .map-stage .real-map,
body[data-view="mapa"] .map-stage .leaflet-container {
  height: 100% !important;
  min-height: 620px !important;
}

body[data-view="mapa"] .board-heading {
  min-height: 58px;
  padding: 0 18px;
}

.leaflet-marker-icon.lymos-leaflet-pin,
.leaflet-marker-icon.lymos-leaflet-pin.good,
.leaflet-marker-icon.lymos-leaflet-pin.warn,
.leaflet-marker-icon.lymos-leaflet-pin.danger {
  width: 21px !important;
  height: 34px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

.leaflet-marker-shadow {
  display: none !important;
}

.lymos-map-popup .leaflet-popup-content {
  width: 300px !important;
  min-width: 300px !important;
}

.lymos-map-popup .map-property-popup {
  width: 300px !important;
  grid-template-columns: 102px minmax(0, 1fr) !important;
  gap: 10px !important;
  padding: 10px !important;
}

.lymos-map-popup .map-popup-photo {
  height: 132px !important;
  min-height: 132px !important;
}

body[data-view="dashboard"] .map-stage,
body[data-view="dashboard"] .map-stage .real-map,
body[data-view="dashboard"] .map-stage .leaflet-container {
  height: 585px !important;
  min-height: 585px !important;
}

body[data-view="dashboard"] .map-board {
  min-height: 655px !important;
}

/* LYMOS visual pass v8 */
.auction-card-grid {
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)) !important;
  gap: 22px !important;
}

.auction-card {
  min-height: 448px !important;
  overflow: hidden !important;
  border: 1px solid rgba(6, 70, 58, .16) !important;
  border-radius: 18px !important;
  background: #ffffff !important;
  box-shadow: 0 18px 44px rgba(7, 42, 35, .08) !important;
}

.auction-card:hover,
.auction-card.active {
  border-color: rgba(0, 135, 95, .46) !important;
  box-shadow: 0 22px 54px rgba(0, 109, 79, .14) !important;
  transform: translateY(-2px);
}

.sale-photo {
  height: 210px !important;
  min-height: 210px !important;
  padding: 18px !important;
}

.sale-photo::after {
  background:
    linear-gradient(180deg, rgba(3, 31, 27, .08) 0%, rgba(3, 31, 27, .18) 46%, rgba(3, 31, 27, .72) 100%) !important;
}

.sale-photo em,
.sale-photo b {
  top: 16px !important;
  min-height: 32px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  background: rgba(4, 45, 38, .92) !important;
  color: #effaf5 !important;
  padding: 0 13px !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  text-transform: none !important;
}

.sale-photo b {
  right: 16px !important;
  background: rgba(0, 135, 95, .88) !important;
}

.sale-photo strong {
  right: 18px !important;
  bottom: 18px !important;
  left: 18px !important;
  color: #ffffff !important;
  font-size: 20px !important;
  line-height: 1.05 !important;
  text-shadow: 0 2px 12px rgba(0,0,0,.34);
}

.sale-photo small {
  margin-top: 7px !important;
  color: rgba(255,255,255,.82) !important;
  font-size: 13px !important;
  font-weight: 800 !important;
}

.sale-body {
  min-height: 238px !important;
  gap: 12px !important;
  padding: 18px !important;
  background:
    linear-gradient(180deg, #ffffff, #f8fbf9) !important;
}

.sale-topline del {
  color: #596862 !important;
  font-size: 14px !important;
  font-weight: 750 !important;
}

.sale-topline i {
  border-radius: 999px !important;
  background: #00875f !important;
  color: #ffffff !important;
  font-size: 12px !important;
  font-style: normal !important;
  font-weight: 950 !important;
}

.sale-price small {
  color: #00875f !important;
  font-size: 12px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
}

.sale-price strong {
  color: #00875f !important;
  font-size: 25px !important;
  line-height: 1 !important;
}

.sale-price strong.pending-price {
  color: #00875f !important;
}

.sale-price b {
  width: fit-content !important;
  min-height: 30px !important;
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 999px !important;
  background: #e8f8f0 !important;
  color: #006f55 !important;
  padding: 0 10px !important;
  font-size: 14px !important;
  font-weight: 950 !important;
}

.sale-price b::after {
  display: none !important;
}

.sale-price b.pending-discount {
  background: #fff4d6 !important;
  color: #9c6300 !important;
}

.sale-date {
  color: #263631 !important;
  font-size: 14px !important;
  font-weight: 750 !important;
}

.sale-meta em {
  min-height: 28px !important;
  border: 1px solid #dfe9e4 !important;
  background: #f4faf7 !important;
  color: #40514b !important;
  padding: 0 10px !important;
}

.score-chip {
  min-width: 92px !important;
  min-height: 34px !important;
  border-radius: 999px !important;
  background: #dff8ec !important;
  color: #007d5b !important;
  font-weight: 950 !important;
}

.score-chip.warn {
  background: #fff3d1 !important;
  color: #a86600 !important;
}

.score-chip.danger {
  background: #ffe7e7 !important;
  color: #c42323 !important;
}

.leaflet-marker-icon.lymos-legend-pin,
.leaflet-marker-icon.lymos-legend-pin.good,
.leaflet-marker-icon.lymos-legend-pin.warn,
.leaflet-marker-icon.lymos-legend-pin.danger {
  width: 24px !important;
  height: 38px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  filter: none !important;
}

body[data-view="dashboard"] .map-board {
  min-height: 720px !important;
}

body[data-view="dashboard"] .map-stage,
body[data-view="dashboard"] .map-stage .real-map,
body[data-view="dashboard"] .map-stage .leaflet-container {
  height: 650px !important;
  min-height: 650px !important;
}

/* LYMOS dashboard product redesign v13 */
.lymos-pro-user {
  background: #f3f7f5 !important;
}

.bid-shell {
  grid-template-columns: 216px minmax(0, 1fr) !important;
}

.bid-sidebar {
  width: 216px !important;
  padding: 22px 13px 18px !important;
  gap: 12px !important;
  background:
    linear-gradient(180deg, rgba(12, 157, 112, .09), transparent 22%),
    linear-gradient(180deg, #073b32 0%, #052920 48%, #021512 100%) !important;
  box-shadow: inset -1px 0 0 rgba(255,255,255,.08), 10px 0 26px rgba(4, 31, 26, .08) !important;
}

.bid-logo {
  min-height: 54px !important;
  padding: 2px 6px 14px !important;
}

.bid-logo span {
  font-size: 27px !important;
  line-height: .95 !important;
}

.bid-logo small {
  font-size: 9px !important;
  letter-spacing: 1.45px !important;
}

.nav-section {
  margin: 12px 7px 4px !important;
  color: rgba(215, 246, 235, .48) !important;
  font-size: 9px !important;
  letter-spacing: 1.2px !important;
}

.bid-nav {
  gap: 2px !important;
}

.bid-nav a,
.side-bottom button {
  min-height: 39px !important;
  grid-template-columns: 31px minmax(0, 1fr) !important;
  gap: 9px !important;
  padding: 0 10px !important;
  border-radius: 11px !important;
  font-size: 12px !important;
  font-weight: 850 !important;
  color: rgba(238, 255, 249, .76) !important;
}

.bid-nav a::after,
.side-bottom button::after {
  display: none !important;
}

.bid-nav a.active {
  background: rgba(18, 183, 128, .92) !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18), 0 10px 22px rgba(0, 135, 95, .18) !important;
}

.bid-nav a.active::before {
  left: -13px !important;
  width: 3px !important;
  height: 24px !important;
  background: #c6ffe8 !important;
}

.nav-ico {
  width: 28px !important;
  height: 28px !important;
  border-radius: 10px !important;
  background: rgba(255,255,255,.055) !important;
}

.bid-tip {
  padding: 13px !important;
  border-radius: 14px !important;
}

.bid-tip p {
  font-size: 11px !important;
}

.bid-main {
  padding: 0 26px 32px !important;
  background: linear-gradient(180deg, #f8fbfa 0%, #eef5f1 100%) !important;
}

.bid-topbar {
  height: 64px !important;
  grid-template-columns: auto minmax(380px, 640px) minmax(260px, 1fr) !important;
  gap: 22px !important;
  margin: 0 -26px 14px !important;
  padding: 0 30px !important;
  background: #052d26 !important;
  box-shadow: 0 10px 28px rgba(4, 34, 29, .14) !important;
}

.area-toggle {
  width: 126px !important;
  border-radius: 13px !important;
  padding: 3px !important;
  background: rgba(255,255,255,.055) !important;
}

.area-toggle.single-mode {
  width: 126px !important;
}

.area-toggle a {
  min-height: 38px !important;
  border-radius: 10px !important;
  font-size: 12px !important;
}

.global-search {
  height: 42px !important;
  border-radius: 13px !important;
  box-shadow: none !important;
}

.global-search span {
  color: #007f5c !important;
  font-size: 10px !important;
}

.global-search input {
  font-size: 13px !important;
}

.user-actions {
  gap: 10px !important;
}

.bell,
.help {
  width: 38px !important;
  height: 38px !important;
}

.user-mini {
  min-width: 196px !important;
  height: 46px !important;
  border-radius: 15px !important;
  padding: 6px 11px 6px 7px !important;
}

.user-mini span {
  width: 33px !important;
  height: 33px !important;
  font-size: 12px !important;
}

.user-mini strong {
  font-size: 12px !important;
}

.user-mini small {
  font-size: 11px !important;
}

.pro-filters {
  min-height: 64px !important;
  grid-template-columns: repeat(7, minmax(118px, 1fr)) auto auto !important;
  gap: 8px !important;
  margin-bottom: 14px !important;
  padding: 10px !important;
  border: 1px solid rgba(8, 78, 61, .08) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.92) !important;
  box-shadow: 0 12px 30px rgba(7, 46, 39, .055) !important;
}

.pro-filters label {
  min-width: 0 !important;
  min-height: 44px !important;
  border-radius: 12px !important;
  padding: 8px 12px 6px !important;
}

.pro-filters label,
.pro-filters select {
  font-size: 12px !important;
}

.pro-filters select {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

.leaflet-proxy {
  pointer-events: none !important;
}

.more-filters,
.clear-filters {
  min-height: 44px !important;
  border-radius: 12px !important;
}

body[data-view="dashboard"] .dashboard-hero,
.dashboard-hero {
  min-height: 0 !important;
  display: grid !important;
  grid-template-columns: minmax(360px, 1fr) 340px 340px !important;
  align-items: stretch !important;
  gap: 12px !important;
  margin: 0 0 12px !important;
  padding: 14px !important;
  overflow: hidden !important;
  border: 1px solid rgba(7, 70, 56, .11) !important;
  border-radius: 20px !important;
  background: #063f35 !important;
  color: #fff !important;
  box-shadow: 0 18px 44px rgba(5, 42, 35, .14) !important;
}

.dashboard-hero::before,
.dashboard-hero::after {
  display: none !important;
}

.dashboard-hero .hero-copy {
  min-height: 112px !important;
  display: grid !important;
  align-content: center !important;
  padding: 4px 8px !important;
}

.dashboard-hero .live-badge {
  width: fit-content !important;
  min-height: 26px !important;
  display: inline-flex !important;
  align-items: center !important;
  padding: 0 10px !important;
  border: 1px solid rgba(142, 244, 201, .28) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.08) !important;
  color: #a7f4d4 !important;
  font-size: 10px !important;
}

body[data-view="dashboard"] .dashboard-hero h1,
.dashboard-hero h1 {
  max-width: 780px !important;
  margin: 8px 0 6px !important;
  font-size: 27px !important;
  line-height: 1.02 !important;
  letter-spacing: 0 !important;
}

body[data-view="dashboard"] .dashboard-hero p,
.dashboard-hero p {
  max-width: 740px !important;
  margin: 0 !important;
  color: rgba(235, 255, 248, .74) !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.hero-actions {
  margin-top: 10px !important;
  gap: 8px !important;
}

.hero-actions button {
  min-height: 38px !important;
  border-radius: 999px !important;
  padding: 0 16px !important;
  font-size: 12px !important;
}

body[data-view="dashboard"] .dashboard-hero .hero-stats,
.dashboard-hero .hero-stats {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
}

body[data-view="dashboard"] .dashboard-hero .hero-stats article,
.dashboard-hero .hero-stats article,
.hero-source-panel {
  min-height: 0 !important;
  border: 1px solid rgba(8, 78, 61, .08) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.95) !important;
  color: #101c19 !important;
  box-shadow: none !important;
}

body[data-view="dashboard"] .dashboard-hero .hero-stats article,
.dashboard-hero .hero-stats article {
  display: grid !important;
  justify-items: start !important;
  align-content: center !important;
  padding: 10px 14px !important;
}

.dashboard-hero .hero-stats small,
.hero-source-panel small {
  color: #60716b !important;
  font-size: 9px !important;
  letter-spacing: .8px !important;
}

body[data-view="dashboard"] .dashboard-hero .hero-stats strong,
.dashboard-hero .hero-stats strong,
.hero-source-panel strong {
  color: #031d19 !important;
  font-size: 24px !important;
  line-height: 1 !important;
}

.dashboard-hero .hero-stats span {
  color: #60716b !important;
  font-size: 10px !important;
}

.hero-source-panel {
  display: grid !important;
  grid-template-columns: repeat(3, 1fr) !important;
  gap: 8px !important;
  padding: 12px !important;
}

.hero-source-panel > div {
  min-height: 52px !important;
  display: grid !important;
  align-content: center !important;
  padding: 8px 10px !important;
  border-radius: 12px !important;
  background: #edf6f2 !important;
}

#sourceMixList {
  grid-column: 1 / -1 !important;
  display: grid !important;
  gap: 0 !important;
  margin-top: 2px !important;
}

#sourceMixList span {
  min-height: 30px !important;
  display: grid !important;
  grid-template-columns: 82px minmax(0, 1fr) !important;
  align-items: center !important;
  border-top: 1px solid #dbe8e3 !important;
  color: #35443f !important;
  font-size: 11px !important;
  font-weight: 900 !important;
  letter-spacing: .4px !important;
}

#sourceMixList b {
  color: #00875f !important;
  font-family: "Space Grotesk", Inter, sans-serif !important;
  font-size: 18px !important;
}

body[data-view="dashboard"] .bid-content,
.bid-content {
  grid-template-columns: minmax(0, 1fr) 384px !important;
  gap: 16px !important;
  align-items: start !important;
}

body[data-view="dashboard"] .pro-kpis,
.pro-kpis {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin-bottom: 12px !important;
}

.kpi-card {
  min-height: 82px !important;
  border-radius: 16px !important;
  padding: 14px !important;
  box-shadow: 0 10px 30px rgba(7, 45, 38, .055) !important;
}

.kpi-card i {
  width: 36px !important;
  height: 36px !important;
}

.kpi-card div strong {
  font-size: 22px !important;
}

.kpi-card div span {
  font-size: 10px !important;
}

.kpi-card div small {
  font-size: 10px !important;
  line-height: 1.15 !important;
}

.kpi-card > svg {
  width: 82px !important;
  right: 12px !important;
  bottom: 10px !important;
  opacity: .7 !important;
}

body[data-view="dashboard"] .map-board,
.map-board {
  height: max(760px, calc(100vh - 120px)) !important;
  min-height: 760px !important;
  margin-top: 0 !important;
  border-radius: 18px !important;
  box-shadow: 0 14px 42px rgba(7, 45, 38, .07) !important;
}

body[data-view="dashboard"] .map-stage {
  height: calc(100% - 58px) !important;
  min-height: 700px !important;
}

body[data-view="dashboard"] .map-stage .real-map,
body[data-view="dashboard"] .map-stage .leaflet-container {
  height: 100% !important;
  min-height: 700px !important;
}

.locate-user {
  top: 118px !important;
  border-radius: 12px !important;
  font-size: 18px !important;
  font-weight: 950 !important;
}

.map-control-stack {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 650;
  display: grid;
  width: 38px;
  overflow: hidden;
  border: 1px solid rgba(13, 50, 43, .1);
  border-radius: 12px;
  background: #fff;
  box-shadow: 0 10px 26px rgba(7, 40, 34, .14);
}

.map-control-stack .map-layer {
  position: static !important;
  width: 38px !important;
  height: 38px !important;
  display: grid !important;
  place-items: center !important;
  border: 0 !important;
  border-bottom: 1px solid #e4eee9 !important;
  border-radius: 0 !important;
  background: #fff !important;
  color: #17352e !important;
  box-shadow: none !important;
  font-family: Inter, sans-serif !important;
  font-size: 18px !important;
  font-weight: 800 !important;
  line-height: 1 !important;
}

.map-control-stack .map-layer:last-child {
  border-bottom: 0 !important;
}

.map-control-stack .map-layer:hover {
  background: #f1faf6 !important;
  color: #007f5c !important;
}

.map-control-stack .map-layer svg {
  width: 17px;
  height: 17px;
  fill: none;
  stroke: currentColor;
  stroke-width: 1.9;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.map-control-stack .locate-user svg {
  width: 18px;
  height: 18px;
}

.leaflet-marker-icon.user-location-marker {
  width: 22px !important;
  height: 22px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

.user-location-marker span {
  position: relative;
  width: 18px;
  height: 18px;
  display: block;
  margin: 2px;
  border: 3px solid #fff;
  border-radius: 999px;
  background: #198cff;
  box-shadow: 0 0 0 2px rgba(25, 140, 255, .2);
}

.user-location-marker span::after {
  content: "";
  position: absolute;
  inset: -10px;
  border-radius: inherit;
  background: rgba(25, 140, 255, .14);
  animation: locationPulse 1.8s ease-out infinite;
  z-index: -1;
}

@keyframes locationPulse {
  0% { transform: scale(.45); opacity: .9; }
  100% { transform: scale(1.25); opacity: 0; }
}

.user-location-popup {
  display: grid;
  gap: 4px;
  min-width: 160px;
}

.user-location-popup strong {
  color: #08241e;
  font-size: 14px;
}

.user-location-popup span {
  color: #5e6f69;
  font-size: 12px;
}

body[data-view="mapa"] .locate-user {
  top: 126px !important;
}

body[data-view="mapa"] .map-control-stack {
  top: 18px;
}

.map-stage {
  position: relative !important;
  overflow: hidden !important;
  isolation: isolate !important;
}

.map-stage .map-control-stack {
  position: absolute !important;
  top: 18px !important;
  left: 18px !important;
  z-index: 700 !important;
}

body[data-view="dashboard"] .map-board {
  height: clamp(560px, calc(100vh - 185px), 680px) !important;
  min-height: 560px !important;
  max-height: 680px !important;
  display: grid !important;
  grid-template-rows: 58px minmax(0, 1fr) !important;
  overflow: hidden !important;
}

body[data-view="dashboard"] .map-stage {
  height: 100% !important;
  min-height: 0 !important;
}

body[data-view="dashboard"] .map-stage .real-map,
body[data-view="dashboard"] .map-stage .leaflet-container {
  height: 100% !important;
  min-height: 0 !important;
}

body[data-view="dashboard"] .map-stage .map-control-stack,
body[data-view="mapa"] .map-stage .map-control-stack {
  transform: none !important;
}

.leaflet-marker-icon.user-location-marker {
  z-index: 720 !important;
}

.document-heading {
  margin-bottom: 16px;
}

.document-stats {
  margin-bottom: 18px;
}

.document-workspace {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
  gap: 18px;
  align-items: start;
}

.document-column {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dce9e4;
  border-radius: 18px;
  background: #fff;
  box-shadow: 0 14px 42px rgba(7, 45, 38, .06);
}

.document-column > header {
  min-height: 74px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border-bottom: 1px solid #e5eee9;
  background: linear-gradient(180deg, #fbfefd, #f5fbf8);
}

.document-column > header span {
  display: block;
  color: #667771;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .05em;
  text-transform: uppercase;
}

.document-column > header h2 {
  margin: 2px 0 0;
  color: #10231e;
  font-size: 20px;
  line-height: 1.1;
}

.document-column > header strong {
  min-width: 54px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #0a8f68;
  color: #fff;
  font-size: 18px;
  font-weight: 950;
}

.document-list {
  display: grid;
  gap: 10px;
  max-height: calc(100vh - 320px);
  min-height: 260px;
  overflow: auto;
  padding: 14px;
}

.document-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(150px, .34fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px;
  border: 1px solid #e1ebe6;
  border-radius: 14px;
  background: #fff;
}

.document-row strong,
.document-row b {
  display: block;
  color: #12241f;
  font-size: 14px;
  line-height: 1.25;
}

.document-row small {
  display: block;
  margin-top: 4px;
  color: #64756f;
  font-size: 12px;
  line-height: 1.25;
}

.doc-kind {
  display: inline-flex;
  width: max-content;
  margin-bottom: 7px;
  padding: 5px 9px;
  border-radius: 999px;
  background: #e8f8f1;
  color: #007f5c;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .02em;
  text-transform: uppercase;
}

.doc-kind.matricula {
  background: #eef4ff;
  color: #2359b8;
}

.document-row nav {
  display: flex;
  gap: 8px;
  align-items: center;
}

.document-row button,
.document-row a {
  min-height: 36px;
  display: inline-grid;
  place-items: center;
  border: 1px solid #d6e3de;
  border-radius: 10px;
  background: #fff;
  color: #093e33;
  padding: 0 12px;
  font-size: 12px;
  font-weight: 900;
  text-decoration: none;
  cursor: pointer;
}

.document-row a {
  border-color: #008c67;
  background: #008c67;
  color: #fff;
}

.city-doc-group {
  display: grid;
  gap: 9px;
}

.city-doc-group > header {
  position: sticky;
  top: -14px;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 10px 12px;
  border: 1px solid #dfe9e4;
  border-radius: 12px;
  background: #f4fbf8;
}

.city-doc-group > header strong {
  color: #0c2e26;
  font-size: 13px;
}

.city-doc-group > header span {
  color: #008c67;
  font-size: 11px;
  font-weight: 900;
}

@media (max-width: 1180px) {
  .document-workspace {
    grid-template-columns: 1fr;
  }

  .document-row {
    grid-template-columns: 1fr;
  }

  .document-row nav {
    justify-content: stretch;
  }

  .document-row button,
  .document-row a {
    flex: 1;
  }
}

/* LYMOS BID v45: real app shell, no floating topbar over content. */
:root {
  --lymos-sidebar: clamp(220px, 13.2vw, 252px);
  --lymos-topbar: auto;
}

html,
body.lymos-pro-user {
  width: 100% !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
  background: #eef5f1 !important;
}

.bid-shell {
  display: grid !important;
  grid-template-columns: var(--lymos-sidebar) minmax(0, 1fr) !important;
  width: 100% !important;
  max-width: 100vw !important;
  min-height: 100dvh !important;
  overflow-x: hidden !important;
}

.bid-sidebar {
  position: fixed !important;
  inset: 0 auto 0 0 !important;
  width: var(--lymos-sidebar) !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  z-index: 500 !important;
}

.bid-main {
  grid-column: 2 !important;
  width: auto !important;
  max-width: none !important;
  min-width: 0 !important;
  margin-left: 0 !important;
  padding: 14px clamp(16px, 2vw, 30px) 34px !important;
  overflow-x: hidden !important;
  box-sizing: border-box !important;
}

.bid-topbar {
  position: relative !important;
  inset: auto !important;
  top: auto !important;
  left: auto !important;
  right: auto !important;
  z-index: 60 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 64px !important;
  height: auto !important;
  margin: 0 0 14px !important;
  padding: 10px 14px !important;
  display: grid !important;
  grid-template-columns: auto minmax(260px, 640px) minmax(170px, 1fr) !important;
  align-items: center !important;
  gap: 14px !important;
  border: 1px solid rgba(255,255,255,.08) !important;
  border-radius: 0 0 18px 18px !important;
  background: #052d26 !important;
  box-shadow: 0 16px 38px rgba(4, 34, 29, .12) !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.bid-topbar .area-toggle {
  grid-column: 1 !important;
  width: 178px !important;
  min-width: 178px !important;
  max-width: 178px !important;
  margin: 0 !important;
}

.bid-topbar .global-search,
.bid-topbar .area-toggle:not([hidden]) + .global-search {
  grid-column: 2 !important;
  width: 100% !important;
  max-width: 640px !important;
  min-width: 0 !important;
  margin: 0 !important;
}

.bid-topbar .user-actions {
  grid-column: 3 !important;
  min-width: 0 !important;
  justify-self: end !important;
}

.bid-topbar .user-mini {
  min-width: 168px !important;
  max-width: 230px !important;
  overflow: hidden !important;
}

body[data-role="user"] .bid-topbar {
  grid-template-columns: minmax(260px, 640px) minmax(170px, 1fr) !important;
}

body[data-role="user"] .bid-topbar .global-search {
  grid-column: 1 !important;
}

body[data-role="user"] .bid-topbar .user-actions {
  grid-column: 2 !important;
}

.pro-filters {
  position: relative !important;
  top: auto !important;
  z-index: 30 !important;
  margin: 0 0 16px !important;
  width: 100% !important;
  grid-template-columns: minmax(132px, .75fr) minmax(150px, .9fr) minmax(132px, .75fr) minmax(132px, .75fr) auto auto !important;
}

body[data-view="dashboard"] .bid-content,
body[data-view="mapa"] .bid-content {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px) !important;
  gap: 16px !important;
  align-items: start !important;
  overflow: hidden !important;
}

body[data-view="mapa"] .map-stage {
  height: min(70dvh, 760px) !important;
  min-height: 560px !important;
}

body[data-view="dashboard"] .map-stage {
  height: min(58dvh, 620px) !important;
  min-height: 480px !important;
}

body[data-view="dashboard"] .bid-right,
body[data-view="mapa"] .bid-right {
  width: 100% !important;
  max-width: 360px !important;
  min-width: 0 !important;
  position: sticky !important;
  top: 14px !important;
}

body[data-view="dashboard"] .selected-card,
body[data-view="mapa"] .selected-card {
  max-height: calc(100dvh - 48px) !important;
  overflow-y: auto !important;
}

body[data-view="perfil"] .bid-content {
  display: block !important;
  overflow: visible !important;
}

body[data-view="perfil"] .bid-right {
  position: static !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
}

body[data-view="perfil"] #detailContent {
  width: min(1240px, 100%) !important;
  margin: 0 auto !important;
}

body[data-view="perfil"] .property-ad-hero {
  margin-bottom: 16px !important;
}

body[data-view="perfil"] .selected-card.property-profile-card {
  grid-template-columns: minmax(380px, .9fr) minmax(0, 1.1fr) !important;
}

.lymos-rich-popup .leaflet-popup-content-wrapper {
  border-radius: 18px !important;
}

.lymos-rich-popup .leaflet-popup-content {
  margin: 0 !important;
}

.map-popup-actions .popup-link,
.map-popup-actions .popup-favorite {
  cursor: pointer !important;
}

@media (max-width: 1320px) {
  .bid-topbar {
    grid-template-columns: auto minmax(220px, 1fr) auto !important;
  }

  .bid-topbar .user-mini strong,
  .bid-topbar .user-mini small {
    max-width: 118px !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
  }
}

@media (max-width: 1180px) {
  :root {
    --lymos-sidebar: 86px;
  }

  .bid-topbar {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto !important;
  }

  .bid-topbar .area-toggle {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .bid-topbar .global-search,
  .bid-topbar .area-toggle:not([hidden]) + .global-search {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    max-width: none !important;
  }

  .bid-topbar .user-actions {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  body[data-view="dashboard"] .bid-content,
  body[data-view="mapa"] .bid-content,
  body[data-view="perfil"] .selected-card.property-profile-card {
    grid-template-columns: 1fr !important;
  }
}

body:not([data-view="dashboard"]):not([data-view="mapa"]):not([data-view="oportunidades"]) .dashboard-hero,
body:not([data-view="dashboard"]):not([data-view="mapa"]):not([data-view="oportunidades"]) .pro-kpis,
body:not([data-view="dashboard"]):not([data-view="mapa"]):not([data-view="oportunidades"]) .map-board,
body:not([data-view="dashboard"]):not([data-view="mapa"]):not([data-view="oportunidades"]) .opps-board,
body:not([data-view="dashboard"]):not([data-view="mapa"]):not([data-view="oportunidades"]):not([data-view="due-diligence"]) .bid-right {
  display: none !important;
}

body:not([data-view="dashboard"]):not([data-view="mapa"]):not([data-view="oportunidades"]) .bid-content {
  display: block !important;
  max-width: none !important;
}

body:not([data-view="dashboard"]):not([data-view="mapa"]):not([data-view="oportunidades"]) .bid-left {
  max-width: none !important;
}

body[data-view="due-diligence"] .dashboard-hero,
body[data-view="due-diligence"] .pro-kpis,
body[data-view="due-diligence"] .map-board,
body[data-view="due-diligence"] .opps-board,
body[data-view="due-diligence"] .mvp-page {
  display: none !important;
}

body[data-view="due-diligence"] .bid-content {
  display: grid !important;
  grid-template-columns: minmax(0, 1280px) !important;
  justify-content: start !important;
  max-width: none !important;
}

body[data-view="due-diligence"] .bid-left {
  display: none !important;
}

body[data-view="due-diligence"] .bid-right {
  display: block !important;
  position: static !important;
  width: min(1280px, 100%) !important;
  max-width: 1280px !important;
  align-self: start !important;
}

body[data-view="due-diligence"] .selected-card {
  grid-template-columns: minmax(460px, .82fr) minmax(520px, 1fr) !important;
}

body[data-view="due-diligence"] .media-hero {
  grid-row: 2 / span 5 !important;
  min-height: 620px !important;
}

.due-tabs {
  grid-column: 2;
  display: flex;
  gap: 8px;
  padding: 14px 24px 0;
  background: #fff;
}

.due-tabs span {
  min-height: 34px;
  display: inline-grid;
  place-items: center;
  border: 1px solid #dfe9e4;
  border-radius: 999px;
  background: #f8fbf9;
  color: #60716b;
  padding: 0 13px;
  font-size: 12px;
  font-weight: 900;
}

.due-tabs .active {
  border-color: #0a966b;
  background: #e7f8f1;
  color: #007f5c;
}

.property-info-panel {
  grid-column: 2;
  padding: 18px 24px 20px;
  border-bottom: 1px solid #e4ebe7;
  background: #fff;
}

.property-info-panel header {
  min-height: 0 !important;
  display: flex !important;
  align-items: flex-start !important;
  justify-content: space-between !important;
  gap: 16px !important;
  margin: 0 0 14px !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}

.property-info-panel header span,
.property-spec-grid span,
.property-location-card span {
  display: block;
  color: #66736d;
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .03em;
  text-transform: uppercase;
}

.property-info-panel h2 {
  margin: 3px 0 0;
  color: #101817;
  font-size: 18px;
  line-height: 1.15;
}

.property-info-panel header strong {
  min-height: 30px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: #fff2f2;
  color: #d32626;
  padding: 0 11px;
  font-size: 11px;
  font-weight: 950;
}

.property-spec-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 8px;
}

.property-spec-grid article {
  min-height: 72px;
  display: grid;
  align-content: center;
  gap: 6px;
  border: 1px solid #e2ebe6;
  border-radius: 12px;
  background: linear-gradient(180deg, #fbfefd, #f5faf7);
  padding: 12px;
}

.property-spec-grid strong {
  color: #10231e;
  font-size: 15px;
  line-height: 1.15;
}

.property-location-card {
  display: grid;
  grid-template-columns: 1.25fr .75fr;
  gap: 10px;
  margin-top: 10px;
}

.property-location-card > div {
  min-width: 0;
  border: 1px solid #e2ebe6;
  border-radius: 14px;
  background: #f8fbf9;
  padding: 14px;
}

.property-location-card strong {
  display: block;
  margin-top: 7px;
  color: #10231e;
  font-size: 15px;
  line-height: 1.25;
  overflow-wrap: anywhere;
}

.property-location-card small {
  display: block;
  margin-top: 5px;
  color: #60716b;
  font-size: 12px;
  line-height: 1.35;
}

body[data-view="due-diligence"] .fact-grid {
  border-top: 0 !important;
}

.board-heading {
  min-height: 58px !important;
  padding: 0 18px !important;
}

.board-heading h2 {
  font-size: 18px !important;
}

.bid-right {
  position: sticky !important;
  top: 82px !important;
  align-self: start !important;
}

.bid-right .selected-card,
body[data-view="dashboard"] .selected-card {
  border-radius: 18px !important;
  box-shadow: 0 14px 42px rgba(7, 45, 38, .07) !important;
}

.selected-card header {
  min-height: 50px !important;
  padding: 0 14px !important;
}

.selected-card header h2 {
  font-size: 17px !important;
}

body:not([data-view="due-diligence"]) .bid-right .real-photo {
  min-height: 150px !important;
  height: 150px !important;
  border-radius: 14px !important;
}

body:not([data-view="due-diligence"]) .bid-right .selected-title h3 {
  font-size: 18px !important;
  line-height: 1.08 !important;
}

body:not([data-view="due-diligence"]) .bid-right .fact-grid {
  grid-template-columns: 1fr 1fr !important;
}

@media (max-width: 1450px) {
  .pro-filters {
    grid-template-columns: repeat(4, minmax(130px, 1fr)) auto auto !important;
  }

  body[data-view="dashboard"] .dashboard-hero,
  .dashboard-hero {
    grid-template-columns: minmax(0, 1fr) 300px !important;
  }

  .hero-source-panel {
    grid-column: 1 / -1 !important;
  }

  body[data-view="dashboard"] .bid-content,
  .bid-content {
    grid-template-columns: minmax(0, 1fr) 360px !important;
  }
}

@media (max-width: 1180px) {
  .bid-shell {
    grid-template-columns: 86px minmax(0, 1fr) !important;
  }

  .bid-sidebar {
    width: 86px !important;
  }

  .bid-logo small,
  .nav-section,
  .saved-filters,
  .bid-tip,
  .side-bottom button {
    font-size: 0 !important;
  }

  .bid-logo span {
    font-size: 18px !important;
    writing-mode: horizontal-tb !important;
  }

  .bid-logo {
    justify-items: center !important;
    padding-inline: 0 !important;
  }

  .bid-nav a,
  .side-bottom button {
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    padding: 0 !important;
    font-size: 0 !important;
  }

  .bid-nav a.active {
    width: 48px !important;
    justify-self: center !important;
  }

  .nav-ico {
    width: 34px !important;
    height: 34px !important;
  }

  .bid-topbar {
    grid-template-columns: auto minmax(260px, 1fr) auto !important;
  }

  .user-mini {
    min-width: 48px !important;
    grid-template-columns: 34px !important;
  }

  .user-mini strong,
  .user-mini small {
    display: none !important;
  }
}

/* LYMOS layout hardening v19: fill views without dead lateral/bottom space. */
body[data-view="oportunidades"] .dashboard-hero,
body[data-view="oportunidades"] .pro-kpis,
body[data-view="oportunidades"] .map-board,
body[data-view="oportunidades"] .bid-right,
body[data-view="oportunidades"] .mvp-page {
  display: none !important;
}

body[data-view="oportunidades"] .bid-main {
  padding-inline: clamp(18px, 1.45vw, 30px) !important;
  padding-bottom: 28px !important;
}

body[data-view="oportunidades"] .bid-content {
  display: block !important;
  width: 100% !important;
  max-width: none !important;
}

body[data-view="oportunidades"] .bid-left,
body[data-view="oportunidades"] .opps-board {
  width: 100% !important;
  max-width: none !important;
}

body[data-view="oportunidades"] .opps-board {
  min-height: calc(100vh - 190px) !important;
  display: grid !important;
  grid-template-rows: auto minmax(0, auto) auto !important;
  border: 1px solid #dce8e3 !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.88) !important;
  padding: 18px !important;
  box-shadow: 0 18px 50px rgba(7, 45, 38, .075) !important;
}

body[data-view="oportunidades"] .opportunity-toolbar {
  grid-template-columns: 190px minmax(0, 1fr) auto !important;
  gap: 14px !important;
  margin-bottom: 18px !important;
}

body[data-view="oportunidades"] .auction-card-grid {
  width: 100% !important;
  grid-template-columns: repeat(auto-fit, minmax(220px, 1fr)) !important;
  gap: 16px !important;
}

body[data-view="oportunidades"] .auction-card {
  min-width: 0 !important;
  min-height: 392px !important;
  aspect-ratio: auto !important;
  grid-template-rows: 172px minmax(214px, auto) !important;
}

body[data-view="oportunidades"] .sale-photo {
  height: 172px !important;
  min-height: 172px !important;
}

body[data-view="oportunidades"] .sale-body {
  min-height: 214px !important;
  padding: 14px !important;
  gap: 8px !important;
}

body[data-view="oportunidades"] .table-footer {
  margin-top: 16px !important;
  border-radius: 14px !important;
}

body[data-view="dashboard"] .bid-main {
  min-height: 100vh !important;
  padding-bottom: 18px !important;
}

body[data-view="dashboard"] .dashboard-hero {
  margin-bottom: 10px !important;
}

body[data-view="dashboard"] .pro-kpis {
  margin-bottom: 10px !important;
}

body[data-view="dashboard"] .bid-content {
  grid-template-columns: minmax(0, 1fr) 384px !important;
  align-items: stretch !important;
}

body[data-view="dashboard"] .bid-left {
  display: grid !important;
  grid-template-rows: auto minmax(620px, 1fr) !important;
  min-height: calc(100vh - 250px) !important;
}

body[data-view="dashboard"] .map-board {
  height: auto !important;
  min-height: 620px !important;
  max-height: none !important;
  display: grid !important;
  grid-template-rows: 58px minmax(0, 1fr) !important;
  align-self: stretch !important;
  overflow: hidden !important;
}

body[data-view="dashboard"] .map-stage,
body[data-view="dashboard"] .map-stage .real-map,
body[data-view="dashboard"] .map-stage .leaflet-container {
  height: 100% !important;
  min-height: 562px !important;
}

body[data-view="dashboard"] .bid-right {
  height: auto !important;
  align-self: stretch !important;
}

body[data-view="dashboard"] .selected-card {
  height: 100% !important;
}

@media (min-width: 1780px) {
  body[data-view="oportunidades"] .auction-card-grid {
    grid-template-columns: repeat(auto-fit, minmax(235px, 1fr)) !important;
  }
}

/* LYMOS sidebar assistant v20: cleaner auction-system navigation. */
.sidebar-assistant {
  position: relative !important;
  margin-top: 8px !important;
  padding-top: 10px !important;
  border-top: 1px solid rgba(255,255,255,.1) !important;
}

.assistant-trigger {
  width: 100% !important;
  min-height: 46px !important;
  display: grid !important;
  grid-template-columns: 34px minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 10px !important;
  border: 1px solid rgba(127, 255, 214, .16) !important;
  border-radius: 14px !important;
  background: rgba(255,255,255,.055) !important;
  color: rgba(238,255,249,.9) !important;
  padding: 0 10px !important;
  text-align: left !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.06) !important;
}

.assistant-trigger:hover,
.assistant-trigger[aria-expanded="true"] {
  background: rgba(18, 188, 130, .16) !important;
  border-color: rgba(127, 255, 214, .26) !important;
  color: #fff !important;
}

.assistant-trigger strong {
  overflow: hidden !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
}

.assistant-trigger small {
  min-height: 22px !important;
  display: inline-grid !important;
  place-items: center !important;
  border-radius: 999px !important;
  background: rgba(20, 201, 139, .18) !important;
  color: #a8f8d7 !important;
  padding: 0 8px !important;
  font-size: 10px !important;
  font-weight: 900 !important;
}

.assistant-popover {
  position: fixed !important;
  left: 270px !important;
  bottom: 84px !important;
  z-index: 240 !important;
  width: 316px !important;
  display: grid !important;
  gap: 10px !important;
  padding: 14px !important;
  border: 1px solid rgba(8, 78, 61, .16) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.98) !important;
  color: #10231e !important;
  box-shadow: 0 26px 70px rgba(4, 29, 24, .22) !important;
}

.assistant-popover[hidden] {
  display: none !important;
}

.assistant-popover::before {
  content: "" !important;
  position: absolute !important;
  left: -7px !important;
  bottom: 18px !important;
  width: 14px !important;
  height: 14px !important;
  transform: rotate(45deg) !important;
  border-left: 1px solid rgba(8, 78, 61, .16) !important;
  border-bottom: 1px solid rgba(8, 78, 61, .16) !important;
  background: #fff !important;
}

.assistant-popover header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
}

.assistant-popover header strong {
  color: #06251f !important;
  font-family: "Space Grotesk", Inter, sans-serif !important;
  font-size: 17px !important;
}

.assistant-popover header button {
  width: 30px !important;
  height: 30px !important;
  display: grid !important;
  place-items: center !important;
  border: 1px solid #dce8e3 !important;
  border-radius: 10px !important;
  background: #fff !important;
  color: #40534d !important;
  font-size: 13px !important;
  font-weight: 900 !important;
}

.assistant-popover p {
  margin: 0 !important;
  color: #5d6f68 !important;
  font-size: 13px !important;
  line-height: 1.45 !important;
}

.assistant-popover > button {
  min-height: 42px !important;
  border: 1px solid #d8e7e1 !important;
  border-radius: 12px !important;
  background: #f7fbf9 !important;
  color: #073d33 !important;
  padding: 0 12px !important;
  font-size: 12px !important;
  font-weight: 900 !important;
  text-align: left !important;
}

.assistant-popover > button:first-of-type {
  border-color: #03966b !important;
  background: linear-gradient(135deg, #11b980, #07885f) !important;
  color: #fff !important;
  text-align: center !important;
}

.saved-filters {
  margin-top: auto !important;
  padding: 12px 4px 0 !important;
}

.saved-filters h3 {
  margin-bottom: 8px !important;
  color: rgba(255,255,255,.48) !important;
}

.saved-filters button {
  min-height: 30px !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  align-items: center !important;
  gap: 8px !important;
  border-radius: 9px !important;
  padding: 0 8px !important;
  color: rgba(238,255,249,.78) !important;
  font-size: 12px !important;
}

.saved-filters button:hover {
  background: rgba(255,255,255,.06) !important;
  color: #fff !important;
}

.saved-filters span {
  min-width: 44px !important;
  height: 22px !important;
  background: rgba(255,255,255,.12) !important;
  color: #eafff8 !important;
  font-size: 11px !important;
}

.side-bottom {
  margin-top: 8px !important;
  padding-top: 10px !important;
}

.side-bottom button {
  min-height: 40px !important;
  border-radius: 11px !important;
  color: rgba(238,255,249,.74) !important;
  font-size: 12px !important;
}

@media (max-width: 1180px) {
  .saved-filters {
    display: none !important;
  }

  .sidebar-assistant {
    padding-inline: 0 !important;
  }

  .assistant-trigger {
    width: 48px !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    margin-inline: auto !important;
    padding: 0 !important;
  }

  .assistant-trigger strong,
  .assistant-trigger small {
    display: none !important;
  }

  .assistant-popover {
    left: 98px !important;
    bottom: 70px !important;
  }

  .side-bottom {
    display: grid !important;
    justify-items: center !important;
    gap: 8px !important;
  }

  .side-bottom button {
    width: 48px !important;
    min-height: 48px !important;
    grid-template-columns: 1fr !important;
    justify-items: center !important;
    padding: 0 !important;
    font-size: 0 !important;
  }
}

/* LYMOS containment v26: prevent dashboard/detail panels from leaking sideways. */
html,
body.lymos-pro-user {
  max-width: 100vw !important;
  overflow-x: hidden !important;
}

body.lymos-pro-user {
  min-width: 0 !important;
}

.bid-shell {
  width: 100vw !important;
  max-width: 100vw !important;
  overflow-x: hidden !important;
  grid-template-columns: clamp(86px, 13.2vw, 252px) minmax(0, 1fr) !important;
}

.bid-main {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 100% !important;
  overflow-x: hidden !important;
}

.bid-topbar,
.pro-filters,
.dashboard-hero,
.bid-content,
.bid-left,
.bid-right,
.map-board,
.selected-card,
.opps-board {
  min-width: 0 !important;
  max-width: 100% !important;
}

body[data-view="dashboard"] .bid-content {
  grid-template-columns: minmax(0, 1fr) minmax(320px, 360px) !important;
  width: 100% !important;
}

body[data-view="dashboard"] .bid-right {
  width: 100% !important;
  overflow: hidden !important;
}

body[data-view="dashboard"] .selected-card {
  width: 100% !important;
  overflow: hidden !important;
}

body[data-view="dashboard"] .fact-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body[data-view="dashboard"] .fact-grid div {
  min-width: 0 !important;
}

body[data-view="dashboard"] .fact-grid strong,
body[data-view="dashboard"] .selected-title h3,
body[data-view="dashboard"] .selected-title p {
  overflow-wrap: anywhere !important;
}

@media (max-width: 1450px) {
  body[data-view="dashboard"] .bid-content {
    grid-template-columns: minmax(0, 1fr) 330px !important;
    gap: 12px !important;
  }

  body[data-view="dashboard"] .dashboard-hero {
    grid-template-columns: 1fr !important;
  }

  body[data-view="dashboard"] .dashboard-hero .hero-copy {
    min-height: auto !important;
  }

  body[data-view="dashboard"] .dashboard-hero .hero-stats,
  body[data-view="dashboard"] .hero-source-panel {
    width: 100% !important;
  }
}

/* LYMOS overflow lock v28: no horizontal page leak in dashboard/due diligence. */
html,
body,
body.lymos-pro-user {
  width: 100% !important;
  max-width: 100% !important;
  overflow-x: clip !important;
}

@supports not (overflow: clip) {
  html,
  body,
  body.lymos-pro-user {
    overflow-x: hidden !important;
  }
}

.bid-shell,
.bid-main {
  contain: layout paint !important;
}

.bid-main > *,
.bid-content > *,
.bid-left > *,
.bid-right > * {
  max-width: 100% !important;
}

body[data-view="dashboard"] .bid-content,
body[data-view="due-diligence"] .bid-content {
  overflow: hidden !important;
}

body[data-view="dashboard"] .dashboard-hero,
body[data-view="dashboard"] .pro-kpis,
body[data-view="dashboard"] .map-board,
body[data-view="dashboard"] .selected-card,
body[data-view="due-diligence"] .selected-card,
body[data-view="due-diligence"] .risk-card,
body[data-view="due-diligence"] .calc-card,
body[data-view="due-diligence"] .side-lists {
  width: 100% !important;
  max-width: 100% !important;
  overflow: hidden !important;
}

body[data-view="due-diligence"] .bid-content {
  grid-template-columns: minmax(0, 1fr) !important;
}

@media (max-width: 1500px) {
  body[data-view="due-diligence"] .selected-card {
    grid-template-columns: 1fr !important;
  }

  body[data-view="due-diligence"] .media-hero,
  body[data-view="due-diligence"] .thumb-strip,
  body[data-view="due-diligence"] .selected-main,
  body[data-view="due-diligence"] .due-tabs,
  body[data-view="due-diligence"] .property-info-panel,
  body[data-view="due-diligence"] .fact-grid,
  body[data-view="due-diligence"] .auctioneer-panel,
  body[data-view="due-diligence"] .document-panel {
    grid-column: 1 !important;
  }

  body[data-view="due-diligence"] .media-hero {
    min-height: 360px !important;
  }
}

@media (max-width: 1320px) {
  body[data-view="dashboard"] .bid-content {
    grid-template-columns: 1fr !important;
  }

  body[data-view="dashboard"] .bid-right {
    display: none !important;
  }
}

/* LYMOS full containment and due diligence polish v29. */
html,
body,
body.lymos-pro-user {
  inline-size: 100% !important;
  max-inline-size: 100% !important;
  overflow-x: hidden !important;
}

.bid-shell {
  contain: none !important;
  inline-size: 100% !important;
  max-inline-size: 100% !important;
  overflow: visible !important;
}

.bid-main {
  contain: none !important;
  inline-size: 100% !important;
  max-inline-size: 100% !important;
  overflow-x: clip !important;
}

.pro-filters,
.dashboard-hero,
.bid-content,
.bid-left,
.bid-right,
.mvp-page,
.mvp-page > div,
.document-workspace,
.document-column,
.opps-board,
.auction-card-grid,
.map-board,
.selected-card,
.risk-card,
.calc-card,
.side-lists {
  min-inline-size: 0 !important;
  max-inline-size: 100% !important;
}

.assistant-popover {
  z-index: 99999 !important;
  isolation: isolate !important;
}

body[data-view="dashboard"] .bid-content {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 348px) !important;
}

body[data-view="dashboard"] .bid-right {
  min-width: 0 !important;
}

body[data-view="dashboard"] .selected-card {
  min-width: 0 !important;
}

body[data-view="due-diligence"] .bid-main {
  overflow-x: clip !important;
}

body[data-view="due-diligence"] .bid-content {
  inline-size: 100% !important;
  grid-template-columns: minmax(0, 1fr) !important;
  justify-content: stretch !important;
}

body[data-view="due-diligence"] .bid-right {
  inline-size: 100% !important;
  max-inline-size: 1260px !important;
  margin-inline: 0 auto !important;
}

.due-executive {
  display: grid;
  grid-template-columns: minmax(280px, 1fr) repeat(4, minmax(132px, 170px));
  gap: 12px;
  align-items: stretch;
  margin-bottom: 14px;
  padding: 16px;
  border: 1px solid #dce8e3;
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(6, 64, 53, .98), rgba(3, 41, 35, .96)),
    #063f35;
  color: #fff;
  box-shadow: 0 18px 48px rgba(7, 45, 38, .12);
}

.due-executive > div {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: 5px;
}

.due-executive span,
.due-executive small {
  color: rgba(235, 255, 248, .7);
  font-size: 10px;
  font-weight: 950;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.due-executive h1 {
  margin: 0;
  color: #fff;
  font-family: "Space Grotesk", Inter, sans-serif;
  font-size: clamp(24px, 2.1vw, 34px);
  line-height: 1.02;
  overflow-wrap: anywhere;
}

.due-executive p {
  margin: 0;
  color: rgba(235, 255, 248, .76);
  font-size: 13px;
  line-height: 1.35;
  overflow-wrap: anywhere;
}

.due-executive article {
  min-width: 0;
  display: grid;
  align-content: center;
  gap: 4px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 16px;
  background: rgba(255,255,255,.08);
  padding: 12px;
}

.due-executive strong {
  color: #fff;
  font-family: "Space Grotesk", Inter, sans-serif;
  font-size: 24px;
  line-height: 1;
  overflow-wrap: anywhere;
}

body[data-view="due-diligence"] .selected-card {
  inline-size: 100% !important;
  max-inline-size: 100% !important;
  grid-template-columns: minmax(380px, .75fr) minmax(0, 1fr) !important;
}

body[data-view="due-diligence"] .selected-card,
body[data-view="due-diligence"] .selected-card * {
  min-width: 0;
}

body[data-view="due-diligence"] .property-spec-grid {
  grid-template-columns: repeat(auto-fit, minmax(112px, 1fr)) !important;
}

body[data-view="due-diligence"] .property-location-card {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

body[data-view="due-diligence"] .fact-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body[data-view="due-diligence"] .auctioneer-panel > div,
body[data-view="due-diligence"] .doc-grid {
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr)) !important;
}

body[data-view="due-diligence"] .risk-grid,
body[data-view="due-diligence"] .calc-grid,
body[data-view="due-diligence"] .calc-results,
body[data-view="due-diligence"] .side-lists {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
}

@media (max-width: 1500px) {
  .due-executive {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .due-executive > div {
    grid-column: 1 / -1;
  }

  body[data-view="due-diligence"] .selected-card {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  .due-executive,
  body[data-view="due-diligence"] .property-location-card,
  body[data-view="due-diligence"] .fact-grid {
    grid-template-columns: 1fr !important;
  }
}

/* LYMOS BID v44: clean app chrome and commercial property ad page. */
:root {
  --lymos-sidebar: clamp(220px, 13.2vw, 252px);
  --lymos-topbar: 74px;
  --lymos-page-gap: 18px;
}

body.lymos-pro-user {
  overflow-x: hidden !important;
  background: #eef5f1 !important;
}

.bid-main {
  width: calc(100vw - var(--lymos-sidebar)) !important;
  max-width: calc(100vw - var(--lymos-sidebar)) !important;
  margin-left: var(--lymos-sidebar) !important;
  padding: calc(var(--lymos-topbar) + var(--lymos-page-gap)) clamp(16px, 2vw, 32px) 34px !important;
  box-sizing: border-box !important;
  overflow-x: clip !important;
}

.bid-topbar {
  position: fixed !important;
  inset: 0 0 auto var(--lymos-sidebar) !important;
  z-index: 1400 !important;
  height: var(--lymos-topbar) !important;
  min-height: var(--lymos-topbar) !important;
  width: auto !important;
  max-width: none !important;
  margin: 0 !important;
  padding: 10px clamp(16px, 2vw, 30px) !important;
  display: grid !important;
  grid-template-columns: auto minmax(320px, 660px) minmax(190px, 1fr) !important;
  gap: 18px !important;
  align-items: center !important;
  background: #052d26 !important;
  box-shadow: 0 10px 28px rgba(3, 30, 25, .18) !important;
  box-sizing: border-box !important;
  overflow: visible !important;
}

.bid-topbar .area-toggle {
  grid-column: 1 !important;
  grid-row: 1 !important;
  width: 178px !important;
  height: 48px !important;
  margin: 0 !important;
  flex: 0 0 auto !important;
}

.bid-topbar .global-search,
.bid-topbar .area-toggle:not([hidden]) + .global-search {
  grid-column: 2 !important;
  grid-row: 1 !important;
  width: 100% !important;
  max-width: 660px !important;
  min-width: 0 !important;
  height: 46px !important;
  margin: 0 !important;
  box-sizing: border-box !important;
}

.bid-topbar .user-actions {
  grid-column: 3 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
  gap: 10px !important;
}

.bid-topbar .user-mini {
  width: auto !important;
  min-width: 188px !important;
  max-width: 245px !important;
  height: 50px !important;
  color: #fff !important;
}

body[data-role="user"] .bid-topbar {
  grid-template-columns: minmax(280px, 720px) minmax(170px, 1fr) !important;
}

body[data-role="user"] .bid-topbar .global-search {
  grid-column: 1 !important;
}

body[data-role="user"] .bid-topbar .user-actions {
  grid-column: 2 !important;
}

.pro-filters {
  position: relative !important;
  top: auto !important;
  z-index: 20 !important;
  margin: 0 0 16px !important;
  width: 100% !important;
  box-sizing: border-box !important;
}

.advanced-filters {
  position: relative !important;
  z-index: 19 !important;
}

.dashboard-hero,
.pro-kpis,
.map-board,
.opps-board,
.mvp-page,
.bid-content {
  max-width: 100% !important;
  box-sizing: border-box !important;
}

body[data-view="dashboard"] .bid-content {
  grid-template-columns: minmax(0, 1fr) minmax(300px, 360px) !important;
  align-items: start !important;
  gap: 18px !important;
  overflow: hidden !important;
}

body[data-view="dashboard"] .bid-right {
  width: 100% !important;
  min-width: 0 !important;
  max-width: 360px !important;
  position: sticky !important;
  top: calc(var(--lymos-topbar) + 18px) !important;
  overflow: visible !important;
}

body[data-view="perfil"] .dashboard-hero,
body[data-view="perfil"] .pro-kpis,
body[data-view="perfil"] .map-board,
body[data-view="perfil"] .opps-board,
body[data-view="perfil"] .mvp-page,
body[data-view="perfil"] .pro-filters,
body[data-view="perfil"] .advanced-filters,
body[data-view="perfil"] .bid-left {
  display: none !important;
}

body[data-view="perfil"] .bid-content {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

body[data-view="perfil"] .bid-right {
  display: block !important;
  position: static !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
}

body[data-view="perfil"] #detailContent {
  width: min(1280px, 100%) !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) !important;
  gap: 16px !important;
}

.property-ad-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) repeat(4, minmax(130px, 170px)) !important;
  align-items: end !important;
  gap: 12px !important;
  padding: clamp(24px, 3.2vw, 46px) !important;
  border-radius: 26px !important;
  background: linear-gradient(135deg, #043e34 0%, #032720 76%) !important;
  color: #fff !important;
  box-shadow: 0 24px 70px rgba(5, 42, 35, .16) !important;
}

.property-ad-hero h1 {
  max-width: 820px !important;
  margin: 12px 0 10px !important;
  color: #fff !important;
  font-family: "Space Grotesk", Inter, sans-serif !important;
  font-size: clamp(34px, 4.2vw, 64px) !important;
  line-height: .96 !important;
  letter-spacing: 0 !important;
}

.property-ad-hero p {
  max-width: 780px !important;
  margin: 0 !important;
  color: rgba(235, 255, 248, .78) !important;
  font-weight: 700 !important;
}

.property-ad-hero article {
  min-height: 104px !important;
  display: grid !important;
  align-content: center !important;
  gap: 4px !important;
  border: 1px solid rgba(255,255,255,.16) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.1) !important;
  padding: 14px !important;
}

.property-ad-hero article span,
.property-ad-hero article small,
.property-ad-hero > div > span {
  color: rgba(235, 255, 248, .72) !important;
  font-size: 11px !important;
  font-weight: 950 !important;
  text-transform: uppercase !important;
}

.property-ad-hero article strong {
  color: #fff !important;
  font-size: 26px !important;
  line-height: 1 !important;
}

.profile-back {
  width: fit-content !important;
  min-height: 40px !important;
  border: 1px solid rgba(255,255,255,.24) !important;
  border-radius: 999px !important;
  background: rgba(255,255,255,.1) !important;
  color: #fff !important;
  padding: 0 16px !important;
  font-weight: 900 !important;
}

body[data-view="perfil"] .selected-card.property-profile-card {
  display: grid !important;
  grid-template-columns: minmax(420px, .95fr) minmax(0, 1.05fr) !important;
  gap: 18px !important;
  padding: 18px !important;
  border: 1px solid #dce8e3 !important;
  border-radius: 24px !important;
  background: #fff !important;
  box-shadow: 0 22px 70px rgba(7, 40, 33, .1) !important;
  overflow: visible !important;
  contain: none !important;
}

body[data-view="perfil"] .property-profile-card > header {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 2px 4px !important;
  border: 0 !important;
}

body[data-view="perfil"] .property-profile-card > header button {
  min-height: 38px !important;
  border-radius: 999px !important;
  padding: 0 14px !important;
}

body[data-view="perfil"] .media-hero {
  grid-column: 1 !important;
  min-height: 520px !important;
  height: 100% !important;
  border-radius: 20px !important;
  background-color: #d9e8e3 !important;
  background-size: cover !important;
  background-position: center !important;
}

body[data-view="perfil"] .thumb-strip {
  grid-column: 1 !important;
  padding: 0 !important;
}

body[data-view="perfil"] .selected-main,
body[data-view="perfil"] .due-tabs,
body[data-view="perfil"] .property-info-panel,
body[data-view="perfil"] .fact-grid,
body[data-view="perfil"] .auctioneer-panel,
body[data-view="perfil"] .document-panel,
body[data-view="perfil"] .decision-actions.in-card {
  grid-column: 2 !important;
  min-width: 0 !important;
}

body[data-view="perfil"] .selected-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) auto !important;
  gap: 18px !important;
  align-items: start !important;
  padding: 4px 4px 14px !important;
}

body[data-view="perfil"] .selected-main .real-photo {
  display: none !important;
}

body[data-view="perfil"] .selected-title h3 {
  font-family: "Space Grotesk", Inter, sans-serif !important;
  font-size: clamp(28px, 2.3vw, 42px) !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}

body[data-view="perfil"] .fact-grid,
body[data-view="perfil"] .property-spec-grid,
body[data-view="perfil"] .risk-grid,
body[data-view="perfil"] .calc-grid,
body[data-view="perfil"] .calc-results {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

body[data-view="perfil"] .fact-grid div,
body[data-view="perfil"] .property-spec-grid article,
body[data-view="perfil"] .auctioneer-panel,
body[data-view="perfil"] .document-panel,
body[data-view="perfil"] .risk-card,
body[data-view="perfil"] .calc-card,
body[data-view="perfil"] .side-lists section {
  border: 1px solid #dfe9e4 !important;
  border-radius: 18px !important;
  background: #fbfdfc !important;
  box-shadow: none !important;
}

body[data-view="perfil"] .risk-card,
body[data-view="perfil"] .calc-card,
body[data-view="perfil"] .side-lists {
  width: 100% !important;
  max-width: 100% !important;
}

.gallery-arrow {
  width: auto !important;
  min-width: 92px !important;
  height: 42px !important;
  min-height: 42px !important;
  padding: 0 14px !important;
  border-radius: 999px !important;
  font-size: 12px !important;
  text-transform: uppercase !important;
}

@media (max-width: 1320px) {
  .bid-topbar {
    grid-template-columns: auto minmax(240px, 1fr) auto !important;
    gap: 12px !important;
  }

  .bid-topbar .area-toggle {
    width: 160px !important;
  }

  .bid-topbar .user-mini {
    min-width: 58px !important;
    max-width: 180px !important;
  }
}

@media (max-width: 1180px) {
  :root {
    --lymos-sidebar: 84px;
    --lymos-topbar: 118px;
  }

  .bid-topbar {
    grid-template-columns: 1fr auto !important;
    grid-template-rows: auto auto !important;
    height: var(--lymos-topbar) !important;
  }

  .bid-topbar .area-toggle {
    grid-column: 1 !important;
    grid-row: 1 !important;
  }

  .bid-topbar .global-search,
  .bid-topbar .area-toggle:not([hidden]) + .global-search {
    grid-column: 1 / -1 !important;
    grid-row: 2 !important;
    max-width: none !important;
  }

  .bid-topbar .user-actions {
    grid-column: 2 !important;
    grid-row: 1 !important;
  }

  .pro-filters {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  body[data-view="perfil"] .selected-card.property-profile-card,
  .property-ad-hero {
    grid-template-columns: 1fr !important;
  }

  body[data-view="perfil"] .media-hero,
  body[data-view="perfil"] .thumb-strip,
  body[data-view="perfil"] .selected-main,
  body[data-view="perfil"] .due-tabs,
  body[data-view="perfil"] .property-info-panel,
  body[data-view="perfil"] .fact-grid,
  body[data-view="perfil"] .auctioneer-panel,
  body[data-view="perfil"] .document-panel,
  body[data-view="perfil"] .decision-actions.in-card {
    grid-column: 1 !important;
  }
}

/* LYMOS property profile v42: detail page replaces the old due diligence section. */
body[data-view="perfil"] .dashboard-hero,
body[data-view="perfil"] .pro-kpis,
body[data-view="perfil"] .map-board,
body[data-view="perfil"] .opps-board,
body[data-view="perfil"] .mvp-page,
body[data-view="perfil"] .pro-filters,
body[data-view="perfil"] .advanced-filters {
  display: none !important;
}

body[data-view="perfil"] .bid-content {
  display: block !important;
  width: 100% !important;
  max-width: min(1380px, 100%) !important;
  margin: 0 auto !important;
  overflow: visible !important;
}

body[data-view="perfil"] .bid-left {
  display: none !important;
}

body[data-view="perfil"] .bid-right {
  display: block !important;
  position: static !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

body[data-view="perfil"] .property-profile-hero {
  width: 100% !important;
  max-width: 100% !important;
  margin-bottom: 14px !important;
  border-radius: 24px !important;
  overflow: hidden !important;
}

.profile-back {
  width: fit-content;
  min-height: 38px;
  border: 1px solid rgba(255,255,255,.22);
  border-radius: 999px;
  background: rgba(255,255,255,.1);
  color: #fff;
  padding: 0 14px;
  font-size: 12px;
  font-weight: 950;
}

body[data-view="perfil"] .selected-card,
body[data-view="perfil"] .risk-card,
body[data-view="perfil"] .calc-card,
body[data-view="perfil"] .side-lists {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

body[data-view="perfil"] .selected-card {
  display: grid !important;
  grid-template-columns: minmax(360px, .78fr) minmax(0, 1.22fr) !important;
  align-items: start !important;
  border-radius: 24px !important;
  contain: layout paint;
}

body[data-view="perfil"] .selected-card > * {
  min-width: 0;
}

body[data-view="perfil"] .selected-card > header,
body[data-view="perfil"] .decision-actions.in-card {
  grid-column: 1 / -1 !important;
}

body[data-view="perfil"] .media-hero {
  grid-column: 1 !important;
  grid-row: 2 / span 7 !important;
  min-height: 520px !important;
  height: auto !important;
  border-radius: 0 !important;
  overflow: hidden !important;
}

body[data-view="perfil"] .thumb-strip {
  grid-column: 1 !important;
  padding: 12px 16px !important;
  background: #fff !important;
}

body[data-view="perfil"] .selected-main,
body[data-view="perfil"] .due-tabs,
body[data-view="perfil"] .property-info-panel,
body[data-view="perfil"] .fact-grid,
body[data-view="perfil"] .auctioneer-panel,
body[data-view="perfil"] .document-panel {
  grid-column: 2 !important;
}

body[data-view="perfil"] .fact-grid,
body[data-view="perfil"] .property-spec-grid,
body[data-view="perfil"] .auctioneer-panel > div,
body[data-view="perfil"] .calc-grid,
body[data-view="perfil"] .calc-results,
body[data-view="perfil"] .risk-grid {
  min-width: 0 !important;
}

body[data-view="perfil"] .fact-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  overflow: visible !important;
}

body[data-view="perfil"] .fact-grid div,
body[data-view="perfil"] .property-spec-grid article,
body[data-view="perfil"] .auctioneer-panel,
body[data-view="perfil"] .document-panel,
body[data-view="perfil"] .calc-card,
body[data-view="perfil"] .risk-card {
  min-width: 0 !important;
}

body[data-view="perfil"] .selected-main {
  grid-template-columns: minmax(0, 1fr) auto !important;
}

body[data-view="perfil"] .selected-main .real-photo {
  display: none !important;
}

body[data-view="perfil"] .selected-title {
  min-width: 0 !important;
}

body[data-view="perfil"] .fact-grid strong,
body[data-view="perfil"] .selected-title h3,
body[data-view="perfil"] .selected-title p,
body[data-view="perfil"] .auctioneer-panel b,
body[data-view="perfil"] .doc-pill strong,
body[data-view="perfil"] .doc-pill span {
  overflow-wrap: anywhere;
  word-break: normal;
}

body[data-view="perfil"] .decision-actions {
  position: static !important;
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  padding: 16px !important;
  border-top: 1px solid #e4ebe7 !important;
  background: #fff !important;
}

body[data-view="perfil"] .decision-actions button {
  min-width: 0 !important;
}

@media (max-width: 980px) {
  body[data-view="perfil"] .selected-card {
    grid-template-columns: 1fr !important;
  }

  body[data-view="perfil"] .media-hero,
  body[data-view="perfil"] .thumb-strip,
  body[data-view="perfil"] .selected-main,
  body[data-view="perfil"] .due-tabs,
  body[data-view="perfil"] .property-info-panel,
  body[data-view="perfil"] .fact-grid,
  body[data-view="perfil"] .auctioneer-panel,
  body[data-view="perfil"] .document-panel {
    grid-column: 1 !important;
  }

  body[data-view="perfil"] .media-hero {
    grid-row: auto !important;
    min-height: 360px !important;
  }

  body[data-view="perfil"] .fact-grid,
  body[data-view="perfil"] .property-spec-grid,
  body[data-view="perfil"] .decision-actions {
    grid-template-columns: 1fr !important;
  }
}

/* LYMOS hard containment v30: dashboard compact detail, due page full detail. */
:root {
  --lymos-sidebar: clamp(86px, 13.125vw, 252px);
}

html,
body,
body.lymos-pro-user {
  width: 100% !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}

.bid-shell {
  width: 100% !important;
  max-width: 100vw !important;
  min-width: 0 !important;
  grid-template-columns: var(--lymos-sidebar) minmax(0, 1fr) !important;
  overflow: hidden !important;
}

.bid-sidebar {
  width: var(--lymos-sidebar) !important;
  max-width: var(--lymos-sidebar) !important;
  min-width: 0 !important;
}

.bid-main {
  width: 100% !important;
  max-width: calc(100vw - var(--lymos-sidebar)) !important;
  min-width: 0 !important;
  overflow-x: hidden !important;
}

.bid-topbar,
.pro-filters,
.dashboard-hero,
.bid-content,
.bid-left,
.bid-right,
.bid-right > div,
#detailContent,
.selected-card,
.map-board,
.opps-board,
.mvp-page,
.mvp-page > div {
  min-width: 0 !important;
  max-width: 100% !important;
}

body:not([data-view="due-diligence"]) .due-executive {
  display: none !important;
}

body[data-view="dashboard"] .bid-content {
  width: 100% !important;
  grid-template-columns: minmax(0, 1fr) minmax(286px, 348px) !important;
  overflow: visible !important;
}

body[data-view="dashboard"] .bid-right {
  width: 100% !important;
  max-width: 348px !important;
  overflow: hidden !important;
  position: sticky !important;
  top: 82px !important;
}

body[data-view="dashboard"] #detailContent {
  width: 100% !important;
  overflow: hidden !important;
}

body[data-view="dashboard"] .selected-card {
  width: 100% !important;
  max-width: 100% !important;
  display: block !important;
  overflow: hidden !important;
  border-radius: 18px !important;
}

body[data-view="dashboard"] .selected-card .media-hero,
body[data-view="dashboard"] .selected-card .selected-main,
body[data-view="dashboard"] .selected-card .fact-grid,
body[data-view="dashboard"] .selected-card .property-info-panel,
body[data-view="dashboard"] .selected-card .auctioneer-panel,
body[data-view="dashboard"] .selected-card .document-panel,
body[data-view="dashboard"] .selected-card .decision-actions.in-card {
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body[data-view="dashboard"] .selected-card .due-tabs,
body[data-view="dashboard"] .selected-card .property-info-panel,
body[data-view="dashboard"] .selected-card .auctioneer-panel,
body[data-view="dashboard"] .selected-card .document-panel {
  display: none !important;
}

body[data-view="dashboard"] .selected-card .media-hero {
  height: 132px !important;
  min-height: 132px !important;
  margin: 0 14px !important;
  border-radius: 14px !important;
}

body[data-view="dashboard"] .selected-card .selected-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 72px !important;
  gap: 12px !important;
  padding: 14px !important;
}

body[data-view="dashboard"] .selected-card .real-photo {
  display: none !important;
}

body[data-view="dashboard"] .selected-card .selected-title {
  min-width: 0 !important;
}

body[data-view="dashboard"] .selected-card .selected-title h3,
body[data-view="dashboard"] .selected-card .selected-title p {
  max-width: 100% !important;
  overflow-wrap: anywhere !important;
}

body[data-view="dashboard"] .selected-card .selected-title h3 {
  display: -webkit-box !important;
  -webkit-line-clamp: 3;
  -webkit-box-orient: vertical;
  overflow: hidden !important;
}

body[data-view="dashboard"] .selected-card .fact-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  padding: 0 14px 14px !important;
}

body[data-view="dashboard"] .selected-card .fact-grid div {
  min-width: 0 !important;
  padding: 10px !important;
}

body[data-view="dashboard"] .selected-card .fact-grid strong {
  overflow-wrap: anywhere !important;
  font-size: 12px !important;
}

body[data-view="dashboard"] .selected-card .decision-actions.in-card {
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 8px !important;
  padding: 0 14px 14px !important;
}

body[data-view="due-diligence"] .bid-content {
  width: 100% !important;
  max-width: 100% !important;
  grid-template-columns: minmax(0, 1fr) !important;
  justify-content: stretch !important;
  overflow: visible !important;
}

body[data-view="due-diligence"] .bid-right {
  width: 100% !important;
  max-width: 1280px !important;
  justify-self: start !important;
  overflow: visible !important;
}

body[data-view="due-diligence"] #detailContent {
  width: 100% !important;
  max-width: 100% !important;
}

body[data-view="due-diligence"] .selected-card,
body[data-view="due-diligence"] .risk-card,
body[data-view="due-diligence"] .calc-card,
body[data-view="due-diligence"] .side-lists {
  width: 100% !important;
  max-width: 100% !important;
}

body[data-view="due-diligence"] .selected-card {
  overflow: hidden !important;
}

.assistant-popover {
  z-index: 2147483000 !important;
}

@media (max-width: 1320px) {
  body[data-view="dashboard"] .bid-content {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  body[data-view="dashboard"] .bid-right {
    display: none !important;
  }
}

@media (max-width: 1180px) {
  :root {
    --lymos-sidebar: 86px;
  }
}

/* LYMOS app chrome v31: fixed sidebar/topbar with contained content flow. */
:root {
  --lymos-sidebar: clamp(86px, 13.125vw, 252px);
  --lymos-topbar: 66px;
  --lymos-main-pad: 26px;
}

body.lymos-pro-user {
  overflow-x: hidden !important;
  background: #eef5f1 !important;
}

.bid-shell {
  display: block !important;
  width: 100% !important;
  max-width: 100vw !important;
  min-height: 100vh !important;
  overflow: visible !important;
}

.bid-sidebar {
  position: fixed !important;
  inset: 0 auto 0 0 !important;
  z-index: 1200 !important;
  width: var(--lymos-sidebar) !important;
  height: 100dvh !important;
  max-height: 100dvh !important;
  overflow-x: hidden !important;
  overflow-y: auto !important;
  scrollbar-gutter: stable !important;
}

.bid-sidebar::-webkit-scrollbar {
  width: 6px !important;
}

.bid-sidebar::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, .18) !important;
  border-radius: 999px !important;
}

.bid-main {
  position: relative !important;
  width: calc(100vw - var(--lymos-sidebar)) !important;
  max-width: calc(100vw - var(--lymos-sidebar)) !important;
  min-height: 100vh !important;
  margin-left: var(--lymos-sidebar) !important;
  padding: calc(var(--lymos-topbar) + 14px) var(--lymos-main-pad) 28px !important;
  overflow: visible !important;
}

.bid-topbar {
  position: fixed !important;
  top: 0 !important;
  right: 0 !important;
  left: var(--lymos-sidebar) !important;
  z-index: 1100 !important;
  width: auto !important;
  height: var(--lymos-topbar) !important;
  margin: 0 !important;
  padding: 0 30px !important;
  display: grid !important;
  grid-template-columns: auto minmax(300px, 640px) minmax(220px, 1fr) !important;
  align-items: center !important;
  gap: 22px !important;
  background: #052d26 !important;
  box-shadow: 0 12px 30px rgba(4, 34, 29, .16) !important;
}

.pro-filters {
  position: sticky !important;
  top: calc(var(--lymos-topbar) + 10px) !important;
  z-index: 900 !important;
  width: 100% !important;
  margin: 0 0 16px !important;
}

.dashboard-hero,
.bid-content,
.mvp-page {
  width: 100% !important;
}

.user-actions {
  min-width: 0 !important;
  justify-self: end !important;
}

.user-mini {
  max-width: 220px !important;
}

.global-search {
  min-width: 0 !important;
}

.global-search input {
  min-width: 0 !important;
}

.top-popover,
.assistant-popover {
  z-index: 2147483000 !important;
}

@media (max-width: 1450px) {
  .bid-topbar {
    grid-template-columns: auto minmax(260px, 520px) minmax(190px, 1fr) !important;
    gap: 14px !important;
    padding-inline: 18px !important;
  }

  .user-mini {
    max-width: 190px !important;
  }
}

@media (max-width: 1180px) {
  :root {
    --lymos-sidebar: 86px;
    --lymos-main-pad: 18px;
  }

  .bid-topbar {
    grid-template-columns: auto minmax(220px, 1fr) auto !important;
  }
}

/* LYMOS auth v1: premium login and verified signup. */
.auth-body {
  min-height: 100vh;
  margin: 0;
  display: grid;
  place-items: center;
  overflow-x: hidden;
  background:
    radial-gradient(circle at 16% 12%, rgba(17, 185, 128, .18), transparent 28%),
    radial-gradient(circle at 88% 80%, rgba(9, 152, 102, .14), transparent 32%),
    linear-gradient(135deg, #031b18 0%, #07362f 48%, #eef5f1 48.2%, #f8fbfa 100%);
  color: #10231e;
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

/* LYMOS auth v2: institutional login aligned with the auction system. */
.auth-body {
  background:
    linear-gradient(90deg, #062f28 0%, #062f28 43%, #f2f7f4 43%, #f8fbfa 100%);
}

.auth-shell {
  width: min(1240px, calc(100vw - 42px));
  min-height: 720px;
  grid-template-columns: minmax(0, 1.15fr) 460px;
}

.auth-brand {
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.06), transparent 42%),
    linear-gradient(160deg, #063f35, #021f1b 78%);
}

.auth-brand::after {
  right: 34px;
  bottom: 34px;
  width: 260px;
  border-radius: 28px;
  border-color: rgba(255,255,255,.08);
  background:
    linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.02));
  transform: rotate(-8deg);
}

.auth-logo {
  font-size: 36px;
}

.auth-copy h1 {
  max-width: 760px;
  font-size: clamp(44px, 5.4vw, 76px);
}

.auth-card {
  border-radius: 22px;
  background: #ffffff;
  box-shadow: 0 28px 80px rgba(4, 31, 26, .13);
}

.auth-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 2px 0 4px;
}

.auth-steps span {
  min-height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid #dce9e4;
  border-radius: 999px;
  background: #f7fbf9;
  color: #687872;
  font-size: 11px;
  font-weight: 950;
}

.auth-steps span.active {
  border-color: rgba(0, 145, 101, .25);
  background: #e6f8f1;
  color: #007f5d;
}

.auth-step {
  display: none;
  gap: 14px;
}

.auth-step.active {
  display: grid;
}

.auth-primary,
.auth-secondary,
.auth-form input {
  border-radius: 12px;
}

.auth-shell {
  width: min(1180px, calc(100vw - 44px));
  min-height: 680px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 430px;
  gap: 18px;
  align-items: stretch;
}

.auth-brand,
.auth-card {
  border: 1px solid rgba(221, 234, 229, .9);
  border-radius: 28px;
  box-shadow: 0 28px 80px rgba(4, 31, 26, .18);
}

.auth-brand {
  position: relative;
  overflow: hidden;
  display: grid;
  align-content: space-between;
  padding: 34px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.06), transparent 36%),
    linear-gradient(145deg, rgba(4, 70, 58, .98), rgba(2, 33, 29, .98));
  color: #fff;
}

.auth-brand::after {
  content: "";
  position: absolute;
  right: -18%;
  bottom: -22%;
  width: 58%;
  aspect-ratio: 1;
  border-radius: 50%;
  border: 1px solid rgba(255,255,255,.1);
  background: radial-gradient(circle, rgba(19, 199, 137, .18), transparent 62%);
}

.auth-logo {
  position: relative;
  z-index: 1;
  display: grid;
  justify-items: start;
  gap: 2px;
  color: #fff;
  font-size: 32px;
  font-weight: 950;
  letter-spacing: -.03em;
}

.auth-logo b {
  color: #18c98b;
}

.auth-logo span {
  color: rgba(235,255,248,.66);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .18em;
  text-transform: uppercase;
}

.auth-copy {
  position: relative;
  z-index: 1;
  max-width: 680px;
}

.auth-copy span,
.auth-kicker {
  display: inline-grid;
  min-height: 28px;
  place-items: center;
  border: 1px solid rgba(166, 255, 221, .28);
  border-radius: 999px;
  color: #a8f8d7;
  padding: 0 12px;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.auth-copy h1 {
  margin-top: 22px;
  max-width: 720px;
  color: #fff;
  font-family: "Space Grotesk", Inter, sans-serif;
  font-size: clamp(42px, 5vw, 70px);
  line-height: .95;
  letter-spacing: 0;
}

.auth-copy p {
  margin-top: 18px;
  max-width: 590px;
  color: rgba(235,255,248,.72);
  font-size: 16px;
  line-height: 1.55;
}

.auth-proof {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}

.auth-proof article {
  min-height: 94px;
  display: grid;
  align-content: center;
  gap: 4px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  background: rgba(255,255,255,.075);
  padding: 14px;
}

.auth-proof strong {
  color: #fff;
  font-family: "Space Grotesk", Inter, sans-serif;
  font-size: 26px;
}

.auth-proof span {
  color: rgba(235,255,248,.68);
  font-size: 12px;
  line-height: 1.35;
}

.auth-card {
  display: grid;
  align-content: center;
  background: rgba(255,255,255,.94);
  padding: 22px;
}

.auth-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-bottom: 18px;
  padding: 5px;
  border: 1px solid #dce8e3;
  border-radius: 16px;
  background: #f5faf7;
}

.auth-tabs button {
  min-height: 42px;
  border: 0;
  border-radius: 12px;
  background: transparent;
  color: #5d6f68;
  font-size: 13px;
  font-weight: 950;
}

.auth-tabs button.active {
  background: linear-gradient(135deg, #12bd83, #078b62);
  color: #fff;
  box-shadow: 0 12px 28px rgba(3, 142, 95, .22);
}

.auth-form {
  display: none;
  gap: 14px;
}

.auth-form.active {
  display: grid;
}

.auth-form h2 {
  margin: 8px 0 0;
  color: #0c211c;
  font-family: "Space Grotesk", Inter, sans-serif;
  font-size: 34px;
  line-height: 1;
}

.auth-form p {
  margin-top: 8px;
  color: #64736e;
  font-size: 13px;
  line-height: 1.45;
}

.auth-form label {
  display: grid;
  gap: 7px;
  color: #596963;
  font-size: 11px;
  font-weight: 950;
  text-transform: uppercase;
}

.auth-form input {
  width: 100%;
  min-height: 48px;
  border: 1px solid #d8e5df;
  border-radius: 14px;
  background: #fff;
  color: #0b201b;
  padding: 0 14px;
  font-size: 14px;
  font-weight: 750;
  outline: none;
}

.auth-form input:focus {
  border-color: #0a9a6d;
  box-shadow: 0 0 0 4px rgba(10, 154, 109, .12);
}

.auth-code-grid {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 12px;
}

.auth-primary,
.auth-secondary {
  min-height: 48px;
  border-radius: 14px;
  font-size: 13px;
  font-weight: 950;
}

.auth-primary {
  border: 0;
  background: linear-gradient(135deg, #10b97f, #07875f);
  color: #fff;
  box-shadow: 0 16px 34px rgba(3, 142, 95, .2);
}

.auth-secondary {
  border: 1px solid #cfe5dc;
  background: #eefaf5;
  color: #007e59;
}

.auth-feedback {
  min-height: 20px;
  color: #006f54 !important;
  font-size: 12px !important;
  font-weight: 800;
}

.users-admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
}

.admin-users-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #dce9e4;
  border-radius: 18px;
  background: #fff;
}

.admin-users-card header {
  min-height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border-bottom: 1px solid #e5eee9;
  background: linear-gradient(180deg, #fbfefd, #f5fbf8);
}

.admin-users-card h3 {
  font-family: "Space Grotesk", Inter, sans-serif;
  font-size: 18px;
}

.admin-users-card header span {
  color: #00875f;
  font-size: 12px;
  font-weight: 950;
}

.admin-user-table {
  display: grid;
}

.admin-user-table article {
  min-width: 0;
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) 76px 74px 130px;
  gap: 10px;
  align-items: center;
  padding: 12px 14px;
  border-bottom: 1px solid #edf2ef;
}

.admin-user-table article:last-child {
  border-bottom: 0;
}

.admin-user-table article > span {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: #e7f8f1;
  color: #007f5c;
  font-size: 11px;
  font-weight: 950;
}

.admin-user-table strong {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: 13px;
}

.admin-user-table small {
  display: block;
  overflow: hidden;
  color: #66736e;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-user-table em,
.admin-user-table b {
  justify-self: start;
  border-radius: 999px;
  background: #eefaf5;
  color: #007f5c;
  padding: 5px 9px;
  font-size: 11px;
  font-style: normal;
}

.admin-user-table b {
  background: #f5f7f5;
  color: #56655f;
}

.admin-user-table time {
  color: #66736e;
  font-size: 11px;
}

.admin-user-table .needs-approval {
  grid-template-columns: 42px minmax(0, 1fr) 74px minmax(150px, auto) 130px;
}

.approval-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.approval-actions button {
  min-height: 34px;
  border: 1px solid #cfe3dc;
  border-radius: 10px;
  background: #fff;
  color: #063f35;
  padding: 0 10px;
  font-size: 11px;
  font-weight: 900;
}

.approval-actions button:first-child {
  border-color: transparent;
  background: #009365;
  color: #fff;
}

.approval-actions button:disabled {
  opacity: .55;
}

@media (max-width: 980px) {
  .auth-shell,
  .users-admin-grid {
    grid-template-columns: 1fr;
  }

  .auth-brand {
    min-height: 460px;
  }

  .auth-proof,
  .auth-code-grid {
    grid-template-columns: 1fr;
  }
}

/* Final auth overrides for the hosted PHP build. */
.auth-body {
  background:
    linear-gradient(90deg, #062f28 0%, #062f28 43%, #f2f7f4 43%, #f8fbfa 100%);
}

.auth-shell {
  width: min(1240px, calc(100vw - 42px));
  min-height: 720px;
  grid-template-columns: minmax(0, 1.15fr) 460px;
}

.auth-brand {
  border-radius: 22px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.06), transparent 42%),
    linear-gradient(160deg, #063f35, #021f1b 78%);
}

.auth-brand::after {
  right: 34px;
  bottom: 34px;
  width: 260px;
  border-radius: 28px;
  border-color: rgba(255,255,255,.08);
  background: linear-gradient(135deg, rgba(255,255,255,.12), rgba(255,255,255,.02));
  transform: rotate(-8deg);
}

.auth-card {
  border-radius: 22px;
  background: #fff;
}

.auth-steps {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin: 2px 0 4px;
}

.auth-steps span {
  min-height: 34px;
  display: grid;
  place-items: center;
  border: 1px solid #dce9e4;
  border-radius: 999px;
  background: #f7fbf9;
  color: #687872;
  font-size: 11px;
  font-weight: 950;
}

.auth-steps span.active {
  border-color: rgba(0, 145, 101, .25);
  background: #e6f8f1;
  color: #007f5d;
}

.auth-step {
  display: none;
  gap: 14px;
}

.auth-step.active {
  display: grid;
}

@media (max-width: 980px) {
  .auth-body {
    background: #f4f8f6;
  }

  .auth-shell {
    grid-template-columns: 1fr;
    min-height: auto;
  }
}

/* Mobile accessibility and touch ergonomics for the hosted client area. */
@media (max-width: 760px) {
  html,
  body {
    width: 100%;
    max-width: 100%;
    overflow-x: hidden;
    -webkit-text-size-adjust: 100%;
  }

  button,
  a,
  select,
  input,
  textarea {
    min-height: 44px;
  }

  .auth-body {
    display: block;
    padding: 14px;
  }

  .auth-shell {
    width: 100%;
    gap: 12px;
  }

  .auth-brand,
  .auth-card {
    border-radius: 18px;
    padding: 20px;
  }

  .auth-brand {
    min-height: auto;
    gap: 34px;
  }

  .auth-logo {
    font-size: 28px;
  }

  .auth-copy h1 {
    font-size: 38px;
    line-height: 1;
  }

  .auth-copy p {
    font-size: 14px;
  }

  .auth-proof {
    grid-template-columns: 1fr;
  }

  .auth-tabs,
  .auth-steps {
    position: sticky;
    top: 0;
    z-index: 2;
  }

  .bid-shell,
  .app-shell {
    display: block !important;
    width: 100% !important;
    overflow-x: hidden !important;
  }

  .bid-sidebar,
  .sidebar {
    position: sticky !important;
    top: 0 !important;
    z-index: 30 !important;
    width: 100% !important;
    max-width: none !important;
    height: auto !important;
    max-height: 44vh !important;
    overflow-y: auto !important;
    border-radius: 0 0 18px 18px !important;
  }

  .bid-logo,
  .brand {
    margin-bottom: 12px !important;
  }

  .bid-nav,
  .nav-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
  }

  .bid-nav .nav-section,
  .saved-filters,
  .sidebar-assistant,
  .side-bottom,
  .sidebar-card {
    display: none !important;
  }

  .bid-nav a,
  .nav-list a,
  .nav-list button {
    min-height: 46px !important;
    padding: 10px 12px !important;
    border-radius: 12px !important;
    font-size: 13px !important;
  }

  .bid-main,
  .workspace {
    width: 100% !important;
    max-width: 100% !important;
    padding: 12px !important;
    overflow-x: hidden !important;
  }

  .bid-topbar,
  .topbar {
    position: static !important;
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 10px !important;
    width: 100% !important;
    padding: 12px !important;
    border-radius: 16px !important;
  }

  .global-search {
    width: 100% !important;
    min-width: 0 !important;
  }

  .global-search kbd {
    display: none !important;
  }

  .user-actions,
  .top-actions {
    width: 100% !important;
    justify-content: stretch !important;
  }

  .user-mini {
    max-width: none !important;
    width: 100% !important;
  }

  .pro-filters,
  .admin-form,
  .source-form,
  .source-edit-form,
  .pro-kpis,
  .users-admin-grid,
  .admin-grid,
  .dashboard-hero {
    grid-template-columns: 1fr !important;
    width: 100% !important;
  }

  .pro-filters {
    position: static !important;
    padding: 12px !important;
    gap: 10px !important;
    border-radius: 16px !important;
  }

  .dashboard-hero,
  .map-board,
  .opps-board,
  .panel,
  .admin-users-card {
    max-width: 100% !important;
    overflow: hidden !important;
    border-radius: 16px !important;
  }

  .hero-copy h1 {
    font-size: 32px !important;
    line-height: 1.05 !important;
  }

  .map-stage,
  .real-map,
  #realMap {
    min-height: 68vh !important;
    height: 68vh !important;
  }

  .map-control-stack {
    top: 12px !important;
    left: 12px !important;
  }

  .property-card,
  .auction-card,
  .opportunity-card {
    width: 100% !important;
    max-width: 100% !important;
  }

  .admin-user-table article,
  .admin-user-table .needs-approval {
    grid-template-columns: 38px minmax(0, 1fr) !important;
    align-items: start !important;
  }

  .admin-user-table article em,
  .admin-user-table article b,
  .admin-user-table article time,
  .approval-actions {
    grid-column: 2 !important;
  }

  .approval-actions button {
    flex: 1 1 120px;
  }
}

/* LYMOS commercial polish v40: final login, admin and mobile containment layer. */
.auth-body {
  min-height: 100svh !important;
  padding: clamp(14px, 2.2vw, 28px) !important;
  display: grid !important;
  place-items: center !important;
  background:
    radial-gradient(circle at 18% 18%, rgba(21, 205, 144, .18), transparent 26%),
    linear-gradient(125deg, #021b17 0%, #06392f 45%, #f3f8f5 45.2%, #ffffff 100%) !important;
  overflow-x: hidden !important;
}

.auth-shell {
  width: min(1180px, 100%) !important;
  min-height: min(720px, calc(100svh - 56px)) !important;
  display: grid !important;
  grid-template-columns: minmax(0, 1.05fr) minmax(380px, 440px) !important;
  gap: 18px !important;
  align-items: stretch !important;
}

.auth-brand-pro {
  isolation: isolate;
  min-height: 620px;
}

.auth-motion {
  position: absolute;
  inset: 0;
  z-index: 0;
  pointer-events: none;
  overflow: hidden;
}

.auth-motion span {
  position: absolute;
  width: 13px;
  height: 13px;
  border-radius: 999px;
  background: #16c98b;
  opacity: .75;
  animation: lymosFloat 9s ease-in-out infinite;
}

.auth-motion span:nth-child(1) { left: 18%; top: 25%; }
.auth-motion span:nth-child(2) { right: 24%; top: 18%; animation-delay: -2s; background: #f0a61c; }
.auth-motion span:nth-child(3) { right: 18%; bottom: 25%; animation-delay: -4s; }

@keyframes lymosFloat {
  0%, 100% { transform: translate3d(0, 0, 0) scale(1); }
  45% { transform: translate3d(18px, -22px, 0) scale(1.35); }
}

.auth-showcase {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: 1.35fr 1fr 1fr 1fr;
  gap: 10px;
}

.auth-showcase article {
  min-height: 104px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 20px;
  background: rgba(255,255,255,.08);
  padding: 15px;
  display: grid;
  align-content: center;
  gap: 6px;
  backdrop-filter: blur(12px);
}

.auth-showcase strong {
  color: #fff;
  font-family: "Space Grotesk", Inter, sans-serif;
  font-size: 18px;
  line-height: 1;
}

.auth-showcase span {
  color: rgba(238, 255, 249, .7);
  font-size: 12px;
  line-height: 1.35;
}

.auth-map-card {
  position: relative;
  min-height: 126px !important;
  overflow: hidden;
}

.mini-map-grid {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(rgba(255,255,255,.07) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.07) 1px, transparent 1px),
    radial-gradient(circle at 35% 60%, rgba(19, 201, 139, .28), transparent 35%);
  background-size: 34px 34px, 34px 34px, 100% 100%;
}

.mini-pin {
  position: absolute;
  width: 18px;
  height: 18px;
  border: 4px solid rgba(255,255,255,.92);
  border-radius: 999px 999px 999px 0;
  background: #11b77d;
  transform: rotate(-45deg);
}

.pin-a { left: 22%; top: 38%; }
.pin-b { left: 58%; top: 24%; background: #f0a61c; }
.pin-c { left: 72%; top: 62%; }

.auth-card {
  min-width: 0 !important;
  border: 1px solid rgba(214, 229, 224, .95) !important;
  box-shadow: 0 30px 90px rgba(7, 49, 41, .14) !important;
}

.auth-kicker {
  width: fit-content;
  border-color: #d7eee5 !important;
  background: #effaf5 !important;
  color: #00835e !important;
}

.auth-primary,
.auth-secondary,
.auth-tabs button {
  transition: transform .18s ease, box-shadow .18s ease, border-color .18s ease;
}

.auth-primary:hover,
.auth-secondary:hover,
.auth-tabs button:hover {
  transform: translateY(-1px);
}

.auth-primary:disabled,
.auth-secondary:disabled,
.auth-form input:disabled {
  opacity: .62;
  cursor: not-allowed;
}

.app-shell {
  width: 100%;
  max-width: 100vw;
  overflow-x: clip;
}

.workspace {
  width: 100%;
  max-width: calc(100vw - 276px);
  overflow-x: clip;
}

.sidebar .nav-item {
  gap: 10px;
}

.sidebar .nav-item::before {
  width: 30px;
  height: 30px;
  flex: 0 0 30px;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.16);
  border-radius: 10px;
  background: rgba(255,255,255,.08);
  color: #d7fff1;
  font-size: 13px;
  font-weight: 950;
}

.sidebar .nav-item[data-admin-icon="overview"]::before { content: "VG"; }
.sidebar .nav-item[data-admin-icon="import"]::before { content: "IM"; }
.sidebar .nav-item[data-admin-icon="home"]::before { content: "IP"; }
.sidebar .nav-item[data-admin-icon="source"]::before { content: "PE"; }
.sidebar .nav-item[data-admin-icon="users"]::before { content: "CL"; }
.sidebar .nav-item[data-admin-icon="panel"]::before { content: "PU"; }
.sidebar .nav-button::before { content: "SA"; }

.admin-kpis article,
.ops-hero,
.panel,
.admin-users-card {
  border-radius: 22px !important;
}

.ops-hero {
  display: grid !important;
  grid-template-columns: minmax(0, .9fr) minmax(420px, 1.1fr) !important;
  gap: 18px !important;
  align-items: stretch !important;
  padding: clamp(18px, 2vw, 28px) !important;
  background:
    linear-gradient(135deg, rgba(11, 83, 69, .96), rgba(4, 45, 38, .98)),
    #053c33 !important;
  color: #fff !important;
  overflow: hidden;
}

.ops-hero .label,
.ops-hero p,
.pipeline-step small {
  color: rgba(238,255,249,.72) !important;
}

.ops-hero h2 {
  max-width: 680px;
  color: #fff;
  font-family: "Space Grotesk", Inter, sans-serif;
  font-size: clamp(28px, 3vw, 46px);
  line-height: 1;
}

.ops-pipeline {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

.pipeline-step {
  min-height: 132px;
  border: 1px solid rgba(255,255,255,.13) !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.08) !important;
  padding: 15px !important;
}

.pipeline-step b {
  width: 36px;
  height: 36px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: rgba(255,255,255,.12);
  color: #fff;
}

.pipeline-step.done b,
.pipeline-step.active b {
  background: #12b981;
}

.source-card-managed,
.job-row,
.log-row,
.quality-row {
  border-radius: 16px !important;
}

.source-actions {
  flex-wrap: wrap;
}

.source-edit-form {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.users-admin-grid {
  align-items: stretch;
}

.admin-user-table article {
  min-width: 0;
}

.admin-user-table strong,
.admin-user-table small,
.admin-user-table em,
.admin-user-table b,
.admin-user-table time {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.rich-empty {
  min-height: 150px;
  display: grid !important;
  align-content: center;
  gap: 7px;
  padding: 24px !important;
  color: #60716a;
}

.rich-empty strong {
  color: #0d241f;
  font-size: 18px;
}

.muted-actions button {
  opacity: .58;
}

@media (max-width: 1180px) {
  .app-shell {
    grid-template-columns: 92px minmax(0, 1fr) !important;
  }

  .workspace {
    max-width: calc(100vw - 92px) !important;
    padding: 18px !important;
  }

  .sidebar {
    width: 92px !important;
    padding: 18px 10px !important;
    gap: 18px !important;
  }

  .sidebar .brand span,
  .sidebar .nav-item:not(.active),
  .sidebar-card {
    font-size: 0;
  }

  .sidebar .nav-item {
    justify-content: center;
    padding: 0 !important;
  }

  .sidebar .nav-item.active {
    font-size: 0;
  }
}

@media (max-width: 980px) {
  .auth-shell {
    grid-template-columns: 1fr !important;
    min-height: auto !important;
  }

  .auth-brand-pro {
    min-height: auto !important;
  }

  .auth-showcase {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .ops-hero,
  .admin-grid,
  .admin-grid-polished,
  .users-admin-grid,
  .source-edit-form {
    grid-template-columns: 1fr !important;
  }
}

@media (max-width: 760px) {
  .auth-body {
    padding: 10px !important;
    display: block !important;
    background: #f3f8f5 !important;
  }

  .auth-brand,
  .auth-card {
    padding: 18px !important;
    border-radius: 20px !important;
  }

  .auth-copy h1 {
    font-size: clamp(34px, 11vw, 48px) !important;
  }

  .auth-showcase {
    grid-template-columns: 1fr !important;
  }

  .app-shell {
    display: block !important;
  }

  .sidebar {
    position: sticky !important;
    top: 0 !important;
    z-index: 40 !important;
    width: 100% !important;
    height: auto !important;
    max-height: 46svh !important;
    overflow-y: auto !important;
    border-radius: 0 0 18px 18px !important;
  }

  .sidebar .brand span,
  .sidebar .nav-item,
  .sidebar .nav-item.active {
    font-size: 13px !important;
  }

  .sidebar .nav-list {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .sidebar .nav-item {
    justify-content: flex-start !important;
    padding: 0 10px !important;
  }

  .workspace {
    max-width: 100% !important;
    padding: 12px !important;
  }

  .mode-switch {
    width: 100%;
  }

  .mode-pill {
    flex: 1;
    justify-content: center;
  }

  .admin-kpis {
    grid-template-columns: 1fr !important;
  }

  .ops-pipeline {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }

  .source-form,
  .admin-form,
  .source-edit-form {
    grid-template-columns: 1fr !important;
  }

  .span-2 {
    grid-column: auto !important;
  }

  .admin-user-table article,
  .admin-user-table .needs-approval {
    grid-template-columns: 42px minmax(0, 1fr) !important;
  }

  .admin-user-table article > *:not(span):not(strong) {
    grid-column: 2 !important;
  }
}

/* LYMOS user polish v41: sellable dashboard, lighter filters and functional advanced panel. */
body[data-role="user"] .area-toggle {
  display: none !important;
}

.lymos-pro-user .bid-main > * {
  opacity: 0;
  transform: translateY(10px);
}

.lymos-pro-user.is-ready .bid-main > * {
  opacity: 1;
  transform: translateY(0);
  transition: opacity .45s ease, transform .45s ease;
}

.lymos-pro-user.is-ready .bid-main > *:nth-child(2) { transition-delay: .05s; }
.lymos-pro-user.is-ready .bid-main > *:nth-child(3) { transition-delay: .1s; }
.lymos-pro-user.is-ready .bid-main > *:nth-child(4) { transition-delay: .15s; }

.is-loading-data .bid-main::before {
  background:
    linear-gradient(90deg, transparent, rgba(18, 185, 127, .16), transparent),
    rgba(255,255,255,.72) !important;
  color: #006f54 !important;
  content: "Preparando seu painel LYMOS BID..." !important;
}

.bid-topbar {
  grid-template-columns: minmax(380px, 720px) auto !important;
  justify-content: space-between !important;
  min-height: 72px !important;
}

.bid-topbar .global-search {
  grid-column: 1;
  width: min(720px, 100%) !important;
}

.bid-topbar .user-actions {
  grid-column: 2;
}

.bid-topbar .area-toggle:not([hidden]) {
  grid-column: 1;
  grid-row: 1;
  width: 180px !important;
  margin-right: 10px;
}

.bid-topbar .area-toggle:not([hidden]) + .global-search {
  margin-left: 194px;
  width: min(560px, calc(100% - 194px)) !important;
}

.pro-filters {
  grid-template-columns: minmax(140px, .8fr) minmax(150px, 1fr) minmax(140px, .8fr) minmax(140px, .8fr) auto auto !important;
  gap: 8px !important;
  align-items: center !important;
  padding: 10px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.88) !important;
  box-shadow: 0 14px 45px rgba(8, 45, 38, .08) !important;
}

.pro-filters label {
  min-height: 54px !important;
  border-radius: 14px !important;
  padding: 8px 12px !important;
}

.pro-filters label span,
.pro-filters label {
  letter-spacing: 0 !important;
}

.pro-filters select {
  min-height: 24px !important;
  padding-right: 18px !important;
  font-size: 13px !important;
}

.filter-advanced-control {
  display: none !important;
}

.more-filters,
.clear-filters {
  min-height: 54px !important;
  border-radius: 14px !important;
  white-space: nowrap;
}

.more-filters.active {
  border-color: rgba(0, 142, 98, .32) !important;
  background: #e9f9f2 !important;
  color: #007f5d !important;
}

.advanced-filters {
  margin: -4px 0 16px;
  padding: 12px;
  border: 1px solid rgba(10, 48, 41, .1);
  border-radius: 18px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 18px 55px rgba(8, 45, 38, .08);
  display: grid;
  grid-template-columns: minmax(240px, 1fr) repeat(4, auto);
  gap: 10px;
  align-items: center;
}

.advanced-filters[hidden] {
  display: none !important;
}

.advanced-filters strong {
  display: block;
  color: #0d241f;
  font-size: 14px;
}

.advanced-filters span {
  color: #66766f;
  font-size: 12px;
}

.advanced-filters button {
  min-height: 42px;
  border: 1px solid #d9e8e2;
  border-radius: 999px;
  background: #f8fcfa;
  color: #0b241e;
  padding: 0 14px;
  font-size: 12px;
  font-weight: 900;
}

.advanced-filters button:hover {
  border-color: rgba(0, 142, 98, .32);
  background: #effaf5;
  color: #007f5d;
}

body[data-view="dashboard"] .dashboard-hero,
.dashboard-hero {
  min-height: 270px !important;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 460px) !important;
  padding: clamp(24px, 3vw, 42px) !important;
  border-radius: 28px !important;
  background:
    linear-gradient(125deg, rgba(0,0,0,.08), transparent 45%),
    linear-gradient(135deg, #063e34, #02241f 78%) !important;
  overflow: hidden !important;
}

.dashboard-hero::before {
  content: "";
  position: absolute;
  inset: auto -80px -140px auto;
  width: 420px;
  height: 420px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(18, 185, 127, .22), transparent 62%);
  pointer-events: none;
}

.dashboard-hero .hero-copy {
  max-width: 760px !important;
  align-self: center;
}

body[data-view="dashboard"] .dashboard-hero h1,
.dashboard-hero h1 {
  max-width: 760px !important;
  font-size: clamp(34px, 4vw, 64px) !important;
  line-height: .98 !important;
  letter-spacing: 0 !important;
}

body[data-view="dashboard"] .dashboard-hero p,
.dashboard-hero p {
  max-width: 600px !important;
  color: rgba(236,255,248,.76) !important;
  font-size: 15px !important;
}

.dashboard-hero .hero-actions {
  margin-top: 24px !important;
}

.dashboard-hero .hero-stats {
  align-self: center;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 10px !important;
}

.dashboard-hero .hero-stats article {
  min-height: 72px !important;
  border-radius: 18px !important;
  background: rgba(255,255,255,.94) !important;
  padding: 14px 16px !important;
  box-shadow: none !important;
}

.dashboard-hero .hero-stats strong {
  font-size: 26px !important;
}

.dashboard-hero .hero-stats span {
  font-size: 11px !important;
}

.hero-source-panel {
  display: none !important;
}

.selected-card .media-hero {
  position: relative;
  overflow: hidden;
}

.gallery-arrow {
  position: absolute;
  top: 50%;
  z-index: 4;
  width: 38px;
  height: 46px;
  min-height: 46px;
  border: 1px solid rgba(255,255,255,.35);
  border-radius: 12px;
  background: rgba(4, 31, 26, .72);
  color: #fff;
  display: grid;
  place-items: center;
  font-size: 30px;
  font-weight: 900;
  line-height: 1;
  transform: translateY(-50%);
  backdrop-filter: blur(10px);
}

.gallery-arrow.prev { left: 12px; }
.gallery-arrow.next { right: 12px; }

.gallery-arrow:hover {
  background: rgba(4, 31, 26, .9);
}

.gallery-count {
  position: absolute;
  right: 12px;
  bottom: 12px;
  z-index: 4;
  min-height: 26px;
  display: inline-flex;
  align-items: center;
  border-radius: 999px;
  background: rgba(4, 31, 26, .78);
  color: #fff;
  padding: 0 10px;
  font-size: 12px;
  font-weight: 900;
}

.thumb-strip {
  display: flex;
  gap: 8px;
  padding: 10px 0 0;
  overflow-x: auto;
}

.thumb-strip button,
.thumb-strip span {
  width: 58px;
  height: 46px;
  min-height: 46px;
  flex: 0 0 58px;
  border: 2px solid transparent;
  border-radius: 10px;
  background-size: cover;
  background-position: center;
}

.thumb-strip button.active {
  border-color: #079866;
}

.decision-actions button {
  font-family: Inter, ui-sans-serif, system-ui, sans-serif;
}

@media (max-width: 1180px) {
  .bid-topbar {
    grid-template-columns: 1fr !important;
  }

  .bid-topbar .global-search,
  .bid-topbar .area-toggle:not([hidden]) + .global-search {
    margin-left: 0 !important;
    width: 100% !important;
  }

  .bid-topbar .user-actions {
    grid-column: 1;
  }

  .pro-filters {
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto auto !important;
  }

  .dashboard-hero,
  body[data-view="dashboard"] .dashboard-hero {
    grid-template-columns: 1fr !important;
  }

  .dashboard-hero .hero-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 760px) {
  .pro-filters {
    grid-template-columns: 1fr 1fr !important;
    padding: 10px !important;
  }

  .filter-primary {
    display: none !important;
  }

  .more-filters,
  .clear-filters {
    width: 100%;
  }

  .advanced-filters {
    grid-template-columns: 1fr !important;
  }

  .dashboard-hero .hero-stats {
    grid-template-columns: 1fr !important;
  }

  .dashboard-hero,
  body[data-view="dashboard"] .dashboard-hero {
    min-height: auto !important;
    padding: 22px !important;
    border-radius: 20px !important;
  }
}


/* LYMOS BID v46 FINAL: restore map canvas size and keep search wide. */
.bid-topbar {
  position: relative !important;
  inset: auto !important;
  width: 100% !important;
  max-width: 100% !important;
  min-height: 72px !important;
  height: auto !important;
  margin: 0 0 14px !important;
  padding: 10px 16px !important;
  display: grid !important;
  grid-template-columns: auto minmax(520px, 820px) minmax(220px, 1fr) !important;
  align-items: center !important;
  gap: 16px !important;
  overflow: visible !important;
  box-sizing: border-box !important;
}

.bid-topbar .area-toggle {
  grid-column: 1 !important;
  width: 180px !important;
  min-width: 180px !important;
  max-width: 180px !important;
  margin: 0 !important;
}

.bid-topbar .global-search,
.bid-topbar .area-toggle:not([hidden]) + .global-search {
  grid-column: 2 !important;
  width: 100% !important;
  max-width: 820px !important;
  min-width: 520px !important;
  margin: 0 !important;
}

.bid-topbar .user-actions {
  grid-column: 3 !important;
  justify-self: end !important;
  min-width: 0 !important;
  max-width: 100% !important;
}

body[data-role="user"] .bid-topbar {
  grid-template-columns: minmax(560px, 860px) minmax(220px, 1fr) !important;
}

body[data-role="user"] .bid-topbar .global-search {
  grid-column: 1 !important;
  min-width: 560px !important;
  max-width: 860px !important;
}

body[data-role="user"] .bid-topbar .user-actions {
  grid-column: 2 !important;
}

.pro-filters {
  position: relative !important;
  top: auto !important;
  z-index: 30 !important;
  margin: 0 0 16px !important;
}

body[data-view="dashboard"] .map-stage,
body[data-view="dashboard"] .map-stage .real-map,
body[data-view="dashboard"] .map-stage .leaflet-container {
  height: 560px !important;
  min-height: 560px !important;
  max-height: none !important;
}

body[data-view="mapa"] .map-stage,
body[data-view="mapa"] .map-stage .real-map,
body[data-view="mapa"] .map-stage .leaflet-container {
  height: 680px !important;
  min-height: 680px !important;
  max-height: none !important;
}

body[data-view="dashboard"] .bid-content,
body[data-view="mapa"] .bid-content {
  grid-template-columns: minmax(0, 1fr) minmax(360px, 420px) !important;
  gap: 18px !important;
}

body[data-view="dashboard"] .bid-right,
body[data-view="mapa"] .bid-right {
  max-width: 420px !important;
}

@media (max-width: 1380px) {
  .bid-topbar {
    grid-template-columns: auto minmax(380px, 1fr) auto !important;
  }

  .bid-topbar .global-search,
  .bid-topbar .area-toggle:not([hidden]) + .global-search {
    min-width: 380px !important;
  }

  body[data-role="user"] .bid-topbar {
    grid-template-columns: minmax(420px, 1fr) auto !important;
  }

  body[data-role="user"] .bid-topbar .global-search {
    min-width: 420px !important;
  }
}

@media (max-width: 1180px) {
  .bid-topbar,
  body[data-role="user"] .bid-topbar {
    grid-template-columns: 1fr !important;
  }

  .bid-topbar .area-toggle,
  .bid-topbar .global-search,
  .bid-topbar .area-toggle:not([hidden]) + .global-search,
  .bid-topbar .user-actions,
  body[data-role="user"] .bid-topbar .global-search,
  body[data-role="user"] .bid-topbar .user-actions {
    grid-column: 1 !important;
    min-width: 0 !important;
    max-width: 100% !important;
    width: 100% !important;
  }

  body[data-view="dashboard"] .bid-content,
  body[data-view="mapa"] .bid-content {
    grid-template-columns: 1fr !important;
  }
}


/* LYMOS BID v47 FINAL: commercial dashboard reset. */
.bid-main {
  padding: 14px clamp(16px, 2vw, 30px) 34px !important;
  overflow-x: hidden !important;
}

.bid-topbar {
  margin-top: 0 !important;
  margin-bottom: 14px !important;
  min-height: 62px !important;
  padding: 8px 14px !important;
  border-radius: 18px !important;
}

.pro-filters {
  margin-bottom: 14px !important;
  padding: 8px !important;
  border-radius: 18px !important;
  grid-template-columns: minmax(150px, .75fr) minmax(180px, 1fr) minmax(150px, .75fr) minmax(150px, .75fr) auto auto !important;
}

.pro-filters label {
  min-height: 52px !important;
}

body[data-view="dashboard"] .dashboard-hero,
.dashboard-hero {
  min-height: 230px !important;
  padding: 28px 32px !important;
  border-radius: 22px !important;
  grid-template-columns: minmax(0, 1fr) minmax(300px, 460px) !important;
}

body[data-view="dashboard"] .dashboard-hero h1,
.dashboard-hero h1 {
  max-width: 720px !important;
  font-size: clamp(32px, 3vw, 52px) !important;
  line-height: 1.02 !important;
}

.dashboard-hero .hero-stats article {
  min-height: 62px !important;
  padding: 12px 14px !important;
}

body[data-view="dashboard"] .bid-content,
body[data-view="mapa"] .bid-content {
  grid-template-columns: minmax(0, 1fr) minmax(330px, 390px) !important;
  align-items: start !important;
}

body[data-view="dashboard"] .bid-right,
body[data-view="mapa"] .bid-right {
  max-width: 390px !important;
  position: sticky !important;
  top: 14px !important;
}

.compact-property-card {
  display: grid !important;
  gap: 14px !important;
  padding: 16px !important;
  border-radius: 20px !important;
  background: #fff !important;
  box-shadow: 0 18px 48px rgba(8, 42, 36, .1) !important;
  overflow: hidden !important;
}

.compact-property-card > header {
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  padding: 0 !important;
  border: 0 !important;
}

.compact-property-card .media-hero {
  height: 180px !important;
  min-height: 180px !important;
  border-radius: 16px !important;
  background-size: cover !important;
  background-position: center !important;
}

.compact-property-card .selected-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 78px !important;
  gap: 12px !important;
  align-items: start !important;
  padding: 0 !important;
}

.compact-property-card .selected-title h3 {
  font-size: 20px !important;
  line-height: 1.08 !important;
  margin: 0 0 6px !important;
}

.compact-property-card .selected-title p {
  font-size: 13px !important;
  line-height: 1.35 !important;
  margin: 0 0 8px !important;
}

.compact-property-card .score-ring {
  width: 74px !important;
  height: 74px !important;
}

.compact-property-card .fact-grid.compact-facts {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 0 !important;
  border: 1px solid #e0e8e4 !important;
  border-radius: 14px !important;
  overflow: hidden !important;
}

.compact-property-card .fact-grid.compact-facts div {
  min-height: 70px !important;
  border: 0 !important;
  border-right: 1px solid #e0e8e4 !important;
  border-bottom: 1px solid #e0e8e4 !important;
  border-radius: 0 !important;
  background: #fbfdfc !important;
  padding: 12px !important;
}

.compact-property-card .decision-actions.in-card {
  display: grid !important;
  grid-template-columns: 1fr 1fr !important;
  gap: 10px !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
}

.compact-property-card .decision-actions.in-card #openAd {
  grid-column: 1 / -1 !important;
  background: #009866 !important;
  color: #fff !important;
  border-color: #009866 !important;
}

body[data-view="perfil"] .bid-content {
  display: block !important;
}

body[data-view="perfil"] .bid-right {
  position: static !important;
  width: 100% !important;
  max-width: none !important;
}

body[data-view="perfil"] #detailContent {
  width: min(1220px, 100%) !important;
  margin: 0 auto !important;
}

@media (max-width: 1180px) {
  .bid-main {
    padding: 10px 12px 28px !important;
  }

  .pro-filters,
  body[data-view="dashboard"] .bid-content,
  body[data-view="mapa"] .bid-content,
  body[data-view="dashboard"] .dashboard-hero,
  .dashboard-hero {
    grid-template-columns: 1fr !important;
  }
}


/* LYMOS BID v48: visible property profile route. */
body[data-view="perfil"] .dashboard-hero,
body[data-view="perfil"] .pro-kpis,
body[data-view="perfil"] .map-board,
body[data-view="perfil"] .opps-board,
body[data-view="perfil"] .mvp-page,
body[data-view="perfil"] .pro-filters,
body[data-view="perfil"] .advanced-filters,
body[data-view="perfil"] .bid-left {
  display: none !important;
}

body[data-view="perfil"] .bid-content {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  overflow: visible !important;
}

body[data-view="perfil"] .bid-right {
  display: block !important;
  position: static !important;
  width: 100% !important;
  max-width: none !important;
  padding: 0 !important;
  overflow: visible !important;
}

body[data-view="perfil"] #detailContent {
  width: min(1220px, 100%) !important;
  margin: 0 auto !important;
}

body[data-view="perfil"] .property-ad-hero {
  display: grid !important;
  margin-bottom: 16px !important;
}

body[data-view="perfil"] .selected-card.property-profile-card,
body[data-view="perfil"] .risk-card,
body[data-view="perfil"] .calc-card,
body[data-view="perfil"] .side-lists {
  display: grid !important;
  width: 100% !important;
  max-width: 100% !important;
}


/* LYMOS BID v50: force property profile visibility over legacy due-diligence rules. */
body.lymos-pro-user[data-view="perfil"] .bid-shell .bid-main .bid-content {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  visibility: visible !important;
  opacity: 1 !important;
  overflow: visible !important;
}

body.lymos-pro-user[data-view="perfil"] .bid-shell .bid-main .bid-content .bid-right {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  position: static !important;
  width: 100% !important;
  max-width: none !important;
  min-width: 0 !important;
  transform: none !important;
  padding: 0 !important;
  overflow: visible !important;
}

body.lymos-pro-user[data-view="perfil"] #detailContent {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: min(1220px, 100%) !important;
  max-width: 100% !important;
  min-height: 420px !important;
  margin: 0 auto !important;
}

body.lymos-pro-user[data-view="perfil"] #detailContent:empty::before {
  content: "Selecione um imovel em Oportunidades ou no Mapa para abrir o perfil.";
  display: block;
  padding: 28px;
  border: 1px solid #dfe9e4;
  border-radius: 18px;
  background: #fff;
  color: #17322c;
  font-weight: 900;
}

body.lymos-pro-user[data-view="perfil"] .property-ad-hero,
body.lymos-pro-user[data-view="perfil"] .property-profile-card,
body.lymos-pro-user[data-view="perfil"] .risk-card,
body.lymos-pro-user[data-view="perfil"] .calc-card,
body.lymos-pro-user[data-view="perfil"] .side-lists {
  visibility: visible !important;
  opacity: 1 !important;
}


/* LYMOS BID v51: organized property profile page. */
body.lymos-pro-user[data-view="perfil"] .bid-main {
  padding-top: 14px !important;
  background: #eef5f1 !important;
}

body.lymos-pro-user[data-view="perfil"] .bid-content,
body.lymos-pro-user[data-view="perfil"] .bid-right,
body.lymos-pro-user[data-view="perfil"] #detailContent {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  margin: 0 !important;
  padding: 0 !important;
  overflow: visible !important;
  transform: none !important;
}

body.lymos-pro-user[data-view="perfil"] #detailContent {
  width: min(1240px, 100%) !important;
  margin-inline: auto !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
}

body.lymos-pro-user[data-view="perfil"] .property-ad-hero {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) repeat(4, minmax(124px, 160px)) !important;
  gap: 12px !important;
  align-items: stretch !important;
  margin: 0 !important;
  padding: 22px !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 22px !important;
  background: linear-gradient(135deg, #043f35 0%, #052d26 100%) !important;
  box-shadow: 0 18px 50px rgba(5, 40, 34, .14) !important;
  overflow: hidden !important;
}

body.lymos-pro-user[data-view="perfil"] .property-ad-hero > div {
  min-width: 0 !important;
}

body.lymos-pro-user[data-view="perfil"] .property-ad-hero h1 {
  max-width: 760px !important;
  margin: 10px 0 8px !important;
  color: #fff !important;
  font-family: "Space Grotesk", Inter, sans-serif !important;
  font-size: clamp(30px, 3vw, 48px) !important;
  line-height: 1.02 !important;
  letter-spacing: 0 !important;
  overflow-wrap: anywhere !important;
}

body.lymos-pro-user[data-view="perfil"] .property-ad-hero p {
  max-width: 760px !important;
  margin: 0 !important;
  color: rgba(235,255,248,.78) !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

body.lymos-pro-user[data-view="perfil"] .property-ad-hero article {
  min-height: 94px !important;
  display: grid !important;
  align-content: center !important;
  gap: 4px !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 16px !important;
  background: rgba(255,255,255,.1) !important;
  padding: 12px !important;
  min-width: 0 !important;
}

body.lymos-pro-user[data-view="perfil"] .property-ad-hero article strong {
  color: #fff !important;
  font-size: 23px !important;
  line-height: 1 !important;
  overflow-wrap: anywhere !important;
}

body.lymos-pro-user[data-view="perfil"] .profile-back {
  min-height: 36px !important;
  border-radius: 999px !important;
  padding: 0 14px !important;
}

body.lymos-pro-user[data-view="perfil"] .selected-card.property-profile-card {
  width: 100% !important;
  max-width: 100% !important;
  display: grid !important;
  grid-template-columns: minmax(380px, .9fr) minmax(0, 1.1fr) !important;
  grid-auto-flow: row !important;
  gap: 18px !important;
  padding: 18px !important;
  border: 1px solid #dce8e3 !important;
  border-radius: 22px !important;
  background: #fff !important;
  box-shadow: 0 18px 55px rgba(8, 42, 36, .1) !important;
  overflow: hidden !important;
  contain: none !important;
}

body.lymos-pro-user[data-view="perfil"] .selected-card.property-profile-card > header {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  min-height: 44px !important;
  padding: 0 2px 6px !important;
  border: 0 !important;
}

body.lymos-pro-user[data-view="perfil"] .selected-card.property-profile-card > header h2 {
  margin: 0 !important;
  font-size: 20px !important;
  line-height: 1.1 !important;
}

body.lymos-pro-user[data-view="perfil"] .selected-card.property-profile-card > header button {
  width: auto !important;
  min-height: 36px !important;
  border-radius: 999px !important;
  padding: 0 14px !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .media-hero {
  grid-column: 1 !important;
  grid-row: span 6 !important;
  width: 100% !important;
  min-height: 520px !important;
  height: 100% !important;
  border-radius: 18px !important;
  background-size: cover !important;
  background-position: center !important;
  overflow: hidden !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .thumb-strip {
  grid-column: 1 !important;
  display: flex !important;
  gap: 8px !important;
  padding: 0 !important;
  min-width: 0 !important;
  overflow-x: auto !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .selected-main,
body.lymos-pro-user[data-view="perfil"] .property-profile-card .due-tabs,
body.lymos-pro-user[data-view="perfil"] .property-profile-card .property-info-panel,
body.lymos-pro-user[data-view="perfil"] .property-profile-card .fact-grid,
body.lymos-pro-user[data-view="perfil"] .property-profile-card .auctioneer-panel,
body.lymos-pro-user[data-view="perfil"] .property-profile-card .document-panel,
body.lymos-pro-user[data-view="perfil"] .property-profile-card .decision-actions.in-card {
  grid-column: 2 !important;
  min-width: 0 !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .selected-main {
  display: grid !important;
  grid-template-columns: minmax(0, 1fr) 92px !important;
  gap: 16px !important;
  align-items: start !important;
  padding: 0 !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .selected-main .real-photo {
  display: none !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .selected-title h3 {
  margin: 0 0 8px !important;
  font-family: "Space Grotesk", Inter, sans-serif !important;
  font-size: clamp(25px, 2.2vw, 36px) !important;
  line-height: 1.02 !important;
  letter-spacing: 0 !important;
  overflow-wrap: anywhere !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .selected-title p {
  margin: 0 0 10px !important;
  font-size: 14px !important;
  line-height: 1.45 !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .score-ring {
  width: 88px !important;
  height: 88px !important;
  justify-self: end !important;
}

body.lymos-pro-user[data-view="perfil"] .due-tabs {
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.lymos-pro-user[data-view="perfil"] .due-tabs span {
  min-height: 34px !important;
  display: inline-flex !important;
  align-items: center !important;
  border-radius: 999px !important;
  padding: 0 14px !important;
  font-size: 12px !important;
}

body.lymos-pro-user[data-view="perfil"] .property-info-panel,
body.lymos-pro-user[data-view="perfil"] .auctioneer-panel,
body.lymos-pro-user[data-view="perfil"] .document-panel {
  border: 1px solid #dfe9e4 !important;
  border-radius: 16px !important;
  background: #fbfdfc !important;
  padding: 14px !important;
  overflow: hidden !important;
}

body.lymos-pro-user[data-view="perfil"] .property-info-panel header,
body.lymos-pro-user[data-view="perfil"] .auctioneer-panel header,
body.lymos-pro-user[data-view="perfil"] .document-panel header {
  display: flex !important;
  align-items: start !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin-bottom: 12px !important;
}

body.lymos-pro-user[data-view="perfil"] .property-info-panel h2,
body.lymos-pro-user[data-view="perfil"] .document-panel h2 {
  margin: 2px 0 0 !important;
  font-size: 18px !important;
  line-height: 1.15 !important;
}

body.lymos-pro-user[data-view="perfil"] .property-spec-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

body.lymos-pro-user[data-view="perfil"] .property-location-card {
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin-top: 8px !important;
}

body.lymos-pro-user[data-view="perfil"] .fact-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  border: 1px solid #dfe9e4 !important;
  border-radius: 16px !important;
  overflow: hidden !important;
  gap: 0 !important;
}

body.lymos-pro-user[data-view="perfil"] .fact-grid div {
  min-height: 82px !important;
  border: 0 !important;
  border-right: 1px solid #dfe9e4 !important;
  border-bottom: 1px solid #dfe9e4 !important;
  border-radius: 0 !important;
  padding: 13px !important;
  background: #fbfdfc !important;
}

body.lymos-pro-user[data-view="perfil"] .auctioneer-panel > div,
body.lymos-pro-user[data-view="perfil"] .doc-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
}

body.lymos-pro-user[data-view="perfil"] .decision-actions.in-card {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 10px !important;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
}

body.lymos-pro-user[data-view="perfil"] .risk-card,
body.lymos-pro-user[data-view="perfil"] .calc-card,
body.lymos-pro-user[data-view="perfil"] .side-lists section {
  border: 1px solid #dce8e3 !important;
  border-radius: 18px !important;
  background: #fff !important;
  padding: 18px !important;
  box-shadow: 0 14px 40px rgba(8, 42, 36, .07) !important;
}

body.lymos-pro-user[data-view="perfil"] .risk-grid,
body.lymos-pro-user[data-view="perfil"] .calc-grid,
body.lymos-pro-user[data-view="perfil"] .calc-results,
body.lymos-pro-user[data-view="perfil"] .side-lists {
  display: grid !important;
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
  gap: 10px !important;
}

body.lymos-pro-user[data-view="perfil"] .side-lists {
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}

@media (max-width: 1280px) {
  body.lymos-pro-user[data-view="perfil"] .property-ad-hero,
  body.lymos-pro-user[data-view="perfil"] .selected-card.property-profile-card {
    grid-template-columns: 1fr !important;
  }

  body.lymos-pro-user[data-view="perfil"] .property-profile-card .media-hero,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .thumb-strip,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .selected-main,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .due-tabs,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .property-info-panel,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .fact-grid,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .auctioneer-panel,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .document-panel,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .decision-actions.in-card {
    grid-column: 1 !important;
  }

  body.lymos-pro-user[data-view="perfil"] .property-profile-card .media-hero {
    min-height: 420px !important;
  }
}

@media (max-width: 760px) {
  body.lymos-pro-user[data-view="perfil"] .property-spec-grid,
  body.lymos-pro-user[data-view="perfil"] .property-location-card,
  body.lymos-pro-user[data-view="perfil"] .fact-grid,
  body.lymos-pro-user[data-view="perfil"] .auctioneer-panel > div,
  body.lymos-pro-user[data-view="perfil"] .doc-grid,
  body.lymos-pro-user[data-view="perfil"] .decision-actions.in-card,
  body.lymos-pro-user[data-view="perfil"] .risk-grid,
  body.lymos-pro-user[data-view="perfil"] .calc-grid,
  body.lymos-pro-user[data-view="perfil"] .calc-results,
  body.lymos-pro-user[data-view="perfil"] .side-lists {
    grid-template-columns: 1fr !important;
  }

  body.lymos-pro-user[data-view="perfil"] .property-profile-card .selected-main {
    grid-template-columns: 1fr !important;
  }

  body.lymos-pro-user[data-view="perfil"] .property-profile-card .score-ring {
    justify-self: start !important;
  }
}

/* LYMOS BID v52: perfil do imovel como pagina principal, sem sobras do dashboard. */
body.lymos-pro-user[data-view="perfil"] {
  overflow-x: hidden !important;
}

body.lymos-pro-user[data-view="perfil"] .bid-main {
  width: calc(100vw - var(--sidebar-w, 280px)) !important;
  max-width: calc(100vw - var(--sidebar-w, 280px)) !important;
  min-width: 0 !important;
  padding: 18px clamp(16px, 2vw, 30px) 38px !important;
  overflow-x: hidden !important;
}

body.lymos-pro-user[data-view="perfil"] .dashboard-hero,
body.lymos-pro-user[data-view="perfil"] .pro-filters,
body.lymos-pro-user[data-view="perfil"] .advanced-filters,
body.lymos-pro-user[data-view="perfil"] .bid-left,
body.lymos-pro-user[data-view="perfil"] .mvp-page {
  display: none !important;
}

body.lymos-pro-user[data-view="perfil"] .bid-content {
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
  overflow: visible !important;
}

body.lymos-pro-user[data-view="perfil"] .bid-right {
  position: static !important;
  inset: auto !important;
  display: block !important;
  width: 100% !important;
  max-width: 100% !important;
  height: auto !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  overflow: visible !important;
}

body.lymos-pro-user[data-view="perfil"] #detailContent {
  width: min(1180px, 100%) !important;
  max-width: 1180px !important;
  margin: 0 auto !important;
  display: grid !important;
  grid-template-columns: 1fr !important;
  gap: 16px !important;
  overflow: visible !important;
}

body.lymos-pro-user[data-view="perfil"] .property-ad-hero {
  grid-template-columns: minmax(0, 1fr) repeat(3, minmax(128px, 170px)) !important;
  align-items: stretch !important;
  padding: 22px !important;
  min-height: 0 !important;
}

body.lymos-pro-user[data-view="perfil"] .property-ad-hero article:last-child {
  display: none !important;
}

body.lymos-pro-user[data-view="perfil"] .property-ad-hero h1 {
  font-size: clamp(26px, 2.4vw, 40px) !important;
  max-width: 650px !important;
}

body.lymos-pro-user[data-view="perfil"] .selected-card.property-profile-card {
  display: grid !important;
  grid-template-columns: minmax(360px, .9fr) minmax(0, 1.1fr) !important;
  gap: 18px !important;
  align-items: start !important;
  width: 100% !important;
  max-width: 100% !important;
  padding: 18px !important;
  margin: 0 !important;
  border-radius: 22px !important;
  overflow: hidden !important;
  background: #fff !important;
}

body.lymos-pro-user[data-view="perfil"] .selected-card.property-profile-card > header {
  grid-column: 1 / -1 !important;
  display: flex !important;
  align-items: center !important;
  justify-content: space-between !important;
  gap: 12px !important;
  margin: 0 !important;
  padding: 0 0 12px !important;
  border-bottom: 1px solid #e1ebe6 !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .media-hero {
  grid-column: 1 !important;
  grid-row: 2 / span 7 !important;
  width: 100% !important;
  min-height: clamp(360px, 44vw, 560px) !important;
  aspect-ratio: auto !important;
  border-radius: 18px !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .thumb-strip {
  grid-column: 1 !important;
  grid-row: 9 !important;
  min-height: 76px !important;
  align-items: center !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .thumb-strip button {
  flex: 0 0 72px !important;
  width: 72px !important;
  height: 58px !important;
  border-radius: 12px !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .selected-main,
body.lymos-pro-user[data-view="perfil"] .property-profile-card .due-tabs,
body.lymos-pro-user[data-view="perfil"] .property-profile-card .property-info-panel,
body.lymos-pro-user[data-view="perfil"] .property-profile-card .fact-grid,
body.lymos-pro-user[data-view="perfil"] .property-profile-card .auctioneer-panel,
body.lymos-pro-user[data-view="perfil"] .property-profile-card .document-panel,
body.lymos-pro-user[data-view="perfil"] .property-profile-card .decision-actions.in-card {
  grid-column: 2 !important;
  width: 100% !important;
  max-width: 100% !important;
  min-width: 0 !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .selected-main {
  grid-template-columns: minmax(0, 1fr) 96px !important;
  padding: 0 !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .selected-title h3 {
  font-size: clamp(24px, 2vw, 34px) !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .fact-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .fact-grid div,
body.lymos-pro-user[data-view="perfil"] .property-spec-grid article,
body.lymos-pro-user[data-view="perfil"] .property-location-card > div,
body.lymos-pro-user[data-view="perfil"] .doc-pill,
body.lymos-pro-user[data-view="perfil"] .auctioneer-panel p {
  min-width: 0 !important;
  overflow: hidden !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card strong,
body.lymos-pro-user[data-view="perfil"] .property-profile-card h2,
body.lymos-pro-user[data-view="perfil"] .property-profile-card h3,
body.lymos-pro-user[data-view="perfil"] .property-profile-card p,
body.lymos-pro-user[data-view="perfil"] .property-profile-card small,
body.lymos-pro-user[data-view="perfil"] .property-profile-card span {
  overflow-wrap: anywhere !important;
}

body.lymos-pro-user[data-view="perfil"] .decision-actions.in-card button {
  min-height: 52px !important;
  border-radius: 12px !important;
}

body.lymos-pro-user[data-view="perfil"] .risk-card,
body.lymos-pro-user[data-view="perfil"] .calc-card,
body.lymos-pro-user[data-view="perfil"] .side-lists {
  width: 100% !important;
  max-width: 100% !important;
}

body.lymos-pro-user[data-view="perfil"] .risk-grid,
body.lymos-pro-user[data-view="perfil"] .calc-grid,
body.lymos-pro-user[data-view="perfil"] .calc-results {
  grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

@media (max-width: 1180px) {
  body.lymos-pro-user[data-view="perfil"] .bid-main {
    width: calc(100vw - var(--sidebar-w, 260px)) !important;
    max-width: calc(100vw - var(--sidebar-w, 260px)) !important;
  }

  body.lymos-pro-user[data-view="perfil"] .property-ad-hero,
  body.lymos-pro-user[data-view="perfil"] .selected-card.property-profile-card {
    grid-template-columns: 1fr !important;
  }

  body.lymos-pro-user[data-view="perfil"] .property-profile-card .media-hero,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .thumb-strip,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .selected-main,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .due-tabs,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .property-info-panel,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .fact-grid,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .auctioneer-panel,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .document-panel,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .decision-actions.in-card {
    grid-column: 1 !important;
    grid-row: auto !important;
  }
}

@media (max-width: 820px) {
  body.lymos-pro-user[data-view="perfil"] .bid-main {
    width: 100vw !important;
    max-width: 100vw !important;
    padding: 12px !important;
  }

  body.lymos-pro-user[data-view="perfil"] .property-ad-hero {
    grid-template-columns: 1fr !important;
    border-radius: 18px !important;
  }

  body.lymos-pro-user[data-view="perfil"] .selected-card.property-profile-card {
    padding: 12px !important;
    border-radius: 18px !important;
  }

  body.lymos-pro-user[data-view="perfil"] .property-profile-card .media-hero {
    min-height: 300px !important;
  }

  body.lymos-pro-user[data-view="perfil"] .property-profile-card .selected-main,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .fact-grid,
  body.lymos-pro-user[data-view="perfil"] .property-spec-grid,
  body.lymos-pro-user[data-view="perfil"] .property-location-card,
  body.lymos-pro-user[data-view="perfil"] .auctioneer-panel > div,
  body.lymos-pro-user[data-view="perfil"] .doc-grid,
  body.lymos-pro-user[data-view="perfil"] .decision-actions.in-card,
  body.lymos-pro-user[data-view="perfil"] .risk-grid,
  body.lymos-pro-user[data-view="perfil"] .calc-grid,
  body.lymos-pro-user[data-view="perfil"] .calc-results,
  body.lymos-pro-user[data-view="perfil"] .side-lists {
    grid-template-columns: 1fr !important;
  }
}

/* LYMOS BID v53: corrige sobreposicao dos blocos internos do perfil. */
body.lymos-pro-user[data-view="perfil"] .selected-card.property-profile-card {
  grid-auto-rows: auto !important;
  align-items: stretch !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .selected-main,
body.lymos-pro-user[data-view="perfil"] .property-profile-card .due-tabs,
body.lymos-pro-user[data-view="perfil"] .property-profile-card .property-info-panel,
body.lymos-pro-user[data-view="perfil"] .property-profile-card .fact-grid,
body.lymos-pro-user[data-view="perfil"] .property-profile-card .auctioneer-panel,
body.lymos-pro-user[data-view="perfil"] .property-profile-card .document-panel,
body.lymos-pro-user[data-view="perfil"] .property-profile-card .decision-actions.in-card {
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  overflow: visible !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .selected-main { grid-row: 2 !important; }
body.lymos-pro-user[data-view="perfil"] .property-profile-card .due-tabs { grid-row: 3 !important; }
body.lymos-pro-user[data-view="perfil"] .property-profile-card .property-info-panel { grid-row: 4 !important; }
body.lymos-pro-user[data-view="perfil"] .property-profile-card .fact-grid { grid-row: 5 !important; }
body.lymos-pro-user[data-view="perfil"] .property-profile-card .auctioneer-panel { grid-row: 6 !important; }
body.lymos-pro-user[data-view="perfil"] .property-profile-card .document-panel { grid-row: 7 !important; }
body.lymos-pro-user[data-view="perfil"] .property-profile-card .decision-actions.in-card { grid-row: 8 !important; }

body.lymos-pro-user[data-view="perfil"] .property-info-panel {
  display: block !important;
  min-height: 220px !important;
  padding: 18px !important;
  margin: 0 !important;
  z-index: 1 !important;
}

body.lymos-pro-user[data-view="perfil"] .property-info-panel header {
  margin: 0 0 18px !important;
}

body.lymos-pro-user[data-view="perfil"] .property-spec-grid,
body.lymos-pro-user[data-view="perfil"] .property-location-card {
  position: relative !important;
  display: grid !important;
  z-index: 1 !important;
}

body.lymos-pro-user[data-view="perfil"] .property-spec-grid article,
body.lymos-pro-user[data-view="perfil"] .property-location-card > div,
body.lymos-pro-user[data-view="perfil"] .fact-grid div,
body.lymos-pro-user[data-view="perfil"] .auctioneer-panel p,
body.lymos-pro-user[data-view="perfil"] .doc-pill {
  overflow: visible !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .fact-grid,
body.lymos-pro-user[data-view="perfil"] .auctioneer-panel,
body.lymos-pro-user[data-view="perfil"] .document-panel,
body.lymos-pro-user[data-view="perfil"] .decision-actions.in-card {
  margin-top: 0 !important;
  z-index: 2 !important;
}

@media (max-width: 1180px) {
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .media-hero,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .thumb-strip,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .selected-main,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .due-tabs,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .property-info-panel,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .fact-grid,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .auctioneer-panel,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .document-panel,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .decision-actions.in-card {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  body.lymos-pro-user[data-view="perfil"] .property-info-panel {
    min-height: 0 !important;
  }
}

/* LYMOS BID v54: perfil legivel em zoom 100%, sem depender do zoom do navegador. */
body.lymos-pro-user[data-view="perfil"] #detailContent {
  width: 100% !important;
  max-width: 1320px !important;
}

body.lymos-pro-user[data-view="perfil"] .selected-card.property-profile-card {
  grid-template-columns: minmax(300px, .72fr) minmax(0, 1.28fr) !important;
  gap: 14px !important;
  padding: 14px !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .media-hero {
  min-height: 460px !important;
  max-height: 560px !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .selected-title h3 {
  font-size: clamp(21px, 1.55vw, 30px) !important;
  line-height: 1.06 !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .selected-title p {
  font-size: 13px !important;
  line-height: 1.32 !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .score-ring {
  width: 76px !important;
  height: 76px !important;
}

body.lymos-pro-user[data-view="perfil"] .property-info-panel,
body.lymos-pro-user[data-view="perfil"] .auctioneer-panel,
body.lymos-pro-user[data-view="perfil"] .document-panel {
  padding: 12px !important;
  border-radius: 14px !important;
}

body.lymos-pro-user[data-view="perfil"] .property-info-panel {
  min-height: 0 !important;
}

body.lymos-pro-user[data-view="perfil"] .property-info-panel h2,
body.lymos-pro-user[data-view="perfil"] .document-panel h2 {
  font-size: 16px !important;
}

body.lymos-pro-user[data-view="perfil"] .property-spec-grid,
body.lymos-pro-user[data-view="perfil"] .property-location-card,
body.lymos-pro-user[data-view="perfil"] .auctioneer-panel > div,
body.lymos-pro-user[data-view="perfil"] .doc-grid {
  gap: 7px !important;
}

body.lymos-pro-user[data-view="perfil"] .property-spec-grid article,
body.lymos-pro-user[data-view="perfil"] .property-location-card > div,
body.lymos-pro-user[data-view="perfil"] .auctioneer-panel p,
body.lymos-pro-user[data-view="perfil"] .doc-pill {
  min-height: 58px !important;
  padding: 10px !important;
}

body.lymos-pro-user[data-view="perfil"] .property-profile-card .fact-grid div {
  min-height: 68px !important;
  padding: 10px !important;
}

body.lymos-pro-user[data-view="perfil"] .fact-grid span,
body.lymos-pro-user[data-view="perfil"] .property-info-panel header span,
body.lymos-pro-user[data-view="perfil"] .property-spec-grid span,
body.lymos-pro-user[data-view="perfil"] .property-location-card span,
body.lymos-pro-user[data-view="perfil"] .auctioneer-panel small {
  font-size: 9px !important;
}

body.lymos-pro-user[data-view="perfil"] .fact-grid strong,
body.lymos-pro-user[data-view="perfil"] .property-spec-grid strong,
body.lymos-pro-user[data-view="perfil"] .property-location-card strong,
body.lymos-pro-user[data-view="perfil"] .auctioneer-panel b {
  font-size: 13px !important;
  line-height: 1.18 !important;
}

body.lymos-pro-user[data-view="perfil"] .decision-actions.in-card {
  gap: 8px !important;
}

body.lymos-pro-user[data-view="perfil"] .decision-actions.in-card button {
  min-height: 46px !important;
}

@media (max-width: 1360px) {
  body.lymos-pro-user[data-view="perfil"] .bid-main {
    padding-inline: 14px !important;
  }

  body.lymos-pro-user[data-view="perfil"] .property-ad-hero {
    display: none !important;
  }

  body.lymos-pro-user[data-view="perfil"] .selected-card.property-profile-card {
    grid-template-columns: minmax(280px, .68fr) minmax(0, 1.32fr) !important;
  }

  body.lymos-pro-user[data-view="perfil"] .property-profile-card .media-hero {
    min-height: 390px !important;
    max-height: 470px !important;
  }
}

@media (max-width: 1080px) {
  body.lymos-pro-user[data-view="perfil"] .selected-card.property-profile-card {
    grid-template-columns: 1fr !important;
  }

  body.lymos-pro-user[data-view="perfil"] .property-profile-card .media-hero,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .thumb-strip,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .selected-main,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .due-tabs,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .property-info-panel,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .fact-grid,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .auctioneer-panel,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .document-panel,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .decision-actions.in-card {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  body.lymos-pro-user[data-view="perfil"] .property-profile-card .media-hero {
    min-height: 320px !important;
  }
}

/* LYMOS BID v55: perfil responsivo real em zoom normal e contatos sem achatamento. */
body.lymos-pro-user[data-view="perfil"] .auctioneer-panel > div,
body.lymos-pro-user[data-view="perfil"] .doc-grid {
  grid-template-columns: repeat(auto-fit, minmax(190px, 1fr)) !important;
  align-items: stretch !important;
}

body.lymos-pro-user[data-view="perfil"] .auctioneer-panel p {
  min-height: 72px !important;
  display: grid !important;
  align-content: center !important;
}

body.lymos-pro-user[data-view="perfil"] .auctioneer-panel b,
body.lymos-pro-user[data-view="perfil"] .auctioneer-panel a {
  white-space: normal !important;
  overflow: visible !important;
  text-overflow: clip !important;
  word-break: break-word !important;
  line-height: 1.22 !important;
}

@media (max-width: 1500px) {
  body.lymos-pro-user[data-view="perfil"] .selected-card.property-profile-card {
    grid-template-columns: minmax(280px, .62fr) minmax(0, 1.38fr) !important;
    gap: 12px !important;
  }

  body.lymos-pro-user[data-view="perfil"] .property-profile-card .media-hero {
    min-height: 350px !important;
    max-height: 440px !important;
  }

  body.lymos-pro-user[data-view="perfil"] .property-profile-card .thumb-strip {
    min-height: 58px !important;
  }

  body.lymos-pro-user[data-view="perfil"] .property-profile-card .thumb-strip button {
    flex-basis: 58px !important;
    width: 58px !important;
    height: 48px !important;
  }

  body.lymos-pro-user[data-view="perfil"] .property-profile-card .fact-grid,
  body.lymos-pro-user[data-view="perfil"] .property-spec-grid,
  body.lymos-pro-user[data-view="perfil"] .property-location-card {
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  }
}

@media (max-width: 1280px) {
  body.lymos-pro-user[data-view="perfil"] .selected-card.property-profile-card {
    grid-template-columns: 1fr !important;
  }

  body.lymos-pro-user[data-view="perfil"] .property-profile-card .media-hero,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .thumb-strip,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .selected-main,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .due-tabs,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .property-info-panel,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .fact-grid,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .auctioneer-panel,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .document-panel,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .decision-actions.in-card {
    grid-column: 1 !important;
    grid-row: auto !important;
  }

  body.lymos-pro-user[data-view="perfil"] .property-profile-card .media-hero {
    min-height: 360px !important;
    max-height: 460px !important;
  }
}

@media (max-width: 720px) {
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .selected-main,
  body.lymos-pro-user[data-view="perfil"] .property-profile-card .fact-grid,
  body.lymos-pro-user[data-view="perfil"] .property-spec-grid,
  body.lymos-pro-user[data-view="perfil"] .property-location-card,
  body.lymos-pro-user[data-view="perfil"] .auctioneer-panel > div,
  body.lymos-pro-user[data-view="perfil"] .doc-grid,
  body.lymos-pro-user[data-view="perfil"] .decision-actions.in-card {
    grid-template-columns: 1fr !important;
  }

  body.lymos-pro-user[data-view="perfil"] .property-profile-card .media-hero {
    min-height: 280px !important;
  }
}
