.container-fluid.container-app-dashboard {
  background-image: linear-gradient(340deg, #d3e9c326, #d1edd021, #d2efdb33, #d7f1e536, #def3ed6e, #e3f4f370, #e8f6f773, #eff7f975, #f4f9fb7a, #f8fbfd, #fdfdfd8c, #ffffff);
}

a.btn-dropdown-custom {
  background: #fff;
  /* Verde Menta Fresco */
  text-decoration: none;
  color: #1e2517;
  /* Midnight Garden */
  padding: 7px 12px;
  border-radius: 12px;
  font-size: 0.86rem;
  border: 1px solid #f7f7f7;
  /* Verde Salvia Suave */
  font-weight: 400;
  display: inline-flex;
  align-items: center;
  transition: all 0.2s ease;
}

a.btn-dropdown-custom::after {
  display: inline-block;
  margin-left: 0.8em;
  vertical-align: 0.255em;
  content: "";
  border-top: 0.35em solid;
  border-right: 0.35em solid transparent;
  border-bottom: 0;
  border-left: 0.35em solid transparent;
  color: #869077;
  /* Eucalipto Cálido */
}

a.btn-dropdown-custom:hover {
  background: #e9f5da;
  border-color: #399d57;
  /* Base Green */
}

a.btn-dropdown-custom.filter-active {
  background: #e9f5da;
  border-color: #399d57;
  /* Base Green */
  color: #1e2517;
  /* Midnight Garden */
  font-weight: 600;
}

a.btn-dropdown-custom.filter-active b {
  color: #1e2517;
}

a.btn-dropdown-custom.filter-active::after {
  border-top-color: #1e2517;
}

a.btn-dropdown-custom.filter-active:hover {
  background: #399d57;
  /* Base Green */
  color: #fff;
}

a.btn-dropdown-custom.filter-active:hover::after {
  border-top-color: #fff;
}

a.btn-dropdown-custom.filter-active:hover b {
  color: #fff;
}

a.btn.ready svg {
  stroke: #fff;
  fill: transparent;
  transition: all 0.2s ease-in-out;
}

.misinmuebles .icons a.btn {
  min-height: 50px;
  transition: all 0.2s ease-in-out;
}



.misinmuebles .icons a.btn:hover {
  background: #3eb35e !important;
}

.misinmuebles .icons a.btn:hover svg {
  stroke: #fff;
  fill: transparent;
}

.misinmuebles .icons>a.btn.ready:first-child,
.misinmuebles .icons>a.btn.ready:nth-child(2) {
  margin-right: 1px;
  border-right: 1px solid #6cba84 !important;
}

strong.d-block.mb-2.collection-title-header {
  display: flex !important;
  flex-direction: row;
  justify-content: space-between;
  padding-top: 1rem;
  padding-right: 1.2rem;
  padding-left: 1.2rem;
}

#btn-publish-collection {
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}

#btn-copy-link,
#btn-view-published {
  transition: all 0.2s ease;
  padding: 0.5rem 0.8rem !important;
  color: #4a5568 !important;
}

#btn-copy-link:hover {
  color: #2563eb !important;
}

#btn-view-published:hover {
  color: #10b981 !important;
}

.favscollection button.btn.btn-primary.btn-sm.ms-2 {
  background: #4CAF50;
  border: 1px solid #4CAF50;
}

.card-body.favscollection {
  box-shadow: 0 4px 10px rgba(49, 130, 206, 0.15);
  /* border: 1px solid #99999936; */
  border-radius: 16px;
  background: #fff;
  padding: 12px;
}

.conversation-name {
  display: flex;
  padding-top: 15px;
  padding-bottom: 7px;
  font-weight: 700;
  font-size: 11px;
}

h5#favorites-title {
  padding-bottom: 0rem;
  padding-left: 0rem;
  max-width: 600px;
  overflow: hidden;
  color: #314158;
  font-weight: 700;
  font-size: 1.6rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.flex-check-list-plan {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  /* border: 1px solid #999; */
  padding: 1px;
  width: 100%;
  line-height: 1.3;
}

.property-details {
  display: flex;
  justify-content: flex-end;
  margin-top: 1rem;
  margin-left: 1rem;
  width: 100%;
}

.ai-chat-bubble .property-details div.card {
  width: 100%
}


.conversation-list {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  position: relative;
  margin-bottom: 24px;
  -webkit-box-align: end;
  -ms-flex-align: end;
  align-items: flex-end;
}

.chat-avatar {
  display: flex;
  justify-content: center;
  align-items: center;
  margin: 0 6px 0 0;
  border-radius: 100%;
  background: #eaeaea;
  padding: 4px;
  width: 40px;
  height: 40px;
}

.chat-avatar img {
  width: 22px;
  height: 22px;
  /* padding: 9px; */
}

.conversation-list .ctext-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 10px;
}

.conversation-list .ctext-wrap-content {
  position: relative;
  box-shadow: 0 2px 4px #0f223a1f;
  border-radius: 8px 8px 8px 0;
  background: #eaeaea;
  padding: 12px 20px;
  color: #343a40;
  font-size: 12px;
}

.conversation-list .ctext-wrap-content:before {
  position: absolute;
  right: auto;
  bottom: -9px;
  left: 0;
  border: 5px solid transparent;
  border-top-color: #eaeaea;
  border-left-color: #eaeaea;
  content: "";
}

small#favorites-desc {
  color: #314158;
  font-size: 0.85rem;
  line-height: 1.4;
  display: flex;
}

.cell-favs {
  position: relative;
}

.card-image-container::before {
  opacity: 0.8;
  transition: opacity 0.25s;
}

#favorites-grid .cell-favs:hover .card-image-container::before {
  opacity: 1;
}

#favorites-grid .card-image-container::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  border-radius: var(--radius-md);
  -webkit-border-radius: var(--radius-md);
  -moz-border-radius: var(--radius-md);
  -ms-border-radius: var(--radius-md);
  -o-border-radius: var(--radius-md);
  background: linear-gradient(to bottom,
      rgba(0, 0, 0, 0.75) 0%,
      rgba(0, 0, 0, 0.45) 40%,
      rgba(0, 0, 0, 0) 100%);
  width: 100%;
  height: 120px;
  pointer-events: none;
  content: "";
}

input.form-control.form-control-sm.collection-search {
  font-size: 16px !important;
}

.chart-infobox-icon img {
  display: flex;
  border-radius: 6px;
  background: #ffc107;
  padding: 4px;
  width: 20px;
  height: 20px;
}

.small.chart-infobox-icon.chart-infobox-ajust {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  gap: 5px;
}

.fav-flag {
  display: flex;
  position: absolute;
  top: 10px;
  right: 10px;
  left: auto;
  flex-direction: row;
  justify-content: flex-end;
  z-index: 9;
  width: 100%;
}

.action-pinlocation h6.dropdown-header {
  margin: 0px;
  padding: 4px 8px !important;
  color: #000;
  font-weight: 700;
  font-size: 9px;
  text-transform: uppercase;
}


#dashboardmenu a.nav-link:hover span.bg-success {
  color: #fff !important;
}

.action-pinlocation .dropdown-item {
  transition: ease-in-out 0.2s;
  -webkit-transition: ease-in-out 0.2s;
  -moz-transition: ease-in-out 0.2s;
  -ms-transition: ease-in-out 0.2s;
  -o-transition: ease-in-out 0.2s;
}

.action-pinlocation .dropdown-item:hover {
  background-color: oklab(0.55 -0.01 -0.04 / 0.1);
  color: #2e3032;
}

.action-pinlocation button.dropdown-item.text-danger.remove-fav {
  display: inline-block;
  margin: 0px !important;
  box-shadow: none;
  border-radius: 4px;
  background: none;
  padding: 2px 6px !important;
}

.action-pinlocation button.dropdown-item.text-danger.remove-fav:hover {
  background: oklab(57.45% 0.19486 0.10285 / 0.836);
  color: oklab(100% 0 -0.00011) !important;
}

ul.dropdown-menu.dropdown-menu-end.show a.dropdown-item.active {
  background: #198754;
  border-radius: 16px;
}

dropdown-item.active,
.dropdown-item:active {
  text-decoration: none;
  background: #198754;
  border-radius: 16px;

}


ul.dropdown-menu.dropdown-menu-end.show {
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
  border: 1px solid #198754;
  background: #f7f7f7;
  padding: 0.4rem;
  width: 100%;
  min-width: 273px;
  font-size: 14px;
  border-radius: var(--radius-md);
}

button.dots-pin-favs img {
  transition: all 0.2ms;
  -webkit-transition: all 0.2ms;
  -moz-transition: all 0.2ms;
  -ms-transition: all 0.2ms;
  -o-transition: all 0.2ms;
  border-radius: 0px;
  background: transparent;
  width: 20px;
  height: 20px;
}

