:root{
  --sj-bg:#071019;--sj-bg-soft:#0a141f;--sj-surface:#0d1824;--sj-surface-2:#111f2d;--sj-surface-3:#162839;
  --sj-text:#f8fafc;--sj-muted:#94a3b8;--sj-muted-2:#6f8192;--sj-line:rgba(148,163,184,.15);--sj-line-strong:rgba(148,163,184,.24);
  --sj-brand:#d7192d;--sj-brand-2:#a61422;--sj-route:#38bdf8;--sj-success:#22c55e;--sj-warning:#f59e0b;--sj-danger:#ef4444;--sj-offline:#64748b;
  --sj-signal-info:#38bdf8;--sj-signal-checking:#38bdf8;--sj-signal-online:#22c55e;--sj-signal-busy:#f97316;--sj-signal-away:#f59e0b;--sj-signal-offline:#64748b;--sj-signal-error:#ef4444;
  --sj-radius:14px;--sj-shadow:0 18px 46px rgba(0,0,0,.38);--sj-visual-height:100dvh;
}
*{box-sizing:border-box}.screen-reader-text{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}[hidden]{display:none!important}
html.sap3-lock,body.sap3-chat-open{overflow:hidden!important;overscroll-behavior:none}

/* Launcher */
#sap3-launcher{position:fixed!important;display:block!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important;-webkit-appearance:none!important;appearance:none!important;right:max(16px,env(safe-area-inset-right));bottom:max(16px,env(safe-area-inset-bottom));width:60px;height:60px;min-width:48px;min-height:48px;padding:0;margin:0;border:0;border-radius:18px;background:#111820;cursor:pointer;z-index:2147482000;isolation:isolate;touch-action:manipulation;box-shadow:0 10px 26px rgba(0,0,0,.30);transition:transform .15s ease,box-shadow .15s ease,filter .15s ease}
#sap3-launcher:hover{transform:translateY(-1px);box-shadow:0 13px 30px rgba(0,0,0,.34)}#sap3-launcher:active{transform:scale(.98)}#sap3-launcher:focus-visible{outline:2px solid #fff;outline-offset:3px}
#sap3-launcher .sap3-launcher-frame{position:absolute;inset:0;border-radius:inherit;border:1px solid rgba(215,25,45,.72);background:linear-gradient(180deg,#171d25,#10161d);box-shadow:inset 0 1px 0 rgba(255,255,255,.035);overflow:hidden}
#sap3-launcher .sap3-launcher-art{position:absolute;inset:5px;width:calc(100% - 10px);height:calc(100% - 10px);display:block;object-fit:contain;pointer-events:none;user-select:none;-webkit-user-drag:none}
#sap3-launcher .sap3-launcher-signal{position:absolute;pointer-events:none}
body.sap3-chat-open #sap3-launcher,html.sap3-lock #sap3-launcher{display:none!important}


