.basrawe-ai-chat,
.basrawe-ai-chat * { box-sizing: border-box; }

.basrawe-ai-chat {
  --bai-primary: #0f766e;
  --bai-primary-dark: #115e59;
  --bai-bg: #f7faf9;
  --bai-border: #dbe7e4;
  --bai-text: #17211f;
  direction: rtl;
  width: 100%;
  max-width: 820px;
  margin: 24px auto;
  border: 1px solid var(--bai-border);
  border-radius: 20px;
  background: #fff;
  color: var(--bai-text);
  overflow: hidden;
  box-shadow: 0 14px 40px rgba(15, 118, 110, .09);
  font-family: inherit;
}

.basrawe-ai-header {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 16px 18px;
  background: linear-gradient(135deg, var(--bai-primary-dark), var(--bai-primary));
  color: #fff;
}

.basrawe-ai-header h2 { margin: 0; font-size: 19px; color: inherit; }
.basrawe-ai-header p { margin: 3px 0 0; opacity: .86; font-size: 13px; }
.basrawe-ai-avatar { display:grid;place-items:center;width:42px;height:42px;border-radius:14px;background:rgba(255,255,255,.16);font-weight:800;font-size:20px; }
.basrawe-ai-status { margin-inline-start:auto;background:rgba(255,255,255,.16);padding:5px 9px;border-radius:999px;font-size:11px; }

.basrawe-ai-messages {
  height: 430px;
  overflow-y: auto;
  padding: 18px;
  background: var(--bai-bg);
  scroll-behavior: smooth;
}

