.conversation-layout{grid-template-columns:minmax(210px,20%) minmax(0,1fr) minmax(270px,25%)}
.ai-sidebar{display:flex;flex-direction:column;min-height:0;min-width:0;background:var(--panel);overflow:hidden;border-left:1px solid var(--line)}
.ai-sidebar-head{padding:16px 14px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:8px;flex-shrink:0}.ai-sidebar h2{font-size:18px;color:var(--text);margin-top:5px}.ai-sidebar-head .eyebrow{font-size:10px;color:var(--cyan)}.ai-body{padding:16px 14px;overflow-y:auto;min-height:0;flex:1;font-size:12px;line-height:1.75}.ai-body section{padding:0 0 16px;margin-bottom:16px;border-bottom:1px solid var(--line)}.ai-body h3{font-size:12px;font-weight:650;margin-bottom:8px}.ai-body p{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--muted)}.ai-body ol,.ai-body ul{padding-left:18px;color:var(--text)}.ai-body ol{list-style:decimal}.ai-body ul{list-style:disc}.ai-body li{margin:7px 0;overflow-wrap:anywhere}.ai-notice,.ai-sidebar-foot{font-size:10px;color:var(--dim)}.ai-sidebar-foot{padding:12px 14px;border-top:1px solid var(--line);flex-shrink:0}#ai-status{color:var(--amber);margin-bottom:12px;font-size:11px}#ai-result[hidden],#ai-empty[hidden],#ai-missing-section[hidden]{display:none}.composer-ai-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;justify-content:flex-end}.create-draft{color:var(--cyan);border-color:var(--line-strong);white-space:nowrap}.create-draft:disabled{opacity:.5;cursor:default}#ai-close,#ai-toggle{display:none}.reply-composer{max-height:50%}
@media(max-width:1199px){.conversation-layout{grid-template-columns:240px minmax(0,1fr)}#ai-toggle,#ai-close{display:inline-flex}.ai-sidebar{display:none;position:fixed;top:76px;right:12px;bottom:12px;width:min(360px,calc(100vw - 24px));z-index:80;border:1px solid var(--line-strong);border-radius:18px;box-shadow:0 18px 60px rgba(0,0,0,.35)}.ai-sidebar[data-open="true"]{display:flex}}
@media(max-width:700px){.conversation-layout{grid-template-columns:1fr}.composer-heading{gap:8px;flex-wrap:wrap}.composer-ai-actions{justify-content:flex-start}.composer-ai-actions .eyebrow{display:none}.ai-sidebar{top:90px}.reply-composer{max-height:50%}}

.ai-chat{border-top:1px solid var(--line);padding-top:16px;margin-top:16px}.ai-chat-hint{font-size:11px}.ai-chat-message{padding:10px 12px;margin:10px 0;border:1px solid var(--line);border-radius:12px;background:var(--field)}.ai-chat-message.user{background:var(--soft)}.ai-chat-message strong{font-size:10px;color:var(--cyan)}.ai-chat-message p{margin-top:5px;color:var(--text);font-size:12px}.ai-chat-message small{display:block;margin-top:8px;font-size:10px;color:var(--muted);overflow-wrap:anywhere}#ai-chat-form label{display:block;margin:12px 0 6px}#ai-question{width:100%;resize:vertical;min-height:70px;max-height:160px;font-size:12px}#ai-ask{margin-top:8px}#ai-chat-status{font-size:11px;color:var(--amber);margin-top:10px;overflow-wrap:anywhere}

#ai-close,#ai-toggle{display:inline-flex}
#ai-toggle{white-space:nowrap}
.reply-composer{max-height:65%}
.reply-composer .draft{height:205px;min-height:150px;max-height:360px;line-height:1.65}
.ai-sidebar{transition:opacity .24s ease,transform .24s ease,border-color .24s ease}
.ai-sidebar-head{padding:14px 16px}
.ai-identity{display:flex;align-items:center;gap:11px}
.ai-identity h2{font-size:16px;margin:0}
.ai-identity small{font:600 9px/1.5 "IBM Plex Mono",monospace;color:var(--dim);letter-spacing:.09em}
.ai-brand-mark{width:29px;height:29px;flex:0 0 29px;border:1.5px solid var(--line-strong);border-radius:10px;display:grid;place-items:center;transform:rotate(45deg);box-shadow:0 0 18px rgba(0,231,242,.11)}
.ai-brand-mark span{width:8px;height:8px;background:var(--cyan);border-radius:3px;box-shadow:0 0 10px var(--cyan);animation:synvio-core-breathe 2.6s ease-in-out infinite}
.ai-brand-mark.mini{width:21px;height:21px;flex-basis:21px;border-radius:7px}
.ai-brand-mark.mini span{width:6px;height:6px}
.ai-body{display:flex;flex-direction:column;gap:8px;overflow:hidden;padding:12px 14px;min-height:0}
#ai-empty{flex:1;min-height:0;overflow:auto}
#ai-status{flex:none;margin:0 0 3px}
#ai-result{flex:1;min-height:0;overflow:auto;padding:16px;border:1px solid var(--line);border-radius:14px;background:var(--field)}
#ai-result{border-color:var(--line-strong);border-bottom-left-radius:5px;background:linear-gradient(145deg,var(--soft),var(--field) 45%);margin-right:8px}
.ai-response-head{display:flex;align-items:center;gap:9px;margin-bottom:15px;color:var(--cyan);font-size:11px;font-weight:700}
.ai-response-head .ai-brand-mark{width:20px;height:20px;flex-basis:20px;border-radius:7px}
.ai-response-head .ai-brand-mark span{width:6px;height:6px}
#ai-result section{padding-bottom:13px;margin-bottom:13px}
#ai-result section:last-of-type{margin-bottom:9px}
.ai-warning{flex:none;max-height:25%;overflow:auto;padding:12px;border:1px solid var(--amber);border-radius:13px;background:rgba(238,184,63,.05)}
.ai-chat{flex:0 0 min(280px,48%);min-height:215px;max-height:48%;margin-top:auto;padding-top:10px;display:flex;flex-direction:column;border-top:1px solid var(--line)}
.ai-chat h3{margin:0 0 4px}
.ai-chat-hint{font-size:10px;margin:0 0 5px}
#ai-chat-log{overflow-y:auto;min-height:70px;flex:1;max-height:230px;padding-right:3px}
.ai-chat-message{max-width:94%;position:relative;padding:10px 12px;margin:8px 0;border-radius:15px;background:var(--field)}
.ai-chat-message.user{margin-left:auto;background:var(--soft);border-color:var(--line-strong);border-bottom-right-radius:5px}
.ai-chat-message.assistant{margin-right:auto;border-bottom-left-radius:5px}
.ai-chat-message.assistant strong::before{content:"✦";color:var(--cyan);margin-right:5px}
.ai-chat-message p{line-height:1.6}
#ai-chat-form{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:end;gap:8px;margin-top:5px}
#ai-chat-form label{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
#ai-question{min-height:48px;max-height:100px;border-radius:15px;padding:11px 13px;line-height:1.5}
#ai-ask{display:grid;place-items:center;margin:0;width:40px;height:40px;padding:0;border-radius:50%;font-size:19px;color:var(--cyan);background:var(--soft);border-color:var(--line-strong)}
#ai-ask:hover{color:var(--text);box-shadow:0 0 16px var(--soft)}
.ai-thinking{display:flex;align-items:center;gap:9px;align-self:flex-start;padding:9px 12px;border:1px solid var(--line-strong);background:var(--soft);border-radius:15px;font-size:11px;color:var(--text)}
.ai-thinking[hidden]{display:none}
.thinking-dots{display:flex;align-items:center;gap:3px}.thinking-dots i{width:4px;height:4px;border-radius:50%;background:var(--cyan);animation:synvio-thinking 1.1s ease-in-out infinite}.thinking-dots i:nth-child(2){animation-delay:.16s}.thinking-dots i:nth-child(3){animation-delay:.32s}
.ai-typing::after{content:"▍";color:var(--cyan);animation:synvio-caret .6s steps(1) infinite}
@keyframes synvio-thinking{0%,65%,100%{opacity:.25;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
@keyframes synvio-caret{50%{opacity:0}}
@keyframes synvio-core-breathe{0%,100%{opacity:.55;box-shadow:0 0 6px var(--cyan)}50%{opacity:1;box-shadow:0 0 14px var(--cyan)}}
@media(min-width:1200px){.conversation-layout{grid-template-columns:minmax(210px,20%) minmax(0,1fr) minmax(260px,25%);transition:grid-template-columns .25s ease}.conversation-layout.ai-collapsed{grid-template-columns:minmax(210px,20%) minmax(0,1fr) 0px}.conversation-layout.ai-collapsed .ai-sidebar{opacity:0;visibility:hidden;transform:translateX(32px);pointer-events:none;border:0}}
@media(max-width:1199px){.ai-sidebar{max-width:min(350px,calc(100vw - 24px))}.ai-body{padding:13px}}
@media(max-width:700px){.reply-composer{max-height:64%}.reply-composer .draft{height:145px;min-height:115px;max-height:270px}.ai-chat{max-height:50%}}
@media(prefers-reduced-motion:reduce){.ai-sidebar,.conversation-layout{transition:none!important}.thinking-dots i,.ai-brand-mark span,.ai-typing::after{animation:none!important}}

.reply-composer{max-height:70%}
.reply-composer .draft{height:250px;min-height:190px;max-height:420px}
.ai-body{gap:0;padding:0;overflow:hidden}
#ai-transcript{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:18px 16px 22px;scrollbar-gutter:stable}
#ai-empty{margin:0;min-height:0;overflow:visible}
#ai-status{margin-bottom:12px}
#ai-result{display:block;overflow:visible;margin:0 0 12px;min-height:0;padding:15px}
#ai-result[hidden]{display:none}
#ai-chat-log{overflow:visible;max-height:none;min-height:0;padding:0}
.ai-chat-message{max-width:90%;margin:13px 0}
.ai-chat-message.user{max-width:84%}
.ai-thinking{margin-top:12px}
.ai-warning{max-height:none;overflow:visible;margin-bottom:12px}
.ai-chat{display:block;flex:none;min-height:0;max-height:none;margin:0;padding:11px 15px 14px;border-top:1px solid var(--line);background:var(--panel)}
.ai-input-label{font-size:11px;font-weight:700;color:var(--text);margin-bottom:8px}
#ai-chat-form{margin:0}
#ai-question{min-height:56px;max-height:130px}
#ai-context-draft{margin-top:9px}
#ai-chat-status{margin-top:8px}
@media(max-width:700px){.reply-composer{max-height:68%}.reply-composer .draft{height:170px;min-height:135px;max-height:300px}#ai-transcript{padding:14px}.ai-chat{padding:10px 12px 12px}}

.ai-attachment-choice{display:inline-flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid var(--line);border-radius:11px;color:var(--muted);font-size:11px;cursor:pointer;white-space:nowrap}.ai-attachment-choice:hover{border-color:var(--line-strong);color:var(--text)}.ai-attachment-choice input{accent-color:var(--cyan);cursor:pointer}