/* Mobile visual-viewport guard: prevents the underlying page from showing through above an on-screen keyboard. */
body.sap3-viewport-guard::before{content:"";position:fixed;inset:0;z-index:2147481998;background:linear-gradient(180deg,#08121c 0%,#071019 100%);pointer-events:none}
@media(max-width:600px){body.sap3-device-mobile>#sap3-panel.open{z-index:2147481999!important;max-height:none!important;border-radius:0!important}}

/* Main panel */
#sap3-panel{position:fixed;right:12px;bottom:12px;width:min(392px,calc(100vw - 24px));height:min(680px,calc(var(--sj-visual-height) - 24px));max-height:calc(var(--sj-visual-height) - 24px);display:none;grid-template-rows:auto auto auto auto minmax(0,1fr) auto auto;overflow:hidden;color:var(--sj-text);background:linear-gradient(180deg,#08121c 0%,#071019 100%);border:1px solid var(--sj-line);border-radius:18px;box-shadow:var(--sj-shadow);z-index:2147481999;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;line-height:1.42;color-scheme:dark}
#sap3-panel.open{display:grid!important;visibility:visible!important;opacity:1!important;pointer-events:auto!important}#sap3-panel *{box-sizing:border-box}

/* Header */
.sap3-header{display:grid;grid-template-columns:34px minmax(0,1fr) 34px 34px;align-items:center;gap:7px;padding:8px 9px;border-bottom:1px solid var(--sj-line);background:rgba(7,16,25,.96);backdrop-filter:blur(12px)}
.sap3-avatar{width:34px;height:34px;border-radius:10px;background:#111821;border:1px solid rgba(215,25,45,.22);display:grid;place-items:center;overflow:hidden}.sap3-avatar img{width:29px;height:29px;object-fit:contain;display:block}
.sap3-head{min-width:0}.sap3-head>strong{display:block;font-size:14px;line-height:1.18;font-weight:800;letter-spacing:-.015em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sap3-head-sub{display:flex;align-items:center;margin-top:2px;color:var(--sj-muted);font-size:10px}.sap3-head-sub em{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sap3-head-sub .sap3-live-dot{display:none}
.sap3-iconbtn{width:34px;height:34px;border-radius:10px;border:1px solid var(--sj-line);background:#0d1924;color:var(--sj-text);display:grid;place-items:center;font-size:18px;line-height:1;cursor:pointer;transition:.14s ease}.sap3-iconbtn:hover{background:#122230;border-color:var(--sj-line-strong)}.sap3-iconbtn:focus-visible{outline:2px solid #fff;outline-offset:2px}

/* Compact control row */
.sap3-compact-controlbar{position:relative;display:grid;grid-template-columns:64px 70px minmax(0,1fr);align-items:center;gap:5px;padding:5px 7px;background:#08131d;border-bottom:1px solid var(--sj-line)}
.sap3-language-switch{min-width:0}.sap3-language-select{height:31px;width:100%;min-width:0;padding:0 22px 0 10px;border-radius:9px;border:1px solid var(--sj-line);background:#0d1924;color:var(--sj-text);font-weight:800;font-size:11.5px;outline:0}.sap3-language-select:focus{border-color:rgba(56,189,248,.5);box-shadow:0 0 0 2px rgba(56,189,248,.10)}.sap3-auto-toggle{height:31px;min-width:0;padding:0 7px;border-radius:9px;border:1px solid var(--sj-line);background:#0d1924;color:#8fa1af;display:flex;align-items:center;justify-content:center;gap:4px;font:inherit;font-weight:800;cursor:pointer}.sap3-auto-toggle i{width:14px;height:14px;display:block}.sap3-auto-toggle svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sap3-auto-toggle span{font-size:9.5px}.sap3-auto-toggle small{font-size:7px;letter-spacing:.05em;color:#6f8192}.sap3-auto-toggle.active{color:#dff6ff;border-color:rgba(56,189,248,.38);background:rgba(56,189,248,.10)}.sap3-auto-toggle.active small{color:#67d4ff}.sap3-auto-toggle:focus-visible{outline:2px solid #fff;outline-offset:2px}
.sap3-route-status{height:31px;min-width:0;display:grid;grid-template-columns:7px minmax(0,1fr);align-items:center;gap:7px;padding:0 9px;border:1px solid rgba(56,189,248,.18);border-radius:9px;background:rgba(56,189,248,.055);color:var(--sj-text)}.sap3-route-status .sap3-status-dot{width:7px;height:7px;border-radius:50%;background:var(--sj-route)}.sap3-route-copy{min-width:0;display:flex;align-items:baseline;gap:5px}.sap3-route-copy b{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sap3-route-copy small{font-size:8.5px;color:var(--sj-muted);white-space:nowrap}.sap3-route-status[data-stage="live"],.sap3-route-status[data-stage="agent"]{border-color:rgba(34,197,94,.22);background:rgba(34,197,94,.06)}.sap3-route-status[data-stage="live"] .sap3-status-dot,.sap3-route-status[data-stage="agent"] .sap3-status-dot{background:var(--sj-signal-checking)}
.sap3-route-status[data-signal-state="info"] .sap3-status-dot{background:var(--sj-signal-info)}
.sap3-route-status[data-signal-state="checking"] .sap3-status-dot{background:var(--sj-signal-checking);animation:sjStatusBlink 1.2s ease-in-out infinite}
.sap3-route-status[data-signal-state="online"] .sap3-status-dot{background:var(--sj-signal-online)}
.sap3-route-status[data-signal-state="busy"] .sap3-status-dot{background:var(--sj-signal-busy)}
.sap3-route-status[data-signal-state="away"] .sap3-status-dot{background:var(--sj-signal-away)}
.sap3-route-status[data-signal-state="offline"] .sap3-status-dot{background:var(--sj-signal-offline)}
@keyframes sjStatusBlink{0%,100%{opacity:.55}50%{opacity:1}}
.sap3-status,#sap3-agent-wrap{display:none!important}
.sap3-route-toast{position:absolute;left:8px;right:8px;top:38px;z-index:20;min-height:30px;padding:6px 8px;border-radius:9px;border:1px solid var(--sj-line);background:#0e1b27;color:var(--sj-text);box-shadow:0 8px 22px rgba(0,0,0,.24);font-size:10.5px;pointer-events:none}

/* Route rail */
.sap3-manual-route{padding:4px 6px;border-bottom:1px solid var(--sj-line);background:#07121b}.sap3-route-dock{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px}.sap3-route-dock button{position:relative;min-width:0;height:34px;padding:0 5px;border-radius:9px;border:1px solid transparent;background:transparent;color:#8293a1;display:flex;align-items:center;justify-content:center;gap:4px;cursor:pointer;font:inherit;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.sap3-route-dock button:hover{background:#0e1b27;color:#e7edf2}.sap3-route-dock button i{width:16px;height:16px;display:block;flex:0 0 auto}.sap3-route-dock button svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sap3-route-dock button span{font-size:8.8px;line-height:1;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sap3-route-dock button.active{background:#102538;color:#fff;border-color:rgba(56,189,248,.42);box-shadow:inset 0 0 0 1px rgba(56,189,248,.06)}.sap3-route-dock button.active::before{content:"";position:absolute;left:24%;right:24%;top:-1px;height:2px;border-radius:0 0 2px 2px;background:var(--sj-route)}.sap3-route-dock button.active::after{content:"✓";position:absolute;right:3px;top:2px;width:11px;height:11px;border-radius:50%;display:grid;place-items:center;background:var(--sj-route);color:#04131d;font-size:7px;font-weight:900}.sap3-route-dock button.executing:not(.active)::after{content:"";position:absolute;right:5px;top:5px;width:5px;height:5px;border-radius:50%;background:var(--sj-route);box-shadow:0 0 0 2px rgba(56,189,248,.10)}

/* Progress */
.sap3-answer-wait{margin:5px 7px 0;padding:6px 8px;border-radius:10px;border:1px solid rgba(56,189,248,.18);background:rgba(13,25,36,.96);box-shadow:none;position:relative;z-index:1;overflow:hidden}.sap3-answer-wait.is-failed{border-color:rgba(239,68,68,.34);background:rgba(73,18,25,.38)}
.sap3-progress-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:4px}.sap3-progress-head strong{font-size:10px;line-height:1.1}.sap3-progress-head b{font-size:9px;color:#85dafa}.sap3-answer-wait.is-failed .sap3-progress-head b{color:#fda4af}
.sap3-answer-wait-bar{display:block;height:3px;border-radius:999px;background:#061019;overflow:hidden}.sap3-answer-wait-bar i{display:block;height:100%;width:10%;border-radius:inherit;background:linear-gradient(90deg,var(--sj-route),#48d6cb);transition:width .25s ease}.sap3-answer-wait[data-progress-stage="live"] .sap3-answer-wait-bar i,.sap3-answer-wait[data-progress-stage="agent"] .sap3-answer-wait-bar i,.sap3-answer-wait[data-progress-stage="done"] .sap3-answer-wait-bar i{background:linear-gradient(90deg,#22c55e,#5ee19a)}.sap3-answer-wait.is-failed .sap3-answer-wait-bar i{background:linear-gradient(90deg,#c62f3d,#ef5e6c)}
.sap3-progress-steps{position:relative;list-style:none;margin:5px 0 0;padding:0;display:grid;grid-template-columns:repeat(4,1fr);gap:0}.sap3-progress-steps::before{content:"";position:absolute;left:7%;right:7%;top:6px;height:1px;background:rgba(148,163,184,.16)}.sap3-progress-steps li{position:relative;z-index:1;display:flex;justify-content:center;color:var(--sj-muted-2);font-size:0}.sap3-progress-steps li i{width:13px;height:13px;border-radius:50%;display:grid;place-items:center;background:#0d1924;border:1px solid var(--sj-line);font-style:normal;font-size:7px}.sap3-progress-steps li.active i{background:#0d5371;border-color:#2caedc;color:#fff}.sap3-progress-steps li.current i{background:var(--sj-route);box-shadow:0 0 0 3px rgba(56,189,248,.11)}.sap3-progress-steps li.skipped i{font-size:0;background:#0b151e;color:#758896}.sap3-progress-steps li.skipped i::after{content:"–";font-size:8px}.sap3-progress-steps li.failed i{background:#7a1d28;border-color:#ef5d6b;color:#fff;box-shadow:0 0 0 3px rgba(239,68,68,.08)}.sap3-progress-steps li.failed i::after{content:"×"}.sap3-progress-steps li.failed i{font-size:0}.sap3-progress-steps li.failed i::after{font-size:8px}
.sap3-progress-actions{display:flex;justify-content:flex-end;gap:4px;margin-top:5px}.sap3-progress-actions button{height:24px;padding:0 7px;border-radius:7px;border:1px solid var(--sj-line);background:#0d1924;color:#fff;font-size:9px;font-weight:700;cursor:pointer}.sap3-progress-actions #sap3-skip-ai{border-color:rgba(215,25,45,.34);color:#ffdce1}.sap3-progress-actions #sap3-retry-ai,.sap3-progress-actions #sap3-use-knowledge{border-color:rgba(56,189,248,.34)}

/* Chat */
.sap3-chat{min-height:0;overflow:auto;padding:10px 9px 12px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#294056 transparent;position:relative;z-index:0;scroll-padding-bottom:14px}.sap3-chat:empty{padding-top:10px}.sap3-msg{display:flex;align-items:flex-end;gap:6px;margin:0 0 8px}.sap3-msg.user{justify-content:flex-end;padding-right:1px}.sap3-msg-avatar{width:25px;height:25px;flex:0 0 25px;border-radius:8px;display:grid;place-items:center;background:#12202d;border:1px solid var(--sj-line);overflow:hidden;color:#dce7ef;font-size:9px;font-weight:800}.sap3-msg-avatar img{width:100%;height:100%;object-fit:cover}.sap3-msg-inner{max-width:86%;min-width:0}.sap3-msg.user .sap3-msg-inner{order:-1;max-width:78%}.sap3-msg.user .sap3-msg-avatar{display:none!important}
.sap3-bubble{padding:8px 10px;border-radius:12px 12px 12px 4px;background:#102235;border:1px solid rgba(73,121,159,.22);color:var(--sj-text);font-size:12.4px;line-height:1.45;overflow-wrap:anywhere}.sap3-msg.user .sap3-bubble{border-radius:12px 12px 4px 12px;background:linear-gradient(180deg,#861821,#71131b);border-color:rgba(215,25,45,.34)}.sap3-bubble strong{font-weight:800}.sap3-bubble p{margin:.28em 0 0}.sap3-bubble ul{margin:.28em 0 0 .95em;padding:0}.sap3-bubble li+li{margin-top:.2em}.sap3-meta{margin-top:3px;padding:0 3px;font-size:8.7px;color:var(--sj-muted-2)}.sap3-msg.user .sap3-meta{text-align:right}.sap3-inline-link,.sap3-answer-links a,.sap3-attachment{color:#7dd3fc;text-decoration:none}.sap3-inline-link:hover,.sap3-answer-links a:hover,.sap3-attachment:hover{text-decoration:underline}
.sap3-answer-links{margin-top:6px;padding-top:5px;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-wrap:wrap;gap:4px}.sap3-answer-links>span{width:100%;font-size:8px;color:var(--sj-muted);text-transform:uppercase;letter-spacing:.06em}.sap3-answer-links a{font-size:9px;padding:4px 6px;border-radius:7px;background:#0a1824;border:1px solid var(--sj-line)}.sap3-quality-note{margin:0 0 6px;padding:5px 6px;border-radius:7px;border:1px solid rgba(245,158,11,.2);background:rgba(245,158,11,.06);color:#e7d7ad;font-size:9px}.sap3-typing-text{min-height:13px;padding:0 10px 3px;color:var(--sj-muted);font-size:9px}
#sap3-panel.sap3-has-chat .sap3-welcome-card,#sap3-panel.sap3-has-chat .sap3-welcome-suggestions{display:none!important}

/* Suggestions / feedback */
.sap3-chips{display:flex;flex-wrap:nowrap;gap:5px;margin:0 30px 8px;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:none;align-items:center;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.sap3-chips::-webkit-scrollbar{display:none}.sap3-chip{appearance:none;-webkit-appearance:none;flex:0 0 auto;max-width:240px;border:1px solid var(--sj-line);background:#0d1924;color:#dbe5ec;border-radius:9px;padding:6px 8px;font:inherit;font-size:10px;line-height:1.15;font-weight:650;text-align:left;cursor:pointer;box-shadow:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.sap3-chip:hover,.sap3-chip:focus-visible{background:#132638;border-color:rgba(56,189,248,.38);color:#fff;outline:none}.sap3-chip:active{transform:translateY(1px)}.sap3-chip-more{border-style:dashed;color:#91a5b4;background:#09151f}.sap3-related-chips{max-width:none}
.sap3-helpful{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:0 30px 8px;color:#99aab7;font-size:9.8px}.sap3-help-actions{display:flex;gap:4px}.sap3-help-actions button{height:24px;min-width:44px;padding:0 7px;border-radius:7px;border:1px solid var(--sj-line);background:#0d1924;color:var(--sj-text);font-size:9.5px;font-weight:700;cursor:pointer}.sap3-help-thanks{font-size:9px;color:var(--sj-muted)}
.sap3-inline-recovery{display:flex;flex-wrap:wrap;gap:5px;margin-top:7px}.sap3-inline-recovery button{height:25px;padding:0 7px;border:1px solid var(--sj-line);border-radius:7px;background:#0d1924;color:#fff;font:inherit;font-size:9px;font-weight:700;cursor:pointer}.sap3-inline-recovery button:first-child{border-color:rgba(56,189,248,.34);background:#10283a}
.sap3-suggestbox{position:absolute;left:43px;right:43px;bottom:58px;z-index:30;max-height:160px;overflow:auto;border:1px solid var(--sj-line);border-radius:10px;background:#0a1620;box-shadow:0 12px 28px rgba(0,0,0,.32);padding:4px}.sap3-suggestbox button{display:block;width:100%;text-align:left;padding:7px 8px;border:0;border-radius:7px;background:transparent;color:var(--sj-text);font:inherit;font-size:10px;cursor:pointer;user-select:none;-webkit-user-select:none}.sap3-suggestbox button:hover{background:#122536}.sap3-suggestbox button+button{margin-top:2px}

/* Live form */
.sap3-liveform{margin:0 0 9px;padding:9px;border:1px solid var(--sj-line);border-radius:12px;background:#0b1823}.sap3-liveform-top{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:7px}.sap3-liveform-kicker{display:block;color:#7dd3fc;font-size:8px;text-transform:uppercase;letter-spacing:.07em;font-weight:800}.sap3-liveform h3{margin:2px 0 3px;font-size:13px}.sap3-liveform p{margin:0;color:var(--sj-muted);font-size:9.5px}.sap3-liveform-close{width:28px;height:28px;border-radius:8px;border:1px solid var(--sj-line);background:#0e1d29;color:#fff;font-size:17px;cursor:pointer}.sap3-form-status{display:flex;gap:7px;align-items:center;padding:6px 7px;border-radius:8px;background:#091620;border:1px solid var(--sj-line);margin-bottom:6px}.sap3-form-status>i{width:7px;height:7px;border-radius:50%;background:var(--sj-route);flex:0 0 auto}.sap3-form-status.is-online>i{background:var(--sj-signal-online)}.sap3-form-status.is-busy>i{background:var(--sj-signal-busy)}.sap3-form-status.is-away>i{background:var(--sj-signal-away)}.sap3-form-status.is-offline>i{background:var(--sj-signal-offline)}.sap3-form-status.is-checking>i{background:var(--sj-signal-checking);animation:sjStatusBlink 1.2s ease-in-out infinite}.sap3-form-status strong{display:block;font-size:10px}.sap3-form-status small{display:block;color:var(--sj-muted);font-size:8.5px;margin-top:1px}.sap3-form-error{padding:6px 7px;margin-bottom:6px;border-radius:8px;background:rgba(239,68,68,.08);border:1px solid rgba(239,68,68,.24);color:#ffd9de;font-size:10px}.sap3-field{margin-top:6px}.sap3-field label{display:block;margin:0 0 3px;color:#c7d3dd;font-size:9px;font-weight:700}.sap3-field input,.sap3-field textarea{width:100%;border:1px solid var(--sj-line);border-radius:8px;background:#07121b;color:#fff;padding:7px 8px;font:inherit;font-size:11px;outline:0;resize:vertical}.sap3-field input:focus,.sap3-field textarea:focus{border-color:rgba(56,189,248,.48);box-shadow:0 0 0 2px rgba(56,189,248,.08)}.sap3-honeypot{position:absolute!important;left:-10000px!important;width:1px!important;height:1px!important;opacity:0!important}.sap3-consent{display:flex;align-items:flex-start;gap:6px;margin-top:7px;color:var(--sj-muted);font-size:9px}.sap3-consent input{margin-top:1px}.sap3-start-support{margin-top:8px;width:100%;height:33px;border:0;border-radius:9px;background:var(--sj-brand);color:#fff;font-weight:800;font-size:10.5px;display:flex;align-items:center;justify-content:center;gap:6px;cursor:pointer}

/* Composer */
.sap3-composer{position:relative;padding:6px 7px max(6px,env(safe-area-inset-bottom));border-top:1px solid var(--sj-line);background:rgba(7,16,25,.98);backdrop-filter:blur(12px)}.sap3-row{display:grid;grid-template-columns:34px minmax(0,1fr) 34px 38px;gap:5px;align-items:end}.sap3-plus,.sap3-mic,.sap3-send{height:34px;border-radius:10px;border:1px solid var(--sj-line);background:#0d1924;color:#fff;display:grid;place-items:center;cursor:pointer}.sap3-plus{font-size:18px}.sap3-plus.open{transform:none;background:#122536;border-color:rgba(56,189,248,.30)}.sap3-mic svg,.sap3-send svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sap3-send{background:var(--sj-brand);border-color:#c91528}.sap3-send:disabled,.sap3-mic:disabled,.sap3-plus:disabled{opacity:.48;cursor:not-allowed}
#sap3-input{display:block;width:100%;min-height:34px;max-height:84px;padding:6px 9px;border-radius:10px;border:1px solid rgba(148,163,184,.22);background:#101a23;color:#f4f7f9;font:inherit;font-size:12px;line-height:20px;resize:none;outline:0;overflow-y:auto}#sap3-input::placeholder{color:#7f909d;opacity:1;white-space:nowrap}#sap3-input:focus{border-color:rgba(215,25,45,.68);box-shadow:0 0 0 2px rgba(215,25,45,.10)}.sap3-note{padding-top:3px;text-align:center;color:#617583;font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sap3-composer.sap3-drop-active{background:#0e2332}
.sap3-tools-drawer{margin-top:5px;padding:5px;border:1px solid var(--sj-line);border-radius:10px;background:#09151f}.sap3-tool-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}.sap3-tool-item{min-height:48px;padding:5px 3px;border:1px solid transparent;border-radius:8px;background:#0d1924;color:#dbe5ec;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;font:inherit}.sap3-tool-item:hover{border-color:var(--sj-line);background:#132434}.sap3-tool-item input{display:none}.sap3-tool-item b{font-size:8px;font-weight:700}.sap3-tool-item small{font-size:7px;color:var(--sj-muted-2);line-height:1.1}.sap3-tool-icon{width:17px;height:17px;display:block}.sap3-tool-icon svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.sap3-tool-item[aria-disabled="true"]{opacity:.42;pointer-events:none}.sap3-file-row{display:flex;flex-direction:column;gap:4px;margin-top:5px;padding-top:5px;border-top:1px solid var(--sj-line)}.sap3-file-state{display:flex;align-items:center;gap:6px}.sap3-file-name{min-width:0;flex:1;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sap3-file-remove{width:25px;height:25px;border-radius:7px;border:1px solid var(--sj-line);background:#0d1924;color:#fff;cursor:pointer}.sap3-paste-hint{color:var(--sj-muted-2);font-size:7.5px}.sap3-upload-progress{width:100%;height:4px;accent-color:var(--sj-route);border:0;border-radius:999px;overflow:hidden}.sap3-upload-progress::-webkit-progress-bar{background:#061019}.sap3-upload-progress::-webkit-progress-value{background:linear-gradient(90deg,var(--sj-route),var(--sj-success));border-radius:999px}

/* Camera */
.sap3-camera-modal{position:fixed;inset:0;z-index:999980;background:rgba(0,0,0,.72);display:grid;place-items:center;padding:16px}.sap3-camera-dialog{width:min(600px,100%);padding:9px;border-radius:14px;border:1px solid var(--sj-line);background:#071019;box-shadow:var(--sj-shadow)}.sap3-camera-dialog video{display:block;width:100%;max-height:70vh;border-radius:10px;background:#000}.sap3-camera-actions{display:flex;gap:6px;justify-content:flex-end;margin-top:7px}.sap3-camera-actions button{height:32px;padding:0 11px;border-radius:9px;border:1px solid var(--sj-line);background:#0d1924;color:#fff;cursor:pointer}.sap3-camera-actions button:first-child{background:var(--sj-brand);border-color:var(--sj-brand)}

/* Embedded page */
.sap3-page-wrap{min-height:70vh;padding:14px;background:#071019}.sap3-page-wrap #sap3-panel{position:relative;display:grid;right:auto;bottom:auto;width:min(740px,100%);height:min(800px,80vh);margin:0 auto;max-height:none}

/* Mobile and keyboard */
body.sap3-device-mobile > #sap3-panel{left:0!important;top:0!important;right:auto!important;bottom:auto!important;width:100%!important;max-width:none!important;height:var(--sj-visual-height)!important;max-height:var(--sj-visual-height)!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important}
body.sap3-device-mobile > #sap3-panel .sap3-header{padding-top:max(7px,env(safe-area-inset-top))}body.sap3-device-mobile > #sap3-panel .sap3-composer{padding-bottom:max(6px,env(safe-area-inset-bottom))}
.sap3-keyboard-open #sap3-panel .sap3-head-sub{display:none}.sap3-keyboard-open #sap3-panel .sap3-header{grid-template-columns:30px minmax(0,1fr) 30px 30px;padding:4px 7px}.sap3-keyboard-open #sap3-panel .sap3-avatar{width:30px;height:30px;border-radius:8px}.sap3-keyboard-open #sap3-panel .sap3-avatar img{width:25px;height:25px}.sap3-keyboard-open #sap3-panel .sap3-iconbtn{width:30px;height:30px;border-radius:8px}.sap3-keyboard-open #sap3-manual-route{display:none}.sap3-keyboard-open #sap3-panel .sap3-compact-controlbar{padding:4px 7px}.sap3-keyboard-open #sap3-panel .sap3-route-copy small{display:none}.sap3-keyboard-open #sap3-panel .sap3-answer-wait{margin:3px 6px 0;padding:5px 7px}.sap3-keyboard-open #sap3-panel .sap3-progress-steps{display:none}.sap3-keyboard-open #sap3-panel .sap3-chat{padding-top:7px}.sap3-keyboard-open #sap3-panel .sap3-note{display:none}
@media(max-width:600px){#sap3-launcher{width:58px;height:58px;border-radius:17px}.sap3-header{grid-template-columns:32px minmax(0,1fr) 32px 32px;padding:6px 8px}.sap3-avatar{width:32px;height:32px}.sap3-avatar img{width:27px;height:27px}.sap3-head>strong{font-size:13.5px}.sap3-iconbtn{width:32px;height:32px}.sap3-compact-controlbar{grid-template-columns:54px 66px minmax(0,1fr);padding:4px 6px}.sap3-language-select,.sap3-auto-toggle,.sap3-route-status{height:29px}.sap3-manual-route{padding:3px 5px}.sap3-route-dock button{height:32px;padding:0 3px}.sap3-route-dock button i{width:15px;height:15px}.sap3-route-dock button span{font-size:8px}.sap3-answer-wait{margin:4px 6px 0;padding:5px 7px}.sap3-chat{padding:9px 8px 11px}.sap3-bubble{font-size:12.2px}.sap3-msg-inner{max-width:90%}.sap3-chips,.sap3-helpful{margin-left:28px;margin-right:8px}.sap3-composer{padding:5px 6px max(5px,env(safe-area-inset-bottom))}.sap3-row{grid-template-columns:32px minmax(0,1fr) 32px 36px;gap:4px}.sap3-plus,.sap3-mic,.sap3-send{height:32px;border-radius:9px}#sap3-input{min-height:32px;padding:5px 8px;font-size:11.8px}.sap3-tool-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.sap3-route-toast{display:none!important}}
@media(max-width:360px){.sap3-head>strong{font-size:12.8px}.sap3-route-dock button span{font-size:7.4px}.sap3-compact-controlbar{grid-template-columns:50px 61px minmax(0,1fr)}.sap3-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.sap3-row{grid-template-columns:31px minmax(0,1fr) 31px 35px}}
@media(max-height:650px){.sap3-head-sub{display:none}.sap3-route-dock button{height:30px}.sap3-answer-wait{padding:4px 6px}.sap3-tools-drawer{max-height:150px;overflow:auto}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
@media(forced-colors:active){#sap3-panel,#sap3-launcher,.sap3-route-dock button,.sap3-tool-item{forced-color-adjust:auto;border:1px solid CanvasText}.sap3-route-dock button.active{outline:2px solid Highlight}.sap3-live-dot,.sap3-status-dot{forced-color-adjust:none;background:Highlight!important}}

/* v14.4.0 visual-state polish */
.sap3-answer-wait.is-failed{padding:5px 7px}.sap3-answer-wait.is-failed .sap3-progress-head{margin-bottom:3px}.sap3-answer-wait.is-failed .sap3-answer-wait-bar{height:2px;opacity:.84}.sap3-answer-wait.is-failed .sap3-progress-steps{margin-top:4px}.sap3-answer-wait.is-failed .sap3-progress-actions{margin-top:4px}
.sap3-answer-wait.is-failed .sap3-progress-actions button{height:23px;padding:0 7px;font-size:8.6px}
.sap3-route-dock button.executing:not(.active)::after{display:none!important}
.sap3-language-select{appearance:auto;-webkit-appearance:auto;text-align:center;text-align-last:center;padding-left:6px;padding-right:20px}
@media(max-width:600px){.sap3-manual-route{padding:2px 5px}.sap3-route-dock button{height:30px}.sap3-route-dock button span{font-size:7.8px}.sap3-answer-wait.is-failed{margin-top:3px}.sap3-progress-actions{gap:3px}.sap3-progress-actions button{flex:1;min-width:0}.sap3-language-select{font-size:11px}}

/* v14.4.1 route identity model: Mode != Route != Health */
#sap3-manual-route .sap3-route-dock button.active{box-shadow:inset 0 0 0 1px rgba(56,189,248,.08)}
#sap3-manual-route .sap3-route-dock button.active::after{content:"✓"}
.sap3-route-status[data-stage="gemini"]{border-color:rgba(56,189,248,.25);background:rgba(56,189,248,.07)}
.sap3-route-status[data-stage="knowledge"]{border-color:rgba(56,189,248,.16);background:rgba(56,189,248,.045)}
.sap3-route-status[data-stage="live"],.sap3-route-status[data-stage="agent"]{border-color:rgba(34,197,94,.24);background:rgba(34,197,94,.055)}
@media(max-width:600px){.sap3-auto-toggle span{font-size:8.8px}.sap3-auto-toggle small{font-size:6.5px}.sap3-route-copy b{font-size:10.3px}.sap3-route-copy small{font-size:8px}}

/* v14.4.2 desktop-launcher reliability */
#sap3-launcher>*{pointer-events:none!important}
#sap3-launcher{user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}

/* ==========================================================
   v14.6.0 — Launcher Presence + Contemporary Chat UI Rebuild
   Design goals: calmer hierarchy, standard status semantics,
   larger touch targets, stronger alignment and responsive fit.
   ========================================================== */
:root{
  --sj-radius:16px;
  --sj-panel-radius:22px;
  --sj-control-h:38px;
  --sj-touch:44px;
  --sj-avatar:38px;
  --sj-shadow:0 24px 72px rgba(0,0,0,.46),0 4px 18px rgba(0,0,0,.22);
}

/* Launcher — remove the old broadcast/radio-wave badge and use a standard presence dot. */
#sap3-launcher{
  width:60px;height:60px;border-radius:19px;
  background:#0d141c;
  box-shadow:0 12px 30px rgba(0,0,0,.34),0 2px 8px rgba(0,0,0,.24);
  transition:transform .16s cubic-bezier(.2,.8,.2,1),box-shadow .16s ease,filter .16s ease;
}
#sap3-launcher:hover{transform:translateY(-2px);box-shadow:0 17px 38px rgba(0,0,0,.38),0 3px 10px rgba(0,0,0,.26)}
#sap3-launcher:active{transform:translateY(0) scale(.975)}
#sap3-launcher .sap3-launcher-frame{
  inset:0;border-radius:inherit;
  border:1px solid rgba(215,25,45,.34);
  background:radial-gradient(circle at 30% 18%,rgba(255,255,255,.055),transparent 40%),linear-gradient(180deg,#151d26 0%,#0d141b 100%);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.055),inset 0 -1px 0 rgba(0,0,0,.22);
}
#sap3-launcher .sap3-launcher-art{inset:7px;width:calc(100% - 14px);height:calc(100% - 14px)}
#sap3-launcher .sap3-launcher-signal{
  --signal-color:var(--sj-route);
  position:absolute;right:2px;bottom:2px;top:auto;
  width:16px;height:16px;border-radius:50%;
  display:grid;place-items:center;
  background:#081018;
  border:2px solid #081018;
  box-shadow:0 0 0 1px rgba(255,255,255,.15),0 3px 9px rgba(0,0,0,.42);
  pointer-events:none;
}
#sap3-launcher .sap3-launcher-signal .signal-core{
  position:relative;z-index:2;display:block;width:8px;height:8px;border-radius:50%;
  background:var(--signal-color);
  box-shadow:0 0 0 1px rgba(255,255,255,.16),0 0 8px color-mix(in srgb,var(--signal-color) 52%,transparent);
}
#sap3-launcher .sap3-launcher-signal::after{
  content:"";position:absolute;inset:2px;border-radius:50%;border:1.5px solid var(--signal-color);
  opacity:0;transform:scale(.72);pointer-events:none;
}
#sap3-launcher.sap3-launcher-online .sap3-launcher-signal{--signal-color:var(--sj-signal-online)}
#sap3-launcher.sap3-launcher-checking .sap3-launcher-signal{--signal-color:var(--sj-signal-checking)}
#sap3-launcher.sap3-launcher-busy .sap3-launcher-signal{--signal-color:var(--sj-signal-busy)}
#sap3-launcher.sap3-launcher-away .sap3-launcher-signal{--signal-color:var(--sj-signal-away)}
#sap3-launcher.sap3-launcher-offline .sap3-launcher-signal{--signal-color:var(--sj-signal-offline)}
#sap3-launcher.sap3-launcher-online .sap3-launcher-signal::after{animation:sjPresencePulse 2.4s ease-out infinite}
#sap3-launcher.sap3-launcher-checking .sap3-launcher-signal::after{animation:sjPresencePulse 1.2s ease-out infinite}
#sap3-launcher.sap3-launcher-busy .sap3-launcher-signal::after,#sap3-launcher.sap3-launcher-away .sap3-launcher-signal::after,#sap3-launcher.sap3-launcher-offline .sap3-launcher-signal::after{display:none}
@keyframes sjPresencePulse{0%{opacity:.5;transform:scale(.65)}60%{opacity:0;transform:scale(1.58)}100%{opacity:0;transform:scale(1.58)}}
#sap3-launcher-badge{
  position:absolute;left:-4px;top:-5px;min-width:19px;height:19px;padding:0 5px;border-radius:999px;
  display:grid;place-items:center;background:var(--sj-brand);border:2px solid #071019;color:#fff;
  font:800 10px/1 Inter,ui-sans-serif,system-ui,sans-serif;box-shadow:0 4px 12px rgba(0,0,0,.34)
}

/* Panel shell */
#sap3-panel{
  right:16px;bottom:16px;width:min(414px,calc(100vw - 32px));height:min(724px,calc(var(--sj-visual-height) - 32px));max-height:calc(var(--sj-visual-height) - 32px);
  border-radius:var(--sj-panel-radius);border-color:rgba(148,163,184,.18);
  background:linear-gradient(180deg,#08131d 0%,#071019 42%,#061019 100%);
  box-shadow:var(--sj-shadow);
}

/* Header */
.sap3-header{
  grid-template-columns:var(--sj-avatar) minmax(0,1fr) var(--sj-control-h) var(--sj-control-h);
  gap:8px;padding:10px 11px;
  border-bottom-color:rgba(148,163,184,.12);
  background:linear-gradient(180deg,rgba(10,21,31,.985),rgba(7,16,25,.97));
}
.sap3-avatar{width:var(--sj-avatar);height:var(--sj-avatar);border-radius:12px;border-color:rgba(215,25,45,.25);background:#101922;box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.sap3-avatar img{width:32px;height:32px}
.sap3-head>strong{font-size:15.5px;line-height:1.16;font-weight:780;letter-spacing:-.018em}
.sap3-head-sub{margin-top:3px;font-size:10.5px;line-height:1.15;color:#91a1af}
.sap3-iconbtn{width:var(--sj-control-h);height:var(--sj-control-h);border-radius:12px;font-size:19px;background:#0c1924;border-color:rgba(148,163,184,.16)}
.sap3-iconbtn:hover{background:#122331;border-color:rgba(148,163,184,.28)}

/* Controls */
.sap3-compact-controlbar{
  grid-template-columns:62px 78px minmax(0,1fr);gap:7px;padding:7px 9px;
  background:#08131d;border-bottom-color:rgba(148,163,184,.12)
}
.sap3-language-select,.sap3-auto-toggle,.sap3-route-status{height:36px;border-radius:11px}
.sap3-language-select{padding-left:8px;padding-right:22px;font-size:12px;background:#0c1924;border-color:rgba(148,163,184,.17)}
.sap3-auto-toggle{padding:0 9px;gap:5px;background:#0c1924;border-color:rgba(148,163,184,.17)}
.sap3-auto-toggle i{width:15px;height:15px}.sap3-auto-toggle span{font-size:11px}.sap3-auto-toggle small{font-size:7.5px}
.sap3-auto-toggle.active{background:rgba(56,189,248,.09);border-color:rgba(56,189,248,.34)}
.sap3-route-status{grid-template-columns:8px minmax(0,1fr);gap:8px;padding:0 11px;background:rgba(56,189,248,.045);border-color:rgba(56,189,248,.16)}
.sap3-route-status .sap3-status-dot{width:8px;height:8px;box-shadow:0 0 0 3px rgba(56,189,248,.08)}
.sap3-route-copy{gap:6px;min-width:0}.sap3-route-copy b{font-size:12px;font-weight:760}.sap3-route-copy small{font-size:9.5px;overflow:hidden;text-overflow:ellipsis}
.sap3-route-toast{left:9px;right:9px;top:48px;min-height:34px;padding:8px 10px;border-radius:10px;font-size:11px}

/* Route rail */
.sap3-manual-route{padding:6px 8px;background:#07121b;border-bottom-color:rgba(148,163,184,.12)}
.sap3-route-dock{gap:6px}
.sap3-route-dock button{height:40px;padding:0 9px;border-radius:11px;gap:6px;color:#8394a2}
.sap3-route-dock button i{width:18px;height:18px}.sap3-route-dock button span{font-size:10.8px;font-weight:720}
.sap3-route-dock button:hover{background:#0d1d29}
.sap3-route-dock button.active{background:linear-gradient(180deg,#112a3c,#0e2232);border-color:rgba(56,189,248,.38);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.sap3-route-dock button.active::before{left:28%;right:28%;height:2px}
.sap3-route-dock button.active::after{right:5px;top:4px;width:13px;height:13px;font-size:8px;box-shadow:0 0 0 2px #0e2232}

/* Progress / routing status — compact enough to avoid covering messages. */
.sap3-answer-wait{margin:7px 9px 0;padding:8px 10px;border-radius:12px;border-color:rgba(56,189,248,.18);background:rgba(12,27,39,.97)}
.sap3-progress-head{margin-bottom:6px}.sap3-progress-head strong{font-size:11.5px}.sap3-progress-head b{font-size:10px}
.sap3-answer-wait-bar{height:3px}.sap3-progress-steps{margin-top:7px}.sap3-progress-steps::before{top:7px}.sap3-progress-steps li i{width:15px;height:15px;font-size:8px}
.sap3-progress-actions{margin-top:7px;gap:6px}.sap3-progress-actions button{min-height:30px;padding:0 10px;border-radius:9px;font-size:10px}

/* Chat */
.sap3-chat{padding:14px 12px 17px;scroll-padding-bottom:20px;scrollbar-color:#2d485d transparent}
.sap3-msg{gap:8px;margin-bottom:11px}.sap3-msg-avatar{width:28px;height:28px;flex-basis:28px;border-radius:9px}.sap3-msg-inner{max-width:84%}.sap3-msg.user .sap3-msg-inner{max-width:78%}
.sap3-bubble{padding:10px 12px;border-radius:15px 15px 15px 5px;font-size:13.4px;line-height:1.48;background:#102438;border-color:rgba(80,130,169,.21);box-shadow:0 3px 11px rgba(0,0,0,.08)}
.sap3-msg.user .sap3-bubble{border-radius:15px 15px 5px 15px;background:linear-gradient(180deg,#9d1d2a 0%,#7b1420 100%);border-color:rgba(255,100,117,.18)}
.sap3-meta{margin-top:4px;padding:0 4px;font-size:9.7px;color:#748797}
.sap3-answer-links{margin-top:8px;padding-top:7px;gap:5px}.sap3-answer-links>span{font-size:8.5px}.sap3-answer-links a{font-size:10px;padding:5px 7px;border-radius:8px}
.sap3-quality-note{margin-bottom:8px;padding:7px 8px;border-radius:9px;font-size:10px}.sap3-typing-text{min-height:16px;padding:0 13px 4px;font-size:10px}

/* Suggestions and feedback line up with the agent-message text column. */
.sap3-chips{gap:6px;margin:0 10px 10px 48px}.sap3-chip{max-width:260px;border-radius:10px;padding:7px 10px;font-size:11px;line-height:1.2}
.sap3-helpful{gap:8px;margin:0 10px 10px 48px;font-size:10.5px}.sap3-help-actions{gap:5px}.sap3-help-actions button{height:30px;min-width:48px;padding:0 9px;border-radius:9px;font-size:10.5px}
.sap3-inline-recovery{gap:6px;margin-top:9px}.sap3-inline-recovery button{height:31px;padding:0 9px;border-radius:9px;font-size:10px}
.sap3-suggestbox{left:56px;right:57px;bottom:70px;max-height:210px;border-radius:12px;padding:5px}.sap3-suggestbox button{padding:9px 10px;border-radius:8px;font-size:11.5px}

/* Live-support form */
.sap3-liveform{margin-bottom:12px;padding:11px;border-radius:14px}.sap3-liveform-top{margin-bottom:9px}.sap3-liveform-kicker{font-size:8.5px}.sap3-liveform h3{font-size:14px}.sap3-liveform p{font-size:10.5px}.sap3-liveform-close{width:32px;height:32px;border-radius:10px}
.sap3-form-status{padding:8px 9px;border-radius:10px;margin-bottom:8px}.sap3-form-status>i{width:8px;height:8px}.sap3-form-status strong{font-size:11px}.sap3-form-status small{font-size:9.5px}
.sap3-form-error{padding:8px 9px;border-radius:10px;font-size:11px}.sap3-field{margin-top:8px}.sap3-field label{font-size:10px;margin-bottom:4px}.sap3-field input,.sap3-field textarea{min-height:40px;border-radius:10px;padding:9px 10px;font-size:12px}.sap3-consent{gap:8px;margin-top:9px;font-size:10px}.sap3-start-support{margin-top:10px;height:40px;border-radius:11px;font-size:11.5px}

/* Composer — mobile-friendly 44px controls and stronger focus hierarchy. */
.sap3-composer{padding:8px 9px max(8px,env(safe-area-inset-bottom));border-top-color:rgba(148,163,184,.13);background:rgba(7,16,25,.985)}
.sap3-row{grid-template-columns:40px minmax(0,1fr) 40px 44px;gap:7px;align-items:end}
.sap3-plus,.sap3-mic,.sap3-send{height:40px;border-radius:12px;background:#0c1924;border-color:rgba(148,163,184,.18)}
.sap3-plus{font-size:20px}.sap3-mic svg,.sap3-send svg{width:19px;height:19px}.sap3-send{background:linear-gradient(180deg,#df2034,#bf1427);border-color:#d1192d;box-shadow:0 4px 12px rgba(215,25,45,.18)}
#sap3-input{min-height:40px;max-height:104px;padding:8px 11px;border-radius:12px;font-size:13.2px;line-height:22px;background:#0e1923;border-color:rgba(148,163,184,.23)}
#sap3-input:focus{border-color:rgba(215,25,45,.72);box-shadow:0 0 0 3px rgba(215,25,45,.10)}
.sap3-note{padding-top:5px;font-size:8.8px;color:#647887}
.sap3-tools-drawer{margin-top:7px;padding:7px;border-radius:12px}.sap3-tool-grid{gap:6px}.sap3-tool-item{min-height:58px;border-radius:10px;padding:7px 4px;gap:4px}.sap3-tool-item b{font-size:9.5px}.sap3-tool-item small{font-size:8px}.sap3-tool-icon{width:19px;height:19px}

/* Responsive desktop */
@media(max-width:900px) and (min-width:601px){
  #sap3-panel{right:12px;bottom:12px;width:min(404px,calc(100vw - 24px));height:min(700px,calc(var(--sj-visual-height) - 24px));max-height:calc(var(--sj-visual-height) - 24px)}
}

/* Mobile */
@media(max-width:600px){
  #sap3-launcher{width:58px;height:58px;border-radius:18px}
  #sap3-launcher .sap3-launcher-art{inset:7px;width:calc(100% - 14px);height:calc(100% - 14px)}
  #sap3-launcher .sap3-launcher-signal{right:1px;bottom:1px;width:16px;height:16px}
  body.sap3-device-mobile > #sap3-panel{border-radius:0!important}
  .sap3-header{grid-template-columns:40px minmax(0,1fr) 40px 40px;gap:7px;padding:8px 9px}
  .sap3-avatar{width:40px;height:40px;border-radius:12px}.sap3-avatar img{width:33px;height:33px}.sap3-head>strong{font-size:15px}.sap3-head-sub{font-size:10.5px}.sap3-iconbtn{width:40px;height:40px;border-radius:12px}
  .sap3-compact-controlbar{grid-template-columns:66px 76px minmax(0,1fr);gap:6px;padding:6px 8px}.sap3-language-select,.sap3-auto-toggle,.sap3-route-status{height:38px}.sap3-auto-toggle span{font-size:10.5px}.sap3-route-copy b{font-size:11.5px}.sap3-route-copy small{font-size:9px}
  .sap3-manual-route{padding:5px 7px}.sap3-route-dock{gap:5px}.sap3-route-dock button{height:40px;padding:0 6px}.sap3-route-dock button i{width:18px;height:18px}.sap3-route-dock button span{font-size:10px}
  .sap3-answer-wait{margin:6px 8px 0;padding:7px 9px}
  .sap3-chat{padding:13px 10px 16px}.sap3-msg{gap:7px;margin-bottom:10px}.sap3-msg-avatar{width:27px;height:27px;flex-basis:27px}.sap3-msg-inner{max-width:86%}.sap3-msg.user .sap3-msg-inner{max-width:80%}.sap3-bubble{padding:9px 11px;font-size:14px;line-height:1.47}.sap3-meta{font-size:9.8px}
  .sap3-chips,.sap3-helpful{margin-left:44px;margin-right:8px}
  .sap3-composer{padding:8px 8px max(8px,env(safe-area-inset-bottom))}.sap3-row{grid-template-columns:44px minmax(0,1fr) 44px 48px;gap:6px}.sap3-plus,.sap3-mic,.sap3-send{height:44px;border-radius:13px}#sap3-input{min-height:44px;padding:9px 11px;font-size:14px;line-height:22px}.sap3-note{font-size:9px}
  .sap3-suggestbox{left:58px;right:62px;bottom:76px}.sap3-tool-grid{gap:5px}.sap3-tool-item{min-height:60px}
}

@media(max-width:390px){
  .sap3-compact-controlbar{grid-template-columns:62px 70px minmax(0,1fr);gap:5px;padding-inline:7px}
  .sap3-route-copy small{display:none}.sap3-route-status{padding:0 9px}
  .sap3-route-dock button{padding:0 4px;gap:4px}.sap3-route-dock button span{font-size:9.5px}
  .sap3-msg-inner{max-width:88%}.sap3-msg.user .sap3-msg-inner{max-width:82%}
}
@media(max-width:350px){
  .sap3-head>strong{font-size:14px}.sap3-head-sub{font-size:9.8px}
  .sap3-compact-controlbar{grid-template-columns:52px 66px minmax(0,1fr)}
  .sap3-route-dock button i{width:17px;height:17px}.sap3-route-dock button span{font-size:9px}
  .sap3-row{grid-template-columns:42px minmax(0,1fr) 42px 46px;gap:5px}.sap3-plus,.sap3-mic,.sap3-send{height:42px}#sap3-input{min-height:42px}
}
@media(max-height:640px){
  .sap3-header{padding-top:6px;padding-bottom:6px}.sap3-head-sub{display:none}
  .sap3-compact-controlbar{padding-top:4px;padding-bottom:4px}.sap3-language-select,.sap3-auto-toggle,.sap3-route-status{height:34px}
  .sap3-manual-route{padding-top:3px;padding-bottom:3px}.sap3-route-dock button{height:34px}
  .sap3-chat{padding-top:9px;padding-bottom:10px}.sap3-composer{padding-top:6px}
}

/* Keyboard state keeps the same sizing language instead of collapsing to undersized controls. */
.sap3-keyboard-open #sap3-panel .sap3-header{grid-template-columns:34px minmax(0,1fr) 36px 36px;padding:5px 8px}
.sap3-keyboard-open #sap3-panel .sap3-avatar{width:34px;height:34px;border-radius:10px}.sap3-keyboard-open #sap3-panel .sap3-avatar img{width:29px;height:29px}.sap3-keyboard-open #sap3-panel .sap3-iconbtn{width:36px;height:36px;border-radius:10px}
.sap3-keyboard-open #sap3-panel .sap3-compact-controlbar{padding:4px 7px}.sap3-keyboard-open #sap3-panel .sap3-language-select,.sap3-keyboard-open #sap3-panel .sap3-auto-toggle,.sap3-keyboard-open #sap3-panel .sap3-route-status{height:34px}

/* Respect reduced motion: presence remains visible but stops pulsing. */
@media(prefers-reduced-motion:reduce){#sap3-launcher .sap3-launcher-signal::after,.sap3-route-status .sap3-status-dot,.sap3-form-status>i{animation:none!important}#sap3-launcher .sap3-launcher-signal::after{display:none!important}}

/* =====================================================================
   v14.6.0 Unified interaction/layout corrections
   Selection, execution and completion are separate visual states.
   ===================================================================== */
#sap3-panel{grid-template-rows:auto auto auto auto minmax(0,1fr) auto auto auto}
.sap3-route-dock button.active,.sap3-route-dock button.is-selected{background:rgba(56,189,248,.055);border-color:rgba(56,189,248,.18);color:#b8c9d5;box-shadow:none}
.sap3-route-dock button.active::before,.sap3-route-dock button.active::after{display:none!important;content:none!important}
.sap3-route-dock button.is-selected::before{content:"";display:block;position:absolute;left:30%;right:30%;bottom:-1px;top:auto;height:2px;border-radius:2px 2px 0 0;background:rgba(56,189,248,.62)}
.sap3-route-dock button.is-selected::after{display:none!important;content:none!important}
.sap3-route-dock button.is-executing{color:#f4fbff;background:linear-gradient(180deg,#112a3c,#0d2231);border-color:rgba(56,189,248,.40);box-shadow:inset 0 1px 0 rgba(255,255,255,.035)}
.sap3-route-dock button.is-executing::before{content:"";position:absolute;left:26%;right:26%;top:-1px;height:2px;border-radius:0 0 2px 2px;background:var(--sj-route);animation:sap3-route-scan 1.2s ease-in-out infinite}
.sap3-route-dock button.is-executing::after{content:"";display:block!important;position:absolute;right:6px;top:6px;width:9px;height:9px;border:2px solid rgba(56,189,248,.22);border-top-color:#4bd5ff;border-radius:50%;animation:sap3-route-spin .75s linear infinite;background:transparent;box-shadow:none}
.sap3-route-dock button.is-complete{color:#d5e2e9;background:rgba(34,197,94,.035);border-color:rgba(34,197,94,.14);transition:background .25s,border-color .25s,color .25s}
.sap3-route-dock button.is-complete::after{content:"✓";display:grid!important;place-items:center;position:absolute;right:6px;top:5px;width:13px;height:13px;border-radius:50%;background:#22c55e;color:#04140a;font-size:8px;font-weight:900;animation:sap3-route-complete 1.1s ease both;box-shadow:0 0 0 2px rgba(34,197,94,.08)}
@keyframes sap3-route-spin{to{transform:rotate(360deg)}}
@keyframes sap3-route-scan{0%,100%{opacity:.38;transform:scaleX(.6)}50%{opacity:1;transform:scaleX(1)}}
@keyframes sap3-route-complete{0%{opacity:0;transform:scale(.65)}15%,65%{opacity:1;transform:scale(1)}100%{opacity:.12;transform:scale(.92)}}

/* Suggestions occupy a real grid row above the composer instead of overlaying text fields. */
.sap3-suggestbox{position:static!important;left:auto!important;right:auto!important;bottom:auto!important;z-index:4;margin:0 9px 6px;max-height:168px;overflow:auto;border:1px solid rgba(56,189,248,.16);border-radius:12px;background:#0a1620;box-shadow:0 8px 18px rgba(0,0,0,.16);padding:5px}
.sap3-suggestbox[hidden]{display:none!important}.sap3-suggestbox button{min-height:38px;padding:8px 10px;font-size:11px}.sap3-suggestbox button strong{display:block;font-size:11px;line-height:1.3}.sap3-suggestbox button small{display:block;margin-top:2px;color:#71899a;font-size:8.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#sap3-panel.sap3-live-form-open .sap3-suggestbox{display:none!important}

/* Composer has a stable compact footprint and always wins space during keyboard use. */
.sap3-composer{position:relative;z-index:8}.sap3-row{min-width:0}.sap3-row>*{min-width:0}
.sap3-keyboard-open #sap3-panel{grid-template-rows:auto auto minmax(0,1fr) auto auto!important}
.sap3-keyboard-open #sap3-panel .sap3-manual-route,.sap3-keyboard-open #sap3-panel .sap3-answer-wait,.sap3-keyboard-open #sap3-panel .sap3-suggestbox{display:none!important}
.sap3-keyboard-open #sap3-panel .sap3-chat{padding:7px 9px 8px;scroll-padding-bottom:16px}
.sap3-keyboard-open #sap3-panel .sap3-typing-text{min-height:0;padding-bottom:1px}
.sap3-keyboard-open #sap3-panel .sap3-composer{padding:6px 8px max(6px,env(safe-area-inset-bottom));box-shadow:0 -8px 20px rgba(0,0,0,.12)}
.sap3-keyboard-open #sap3-panel .sap3-row{grid-template-columns:38px minmax(0,1fr) 38px 44px;gap:5px}
.sap3-keyboard-open #sap3-panel .sap3-plus,.sap3-keyboard-open #sap3-panel .sap3-mic,.sap3-keyboard-open #sap3-panel .sap3-send{height:38px;border-radius:11px}
.sap3-keyboard-open #sap3-panel #sap3-input{min-height:38px;max-height:76px;padding:7px 10px;font-size:13px;line-height:20px}
.sap3-keyboard-open #sap3-panel .sap3-tools-drawer{max-height:115px;overflow:auto}

/* Attachment feedback */
.sap3-file-row{min-width:0}.sap3-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sap3-attachment{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:5px 8px;border-radius:8px;background:rgba(56,189,248,.07);border:1px solid rgba(56,189,248,.14);color:#bcecff;text-decoration:none;font-size:10.5px}.sap3-attachment:hover{background:rgba(56,189,248,.11)}

/* Compact modern typography and density across messages/forms. */
.sap3-bubble{font-size:13px;line-height:1.45}.sap3-meta{font-size:9px}.sap3-liveform p{line-height:1.42}.sap3-progress-actions button{font-weight:720}.sap3-answer-wait{box-shadow:0 4px 14px rgba(0,0,0,.10)}
@media(max-width:600px){
 #sap3-panel{grid-template-rows:auto auto auto auto minmax(0,1fr) auto auto auto}
 .sap3-header{padding:7px 8px}.sap3-head>strong{font-size:14px}.sap3-head-sub{font-size:9.5px}
 .sap3-compact-controlbar{padding:5px 7px}.sap3-language-select,.sap3-auto-toggle,.sap3-route-status{height:36px}
 .sap3-manual-route{padding:4px 6px}.sap3-route-dock button{height:36px}.sap3-route-dock button span{font-size:9.5px}
 .sap3-chat{padding:10px 9px 12px}.sap3-bubble{font-size:13.2px;padding:9px 10px}.sap3-msg-inner{max-width:89%}.sap3-msg.user .sap3-msg-inner{max-width:83%}
 .sap3-suggestbox{margin:0 8px 5px;max-height:124px}.sap3-suggestbox button{min-height:36px;padding:7px 8px;font-size:10.5px}
 .sap3-composer{padding:7px 8px max(7px,env(safe-area-inset-bottom))}.sap3-row{grid-template-columns:40px minmax(0,1fr) 40px 46px;gap:5px}.sap3-plus,.sap3-mic,.sap3-send{height:40px;border-radius:12px}#sap3-input{min-height:40px;max-height:88px;padding:8px 10px;font-size:13.2px;line-height:21px}
}
@media(prefers-reduced-motion:reduce){.sap3-route-dock button.is-executing::after,.sap3-route-dock button.is-executing::before,.sap3-route-dock button.is-complete::after{animation:none!important}}

/* v14.7.0 final accessibility + interaction polish */
#sap3-panel :where(button,a,input,textarea,select):focus-visible,
#sap3-launcher:focus-visible{outline:2px solid #38BDF8;outline-offset:2px}
#sap3-panel [aria-busy="true"]{cursor:progress}
@media (forced-colors:active){
 #sap3-panel,#sap3-launcher{forced-color-adjust:auto;border:1px solid CanvasText}
 #sap3-panel .sap3-status-dot,#sap3-launcher .sap3-launcher-status{outline:2px solid CanvasText}
 #sap3-panel button,#sap3-panel a{border:1px solid ButtonText}
}
@media (prefers-reduced-motion:reduce){
 #sap3-panel *,#sap3-launcher *{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}
}


/* v14.7.1 attachment-mode and state polish */
#sap3-input:focus-visible{outline:none!important;outline-offset:0!important;border-color:rgba(215,25,45,.78);box-shadow:0 0 0 3px rgba(215,25,45,.11)!important}
.sap3-route-dock button.is-current:not(.is-selected):not(.is-executing){color:#b6c8d4;background:rgba(56,189,248,.025)}
.sap3-route-dock button.is-current:not(.is-selected):not(.is-executing)::before{content:"";display:block;position:absolute;left:36%;right:36%;bottom:-1px;top:auto;height:2px;border-radius:2px 2px 0 0;background:rgba(56,189,248,.44)}
.sap3-file-row{display:none;gap:5px;margin:6px 0 0;padding:6px 7px;border:1px solid rgba(148,163,184,.14);border-radius:11px;background:#0a1721;box-shadow:inset 0 1px 0 rgba(255,255,255,.02)}
.sap3-file-state{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:7px;min-width:0}
.sap3-file-preview{width:36px;height:36px;min-width:36px;border-radius:8px;overflow:hidden;border:1px solid rgba(148,163,184,.16);background:#061019;display:grid;place-items:center}
.sap3-file-preview[hidden]{display:none!important}
.sap3-file-preview img{display:block;width:100%;height:100%;max-width:100%;max-height:100%;object-fit:cover;object-position:center}
.sap3-file-name{font-size:10.5px;line-height:1.25;color:#c9d5dd;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sap3-file-remove{width:30px;height:30px;border-radius:9px;font-size:18px;line-height:1;display:grid;place-items:center}
.sap3-file-row .sap3-upload-progress{grid-column:1/-1}
.sap3-file-row .sap3-paste-hint[hidden]{display:none!important}
.sap3-tools-drawer[hidden]{display:none!important}
@media(max-width:600px){
 .sap3-tools-drawer{max-height:min(42vh,260px);overflow:auto;overscroll-behavior:contain}
 .sap3-tool-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
 .sap3-file-row{margin-top:5px;padding:5px 6px}
 .sap3-file-preview{width:34px;height:34px;min-width:34px}
 .sap3-file-name{font-size:10px}
}
@media(max-width:360px){.sap3-tool-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
.sap3-keyboard-open #sap3-panel .sap3-tools-drawer{display:none!important}

/* v14.7.3 composer + actual-route position polish */
/* Composer uses one calm focus language. Brand red is reserved for primary actions/errors. */
#sap3-input{border-color:rgba(148,163,184,.24);box-shadow:inset 0 1px 0 rgba(255,255,255,.018);transition:border-color .16s ease,box-shadow .16s ease,background .16s ease}
#sap3-input:focus,#sap3-input:focus-visible{outline:none!important;outline-offset:0!important;border-color:rgba(56,189,248,.72)!important;box-shadow:0 0 0 2px rgba(56,189,248,.10),inset 0 1px 0 rgba(255,255,255,.025)!important;background:#0f1c27}
#sap3-input[aria-invalid="true"]{border-color:rgba(239,68,68,.72)!important;box-shadow:0 0 0 2px rgba(239,68,68,.09)!important}

/* In Auto mode, mark the route that actually handled/is handling the request at the route's own tab. */
.sap3-route-dock button.is-current{color:#e7f7ff;background:rgba(56,189,248,.075);border-color:rgba(56,189,248,.16);box-shadow:inset 0 -2px 0 rgba(56,189,248,.64)}
.sap3-route-dock button.is-current:not(.is-executing):not(.is-complete)::before{content:none!important;display:none!important}
.sap3-route-dock button.is-current:not(.is-executing):not(.is-complete)::after{content:"";display:block!important;position:absolute;right:8px;top:7px;width:6px;height:6px;border-radius:50%;background:#38BDF8;box-shadow:0 0 0 3px rgba(56,189,248,.10)}
.sap3-route-dock button.is-selected{color:#f5fbff;background:rgba(56,189,248,.105);border-color:rgba(56,189,248,.34);box-shadow:inset 0 -2px 0 rgba(56,189,248,.78),0 0 0 1px rgba(56,189,248,.035)}
.sap3-route-dock button.is-selected:not(.is-executing):not(.is-complete)::before{content:none!important;display:none!important}
.sap3-route-dock button.is-selected:not(.is-executing):not(.is-complete)::after{content:"";display:block!important;position:absolute;right:8px;top:7px;width:6px;height:6px;border-radius:50%;background:#38BDF8;box-shadow:0 0 0 3px rgba(56,189,248,.12)}
.sap3-route-dock button.is-executing{box-shadow:inset 0 -2px 0 rgba(56,189,248,.82),inset 0 1px 0 rgba(255,255,255,.035)}
.sap3-route-dock button.is-complete{box-shadow:inset 0 -2px 0 rgba(34,197,94,.52)}
@media(max-width:600px){
 #sap3-input:focus,#sap3-input:focus-visible{box-shadow:0 0 0 2px rgba(56,189,248,.09),inset 0 1px 0 rgba(255,255,255,.02)!important}
 .sap3-route-dock button.is-current:not(.is-executing):not(.is-complete)::after,.sap3-route-dock button.is-selected:not(.is-executing):not(.is-complete)::after{right:6px;top:6px;width:5px;height:5px;box-shadow:0 0 0 2px rgba(56,189,248,.10)}
}
@media(forced-colors:active){
 #sap3-input:focus,#sap3-input:focus-visible{outline:2px solid Highlight!important;outline-offset:2px!important;box-shadow:none!important}
 .sap3-route-dock button.is-current,.sap3-route-dock button.is-selected{outline:2px solid Highlight;outline-offset:-2px}
}


/* v14.7.4 Chat State Engine: availability color must come from signal state, not simply from the Live route. */
.sap3-route-status[data-stage="live"],.sap3-route-status[data-stage="agent"]{border-color:rgba(56,189,248,.18);background:rgba(56,189,248,.045)}
.sap3-route-status[data-stage="live"][data-signal-state="online"],.sap3-route-status[data-stage="agent"][data-signal-state="online"]{border-color:rgba(34,197,94,.28);background:rgba(34,197,94,.07)}
.sap3-route-status[data-stage="live"][data-signal-state="busy"],.sap3-route-status[data-stage="agent"][data-signal-state="busy"]{border-color:rgba(249,115,22,.30);background:rgba(249,115,22,.065)}
.sap3-route-status[data-stage="live"][data-signal-state="away"],.sap3-route-status[data-stage="agent"][data-signal-state="away"]{border-color:rgba(245,158,11,.30);background:rgba(245,158,11,.065)}
.sap3-route-status[data-stage="live"][data-signal-state="offline"],.sap3-route-status[data-stage="agent"][data-signal-state="offline"]{border-color:rgba(100,116,139,.30);background:rgba(100,116,139,.07)}
.sap3-route-status[data-stage="live"][data-signal-state="checking"],.sap3-route-status[data-stage="agent"][data-signal-state="checking"]{border-color:rgba(56,189,248,.24);background:rgba(56,189,248,.055)}


/* v14.8.1 route-bar stability: preserve the v14.7.4 three-route geometry and signal styling.
   Knowledge / AI Assist / Live Support keep fixed positions; temporary provider health never removes a route. */
#sap3-panel .sap3-route-dock{grid-template-columns:repeat(3,minmax(0,1fr))}
#sap3-panel .sap3-route-dock button[data-route="gemini"].is-unavailable{display:flex!important;opacity:.56;filter:saturate(.72)}
#sap3-panel .sap3-route-dock button[data-route="gemini"].is-unavailable::after{content:"";width:5px;height:5px;border-radius:50%;background:var(--sj-signal-offline);margin-left:2px;flex:0 0 auto}
@media(max-width:390px){#sap3-panel .sap3-route-copy small{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis}}

/* v14.8.8 real-time presence + compact step guidance */
.sap3-guidance-steps{margin:0;padding-left:1.35rem;display:grid;gap:.42rem}.sap3-guidance-steps li{padding-left:.12rem;line-height:1.48}.sap3-guidance-steps li::marker{font-weight:800}.sap3-guidance-notes{margin:.62rem 0 0;padding-left:1.25rem;display:grid;gap:.28rem}.sap3-agent-presence-tools{display:flex;align-items:center;gap:10px;flex-wrap:wrap;justify-content:flex-end}.sap3-agent-presence-debug{display:inline-flex;align-items:center;min-height:32px;padding:5px 10px;border-radius:999px;border:1px solid rgba(91,177,230,.3);background:rgba(14,42,60,.72);font-size:12px;font-weight:700}.sap3-agent-presence-debug[data-state="online"]{border-color:rgba(54,211,153,.5)}.sap3-agent-presence-debug[data-state="away"],.sap3-agent-presence-debug[data-state="busy"]{border-color:rgba(245,184,73,.55)}
.sap3-chips{overflow-x:auto!important;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scroll-padding-inline:10px;padding-inline:2px 12px!important;-webkit-overflow-scrolling:touch}.sap3-chip{scroll-snap-align:start;flex:0 0 auto;max-width:min(78vw,360px)}
@media(max-width:600px){.sap3-bubble{font-size:15px;line-height:1.48;padding:11px 13px}.sap3-bubble li+li{margin-top:.12em}.sap3-guidance-steps{gap:.34rem}.sap3-guidance-notes{gap:.22rem}.sap3-route-copy b{max-width:none}.sap3-route-copy small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sap3-chip{max-width:76vw}.sap3-agent-presence-tools{justify-content:flex-start}}


/* ==========================================================
   v14.9.0 — Final Locked Customer UI
   Compact hierarchy, bottom-anchored conversation, deterministic
   route/presence colors, readable guidance and duplicate-send guard.
   ========================================================== */
#sap3-panel{--sj-header-line:rgba(148,163,184,.13)}
#sap3-panel .sap3-header{padding:6px 8px;gap:6px;grid-template-columns:32px minmax(0,1fr) 32px 32px;border-bottom-color:var(--sj-header-line)}
#sap3-panel .sap3-avatar{width:32px;height:32px;border-radius:10px}
#sap3-panel .sap3-avatar img{width:27px;height:27px}
#sap3-panel .sap3-head>strong{font-size:13.5px;line-height:1.14}
#sap3-panel .sap3-head-sub{margin-top:1px;font-size:9.4px}
#sap3-panel .sap3-iconbtn{width:32px;height:32px;border-radius:10px}

#sap3-panel .sap3-compact-controlbar{grid-template-columns:58px 72px minmax(0,1fr);gap:5px;padding:4px 6px}
#sap3-panel .sap3-language-select,#sap3-panel .sap3-auto-toggle,#sap3-panel .sap3-route-status{height:30px}
#sap3-panel .sap3-auto-toggle{border-color:rgba(56,189,248,.22);background:linear-gradient(180deg,rgba(56,189,248,.095),rgba(56,189,248,.045));box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
#sap3-panel .sap3-auto-toggle.active{border-color:rgba(56,189,248,.46);box-shadow:0 0 0 1px rgba(56,189,248,.035),inset 0 1px 0 rgba(255,255,255,.04)}
#sap3-panel .sap3-auto-toggle span{font-size:9.2px}
#sap3-panel .sap3-auto-toggle small{font-size:6.8px;font-weight:900}
#sap3-panel .sap3-route-status{padding:0 8px;grid-template-columns:7px minmax(0,1fr)}
#sap3-panel .sap3-route-copy{display:grid;grid-template-columns:minmax(0,auto) minmax(0,1fr);align-items:baseline;column-gap:5px;min-width:0}
#sap3-panel .sap3-route-copy b{font-size:10.8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#sap3-panel .sap3-route-copy small{font-size:8px;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

/* Route rail reads as one guided flow without looking like three unrelated modes. */
#sap3-panel .sap3-manual-route{padding:3px 6px}
#sap3-panel .sap3-route-dock{position:relative;gap:4px}
#sap3-panel .sap3-route-dock::before{content:"";position:absolute;left:15%;right:15%;top:50%;height:1px;background:linear-gradient(90deg,rgba(56,189,248,.08),rgba(56,189,248,.22),rgba(56,189,248,.08));pointer-events:none}
#sap3-panel .sap3-route-dock button{z-index:1;height:31px;border-radius:10px;background:#07121b}
#sap3-panel .sap3-route-dock button span{font-size:8.2px}
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="online"] i{color:var(--sj-signal-online)}
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="busy"] i{color:var(--sj-signal-busy)}
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="away"] i{color:var(--sj-signal-away)}
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="offline"] i{color:var(--sj-signal-offline)}

/* Short conversations sit naturally above the composer instead of leaving a large empty wall below messages. */
#sap3-panel .sap3-chat{display:flex;flex-direction:column;min-height:0;padding:9px 9px 10px;scroll-padding-bottom:12px}
#sap3-panel .sap3-chat::before{content:"";display:block;flex:1 1 auto;min-height:0}
#sap3-panel .sap3-chat>*{flex:0 0 auto}

/* Message identity and density. */
#sap3-panel .sap3-msg{margin-bottom:7px;gap:6px}
#sap3-panel .sap3-msg-inner{max-width:88%}
#sap3-panel .sap3-msg.user .sap3-msg-inner{max-width:80%}
#sap3-panel .sap3-bubble{font-size:13.4px;line-height:1.43;padding:9px 11px;border-radius:13px 13px 13px 4px}
#sap3-panel .sap3-msg.user .sap3-bubble{background:linear-gradient(180deg,#7b1b25,#62151d);border-color:rgba(215,25,45,.28);box-shadow:inset 0 1px 0 rgba(255,255,255,.025)}
#sap3-panel .sap3-meta{font-size:8.2px;margin-top:2px;color:#758a99}
#sap3-panel .sap3-guidance-steps{padding-left:1.28rem;gap:.30rem;margin:0}
#sap3-panel .sap3-guidance-steps li{line-height:1.43;padding-left:.10rem}
#sap3-panel .sap3-guidance-steps li::marker{color:#8fdcff;font-weight:900}
#sap3-panel .sap3-guidance-notes{margin:.52rem 0 0;padding-left:1.18rem;gap:.20rem}
#sap3-panel .sap3-answer-links{margin-top:.62rem;padding-top:.55rem}
#sap3-panel .sap3-answer-links a{min-height:32px;display:inline-flex;align-items:center;padding:6px 9px;border-radius:9px;background:rgba(215,25,45,.08);border:1px solid rgba(215,25,45,.18);color:#ff8895;font-weight:750;text-decoration:none}
#sap3-panel .sap3-answer-links a:hover{background:rgba(215,25,45,.13);text-decoration:none}

/* Composer remains the strongest interaction surface. */
#sap3-panel .sap3-composer{padding:6px 7px max(6px,env(safe-area-inset-bottom));box-shadow:0 -10px 28px rgba(0,0,0,.14)}
#sap3-panel .sap3-row{grid-template-columns:36px minmax(0,1fr) 36px 40px;gap:5px}
#sap3-panel .sap3-plus,#sap3-panel .sap3-mic,#sap3-panel .sap3-send{height:36px;border-radius:11px}
#sap3-panel #sap3-input{min-height:36px;padding:7px 10px;border-radius:11px;font-size:13px;line-height:20px}
#sap3-panel .sap3-send{background:linear-gradient(180deg,#e51a31,#c91429);box-shadow:0 6px 18px rgba(215,25,45,.18)}
#sap3-panel.sap3-question-busy .sap3-send{opacity:.55;box-shadow:none}
#sap3-panel.sap3-question-busy #sap3-input{background:#0d1822;color:#9fb0bc}

/* Suggestions are touch-safe and never clip against viewport edges. */
#sap3-panel .sap3-chips{margin-right:0;padding-right:16px!important}
#sap3-panel .sap3-chip{max-width:min(78vw,340px);white-space:normal;text-align:left;line-height:1.25}

@media(max-width:600px){
 #sap3-panel .sap3-header{padding:5px 7px;grid-template-columns:31px minmax(0,1fr) 31px 31px}
 #sap3-panel .sap3-avatar{width:31px;height:31px}
 #sap3-panel .sap3-iconbtn{width:31px;height:31px}
 #sap3-panel .sap3-head>strong{font-size:13px}
 #sap3-panel .sap3-head-sub{font-size:9px}
 #sap3-panel .sap3-compact-controlbar{grid-template-columns:56px 70px minmax(0,1fr);padding:4px 6px}
 #sap3-panel .sap3-route-copy{grid-template-columns:1fr}
 #sap3-panel .sap3-route-copy b{font-size:10px;line-height:1.05}
 #sap3-panel .sap3-route-copy small{font-size:7.5px;line-height:1.05;margin-top:1px}
 #sap3-panel .sap3-route-dock button{height:30px}
 #sap3-panel .sap3-bubble{font-size:13.7px;line-height:1.44;padding:9px 11px}
 #sap3-panel .sap3-msg-inner{max-width:91%}
 #sap3-panel .sap3-msg.user .sap3-msg-inner{max-width:82%}
 #sap3-panel .sap3-guidance-steps{gap:.28rem}
 #sap3-panel .sap3-row{grid-template-columns:34px minmax(0,1fr) 34px 39px;gap:5px}
 #sap3-panel .sap3-plus,#sap3-panel .sap3-mic,#sap3-panel .sap3-send{height:36px}
 #sap3-panel #sap3-input{font-size:13px}
}
@media(max-width:370px){
 #sap3-panel .sap3-compact-controlbar{grid-template-columns:52px 66px minmax(0,1fr)}
 #sap3-panel .sap3-route-dock button span{font-size:7.6px}
 #sap3-panel .sap3-route-copy small{display:none}
}

/* v14.9.5 premium guidance and support guard */
#sap3-panel .sap3-guidance-heading{font-size:14px;font-weight:800;letter-spacing:.01em;margin:0 0 4px;color:#f5f9fc}
#sap3-panel .sap3-guidance-intro{margin:0 0 10px;color:#9fb4c5;font-size:12px;line-height:1.45}
#sap3-panel .sap3-guidance-steps{display:grid;gap:7px;margin:0;padding:0}
#sap3-panel .sap3-guidance-step{display:grid;grid-template-columns:auto 1fr;gap:9px;align-items:start;padding:8px 9px;border:1px solid rgba(80,130,169,.16);border-radius:10px;background:rgba(11,29,43,.58)}
#sap3-panel .sap3-guidance-step strong{font-size:10px;white-space:nowrap;color:#8fdcff;text-transform:none;letter-spacing:.01em}
#sap3-panel .sap3-guidance-step span{font-size:13.4px;line-height:1.46;color:#edf4f8}
#sap3-panel .sap3-guidance-notes{list-style:none;padding:0;margin:9px 0 0;display:grid;gap:5px}
#sap3-panel .sap3-guidance-notes li{position:relative;padding-left:19px;font-size:12.5px;line-height:1.44;color:#c8d7e1}
#sap3-panel .sap3-guidance-notes li::before{content:"✓";position:absolute;left:0;top:0;font-weight:900;color:#4ade80}
#sap3-panel .sap3-guideline-card{margin:9px 0;padding:10px 11px;border:1px solid rgba(56,189,248,.18);border-radius:11px;background:rgba(13,34,50,.72)}
#sap3-panel .sap3-guideline-card strong{display:block;font-size:11px;color:#f4f8fb;margin-bottom:5px}
#sap3-panel .sap3-guideline-card p{margin:0;color:#b8cad6;font-size:10.5px;line-height:1.55}
#sap3-panel .sap3-captcha-card{margin:9px 0;padding:10px 11px;border:1px solid rgba(56,189,248,.18);border-radius:11px;background:rgba(10,27,40,.8)}
#sap3-panel .sap3-captcha-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
#sap3-panel .sap3-captcha-head strong{font-size:11px;color:#f4f8fb}
#sap3-panel .sap3-captcha-refresh{border:0;background:transparent;color:#8fdcff;font-size:10px;font-weight:750;padding:3px 0;cursor:pointer}
#sap3-panel .sap3-captcha-card>p{margin:7px 0;color:#dce8ef;font-size:12px;font-weight:700}
#sap3-panel .sap3-captcha-row{display:flex;align-items:center;gap:8px}
#sap3-panel .sap3-captcha-row input{width:88px;min-height:36px;border-radius:9px;padding:7px 9px}
#sap3-panel .sap3-captcha-row span{font-size:10px;color:#8fa8b8}
#sap3-panel .sap3-progress-steps{display:none!important}
#sap3-panel .sap3-answer-wait{padding:8px 10px}
#sap3-panel .sap3-answer-wait-bar{height:4px;border-radius:999px;overflow:hidden}
#sap3-panel .sap3-answer-wait-fill{transition:width .25s ease}
@media(max-width:600px){#sap3-panel .sap3-guidance-step span{font-size:13px}#sap3-panel .sap3-guideline-card p{font-size:10.5px}}

#sap3-panel.sap3-support-connected .sap3-route-status[data-stage="live"],#sap3-panel.sap3-support-connected .sap3-route-status[data-stage="agent"]{border-color:rgba(34,197,94,.32);background:rgba(34,197,94,.07)}
#sap3-panel.sap3-support-connected .sap3-route-status[data-stage="live"]::after,#sap3-panel.sap3-support-connected .sap3-route-status[data-stage="agent"]::after{content:attr(data-connected-label);display:inline-flex;align-items:center;justify-content:center;min-height:20px;padding:0 7px;border-radius:999px;background:rgba(34,197,94,.14);border:1px solid rgba(34,197,94,.26);color:#86efac;font-size:9px;font-weight:800;white-space:nowrap}


/* =====================================================================
   v14.9.5 MOBILE-ONLY STABILIZATION
   Desktop layout is intentionally unchanged. These overrides fix narrow
   Android/iOS control-bar clipping, connected-badge overlap and keyboard
   reflow while retaining the approved desktop design.
   ===================================================================== */
@media (max-width:600px){
  #sap3-panel{min-width:0;max-width:100vw!important}
  .sap3-header{grid-template-columns:36px minmax(0,1fr) 38px 38px;gap:7px;padding:7px 8px}
  .sap3-avatar{width:36px;height:36px}.sap3-avatar img{width:30px;height:30px}
  .sap3-iconbtn{width:38px;height:38px}

  /* Reserve enough real width for EN/BN and Auto; never compress them to one letter. */
  .sap3-compact-controlbar{grid-template-columns:72px 88px minmax(0,1fr);gap:6px;padding:6px 8px;overflow:visible}
  .sap3-language-switch{min-width:72px}
  .sap3-language-select{width:72px!important;min-width:72px!important;height:38px!important;padding:0 22px 0 11px!important;font-size:12px!important;line-height:38px;text-align:left;text-overflow:clip;white-space:nowrap;overflow:visible}
  .sap3-auto-toggle{min-width:88px;height:38px!important;padding:0 8px;gap:5px}.sap3-auto-toggle span{font-size:10.5px!important}.sap3-auto-toggle small{font-size:7.5px!important}

  /* Status copy owns the connected wording on mobile. The desktop badge is hidden
     here because a third inline item can wrap below the compact status card. */
  .sap3-route-status{min-width:0;height:38px!important;padding:0 10px;grid-template-columns:8px minmax(0,1fr);gap:8px;overflow:hidden}
  .sap3-route-copy{min-width:0;display:grid!important;grid-template-columns:minmax(0,1fr)!important;align-content:center;align-items:center;gap:0!important;line-height:1.08}
  .sap3-route-copy b{display:block;min-width:0;font-size:11.5px!important;line-height:1.15;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .sap3-route-copy small{display:block!important;min-width:0;margin-top:2px;font-size:8.5px!important;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #sap3-panel.sap3-support-connected .sap3-route-status[data-stage="live"]::after,
  #sap3-panel.sap3-support-connected .sap3-route-status[data-stage="agent"]::after{display:none!important;content:none!important}

  /* Connected, online and route state must never float outside the control card. */
  .sap3-route-status[data-stage="agent"] .sap3-status-dot{background:var(--sj-signal-online)}
  .sap3-route-toast{left:8px;right:8px;top:49px;max-width:calc(100% - 16px);overflow:hidden;text-overflow:ellipsis}

  /* Keep route buttons readable but compact; no horizontal overflow. */
  .sap3-manual-route{overflow:hidden}.sap3-route-dock{min-width:0}.sap3-route-dock button{min-width:0;padding-inline:5px}.sap3-route-dock button span{max-width:100%;font-size:9.7px!important}

  /* Conversation/composer remain stable when browser text scaling is enabled. */
  .sap3-chat,.sap3-msg,.sap3-msg-inner,.sap3-bubble{min-width:0}.sap3-msg-inner{max-width:90%}.sap3-msg.user .sap3-msg-inner{max-width:84%}
  .sap3-bubble{overflow-wrap:anywhere;word-break:normal}
  .sap3-row{min-width:0}.sap3-row>*{min-width:0}
}
@media (max-width:390px){
  .sap3-compact-controlbar{grid-template-columns:68px 84px minmax(0,1fr);gap:5px;padding-inline:7px}
  .sap3-language-switch,.sap3-language-select{min-width:68px!important;width:68px!important}
  .sap3-auto-toggle{min-width:84px}.sap3-route-copy b{font-size:11px!important}.sap3-route-copy small{font-size:8px!important}
}
@media (max-width:350px){
  .sap3-compact-controlbar{grid-template-columns:64px 80px minmax(0,1fr)}
  .sap3-language-switch,.sap3-language-select{min-width:64px!important;width:64px!important;padding-left:9px!important}
  .sap3-auto-toggle{min-width:80px;padding-inline:6px}.sap3-auto-toggle span{font-size:10px!important}
}
.sap3-keyboard-open #sap3-panel .sap3-compact-controlbar{overflow:visible}
@media (max-width:600px){
 .sap3-keyboard-open #sap3-panel .sap3-compact-controlbar{grid-template-columns:72px 88px minmax(0,1fr);gap:6px;padding:4px 8px}
 .sap3-keyboard-open #sap3-panel .sap3-language-select,.sap3-keyboard-open #sap3-panel .sap3-auto-toggle,.sap3-keyboard-open #sap3-panel .sap3-route-status{height:36px!important}
}


/* v14.9.5 upload + compact status polish */
#sap3-panel .sap3-language-switch{position:relative;min-width:76px;width:76px}
#sap3-panel .sap3-language-select{appearance:none!important;-webkit-appearance:none!important;width:76px!important;min-width:76px!important;padding:0 24px 0 12px!important;text-align:left!important;text-align-last:left!important;overflow:visible!important}
#sap3-panel .sap3-language-switch::after{content:"⌄";position:absolute;right:9px;top:50%;transform:translateY(-54%);font-size:12px;line-height:1;color:#9fb1c0;pointer-events:none}
#sap3-panel.sap3-support-connected .sap3-route-status[data-stage="live"],#sap3-panel.sap3-support-connected .sap3-route-status[data-stage="agent"]{grid-template-columns:8px minmax(0,1fr) auto;overflow:hidden}
#sap3-panel.sap3-support-connected .sap3-route-status[data-stage="live"]::after,#sap3-panel.sap3-support-connected .sap3-route-status[data-stage="agent"]::after{grid-column:3;grid-row:1;align-self:center;margin-left:4px;position:static!important;transform:none!important}
#sap3-panel .sap3-file-preview{min-width:0;overflow:hidden}
#sap3-panel .sap3-file-preview>*{min-width:0}
#sap3-panel .sap3-file-preview span,#sap3-panel .sap3-file-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
@media(max-width:600px){
 #sap3-panel .sap3-language-switch,#sap3-panel .sap3-language-select{width:72px!important;min-width:72px!important}
 #sap3-panel.sap3-support-connected .sap3-route-status[data-stage="live"],#sap3-panel.sap3-support-connected .sap3-route-status[data-stage="agent"]{grid-template-columns:8px minmax(0,1fr)!important}
 #sap3-panel.sap3-support-connected .sap3-route-status[data-stage="live"]::after,#sap3-panel.sap3-support-connected .sap3-route-status[data-stage="agent"]::after{display:none!important}
}

/* =====================================================================
   v14.9.5 mobile state + layout hardening
   - prevents Auto/status overlap under Android text scaling
   - keeps status semantics aligned with real provider/agent state
   - preserves approved desktop layout
   ===================================================================== */
@media (max-width:430px){
  #sap3-panel .sap3-compact-controlbar{
    display:grid!important;
    grid-template-columns:72px minmax(0,1fr)!important;
    grid-template-rows:38px 38px!important;
    gap:6px!important;
    padding:6px 8px!important;
    align-items:center!important;
    overflow:hidden!important;
  }
  #sap3-panel .sap3-language-switch{grid-column:1;grid-row:1;min-width:0!important;width:72px!important}
  #sap3-panel .sap3-language-select{width:72px!important;min-width:72px!important;max-width:72px!important;height:38px!important}
  #sap3-panel .sap3-auto-toggle{grid-column:2;grid-row:1;width:100%!important;min-width:0!important;max-width:none!important;height:38px!important}
  #sap3-panel .sap3-route-status{
    grid-column:1 / -1!important;
    grid-row:2!important;
    width:100%!important;
    min-width:0!important;
    max-width:100%!important;
    height:38px!important;
    overflow:hidden!important;
  }
  #sap3-panel .sap3-route-copy{width:100%;min-width:0!important;overflow:hidden!important}
  #sap3-panel .sap3-route-copy b,#sap3-panel .sap3-route-copy small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  #sap3-panel .sap3-route-toast{top:88px!important}
}

/* With the keyboard open we still keep the two-line control area predictable.
   The manual route rail is already compacted/hidden by keyboard mode, so this
   does not cost conversation space compared with the previous overlapping UI. */
@media (max-width:430px){
  .sap3-keyboard-open #sap3-panel .sap3-compact-controlbar{
    grid-template-columns:68px minmax(0,1fr)!important;
    grid-template-rows:34px 34px!important;
    gap:4px!important;
    padding:4px 7px!important;
  }
  .sap3-keyboard-open #sap3-panel .sap3-language-switch,
  .sap3-keyboard-open #sap3-panel .sap3-language-select{width:68px!important;min-width:68px!important;height:34px!important;line-height:34px!important}
  .sap3-keyboard-open #sap3-panel .sap3-auto-toggle,
  .sap3-keyboard-open #sap3-panel .sap3-route-status{height:34px!important}
  .sap3-keyboard-open #sap3-panel .sap3-route-toast{top:76px!important}
}

/* Live route must show the actual presence signal, not a generic cyan dot. */
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="online"].is-current:not(.is-executing):not(.is-complete)::after,
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="online"].is-selected:not(.is-executing):not(.is-complete)::after{background:var(--sj-signal-online)!important;box-shadow:0 0 0 3px rgba(34,197,94,.12)!important}
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="busy"].is-current:not(.is-executing):not(.is-complete)::after,
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="busy"].is-selected:not(.is-executing):not(.is-complete)::after{background:var(--sj-signal-busy)!important;box-shadow:0 0 0 3px rgba(249,115,22,.12)!important}
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="away"].is-current:not(.is-executing):not(.is-complete)::after,
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="away"].is-selected:not(.is-executing):not(.is-complete)::after{background:var(--sj-signal-away)!important;box-shadow:0 0 0 3px rgba(245,158,11,.12)!important}
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="offline"].is-current:not(.is-executing):not(.is-complete)::after,
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="offline"].is-selected:not(.is-executing):not(.is-complete)::after{background:var(--sj-signal-offline)!important;box-shadow:0 0 0 3px rgba(100,116,139,.12)!important}

/* Selected Live Support keeps route selection visible, while its availability
   color remains truthful. Offline is intentionally muted rather than cyan. */
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="online"].is-current,
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="online"].is-selected{border-color:rgba(34,197,94,.30);background:rgba(34,197,94,.075);box-shadow:inset 0 -2px 0 rgba(34,197,94,.62)}
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="away"].is-current,
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="away"].is-selected{border-color:rgba(245,158,11,.28);background:rgba(245,158,11,.06);box-shadow:inset 0 -2px 0 rgba(245,158,11,.55)}
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="offline"].is-current,
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="offline"].is-selected{border-color:rgba(100,116,139,.28);background:rgba(100,116,139,.055);box-shadow:inset 0 -2px 0 rgba(100,116,139,.50)}

/* Provider-health truth: an unavailable AI route is never styled like a healthy
   completed route. */
#sap3-panel .sap3-route-dock button[data-route="gemini"].is-unavailable{color:#718292!important;opacity:.72}
#sap3-panel .sap3-route-dock button[data-route="gemini"].is-unavailable.is-current,
#sap3-panel .sap3-route-dock button[data-route="gemini"].is-unavailable.is-selected{border-color:rgba(100,116,139,.25)!important;background:rgba(100,116,139,.045)!important;box-shadow:inset 0 -2px 0 rgba(100,116,139,.42)!important}
#sap3-panel .sap3-route-dock button[data-route="gemini"].is-unavailable.is-current::after,
#sap3-panel .sap3-route-dock button[data-route="gemini"].is-unavailable.is-selected::after{background:var(--sj-signal-offline)!important;box-shadow:0 0 0 3px rgba(100,116,139,.10)!important}

/* =====================================================================
   v14.9.5 COMPACT MOBILE CONTROL BAR
   Restore the approved one-row EN | Auto | Status layout. The previous
   two-row mobile workaround solved overlap but consumed excessive height.
   This uses fixed compact control widths plus a flexible status cell.
   ===================================================================== */
@media (max-width:430px){
  #sap3-panel .sap3-compact-controlbar{
    display:grid!important;
    grid-template-columns:68px 94px minmax(0,1fr)!important;
    grid-template-rows:38px!important;
    gap:5px!important;
    padding:6px 8px!important;
    align-items:center!important;
    overflow:hidden!important;
  }
  #sap3-panel .sap3-language-switch{
    grid-column:1!important;grid-row:1!important;
    width:68px!important;min-width:68px!important;max-width:68px!important;
  }
  #sap3-panel .sap3-language-select{
    width:68px!important;min-width:68px!important;max-width:68px!important;
    height:38px!important;padding:0 22px 0 11px!important;
    font-size:12px!important;line-height:38px!important;
  }
  #sap3-panel .sap3-auto-toggle{
    grid-column:2!important;grid-row:1!important;
    width:94px!important;min-width:94px!important;max-width:94px!important;
    height:38px!important;padding:0 7px!important;gap:4px!important;
  }
  #sap3-panel .sap3-auto-toggle span{font-size:10.5px!important}
  #sap3-panel .sap3-auto-toggle small{font-size:7px!important}
  #sap3-panel .sap3-route-status{
    grid-column:3!important;grid-row:1!important;
    width:100%!important;min-width:0!important;max-width:100%!important;
    height:38px!important;padding:0 8px!important;
    grid-template-columns:8px minmax(0,1fr)!important;gap:7px!important;
    overflow:hidden!important;
  }
  #sap3-panel .sap3-route-copy{
    width:100%!important;min-width:0!important;overflow:hidden!important;
    display:grid!important;grid-template-columns:minmax(0,1fr)!important;
    gap:0!important;align-content:center!important;
  }
  #sap3-panel .sap3-route-copy b{
    max-width:100%!important;min-width:0!important;
    font-size:11px!important;line-height:1.08!important;
    overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  }
  #sap3-panel .sap3-route-copy small{
    display:block!important;max-width:100%!important;min-width:0!important;
    margin-top:2px!important;font-size:7.7px!important;line-height:1.05!important;
    overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important;
  }
  #sap3-panel .sap3-route-toast{top:49px!important}
}

@media (max-width:360px){
  #sap3-panel .sap3-compact-controlbar{
    grid-template-columns:64px 88px minmax(0,1fr)!important;
    gap:4px!important;padding-inline:7px!important;
  }
  #sap3-panel .sap3-language-switch,
  #sap3-panel .sap3-language-select{
    width:64px!important;min-width:64px!important;max-width:64px!important;
  }
  #sap3-panel .sap3-auto-toggle{
    width:88px!important;min-width:88px!important;max-width:88px!important;
    padding-inline:5px!important;
  }
  #sap3-panel .sap3-auto-toggle span{font-size:10px!important}
  #sap3-panel .sap3-route-copy b{font-size:10.4px!important}
  #sap3-panel .sap3-route-copy small{font-size:7.2px!important}
}

/* Keyboard mode remains one compact row as well. */
@media (max-width:430px){
  .sap3-keyboard-open #sap3-panel .sap3-compact-controlbar{
    grid-template-columns:64px 88px minmax(0,1fr)!important;
    grid-template-rows:34px!important;
    gap:4px!important;padding:4px 7px!important;
  }
  .sap3-keyboard-open #sap3-panel .sap3-language-switch,
  .sap3-keyboard-open #sap3-panel .sap3-language-select{
    width:64px!important;min-width:64px!important;max-width:64px!important;
    height:34px!important;line-height:34px!important;
  }
  .sap3-keyboard-open #sap3-panel .sap3-auto-toggle{
    width:88px!important;min-width:88px!important;max-width:88px!important;height:34px!important;
  }
  .sap3-keyboard-open #sap3-panel .sap3-route-status{height:34px!important}
  .sap3-keyboard-open #sap3-panel .sap3-route-copy small{display:none!important}
  .sap3-keyboard-open #sap3-panel .sap3-route-toast{top:43px!important}
}

/* Do not let an offline selected route resemble an available/active cyan route. */
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="offline"].is-current,
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="offline"].is-selected{
  color:#8b9aa7!important;
  border-color:rgba(100,116,139,.24)!important;
  background:rgba(100,116,139,.04)!important;
  box-shadow:inset 0 -2px 0 rgba(100,116,139,.38)!important;
}
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="offline"].is-current::before,
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="offline"].is-selected::before{
  background:var(--sj-signal-offline)!important;
}
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="offline"].is-current::after,
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="offline"].is-selected::after{
  background:var(--sj-signal-offline)!important;
  color:#dbe4ea!important;
  box-shadow:0 0 0 2px rgba(100,116,139,.10)!important;
}

/* Use a CSS chevron rather than a glyph so language control rendering is stable. */
#sap3-panel .sap3-language-switch::after{
  content:""!important;width:6px;height:6px;right:10px!important;
  border-right:1.5px solid #9fb1c0;border-bottom:1.5px solid #9fb1c0;
  transform:translateY(-65%) rotate(45deg)!important;
}

/* =====================================================================
   v14.9.6 COLOR HIERARCHY + EQUAL MOBILE TOOL GRID
   Visual-only refinement. Knowledge, routing, presence, upload and data
   behavior remain unchanged from the locked v14.9.5 baseline.
   ===================================================================== */

/* Customer content keeps the SoldJar identity without reading as an error. */
#sap3-panel .sap3-msg.user .sap3-bubble{
  background:linear-gradient(180deg,#741923 0%,#61151d 100%)!important;
  border-color:rgba(215,25,45,.28)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}

/* An uploaded file is normal content, not a warning/error state. */
#sap3-panel .sap3-msg.user .sap3-attachment{
  display:inline-flex!important;
  align-items:center!important;
  gap:7px!important;
  width:auto!important;
  max-width:100%!important;
  min-width:0!important;
  margin-top:4px!important;
  padding:7px 9px!important;
  border-radius:9px!important;
  background:rgba(255,255,255,.055)!important;
  border:1px solid rgba(255,255,255,.12)!important;
  color:#eef4f7!important;
  font-size:11.5px!important;
  line-height:1.25!important;
  font-weight:600!important;
  text-decoration:none!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
  white-space:nowrap!important;
}
#sap3-panel .sap3-msg.user .sap3-attachment:hover{
  background:rgba(255,255,255,.075)!important;
  border-color:rgba(255,255,255,.16)!important;
  color:#fff!important;
  text-decoration:none!important;
}

/* Auto OFF is intentionally calm; cyan is reserved for active routing. */
#sap3-panel .sap3-auto-toggle:not(.on),
#sap3-panel .sap3-auto-toggle[aria-pressed="false"]{
  color:#9cabb7!important;
  background:#0c1822!important;
  border-color:rgba(100,116,139,.22)!important;
  box-shadow:none!important;
}
#sap3-panel .sap3-auto-toggle:not(.on) small,
#sap3-panel .sap3-auto-toggle[aria-pressed="false"] small{color:#7f8e9a!important}

/* Plus / close control uses the same quiet control language in both states. */
#sap3-panel .sap3-plus,
#sap3-panel .sap3-plus.open{
  background:#0d1924!important;
  border-color:rgba(148,163,184,.20)!important;
  color:#e7eef3!important;
  box-shadow:none!important;
}
#sap3-panel .sap3-plus.open:hover,
#sap3-panel .sap3-plus:hover{
  background:#12212d!important;
  border-color:rgba(148,163,184,.28)!important;
}

/* Equal card geometry: every tool has the same width, height and alignment. */
#sap3-panel .sap3-tool-grid{
  align-items:stretch!important;
}
#sap3-panel .sap3-tool-item{
  width:100%!important;
  min-width:0!important;
  height:74px!important;
  min-height:74px!important;
  max-height:74px!important;
  padding:8px 6px!important;
  box-sizing:border-box!important;
  display:grid!important;
  grid-template-rows:22px 18px minmax(0,1fr)!important;
  place-items:center!important;
  align-content:center!important;
  gap:3px!important;
  overflow:hidden!important;
}
#sap3-panel .sap3-tool-icon{width:21px!important;height:21px!important;align-self:center!important}
#sap3-panel .sap3-tool-item b{
  width:100%!important;
  min-width:0!important;
  font-size:9.5px!important;
  line-height:1.1!important;
  text-align:center!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
#sap3-panel .sap3-tool-item small{
  width:100%!important;
  min-width:0!important;
  max-height:18px!important;
  font-size:7.8px!important;
  line-height:1.15!important;
  text-align:center!important;
  overflow:hidden!important;
  display:-webkit-box!important;
  -webkit-box-orient:vertical!important;
  -webkit-line-clamp:2!important;
}

/* Mobile uses a strict two-column premium grid so all cards are visibly equal. */
@media (max-width:600px){
  #sap3-panel .sap3-tools-drawer{
    margin-top:6px!important;
    padding:7px!important;
    max-height:min(44vh,292px)!important;
    overflow:auto!important;
  }
  #sap3-panel .sap3-tool-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:82px!important;
    gap:7px!important;
  }
  #sap3-panel .sap3-tool-item{
    height:82px!important;
    min-height:82px!important;
    max-height:82px!important;
    border-radius:10px!important;
    padding:9px 7px!important;
  }
  #sap3-panel .sap3-tool-icon{width:22px!important;height:22px!important}
  #sap3-panel .sap3-tool-item b{font-size:10px!important}
  #sap3-panel .sap3-tool-item small{font-size:8px!important;max-height:19px!important}
}

/* Keep the equal 2-column geometry even on the smallest supported phones. */
@media (max-width:360px){
  #sap3-panel .sap3-tool-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    grid-auto-rows:78px!important;
    gap:6px!important;
  }
  #sap3-panel .sap3-tool-item{
    height:78px!important;
    min-height:78px!important;
    max-height:78px!important;
  }
}


/* v14.9.7 — deterministic route selection and provider-health signals. */
#sap3-panel .sap3-route-dock button.is-current:not(.is-selected):not(.is-executing):not(.is-complete){border-color:transparent;background:transparent;box-shadow:none}
#sap3-panel .sap3-route-dock button.is-current:not(.is-selected):not(.is-executing):not(.is-complete)::after{display:none!important}
#sap3-panel .sap3-route-dock button[data-route="gemini"].is-unavailable{color:#718292!important;opacity:.72;filter:saturate(.45)}
#sap3-panel .sap3-route-dock button[data-route="gemini"].is-unavailable::after{display:block!important;background:var(--sj-signal-offline)!important;box-shadow:0 0 0 3px rgba(100,116,139,.10)!important}
#sap3-panel .sap3-route-dock button[data-route="gemini"].is-unavailable.is-current:not(.is-selected){border-color:transparent!important;background:transparent!important;box-shadow:none!important}
#sap3-panel .sap3-route-status[data-stage="gemini"] .sap3-route-dot{background:var(--sj-signal-offline)!important;box-shadow:0 0 0 3px rgba(100,116,139,.10)!important}
#sap3-panel .sap3-route-status[data-stage="gemini"]{border-color:rgba(100,116,139,.28)!important;background:rgba(100,116,139,.055)!important}


/* =====================================================================
   v14.9.8 — FINAL STANDARD SIGNAL SYSTEM
   One palette, one meaning, one authoritative Live Support presence state.
   Selection is communicated by underline/border, never by a fake health dot.
   ===================================================================== */
#sap3-panel,
#sap3-launcher{
  --sj-signal-info:#38BDF8;
  --sj-signal-checking:#38BDF8;
  --sj-signal-online:#22C55E;
  --sj-signal-busy:#F97316;
  --sj-signal-away:#F59E0B;
  --sj-signal-offline:#64748B;
  --sj-signal-error:#EF4444;
}

/* Status-card signal: 10px, true semantic state only. */
#sap3-panel .sap3-route-status .sap3-status-dot,
#sap3-panel .sap3-route-status .sap3-route-dot{
  width:10px!important;height:10px!important;min-width:10px!important;min-height:10px!important;
  border-radius:50%!important;box-shadow:none!important;outline:none!important;
}
#sap3-panel .sap3-route-status[data-signal-state="info"] .sap3-status-dot,
#sap3-panel .sap3-route-status[data-signal-state="info"] .sap3-route-dot{background:var(--sj-signal-info)!important}
#sap3-panel .sap3-route-status[data-signal-state="checking"] .sap3-status-dot,
#sap3-panel .sap3-route-status[data-signal-state="checking"] .sap3-route-dot{background:var(--sj-signal-checking)!important;animation:sjStatusBlink 1.2s ease-in-out infinite!important}
#sap3-panel .sap3-route-status[data-signal-state="online"] .sap3-status-dot,
#sap3-panel .sap3-route-status[data-signal-state="online"] .sap3-route-dot{background:var(--sj-signal-online)!important}
#sap3-panel .sap3-route-status[data-signal-state="busy"] .sap3-status-dot,
#sap3-panel .sap3-route-status[data-signal-state="busy"] .sap3-route-dot{background:var(--sj-signal-busy)!important}
#sap3-panel .sap3-route-status[data-signal-state="away"] .sap3-status-dot,
#sap3-panel .sap3-route-status[data-signal-state="away"] .sap3-route-dot{background:var(--sj-signal-away)!important}
#sap3-panel .sap3-route-status[data-signal-state="offline"] .sap3-status-dot,
#sap3-panel .sap3-route-status[data-signal-state="offline"] .sap3-route-dot{background:var(--sj-signal-offline)!important}
#sap3-panel .sap3-route-status[data-signal-state="error"] .sap3-status-dot,
#sap3-panel .sap3-route-status[data-signal-state="error"] .sap3-route-dot{background:var(--sj-signal-error)!important}

/* AI: healthy/checking is cyan; unavailable is neutral gray. */
#sap3-panel .sap3-route-status[data-stage="gemini"][data-signal-state="info"]{border-color:rgba(56,189,248,.22)!important;background:rgba(56,189,248,.055)!important}
#sap3-panel .sap3-route-status[data-stage="gemini"][data-signal-state="checking"]{border-color:rgba(56,189,248,.26)!important;background:rgba(56,189,248,.06)!important}
#sap3-panel .sap3-route-status[data-stage="gemini"][data-signal-state="offline"]{border-color:rgba(100,116,139,.28)!important;background:rgba(100,116,139,.055)!important}
#sap3-panel .sap3-route-status[data-stage="gemini"][data-signal-state="error"]{border-color:rgba(239,68,68,.28)!important;background:rgba(239,68,68,.055)!important}

/* Selection is not availability. Remove cyan selection/current dots. */
#sap3-panel .sap3-route-dock button.is-selected:not(.is-executing):not(.is-complete)::after,
#sap3-panel .sap3-route-dock button.is-current:not(.is-selected):not(.is-executing):not(.is-complete)::after{
  display:none!important;content:none!important;
}

/* Live Support route: always expose one 8px presence dot, even when not selected. */
#sap3-panel .sap3-route-dock button[data-route="live"]::after{
  content:""!important;display:block!important;position:absolute!important;
  right:8px!important;top:7px!important;width:8px!important;height:8px!important;
  border-radius:50%!important;background:var(--sj-signal-offline)!important;box-shadow:none!important;
}
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="online"]::after{background:var(--sj-signal-online)!important}
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="busy"]::after{background:var(--sj-signal-busy)!important}
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="away"]::after{background:var(--sj-signal-away)!important}
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="offline"]::after{background:var(--sj-signal-offline)!important}
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="checking"]::after{background:var(--sj-signal-checking)!important;animation:sjStatusBlink 1.2s ease-in-out infinite!important}

/* Executing/completed route animations remain route-progress UI, not health signals. */
#sap3-panel .sap3-route-dock button[data-route="live"].is-executing::after{
  width:9px!important;height:9px!important;background:transparent!important;
  border:2px solid rgba(56,189,248,.22)!important;border-top-color:var(--sj-signal-checking)!important;
  animation:sap3-route-spin .75s linear infinite!important;
}
#sap3-panel .sap3-route-dock button[data-route="live"].is-complete::after{
  content:"✓"!important;display:grid!important;place-items:center!important;
  width:13px!important;height:13px!important;background:var(--sj-signal-online)!important;
  color:#04140a!important;font-size:8px!important;font-weight:900!important;
}

/* AI unavailable gets one neutral health dot; no cyan selection dot. */
#sap3-panel .sap3-route-dock button[data-route="gemini"].is-unavailable::after{
  content:""!important;display:block!important;position:absolute!important;
  right:8px!important;top:7px!important;width:8px!important;height:8px!important;
  border-radius:50%!important;background:var(--sj-signal-offline)!important;box-shadow:none!important;margin:0!important;
}

/* Inline Live Support notice: 8px and same presence palette. */
#sap3-panel .sap3-form-status>i{width:8px!important;height:8px!important;min-width:8px!important;box-shadow:none!important}
#sap3-panel .sap3-form-status.is-online>i{background:var(--sj-signal-online)!important}
#sap3-panel .sap3-form-status.is-busy>i{background:var(--sj-signal-busy)!important}
#sap3-panel .sap3-form-status.is-away>i{background:var(--sj-signal-away)!important}
#sap3-panel .sap3-form-status.is-offline>i{background:var(--sj-signal-offline)!important}
#sap3-panel .sap3-form-status.is-checking>i{background:var(--sj-signal-checking)!important}

/* Launcher: one clean 12px core. Only Online/Checking may pulse. */
#sap3-launcher .sap3-launcher-signal{width:16px!important;height:16px!important;right:2px!important;bottom:2px!important;background:#0b1620!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:50%!important;box-shadow:0 2px 7px rgba(0,0,0,.30)!important}
#sap3-launcher .sap3-launcher-signal .signal-core{width:12px!important;height:12px!important;position:absolute!important;left:1px!important;top:1px!important;box-shadow:none!important}
#sap3-launcher .sap3-launcher-signal::after{inset:1px!important;border:1px solid var(--signal-color)!important}
#sap3-launcher.sap3-launcher-online .sap3-launcher-signal{--signal-color:var(--sj-signal-online)!important}
#sap3-launcher.sap3-launcher-checking .sap3-launcher-signal{--signal-color:var(--sj-signal-checking)!important}
#sap3-launcher.sap3-launcher-busy .sap3-launcher-signal{--signal-color:var(--sj-signal-busy)!important}
#sap3-launcher.sap3-launcher-away .sap3-launcher-signal{--signal-color:var(--sj-signal-away)!important}
#sap3-launcher.sap3-launcher-offline .sap3-launcher-signal{--signal-color:var(--sj-signal-offline)!important}
#sap3-launcher.sap3-launcher-busy .sap3-launcher-signal::after,
#sap3-launcher.sap3-launcher-away .sap3-launcher-signal::after,
#sap3-launcher.sap3-launcher-offline .sap3-launcher-signal::after{display:none!important}
#sap3-launcher.sap3-launcher-online .sap3-launcher-signal::after{display:block!important;animation:sjPresencePulse 2.4s ease-out infinite!important}
#sap3-launcher.sap3-launcher-checking .sap3-launcher-signal::after{display:block!important;animation:sjPresencePulse 1.2s ease-out infinite!important}

@media(max-width:600px){
  #sap3-panel .sap3-route-dock button[data-route="live"]::after,
  #sap3-panel .sap3-route-dock button[data-route="gemini"].is-unavailable::after{right:6px!important;top:6px!important;width:8px!important;height:8px!important}
}
@media(prefers-reduced-motion:reduce){
  #sap3-launcher .sap3-launcher-signal::after,
  #sap3-panel .sap3-route-status .sap3-status-dot,
  #sap3-panel .sap3-route-status .sap3-route-dot,
  #sap3-panel .sap3-route-dock button[data-route="live"]::after,
  #sap3-panel .sap3-form-status>i{animation:none!important}
}

/* v14.10.0 premium answer renderer and mobile stability hardening */
.sap3-bubble p{margin:.42rem 0;line-height:1.56}.sap3-bubble p:first-child{margin-top:0}.sap3-bubble p:last-child{margin-bottom:0}
.sap3-bubble strong{font-weight:750;color:inherit}.sap3-bubble code{font:600 .92em/1.35 ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:rgba(255,255,255,.065);border:1px solid rgba(148,163,184,.16);padding:.08em .32em;border-radius:.35rem;overflow-wrap:anywhere}
.sap3-inline-link{overflow-wrap:anywhere;word-break:break-word;text-decoration-thickness:1px;text-underline-offset:2px}
.sap3-msg.bot .sap3-bubble{overflow-wrap:anywhere;word-break:normal}.sap3-guidance-notes{margin:.55rem 0 0;padding:0;list-style:none;display:grid;gap:.42rem}.sap3-guidance-notes li{position:relative;padding-left:1.7rem;line-height:1.5}.sap3-guidance-notes li:before{content:"✓";position:absolute;left:.1rem;top:0;color:#22C55E;font-weight:800}
.sap3-guidance-step span{overflow-wrap:anywhere}.sap3-msg[role="group"]:focus-within{outline:0}
.sap3-question-busy #sap3-send{opacity:.68;cursor:wait}.sap3-question-busy #sap3-input{cursor:wait}
@media (max-width:520px){.sap3-msg.bot .sap3-bubble{font-size:clamp(15px,4.15vw,17px);line-height:1.5}.sap3-guidance-notes{gap:.35rem}.sap3-guidance-notes li{padding-left:1.55rem}.sap3-bubble code{font-size:.88em}.sap3-answer-links a{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}}
@media (prefers-reduced-motion:reduce){.sap3-question-busy #sap3-send,.sap3-route-status i,.sap3-route-signal,.sap3-launcher-signal{animation:none!important;transition:none!important}}


/* =====================================================================
   v14.10.2 — SERVICE HEALTH + ROUTE PROGRESS STANDARD
   Blue = digital service operational, green = live agent available,
   amber/orange = limited live capacity. Gray is reserved for a true failure.
   ===================================================================== */
#sap3-panel .sap3-route-dock button.is-current{color:#e8f8ff!important;background:rgba(56,189,248,.065)!important;border-color:rgba(56,189,248,.22)!important;box-shadow:inset 0 -2px 0 rgba(56,189,248,.75)!important}
#sap3-panel .sap3-route-dock button.is-passed{color:#9ddff5!important}
#sap3-panel .sap3-route-dock button.is-passed::after{content:"✓"!important;display:grid!important;place-items:center!important;position:absolute!important;right:5px!important;top:4px!important;width:12px!important;height:12px!important;border-radius:50%!important;background:#38bdf8!important;color:#04202d!important;font-size:8px!important;font-weight:900!important;box-shadow:0 0 0 3px rgba(56,189,248,.10)!important}
#sap3-panel .sap3-route-dock button.is-current::before{content:""!important;display:block!important;position:absolute!important;left:22%!important;right:22%!important;bottom:-1px!important;height:2px!important;background:#38bdf8!important;border-radius:2px!important}
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="info"] i{color:#38bdf8!important}
#sap3-panel .sap3-route-dock button[data-route="live"][data-signal-state="info"].is-current{border-color:rgba(56,189,248,.22)!important;background:rgba(56,189,248,.06)!important;box-shadow:inset 0 -2px 0 rgba(56,189,248,.70)!important}
#sap3-panel .sap3-route-status[data-stage="live"][data-signal-state="info"]{border-color:rgba(56,189,248,.22)!important;background:rgba(56,189,248,.06)!important}
#sap3-panel .sap3-route-status[data-stage="live"][data-signal-state="info"] .sap3-status-dot{background:#38bdf8!important;box-shadow:0 0 0 3px rgba(56,189,248,.10)!important}
#sap3-panel .sap3-form-status.is-message-open{border-color:rgba(56,189,248,.20)!important;background:rgba(56,189,248,.055)!important}
#sap3-panel .sap3-form-status.is-message-open>i{background:#38bdf8!important;box-shadow:0 0 0 3px rgba(56,189,248,.10)!important}
#sap3-launcher.sap3-launcher-message-open .sap3-launcher-signal{--signal-color:#38bdf8!important}
#sap3-launcher.sap3-launcher-message-open .sap3-launcher-signal::after{display:block!important;border-color:rgba(56,189,248,.22)!important;animation:sjLauncherPulse 2.2s ease-out infinite!important}
/* Gemini successful/current state must never inherit the old unavailable gray card. */
#sap3-panel .sap3-route-status[data-stage="gemini"][data-signal-state="info"]{border-color:rgba(56,189,248,.26)!important;background:rgba(56,189,248,.07)!important}
#sap3-panel .sap3-route-status[data-stage="gemini"][data-signal-state="info"] .sap3-status-dot{background:#38bdf8!important}
#sap3-panel .sap3-route-dock button[data-route="gemini"].is-current:not(.is-unavailable){color:#e8f8ff!important;opacity:1!important;filter:none!important}
/* Incoming attachment preview */
#sap3-panel .sap3-attachment-image{display:inline-flex!important;flex-direction:column!important;align-items:flex-start!important;gap:5px!important;max-width:260px!important;text-decoration:none!important}
#sap3-panel .sap3-attachment-image img{display:block!important;max-width:100%!important;max-height:180px!important;border-radius:9px!important;object-fit:cover!important;border:1px solid rgba(148,163,184,.16)!important}
#sap3-panel .sap3-attachment-image span{max-width:100%!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}


/* v14.10.3 — international-standard sustainable support signalling.
   Channel/service state (cyan) is independent of human presence (green/amber/orange/gray). */
:root{--sj-channel:#38bdf8;--sj-agent-online:#22c55e;--sj-agent-away:#f59e0b;--sj-agent-busy:#f97316;--sj-agent-offline:#64748b;--sj-error:#ef4444}
.sap3-route-status[data-stage="live"] .sap3-status-dot,.sap3-route-status[data-stage="agent"] .sap3-status-dot{background:var(--sj-channel)!important;box-shadow:0 0 0 3px rgba(56,189,248,.10)!important}
.sap3-route-status[data-stage="live"],.sap3-route-status[data-stage="agent"]{position:relative;padding-right:28px}
.sap3-route-status[data-stage="live"]::after,.sap3-route-status[data-stage="agent"]::after{content:"";position:absolute;right:10px;top:50%;width:7px;height:7px;border-radius:50%;transform:translateY(-50%);background:var(--sj-agent-offline);box-shadow:0 0 0 2px #0c1924}
.sap3-route-status[data-agent-state="online"]::after{background:var(--sj-agent-online)}
.sap3-route-status[data-agent-state="away"]::after{background:var(--sj-agent-away)}
.sap3-route-status[data-agent-state="busy"]::after{background:var(--sj-agent-busy)}
.sap3-route-status[data-agent-state="checking"]::after{background:var(--sj-channel);animation:sap3-signal-breathe 1.5s ease-in-out infinite}
#sap3-manual-route [data-route="live"]{position:relative}
#sap3-manual-route [data-route="live"]::after{content:""!important;display:block!important;position:absolute;right:7px;top:7px;width:6px;height:6px;border-radius:50%;background:var(--sj-agent-offline);box-shadow:0 0 0 2px #07121b}
#sap3-manual-route [data-route="live"][data-agent-state="online"]::after{background:var(--sj-agent-online)!important}
#sap3-manual-route [data-route="live"][data-agent-state="away"]::after{background:var(--sj-agent-away)!important}
#sap3-manual-route [data-route="live"][data-agent-state="busy"]::after{background:var(--sj-agent-busy)!important}
#sap3-manual-route [data-route="live"][data-agent-state="checking"]::after{background:var(--sj-channel)!important;animation:sap3-signal-breathe 1.5s ease-in-out infinite}
#sap3-launcher .sap3-launcher-signal .signal-core{background:var(--sj-channel)!important}
#sap3-launcher .sap3-launcher-signal::before{content:"";position:absolute;right:-1px;bottom:-1px;width:6px;height:6px;border-radius:50%;background:var(--sj-agent-offline);border:2px solid #0b1722;box-sizing:content-box}
#sap3-launcher[data-agent-state="online"] .sap3-launcher-signal::before{background:var(--sj-agent-online)}
#sap3-launcher[data-agent-state="away"] .sap3-launcher-signal::before{background:var(--sj-agent-away)}
#sap3-launcher[data-agent-state="busy"] .sap3-launcher-signal::before{background:var(--sj-agent-busy)}
#sap3-launcher[data-agent-state="checking"] .sap3-launcher-signal::before{background:var(--sj-channel);animation:sap3-signal-breathe 1.5s ease-in-out infinite}
@keyframes sap3-signal-breathe{0%,100%{opacity:.58;transform:scale(.88)}50%{opacity:1;transform:scale(1)}}
@media(prefers-reduced-motion:reduce){.sap3-route-status::after,#sap3-manual-route [data-route="live"]::after,#sap3-launcher .sap3-launcher-signal::before{animation:none!important}}
/* compact system notices — do not impersonate a human/agent message */
.sap3-msg[data-sap3-notice="conversation-refresh"],.sap3-system-toast{max-width:86%;opacity:.88}
/* attachment readability */
.sap3-attachment{overflow-wrap:anywhere;word-break:break-word}.sap3-attachment-image img{max-height:220px;object-fit:contain;background:#07121b}


/* ==========================================================
   v14.10.4 — 320-point international UX/state closure
   Service health, human presence and route execution are independent.
   ========================================================== */
:root{--sj-service:#38bdf8;--sj-agent-online:#22c55e;--sj-agent-away:#f59e0b;--sj-agent-busy:#f97316;--sj-agent-offline:#64748b;--sj-error:#ef4444}
.sap3-route-status,.sap3-route-dock button{position:relative}.sap3-route-status .sap3-status-dot{background:var(--sj-service)!important;box-shadow:0 0 0 3px rgba(56,189,248,.10)}
.sap3-route-status[data-signal-state="checking"] .sap3-status-dot{animation:sap3SignalPulse 1.5s ease-in-out infinite}.sap3-route-status[data-signal-state="error"] .sap3-status-dot{background:var(--sj-error)!important;animation:none}
.sap3-route-status[data-stage="live"] .sap3-status-dot::after,.sap3-route-status[data-stage="agent"] .sap3-status-dot::after{content:"";position:absolute;width:5px;height:5px;border-radius:50%;right:-4px;bottom:-3px;border:1px solid #071019;background:var(--sj-agent-offline)}
.sap3-route-status[data-agent-state="online"] .sap3-status-dot::after{background:var(--sj-agent-online)}.sap3-route-status[data-agent-state="away"] .sap3-status-dot::after{background:var(--sj-agent-away)}.sap3-route-status[data-agent-state="busy"] .sap3-status-dot::after{background:var(--sj-agent-busy)}.sap3-route-status[data-agent-state="checking"] .sap3-status-dot::after{background:var(--sj-service)}
#sap3-manual-route [data-route="live"]::before{content:"";position:absolute;right:7px;top:6px;width:6px;height:6px;border-radius:50%;background:var(--sj-agent-offline);border:1px solid rgba(7,16,25,.9)}#sap3-manual-route [data-route="live"][data-agent-state="online"]::before{background:var(--sj-agent-online)}#sap3-manual-route [data-route="live"][data-agent-state="away"]::before{background:var(--sj-agent-away)}#sap3-manual-route [data-route="live"][data-agent-state="busy"]::before{background:var(--sj-agent-busy)}#sap3-manual-route [data-route="live"][data-agent-state="checking"]::before{background:var(--sj-service)}
.sap3-route-path{grid-column:1/-1;min-height:16px;padding:1px 6px 3px;text-align:center;color:#8ea6b7;font-size:8.5px;line-height:1.35;letter-spacing:.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sap3-route-path[hidden]{display:none!important}
.sap3-delivery-state{display:block;margin-top:3px;color:#8da0ae;font-size:8px;text-align:right}.sap3-msg[data-local="1"] .sap3-bubble{opacity:.86}
.sap3-scroll-latest{position:absolute;right:12px;bottom:70px;z-index:8;width:32px;height:32px;border-radius:999px;border:1px solid rgba(148,163,184,.22);background:#102333;color:#eaf3f8;box-shadow:0 8px 20px rgba(0,0,0,.24);cursor:pointer}.sap3-scroll-latest[hidden]{display:none!important}
.sap3-attachment-modal{position:fixed;inset:0;z-index:1000010;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.88);backdrop-filter:blur(4px)}.sap3-attachment-modal img{max-width:min(92vw,1100px);max-height:82dvh;border-radius:12px;object-fit:contain;background:#05090d}.sap3-attachment-modal-close{position:fixed;right:18px;top:max(18px,env(safe-area-inset-top));width:42px;height:42px;border-radius:12px;border:1px solid rgba(255,255,255,.2);background:#0d1924;color:#fff;font-size:24px}.sap3-attachment-modal-caption{position:fixed;bottom:max(18px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);max-width:80vw;color:#fff;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sap3-network-reconnecting .sap3-route-status{border-color:rgba(56,189,248,.30)}.sap3-network-reconnecting .sap3-route-status .sap3-status-dot{animation:sap3SignalPulse 1.2s ease-in-out infinite}
.sap3-msg.system .sap3-msg-avatar{display:none}.sap3-msg.system .sap3-msg-inner{margin-left:0;max-width:100%}.sap3-msg.system .sap3-bubble{padding:7px 10px;background:rgba(100,116,139,.08);border-style:dashed;color:#aebdca;font-size:10px}
.sap3-msg+.sap3-msg.user{margin-top:3px}.sap3-msg.user+.sap3-msg.user{margin-top:2px}.sap3-msg.agent+.sap3-msg.agent{margin-top:3px}
.sap3-attachment-image img{max-width:220px;max-height:150px;object-fit:cover;border-radius:9px}.sap3-inline-link{overflow-wrap:anywhere;word-break:break-word}
#sap3-manual-route [role="tab"]:focus-visible,.sap3-auto-toggle:focus-visible,.sap3-language-select:focus-visible,.sap3-iconbtn:focus-visible,.sap3-send:focus-visible,.sap3-plus:focus-visible,.sap3-mic:focus-visible{outline:2px solid #7dd3fc;outline-offset:2px}
@keyframes sap3SignalPulse{0%,100%{box-shadow:0 0 0 0 rgba(56,189,248,.15)}50%{box-shadow:0 0 0 5px rgba(56,189,248,0)}}
@media(max-width:600px){.sap3-route-path{font-size:8px;padding-bottom:2px}.sap3-scroll-latest{right:10px;bottom:64px}.sap3-attachment-image img{max-width:180px;max-height:120px}}
@media(prefers-reduced-motion:reduce){.sap3-route-status .sap3-status-dot,.sap3-network-reconnecting .sap3-route-status .sap3-status-dot{animation:none!important}.sap3-scroll-latest{scroll-behavior:auto}}
.sap3-channel-checking .sap3-route-status{border-color:rgba(56,189,248,.30)}.sap3-channel-error .sap3-route-status{border-color:rgba(239,68,68,.35);background:rgba(239,68,68,.055)}

/* v14.10.9 root chat engine delivery states */
.sap3-msg.user.sap3-optimistic .sap3-delivery-state{display:block;margin-top:4px;font-size:11px;line-height:1.25;opacity:.68;text-align:right}
.sap3-msg.user.sap3-send-failed .sap3-bubble{outline:1px solid rgba(239,68,68,.58)}
.sap3-msg.user.sap3-send-failed .sap3-delivery-state{opacity:1;color:#fecaca}
#sap3-panel[aria-hidden="true"]{pointer-events:none!important}

/* v14.11.0 modern engine state contract */
#sap3-panel[data-engine-state="sending"] #sap3-send{filter:saturate(.9);}
#sap3-panel[data-engine-state="error"] #sap3-send{box-shadow:0 0 0 2px rgba(239,68,68,.22);}
#sap3-panel[data-engine-state="closed"]{pointer-events:none;}
.sap3-manual-route [data-route].is-passed{opacity:.78;}
.sap3-manual-route [data-route].is-current{opacity:1;}
.sap3-manual-route [data-route].is-selected:not(.is-current){box-shadow:none!important;}
.sap3-delivery-state{display:block;margin-top:5px;font-size:11px;opacity:.7;}
.sap3-send-failed .sap3-delivery-state{opacity:1;}

/* v14.12.2 international hardening */
#sap3-panel{contain:layout style;overflow:hidden}
#sap3-panel[data-runtime-health="degraded"] .sap3-header::after{content:"";position:absolute;inset-inline:0;bottom:0;height:1px;background:rgba(245,158,11,.35)}
.sap3-route-status[data-signal-state="ready"] .sap3-status-dot{background:#38bdf8;box-shadow:0 0 0 4px rgba(56,189,248,.10)}
.sap3-route-status[data-signal-state="offline"] .sap3-status-dot{background:#64748b;box-shadow:none}
#sap3-panel[data-channel-state="open"] .sap3-route-status[data-stage="live"] .sap3-status-dot{background:#38bdf8}
.sap3-message-retry{margin-top:5px;border:1px solid rgba(248,113,113,.45);background:rgba(127,29,29,.18);color:#fecaca;border-radius:8px;padding:5px 9px;font:700 10px/1.2 inherit;cursor:pointer}
.sap3-message-retry:focus-visible{outline:2px solid #fca5a5;outline-offset:2px}
.sap3-msg.sap3-send-failed .sap3-bubble{border-color:rgba(248,113,113,.38)}
.sap3-delivery-state{display:block;margin-top:3px;font-size:9px;color:#8aa0af}
.sap3-msg.sap3-send-failed .sap3-delivery-state{color:#fca5a5}
.sap3-route-dock button.is-current{color:#e8f4fb}.sap3-route-dock button.is-passed{color:#8cc6e4}
.sap3-route-dock button.is-selected:not(.is-current){border-color:rgba(56,189,248,.18)}
.sap3-route-path{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sap3-chat{overscroll-behavior:contain;scrollbar-gutter:stable}
.sap3-msg-inner,.sap3-bubble{min-width:0;overflow-wrap:anywhere;word-break:normal}.sap3-inline-link{overflow-wrap:anywhere;word-break:break-word}
.sap3-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#sap3-input{resize:none;overflow-y:auto}#sap3-input[aria-busy="true"]{opacity:1}.sap3-send[aria-busy="true"]{opacity:.7}
@media (max-width:430px){.sap3-compact-controlbar{grid-template-columns:minmax(76px,.72fr) minmax(92px,.82fr) minmax(0,1.8fr)}.sap3-route-copy b,.sap3-route-copy small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sap3-route-dock button span{font-size:10.5px}}
@media (max-width:350px){.sap3-head strong{font-size:13px}.sap3-head-sub{font-size:9px}.sap3-compact-controlbar{gap:5px;padding-inline:6px}.sap3-language-select,.sap3-auto-toggle{padding-inline:7px}.sap3-route-dock{gap:3px}.sap3-route-dock button{padding-inline:5px}}
@media (prefers-reduced-motion:reduce){.sap3-status-dot,.sap3-launcher-signal,.signal-core{animation:none!important;transition:none!important}}

/* v14.12.2 live presence clarity: the primary signal follows the human state when a live agent is present, while cyan remains the operational message-channel state. */
#sap3-panel .sap3-route-status[data-stage="live"][data-agent-state="online"] .sap3-status-dot,
#sap3-panel .sap3-route-status[data-stage="agent"][data-agent-state="online"] .sap3-status-dot{background:var(--sj-agent-online)!important;box-shadow:0 0 0 4px rgba(34,197,94,.14)!important}
#sap3-panel .sap3-route-status[data-stage="live"][data-agent-state="busy"] .sap3-status-dot,
#sap3-panel .sap3-route-status[data-stage="agent"][data-agent-state="busy"] .sap3-status-dot{background:var(--sj-agent-busy)!important}
#sap3-panel .sap3-route-status[data-stage="live"][data-agent-state="away"] .sap3-status-dot,
#sap3-panel .sap3-route-status[data-stage="agent"][data-agent-state="away"] .sap3-status-dot{background:var(--sj-agent-away)!important}
#sap3-panel .sap3-route-dock button[data-route="live"][data-agent-state="online"]{border-color:rgba(34,197,94,.30)!important;box-shadow:inset 0 -2px 0 rgba(34,197,94,.68)!important}
#sap3-panel .sap3-route-dock button[data-route="live"][data-agent-state="online"] i{color:var(--sj-agent-online)!important}
#sap3-panel.sap3-agent-online .sap3-live-dot{background:var(--sj-agent-online)!important;box-shadow:0 0 0 3px rgba(34,197,94,.12)!important}

/* v14.12.3 root route-switch and compact interaction hardening */
#sap3-suggestbox{max-height:min(220px,32vh)!important;overflow:auto!important;overscroll-behavior:contain;border-radius:14px!important;padding:6px!important;}#sap3-suggestbox .sap3-suggestion{min-height:52px!important;padding:10px 12px!important;margin:0!important;border-radius:10px!important;}#sap3-suggestbox .sap3-suggestion+.sap3-suggestion{margin-top:4px!important}.sap3-suggestion-more{width:100%;border:0;background:transparent;color:#7dd3fc;font-weight:700;padding:10px 12px;text-align:center;cursor:pointer}#sap3-suggestbox.is-expanded{max-height:min(310px,42vh)!important}
.sap3-guideline-compact{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border:1px solid rgba(125,211,252,.18);background:rgba(15,39,54,.7);border-radius:14px;margin:12px 0}.sap3-guideline-compact>div{min-width:0}.sap3-guideline-compact strong{display:block;font-size:14px}.sap3-guideline-compact small{display:block;color:#9fb2c2;margin-top:3px;line-height:1.35}.sap3-guidelines-link{flex:0 0 auto;border:1px solid rgba(125,211,252,.35);background:rgba(56,189,248,.08);color:#7dd3fc;border-radius:10px;padding:8px 12px;font-weight:800;cursor:pointer}
.sap3-guidelines-modal{position:fixed;inset:0;z-index:2147483646;background:rgba(2,8,15,.72);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;padding:18px}.sap3-guidelines-sheet{width:min(520px,100%);max-height:min(680px,86dvh);overflow:auto;background:#091923;border:1px solid rgba(125,211,252,.2);border-radius:20px;box-shadow:0 24px 80px rgba(0,0,0,.45);padding:20px;color:#eaf4fb}.sap3-guidelines-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.sap3-guidelines-head small{color:#7dd3fc;font-weight:800;letter-spacing:.08em}.sap3-guidelines-head h3{margin:4px 0 0;font-size:22px}.sap3-guidelines-head button{width:40px;height:40px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:#0d2230;color:#fff;font-size:24px}.sap3-guidelines-intro{color:#aec0cd;line-height:1.55}.sap3-guidelines-sheet ul{list-style:none;padding:0;margin:16px 0}.sap3-guidelines-sheet li{padding:11px 0;border-top:1px solid rgba(255,255,255,.07);line-height:1.5}.sap3-guidelines-understand{width:100%;border:0;border-radius:12px;background:#e31b36;color:#fff;padding:12px 16px;font-weight:800;font-size:15px;cursor:pointer}@media(max-width:480px){#sap3-suggestbox{left:10px!important;right:10px!important;max-height:210px!important}.sap3-guidelines-modal{align-items:flex-end;padding:0}.sap3-guidelines-sheet{width:100%;max-height:82dvh;border-radius:20px 20px 0 0;padding:18px}}

/* v14.12.5 — interaction polish */
#sap3-suggestbox{scrollbar-width:thin!important}.sap3-guidelines-sheet{overscroll-behavior:contain}.sap3-guidelines-sheet li::before{content:'✓';color:#4ade80;font-weight:900;margin-right:8px}.sap3-guidelines-sheet li{display:flex;align-items:flex-start}.sap3-captcha-refresh:focus-visible,.sap3-guidelines-understand:focus-visible{outline:2px solid #7dd3fc;outline-offset:2px}
.sap3-msg[data-delivery="failed"] .sap3-bubble{border-color:rgba(251,113,133,.42)!important}.sap3-delivery-state{font-size:9px!important}

/* v15.0.0 — international chat shell: deterministic layout, touch ergonomics, route/presence clarity */
#sap3-panel{contain:layout style;overscroll-behavior:contain}
#sap3-panel button,#sap3-panel select,#sap3-panel textarea,#sap3-panel input{font:inherit}
#sap3-panel button{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
#sap3-panel .sap3-route-status[data-signal-state="online"]{border-color:rgba(34,197,94,.30);background:rgba(34,197,94,.075)}
#sap3-panel .sap3-route-status[data-signal-state="away"]{border-color:rgba(245,158,11,.28);background:rgba(245,158,11,.055)}
#sap3-panel .sap3-route-status[data-signal-state="busy"]{border-color:rgba(249,115,22,.28);background:rgba(249,115,22,.055)}
#sap3-panel .sap3-route-status[data-signal-state="offline"]{border-color:rgba(100,116,139,.22);background:rgba(100,116,139,.045)}
#sap3-panel .sap3-route-status[data-signal-state="error"]{border-color:rgba(239,68,68,.28);background:rgba(239,68,68,.055)}
.sap3-chat{overflow-x:hidden;scrollbar-gutter:stable;overscroll-behavior-y:contain}
.sap3-msg,.sap3-msg-inner,.sap3-bubble{min-width:0}.sap3-bubble{overflow-wrap:anywhere;word-break:normal}
.sap3-bubble pre,.sap3-bubble code{max-width:100%;overflow:auto;white-space:pre-wrap}
.sap3-attachment,.sap3-file-name{max-width:100%;overflow:hidden;text-overflow:ellipsis}
.sap3-suggestbox{overflow:auto;overscroll-behavior:contain;scrollbar-gutter:stable}
.sap3-suggestbox:not([hidden]){display:grid;gap:4px}
.sap3-liveform{max-width:100%;overflow:hidden}.sap3-liveform textarea{resize:vertical}
.sap3-composer{isolation:isolate}.sap3-row>*{min-width:0}
.sap3-delivery-state{display:block;margin-top:3px;font-size:9px;line-height:1.2;color:#8ea2b3;text-align:right}
.sap3-msg.sap3-send-failed .sap3-delivery-state{color:#fca5a5}.sap3-message-retry{margin-top:5px;min-height:30px;border-radius:9px}
.sap3-network-reconnecting .sap3-send{filter:saturate(.72)}
@media(min-width:601px){#sap3-panel{width:min(410px,calc(100vw - 28px));height:min(700px,calc(100dvh - 28px));right:14px;bottom:14px}}
@media(max-width:600px){
 #sap3-panel{inset:0!important;width:100vw!important;height:var(--sj-visual-height)!important;max-height:var(--sj-visual-height)!important;border:0!important;border-radius:0!important}
 .sap3-header{padding-top:max(8px,env(safe-area-inset-top));grid-template-columns:38px minmax(0,1fr) 40px 40px}
 .sap3-iconbtn,.sap3-plus,.sap3-mic,.sap3-send{min-width:44px!important;min-height:44px!important}
 .sap3-compact-controlbar{grid-template-columns:72px 82px minmax(0,1fr);gap:6px;padding:6px 8px}
 .sap3-language-select,.sap3-auto-toggle,.sap3-route-status{height:38px}
 .sap3-route-dock button{min-height:42px;height:42px}.sap3-route-dock button span{font-size:10px}
 .sap3-chat{padding:12px 10px 18px}.sap3-msg-inner{max-width:88%}.sap3-msg.user .sap3-msg-inner{max-width:84%}
 .sap3-bubble{font-size:14px;line-height:1.5;padding:10px 12px}
 .sap3-composer{padding:8px 8px max(8px,env(safe-area-inset-bottom))}.sap3-row{grid-template-columns:44px minmax(0,1fr) 44px 48px;gap:6px}
 #sap3-input{min-height:44px;font-size:16px;line-height:22px}
 .sap3-note{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
 .sap3-suggestbox{left:8px;right:8px;bottom:70px;max-height:min(34dvh,230px)}
}
@media(max-width:360px){.sap3-compact-controlbar{grid-template-columns:62px 70px minmax(0,1fr)}.sap3-route-copy small{display:none}.sap3-route-dock button span{font-size:9px}.sap3-bubble{font-size:13.5px}}
@media(prefers-reduced-motion:reduce){#sap3-panel *,#sap3-launcher{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media(forced-colors:active){#sap3-panel button,#sap3-panel select,#sap3-panel textarea{border:1px solid ButtonText!important}.sap3-status-dot{forced-color-adjust:none}}

/* v15.1.0 reliability polish */
@media(max-width:430px){.sap3-route-detail{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sap3-bubble{overflow-wrap:anywhere}}

/* ==========================================================
   v15.2.1 — International-standard customer chat visual system
   Goal: one clear mode, one clear active route, calm status, no
   route-history clutter, consistent touch targets on mobile.
   ========================================================== */
#sap3-panel{
  --sj-control-h:42px;
  --sj-touch:44px;
  background:#07111a;
}

/* A calmer top hierarchy: brand -> mode/status -> route. */
#sap3-panel .sap3-header{
  min-height:58px;
  padding:9px 12px;
  border-bottom-color:rgba(148,163,184,.11);
  background:rgba(7,17,26,.985);
}
#sap3-panel .sap3-avatar{width:38px;height:38px;border-radius:12px}
#sap3-panel .sap3-avatar img{width:31px;height:31px}
#sap3-panel .sap3-head>strong{font-size:15px;letter-spacing:-.02em}
#sap3-panel .sap3-head-sub{font-size:10.5px;color:#8799a8}
#sap3-panel .sap3-iconbtn{width:38px;height:38px;border-radius:11px;background:#0b1823;border-color:rgba(148,163,184,.14)}

#sap3-panel .sap3-compact-controlbar{
  grid-template-columns:72px 104px minmax(0,1fr);
  gap:8px;
  padding:8px 10px;
  background:#08131d;
  border-bottom-color:rgba(148,163,184,.10);
}
#sap3-panel .sap3-language-select,
#sap3-panel .sap3-auto-toggle,
#sap3-panel .sap3-route-status{
  height:var(--sj-control-h);
  border-radius:12px;
  border-color:rgba(148,163,184,.16);
  background:#0b1823;
}
#sap3-panel .sap3-language-select{font-size:13px;font-weight:750}
#sap3-panel .sap3-auto-toggle{gap:6px;padding:0 10px}
#sap3-panel .sap3-auto-toggle i{width:17px;height:17px}
#sap3-panel .sap3-auto-toggle span{font-size:12px;font-weight:750}
#sap3-panel .sap3-auto-toggle small{font-size:8.5px;font-weight:850}
#sap3-panel .sap3-auto-toggle.active{
  color:#eefaff;
  background:rgba(56,189,248,.085);
  border-color:rgba(56,189,248,.28);
  box-shadow:inset 0 0 0 1px rgba(56,189,248,.025);
}
#sap3-panel .sap3-route-status{
  grid-template-columns:10px minmax(0,1fr);
  gap:9px;
  padding:0 12px;
  background:#0b1823!important;
  border-color:rgba(148,163,184,.16)!important;
}
#sap3-panel .sap3-route-status .sap3-status-dot{width:9px;height:9px}
#sap3-panel .sap3-route-copy{display:grid;gap:0;align-items:center}
#sap3-panel .sap3-route-copy b{font-size:12.5px;line-height:1.15;font-weight:800}
#sap3-panel .sap3-route-copy small{font-size:9.5px;line-height:1.15;color:#8396a5}

/* Route control is a clean segmented selector. Exactly one route looks active. */
#sap3-panel .sap3-manual-route{
  padding:7px 10px 8px;
  background:#07111a;
  border-bottom:1px solid rgba(148,163,184,.10);
}
#sap3-panel .sap3-route-dock{
  padding:3px;
  gap:3px;
  border:1px solid rgba(148,163,184,.12);
  border-radius:14px;
  background:#091620;
}
#sap3-panel .sap3-route-dock button{
  height:40px;
  border:0!important;
  border-radius:10px;
  color:#8598a6;
  background:transparent!important;
  box-shadow:none!important;
  gap:7px;
  transition:background .16s ease,color .16s ease,box-shadow .16s ease;
}
#sap3-panel .sap3-route-dock button i{width:18px;height:18px}
#sap3-panel .sap3-route-dock button span{font-size:11px;font-weight:760}
#sap3-panel .sap3-route-dock button::before,
#sap3-panel .sap3-route-dock button::after{display:none!important;content:none!important}
#sap3-panel .sap3-route-dock button.is-current,
#sap3-panel .sap3-route-dock button.is-selected,
#sap3-panel .sap3-route-dock button.active{
  color:#f5fbff!important;
  background:#102536!important;
  box-shadow:inset 0 -2px 0 #38bdf8!important;
}
#sap3-panel .sap3-route-dock button.is-executing{
  color:#f5fbff!important;
  background:#102536!important;
  box-shadow:inset 0 -2px 0 #38bdf8!important;
}
#sap3-panel .sap3-route-dock button.is-passed,
#sap3-panel .sap3-route-dock button.is-complete{opacity:1;color:#8598a6;background:transparent!important;box-shadow:none!important}
#sap3-panel .sap3-route-dock button[data-route="live"][data-agent-state="online"]{box-shadow:none!important}
#sap3-panel .sap3-route-dock button[data-route="live"].is-current[data-agent-state="online"],
#sap3-panel .sap3-route-dock button[data-route="live"].is-selected[data-agent-state="online"]{
  color:#f5fbff!important;background:#102b27!important;box-shadow:inset 0 -2px 0 #22c55e!important
}
/* Human availability remains a small, truthful dot; it does not dominate route selection. */
#sap3-manual-route [data-route="live"]::before{display:block!important;content:""!important;right:8px;top:8px;width:6px;height:6px;border:0;background:var(--sj-agent-offline);box-shadow:0 0 0 2px #091620}
#sap3-manual-route [data-route="live"][data-agent-state="online"]::before{background:var(--sj-agent-online)}
#sap3-manual-route [data-route="live"][data-agent-state="away"]::before{background:var(--sj-agent-away)}
#sap3-manual-route [data-route="live"][data-agent-state="busy"]::before{background:var(--sj-agent-busy)}
#sap3-manual-route [data-route="live"][data-agent-state="checking"]::before{background:var(--sj-service)}

/* The transcript does not need a second breadcrumb duplicating the status card. */
#sap3-panel .sap3-route-path{display:none!important}

/* Calm chat density and premium answer cards. */
#sap3-panel .sap3-chat{padding:12px 10px 14px;scrollbar-width:thin;scrollbar-color:#315267 transparent}
#sap3-panel .sap3-bubble{border-radius:14px;font-size:13.5px;line-height:1.5}
#sap3-panel .sap3-msg.user .sap3-bubble{border-radius:16px 16px 5px 16px;background:linear-gradient(180deg,#9f1d2d,#831725)}
#sap3-panel .sap3-msg.agent .sap3-bubble,#sap3-panel .sap3-msg.bot .sap3-bubble{border-radius:16px 16px 16px 5px}
#sap3-panel .sap3-helpful{margin-top:8px}
#sap3-panel .sap3-helpful button{min-height:36px;border-radius:10px}

/* Composer: equal rhythm, standard 44px touch targets, no accidental white mobile focus ring. */
#sap3-panel .sap3-composer{padding:8px 10px max(8px,env(safe-area-inset-bottom));background:#08131d;border-top-color:rgba(148,163,184,.11)}
#sap3-panel .sap3-row{grid-template-columns:44px minmax(0,1fr) 44px 48px;gap:7px;align-items:end}
#sap3-panel .sap3-plus,#sap3-panel .sap3-mic,#sap3-panel .sap3-send{height:44px;min-height:44px;border-radius:12px}
#sap3-panel #sap3-input{min-height:44px;max-height:112px;padding:10px 12px;border-radius:12px;font-size:16px;line-height:22px;background:#0c1823;border-color:rgba(148,163,184,.18)}
#sap3-panel #sap3-input:focus{border-color:rgba(56,189,248,.52);box-shadow:0 0 0 2px rgba(56,189,248,.08)}
#sap3-panel .sap3-plus:focus-visible,#sap3-panel .sap3-mic:focus-visible,#sap3-panel .sap3-send:focus-visible{outline:2px solid rgba(125,211,252,.72)!important;outline-offset:2px!important}
#sap3-panel .sap3-note{padding-top:5px;font-size:9px;color:#657987}

/* Mobile: preserve space without shrinking targets or creating visual noise. */
@media(max-width:600px){
  #sap3-panel{--sj-control-h:44px}
  #sap3-panel .sap3-header{min-height:62px;padding:10px 12px}
  #sap3-panel .sap3-avatar{width:40px;height:40px}
  #sap3-panel .sap3-avatar img{width:32px;height:32px}
  #sap3-panel .sap3-head>strong{font-size:16px}
  #sap3-panel .sap3-head-sub{font-size:11px}
  #sap3-panel .sap3-iconbtn{width:42px;height:42px}
  #sap3-panel .sap3-compact-controlbar{grid-template-columns:82px 120px minmax(0,1fr);gap:8px;padding:8px 10px}
  #sap3-panel .sap3-language-select{font-size:15px}
  #sap3-panel .sap3-auto-toggle span{font-size:13px}
  #sap3-panel .sap3-auto-toggle small{font-size:9px}
  #sap3-panel .sap3-route-copy b{font-size:13px}
  #sap3-panel .sap3-route-copy small{display:block!important;font-size:9.5px}
  #sap3-panel .sap3-manual-route{padding:7px 10px 8px}
  #sap3-panel .sap3-route-dock button{height:42px;padding:0 6px}
  #sap3-panel .sap3-route-dock button i{width:19px;height:19px}
  #sap3-panel .sap3-route-dock button span{font-size:11px}
  #sap3-panel .sap3-chat{padding:12px 10px 14px}
  #sap3-panel .sap3-msg-inner{max-width:88%}
  #sap3-panel .sap3-bubble{font-size:14px;line-height:1.48}
  #sap3-panel .sap3-composer{padding:8px 10px max(8px,env(safe-area-inset-bottom))}
  #sap3-panel .sap3-row{grid-template-columns:44px minmax(0,1fr) 44px 48px;gap:7px}
  #sap3-panel .sap3-plus,#sap3-panel .sap3-mic,#sap3-panel .sap3-send{height:44px!important;border-radius:12px!important}
  #sap3-panel #sap3-input{min-height:44px!important;font-size:16px!important;padding:10px 12px!important}
  #sap3-panel .sap3-note{font-size:9px}
}
@media(max-width:390px){
  #sap3-panel .sap3-compact-controlbar{grid-template-columns:70px 104px minmax(0,1fr);gap:6px;padding-inline:8px}
  #sap3-panel .sap3-route-copy small{display:none!important}
  #sap3-panel .sap3-route-dock button{gap:5px}
  #sap3-panel .sap3-route-dock button span{font-size:10px}
}
@media(max-width:350px){
  #sap3-panel .sap3-compact-controlbar{grid-template-columns:64px 94px minmax(0,1fr)}
  #sap3-panel .sap3-auto-toggle{padding-inline:7px}
  #sap3-panel .sap3-route-dock button span{font-size:9.4px}
}
@media(hover:none) and (pointer:coarse){
  #sap3-panel .sap3-plus:focus,#sap3-panel .sap3-mic:focus,#sap3-panel .sap3-send:focus,#sap3-panel .sap3-iconbtn:focus{outline:none!important;box-shadow:none}
}


/* ==========================================================
   v15.2.2 — single-state route + compact Live Support gate
   ========================================================== */
#sap3-panel .sap3-route-dock button::before,
#sap3-panel .sap3-route-dock button::after,
#sap3-panel .sap3-route-dock button.is-passed::before,
#sap3-panel .sap3-route-dock button.is-passed::after,
#sap3-panel .sap3-route-dock button.is-complete::before,
#sap3-panel .sap3-route-dock button.is-complete::after{content:none!important;display:none!important}
#sap3-panel .sap3-route-dock button.is-passed,
#sap3-panel .sap3-route-dock button.is-complete{color:#8598a6!important;background:transparent!important;box-shadow:none!important}
#sap3-panel .sap3-route-dock button.is-current{color:#f5fbff!important;background:#102536!important;box-shadow:inset 0 -2px 0 #38bdf8!important}
#sap3-panel .sap3-route-path{display:none!important}

/* Live verification is a compact task, not a second full form. */
#sap3-panel .sap3-liveform{margin:6px 0 8px!important;padding:10px!important;border-radius:14px!important;background:#0a1721!important;border:1px solid rgba(148,163,184,.15)!important;box-shadow:none!important}
#sap3-panel .sap3-liveform-top{margin-bottom:7px!important}
#sap3-panel .sap3-liveform h3{font-size:13px!important;margin:1px 0 2px!important}
#sap3-panel .sap3-liveform p{font-size:10px!important;line-height:1.35!important}
#sap3-panel .sap3-captcha-card{margin:7px 0!important;padding:9px 10px!important;border-radius:11px!important;background:#091620!important;border-color:rgba(125,211,252,.16)!important}
#sap3-panel .sap3-captcha-head strong{font-size:10.5px!important}
#sap3-panel .sap3-captcha-refresh{min-height:30px!important;padding:4px 7px!important;border-radius:8px!important;color:#7dd3fc!important}
#sap3-panel .sap3-captcha-card>p{margin:5px 0 6px!important;font-size:11.5px!important}
#sap3-panel .sap3-captcha-row{gap:7px!important}
#sap3-panel .sap3-captcha-row input{width:72px!important;min-height:34px!important;height:34px!important;padding:5px 8px!important;font-size:15px!important;text-align:center!important}
#sap3-panel .sap3-captcha-row span{font-size:9.5px!important}
#sap3-panel .sap3-consent{align-items:center!important;gap:7px!important;margin-top:7px!important;font-size:9.5px!important;line-height:1.3!important}
#sap3-panel .sap3-consent input{width:16px!important;height:16px!important;margin:0!important;flex:0 0 16px!important}
#sap3-panel .sap3-consent .sap3-guidelines-link,
#sap3-panel .sap3-consent a{color:#8fdcff!important;text-decoration:underline!important;text-underline-offset:2px!important}
#sap3-panel .sap3-start-support{height:38px!important;margin-top:8px!important;border-radius:10px!important;font-size:12px!important}
#sap3-panel.sap3-live-form-open .sap3-chat{padding-top:8px!important}
@media(max-width:600px){
 #sap3-panel .sap3-liveform{margin:5px 0 7px!important;padding:9px!important}
 #sap3-panel .sap3-captcha-card{padding:8px 9px!important}
 #sap3-panel .sap3-captcha-row input{width:68px!important}
 #sap3-panel .sap3-start-support{height:40px!important}
}


/* v15.2.3 — Live verification contrast + production form clarity */
#sap3-panel .sap3-liveform{
  background:#071620!important;
  border:1px solid rgba(125,211,252,.34)!important;
  box-shadow:0 12px 30px rgba(0,0,0,.24),inset 0 1px 0 rgba(255,255,255,.025)!important;
}
#sap3-panel .sap3-field textarea,
#sap3-panel .sap3-field input{
  background:#06111a!important;
  border-color:rgba(148,184,204,.32)!important;
}
#sap3-panel .sap3-field textarea:focus,
#sap3-panel .sap3-field input:focus{
  border-color:#38bdf8!important;
  box-shadow:0 0 0 3px rgba(56,189,248,.13)!important;
}
#sap3-panel .sap3-captcha-card{
  background:#0b1d2a!important;
  border:1px solid rgba(125,211,252,.38)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
#sap3-panel .sap3-captcha-row input{
  background:#07131d!important;
  border:1px solid rgba(148,184,204,.42)!important;
  color:#fff!important;
}
#sap3-panel .sap3-captcha-row input:focus{border-color:#7dd3fc!important;box-shadow:0 0 0 3px rgba(125,211,252,.14)!important}
#sap3-panel .sap3-consent{color:#c1d0da!important}
#sap3-panel .sap3-consent input{accent-color:#38bdf8!important}
#sap3-panel .sap3-start-support{background:linear-gradient(135deg,#e11d48,#ef334f)!important;border:1px solid rgba(255,255,255,.12)!important;box-shadow:0 8px 20px rgba(225,29,72,.20)!important}
#sap3-panel .sap3-start-support:hover{filter:brightness(1.05)}
#sap3-panel .sap3-start-support:disabled{opacity:.58!important;cursor:wait!important}
#sap3-panel .sap3-form-error{background:rgba(239,68,68,.12)!important;border-color:rgba(248,113,113,.46)!important;color:#ffe4e6!important;font-weight:650!important}
#sap3-panel .sap3-captcha-refresh{border:1px solid rgba(125,211,252,.22)!important;background:rgba(56,189,248,.065)!important}
#sap3-panel .sap3-guideline-compact{border-color:rgba(125,211,252,.28)!important;background:#0a1b27!important}
@media (max-width:600px){
 #sap3-panel .sap3-liveform{border-color:rgba(125,211,252,.40)!important}
 #sap3-panel .sap3-captcha-card{border-color:rgba(125,211,252,.42)!important}
}

/* ==========================================================
   v15.2.4 — Premium Visual System
   Design-only layer. No routing, messaging, verification or DB logic.
   ========================================================== */
#sap3-panel{
  --sj-shell:#07111b;
  --sj-shell-top:#0a1622;
  --sj-elev-1:#0c1a27;
  --sj-elev-2:#102232;
  --sj-elev-3:#142b3e;
  --sj-hairline:rgba(139,177,202,.20);
  --sj-divider:rgba(139,177,202,.14);
  --sj-border:rgba(139,177,202,.28);
  --sj-border-hi:rgba(125,211,252,.42);
  --sj-cyan:#45c5f4;
  --sj-cyan-soft:rgba(69,197,244,.10);
  --sj-copy:#f6f9fb;
  --sj-copy-2:#c5d2dc;
  --sj-copy-3:#8297a8;
  background:
    radial-gradient(900px 430px at 50% -180px,rgba(46,137,183,.12),transparent 68%),
    linear-gradient(180deg,var(--sj-shell-top) 0%,var(--sj-shell) 42%,#061019 100%)!important;
  border:1px solid rgba(133,170,195,.30)!important;
  box-shadow:0 28px 78px rgba(0,0,0,.52),0 10px 28px rgba(0,0,0,.26),inset 0 1px 0 rgba(255,255,255,.045)!important;
}

/* Header becomes a distinct premium chrome rather than blending into page/chat. */
#sap3-panel .sap3-header{
  padding:11px 12px!important;
  background:linear-gradient(180deg,#0d1b28 0%,#0a1722 100%)!important;
  border-bottom:1px solid var(--sj-divider)!important;
  box-shadow:0 1px 0 rgba(255,255,255,.025) inset!important;
}
#sap3-panel .sap3-avatar{
  background:linear-gradient(180deg,#152330,#0e1822)!important;
  border:1px solid rgba(239,68,84,.30)!important;
  box-shadow:0 5px 16px rgba(0,0,0,.20),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
#sap3-panel .sap3-head>strong{color:var(--sj-copy)!important;font-weight:800!important;letter-spacing:-.02em!important}
#sap3-panel .sap3-head-sub{color:var(--sj-copy-3)!important}
#sap3-panel .sap3-iconbtn{
  background:#0e1d29!important;border:1px solid var(--sj-hairline)!important;color:#dce7ee!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important
}
#sap3-panel .sap3-iconbtn:hover{background:#142838!important;border-color:rgba(125,211,252,.30)!important}

/* Control bar: three clearly separated controls, consistent heights and borders. */
#sap3-panel .sap3-compact-controlbar{
  padding:8px 9px!important;gap:8px!important;
  background:linear-gradient(180deg,#0a1722,#09151f)!important;
  border-bottom:1px solid var(--sj-divider)!important;
}
#sap3-panel .sap3-language-select,
#sap3-panel .sap3-auto-toggle,
#sap3-panel .sap3-route-status{
  min-height:38px!important;height:38px!important;
  background:linear-gradient(180deg,#0f202e,#0c1a26)!important;
  border:1px solid var(--sj-border)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important;
}
#sap3-panel .sap3-language-select{color:#f3f7fa!important}
#sap3-panel .sap3-auto-toggle{color:#9fb0bc!important}
#sap3-panel .sap3-auto-toggle.active{
  color:#eafaff!important;background:linear-gradient(180deg,#123044,#10283a)!important;
  border-color:rgba(69,197,244,.40)!important;box-shadow:0 0 0 1px rgba(69,197,244,.04),inset 0 1px 0 rgba(255,255,255,.035)!important
}
#sap3-panel .sap3-route-status{
  grid-template-columns:9px minmax(0,1fr)!important;gap:9px!important;padding:0 11px!important;
  background:linear-gradient(180deg,#112435,#0e1f2e)!important;
  border-color:rgba(69,197,244,.30)!important;
}
#sap3-panel .sap3-route-status .sap3-status-dot{width:9px!important;height:9px!important;box-shadow:0 0 0 4px rgba(69,197,244,.09),0 0 12px rgba(69,197,244,.18)!important}
#sap3-panel .sap3-route-copy{display:grid!important;grid-template-columns:minmax(0,1fr)!important;gap:0!important;align-items:center!important;line-height:1.12!important}
#sap3-panel .sap3-route-copy b{display:block!important;font-size:12px!important;color:#f6fbff!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#sap3-panel .sap3-route-copy small{display:block!important;margin-top:2px!important;font-size:8.8px!important;color:#8da1b0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}

/* Route selector: premium segmented navigation with genuine selected state. */
#sap3-panel .sap3-manual-route{
  padding:7px 8px 8px!important;
  background:#08141e!important;border-bottom:1px solid var(--sj-divider)!important;
}
#sap3-panel .sap3-route-dock{
  gap:5px!important;padding:3px!important;border:1px solid rgba(139,177,202,.13)!important;
  border-radius:14px!important;background:#07121b!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.018)!important
}
#sap3-panel .sap3-route-dock button{
  height:42px!important;border-radius:10px!important;color:#8195a5!important;background:transparent!important;
  border:1px solid transparent!important;transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease!important
}
#sap3-panel .sap3-route-dock button:hover{background:#0d1e2a!important;color:#bac8d2!important}
#sap3-panel .sap3-route-dock button.active,
#sap3-panel .sap3-route-dock button.is-current{
  color:#f9fcfe!important;
  background:linear-gradient(180deg,#153247 0%,#10283a 100%)!important;
  border-color:rgba(69,197,244,.44)!important;
  box-shadow:0 6px 15px rgba(0,0,0,.16),inset 0 -2px 0 var(--sj-cyan),inset 0 1px 0 rgba(255,255,255,.04)!important;
}
#sap3-panel .sap3-route-dock button.active i,
#sap3-panel .sap3-route-dock button.is-current i{color:#72dcff!important;filter:drop-shadow(0 0 5px rgba(69,197,244,.20))}
#sap3-panel .sap3-route-dock button span{font-weight:760!important;letter-spacing:-.01em!important}

/* Conversation canvas: different tone from the surrounding web page and shell. */
#sap3-panel .sap3-chat{
  background:
    radial-gradient(520px 260px at 50% 0,rgba(37,101,136,.07),transparent 70%),
    linear-gradient(180deg,#07131d 0%,#06111a 100%)!important;
  border-top:0!important;
}
#sap3-panel .sap3-chat::before{content:"";display:block;height:1px;background:linear-gradient(90deg,transparent,rgba(125,211,252,.12),transparent);margin:-14px -12px 12px}

/* Messages: stronger foreground/background separation and subtler elevation. */
#sap3-panel .sap3-bubble{
  color:#edf4f8!important;
  background:linear-gradient(180deg,#142b40 0%,#102539 100%)!important;
  border:1px solid rgba(103,159,197,.28)!important;
  box-shadow:0 8px 22px rgba(0,0,0,.14),inset 0 1px 0 rgba(255,255,255,.025)!important;
}
#sap3-panel .sap3-msg.user .sap3-bubble{
  color:#fff!important;
  background:linear-gradient(145deg,#a91f31 0%,#7c1423 100%)!important;
  border-color:rgba(255,121,137,.28)!important;
  box-shadow:0 8px 22px rgba(74,4,15,.20),inset 0 1px 0 rgba(255,255,255,.05)!important;
}
#sap3-panel .sap3-meta{color:#758a9a!important}
#sap3-panel .sap3-msg-avatar{background:#0f1e2a!important;border:1px solid rgba(139,177,202,.20)!important;box-shadow:0 4px 12px rgba(0,0,0,.18)!important}
#sap3-panel .sap3-quality-note{background:#0e2030!important;border:1px solid rgba(125,211,252,.18)!important;color:#c6d4dd!important}

/* Related pages and feedback use quieter surfaces instead of competing with the answer. */
#sap3-panel .sap3-answer-links{border-top-color:rgba(139,177,202,.13)!important}
#sap3-panel .sap3-answer-links a,
#sap3-panel .sap3-chip,
#sap3-panel .sap3-help-actions button{
  background:#0d1c28!important;border:1px solid rgba(139,177,202,.20)!important;color:#dce6ec!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.02)!important
}
#sap3-panel .sap3-answer-links a:hover,
#sap3-panel .sap3-chip:hover,
#sap3-panel .sap3-help-actions button:hover{background:#142737!important;border-color:rgba(125,211,252,.32)!important;color:#fff!important}
#sap3-panel .sap3-helpful{color:#9aabb7!important}

/* Live form: a visible modal-card inside chat, not same-color-on-same-color. */
#sap3-panel .sap3-liveform{
  background:linear-gradient(180deg,#0f2433 0%,#0b1c29 100%)!important;
  border:1px solid rgba(125,211,252,.44)!important;
  box-shadow:0 16px 38px rgba(0,0,0,.27),inset 0 1px 0 rgba(255,255,255,.035)!important;
}
#sap3-panel .sap3-captcha-card,
#sap3-panel .sap3-guideline-compact{
  background:#091722!important;border-color:rgba(139,177,202,.32)!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important
}
#sap3-panel .sap3-field textarea,
#sap3-panel .sap3-field input,
#sap3-panel .sap3-captcha-row input{
  background:#06121b!important;border-color:rgba(139,177,202,.38)!important;color:#f7fbfd!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.22)!important
}
#sap3-panel .sap3-field textarea:hover,
#sap3-panel .sap3-field input:hover,
#sap3-panel .sap3-captcha-row input:hover{border-color:rgba(125,211,252,.48)!important}
#sap3-panel .sap3-start-support{
  background:linear-gradient(135deg,#e51d39 0%,#c9112a 100%)!important;
  border-color:rgba(255,255,255,.10)!important;
  box-shadow:0 9px 22px rgba(194,17,42,.23),inset 0 1px 0 rgba(255,255,255,.12)!important
}

/* Composer: elevated dock with a clearly visible input and balanced controls. */
#sap3-panel .sap3-composer{
  padding:9px 10px max(9px,env(safe-area-inset-bottom))!important;
  background:linear-gradient(180deg,#0a1722 0%,#08141e 100%)!important;
  border-top:1px solid rgba(139,177,202,.22)!important;
  box-shadow:0 -12px 28px rgba(0,0,0,.16)!important;
}
#sap3-panel .sap3-plus,
#sap3-panel .sap3-mic{
  background:linear-gradient(180deg,#102130,#0d1a27)!important;
  border:1px solid rgba(139,177,202,.28)!important;color:#edf5f9!important;
  box-shadow:inset 0 1px 0 rgba(255,255,255,.025)!important
}
#sap3-panel #sap3-input{
  background:#07131d!important;color:#f5f8fa!important;
  border:1px solid rgba(139,177,202,.38)!important;
  box-shadow:inset 0 1px 2px rgba(0,0,0,.24),0 0 0 1px rgba(255,255,255,.01)!important;
}
#sap3-panel #sap3-input::placeholder{color:#8294a2!important;opacity:1!important}
#sap3-panel #sap3-input:hover{border-color:rgba(125,211,252,.46)!important}
#sap3-panel #sap3-input:focus{border-color:#55cdf7!important;box-shadow:0 0 0 3px rgba(69,197,244,.12),inset 0 1px 2px rgba(0,0,0,.22)!important}
#sap3-panel .sap3-send{
  background:linear-gradient(145deg,#ef2942 0%,#d31631 100%)!important;
  border:1px solid rgba(255,115,132,.48)!important;
  box-shadow:0 8px 18px rgba(211,22,49,.25),inset 0 1px 0 rgba(255,255,255,.16)!important
}
#sap3-panel .sap3-send:hover{filter:brightness(1.06)!important;transform:translateY(-1px)!important}
#sap3-panel .sap3-note{color:#728796!important;letter-spacing:.005em!important}

/* Tools drawer remains visually subordinate to the main chat. */
#sap3-panel .sap3-tools-drawer{background:#091722!important;border:1px solid rgba(139,177,202,.20)!important;box-shadow:0 12px 26px rgba(0,0,0,.18)!important}
#sap3-panel .sap3-tool-item{background:#0d1d29!important;border:1px solid rgba(139,177,202,.16)!important}
#sap3-panel .sap3-tool-item:hover{background:#132736!important;border-color:rgba(125,211,252,.28)!important}

/* Scrollbar: thin, intentional, non-default. */
#sap3-panel .sap3-chat{scrollbar-width:thin!important;scrollbar-color:#31536a transparent!important}
#sap3-panel .sap3-chat::-webkit-scrollbar{width:7px!important}
#sap3-panel .sap3-chat::-webkit-scrollbar-track{background:transparent!important}
#sap3-panel .sap3-chat::-webkit-scrollbar-thumb{background:#31536a!important;border:2px solid #07131d!important;border-radius:999px!important}
#sap3-panel .sap3-chat::-webkit-scrollbar-thumb:hover{background:#46708b!important}

/* Desktop gets a little more breathing room without growing the widget. */
@media (min-width:601px){
  #sap3-panel{width:min(420px,calc(100vw - 32px))!important}
  #sap3-panel .sap3-chat{padding:15px 13px 18px!important}
  #sap3-panel .sap3-bubble{font-size:13.5px!important;line-height:1.5!important}
}

/* Mobile: preserve hierarchy and avoid over-dense text/control collision. */
@media (max-width:600px){
  #sap3-panel .sap3-header{padding:10px 11px!important}
  #sap3-panel .sap3-compact-controlbar{padding:7px 8px!important;gap:7px!important}
  #sap3-panel .sap3-route-copy b{font-size:12.5px!important}
  #sap3-panel .sap3-route-copy small{font-size:9px!important}
  #sap3-panel .sap3-manual-route{padding:6px 7px 7px!important}
  #sap3-panel .sap3-route-dock{border-radius:13px!important}
  #sap3-panel .sap3-route-dock button{height:42px!important}
  #sap3-panel .sap3-chat{padding:12px 10px 14px!important}
  #sap3-panel .sap3-bubble{font-size:14px!important;line-height:1.5!important}
  #sap3-panel .sap3-composer{padding:8px 9px max(8px,env(safe-area-inset-bottom))!important}
}

@media (prefers-reduced-motion:reduce){
  #sap3-panel *,#sap3-launcher *{transition:none!important;animation-duration:.001ms!important;animation-iteration-count:1!important}
}


/* ==========================================================================\n   SoldJar Smart Support v15.2.5 — Premium Conversation UI normalization\n   Functional engine preserved. This final layer standardizes hierarchy,\n   density, contrast, spacing, historical-state presentation and mobile scale.\n   ========================================================================== */
#sap3-panel{
  --sj25-shell:#08131d;--sj25-shell-2:#0a1823;--sj25-canvas:#050e16;--sj25-surface:#0d1d29;
  --sj25-surface-2:#112536;--sj25-line:#203646;--sj25-line-strong:#2d4a5e;
  --sj25-text:#f3f7fa;--sj25-muted:#97a9b6;--sj25-muted-2:#718594;--sj25-accent:#43c7f4;
  --sj25-red:#e51d39;--sj25-green:#34d399;
  background:linear-gradient(180deg,var(--sj25-shell-2),var(--sj25-shell))!important;
  border:1px solid var(--sj25-line-strong)!important;
  box-shadow:0 22px 64px rgba(0,0,0,.38),0 1px 0 rgba(255,255,255,.025) inset!important;
  color:var(--sj25-text)!important;
}
#sap3-panel .sap3-header{
  min-height:56px!important;padding:8px 10px!important;background:#091722!important;
  border-bottom:1px solid var(--sj25-line)!important;box-shadow:none!important
}
#sap3-panel .sap3-avatar{width:38px!important;height:38px!important;border-radius:12px!important;background:#0d1b27!important;border-color:#2a4050!important}
#sap3-panel .sap3-head>strong{font-size:16px!important;line-height:1.15!important;letter-spacing:-.018em!important;color:#f8fbfd!important}
#sap3-panel .sap3-head-sub{font-size:10.5px!important;line-height:1.2!important;color:#7f94a3!important;margin-top:2px!important}
#sap3-panel .sap3-iconbtn{width:38px!important;height:38px!important;border-radius:11px!important;background:#0b1a26!important;border-color:#203848!important;color:#e7eef3!important;box-shadow:none!important}
#sap3-panel .sap3-iconbtn:hover{background:#102331!important;border-color:#315064!important}

#sap3-panel .sap3-compact-controlbar{
  grid-template-columns:82px 112px minmax(0,1fr)!important;gap:7px!important;padding:7px 9px!important;
  background:#07131d!important;border-bottom:1px solid var(--sj25-line)!important
}
#sap3-panel .sap3-language-select,#sap3-panel .sap3-auto-toggle,#sap3-panel .sap3-route-status{
  height:38px!important;border-radius:11px!important;background:#0c1b27!important;border:1px solid #253b4b!important;box-shadow:none!important
}
#sap3-panel .sap3-language-select,#sap3-panel .sap3-auto-toggle{font-size:11.5px!important;color:#dce6ec!important}
#sap3-panel .sap3-auto-toggle.active{border-color:#2c6178!important;background:#0d2634!important;color:#e9f8fd!important;box-shadow:0 0 0 1px rgba(67,199,244,.05) inset!important}
#sap3-panel .sap3-route-status{padding:0 10px!important;gap:8px!important;overflow:hidden!important;background:#0e202d!important}
#sap3-panel .sap3-route-copy{min-width:0!important;display:grid!important;grid-template-columns:1fr!important;gap:1px!important}
#sap3-panel .sap3-route-copy b{font-size:12px!important;line-height:1.1!important;color:#eef6fa!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#sap3-panel .sap3-route-copy small{font-size:9px!important;line-height:1.1!important;color:#7d929f!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
#sap3-panel .sap3-status-dot{width:8px!important;height:8px!important;box-shadow:0 0 0 3px rgba(67,199,244,.08)!important}

#sap3-panel .sap3-manual-route{padding:6px 8px 7px!important;background:#07131d!important;border-bottom:1px solid var(--sj25-line)!important}
#sap3-panel .sap3-route-dock{gap:4px!important;padding:3px!important;border:1px solid #1e3342!important;border-radius:13px!important;background:#081620!important;box-shadow:none!important}
#sap3-panel .sap3-route-dock::before{display:none!important}
#sap3-panel .sap3-route-dock button{
  height:38px!important;min-height:38px!important;padding:0 7px!important;gap:6px!important;border:1px solid transparent!important;
  border-radius:10px!important;background:transparent!important;color:#778b99!important;box-shadow:none!important;opacity:1!important
}
#sap3-panel .sap3-route-dock button:hover{background:#0d1e2a!important;color:#b8c7d1!important}
#sap3-panel .sap3-route-dock button.is-current,#sap3-panel .sap3-route-dock button.is-selected,#sap3-panel .sap3-route-dock button.active{
  color:#f4fbfe!important;background:#102838!important;border-color:#28536a!important;box-shadow:inset 0 -2px 0 var(--sj25-accent)!important
}
#sap3-panel .sap3-route-dock button i{width:17px!important;height:17px!important;color:inherit!important;filter:none!important}
#sap3-panel .sap3-route-dock button.is-current i,#sap3-panel .sap3-route-dock button.is-selected i{color:#6ed9ff!important;filter:none!important}
#sap3-panel .sap3-route-dock button span{font-size:10.5px!important;font-weight:740!important;letter-spacing:-.01em!important}
#sap3-panel .sap3-route-dock button::before,#sap3-panel .sap3-route-dock button::after{display:none!important;content:none!important}

#sap3-panel .sap3-chat{
  padding:11px 10px 15px!important;background:var(--sj25-canvas)!important;scrollbar-color:#29495d transparent!important;
  border:0!important
}
#sap3-panel .sap3-msg{gap:7px!important;margin:0 0 9px!important;align-items:flex-end!important}
#sap3-panel .sap3-msg-inner{max-width:84%!important}
#sap3-panel .sap3-msg.user .sap3-msg-inner{max-width:76%!important}
#sap3-panel .sap3-msg-avatar{width:28px!important;height:28px!important;flex:0 0 28px!important;border-radius:9px!important;background:#0d1c27!important;border:1px solid #213847!important;box-shadow:none!important}
#sap3-panel .sap3-bubble{
  padding:9px 11px!important;border-radius:14px 14px 14px 5px!important;font-size:13.3px!important;line-height:1.47!important;
  color:#e9f1f5!important;background:#0f2231!important;border:1px solid #244052!important;box-shadow:0 4px 14px rgba(0,0,0,.12)!important
}
#sap3-panel .sap3-msg.bot .sap3-bubble,#sap3-panel .sap3-msg.agent .sap3-bubble{background:#102638!important;border-color:#29485d!important}
#sap3-panel .sap3-msg.user .sap3-bubble{
  border-radius:14px 14px 5px 14px!important;background:linear-gradient(145deg,#9d1b2b,#781520)!important;
  border-color:#b62c3d!important;box-shadow:0 5px 16px rgba(75,4,15,.16)!important;color:#fff!important
}
#sap3-panel .sap3-bubble p{margin:.32rem 0!important;line-height:1.48!important}
#sap3-panel .sap3-bubble p:first-child{margin-top:0!important}#sap3-panel .sap3-bubble p:last-child{margin-bottom:0!important}
#sap3-panel .sap3-meta{margin-top:3px!important;padding:0 3px!important;font-size:9px!important;line-height:1.2!important;color:#667d8e!important}
#sap3-panel .sap3-msg.user .sap3-meta{text-align:right!important}
#sap3-panel .sap3-delivery-state{margin-top:3px!important;font-size:9px!important;color:#6f8391!important;line-height:1.15!important}

