.community-page { min-width: 0; }
.community-detail { max-width: 1100px; }
.community-list-toolbar { gap: var(--crm-space-2); margin-bottom: var(--crm-space-3); }
.community-types { display: flex; gap: var(--crm-space-2); }
.community-types .btn[aria-pressed="true"] { color: var(--crm-on-dark); background: var(--crm-brand); border-color: var(--crm-brand); }
.community-list-toolbar .search { flex: 0 1 248px; min-width: 176px; }
.community-list-toolbar input { min-width: 0; width: 100%; }
.community-count { white-space: nowrap; font-size: var(--crm-text-data); }
.community-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); gap: var(--crm-space-3); align-items: start; }
.community-card { display: block; min-width: 0; overflow: hidden; color: var(--crm-text); text-decoration: none; border: 1px solid var(--crm-border); border-radius: var(--crm-radius-md); background: var(--crm-surface); transition: border-color var(--crm-duration-feedback) var(--crm-ease); }
.community-card-cover { position: relative; display: flex; flex-direction: column; justify-content: center; align-items: center; gap: var(--crm-space-1); height: 120px; background: var(--crm-surface-subtle); color: var(--crm-text-muted); font-size: 12px; }
.community-card-cover > svg { width: 26px; height: 26px; }
.community-card-cover > img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; }
.community-market-label { position: absolute; top: 8px; left: 8px; padding: 2px 6px; border-radius: var(--crm-radius-xs); background: var(--crm-surface); color: var(--crm-brand); font-size: 12px; line-height: 20px; font-weight: var(--crm-weight-semibold); }
.community-card-info { padding: 8px 12px 10px; }
.community-card-title > strong { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: var(--crm-text-body); line-height: var(--crm-leading-body); font-weight: var(--crm-weight-semibold); }
.community-card-numbers { display: flex; align-items: baseline; gap: var(--crm-space-2); margin: 2px 0 4px; font-variant-numeric: tabular-nums; min-width: 0; }
.community-card-numbers > .price { flex: 0 1 auto; max-width: 52%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 18px; line-height: 24px; }
.community-card-numbers > span { flex: 0 1 auto; min-width: 0; overflow: hidden; text-overflow: ellipsis; color: var(--crm-text-muted); font-size: var(--crm-text-data); line-height: var(--crm-leading-data); white-space: nowrap; }
.community-card-facts { display: grid; gap: 2px; margin: 0; font-size: var(--crm-text-data); line-height: var(--crm-leading-data); }
.community-card-facts > div { display: flex; align-items: baseline; gap: var(--crm-space-2); }
.community-card-facts dt { color: var(--crm-text-muted); width: 3em; flex: 0 0 3em; }
.community-card-facts dd { margin: 0; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.community-card-available { margin: 4px 0 0; color: var(--crm-text-muted); font-size: 12px; line-height: 18px; }
.community-page > .empty .text-btn { display: block; margin: var(--crm-space-2) auto 0; }
.community-detail .detail-title { flex: 1; min-width: 0; }
.community-detail .detail-title h1 { margin: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.community-header-meta { display: block; font-size: var(--crm-text-data); margin-top: var(--crm-space-1); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.community-edit { flex-shrink: 0; margin-left: auto; }
.community-basics { background: var(--crm-surface); }
.community-basics .detail-header { flex-wrap: nowrap; gap: var(--crm-space-2); margin-bottom: var(--crm-space-4); }
.community-basics .detail-header > .icon-btn { color: var(--crm-brand); margin-left: -8px; }
.community-fields { grid-template-columns: repeat(4, minmax(0, 1fr)); gap: var(--crm-space-2) var(--crm-space-4); margin: 0; }
.community-fields > div { display: grid; grid-template-columns: 4em minmax(0, 1fr); gap: var(--crm-space-2); align-items: baseline; }
.community-fields dt { width: 4em; }
.community-fields dd { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.community-empty { margin: 0; font-size: var(--crm-text-data); line-height: var(--crm-leading-body); }
.community-plans { display: flex; flex-direction: column; gap: var(--crm-space-4); }
.community-figure { max-width: 640px; min-width: 0; margin: 0; }
.community-layout-grid, .community-intro-media { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 168px), 1fr)); gap: var(--crm-space-3); align-items: start; }
.community-image { position: relative; display: block; width: 100%; padding: 0; border: 0; border-radius: var(--crm-radius-sm); color: var(--crm-text); background: var(--crm-surface-subtle); cursor: zoom-in; }
.community-figure img, .community-figure video { display: block; width: 100%; height: auto; max-height: 420px; border-radius: var(--crm-radius-sm); object-fit: contain; background: var(--crm-surface-subtle); }
.community-layout-grid .community-image, .community-intro-media .community-image, .community-intro-media video { aspect-ratio: 4 / 3; }
.community-layout-grid .community-image img, .community-intro-media .community-image img { height: 100%; aspect-ratio: 4 / 3; }
.community-cover-badge { position: absolute; right: var(--crm-space-2); bottom: var(--crm-space-2); display: inline-flex; align-items: center; gap: var(--crm-space-1); padding: 4px 8px; border-radius: var(--crm-radius-xs); color: var(--crm-on-dark); background: var(--crm-brand); font-size: var(--crm-text-data); line-height: var(--crm-leading-data); }
.community-cover-badge > svg { width: 16px; height: 16px; }
.community-media-caption { display: flex; align-items: flex-start; justify-content: space-between; gap: var(--crm-space-1); padding-top: var(--crm-space-1); }
.community-media-caption > p { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; margin: 6px 0; min-width: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-size: var(--crm-text-data); line-height: var(--crm-leading-data); }
.community-description-btn { flex-shrink: 0; min-height: 32px; padding: 4px 6px; font-size: var(--crm-text-data); line-height: var(--crm-leading-data); background: var(--crm-brand-soft); }
.community-description-btn > svg { width: 14px; height: 14px; }
.community-section-actions, .community-intro-actions { display: flex; align-items: center; flex-wrap: wrap; gap: var(--crm-space-2); }
.community-section-actions .text-btn[aria-pressed="true"], .community-intro-actions .text-btn[aria-pressed="true"] { background: var(--crm-brand-soft); }
.community-media-actions { display: flex; gap: var(--crm-space-1); margin-top: var(--crm-space-1); }
.community-mini-button { min-height: 32px; min-width: 44px; padding: 4px 6px; color: var(--crm-brand); background: var(--crm-brand-soft); border: 1px solid transparent; border-radius: var(--crm-radius-xs); font-size: var(--crm-text-data); line-height: var(--crm-leading-data); white-space: nowrap; }
.community-mini-button.danger { color: var(--crm-danger); background: var(--crm-danger-soft); }
.community-mini-button:disabled { background: var(--crm-disabled-bg); color: var(--crm-disabled-fg); }
.community-heading-count { font-size: var(--crm-text-data); color: var(--crm-text-muted); font-weight: var(--crm-weight-regular); margin-left: var(--crm-space-2); }
.community-deal-header, .community-deal-row { display: grid; grid-template-columns: 88px 136px 64px 94px minmax(0, 1fr); align-items: baseline; gap: var(--crm-space-2); }
.community-deals.is-editing .community-deal-header, .community-deals.is-editing .community-deal-row { grid-template-columns: 88px 136px 64px 94px minmax(0, 1fr) 96px; }
.community-deal-header { padding-bottom: var(--crm-space-2); font-size: var(--crm-text-data); color: var(--crm-text-muted); }
.community-deal-row { padding: var(--crm-space-2) 0; border-top: 1px solid var(--crm-border); font-size: var(--crm-text-data); line-height: var(--crm-leading-data); }
.community-deal-row time { color: var(--crm-text-muted); font-variant-numeric: tabular-nums; white-space: nowrap; }
.community-deal-home, .community-deal-notes { overflow-wrap: anywhere; }
.community-deal-notes { color: var(--crm-text-muted); }
.community-deal-unit { white-space: nowrap; font-variant-numeric: tabular-nums; }
.community-deal-unit > small { display: none; }
.community-deal-actions { display: flex; gap: var(--crm-space-1); }
.community-deal-row .price { white-space: nowrap; font-size: var(--crm-text-body); line-height: var(--crm-leading-body); }
.community-deal-row .price small { font-size: var(--crm-text-data); margin-left: 2px; }
.community-deal-toggle { margin-top: var(--crm-space-1); }
.community-deal-toggle svg { transform: rotate(90deg); }
.community-deal-toggle[aria-expanded="true"] svg { transform: rotate(-90deg); }
.community-introduction { max-width: 72ch; margin: 0; white-space: pre-wrap; overflow-wrap: anywhere; font-size: var(--crm-text-body); line-height: var(--crm-leading-body); }
.community-intro-actions { margin-top: var(--crm-space-3); }
.community-intro-media { margin-top: var(--crm-space-3); }
.community-image-dialog { width: min(920px, calc(100% - 32px)); max-height: calc(100dvh - 32px); margin: auto; padding: 0; border: 0; border-radius: var(--crm-radius-lg); color: var(--crm-text); background: var(--crm-surface); box-shadow: var(--crm-shadow-dialog); }
.community-image-dialog::backdrop { background: var(--crm-overlay); }
.community-image-dialog .dialog-header { gap: var(--crm-space-2); }
.community-image-dialog h2 { min-width: 0; margin: 0; font-size: var(--crm-text-body); line-height: var(--crm-leading-body); overflow-wrap: anywhere; }
.community-image-dialog .icon-btn { flex-shrink: 0; }
.community-image-view { padding: var(--crm-space-3); background: var(--crm-surface-subtle); }
.community-image-view img { display: block; max-width: 100%; max-height: 60dvh; margin: auto; object-fit: contain; }
.community-image-caption { margin: 0; padding: 8px 16px; white-space: pre-wrap; overflow-wrap: anywhere; font-size: var(--crm-text-data); line-height: var(--crm-leading-data); }
.community-image-footer { display: flex; align-items: center; justify-content: space-between; gap: var(--crm-space-3); padding: var(--crm-space-3) var(--crm-space-4); }
.community-image-footer > p { margin: 0; font-size: var(--crm-text-data); line-height: var(--crm-leading-data); }
.community-image-footer > .btn { flex-shrink: 0; }
@media (hover: hover) {
  .community-card:hover { border-color: var(--crm-brand); }
  .community-types .btn[aria-pressed="false"]:hover { background: var(--crm-brand-soft); color: var(--crm-brand); border-color: var(--crm-brand); }
}
@media (max-width: 767px) {
  .community-count { display: none; }
  .community-list-toolbar .search { flex: 1 1 176px; max-width: 280px; }
  .community-grid { grid-template-columns: repeat(auto-fill, minmax(min(100%, 280px), 1fr)); }
  .community-card-info { padding: 8px 12px; }
  .community-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); column-gap: var(--crm-space-3); row-gap: var(--crm-space-2); }
  .community-fields > div { gap: var(--crm-space-1); }
  .community-basics .detail-title h1 { font-size: 22px; line-height: 30px; }
  .community-header-meta { font-size: 12px; margin-top: 2px; }
  .community-deal-header { display: none; }
  .community-deal-row, .community-deals.is-editing .community-deal-row { grid-template-columns: 82px minmax(0, 1fr) auto; column-gap: var(--crm-space-2); row-gap: 2px; }
  .community-deal-home .muted { display: block; }
  .community-deal-unit { font-size: 12px; }
  .community-deal-unit > small { display: inline; font-size: 12px; color: var(--crm-text-muted); }
  .community-deal-notes { grid-column: 2 / -1; font-size: 12px; }
  .community-deal-actions { grid-column: 1 / -1; justify-content: flex-end; }
  .community-fields .community-field-long { grid-column: 1 / -1; }
  .community-fields .community-field-long dd { white-space: normal; overflow-wrap: anywhere; }
  .community-layout-grid, .community-intro-media { grid-template-columns: repeat(auto-fill, minmax(min(100%, 140px), 1fr)); }
  .community-description-btn, .community-mini-button { min-height: 44px; }
  .community-image-dialog { width: calc(100% - 24px); max-height: calc(100dvh - 24px); }
  .community-image-footer { align-items: flex-end; padding: var(--crm-space-3); gap: var(--crm-space-2); }
}
@media (min-width: 768px) and (max-width: 1050px) {
  .community-deals.is-editing .community-deal-header, .community-deals.is-editing .community-deal-row { grid-template-columns: 88px 122px 58px 84px minmax(0, 1fr); }
  .community-deals.is-editing .community-deal-header > :last-child { display: none; }
  .community-deal-actions { grid-column: 1 / -1; justify-content: flex-end; }
}
@media (pointer: coarse) { .community-description-btn, .community-mini-button { min-height: 44px; } }
