.reac-app{--ink:#0b2940;--line:#dce5eb;--soft:#f4f7f9;--muted:#6a7b87;--accent:#0aa3e8;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:var(--ink);max-width:1480px;margin:32px auto;padding:0 18px}.reac-shell{background:#fff;border:1px solid var(--line);border-radius:24px;overflow:hidden;box-shadow:0 20px 60px rgba(10,37,56,.08)}.reac-header{display:flex;justify-content:space-between;gap:30px;align-items:flex-start;padding:36px 40px 28px;background:linear-gradient(135deg,#f8fbfd,#fff)}.reac-header h2{font-size:34px;line-height:1.1;margin:8px 0 10px}.reac-header p{max-width:760px;margin:0;color:var(--muted)}.reac-kicker{font-size:12px;letter-spacing:.14em;font-weight:800;color:var(--accent)}.reac-badge{border:1px solid var(--line);background:#fff;border-radius:999px;padding:9px 12px;font-size:11px;font-weight:700;white-space:nowrap}.reac-layout{display:grid;grid-template-columns:minmax(0,1fr) 300px;border-top:1px solid var(--line)}.reac-chat{padding:28px 32px}.reac-side{padding:28px;border-left:1px solid var(--line);background:var(--soft)}.reac-messages{height:300px;overflow:auto;padding:8px 4px 18px}.reac-msg{display:flex;gap:10px;margin:12px 0}.reac-user{justify-content:flex-end}.reac-avatar{width:34px;height:34px;border-radius:50%;background:var(--ink);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:800;flex:0 0 auto}.reac-bubble{max-width:78%;background:var(--soft);border-radius:16px;padding:12px 15px;line-height:1.55}.reac-user .reac-bubble{background:var(--ink);color:#fff}.reac-quick{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 14px}.reac-quick button{border:1px solid var(--line);background:#fff;border-radius:999px;padding:8px 11px;font-size:12px;cursor:pointer}.reac-form{display:flex;gap:10px;align-items:stretch}.reac-form textarea{flex:1;resize:vertical;min-height:58px;border:1px solid var(--line);border-radius:14px;padding:14px;font:inherit}.reac-form button,.reac-lead-btn,#reac-lead-form button{border:0;background:var(--ink);color:#fff;border-radius:12px;padding:0 22px;font-weight:700;cursor:pointer}.reac-note{font-size:11px;color:var(--muted);margin-top:9px}.reac-side-title{font-weight:800;margin-bottom:14px}.reac-prefs{display:grid;gap:9px}.reac-pref{background:#fff;border:1px solid var(--line);border-radius:12px;padding:10px 12px}.reac-pref small{display:block;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.08em}.reac-pref strong{display:block;margin-top:2px}.reac-lead-btn{width:100%;padding:13px;margin-top:18px}.reac-results{padding:34px 32px;border-top:1px solid var(--line)}.reac-results:empty{display:none}.reac-results-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:18px}.reac-results-head h3{font-size:28px;margin:4px 0 0}.reac-results-sub{color:var(--muted);font-size:13px}.reac-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.reac-card{border:1px solid var(--line);border-radius:16px;overflow:hidden;background:#fff}.reac-card-img{height:185px;position:relative;background:var(--soft)}.reac-card-img img{width:100%;height:100%;object-fit:cover}.reac-noimg{height:100%;display:grid;place-items:center;color:var(--muted);font-size:12px;letter-spacing:.15em}.reac-score{position:absolute;right:10px;top:10px;background:rgba(11,41,64,.92);color:#fff;border-radius:999px;padding:6px 9px;font-size:11px;font-weight:800}.reac-card-body{padding:15px}.reac-card-type{font-size:10px;color:var(--accent);font-weight:800;text-transform:uppercase;letter-spacing:.08em}.reac-card h4{margin:5px 0 7px;font-size:17px;line-height:1.3}.reac-price{font-weight:800;font-size:18px}.reac-meta{display:flex;flex-wrap:wrap;gap:8px;margin:9px 0;font-size:12px}.reac-meta span{background:var(--soft);padding:5px 7px;border-radius:7px}.reac-location{min-height:34px;color:var(--muted);font-size:12px}.reac-why{display:flex;flex-wrap:wrap;gap:5px;margin:10px 0}.reac-why span{font-size:10px;border:1px solid var(--line);border-radius:999px;padding:4px 6px}.reac-card-actions{display:flex;gap:8px;margin-top:12px}.reac-card-actions a,.reac-card-actions button{flex:1;text-align:center;border-radius:9px;padding:9px 8px;font-size:11px;font-weight:700;text-decoration:none;cursor:pointer}.reac-card-actions a{background:var(--ink);color:#fff}.reac-card-actions button{background:#fff;color:var(--ink);border:1px solid var(--line)}.reac-empty{padding:28px;text-align:center;color:var(--muted);background:var(--soft);border-radius:14px}.reac-modal{position:fixed;inset:0;background:rgba(3,18,28,.55);display:none;place-items:center;z-index:99999;padding:20px}.reac-modal.is-open{display:grid}.reac-modal-card{width:min(520px,100%);background:#fff;border-radius:18px;padding:26px;position:relative}.reac-close{position:absolute;right:14px;top:10px;border:0;background:transparent;font-size:28px;cursor:pointer}.reac-modal-card h3{margin-top:0}.reac-modal-card p{color:var(--muted)}#reac-lead-form{display:grid;gap:10px}#reac-lead-form input,#reac-lead-form textarea{width:100%;box-sizing:border-box;border:1px solid var(--line);border-radius:10px;padding:11px;font:inherit}#reac-lead-form button{padding:12px}#reac-lead-status{margin-top:10px;font-size:13px;font-weight:700}.reac-thinking{opacity:.7}@media(max-width:1050px){.reac-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.reac-header{padding:24px;display:block}.reac-header h2{font-size:27px}.reac-badge{display:inline-block;margin-top:16px}.reac-layout{grid-template-columns:1fr}.reac-side{border-left:0;border-top:1px solid var(--line)}.reac-chat,.reac-results{padding:20px}.reac-grid{grid-template-columns:1fr}.reac-form{display:grid}.reac-form button{padding:13px}.reac-results-head{display:block}.reac-results-sub{margin-top:6px}.reac-bubble{max-width:88%}}.reac-prices{display:grid;gap:6px;margin:6px 0}.reac-price-line{display:flex;flex-direction:column;gap:1px}.reac-price-line small{font-size:9px;letter-spacing:.08em;color:var(--muted);font-weight:800}.reac-price-line strong{font-size:17px;line-height:1.2}.reac-price-line+ .reac-price-line{padding-top:6px;border-top:1px solid var(--line)}
.reac-card{position:relative}.reac-concierge-label{position:absolute;z-index:3;top:10px;left:10px;background:#062f4f;color:#fff;border-radius:999px;padding:6px 9px;font-size:9px;font-weight:900;letter-spacing:.07em}.reac-why{font-size:10px;line-height:1.45;color:var(--muted);margin:8px 0;padding-top:7px;border-top:1px solid var(--line)}.reac-why strong{color:var(--ink)}

/* v0.2.1 concierge card polish */
.reac-concierge-label{top:10px;left:10px;max-width:58%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.reac-score{top:10px!important;right:10px!important;left:auto!important}
.reac-card .reac-thumb{position:relative}
.reac-why{min-height:34px;font-size:10px;line-height:1.45}
@media(max-width:767px){
  .reac-concierge-label{font-size:8px;padding:5px 7px;max-width:55%}
}

#reac-reset-memory{border-style:dashed!important}

.reac-lead-preview{background:#f3f7fa;border:1px solid #dbe6ee;border-radius:12px;padding:12px 14px;margin:0 0 14px;color:#0b3049;line-height:1.5}
.reac-lead-preview small{color:#5c7180}
#reac-lead-form select{width:100%;box-sizing:border-box;border:1px solid #d7e2e9;border-radius:10px;padding:12px;background:#fff;margin-bottom:10px}
.reac-consent{display:flex;gap:8px;align-items:flex-start;font-size:12px;line-height:1.4;color:#526977;margin:6px 0 14px}
.reac-consent input{margin-top:2px}
.reac-hp{position:absolute!important;left:-99999px!important;width:1px!important;height:1px!important;opacity:0!important}

.reac-value-ribbon{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#0b2940;color:#fff}
.reac-value-ribbon>div{padding:15px 18px;border-right:1px solid rgba(255,255,255,.12)}
.reac-value-ribbon>div:last-child{border-right:0}
.reac-value-ribbon strong{display:block;font-size:13px;line-height:1.2}
.reac-value-ribbon span{display:block;margin-top:4px;font-size:10px;opacity:.76;line-height:1.35}
.reac-shell{box-shadow:0 18px 55px rgba(10,37,56,.10)}
.reac-header{background:linear-gradient(135deg,#fbfdff 0%,#f3f8fb 100%)}
.reac-card{transition:transform .18s ease,box-shadow .18s ease}
.reac-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(10,37,56,.09)}
.reac-lead-btn{box-shadow:0 8px 18px rgba(11,41,64,.12)}
@media(max-width:900px){.reac-value-ribbon{grid-template-columns:repeat(2,minmax(0,1fr))}.reac-value-ribbon>div:nth-child(2){border-right:0}}
@media(max-width:560px){.reac-value-ribbon{grid-template-columns:1fr}.reac-value-ribbon>div{border-right:0;border-bottom:1px solid rgba(255,255,255,.12)}.reac-value-ribbon>div:last-child{border-bottom:0}}

/* v0.7 Final Demo Polish */
.reac-header{position:relative;overflow:hidden}
.reac-header:after{content:"";position:absolute;width:220px;height:220px;border-radius:50%;right:-90px;top:-120px;background:rgba(10,163,232,.06);pointer-events:none}
.reac-kicker{position:relative;z-index:1}
.reac-badge{position:relative;z-index:1;color:var(--ink);font-weight:800;box-shadow:0 6px 18px rgba(11,41,64,.05)}
.reac-value-ribbon strong{font-size:14px}.reac-value-ribbon span{font-size:11px}
.reac-side-title:after{content:"Buyer profile";display:block;font-size:10px;font-weight:500;color:var(--muted);margin-top:3px}
.reac-note{padding-top:4px;line-height:1.55}
.reac-results-head h3{letter-spacing:-.02em}
.reac-card-actions a,.reac-card-actions button{min-height:40px;display:flex;align-items:center;justify-content:center}
#reac-lead-status{padding-top:3px}
.reac-consent{font-size:12px;line-height:1.45;color:var(--muted)}

/* v0.8.0 Final Demo Build — presentation polish only */
.reac-app{max-width:1560px;margin-top:24px;margin-bottom:34px;padding:0 12px}
.reac-shell{border-radius:22px;box-shadow:0 22px 65px rgba(10,37,56,.11)}
.reac-header{padding:38px 42px 30px}
.reac-header h2{max-width:760px;font-size:36px;letter-spacing:-.025em}
.reac-header p{font-size:14px;line-height:1.65}
.reac-badge{background:rgba(255,255,255,.9);padding:10px 14px}
.reac-layout{grid-template-columns:minmax(0,1fr) 320px}
.reac-chat{padding:30px 34px}
.reac-side{padding:30px}
.reac-messages{height:250px;min-height:250px}
.reac-bubble{box-shadow:0 4px 14px rgba(11,41,64,.035)}
.reac-quick{gap:9px;margin-top:12px;margin-bottom:16px}
.reac-quick button{padding:9px 12px;transition:border-color .15s ease,transform .15s ease,box-shadow .15s ease}
.reac-quick button:hover{border-color:#a9c8d9;transform:translateY(-1px);box-shadow:0 5px 14px rgba(10,37,56,.06)}
.reac-form textarea{min-height:64px;background:#fff;box-shadow:inset 0 0 0 1px rgba(10,163,232,.02)}
.reac-form textarea:focus{outline:0;border-color:#79bfdc;box-shadow:0 0 0 3px rgba(10,163,232,.09)}
.reac-form>button{min-width:96px}
.reac-note{font-size:10px;letter-spacing:.01em}
.reac-side-title{font-size:16px}
.reac-lead-btn{min-height:48px}
@media(max-width:900px){.reac-layout{grid-template-columns:1fr}.reac-side{border-left:0;border-top:1px solid var(--line)}.reac-messages{height:230px;min-height:230px}}
@media(max-width:560px){.reac-app{padding:0 6px;margin-top:14px}.reac-shell{border-radius:16px}.reac-header{padding:24px 20px 22px}.reac-header h2{font-size:28px}.reac-chat,.reac-side,.reac-results{padding:20px 16px}.reac-messages{height:220px;min-height:220px}.reac-quick{gap:7px}.reac-quick button{font-size:11px;padding:8px 10px}.reac-form textarea{min-height:76px}.reac-modal{padding:12px}.reac-modal-card{padding:24px 18px}.reac-card-actions{flex-direction:column}}

/* v0.9.0 Smart + Voice Concierge */
.reac-input-wrap{position:relative;display:flex;flex:1}.reac-input-wrap textarea{width:100%;padding-right:54px}.reac-mic{position:absolute;right:9px;bottom:9px;width:38px;height:38px;border:1px solid var(--line)!important;border-radius:50%!important;background:#fff!important;color:var(--ink)!important;padding:0!important;display:grid;place-items:center;font-size:17px;box-shadow:0 4px 12px rgba(11,41,64,.08)}.reac-mic.is-listening{animation:reacPulse 1s infinite;background:#eef8fc!important}.reac-mic:disabled{opacity:.4;cursor:not-allowed}@keyframes reacPulse{0%,100%{box-shadow:0 0 0 0 rgba(10,163,232,.2)}50%{box-shadow:0 0 0 8px rgba(10,163,232,.08)}}
.reac-voicebar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-top:8px;font-size:10px;color:var(--muted)}.reac-voicebar label{display:flex;align-items:center;gap:6px;cursor:pointer}.reac-voicebar input{accent-color:var(--ink)}
.reac-smart-actions{display:grid;gap:7px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line)}.reac-smart-actions:empty{display:none}.reac-smart-actions small{font-size:9px;letter-spacing:.09em;color:var(--muted);font-weight:800}.reac-smart-actions button{width:100%;text-align:left;border:1px solid var(--line);background:#fff;border-radius:10px;padding:9px 10px;font-size:11px;font-weight:700;color:var(--ink);cursor:pointer}.reac-smart-actions button:hover{background:var(--soft)}
.reac-shortlist-box{display:grid;gap:5px;margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff}.reac-shortlist-box strong{font-size:12px}.reac-shortlist-box span{font-size:10px;line-height:1.5;color:var(--muted)}
.reac-card-actions{flex-wrap:wrap}.reac-card-actions .reac-shortlist-card{flex-basis:100%;background:var(--soft);border:1px solid var(--line)}
@media(max-width:760px){.reac-voicebar{align-items:flex-start;flex-direction:column}.reac-input-wrap{width:100%}.reac-form{gap:8px}}

/* v0.9.1 voice language guard */
.reac-voice-lang-label{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}
#reac-voice-lang{border:1px solid #d6e1e8;border-radius:8px;background:#fff;color:#0b2f47;padding:3px 24px 3px 7px;font-size:12px;line-height:1.2}

/* v0.10 Smart Intelligence Layer */
.reac-intelligence{display:grid;gap:7px;margin-top:14px;padding:12px;border:1px solid var(--line);border-radius:12px;background:linear-gradient(180deg,#fff,#f8fbfd)}
.reac-intelligence:empty{display:none}
.reac-intelligence>small{font-size:9px;letter-spacing:.09em;color:var(--muted);font-weight:800;margin-bottom:1px}
.reac-intel-row{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:7px 0;border-top:1px solid #e7eef3}
.reac-intel-row:first-of-type{border-top:0}
.reac-intel-row span{font-size:10px;color:var(--muted)}
.reac-intel-row strong{font-size:11px;color:var(--ink);text-align:right}
.reac-smart-actions button:first-of-type{border-color:#b8d9e8;background:#f7fcfe}


/* v0.12.1 Smart Selection & Compare Visual State */
.reac-head-context{font-size:.62em;font-weight:700;color:var(--accent);white-space:nowrap}
.reac-card-selected{border-color:#0b6f9f;box-shadow:0 14px 34px rgba(11,41,64,.16);transform:translateY(-3px)}
.reac-card-selected:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgba(11,41,64,.18)}
.reac-selection-active .reac-card-context{opacity:.68}
.reac-selection-active .reac-card-context:hover{opacity:1}
.reac-ai-focus-label{position:absolute;z-index:5;left:10px;top:42px;background:#fff;color:var(--ink);border:1px solid rgba(11,41,64,.16);border-radius:999px;padding:6px 9px;font-size:9px;font-weight:900;letter-spacing:.06em;box-shadow:0 6px 16px rgba(11,41,64,.12)}
@media(max-width:760px){.reac-head-context{display:block;margin-top:5px;white-space:normal}.reac-selection-active .reac-card-context{opacity:.78}}


/* v0.13.5 Final AI Pick visual state — presentation only */
.reac-final-pick-state .reac-card-selected{
  transform: translateY(-3px);
  box-shadow: 0 16px 34px rgba(10,45,69,.18);
  opacity: 1;
}
.reac-final-pick-state .reac-card-context{
  opacity: .56;
  filter: saturate(.72);
}
.reac-final-pick-state .reac-card-selected .reac-ai-focus-label{
  font-weight: 800;
  letter-spacing: .04em;
}
@media (max-width: 767px){
  .reac-final-pick-state .reac-card-context{opacity:.68;}
}


/* v0.13.6 Results-First UX Layout — layout only */
.reac-layout{
  grid-template-columns:minmax(0,1fr) 320px;
  grid-template-areas:
    "chat side"
    "results side";
  align-items:start;
}
.reac-chat{grid-area:chat;}
.reac-side{
  grid-area:side;
  align-self:stretch;
}
.reac-results{
  grid-area:results;
  border-top:1px solid var(--line);
  border-right:1px solid var(--line);
  padding:28px 34px 34px;
}
.reac-results:empty{display:none;}
@media(max-width:900px){
  .reac-layout{
    grid-template-columns:1fr;
    grid-template-areas:
      "chat"
      "results"
      "side";
  }
  .reac-results{
    border-right:0;
    padding:24px 20px 28px;
  }
  .reac-side{
    border-left:0;
    border-top:1px solid var(--line);
  }
}
@media(max-width:560px){
  .reac-results{padding:22px 16px 26px;}
}


/* v0.13.7 AI Entry Experience */
.reac-ai-menu-item>a{font-weight:800!important}
.reac-ai-menu-spark{display:inline-block;margin-right:5px;font-size:.9em}

.reac-entry{position:fixed;right:22px;bottom:22px;z-index:99997;font-family:inherit}
.reac-entry-launcher{
  display:flex;align-items:center;gap:10px;border:0;border-radius:999px;
  background:#082d49;color:#fff;padding:9px 15px 9px 9px;cursor:pointer;
  box-shadow:0 14px 34px rgba(5,34,55,.25);transition:transform .18s ease,box-shadow .18s ease;
}
.reac-entry-launcher:hover{transform:translateY(-2px);box-shadow:0 18px 40px rgba(5,34,55,.3)}
.reac-entry-orb{
  width:42px;height:42px;border-radius:50%;display:grid;place-items:center;
  background:linear-gradient(145deg,#fff,#dceff6);color:#082d49;font-size:20px;font-weight:900;
}
.reac-entry-launcher-text{display:flex;flex-direction:column;text-align:left;line-height:1.15}
.reac-entry-launcher-text strong{font-size:13px;letter-spacing:.01em}
.reac-entry-launcher-text small{font-size:10px;opacity:.72;margin-top:3px}

.reac-entry-panel{
  position:absolute;right:0;bottom:64px;width:min(370px,calc(100vw - 32px));
  background:#fff;border:1px solid rgba(8,45,73,.12);border-radius:20px;padding:24px;
  box-shadow:0 24px 60px rgba(5,34,55,.22);color:#0b2940;
}
.reac-entry-panel[hidden]{display:none!important}
.reac-entry-close{
  position:absolute;right:13px;top:11px;width:32px;height:32px;border:0;border-radius:50%;
  background:#f2f6f8;color:#0b2940;font-size:20px;cursor:pointer;
}
.reac-entry-mark{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;background:#082d49;color:#fff;font-size:19px;margin-bottom:14px}
.reac-entry-kicker{font-size:10px;font-weight:900;letter-spacing:.14em;color:#5d8095;margin-bottom:5px}
.reac-entry-panel h3{font-size:22px;line-height:1.2;margin:0 34px 8px 0;color:#0b2940}
.reac-entry-panel>p{font-size:13px;line-height:1.55;color:#60798a;margin:0 0 17px}
.reac-entry-options{display:grid;gap:8px}
.reac-entry-options a{
  display:flex;gap:10px;align-items:center;text-decoration:none!important;color:#0b2940!important;
  border:1px solid #e0e9ee;border-radius:13px;padding:11px 12px;background:#fff;
}
.reac-entry-options a:hover{border-color:#9ac8d8;background:#f8fbfc}
.reac-entry-options span{display:flex;flex-direction:column}
.reac-entry-options strong{font-size:12px}
.reac-entry-options small{font-size:10px;color:#78909e;margin-top:2px}
.reac-entry-primary{
  display:flex!important;justify-content:space-between;align-items:center;margin-top:13px;padding:13px 15px;
  border-radius:13px;background:#082d49;color:#fff!important;text-decoration:none!important;font-weight:800;font-size:12px;
}

.reac-home-ai-cta{
  max-width:1560px;margin:28px auto;padding:34px 38px;border-radius:22px;
  background:linear-gradient(135deg,#082d49 0%,#0d496a 100%);color:#fff;
  display:flex;align-items:center;justify-content:space-between;gap:30px;
  box-shadow:0 18px 48px rgba(5,34,55,.15);
}
.reac-home-ai-kicker{font-size:10px;font-weight:900;letter-spacing:.15em;opacity:.68}
.reac-home-ai-cta h2{font-size:30px;line-height:1.18;margin:7px 0 8px;color:#fff}
.reac-home-ai-cta p{max-width:720px;font-size:13px;line-height:1.6;margin:0;color:rgba(255,255,255,.78)}
.reac-home-ai-example{display:inline-block;margin-top:14px;padding:9px 12px;border:1px solid rgba(255,255,255,.18);border-radius:999px;font-size:11px;color:rgba(255,255,255,.85)}
.reac-home-ai-button{
  flex:0 0 auto;display:inline-flex;align-items:center;gap:8px;text-decoration:none!important;
  background:#fff;color:#082d49!important;border-radius:999px;padding:14px 20px;font-size:13px;font-weight:900;
}
@media(max-width:760px){
  .reac-entry{right:14px;bottom:14px}
  .reac-entry-launcher{padding:8px}
  .reac-entry-launcher-text{display:none}
  .reac-entry-orb{width:46px;height:46px}
  .reac-entry-panel{right:0;bottom:62px;padding:21px;width:min(350px,calc(100vw - 28px))}
  .reac-home-ai-cta{margin:20px 10px;padding:26px 22px;display:block}
  .reac-home-ai-cta h2{font-size:25px}
  .reac-home-ai-button{margin-top:18px;justify-content:center;width:100%;box-sizing:border-box}
}


/* v0.13.8 Floating AI Polish */
.reac-entry{
  right:22px;
  bottom:86px; /* lifted above common Back-to-Top controls */
}
.reac-entry-launcher{
  background:linear-gradient(135deg,#0d63ff 0%,#7a3cff 58%,#ff4fa3 100%);
  box-shadow:
    0 16px 38px rgba(50,64,220,.34),
    0 0 0 1px rgba(255,255,255,.16) inset;
}
.reac-entry-launcher:hover{
  transform:translateY(-3px);
  box-shadow:
    0 20px 44px rgba(50,64,220,.42),
    0 0 0 1px rgba(255,255,255,.18) inset;
}
.reac-entry-orb{
  background:#fff;
  color:#4b35d6;
  box-shadow:0 4px 14px rgba(0,0,0,.12);
}
.reac-entry-launcher-text strong{
  font-size:13px;
  font-weight:900;
}
.reac-entry-launcher-text small{
  opacity:.86;
}
@media(max-width:760px){
  .reac-entry{
    right:14px;
    bottom:78px;
  }
}


/* v0.13.9 Top Menu + Houzez Search Polish */

/* User-created top-menu link: premium but still part of the navigation. */
header nav a[href*="/ai-property-concierge"],
.header-main-wrap a[href*="/ai-property-concierge"],
.navbar a[href*="/ai-property-concierge"],
.main-nav a[href*="/ai-property-concierge"]{
  font-weight:700 !important;
  color:#5536d9 !important;
  white-space:nowrap;
  transition:color .18s ease, transform .18s ease, opacity .18s ease;
}
header nav a[href*="/ai-property-concierge"]::before,
.header-main-wrap a[href*="/ai-property-concierge"]::before,
.navbar a[href*="/ai-property-concierge"]::before,
.main-nav a[href*="/ai-property-concierge"]::before{
  content:"✦";
  display:inline-block;
  margin-right:6px;
  color:#7a3cff;
  font-size:.9em;
  line-height:1;
  transform:translateY(-1px);
}
header nav a[href*="/ai-property-concierge"]:hover,
.header-main-wrap a[href*="/ai-property-concierge"]:hover,
.navbar a[href*="/ai-property-concierge"]:hover,
.main-nav a[href*="/ai-property-concierge"]:hover{
  color:#8a36df !important;
}

/* If the Navigation Label already starts with ✦, don't visually duplicate it. */
header nav a[href*="/ai-property-concierge"].reac-no-auto-spark::before{content:none}

/* Hide Houzez legacy/advanced property search only on the dedicated AI page.
   Multiple Houzez selectors are included for theme-version compatibility. */
.reac-ai-concierge-page .advanced-search-nav,
.reac-ai-concierge-page .advanced-search-wrap,
.reac-ai-concierge-page .advanced-search-mobile,
.reac-ai-concierge-page .advanced-search-v2,
.reac-ai-concierge-page .advanced-search-v3,
.reac-ai-concierge-page .advanced-search-half-map,
.reac-ai-concierge-page .search-expandable-wrap,
.reac-ai-concierge-page .search-expandable,
.reac-ai-concierge-page .houzez-search-form-js,
.reac-ai-concierge-page #houzez-search-form-js,
.reac-ai-concierge-page .property-search-wrap,
.reac-ai-concierge-page .mobile-search-nav{
  display:none !important;
}

/* Remove leftover spacing some Houzez headers reserve for search bars. */
.reac-ai-concierge-page .header-search-wrap,
.reac-ai-concierge-page .search-banner-wrap{
  display:none !important;
}


/* v0.14.0 Richmak AI Welcome Experience */
html.reac-welcome-open,
body.reac-welcome-open{overflow:hidden!important}

.reac-welcome{
  position:fixed;inset:0;z-index:100000;
  display:grid;place-items:center;padding:22px;
  font-family:inherit;
}
.reac-welcome[hidden]{display:none!important}
.reac-welcome-backdrop{
  position:absolute;inset:0;background:rgba(2,9,16,.82);
  backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);
}
.reac-welcome-card{
  position:relative;z-index:1;width:min(560px,100%);
  max-height:calc(100vh - 44px);overflow:auto;
  border-radius:26px;padding:31px 32px 25px;
  color:#102b40;background:
    radial-gradient(circle at 88% 0%,rgba(122,60,255,.13),transparent 31%),
    radial-gradient(circle at 0% 100%,rgba(13,99,255,.09),transparent 30%),
    #fff;
  border:1px solid rgba(255,255,255,.35);
  box-shadow:0 30px 90px rgba(0,0,0,.46);
  animation:reacWelcomeIn .28s ease-out both;
}
.reac-welcome-closing .reac-welcome-card{animation:reacWelcomeOut .18s ease-in both}
.reac-welcome-closing .reac-welcome-backdrop{opacity:0;transition:opacity .18s ease}
@keyframes reacWelcomeIn{from{opacity:0;transform:translateY(14px) scale(.975)}to{opacity:1;transform:none}}
@keyframes reacWelcomeOut{to{opacity:0;transform:translateY(8px) scale(.985)}}

.reac-welcome-close{
  position:absolute;right:17px;top:16px;width:36px;height:36px;
  display:grid;place-items:center;border:0;border-radius:50%;
  background:#eef3f6;color:#486274;font-size:22px;line-height:1;cursor:pointer;
}
.reac-welcome-brand{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:900;letter-spacing:.13em;color:#173b55;margin-bottom:20px}
.reac-welcome-orb{
  width:37px;height:37px;display:grid;place-items:center;border-radius:12px;
  background:linear-gradient(135deg,#0d63ff,#7a3cff 60%,#ff4fa3);
  color:#fff;font-size:17px;box-shadow:0 8px 20px rgba(89,62,221,.24);
}
.reac-welcome-kicker{font-size:10px;font-weight:900;letter-spacing:.18em;color:#6d56dd;margin-bottom:7px}
.reac-welcome-card h2{margin:0 44px 10px 0;font-size:32px;line-height:1.12;letter-spacing:-.025em;color:#0a2940}
.reac-welcome-lead{margin:0;color:#607b8d;font-size:13px;line-height:1.65;max-width:490px}
.reac-welcome-example{
  margin:18px 0 16px;padding:11px 14px;border-radius:13px;
  background:#f5f7fb;border:1px solid #e6e8f2;display:flex;gap:8px;flex-wrap:wrap;
  font-size:11px;color:#718696;
}
.reac-welcome-example span{font-weight:800;color:#7a3cff}
.reac-welcome-example strong{font-weight:700;color:#304c60}
.reac-welcome-choices{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.reac-welcome-choices a{
  min-width:0;padding:14px 12px;border-radius:15px;border:1px solid #e1e9ef;
  background:rgba(255,255,255,.86);text-decoration:none!important;color:#12344b!important;
  transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease;
}
.reac-welcome-choices a:hover{transform:translateY(-2px);border-color:#b8b2ef;box-shadow:0 8px 20px rgba(37,55,90,.08)}
.reac-welcome-choice-icon{
  width:31px;height:31px;display:grid!important;place-items:center;border-radius:9px;
  background:#eef0ff;color:#6048df;font-size:15px;margin-bottom:9px;
}
.reac-welcome-choices a>span:last-child{display:flex;flex-direction:column}
.reac-welcome-choices strong{font-size:12px;line-height:1.3}
.reac-welcome-choices small{font-size:9px;line-height:1.45;color:#78909f;margin-top:4px}
.reac-welcome-primary{
  margin-top:14px;padding:14px 17px;border-radius:14px;
  display:flex!important;align-items:center;gap:9px;text-decoration:none!important;
  background:linear-gradient(135deg,#0d63ff 0%,#6b43e8 58%,#d849a6 100%);
  color:#fff!important;font-size:13px;font-weight:900;
  box-shadow:0 12px 28px rgba(75,66,210,.23);
}
.reac-welcome-primary b{margin-left:auto;font-size:17px}
.reac-welcome-continue{
  display:block;width:100%;border:0;background:transparent;color:#718696;
  font-size:11px;font-weight:700;padding:12px 8px 4px;cursor:pointer;
}
.reac-welcome-continue:hover{color:#173b55}
.reac-welcome-foot{text-align:center;color:#9aaab5;font-size:9px;margin-top:8px;letter-spacing:.02em}

@media(max-width:620px){
  .reac-welcome{padding:14px}
  .reac-welcome-card{padding:25px 20px 20px;border-radius:22px;max-height:calc(100vh - 28px)}
  .reac-welcome-brand{margin-bottom:16px}
  .reac-welcome-card h2{font-size:27px;margin-right:30px}
  .reac-welcome-choices{grid-template-columns:1fr}
  .reac-welcome-choices a{display:flex;align-items:center;gap:11px;padding:11px 12px}
  .reac-welcome-choice-icon{flex:0 0 31px;margin:0}
  .reac-welcome-example{margin:15px 0 13px}
}


/* v0.14.1 Instant AI Search */
.reac-welcome-search{margin:18px 0 16px}
.reac-welcome-search>label{
  display:block;margin:0 0 7px;font-size:10px;font-weight:900;
  letter-spacing:.06em;color:#6d56dd;
}
.reac-welcome-searchbox{
  min-height:48px;display:flex;align-items:center;gap:8px;
  border:1px solid #dfe5ef;border-radius:14px;padding:5px 6px 5px 12px;
  background:#f7f9fc;box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
}
.reac-welcome-searchbox:focus-within{
  border-color:#8b79ea;background:#fff;
  box-shadow:0 0 0 3px rgba(109,86,221,.10);
}
.reac-welcome-search-icon{font-size:19px;color:#7962df;line-height:1}
.reac-welcome-searchbox input{
  flex:1;min-width:0;border:0!important;outline:0!important;background:transparent!important;
  box-shadow:none!important;padding:7px 2px!important;margin:0!important;
  color:#263f52!important;font-size:11px!important;font-weight:650;
}
.reac-welcome-searchbox input::placeholder{color:#7890a1;opacity:1}
.reac-welcome-mic,.reac-welcome-go{
  flex:0 0 35px;width:35px;height:35px;border:0;border-radius:10px;
  display:grid;place-items:center;cursor:pointer;
}
.reac-welcome-mic{
  background:#edf0ff;color:#684cdf;font-size:9px;
}
.reac-welcome-mic::after{content:"";width:8px;height:12px;border:2px solid currentColor;border-radius:6px;position:absolute}
.reac-welcome-mic{position:relative;color:transparent}
.reac-welcome-mic::before{content:"";position:absolute;width:12px;height:7px;border:2px solid #684cdf;border-top:0;border-radius:0 0 8px 8px;bottom:7px}
.reac-welcome-mic.is-listening{background:#ffe8f4;animation:reacMicPulse 1s ease-in-out infinite}
@keyframes reacMicPulse{50%{transform:scale(1.08)}}
.reac-welcome-go{
  background:linear-gradient(135deg,#0d63ff,#7044e8 65%,#d849a6);
  color:#fff;font-size:17px;font-weight:800;
}
.reac-welcome-voice-status{min-height:12px;margin:5px 3px 0;font-size:9px;color:#728b9c}
@media(max-width:620px){
  .reac-welcome-searchbox{min-height:50px}
  .reac-welcome-searchbox input{font-size:11px!important}
}


/* v0.14.2 Floating intent handoff + readability polish */
.reac-entry-launcher-text small{
  font-size:11px;
}
.reac-entry-panel>p{
  font-size:14px;
}
.reac-entry-options strong{
  font-size:13px;
}
.reac-entry-options small{
  font-size:11px;
  line-height:1.45;
}
.reac-entry-primary{
  font-size:13px;
}


/* v0.14.3 Clear welcome microphone icon */
.reac-welcome-mic{
  position:relative;
  color:#684cdf !important;
}
.reac-welcome-mic::before,
.reac-welcome-mic::after{
  content:none !important;
  display:none !important;
}
.reac-welcome-mic svg{
  width:19px;
  height:19px;
  display:block;
  fill:currentColor;
}
.reac-welcome-mic.is-listening svg{
  transform:scale(1.05);
}


/* v0.14.4 Dynamic conversational quick replies */
.reac-conversation-choices{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;padding-top:11px;border-top:1px solid rgba(15,53,78,.08)}
.reac-conversation-choices button{appearance:none;border:1px solid #d7e2ea;background:#fff;color:#17384f;border-radius:999px;padding:8px 11px;font:inherit;font-size:11px;font-weight:750;line-height:1.2;cursor:pointer;transition:transform .15s ease,border-color .15s ease,background .15s ease}
.reac-conversation-choices button:hover{transform:translateY(-1px);border-color:#8f7ce9;background:#f7f5ff}
.reac-conversation-choices button.is-selected{border-color:#684cdf;background:#684cdf;color:#fff}
.reac-conversation-choices button:disabled:not(.is-selected){opacity:.42;cursor:default;transform:none}
.reac-choice-hint{flex-basis:100%;font-size:9px;color:#8aa0af;margin:1px 3px 0}
@media(max-width:620px){.reac-conversation-choices{display:grid;grid-template-columns:1fr 1fr}.reac-conversation-choices button{text-align:left;padding:9px 10px}.reac-choice-hint{grid-column:1/-1}}


/* v0.14.5 Capability cards + Voice Reply control polish */

/* Turn the navy capability ribbon into four clearly separated status cards. */
.reac-capabilities{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:8px !important;
  background:transparent !important;
  padding:0 !important;
  border-radius:0 !important;
  overflow:visible !important;
}
.reac-capabilities > div{
  min-width:0;
  min-height:72px;
  display:flex !important;
  flex-direction:column;
  justify-content:center;
  align-items:center;
  text-align:center;
  padding:12px 10px !important;
  border-radius:13px;
  color:#fff;
  box-shadow:0 8px 20px rgba(11,43,66,.10);
}
.reac-capabilities > div:nth-child(1){background:linear-gradient(135deg,#0b4267,#126b8e)}
.reac-capabilities > div:nth-child(2){background:linear-gradient(135deg,#3446a8,#6257cf)}
.reac-capabilities > div:nth-child(3){background:linear-gradient(135deg,#16626d,#168a88)}
.reac-capabilities > div:nth-child(4){background:linear-gradient(135deg,#69428f,#9b4d91)}
.reac-capabilities > div strong,
.reac-capabilities > div b{
  display:block;
  width:100%;
  text-align:center;
}
.reac-capabilities > div span,
.reac-capabilities > div small{
  display:block;
  width:100%;
  text-align:center;
}

/* Make Voice Reply look like an intentional user control, not a tiny checkbox. */
.reac-voice-reply-control{
  display:inline-flex !important;
  align-items:center;
  gap:9px;
  padding:8px 11px !important;
  border:1px solid #cfdce5;
  border-radius:12px;
  background:#f7fbfd;
  cursor:pointer;
  margin-left:4px;
}
.reac-voice-reply-control input{
  width:18px !important;
  height:18px !important;
  min-width:18px;
  accent-color:#684cdf;
  margin:0 !important;
}
.reac-voice-reply-copy{
  display:flex;
  flex-direction:column;
  line-height:1.15;
}
.reac-voice-reply-copy strong{
  font-size:13px;
  font-weight:850;
  color:#17384f;
}
.reac-voice-reply-copy small{
  margin-top:3px;
  font-size:9px;
  font-weight:600;
  color:#78909f;
  white-space:nowrap;
}
.reac-voice-reply-control:has(input:checked){
  border-color:#a99bea;
  background:#f6f3ff;
  box-shadow:0 0 0 2px rgba(104,76,223,.06);
}

@media(max-width:900px){
  .reac-capabilities{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:620px){
  .reac-capabilities{grid-template-columns:1fr 1fr !important;gap:6px !important}
  .reac-capabilities > div{min-height:66px;padding:10px 7px !important}
  .reac-voice-reply-control{width:100%;box-sizing:border-box;margin:7px 0 0}
  .reac-voice-reply-copy small{white-space:normal}
}


/* v0.14.6 — Independent capability cards.
   Robust selectors intentionally cover the existing top status strip markup. */
.reac-stats,
.reac-statbar,
.reac-statusbar,
.reac-capabilities,
.reac-kpis,
.reac-proofbar,
.reac-proof-bar{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:10px !important;
  background:transparent !important;
  padding:10px 12px !important;
  border:0 !important;
  overflow:visible !important;
}

/* Existing build uses the four top strip items; target direct children safely. */
.reac-stats > *,
.reac-statbar > *,
.reac-statusbar > *,
.reac-capabilities > *,
.reac-kpis > *,
.reac-proofbar > *,
.reac-proof-bar > *{
  min-width:0 !important;
  min-height:72px !important;
  box-sizing:border-box !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding:12px 14px !important;
  border:0 !important;
  border-radius:16px !important;
  color:#fff !important;
  box-shadow:0 8px 20px rgba(11,43,66,.11) !important;
}
.reac-stats > *:nth-child(1),.reac-statbar > *:nth-child(1),.reac-statusbar > *:nth-child(1),.reac-capabilities > *:nth-child(1),.reac-kpis > *:nth-child(1),.reac-proofbar > *:nth-child(1),.reac-proof-bar > *:nth-child(1){background:linear-gradient(135deg,#0c4163,#15799a) !important}
.reac-stats > *:nth-child(2),.reac-statbar > *:nth-child(2),.reac-statusbar > *:nth-child(2),.reac-capabilities > *:nth-child(2),.reac-kpis > *:nth-child(2),.reac-proofbar > *:nth-child(2),.reac-proof-bar > *:nth-child(2){background:linear-gradient(135deg,#3348a4,#6d59d6) !important}
.reac-stats > *:nth-child(3),.reac-statbar > *:nth-child(3),.reac-statusbar > *:nth-child(3),.reac-capabilities > *:nth-child(3),.reac-kpis > *:nth-child(3),.reac-proofbar > *:nth-child(3),.reac-proof-bar > *:nth-child(3){background:linear-gradient(135deg,#12616b,#19958e) !important}
.reac-stats > *:nth-child(4),.reac-statbar > *:nth-child(4),.reac-statusbar > *:nth-child(4),.reac-capabilities > *:nth-child(4),.reac-kpis > *:nth-child(4),.reac-proofbar > *:nth-child(4),.reac-proof-bar > *:nth-child(4){background:linear-gradient(135deg,#653f91,#a54f94) !important}

.reac-stats > * > *, .reac-statbar > * > *, .reac-statusbar > * > *,
.reac-capabilities > * > *, .reac-kpis > * > *, .reac-proofbar > * > *,
.reac-proof-bar > * > *{
  width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  text-align:center !important;
  justify-content:center !important;
}
@media(max-width:900px){
  .reac-stats,.reac-statbar,.reac-statusbar,.reac-capabilities,.reac-kpis,.reac-proofbar,.reac-proof-bar{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}


/* v0.14.7 — exact fix for actual top strip markup: .reac-value-ribbon */
.reac-value-ribbon{
  display:grid !important;
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  gap:12px !important;
  background:transparent !important;
  padding:12px 14px 14px !important;
  border:0 !important;
  overflow:visible !important;
}
.reac-value-ribbon > div{
  min-width:0 !important;
  min-height:78px !important;
  box-sizing:border-box !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  padding:13px 14px !important;
  border:0 !important;
  border-radius:18px !important;
  color:#fff !important;
  box-shadow:0 10px 24px rgba(11,43,66,.12) !important;
}
.reac-value-ribbon > div:nth-child(1){background:linear-gradient(135deg,#0b3e61 0%,#147d9e 100%) !important}
.reac-value-ribbon > div:nth-child(2){background:linear-gradient(135deg,#3347a6 0%,#6b5bd5 100%) !important}
.reac-value-ribbon > div:nth-child(3){background:linear-gradient(135deg,#14616d 0%,#15978c 100%) !important}
.reac-value-ribbon > div:nth-child(4){background:linear-gradient(135deg,#67408d 0%,#a04d93 100%) !important}
.reac-value-ribbon > div strong{
  display:block !important;
  width:100% !important;
  margin:0 !important;
  text-align:center !important;
  font-size:14px !important;
  line-height:1.25 !important;
  font-weight:800 !important;
  color:#fff !important;
}
.reac-value-ribbon > div span{
  display:block !important;
  width:100% !important;
  margin:5px 0 0 !important;
  text-align:center !important;
  font-size:10px !important;
  line-height:1.35 !important;
  color:rgba(255,255,255,.88) !important;
}
@media(max-width:900px){
  .reac-value-ribbon{grid-template-columns:repeat(2,minmax(0,1fr)) !important}
}
@media(max-width:560px){
  .reac-value-ribbon{gap:8px !important;padding:8px 10px 10px !important}
  .reac-value-ribbon > div{min-height:72px !important;border-radius:14px !important;padding:10px 8px !important}
  .reac-value-ribbon > div strong{font-size:12px !important}
  .reac-value-ribbon > div span{font-size:9px !important}
}


/* v0.14.8 — Capability card typography polish */
.reac-value-ribbon > div strong{
  font-size:17px !important;
  line-height:1.2 !important;
  font-weight:800 !important;
  letter-spacing:-0.01em !important;
}
.reac-value-ribbon > div span{
  margin-top:7px !important;
  font-size:12px !important;
  line-height:1.4 !important;
  font-weight:500 !important;
}
@media(max-width:900px){
  .reac-value-ribbon > div strong{font-size:16px !important}
  .reac-value-ribbon > div span{font-size:11px !important}
}
@media(max-width:560px){
  .reac-value-ribbon > div strong{font-size:14px !important}
  .reac-value-ribbon > div span{font-size:10px !important}
}


/* v0.14.9 — Quick Actions visual hierarchy */
.reac-quick-actions{margin:0 0 14px;padding:13px 14px 14px;border:1px solid #dfe4fb;border-radius:16px;background:linear-gradient(135deg,#f8f9ff 0%,#f4f8ff 100%)}
.reac-quick-actions-head{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:11px}
.reac-quick-actions-title{display:flex;flex-direction:column;min-width:0}
.reac-quick-actions-title strong{color:#4e46a8;font-size:11px;line-height:1.2;font-weight:850;letter-spacing:.07em}
.reac-quick-actions-title span{margin-top:3px;color:#788b9a;font-size:10px;line-height:1.35}
.reac-quick-actions .reac-quick{display:flex;flex-wrap:wrap;gap:8px;margin:0 !important}
.reac-quick-actions .reac-quick button{border:1px solid #cfd4f6 !important;background:#fff !important;color:#34366f !important;box-shadow:0 3px 9px rgba(73,70,150,.05)}
.reac-quick-actions .reac-quick button:hover{border-color:#8378df !important;background:#efedff !important;color:#4438a1 !important;transform:translateY(-1px)}
.reac-reset-wrap{flex:0 0 auto}
.reac-reset-wrap #reac-reset-memory{border:1px solid #efb6bc !important;background:#fff6f7 !important;color:#a93642 !important;border-radius:999px !important;padding:9px 13px !important;font-weight:750 !important;white-space:nowrap;box-shadow:none !important}
.reac-reset-wrap #reac-reset-memory::before{content:"↻ ";font-weight:900}
.reac-reset-wrap #reac-reset-memory:hover{border-color:#dc8e98 !important;background:#ffecef !important;color:#8f2732 !important}
@media(max-width:620px){
 .reac-quick-actions{padding:11px}
 .reac-quick-actions-head{align-items:flex-start}
 .reac-quick-actions-title span{font-size:9px}
 .reac-reset-wrap #reac-reset-memory{padding:8px 10px !important;font-size:10px !important}
 .reac-quick-actions .reac-quick{gap:6px}
}


/* v0.15.0 — Make the hero decision action discoverable without adding clutter */
.reac-quick-actions .reac-quick button[data-prompt="สรุปว่าผมควรเลือกตัวไหน"]{
  border-color:#a99bea !important;
  background:linear-gradient(135deg,#f6f2ff 0%,#eef4ff 100%) !important;
  color:#4c3ca6 !important;
  font-weight:800 !important;
}
.reac-quick-actions .reac-quick button[data-prompt="สรุปว่าผมควรเลือกตัวไหน"]:hover{
  border-color:#7563d6 !important;
  background:linear-gradient(135deg,#eee8ff 0%,#e7efff 100%) !important;
  color:#352b86 !important;
}


/* =========================================================
   v0.17.1 — Stable UI + Action Hub
   Built on the stable v0.16.9 layout/responsive system.
   ========================================================= */

/* Turn the old informational ribbon into real actions */
.reac-action-hub{
  gap:10px !important;
}
.reac-action-hub .reac-hub-card{
  appearance:none;
  -webkit-appearance:none;
  flex:1 1 0;
  min-width:0;
  min-height:82px;
  border:0;
  border-radius:14px;
  padding:13px 15px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  align-items:flex-start;
  text-align:left;
  cursor:pointer;
  text-decoration:none !important;
  color:#fff !important;
  font-family:inherit;
  transition:transform .18s ease, box-shadow .18s ease, filter .18s ease;
}
.reac-action-hub .reac-hub-card:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 22px rgba(8,45,70,.14);
  filter:brightness(1.03);
}
.reac-action-hub .reac-hub-card:focus-visible{
  outline:3px solid rgba(76,121,255,.28);
  outline-offset:2px;
}
.reac-action-hub .reac-hub-card strong{
  font-size:17px;
  line-height:1.1;
  color:#fff !important;
  margin:0 0 4px;
}
.reac-action-hub .reac-hub-card span{
  display:block;
  font-size:10px;
  line-height:1.25;
  color:rgba(255,255,255,.96) !important;
  margin:0;
}
.reac-action-hub .reac-hub-card small{
  display:block;
  font-size:8.5px;
  line-height:1.2;
  color:rgba(255,255,255,.72);
  margin-top:4px;
  font-weight:500;
}

/* Preserve the Richmak palette but make each action distinct */
.reac-action-hub .reac-hub-properties{background:linear-gradient(135deg,#07547a,#168eb0) !important}
.reac-action-hub .reac-hub-card:nth-child(2){background:linear-gradient(135deg,#3b4fc4,#6d57dc) !important}
.reac-action-hub .reac-hub-card:nth-child(3){background:linear-gradient(135deg,#08747d,#18a295) !important}
.reac-action-hub .reac-hub-invest{background:linear-gradient(135deg,#7b3b87,#a54f9c) !important}

/* Desktop keeps one clean row */
@media(min-width:901px){
  .reac-action-hub{
    display:grid !important;
    grid-template-columns:repeat(4,minmax(0,1fr));
    padding:14px 18px !important;
  }
}

/* Tablet and mobile: no horizontal overflow, always 2 x 2 */
@media(max-width:900px){
  .reac-action-hub{
    display:grid !important;
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:8px !important;
    overflow:visible !important;
    padding:10px !important;
  }
  .reac-action-hub .reac-hub-card{
    width:100%;
    min-width:0 !important;
    min-height:76px;
    padding:11px 12px;
    border-radius:13px;
  }
  .reac-action-hub .reac-hub-card strong{font-size:16px}
  .reac-action-hub .reac-hub-card span{font-size:9.5px}
  .reac-action-hub .reac-hub-card small{font-size:8px}
}

/* Very small phones: keep text readable and cards compact */
@media(max-width:420px){
  .reac-action-hub{gap:7px !important;padding:8px !important}
  .reac-action-hub .reac-hub-card{
    min-height:70px;
    padding:10px;
  }
  .reac-action-hub .reac-hub-card strong{font-size:15px}
  .reac-action-hub .reac-hub-card span{font-size:9px}
  .reac-action-hub .reac-hub-card small{display:none}
}


/* =========================================================
   v0.17.2 — Journey Isolation + Progressive Quick Actions
   ========================================================= */

/* Keep the stable Quick Actions box, but reduce visual noise by default. */
.reac-quick-actions .reac-quick button:nth-child(n+5){
  display:none;
}
.reac-quick-actions.is-expanded .reac-quick button:nth-child(n+5){
  display:inline-flex;
}
.reac-more-actions{
  display:inline-flex;
  align-items:center;
  gap:5px;
  margin:9px 0 0 2px;
  padding:3px 2px;
  border:0;
  background:transparent;
  color:#5b5fa0;
  font:inherit;
  font-size:10px;
  font-weight:750;
  cursor:pointer;
}
.reac-more-actions:hover{color:#3f43a3}
.reac-more-actions span{font-size:12px;line-height:1}

/* Mobile: keep first four as a horizontal compact strip; More expands into wrap. */
@media(max-width:900px){
  .reac-quick-actions .reac-quick{
    flex-wrap:nowrap !important;
    overflow-x:auto;
    scrollbar-width:none;
    padding-bottom:3px;
  }
  .reac-quick-actions .reac-quick::-webkit-scrollbar{display:none}
  .reac-quick-actions .reac-quick button{
    flex:0 0 auto;
    white-space:nowrap;
  }
  .reac-quick-actions.is-expanded .reac-quick{
    flex-wrap:wrap !important;
    overflow:visible !important;
  }
  .reac-more-actions{
    font-size:10.5px;
    margin-top:10px;
  }
}


/* =========================================================
   v0.17.5 — Mobile Containment Hotfix
   Fix only overflow/width issues; desktop and Brain untouched.
   ========================================================= */
@media(max-width:900px){

  /* Every major child must be allowed to shrink inside the viewport */
  .reac-shell,
  .reac-main,
  .reac-chat,
  .reac-chat-area,
  .reac-chat-scroll,
  .reac-quick-actions,
  .reac-composer,
  .reac-sidebar,
  .reac-profile,
  .reac-results,
  .reac-results-grid{
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  /* Conversation text: never extend beyond the phone */
  .reac-msg,
  .reac-msg > *,
  .reac-msg .reac-bubble,
  .reac-bubble{
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
    overflow-wrap:anywhere !important;
    word-break:break-word !important;
    white-space:normal !important;
  }

  /* Keep AI avatar + bubble within the available row width */
  .reac-msg{
    width:100% !important;
    overflow:hidden !important;
  }

  /* Quick actions: collapsed = horizontal strip contained by its own box.
     Expanded = wrap inside the box, never outside the viewport. */
  .reac-quick-actions{
    width:100% !important;
    overflow:hidden !important;
  }
  .reac-quick-actions .reac-quick{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    box-sizing:border-box !important;
  }
  .reac-quick-actions.is-expanded .reac-quick{
    display:flex !important;
    flex-wrap:wrap !important;
  }
  .reac-quick-actions.is-expanded .reac-quick button{
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
  }

  /* Composer: Search stays inside card and textarea can shrink */
  .reac-composer{
    width:100% !important;
    overflow:hidden !important;
  }
  .reac-composer textarea,
  .reac-composer input{
    min-width:0 !important;
    max-width:100% !important;
    box-sizing:border-box !important;
  }
  .reac-composer button{
    max-width:100% !important;
    box-sizing:border-box !important;
  }

  /* Bottom metadata / voice controls must wrap instead of forming one long row */
  .reac-input-meta,
  .reac-voice-row,
  .reac-voice-controls,
  .reac-data-note{
    min-width:0 !important;
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    box-sizing:border-box !important;
  }

  /* Sidebar / Buyer Profile becomes a normal mobile block */
  .reac-sidebar{
    width:100% !important;
    overflow:hidden !important;
  }
  .reac-sidebar button,
  .reac-sidebar a{
    max-width:100% !important;
    white-space:normal !important;
    overflow-wrap:anywhere !important;
    box-sizing:border-box !important;
  }
}

/* Extra safety for narrow Android screens */
@media(max-width:480px){
  .reac-shell{overflow-x:hidden !important}
  .reac-main{overflow-x:hidden !important}
  .reac-chat{overflow-x:hidden !important}
  .reac-sidebar{overflow-x:hidden !important}
}


/* =========================================================
   v0.17.7 — AI Entry Experience 2.0
   Homepage welcome + floating edge tab only. Brain/UI core locked.
   ========================================================= */

/* Welcome: less copy, more AI-first hierarchy */
.reac-welcome-card{
  width:min(520px,100%);
  padding:28px 29px 22px;
}
.reac-welcome-brand{margin-bottom:15px}
.reac-welcome-card h2{
  font-size:30px;
  margin-bottom:7px;
}
.reac-welcome-lead{
  font-size:12px;
  line-height:1.55;
}
.reac-welcome-search{margin:15px 0 13px}
.reac-welcome-choices a{
  padding:12px 11px;
  background:linear-gradient(180deg,#fff,#fafbff);
}
.reac-welcome-choices strong{font-size:13px}
.reac-welcome-primary{margin-top:11px}
.reac-welcome-foot{margin-top:5px}

/* Floating AI becomes an edge tab instead of another round chat bubble */
.reac-entry{
  right:0 !important;
  bottom:92px !important;
}
.reac-entry-launcher{
  min-width:176px;
  border-radius:16px 0 0 16px !important;
  padding:8px 13px 8px 8px !important;
  transform:translateX(112px);
  transition:transform .38s cubic-bezier(.2,.8,.2,1),box-shadow .2s ease !important;
  position:relative;
}
.reac-entry-launcher::before{
  content:"AI";
  position:absolute;
  left:-7px;
  top:-7px;
  min-width:22px;
  height:18px;
  padding:0 5px;
  display:grid;
  place-items:center;
  border-radius:999px;
  background:#fff;
  color:#5b43d7;
  box-shadow:0 4px 12px rgba(22,27,80,.16);
  font-size:8px;
  font-weight:900;
  letter-spacing:.04em;
}
.reac-entry-launcher:hover,
.reac-entry-launcher:focus-visible,
.reac-entry-launcher[aria-expanded="true"],
.reac-entry-launcher.is-peeking{
  transform:translateX(0) !important;
}
.reac-entry-orb{
  flex:0 0 42px;
  position:relative;
}
.reac-entry-orb::after{
  content:"";
  position:absolute;
  inset:-5px;
  border:1px solid rgba(255,255,255,.6);
  border-radius:50%;
  opacity:0;
}
.reac-entry-launcher.is-peeking .reac-entry-orb::after{
  animation:reacAiRing 1.15s ease-out 2;
}
@keyframes reacAiRing{
  0%{opacity:.8;transform:scale(.82)}
  100%{opacity:0;transform:scale(1.35)}
}
.reac-entry-panel{
  right:18px !important;
  bottom:64px !important;
  width:min(330px,calc(100vw - 32px)) !important;
  padding:21px !important;
  animation:reacEntryPanelIn .2s ease-out both;
}
@keyframes reacEntryPanelIn{
  from{opacity:0;transform:translateX(10px) translateY(5px)}
  to{opacity:1;transform:none}
}
.reac-entry-panel h3{font-size:20px;margin-bottom:5px}
.reac-entry-panel>p{font-size:11px;margin-bottom:13px}
.reac-entry-options a{padding:10px 11px}
.reac-entry-primary{margin-top:10px}

/* Respect users who disable motion */
@media(prefers-reduced-motion:reduce){
  .reac-entry-launcher,
  .reac-entry-panel,
  .reac-entry-orb::after{animation:none !important;transition:none !important}
}

/* Mobile: visible compact edge button; panel remains safely inside viewport */
@media(max-width:760px){
  .reac-welcome-card{
    padding:22px 17px 17px;
    max-height:calc(100dvh - 22px);
  }
  .reac-welcome-brand{margin-bottom:11px}
  .reac-welcome-card h2{font-size:24px;margin-right:28px}
  .reac-welcome-lead{font-size:11px}
  .reac-welcome-search{margin:12px 0 10px}
  .reac-welcome-choices{gap:7px}
  .reac-welcome-choices a{padding:9px 10px}
  .reac-welcome-primary{padding:12px 14px}
  .reac-welcome-continue{padding-top:9px}

  .reac-entry{
    right:0 !important;
    bottom:82px !important;
  }
  .reac-entry-launcher{
    min-width:0;
    width:58px;
    height:56px;
    padding:6px !important;
    border-radius:16px 0 0 16px !important;
    transform:translateX(14px);
  }
  .reac-entry-launcher-text{display:none !important}
  .reac-entry-launcher:hover,
  .reac-entry-launcher:focus-visible,
  .reac-entry-launcher[aria-expanded="true"],
  .reac-entry-launcher.is-peeking{
    transform:translateX(0) !important;
  }
  .reac-entry-orb{
    width:44px;
    height:44px;
    flex-basis:44px;
  }
  .reac-entry-panel{
    position:fixed !important;
    right:10px !important;
    left:10px !important;
    bottom:145px !important;
    width:auto !important;
    max-width:none !important;
    box-sizing:border-box;
    border-radius:18px;
  }
}


/* =========================================================
   v0.17.8 — Mobile Entry Polish
   Mobile presentation only. Desktop + Brain/Search remain locked.
   ========================================================= */
@media(max-width:760px){

  /* Main homepage Welcome remains the hero experience,
     but fits common mobile screens more comfortably. */
  .reac-welcome{
    padding:10px !important;
  }
  .reac-welcome-card{
    width:min(94vw,520px) !important;
    max-height:calc(100dvh - 20px) !important;
    padding:19px 17px 15px !important;
    border-radius:22px !important;
    overscroll-behavior:contain;
  }
  .reac-welcome-close{
    right:12px !important;
    top:11px !important;
    width:34px !important;
    height:34px !important;
  }
  .reac-welcome-brand{
    margin-bottom:9px !important;
    gap:8px !important;
    font-size:11px !important;
  }
  .reac-welcome-orb{
    width:34px !important;
    height:34px !important;
    border-radius:10px !important;
  }
  .reac-welcome-kicker{
    margin-bottom:5px !important;
    font-size:9px !important;
  }
  .reac-welcome-card h2{
    font-size:23px !important;
    line-height:1.08 !important;
    margin:0 32px 6px 0 !important;
  }
  .reac-welcome-lead{
    font-size:10.5px !important;
    line-height:1.45 !important;
  }
  .reac-welcome-search{
    margin:10px 0 9px !important;
  }
  .reac-welcome-search>label{
    margin-bottom:5px !important;
    font-size:9px !important;
  }
  .reac-welcome-searchbox{
    min-height:46px !important;
    border-radius:13px !important;
  }
  .reac-welcome-searchbox input{
    font-size:10px !important;
  }
  .reac-welcome-voice-status{
    min-height:6px !important;
    margin-top:2px !important;
  }
  .reac-welcome-choices{
    gap:6px !important;
  }
  .reac-welcome-choices a{
    min-height:54px !important;
    padding:8px 9px !important;
    border-radius:13px !important;
  }
  .reac-welcome-choice-icon{
    width:29px !important;
    height:29px !important;
    flex-basis:29px !important;
  }
  .reac-welcome-choices strong{
    font-size:11px !important;
  }
  .reac-welcome-choices small{
    font-size:8.5px !important;
    margin-top:2px !important;
  }
  .reac-welcome-primary{
    min-height:45px !important;
    margin-top:8px !important;
    padding:10px 13px !important;
    border-radius:13px !important;
    font-size:11px !important;
  }
  .reac-welcome-continue{
    padding:7px 6px 2px !important;
    font-size:9.5px !important;
  }
  .reac-welcome-foot{
    margin-top:3px !important;
    font-size:8px !important;
  }

  /* Floating panel is intentionally a QUICK panel, not a second hero popup. */
  .reac-entry-panel{
    position:fixed !important;
    left:auto !important;
    right:10px !important;
    bottom:146px !important;
    width:min(300px,calc(100vw - 20px)) !important;
    max-height:min(62dvh,470px) !important;
    overflow:auto !important;
    padding:16px !important;
    border-radius:17px !important;
    box-sizing:border-box !important;
  }
  .reac-entry-close{
    right:9px !important;
    top:8px !important;
    width:29px !important;
    height:29px !important;
    font-size:18px !important;
  }
  .reac-entry-mark{
    width:34px !important;
    height:34px !important;
    border-radius:10px !important;
    margin-bottom:9px !important;
    font-size:15px !important;
  }
  .reac-entry-kicker{
    font-size:8px !important;
    margin-bottom:3px !important;
  }
  .reac-entry-panel h3{
    font-size:18px !important;
    line-height:1.12 !important;
    margin:0 30px 3px 0 !important;
  }
  .reac-entry-panel>p{
    font-size:9.5px !important;
    line-height:1.4 !important;
    margin:0 0 9px !important;
  }
  .reac-entry-options{
    gap:6px !important;
  }
  .reac-entry-options a{
    min-height:49px !important;
    gap:8px !important;
    padding:7px 9px !important;
    border-radius:11px !important;
  }
  .reac-entry-options strong{
    font-size:10.5px !important;
  }
  .reac-entry-options small{
    font-size:8px !important;
    margin-top:1px !important;
  }
  .reac-entry-primary{
    min-height:42px !important;
    margin-top:8px !important;
    padding:9px 11px !important;
    border-radius:11px !important;
    font-size:10px !important;
  }

  /* Keep our edge control compact and above common site controls. */
  .reac-entry{
    right:0 !important;
    bottom:154px !important;
  }
  .reac-entry-launcher{
    width:54px !important;
    height:52px !important;
  }
  .reac-entry-orb{
    width:40px !important;
    height:40px !important;
    flex-basis:40px !important;
  }
}

@media(max-width:380px){
  .reac-welcome-card{
    padding:16px 14px 13px !important;
  }
  .reac-welcome-card h2{
    font-size:21px !important;
  }
  .reac-welcome-choices a{
    min-height:50px !important;
  }
  .reac-entry-panel{
    width:calc(100vw - 18px) !important;
    right:9px !important;
    bottom:140px !important;
  }
}


/* =========================================================
   v0.17.9 — Single Concierge Mobile Cleanup
   Hide the legacy third-party contact launcher on mobile only
   when Richmak AI is present. Desktop and REAC Brain stay locked.
   ========================================================= */
@media(max-width:760px){
  /* Common legacy chat/contact launchers seen on the Richmak site.
     Scope is mobile only so the investor demo has one clear assistant. */
  body:has(.reac-entry) .houzez-chat-widget,
  body:has(.reac-entry) .houzez-chat-widget-wrap,
  body:has(.reac-entry) .houzez-chat-button,
  body:has(.reac-entry) .chaty-widget,
  body:has(.reac-entry) .chaty-widget-i,
  body:has(.reac-entry) .chaty-widget-show,
  body:has(.reac-entry) #chaty-widget-0,
  body:has(.reac-entry) [id^="chaty-widget"],
  body:has(.reac-entry) .joinchat,
  body:has(.reac-entry) .ht-ctc,
  body:has(.reac-entry) #ht-ctc-chat,
  body:has(.reac-entry) .qlwapp,
  body:has(.reac-entry) #qlwapp,
  body:has(.reac-entry) .crisp-client,
  body:has(.reac-entry) #tidio-chat,
  body:has(.reac-entry) .tawk-min-container,
  body:has(.reac-entry) iframe[title*="chat" i],
  body:has(.reac-entry) iframe[title*="contact" i]{
    display:none !important;
    visibility:hidden !important;
    pointer-events:none !important;
  }
}

/* v0.18.0 AI Orb Launcher */
.reac-entry{left:18px!important;right:auto!important;bottom:24px!important}
.reac-entry-launcher{min-width:56px!important;height:56px;border-radius:18px!important;padding:7px!important;transform:none!important;overflow:visible;background:linear-gradient(135deg,#0d63ff 0%,#6b43e8 58%,#d849a6 100%)!important;box-shadow:0 16px 38px rgba(50,64,220,.32),0 0 0 1px rgba(255,255,255,.16) inset!important}
.reac-entry-launcher::before{content:"AI";left:-5px!important;right:auto!important;top:-8px!important;min-width:23px;height:18px;padding:0 5px;background:#fff;color:#5b43d7;border-radius:999px;font-size:8px;font-weight:900;box-shadow:0 4px 12px rgba(22,27,80,.16)}
.reac-entry-orb{width:42px!important;height:42px!important;flex:0 0 42px!important;border-radius:14px!important}
.reac-entry-launcher-text{position:absolute;left:52px;bottom:3px;width:128px;min-height:48px;padding:8px 12px;border-radius:0 15px 15px 0;display:flex!important;justify-content:center;background:linear-gradient(135deg,#0d63ff 0%,#6b43e8 58%,#d849a6 100%);color:#fff;box-shadow:12px 10px 26px rgba(50,64,220,.22);opacity:0;transform:translateX(-12px) scaleX(.92);transform-origin:left center;pointer-events:none;transition:opacity .22s ease,transform .34s cubic-bezier(.2,.8,.2,1)}
.reac-entry-launcher-text strong{font-size:11px!important;white-space:nowrap}.reac-entry-launcher-text small{font-size:8.5px!important;white-space:nowrap;margin-top:2px}
.reac-entry-launcher:hover .reac-entry-launcher-text,.reac-entry-launcher:focus-visible .reac-entry-launcher-text,.reac-entry-launcher[aria-expanded="true"] .reac-entry-launcher-text,.reac-entry-launcher.is-peeking .reac-entry-launcher-text{opacity:1;transform:none}
.reac-entry-launcher:hover,.reac-entry-launcher:focus-visible,.reac-entry-launcher[aria-expanded="true"],.reac-entry-launcher.is-peeking{transform:none!important}
.reac-entry-panel{left:0!important;right:auto!important;bottom:68px!important;transform-origin:left bottom}
@media(max-width:760px){
 .reac-entry{left:14px!important;right:auto!important;bottom:22px!important}
 .reac-entry-launcher{width:54px!important;min-width:54px!important;height:54px!important;border-radius:17px!important;padding:6px!important}
 .reac-entry-orb{width:42px!important;height:42px!important;flex-basis:42px!important;border-radius:13px!important}
 .reac-entry-launcher-text{left:49px;bottom:3px;width:122px;min-height:46px;padding:7px 10px;border-radius:0 14px 14px 0}
 .reac-entry-launcher-text strong{font-size:10.5px!important}.reac-entry-launcher-text small{font-size:8px!important}
 .reac-entry-panel{position:fixed!important;left:10px!important;right:auto!important;bottom:88px!important;width:min(300px,calc(100vw - 20px))!important;max-height:min(62dvh,470px)!important}
}
@media(max-width:380px){.reac-entry{left:10px!important}.reac-entry-launcher-text{width:112px}.reac-entry-panel{left:9px!important;right:auto!important}}
@media(prefers-reduced-motion:reduce){.reac-entry-launcher-text{transition:none!important}}


/* =========================================================
   v0.18.1 — Orb Final Polish
   1) Remove detached AI badge.
   2) Keep launcher label collapsed while panel is open.
   Brain/Search/Listing logic unchanged.
   ========================================================= */
.reac-entry-launcher::before{
  content:none !important;
  display:none !important;
}

/* v0.18.0 expanded the label while aria-expanded=true.
   Override that state: an open panel already explains the action. */
.reac-entry-launcher[aria-expanded="true"] .reac-entry-launcher-text{
  opacity:0 !important;
  transform:translateX(-12px) scaleX(.92) !important;
}

/* First-visit peek and deliberate hover/focus still reveal the label,
   but not while the panel is open. */
.reac-entry-launcher.is-peeking:not([aria-expanded="true"]) .reac-entry-launcher-text,
.reac-entry-launcher:hover:not([aria-expanded="true"]) .reac-entry-launcher-text,
.reac-entry-launcher:focus-visible:not([aria-expanded="true"]) .reac-entry-launcher-text{
  opacity:1 !important;
  transform:none !important;
}


/* v0.22.2 — Conversation UX Polish
   Conversation can be resized vertically; composer sits directly under chat. */
.reac-messages{
  height:360px;
  min-height:220px;
  max-height:72vh;
  resize:vertical;
  overflow:auto;
  overscroll-behavior:contain;
  padding:8px 8px 18px 4px;
  border-bottom:1px solid rgba(216,226,234,.65);
}
.reac-messages::-webkit-resizer{background:linear-gradient(135deg,transparent 45%,#aab9c5 46%,#aab9c5 56%,transparent 57%)}
.reac-form{margin-top:14px}
.reac-voicebar{margin-bottom:10px}
.reac-quick-actions{margin-top:8px !important}
@media(max-width:700px){
  .reac-messages{height:320px;min-height:200px;max-height:65vh}
}


/* v0.22.3 — Voice UI Polish
   Make voice input discoverable without competing with the primary Search CTA. */
.reac-input-wrap{position:relative}
#reac-input{
  padding-right:66px !important;
}
#reac-mic.reac-mic{
  position:absolute;
  right:9px;
  top:50%;
  transform:translateY(-50%);
  width:46px !important;
  height:46px !important;
  min-width:46px !important;
  padding:0 !important;
  border-radius:50% !important;
  display:grid !important;
  place-items:center !important;
  border:1px solid #cbc8ff !important;
  background:linear-gradient(145deg,#f1efff 0%,#e6e4ff 100%) !important;
  color:#5146b8 !important;
  font-size:20px !important;
  line-height:1 !important;
  box-shadow:0 5px 14px rgba(80,70,184,.16) !important;
  cursor:pointer;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease,background .18s ease !important;
}
#reac-mic.reac-mic:hover{
  transform:translateY(-50%) scale(1.06);
  border-color:#9188eb !important;
  background:linear-gradient(145deg,#e9e6ff 0%,#dad6ff 100%) !important;
  box-shadow:0 7px 18px rgba(80,70,184,.24) !important;
}
#reac-mic.reac-mic:focus-visible{
  outline:3px solid rgba(94,82,204,.22) !important;
  outline-offset:2px;
}
#reac-mic.reac-mic.is-listening,
#reac-mic.reac-mic.listening,
#reac-mic.reac-mic[aria-pressed="true"]{
  border-color:#7469db !important;
  background:#6559ce !important;
  color:#fff !important;
  box-shadow:0 0 0 0 rgba(101,89,206,.34) !important;
  animation:reacVoicePulse 1.35s ease-out infinite;
}
@keyframes reacVoicePulse{
  0%{box-shadow:0 0 0 0 rgba(101,89,206,.36)}
  70%{box-shadow:0 0 0 11px rgba(101,89,206,0)}
  100%{box-shadow:0 0 0 0 rgba(101,89,206,0)}
}
@media(max-width:620px){
  #reac-input{padding-right:61px !important}
  #reac-mic.reac-mic{
    width:44px !important;
    height:44px !important;
    min-width:44px !important;
    right:8px;
    font-size:19px !important;
  }
}
@media(prefers-reduced-motion:reduce){
  #reac-mic.reac-mic{transition:none !important}
  #reac-mic.reac-mic.is-listening,
  #reac-mic.reac-mic.listening,
  #reac-mic.reac-mic[aria-pressed="true"]{animation:none}
}


/* v0.37.2 Welcome Voice Intro — opt-in, short, non-blocking */
.reac-welcome-listen{
  appearance:none;border:0;background:transparent;color:#536f82;
  display:inline-flex;align-items:center;gap:7px;margin:10px 0 0;padding:5px 8px 5px 5px;
  border-radius:999px;font:inherit;font-size:10px;font-weight:750;cursor:pointer;
  transition:background .15s ease,color .15s ease;
}
.reac-welcome-listen:hover{background:#f3f1ff;color:#6249dc}
.reac-welcome-listen-icon{
  width:24px;height:24px;display:grid;place-items:center;border-radius:50%;
  background:#efedff;font-size:12px;
}
.reac-welcome-listen-wave{display:flex;align-items:center;gap:2px;height:12px;opacity:.45}
.reac-welcome-listen-wave i{display:block;width:2px;height:4px;border-radius:2px;background:currentColor}
.reac-welcome-listen.is-speaking{background:#f3f1ff;color:#6249dc}
.reac-welcome-listen.is-speaking .reac-welcome-listen-wave{opacity:1}
.reac-welcome-listen.is-speaking .reac-welcome-listen-wave i{animation:reacWelcomeVoiceWave .72s ease-in-out infinite}
.reac-welcome-listen.is-speaking .reac-welcome-listen-wave i:nth-child(2){animation-delay:.12s}
.reac-welcome-listen.is-speaking .reac-welcome-listen-wave i:nth-child(3){animation-delay:.24s}
.reac-welcome-orb.is-speaking{animation:reacWelcomeOrbSpeak 1s ease-in-out infinite}
@keyframes reacWelcomeVoiceWave{0%,100%{height:4px}50%{height:11px}}
@keyframes reacWelcomeOrbSpeak{50%{transform:scale(1.08);box-shadow:0 8px 26px rgba(89,62,221,.42)}}
@media(max-width:620px){
  .reac-welcome-listen{margin-top:8px}
}


/* v0.37.3 Popup-local EN / ไทย language switcher */
.reac-welcome-brand-row{
  display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:20px;
}
.reac-welcome-brand-row .reac-welcome-brand{margin-bottom:0}
.reac-welcome-lang{
  display:inline-flex;align-items:center;padding:3px;border-radius:999px;
  background:#f1f4f8;border:1px solid #e3e8ef;box-shadow:0 1px 0 rgba(255,255,255,.8) inset;
}
.reac-welcome-lang-btn{
  appearance:none;border:0;background:transparent;color:#78909f;cursor:pointer;
  min-width:38px;height:27px;padding:0 10px;border-radius:999px;
  font:inherit;font-size:10px;font-weight:850;line-height:1;
  transition:background .15s ease,color .15s ease,box-shadow .15s ease;
}
.reac-welcome-lang-btn.is-active{
  background:#fff;color:#5f49dc;box-shadow:0 2px 8px rgba(42,55,90,.10);
}
.reac-welcome-lang-btn:hover{color:#5f49dc}
@media(max-width:620px){
  .reac-welcome-brand-row{align-items:flex-start}
  .reac-welcome-lang-btn{min-width:36px;padding:0 8px}
}


/* v0.37.4 End-to-End Language Handoff */
.reac-header-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}
.reac-ai-lang-switch{
  display:inline-flex;align-items:center;padding:3px;border-radius:999px;
  background:rgba(255,255,255,.10);border:1px solid rgba(255,255,255,.18)
}
.reac-ai-lang-switch button{
  appearance:none;border:0;background:transparent;color:rgba(255,255,255,.72);
  min-width:38px;height:28px;padding:0 9px;border-radius:999px;cursor:pointer;
  font:inherit;font-size:10px;font-weight:850;
}
.reac-ai-lang-switch button.is-active{background:#fff;color:#6249dc;box-shadow:0 2px 8px rgba(0,0,0,.14)}
@media(max-width:620px){
  .reac-header-tools{justify-content:flex-start}
}


/* v0.37.5 Stability hotfix: keep popup language switch clear of the close X */
.reac-welcome-card .reac-welcome-brand-row{padding-right:42px}
.reac-welcome-card .reac-welcome-lang{margin-right:2px}
@media(max-width:620px){
  .reac-welcome-card .reac-welcome-brand-row{padding-right:38px}
}

/* v0.46.1 Safe Conversion CTA Integration */
.reac-handoff-convert{display:grid;gap:8px;align-items:start;padding:14px 15px;border:1px solid rgba(15,53,78,.10);border-radius:14px;background:#fff;box-shadow:0 8px 24px rgba(15,53,78,.06)}.reac-handoff-convert-title{color:var(--ink);font-size:13px;font-weight:850;line-height:1.35}.reac-handoff-convert-body{color:var(--muted);font-size:11px;line-height:1.55;max-width:560px}.reac-handoff-lead-cta{border:0;background:var(--ink);color:#fff;border-radius:10px;padding:10px 14px;font:inherit;font-size:12px;font-weight:800;cursor:pointer;width:max-content;max-width:100%;margin-top:2px}.reac-handoff-convert small{color:var(--muted);font-size:10px;line-height:1.45}.reac-handoff-lead-cta.is-superseded,.reac-handoff-lead-cta:disabled{opacity:.45;cursor:default}@media(max-width:760px){.reac-handoff-lead-cta{width:100%;padding:12px}}
\n/* v0.49.0 Smart Buyer Intelligence */
.reac-intel-section{margin-top:12px;padding-top:10px;border-top:1px solid #e4ebf2}.reac-intel-section>b,.reac-decision-brief>b{display:block;font-size:10px;letter-spacing:.09em;color:#60788b;margin-bottom:7px}.reac-decision-brief{margin-top:12px;padding:11px;border:1px solid #d8e7f1;border-radius:12px;background:#f7fbfe}.reac-decision-brief>strong{display:block;color:#092f49;font-size:13px;margin-bottom:5px}.reac-decision-brief>span{display:block;font-size:11px;color:#536b7b;line-height:1.5}\n
/* v0.49.33 — AI page language control must remain visible on light headers. */
.reac-header .reac-ai-lang-switch{background:#f3f6fb;border:1px solid #d8e1ec;box-shadow:0 1px 4px rgba(15,45,75,.06)}
.reac-header .reac-ai-lang-switch button{color:#52657a}
.reac-header .reac-ai-lang-switch button:hover{color:#0b3153;background:#eaf0f7}
.reac-header .reac-ai-lang-switch button.is-active{background:#0b3153;color:#fff;box-shadow:0 2px 7px rgba(11,49,83,.18)}


/* ==========================================================
   v0.50.0 UI V2 — 3-Column AI Property Workspace
   Presentation-layer only. Intelligence/search APIs unchanged.
   Desktop: Profile | Property Workspace | AI Advisor
   Mobile: stacked AI-first flow for safety/readability.
   ========================================================== */
@media (min-width: 1181px){
  .reac-app{max-width:1760px;margin:20px auto;padding:0 18px}
  .reac-shell{border-radius:20px;box-shadow:0 18px 50px rgba(10,37,56,.09)}
  .reac-header{padding:22px 28px 18px;align-items:center;background:linear-gradient(135deg,#f7fbfe 0%,#fff 62%,#f1f8fc 100%)}
  .reac-header h2{font-size:29px;margin:5px 0 7px;letter-spacing:-.025em}
  .reac-header p{font-size:13px;max-width:820px}
  .reac-kicker{font-size:10px}
  .reac-header-tools{align-items:center}
  .reac-value-ribbon{grid-template-columns:repeat(4,minmax(0,1fr));background:#fff;color:var(--ink);border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:10px 12px;gap:10px}
  .reac-value-ribbon>div,.reac-value-ribbon>button{border:1px solid var(--line)!important;border-radius:13px!important;background:#f8fbfd!important;color:var(--ink)!important;min-height:66px!important;box-shadow:none!important}
  .reac-value-ribbon .reac-hub-card:hover{transform:translateY(-1px);box-shadow:0 8px 20px rgba(11,41,64,.08)!important}

  .reac-layout{
    display:grid;
    grid-template-columns:260px minmax(520px,1fr) 380px;
    grid-template-areas:"side results chat";
    align-items:start;
    min-height:690px;
    border-top:0;
    background:#f6f9fb;
  }
  .reac-side{
    grid-area:side;
    position:sticky;top:12px;
    min-height:690px;
    padding:22px 18px;
    border-left:0;
    border-right:1px solid var(--line);
    border-top:0;
    background:#f8fbfd;
  }
  .reac-side-title{font-size:15px;margin-bottom:12px}
  .reac-pref{border-radius:11px;padding:9px 10px;background:#fff}
  .reac-intelligence,.reac-shortlist-box{border-radius:11px;background:#fff}
  .reac-smart-actions button{background:#fff}
  .reac-lead-btn{position:sticky;bottom:12px;box-shadow:0 8px 18px rgba(11,41,64,.14)}

  .reac-results{
    grid-area:results;
    display:block;
    min-height:690px;
    padding:22px 20px 30px;
    border-top:0;
    border-right:1px solid var(--line);
    background:#fff;
  }
  .reac-results:empty{
    display:block;
    background:#fff;
  }
  .reac-results:empty::before{
    content:"Property matches will appear here";
    display:grid;place-items:center;
    min-height:610px;
    color:#91a0aa;font-size:13px;
    border:1px dashed #dbe5eb;border-radius:16px;
    background:linear-gradient(180deg,#fbfdfe,#f7fafc);
  }
  .reac-results-head{margin-bottom:14px;align-items:center}
  .reac-results-head h3{font-size:23px}
  .reac-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
  .reac-card{border-radius:14px;box-shadow:0 5px 16px rgba(11,41,64,.055)}
  .reac-card-img{height:150px}
  .reac-card-body{padding:12px}
  .reac-card h4{font-size:15px}
  .reac-price{font-size:16px}

  .reac-chat{
    grid-area:chat;
    position:sticky;top:12px;
    min-height:690px;
    padding:20px 18px;
    background:#fff;
  }
  .reac-chat::before{
    content:"Richmak AI Advisor";
    display:block;
    font-size:16px;font-weight:850;
    padding:0 0 12px;margin-bottom:5px;
    border-bottom:1px solid var(--line);
  }
  .reac-messages{height:330px;min-height:330px;padding-top:4px}
  .reac-bubble{max-width:88%;font-size:12px;padding:10px 12px}
  .reac-form{gap:8px}
  .reac-form textarea{min-height:62px;font-size:12px}
  .reac-form>button{padding:0 16px}
  .reac-voicebar{font-size:10px}
  .reac-quick-actions{margin-top:10px}
  .reac-quick-actions-head{gap:8px}
  .reac-quick{max-height:116px;overflow:auto}
  .reac-quick button{font-size:10px;padding:7px 9px}
  .reac-note{display:none}
}

@media (min-width:1181px) and (max-width:1450px){
  .reac-layout{grid-template-columns:235px minmax(460px,1fr) 340px}
  .reac-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

/* Mobile/tablet keeps the proven stable interaction order. */
@media (max-width:1180px){
  .reac-layout{grid-template-columns:1fr;grid-template-areas:"chat" "results" "side"}
  .reac-chat{grid-area:chat}.reac-results{grid-area:results}.reac-side{grid-area:side}
}

/* ==========================================================
   v0.50.1 UI V2 — Premium AI Property Workspace
   Target: compact three-column workspace, richer center canvas,
   persistent AI advisor, lower visual noise.
   ========================================================== */
@media (min-width:1181px){
  .reac-app{max-width:1840px;margin:16px auto;padding:0 14px}
  .reac-shell{overflow:hidden;border-radius:18px;background:#f5f8fb}
  .reac-layout{grid-template-columns:285px minmax(650px,1fr) 390px;grid-template-areas:"side center chat";gap:0;min-height:780px;background:#eef4f8}
  .reac-center{grid-area:center;min-width:0;background:#fff;border-right:1px solid #dfe8ef}
  .reac-side{grid-area:side;position:relative;top:auto;min-height:780px;padding:20px 16px;background:linear-gradient(180deg,#f8fbfe,#f2f7fb);border-right:1px solid #dfe8ef}
  .reac-chat{grid-area:chat;position:sticky;top:10px;min-height:780px;padding:18px 16px;background:#fff}

  .reac-side-title{font-size:18px;letter-spacing:-.02em;margin:0 0 2px;color:#0b3153}
  .reac-side-sub{font-size:11px;color:#7a8c9b;margin-bottom:14px}
  .reac-profile-title{font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#7b8d9b;margin:15px 0 8px}
  .reac-journey-switch{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:0 0 8px}
  .reac-journey-btn{appearance:none;border:1px solid #d9e4ec;background:#fff;color:#153a55;border-radius:10px;min-height:38px;font:inherit;font-size:11px;font-weight:850;cursor:pointer}
  .reac-journey-btn:hover,.reac-journey-btn:focus{background:#0b3153;color:#fff;border-color:#0b3153}
  .reac-pref{padding:10px 11px;margin-bottom:7px;border:1px solid #dce7ee;box-shadow:0 2px 8px rgba(10,48,76,.025)}
  .reac-pref b{font-size:9px;letter-spacing:.07em}.reac-pref span{font-size:12px;font-weight:750}
  .reac-intelligence{margin-top:10px}.reac-shortlist-box{margin-top:10px}.reac-lead-btn{position:relative;bottom:auto;margin-top:10px}

  .reac-ai-hero{position:relative;min-height:172px;padding:26px 30px;overflow:hidden;color:#fff;border:0;background:
    radial-gradient(circle at 76% 22%,rgba(62,199,255,.32),transparent 23%),
    linear-gradient(112deg,#0a355c 0%,#0d5b8c 45%,#1597bb 100%)}
  .reac-ai-hero:before{content:"";position:absolute;inset:auto 0 0 0;height:56px;opacity:.32;background:linear-gradient(90deg,transparent 0 4%,#fff 4% 5%,transparent 5% 8%,#fff 8% 10%,transparent 10% 15%,#fff 15% 16%,transparent 16% 24%,#fff 24% 27%,transparent 27% 33%,#fff 33% 35%,transparent 35% 43%,#fff 43% 45%,transparent 45% 54%,#fff 54% 58%,transparent 58% 65%,#fff 65% 67%,transparent 67% 76%,#fff 76% 80%,transparent 80%);clip-path:polygon(0 78%,4% 78%,4% 42%,6% 42%,6% 70%,9% 70%,9% 28%,11% 28%,11% 74%,16% 74%,16% 50%,18% 50%,18% 76%,24% 76%,24% 35%,27% 35%,27% 76%,34% 76%,34% 18%,36% 18%,36% 77%,44% 77%,44% 49%,46% 49%,46% 76%,55% 76%,55% 30%,58% 30%,58% 76%,66% 76%,66% 55%,68% 55%,68% 76%,77% 76%,77% 38%,80% 38%,80% 77%,100% 77%,100% 100%,0 100%)}
  .reac-ai-hero-copy{position:relative;z-index:3;max-width:560px}
  .reac-ai-hero .reac-kicker{color:#bceeff;font-size:10px;letter-spacing:.14em}.reac-ai-hero h2{color:#fff;font-size:31px;line-height:1.08;margin:7px 0}.reac-ai-hero p{color:rgba(255,255,255,.86);font-size:13px}
  .reac-ai-hero .reac-header-tools{position:absolute;z-index:5;right:18px;top:16px}.reac-ai-hero .reac-ai-lang-switch{background:rgba(255,255,255,.14);border-color:rgba(255,255,255,.24)}.reac-ai-hero .reac-ai-lang-switch button{color:#e9f8ff}.reac-ai-hero .reac-ai-lang-switch button.is-active{background:#fff;color:#0b3153}

  .reac-robot{position:absolute;z-index:2;right:118px;bottom:17px;width:126px;height:116px;filter:drop-shadow(0 16px 20px rgba(0,20,50,.22))}
  .reac-robot-face{position:absolute;left:19px;top:25px;width:88px;height:70px;border:7px solid rgba(238,249,255,.96);border-radius:35px;background:linear-gradient(160deg,#082c4e,#0c628c);box-shadow:inset 0 0 0 2px rgba(78,216,255,.4)}
  .reac-robot-face i{position:absolute;top:22px;width:13px;height:16px;border-radius:50%;background:#6ff4ff;box-shadow:0 0 14px #44e9ff}.reac-robot-face i:first-child{left:21px}.reac-robot-face i:nth-child(2){right:21px}.reac-robot-face b{position:absolute;left:50%;bottom:-25px;transform:translateX(-50%);display:grid;place-items:center;width:38px;height:38px;border:5px solid #eaf8ff;border-radius:50%;background:#086a9b;color:#fff;font-size:12px}
  .reac-robot-antenna{position:absolute;left:61px;top:2px;width:5px;height:25px;background:#dff7ff;border-radius:5px}.reac-robot-antenna:before{content:"";position:absolute;left:-5px;top:-6px;width:15px;height:15px;border-radius:50%;background:#63edff;box-shadow:0 0 14px #63edff}
  .reac-robot-ear{position:absolute;top:47px;width:18px;height:34px;border:5px solid #eaf8ff;background:#168eb8;border-radius:12px}.reac-robot-ear.left{left:5px}.reac-robot-ear.right{right:5px}

  .reac-center-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:10px 12px;background:#f5f9fc;border-bottom:1px solid #e0e9f0}
  .reac-stat{appearance:none;display:flex;align-items:center;gap:10px;min-width:0;padding:10px 12px;border:1px solid #e0e9ef;border-radius:13px;background:#fff;color:#143a55;text-align:left;font:inherit;box-shadow:0 3px 10px rgba(10,48,76,.035)}
  button.reac-stat{cursor:pointer}.reac-stat>b{display:grid;place-items:center;flex:0 0 34px;width:34px;height:34px;border-radius:50%;background:#edf7fd;color:#0788c0;font-size:17px}.reac-stat span{min-width:0}.reac-stat strong{display:block;font-size:15px;white-space:nowrap}.reac-stat small{display:block;color:#7c8e9c;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .reac-workspace-bar{display:flex;align-items:center;gap:12px;padding:11px 16px;border-bottom:1px solid #e3ebf1;background:#fff}.reac-workspace-bar strong{font-size:13px;color:#0b3153}.reac-workspace-bar span{font-size:10px;color:#8797a4}
  .reac-results{grid-area:auto;min-height:520px;padding:14px 14px 26px;border-right:0;background:#fff}
  .reac-results:empty::before{min-height:500px;border:0;background:linear-gradient(180deg,#fbfdff,#fff);color:#9aabb6}
  .reac-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reac-card{border:1px solid #dfe8ef;border-radius:14px;overflow:hidden}.reac-card-img{height:155px}.reac-card-body{padding:11px}.reac-card h4{font-size:14px}.reac-price{font-size:16px}

  .reac-chat::before{content:"Richmak AI Advisor  •  Online";font-size:17px;color:#0b3153;padding-bottom:12px}
  .reac-messages{height:400px;min-height:400px;background:linear-gradient(180deg,#fff,#fbfdff);border-radius:12px}.reac-bubble{max-width:92%;font-size:12px;line-height:1.55}
  .reac-form{border-top:1px solid #e3ebf1;padding-top:12px}.reac-form textarea{min-height:64px;border-radius:12px}.reac-form>button{border-radius:12px;min-width:72px}
  .reac-quick-actions{border:0;background:#fff;padding:8px 0}.reac-quick-actions-head{align-items:center}.reac-quick{display:flex;flex-wrap:wrap;max-height:126px}.reac-quick button{border-radius:999px;background:#fff;border-color:#dbe5ef;box-shadow:0 2px 7px rgba(13,55,86,.04)}
}
@media (min-width:1181px) and (max-width:1500px){
  .reac-layout{grid-template-columns:245px minmax(560px,1fr) 350px}.reac-robot{right:90px;transform:scale(.9);transform-origin:bottom right}.reac-ai-hero h2{font-size:27px}.reac-center-stats{grid-template-columns:repeat(2,1fr)}.reac-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}


/* ==========================================================
   v0.50.2 UI V2 — Density & Workspace Refinement
   Presentation-only refinement on top of stable v0.50.1.
   Wider property canvas, quieter sidebars, compact cards/chat.
   ========================================================== */
@media (min-width:1181px){
  .reac-app{max-width:1900px;padding:0 12px}
  .reac-layout{grid-template-columns:240px minmax(760px,1fr) 350px;min-height:760px}
  .reac-side{min-height:760px;padding:16px 13px}
  .reac-chat{min-height:760px;padding:15px 13px}

  .reac-side-title{font-size:16px}.reac-side-sub{margin-bottom:10px}
  .reac-profile-title{margin:11px 0 6px}
  .reac-journey-btn{min-height:34px;font-size:10px}
  .reac-pref{padding:8px 9px;margin-bottom:5px}
  .reac-pref span{font-size:11px}
  .reac-intelligence{margin-top:7px;font-size:10px}
  .reac-intelligence .reac-intelligence-card,.reac-intelligence>div{box-shadow:none}
  .reac-smart-actions{margin-top:7px}
  .reac-shortlist-box{margin-top:7px}
  .reac-lead-btn{margin-top:8px;padding:11px 9px}

  .reac-ai-hero{min-height:136px;padding:20px 26px}
  .reac-ai-hero-copy{max-width:600px}
  .reac-ai-hero h2{font-size:27px;margin:5px 0}
  .reac-ai-hero p{font-size:12px}
  .reac-ai-hero:before{height:42px;opacity:.24}
  .reac-robot{width:108px;height:100px;right:105px;bottom:10px;transform:scale(.88);transform-origin:bottom right}

  .reac-center-stats{gap:7px;padding:8px 10px}
  .reac-stat{padding:8px 10px;border-radius:11px}
  .reac-stat>b{width:30px;height:30px;flex-basis:30px;font-size:15px}
  .reac-stat strong{font-size:14px}
  .reac-workspace-bar{padding:9px 14px}
  .reac-results{padding:12px 12px 22px}
  .reac-grid{gap:10px}
  .reac-card-img{height:145px}
  .reac-card-body{padding:10px}
  .reac-card h4{font-size:13px;margin:4px 0 5px}
  .reac-price,.reac-price-line strong{font-size:15px}
  .reac-meta{gap:5px;margin:7px 0}.reac-meta span{padding:4px 6px;font-size:10px}
  .reac-location{min-height:26px;font-size:10px}
  .reac-why{margin:7px 0}.reac-why span{font-size:9px;padding:3px 5px}
  .reac-card-actions{gap:6px;margin-top:8px;align-items:center}
  .reac-card-actions a{flex:1.65;padding:9px 7px}
  .reac-card-actions .reac-shortlist-card{flex:.75;padding:9px 6px}

  .reac-chat::before{font-size:15px;padding-bottom:9px}
  .reac-messages{height:430px;min-height:430px;padding-bottom:10px}
  .reac-bubble{font-size:11px;line-height:1.48;padding:10px 11px}
  .reac-form{padding-top:9px;gap:7px}
  .reac-form textarea{min-height:54px;padding:10px;font-size:11px}
  .reac-form>button{min-width:64px;padding:0 13px}
  .reac-voicebar{font-size:9px}
  .reac-quick-actions{padding:5px 0}
  .reac-quick-actions-head{margin-bottom:4px}
  .reac-quick-actions-title span{display:none}
  .reac-quick{max-height:76px;overflow:hidden;gap:5px;margin:4px 0 6px}
  .reac-quick button{padding:6px 8px;font-size:9px}
  .reac-more-actions{font-size:10px}
  .reac-note{font-size:9px}
}
@media (min-width:1181px) and (max-width:1500px){
  .reac-layout{grid-template-columns:220px minmax(620px,1fr) 320px}
  .reac-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .reac-ai-hero h2{font-size:24px}
  .reac-robot{right:78px;transform:scale(.78)}
  .reac-center-stats{grid-template-columns:repeat(4,1fr)}
  .reac-stat{gap:6px;padding:7px}.reac-stat>b{display:none}.reac-stat strong{font-size:12px}.reac-stat small{font-size:8px}
}
@media (min-width:1181px) and (max-width:1280px){
  .reac-layout{grid-template-columns:205px minmax(560px,1fr) 300px}
  .reac-card-img{height:132px}
}

/* ==========================================================
   v0.50.4 — Final Desktop UI Polish
   Presentation-only. Locks the desktop information hierarchy
   without changing search, memory, ranking, voice or lead logic.
   ========================================================== */
@media (min-width:1181px){
  .reac-app{max-width:1920px;margin:14px auto;padding:0 10px}
  .reac-shell{border-radius:16px;box-shadow:0 14px 38px rgba(10,48,76,.065)}
  .reac-layout{grid-template-columns:225px minmax(780px,1fr) 335px;min-height:740px}
  .reac-side{min-height:740px;padding:15px 12px;background:#f7fafc}
  .reac-chat{min-height:740px;padding:14px 12px}

  .reac-side-title{font-size:15px;margin-bottom:1px}
  .reac-side-sub{font-size:10px;margin-bottom:9px}
  .reac-profile-title{font-size:9px;margin:10px 0 5px}
  .reac-journey-switch{gap:5px}.reac-journey-btn{min-height:32px;border-radius:9px}
  .reac-pref{padding:7px 8px;margin-bottom:5px;border-radius:10px}
  .reac-pref small,.reac-pref b{font-size:8px}.reac-pref span,.reac-pref strong{font-size:11px}
  .reac-intelligence{padding:8px !important;border-radius:10px !important}
  .reac-intelligence .reac-intelligence-row{padding:6px 0 !important}
  .reac-smart-actions .reac-smart-action:nth-child(n+5){display:none}
  .reac-lead-btn{font-size:10px;border-radius:9px}

  .reac-ai-hero{min-height:122px;padding:17px 24px}
  .reac-ai-hero-copy{max-width:620px}
  .reac-ai-hero .reac-kicker{font-size:9px}
  .reac-ai-hero h2{font-size:25px;line-height:1.05;margin:4px 0 5px}
  .reac-ai-hero p{font-size:11px;max-width:610px}
  .reac-ai-hero:before{height:36px;opacity:.20}
  .reac-robot{right:94px;bottom:5px;transform:scale(.72);transform-origin:bottom right}
  .reac-ai-hero .reac-header-tools{right:14px;top:12px}

  .reac-center-stats{padding:7px 9px;gap:6px}
  .reac-stat{min-height:48px;padding:7px 9px;border-radius:10px;box-shadow:none}
  .reac-stat>b{width:28px;height:28px;flex-basis:28px;font-size:14px}
  .reac-stat strong{font-size:13px}.reac-stat small{font-size:8px}
  .reac-workspace-bar{padding:8px 12px}.reac-workspace-bar strong{font-size:12px}
  .reac-results{padding:11px 11px 20px}
  .reac-results-head{margin-bottom:12px}.reac-results-head h3{font-size:22px}
  .reac-grid{gap:9px}
  .reac-card{border-radius:12px;box-shadow:0 3px 12px rgba(11,49,83,.035)}
  .reac-card-img{height:138px}
  .reac-card-body{padding:9px}
  .reac-card h4{font-size:13px;line-height:1.22;margin:3px 0 5px}
  .reac-card-type{font-size:8px}.reac-price,.reac-price-line strong{font-size:14px}
  .reac-meta{margin:6px 0}.reac-meta span{font-size:9px;padding:3px 5px}
  .reac-location{min-height:23px;font-size:9px}
  .reac-why{margin:6px 0}.reac-why span{font-size:8px;padding:3px 5px}
  .reac-card-actions{margin-top:7px;gap:5px}
  .reac-card-actions a,.reac-card-actions button{min-height:34px;padding:8px 6px;font-size:10px;border-radius:8px}

  .reac-chat::before{font-size:14px;padding-bottom:8px}
  .reac-messages{height:405px;min-height:405px;padding:5px 2px 8px}
  .reac-msg{margin:9px 0;gap:7px}.reac-avatar{width:29px;height:29px;font-size:9px}
  .reac-bubble{font-size:10.5px;line-height:1.45;padding:9px 10px;border-radius:12px}
  .reac-form{padding-top:8px}.reac-form textarea{min-height:50px;font-size:10.5px}
  .reac-form>button{min-width:60px;font-size:10px}
  .reac-quick{max-height:70px}.reac-quick button{font-size:8.5px;padding:5px 7px}
}
@media (min-width:1181px) and (max-width:1500px){
  .reac-layout{grid-template-columns:205px minmax(640px,1fr) 305px}
  .reac-ai-hero h2{font-size:23px}
  .reac-robot{right:66px;transform:scale(.64)}
  .reac-card-img{height:128px}
}
@media (min-width:1181px) and (max-width:1280px){
  .reac-layout{grid-template-columns:195px minmax(570px,1fr) 285px}
  .reac-ai-hero p{max-width:480px}
  .reac-robot{display:none}
  .reac-card-img{height:120px}
}

/* ==========================================================
   v0.50.5 — Readability & Typography Polish
   Desktop presentation-only: improve comfortable reading at
   normal browser zoom without increasing information density.
   ========================================================== */
@media (min-width:1181px){
  /* Give profile and advisor enough reading width while keeping center dominant */
  .reac-layout{grid-template-columns:245px minmax(760px,1fr) 355px}
  .reac-side{padding:17px 14px}
  .reac-chat{padding:15px 14px}

  /* Left rail */
  .reac-side-title{font-size:17px;line-height:1.25}
  .reac-side-sub{font-size:11px;line-height:1.45}
  .reac-profile-title{font-size:10px;letter-spacing:.08em}
  .reac-journey-btn{font-size:11px;min-height:35px}
  .reac-pref{padding:9px 9px;margin-bottom:7px}
  .reac-pref small,.reac-pref b{font-size:9px;line-height:1.35}
  .reac-pref span,.reac-pref strong{font-size:13px;line-height:1.35}
  .reac-intelligence{padding:10px !important}
  .reac-intelligence-title{font-size:10px !important}
  .reac-intelligence .reac-intelligence-row{padding:8px 0 !important;font-size:11px !important;line-height:1.4}
  .reac-intelligence .reac-intelligence-row span,
  .reac-intelligence .reac-intelligence-row b,
  .reac-intelligence .reac-intelligence-row strong{font-size:11px !important;line-height:1.4}
  .reac-decision-brief,.reac-decision-brief *{line-height:1.42}
  .reac-lead-btn{font-size:11px;min-height:38px}

  /* Hero and stats */
  .reac-ai-hero h2{font-size:28px;line-height:1.08}
  .reac-ai-hero p{font-size:12px;line-height:1.5}
  .reac-ai-hero .reac-kicker{font-size:10px}
  .reac-stat strong{font-size:14px;line-height:1.2}
  .reac-stat small{font-size:9px;line-height:1.3}
  .reac-workspace-bar strong{font-size:13px}
  .reac-workspace-bar span{font-size:10px}

  /* Property workspace */
  .reac-results-head h3{font-size:24px;line-height:1.15}
  .reac-results-head,.reac-results-head *{line-height:1.35}
  .reac-card h4{font-size:15px;line-height:1.28}
  .reac-card-type{font-size:9px}
  .reac-price,.reac-price-line strong{font-size:16px;line-height:1.2}
  .reac-meta span{font-size:10px;line-height:1.25}
  .reac-location{font-size:10.5px;line-height:1.4;min-height:29px}
  .reac-why span{font-size:9px;line-height:1.3}
  .reac-card-actions a,.reac-card-actions button{font-size:11px;min-height:36px}

  /* Advisor: primary reading surface */
  .reac-chat::before{font-size:16px;line-height:1.25}
  .reac-messages{height:430px;min-height:430px}
  .reac-avatar{width:31px;height:31px;font-size:10px}
  .reac-bubble{font-size:12px;line-height:1.55;padding:11px 12px}
  .reac-form textarea{font-size:12px;line-height:1.45;min-height:56px;padding:11px}
  .reac-form>button{font-size:11px;min-width:66px}
  .reac-voicebar{font-size:10px;line-height:1.4}
  .reac-quick-actions-title{font-size:11px}
  .reac-quick{max-height:82px}
  .reac-quick button{font-size:10px;line-height:1.3;padding:6px 8px}
  .reac-more-actions{font-size:11px}
  .reac-note{font-size:10px;line-height:1.4}
}
@media (min-width:1181px) and (max-width:1500px){
  .reac-layout{grid-template-columns:225px minmax(620px,1fr) 325px}
  .reac-side-title{font-size:16px}
  .reac-ai-hero h2{font-size:25px}
  .reac-card h4{font-size:14px}
  .reac-price,.reac-price-line strong{font-size:15px}
  .reac-bubble{font-size:11.5px}
}
@media (min-width:1181px) and (max-width:1280px){
  .reac-layout{grid-template-columns:210px minmax(560px,1fr) 305px}
  .reac-ai-hero h2{font-size:23px}
  .reac-bubble{font-size:11px}
}


/* ==========================================================
   v0.50.6 — Three Independent Rounded Workspace Panels
   Desktop presentation-only. Separates Buyer Context,
   Property Workspace and AI Advisor into independent panels.
   ========================================================== */
@media (min-width:1181px){
  .reac-app{
    max-width:1920px;
    margin:16px auto 30px;
    padding:0 16px;
  }
  .reac-shell{
    background:#eef4f8;
    border:0;
    border-radius:22px;
    overflow:visible;
    box-shadow:none;
  }
  .reac-layout{
    grid-template-columns:245px minmax(760px,1fr) 355px;
    gap:16px;
    padding:16px;
    min-height:760px;
    background:#eef4f8;
    border-top:0;
    align-items:stretch;
  }
  .reac-side,
  .reac-center,
  .reac-chat{
    min-width:0;
    background:#fff;
    border:1px solid #dce6ed;
    border-radius:16px;
    box-shadow:0 8px 24px rgba(11,49,83,.055);
    overflow:hidden;
  }
  .reac-side{
    min-height:740px;
    padding:17px 14px;
    border-left:1px solid #dce6ed;
  }
  .reac-center{
    min-height:740px;
    border-right:1px solid #dce6ed;
  }
  .reac-chat{
    min-height:740px;
    padding:15px 14px;
    display:flex;
    flex-direction:column;
  }
  .reac-ai-hero{
    border-radius:15px 15px 0 0;
  }
  .reac-center-stats{
    background:#f8fbfd;
  }
  .reac-results{
    background:#fff;
  }
  .reac-chat::before{
    margin:0 0 2px;
  }
  .reac-messages{
    border-radius:12px;
  }
  .reac-shortlist-box,
  .reac-intelligence,
  .reac-pref{
    box-shadow:none;
  }
}
@media (min-width:1181px) and (max-width:1500px){
  .reac-layout{
    grid-template-columns:225px minmax(620px,1fr) 325px;
    gap:14px;
    padding:14px;
  }
}
@media (min-width:1181px) and (max-width:1280px){
  .reac-layout{
    grid-template-columns:210px minmax(560px,1fr) 305px;
    gap:12px;
    padding:12px;
  }
  .reac-side,.reac-center,.reac-chat{border-radius:14px}
}

/* ==========================================================
   v0.50.7 — Final Desktop UX Polish
   Presentation-only: slightly roomier Buyer Context, useful
   center empty state, and a unified advisor composer dock.
   ========================================================== */
@media (min-width:1181px){
  .reac-layout{grid-template-columns:260px minmax(760px,1fr) 355px}

  /* A little more breathing room for long intelligence labels. */
  .reac-side{padding:18px 15px}
  .reac-intelligence .reac-intelligence-row{gap:10px}
  .reac-intelligence .reac-intelligence-row > :last-child{max-width:58%;text-align:right}

  /* Helpful first-use state; disappears automatically once results render. */
  .reac-results:empty{
    min-height:420px;
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    background:linear-gradient(180deg,#fbfdff 0%,#ffffff 100%);
  }
  .reac-results:empty::before{
    content:"✦  Tell Richmak AI what you're looking for\A\A Try: Condo in Pattaya  •  Family home in Huai Yai  •  Investment under ฿8M";
    white-space:pre-wrap;
    max-width:560px;
    padding:28px 34px;
    border:1px dashed #cbdbe7;
    border-radius:16px;
    background:#f8fbfd;
    color:#60788b;
    text-align:center;
    font-size:12px;
    line-height:1.65;
    box-shadow:0 6px 18px rgba(11,49,83,.035);
  }

  /* Keep the conversation visually separate from one unified composer dock. */
  .reac-chat{gap:0}
  .reac-messages{flex:1;height:auto;min-height:400px;margin-bottom:10px}
  .reac-form{
    margin-top:auto;
    padding:10px;
    gap:7px;
    border:1px solid #dce6ed;
    border-bottom:0;
    border-radius:14px 14px 0 0;
    background:#fff;
  }
  .reac-input-wrap{flex:1}
  .reac-form textarea{border-color:#dce6ed;background:#fbfdff}
  .reac-voicebar{
    margin:0;
    padding:7px 10px;
    border-left:1px solid #dce6ed;
    border-right:1px solid #dce6ed;
    background:#fbfdff;
  }
  .reac-quick-actions{
    margin:0;
    padding:9px 10px 10px;
    border:1px solid #dce6ed;
    border-top:0;
    border-radius:0 0 14px 14px;
    background:#fff;
  }
  .reac-note{margin-top:8px}
}
@media (min-width:1181px) and (max-width:1500px){
  .reac-layout{grid-template-columns:240px minmax(610px,1fr) 325px}
  .reac-results:empty::before{max-width:470px;padding:24px;font-size:11.5px}
}
@media (min-width:1181px) and (max-width:1280px){
  .reac-layout{grid-template-columns:225px minmax(545px,1fr) 305px}
  .reac-results:empty::before{max-width:410px;padding:20px;font-size:11px}
}


/* ==========================================================
   v0.50.8 — Live Property Discovery → AI Match Workspace
   Discovery cards are visual inventory only; AI results replace
   them after a conversational search without sharing rank state.
   ========================================================== */
.reac-discovery-head{align-items:center;gap:16px}
.reac-discovery-head h3{margin:4px 0 0;font-size:18px;color:#0b3153}
.reac-discovery-filters{display:flex;gap:7px;flex-wrap:wrap;justify-content:flex-end}
.reac-discovery-filters button{border:1px solid #d7e3ec;background:#fff;color:#38566e;border-radius:999px;padding:7px 13px;font-size:12px;font-weight:700;cursor:pointer}
.reac-discovery-filters button.is-active{background:#0b3153;color:#fff;border-color:#0b3153}
.reac-discovery-card .reac-card-img{position:relative}
.reac-discovery-badge{position:absolute;left:10px;top:10px;background:rgba(11,49,83,.92);color:#fff;border-radius:999px;padding:5px 9px;font-size:10px;font-weight:800;letter-spacing:.03em}
.reac-discovery-note{margin:12px 2px 2px;text-align:center;color:#7890a3;font-size:11px;line-height:1.5}
.reac-discovery-grid .reac-card{border-color:#dce6ed;box-shadow:0 5px 16px rgba(11,49,83,.05)}
@media (min-width:1181px){
  .reac-discovery-grid{padding-bottom:2px}
  .reac-discovery-grid .reac-card-actions a{width:100%;text-align:center}
}
@media (max-width:1180px){
  .reac-discovery-head{align-items:flex-start}
  .reac-discovery-filters{justify-content:flex-start}
}


/* ==========================================================
   v0.50.8.2 — Independent AI Advisor Vertical Dock
   Desktop layout-only fix: the center listing height must never
   push the advisor composer down. The advisor owns its viewport
   height and scrolls conversation internally.
   ========================================================== */
@media (min-width:1181px){
  .reac-layout{align-items:start}
  .reac-side,.reac-center{align-self:stretch}
  .reac-chat{
    align-self:start;
    position:sticky;
    top:16px;
    height:calc(100dvh - 32px);
    min-height:640px;
    max-height:900px;
    overflow:hidden;
  }
  .reac-chat::before{flex:0 0 auto}
  .reac-messages{
    flex:1 1 auto;
    min-height:0;
    height:auto;
    overflow-y:auto;
    overscroll-behavior:contain;
  }
  .reac-form,.reac-voicebar,.reac-quick-actions,.reac-note{flex:0 0 auto}
}
@media (min-width:1181px) and (max-height:760px){
  .reac-chat{height:calc(100dvh - 20px);top:10px;min-height:560px}
  .reac-messages{min-height:0}
}


/* v0.50.8.4 — Voice composer hard cleanup.
   Hide any legacy voice-language UI even if old markup survives a cache layer. */
.reac-voice-lang-label,
#reac-voice-lang,
.reac-voice-lang-source {
  position:absolute !important;
  width:1px !important;
  height:1px !important;
  padding:0 !important;
  margin:-1px !important;
  overflow:hidden !important;
  clip:rect(0,0,0,0) !important;
  clip-path:inset(50%) !important;
  white-space:nowrap !important;
  border:0 !important;
  pointer-events:none !important;
}
@media (min-width:1181px){
  .reac-voicebar{
    position:relative;
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    min-width:0;
    overflow:hidden !important;
  }
  .reac-voicebar #reac-voice-status{display:none !important;}
  .reac-voice-reply-control{
    width:100% !important;
    max-width:260px !important;
    min-width:0 !important;
    margin:0 auto !important;
    box-sizing:border-box !important;
    justify-content:center !important;
    padding:7px 9px !important;
    overflow:hidden !important;
  }
  .reac-voice-reply-copy{min-width:0 !important;max-width:calc(100% - 26px) !important;}
  .reac-voice-reply-copy strong,
  .reac-voice-reply-copy small{white-space:normal !important;overflow-wrap:anywhere !important;}
}

/* ==========================================================
   v0.50.8.5 — Quick Actions Full Expansion Fix
   Expanded actions must participate in layout instead of being
   clipped by the desktop advisor viewport dock.
   ========================================================== */
@media (min-width:1181px){
  .reac-quick-actions.is-expanded{
    overflow:visible !important;
    max-height:none !important;
  }
  .reac-quick-actions.is-expanded .reac-quick{
    display:flex !important;
    flex-wrap:wrap !important;
    max-height:none !important;
    height:auto !important;
    overflow:visible !important;
    align-content:flex-start !important;
  }
  .reac-quick-actions.is-expanded .reac-quick button{
    display:inline-flex !important;
    visibility:visible !important;
    max-width:100% !important;
  }
  .reac-chat:has(.reac-quick-actions.is-expanded){
    height:auto !important;
    max-height:none !important;
    min-height:calc(100dvh - 32px) !important;
    overflow:visible !important;
  }
  .reac-chat:has(.reac-quick-actions.is-expanded) .reac-messages{
    flex:0 1 430px !important;
    min-height:220px !important;
    max-height:430px !important;
    overflow-y:auto !important;
  }
}

/* ==========================================================
   v0.50.8.7 — Fixed Modal Footer + Scrollable Form Body
   Keep the conversion CTA visible at 100% browser zoom.
   Header/preview stay fixed, only form fields scroll, and the
   consent + submit controls remain docked inside the modal.
   ========================================================== */
.reac-modal{
  padding:20px;
  overflow:hidden;
}
.reac-modal-card{
  width:min(520px,100%);
  max-height:calc(100dvh - 40px);
  box-sizing:border-box;
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.reac-modal-card>h3,
.reac-modal-card>p,
.reac-modal-card>.reac-lead-preview,
.reac-modal-card>#reac-lead-status{
  flex:0 0 auto;
}
#reac-lead-form{
  min-height:0;
  flex:1 1 auto;
  display:flex;
  flex-direction:column;
  gap:0;
  overflow:hidden;
}
.reac-lead-fields{
  min-height:0;
  flex:1 1 auto;
  overflow-y:auto;
  overflow-x:hidden;
  overscroll-behavior:contain;
  scrollbar-gutter:stable;
  padding:2px 6px 10px 0;
  display:grid;
  grid-auto-rows:max-content;
  gap:10px;
}
.reac-lead-actions{
  flex:0 0 auto;
  position:relative;
  z-index:3;
  background:#fff;
  border-top:1px solid var(--line);
  padding:12px 0 0;
  box-shadow:0 -10px 18px rgba(11,41,64,.05);
}
.reac-lead-actions .reac-consent{
  display:flex;
  align-items:flex-start;
  justify-content:flex-start;
  gap:9px;
  margin:0 0 10px;
  padding:0;
}
.reac-lead-actions .reac-consent input{
  width:auto !important;
  flex:0 0 auto;
  margin:2px 0 0 !important;
}
.reac-lead-actions button[type=submit]{
  display:block;
  width:100%;
  min-height:44px;
  padding:12px 16px !important;
}
@media (max-height:760px){
  .reac-modal{padding:10px}
  .reac-modal-card{max-height:calc(100dvh - 20px);padding:18px 22px 14px}
  .reac-modal-card h3{margin-bottom:5px;font-size:25px;line-height:1.15}
  .reac-modal-card>p{margin:0 0 7px;font-size:12px;line-height:1.35}
  .reac-lead-preview{margin-bottom:7px;max-height:105px;overflow-y:auto}
  .reac-lead-fields{gap:8px}
  .reac-lead-actions{padding-top:9px}
  .reac-lead-actions .reac-consent{margin-bottom:8px}
}
@media (max-width:560px){
  .reac-modal{padding:10px}
  .reac-modal-card{max-height:calc(100dvh - 20px);padding:20px 16px 14px}
}


/* ==========================================================
   v0.51.0 — Tablet + Mobile Responsive Foundation
   Presentation-only responsive pass built from locked v0.50.8.7.
   No intelligence, matching, discovery, shortlist, handoff or lead logic changes.
   ========================================================== */
@media (max-width:1180px){
  .reac-app{max-width:100%;margin:12px auto 28px;padding:0 12px}
  .reac-shell{border-radius:18px;overflow:hidden}
  .reac-layout{display:grid;grid-template-columns:1fr;grid-template-areas:"chat" "results" "side";gap:12px;padding:12px;background:#eef4f8;border-top:1px solid var(--line)}
  .reac-chat,.reac-results,.reac-side{min-width:0;border:1px solid #dce6ed!important;border-radius:16px!important;background:#fff;box-shadow:0 5px 18px rgba(11,49,83,.05)}
  .reac-chat{grid-area:chat;position:relative!important;top:auto!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;padding:20px}
  .reac-results{grid-area:results;padding:20px;border-top:1px solid #dce6ed!important}
  .reac-side{grid-area:side;position:relative!important;top:auto!important;min-height:0!important;padding:20px;border-left:1px solid #dce6ed!important}
  .reac-messages{height:280px;min-height:220px;max-height:38vh;overflow-y:auto;overscroll-behavior:contain}
  .reac-form{display:flex;gap:8px}
  .reac-form .reac-input-wrap{min-width:0}
  .reac-form>button{min-width:92px;padding:0 16px}
  .reac-quick{max-height:none!important;overflow:visible!important}
  .reac-results-head,.reac-discovery-head{gap:12px;flex-wrap:wrap}
  .reac-discovery-filters{width:100%;justify-content:flex-start}
  .reac-grid,.reac-discovery-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
  .reac-card-img{height:210px}
  .reac-card-actions{flex-direction:row}
  .reac-card-actions a,.reac-card-actions button{min-height:44px}
  .reac-modal-card{width:min(540px,calc(100vw - 24px))}
}

@media (max-width:760px){
  .reac-app{margin-top:8px;margin-bottom:18px;padding:0 7px}
  .reac-shell{border-radius:14px}
  .reac-header{padding:20px 16px 18px}
  .reac-header h2{font-size:25px;line-height:1.15}
  .reac-header p{font-size:12px;line-height:1.55}
  .reac-layout{gap:9px;padding:8px}
  .reac-chat,.reac-results,.reac-side{border-radius:14px!important;padding:16px 14px}
  .reac-chat::before{font-size:16px;margin-bottom:8px;padding-bottom:10px}
  .reac-messages{height:240px;min-height:200px;max-height:42vh;padding-bottom:10px}
  .reac-bubble{max-width:92%;font-size:12px}
  .reac-form{display:grid;grid-template-columns:1fr;gap:8px}
  .reac-form textarea{min-height:72px}
  .reac-form>button{width:100%;min-height:46px;padding:12px 16px}
  .reac-voicebar{width:100%;align-items:stretch!important}
  .reac-voice-reply-control{max-width:none!important;width:100%!important;justify-content:center!important}
  .reac-quick-actions{margin-top:12px}
  .reac-quick{gap:7px}
  .reac-quick button{min-height:38px;font-size:11px;padding:8px 10px}
  .reac-results-head h3,.reac-discovery-head h3{font-size:19px}
  .reac-discovery-filters{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
  .reac-discovery-filters button{width:100%;padding:8px 6px;font-size:11px}
  .reac-grid,.reac-discovery-grid{grid-template-columns:1fr;gap:12px}
  .reac-card-img{height:220px}
  .reac-card-body{padding:14px}
  .reac-card-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}
  .reac-card-actions a,.reac-card-actions button{width:100%;min-height:44px}
  .reac-side-title{font-size:17px}
  .reac-lead-btn{min-height:48px}
  .reac-modal{padding:8px;align-items:center}
  .reac-modal-card{width:100%;max-height:calc(100dvh - 16px);border-radius:15px;padding:18px 14px 12px}
  .reac-modal-card h3{font-size:22px;line-height:1.15;padding-right:28px}
  .reac-lead-preview{max-height:112px;overflow-y:auto}
  .reac-lead-fields{gap:8px}
  .reac-lead-actions{padding-top:9px}
  .reac-lead-actions button[type=submit]{min-height:48px}
}

@media (max-width:420px){
  .reac-app{padding:0 4px}
  .reac-layout{padding:6px;gap:7px}
  .reac-chat,.reac-results,.reac-side{padding:14px 11px}
  .reac-messages{height:220px}
  .reac-card-img{height:200px}
  .reac-card-actions{grid-template-columns:1fr}
  .reac-discovery-filters button{font-size:10px;padding:8px 3px}
  .reac-modal-card{padding-left:12px;padding-right:12px}
  .reac-consent{font-size:11px}
}


/* ==========================================================
   v0.51.1 — Mobile Journey + App-Style Action Dock
   Stable decision steps, persistent high-value actions, and
   mobile-app visual rhythm. Presentation/navigation only.
   ========================================================== */
.reac-mobile-dock{display:none}
@media (max-width:760px){
  body.reac-mobile-dock-active{padding-bottom:82px!important}
  .reac-mobile-dock{
    position:fixed;left:10px;right:10px;bottom:max(10px,env(safe-area-inset-bottom));z-index:99990;
    display:grid;grid-template-columns:.9fr .9fr 1fr 1.15fr;gap:5px;padding:7px;
    background:rgba(255,255,255,.96);border:1px solid #d8e4ec;border-radius:18px;
    box-shadow:0 12px 34px rgba(8,38,61,.22);backdrop-filter:blur(14px);
    transform:translateY(calc(100% + 24px));opacity:0;pointer-events:none;
    transition:transform .22s ease,opacity .22s ease;
  }
  .reac-mobile-dock.is-visible{transform:translateY(0);opacity:1;pointer-events:auto}
  .reac-mobile-dock button{
    min-width:0;min-height:52px;border:0;border-radius:13px;background:#f1f6f9;color:#12364f;
    display:flex;align-items:center;justify-content:center;gap:5px;padding:8px 5px;font:inherit;
  }
  .reac-mobile-dock button span{font-size:17px;line-height:1}
  .reac-mobile-dock button small{font-size:11px;font-weight:750;white-space:nowrap}
  .reac-mobile-dock button.is-map{background:linear-gradient(135deg,#0c759d,#16a7c7);color:#fff;box-shadow:0 5px 13px rgba(12,117,157,.20)}
  .reac-mobile-dock button.is-primary{background:#0b3048;color:#fff}
  .reac-layout{grid-template-areas:"chat" "results" "side"}
  .reac-chat{scroll-margin-top:10px}
  .reac-results{scroll-margin-top:10px}
  /* Reduce the desktop-page feeling: cards sit edge-to-edge like app surfaces. */
  .reac-app{padding-left:0;padding-right:0;margin-top:0}
  .reac-shell{border-radius:0;border-left:0;border-right:0}
  .reac-layout{padding:7px;background:#f3f7fa}
  .reac-chat,.reac-results,.reac-side{box-shadow:0 2px 10px rgba(11,49,83,.045)}
  /* The site's legacy floating contact bubble competes with the app dock. */
  body.reac-mobile-dock-active .joinchat,
  body.reac-mobile-dock-active .floating-contact,
  body.reac-mobile-dock-active #floating-contact,
  body.reac-mobile-dock-active .contact-us-floating{bottom:88px!important}
}


/* ==========================================================
   v0.51.3 — Conversational Mobile Flow
   Keep missing goal decisions next to AI and remove duplicate
   legacy contact launchers from the mobile AI workspace.
   ========================================================== */
@media (max-width:760px){
  /* Goal/clarification choices are first-class app controls on mobile. */
  .reac-chat .reac-conversation-choices{
    display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;
    margin-top:10px;padding:9px;background:#f4f8fb;border:1px solid #dbe6ed;border-radius:14px;
  }
  .reac-chat .reac-conversation-choices button{
    min-width:0;min-height:46px;padding:9px 6px;border-radius:11px;font-size:11px;font-weight:750;
  }
  .reac-chat .reac-conversation-choices .reac-choice-hint{
    grid-column:1/-1;text-align:center;margin-top:1px;font-size:10px;
  }

  /* On the dedicated AI page the app dock owns advisor access. Hide the
     site's duplicate floating contact/chat launchers rather than moving them. */
  body:has(#reac-app) .houzez-chat-widget,
  body:has(#reac-app) .houzez-chat-widget-wrap,
  body:has(#reac-app) .houzez-chat-button,
  body:has(#reac-app) .chaty-widget,
  body:has(#reac-app) .chaty-widget-i,
  body:has(#reac-app) .chaty-widget-show,
  body:has(#reac-app) [id^="chaty-widget"],
  body:has(#reac-app) .joinchat,
  body:has(#reac-app) .ht-ctc,
  body:has(#reac-app) #ht-ctc-chat,
  body:has(#reac-app) .qlwapp,
  body:has(#reac-app) #qlwapp,
  body:has(#reac-app) .crisp-client,
  body:has(#reac-app) #tidio-chat,
  body:has(#reac-app) .tawk-min-container,
  body:has(#reac-app) .contact-us-floating,
  body:has(#reac-app) iframe[title*="chat" i],
  body:has(#reac-app) iframe[title*="contact" i]{
    display:none!important;visibility:hidden!important;pointer-events:none!important;
  }
}

/* ==========================================================
   v0.51.5 — Mobile Navigation State + Modal Focus
   The app dock yields to the advisor modal and navigation
   targets get stable scroll anchors. No matching logic changes.
   ========================================================== */
@media (max-width:760px){
  body.reac-advisor-modal-open .reac-mobile-dock{
    display:none!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  body.reac-advisor-modal-open{padding-bottom:0!important}
  #reac-shortlist-box,.reac-shortlist-box{scroll-margin-top:16px;scroll-margin-bottom:92px}
  .reac-form{scroll-margin-top:18px;scroll-margin-bottom:96px}
}

/* ==========================================================
   v0.51.6 — Social Conversation + Mobile Language & Insight Polish
   Mobile presentation only. Desktop layout and core matching stay locked.
   ========================================================== */
@media (max-width:760px){
  /* Language is a global app control: keep it visible in the AI hero/header. */
  .reac-ai-hero{position:relative;padding-top:58px!important}
  .reac-ai-hero .reac-header-tools{
    display:flex!important;position:absolute!important;top:12px!important;right:12px!important;
    z-index:8;margin:0!important;width:auto!important;align-items:center!important;
  }
  .reac-ai-hero .reac-ai-lang-switch{
    display:inline-grid!important;grid-template-columns:1fr 1fr;gap:3px;padding:3px;
    border:1px solid #d8e4ec;border-radius:999px;background:rgba(255,255,255,.96);
    box-shadow:0 4px 14px rgba(11,49,83,.10);
  }
  .reac-ai-hero .reac-ai-lang-switch button{
    min-width:48px;min-height:34px;padding:6px 10px!important;border:0!important;border-radius:999px!important;
    font-size:11px!important;font-weight:800!important;background:transparent!important;color:#24465d!important;
  }
  .reac-ai-hero .reac-ai-lang-switch button.is-active{
    background:#0b3048!important;color:#fff!important;box-shadow:none!important;
  }
  /* Suppress legacy language selectors/status controls on mobile; hero is source of truth. */
  .reac-voice-lang-label,.reac-voice-lang,.reac-voicebar select,#reac-voice-lang{display:none!important}

  /* Turn loose desktop KPIs into one compact app-style insight surface. */
  .reac-center-stats{
    display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;margin:8px 0 10px!important;padding:10px!important;
    background:#f5f9fc!important;border:1px solid #dce7ee!important;border-radius:16px!important;
  }
  .reac-center-stats .reac-stat{
    min-width:0!important;min-height:74px!important;margin:0!important;padding:10px!important;
    border:1px solid #e0e9ef!important;border-radius:12px!important;background:#fff!important;
    box-shadow:none!important;color:#16394f!important;display:flex!important;align-items:center!important;gap:9px!important;
    text-align:left!important;
  }
  .reac-center-stats .reac-stat>b{
    flex:0 0 30px;width:30px;height:30px;border-radius:9px;background:#edf4f8!important;color:#0b5678!important;
    display:grid!important;place-items:center!important;font-size:14px!important;
  }
  .reac-center-stats .reac-stat span{min-width:0!important;display:block!important}
  .reac-center-stats .reac-stat strong{display:block!important;font-size:16px!important;line-height:1.1!important;color:#102f43!important}
  .reac-center-stats .reac-stat small{display:block!important;margin-top:3px!important;font-size:9.5px!important;line-height:1.25!important;color:#668092!important}
}
@media (max-width:390px){
  .reac-center-stats{grid-template-columns:1fr 1fr!important;padding:8px!important;gap:6px!important}
  .reac-center-stats .reac-stat{min-height:68px!important;padding:8px!important;gap:7px!important}
  .reac-center-stats .reac-stat>b{flex-basis:27px;width:27px;height:27px}
  .reac-center-stats .reac-stat strong{font-size:14px!important}
}


/* v0.60.40 admin-only build integrity marker. Public visitors never receive this element. */
.reac-admin-build{font-size:9px;line-height:1.3;color:#8b98a7;text-align:right;padding:2px 10px 6px;opacity:.72;letter-spacing:.02em}
.reac-admin-build.is-mismatch{color:#b42318;font-weight:700;opacity:1}


/* ==========================================================
   v0.61.0 — MapDoor MVP / AI Map Search
   Isolated presentation module; no Conversation Core styling changed.
   ========================================================== */
.reac-workspace-bar{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.reac-workspace-bar>span{flex:1 1 auto}
.reac-mapdoor-open{border:1px solid rgba(255,255,255,.28);border-radius:999px;padding:9px 15px;background:linear-gradient(135deg,#0879a3,#19a8c7);color:#fff;font-weight:850;cursor:pointer;box-shadow:0 7px 20px rgba(8,121,163,.25);transition:transform .18s ease,box-shadow .18s ease,filter .18s ease}.reac-mapdoor-open:hover{transform:translateY(-1px);box-shadow:0 9px 24px rgba(8,121,163,.32);filter:saturate(1.06)}.reac-mapdoor-open:focus-visible{outline:3px solid rgba(25,168,199,.25);outline-offset:2px}
.reac-mapdoor[hidden]{display:none!important}
.reac-mapdoor{margin:14px 0 22px;border:1px solid #d8e5ed;border-radius:18px;background:#fff;box-shadow:0 12px 30px rgba(16,47,67,.10);overflow:hidden}
.reac-mapdoor-head{display:flex;justify-content:space-between;gap:18px;align-items:flex-start;padding:18px 20px 14px;background:linear-gradient(135deg,#f6fbfe,#eef6fa)}
.reac-mapdoor-head h3{margin:3px 0 5px;font-size:20px;color:#102f43}.reac-mapdoor-head p{margin:0;color:#617c8d;font-size:12px}
.reac-mapdoor-actions{display:flex;gap:7px;flex-wrap:wrap}.reac-mapdoor-actions button{border:1px solid #cddde7;background:#fff;color:#23475d;border-radius:10px;padding:8px 11px;font-weight:700;cursor:pointer}
.reac-mapdoor-status{padding:9px 20px;border-top:1px solid #e5eef3;border-bottom:1px solid #e5eef3;color:#3d6074;font-size:12px;font-weight:700}
.reac-mapdoor-map{height:440px;width:100%;background:#edf3f6;z-index:1}
.reac-mapdoor-results{padding:16px 18px 20px}.reac-mapdoor-result-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:12px}.reac-mapdoor-result-head span{font-size:11px;color:#78909f}
.reac-mapdoor-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.reac-mapdoor-card{display:grid;grid-template-columns:92px 1fr;gap:10px;border:1px solid #e0e9ef;border-radius:13px;padding:9px;background:#fff;min-width:0}.reac-mapdoor-card img{width:92px;height:86px;object-fit:cover;border-radius:9px}.reac-mapdoor-card h4{font-size:13px;line-height:1.25;margin:1px 0 4px;color:#15394f}.reac-mapdoor-card p{font-size:10px;color:#718998;margin:0 0 7px}.reac-mapdoor-card a{font-size:10px;font-weight:800;color:#0b678e}.reac-mapdoor-meta{display:flex;gap:8px;justify-content:space-between;font-size:10px;margin-bottom:5px}.reac-mapdoor-empty{padding:18px;text-align:center;color:#6c8392;background:#f7fafc;border-radius:12px}
@media(max-width:900px){.reac-mapdoor-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.reac-mapdoor-head{display:block}.reac-mapdoor-actions{margin-top:12px}.reac-mapdoor-map{height:58vh;min-height:360px}.reac-mapdoor-grid{grid-template-columns:1fr}.reac-mapdoor-result-head{display:block}.reac-mapdoor-result-head span{display:block;margin-top:3px}.reac-mapdoor-open{width:100%;margin-top:3px}}

/* v0.61.3 MapDoor demo UX: map-first, compact post-draw results */
.reac-mapdoor-ready{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 15px;border:1px dashed #c9dbe6;border-radius:12px;background:#f8fbfd;color:#31586e}
.reac-mapdoor-ready strong{font-size:13px;color:#15394f}.reac-mapdoor-ready span{font-size:11px;color:#718998;text-align:right}
.reac-mapdoor-results{max-height:none}
@media(max-width:760px){.reac-mapdoor-ready{display:block}.reac-mapdoor-ready span{display:block;text-align:left;margin-top:4px}}

/* ==========================================================
   v0.61.5 — MapDoor Smart Feedback + Nearby Intelligence
   Presentation-only enhancements; Conversation Core remains isolated.
   ========================================================== */
.reac-mapdoor-smart{display:flex;align-items:center;gap:14px;padding:10px 18px;background:linear-gradient(90deg,#0d6387,#1697bd);color:#fff;border-bottom:1px solid rgba(255,255,255,.18)}
.reac-mapdoor-smart[hidden]{display:none!important}.reac-mapdoor-count{display:flex;align-items:baseline;gap:7px;white-space:nowrap}.reac-mapdoor-count strong{font-size:25px;line-height:1}.reac-mapdoor-count small{font-size:10px;font-weight:800;opacity:.9;text-transform:uppercase;letter-spacing:.06em}
.reac-mapdoor-summary{display:flex;gap:7px;flex-wrap:wrap;align-items:center}.reac-mapdoor-summary>span{font-size:10px;font-weight:700;padding:5px 8px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22)}.reac-mapdoor-summary b{font-size:11px}
.reac-mapdoor-radius{background:#fff!important;color:#0b5678!important}
.reac-mapdoor-highlight{display:inline-block;margin:0 0 4px;padding:3px 6px;border-radius:999px;background:#e8f7fc;color:#08698f;font-size:8.5px;font-weight:900;letter-spacing:.04em;text-transform:uppercase}
.reac-mapdoor .leaflet-marker-icon.reac-mapdoor-pulse{animation:reacMapPulse .55s ease-out 1}@keyframes reacMapPulse{0%{transform:scale(.55);opacity:.25}70%{transform:scale(1.18);opacity:1}100%{transform:scale(1);opacity:1}}
.reac-mapdoor-radius-tip{background:#0b5678!important;color:#fff!important;border:0!important;border-radius:999px!important;padding:4px 8px!important;font-weight:800!important;font-size:10px!important;box-shadow:0 4px 12px rgba(0,0,0,.16)!important}.reac-mapdoor-radius-tip:before{display:none!important}
.reac-mapdoor-nearby{padding:13px 18px 15px;background:#f7fbfd;border-top:1px solid #dce9f0;border-bottom:1px solid #dce9f0}.reac-mapdoor-nearby[hidden]{display:none!important}.reac-mapdoor-nearby-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:10px}.reac-mapdoor-nearby-head strong{font-size:12px;color:#123c55}.reac-mapdoor-nearby-head span{font-size:9.5px;color:#6f8897}.reac-mapdoor-nearby-head.is-muted{margin-bottom:0}
.reac-mapdoor-nearby-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.reac-mapdoor-nearby-card{background:#fff;border:1px solid #dfeaf0;border-radius:11px;padding:9px 10px;min-width:0}.reac-mapdoor-nearby-card h4{margin:0 0 6px;font-size:11px;color:#15394f}.reac-mapdoor-nearby-card ul{list-style:none;margin:0;padding:0}.reac-mapdoor-nearby-card li{display:flex;justify-content:space-between;gap:7px;padding:4px 0;border-top:1px solid #edf3f6;font-size:9px;color:#547184}.reac-mapdoor-nearby-card li:first-child{border-top:0}.reac-mapdoor-nearby-card li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.reac-mapdoor-nearby-card li b{color:#0b5678;white-space:nowrap}.reac-mapdoor-nearby-card li.is-empty{display:block;color:#8da0ac}
@media(max-width:760px){.reac-mapdoor-smart{align-items:flex-start;flex-direction:column;gap:7px}.reac-mapdoor-nearby-head{display:block}.reac-mapdoor-nearby-head span{display:block;margin-top:3px}.reac-mapdoor-nearby-grid{grid-template-columns:1fr}.reac-mapdoor-count strong{font-size:22px}}

/* v0.61.6.3 Nearby residential essentials */
.reac-mapdoor-nearby-card h4 small{font-size:9px;color:#78909d;font-weight:700}
@media(min-width:1180px){.reac-mapdoor-nearby-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* v0.66.1 Smart Map ↔ Results Switching */
.reac-mapdoor-open.has-map-state{box-shadow:0 0 0 2px rgba(22,151,189,.16),0 6px 18px rgba(11,86,120,.18)}


/* v0.66.2 AI Map Navigation Polish — presentation only */
@media(max-width:390px){
  .reac-mobile-dock{left:6px;right:6px;gap:4px;padding:6px;grid-template-columns:repeat(4,minmax(0,1fr))}
  .reac-mobile-dock button{min-height:50px;padding:7px 3px;gap:3px;flex-direction:column}
  .reac-mobile-dock button span{font-size:16px}
  .reac-mobile-dock button small{font-size:9.5px}
}