button.dots-pin-favs img:hover {
  filter: grayscale(1);
  -webkit-filter: grayscale(1);
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  background: transparent;
}

button.remove-fav {
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
  border: 0px;
  border-radius: 8px;
  background: oklab(1 0 0 / 0.8);
  padding: 0px;
}

button.remove-fav:hover {
  background: oklab(1 0 0 / 1);
}

ul.dropdown-menu.dropdown-menu-end.show {
  max-width: 70vw;
}

#favorites-grid a.card-link::before {
  position: absolute;
  top: -100%;
  left: -100%;
  transition: all 0.5s ease;
  background: linear-gradient(45deg,
      transparent,
      rgba(255, 255, 255, 0.1),
      transparent);
  width: 100%;
  height: 100%;
  content: "";
}

#favorites-grid a.card-link:hover::before {
  top: 100%;
  left: 100%;
}

#favorites-grid a.card-link {
  animation: all 0.3s ease;
  -webkit-animation: all 0.3s ease;
}

#favorites-grid a.card-link p.price {
  animation: all 0.4s easy-in-out;
  -webkit-animation: all 0.4s easy-in-out;
  transition: all 0.4s ease-in-out;
  -webkit-transition: all 0.4s ease-in-out;
  -moz-transition: all 0.4s ease-in-out;
  -ms-transition: all 0.4s ease-in-out;
  -o-transition: all 0.4s ease-in-out;
}

#favorites-grid a.card-link:hover p.price {
  transform: scale(1.1);
  -webkit-transform: scale(1.1);
  -moz-transform: scale(1.1);
  -ms-transform: scale(1.1);
  -o-transform: scale(1.1);
  filter: invert(1);
  -webkit-filter: invert(1);
}

.card-image-container {
  position: relative;
  aspect-ratio: 16 / 10;
}

.name-pinlocation {
  flex: 1;
  margin: 0px;
  padding: 0px;
  font-size: 0.85rem;
  line-height: 1.3;
}

.iconpin-location {
  display: flex;
  flex-direction: row;
  align-items: flex-start;
  margin: 0px;
  padding: 0px;
  width: 100%;
  max-width: 16px;
}

.card-location {
  display: flex;
  flex-direction: row;
  align-content: center;
  justify-content: space-between !important;
  align-items: flex-start !important;
  gap: 0px;
  margin-top: 10px;
  font-size: var(--text-xs);
}

.price {
  position: absolute;
  bottom: -6px;
  left: var(--space-2);
  z-index: 2;
  backdrop-filter: blur(6px);
  box-shadow: var(--shadow-sm);
  border-radius: 0px var(--radius-sm) 0px var(--radius-sm);
  -webkit-border-radius: 0px var(--radius-sm) 0px var(--radius-sm);
  -moz-border-radius: 0px var(--radius-sm) 0px var(--radius-sm);
  -ms-border-radius: 0px var(--radius-sm) 0px var(--radius-sm);
  -o-border-radius: 0px var(--radius-sm) 0px var(--radius-sm);
  background: oklch(100% 0.005 250 / 0.85);
  padding: var(--space-2) var(--space-3);
  color: oklch(18% 0.02 250);
  font-weight: 700;
  font-size: var(--text-xs);
  letter-spacing: -0.3px;
}

.badge-status {
  position: absolute;
  top: var(--space-3);
  left: var(--space-3);
  z-index: 2;
  border-radius: 999px;
  background: var(--color-primary);
  padding: var(--space-1) var(--space-3);
  color: white;
  font-weight: 600;
  font-size: var(--text-micro);
  letter-spacing: 0.3px;
}

.card-link {
  display: block;
  position: relative;
  z-index: 1;
  text-decoration: none;
  -webkit-tap-highlight-color: transparent;
  transition: transform 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  will-change: transform;
  touch-action: manipulation;
}

img.card-thumbnail {
  /* display: block; */
  /* position: relative; */
  z-index: 1;
  transition: transform 0.4s ease;
  -webkit-transition: transform 0.4s ease;
  -moz-transition: transform 0.4s ease;
  -ms-transition: transform 0.4s ease;
  -o-transition: transform 0.4s ease;
  border-radius: 0 0 var(--radius-md) var(--radius-md);
  -webkit-border-radius: 0 0 var(--radius-md) var(--radius-md);
  -moz-border-radius: 0 0 var(--radius-md) var(--radius-md);
  -ms-border-radius: 0 0 var(--radius-md) var(--radius-md);
  -o-border-radius: 0 0 var(--radius-md) var(--radius-md);
  aspect-ratio: 16 / 10;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#dashboardmenu a.nav-link.is-active {
  border-radius: 16px;
  background: #d3e9c3;
}

#dashboardmenu a.nav-link:hover {
  transition: ease-in-out 0.2s;
  -webkit-transition: ease-in-out 0.2s;
  -moz-transition: ease-in-out 0.2s;
  -ms-transition: ease-in-out 0.2s;
  -o-transition: ease-in-out 0.2s;
  border-radius: 6px;
  background: #ddf2e14c;
  color: #125a29 !important;
}

#dashboardmenu a.nav-link:hover span,
#dashboardmenu a.nav-link:hover i.bi {
  color: #125a29 !important;
}

#rendimientodepropiedades-table button.btn-link {
  background: #ddf2e14c;
  color: green;
  font-size: 14px;
}

.simplecard {
  border: 1px solid #efefef;
  border-radius: var(--radius-md);
  -webkit-border-radius: var(--radius-md);
  -moz-border-radius: var(--radius-md);
  -ms-border-radius: var(--radius-md);
  -o-border-radius: var(--radius-md);
  background: #fff;
  padding: var(--space-4);
  -webkit-tap-highlight-color: transparent;
}

.simplecard td small,
#top-properties small,
.card.card-ranking small {
  display: block;
  line-height: 1.3;
}

.card.card-ranking small strong {
  color: #d1e7dd !important;
}

.card.card-ranking .text-muted.small {
  color: #fff !important;
  font-size: var(--text-micro);
}

a.btn.btn-sm.btn-outline-dark.mt-auto {
  border: 1px solid #399d57;
  background: #607d8b;
  color: #fff;
  font-size: 9px !important;
  text-transform: uppercase;
}

small strong {
  color: #4caf50 !important;
}

.minifoto img {
  border-top-right-radius: 18px;
}

.card.card-ranking {
  background: #399d57;
  color: #fff;
}

div#dashboard-stats h3,
div#dashboard-engagement h3 {
  margin-bottom: 0px !important;
  padding-bottom: 0px !important;
  font-weight: 700;
}

.chart-infobox {
  display: flex;
  flex-direction: column;
  align-content: center;
  justify-content: center;
  align-items: center;
  padding-top: 1rem;
  padding-bottom: 1rem;
}

.chart-infobox-icon {
  display: flex;
  flex-direction: row;
  flex-wrap: nowrap;
  align-content: center;
  justify-content: center;
  align-items: center;
  gap: 8px;
  width: 100%;
}

.chart-infobox-icon img {
  opacity: 0.7;
}

.simplecard span.small {
  display: block;
  padding: 0px;
  line-height: 1.5;
}

.simplecard h5 {
  margin: 0px;
  padding: 0px;
  font-weight: 700;
}

.spark-container {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 1px solid #eeeeee45;
  border-radius: 6px;
  background: oklab(0 0 0 / 0.4);
  padding: 6px;
  width: 100%;
  max-width: 7rem;
}

#kpi-visitas .text-muted.small,
#kpi-leads .text-muted.small,
#kpi-conversion-global .text-muted.small,
#total-inmuebles .text-muted.small {
  display: block;
}

header#masthead {
  display: flex;
}

.site-header {
  box-shadow: none;
  border-bottom: none;
  background-color: #fff;
}

canvas {
  display: block !important;
  min-height: 60px !important;
}

.btn-blue {
  display: flex;
  color: white;
}

.action-link {
  display: flex;
  color: white;
}

.dashboard-card:has(.badge-danger) {
  border-left: 4px solid #f87171;
}

.dashboard-card:has(.badge-danger) .btn:not(.btn-danger) {
  border: none;
  background-color: #3182ce;
  color: white;
}

.dashboard-card:has(.badge-danger) .btn:not(.btn-danger):hover {
  background-color: #2b6cb0;
}

.dashboard-profile {
  margin: 20px 0;

  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
  padding: 30px;
  max-width: 500px;
}

.dashboard-profile h3 {
  margin-top: 0;
  margin-bottom: 25px;
  border-bottom: 2px solid #edf2f7;
  padding-bottom: 10px;

  color: #2d3748;

  font-size: 20px;
}

.dashboard-profile form {
  display: flex;
  flex-direction: column;

  gap: 20px;
}