/* Historical messages must read as transcript content, not as the current route state. */
#sap3-panel[data-execution-route="knowledge"] .sap3-msg.sap3-awaiting-live-verification .sap3-delivery-state,
#sap3-panel[data-execution-route="gemini"] .sap3-msg.sap3-awaiting-live-verification .sap3-delivery-state{opacity:.48!important;font-size:8.5px!important}
#sap3-panel .sap3-msg.agent .sap3-bubble strong:first-child{font-size:13.5px!important;line-height:1.25!important}
#sap3-panel .sap3-msg.agent .sap3-bubble p{font-size:12.8px!important;color:#cad7df!important}

/* Knowledge / AI long answers: readable, premium, not an oversized dashboard card. */
#sap3-panel .sap3-guidance-heading{font-size:14px!important;line-height:1.25!important;margin-bottom:4px!important}
#sap3-panel .sap3-guidance-intro{font-size:11.5px!important;line-height:1.4!important;margin-bottom:7px!important;color:#98abb8!important}
#sap3-panel .sap3-guidance-steps{gap:5px!important}
#sap3-panel .sap3-guidance-step{padding:7px 8px!important;gap:8px!important;border-radius:9px!important;background:#0b1d2a!important;border-color:#20394a!important}
#sap3-panel .sap3-guidance-step strong{font-size:9.5px!important;color:#7ad9fb!important}
#sap3-panel .sap3-guidance-step span{font-size:12.8px!important;line-height:1.43!important;color:#e5edf2!important}
#sap3-panel .sap3-guidance-notes{gap:4px!important;margin-top:7px!important}
#sap3-panel .sap3-guidance-notes li{padding-left:18px!important;font-size:12.3px!important;line-height:1.42!important;color:#bfced8!important}
#sap3-panel .sap3-answer-links{margin-top:7px!important;padding-top:6px!important;gap:5px!important}
#sap3-panel .sap3-answer-links>span{font-size:8px!important;color:#728695!important}
#sap3-panel .sap3-answer-links a{min-height:29px!important;padding:5px 8px!important;border-radius:8px!important;font-size:10px!important;background:#161c29!important;border-color:#4a2935!important;color:#ff8794!important;box-shadow:none!important}

