/* AppSola assistant: one quiet workspace for text and voice. */
.voice-icon{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}
.voice-launcher{position:fixed;right:max(24px,env(safe-area-inset-right));bottom:calc(24px + env(safe-area-inset-bottom));z-index:60;display:flex;align-items:center;gap:12px;padding:13px 21px 13px 17px;border:1px solid #ffffff80;border-radius:28px;background:#405de9;color:#fff;box-shadow:0 8px 26px #324ccb26;font:inherit;text-align:left;transition:transform .2s,box-shadow .2s}
.voice-launcher:hover{transform:translateY(-3px);box-shadow:0 12px 32px #324ccb38}.voice-launcher strong{display:block;font-size:13px;font-weight:650}.voice-launcher small{display:block;margin-top:2px;font-size:10px;opacity:.8}.voice-launcher .voice-icon{width:23px;height:23px}
.voice-dialog{--assistant-ink:var(--ink,#091a43);--assistant-blue:var(--blue,#4665ff);--assistant-paper:var(--paper,#fffdf9);--assistant-line:var(--line,#dee3ef);--assistant-muted:var(--muted,#5b657d);--assistant-gutter:24px;position:fixed;inset:auto 0;top:calc(var(--assistant-vtop,0px) + max(var(--assistant-gutter),(var(--assistant-vh,100dvh) - 760px)/2));width:min(620px,calc(100% - 48px));height:min(760px,calc(var(--assistant-vh,100dvh) - 2 * var(--assistant-gutter)));max-width:none;max-height:none;margin:0 auto;padding:0;border:1px solid #ffffffd9;border-radius:28px;background:var(--assistant-paper);color:var(--assistant-ink);box-shadow:0 30px 100px #14265030,0 0 0 1px #bfc8dd55;overflow:hidden;font-family:var(--sans,system-ui,sans-serif);font-size:14px;isolation:isolate;overscroll-behavior:contain}
.voice-dialog[open]{display:flex;flex-direction:column}.voice-dialog::backdrop{background:#14234446;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}
.voice-dialog [hidden]{display:none!important}.voice-dialog button,.voice-dialog textarea,.voice-dialog a{font-family:inherit}.voice-dialog button{cursor:pointer}.voice-dialog button:disabled{cursor:default}.voice-dialog button:focus-visible,.voice-dialog a:focus-visible,.voice-dialog summary:focus-visible,.voice-lines:focus-visible{outline:2px solid var(--assistant-blue);outline-offset:3px}.voice-dialog h2:focus{outline:none}.assistant-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.voice-top{position:relative;z-index:3;display:flex;align-items:center;justify-content:space-between;gap:16px;flex:none;padding:23px 24px 19px;background:linear-gradient(110deg,#f1f3ff80,#fff6ed75)}.assistant-identity{display:flex;align-items:center;gap:12px;min-width:0}.assistant-mark{width:34px;height:37px;object-fit:contain;flex:none}.voice-dialog h2{margin:0;font-size:18px;font-weight:700;line-height:1.4;letter-spacing:-.6px;color:var(--assistant-ink)}.voice-intro{margin:3px 0 0;color:var(--assistant-muted);font-size:11px;line-height:1.5;letter-spacing:0}.assistant-header-actions{display:flex;gap:5px;flex:none}.voice-close,.assistant-new{display:grid;place-items:center;width:38px;height:38px;padding:0;border:0;border-radius:50%;background:transparent;color:#6c7892;transition:background .15s,color .15s}.voice-close:hover,.assistant-new:hover{background:#e7ebfa;color:var(--assistant-ink)}.assistant-new:disabled{opacity:.35}.assistant-new .voice-icon{width:19px;height:19px}.voice-close .voice-icon{width:20px;height:20px}
.assistant-tabs{flex:none;display:grid;grid-template-columns:1fr 1fr;gap:4px;padding:4px;margin:0 24px 0;border:1px solid #e5e8f2;border-radius:15px;background:#eef0f8}.assistant-tabs button{display:flex;align-items:center;justify-content:center;gap:9px;min-height:40px;padding:8px 12px;border:0;border-radius:10px;background:transparent;color:#687590;font-size:13px;font-weight:650;transition:background .18s,color .18s,box-shadow .18s}.assistant-tabs button[aria-selected=true]{background:#fff;color:#3e58df;box-shadow:0 2px 7px #243c6b0c}.assistant-tabs button:disabled{opacity:.5}.assistant-tabs .voice-icon{width:17px;height:17px}
#assistant-chat-panel{flex:none;padding:0 24px}.chat-status{display:flex;align-items:center;gap:6px;min-height:15px;margin:11px 0 3px;color:#64728c;font-size:11px;line-height:1.5}.chat-status::before{content:"";width:5px;height:5px;border-radius:50%;background:#8292bd;flex:none}.voice-dialog[data-chat-ready=true] .chat-status::before{background:#4b8d79}.voice-dialog[data-chat-pending=true] .chat-status::before{background:var(--assistant-blue);animation:voice-breathe 1.2s infinite}
.chat-message,.voice-message{margin:9px 0 0;padding:11px 13px;border:1px solid #ead9ca;border-radius:12px;background:#fff4e9;color:#855738;font-size:12px;line-height:1.6;overflow-wrap:anywhere;max-height:110px;overflow:auto}.chat-retry{margin:9px 0 3px;padding:8px 13px;border:1px solid #ccd6f5;border-radius:18px;background:#eff2ff;color:#3f59ce;font-size:11px;font-weight:600}
.voice-transcript{position:relative;display:flex;flex:1;flex-direction:column;min-height:0;overflow:hidden;margin:0;padding:0}.voice-lines{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;overflow-anchor:none;scrollbar-width:thin;scrollbar-color:#c9cfe0 transparent;padding:12px 24px 20px;scroll-padding-block:16px;outline-offset:-3px!important}.voice-lines:empty{display:none}.voice-line{width:fit-content;max-width:88%;margin:0 0 14px;padding:12px 16px;border:1px solid #e7eaf2;border-radius:5px 18px 18px;background:#fff;font-size:15px;line-height:1.7;overflow-wrap:anywhere;white-space:pre-wrap;word-break:break-word}.voice-line:last-child{margin-bottom:0}.voice-line[data-role=user]{margin-left:auto;border-color:#e1e6fc;border-radius:18px 5px 18px 18px;background:#edf0ff}.voice-line b{display:block;margin-bottom:4px;font-size:10px;line-height:1.5;font-weight:650;color:#69758d;letter-spacing:.01em}.voice-line[data-role=user] b{color:#59678c}.voice-line>span{display:block}.assistant-interrupted{display:block;margin-top:7px;color:#92725e;font-size:10px;line-height:1.5}.assistant-interrupted::before{content:"↳ ";color:#b5927d}
.assistant-empty{display:flex;flex:1;align-items:center;justify-content:center;min-height:0;overflow:auto;padding:26px 40px;background:radial-gradient(ellipse at 12% 10%,#e8edff50,transparent 60%),radial-gradient(ellipse at 95% 90%,#ffead740,transparent 65%)}.assistant-welcome-chat,.assistant-welcome-voice{max-width:380px;width:100%}.assistant-kicker{display:flex;align-items:center;gap:9px;font-size:10px;color:#8d725e;font-weight:600;letter-spacing:.025em}.assistant-kicker::before{content:"";width:20px;height:2px;background:#e6a275}.assistant-empty h3{font-size:29px;font-weight:650;line-height:1.25;letter-spacing:-1.1px;margin:15px 0 11px;color:var(--assistant-ink)}.assistant-empty p{margin:0;max-width:330px;color:#69758d;font-size:14px;line-height:1.75}.assistant-suggestions{display:grid;gap:9px;margin-top:25px}.assistant-suggestion{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-height:43px;padding:11px 14px;border:1px solid #dfe4f0;border-radius:12px;background:#ffffffa8;text-align:left;color:#475979;font-size:13px;line-height:1.5;transition:border-color .15s,background .15s,transform .15s}.assistant-suggestion span{font-size:15px;color:#8190b2}.assistant-suggestion:hover{border-color:#9eaded;background:#f0f3ff;transform:translateX(2px)}.assistant-suggestion:disabled{opacity:.5}
.assistant-welcome-voice{display:none;text-align:center}.assistant-welcome-voice p{margin-inline:auto}.voice-dialog[data-mode=voice] .assistant-welcome-voice{display:block}.voice-dialog[data-mode=voice] .assistant-welcome-chat{display:none}.assistant-voice-orb{display:grid;place-items:center;width:106px;height:106px;margin:0 auto 26px;border-radius:50%;background:radial-gradient(circle at 30% 20%,#e7ecff,#ced7ff 50%,#ffd6b6);box-shadow:inset 0 0 0 7px #ffffff66,0 10px 35px #a5b2e92b}.assistant-voice-orb .voice-bars{transform:scale(1.05)}
.assistant-to-latest{position:absolute;left:50%;bottom:13px;transform:translateX(-50%);display:flex;align-items:center;gap:9px;white-space:nowrap;max-width:calc(100% - 32px);min-height:35px;padding:8px 14px;border:1px solid #ccd5f4;border-radius:22px;background:#fffdf9f5;box-shadow:0 4px 16px #273e6a14;color:#405acf;font-size:11px;font-weight:600;z-index:2}
.chat-form{flex:none;margin:0;padding:12px 24px 18px;border-top:1px solid #edf0f6;background:var(--assistant-paper)}.chat-compose{display:flex;align-items:flex-end;gap:10px;min-width:0;padding:7px;border:1px solid #d8dfed;border-radius:19px;background:#fff;box-shadow:0 2px 7px #182e5804;transition:border-color .15s,box-shadow .15s}.chat-compose:focus-within{border-color:#879bfa;box-shadow:0 0 0 3px #4665ff0c}.chat-input{display:block;box-sizing:border-box;flex:1;min-width:0;width:100%;height:42px;min-height:42px;max-height:124px;padding:10px 6px 10px 9px;border:0;border-radius:0;resize:none;outline:none!important;background:transparent;color:var(--assistant-ink);font-size:14px;line-height:22px;overflow-y:auto;scrollbar-width:thin}.chat-input::placeholder{color:#69758d}.chat-input:disabled{opacity:.65}.chat-send{display:grid;place-items:center;flex:none;width:42px;height:42px;padding:0;border:0;border-radius:13px;background:#4665f4;color:#fff;transition:background .15s,transform .15s}.chat-send .voice-icon{width:23px;height:23px;stroke-width:1.8}.chat-send:not(:disabled):hover{background:#3450d2;transform:translateY(-1px)}.chat-send:disabled{background:#e9ecf6;color:#a1acc6}
#assistant-voice-panel{flex:none;margin:0;padding:10px 24px 14px;border-top:1px solid #edf0f6}.voice-session{display:flex;align-items:center;gap:8px;min-height:28px;margin-bottom:8px}.voice-visual{display:grid;place-items:center;width:28px;height:28px;flex:none;border-radius:50%;background:linear-gradient(135deg,#e7ecff,#e6e9fc 60%,#ffe9d8)}.voice-bars{display:flex;align-items:center;gap:4px;height:32px;color:#4962e1}.voice-bars i{display:block;width:4px;height:11px;border-radius:5px;background:currentColor}.voice-bars i:nth-child(2),.voice-bars i:nth-child(4){height:21px}.voice-bars i:nth-child(3){height:29px}.voice-visual .voice-bars{transform:scale(.42)}.voice-status{margin:0;color:#263c62;font-size:13px;font-weight:650;line-height:1.5}.voice-controls{display:flex;align-items:stretch;gap:8px}.voice-start,.voice-end,.voice-mute,.voice-play{display:flex;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:9px 14px;border:0;border-radius:12px;font-size:12px;font-weight:650;line-height:1.5}.voice-start{width:100%;background:#4665f4;color:#fff}.voice-start:not(:disabled):hover{background:#3450d2}.voice-start:disabled{background:#e9edf7;color:#99a6bf}.voice-end{flex:1.35;min-width:0;white-space:nowrap;background:#b7463d;color:#fff;font-variant-numeric:tabular-nums}.voice-end:hover{background:#a23932}.voice-mute{flex:none;width:44px;padding:0;background:#ecf0fb;color:#54658a}.voice-mute .voice-icon{width:19px;height:19px}.voice-mute[aria-pressed=true]{background:#fff0e4;color:#97633e}.voice-play{width:100%;margin-top:8px;background:#fff0e4;color:#8b5836}.voice-message{margin:0 0 10px;border-color:#dce4f6;background:#f1f4fc;color:#586c91}.voice-local-note{max-height:100px;overflow:auto;margin:0 0 10px;padding:9px 11px;border:1px dashed #dcc6af;border-radius:10px;color:#897058;font-size:11px;line-height:1.5}.voice-local-note code{overflow-wrap:anywhere}.voice-local-note summary{cursor:pointer}.voice-local-note[open] summary{margin-bottom:7px}.voice-interrupt{display:flex;align-items:center;justify-content:center;flex:1;min-width:0;margin:0;min-height:44px;padding:9px 10px;border:1px solid #d8dff4;border-radius:12px;background:transparent;color:#5269ca;font-size:12px;line-height:1.5;font-weight:600}.voice-interrupt:not(:disabled):hover{background:#edf1ff}.voice-interrupt:disabled{border-color:#e5e8f1;color:#8b96ad;background:transparent}.voice-dialog[data-state=connecting] .voice-visual,.voice-dialog[data-state=connecting] .assistant-voice-orb{animation:voice-breathe 1.6s infinite}.voice-dialog[data-speaking=true] .voice-bars i{animation:voice-wave .65s ease-in-out infinite alternate}.voice-dialog[data-speaking=true] .voice-bars i:nth-child(2){animation-delay:-.3s}.voice-dialog[data-speaking=true] .voice-bars i:nth-child(3){animation-delay:-.5s}.voice-dialog[data-speaking=true] .voice-bars i:nth-child(4){animation-delay:-.15s}
.voice-callback-status{flex:none;max-height:78px;overflow:auto;margin:0 24px 12px;padding:10px 13px;border:1px solid #d1e5d9;border-radius:12px;background:#eff8f2;color:#3b7558;font-size:11px;line-height:1.6}
.assistant-privacy summary{display:grid;place-items:center;width:32px;height:38px;border-radius:50%;color:#6c7892;list-style:none;cursor:pointer}.assistant-privacy summary::-webkit-details-marker{display:none}.assistant-privacy summary:hover,.assistant-privacy[open] summary{background:#e7ebfa;color:var(--assistant-ink)}.assistant-privacy summary .voice-icon{width:18px;height:18px}.assistant-privacy-content{position:absolute;top:calc(100% - 7px);left:16px;right:16px;z-index:5;padding:17px 19px;border:1px solid #dde3f0;border-radius:17px;background:#fffdf9;box-shadow:0 8px 35px #13295118;max-height:min(280px,55dvh);overflow:auto;color:#64728c;font-size:11px;line-height:1.5}.assistant-privacy-content strong{font-size:12px;color:#334c73;font-weight:650}.voice-disclosure{margin:8px 0 0;font-size:11px;line-height:1.75;text-align:left}.voice-transcript-hint{font-size:10px;line-height:1.6;color:#929bac;margin:9px 0 0}.voice-handoff{margin:12px 0 0;padding-top:9px;border-top:1px solid #e7eaf2;white-space:nowrap;font-size:11px;color:#64728c}.voice-handoff a{display:inline-flex;align-items:center;gap:6px;min-height:24px}.voice-handoff a:hover{color:var(--assistant-blue)}.voice-handoff span{font-size:13px}
body.voice-open{overflow:hidden}.voice-inline{display:inline-flex;align-items:center;gap:8px;background:none;border:0;padding:8px 0;color:#405de9;font-size:13px;font-weight:550}.voice-inline span{border-bottom:1px solid #a5b2ed;padding-bottom:3px}.voice-open .voice-launcher{visibility:hidden}
@keyframes voice-wave{to{transform:scaleY(.35)}}@keyframes voice-breathe{50%{opacity:.6}}
@media(max-width:600px){.voice-dialog{--assistant-gutter:10px;width:calc(100% - 20px);border-radius:23px}.voice-top{padding:16px 16px 14px;gap:8px}.assistant-identity{gap:9px}.assistant-mark{width:28px;height:31px}.voice-dialog h2{font-size:16px;letter-spacing:-.5px}.voice-intro{font-size:9px}.assistant-header-actions{gap:0}.voice-close,.assistant-new{width:34px;height:38px}.assistant-tabs{margin-inline:16px;border-radius:14px}.assistant-tabs button{min-height:39px;font-size:12px}.assistant-tabs .voice-icon{width:16px;height:16px}#assistant-chat-panel{padding-inline:18px}.chat-status{font-size:10px;margin-top:9px}.voice-lines{padding:12px 16px 17px}.voice-line{max-width:91%;padding:10px 13px;font-size:14px;line-height:1.65;margin-bottom:12px}.voice-line b{font-size:9px}.assistant-empty{padding:23px}.assistant-empty h3{font-size:26px}.assistant-empty p{font-size:13px}.assistant-suggestions{gap:8px;margin-top:22px}.assistant-suggestion{font-size:12px;min-height:43px;padding:10px 12px}.chat-form{padding:10px 14px 14px}.chat-compose{gap:5px;padding:6px;border-radius:18px}.chat-input{font-size:16px;min-height:42px;padding-left:7px;max-height:108px}.chat-send{width:42px;height:42px}.voice-handoff{font-size:10px}.assistant-privacy summary{width:26px}.assistant-privacy-content{left:10px;right:10px}.voice-callback-status{margin:0 16px 10px;font-size:10px}#assistant-voice-panel{padding:10px 16px 12px}.voice-status{font-size:12px}.voice-start,.voice-end,.voice-play{font-size:12px;min-height:44px;padding-inline:10px}.voice-launcher{right:16px;bottom:calc(16px + env(safe-area-inset-bottom));padding:12px 17px 12px 14px;gap:10px}.voice-launcher strong{font-size:12px}.voice-launcher small{font-size:9px}.voice-launcher .voice-icon{width:21px;height:21px}}
/* Keep the conversation usable when the keyboard or a short window reduces height. */
.voice-dialog[data-compact=true] .voice-top{padding-block:10px}.voice-dialog[data-compact=true] .voice-intro{display:none}.voice-dialog[data-compact=true] .assistant-empty{align-items:flex-start;padding-block:18px}.voice-dialog[data-compact=true] .assistant-empty h3{font-size:23px;margin-block:8px}.voice-dialog[data-compact=true] .assistant-suggestions{margin-top:15px;gap:6px}.voice-dialog[data-compact=true] .assistant-suggestion{padding-block:8px;min-height:38px}.voice-dialog[data-compact=true] .assistant-voice-orb{width:65px;height:65px;margin-bottom:12px}.voice-dialog[data-compact=true] #assistant-voice-panel{padding-top:8px}.voice-dialog[data-compact=true] .voice-message{max-height:70px}
@media(max-width:380px){.voice-dialog h2{font-size:15px}.voice-top{gap:6px}}
@media(max-width:800px){.voice-launcher-calculator{bottom:calc(98px + env(safe-area-inset-bottom))}}
@media(prefers-reduced-motion:reduce){.voice-dialog *,.voice-launcher{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{.voice-launcher,.voice-dialog,.voice-inline{display:none!important}}
/* Reserve a visible scroll lane while call controls remain fixed below. */
.voice-line a{color:#3e58df;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px;overflow-wrap:anywhere}.voice-line a:hover{color:#233fba}
.assistant-callback-review{margin:6px 0 16px;padding:17px 18px;border:1px solid #cdd6f5;border-radius:17px;background:#f3f5ff;color:var(--assistant-ink);font-size:13px;line-height:1.6;overflow-wrap:anywhere}.assistant-callback-review>strong{font-size:15px}.callback-review-note,.callback-review-hint{margin:7px 0;color:#5b6781;font-size:11px}.assistant-callback-review dl{display:grid;grid-template-columns:70px 1fr;gap:7px 10px;margin:14px 0}.assistant-callback-review dt{color:#64728c;font-size:11px}.assistant-callback-review dd{min-width:0;margin:0;white-space:pre-wrap}.callback-review-actions{display:flex;gap:8px;flex-wrap:wrap}.callback-review-actions button{min-height:40px;padding:9px 14px;border:0;border-radius:11px;font:inherit;font-weight:600}.callback-confirm{background:#4665f4;color:#fff}.callback-cancel{background:#e6eaf8;color:#526482}.callback-review-actions button:disabled{opacity:.55}.voice-callback-status[data-state=warning]{border-color:#ead8bf;background:#fff5e8;color:#805b32}.voice-callback-status[data-state=info]{border-color:#d9e0f1;background:#f1f4fc;color:#546582}
.voice-lines{scrollbar-gutter:stable;-webkit-mask-image:linear-gradient(to bottom,transparent,#000 10px,#000);mask-image:linear-gradient(to bottom,transparent,#000 10px,#000)}
.voice-lines::-webkit-scrollbar{width:7px}.voice-lines::-webkit-scrollbar-track{background:transparent}.voice-lines::-webkit-scrollbar-thumb{border:2px solid var(--assistant-paper);border-radius:8px;background:#b6c0d9}.voice-lines::-webkit-scrollbar-thumb:hover{background:#8596bf}
#assistant-voice-panel{max-height:52%;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