.dashboard-profile label {
  display: flex;
  flex-direction: column;

  gap: 8px;

  color: #4a5568;
  font-weight: 600;

  font-size: 14px;
}

.dashboard-profile input[type="text"] {
  transition: all.2s;

  border: 1px solid #e2e8f0;
  border-radius: 8px;
  background: #f8fafc;
  padding: 12px;

  font-size: 16px;
}

.dashboard-profile input[type="text"]:focus {
  outline: none;
  box-shadow: 0 0 0 3px rgba(49, 130, 206, 0.1);
  border-color: #3182ce;
  background: #fff;
}

.dashboard-profile input[type="file"] {
  border: 1px dashed #cbd5e0;
  border-radius: 8px;
  background: #f1f5f9;
  padding: 10px;

  color: #718096;

  font-size: 13px;
}

.dashboard-profile button[name="update_profile"] {
  transition: background.2s;

  cursor: pointer;
  margin-top: 10px;
  border: none;
  border-radius: 8px;
  background-color: #2d3748;
  padding: 12px;

  color: white;

  font-weight: bold;
}

.dashboard-profile button[name="update_profile"]:hover {
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
  background-color: #1a202c;
}

.dashboard-container {
  display: grid;

  grid-template-columns: 750px 1fr;
  align-items: start;
  gap: 0px 30px;
  margin: 0px auto;
  padding: 0 20px;

  max-width: 1200px;
}

.dashboard-container h1,
.dashboard-container h2 {
  font-family: "Inter", sans-serif;
  letter-spacing: -0.5px;
}

.dashboard-container .dashboard-profile {
  position: sticky;
  top: 20px;

  margin: 0;

  box-shadow: 0 2px 10px rgba(0, 0, 0, 0.05);
}

.dashboard-content {
  display: flex;
  flex-direction: column;

  gap: 20px;
}

.dashboard-header {
  display: flex;
  justify-content: space-between;
  align-items: center;

  margin-bottom: 10px;

  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;
  padding: 20px;
}

@media (max-width: 992px) {
  .dashboard-container {
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .dashboard-container .dashboard-profile {
    position: static;

    max-width: 100%;
  }
}

.dashboard-list {
  display: flex;
  flex-direction: column;

  gap: 16px;
  margin-top: 10px;

  width: 100%;
}

.dashboard-list:empty::after {
  display: block;
  border: 2px dashed #e2e8f0;
  border-radius: 12px;
  background: #f8fafc;

  padding: 40px;

  content: "No tienes inmuebles publicados todavía.";

  color: #718096;

  font-style: italic;
  text-align: center;
}

@keyframes fadeInSlide {
  from {
    transform: translateY(10px);

    opacity: 0;
  }

  to {
    transform: translateY(0);

    opacity: 1;
  }
}

.dashboard-card.horizontal {
  display: flex;
}

/* =====================================================
   DASHBOARD ADRENALINE & GAMIFICATION
   ===================================================== */
.adrenaline-mission {
  border: 1px solid #ff4757 !important;
  background: linear-gradient(90deg, #fff 0%, #fff5f5 100%) !important;
  position: relative;
  overflow: hidden;
}

.adrenaline-mission::after {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  width: 4px;
  height: 100%;
  background: #ff4757;
  box-shadow: 0 0 10px rgba(255, 71, 87, 0.5);
}

.adrenaline-plus {
  color: #ff4757 !important;
  font-weight: 800 !important;
  text-shadow: 0 0 5px rgba(255, 71, 87, 0.2);
  animation: adrenaline-pulse 1.5s infinite;
}

@keyframes adrenaline-pulse {
  0% {
    transform: scale(1);
  }

  50% {
    transform: scale(1.1);
  }

  100% {
    transform: scale(1);
  }
}

.adrenaline-badge {
  position: absolute;
  top: 10px;
  right: 10px;
  background: #ff4757;
  color: white;
  font-size: 0.6rem;
  font-weight: bold;
  padding: 2px 8px;
  border-radius: 20px;
  letter-spacing: 1px;
}

/* PREMIUM XP TOAST */
.premium-toast {
  position: fixed;
  bottom: 30px;
  right: 30px;
  z-index: 10000;
  background: #1a202c !important;
  color: white !important;
  padding: 15px 25px;
  border-radius: 16px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.3);
  animation: slide-in-top-opt 0.5s ease-out;
  border: 1px solid rgba(255, 255, 255, 0.1);
}

.toast-content {
  display: flex;
  align-items: center;
  gap: 15px;
}

.toast-icon {
  font-size: 2rem;
  filter: drop-shadow(0 0 5px #ffc107);
}

.toast-xp {
  font-size: 1.2rem;
  font-weight: 800;
  color: #ffc107;
}

.fade-out {
  opacity: 0;
  transform: translateY(20px);
  transition: all 0.5s ease;
}

@keyframes slide-in-top-opt {
  from {
    transform: translateY(100%);
    opacity: 0;
  }

  to {
    transform: translateY(0);
    opacity: 1;
  }
}

/* CONFETTI */
.confetti-particle {
  position: fixed;
  top: -10px;
  width: 8px;
  height: 8px;
  z-index: 9999;
  animation: fall-opt 3s linear forwards;
}

@keyframes fall-opt {
  to {
    transform: translateY(100vh) rotate(720deg);
    opacity: 0;
  }
}

.dashboard-card.horizontal {
  margin-bottom: 20px;
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.02);

  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background: #fff;

  min-height: 140px;
  overflow: hidden;
}

/* Columna de la foto */
.card-side-photo {
  /* Ancho de la foto lateral */
  position: relative;

  flex-shrink: 0;
  /* Que no se encoja */

  border-radius: 12px 0px 0px 12px;
  background-position: center;
  background-size: cover;

  width: 140px;
}

.card-side-photo .dashboard-badge {
  position: absolute;
  bottom: 10px;
  left: 10px;
  border-radius: 4px;
  background: #38a169;

  padding: 3px 8px;

  color: white;
  font-weight: 700;

  font-size: 9px;
}

/* Contenido de la derecha */
.card-side-content {
  display: flex;
  flex-grow: 1;
  flex-direction: column;
  justify-content: space-between;

  padding: 15px;
  /* Separa título de botones */
}

.header-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;

  gap: 10px;
}

.kebab-menu {
  position: relative;

  margin-right: 0px;
  margin-left: auto;
  padding-bottom: 6px;
}

button.kebab-toggle img {
  width: 16px;
}

.kebab-toggle {
  display: flex;
  flex-direction: row;
  justify-content: flex-end;

  cursor: pointer;
  border: 0px solid #e2e8f0;
  -webkit-border-radius: 6px;
  -moz-border-radius: 6px;
  border-radius: 6px;

  -ms-border-radius: 6px;
  -o-border-radius: 6px;
  background: #f8fafc;

  width: 30px;
  height: 30px;

  color: #4a5568;

  font-weight: 700;
  line-height: 1;
}

.kebab-toggle:hover {
  background: #e2e8f0;
}

.kebab-dropdown {
  display: none;
  position: absolute;
  top: 30px;
  right: 0;
  z-index: 5;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.08);

  border: 1px solid #e2e8f0;
  border-radius: 10px;
  background: #ffffff;
  padding: 6px 0;

  min-width: 180px;
}

.kebab-menu.open .kebab-dropdown {
  display: block;
}

@media (hover: hover) and (pointer: fine) {
  .kebab-menu:hover .kebab-dropdown {
    display: block;
  }

  .kebab-menu:hover .kebab-toggle {
    background: #e2e8f0;
  }
}

.kebab-item {
  display: block;

  padding: 8px 12px;

  color: #2d3748;
  font-weight: 600;

  font-size: 12px;

  text-decoration: none;
}

.kebab-item:hover {
  background: #f1f5f9;
}

.tpl-title {
  margin: 0;

  width: 500px;
  overflow: hidden;

  color: #2d3748;
  font-weight: 600;

  font-size: 1.3rem;
  line-height: 1.3;
  text-overflow: ellipsis;

  white-space: nowrap;
}

span.tpl-title-location {
  font-size: 12px;
  line-height: 10px;
}

/* Fila de gestión */
.manager-row {
  display: flex;
  align-items: center;

  gap: 20px;

  margin: 10px 0;
  margin-bottom: 0px;
}

.icon-stepper {
  display: flex;

  gap: 10px;

  min-width: 22rem;
}

.step-link {
  display: flex;
  position: relative;
  flex: 1;
  align-content: center;
  justify-content: center;
  align-items: center;

  gap: 10px;

  transition: all 0.2s ease;
  border-radius: 8px;
  background: #f7fafc;
  padding: 8px;

  height: 56px;

  color: #818ea1;

  font-size: 0.7rem;
  text-decoration: none;
}

span.dashboard-badge.badge-warning {
  background: #5a6774;
}