/* Feedback belongs to the message it evaluates; compact it and prevent the floating-toolbar look. */
#sap3-panel .sap3-helpful{margin:2px 8px 10px 35px!important;gap:6px!important;font-size:10px!important;color:#8296a5!important}
#sap3-panel .sap3-help-actions{gap:5px!important}
#sap3-panel .sap3-help-actions button{height:30px!important;min-height:30px!important;min-width:48px!important;padding:0 9px!important;border-radius:9px!important;background:#0b1924!important;border-color:#223948!important;font-size:10px!important;color:#e4ecf1!important;box-shadow:none!important}

/* Support verification / system cards are subordinate to messages and clearly separated from canvas. */
#sap3-panel .sap3-liveform{margin:4px 2px 10px!important;padding:10px!important;border-radius:14px!important;background:#0c1e2b!important;border-color:#31536a!important;box-shadow:0 10px 24px rgba(0,0,0,.18)!important}
#sap3-panel .sap3-captcha-card,#sap3-panel .sap3-guideline-compact{padding:9px!important;border-radius:11px!important;background:#081722!important;border-color:#284456!important}
#sap3-panel .sap3-captcha-row{gap:8px!important;align-items:center!important}
#sap3-panel .sap3-captcha-row input{max-width:92px!important;min-height:38px!important;border-radius:9px!important;font-size:15px!important;background:#051019!important;border-color:#35556a!important}
#sap3-panel .sap3-start-support{min-height:42px!important;border-radius:11px!important;font-size:12px!important;box-shadow:0 7px 18px rgba(181,15,38,.18)!important}
#sap3-panel .sap3-form-error{border-radius:9px!important;font-size:10.5px!important}

