/*!**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************!*\
  !*** css ../../node_modules/.pnpm/next@15.5.12_@playwright+test@1.58.2_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/build/webpack/loaders/css-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[2]!../../node_modules/.pnpm/next@15.5.12_@playwright+test@1.58.2_react-dom@19.2.4_react@19.2.4__react@19.2.4/node_modules/next/dist/build/webpack/loaders/postcss-loader/src/index.js??ruleSet[1].rules[14].oneOf[5].use[3]!./src/app/properties/page.module.css ***!
  \**********************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************************/
/**
 * Properties Page Styles
 */

.page_main__ZR2Hn {
  min-height: 100vh;
  padding: var(--space-xl);
  max-width: 1400px;
  margin: 0 auto;
}

.page_header__zUSZ2 {
  margin-bottom: var(--space-xl);
}

.page_header__zUSZ2 h1 {
  font-size: 2rem;
  font-weight: 700;
  margin-bottom: var(--space-sm);
  color: var(--color-text-primary, #1e293b);
}

.page_header__zUSZ2 p {
  color: var(--color-text-secondary, #64748b);
}

/* Filters */
.page_filters__2Gjyr {
  display: flex;
  gap: var(--space-sm);
  margin-bottom: var(--space-xl);
  flex-wrap: wrap;
}

.page_filterButton__nuJeg {
  padding: var(--space-sm) var(--space-md);
  border: 1px solid #e2e8f0;
  border-radius: var(--radius-md, 8px);
  background: white;
  color: #64748b;
  font-size: 0.875rem;
  cursor: pointer;
  transition: all 0.2s;
}

.page_filterButton__nuJeg:hover {
  border-color: #cbd5e1;
  background: #f8fafc;
}

.page_filterButton__nuJeg.page_active__ecgf4 {
  background: var(--color-primary, #2563eb);
  border-color: var(--color-primary, #2563eb);
  color: white;
}

/* Loading State */
.page_loading__nRaRS {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: var(--space-3xl);
  gap: var(--space-md);
}

.page_spinner__7_w0T {
  width: 40px;
  height: 40px;
  border: 3px solid #e2e8f0;
  border-top-color: var(--color-primary, #2563eb);
  border-radius: 50%;
  animation: page_spin__0r8I0 1s linear infinite;
}

@keyframes page_spin__0r8I0 {
  to {
    transform: rotate(360deg);
  }
}

/* Error State */
.page_error__ujEX2 {
  background: #fef2f2;
  border: 1px solid #fecaca;
  border-radius: var(--radius-lg, 12px);
  padding: var(--space-xl);
  text-align: center;
  color: #dc2626;
}

/* Empty State */
.page_emptyState__xs1A3 {
  background: white;
  border-radius: var(--radius-lg, 12px);
  padding: var(--space-2xl);
  text-align: center;
  border: 1px solid #e2e8f0;
  color: #94a3b8;
}

/* Property Grid */
.page_grid___eISF {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
  grid-gap: var(--space-lg);
  gap: var(--space-lg);
}

/* Property Card */
.page_card__ExLHW {
  background: white;
  border-radius: var(--radius-lg, 12px);
  border: 1px solid #e2e8f0;
  overflow: hidden;
  text-decoration: none;
  color: inherit;
  transition: all 0.2s;
}

.page_card__ExLHW:hover {
  border-color: var(--color-primary, #2563eb);
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
  transform: translateY(-2px);
}

/* Card Image */
.page_imageContainer__iM8Wi {
  position: relative;
  height: 180px;
  background: linear-gradient(135deg, #f1f5f9, #e2e8f0);
}

.page_imagePlaceholder__hF98s {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.page_propertyIcon__ksiXh {
  font-size: 3rem;
  opacity: 0.5;
}

.page_propertyImage__Dghx8 {
  object-fit: cover;
}

.page_statusBadge__VO9A2 {
  position: absolute;
  top: var(--space-sm);
  right: var(--space-sm);
  padding: var(--space-xs) var(--space-sm);
  border-radius: var(--radius-sm, 4px);
  font-size: 0.75rem;
  font-weight: 600;
  color: white;
  text-transform: uppercase;
}

/* Card Content */
.page_cardContent__rcpjo {
  padding: var(--space-md);
}

.page_cardHeader__ze4vU {
  margin-bottom: var(--space-md);
}

.page_propertyType__oQp3E {
  display: inline-block;
  padding: var(--space-xs) var(--space-sm);
  background: #f1f5f9;
  border-radius: var(--radius-sm, 4px);
  font-size: 0.75rem;
  color: #64748b;
  text-transform: uppercase;
  margin-bottom: var(--space-xs);
}

.page_propertyName__MBaFM {
  font-size: 1.125rem;
  font-weight: 600;
  color: #1e293b;
  margin-bottom: var(--space-xs);
}

.page_location__fCv2o {
  font-size: 0.875rem;
  color: #64748b;
}

/* Metrics */
.page_metrics__gSr3i {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  grid-gap: var(--space-sm);
  gap: var(--space-sm);
  padding: var(--space-md) 0;
  border-top: 1px solid #f1f5f9;
  border-bottom: 1px solid #f1f5f9;
}

.page_metric__cY_ie {
  text-align: center;
}

.page_metricLabel__3_RoD {
  display: block;
  font-size: 0.75rem;
  color: #94a3b8;
  margin-bottom: var(--space-xs);
}

.page_metricValue__qAiUZ {
  display: block;
  font-size: 0.875rem;
  font-weight: 600;
  color: #1e293b;
}

/* Token Info */
.page_tokenInfo__Qqjhd {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding-top: var(--space-md);
}

.page_tokenSymbol__Ez7hm {
  padding: var(--space-xs) var(--space-sm);
  background: var(--color-primary, #2563eb);
  color: white;
  border-radius: var(--radius-sm, 4px);
  font-size: 0.75rem;
  font-weight: 600;
}

.page_tokenPrice__62UWd {
  font-size: 0.875rem;
  color: #1e293b;
  font-weight: 500;
}

.page_investors__mNp4l {
  margin-left: auto;
  font-size: 0.75rem;
  color: #64748b;
}

/* Card footer: encumbrance flag on the left, the sell action on the right. */
.page_cardFooter__3PYhT {
  display: flex;
  align-items: center;
  gap: var(--space-md);
  padding-top: var(--space-md);
  min-height: 2.25rem;
}

.page_encumbered__3b9bw {
  font-size: 0.75rem;
  font-weight: 600;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  color: #b91c1c;
}

/* Pushed right so every card's action lands in the same place, whether or not
   the card carries an encumbrance flag. */
.page_sellCta__VJIV2 {
  margin-left: auto;
  padding: var(--space-sm) var(--space-md);
  border: 1px solid var(--color-primary, #2563eb);
  border-radius: var(--radius-md, 8px);
  background: var(--color-primary, #2563eb);
  color: white;
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s;
}

.page_sellCta__VJIV2:hover {
  background: #1d4ed8;
  border-color: #1d4ed8;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
}

/* The empty and unconnected states both offer a way forward rather than just
   stating the absence. */
.page_connectCta__HTNc_ {
  display: inline-block;
  margin-top: var(--space-md);
  padding: var(--space-sm) var(--space-lg);
  border: 1px solid #e2e8f0;
  border-radius: var(--radius-md, 8px);
  background: white;
  color: var(--color-primary, #2563eb);
  font-size: 0.875rem;
  font-weight: 600;
  text-decoration: none;
  transition: all 0.2s;
}

.page_connectCta__HTNc_:hover {
  border-color: var(--color-primary, #2563eb);
  background: #f8fafc;
}

/* Responsive */
@media (max-width: 768px) {
  .page_main__ZR2Hn {
    padding: var(--space-md);
  }

  .page_grid___eISF {
    grid-template-columns: 1fr;
  }

  .page_metrics__gSr3i {
    grid-template-columns: repeat(2, 1fr);
  }
}