.step-check {
  position: absolute;
  top: -2px;
  right: -2px;

  border: 1.5px solid white;
  border-radius: 50%;
  background: #38a169;

  width: 8px;
  height: 8px;
}

/* Barra de progreso simplificada */
.progress-mini {
  display: flex;
  flex-grow: 1;
  align-items: center;

  gap: 8px;
}

.progress-bar-bg {
  flex-grow: 1;

  border-radius: 10px;
  background: #edf2f7;

  height: 6px;
  overflow: hidden;
}

.progress-fill {
  background: #38a169;
  height: 100%;
}

.progress-label {
  color: #718096;
  font-weight: 600;

  font-size: 10px;
}

/* Botones inferiores */
.actions-row {
  display: flex;

  gap: 12px;
}

.btn-dashboard {
  display: flex;
  align-items: center;

  gap: 5px;

  transition: 0.2s;

  border-radius: 6px;

  padding: 6px 12px;
  font-weight: 700;

  font-size: 12px;
  text-decoration: none;
}

.btn-dashboard.edit {
  background: #ebf8ff;
  color: #3182ce;
}

.btn-dashboard.delete {
  background: #fff5f5;
  color: #e53e3e;
}

/* PAGINADOR */

.dashboard-paginator {
  display: flex;
  justify-content: center;
  align-items: center;

  gap: 16px;

  padding: 0px 0;

  font-family:
    -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
}

.btn-pag {
  display: inline-flex;
  justify-content: center;
  align-items: center;

  gap: 8px;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);

  cursor: pointer;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  border: 1px solid #e2e8f0;
  border-radius: 12px;
  background-color: #ffffff;

  padding: 10px 18px;

  color: #4a5568;
  font-weight: 600;

  font-size: 14px;
  user-select: none;
}

/* Efectos al pasar el mouse */
.btn-pag:hover:not(:disabled) {
  transform: translateY(-1px);
  box-shadow: 0 4px 6px rgba(0, 0, 0, 0.07);
  border-color: #2d3748;
  background-color: #f7fafc;

  color: #2d3748;
}

/* Efecto al hacer clic */
.btn-pag:active:not(:disabled) {
  transform: translateY(0);

  box-shadow: none;
}

/* Estado Desactivado (Crucial para Pixel Perfect) */
.btn-pag:disabled {
  opacity: 0.6;
  cursor: not-allowed;
  box-shadow: none;
  border-color: #edf2f7;
  background-color: #f8fafc;
  color: #cbd5e0;
}

/* Ajuste de los iconos dentro de los botones */
.btn-pag img {
  display: block;
  /* Esto evita que el filtro de gris se vea mal en el hover si el icono es negro */

  transition: opacity 0.2s;

  width: 16px;
  height: 16px;
}

.btn-pag:disabled img {
  filter: grayscale(1);
}

/* Información de página */
.pag-info {
  border-radius: 20px;
  background: #f1f5f9;
  padding: 8px 16px;
  min-width: 100px;

  color: #4a5568;
  font-weight: 500;

  font-size: 14px;

  text-align: center;
}

#current-page {
  color: #2d3748;

  font-weight: 700;
}

#total-pages {
  color: #718096;
}

div#optimization-insight {
  font-size: var(--text-micro);
}

div#optimization-insight .alert.d-flex.align-items-center.p-0.m-0 {
  gap: 8px;
}

div#optimization-insight a {
  color: #399d57;
  text-decoration: underline !important;
}

.page-title-box h5 {
  padding-top: 10px;
  font-size: var(--text-sm);
}

div#favorites-grid {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 3rem;
  margin-right: 1rem;
  margin-left: 1rem;
  width: 96%;
}

div#favorites-grid .col-md-4.p-0.m-0 {
  width: 100%;
}

.card-body.card-info-favs {
  padding-right: 1.8rem;
  padding-bottom: 2rem;
  padding-left: 1.8rem;
}

/* Responsivo para móviles */
@media (max-width: 480px) {
  .card-body.card-info-favs {
    padding-right: 1.1rem;
    padding-bottom: 2rem;
    padding-left: 1.1rem;
  }

  li.nav-item.w-auto.w-lg-100.dashboard-menu-item {
    display: flex;
    flex: 1;
    flex-direction: row;
    flex-wrap: nowrap;
    align-content: center;
    justify-content: center;
    align-items: center;
    gap: 0px;
    width: 100% !important;
  }

  div#favorites-grid {
    display: grid;
    grid-template-columns: repeat(1, 1fr);
    gap: 3rem;
    margin: 0px auto;
    width: 100%;
  }

  a.btn.btn--outline.btn--sm.menu-principal-btn {
    margin: 0px;
    padding: 0px;
  }

  ul#dashboardmenu a {
    display: flex;
    flex: 1;
    justify-content: center;
    align-items: center;
    margin-bottom: 12px;
    padding-top: 4px !important;
    padding-right: 0px !important;
    padding-bottom: 4px;
    padding-left: 0px !important;
    width: 100%;
  }

  .dashboard-paginator {
    justify-content: space-between;

    gap: 8px;

    width: 100%;
  }

  .btn-pag {
    padding: 10px 14px;

    font-size: 13px;
  }

  .pag-info {
    padding: 8px 12px;
    min-width: auto;

    font-size: 13px;
  }
}

/*  --------- FIN PAGINADOR ------------ */

@media (max-width: 600px) {
  .kebab-menu {
    position: absolute;
  }

  .kebab-toggle {
    display: flex;
    flex-direction: row;
    justify-content: center;
    align-items: center;

    border: 1px dotted oklab(0.55 -0.02 -0.05 / 0.33);

    width: 40px;
    height: 40px;
  }

  .tpl-title {
    width: 270px;
  }

  .icon-stepper {
    width: 100%;
    min-width: auto;
  }

  .dashboard-card.horizontal {
    flex-direction: column;
    /* Cambia de horizontal a vertical */

    min-height: auto;
    overflow: visible;
  }

  .card-side-photo {
    /* Le damos una altura fija arriba */

    border-radius: 12px 12px 0px 0px;
    width: 100%;
    /* La foto ocupa todo el ancho arriba */
    height: 150px;
  }

  .card-side-photo .dashboard-badge {
    top: 10px;
    bottom: auto;
    /* Movemos el badge arriba para que se vea mejor */
  }

  .card-side-content {
    padding: 15px;
  }

  .manager-row {
    flex-direction: column;
    /* Los iconos y la barra de progreso se apilan */
    align-items: flex-start;

    gap: 15px;
  }

  .progress-mini {
    width: 100%;
    /* La barra ocupa todo el ancho en móvil */
  }

  .actions-row {
    justify-content: space-between;

    margin-top: 10px;
    /* Botones uno a cada lado */

    border-top: 1px solid #eee;
    padding-top: 15px;
  }

  .btn-dashboard {
    flex: 1;
    /* Los botones crecen para ser fáciles de tocar con el pulgar */
    justify-content: center;
  }

  .gracias-actions {
    grid-template-columns: 1fr;
  }
}

/* Ajuste para móvil: que no flote tanto si el espacio es poco */
@media (max-width: 600px) {
  .header-row {
    padding-right: 0;
  }

  .gotopage {
    position: static;
    /* En móvil vuelve al flujo normal si prefieres */
    margin-left: auto;

    min-width: 30px;
  }

  .kebab-menu {
    position: relative;
    top: -9.3rem;
    right: 0px;
    bottom: auto;

    margin-right: 0;
  }
}

/* Efecto de elevación en la Card */
.dashboard-card.horizontal {
  transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);

  cursor: default;
  overflow: visible;
}

.dashboard-card.horizontal:hover {
  transform: translateY(-4px);
  /* El borde se oscurece sutilmente */
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.08);
  /* Se eleva un poco */

  border-color: #cbd5e0;
  /* Sombra más profunda y suave */
}

/* Efecto en la imagen (Zoom sutil) */
.dashboard-card.horizontal:hover .card-side-photo {
  filter: brightness(1.05);
  /* Brilla un poquito */
  transition: filter 0.3s ease;
}

/* Efecto en los botones de acción para que "reaccionen" */
.dashboard-card.horizontal .btn-dashboard:hover {
  transform: scale(1.02);

  filter: saturate(1.2) brightness(0.95);
}

/* Efecto en la flecha de "Ver página" */
.dashboard-card.horizontal:hover .gotopage {
  background: #0073ff;
}

.dashboard-card.horizontal:hover .gotopage img {
  /* Cambia la flecha a blanco */
  opacity: 1;

  filter: brightness(0) invert(1);
}

/* Efecto Hover */
.step-link:hover {
  /* Color azul de marca */
  transform: translateY(-2px);
  box-shadow: 0 4px 10px rgba(49, 130, 206, 0.15);

  border-color: #3182ce;
  background: #ffffff;
}