/* Composer: smaller visual footprint, stronger separation from the page and transcript. */
#sap3-panel .sap3-composer{padding:7px 9px max(7px,env(safe-area-inset-bottom))!important;background:#08151f!important;border-top:1px solid #223a4a!important;box-shadow:0 -10px 22px rgba(0,0,0,.14)!important}
#sap3-panel .sap3-row{grid-template-columns:40px minmax(0,1fr) 40px 44px!important;gap:6px!important}
#sap3-panel .sap3-plus,#sap3-panel .sap3-mic,#sap3-panel .sap3-send{height:40px!important;min-height:40px!important;border-radius:11px!important}
#sap3-panel .sap3-plus,#sap3-panel .sap3-mic{background:#0d1d29!important;border-color:#263f50!important;box-shadow:none!important}
#sap3-panel #sap3-input{min-height:40px!important;max-height:96px!important;padding:8px 11px!important;border-radius:11px!important;font-size:13.5px!important;line-height:1.35!important;background:#07131c!important;border-color:#2a485b!important;box-shadow:none!important}
#sap3-panel #sap3-input:focus{border-color:#47bfeb!important;box-shadow:0 0 0 2px rgba(67,199,244,.09)!important}
#sap3-panel .sap3-send{background:linear-gradient(145deg,#eb2440,#ce1530)!important;border-color:#ef4057!important;box-shadow:0 6px 15px rgba(197,18,43,.20)!important}
#sap3-panel .sap3-note{font-size:9px!important;line-height:1.2!important;color:#697f8f!important;margin-top:5px!important}

