/* SAVA approved Chat UI v1 */
:root:not([data-sava-theme=night]):not([data-sava-theme=paper]){--bg:#fff;--mint:#edf5ef;--line:#e8ebe9;--ink:#202c27;--muted:#697971;--green:#09885d}
body{font-family:Inter,Onest,'Segoe UI',system-ui,Arial,sans-serif}
.layout{background:#fff;min-height:100dvh}
.side{width:256px;gap:12px;padding:20px 12px 12px;background:#f8faf9;border-right:1px solid #e9eeeb}
.side .brand{font-size:19px;padding:4px 10px 8px;font-weight:750;letter-spacing:-.025em}
.side .brand img{border-radius:50%!important}
.side #newChat{background:transparent;color:#25352d;border:1px solid #dce7df;text-align:left;box-shadow:none;border-radius:11px;padding:10px 13px;font-size:13px;min-height:39px}
.side #newChat:hover{background:#e9f1eb}
.side .menu{gap:2px}
.side .menu button,.side .menu a,.side .extra-navigation summary{font-weight:550;font-size:13px;border-radius:9px;padding:10px 11px;color:#39463f;transition:background .15s ease}
.side .menu button.active,.side .menu button:hover,.side .menu a:hover{background:#e9efea;color:#176443}
.side .extra-navigation{border-top:1px solid #e7ece8;padding-top:7px;margin-top:4px}
.side .side-history{padding:5px 4px;gap:8px}
.side .chat-history button{border-radius:9px;font-size:13px;padding:10px 12px;color:#47554c;font-weight:450}
.side .chat-history button:hover,.side .chat-history button.active{background:#e8eee9;color:#154d39}
.side .sidebar-foot{padding:9px 7px 5px;font-size:11px;border-top:1px solid #e7eeea}
.side .sidebar-foot p{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.content{background:#fff}
.top{min-height:60px;padding:12px 23px;background:#fff;border-bottom:1px solid #eef1ee}
.top h1{font-size:17px;letter-spacing:-.025em;font-weight:650}
.top .row{gap:10px}
.top-right{gap:7px}
.top-right>.pill{font-size:10px;font-weight:600;color:#63776c;background:#f1f5f2;padding:5px 10px}
.top-right .sava-save-chat{background:transparent;border:0;color:#627369;font-weight:600}
.top-right .personal-header-avatar{border:0;background:transparent}
.top-right .personal-header-avatar img{width:30px!important;height:30px!important}
#activeExpert{background:#edf4ef;color:#438163;font-weight:600;font-size:10px}
.chatwrap{height:calc(100dvh - 60px);background:#fff}
.chat-main{background:#fff}
.chat-top{min-height:52px;border-bottom:0;background:#fff;gap:8px;padding:6px clamp(18px,4vw,40px)}
.chat-top #expert{max-width:310px;min-width:200px;border:0!important;background:transparent!important;box-shadow:none!important;border-radius:9px;color:#4c5d53;font-size:13px;padding:9px 28px 9px 8px;font-weight:600}
.chat-top #specialtySearch{max-width:200px;background:#fafbf9;border-color:#eef1ed;font-size:12px;padding:8px}
.chat-top .mode-setting{margin-left:auto;max-width:200px;opacity:.83}
.chat-top .mode-setting summary{padding:8px;font-size:12px;color:#6c7e71}
.chat-top select:focus-visible,.btn:focus-visible{outline:2px solid #178e63;outline-offset:2px}
.conversation{gap:22px;scrollbar-width:thin;background:#fff;padding:32px max(34px,calc((100% - 824px)/2));scroll-padding-bottom:25px}
.chat-main .conversation{gap:21px}
.conversation .bubble{font-size:15px;line-height:1.7;letter-spacing:-.005em;max-width:min(92%,760px)}
.conversation .bubble.user{background:#f2f4f2;color:#24352c;border:0;border-radius:19px;padding:11px 17px;align-self:flex-end}
.conversation .bubble.assistant{background:transparent;border:0;box-shadow:none;border-radius:0;padding:7px 2px 7px 7px;align-self:flex-start;max-width:100%}
.conversation .bubble.assistant p{line-height:1.7}
.conversation .bubble.assistant::before{left:-37px;top:9px}
.conversation .sava-read-reply,.conversation .sava-copy-answer{border:0;background:transparent;border-radius:8px;color:#6d7b71;font-size:12px;opacity:.86;padding:6px 8px;min-width:32px;min-height:32px;cursor:pointer}
.conversation .sava-read-reply:hover,.conversation .sava-copy-answer:hover{background:#f0f4f1;opacity:1}
.conversation .sava-read-reply.sava-speaking{background:#e3f1e9;color:#08754f}
.conversation .sava-voice-stop-reply{display:none!important}
.welcome{gap:13px;margin:auto;max-width:610px;padding:24px 8px 14px}
#mainAssistantAvatar.sava-main-avatar{width:94px!important;height:94px!important;margin:0 auto 6px!important}
#mainAssistantAvatar img{width:92px!important;height:92px!important;object-fit:contain!important}
.welcome h2{font-size:clamp(28px,3vw,34px);font-weight:600;letter-spacing:-.04em;color:#263b30}
.welcome p{color:#8a958e;font-size:13px;max-width:390px;line-height:1.65;margin:0 auto}
.welcome .suggestion-wrap{margin-top:9px;gap:7px}
.welcome .suggestion{border-color:#e7ebe7;color:#5f7065;font-weight:500;font-size:12px;border-radius:100px;background:#fff;padding:8px 12px}
.prompt-box{padding:7px max(24px,calc((100% - 820px)/2)) 16px;background:linear-gradient(0deg,#fff 87%,#ffffffeb 98%,#ffffff00)}
.composer{border:1px solid #e0e6e1;background:#fff;border-radius:24px;min-height:60px;box-shadow:0 4px 22px #1f42250d;padding:9px 10px;align-items:center;gap:7px}
.composer:focus-within{border-color:#b8d5c5;box-shadow:0 3px 21px #16593614}
.composer textarea{font-size:14px;line-height:1.55;padding:9px 8px;min-height:38px;max-height:170px}
.composer #send{min-width:38px;width:38px;height:38px;display:inline-grid;place-items:center;border-radius:50%;font-size:0;padding:0;background:#087b53;border:0}
.composer #send svg{width:19px;height:19px;stroke:#fff;stroke-width:2;fill:none}
.sava-tools-row{display:flex;align-items:center;gap:6px;padding:8px 5px 0;flex-wrap:wrap;min-height:43px}
.sava-tools-row>.btn{border:0;background:transparent;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;width:37px;height:37px;padding:0;color:#5b6e61;font-size:0!important;min-width:37px;box-shadow:none;transition:background .15s}
.sava-tools-row>.btn:hover,.sava-tools-row>.btn[aria-pressed=true]{background:#ecf4ee;color:#087e57}
.sava-tools-row>.btn svg{width:20px;height:20px;stroke:currentColor;stroke-width:1.8;fill:none;pointer-events:none}
#savaDialogStatus{font-size:11px;color:#7c8b80;padding-left:1px!important;max-width:210px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#savaDialogEnd{display:none!important}
.composer-foot{padding:0;margin:0;min-height:0}
.composer-foot>span,.composer-foot #knowledgeFreshness{display:none!important}
.composer-foot .errors:not(:empty){display:block;padding-top:9px}
.chat-top input:not(:focus){box-shadow:none}
#savaUiSettingsButton{background:transparent!important;border-radius:10px!important;padding:6px 7px!important;color:#556a5c!important}
#savaUiSettingsButton:hover{background:#edf3ef!important}
#savaUiSettings{box-shadow:0 20px 70px #0e271a22;border-color:#e4ede6;border-radius:17px}
.side .sava-chat-search{font-size:12px;border-color:#e7eeea;background:#fff}
.limits-panel{display:none!important}
.sava-save-in-menu{font-size:12px!important}
/* Mobile: spacious input and predictable safe area. */
@media(max-width:830px){.side{width:222px}.conversation{padding:24px 35px}.prompt-box{padding:8px 20px 14px}}
@media(max-width:620px){
 .top{min-height:55px;padding:9px 11px}.top h1{font-size:16px}.top-right{gap:3px}.top-right .sava-save-chat{display:none}
 .chatwrap{height:calc(100dvh - 55px)}.chat-top{padding:4px 10px;min-height:42px;gap:4px}.chat-top #expert{min-width:0;max-width:65%;width:65%;font-size:12px;padding:8px 22px 8px 5px}.chat-top #specialtySearch{max-width:100%;order:3;width:100%;}
 .chat-top .mode-setting{margin-left:auto;max-width:35%}.chat-top .mode-setting summary{font-size:11px}
 .conversation{padding:20px 32px 15px;gap:18px}.conversation .bubble{font-size:14px;line-height:1.65;max-width:97%}.conversation .bubble.assistant{max-width:100%;padding:4px 0}.conversation .bubble.assistant::before{left:-27px;width:22px;height:22px}.conversation .bubble.user{padding:10px 13px}
 .welcome{padding:8px 2px 12px}.welcome h2{font-size:27px}.welcome p{font-size:12px}.welcome .suggestion-wrap{gap:6px}
 .prompt-box{padding:6px 10px max(10px,env(safe-area-inset-bottom))}.composer{border-radius:20px;padding:8px 9px;min-height:54px}.composer #send{width:37px;height:37px}
 .sava-tools-row{padding:5px 3px 0;min-height:40px}.sava-tools-row>.btn{width:38px;height:38px}
 #savaDialogStatus{font-size:10px;max-width:155px}
}
@media(prefers-reduced-motion:reduce){.sava-tools-row>.btn,.side .menu button{transition:none}}
/* Search and navigation remain available without occupying conversation space. */
.chat-top #specialtySearch{display:none}
.chat-top.sava-search-open #specialtySearch{display:block}
.sava-search-toggle,.sava-sidebar-toggle{border:0;background:transparent;color:#64786a;border-radius:10px;display:inline-grid;place-items:center;width:34px;height:34px;min-width:34px;cursor:pointer}
.sava-search-toggle:hover,.sava-sidebar-toggle:hover{background:#edf3ef;color:#0d734d}
.sava-search-toggle svg,.sava-sidebar-toggle svg{stroke:currentColor;stroke-width:1.8;fill:none;width:19px;height:19px}
.sava-sidebar-toggle{margin-left:-9px;margin-right:2px}
@media(min-width:621px){.layout.sava-sidebar-collapsed>.side{width:0;min-width:0;padding:0;border:0;overflow:hidden}.layout.sava-sidebar-collapsed .content{width:100%}}
@media(max-width:620px){.sava-sidebar-toggle{display:none}.chat-top.sava-search-open #specialtySearch{order:3;width:100%;max-width:100%}}
