/* messages.css: isolated route package */
@scope (.messages-scope) {
/* source: public\assets\common\css\post-it-workspace.css */
:root {
  --post-it-yellow: #fff0a5;
  --post-it-blue: #ccebf0;
  --post-it-pink: #ffd5ce;
  --post-it-mint: #d8eed7;
  --post-it-paper: #fffdf5;
  --post-it-ink: #17343f;
  --post-it-shadow: rgba(20, 55, 63, 0.18);
  --post-it-tape: rgba(255, 255, 255, 0.68);
}

body {
  background-color: #e4ebe1 !important;
  background-image:
    linear-gradient(rgba(53, 88, 82, 0.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(53, 88, 82, 0.1) 1px, transparent 1px) !important;
  background-size: 20px 20px;
}

body.guide-page,
body.support-page,
body.formal-document {
  background-color: #fff !important;
  background-image: none !important;
}

.guide-page :where(.guide-intro, .guide-main, .support-main),
.support-page :where(.guide-intro, .guide-main, .support-main) {
  background-color: #fff !important;
  background-image: none !important;
}

.guide-page :where(.guide-help-panel, .guide-detail-section),
.support-page :where(.support-login, .support-ticket-area, .support-zone, .support-form-launcher, .ticket-row, .contact-menu-item) {
  border-radius: 0 !important;
  background: #fff !important;
  box-shadow: none !important;
  transform: none !important;
}

.guide-page :where(.guide-help-panel, .guide-detail-section)::before,
.support-page :where(.support-login, .support-ticket-area, .support-zone, .support-form-launcher, .ticket-row, .contact-menu-item)::before {
  content: none !important;
}

:where(
  .listing-section,
  .core-banner-bottom,
  .listing-main,
  .listing-detail-main,
  .map-section,
  .map-page .map-section,
  .ranking-main,
  .agent-main,
  .member-agent-main,
  .account-main,
  .guide-intro,
  .guide-main,
  .support-main,
  .messages-main,
  .province-hero,
  .province-listings,
  .portal-main,
  .dashboard
) {
  background-color: #e4ebe1 !important;
  background-image:
    linear-gradient(rgba(53, 88, 82, 0.1) 1px, transparent 1px),
    linear-gradient(90deg, rgba(53, 88, 82, 0.1) 1px, transparent 1px) !important;
  background-size: 20px 20px !important;
}

:where(
  .property-card,
  .search-panel,
  .directory-filters,
  .ranking-filters,
  .agent-ranking-card,
  .agent-profile,
  .member-agent-card,
  .member-actions,
  .commendation,
  .member-login,
  .account-card,
  .account-login,
  .login-card,
  .portal-profile,
  .guide-help-panel,
  .guide-detail-section,
  .support-login,
  .support-ticket-area,
  .support-zone,
  .support-form-launcher,
  .ticket-row,
  .contact-menu-item,
  .software-product-summary,
  .cbc-card,
  .traffic-forensic-card,
  .map-popup,
  .map-place-results,
  .listing-contact-panel,
  .home-contact-panel,
  .property-safety-notice,
  .directory-safety-notice,
  .listing-safety,
  .home-safety-notice,
  .demo-notice,
  .api-state,
  .province-summary,
  .conversation-list,
  .conversation-panel
) {
  position: relative;
  color: var(--post-it-ink);
  border: 1px solid rgba(23, 52, 63, 0.18) !important;
  border-radius: 0 !important;
  background: var(--post-it-paper) !important;
  box-shadow: 7px 8px 0 var(--post-it-shadow) !important;
}

:where(
  .property-card,
  .agent-ranking-card,
  .agent-profile,
  .member-agent-card,
  .account-card,
  .login-card,
  .portal-profile,
  .guide-help-panel,
  .support-login,
  .support-ticket-area,
  .support-zone,
  .ticket-row,
  .contact-menu-item,
  .software-product-summary,
  .cbc-card,
  .traffic-forensic-card,
  .map-popup,
  .map-place-results,
  .conversation-list,
  .conversation-panel
)::before {
  position: absolute;
  top: -8px;
  left: 50%;
  width: 54px;
  height: 18px;
  content: "";
  pointer-events: none;
  background: var(--post-it-tape);
  transform: translateX(-50%) rotate(-2deg);
}

.property-card {
  --post-it-card-rotation: 0deg;
  transform: rotate(var(--post-it-card-rotation));
  transition: transform 180ms ease, box-shadow 180ms ease;
}

.property-card:nth-child(4n + 1),
.agent-ranking-card:nth-child(4n + 1),
.ticket-row:nth-child(4n + 1) {
  background: var(--post-it-yellow) !important;
  --post-it-card-rotation: -0.55deg;
}

.property-card:nth-child(4n + 2),
.agent-ranking-card:nth-child(4n + 2),
.ticket-row:nth-child(4n + 2) {
  background: var(--post-it-blue) !important;
  --post-it-card-rotation: 0.4deg;
}

.property-card:nth-child(4n + 3),
.agent-ranking-card:nth-child(4n + 3),
.ticket-row:nth-child(4n + 3) {
  background: var(--post-it-pink) !important;
  --post-it-card-rotation: -0.35deg;
}

.property-card:nth-child(4n),
.agent-ranking-card:nth-child(4n),
.ticket-row:nth-child(4n) {
  background: var(--post-it-mint) !important;
  --post-it-card-rotation: 0.5deg;
}

.property-card::before {
  transition: transform 180ms ease;
}

@media (hover: hover) and (pointer: fine) {
  .property-card:hover,
  .property-card:focus-within {
    z-index: 1;
    box-shadow: 11px 13px 0 rgba(20, 55, 63, 0.24) !important;
    transform: translateY(-5px) rotate(var(--post-it-card-rotation)) scale(1.015);
  }

  .property-card:hover::before,
  .property-card:focus-within::before {
    transform: translateX(-50%) translateY(-2px) rotate(1deg);
  }
}

@media (prefers-reduced-motion: reduce) {
  .property-card,
  .property-card::before {
    transition: none;
  }

  .property-card:hover,
  .property-card:focus-within {
    transform: rotate(var(--post-it-card-rotation));
  }
}

:where(
  .guide-detail-section,
  .member-actions,
  .commendation,
  .listing-contact-panel,
  .home-contact-panel,
  .property-safety-notice,
  .directory-safety-notice,
  .listing-safety,
  .home-safety-notice,
  .demo-notice,
  .api-state,
  .province-summary
) {
  background: var(--post-it-yellow) !important;
}

:where(.search-panel, .directory-filters, .ranking-filters) {
  background: #fff !important;
  box-shadow: 3px 4px 0 rgba(20, 55, 63, 0.1) !important;
}

:where(.agent-profile, .portal-profile, .account-login, .support-form-launcher) {
  background: var(--post-it-blue) !important;
}

:where(.guide-help-panel, .support-login, .support-ticket-area, .cbc-card, .traffic-forensic-card) {
  background: var(--post-it-pink) !important;
}

:where(.member-agent-card, .member-login, .support-zone, .software-product-summary) {
  background: var(--post-it-mint) !important;
}

:where(
  .recommendation-tabs button,
  .ranking-search-tabs button,
  .mobile-filter-toggle,
  .recommendation-all-link,
  .map-expand-button
) {
  border-radius: 0 !important;
  box-shadow: 3px 4px 0 rgba(20, 55, 63, 0.15);
}

:where(.recommendation-tabs button, .ranking-search-tabs button, .mobile-filter-toggle) {
  background: var(--post-it-blue) !important;
  border-color: rgba(23, 52, 63, 0.22) !important;
  color: var(--post-it-ink) !important;
}

:where(.recommendation-tabs button.is-active, .ranking-search-tabs button.is-active) {
  background: var(--post-it-yellow) !important;
  color: var(--post-it-ink) !important;
}

:where(
  .home-listing-modal,
  .property-modal,
  .agent-listing-modal,
  .listing-dialog,
  .support-form-dialog,
  .admin-editor-dialog,
  .login-consent-dialog,
  .listing-report-consent-dialog,
  .beta-launch-dialog,
  .welcome-dialog
) {
  border: 1px solid rgba(23, 52, 63, 0.22) !important;
  border-radius: 0 !important;
  background: var(--post-it-paper) !important;
  box-shadow: 12px 14px 0 rgba(20, 55, 63, 0.25) !important;
}

:where(.home-listing-modal-content, .modal-content, .support-dialog-content, .admin-editor-content) {
  background: var(--post-it-paper) !important;
}

:where(.home-safety-notice, .property-safety-notice, .directory-safety-notice, .listing-safety) {
  border-left: 5px solid #d89f1d !important;
}

.ranking-list {
  margin-top: 24px !important;
  border: 0 !important;
  background: transparent !important;
}

.ranking-list .ranking-state {
  position: relative;
  width: min(100%, 620px);
  margin: 34px auto 0;
  padding: 24px 28px !important;
  border: 1px solid rgba(23, 52, 63, 0.18) !important;
  background: var(--post-it-yellow) !important;
  box-shadow: 8px 9px 0 var(--post-it-shadow);
  color: var(--post-it-ink);
  text-align: center;
  transform: rotate(-0.45deg);
}

.ranking-list .ranking-state::before {
  position: absolute;
  top: -8px;
  left: 50%;
  width: 58px;
  height: 17px;
  content: "";
  background: var(--post-it-tape);
  transform: translateX(-50%) rotate(-2deg);
}

@media (max-width: 700px) {
  body {
    background-size: 20px 20px;
  }

  :where(
    .property-card,
    .agent-ranking-card,
    .ticket-row,
    .search-panel,
    .directory-filters,
    .ranking-filters,
    .agent-profile,
    .member-agent-card,
    .member-actions,
    .commendation,
    .member-login,
    .account-card,
    .account-login,
    .login-card,
    .portal-profile,
    .guide-help-panel,
    .guide-detail-section,
    .support-login,
    .support-ticket-area,
    .support-zone,
    .support-form-launcher,
    .contact-menu-item,
    .software-product-summary,
    .cbc-card,
    .traffic-forensic-card,
    .map-popup,
    .map-place-results,
    .listing-contact-panel,
    .home-contact-panel,
    .conversation-list,
    .conversation-panel
  ) {
    transform: none !important;
    box-shadow: 5px 6px 0 var(--post-it-shadow) !important;
  }

  .ranking-list .ranking-state {
    margin-top: 22px;
    padding: 20px !important;
    transform: none;
  }
}

.property-card .property-image {
  height: 206px !important;
  margin: 14px 14px 0;
  border: 9px solid #fff !important;
  border-bottom-width: 26px !important;
  box-shadow: 4px 5px 0 rgba(20, 55, 63, 0.17);
  transform: rotate(-0.55deg);
}

.property-card:nth-child(even) .property-image {
  transform: rotate(0.45deg);
}

.property-card .property-image span {
  top: -15px !important;
  left: 13px !important;
  padding: 4px 9px 4px 21px !important;
  border: 1px solid rgba(84, 32, 35, 0.2) !important;
  border-radius: 0 !important;
  background: rgba(255, 246, 230, 0.82) !important;
  color: #5b2a2d !important;
  box-shadow: 2px 3px 0 rgba(84, 32, 35, 0.16);
  transform: rotate(-2deg);
}

.property-card .property-image span::before {
  position: absolute;
  top: 50%;
  left: 7px;
  width: 9px;
  height: 9px;
  border-radius: 50%;
  content: "";
  background: #b74249;
  box-shadow: 0 1px 2px rgba(59, 18, 21, 0.32);
  transform: translateY(-50%);
}

@media (max-width: 700px) {
  .property-card .property-image,
  .property-card:nth-child(even) .property-image {
    height: 210px !important;
    margin: 10px 10px 0;
    transform: none;
  }
}

.account-page .account-main {
  max-width: 1120px !important;
}

.account-page .account-overview {
  gap: 14px !important;
  margin-top: 20px !important;
  border: 0 !important;
}

.account-page .account-overview div,
.account-page .account-overview div + div {
  padding: 14px 16px !important;
  border: 1px solid rgba(23, 52, 63, 0.16) !important;
  background: var(--post-it-paper) !important;
  box-shadow: 4px 5px 0 rgba(20, 55, 63, 0.12);
}

.account-page .account-overview div:nth-child(1) { background: var(--post-it-yellow) !important; }
.account-page .account-overview div:nth-child(2) { background: var(--post-it-blue) !important; }
.account-page .account-overview div:nth-child(3) { background: var(--post-it-mint) !important; }

.account-page .account-grid {
  grid-template-columns: minmax(230px, 0.8fr) repeat(2, minmax(0, 1fr)) !important;
  gap: 22px !important;
  align-items: start !important;
}

.account-page .account-card {
  min-width: 0;
  padding: 24px !important;
  border: 1px solid rgba(23, 52, 63, 0.18) !important;
}

.account-page .account-profile-card {
  grid-row: span 3;
  padding: 24px !important;
  border-right: 1px solid rgba(23, 52, 63, 0.18) !important;
  border-bottom: 1px solid rgba(23, 52, 63, 0.18) !important;
}

.account-page .account-contact-card {
  grid-column: 2 / -1;
}

.account-page .account-contact-form {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px !important;
}

.account-page .account-contact-status,
.account-page .account-contact-form .account-action {
  grid-column: 1 / -1;
}

.account-page .account-contact-form .account-action {
  justify-self: start;
}

@media (max-width: 850px) {
  .account-page .account-overview { gap: 0 !important; }
  .account-page .account-overview div,
  .account-page .account-overview div + div { border-width: 1px 0 0 !important; box-shadow: none; }
  .account-page .account-grid { grid-template-columns: 1fr !important; gap: 16px !important; }
  .account-page .account-profile-card,
  .account-page .account-contact-card { grid-column: auto; grid-row: auto; }
  .account-page .account-contact-form { grid-template-columns: 1fr; }
}

/* source: public\assets\common\css\admin-desk-theme.css */
/* Shared visual layer: neutral administration surfaces with one restrained teal action color. */
:root {
  --navy: #183039 !important;
  --blue: #087e7a !important;
  --sand: #f4f4ef !important;
  --ink: #22343a !important;
  --muted: #627277 !important;
  --line: #cdd7d7 !important;
  --white: #ffffff !important;
  --surface: #ffffff;
  --surface-muted: #eef1ef;
  --surface-line: #cdd7d7;
  --surface-shadow: 5px 6px 0 rgba(24, 48, 57, .12);
  --tape: #eadbaa;
  --post-it-yellow: #ffffff !important;
  --post-it-blue: #ffffff !important;
  --post-it-pink: #ffffff !important;
  --post-it-mint: #ffffff !important;
  --post-it-paper: #ffffff !important;
  --post-it-ink: #22343a !important;
  --post-it-shadow: rgba(24, 48, 57, .12) !important;
  --post-it-tape: rgba(234, 219, 170, .76) !important;
}

body {
  background-color: var(--sand) !important;
  background-image: linear-gradient(rgba(24, 48, 57, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(24, 48, 57, .035) 1px, transparent 1px) !important;
  background-size: 20px 20px !important;
  color: var(--ink) !important;
}

.listing-section,
.core-banner-bottom,
.listing-main,
.listing-detail-main,
.map-section,
.map-page .map-section,
.ranking-main,
.agent-main,
.member-agent-main,
.account-main,
.guide-intro,
.guide-main,
.support-main,
.messages-main,
.province-hero,
.province-listings,
.portal-main,
.dashboard,
.admin-page {
  background-color: var(--sand) !important;
  background-image: linear-gradient(rgba(24, 48, 57, .035) 1px, transparent 1px), linear-gradient(90deg, rgba(24, 48, 57, .035) 1px, transparent 1px) !important;
  background-size: 20px 20px !important;
}

.site-header,
footer,
.cookie-consent,
.mobile-nav,
.desktop-nav-menu,
.map-popup,
.home-listing-modal,
.login-consent-dialog,
.listing-report-consent-dialog,
.admin-editor-dialog {
  background: var(--surface) !important;
  border-color: var(--surface-line) !important;
}

.site-header {
  box-shadow: 0 2px 0 rgba(24, 48, 57, .06) !important;
}

.site-header nav a,
.desktop-nav-more > summary,
.text-link,
.property-footer a,
footer a,
.eyebrow,
[class*="meta"],
[class*="note"],
[class*="hint"] {
  color: var(--muted) !important;
}

.header-action,
.primary,
.primary-button,
.search-button,
.recommendation-all-link,
.cookie-button,
.modal-actions .line-direct-btn,
.modal-actions .listing-direct-line,
.line-login,
.line-sign-in {
  background: var(--navy) !important;
  border-color: var(--navy) !important;
  color: #fff !important;
  box-shadow: var(--surface-shadow) !important;
}

button,
input,
select,
textarea,
.header-action,
.primary,
.primary-button,
.search-button,
.recommendation-all-link,
.cookie-button {
  border-radius: 0 !important;
}

input,
select,
textarea,
.search-panel,
.compact-filters,
.recommendation-tabs button,
.mobile-filter-toggle,
.menu-button,
.map-expand-button,
.admin-refresh,
.close-button,
.listing-report-consent-close {
  border-color: var(--surface-line) !important;
  background-color: var(--surface) !important;
  color: var(--ink) !important;
}

.search-panel,
.compact-filters,
.recommendation-tabs,
.listing-card,
.property-card,
.recommendation-card,
.support-zone,
.account-card,
.admin-workspace,
.admin-summary article,
.portal-panel,
.messages-panel,
.guide-detail-section,
.guide-help-panel,
.ranking-filters,
.listing-report-consent-content,
.login-consent-content,
.home-listing-modal-content {
  background: var(--surface) !important;
  border-color: var(--surface-line) !important;
  box-shadow: var(--surface-shadow) !important;
}

.search-panel::before,
.compact-filters::before,
.listing-card::before,
.property-card::before,
.recommendation-card::before,
.support-zone::before,
.account-card::before,
.admin-workspace::before,
.portal-panel::before {
  background: var(--tape) !important;
}

.property-card:nth-child(4n + 1),
.property-card:nth-child(4n + 2),
.property-card:nth-child(4n + 3),
.property-card:nth-child(4n),
.agent-ranking-card:nth-child(4n + 1),
.agent-ranking-card:nth-child(4n + 2),
.agent-ranking-card:nth-child(4n + 3),
.agent-ranking-card:nth-child(4n),
.ticket-row:nth-child(4n + 1),
.ticket-row:nth-child(4n + 2),
.ticket-row:nth-child(4n + 3),
.ticket-row:nth-child(4n) {
  background: var(--surface) !important;
}

.chat-launcher,
.chat-panel,
.chat-head,
.chat-tabs,
.chat-tabs button,
.chat-close,
.chat-form,
.chat-form input,
.chat-form button,
.line-login-mark,
.line-sign-in-mark,
.line-follow-mark,
.line-follow-action,
.line-follow-content,
.desktop-nav-menu,
.home-safety-notice,
.property-safety-notice,
.directory-safety-notice,
.support-chat-zone,
.admin-support-chat,
.admin-private-board,
.portal-notice-board {
  background-color: var(--surface) !important;
  background-image: none !important;
  border-color: var(--surface-line) !important;
  color: var(--ink) !important;
}

.chat-launcher,
.chat-panel,
.line-follow-content,
.desktop-nav-menu,
.home-safety-notice,
.property-safety-notice,
.directory-safety-notice,
.support-chat-zone,
.admin-support-chat,
.admin-private-board,
.portal-notice-board {
  box-shadow: var(--surface-shadow) !important;
}

.chat-launcher::before,
.chat-panel::before,
.admin-private-board::before,
.portal-notice-board::before {
  background: var(--tape) !important;
}

.chat-tabs button[aria-selected="true"],
.chat-tabs button:hover,
.chat-close:hover,
.line-follow-action,
.line-login .line-login-mark {
  background-color: var(--navy) !important;
  color: #fff !important;
  box-shadow: none !important;
}

.chat-launcher:focus-visible,
.chat-close:focus-visible,
.chat-tabs button:focus-visible,
.chat-form input:focus-visible,
.chat-form button:focus-visible,
.chat-login:focus-visible,
.chat-admin-select:focus-visible {
  outline-color: var(--blue) !important;
}

.recommendation-tabs button.is-active,
.search-tabs button.is-active,
[aria-pressed="true"],
.is-active:not(img) {
  background-color: var(--navy) !important;
  border-color: var(--navy) !important;
  color: #fff !important;
}

[class*="badge"],
[class*="status"],
[class*="state"],
[class*="tag"] {
  background-color: var(--surface-muted) !important;
  border-color: var(--surface-line) !important;
  color: var(--ink) !important;
}

dialog::backdrop {
  background: rgba(24, 48, 57, .46) !important;
}

@media (hover: hover) and (pointer: fine) {
  .header-action:hover,
  .primary:hover,
  .primary-button:hover,
  .search-button:hover,
  .recommendation-all-link:hover,
  .cookie-button:hover,
  .listing-card:hover,
  .property-card:hover,
  .recommendation-card:hover,
  .support-zone:hover,
  .account-card:hover,
  .admin-summary article:hover,
  .portal-panel:hover {
    transform: translate(-2px, -2px);
    box-shadow: 7px 8px 0 rgba(24, 48, 57, .16) !important;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    transition-duration: .01ms !important;
    animation-duration: .01ms !important;
  }
}

/* source: public\assets\common\css\styles.css */
/* Keep every operational entry page to a compact two-row opening: identity, then action/search. */
.hero { height: 178px !important; min-height: 0 !important; }
.hero-content { padding-top: 22px !important; }
.hero h1 { margin: 0 !important; font-size: 27px !important; line-height: 1.2 !important; }
.hero-copy { display: none !important; }
:where(.listing-main, .ranking-main, .support-main, .account-main, .admin-main, .messages-main) { padding-top: 26px !important; }
:where(.listing-main, .ranking-main, .support-main, .account-main, .admin-main, .messages-main) > .container > h1,
:where(.listing-main, .ranking-main, .support-main, .account-main, .admin-main, .messages-main) h1:first-child,
.listing-heading-row h1,
.dashboard-head h1 { font-size: 28px !important; line-height: 1.2 !important; }
:where(.listing-intro, .ranking-intro, .support-intro, .messages-intro, .account-intro > p:not(.eyebrow), .dashboard-head p:not(.eyebrow)) { margin: 4px 0 14px !important; font-size: 13px !important; line-height: 1.5 !important; }
.listing-heading-row { margin-bottom: 12px !important; }
.directory-filters, .ranking-filter-fields { padding: 8px !important; gap: 8px !important; }
.directory-filters label, .ranking-filter-fields label { min-height: 50px !important; padding: 5px 9px !important; }
.directory-filters button, .ranking-location-button, .ranking-search-button { min-height: 50px !important; }
.province-hero, .guide-intro { padding: 28px 0 22px !important; }
.province-hero h1, .guide-intro h1 { margin: 3px 0 !important; font-size: 28px !important; line-height: 1.2 !important; }
.province-hero p:not(.eyebrow), .guide-intro p:not(.eyebrow) { margin: 3px 0 0 !important; font-size: 13px !important; line-height: 1.5 !important; }
:root{--navy:#0c2435;--blue:#1e536f;--sand:#f2f0eb;--ink:#16242e;--muted:#63717a;--line:#d9dfdf;--white:#fff}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);font-family:"Noto Sans Thai","DM Sans",sans-serif;font-size:15px;line-height:1.65}.container{width:min(1160px,calc(100% - 48px));margin:auto}.site-header{height:82px;background:#fff;position:sticky;top:0;z-index:10;border-bottom:1px solid #edf0f0}.header-inner{height:100%;display:flex;align-items:center;gap:38px}.brand{display:inline-flex;align-items:center;gap:10px;text-decoration:none;color:var(--navy);letter-spacing:.04em;line-height:1}.brand strong{display:block;font-family:"DM Sans",sans-serif;font-size:17px;letter-spacing:.13em}.brand small{display:block;font-family:"DM Sans",sans-serif;font-size:7px;letter-spacing:.19em;margin-top:5px}.brand-mark{height:32px;width:29px;display:flex;align-items:end;gap:3px}.brand-mark i{display:block;width:7px;background:var(--blue)}.brand-mark i:first-child{height:15px}.brand-mark i:nth-child(2){height:25px}.brand-mark i:nth-child(3){height:32px}nav{display:flex;gap:27px;margin-left:auto}nav a,.header-action,.text-link,.property-footer a,footer a{color:inherit;text-decoration:none}.site-header nav a{font-size:13px;color:#46545c}.site-header nav a:hover,.text-link:hover,.property-footer a:hover{color:var(--blue)}.header-action{background:var(--navy);color:#fff;padding:11px 16px;font-size:12px}.menu-button{display:none}.hero{height:620px;color:#fff;position:relative;background:linear-gradient(90deg,rgba(8,30,44,.84),rgba(8,30,44,.4)),url("https://images.unsplash.com/photo-1564013799919-ab600027ffc6?auto=format&fit=crop&w=1800&q=85") center/cover}.hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,rgba(6,23,34,.25))}.hero-content{position:relative;padding-top:92px}.eyebrow{font:600 11px "DM Sans",sans-serif;letter-spacing:.18em;color:#66808d;margin:0 0 13px}.eyebrow.light{color:#cbd9df}.hero h1,.intro h2,.section-heading h2,.areas h2,.submit-section h2{font-weight:600;letter-spacing:-.045em;line-height:1.2;margin:0}.hero h1{font-size:52px}.hero-copy{color:#e0e8eb;margin:20px 0 28px;font-size:16px}.search-panel{max-width:1040px;background:#fff;color:var(--ink);padding:0 23px 20px;box-shadow:0 15px 38px rgba(0,0,0,.15)}.search-tabs{display:flex;gap:26px;border-bottom:1px solid var(--line)}.search-tabs button{font-family:inherit;border:0;background:none;padding:14px 1px 11px;color:#708088;cursor:pointer}.search-tabs button.active{color:var(--navy);border-bottom:2px solid var(--blue);font-weight:700}.search-fields{display:grid;grid-template-columns:repeat(3,1fr) 185px;gap:14px;padding-top:17px}.search-fields label{border:1px solid var(--line);padding:8px 12px}.search-fields span{display:block;color:#78858b;font-size:10px}.search-fields select{font:500 13px "Noto Sans Thai",sans-serif;border:0;padding:1px 12px 1px 0;background:white;width:100%;color:#263740;outline:none}.search-button{font-family:inherit;border:0;background:var(--blue);color:#fff;font-size:13px;cursor:pointer}.hero-credit{position:absolute;right:26px;bottom:18px;font-size:10px;color:#e5edef}.intro{padding:105px 0}.intro-grid{display:grid;grid-template-columns:1fr 2fr;gap:45px}.intro h2{font-size:35px}.intro p:not(.eyebrow){color:var(--muted);max-width:560px;margin:21px 0 0}.listing-section{background:var(--sand);padding:82px 0 96px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:31px}.section-heading h2,.areas h2{font-size:32px}.text-link{font-size:13px;font-weight:600;color:var(--blue)}.text-link span{font-size:17px;margin-left:6px}.listing-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}.property-card{background:#fff}.property-image{height:228px;background-position:center;background-size:cover;position:relative}.property-image span{position:absolute;top:14px;left:14px;color:#fff;background:var(--navy);font-size:11px;padding:3px 12px}.image-one{background-image:url("https://images.unsplash.com/photo-1600585154340-be6161a56a0c?auto=format&fit=crop&w=800&q=85")}.image-two{background-image:url("https://images.unsplash.com/photo-1545324418-cc1a3fa10c00?auto=format&fit=crop&w=800&q=85")}.image-three{background-image:url("https://images.unsplash.com/photo-1600607687939-ce8a6c25118c?auto=format&fit=crop&w=800&q=85")}.property-content{padding:19px 20px 18px}.property-type{color:#66808d;font-size:11px;margin:0 0 8px}.property-card h3{font-size:17px;line-height:1.45;margin:0;font-weight:600}.property-specs{font-size:12px;color:#748087;margin:14px 0 17px}.property-footer{border-top:1px solid #e4e8e8;padding-top:12px;display:flex;justify-content:space-between;align-items:center}.property-footer strong{font:600 15px "DM Sans","Noto Sans Thai",sans-serif}.property-footer a{color:var(--blue);font-size:11px;font-weight:600}.areas{padding:105px 0}.areas-layout{display:grid;grid-template-columns:1fr 1fr;gap:120px}.areas p:not(.eyebrow){color:var(--muted);max-width:350px;margin:17px 0 27px}.outline-button,.light-button{display:inline-block;text-decoration:none;padding:10px 20px;font-size:12px;font-weight:600}.outline-button{color:var(--navy);border:1px solid var(--navy)}.area-list{border-top:1px solid var(--line)}.area-list a{display:flex;justify-content:space-between;color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);padding:18px 2px;font-size:18px}.area-list span{color:#9ba7ac;font:12px "DM Sans",sans-serif}.submit-section{background:linear-gradient(90deg,rgba(12,36,53,.94),rgba(15,58,78,.87)),url("https://images.unsplash.com/photo-1560518883-ce09059eeffa?auto=format&fit=crop&w=1800&q=85") center/cover;color:#fff;padding:90px 0}.submit-content{max-width:700px}.submit-section h2{font-size:39px}.submit-section p:not(.eyebrow){max-width:510px;color:#d8e3e7;margin:18px 0 25px}.light-button{background:#fff;color:var(--navy)}footer{background:#091c29;color:#c8d1d5;padding:49px 0}.footer-inner{display:grid;grid-template-columns:1.3fr 1.4fr 1fr;gap:30px;align-items:start}.footer-brand{color:#fff}.footer-brand .brand-mark i{background:#91b7c8}footer p{font-size:12px;margin:0;line-height:1.75}footer div:last-child{display:flex;gap:12px;flex-wrap:wrap;justify-content:flex-end}footer div:last-child p{width:100%;text-align:right;color:#80919a}footer a{font-size:11px;color:#dce3e6}@media(max-width:850px){.site-header{height:70px}.header-inner{gap:0}.header-action,nav{display:none}.menu-button{display:block;margin-left:auto;border:0;background:none;color:var(--navy);font:600 12px "Noto Sans Thai",sans-serif}.hero{height:auto;min-height:670px}.hero-content{padding-top:70px}.hero h1{font-size:39px}.search-fields{grid-template-columns:1fr 1fr}.search-button{min-height:49px}.intro{padding:70px 0}.intro-grid,.areas-layout{grid-template-columns:1fr;gap:30px}.listing-grid{grid-template-columns:1fr}.property-image{height:250px}.section-heading{align-items:start;gap:20px}.areas{padding:70px 0}.footer-inner{grid-template-columns:1fr}.footer-inner div:last-child{justify-content:flex-start}.footer-inner div:last-child p{text-align:left}}@media(max-width:500px){.container{width:min(100% - 32px,1160px)}.desktop-only{display:none}.hero h1{font-size:34px}.hero-copy{font-size:14px}.search-panel{padding:0 15px 15px}.search-fields{grid-template-columns:1fr}.section-heading h2,.areas h2{font-size:28px}.section-heading{display:block}.section-heading .text-link{display:inline-block;margin-top:10px}.submit-section h2{font-size:33px}}


/* source: public\assets\common\css\brand.css */
img[src$="chahuadev-camellia.svg"]{content:url("../../images/logo.png");object-fit:contain}.brand-logo{width:42px;height:42px;display:block;flex:none;object-fit:contain}.brand strong{font-size:16px;letter-spacing:.09em}.brand small{font-size:6.7px;letter-spacing:.145em}.footer-brand .brand-logo{filter:none}@media(max-width:700px){.brand-logo{width:38px;height:38px}}


/* source: public\assets\common\css\api.css */
.api-state{grid-column:1/-1;margin:0;padding:38px 22px;background:#fff;border:1px solid #e0e5e5;color:#66757d;text-align:center}.api-error{color:#93444d}.text-link-btn{border:0;background:none;color:var(--blue);font:600 11px "Noto Sans Thai",sans-serif;cursor:pointer;padding:0}
.demo-notice{margin:0 0 18px;padding:10px 14px;border:1px solid #d4b56b;background:#fff9e9;color:#6d5316;font-size:12px}.demo-label{display:inline-block;margin:8px 0 0;padding:3px 7px;background:#fff1c9;color:#765516;font-size:10px;font-weight:700}


/* source: public\messages\messages.css */
.messages-page{background:#f5f7f7;color:#243840}.messages-main{padding:48px 0 86px}.messages-main h1{margin:3px 0 8px;font-size:34px;letter-spacing:0}.messages-intro{margin:0 0 24px;color:#61737a}.messages-layout{display:grid;grid-template-columns:310px minmax(0,1fr);min-height:520px;border:1px solid #dce4e5;background:#fff}.conversation-list{border-right:1px solid #dce4e5;overflow:auto}.conversation-item{display:flex;width:100%;gap:11px;padding:13px;border:0;border-bottom:1px solid #e7ecec;background:#fff;text-align:left;font:inherit;cursor:pointer}.conversation-item:hover,.conversation-item.is-selected{background:#edf5f4}.conversation-item img,.conversation-head img{width:46px;height:46px;flex:0 0 auto;object-fit:cover;background:#edf1f1}.conversation-item span{display:grid;gap:3px;min-width:0}.conversation-item strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:600 13px "Noto Sans Thai",sans-serif}.conversation-item small,.conversation-head small{color:#64767c;font:12px "Noto Sans Thai",sans-serif}.conversation-panel{display:grid;grid-template-rows:auto auto 1fr auto;min-height:518px}.conversation-head{display:flex;gap:12px;align-items:center;padding:15px 18px;border-bottom:1px solid #dce4e5}.conversation-head div{display:grid;gap:2px}.conversation-head p{margin:0;font:600 15px "Noto Sans Thai",sans-serif}.conversation-consent{margin:18px;padding:17px;background:#fff8e5;border-left:3px solid #c18d25;color:#5a4819}.conversation-consent h2{margin:0;font-size:18px}.conversation-consent p{font-size:13px;line-height:1.65}.conversation-consent label{display:block;font-size:13px;line-height:1.5}.conversation-consent button{display:block;margin-top:13px;padding:10px 14px;border:0;background:#176d76;color:#fff;font:600 13px "Noto Sans Thai",sans-serif;cursor:pointer}.conversation-consent button:disabled{background:#a7b6b9;cursor:not-allowed}.property-messages{overflow:auto;padding:18px;background:#f5f7f7}.property-message{width:fit-content;max-width:min(78%,520px);margin:0 0 12px;padding:10px 12px;background:#fff;border:1px solid #e0e7e7}.property-message.is-own{margin-left:auto;background:#dff0ec;border-color:#c7e1da}.property-message p{margin:0;white-space:pre-wrap;font:14px/1.55 "Noto Sans Thai",sans-serif}.property-message small{display:block;margin-top:4px;color:#718187;font-size:10px}.property-message-form{display:flex;gap:8px;padding:14px;border-top:1px solid #dce4e5}.property-message-form input{min-width:0;flex:1;padding:10px 12px;border:1px solid #cbd6d8;font:14px "Noto Sans Thai",sans-serif}.property-message-form button{padding:0 16px;border:0;background:#176d76;color:#fff;font:600 13px "Noto Sans Thai",sans-serif;cursor:pointer}.messages-empty{padding:20px;color:#65787e;font:14px "Noto Sans Thai",sans-serif}@media(max-width:700px){.messages-main{padding:32px 0 60px}.messages-layout{grid-template-columns:1fr}.conversation-list{max-height:210px;border-right:0;border-bottom:1px solid #dce4e5}.conversation-panel{min-height:440px}.messages-main h1{font-size:28px}.property-message{max-width:88%}}

/* source: public\messages\messages-inbox.css */
.conversation-item {
  align-items: center;
}

.conversation-item em {
  overflow: hidden;
  color: #7c8c91;
  font: 11px "Noto Sans Thai", sans-serif;
  font-style: normal;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.conversation-unread {
  align-self: center;
  min-width: 20px;
  padding: 1px 6px;
  border-radius: 10px;
  background: #b74249;
  color: #fff;
  font: 700 11px "DM Sans", sans-serif;
  text-align: center;
}

/* source: public\messages\messages-safety.css */
.conversation-head .conversation-identity{display:grid;gap:2px;min-width:0}.conversation-trust{color:#49636d;font-size:11px}.conversation-trust strong{color:#76500c}.conversation-head-actions{display:flex;gap:6px;margin-left:auto}.conversation-head-actions a,.conversation-head-actions button{display:inline-flex;align-items:center;justify-content:center;min-height:32px;border:1px solid #c7d2d5;background:#fff;color:#274652;padding:5px 9px;text-decoration:none;font:600 11px "Noto Sans Thai",sans-serif;cursor:pointer}.conversation-head-actions button{border-color:#d8aaa5;color:#8a3730}.conversation-safety{padding:10px 18px;border-bottom:1px solid #ead9a8;background:#fff8df;color:#654e12;font-size:12px;line-height:1.55}.property-message-form[hidden]{display:none!important}.property-message-form>div{min-width:0}.property-message-form input{width:100%}.property-message-form button:disabled{background:#a7b6b9;cursor:not-allowed}.message-safety-feedback{margin:4px 0 0;color:#a23f35;font-size:11px;line-height:1.45}@media(max-width:700px){.conversation-head{align-items:flex-start;padding:12px}.conversation-head img{width:40px;height:40px}.conversation-head-actions{flex-direction:column}.conversation-head-actions a,.conversation-head-actions button{min-height:28px;padding:3px 7px}.conversation-safety{padding:9px 12px}.property-message-form{padding:10px}.property-message-form button{padding:8px 12px}}


/* source: public\assets\common\css\mobile.css */
html{overflow-x:hidden}body{overflow-x:hidden}@media(max-width:850px){.site-header{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}.header-inner{position:relative}.site-header .header-inner>.back-home,.site-header .header-inner>.header-action{display:none}.site-header .menu-button{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;margin-left:0;border:1px solid #ccd7da;background:#fff;color:var(--navy);font:600 12px "Noto Sans Thai",sans-serif;cursor:pointer}.site-header .language-switch{margin-left:auto;margin-right:8px}.mobile-nav-panel{position:absolute;z-index:30;top:100%;left:0;right:0;background:#fff;border-bottom:1px solid #dce3e5;box-shadow:0 14px 24px rgba(5,25,37,.15);padding:8px max(16px,env(safe-area-inset-right)) 14px max(16px,env(safe-area-inset-left))}.mobile-nav-panel a{display:flex;align-items:center;min-height:48px;padding:9px 12px;border-bottom:1px solid #edf0f0;text-decoration:none;color:var(--navy);font-size:14px}.mobile-nav-panel a:last-child{border-bottom:0}.property-footer{gap:12px;align-items:flex-start}.property-footer strong{min-width:0}.property-footer .text-link-btn,.property-footer a{min-height:44px;display:inline-flex;align-items:center;text-align:right}.modal-content{padding:18px}.modal-close{right:25px;top:25px;min-width:44px;min-height:44px}.property-modal,.listing-dialog{max-height:calc(100dvh - 24px);overflow-y:auto}.form-actions{position:sticky;bottom:-20px;background:#fff;padding-bottom:12px;flex-wrap:wrap}.form-actions button{min-height:44px;flex:1}.primary-button,.secondary-button,.line-login,.outline-button,.light-button,.directory-filters button{min-height:44px}.form-grid input,.form-grid select,.form-grid textarea,.coordinate-fields input,.search-fields select,.directory-filters select{font-size:16px}.map-section #main-map{touch-action:pan-x pan-y}.listing-dialog{width:min(100% - 16px,760px)}.listing-dialog form{padding:18px}.agent-head{align-items:flex-start}.agent-head img{flex:0 0 auto}.landing-header,.privacy-header{padding-left:max(0px,env(safe-area-inset-left));padding-right:max(0px,env(safe-area-inset-right))}.landing-login,.privacy-header>a:last-child{display:inline-flex;align-items:center;justify-content:center;min-height:44px;padding:0 12px}.privacy-header>a:last-child{font-size:12px}}@media(max-width:650px){.landing-header{min-height:72px;height:auto}.landing-header .brand small{display:none}.landing-header .language-switch{margin-right:8px}.landing-login{padding:0 11px;font-size:12px}.privacy-header .brand small{display:none}.privacy-header>a:last-child{font-size:11px}}@media(max-width:380px){.brand{gap:6px}.brand strong{font-size:14px}.brand small{font-size:6px;letter-spacing:.12em}.site-header .language-switch{margin-right:5px}.site-header .language-switch button{padding:7px 6px}.site-header .menu-button{min-width:42px;padding:0 7px}.property-footer{flex-direction:column}.property-footer .text-link-btn,.property-footer a{text-align:left}.landing-header .language-switch{margin-right:4px}.landing-login{padding:0 8px;font-size:11px}}
@media(max-width:850px){.search-tabs button{min-width:44px;padding-right:10px;padding-left:10px}.leaflet-control-zoom a{display:flex!important;align-items:center;justify-content:center;width:44px!important;height:44px!important;line-height:44px!important}}


/* source: public\assets\common\css\operational-density.css */
/* Keep operational screens focused on content rather than repeated page chrome. */
.account-page .account-intro .eyebrow,
.listing-page .listing-heading-row .eyebrow,
.map-page .map-heading .eyebrow,
.messages-page .messages-main > .eyebrow,
.portal-body .portal-profile .eyebrow,
.ranking-page .ranking-heading-copy .eyebrow,
.support-page .support-page-head .eyebrow,
.support-page .support-zone-head .eyebrow {
  display: none;
}

.account-page .account-main,
.messages-page .messages-main,
.support-page .support-main {
  padding-top: 28px;
}

.listing-page .listing-heading-row,
.map-page .map-heading-actions,
.portal-body .portal-profile,
.ranking-page .ranking-toolbar-layout {
  gap: 10px;
}

.listing-page .listing-heading-row .listing-intro,
.map-page .map-heading h1 + p,
.messages-page .messages-intro,
.portal-body .portal-profile p:not(.eyebrow),
.ranking-page .ranking-intro,
.support-page .support-intro,
.support-page .support-zone-head p:not(.eyebrow) {
  margin-top: 4px;
}

.map-page .map-heading-buttons {
  flex-wrap: wrap;
}

@media (max-width: 700px) {
  .account-page .account-main,
  .messages-page .messages-main,
  .support-page .support-main {
    padding-top: 20px;
  }

  .account-page .account-intro > p:not(.eyebrow) {
    display: none;
  }

  .map-page .map-heading-buttons {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
  }

  .map-page .map-heading-buttons .map-search-area-button,
  .map-page .map-heading-buttons .map-expand-button,
  .map-page .map-heading-buttons .mobile-filter-toggle {
    width: 100%;
    min-height: 36px;
    margin-top: 0;
  }
}
}