/* Mobile normalization: chat, not dashboard. */
@media(max-width:600px){
  #sap3-panel .sap3-header{min-height:54px!important;padding:7px 9px!important}
  #sap3-panel .sap3-avatar{width:36px!important;height:36px!important}
  #sap3-panel .sap3-head>strong{font-size:15.5px!important}
  #sap3-panel .sap3-head-sub{font-size:10px!important}
  #sap3-panel .sap3-iconbtn{width:36px!important;height:36px!important}
  #sap3-panel .sap3-compact-controlbar{grid-template-columns:78px 106px minmax(0,1fr)!important;gap:6px!important;padding:6px 8px!important}
  #sap3-panel .sap3-language-select,#sap3-panel .sap3-auto-toggle,#sap3-panel .sap3-route-status{height:36px!important}
  #sap3-panel .sap3-route-copy b{font-size:11.5px!important}#sap3-panel .sap3-route-copy small{font-size:8.5px!important}
  #sap3-panel .sap3-manual-route{padding:5px 7px 6px!important}
  #sap3-panel .sap3-route-dock button{height:36px!important;min-height:36px!important;padding:0 5px!important;gap:5px!important}
  #sap3-panel .sap3-route-dock button span{font-size:10px!important}
  #sap3-panel .sap3-chat{padding:10px 9px 13px!important}
  #sap3-panel .sap3-msg-inner{max-width:86%!important}#sap3-panel .sap3-msg.user .sap3-msg-inner{max-width:78%!important}
  #sap3-panel .sap3-bubble{font-size:13.5px!important;line-height:1.46!important;padding:9px 11px!important}
  #sap3-panel .sap3-helpful{margin-left:34px!important;margin-bottom:9px!important}
  #sap3-panel .sap3-row{grid-template-columns:40px minmax(0,1fr) 40px 44px!important}
  #sap3-panel #sap3-input{font-size:16px!important} /* prevents mobile browser zoom */
}
@media(max-width:380px){
  #sap3-panel .sap3-compact-controlbar{grid-template-columns:68px 92px minmax(0,1fr)!important}
  #sap3-panel .sap3-route-copy small{display:none!important}
  #sap3-panel .sap3-route-dock button span{font-size:9.2px!important}
  #sap3-panel .sap3-msg-inner{max-width:88%!important}#sap3-panel .sap3-msg.user .sap3-msg-inner{max-width:80%!important}
}


