/* Inline GuideDogs writing workspace. */
.guidedogs-workspace {
  background: #fff;
  border: 1px solid #dedbd4;
  border-radius: .9rem;
  box-shadow: 0 4px 20px rgba(27, 44, 32, .08);
  display: flex;
  flex-direction: column;
  height: max(48rem, calc(100vh - 8rem));
  height: max(48rem, calc(100dvh - 8rem));
  margin: 1rem clamp(.5rem, 2vw, 1.75rem) 2rem;
  overflow: hidden;
  position: relative;
}
.guidedogs-workspace-header {
  align-items: center;
  background: #fbfaf6;
  border-bottom: 1px solid #dedbd4;
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  gap: .65rem 1.5rem;
  padding: 1rem 1.2rem;
}
.guidedogs-workspace-intro { flex: 1 1 30rem; }
.guidedogs-workspace-header h1 {
  color: #263b31;
  font-size: 1.4rem;
  margin: 0 0 .3rem;
}
.guidedogs-workspace-header p {
  color: #687069;
  font-size: .8rem;
  line-height: 1.5;
  margin: 0;
  max-width: 54rem;
}
.guidedogs-workspace-header .guidedogs-workspace-allowance {
  flex: 0 1 15rem;
  font-size: .75rem;
}
.guidedogs-workspace-allowance a { display: block; }
.guidedogs-chat-layout {
  display: grid;
  flex: 1 1 auto;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 38%);
  min-height: 0;
  position: relative;
}
.guidedogs-mobile-chat-header,
.guidedogs-description-navigation,
.guidedogs-mobile-chat-toggle {
  display: none;
}
.guidedogs-description-pane {
  background: #fbfaf6;
  border-left: 1px solid #dedbd4;
  display: flex;
  flex-direction: column;
  grid-column: 2;
  grid-row: 1;
  min-height: 0;
  min-width: 0;
  overflow-y: auto;
}
.guidedogs-image-section { border-bottom: 1px solid #dedbd4; flex: 0 0 auto; }
.guidedogs-image-header {
  align-items: center;
  display: flex;
  gap: .5rem;
  justify-content: space-between;
  padding: .5rem 1rem;
}
.guidedogs-image-header h2,
.guidedogs-description-header h2 {
  color: #263b31;
  font-size: .95rem;
  margin: 0;
}
.guidedogs-image-toggle {
  align-items: center;
  background: #fff;
  border: 1px solid #c9d5cd;
  border-radius: .4rem;
  color: #15505a;
  display: inline-flex;
  font-size: .75rem;
  font-weight: 600;
  gap: .35rem;
  min-height: 2.25rem;
  padding: .3rem .6rem;
}
.guidedogs-image-toggle:hover { background: #eef4f1; }
.guidedogs-image-toggle[aria-expanded="true"] svg { transform: rotate(180deg); }
.guidedogs-component-image {
  align-items: center;
  background: #eef1e9;
  display: flex;
  height: 72px;
  justify-content: center;
  margin: 0;
  overflow: hidden;
  padding: .35rem;
}
.guidedogs-image-section.is-expanded .guidedogs-component-image { height: clamp(120px, 19vh, 190px); padding: .65rem; }
.guidedogs-component-image img {
  border-radius: .35rem;
  height: 100%;
  max-width: 100%;
  object-fit: contain;
  width: 100%;
}
.guidedogs-image-preview-trigger {
  background: transparent;
  border: 0;
  cursor: zoom-in;
  display: block;
  height: 100%;
  padding: 0;
  position: relative;
  width: 100%;
}
.guidedogs-image-enlarge-label {
  align-items: center;
  background: #fff;
  border: 1px solid #c9d5cd;
  border-radius: .35rem;
  bottom: .15rem;
  color: #15505a;
  display: inline-flex;
  font-size: .7rem;
  gap: .3rem;
  padding: .25rem .4rem;
  position: absolute;
  right: .15rem;
}
.guidedogs-image-preview {
  background: #eef1e9;
  border: 1px solid #c9d5cd;
  border-radius: .75rem;
  height: calc(100vh - 2rem);
  height: calc(100dvh - 2rem);
  margin: auto;
  max-height: none;
  max-width: none;
  overflow: hidden;
  padding: 0;
  width: calc(100% - 2rem);
}
.guidedogs-image-preview[open] { display: flex; flex-direction: column; }
.guidedogs-image-preview::backdrop { background: rgba(12, 23, 19, .8); }
.guidedogs-image-preview-header {
  align-items: center;
  background: #fbfaf6;
  border-bottom: 1px solid #dedbd4;
  display: flex;
  flex: 0 0 auto;
  gap: 1rem;
  justify-content: space-between;
  padding: .65rem 1rem;
}
.guidedogs-image-preview-header h2 { color: #263b31; font-size: 1rem; margin: 0; }
.guidedogs-image-preview-header button { min-height: 44px; }
.guidedogs-image-preview-body {
  display: grid;
  flex: 1 1 auto;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: minmax(0, 1fr);
  min-height: 0;
}
.guidedogs-preview-image-pane { min-height: 0; min-width: 0; padding: .75rem; }
.guidedogs-preview-description-pane {
  overflow-y: auto;
  background: #fff;
  border-left: 1px solid #dedbd4;
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
}
.guidedogs-preview-description-header { border-bottom: 1px solid #dedbd4; flex: 0 0 auto; padding: .8rem 1rem; }
.guidedogs-preview-description-header label { color: #263b31; font-size: .95rem; font-weight: 600; }
.guidedogs-preview-description-header p { color: #687069; font-size: .76rem; line-height: 1.45; margin: .3rem 0 0; }
.guidedogs-preview-description-pane textarea {
  background: #fff;
  border: 0;
  border-radius: 0;
  color: #1b2820;
  flex: 1 1 10rem;
  font: inherit;
  font-size: 1rem;
  line-height: 1.65;
  min-height: 10rem;
  padding: 1rem;
  resize: none;
  width: 100%;
}
.guidedogs-preview-description-pane textarea:focus-visible { outline: 2px solid #126879; outline-offset: -2px; }
@media (max-width: 767.98px) {
  .guidedogs-image-preview-body { grid-template-columns: minmax(0, 1fr); grid-template-rows: minmax(8rem, .6fr) minmax(0, 1.4fr); }
  .guidedogs-preview-description-pane { border-left: 0; border-top: 1px solid #dedbd4; }
  .guidedogs-preview-description-header { padding: .6rem .8rem; }
  .guidedogs-preview-description-pane textarea { padding: .8rem; }
}
.guidedogs-image-preview-body img { display: block; height: 100%; object-fit: contain; width: 100%; }
body:has(#guidedogs-image-preview[open]) { overflow: hidden; }
.guidedogs-description-header {
  border-bottom: 1px solid #dedbd4;
  flex: 0 0 auto;
  padding: .8rem 1rem;
}
.guidedogs-description-header p {
  color: #687069;
  font-size: .76rem;
  line-height: 1.45;
  margin: 0;
}
.guidedogs-description-draft > textarea {
  background: #fff;
  border: 0;
  border-radius: 0;
  color: #1b2820;
  display: block;
  flex: 1 0 20rem;
  font: inherit;
  font-size: 1rem;
  line-height: 1.65;
  min-height: 20rem;
  padding: 1rem 1.15rem;
  resize: none;
  width: 100%;
}
.guidedogs-description-draft > textarea:focus-visible { outline: 2px solid #126879; outline-offset: -2px; }
.guidedogs-conversation {
  background: #fff;
  display: flex;
  flex-direction: column;
  grid-column: 1;
  grid-row: 1;
  height: 100%;
  min-height: 0;
  min-width: 0;
}
.guidedogs-active-label {
  color: #687069;
  display: block;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}
.guidedogs-thread-tabs {
  align-items: flex-end;
  background: #fbfaf6;
  border-bottom: 1px solid #dedbd4;
  display: flex;
  flex: 0 0 auto;
  gap: 0.2rem;
  min-height: 3.55rem;
  overflow-x: auto;
  padding: 0.65rem 0.8rem 0;
  scrollbar-width: thin;
}
.guidedogs-thread-tab {
  align-items: center;
  align-self: flex-end;
  background: #efede7;
  border: 1px solid #d6d3ca;
  border-bottom-color: #dedbd4;
  border-radius: 0.55rem 0.55rem 0 0;
  color: #39483a;
  display: inline-flex;
  flex: 0 0 auto;
  font-size: 0.76rem;
  gap: 0.45rem;
  justify-content: flex-start;
  margin-bottom: -1px;
  max-width: 13rem;
  padding: 0.45rem 0.7rem;
  text-align: left;
}
.guidedogs-thread-tab:hover,
.guidedogs-thread-tab:focus {
  background: #e5e0d5;
  color: #26301f;
  outline: 0;
}
.guidedogs-thread-tab.is-active {
  background: #fff;
  border-bottom-color: #fff;
  color: #126879;
  font-weight: 700;
}
.guidedogs-thread-tab-avatar {
  align-items: center;
  background: #e9f7f9;
  border-radius: 50%;
  color: #15505a;
  display: inline-flex;
  flex: 0 0 28px;
  font-size: 0.7rem;
  font-weight: 700;
  height: 28px;
  justify-content: center;
  overflow: hidden;
  width: 28px;
}
.guidedogs-thread-tab-avatar img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.guidedogs-chat-transcript {
  background: linear-gradient(180deg, #fff 0, #fbfaf6 100%);
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  padding: 1.25rem;
}
.guidedogs-message {
  display: flex;
  gap: 0.6rem;
  margin-bottom: 1rem;
  max-width: 88%;
}
.guidedogs-message[hidden] {
  display: none !important;
}
.guidedogs-message.is-assistant {
  max-width: 100%;
}
.guidedogs-message.is-assistant .guidedogs-message-body {
  flex: 1 1 auto;
}
.guidedogs-message.is-user {
  flex-direction: row-reverse;
  margin-left: auto;
}
.guidedogs-message.is-user .guidedogs-message-body {
  align-items: flex-end;
  display: flex;
  flex-direction: column;
}
.guidedogs-message-avatar {
  align-items: center;
  background: #e9f7f9;
  border: 1px solid #d9e5dd;
  border-radius: 50%;
  color: #15505a;
  display: flex;
  flex: 0 0 96px;
  font-size: 1.2rem;
  font-weight: 700;
  height: 96px;
  justify-content: center;
  overflow: hidden;
  width: 96px;
}
.guidedogs-message-avatar img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.guidedogs-message-body {
  min-width: 0;
}
.guidedogs-message-name {
  color: #687069;
  display: block;
  font-size: 0.82rem;
  font-weight: 700;
  margin: 0 0 0.23rem 0.1rem;
}
.guidedogs-message-time {
  color: #7b817c;
  display: block;
  font-size: 0.7rem;
  line-height: 1.3;
  margin: 0.3rem 0.1rem 0;
}
.guidedogs-message-bubble {
  background: #eef4f1;
  border-radius: 0.2rem 0.8rem 0.8rem 0.8rem;
  color: #1b2820;
  font-size: 0.9rem;
  line-height: 1.55;
  padding: 0.68rem 0.8rem;
  white-space: pre-wrap;
}
.guidedogs-message-bubble.is-markdown {
  overflow-wrap: anywhere;
  white-space: normal;
}
.guidedogs-message-bubble.is-markdown > :first-child {
  margin-top: 0;
}
.guidedogs-message-bubble.is-markdown > :last-child {
  margin-bottom: 0;
}
.guidedogs-message-bubble.is-markdown p,
.guidedogs-message-bubble.is-markdown ul,
.guidedogs-message-bubble.is-markdown ol,
.guidedogs-message-bubble.is-markdown blockquote,
.guidedogs-message-bubble.is-markdown pre {
  margin: 0 0 0.7rem;
}
.guidedogs-message-bubble.is-markdown ul,
.guidedogs-message-bubble.is-markdown ol {
  padding-left: 1.35rem;
}
.guidedogs-message-bubble.is-markdown h1,
.guidedogs-message-bubble.is-markdown h2,
.guidedogs-message-bubble.is-markdown h3,
.guidedogs-message-bubble.is-markdown h4,
.guidedogs-message-bubble.is-markdown h5,
.guidedogs-message-bubble.is-markdown h6 {
  font-size: 1rem;
  font-weight: 700;
  line-height: 1.35;
  margin: 0.85rem 0 0.45rem;
}
.guidedogs-message-bubble.is-markdown blockquote {
  border-left: 3px solid #9eaaa2;
  color: #4e5b53;
  font-size: 0.9rem;
  line-height: 1.8;
  padding-left: 0.75rem;
  width: 100%;
}
.guidedogs-message-bubble.is-markdown code {
  background: rgba(21, 80, 90, 0.08);
  border-radius: 0.25rem;
  font-size: 0.84em;
  padding: 0.08rem 0.25rem;
}
.guidedogs-message-bubble.is-markdown pre {
  background: #26332c;
  border-radius: 0.45rem;
  color: #f5f7f5;
  overflow-x: auto;
  padding: 0.7rem;
}
.guidedogs-message-bubble.is-markdown pre code {
  background: transparent;
  color: inherit;
  padding: 0;
}
.guidedogs-message-bubble.is-markdown a {
  color: #0e6070;
  text-decoration: underline;
}
.guidedogs-message-bubble.is-markdown table {
  border-collapse: collapse;
  display: block;
  max-width: 100%;
  overflow-x: auto;
}
.guidedogs-message-bubble.is-markdown th,
.guidedogs-message-bubble.is-markdown td {
  border: 1px solid #cfd8d2;
  padding: 0.3rem 0.45rem;
  text-align: left;
}
.guidedogs-message.is-user .guidedogs-message-bubble {
  background: #15505a;
  border-radius: 0.8rem 0.2rem 0.8rem 0.8rem;
  color: #fff;
}
.guidedogs-question-actions {
  margin-top: 0.38rem;
}
.guidedogs-ask-other-button {
  align-items: center;
  background: #fff;
  border: 1px solid #9eb5b9;
  border-radius: 0.45rem;
  color: #15505a;
  display: inline-flex;
  font-size: 0.76rem;
  font-weight: 700;
  gap: 0.4rem;
  min-height: 2rem;
  padding: 0.3rem 0.65rem;
}
.guidedogs-ask-other-button[hidden] {
  display: none !important;
}
.guidedogs-ask-other-button:hover,
.guidedogs-ask-other-button:focus {
  background: #e9f7f9;
  border-color: #15505a;
  color: #0e5260;
  outline: 0;
}
.guidedogs-message.is-pending .guidedogs-message-bubble {
  align-items: center;
  color: #687069;
  display: inline-flex;
  gap: 0.35rem;
  width: fit-content;
}
.guidedogs-message.is-pending.is-streaming .guidedogs-message-bubble {
  color: #1b2820;
  display: block;
}
.guidedogs-stream-spinner {
  animation: guidedogs-stream-spin .75s linear infinite;
  border: 2px solid #b5cdc7;
  border-top-color: #126879;
  border-radius: 50%;
  display: inline-block;
  height: .9em;
  margin-left: .45em;
  vertical-align: -.1em;
  width: .9em;
}
@keyframes guidedogs-stream-spin {
  to { transform: rotate(360deg); }
}
.guidedogs-message.is-error .guidedogs-message-bubble {
  background: #fff0f1;
  border: 1px solid #efc3ca;
  color: #9a1c2c;
}
.guidedogs-message-error-actions {
  align-items: center;
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  margin: 0.4rem 0 0 0.1rem;
}
.guidedogs-retry-button {
  align-items: center;
  background: #fff;
  border: 1px solid #c83e4d;
  border-radius: 0.45rem;
  color: #9a1c2c;
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 700;
  gap: 0.4rem;
  min-height: 2rem;
  padding: 0.3rem 0.65rem;
}
.guidedogs-retry-button:hover,
.guidedogs-retry-button:focus {
  background: #fff0f1;
  color: #7f1724;
  outline: 0;
}
.guidedogs-dismiss-error-button {
  align-items: center;
  background: #fff;
  border: 1px solid #9eaaa2;
  border-radius: 0.45rem;
  color: #4e5b53;
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 700;
  gap: 0.4rem;
  min-height: 2rem;
  padding: 0.3rem 0.65rem;
}
.guidedogs-dismiss-error-button:hover,
.guidedogs-dismiss-error-button:focus {
  background: #eef4f1;
  border-color: #687069;
  color: #39483a;
  outline: 0;
}
.guidedogs-message-actions {
  align-items: center;
  display: flex;
  gap: 0.3rem;
  margin: 0.35rem 0 0 0.1rem;
}
.guidedogs-message-action {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 0.35rem;
  color: #7b817c;
  display: inline-flex;
  font-size: 1rem;
  height: 2rem;
  justify-content: center;
  padding: 0;
  width: 2rem;
}
.guidedogs-message-action:hover,
.guidedogs-message-action:focus,
.guidedogs-message-action.is-complete {
  background: #eef1e9;
  color: #126879;
  outline: 0;
}
.guidedogs-message-actions .dropdown-menu {
  border-color: #dedbd4;
  border-radius: 0.55rem;
  box-shadow: 0 10px 24px rgba(27, 44, 32, 0.14);
  font-size: 0.78rem;
  min-width: 9.5rem;
  padding: 0.3rem;
}
.guidedogs-message-actions .dropdown-item {
  align-items: center;
  border-radius: 0.35rem;
  color: #39483a;
  display: flex;
  gap: 0.55rem;
  padding: 0.45rem 0.55rem;
}
.guidedogs-message-actions .dropdown-item:hover,
.guidedogs-message-actions .dropdown-item:focus {
  background: #eef4f1;
  color: #15505a;
  outline: 0;
}
.guidedogs-message-actions .dropdown-item.is-selected {
  background: #e5f5e9;
  color: #226837;
  font-weight: 700;
}
.guidedogs-message-actions.is-complete
  .guidedogs-feedback-button:not(.is-selected) {
  opacity: 0.5;
}
.guidedogs-typing-dot {
  animation: guidedogs-dot 0.8s ease-in-out infinite alternate;
  background: #4c5932;
  border-radius: 50%;
  height: 5px;
  width: 5px;
}
.guidedogs-typing-dot:nth-child(2) {
  animation-delay: 0.16s;
}
.guidedogs-typing-dot:nth-child(3) {
  animation-delay: 0.32s;
}
@keyframes guidedogs-dot {
  to {
    opacity: 0.25;
    transform: translateY(-2px);
  }
}
.guidedogs-suggestions {
  align-items: center;
  border-top: 1px solid #ebe9e2;
  display: flex;
  flex: 0 0 auto;
  gap: 0.65rem;
  padding: 0.55rem 1rem;
}
.guidedogs-suggestions label {
  color: #687069;
  flex: 0 0 auto;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.04em;
  margin: 0;
  text-transform: uppercase;
}
.guidedogs-suggestions select.form-control {
  background: #fff;
  border: 1px solid #d6d7cf;
  border-radius: 0.45rem;
  color: #39483a;
  flex: 1 1 auto;
  font-size: 0.78rem;
  height: auto;
  min-height: 2.35rem;
  min-width: 0;
  padding: 0.35rem 2rem 0.35rem 0.55rem;
  text-overflow: ellipsis;
}
.guidedogs-suggestions select.form-control:focus {
  border-color: #4c5932;
  box-shadow: 0 0 0 0.14rem rgba(76, 89, 50, 0.14);
  outline: 0;
}
.guidedogs-bottom-input {
  background: #fbfaf6;
  border-top: 1px solid #ebe9e2;
  flex: 0 0 auto;
}
.guidedogs-selector-row {
  align-items: center;
  display: flex;
  justify-content: space-between;
  padding: 0.55rem 1.15rem 0.25rem;
}
.guidedogs-agent-selector {
  align-items: center;
  display: flex;
  gap: 0.7rem;
  min-width: 0;
}
.guidedogs-agent-selector > small {
  color: #687069;
  font-size: 0.7rem;
  line-height: 1.3;
  max-width: 12rem;
}
.guidedogs-agent-avatars {
  align-items: center;
  background: #eef1e9;
  border: 1px solid #d9dfd4;
  border-radius: 999px;
  display: flex;
  flex: 0 0 auto;
  gap: 0.3rem;
  padding: 0.3rem;
}
.guidedogs-agent-avatar,
.guidedogs-agent-avatar-more {
  align-items: center;
  background: #fff;
  border-radius: 50%;
  color: #52604c;
  display: inline-flex;
  flex: 0 0 40px;
  height: 40px;
  justify-content: center;
  padding: 0;
  position: relative;
  transition:
    border-color 0.15s ease,
    box-shadow 0.15s ease,
    opacity 0.15s ease,
    transform 0.15s ease;
  width: 40px;
}
.guidedogs-agent-avatar {
  border: 3px solid transparent;
  opacity: 0.46;
  overflow: visible;
}
.guidedogs-agent-avatar img {
  border-radius: 50%;
  filter: grayscale(0.3);
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.guidedogs-agent-avatar:hover,
.guidedogs-agent-avatar:focus {
  opacity: 0.8;
  outline: 0;
  transform: translateY(-1px);
}
.guidedogs-agent-avatar.is-selected {
  border-color: #4c5932;
  box-shadow:
    0 0 0 2px #fff,
    0 2px 7px rgba(47, 60, 39, 0.22);
  opacity: 1;
}
.guidedogs-agent-avatar.is-selected img {
  filter: none;
}
.guidedogs-agent-avatar.is-selected::after {
  background: #22c55e;
  border: 2px solid #fff;
  border-radius: 50%;
  bottom: -2px;
  content: '';
  height: 12px;
  position: absolute;
  right: -2px;
  width: 12px;
}
.guidedogs-agent-avatar-more {
  border: 2px dashed #9da696;
  font-size: 0.78rem;
  font-weight: 800;
  letter-spacing: 0.05em;
}
.guidedogs-agent-avatar-more:hover,
.guidedogs-agent-avatar-more:focus {
  border-color: #126879;
  color: #126879;
  outline: 0;
  transform: translateY(-1px);
}
.guidedogs-composer {
  background: #fbfaf6;
  margin: 0;
  padding: 0.25rem 1.15rem 0.8rem;
}
.guidedogs-composer textarea.form-control {
  background: #fff;
  border: 1px solid #dedbd4;
  border-radius: 0.7rem;
  box-shadow: none;
  box-sizing: border-box;
  color: #151515;
  display: block;
  font-size: 0.91rem;
  height: 88px;
  line-height: 1.45;
  margin: 0.15rem 0 0.65rem;
  max-height: 34vh;
  min-height: 88px;
  outline: 0;
  overflow-y: hidden;
  padding: 0.75rem 0.8rem;
  resize: none;
  width: 100%;
}
.guidedogs-composer textarea.form-control:focus {
  border-color: #4c5932;
  box-shadow: 0 0 0 0.16rem rgba(76, 89, 50, 0.15);
}
.guidedogs-composer-toolbar {
  align-items: center;
  display: flex;
  gap: 0.75rem;
  justify-content: flex-end;
}
.guidedogs-composer-controls {
  align-items: center;
  display: flex;
  flex: 0 0 auto;
  gap: 0.65rem;
}
.guidedogs-depth-control,
.guidedogs-reasoning-control {
  align-items: center;
  color: #5d655f;
  display: flex;
  font-size: 0.7rem;
  gap: 0.38rem;
  margin: 0;
  white-space: nowrap;
}
.guidedogs-depth-control input[type='range'] {
  accent-color: #4c5932;
  cursor: pointer;
  height: 1.2rem;
  margin: 0;
  padding: 0;
  width: 6.5rem;
}
.guidedogs-depth-control input[type='range']:focus-visible {
  outline: 2px solid #126879;
  outline-offset: 2px;
}
.guidedogs-reasoning-control select {
  background: #fff;
  border: 1px solid #d6d7cf;
  border-radius: 0.4rem;
  color: #39483a;
  font-size: 0.72rem;
  padding: 0.28rem 1.45rem 0.28rem 0.4rem;
}
.guidedogs-send-button {
  align-items: center;
  background: #126879;
  border: 0;
  border-radius: 50%;
  color: #fff;
  display: inline-flex;
  flex: 0 0 40px;
  height: 40px;
  justify-content: center;
  padding: 0;
  transition:
    background 0.15s ease,
    transform 0.15s ease;
  width: 40px;
}
.guidedogs-send-button svg {
  height: 16px;
  margin-left: -1px;
  width: 16px;
}
.guidedogs-send-button .guidedogs-stop-icon {
  display: none;
  height: 24px;
  margin: 0;
  width: 24px;
}
.guidedogs-send-button.is-generating .guidedogs-send-icon {
  display: none;
}
.guidedogs-send-button.is-generating .guidedogs-stop-icon {
  display: block;
}
.guidedogs-send-button:hover,
.guidedogs-send-button:focus {
  background: #0e5260;
  color: #fff;
  outline: 0;
  transform: scale(1.06);
}
.guidedogs-chat-error {
  font-size: 0.8rem;
  padding: 0 1.15rem 0.75rem;
}
.guidedogs-agent-panel[hidden] {
  display: none !important;
}
.guidedogs-agent-panel {
  background: #fff;
  border: 1px solid #d8ddd4;
  border-radius: 0.85rem;
  box-shadow:
    0 0 0 9999px rgba(20, 29, 23, 0.38),
    0 22px 50px rgba(20, 29, 23, 0.25);
  display: flex;
  flex-direction: column;
  inset: clamp(0.65rem, 3vw, 2rem);
  margin: auto;
  max-width: 800px;
  overflow: hidden;
  position: absolute;
  z-index: 20;
}
.guidedogs-agent-panel-header {
  align-items: center;
  background: #fbfaf6;
  border-bottom: 1px solid #dedbd4;
  display: flex;
  justify-content: space-between;
  padding: 0.8rem 1rem;
}
.guidedogs-agent-panel h3 {
  color: #151515;
  font-size: 1.15rem;
  margin: 0.1rem 0 0;
}
.guidedogs-agent-panel [data-guidedogs-close-panel] {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: #515a53;
  display: inline-flex;
  font-size: 1.55rem;
  height: 2.25rem;
  justify-content: center;
  padding: 0;
  width: 2.25rem;
}
.guidedogs-agent-panel [data-guidedogs-close-panel]:hover,
.guidedogs-agent-panel [data-guidedogs-close-panel]:focus {
  background: #eef1e9;
  outline: 0;
}
.guidedogs-agent-panel-intro {
  color: #5d655f;
  font-size: 0.78rem;
  line-height: 1.45;
  margin: 0;
  padding: 0.7rem 1rem 0;
}
.guidedogs-agent-list {
  display: grid;
  gap: 0.65rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow-y: auto;
  padding: 0.8rem 1rem 1rem;
}
.guidedogs-agent-list-item {
  align-items: start;
  background: #fbfaf6;
  border: 1px solid #dedbd4;
  border-radius: 0.7rem;
  display: grid;
  gap: 0.65rem;
  grid-template-columns: auto 52px minmax(0, 1fr);
  padding: 0.7rem;
}
.guidedogs-agent-select {
  margin: 0.85rem 0 0;
}
.guidedogs-agent-select input {
  accent-color: #4c5932;
  height: 1rem;
  width: 1rem;
}
.guidedogs-agent-list-avatar {
  align-items: center;
  background: #e9f7f9;
  border: 2px solid #fff;
  border-radius: 50%;
  box-shadow: 0 2px 6px rgba(47, 38, 26, 0.13);
  color: #15505a;
  display: inline-flex;
  font-size: 0.9rem;
  font-weight: 700;
  height: 52px;
  justify-content: center;
  object-fit: cover;
  width: 52px;
}
.guidedogs-agent-list-copy {
  min-width: 0;
}
.guidedogs-agent-list-copy h4 {
  color: #151515;
  font-size: 0.9rem;
  margin: 0.1rem 0 0.15rem;
}
.guidedogs-agent-list-copy > p {
  color: #687069;
  font-size: 0.72rem;
  line-height: 1.4;
  margin: 0;
}
.guidedogs-reask-panel[hidden] {
  display: none !important;
}
.guidedogs-reask-panel {
  background: #fff;
  border: 1px solid #d8ddd4;
  border-radius: 0.85rem;
  box-shadow:
    0 0 0 9999px rgba(20, 29, 23, 0.48),
    0 22px 50px rgba(20, 29, 23, 0.25);
  display: flex;
  flex-direction: column;
  inset: clamp(1rem, 8vh, 5rem) clamp(1rem, 12vw, 8rem);
  margin: auto;
  max-width: 680px;
  overflow: hidden;
  position: absolute;
  z-index: 22;
}
.guidedogs-reask-header {
  align-items: center;
  background: #fbfaf6;
  border-bottom: 1px solid #dedbd4;
  display: flex;
  justify-content: space-between;
  padding: 0.9rem 1rem;
}
.guidedogs-reask-header h3 {
  color: #151515;
  font-size: 1.15rem;
  margin: 0.1rem 0 0;
}
.guidedogs-reask-header [data-guidedogs-close-reask] {
  align-items: center;
  background: transparent;
  border: 0;
  border-radius: 50%;
  color: #515a53;
  display: inline-flex;
  font-size: 1.55rem;
  height: 2.25rem;
  justify-content: center;
  padding: 0;
  width: 2.25rem;
}
.guidedogs-reask-header [data-guidedogs-close-reask]:hover,
.guidedogs-reask-header [data-guidedogs-close-reask]:focus {
  background: #eef1e9;
  outline: 0;
}
.guidedogs-reask-body {
  display: flex;
  flex: 1 1 auto;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
  padding: 0.9rem 1rem 1rem;
}
.guidedogs-reask-intro {
  color: #5d655f;
  font-size: 0.82rem;
  margin: 0 0 0.65rem;
}
.guidedogs-reask-question {
  background: #eef4f1;
  border-left: 4px solid #15505a;
  border-radius: 0.35rem;
  box-sizing: border-box;
  color: #26342c;
  flex: 1 1 auto;
  font-size: 0.84rem;
  line-height: 1.45;
  margin: 0 0 0.85rem;
  min-height: 7rem;
  overflow-y: auto;
  padding: 0.65rem 0.75rem;
  white-space: pre-wrap;
  width: 100%;
}
.guidedogs-reask-list {
  display: grid;
  flex: 0 1 auto;
  gap: 0.55rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  max-height: 45%;
  overflow-y: auto;
}
.guidedogs-reask-option {
  align-items: center;
  background: #fbfaf6;
  border: 1px solid #dedbd4;
  border-radius: 0.65rem;
  cursor: pointer;
  display: grid;
  gap: 0.6rem;
  grid-template-columns: auto 42px minmax(0, 1fr);
  margin: 0;
  padding: 0.6rem;
}
.guidedogs-reask-option:focus-within {
  border-color: #4c5932;
  box-shadow: 0 0 0 0.14rem rgba(76, 89, 50, 0.14);
}
.guidedogs-reask-option input {
  accent-color: #4c5932;
  height: 1rem;
  width: 1rem;
}
.guidedogs-reask-avatar {
  align-items: center;
  background: #e9f7f9;
  border-radius: 50%;
  color: #15505a;
  display: inline-flex;
  font-size: 0.78rem;
  font-weight: 700;
  height: 42px;
  justify-content: center;
  overflow: hidden;
  width: 42px;
}
.guidedogs-reask-avatar img {
  height: 100%;
  object-fit: cover;
  width: 100%;
}
.guidedogs-reask-name {
  color: #26342c;
  font-size: 0.86rem;
  font-weight: 700;
  min-width: 0;
}
.guidedogs-reask-error {
  font-size: 0.8rem;
  margin: 0.65rem 0 0;
}
.guidedogs-reask-footer {
  align-items: center;
  background: #fbfaf6;
  border-top: 1px solid #dedbd4;
  display: flex;
  gap: 0.55rem;
  justify-content: flex-end;
  padding: 0.75rem 1rem;
}
@media (max-width: 767.98px) {
  .guidedogs-chat-layout {
    display: block;
  }
  .guidedogs-description-pane {
    border-left: 0;
    display: none;
    height: 100%;
  }
  .guidedogs-chat-layout.is-description-open .guidedogs-description-pane {
    display: flex;
  }
  .guidedogs-chat-layout.is-description-open .guidedogs-conversation {
    display: none;
  }
  .guidedogs-description-header {
    padding: .65rem;
  }
  .guidedogs-mobile-chat-toggle {
    align-items: center;
    background: #eef4f1;
    border: 1px solid #bdd0c5;
    border-radius: 999px;
    color: #15505a;
    display: inline-flex;
    font-size: 0.76rem;
    font-weight: 700;
    gap: 0.35rem;
    min-height: 2.75rem;
    padding: 0.35rem 0.7rem;
  }
  .guidedogs-mobile-chat-toggle:focus {
    box-shadow: 0 0 0 0.15rem rgba(21, 80, 90, 0.16);
    outline: 0;
  }
  .guidedogs-conversation {
    height: 100%;
  }
  .guidedogs-mobile-chat-header {
    align-items: center;
    background: #fbfaf6;
    display: flex;
    flex: 0 0 auto;
    min-height: 3.1rem;
    padding: .5rem .65rem .4rem;
  }
  .guidedogs-mobile-description-toggle {
    align-items: center;
    background: #eef4f1;
    border: 1px solid #bdd0c5;
    border-radius: 999px;
    color: #15505a;
    display: inline-flex;
    font-size: 0.76rem;
    font-weight: 700;
    gap: 0.35rem;
    min-height: 2.75rem;
    padding: 0.35rem 0.7rem;
  }
  .guidedogs-mobile-description-toggle:focus {
    box-shadow: 0 0 0 0.15rem rgba(21, 80, 90, 0.16);
    outline: 0;
  }
  .guidedogs-thread-tabs {
    min-height: 3rem;
    padding: 0.45rem 0.65rem 0;
  }
  .guidedogs-chat-transcript {
    min-height: 0;
    padding: 0.75rem;
  }
  .guidedogs-suggestions {
    align-items: stretch;
    flex-direction: column;
    gap: 0.3rem;
  }
  .guidedogs-message {
    max-width: 100%;
  }
  .guidedogs-message-avatar {
    flex-basis: 40px;
    font-size: 0.8rem;
    height: 40px;
    width: 40px;
  }
  .guidedogs-message-action {
    height: 2.75rem;
    width: 2.75rem;
  }
  .guidedogs-ask-other-button,
  .guidedogs-retry-button {
    min-height: 2.75rem;
  }
  .guidedogs-suggestions select.form-control {
    min-height: 2.75rem;
  }
  .guidedogs-selector-row {
    padding: 0.4rem 0.65rem 0.15rem;
  }
  .guidedogs-agent-selector {
    min-width: 0;
    overflow: hidden;
    width: 100%;
  }
  .guidedogs-agent-avatars {
    max-width: 100%;
    overflow-x: auto;
  }
  .guidedogs-agent-avatar,
  .guidedogs-agent-avatar-more {
    flex-basis: 44px;
    height: 44px;
    width: 44px;
  }
  .guidedogs-agent-selector > small {
    display: none;
  }
  .guidedogs-composer {
    padding: 0.2rem 0.65rem max(0.55rem, env(safe-area-inset-bottom));
  }
  .guidedogs-composer textarea.form-control {
    height: 76px;
    max-height: 120px;
    min-height: 76px;
  }
  .guidedogs-composer-toolbar {
    gap: 0.35rem;
  }
  .guidedogs-composer-controls {
    gap: 0.4rem;
    justify-content: space-between;
    width: 100%;
  }
  .guidedogs-depth-control {
    flex: 1 1 auto;
  }
  .guidedogs-depth-control > span:not(.sr-only) {
    display: none;
  }
  .guidedogs-depth-control input[type='range'] {
    min-width: 3.5rem;
    width: 100%;
  }
  .guidedogs-reasoning-control > span {
    display: none;
  }
  .guidedogs-reasoning-control select {
    max-width: 6.25rem;
    min-height: 2.75rem;
  }
  .guidedogs-send-button {
    flex-basis: 44px;
    height: 44px;
    width: 44px;
  }
  .guidedogs-agent-panel {
    inset: 0.45rem;
  }
  .guidedogs-agent-list {
    grid-template-columns: 1fr;
  }
  .guidedogs-reask-panel {
    inset: 0.45rem;
  }
  .guidedogs-reask-list {
    grid-template-columns: 1fr;
  }
  .guidedogs-reask-footer .btn {
    flex: 1 1 0;
    min-height: 2.75rem;
    white-space: normal;
  }
}

/* AccessHound page and Bootstrap 5 integration. */
.guidedogs-workspace [hidden] { display: none !important; }
.guidedogs-workspace .sr-only { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; border: 0; }
.guidedogs-description-header h2 { padding-right: 0; }
.guidedogs-image-controls { padding: .65rem 1rem; border-bottom: 1px solid #dedbd4; flex: 0 0 auto; }
.guidedogs-image-controls label { font-size: .8rem; font-weight: 600; }
.guidedogs-image-url-row { display: flex; gap: .4rem; margin: .3rem 0 .45rem; }
.guidedogs-image-url-row input { min-width: 0; flex: 1; padding: .45rem .6rem; }
.guidedogs-image-url-row button { flex: 0 0 auto; }
.guidedogs-image-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .4rem; }
.guidedogs-image-actions label { margin: 0; cursor: pointer; }
.guidedogs-image-status { font-size: .75rem; margin: .4rem 0 0; }
.guidedogs-workspace button:focus-visible, .guidedogs-workspace a:focus-visible { outline: 3px solid #126879; outline-offset: 2px; }
.guidedogs-workspace .guidedogs-chat-error { padding: .4rem 1rem; }
.guidedogs-workspace .guidedogs-agent-selector { max-width: 100%; }
.guidedogs-workspace .guidedogs-agent-avatars { overflow-x: auto; min-width: 0; }
.guidedogs-workspace .guidedogs-agent-avatar { flex-shrink: 0; }
@media (max-width: 767.98px) {
  .guidedogs-workspace { margin: .5rem .4rem 1rem; height: max(48rem, calc(100dvh - 6rem)); }
  .guidedogs-workspace-header { gap: .5rem; padding: .8rem; }
  .guidedogs-workspace-header h1 { font-size: 1.2rem; }
  .guidedogs-workspace-header .guidedogs-workspace-allowance { flex-basis: 100%; }
  .guidedogs-workspace-allowance a { display: inline; }
  .guidedogs-description-navigation { display: block; padding: .5rem .65rem 0; }
  .guidedogs-image-header { padding: .5rem .65rem; }
  .guidedogs-image-toggle { min-height: 44px; }
  .guidedogs-description-draft > textarea { padding: .8rem; }
  .guidedogs-image-section.is-expanded .guidedogs-component-image { height: 140px; }
  .guidedogs-description-header h2 { padding-right: 0; }
  .guidedogs-image-controls { padding: .45rem .65rem; }
  .guidedogs-image-actions .btn, .guidedogs-image-url-row .btn { min-height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
  .guidedogs-workspace *, .guidedogs-workspace *::before, .guidedogs-workspace *::after { animation: none !important; transition: none !important; }
}

.guidedogs-description-draft > .guidedogs-description-status,
.guidedogs-preview-description-header .guidedogs-description-status {
  background: #e9f4ed;
  border-radius: .35rem;
  color: #245a3a;
  display: block;
  margin-top: .5rem;
  padding: .4rem .55rem;
}
.guidedogs-description-draft > .guidedogs-description-status {
  flex: 0 0 auto;
  font-size: .76rem;
  line-height: 1.45;
  margin: .5rem 1rem;
}
@media (min-width: 768px) {
  .guidedogs-conference .guidedogs-description-header {
    /* Match the 2.35rem select, two .55rem paddings, and one row border. */
    min-height: calc(3.45rem + 1px);
    display: flex;
    align-items: center;
  }
}
/* Conference demo: the first action is visible; results and dog cards stay in the page. */
.guidedogs-conference { height: auto; max-width: 1400px; margin-inline: auto; overflow: visible; }
.guidedogs-quick-start { background: #eef5f2; border-bottom: 1px solid #ceded5; grid-column: 1; grid-row: 1; min-width: 0; padding: 1.1rem 1.2rem; }
.guidedogs-quick-start > form { min-width: 0; }
.guidedogs-website-row { align-items: center; }
.guidedogs-website-row .form-control { flex-basis: 8rem; }
.guidedogs-website-row .btn { flex: 0 0 auto; white-space: nowrap; }
.guidedogs-conference .guidedogs-image-actions .btn { min-height: 44px; }
.guidedogs-conference .guidedogs-image-controls { padding-top: 0; border-bottom: 0; }
.guidedogs-quick-start label, .guidedogs-share-form label { color: #263b31; display: block; font-weight: 700; margin-bottom: .4rem; }
.guidedogs-quick-row { display: flex; flex-wrap: wrap; gap: .5rem; }
.guidedogs-quick-row .form-control { flex: 1 1 12rem; min-width: 0; width: auto; }
.guidedogs-quick-row .btn { min-height: 44px; }
.guidedogs-quick-start p, .guidedogs-share-form p { font-size: .85rem; line-height: 1.5; margin: .6rem 0 0; }
.guidedogs-conference .guidedogs-chat-layout { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); grid-template-rows: auto minmax(0, 1fr); align-items: stretch; }
.guidedogs-conference .guidedogs-description-pane { grid-column: 2; grid-row: 1 / span 2; border-left: 1px solid #dedbd4; overflow: visible; }
.guidedogs-conference .guidedogs-conversation { grid-column: 1; grid-row: 2; height: auto; max-height: 52rem; }
.guidedogs-conference .guidedogs-chat-transcript { min-height: 14rem; flex: 1 1 auto; }
.guidedogs-conference .guidedogs-description-pane .guidedogs-image-section { border-top: 1px solid #dedbd4; border-bottom: 0; }
.guidedogs-conference .guidedogs-follow-up { flex: 0 0 auto; min-width: 0; }
.guidedogs-conference .guidedogs-suggestions { border-top: 0; border-bottom: 1px solid #dedbd4; }
.guidedogs-conference .guidedogs-suggestions + .guidedogs-bottom-input { border-top: 0; }
.guidedogs-conference .guidedogs-description-draft > textarea { min-height: 14rem; flex: 1 0 14rem; resize: vertical; }
.guidedogs-conference .guidedogs-component-image,
.guidedogs-conference .guidedogs-image-section.is-expanded .guidedogs-component-image { height: 220px; }
.guidedogs-conference.has-result .guidedogs-component-image,
.guidedogs-conference.has-result .guidedogs-image-section.is-expanded .guidedogs-component-image { height: 120px; }
.guidedogs-share-form { flex: 0 0 auto; margin: 0; border-top: 1px solid #dedbd4; padding: 1rem; background: #eef5f2; }
.guidedogs-conference .guidedogs-agent-panel { position: static; inset: auto; margin: 0; max-width: none; overflow: visible; box-shadow: none; border: 0; border-top: 1px solid #dedbd4; border-radius: 0 0 .9rem .9rem; }
.guidedogs-conference .guidedogs-agent-list { grid-template-columns: repeat(3, minmax(0, 1fr)); overflow: visible; }
.guidedogs-conference .guidedogs-agent-selector { flex-wrap: wrap; overflow: visible; }
.guidedogs-conference .guidedogs-agent-avatars, .guidedogs-conference .guidedogs-thread-tabs { flex-wrap: wrap; overflow: visible; }
.guidedogs-conference .guidedogs-agent-list-copy h4 { font-size: 1rem; }
.guidedogs-conference .guidedogs-agent-list-copy > p { font-size: .85rem; }
.guidedogs-loading-phrase { display: block; font-size: .9rem; line-height: 1.5; margin: 0; order: -1; }
.guidedogs-print-description { display: none; }
.guidedogs-conference .guidedogs-mobile-chat-header,
.guidedogs-conference .guidedogs-description-navigation { display: none; }
.guidedogs-description-draft,
.guidedogs-conversation-controls {
  display: flex;
  flex-direction: column;
  min-height: 0;
  min-width: 0;
}
.guidedogs-conversation-controls { background: #fbfaf6; }
.guidedogs-description-footer { min-width: 0; }
@media (min-width: 768px) {
  /* Let the description editor absorb spare height above its email and image controls. */
  .guidedogs-conference .guidedogs-conversation { max-height: none; }
  .guidedogs-conference .guidedogs-description-draft { flex: 1 1 auto; }
  .guidedogs-conference .guidedogs-description-footer { flex: 0 0 auto; }
  .guidedogs-conference .guidedogs-description-draft > textarea { min-height: 8rem; flex-basis: 8rem; }
  .guidedogs-conference .guidedogs-chat-transcript { max-height: 32rem; }
}
@media (max-width: 767.98px) {
  .guidedogs-conference { height: auto; margin: .5rem; }
  .guidedogs-quick-start { padding: 1rem; }
  .guidedogs-conference input.form-control,
  .guidedogs-conference select.form-control,
  .guidedogs-conference textarea.form-control { font-size: 1rem; }
  .guidedogs-quick-row .form-control { flex-basis: 100%; width: 100%; }
  .guidedogs-quick-row .btn { flex: 1 1 auto; }
  .guidedogs-conference .guidedogs-chat-layout { display: flex; flex-direction: column; }
  .guidedogs-conference .guidedogs-description-pane,
  .guidedogs-conference .guidedogs-chat-layout.is-description-open .guidedogs-description-pane { display: flex; height: auto; border-left: 0; border-bottom: 1px solid #dedbd4; }
  .guidedogs-conference .guidedogs-conversation,
  .guidedogs-conference .guidedogs-chat-layout.is-description-open .guidedogs-conversation { display: flex; height: auto; max-height: none; }
  .guidedogs-conference .guidedogs-chat-transcript { max-height: 28rem; }
  .guidedogs-conference .guidedogs-agent-list { grid-template-columns: 1fr; }
  .guidedogs-conference .guidedogs-agent-selector > small { display: block; }
}
@media print {
  /* Theme screen styles are absent in print: explicitly hide all non-result UI. */
  .guidedogs-workspace [hidden], .guidedogs-workspace dialog,
  .guidedogs-quick-start, .guidedogs-workspace .guidedogs-agent-panel,
  .guidedogs-reask-panel, .guidedogs-share-form, .guidedogs-image-section,
  .guidedogs-conversation-controls, .guidedogs-bottom-input, .guidedogs-thread-tabs, .guidedogs-suggestions,
  .guidedogs-message-actions, .guidedogs-question-actions,
  .guidedogs-description-draft > textarea, .guidedogs-description-status,
  .guidedogs-mobile-chat-header, .guidedogs-description-navigation { display: none !important; }
  .guidedogs-workspace, .guidedogs-chat-layout, .guidedogs-conversation,
  .guidedogs-description-pane, .guidedogs-description-draft, .guidedogs-chat-transcript { display: block !important; height: auto !important; max-height: none !important; overflow: visible !important; border: 0 !important; margin: 0 !important; }
  .guidedogs-workspace .guidedogs-print-description { display: block !important; white-space: pre-wrap; padding: 1rem 0; }
  .guidedogs-message { break-inside: avoid; }
}

.guidedogs-source-note { font-size: .8rem; line-height: 1.4; margin: 0; padding: .5rem 1rem; overflow-wrap: anywhere; }
.guidedogs-image-section.is-expanded .guidedogs-source-note, .guidedogs-source-note:empty { display: none; }