.basrawe-ai-message { display:flex;flex-direction:column;margin:0 0 14px;max-width:84%; }
.basrawe-ai-message--user { margin-inline-start:auto;align-items:flex-start; }
.basrawe-ai-message--bot { margin-inline-end:auto;align-items:flex-end; }
.basrawe-ai-bubble { padding:11px 14px;border-radius:16px;line-height:1.75;font-size:14px;word-break:break-word; }
.basrawe-ai-message--user .basrawe-ai-bubble { background:var(--bai-primary);color:#fff;border-bottom-left-radius:5px; }
.basrawe-ai-message--bot .basrawe-ai-bubble { background:#fff;border:1px solid var(--bai-border);border-bottom-right-radius:5px; }

.basrawe-ai-sources { width:100%;margin-top:7px;padding:9px 11px;background:#fff;border:1px solid var(--bai-border);border-radius:12px;font-size:12px; }
.basrawe-ai-sources strong { display:block;margin-bottom:4px; }
.basrawe-ai-sources a { display:block;color:var(--bai-primary-dark);text-decoration:none;margin-top:4px; }
.basrawe-ai-sources a:hover { text-decoration:underline; }
.basrawe-ai-meta { margin-top:5px;font-size:11px;color:#65716e; }

.basrawe-ai-suggestions { display:flex;gap:7px;overflow-x:auto;padding:10px 14px;border-top:1px solid var(--bai-border);background:#fff; }
.basrawe-ai-suggestions button { flex:0 0 auto;border:1px solid var(--bai-border);background:#fff;border-radius:999px;padding:7px 11px;cursor:pointer;color:#33413e;font:inherit;font-size:12px; }
.basrawe-ai-suggestions button:hover { border-color:var(--bai-primary);color:var(--bai-primary-dark); }

.basrawe-ai-form { display:flex;gap:8px;align-items:flex-end;padding:12px 14px;border-top:1px solid var(--bai-border);background:#fff; }
.basrawe-ai-form textarea { flex:1;min-height:44px;max-height:120px;resize:none;border:1px solid #cad9d6;border-radius:13px;padding:10px 12px;font:inherit;line-height:1.5;outline:none; }
.basrawe-ai-form textarea:focus { border-color:var(--bai-primary);box-shadow:0 0 0 3px rgba(15,118,110,.1); }
.basrawe-ai-form button { min-height:44px;border:0;border-radius:12px;padding:0 18px;background:var(--bai-primary);color:#fff;font:inherit;font-weight:700;cursor:pointer; }
.basrawe-ai-form button:hover { background:var(--bai-primary-dark); }
.basrawe-ai-form button:disabled { opacity:.55;cursor:not-allowed; }
.basrawe-ai-form [data-ai-honeypot] { position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important; }
.basrawe-ai-footer-note { padding:0 14px 11px;background:#fff;color:#6f7a78;font-size:11px;text-align:center; }

.basrawe-ai-typing .basrawe-ai-bubble { display:flex;gap:4px;padding:13px 16px; }
.basrawe-ai-typing span { width:6px;height:6px;border-radius:50%;background:#71817e;animation:bai-dot 1.2s infinite ease-in-out; }
.basrawe-ai-typing span:nth-child(2) { animation-delay:.15s; }
.basrawe-ai-typing span:nth-child(3) { animation-delay:.3s; }
@keyframes bai-dot { 0%,80%,100%{transform:translateY(0);opacity:.45}40%{transform:translateY(-4px);opacity:1} }

.basrawe-ai-floating { position:fixed;left:20px;bottom:20px;z-index:99999;direction:rtl; }
.basrawe-ai-launcher { display:flex;align-items:center;gap:8px;border:0;border-radius:999px;background:var(--bai-primary,#0f766e);color:#fff;padding:12px 16px;font:inherit;font-weight:800;cursor:pointer;box-shadow:0 10px 28px rgba(0,0,0,.2); }
.basrawe-ai-floating-panel { position:absolute;left:0;bottom:58px;width:min(390px,calc(100vw - 28px)); }
.basrawe-ai-floating-panel .basrawe-ai-chat { margin:0;box-shadow:0 18px 55px rgba(0,0,0,.22); }
.basrawe-ai-chat--compact .basrawe-ai-messages { height:340px; }
.basrawe-ai-chat--compact .basrawe-ai-suggestions { display:none; }
.basrawe-ai-admin-notice { padding:12px;border:1px solid #dba617;background:#fff8e5;border-radius:8px; }

@media (max-width:600px) {
  .basrawe-ai-chat { margin:12px auto;border-radius:14px; }
  .basrawe-ai-messages { height:390px;padding:13px; }
  .basrawe-ai-message { max-width:92%; }
  .basrawe-ai-floating { left:12px;bottom:12px; }
  .basrawe-ai-launcher span:last-child { display:none; }
  .basrawe-ai-launcher { width:50px;height:50px;justify-content:center;padding:0;font-size:20px; }
  .basrawe-ai-floating-panel { bottom:58px; }
}

/* v0.2.0: structured medical directory results */
.basrawe-ai-results { width:100%;display:grid;gap:9px;margin-top:8px; }
.basrawe-ai-result-card { background:#fff;border:1px solid var(--bai-border);border-radius:14px;padding:12px;box-shadow:0 3px 12px rgba(15,118,110,.04); }
.basrawe-ai-result-head { display:flex;align-items:flex-start;justify-content:space-between;gap:10px; }
.basrawe-ai-result-head h3 { margin:5px 0 0;font-size:15px;line-height:1.5;color:var(--bai-text); }
.basrawe-ai-result-head h3 a { color:inherit;text-decoration:none; }
.basrawe-ai-result-head h3 a:hover { color:var(--bai-primary-dark);text-decoration:underline; }
.basrawe-ai-result-badge { display:inline-block;padding:3px 8px;border-radius:999px;background:#e7f5f2;color:var(--bai-primary-dark);font-size:10px;font-weight:800; }
.basrawe-ai-result-body { margin-top:8px;display:grid;gap:4px;color:#40504d;font-size:12px;line-height:1.65; }
.basrawe-ai-result-line strong { color:#263633; }
.basrawe-ai-result-actions { display:flex;gap:6px;flex-wrap:wrap;margin-top:10px; }
.basrawe-ai-result-action { display:inline-flex;align-items:center;justify-content:center;min-height:32px;padding:5px 10px;border:1px solid var(--bai-border);border-radius:9px;color:var(--bai-primary-dark);background:#fff;text-decoration:none;font-size:11px;font-weight:700; }
.basrawe-ai-result-action:hover { border-color:var(--bai-primary);text-decoration:none; }
.basrawe-ai-result-action.is-primary { background:var(--bai-primary);border-color:var(--bai-primary);color:#fff; }
.basrawe-ai-chat--compact .basrawe-ai-result-actions { gap:4px; }
.basrawe-ai-chat--compact .basrawe-ai-result-action { padding:5px 8px; }

/* v0.3.0: answer feedback */
.basrawe-ai-feedback { width:100%;display:flex;align-items:center;gap:6px;margin-top:7px;color:#65716e;font-size:11px; }
.basrawe-ai-feedback button { border:1px solid var(--bai-border);background:#fff;color:var(--bai-primary-dark);border-radius:999px;padding:4px 9px;font:inherit;cursor:pointer; }
.basrawe-ai-feedback button:hover { border-color:var(--bai-primary); }
.basrawe-ai-feedback button:disabled { opacity:.55;cursor:default; }

/* v0.4.0: professional answers, source quality, follow-ups and conversation reset */
.basrawe-ai-header-actions { margin-inline-start:auto;display:flex;align-items:center;gap:8px; }
.basrawe-ai-header-actions .basrawe-ai-status { margin-inline-start:0; }
.basrawe-ai-reset { display:grid;place-items:center;width:32px;height:32px;padding:0;border:1px solid rgba(255,255,255,.25);border-radius:10px;background:rgba(255,255,255,.1);color:#fff;font:inherit;font-size:18px;cursor:pointer; }
.basrawe-ai-reset:hover { background:rgba(255,255,255,.2); }
.basrawe-ai-reset:disabled { opacity:.55;cursor:wait; }

.basrawe-ai-message--bot .basrawe-ai-bubble p { margin:0 0 9px; }
.basrawe-ai-message--bot .basrawe-ai-bubble p:last-child { margin-bottom:0; }
.basrawe-ai-message--bot .basrawe-ai-bubble h4 { margin:12px 0 6px;font-size:14px;color:var(--bai-primary-dark); }
.basrawe-ai-message--bot .basrawe-ai-bubble h4:first-child { margin-top:0; }
.basrawe-ai-message--bot .basrawe-ai-bubble ul,
.basrawe-ai-message--bot .basrawe-ai-bubble ol { margin:7px 0;padding-inline-start:22px; }
.basrawe-ai-message--bot .basrawe-ai-bubble li { margin:4px 0; }
.basrawe-ai-citation { display:inline-grid;place-items:center;min-width:17px;height:17px;margin-inline:3px;padding:0 4px;border-radius:999px;background:#e7f5f2;color:var(--bai-primary-dark);font-size:9px;font-weight:800;vertical-align:super; }

.basrawe-ai-answer-meta { width:100%;display:flex;gap:5px;flex-wrap:wrap;margin-top:7px; }
.basrawe-ai-answer-meta span { display:inline-flex;align-items:center;min-height:24px;padding:3px 8px;border:1px solid var(--bai-border);border-radius:999px;background:#fff;color:#64716e;font-size:10px; }
.basrawe-ai-answer-meta span.is-primary { border-color:#b8ded8;background:#edf8f6;color:var(--bai-primary-dark);font-weight:800; }

.basrawe-ai-sources { display:grid;gap:7px; }
.basrawe-ai-source-item { display:grid;gap:2px;padding-top:7px;border-top:1px dashed #e4ecea; }
.basrawe-ai-source-item:first-of-type { padding-top:0;border-top:0; }
.basrawe-ai-source-item a,
.basrawe-ai-source-name { color:var(--bai-primary-dark);font-weight:700;text-decoration:none; }
.basrawe-ai-source-item a:hover { text-decoration:underline; }
.basrawe-ai-source-item small { color:#75817e;font-size:10px; }

.basrawe-ai-followups { width:100%;display:flex;gap:6px;flex-wrap:wrap;margin-top:8px; }
.basrawe-ai-followups button { border:1px solid var(--bai-border);background:#fff;color:#33413e;border-radius:999px;padding:6px 10px;font:inherit;font-size:11px;cursor:pointer;text-align:right; }
.basrawe-ai-followups button:hover { border-color:var(--bai-primary);color:var(--bai-primary-dark);background:#f5fbfa; }

.basrawe-ai-show-more { width:100%;min-height:38px;border:1px dashed #9bc8c1;border-radius:11px;background:#f3faf8;color:var(--bai-primary-dark);font:inherit;font-size:12px;font-weight:800;cursor:pointer; }
.basrawe-ai-show-more:hover { background:#eaf7f4; }

.basrawe-ai-result-head { justify-content:flex-start; }
.basrawe-ai-result-title-wrap { min-width:0;flex:1; }
.basrawe-ai-result-image { width:58px;height:58px;flex:0 0 58px;object-fit:cover;border-radius:12px;border:1px solid var(--bai-border);background:#f2f6f5; }

.basrawe-ai-feedback { flex-wrap:wrap; }
.basrawe-ai-feedback button:first-child { margin-inline-end:auto; }

@media (max-width:600px) {
  .basrawe-ai-header-actions { gap:5px; }
  .basrawe-ai-reset { width:30px;height:30px; }
  .basrawe-ai-answer-meta span { font-size:9px; }
  .basrawe-ai-followups { flex-wrap:nowrap;overflow-x:auto;padding-bottom:2px; }
  .basrawe-ai-followups button { flex:0 0 auto;max-width:85%; }
  .basrawe-ai-result-image { width:50px;height:50px;flex-basis:50px; }
}

/* v0.5.0: knowledge community, contribution form and contributor directory */
.basrawe-ai-community-links { display:flex;align-items:center;justify-content:center;gap:8px;padding:0 14px 13px;background:#fff;color:#71807d;font-size:11px; }
.basrawe-ai-community-links a { color:var(--bai-primary-dark);text-decoration:none;font-weight:700; }
.basrawe-ai-community-links a:hover { text-decoration:underline; }

.bai-contribution-page,.bai-contributors-page { --bai-primary:#0f766e;--bai-primary-dark:#0b5d56;--bai-border:#d9e5e2;max-width:980px;margin:24px auto;direction:rtl;color:#263633; }
.bai-contribution-hero { display:flex;align-items:center;gap:16px;padding:22px;border-radius:18px;background:linear-gradient(135deg,#0f766e,#164e63);color:#fff;box-shadow:0 12px 32px rgba(15,118,110,.16); }
.bai-contribution-hero h2 { margin:0 0 6px;font-size:24px;color:#fff; }
.bai-contribution-hero p { margin:0;line-height:1.8;opacity:.92; }
.bai-contribution-icon { display:grid;place-items:center;flex:0 0 54px;width:54px;height:54px;border-radius:16px;background:rgba(255,255,255,.15);font-size:26px;font-weight:800; }
.bai-guidelines,.bai-contribution-form,.bai-form-message { margin-top:18px;padding:20px;border:1px solid var(--bai-border);border-radius:16px;background:#fff;box-shadow:0 5px 18px rgba(15,118,110,.05); }
.bai-guidelines h3 { margin:0 0 10px;color:var(--bai-primary-dark); }
.bai-guidelines ul { margin:0;padding-inline-start:22px;line-height:1.95; }
.bai-form-message { font-weight:700; }
.bai-form-message.is-success { border-color:#9bd3c9;background:#eefaf7;color:#075f55; }
.bai-form-message.is-error { border-color:#efb2b2;background:#fff3f3;color:#8f2525; }
.bai-contribution-form { display:grid;gap:18px; }
.bai-contribution-form fieldset { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:18px;border:1px solid var(--bai-border);border-radius:14px;margin:0; }
.bai-contribution-form legend { padding:0 9px;color:var(--bai-primary-dark);font-weight:800;font-size:16px; }
.bai-contribution-form label { display:grid;gap:7px;font-size:13px;font-weight:700; }
.bai-contribution-form label span { font-weight:400;color:#75817e;font-size:11px; }
.bai-contribution-form input,.bai-contribution-form select,.bai-contribution-form textarea { width:100%;border:1px solid #cbdad7;border-radius:10px;padding:10px 11px;font:inherit;background:#fff;box-sizing:border-box; }
.bai-contribution-form textarea { resize:vertical;line-height:1.7; }
.bai-contribution-form input:focus,.bai-contribution-form select:focus,.bai-contribution-form textarea:focus { outline:0;border-color:var(--bai-primary);box-shadow:0 0 0 3px rgba(15,118,110,.1); }
.bai-contribution-form label:has(textarea),.bai-contribution-form .bai-check { grid-column:1/-1; }
.bai-contribution-form .bai-check { display:flex;align-items:flex-start;gap:8px;font-weight:500;line-height:1.7; }
.bai-contribution-form .bai-check input { width:auto;margin-top:5px; }
.bai-honeypot { position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;opacity:0!important; }
.bai-submit { display:inline-flex;align-items:center;justify-content:center;width:max-content;min-height:44px;padding:9px 18px;border:0;border-radius:11px;background:var(--bai-primary);color:#fff!important;text-decoration:none!important;font:inherit;font-weight:800;cursor:pointer; }
.bai-submit:hover { background:var(--bai-primary-dark); }

.bai-contributors-grid { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:18px; }
.bai-contributor-card { display:flex;gap:14px;padding:17px;border:1px solid var(--bai-border);border-radius:15px;background:#fff;box-shadow:0 5px 18px rgba(15,118,110,.05); }
.bai-contributor-avatar { flex:0 0 72px;width:72px;height:72px;border-radius:50%;overflow:hidden;background:#edf5f3; }
.bai-contributor-avatar img { width:72px;height:72px;object-fit:cover; }
.bai-contributor-content { min-width:0; }
.bai-contributor-content h3 { margin:2px 0 6px;font-size:17px; }
.bai-contributor-content h3 a { color:var(--bai-primary-dark);text-decoration:none; }
.bai-contributor-content p { margin:0 0 9px;color:#5d6967;line-height:1.65;font-size:13px; }
.bai-contributor-meta { display:flex;gap:6px;flex-wrap:wrap; }
.bai-contributor-meta span { display:inline-flex;padding:4px 8px;border-radius:999px;background:#eef6f4;color:#53615e;font-size:10px; }
.bai-contributor-meta span.is-badge { background:#fff5d9;color:#80620a;font-weight:800; }
.bai-contributors-cta { margin:22px 0;text-align:center; }

@media (max-width:700px) {
  .bai-contribution-page,.bai-contributors-page { margin:14px auto; }
  .bai-contribution-hero { align-items:flex-start;padding:17px; }
  .bai-contribution-hero h2 { font-size:20px; }
  .bai-contribution-icon { flex-basis:44px;width:44px;height:44px;font-size:21px; }
  .bai-contribution-form fieldset { grid-template-columns:1fr;padding:14px; }
  .bai-contributors-grid { grid-template-columns:1fr; }
}

.basrawe-ai-web-citation {
    display: inline-block;
    margin-inline: 3px;
    padding: 1px 6px;
    border: 1px solid rgba(10, 120, 110, .22);
    border-radius: 999px;
    font-size: .78em;
    line-height: 1.5;
    text-decoration: none;
    background: rgba(10, 120, 110, .08);
}

/* v0.7.2: compact, numbered live-search sources */
.basrawe-ai-source-item{position:relative;padding-inline-start:34px}
.basrawe-ai-source-number{position:absolute;inset-inline-start:0;top:2px;width:24px;height:24px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:#e8f6f3;color:#0b776d;font-size:12px;font-weight:700}
.basrawe-ai-sources .basrawe-ai-source-item:last-child{border-bottom:0}

/* v0.9.0: branded assistant avatar and contextual suggestion bar */
.basrawe-ai-avatar { overflow:hidden;flex:0 0 42px; }
.basrawe-ai-avatar img { width:100%;height:100%;object-fit:contain;display:block;background:#fff;padding:4px;border-radius:12px; }
.basrawe-ai-avatar span { display:grid;place-items:center;width:100%;height:100%; }
.basrawe-ai-suggestions { scrollbar-width:thin; }
.basrawe-ai-suggestions button { max-width:260px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
@media (max-width:600px) {
  .basrawe-ai-suggestions button { max-width:220px; }
}