/* Si el paso ya está completado (punto verde), cambiamos el color al hover */
.step-link.complete:hover {
  /* Verde éxito */
  box-shadow: 0 4px 10px rgba(56, 161, 105, 0.15);
  border-color: #38a169;
}

/* Efecto en el icono dentro del link */
.step-link:hover img {
  /* Oscurece un poco el icono para que resalte */
  transform: scale(1.1);

  filter: brightness(0.8);
}

/* Estilo base para desktop */
.step-text {
  display: inline;

  margin-left: 5px;
  /* Espacio entre icono y texto */

  font-size: 12px;
  /* Se mantiene en línea con el icono */
}

.dashboard-content {
  border-radius: 1rem;
  background: #fff;
  padding: 1rem;
}

/* Magia para móvil */
@media (max-width: 600px) {
  .step-text {
    display: none;
    /* Desaparece por completo */
  }

  .step-link {
    /* Hacemos el icono un poco más grande para que sea fácil de tocar */
    justify-content: center;

    padding: 10px;
  }
}

/* Contenedor del menú (el dropdown) */
.kebab-dropdown {
  display: none;
  /* Se oculta por defecto */
  position: absolute;
  top: 30px;
  right: 0;
  z-index: 100;
  box-shadow:
    0 10px 15px -3px rgba(0, 0, 0, 0.1),
    0 4px 6px -2px rgba(0, 0, 0, 0.05);

  border: 1px solid oklab(0.41 0 -0.01 / 0.63);
  border-radius: 8px;
  /* Ajusta según la posición de tus 3 puntos */
  background-color: #ffffff;
  /* Para que los bordes redondeados corten el hover de los items */
  padding: 5px 0;

  min-width: 160px;
  /* Asegura que esté por encima de todo */
  overflow: hidden;
}

/* Los links dentro del menú */
.kebab-item {
  display: block;

  transition:
    background-color 0.2s,
    color 0.2s;

  padding: 10px 16px;

  color: #4a5568;
  font-weight: 500;

  font-size: 14px;
  text-align: left;
  text-decoration: none;
}

/* Efecto Hover */
.kebab-item:hover {
  background-color: #f7fafc;
  color: #3182ce;
  /* Un azul suave para resaltar */
}

/* Estilo especial para el botón de Borrar */
.kebab-item[href*="delete"]:hover {
  background-color: #fff5f5;
  color: #e53e3e;
  /* Rojo para advertir peligro */
}

/* Clase para mostrar el menú (se activa con JS) */
.kebab-dropdown.show {
  display: block;

  animation: fadeInScale 0.15s ease-out;
}

/* Animación de entrada suave */
@keyframes fadeInScale {
  from {
    transform: scale(0.95) translateY(-10px);

    opacity: 0;
  }

  to {
    transform: scale(1) translateY(0);

    opacity: 1;
  }
}

span.dashboard-badge.badge-danger {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  background: oklab(0.59 0.23 0.13 / 0.8);

  height: 3rem;

  color: oklab(1 0 0);
}

.steeper-completo {
  transition: background 0.3s;
  box-shadow: 0 0 0 1px #16d63c33;

  border-bottom: 1px solid #84e423;
  background: #f7fbf1 !important;
}

.steeper-check {
  display: flex;
  position: absolute;
  top: -3px;
  right: -3px;
  justify-content: center;
  align-items: center;
  z-index: 2;
  box-shadow: 0 1px 4px #0001;

  border-radius: 50%;
  background: #fff;

  padding: 1px;
}

.dashboard-progress-bar {
  display: none;
}

li.liflex.is-pending a:hover {
  border: 1px solid #c7c8ca;
  border-bottom: 1px solid #919295;
}

.dashboard-card.badge-warning h5 {
  color: #939d9c;
}

.img_prev.full-width {
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}

/* Contenedor de la imagen */
#profile_preview .img_prev {
  position: relative;

  margin-top: -4rem;
  margin-bottom: 12px;
}

#profile_preview .imguser_prev {
  box-shadow: 0 4px 8px rgba(0, 0, 0, 0.1);

  border: 3px solid #fff;
  border-radius: 50%;
  background: #f8fafc;
  width: 125px;
  height: 125px;

  object-fit: cover;
}

/* Bloque de datos */
#profile_preview .data_prev {
  margin-top: 5px;
}

#profile_preview .hi_prev {
  display: block;

  color: #1e293b;
  font-weight: 600;

  font-size: 18px;
}

#profile_preview .email_prev {
  display: block;

  margin-top: 4px;

  color: #64748b;

  font-size: 13px;

  word-break: break-all;
  /* Evita que el email largo rompa la card */
}

#profile_preview .nick_prev {
  display: inline-block;

  margin-top: 6px;
  border-radius: 12px;
  background: #f1f5f9;
  padding: 2px 8px;

  color: #94a3b8;
  font-weight: 400;

  font-size: 12px;
}

/* Botón de acción */
#profile_preview .btn_go_prev {
  grid-column: span 2;
  flex-grow: 2;
  flex-wrap: wrap;

  justify-self: center;
  transition: background 0.3s ease;

  cursor: pointer;
  margin: 0px auto;
  margin-top: 1rem;
  border: none;
  border-radius: 8px;
  background: #1e293b;
  padding: 14px 28px;

  width: auto;

  color: white;
  font-weight: 600;

  font-size: 16px;
  text-decoration: none;
}

#profile_preview .btn_go_prev:hover {
  transform: translateY(-1px);
  box-shadow: 0 4px 8px rgba(59, 130, 246, 0.3);

  background: #2563eb;
}

#profile_preview .btn_go_prev:active {
  transform: translateY(0);
}

#profile_preview {
  display: flex;
  position: relative;
  flex-direction: column;
  align-items: center;

  border: 1px solid #f1f5f9;
  border-radius: 12px;
  background: #ffffff;

  padding: 24px;
  padding-top: 0px;
  padding-right: 0px;
  padding-left: 0px;

  text-align: center;
}

/* Título de la sección */
#profile_preview .title_prev {
  /* Alinea el título a la izquierda */
  position: absolute;
  top: 10px;
  left: 12px;

  align-self: flex-start;
  z-index: 1;

  margin-bottom: 15px;

  color: #94a3b8;
  font-weight: 700;

  font-size: 14px;

  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.dashboard-header-container {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  margin: 0px auto;
  padding-top: 0rem;

  width: 100%;
}

.dashboard-header-container h1 {
  font-weight: 500;
  font-size: 2rem;
  font-size: 1.6rem;
  font-family: inherit;
}

.filter-switch {
  display: grid;
  position: relative;
  grid-template-columns: repeat(3, 1fr);
  margin: 1rem 0;
  border: 1px solid var(--color-border);
  border-radius: var(--radius-md);
  /* Tus 18px */
  background-color: var(--color-surface-soft);
  /* Tu gris clarito */
  padding: 4px;
  width: 100%;
  max-width: 400px;
  /* Ajusta según tu sidebar o header */
  user-select: none;
}

.filter-switch input {
  display: none;
  /* Escondemos los radios reales */
}

.filter-switch label {
  position: relative;
  z-index: 2;
  transition: color 0.3s ease;
  cursor: pointer;
  padding: 8px 0;
  color: var(--color-text-light);
  font-weight: 500;
  font-size: var(--text-sm);
  font-family: var(--font-primary);
  text-align: center;
}

/* El fondo que se desliza */
.switch-selection {
  position: absolute;
  top: 4px;
  bottom: 4px;
  left: 4px;
  z-index: 1;
  transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: var(--shadow-sm);
  border-radius: calc(var(--radius-md) - 4px);
  background-color: var(--color-surface);
  /* Blanco */
  width: calc(33.33% - 4px);
  /* Un tercio del ancho */
}

/* --- Lógica de movimiento --- */

/* Si el primero está checkeado, el fondo está en 0 */
#todas:checked~.switch-selection {
  transform: translateX(0);
}

/* Si el segundo está checkeado, se mueve un 100% de su ancho */
#alquiler:checked~.switch-selection {
  transform: translateX(100%);
}

/* Si el tercero está checkeado, se mueve un 200% */
#ventas:checked~.switch-selection {
  transform: translateX(200%);
}

/* Cambio de color del texto activo */
#todas:checked~label[for="todas"],
#alquiler:checked~label[for="alquiler"],
#ventas:checked~label[for="ventas"] {
  color: var(--color-primary);
  font-weight: 600;
}

/* Reutilizamos la base del anterior, solo añadimos los cambios específicos */
.status-filter {
  max-width: 450px;
  /* Un poco más ancho porque el texto es más largo */
}

/* --- Lógica de movimiento específica --- */
#status-todas:checked~.switch-selection {
  transform: translateX(0);
}

#status-publicadas:checked~.switch-selection {
  transform: translateX(100%);
}

