.orbito-ai-reply-pane { display:flex; flex-direction:column; min-width:0; overflow:hidden; }
.orbito-ai-reply-pane>header { display:flex; align-items:center; flex-wrap:wrap; gap:8px; }
.orbito-ai-reply-pane>header>div { flex:1; }
.orbito-ai-reply-pane [data-assistant-status] { flex-basis:100%; min-height:18px; }
.orbito-ai-reply-pane .error { color:#ffb298; }
.orbito-ai-reply-pane button,.ai-settings button { border:1px solid #507567; border-radius:8px; padding:8px 10px; background:#294538; color:#e9f3ed; font:600 12px/1.3 Manrope,system-ui,sans-serif; cursor:pointer; }
.orbito-ai-reply-pane button:disabled { opacity:.45; cursor:not-allowed; }
.ai-model-picker { padding:10px 14px; border-bottom:1px solid var(--messenger-line,#3c5248); flex-shrink:0; max-height:220px; overflow:auto; font:12px/1.5 Manrope,system-ui,sans-serif; }
.ai-model-picker summary { cursor:pointer; font-weight:700; }
.ai-model-picker label { display:flex; align-items:start; gap:8px; margin:8px 0; }
.ai-model-picker small { display:block; color:var(--messenger-muted,#a4b9ad); }
.ai-model-picker input { accent-color:#70cf9c; }
.ai-conversation { flex:1; min-height:100px; overflow:auto; padding:12px; }
.ai-turn { padding:12px; border:1px solid var(--messenger-line,#3c5248); border-radius:12px; margin-bottom:12px; font:13px/1.5 Manrope,system-ui,sans-serif; }
.ai-turn small { display:block; color:var(--messenger-muted,#a4b9ad); margin-bottom:8px; overflow-wrap:anywhere; }
.ai-turn p { white-space:pre-wrap; margin:0; }
.ai-instruction { background:rgba(104,174,139,.12); margin-left:20px; }
.ai-turn img { max-width:100%; max-height:160px; object-fit:contain; border-radius:8px; margin-top:8px; }
.ai-turn textarea,.ai-composer textarea { width:100%; box-sizing:border-box; border:1px solid #4b685a; border-radius:9px; padding:10px; resize:vertical; background:var(--messenger-field,#1f2e26); color:var(--messenger-text,#e9f3ed); font:14px/1.5 Manrope,system-ui,sans-serif; }
.ai-answer>div { display:flex; gap:8px; margin-top:8px; flex-wrap:wrap; }
.ai-composer { flex-shrink:0; padding:12px; border-top:1px solid var(--messenger-line,#3c5248); max-height:45%; overflow:auto; }
.ai-composer>div { display:flex; flex-wrap:wrap; gap:6px; margin:6px 0; }
.ai-template-chips button { padding:5px 9px; border-radius:20px; }
.ai-selected-images>span { position:relative; }
.ai-selected-images img { width:56px; height:56px; object-fit:cover; border-radius:8px; }
.ai-selected-images button { position:absolute; right:-4px; top:-4px; padding:1px 5px; }
.ai-empty { padding:30px 8px; font:13px/1.6 Manrope,system-ui,sans-serif; color:var(--messenger-muted,#a4b9ad); }
.ai-empty strong,.ai-empty>span { display:block; color:var(--messenger-text,#e9f3ed); }
.ai-empty>span { font-size:30px; color:#70cf9c; }
.ai-settings { width:min(650px,calc(100vw - 30px)); max-height:85vh; box-sizing:border-box; overflow:auto; background:#1f2e26; color:#e9f3ed; border:1px solid #688372; border-radius:18px; padding:22px; font:14px/1.5 Manrope,system-ui,sans-serif; }
.ai-settings::backdrop { background:#0009; }
.ai-settings header { display:flex; justify-content:space-between; align-items:center; }
.ai-settings h2 { margin:0; font-size:20px; }
.ai-settings label { display:block; margin:12px 0; }
.ai-settings input:not([type=checkbox]),.ai-settings select,.ai-settings textarea { display:block; width:100%; box-sizing:border-box; padding:10px; margin-top:5px; border:1px solid #526b5e; border-radius:8px; background:#16221b; color:#e9f3ed; font:inherit; }
.ai-settings .ai-check { display:flex; align-items:start; gap:10px; }
.ai-settings input[type=checkbox] { margin-top:5px; accent-color:#70cf9c; }
.ai-settings small { display:block; color:#adbcaf; }
.ai-settings-list>div { padding:10px; margin:12px 0; border:1px solid #526b5e; border-radius:8px; }
.ai-settings-list button { margin:8px 6px 0 0; }
.ai-settings-status { color:#ffcf98; }
.ai-prompt-file { border:1px solid #526b5e; border-radius:8px; padding:10px; margin:10px 0; }
.ai-prompt-file pre { white-space:pre-wrap; overflow-wrap:anywhere; max-height:200px; overflow:auto; font:12px/1.5 monospace; }
.orbito-ai-reply-pane [hidden],.ai-settings [hidden] { display:none!important; }
.orbito-ai-reply-pane button.ai-primary,.ai-settings button.ai-primary { background:#72c99e; color:#10291d; border-color:#72c99e; }
.ai-model-picker [data-assistant-models] { display:flex; align-items:center; gap:12px; }
.ai-model-picker [data-assistant-models]>label { margin:0; color:#a4b9ad; }
.ai-model-picker select { min-width:0; flex:1; padding:8px; border:1px solid #507567; border-radius:8px; background:#1f2e26; color:#e9f3ed; font:inherit; }
.ai-composer>label { display:block; font:12px/1.5 system-ui,sans-serif; color:#a4b9ad; margin-bottom:6px; }
.ai-more { margin-top:8px; font:12px/1.5 system-ui,sans-serif; color:#a4b9ad; }
.ai-more summary { cursor:pointer; }
.ai-more button { margin:8px 0; }
.ai-more small { display:block; }
.ai-settings-tabs { display:flex; gap:8px; padding:18px 0 6px; border-bottom:1px solid #526b5e; margin-bottom:16px; }
.ai-settings-tabs button { flex:1; background:transparent; }
.ai-settings-tabs button[aria-pressed=true] { background:#375946; color:#97e8ba; border-color:#76bb98; }
.ai-settings [data-connection-form] { margin-top:18px; padding:16px; border:1px solid #526b5e; border-radius:12px; }
.ai-settings details { margin:18px 0; }
.ai-settings summary { cursor:pointer; font-weight:600; }
.ai-settings p { color:#bacbbf; }
.ai-template-row { display:grid; grid-template-columns:1fr 2fr auto; gap:10px; align-items:center; }
.ai-template-row label { font-size:12px; }
.ai-form-actions { display:flex; gap:8px; margin-top:16px; }
.ai-prompt-file>button { float:right; padding:2px 7px; }
.ai-settings [data-prompt-form]>button[type=submit] { width:100%; margin-top:12px; }
.orbito-ai-reply-pane>header>div>span,.orbito-ai-reply-pane>header>div>strong { display:block; }
.ai-settings>header>button { flex-shrink:0; }
.ai-paperclip { display:inline-flex!important; align-items:center!important; justify-content:center!important; width:40px; height:40px; padding:0!important; color:var(--messenger-accent,#80c8a8)!important; background:var(--messenger-panel-strong,#26372f)!important; }
.ai-paperclip svg { display:block; width:20px; height:20px; }
.orbito-ai-reply-pane [data-assistant-undo] { color:#97e8ba; border-color:#76bb98; }
.orbito-ai-reply-pane [data-assistant-indicator] { display:flex; align-items:center; gap:7px; flex-basis:100%; font:600 13px/1.5 system-ui,sans-serif; color:#c6e1d2; }
.orbito-ai-reply-pane [data-assistant-indicator]::before { content:''; width:8px; height:8px; border-radius:50%; background:#80c8a8; flex-shrink:0; }
.orbito-ai-reply-pane [data-assistant-indicator][data-state=busy]::before { background:#efb45f; animation:ai-pulse 1s ease-in-out infinite; }
.orbito-ai-reply-pane [data-assistant-indicator][data-state=error]::before { background:#f28a76; }
@keyframes ai-pulse { 50% { opacity:.25; } }
@media(prefers-reduced-motion:reduce) { .orbito-ai-reply-pane [data-assistant-indicator]::before { animation:none!important; } }
.ai-answer-history { margin:10px 0; color:#bcd1c4; font:13px/1.5 system-ui,sans-serif; }
.ai-answer-history summary { cursor:pointer; padding:8px 0; }
.ai-answer-history .ai-turn { border:0; border-radius:0; padding:10px 0; margin:0; border-bottom:1px solid var(--messenger-line,#3c5248); }
.ai-answer-history .ai-instruction { background:transparent; margin-left:0; }
.ai-conversation>.ai-answer { border:0; padding:0; }
.ai-answer textarea { resize:none; min-height:200px; font-size:15px; }
.ai-turn small,.ai-composer>label,.orbito-ai-reply-pane [data-assistant-status] { font-size:13px; color:#bdcfc3; }
.ai-composer { max-height:none; overflow:visible; }
.orbito-ai-reply-pane .ai-paperclip:disabled { color:#9aa6a0!important; background:#303a35!important; opacity:.5; }
@media(max-width:640px) { .ai-template-row { grid-template-columns:1fr auto; } .ai-template-row label { grid-column:1; margin:6px 0; } .ai-template-row button { grid-column:2; grid-row:1/3; } }
@media(min-width:1201px) { .orbito-messenger-workspace:has(.orbito-ai-reply-pane)>.orbito-messenger-layout { grid-template-columns:minmax(180px,22%) minmax(330px,1fr) minmax(320px,32%)!important; } }
@media(max-width:1200px) { .orbito-messenger-workspace:has(.orbito-ai-reply-pane)>.orbito-messenger-layout { grid-template-columns:minmax(180px,26%) minmax(0,1fr); grid-template-rows:minmax(280px,1fr) minmax(340px,45%); overflow:auto; } .orbito-messenger-workspace:has(.orbito-ai-reply-pane) .orbito-ai-reply-pane { grid-column:1/-1; min-height:340px; } }
@media(max-width:640px) { .ai-settings { padding:14px; } .orbito-ai-reply-pane>header { padding:10px; } .ai-model-picker { max-height:140px; } .ai-composer { max-height:52%; padding:8px; } }
.ai-mobile-nav,.orbito-ai-reply-pane [data-ai-mobile-close] { display:none; }
@media(max-width:720px) {
 .orbito-messenger-workspace:has(.orbito-ai-reply-pane) { top:var(--ai-mobile-top,0px)!important; bottom:auto!important; height:var(--ai-mobile-height,100dvh)!important; box-sizing:border-box; overflow:hidden!important; display:flex!important; flex-direction:column; }
 .orbito-messenger-workspace:has(.orbito-ai-reply-pane)[hidden] { display:none!important; }
 .orbito-messenger-workspace:has(.orbito-ai-reply-pane)>.orbito-messenger-header { flex-shrink:0; padding:8px 12px; }
 .orbito-messenger-workspace:has(.orbito-ai-reply-pane)>.orbito-messenger-header h1 { font-size:22px; }
 .orbito-messenger-workspace:has(.orbito-ai-reply-pane)>.orbito-channel-tabs { display:none; }
 .ai-mobile-nav { display:flex; gap:8px; padding:6px 12px; flex-shrink:0; border-bottom:1px solid var(--messenger-line,#3c5248); }
 .ai-mobile-nav button { min-height:44px; border:1px solid var(--messenger-line,#3c5248); border-radius:10px; padding:8px 12px; background:var(--messenger-bar-solid,#0f231c); color:var(--messenger-text,#e9f3ed); font:600 14px/1.3 system-ui,sans-serif; }
 .ai-mobile-nav [data-ai-mobile-open] { flex:1; text-align:right; color:var(--messenger-accent,#80c8a8); }
 [data-ai-mobile-state]::before { content:''; display:inline-block; width:8px; height:8px; margin-right:7px; border-radius:50%; background:#80c8a8; }
 [data-ai-mobile-state][data-state=busy]::before { background:#efb45f; animation:ai-pulse 1s ease-in-out infinite; }
 [data-ai-mobile-state][data-state=error]::before { background:#f28a76; }
 .orbito-messenger-workspace:has(.orbito-ai-reply-pane)>.orbito-messenger-layout { display:flex!important; flex:1; min-height:0!important; grid-template-rows:none!important; grid-template-columns:none!important; overflow:hidden!important; border-radius:0!important; }
 .orbito-messenger-workspace:has(.orbito-ai-reply-pane) .orbito-chat-list,.orbito-messenger-workspace:has(.orbito-ai-reply-pane) .orbito-chat-pane { width:100%!important; min-width:0!important; min-height:0; flex:1; }
 .orbito-messenger-workspace[data-ai-mobile-screen=chat] .orbito-chat-list,.orbito-messenger-workspace[data-ai-mobile-screen=list] .orbito-chat-pane { display:none!important; }
 .orbito-messenger-workspace[data-ai-mobile-screen=chat] [data-ai-mobile-chat],.orbito-messenger-workspace[data-ai-mobile-screen=list] [data-ai-mobile-list] { display:none; }
 .orbito-messenger-workspace[data-ai-mobile-screen=list] [data-ai-mobile-chat] { display:block; }
 .orbito-messenger-workspace:has(.orbito-ai-reply-pane) .orbito-ai-reply-pane { display:none!important; }
 .orbito-messenger-workspace[data-ai-mobile-screen=assistant]>.orbito-messenger-header,.orbito-messenger-workspace[data-ai-mobile-screen=assistant]>.ai-mobile-nav,.orbito-messenger-workspace[data-ai-mobile-screen=assistant] .orbito-chat-list,.orbito-messenger-workspace[data-ai-mobile-screen=assistant] .orbito-chat-pane { display:none!important; }
 .orbito-messenger-workspace[data-ai-mobile-screen=assistant] .orbito-ai-reply-pane { display:flex!important; width:100%; flex:1; min-height:0!important; border:0; overflow-y:auto; overscroll-behavior:contain; }
 .orbito-ai-reply-pane [data-ai-mobile-close] { display:block; min-height:44px; }
 .orbito-ai-reply-pane>header { position:sticky; top:0; z-index:1; flex-shrink:0; background:var(--messenger-bar-solid,#0f231c); }
 .orbito-ai-reply-pane .ai-conversation { flex:1 0 auto; min-height:0; overflow:visible; padding:12px; }
 .orbito-ai-reply-pane .ai-composer { max-height:none; overflow:visible; padding:12px 12px max(12px,env(safe-area-inset-bottom)); }
 .orbito-ai-reply-pane textarea,.orbito-messenger-workspace:has(.orbito-ai-reply-pane) [data-messenger-input] { font-size:16px!important; }
 .orbito-ai-reply-pane .ai-answer textarea { min-height:160px; height:200px; max-height:38dvh; }
 .orbito-ai-reply-pane button,.orbito-ai-reply-pane summary { min-height:44px; box-sizing:border-box; }
 .ai-settings button,.ai-settings summary { min-height:44px; box-sizing:border-box; }
 .ai-settings input:not([type=checkbox]),.ai-settings select,.ai-settings textarea { font-size:16px!important; }
 .orbito-ai-reply-pane .ai-paperclip { width:44px; height:44px; }
 .orbito-ai-reply-pane [data-assistant-generate] { flex:1; }
 .orbito-messenger-workspace:has(.orbito-ai-reply-pane) .orbito-chat-pane>header { padding:8px 12px; flex-wrap:wrap; }
 .orbito-messenger-workspace:has(.orbito-ai-reply-pane) .orbito-chat-pane>header>div { min-width:0; flex-wrap:wrap; }
}
.orbito-ai-reply-pane .ai-activity{display:flex;gap:12px;padding:16px;margin:12px;border:1px solid #6e99815c;border-radius:14px;background:#ffffff06;flex-shrink:0}
.orbito-ai-reply-pane .ai-activity strong{font-size:15px;line-height:1.4}
.orbito-ai-reply-pane .ai-activity p{margin:6px 0 0;font-size:13px;line-height:1.5;color:var(--muted,#a8b9ae)}
.orbito-ai-reply-pane .ai-activity-icon{width:18px;height:18px;flex:0 0 18px;margin-top:2px;border:2px solid #7fc5a340;border-radius:50%;background:#7fc5a3}
.orbito-ai-reply-pane .ai-activity[data-state=busy] .ai-activity-icon{background:transparent;border-top-color:#8ed5b1;animation:ai-spin .9s linear infinite}
.orbito-ai-reply-pane .ai-activity[data-state=error]{border-color:#e7a36b}
.orbito-ai-reply-pane .ai-activity[data-state=error] .ai-activity-icon{background:#e7a36b}
.orbito-ai-reply-pane .ai-activity button{margin-top:10px;min-height:44px;padding:8px 16px}
@keyframes ai-spin{to{transform:rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.orbito-ai-reply-pane .ai-activity[data-state=busy] .ai-activity-icon{animation:none;border-color:#8ed5b1}}

/* Keep actions outside the independently scrolling answer and optional fields. */
.orbito-messenger-workspace .orbito-ai-reply-pane { min-height:0; overflow:hidden; }
.orbito-ai-reply-pane>header { flex:0 1 auto; min-height:0; max-height:28%; overflow:auto; position:static; }
.orbito-ai-reply-pane .ai-scroll-content { flex:1 1 0; min-height:0; overflow:auto; overscroll-behavior:contain; }
.orbito-ai-reply-pane .ai-conversation { flex:none; min-height:0; overflow:visible; }
.orbito-ai-reply-pane .ai-dock { display:flex; flex-direction:column; flex:0 1 auto; min-height:0; max-height:58%; background:var(--messenger-panel,#1f2e26); border-top:1px solid var(--messenger-line,#3c5248); }
.orbito-ai-reply-pane .ai-answer-actions { display:flex; flex:none; gap:8px; padding:8px 12px; }
.orbito-ai-reply-pane .ai-answer-actions button { flex:1; min-width:0; min-height:44px; white-space:normal; }
.orbito-ai-reply-pane .ai-composer { display:flex; flex-direction:column; flex:1 1 auto; min-height:0; max-height:none; padding:0; overflow:hidden; border-top:0; }
.orbito-ai-reply-pane .ai-composer>.ai-composer-fields { display:block; flex:1 1 auto; min-height:0; max-height:180px; overflow:auto; overscroll-behavior:contain; margin:0; padding:4px 12px; }
.ai-composer-fields>label { display:block; font:13px/1.5 system-ui,sans-serif; color:var(--messenger-muted,#a4b9ad); margin-bottom:6px; }
.ai-composer-fields>.ai-template-chips,.ai-composer-fields>.ai-selected-images { display:flex; flex-wrap:wrap; gap:6px; margin:6px 0; }
.orbito-ai-reply-pane .ai-composer>.ai-composer-actions { display:flex; flex:none; flex-wrap:nowrap; gap:8px; margin:0; padding:8px 12px max(8px,env(safe-area-inset-bottom)); }
.orbito-ai-reply-pane .ai-composer-actions button { min-height:44px; }
.orbito-ai-reply-pane .ai-composer-actions [data-assistant-generate] { flex:1; min-width:0; white-space:normal; }
.orbito-messenger-workspace:has(.orbito-ai-reply-pane) .orbito-chat-pane { display:flex; flex-direction:column; min-height:0; overflow:hidden; }
.orbito-messenger-workspace:has(.orbito-ai-reply-pane) .orbito-chat-pane>header { flex-shrink:0; }
.orbito-messenger-workspace:has(.orbito-ai-reply-pane) .orbito-chat-body { flex:1 1 0; min-height:0; overflow:auto; }
.orbito-messenger-workspace:has(.orbito-ai-reply-pane) .orbito-chat-composer { flex-shrink:0; }
@media(min-width:721px) and (max-width:1200px) {
 .orbito-messenger-workspace:has(.orbito-ai-reply-pane)>.orbito-messenger-layout { grid-template-rows:minmax(0,1fr) minmax(0,1fr); overflow:hidden; }
 .orbito-messenger-workspace:has(.orbito-ai-reply-pane) .orbito-ai-reply-pane { min-height:0; }
}
@media(max-width:720px) {
 .orbito-messenger-workspace[data-ai-mobile-screen=assistant] .orbito-ai-reply-pane { overflow:hidden; }
}
