/* SAVA V4 visual alignment: preserve built-in auth, chat, file and voice handlers. */
.sava-v4-overlay{position:fixed;inset:0;z-index:250000;background:#071d17a8;display:flex;align-items:flex-end;justify-content:center;padding:12px 10px max(16px,env(safe-area-inset-bottom))}
.sava-v4-sheet{background:#fff;color:#193e31;border:1px solid #d8e9df;border-radius:22px;padding:12px;max-height:75dvh;overflow-y:auto;width:min(100%,480px);box-shadow:0 20px 65px #051c1b45}
.sava-v4-sheet-head{display:flex;justify-content:space-between;align-items:center;padding:5px 8px 12px;gap:12px;font-size:15px}
.sava-v4-close{border:0;background:#eaf5ee;border-radius:50%;font-size:25px;width:40px;height:40px;color:#325c49}
.sava-v4-option{display:block;border:0;background:transparent;border-bottom:1px solid #e7f1eb;color:#174b36;text-align:left;width:100%;padding:16px 13px;font:inherit;font-size:15px;min-height:49px}
.sava-v4-option:active{background:#e6f5ee}.sava-v4-option:disabled{opacity:.46}
.sava-v4-sheet-head strong{min-width:0;overflow-wrap:anywhere;line-height:1.4}
.sava-ws-folder-head{align-items:center;gap:2px}
.sava-v4-project-more,.sava-v4-chat-more,.sava-v4-detail-more{border:0;background:transparent;color:#386d59;border-radius:12px;min-width:38px;width:38px;height:40px;flex:none;cursor:pointer;font-size:24px;line-height:1}
.sava-v4-project-more:hover,.sava-v4-chat-more:hover,.sava-v4-detail-more:hover{background:#d9efe4}
.sava-v4-chat-row{min-width:0!important;display:flex!important;align-items:center!important}
.sava-v4-chat-row .sava-ws-chat-title,.sava-v4-chat-row>button:first-child{flex:1 1 auto;min-width:0;max-width:100%;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}
.sava-v4-chat-row select.sava-ws-chat-move{position:absolute!important;width:1px!important;height:1px!important;min-width:1px!important;max-width:1px!important;opacity:0!important;pointer-events:none!important;clip-path:inset(50%)}
.sava-ws-folder .sava-v4-chat-more{order:4}
.sava-v4-original-hidden{display:none!important}
.sava-ws-hero{position:relative;padding-right:56px!important}
.sava-v4-detail-more{position:absolute;top:16px;right:13px;border:1px solid #d0e6d9;background:#fff}
.sava-v4-library-link{width:100%;border:0;background:#eff8f3;border-radius:10px;padding:11px 12px;color:#156247;text-align:left;font:inherit;margin-top:9px}
.sava-ws-files-note[hidden],.sava-ws-manage-menu[hidden]{display:none!important}
@media(max-width:720px){
 #chatView .composer.sava-v4-composer{display:flex!important;align-items:center!important;gap:6px!important;padding:7px!important;min-height:60px!important;border-radius:22px!important}
 #chatView .composer.sava-v4-composer #prompt{flex:1 1 auto!important;min-width:0!important;padding:8px 2px!important;line-height:1.35!important;max-height:130px!important}
 #chatView .composer .sava-v4-attach{display:grid!important;place-items:center!important;width:38px!important;min-width:38px!important;height:42px!important;padding:0!important;border:0!important;background:transparent!important;color:#1c634a!important;font-size:30px!important}
 #chatView .composer .sava-v4-mic{display:grid!important;place-items:center!important;width:40px!important;min-width:40px!important;height:44px!important;border:0!important;border-radius:50%!important;padding:0!important;background:#eff7f2!important;color:#0d7552!important;font-size:21px!important}
 #chatView .composer #send.sava-v4-primary{min-width:46px!important;width:46px!important;height:46px!important;min-height:46px!important;border-radius:50%!important;flex:0 0 46px}
 #chatView .sava-v4-tools #savaVoicePick,#chatView .sava-v4-tools #savaFilePick,#chatView .sava-v4-tools #savaDialogToggle{display:none!important}
 #chatView .sava-tools-row.sava-v4-tools{min-height:0!important;padding:0 10px!important;gap:0}
 .sava-v4-chat-row .sava-v4-chat-more{min-width:42px;width:42px}
 .sava-v4-chat-row .sava-ws-chat-title{display:-webkit-box!important;-webkit-box-orient:vertical;-webkit-line-clamp:2;white-space:normal!important;overflow-wrap:anywhere;line-height:1.28!important;max-height:2.56em;min-height:0;text-align:left}
 .sava-ws-folder-button{flex:1 1 auto;min-width:0}
 .sava-ws-tree{max-height:45dvh!important}
 .sava-ws-actions{margin-top:12px}
 .sava-ws-actions .sava-ws-new-chat{width:100%;flex:1 1 100%!important}
 .sava-ws-hero{padding-right:53px!important}
}


/* V4c: ChatGPT-style interaction pattern, without importing external UI code.
   Keep all existing composer listeners, showing only simple, crisp glyphs. */
#chatView .composer #savaFilePick.sava-v5-plus svg,
#chatView .composer #send.sava-v5-dual svg{display:none!important}
#chatView .composer #savaFilePick.sava-v5-plus{position:relative;font-size:0!important;line-height:1!important;color:transparent!important;overflow:visible;isolation:isolate}
#chatView .composer #savaFilePick.sava-v5-plus::before,
#chatView .composer #savaFilePick.sava-v5-plus::after{content:none!important}
#chatView .composer #savaFilePick.sava-v5-plus::after{content:"+"!important;display:block!important;font-family:Arial,system-ui,sans-serif!important;font-size:30px!important;font-weight:300!important;color:#17694e!important;line-height:38px!important;text-align:center!important;position:absolute!important;inset:0;pointer-events:none}
#chatView .composer #send.sava-v5-dual{position:relative;font-size:0!important;line-height:0!important;color:transparent!important;text-shadow:none!important;isolation:isolate}
#chatView .composer #send.sava-v5-dual::before{content:none!important}
#chatView .composer #send.sava-v5-dual::after{content:""!important;display:block!important;width:24px!important;height:24px!important;position:absolute!important;left:50%!important;top:50%!important;transform:translate(-50%,-50%)!important;background-size:contain!important;background-repeat:no-repeat!important;background-position:center!important;pointer-events:none!important}
/* White mic: idle hold-to-record; white arrow: text or file ready to send. */
#chatView .composer #send.sava-v5-dual[data-sava-dual-mode="mic"]::after,
#chatView .composer #send.sava-v5-dual:not([data-sava-dual-mode])::after{
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='9' y='2.5' width='6' height='12' rx='3'/%3E%3Cpath d='M5.5 10.7a6.5 6.5 0 0 0 13 0M12 17v4m-4 0h8'/%3E%3C/svg%3E")!important;
}
#chatView .composer #send.sava-v5-dual[data-sava-dual-mode="send"]::after{
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14m-6-6 6 6-6 6'/%3E%3C/svg%3E")!important;
}
#chatView .composer #send.sava-v5-dual[data-sava-dual-mode="recording"]::after{
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='white'%3E%3Crect x='6' y='6' width='12' height='12' rx='2'/%3E%3C/svg%3E")!important;
}
@media(max-width:720px){
 #chatView .composer #savaDialogToggle.sava-v5-voice-deferred{display:none!important}
 #chatView .composer #savaFilePick.sava-v5-plus{display:grid!important;place-items:center;flex:0 0 38px!important}
 #chatView .composer #send.sava-v5-dual{background:#098868!important;border:0!important;border-radius:50%!important;flex:0 0 46px!important;box-shadow:0 2px 6px #145f473b}
 #chatView .sava-tools-row.sava-v4-tools{display:none!important}
 #chatView .composer.sava-v4-composer{gap:8px!important}
}
/* Contextual management = the same in-page bottom sheet, not a second window. */
body.sava-v5-context-manage .sava-projects-host{z-index:260000!important;display:flex!important;align-items:flex-end!important;justify-content:center!important;padding:12px 10px max(16px,env(safe-area-inset-bottom))!important;background:rgba(7,29,23,.67)!important}
body.sava-v5-context-manage .sava-projects-dialog{width:min(100%,480px)!important;max-height:80dvh!important;border-radius:23px!important;box-shadow:0 20px 65px #051c1b45!important;overflow:auto!important}
body.sava-v5-context-manage .sava-projects-content{display:block!important;padding:12px 18px!important}
body.sava-v5-context-manage .sava-projects-column:nth-child(2),
body.sava-v5-context-manage .sava-projects-tree,
body.sava-v5-context-manage .sava-projects-new,
body.sava-v5-context-manage .sava-projects-column>h3,
body.sava-v5-context-manage .sava-projects-chats,
body.sava-v5-context-manage .sava-projects-attach,
body.sava-v5-context-manage .sava-projects-edit>h4,
body.sava-v5-context-manage .sava-projects-edit>h4~h4{display:none!important}
body.sava-v5-context-manage .sava-projects-rename,
body.sava-v5-context-manage .sava-projects-move{margin:0 0 14px!important}
body.sava-v5-context-manage .sava-projects-dialog>header{padding:14px 17px!important}
body.sava-v5-context-manage .sava-projects-dialog>header strong{font-size:16px!important}
body.sava-v5-context-manage .sava-projects-status{padding:11px 18px!important}