#status-sin-publicar:checked~.switch-selection {
  transform: translateX(200%);
}

/* Colores de estado cuando están activos */

/* Todas - Color Primario */
#status-todas:checked~label[for="status-todas"] {
  color: var(--color-primary);
  font-weight: 600;
}

/* Publicadas - Color Success (Verde) */
#status-publicadas:checked~label[for="status-publicadas"] {
  color: var(--color-success);
  font-weight: 600;
}

/* Sin Publicar - Color Muted o Danger */
#status-sin-publicar:checked~label[for="status-sin-publicar"] {
  color: var(--color-text-soft);
  font-weight: 600;
}

/* ======================================================
/* ========== NUEVO DASHBOARD - ESTILOS DE FILTROS ========== */
/* ====================================================== */

.dashboard-page-content {
  display: flex;
  flex-direction: column;
  align-content: stretch;
  justify-content: space-between;
  align-items: stretch;
  margin: 0px auto;
  width: 100%;
  max-width: 1200px;
}

.container .card {
  position: relative;
  transition:
    transform 0.2s cubic-bezier(0.25, 1, 0.5, 1),
    box-shadow 0.2s ease-in-out;
  -webkit-tap-highlight-color: transparent;
  border: 0px solid #fafafa !important;
  border-radius: var(--radius-md) !important;
  -webkit-border-radius: var(--radius-md) !important;
  -moz-border-radius: var(--radius-md) !important;
  -ms-border-radius: var(--radius-md) !important;
  -o-border-radius: var(--radius-md) !important;
  overflow-y: visible !important;
}

.container .card:hover {
  box-shadow:
    -2px -7px 10px #f1f1f1,
    4px 6px 10px #d4d7da !important;
  border-color: transparent !important;
}

.container .card img.img-fluid {
  transition:
    transform 0.3s ease-in-out,
    filter 0.3s ease-in-out !important;
  aspect-ratio: 16 / 9 !important;
  width: 100%;
  height: 100%;
  overflow: hidden !important;
}

.container .card:hover img.img-fluid {
  transform: scale(1.2) !important;
  -webkit-transform: scale(1.2) !important;
  -moz-transform: scale(1.2) !important;
  -ms-transform: scale(1.2) !important;
  -o-transform: scale(1.2) !important;
  filter: brightness(0.85) !important;
  max-height: 200px !important;
}

.misinmuebles-dd.dropdown button.btn {
  border: 1px solid #929293;
}

.misinmuebles .bg-warning-subtle {
  background-color: oklab(0.94 -0.01 0.03 / 0.4) !important;
  color: rgb(118 151 74) !important;
}

.misinmuebles .text-warning {
  color: rgb(118 151 74) !important;
}

.misinmuebles span.badge.rounded-pill.p-1.px-2.me-1 {
  gap: 8px;
}

.misinmuebles .bg-success-subtle {
  background-color: oklab(0.62 -0.12 0.07 / 0.2) !important;
}

.misinmuebles .btn-group>.btn:not(:last-child):not(.dropdown-toggle) {
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}

.misinmuebles .btn-group> :not(.btn-check)+.btn {
  border-top-right-radius: 0px;
  border-top-left-radius: 0px;
  border-bottom-left-radius: 0px;
}

.misinmuebles .icons {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: space-between;
  align-items: stretch;
  justify-items: center;
  gap: 0px;
  border-radius: 0px 0px var(--radius-md) var(--radius-md) !important;
  -webkit-border-radius: 0px 0px var(--radius-md) var(--radius-md) !important;
  -moz-border-radius: 0px 0px var(--radius-md) var(--radius-md) !important;
  -ms-border-radius: 0px 0px var(--radius-md) var(--radius-md) !important;
  -o-border-radius: 0px 0px var(--radius-md) var(--radius-md) !important;
  overflow: hidden;
}

.misinmuebles .icons a.btn {
  display: flex;
  flex: 1;
  justify-content: center;
  align-items: center;
  transition: all 0.2s ease;
  -webkit-transition: all 0.2s ease;
  -moz-transition: all 0.2s ease;
  -ms-transition: all 0.2s ease;
  -o-transition: all 0.2s ease;
  border: 0px solid #e2e8f0;
  border-radius: 8px;
  background: oklab(0.94 -0.01 0.01 / 0.4) !important;
  height: 40px;
}



.misinmuebles span.badge.rounded-pill.p-1.px-2.me-1 {
  display: flex;
  align-content: center;
  align-items: center;
  border-radius: 8px !important;
  -webkit-border-radius: 8px !important;
  -moz-border-radius: 8px !important;
  -ms-border-radius: 8px !important;
  -o-border-radius: 8px !important;
  min-height: 31px !important;
}

.misinmuebles a.btn.ready {
  border-top: 1px solid #20803d !important;
  background: oklab(0.62 -0.12 0.07) !important;
}

a.btn.btn-light.border-light-subtle {
  transition: ease-in-out 0.2s;
  -webkit-transition: ease-in-out 0.2s;
  -moz-transition: ease-in-out 0.2s;
  -ms-transition: ease-in-out 0.2s;
  -o-transition: ease-in-out 0.2s;
  border-radius: 12px;
  background: #d1e7dd;
  padding: 4px 12px;
  color: var(--color-primary);
  font-weight: 700;
  font-size: var(--text-micro);
  text-decoration: none;
}

a.btn.btn-light.border-light-subtle:hover {
  background-color: var(--color-primary);
  color: #d1e7dd;
}

body,
.leaflet-container {
  background-color: var(--color-bg);
  font-family: var(--font-primary);
}

h3.fw-bold.mb-1 {
  font-weight: 600 !important;
  font-size: var(--text-lg);
}

p.text-muted.small.mb-3 {
  opacity: 0.85;
  color: var(--color-text-soft) !important;
  font-weight: 400;
  font-size: var(--text-xs);
}

.icon-pin {
  fill: var(--color-text-soft);
}

small.text-muted {
  font-size: var(--text-micro);
}

p.text-muted.small.mb-2 {
  font-size: var(--text-xs);
}

span.badge.text-dark {
  border: 1px solid #f2f2f1;
  border-radius: 16px;
  background: none !important;
  font-weight: 500;
  font-size: var(--text-micro);
}

h5 span.text-muted.small {
  font-weight: 100;
  font-size: 12px;
}

.card.text-bg-dark {
  border-color: transparent !important;
  border: 0px !important;
  overflow: hidden !important;
}

.col-md-3.overflow-hidden {
  border-top-left-radius: 12px;
  border-bottom-left-radius: 12px;
}

#kpi-visitas h5 span.text-muted,
#kpi-leads h5 span.text-muted,
#kpi-conversion h5 span.text-muted,
#total-inmuebles h5 span.text-muted {
  font-size: var(--text-micro);
}

.custom-popup-dashboard .leaflet-popup-content,
.custom-popup-dashboard .card-text,
.custom-popup-dashboard .card-title {
  margin: 0px;
  padding: 0px;
}

.custom-popup-dashboard .card {
  margin-bottom: 0px !important;
}

.custom-popup-dashboard .card .card-text a:hover {
  border-color: var(--color-text) !important;
  background-color: var(--color-text) !important;
  color: #ffffff !important;
}

.custom-popup-dashboard .card:hover {
  transform: translateY(0px) !important;
  -webkit-transform: translateY(0px) !important;
  -moz-transform: translateY(0px) !important;
  -ms-transform: translateY(0px) !important;
  -o-transform: translateY(0px) !important;
  border-color: transparent !important;
}

.custom-popup-dashboard .card-body {
  padding: 0px;
  padding-top: 6px;
  padding-right: 20px;
  padding-bottom: 6px;
  padding-left: 12px;
}

.custom-popup-dashboard h5.card-title p.card-text {
  display: inline-block;
  font-size: var(--text-micro);
}

.custom-popup-dashboard h5.card-title {
  font-weight: 600 !important;
}

.card-img-overlay {
  background: linear-gradient(to bottom,
      oklab(0 0 0 / 0.82) 0%,
      oklab(0 0 0 / 0.05) 100%);
}

.card-img-overlay-inmuebles {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  border-radius: var(--radius-md) !important;
  -webkit-border-radius: var(--radius-md) !important;
  -moz-border-radius: var(--radius-md) !important;
  -ms-border-radius: var(--radius-md) !important;
  -o-border-radius: var(--radius-md) !important;
  -webkit-border-radius: var(--radius-md) !important;
  background: linear-gradient(to bottom,
      oklab(0 0 0 / 0.6) 0%,
      oklab(0 0 0 / 0.05) 100%);
  padding-right: var(--space-6);
  padding-left: var(--space-4);
}

.card-img-overlay-inmuebles h2 {
  color: #fff;
}

