.r22-conversation{
  --r22-conversation-accent:var(--r22-brown,#9b7654);
  --r22-conversation-accent-dark:var(--r22-brown-dark,#765235);
  --r22-conversation-surface:var(--r22-surface,#fff);
  --r22-conversation-soft:var(--r22-surface-soft,#fbf7f2);
  --r22-conversation-line:var(--r22-line,#eadfd4);
  height:100%;
  min-height:620px;
  display:flex;
  flex-direction:column;
  border:1px solid var(--r22-conversation-line);
  border-radius:26px;
  background:var(--r22-conversation-surface);
  overflow:hidden;
  color:#292521;
}
.r22-conversation *{box-sizing:border-box}
.r22-conversation button,.r22-conversation textarea{font:inherit}
.r22-conversation-head{
  min-height:72px;
  padding:13px 17px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  border-bottom:1px solid var(--r22-conversation-line);
  background:color-mix(in srgb,var(--r22-conversation-surface) 92%,var(--r22-conversation-soft));
}
.r22-conversation-title{display:flex;align-items:center;gap:11px;min-width:0}
.r22-conversation-title>div{min-width:0}
.r22-conversation-title strong,.r22-conversation-title small{display:block}
.r22-conversation-title strong{font-size:16px}
.r22-conversation-title small{margin-top:2px;font-size:10px;color:#81756a;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.r22-conversation-mark,.r22-conversation-avatar{
  display:grid;
  place-items:center;
  flex:0 0 auto;
  border-radius:13px;
  background:var(--r22-conversation-soft);
  color:var(--r22-conversation-accent);
}
.r22-conversation-mark{width:42px;height:42px;font-size:22px}
.r22-conversation-new{
  flex:0 0 auto;
  min-height:36px;
  padding:7px 12px;
  border:1px solid var(--r22-conversation-line);
  border-radius:11px;
  background:transparent;
  color:var(--r22-conversation-accent-dark);
  cursor:pointer;
}
.r22-conversation-head-actions{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:7px;
}
.r22-conversation-close{
  width:38px;
  height:38px;
  padding:0;
  display:grid;
  place-items:center;
  border:1px solid var(--r22-conversation-line);
  border-radius:12px;
  background:var(--r22-conversation-soft);
  color:var(--r22-conversation-accent-dark);
  cursor:pointer;
}
.r22-conversation-tabs{display:none}
.r22-conversation-layout{
  flex:1 1 auto;
  min-height:0;
  display:grid;
  grid-template-columns:minmax(320px,.85fr) minmax(390px,1.15fr);
  grid-template-rows:minmax(280px,1fr) minmax(220px,.78fr);
}
.r22-conversation-thread{
  min-width:0;
  min-height:0;
  grid-row:1 / -1;
  display:flex;
  flex-direction:column;
  border-left:1px solid var(--r22-conversation-line);
  background:var(--r22-conversation-soft);
}
.r22-conversation-messages{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  overscroll-behavior:contain;
  padding:20px 18px 14px;
}
.r22-conversation-message{
  margin:0 0 16px;
  display:flex;
  align-items:flex-start;
  gap:9px;
}
.r22-conversation-message>div{
  max-width:min(86%,620px);
  padding:11px 14px;
  border:1px solid var(--r22-conversation-line);
  border-radius:16px 16px 5px 16px;
  background:var(--r22-conversation-surface);
  box-shadow:0 5px 18px rgba(74,53,34,.04);
}
.r22-conversation-message p{
  margin:0;
  font-size:13px;
  line-height:2;
  white-space:pre-wrap;
  overflow-wrap:anywhere;
}
.r22-conversation-message.is-user{flex-direction:row-reverse}
.r22-conversation-message.is-user>div{
  border-color:color-mix(in srgb,var(--r22-conversation-accent) 22%,transparent);
  border-radius:16px 16px 16px 5px;
  background:color-mix(in srgb,var(--r22-conversation-accent) 10%,var(--r22-conversation-surface));
}
.r22-conversation-avatar{width:30px;height:30px;font-size:13px}
.r22-conversation-message.is-user .r22-conversation-avatar{font-size:8px}
.r22-conversation-message.is-loading{opacity:.62}
.r22-conversation-message.is-loading .r22-conversation-avatar{animation:r22-conversation-pulse 1s ease-in-out infinite}
@keyframes r22-conversation-pulse{50%{transform:scale(.82);opacity:.48}}
.r22-conversation-remaining{margin:4px 39px 14px;color:#8c8075;font-size:9px}
.r22-conversation-suggestions{
  flex:0 0 auto;
  padding:8px 14px;
  display:flex;
  gap:7px;
  overflow-x:auto;
  scrollbar-width:none;
}
.r22-conversation-suggestions::-webkit-scrollbar{display:none}
.r22-conversation-suggestions button{
  flex:0 0 auto;
  padding:7px 10px;
  border:1px solid var(--r22-conversation-line);
  border-radius:999px;
  background:var(--r22-conversation-surface);
  color:var(--r22-conversation-accent-dark);
  font-size:10px;
  cursor:pointer;
}
.r22-conversation-composer{
  flex:0 0 auto;
  margin:0 13px 13px;
  min-height:58px;
  padding:7px;
  display:flex;
  align-items:flex-end;
  gap:7px;
  border:1px solid var(--r22-conversation-line);
  border-radius:18px;
  background:var(--r22-conversation-surface);
  box-shadow:0 12px 35px rgba(74,53,34,.08);
}
.r22-conversation-composer textarea{
  flex:1 1 auto;
  min-width:0;
  min-height:42px;
  max-height:132px;
  padding:10px 8px;
  resize:none;
  overflow-y:auto;
  border:0;
  outline:0;
  background:transparent;
  color:inherit;
  line-height:1.8;
}
.r22-conversation-voice,.r22-conversation-send{
  width:42px;
  height:42px;
  flex:0 0 42px;
  display:grid;
  place-items:center;
  border:0;
  border-radius:14px;
  cursor:pointer;
}
.r22-conversation-voice{background:var(--r22-conversation-soft);color:var(--r22-conversation-accent)}
.r22-conversation-voice.is-listening{animation:r22-conversation-pulse .75s ease-in-out infinite;background:#fff0ed;color:#b94d3e}
.r22-conversation-send{background:var(--r22-conversation-accent);color:#fff;font-size:23px}
.r22-conversation-composer.is-busy{opacity:.72}
.r22-conversation-results,.r22-conversation-map-panel{min-width:0;min-height:0;background:var(--r22-conversation-surface)}
.r22-conversation-results{
  display:flex;
  flex-direction:column;
  border-bottom:1px solid var(--r22-conversation-line);
}
.r22-conversation-results-head{
  padding:14px 17px 9px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}
.r22-conversation-results-head strong,.r22-conversation-results-head small{display:block}
.r22-conversation-results-head strong{font-size:14px}
.r22-conversation-results-head small{margin-top:2px;color:#8c8075;font-size:9px}
.r22-conversation-businesses{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:5px 14px 15px;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:start;
  gap:9px;
}
.r22-conversation-empty{
  grid-column:1 / -1;
  min-height:130px;
  padding:22px;
  display:grid;
  place-items:center;
  border:1px dashed var(--r22-conversation-line);
  border-radius:17px;
  color:#8c8075;
  text-align:center;
  font-size:11px;
}
.r22-conversation-business{
  min-width:0;
  padding:9px;
  display:flex;
  gap:10px;
  border:1px solid var(--r22-conversation-line);
  border-radius:17px;
  background:color-mix(in srgb,var(--r22-conversation-surface) 94%,var(--r22-conversation-soft));
}
.r22-conversation-business-media{
  width:72px;
  height:72px;
  flex:0 0 72px;
  object-fit:cover;
  display:grid;
  place-items:center;
  border-radius:13px;
  background:var(--r22-conversation-soft);
  color:var(--r22-conversation-accent);
  font-size:24px;
}
.r22-conversation-business-body{min-width:0;flex:1}
.r22-conversation-business h3{
  margin:0 0 3px;
  display:flex;
  align-items:center;
  gap:5px;
  font-size:12px;
  line-height:1.7;
}
.r22-conversation-business h3 a{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:inherit;text-decoration:none}
.r22-conversation-verified{width:16px;height:16px;display:grid;place-items:center;border-radius:50%;background:#e7f5e5;color:#398536;font-size:9px}
.r22-conversation-business-meta{display:block;color:#887b70;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.r22-conversation-business p{margin:4px 0 0;color:#5e554d;font-size:9px;line-height:1.75;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.r22-conversation-business-footer{margin-top:7px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.r22-conversation-business-footer>div{display:flex;gap:5px}
.r22-conversation-business-footer a{padding:4px 7px;border-radius:7px;background:var(--r22-conversation-soft);color:var(--r22-conversation-accent-dark);font-size:8px;text-decoration:none}
.r22-conversation-rating{color:#b48628;font-size:8px;white-space:nowrap}
.r22-conversation-map-panel{position:relative;padding:12px}
.r22-conversation-map{width:100%;height:100%;min-height:190px;border-radius:17px;background:var(--r22-conversation-soft)}
.r22-conversation-map-empty{
  position:absolute;
  inset:50% auto auto 50%;
  transform:translate(-50%,-50%);
  z-index:500;
  margin:0;
  padding:9px 13px;
  border-radius:12px;
  background:rgba(255,255,255,.92);
  color:#756a61;
  font-size:10px;
  white-space:nowrap;
}
@media(max-width:980px){
  .r22-conversation-layout{grid-template-columns:minmax(280px,.9fr) minmax(330px,1.1fr)}
  .r22-conversation-businesses{grid-template-columns:1fr}
}
@media(max-width:780px){
  .r22-conversation{min-height:0;border-radius:20px}
  .r22-conversation-head{min-height:61px;padding:9px 11px}
  .r22-conversation-title small{max-width:190px}
  .r22-conversation-mark{width:37px;height:37px;border-radius:12px}
  .r22-conversation-new{min-height:32px;padding:5px 9px;font-size:9px}
  .r22-conversation-close{width:34px;height:34px;border-radius:11px}
  .r22-conversation-tabs{
    flex:0 0 auto;
    padding:6px;
    display:grid;
    grid-template-columns:repeat(3,minmax(0,1fr));
    gap:5px;
    border-bottom:1px solid var(--r22-conversation-line);
    background:var(--r22-conversation-surface);
  }
  .r22-conversation-tabs button{
    min-height:35px;
    border:0;
    border-radius:10px;
    background:transparent;
    color:#776b61;
    font-size:10px;
    cursor:pointer;
  }
  .r22-conversation-tabs button.is-active{background:var(--r22-conversation-soft);color:var(--r22-conversation-accent-dark);font-weight:700}
  .r22-conversation-tabs button.has-new-results{box-shadow:inset 0 -2px 0 var(--r22-conversation-accent)}
  .r22-conversation-layout{display:block;min-height:0;position:relative}
  .r22-conversation-thread,.r22-conversation-results,.r22-conversation-map-panel{
    display:none;
    height:100%;
    border:0;
  }
  .r22-conversation-thread.is-active{display:flex}
  .r22-conversation-results.is-active{display:flex}
  .r22-conversation-map-panel.is-active{display:block}
  .r22-conversation-messages{padding:14px 11px 8px}
  .r22-conversation-message>div{max-width:88%;padding:9px 11px}
  .r22-conversation-message p{font-size:11px}
  .r22-conversation-suggestions{padding:7px 10px}
  .r22-conversation-composer{margin:0 9px 9px;min-height:54px}
  .r22-conversation-composer textarea{min-height:38px}
  .r22-conversation-voice,.r22-conversation-send{width:38px;height:38px;flex-basis:38px;border-radius:12px}
  .r22-conversation-results-head{padding:12px 13px 8px}
  .r22-conversation-businesses{padding:4px 10px 12px;grid-template-columns:1fr}
  .r22-conversation-business-media{width:78px;height:78px;flex-basis:78px}
  .r22-conversation-map-panel{padding:9px}
  .r22-conversation-map{min-height:100%}
}

/* 0.4.1 — results live inside the conversation instead of a separate tab. */
.r22-conversation-layout{
  grid-template-columns:minmax(0,1.25fr) minmax(300px,.75fr);
  grid-template-rows:minmax(0,1fr);
}
.r22-conversation-thread{
  grid-row:auto;
}
.r22-conversation-map-panel{
  min-height:0;
}
.r22-conversation-inline-results{
  width:min(92%,720px);
  margin:2px 39px 18px 0;
  padding:11px;
  border:1px solid var(--r22-conversation-line);
  border-radius:18px;
  background:color-mix(in srgb,var(--r22-conversation-surface) 94%,var(--r22-conversation-soft));
  box-shadow:0 8px 22px rgba(74,53,34,.05);
}
.r22-conversation-inline-results-head{
  padding:0 2px 9px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
}
.r22-conversation-inline-results-head strong{font-size:11px}
.r22-conversation-inline-results-head small{color:#8c8075;font-size:9px}
.r22-conversation-inline-results .r22-conversation-businesses{
  min-height:0;
  padding:0;
  overflow:visible;
  grid-template-columns:repeat(2,minmax(0,1fr));
}
@media(max-width:980px) and (min-width:781px){
  .r22-conversation-layout{
    grid-template-columns:minmax(0,1fr) minmax(270px,.62fr);
  }
  .r22-conversation-inline-results .r22-conversation-businesses{
    grid-template-columns:1fr;
  }
}
@media(max-width:780px){
  .r22-conversation-tabs{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .r22-conversation-layout{
    display:block;
  }
  .r22-conversation-thread{
    padding-bottom:0;
  }
  .r22-conversation-messages{
    padding-bottom:12px;
  }
  .r22-conversation-inline-results{
    width:calc(100% - 39px);
    margin:0 39px 15px 0;
    padding:8px;
    border-radius:15px;
  }
  .r22-conversation-inline-results .r22-conversation-businesses{
    grid-template-columns:1fr;
  }
  .r22-conversation-composer{
    position:sticky;
    bottom:0;
    z-index:30;
    margin-bottom:calc(9px + env(safe-area-inset-bottom));
  }
}
