/* =========================================
   FOCUS CHAT MODAL (Theme Engine Native)
   ========================================= */
.bv-ai-focus-modal[hidden] { display: none !important; }
.bv-ai-focus-modal { position: fixed; inset: 0; z-index: 9998; }

.bv-ai-focus-modal__backdrop {
  position: absolute; inset: 0; background: rgba(0, 0, 0, 0.6); backdrop-filter: blur(8px);
}

.bv-ai-focus-modal__panel {
  position: relative; z-index: 1; width: min(1240px, calc(100vw - 32px)); height: min(92vh, 980px); margin: 4vh auto;
  background: var(--bv-bg-panel); border: 1px solid var(--bv-border-main); border-radius: 22px;
  box-shadow: 0 30px 80px rgba(0, 0, 0, 0.4);
  display: grid; grid-template-rows: auto 1fr auto; overflow: hidden;
}

.bv-ai-focus-modal__header {
  display: flex; align-items: center; justify-content: space-between; gap: 16px; padding: 18px 20px;
  border-bottom: 1px solid var(--bv-border-main); background: var(--bv-bg-main);
}

.bv-ai-focus-modal__titlewrap h3 { margin: 0; font-size: 28px; color: var(--bv-text-main); }
.bv-ai-focus-modal__sub { margin-top: 4px; font-size: 13px; color: var(--bv-text-subtle); font-weight: 700; }

.bv-ai-focus-modal__body { min-height: 0; display: flex; flex-direction: column; background: var(--bv-bg-panel); }
.bv-ai-focus-chat { flex: 1; overflow-y: auto; padding: 24px; display: flex; flex-direction: column; gap: 18px; scroll-behavior: smooth; }
.bv-ai-focus-typing { padding: 0 24px 18px; font-size: 13px; color: var(--bv-text-subtle); font-style: italic; }

body.bv-ai-focus-open { overflow: hidden; }

@media (max-width: 900px) {
  .bv-ai-focus-modal__panel { width: calc(100vw - 12px); height: calc(100vh - 12px); margin: 6px auto; border-radius: 16px; }
  .bv-ai-focus-modal__header { padding: 14px; }
  .bv-ai-focus-chat { padding: 18px 16px 22px; }
}