.card-img-overlay-inmuebles p.text-muted.small.mb-3 {
  display: inline-block;
  opacity: 0.85;
  border-radius: 12px;
  background: oklab(0 0 0 / 0.8);
  padding: 2px 6px;
  color: #ffffff !important;
  font-weight: 400;
  font-size: var(--text-micro);
}

.small.micro {
  font-size: var(--text-micro);
  letter-spacing: 0.06em;
}

small.percent {
  border-radius: 5px;
  background: #92ce2f36;
  padding: 2px 6px;
  color: #399d57;
  font-weight: 700;
  font-size: var(--text-micro);
}

#tpl-publicaciones-recientes span.badge.rounded-pill.bg-warning-subtle.text-warning {
  background-color: oklab(0.94 -0.01 0.03 / 0.4) !important;
  color: rgb(118 151 74) !important;
}

#tpl-publicaciones-recientes span.dropdown-item.small.text-muted.disabled {
  font-size: var(--text-micro);
}

button.btn.btn-light.border-light-subtle {
  transition: ease-in-out 0.2s;
  -webkit-transition: ease-in-out 0.2s;
  -moz-transition: ease-in-out 0.2s;
  -ms-transition: ease-in-out 0.2s;
  -o-transition: ease-in-out 0.2s;
  border-radius: 12px;
  background: #d1e7dd;
  padding: 4px 12px;
  color: var(--color-primary);
  font-weight: 700;
  font-size: var(--text-micro);
  text-decoration: none;
}

button.btn.btn-light.border-light-subtle:hover {
  background-color: var(--color-primary);
  color: #d1e7dd;
}

span.page-link.current {
  border-color: #198754;
  background: #198754;
}

a.page-link {
  color: #198754;
}

.mispropiedadesfavs {
  border-radius: var(--radius-md);
  -webkit-border-radius: var(--radius-md);
  -moz-border-radius: var(--radius-md);
  -ms-border-radius: var(--radius-md);
  -o-border-radius: var(--radius-md);

  padding: var(--space-4);
}

.list-group.listadefavs {
  border: 0px !important;
  background: transparent !important;
}

button.btn-actions-favs {
  background: #ffffff;
  padding: 0px 5px;
  color: green;
  font-size: 12px !important;
}

.list-group.listadefavs button.list-group-item {
  transition: ease-in-out 0.2s;
  -webkit-transition: ease-in-out 0.2s;
  -moz-transition: ease-in-out 0.2s;
  -ms-transition: ease-in-out 0.2s;
  -o-transition: ease-in-out 0.2s;
  border: 0px !important;
  background: transparent;
  color: var(--color-text);
  font-weight: 500;
  font-size: var(--text-xs);
  line-height: 1.3;
  border-bottom: 1px solid #00000012 !important;
}

.listadefavs button.list-group-item.active {
  border-radius: 8px;
  -webkit-border-radius: 8px;
  -moz-border-radius: 8px;
  -ms-border-radius: 8px;
  -o-border-radius: 8px;
  background: #e8f5da;
  color: #298e5f;
  font-weight: 600;
  line-height: 1.3;
}

.listadefavs button.list-group-item:hover:not(.active) {
  border-radius: 8px;
  background: #f1f9f6;
  color: var(--color-primary);
}

@media (min-width: 992px) {
  .h-dashboard {
    height: calc(100vh - 130px);
    overflow-y: auto;
  }
}

@media (max-width: 991px) {
  .h-dashboard {
    margin-right: 8px;
    margin-left: 8px;
    height: auto;
  }
}

/* Favorites Dashboard Refinements */
.property-card img {
  height: 190px;
  object-fit: cover;
  border-radius: var(--radius-md);
}

.collection-card {
  cursor: pointer;
  transition: .2s;
}

.collection-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(0, 0, 0, .08);
}

.dropdown-submenu:hover>.dropdown-menu {
  display: block;
}

.dropdown-submenu>.dropdown-menu {
  display: none;
  min-width: 200px;
}

.listadefavs {
  max-height: 60vh;
  overflow-y: auto;
}

.list-group-item.active {
  background: #0d6efd;
  border-color: #0d6efd;
  color: #fff;
}

.property-card {
  transition: all .2s ease;
}

ul#mobile-collections-menu li {
  max-width: 80vh;
  overflow: hidden;
}

.gridformovile-favs {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 60px;
  width: 100%;
  box-sizing: border-box;
}

#collection-actions-row {
  transition: opacity 0.3s ease, visibility 0.3s ease;
}

#collection-actions-row.d-none {
  display: none !important;
  opacity: 0;
  visibility: hidden;
}

#collection-actions-row:not(.d-none) {
  display: inline-flex !important;
  opacity: 1;
  visibility: visible;
  margin-top: 1.5rem !important;
  margin-bottom: 1.5rem !important;
}

.favs-toolbar {
  background-color: #f8fafc;
  border: 1px solid #e2e8f0;
  border-radius: 14px;
  padding: 4px;
  gap: 2px;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);
  align-items: center;
}

.toolbar-btn {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px 16px;
  border: none;
  background: transparent;
  border-radius: 10px;
  color: #475569 !important;
  font-size: 0.85rem;
  font-weight: 500;
  transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  white-space: nowrap;
  text-decoration: none;
}

.toolbar-btn:hover {
  background-color: #fff !important;
  color: #0f172a !important;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
  transform: translateY(-1px);
}

.toolbar-btn:active {
  transform: translateY(0);
}

.toolbar-btn i {
  font-size: 1.1rem;
}

.toolbar-btn-main {
  background-color: #1e293b !important;
  color: #fff !important;
}

.toolbar-btn-main:hover {
  background-color: #0f172a !important;
  color: #fff !important;
}

.toolbar-divider {
  width: 1px;
  height: 24px;
  background-color: #e2e8f0;
  margin: 0 6px;
}

#toolbar-divider-publish {
  display: none;
}

#collection-actions-row:has(#btn-copy-link:not(.d-none)) #toolbar-divider-publish,
#collection-actions-row:has(#btn-view-published:not(.d-none)) #toolbar-divider-publish {
  display: block;
}

/* Full UX Responsive Toolbar for Mobile */
@media (max-width: 768px) {
  #collection-actions-row:not(.d-none) {
    display: flex !important;
    width: 100% !important;
    max-width: none !important;
    margin-top: 1.5rem !important;
    margin-bottom: 1.5rem !important;
  }

  .favs-toolbar {
    flex-wrap: wrap;
    /* All options visible at first glance */
    background-color: transparent !important;
    border: none !important;
    box-shadow: none !important;
    padding: 0 !important;
    gap: 8px;
    width: 100%;
  }

  .toolbar-btn {
    flex: 1 1 calc(50% - 8px);
    /* Two buttons per row generally */
    background-color: #fff !important;
    border: 1px solid #e2e8f0 !important;
    justify-content: center;
    padding: 12px 16px;
    min-height: 48px;
    /* High accessibility (iOS/Android standards) */
    border-radius: 14px;
    font-size: 0.85rem;
    box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
  }

  /* Emphasis for the most important action */
  .toolbar-btn-main {
    flex: 1 1 100%;
    order: -1;
    /* Always first for importance */
    background-color: #1e293b !important;
    color: #fff !important;
  }

  .toolbar-divider {
    display: none !important;
    /* Hide dividers in grid layout */
  }

  .toolbar-btn i {
    font-size: 1.2rem;
  }
}

.hide-scrollbar {
  -ms-overflow-style: none;
  scrollbar-width: none;
}

.hide-scrollbar::-webkit-scrollbar {
  display: none;
}

/* ==========================================================================
   FEATURED PROPERTY & BENTO STATS
   ========================================================================== */

.fw-800 {
  font-weight: 800 !important;
}

.text-main {
  color: #1e2517 !important;
}

.text-accent {
  color: #399d57 !important;
}

.featured-img-wrapper {
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.08);
  border: 1px solid rgba(0, 0, 0, 0.05);
}

.featured-badge {
  position: absolute;
  top: 15px;
  right: 15px;
  background: rgba(255, 255, 255, 0.9);
  backdrop-filter: blur(8px);
  padding: 6px 14px;
  border-radius: 30px;
  font-size: 0.72rem;
  font-weight: 800;
  color: #1e2517;
  text-transform: uppercase;
  letter-spacing: 0.5px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

.stat-bento-item {
  background: #fbfcfb;
  border: 1px solid #f0f4f0;
  padding: 10px;
  border-radius: 12px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
}

.stat-bento-item:hover {
  background: #fff;
  border-color: #399d57;
  transform: translateY(-3px);
  box-shadow: 0 6px 15px rgba(57, 157, 87, 0.1);
}

.item-label {
  font-size: 0.6rem;
  text-transform: uppercase;
  font-weight: 800;
  color: #a0a891;
  letter-spacing: 1px;
  margin-bottom: 2px;
}

.item-value {
  font-size: 1rem;
  font-weight: 850;
  color: #1e2517;
}

.chart-heat-wrapper {
  margin-top: -5px;
  margin-bottom: 0;
  border-radius: 0 0 16px 16px;
  overflow: hidden;
  background: transparent;
  padding-bottom: 10px;
}

#chart-heat {
  filter: drop-shadow(0 -5px 10px rgba(57, 157, 87, 0.05));
}

