/* Global AI assistant drawer, coach page, operation AI strips. Tokens live in site.css. */

.hits-ai-assistant {
  --bs-offcanvas-width: min(34rem, 100vw);
}

.hits-ai-assistant .offcanvas-body {
  display: flex;
  flex-direction: column;
  min-height: 0;
  overflow: hidden;
}

.hits-ai-assistant__body {
  min-height: 0;
}

.hits-ai-assistant__actions {
  flex: 0 0 auto;
  background: #f8f9fa;
}

.hits-ai-assistant__action {
  white-space: normal;
}

.hits-ai-assistant__action--coach {
  margin-top: 0.25rem;
}

.hits-ai-assistant__idle,
.hits-ai-assistant__loading {
  flex: 0 0 auto;
  min-height: 8rem;
}

.hits-ai-assistant__result {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  background: #fff;
}

.hits-ai-assistant__loading-card {
  display: flex;
  align-items: flex-start;
  gap: 0.75rem;
  padding: 1rem;
  border: 1px solid rgba(var(--hits-primary-rgb), 0.12);
  border-radius: 1rem;
  background: #fff;
}

.hits-ai-assistant__spinner {
  flex: 0 0 auto;
  margin-top: 0.15rem;
}

.hits-ai-assistant__frame {
  display: block;
  flex: 1 1 auto;
  min-height: 0;
  width: 100%;
  height: 100%;
  border: 0;
  background: var(--hits-surface);
  border-radius: var(--hits-radius-md);
}

.hits-ai-assistant__tabs {
  border-bottom: 1px solid var(--hits-stroke);
  background: var(--hits-canvas);
  border-radius: var(--hits-radius-sm) var(--hits-radius-sm) 0 0;
}

.hits-ai-assistant__tab-host {
  display: flex;
  flex-direction: column;
  min-height: 0;
}

.hits-ai-assistant__tab-pane[hidden] {
  display: none !important;
}

.hits-operation-ai-hub-strip {
  flex-shrink: 0;
}

.hits-operation-context-strip {
  position: sticky;
  top: 0;
  z-index: 5;
  background: rgba(255, 255, 255, 0.96);
  backdrop-filter: blur(6px);
  border-bottom: 1px solid rgba(0, 0, 0, 0.06);
  margin-bottom: 0.75rem;
}

body.hits-ai-coach-embed {
  margin: 0;
  height: 100vh;
  overflow: hidden;
}

.hits-ai-coach-shell {
  height: 100%;
}

.hits-ai-coach {
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: 0;
}

/* Full-page coach (non-embed): fill viewport under page header */
.page-shell > .hits-ai-coach,
#ai-coach-body .hits-ai-coach {
  min-height: calc(100vh - 12rem);
  min-height: calc(100dvh - 12rem);
}

.hits-ai-coach__header,
.hits-ai-coach__composer {
  flex: 0 0 auto;
}

.hits-ai-coach__messages {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  background: #f8f9fa;
}

.hits-ai-coach__bubble {
  max-width: min(92%, 44rem);
  padding: 0.95rem 1rem;
  border-radius: 1rem;
  margin-bottom: 1rem;
  line-height: 1.7;
  font-size: 0.98rem;
  box-shadow: 0 0.125rem 0.35rem rgba(15, 23, 42, 0.05);
}

.hits-ai-coach__bubble--user {
  background: #fff;
  border: 1px solid #dee2e6;
}

.hits-ai-coach__bubble--assistant {
  margin-left: auto;
  background: #e7f1ff;
  border: 1px solid rgba(var(--hits-primary-rgb), 0.15);
}

.hits-ai-coach__bubble--thinking {
  background: #fff;
  border-style: dashed;
}

.hits-ai-coach__bubble--error {
  margin-left: auto;
  background: #fff5f5;
  border: 1px solid #f1aeb5;
}

.hits-ai-coach__suggestions {
  margin-left: auto;
  max-width: min(92%, 44rem);
  background: #fff;
  border: 1px solid #dee2e6;
  border-radius: 1rem;
  padding: 0.95rem 1rem;
}

.hits-ai-coach__prompt {
  min-height: 5.25rem;
  resize: vertical;
}

.hits-ai-coach__thinking {
  display: inline-flex;
  align-items: center;
  gap: 0.65rem;
}

.hits-ai-coach__form.is-submitting .hits-ai-coach__prompt {
  background: #f8f9fa;
}

.hits-ai-coach__submit {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.5rem;
  min-width: 7.5rem;
}

.hits-ai-coach__submit-spinner {
  display: none;
}

.hits-ai-coach__form.is-submitting .hits-ai-coach__submit-spinner {
  display: inline-block;
}

.hits-ai-richtext {
  color: inherit;
  line-height: 1.75;
  word-break: break-word;
}

.hits-ai-richtext__heading {
  margin: 0 0 0.65rem;
  font-weight: 700;
  font-size: 1rem;
}

.hits-ai-richtext__paragraph {
  margin: 0 0 0.9rem;
}

.hits-ai-richtext__paragraph:last-child {
  margin-bottom: 0;
}

.hits-ai-richtext__list {
  margin: 0 0 0.9rem 1.25rem;
  padding: 0;
}

.hits-ai-richtext__list:last-child {
  margin-bottom: 0;
}

.hits-ai-richtext__list li + li {
  margin-top: 0.35rem;
}

.hits-ai-richtext__codeblock {
  margin: 0 0 0.9rem;
  padding: 0.85rem 1rem;
  border-radius: 0.85rem;
  background: rgba(15, 23, 42, 0.06);
  border: 1px solid rgba(15, 23, 42, 0.08);
  white-space: pre-wrap;
  overflow-x: auto;
}

.hits-ai-richtext__inlinecode {
  padding: 0.08rem 0.35rem;
  border-radius: 0.35rem;
  background: rgba(15, 23, 42, 0.06);
  font-size: 0.94em;
}

[data-bs-theme="dark"] .hits-ai-coach__bubble--assistant {
  background: var(--bs-secondary-bg);
  color: var(--bs-body-color);
}

[data-bs-theme="dark"] .hits-ai-coach__bubble--thinking {
  background: var(--bs-tertiary-bg);
  color: var(--bs-secondary-color);
}

[data-bs-theme="dark"] .hits-ai-richtext__codeblock {
  background: #0d1117;
  border-color: var(--bs-border-color);
}

[data-bs-theme="dark"] .hits-ai-assistant__loading-card {
  background: var(--bs-secondary-bg);
  border-color: var(--bs-border-color);
}
