.property-overview {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
  margin: 0 0 16px;
}
.property-summary-item {
  appearance: none;
  border: 1px solid #e3e8ef;
  border-radius: 12px;
  background: #fff;
  padding: 14px 16px;
  text-align: left;
  cursor: pointer;
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.property-summary-item:hover {
  border-color: #8aa8c2;
  box-shadow: 0 6px 18px rgba(15, 67, 112, .09);
  transform: translateY(-1px);
}
.property-summary-item span,
.property-summary-item small {
  display: block;
  color: #687789;
}
.property-summary-item span { font-size: 13px; font-weight: 650; }
.property-summary-item strong {
  display: block;
  margin: 5px 0;
  color: #13263a;
  font-size: 25px;
  line-height: 1;
}
.property-summary-item small {
  overflow: hidden;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.property-toolbar-v2 {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
  padding: 12px;
  margin-bottom: 12px;
  border: 1px solid #e5eaf0;
  border-radius: 12px;
  background: #fff;
}
.property-toolbar-v2 .search-box { flex: 1 1 260px; margin: 0; }
.property-toolbar-v2 select,
.property-advanced-filters input,
.property-advanced-filters select {
  min-height: 40px;
  border: 1px solid #d8dee7;
  border-radius: 8px;
  background: #fff;
  color: #26384a;
  padding: 0 10px;
}
.property-toolbar-actions {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-left: auto;
}
.property-advanced-filters {
  display: none;
  grid-template-columns: repeat(6, minmax(110px, 1fr));
  gap: 10px;
  padding: 12px;
  margin: -4px 0 16px;
  border: 1px solid #e5eaf0;
  border-top: 0;
  border-radius: 0 0 12px 12px;
  background: #f8fafc;
}
.property-advanced-filters.is-open { display: grid; }
.property-grid {
  display: grid !important;
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  align-items: stretch;
  gap: 18px !important;
}
.property-card-v2 {
  position: relative;
  display: flex;
  min-width: 0;
  flex-direction: column;
  overflow: visible;
  border: 1px solid #e1e7ee;
  border-radius: 14px;
  background: #fff;
  box-shadow: 0 3px 14px rgba(25, 45, 67, .07);
  transition: border-color .2s, box-shadow .2s, transform .2s;
}
.property-card-v2:hover {
  border-color: #b6c7d6;
  box-shadow: 0 10px 26px rgba(25, 45, 67, .12);
  transform: translateY(-2px);
}
.property-card-v2.has-open-menu { z-index: 60; }
.property-card-media {
  position: relative;
  overflow: hidden;
  width: 100%;
  aspect-ratio: 16 / 9;
  border-radius: 13px 13px 0 0;
  background: #e9eef3;
}
.property-card-media > img {
  width: 100%;
  height: 100%;
  display: block;
  object-fit: cover;
}
.property-card-media::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 34%;
  background: linear-gradient(transparent, rgba(13, 28, 42, .34));
  content: "";
  pointer-events: none;
}
.property-media-empty {
  display: flex;
  width: 100%;
  height: 100%;
  align-items: center;
  justify-content: center;
  flex-direction: column;
  gap: 6px;
  color: #52677a;
  background: linear-gradient(145deg, #eef3f7, #dfe8ef);
  text-align: center;
}
.property-media-empty .property-icon {
  width: 34px;
  height: 34px;
  color: #7890a4;
}
.property-media-empty strong { font-size: 13px; }
.property-media-empty span { padding: 0 12px; font-size: 11px; color: #7a8b9a; }
.property-business-status,
.property-media-count {
  position: absolute;
  z-index: 2;
  top: 10px;
  border-radius: 999px;
  backdrop-filter: blur(8px);
  font-size: 11px;
  font-weight: 700;
}
.property-business-status { left: 10px; padding: 5px 9px; color: #fff; }
.property-business-status.is-available { background: rgba(22, 119, 72, .9); }
.property-business-status.is-rented { background: rgba(174, 45, 45, .9); }
.property-business-status.is-offline { background: rgba(82, 96, 109, .9); }
.property-business-status.is-other { background: rgba(168, 102, 21, .9); }
.property-media-count {
  right: 10px;
  display: flex;
  align-items: center;
  gap: 4px;
  padding: 5px 8px;
  color: #fff;
  background: rgba(15, 35, 52, .72);
}
.property-media-count .property-icon { width: 13px; height: 13px; }
.property-card-content {
  display: flex;
  min-height: 260px;
  flex: 1;
  flex-direction: column;
  padding: 15px;
}
.property-card-title {
  overflow: hidden;
  width: 100%;
  margin: 0 0 8px;
  padding: 0;
  border: 0;
  color: #172b3f;
  background: none;
  font: inherit;
  font-size: 16px;
  font-weight: 760;
  line-height: 1.35;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  cursor: pointer;
}
.property-card-title:hover { color: #0f5b8d; }
.property-card-code {
  overflow: hidden;
  margin: -3px 0 7px;
  color: #718292;
  font-size: 11px;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.property-readiness-row {
  display: flex;
  align-items: center;
  gap: 8px;
  margin-bottom: 11px;
}
.property-readiness {
  padding: 3px 8px;
  border-radius: 999px;
  font-size: 11px;
  font-weight: 700;
}
.property-readiness.is-ready { color: #11633b; background: #e8f6ee; }
.property-readiness.is-warning { color: #9a5a0b; background: #fff4df; }
.property-readiness.is-danger { color: #a93636; background: #fdebea; }
.property-score { color: #8795a3; font-size: 11px; }
.property-card-meta {
  display: flex;
  min-height: 24px;
  align-items: center;
  gap: 8px 12px;
  flex-wrap: wrap;
  margin-bottom: 9px;
  color: #4e6172;
  font-size: 12px;
}
.property-card-meta > span,
.property-card-meta > span > span,
.property-card-address {
  display: inline-flex;
  align-items: center;
  gap: 4px;
}
.property-card-meta.is-empty { color: #9aabb8; }
.property-icon { width: 15px; height: 15px; flex: 0 0 auto; }
.property-card-address {
  overflow: hidden;
  margin-bottom: 10px;
  color: #718292;
  font-size: 12px;
}
.property-card-address span {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.property-card-price {
  margin: auto 0 13px;
  color: #e13d35;
  font-size: 21px;
  font-weight: 800;
}
.property-card-price small { margin-left: 2px; font-size: 12px; font-weight: 650; }
.property-card-price .is-negotiable { color: #7a8996; font-size: 15px; }
.property-card-actions {
  display: grid;
  grid-template-columns: minmax(82px, .8fr) minmax(126px, 1.3fr) 42px;
  gap: 8px;
  padding-top: 12px;
  border-top: 1px solid #edf1f4;
}
.property-card-actions .btn {
  min-height: 38px;
  justify-content: center;
  border-radius: 8px;
  font-size: 12px;
}
.property-secondary-action { border: 1px solid #cad5df !important; background: #fff !important; color: #30495d !important; }
.property-share-action { border: 1px solid #087b58 !important; background: #ecfbf5 !important; color: #087152 !important; font-weight: 750 !important; }
.property-share-action:hover { background: #dff7ed !important; }
.property-primary-action { border: 1px solid #0f4370 !important; background: #0f4370 !important; color: #fff !important; }
.property-more-wrap { position: relative; }
.property-more-button { width: 42px; border: 1px solid #cad5df !important; background: #fff !important; color: #445a6d !important; }
.property-more-button .property-icon { width: 18px; height: 18px; }
.property-more-menu {
  position: absolute;
  z-index: 30;
  right: 0;
  bottom: 46px;
  display: none;
  min-width: 148px;
  overflow: hidden;
  border: 1px solid #dce3e9;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 12px 30px rgba(18, 35, 51, .18);
}
.property-more-menu.is-open { display: block; }
.property-more-menu.opens-down {
  top: calc(100% + 8px);
  bottom: auto;
}
.property-more-menu button {
  display: block;
  width: 100%;
  padding: 10px 12px;
  border: 0;
  border-bottom: 1px solid #f0f2f4;
  background: #fff;
  color: #31475a;
  font-size: 12px;
  text-align: left;
  cursor: pointer;
}
.property-more-menu button:hover { background: #f4f8fb; }
.property-more-menu button.is-danger { color: #bf3d3d; }
.customer-share-summary {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin: 4px 0 14px;
  padding: 13px 14px;
  border: 1px solid #d8eee5;
  border-radius: 11px;
  background: #f1fbf7;
}
.customer-share-summary strong { color: #126a4d; font-size: 15px; }
.customer-share-summary span { color: #5e756c; font-size: 12px; line-height: 1.6; }
.customer-share-link {
  width: 100%;
  margin: 0 0 8px;
  border: 1px solid #dce5eb;
  text-align: left;
}
.customer-share-link .share-url-text {
  min-width: 0;
  overflow: hidden;
  flex: 1;
  color: #4e6273;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.customer-share-link .share-copy-btn {
  flex: 0 0 auto;
  color: #0d7354;
  font-size: 12px;
  font-weight: 750;
}
.customer-share-expiry {
  margin-bottom: 15px;
  color: #84919c;
  font-size: 11px;
  line-height: 1.55;
}
.customer-share-actions { display: grid; grid-template-columns: 1.35fr .8fr; gap: 9px; }
.customer-share-send,
.customer-share-preview {
  min-height: 44px;
  border-radius: 10px !important;
  font-weight: 750 !important;
}
.customer-share-send { border: 1px solid #087b58 !important; background: #087b58 !important; color: #fff !important; }
.customer-share-preview { border: 1px solid #cbd6de !important; background: #fff !important; color: #344b5d !important; }
.customer-share-revoke {
  display: block;
  margin: 14px auto 0;
  padding: 6px 10px;
  border: 0;
  background: transparent;
  color: #9b6666;
  font-size: 11px;
  cursor: pointer;
}
.share-loading {
  padding: 28px 12px;
  color: #6f7f8c;
  text-align: center;
}
.share-mode-intro {
  margin-bottom: 12px;
  color: #657887;
  font-size: 13px;
}
.share-mode-choices {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.share-mode-choice {
  display: flex;
  min-height: 142px;
  padding: 16px;
  flex-direction: column;
  align-items: flex-start;
  gap: 8px;
  border: 1px solid #d8e2e9;
  border-radius: 14px;
  background: #fff;
  text-align: left;
  cursor: pointer;
  transition: transform .15s, box-shadow .15s, border-color .15s;
}
.share-mode-choice:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 20px rgba(32, 63, 85, .11);
}
.share-mode-choice.customer:hover { border-color: #1d6d9c; }
.share-mode-choice.broker:hover { border-color: #087b58; }
.share-mode-choice strong { color: #173e5e; font-size: 17px; }
.share-mode-choice.broker strong { color: #087152; }
.share-mode-choice span { color: #40576a; font-size: 13px; line-height: 1.5; }
.share-mode-choice small { margin-top: auto; color: #87949e; font-size: 11px; }
.broker-share-summary {
  border-color: #cfe9de;
  background: #f2fbf7;
}
.broker-share-settings {
  display: grid;
  gap: 10px;
  margin: 0 0 16px;
}
.broker-share-settings > label {
  display: flex;
  min-height: 43px;
  padding: 10px 12px;
  align-items: center;
  gap: 9px;
  border: 1px solid #e0e7ec;
  border-radius: 10px;
  background: #fff;
  color: #344b5d;
  font-size: 13px;
}
.broker-share-settings select {
  margin-left: auto;
  min-width: 120px;
  padding: 7px 9px;
  border: 1px solid #ccd7df;
  border-radius: 7px;
  background: #fff;
}
.broker-check input {
  width: 17px;
  height: 17px;
  accent-color: #087b58;
}
.broker-check small {
  margin-left: auto;
  max-width: 210px;
  color: #8b979f;
  font-size: 10px;
  text-align: right;
}
.share-manager-entry {
  display: block;
  width: 100%;
  margin-top: 12px;
  padding: 11px 14px;
  border: 1px solid #cad8e2;
  border-radius: 10px;
  background: #f7fafc;
  color: #31556e;
  font-size: 13px;
  font-weight: 700;
  cursor: pointer;
}
.share-manager-entry:hover { border-color: #7d9db3; background: #eef5f9; }
.share-manager-dialog { max-width: 620px; }
.share-manager-dialog .share-dialog-body {
  max-height: min(70vh, 620px);
  overflow-y: auto;
}
.share-manager-hint {
  margin-bottom: 12px;
  padding: 10px 12px;
  border-radius: 9px;
  background: #f3f7fa;
  color: #617786;
  font-size: 12px;
  line-height: 1.6;
}
.share-record-list { display: grid; gap: 10px; }
.share-record-card {
  padding: 13px;
  border: 1px solid #dce5eb;
  border-left: 4px solid #a7b5bf;
  border-radius: 10px;
  background: #fff;
}
.share-record-card.is-active { border-left-color: #0a8a60; }
.share-record-card.is-expired { border-left-color: #d7982f; }
.share-record-card.is-revoked { border-left-color: #9aa7b0; opacity: .78; }
.share-record-header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.share-record-header strong {
  min-width: 0;
  overflow: hidden;
  color: #223e52;
  font-size: 14px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.share-record-status {
  flex: 0 0 auto;
  padding: 3px 8px;
  border-radius: 999px;
  background: #edf1f4;
  color: #687984;
  font-size: 11px;
  font-weight: 700;
}
.is-active .share-record-status { background: #e6f7f0; color: #087b58; }
.is-expired .share-record-status { background: #fff5df; color: #a96800; }
.share-record-detail {
  margin-top: 7px;
  color: #7c8c97;
  font-size: 11px;
  line-height: 1.6;
}
.share-record-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 10px; }
.share-record-actions button {
  min-height: 34px;
  padding: 6px 12px;
  border: 1px solid #cdd9e1;
  border-radius: 7px;
  background: #fff;
  color: #36556a;
  font-size: 12px;
  cursor: pointer;
}
.share-record-actions button:hover { border-color: #7998ad; background: #f5f9fb; }
.share-record-actions button.is-danger { margin-left: auto; color: #a34848; }
.share-record-actions button:disabled { cursor: wait; opacity: .55; }
.share-manager-empty { padding: 34px 12px; color: #8796a1; text-align: center; }
@media (max-width: 560px) {
  .share-mode-choices { grid-template-columns: 1fr; }
  .share-mode-choice { min-height: 112px; }
  .broker-check { align-items: flex-start !important; flex-wrap: wrap; }
  .broker-check small { width: 100%; margin-left: 26px; max-width: none; text-align: left; }
  .share-manager-dialog { width: calc(100% - 20px); }
  .share-manager-dialog .share-dialog-body { max-height: 72vh; padding: 0 14px 18px; }
  .share-record-detail { white-space: normal; }
  .share-record-actions button { flex: 1 1 calc(33.333% - 7px); }
  .share-record-actions button.is-danger { margin-left: 0; }
}
.property-batch-check {
  position: absolute;
  z-index: 5;
  top: 48px;
  left: 10px;
  display: none;
  align-items: center;
  justify-content: center;
  width: 26px;
  height: 26px;
  border-radius: 7px;
  background: rgba(255,255,255,.94);
  box-shadow: 0 2px 8px rgba(0,0,0,.15);
}
.property-batch-check input { width: 17px; height: 17px; accent-color: #0f4370; }
.property-grid.is-batch-mode .property-batch-check { display: flex; }
.property-batch-bar {
  grid-column: 1 / -1;
  display: none;
  align-items: center;
  gap: 10px;
  padding: 10px 12px;
  border: 1px solid #d9e4ec;
  border-radius: 10px;
  background: #f6f9fb;
}
.property-grid.is-batch-mode .property-batch-bar { display: flex; }
@media (max-width: 1180px) {
  .property-grid { grid-template-columns: repeat(2, minmax(0, 1fr)) !important; }
  .property-advanced-filters { grid-template-columns: repeat(3, minmax(120px, 1fr)); }
}
@media (max-width: 768px) {
  .property-overview { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .property-summary-item { padding: 11px 12px; }
  .property-summary-item strong { font-size: 21px; }
  .property-summary-item small { display: none; }
  .property-toolbar-v2 { padding: 10px; }
  .property-toolbar-actions { width: 100%; margin-left: 0; }
  .property-toolbar-actions .btn { flex: 1 1 auto; }
  .property-advanced-filters { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .property-grid { grid-template-columns: 1fr !important; gap: 12px !important; }
  .property-card-content { min-height: 238px; padding: 14px; }
  .property-card-v2:hover { transform: none; }
  .property-card-actions { grid-template-columns: minmax(80px, .8fr) minmax(120px, 1.3fr) 42px; }
}