/* =====================================================================
   v15.2.7 premium visual normalization + intelligent guidance semantics
   Design-only hierarchy changes; no transport/routing behavior changed.
   ===================================================================== */
#sap3-panel{
 --sj27-shell:#0a1b27;--sj27-header:#0d202d;--sj27-canvas:#06121b;--sj27-card:#102b3d;
 --sj27-card-2:#0c2231;--sj27-line:#2b4b60;--sj27-line-soft:#1c3444;--sj27-text:#eef5f8;
 --sj27-muted:#95a9b7;--sj27-accent:#4cc9f5;--sj27-red:#d7192d;
 background:var(--sj27-shell)!important;border-color:#31566d!important;box-shadow:0 22px 60px rgba(0,0,0,.46)!important;
}
#sap3-panel .sap3-header{background:linear-gradient(180deg,#0e2230,#0b1c28)!important;border-bottom-color:#274657!important}
#sap3-panel .sap3-compact-controlbar{background:#0a1924!important;border-bottom-color:#203c4d!important}
#sap3-panel .sap3-manual-route{background:#081722!important;border-bottom-color:#203b4c!important;padding:6px 8px 7px!important}
#sap3-panel .sap3-route-dock{padding:2px!important;border:1px solid #203b4c!important;border-radius:13px!important;background:#07131c!important;gap:3px!important}
#sap3-panel .sap3-route-dock button{height:38px!important;border-radius:10px!important;color:#879aa8!important}
#sap3-panel .sap3-route-dock button.is-current,#sap3-panel .sap3-route-dock button.is-selected{background:#102b3d!important;border-color:#315c74!important;color:#f3f8fb!important;box-shadow:inset 0 -2px 0 var(--sj27-accent)!important}
#sap3-panel .sap3-route-dock button.is-passed{color:#8097a5!important;opacity:.72!important}
#sap3-panel .sap3-route-dock button.is-passed::after{display:none!important}
#sap3-panel .sap3-chat{background:var(--sj27-canvas)!important;padding:12px 11px 24px!important;scroll-padding-top:12px!important;scroll-padding-bottom:28px!important}
#sap3-panel .sap3-msg{margin-bottom:10px!important}
#sap3-panel .sap3-msg-inner{max-width:82%!important}
#sap3-panel .sap3-msg.user .sap3-msg-inner{max-width:74%!important}
#sap3-panel .sap3-bubble{background:var(--sj27-card-2)!important;border-color:#2b4b60!important;color:var(--sj27-text)!important;font-size:13.1px!important;line-height:1.5!important;padding:10px 12px!important;box-shadow:0 5px 16px rgba(0,0,0,.16)!important}
#sap3-panel .sap3-msg.bot .sap3-bubble,#sap3-panel .sap3-msg.agent .sap3-bubble{background:linear-gradient(180deg,#112c3e,#0e2636)!important;border-color:#31566d!important}
#sap3-panel .sap3-msg.user .sap3-bubble{background:linear-gradient(145deg,#a71d30,#7e1523)!important;border-color:#c23446!important}
#sap3-panel .sap3-meta{color:#748b9a!important;font-size:9px!important}
#sap3-panel .sap3-guidance-heading{font-size:15px!important;color:#f5fafc!important;margin-bottom:3px!important}
#sap3-panel .sap3-guidance-intro{font-size:11.5px!important;color:#9db0bc!important;margin:0 0 8px!important}
#sap3-panel .sap3-guidance-step{grid-template-columns:52px minmax(0,1fr)!important;padding:8px 9px!important;background:#0a1d29!important;border-color:#29485c!important;border-radius:10px!important}
#sap3-panel .sap3-guidance-step strong{font-size:10px!important;color:#79dafb!important}
#sap3-panel .sap3-guidance-step span{font-size:12.8px!important;line-height:1.46!important;color:#e8f0f4!important}
#sap3-panel .sap3-guidance-points{margin-top:2px!important;gap:6px!important}
#sap3-panel .sap3-guidance-points li{padding:8px 10px 8px 30px!important;border:1px solid #29485c!important;border-radius:10px!important;background:#0a1d29!important;color:#dbe6ec!important;font-size:12.8px!important;line-height:1.46!important}
#sap3-panel .sap3-guidance-points li:before{left:10px!important;top:8px!important;color:#4ade80!important}
#sap3-panel .sap3-answer-links{border-top-color:#223f51!important}
#sap3-panel .sap3-answer-links a{background:#171d2a!important;border-color:#56303a!important;color:#ff909c!important}
#sap3-panel .sap3-helpful{margin-top:3px!important;margin-bottom:12px!important;color:#8fa2af!important}
#sap3-panel .sap3-help-actions button{background:#0b1b27!important;border-color:#29485b!important;color:#e9f1f5!important}
#sap3-panel .sap3-liveform,#sap3-panel .sap3-captcha-card,#sap3-panel .sap3-guideline-compact{background:#0b1e2b!important;border-color:#31566d!important}
#sap3-panel .sap3-composer{background:#091823!important;border-top-color:#29485c!important;box-shadow:0 -12px 28px rgba(0,0,0,.20)!important}
#sap3-panel #sap3-input{background:#06131c!important;border-color:#315166!important;color:#edf5f8!important}
#sap3-panel #sap3-input::placeholder{color:#728896!important}
#sap3-panel .sap3-plus,#sap3-panel .sap3-mic{background:#0d202d!important;border-color:#315166!important}
#sap3-panel .sap3-send{background:linear-gradient(145deg,#ef2744,#cf1731)!important;border-color:#f04459!important}
#sap3-panel .sap3-note{color:#728896!important}
/* keep the final transcript item fully visible above the composer */
#sap3-panel .sap3-chat::after{content:"";display:block;height:8px}
@media(max-width:600px){
 #sap3-panel .sap3-chat{padding:11px 10px 26px!important}
 #sap3-panel .sap3-msg-inner{max-width:84%!important}#sap3-panel .sap3-msg.user .sap3-msg-inner{max-width:76%!important}
 #sap3-panel .sap3-bubble{font-size:13.2px!important;line-height:1.48!important}
 #sap3-panel .sap3-guidance-step{grid-template-columns:48px minmax(0,1fr)!important}
 #sap3-panel .sap3-guidance-step span,#sap3-panel .sap3-guidance-points li{font-size:12.6px!important}
}
