/* Focused conversational assistant, using the existing business screens and plan API. */
#aiDrawer{align-items:stretch;overscroll-behavior:contain;height:var(--assistant-viewport-height,100dvh);top:var(--assistant-viewport-top,0px);bottom:auto}
#aiDrawer .ai-drawer-panel{display:flex;flex-direction:column;width:min(760px,100%);height:100%;min-height:0;overflow:hidden;background:#f6f9ff;padding:0;border-radius:0}
#aiDrawer .ai-drawer-head{position:relative;top:0;flex:0 0 auto;padding:15px 20px;background:#fff;border-bottom:1px solid #e0e9f5;gap:10px;z-index:3}
#aiDrawer .ai-drawer-head b{font-size:18px;color:#163a68}#aiDrawer .ai-drawer-head small{display:block;color:#8291a7;font-size:11px;margin-top:3px}
.assistant-head-actions{display:flex;align-items:center;gap:8px}.assistant-head-actions button,.assistant-more summary{padding:9px 12px;font-size:13px;white-space:nowrap}
.assistant-more{position:relative}.assistant-more summary{list-style:none;cursor:pointer;color:#3565a6;background:#f0f5ff;border-radius:10px}.assistant-more summary::-webkit-details-marker{display:none}
.assistant-more-menu{position:absolute;right:0;top:calc(100% + 9px);width:220px;padding:9px;border:1px solid #dfe8f5;border-radius:14px;background:#fff;box-shadow:0 12px 40px #1e3b6526}.assistant-more-menu button{display:block;width:100%;margin:2px 0;background:#f3f7ff;color:#234b7e;text-align:left;box-shadow:none}.assistant-more-menu p{margin:9px 5px 3px;font-size:11px;line-height:1.5;color:#7d8aa0}
#aiDrawerBody{flex:1;min-height:0;display:flex;overflow:hidden;width:100%}
#aiDrawer #voiceAssistant{display:flex;flex-direction:column;flex:1;min-height:0;width:100%;padding:0;margin:0;border:0;border-radius:0;background:transparent;overflow:hidden}
.assistant-dialogue-scroll{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:18px 20px;scroll-padding-bottom:16px;overflow-wrap:anywhere}
.assistant-dialogue-welcome{margin:12px 0 22px;padding:16px;border:1px solid #e0eaf7;background:#fff;border-radius:16px;color:#5a7292;font-size:14px;line-height:1.8}
.assistant-dialogue-message{margin-bottom:16px;max-width:100%;font-size:14px;line-height:1.65;white-space:pre-wrap;overflow-wrap:anywhere}.assistant-dialogue-message.user{margin-left:auto;max-width:88%;width:fit-content;padding:11px 15px;background:#2463cf;color:#fff;border-radius:17px 17px 4px 17px}.assistant-dialogue-message.assistant{border-left:3px solid #c7dcfb;padding:2px 12px;color:#677c97}.assistant-dialogue-message strong{color:#244974}
#aiDrawer #voiceResult{margin-top:10px;padding:16px;border:1px solid #dae6f6;background:#fff;border-radius:17px;box-shadow:0 6px 24px #284b7510}
#aiDrawer .voice-result-head b{font-size:16px;line-height:1.5;color:#183d70}#aiDrawer .voice-assistant-message{font-size:14px;line-height:1.75;background:#f3f7ff;color:#365675;padding:12px;margin-top:12px;white-space:pre-wrap}
.assistant-plan-summary{display:grid;gap:8px;margin-top:14px}.assistant-plan-summary-item{padding:10px 12px;border-radius:12px;background:#f5f8fd;color:#3b5575;font-size:13px;line-height:1.6}.assistant-plan-summary-item b{display:block;color:#1e4276}.assistant-plan-summary-item span{display:block;color:#68809b}.assistant-plan-summary-item em{font-style:normal;color:#27805b;font-size:11px}
.assistant-plan-details{margin-top:13px;border-top:1px solid #edf1f8;padding-top:12px}.assistant-plan-details>summary{font-size:13px;color:#3065ac;cursor:pointer;padding:5px 0}.assistant-plan-details .assistant-action-card{background:#fbfdff}.assistant-plan-details .assistant-action-editor{grid-template-columns:repeat(2,minmax(0,1fr))}
#aiDrawer .voice-result-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:15px}#aiDrawer .voice-result-actions button{flex:1;min-width:115px;padding:12px;font-size:14px}#aiDrawer .voice-safe{color:#789088;line-height:1.6;font-size:11px}
.assistant-composer{flex:0 0 auto;padding:11px 20px calc(13px + env(safe-area-inset-bottom));background:#fff;border-top:1px solid #dfe8f5;box-shadow:0 -5px 25px #234a7910}
.assistant-composer-state{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:17px;color:#8190a5;font-size:11px;margin-bottom:7px}.assistant-composer-state #voiceStatusText{min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.assistant-composer-state .voice-engine{max-width:45%;overflow:hidden;text-overflow:ellipsis;padding:3px 7px;background:#eff5ff;font-size:10px}
#aiDrawer .voice-input{display:block;margin-top:0}#aiDrawer #voiceTranscript{display:block;width:100%;min-height:78px;max-height:180px;resize:none;padding:11px 46px 11px 12px;border:1px solid #ceddf0;border-radius:14px;background:#f9fbff;font-size:16px;line-height:1.6;overflow-y:auto;box-sizing:border-box}#aiDrawer #voiceTranscript:focus{outline:2px solid #b9d3fa;border-color:#7faaf0}
#aiDrawer .voice-clear{top:9px;right:8px;width:30px;height:30px;color:#6b84a5;background:#edf3fb;border:0;font-size:19px}
.assistant-composer-tools{display:flex;gap:9px;margin-top:9px;align-items:center}#aiDrawer .assistant-composer-tools button{width:auto;font-size:13px;margin:0;padding:11px 13px;min-height:42px;touch-action:manipulation;box-shadow:none}#aiDrawer .assistant-composer-tools .voice-mic{flex:1;min-width:0;color:#2f5c98;background:#eaf2ff;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}#aiDrawer .assistant-composer-tools .voice-mic.listening{background:#ffe9e7;color:#b94136}#aiDrawer #voiceInterpretBtn{background:#2865d0;color:#fff;min-width:76px}.assistant-composer-error{margin-top:9px;padding:9px 11px;color:#a94535;background:#fff2ef;border:1px solid #f2d5ce;border-radius:10px;font-size:13px;line-height:1.5}
.assistant-clarify-overlay{position:fixed;inset:0;z-index:2200;display:flex;align-items:center;justify-content:center;padding:20px;background:#102a4a61;overscroll-behavior:contain}
.assistant-clarify-sheet{display:flex;flex-direction:column;width:min(650px,100%);max-height:calc(var(--assistant-viewport-height,100dvh) - 40px);min-height:0;padding:0;background:#fff;border-radius:22px;box-shadow:0 16px 70px #15335438;overflow:hidden}
.assistant-clarify-head{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px 14px;border-bottom:1px solid #e7eef8;gap:12px}.assistant-clarify-head b{font-size:18px;color:#193f73}.assistant-clarify-head small{display:block;font-size:12px;line-height:1.6;color:#7c8ea5;margin-top:5px}.assistant-clarify-head>button{padding:4px 11px;font-size:23px;flex:0 0 auto}
#assistantClarifyForm{display:flex;flex-direction:column;min-height:0;overflow:hidden}#assistantClarifyFields{overflow-y:auto;min-height:0;padding:16px 20px;overscroll-behavior:contain}.assistant-clarify-group{margin-bottom:19px}.assistant-clarify-group:last-child{margin-bottom:0}.assistant-clarify-group-title{display:block;margin-bottom:10px;font-size:13px;color:#41648f;padding-bottom:8px;border-bottom:1px solid #eef2f8}.assistant-clarify-field{display:block;margin:0 0 14px;min-width:0}.assistant-clarify-field:last-child{margin-bottom:0}.assistant-clarify-field>span{display:block;font-size:13px;font-weight:700;color:#2a4567;margin-bottom:6px}.assistant-clarify-field input,.assistant-clarify-field select,.assistant-clarify-field textarea{width:100%;min-width:0;max-width:100%;box-sizing:border-box;padding:11px;border:1px solid #d2def0;background:#f9fbff;border-radius:10px;font-size:16px;line-height:1.4}.assistant-clarify-field textarea{min-height:85px;resize:vertical}.assistant-clarify-field select[multiple]{min-height:105px}.assistant-clarify-field small{display:block;margin-top:6px;color:#8491a3;font-size:11px;line-height:1.5}.assistant-clarify-field .assistant-map-clarify{display:flex;align-items:center;gap:10px;justify-content:space-between;padding:11px;border-radius:12px;background:#f1f6ff}.assistant-map-clarify b{display:block;font-size:12px;color:#5c789c}.assistant-map-clarify button{flex:0 0 auto;padding:10px;font-size:12px}.assistant-order-option{display:flex;gap:10px;align-items:flex-start;border:1px solid #dbe5f3;border-radius:11px;padding:11px;margin-bottom:7px;background:#f9fbff;font-size:13px}.assistant-order-option input{width:18px;height:18px;flex:0 0 auto;margin:1px 0}.assistant-order-option small{margin-top:4px}.assistant-clarify-actions{display:flex;gap:9px;padding:13px 20px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #e7eef8;background:#fff}.assistant-clarify-actions button{flex:1;font-size:14px;padding:12px}.assistant-clarify-actions button:last-child{flex:1.5;background:#2865d0}.assistant-clarify-sheet #assistantClarifyError{margin:0 20px 10px}
#locationPickerOverlay{z-index:2300}
@media(max-width:760px){#aiDrawer .ai-drawer-panel{height:100%;border-radius:0;width:100%}#aiDrawer .ai-drawer-head{padding:12px 13px;padding-top:calc(12px + env(safe-area-inset-top))}.assistant-dialogue-scroll{padding:13px 12px}.assistant-composer{padding:9px 12px calc(10px + env(safe-area-inset-bottom))}#aiDrawer #voiceResult{padding:13px}#aiDrawer .voice-field-grid{grid-template-columns:1fr}.assistant-clarify-overlay{align-items:flex-end;padding:0;height:var(--assistant-viewport-height,100dvh);top:var(--assistant-viewport-top,0px);bottom:auto}.assistant-clarify-sheet{max-height:92%;border-radius:22px 22px 0 0}.assistant-clarify-head{padding:16px 15px 12px}#assistantClarifyFields{padding:14px 15px}.assistant-clarify-actions{padding-left:15px;padding-right:15px}.assistant-plan-details .assistant-action-editor{grid-template-columns:1fr}.assistant-more-menu{right:-45px}.assistant-plan-summary-item{font-size:13px}}
@media(max-height:520px){.assistant-composer-state{display:none}#aiDrawer #voiceTranscript{min-height:52px;max-height:110px}.assistant-dialogue-welcome{margin-top:0;margin-bottom:12px;padding:10px}.assistant-clarify-sheet{max-height:96%}}
.assistant-clarify-extra{margin-top:12px;color:#4e6f9a;font-size:13px}.assistant-clarify-extra summary{padding:9px 0;cursor:pointer}.assistant-clarify-extra textarea{width:100%;min-height:85px;font-size:16px;background:#f8fbff;border:1px solid #d2def0;margin-top:5px}.assistant-clarify-mic{margin-top:12px;width:100%;padding:11px;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
#aiDrawer .ghost,.assistant-clarify-overlay .ghost{color:#3565a6;background:#edf4ff}#aiDrawer .assistant-head-actions>.ghost{color:#3565a6;background:#edf4ff}
/* Each turn stays in order. The composer is only for the next unsent message. */
#assistantDialogueMessages{display:flex;flex-direction:column;gap:20px;padding-bottom:12px}
#aiDrawer .assistant-dialogue-message{margin:0;width:100%;max-width:100%;white-space:normal}
#aiDrawer .assistant-dialogue-message.user{align-self:flex-end;width:fit-content;max-width:90%;margin-left:auto;padding:0;background:transparent;color:#183d70;border-radius:0}
#aiDrawer .assistant-dialogue-message.assistant{padding:0;border-left:0;color:#365675}
.assistant-message-meta{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-bottom:7px;min-height:18px;font-size:11px;line-height:1.5;color:#8a9bb1}
.assistant-message-meta b{font-size:12px;color:#456689;font-weight:700}.assistant-dialogue-message.user .assistant-message-meta{justify-content:flex-end}.assistant-message-meta time{font-variant-numeric:tabular-nums}.assistant-message-duration{margin-left:auto;white-space:nowrap;font-variant-numeric:tabular-nums;color:#8b9bb1;font-size:11px}
.assistant-message-body{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.75}
.assistant-dialogue-message.user>.assistant-message-body{padding:12px 15px;background:#e8f1ff;border:1px solid #dbe8fb;color:#214b80;border-radius:17px 17px 4px 17px}
#aiDrawer .assistant-message-edit{border:0;box-shadow:none;background:transparent;color:#7089aa;font-size:11px;line-height:1.4;padding:2px 3px;min-height:0;width:auto}
.assistant-dialogue-message.assistant>.assistant-message-body>#voiceResult{margin-top:0;white-space:normal}
.assistant-dialogue-message.pending>.assistant-message-body{display:flex;align-items:center;gap:9px;padding:13px 0;color:#7086a2}
.assistant-dialogue-message.pending>.assistant-message-body:before{content:'';width:7px;height:7px;flex:0 0 7px;background:#3f7adb;border-radius:50%;animation:assistant-chat-pulse 1.2s ease-in-out infinite}
.assistant-dialogue-message.failed>.assistant-message-body{padding:12px 14px;background:#fff6f3;color:#9b503f;border:1px solid #f0dfd8;border-radius:14px}
.assistant-retry-actions{display:flex;gap:8px;margin-top:10px;white-space:normal}#aiDrawer .assistant-retry-actions button{padding:8px 12px;font-size:12px;box-shadow:none}.assistant-retry-actions button:disabled{opacity:.45;cursor:default}
.assistant-archived-result{white-space:normal;border:1px solid #e2eaf5;border-radius:14px;background:#fff;padding:13px;opacity:.85}.assistant-archived-result .voice-result-head b{font-size:14px!important}.assistant-archived-result .assistant-plan-list{display:none}.assistant-archived-result .voice-safe{margin-top:8px}.assistant-archived-result .assistant-plan-summary{margin-top:9px}.assistant-archived-result .voice-assistant-message{background:transparent!important;padding:0!important}
.assistant-archived-result .assistant-archived-details:empty{display:none}
@keyframes assistant-chat-pulse{50%{opacity:.35;transform:scale(.75)}}
@media(prefers-reduced-motion:reduce){.assistant-dialogue-message.pending>.assistant-message-body:before{animation:none}}
@media(max-width:760px){#assistantDialogueMessages{gap:18px}.assistant-message-meta{gap:6px}.assistant-message-duration{font-size:10px}.assistant-archived-result{padding:11px}#aiDrawer .assistant-dialogue-message.user{max-width:92%}}

.assistant-error-reference{margin-top:8px;font-size:11px;color:#8b746d}.assistant-error-reference summary{cursor:pointer}.assistant-error-reference code{display:block;margin-top:5px;overflow-wrap:anywhere}.assistant-retry-actions{flex-wrap:wrap}