.featured-content-body {
  padding-bottom: 0.5rem;
}

/* ==========================================================================
   AI ASSISTANT CHAT (OFFCANVAS)
   ========================================================================== */

.btn-ai-sparkle {
  background: linear-gradient(135deg, #1e2517 0%, #399d57 100%);
  color: #fff !important;
  border: none !important;
  padding: 10px 22px;
  border-radius: 14px;
  font-weight: 700;
  display: flex !important;
  align-items: center;
  gap: 10px;
  transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
  box-shadow: 0 4px 15px rgba(57, 157, 87, 0.2);
}

.btn-ai-sparkle:hover {
  transform: translateY(-2px);
  box-shadow: 0 6px 20px rgba(57, 157, 87, 0.3);
  filter: brightness(1.1);
}

.ai-offcanvas {
  border-left: 1px solid rgba(57, 157, 87, 0.1) !important;
  box-shadow: -10px 0 30px rgba(0, 0, 0, 0.05) !important;
}

.ai-offcanvas .offcanvas-header {
  background: #f8faf8;
  border-bottom: 1px solid #eef2ef;
  padding: 24px;
}

.ai-status-indicator {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 0.78rem;
  color: #399d57;
  font-weight: 700;
}

.ai-status-dot {
  width: 10px;
  height: 10px;
  background: #399d57;
  border-radius: 50%;
  box-shadow: 0 0 0 2px rgba(57, 157, 87, 0.2);
  animation: pulse-green 2s infinite;
}

@keyframes pulse-green {
  0% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(57, 157, 87, 0.7);
  }

  70% {
    transform: scale(1);
    box-shadow: 0 0 0 8px rgba(57, 157, 87, 0);
  }

  100% {
    transform: scale(0.95);
    box-shadow: 0 0 0 0 rgba(57, 157, 87, 0);
  }
}

.ai-chat-bubble {
  background: #f3f7f3;
  border-radius: 18px 18px 18px 4px;
  padding: 18px;
  margin-bottom: 24px;
  position: relative;
  border: 1px solid #eef2ef;
  width: calc(100% - 40px);
}

.ai-chat-avatar-wrap {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-bottom: 10px;
}

.ai-chat-avatar {
  width: 36px;
  height: 36px;
  background: #1e2517;
  border-radius: 11px;
  display: flex !important;
  align-items: center;
  justify-content: center;
}

.ai-chat-avatar img {
  width: 20px;
  height: 20px;
}

.ai-chat-name {
  font-size: 0.72rem;
  font-weight: 850;
  color: #1e2517;
  text-transform: uppercase;
  letter-spacing: 0.8px;
}

.flex-check-list-plan {
  background: #fff;
  border-radius: 12px;
  padding: 12px 16px;
  margin-bottom: 10px;
  border: 1px solid rgba(0, 0, 0, 0.03);
  display: flex;
  justify-content: space-between;
  align-items: center;
  font-size: 0.92rem;
  transition: all 0.2s;
}

.flex-check-list-plan:hover {
  border-color: #399d57;
  background: #fbfcfb;
}

.property-details .card-ranking {
  border: 1px solid rgba(57, 157, 87, 0.1) !important;
  overflow: hidden;
  background: #1e2517 !important;
  margin-top: 15px;
  border-radius: 14px;
}

.property-details .card-ranking .minifoto img {
  height: 100%;
  min-height: 120px;
  object-fit: cover;
}

.property-details .card-ranking .card-body {
  padding: 12px 14px !important;
}

.property-details .price-text {
  font-size: 1.15rem;
  font-weight: 850;
  color: #fff;
  margin-bottom: 2px;
  white-space: nowrap;
}

.property-details .location-text {
  line-height: 1.3;
  color: rgba(255, 255, 255, 0.7);
  font-size: 0.75rem;
}

.property-details .btn-outline-dark {
  border-color: #399d57 !important;
  color: #fff !important;
  font-weight: 700 !important;
  font-size: 0.7rem !important;
  margin-top: 8px !important;
  padding: 6px 12px !important;
}

.property-details .btn-outline-dark:hover {
  background: #399d57 !important;
}

/* ==========================================================================
   GAMIFICATION: PREMIUM CELEBRATION
   ========================================================================== */

.achievement-unlock-modal {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: auto;
  background: rgba(0, 0, 0, 0.4);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.achievement-btn-close {
  position: absolute;
  top: 20px;
  right: 20px;
  background: rgba(0, 0, 0, 0.05);
  border: none;
  width: 32px;
  height: 32px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
  color: #64748b;
  transition: all 0.2s;
  z-index: 10;
  padding-bottom: 4px;
}

.achievement-btn-close:hover {
  background: rgba(0, 0, 0, 0.1);
  color: #0f172a;
  transform: scale(1.1);
}

.achievement-card-inner {
  background: rgba(255, 255, 255, 0.95);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding: 40px;
  border-radius: 40px;
  width: 440px;
  max-width: 90%;
  text-align: center;
  box-shadow: 0 40px 100px rgba(0, 0, 0, 0.4);
  position: relative;
  overflow: hidden;
  pointer-events: auto;
}

.achievement-glare {
  position: absolute;
  top: -100px;
  left: -100px;
  width: 250px;
  height: 250px;
  background: radial-gradient(circle, rgba(34, 197, 94, 0.2) 0%, transparent 70%);
  z-index: 0;
}

.achievement-icon-wrap {
  width: 120px;
  height: 120px;
  background: #f0fdf4;
  border-radius: 35px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 0 auto 25px;
  position: relative;
  z-index: 1;
}

.achievement-emoji {
  font-size: 60px;
  animation: float 3s ease-in-out infinite;
}

.achievement-badge-text {
  font-size: 0.75rem;
  font-weight: 850;
  color: #10b981;
  text-transform: uppercase;
  letter-spacing: 3px;
  margin-bottom: 10px;
}

.achievement-title {
  font-size: 1.8rem;
  font-weight: 850;
  color: #0f172a;
  margin-bottom: 15px;
  letter-spacing: -0.5px;
}

.achievement-msg {
  color: #475569;
  font-size: 1rem;
  line-height: 1.6;
  margin-bottom: 25px;
}

.achievement-bonus {
  display: inline-block;
  background: #1e2517;
  color: #fff;
  padding: 8px 20px;
  border-radius: 20px;
  font-weight: 800;
  font-size: 0.9rem;
}

/* XP TOAST */
.xp-toast-premium {
  position: fixed;
  bottom: 30px;
  right: 30px;
  background: #1e2517 !important;
  color: #fff !important;
  padding: 12px 20px;
  border-radius: 18px;
  display: flex !important;
  align-items: center;
  gap: 15px;
  box-shadow: 0 10px 25px rgba(0, 0, 0, 0.2);
  z-index: 100000;
  border: 1px solid rgba(255, 255, 255, 0.1);
  min-width: 240px;
}

.xp-icon {
  font-size: 1.4rem;
}

.xp-info {
  display: flex;
  flex-direction: column;
}

.xp-points {
  font-weight: 850;
  font-size: 1.1rem;
  color: #4ade80;
}

.xp-reason {
  font-size: 0.75rem;
  opacity: 0.8;
  font-weight: 500;
}

@keyframes float {

  0%,
  100% {
    transform: translateY(0);
  }

  50% {
    transform: translateY(-10px);
  }
}

.scrollbar-collections {
  gap: 6px;
  display: flex;
  flex-direction: column;
}

@media (min-width: 992px) {
  ul#dashboardmenu.pt-lg-2 {
    padding-top: 1.5rem !important;
    gap: 8px;
    padding-left: 1.5rem !important;
    padding-right: 1.5rem !important;
  }

  ul#dashboardmenu .me-lg-2 {
    padding-left: 0.6rem;
  }

  ul#dashboardmenu .me-lg-2 i,
  ul#dashboardmenu li a img {

    display: flex;
    align-items: center;
    justify-content: center;
    align-content: center;
    flex-direction: row;
    flex-wrap: wrap;
  }

  ul#dashboardmenu li a img {
    padding-left: 4px !important;
    width: 28px !important;
    height: 30px !important;
    margin-left: 3px !important;
    margin-right: 6px !important;
    display: flex;
    align-items: center;
    justify-content: center;

  }

  #dashboardmenu a.nav-link:hover {
    border-radius: 16px;
  }


}