:root{font-family:Inter,system-ui,-apple-system,sans-serif;color:#21352e;background:#f4f7f6;font-size:14px;--accent:#256f65;--accent-text:#fff;--chat-background:#f4f7f6;--bubble-radius:18px;--widget-width:380px;--widget-height:650px;--widget-radius:18px}
.welcome-editor{border:1px solid #354159;border-radius:10px;padding:16px;margin:12px 0}.welcome-editor h3{font-size:14px}.block-actions{display:flex;gap:8px}.block-actions button{padding:6px 10px;font-size:12px}
.preview-launcher.image img{display:block;max-width:100%;height:auto}
*{box-sizing:border-box}[hidden]{display:none!important}body{margin:0}button,input,textarea,select{font:inherit}button,a{touch-action:manipulation}button{cursor:pointer;border:1px solid transparent;border-radius:10px;padding:11px 15px;background:var(--accent);color:var(--accent-text);font-weight:650;transition:background .15s}button:disabled{opacity:.5;cursor:not-allowed}.secondary{background:#eaf0ee;color:#33483f;border-color:#d8e3de}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:3px solid #719fda;outline-offset:3px}h1{font-size:24px;line-height:1.3;margin:10px 0;letter-spacing:-.7px}h2{font-size:17px;margin:0 0 16px}p{line-height:1.6}header{padding:22px 24px;background:var(--accent);color:var(--accent-text)}header p{font-size:13px;margin:8px 0 0;min-height:18px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.6px;text-transform:uppercase;opacity:.85}.shell{height:100dvh;display:flex;flex-direction:column;background:#fff}#entry{padding:24px;overflow:auto}#welcome{margin:0 0 22px;color:#627469}label{display:block;margin-bottom:16px;font-weight:600;font-size:13px}input,textarea,select{display:block;width:100%;margin-top:7px;padding:11px;border:1px solid #d0ded6;border-radius:8px;color:inherit;background:#fff}textarea{resize:vertical;margin:0}#entry button{width:100%}.muted{color:#728279;font-size:12px}#chat{display:flex;flex-direction:column;flex:1;min-height:0;min-width:0}#messages{flex:1;min-height:100px;overflow:auto;padding:20px;display:flex;flex-direction:column;gap:16px;scrollbar-width:thin;background:var(--chat-background)}.message{align-self:flex-start;max-width:85%;background:#fff;padding:12px 15px;border:1px solid #e0e7e3;border-radius:var(--bubble-radius);box-shadow:none;text-decoration:none;color:#263d32}.message.self{align-self:flex-end;background:var(--accent);color:var(--accent-text);border-color:transparent}.message p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.message small{display:block;font-size:10px;opacity:.8;margin-top:8px}.message:before,.message:after{content:none}#compose{display:flex;align-items:flex-end;gap:8px;padding:14px 14px 6px;background:#fff}#compose textarea{flex:1;min-width:0;resize:none;max-height:120px}#attach{padding:12px;font-size:20px;line-height:1}#restart{margin:12px}.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}.file-help{font-size:10px;color:#728279;margin:0;padding:4px 16px 12px}.file-pending{margin:10px 14px 0;padding:12px;background:#eef3f1;border:1px solid #d2dfd7;border-radius:10px}.file-pending strong,.file-pending span{display:block;overflow-wrap:anywhere;font-size:12px;margin-bottom:8px}.file-pending button{font-size:12px;padding:8px 12px}.file-pending progress{width:100%;height:6px;margin:4px 0 10px;accent-color:var(--accent)}.attachment{display:block;color:inherit;overflow-wrap:anywhere;margin-top:5px;font-size:12px}.image-button{padding:0;background:transparent;border:0;display:block;width:100%;overflow:hidden;border-radius:8px}.image-button img{display:block;max-width:240px;width:100%;max-height:240px;object-fit:contain}#chat.dragging{outline:3px dashed var(--accent);outline-offset:-5px}dialog{border:0;border-radius:14px;padding:16px;max-width:95vw;max-height:95dvh;background:#fff;color:#24372e}dialog::backdrop{background:#14271ee0}.image-toolbar{display:flex;gap:18px;align-items:center;justify-content:space-between;margin-bottom:12px}.image-toolbar span{overflow-wrap:anywhere}#imageFull{display:block;max-width:85vw;max-height:75dvh;object-fit:contain}
.demo{padding:10vw;background:#f0f5f2}.demo h1{font-size:clamp(30px,5vw,60px);max-width:600px}.demo a{color:var(--accent)}#launcher{position:fixed;right:24px;bottom:20px;border-radius:var(--widget-radius);box-shadow:0 8px 25px #21372a20}#widget{position:fixed;right:24px;bottom:82px;width:min(var(--widget-width),calc(100vw - 32px));height:min(var(--widget-height),calc(100dvh - 105px));border:1px solid #d1dfd7;border-radius:var(--widget-radius);box-shadow:0 16px 70px #21372a25}body[data-position=left] #widget,body[data-position=left] #launcher{right:auto;left:24px}
.admin{background:#111713;color:#e7eee9}.admin .shell{background:#19221d;margin:20px;height:calc(100dvh - 40px);border:1px solid #344339;border-radius:14px;overflow:hidden}.admin header{background:#202d25;color:#eef4ef;position:relative;padding-right:410px}.admin header h1{margin:8px 0}.admin .eyebrow{color:#c1d4c6}.header-actions{position:absolute;right:20px;top:25px;display:flex;align-items:center;gap:10px}.header-actions button{background:#34463b;color:#fff;font-size:12px}.header-actions a{color:#c3d5c9;font-size:12px}.workspace{display:flex;flex:1;min-height:0}#list{width:290px;overflow:auto;border-right:1px solid #344339;padding:12px;flex-shrink:0}#list button{display:block;width:100%;text-align:left;background:transparent;border:1px solid transparent;margin-bottom:8px;color:inherit}#list button.selected{background:#2d4436;border-color:#719780}#list strong,#list small{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}#list small{margin-top:8px;color:#b4c6ba;font-weight:400}.list-empty{font-size:13px;color:#a2b7a9;padding:12px}.admin #messages{background:#152018}.admin .message{background:#283a2e;color:#e2eee6;border-color:#3a5041}.admin .message.self{background:var(--accent);color:var(--accent-text);border-color:transparent}.admin #compose{background:#202d25}.admin input,.admin textarea,.admin select{background:#152018;border-color:#415648;color:#e2eee6}.admin .file-pending{background:#263b2f;border-color:#415648}.admin .secondary{background:#344b3d;color:#e3eee7;border-color:#47604f}.admin .file-help{background:#202d25;color:#adc1b3}.toolbar{padding:16px;display:flex;align-items:center;justify-content:space-between;gap:10px;border-bottom:1px solid #344339}.toolbar h2{margin:0;font-size:15px;overflow-wrap:anywhere}.toolbar button{background:#344b3d;color:#e3eee7;font-size:12px}.admin #entry{max-width:440px;width:100%;margin:auto}.admin .muted{color:#adbcaf}
#appearance{overflow:auto;min-height:0;padding:24px}.settings-header{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:24px}.settings-header h2{font-size:24px;margin-bottom:8px}.settings-header p{color:#adbcaf;margin:0;font-size:13px}.settings-layout{display:grid;grid-template-columns:minmax(260px,420px) minmax(350px,1fr);gap:32px}.settings-layout fieldset{border:1px solid #3c5142;border-radius:12px;padding:20px;margin:0 0 18px}.settings-layout legend{padding:0 8px;color:#bcd1c2}.field-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}.check{display:flex;align-items:center;gap:10px}.check input{width:auto;margin:0}input[type=color]{height:42px;padding:4px}.presets{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:18px}.presets button{font-size:12px;background:#344b3d;color:#fff}.preview-area{min-width:0;position:sticky;top:0;align-self:start}.preview-tools{display:flex;gap:12px;justify-content:center}.preview-tools label{width:145px}#previewStage{background:repeating-linear-gradient(45deg,#25372b,#25372b 10px,#233329 10px,#233329 20px);padding:20px;display:flex;align-items:flex-end;flex-direction:column;gap:14px;border:1px solid #3c5142;border-radius:14px;overflow:auto}#previewStage[data-position=left]{align-items:flex-start}#themePreview{border:0;max-width:100%;flex:none;background:#fff;box-shadow:0 10px 30px #0003}#previewLauncher{pointer-events:none}.settings-save{position:sticky;bottom:-24px;background:#19221df5;padding:16px 0}.settings-save p{font-size:12px;min-height:20px}
@media(max-width:1000px){.settings-layout{grid-template-columns:1fr}.preview-area{position:static}.admin header{padding-right:24px}.header-actions{position:static;margin-top:16px;flex-wrap:wrap}}
@media(max-width:650px){#widget{right:12px;width:calc(100vw - 24px)}body[data-position=left] #widget{left:12px}.admin .shell{margin:0;height:100dvh;border-radius:0}.workspace{flex-direction:column}#list{width:100%;max-height:160px;border-right:0;border-bottom:1px solid #344339}#list button{padding:8px}.toolbar{padding:12px}.admin header{padding:16px}#appearance{padding:16px}.settings-header{flex-direction:column}.settings-save{bottom:-16px}.header-actions{gap:8px}.message{max-width:92%}#compose button{padding:11px 10px}#previewStage{padding:12px}header{padding:18px 20px}h1{font-size:21px}}
@media(prefers-reduced-motion:reduce){*{transition:none!important}}

body[data-external-auth="1"] #logout,body[data-external-auth="1"] #entry{display:none!important}

/* Widget surface: independent of the host page and the operator workspace. */
body[data-mode=visitor] header{position:relative;padding:26px 24px 22px;overflow:hidden}
.brand-avatar{display:grid;place-items:center;width:44px;height:44px;margin-bottom:20px;border:1px solid #ffffff50;border-radius:15px;background:#ffffff1f;color:inherit;font-weight:800;letter-spacing:1px}
body[data-mode=visitor] header h1{font-size:26px;max-width:330px;letter-spacing:-.9px}
body[data-mode=visitor] #status{font-size:11px;opacity:.85;margin-top:15px}
body[data-mode=visitor][data-header-style=gradient] header{background:linear-gradient(125deg,var(--accent),var(--secondary))}
body[data-mode=visitor][data-header-style=minimal] header{background:#fff;color:#24332f;border-bottom:1px solid #e7ece9}
body[data-mode=visitor][data-header-style=minimal] .brand-avatar{color:var(--accent);background:var(--chat-background);border-color:#e4eae7}
body[data-mode=visitor] #entry{background:linear-gradient(#fff,var(--chat-background));flex:1;padding:26px 24px}
body[data-mode=visitor] #entry input{padding:13px 14px;border-radius:12px;background:#ffffffdd}
body[data-mode=visitor] #entry button{padding:14px;border-radius:12px;box-shadow:0 6px 16px #0000000b}
body[data-mode=visitor] .message:not(.self){background:var(--agent-bubble,#fff);color:var(--agent-text,#263d32);border:0;box-shadow:0 3px 12px #00000005}
body[data-mode=visitor] .message{padding:13px 16px;line-height:1.5}
body[data-mode=visitor] #messages{background-image:radial-gradient(#80958912 1px,transparent 1px);background-size:18px 18px}
body[data-density=compact] #messages{gap:9px;padding:14px}body[data-density=compact] .message{padding:9px 12px}
body[data-mode=visitor] #compose{border-top:1px solid #edf0ee;padding-top:12px}
/* Operator workspace and visual editor. */
.admin{background:#0d111b;color:#e7eaf2}.admin .shell{background:#151b29;border-color:#2b3448;box-shadow:0 18px 70px #0002}
.admin header{background:linear-gradient(115deg,#192239,#20253b);border-bottom:1px solid #34405a}
.admin .eyebrow{color:#aab9e4}.admin .header-actions button,.admin .secondary,.toolbar button{background:#2a3650;border-color:#3b4865;color:#e8edf9}
.admin input,.admin textarea,.admin select{background:#111827;border-color:#35415a;color:#e5eaf5}
.admin #messages{background:#101725}.admin .message{background:#243048;border-color:#344362}.admin #compose,.admin .file-help{background:#1a2335}
.admin #list{border-color:#303b50;background:#141c2c}.admin #list button{border-radius:12px;padding:15px}.admin #list button:hover{background:#1e2a42}.admin #list button.selected{background:#293650;border-color:#677dab}
.admin #list small{color:#a5b2cd}.toolbar{border-color:#303b50}.inbox-tools{display:flex;align-items:end;gap:18px;padding:16px 22px;border-bottom:1px solid #303b50;background:#182132}
.inbox-tools label{margin:0;min-width:170px}.inbox-tools label:first-child{flex:1;max-width:440px}.inbox-tools p{margin:0 0 8px;font-size:12px;color:#a7b7d3}
.settings-header h2{letter-spacing:-.6px}.settings-layout{grid-template-columns:minmax(280px,430px) minmax(320px,1fr)}
.settings-layout fieldset{background:#1a2334;border-color:#33405b;border-radius:16px;padding:23px}.settings-layout legend{color:#c7d4f3;font-weight:700;font-size:14px}
.settings-layout label{color:#c2cce0;font-size:12px}.settings-layout input,.settings-layout select{border-radius:9px}.presets button{background:#283652;border-color:#3d4d70}.presets button[data-preset=violet]{border-color:#8865d0}.presets button[data-preset=amber]{border-color:#b47636}
#previewStage{background:radial-gradient(ellipse at top,#34496d,#1c273d 75%);border-color:#405375;border-radius:20px;padding:28px}.preview-tools select{background:#1b2941}
.settings-save{background:#151b29f5;display:flex;flex-wrap:wrap;align-items:center;gap:9px;border-top:1px solid #303b50}.settings-save p{flex-basis:100%;margin:4px 0}.settings-save button{font-size:12px}
.import-theme{margin:0!important;border:1px dashed #506285;border-radius:10px;padding:9px 12px;cursor:pointer}.import-theme input{max-width:210px;font-size:11px;padding:5px;margin:4px 0 0}
@media(max-width:1000px){.settings-layout{grid-template-columns:1fr}.inbox-tools{flex-wrap:wrap}.inbox-tools p{flex-basis:100%;margin:0}}
@media(max-width:650px){.inbox-tools{padding:12px;gap:10px}.inbox-tools label{min-width:120px}.brand-avatar{margin-bottom:12px;width:38px;height:38px}body[data-mode=visitor] header{padding:18px 20px}body[data-mode=visitor] header h1{font-size:23px}.settings-layout fieldset{padding:16px}#previewStage{padding:12px}}
body[data-mode=visitor][data-chat-state=chat] header{padding:17px 20px;flex-shrink:0}
body[data-mode=visitor][data-chat-state=chat] .brand-avatar{float:left;margin:0 14px 0 0;width:40px;height:40px}
body[data-mode=visitor][data-chat-state=chat] header h1{font-size:17px;margin:5px 0}
body[data-mode=visitor][data-chat-state=chat] #widgetSubtitle{display:none}
body[data-mode=visitor][data-chat-state=chat] #status{margin:8px 0 0;clear:both}
@keyframes message-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}
.message{animation:message-enter .18s ease-out}.brand-avatar{transition:background .2s}#entry button:hover{filter:brightness(1.06)}
@media(prefers-reduced-motion:reduce){.message,.brand-avatar{animation:none;transition:none}}

.window-controls{height:38px;flex:none;background:#fff;color:#53565d;display:flex;align-items:center;justify-content:space-between;padding:0 8px 0 15px;border-bottom:1px solid #eee;font-size:12px}.window-controls>div{display:flex}.window-controls button{display:grid;place-items:center;width:34px;height:34px;padding:0;background:transparent;color:#7c8187;font-size:22px;border-radius:4px}.window-controls button:hover{background:#f0f1f4;color:#282b30}
.support-banner{display:flex;align-items:center;justify-content:space-between;gap:18px;min-height:55px;flex-shrink:0;padding:10px 16px;background:linear-gradient(110deg,#24272b 0 48%,var(--accent) 49% 51%,#303238 52%);color:#fff}.support-banner strong{font-size:17px;font-style:italic;line-height:1.2}.support-banner span{font-size:11px;text-align:right;max-width:48%;font-weight:650}
body[data-layout=classic] .support-banner{display:none}
body[data-layout=reference][data-mode=visitor] .shell{background:var(--chat-background)}
body[data-layout=reference][data-mode=visitor]:not([data-chat-state=chat]) header{padding:0;background:white;color:#66707c}
body[data-layout=reference][data-mode=visitor]:not([data-chat-state=chat]) header>.brand-avatar,body[data-layout=reference][data-mode=visitor]:not([data-chat-state=chat]) #teamName,body[data-layout=reference][data-mode=visitor]:not([data-chat-state=chat]) #widgetTitle,body[data-layout=reference][data-mode=visitor]:not([data-chat-state=chat]) #widgetSubtitle{display:none}
body[data-layout=reference][data-mode=visitor]:not([data-chat-state=chat]) #status{font-size:10px;padding:5px 18px;margin:0;min-height:24px}
body[data-layout=reference][data-mode=visitor] #entry{padding:16px 24px 20px;background:linear-gradient(170deg,#fff 25%,var(--chat-background));scrollbar-width:thin;min-height:0}
.prechat-welcome{border-radius:9px 9px 0 0;padding:19px 16px 15px;border-bottom:3px solid var(--accent);background:#25282d;text-align:center;color:#fff;margin-bottom:12px}.prechat-welcome h2{font-size:17px;margin:0 0 8px;font-weight:800;line-height:1.35}.prechat-welcome #welcome{color:#d5d7dc;margin:0;font-size:12px;line-height:1.5}
.prechat-card{padding:14px;border:1px solid #e8e4e2;margin:10px 0;background:#fff0f1}.prechat-card h3{font-size:13px;line-height:1.45;margin:0 0 7px;font-weight:800;color:#983f4d}.prechat-card p{font-size:12px;margin:0;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.65;color:#444b51}.prechat-card.tone-success{background:#edf8f0;border-color:#d9e9de}.prechat-card.tone-success h3{color:#33734e}.prechat-card.tone-highlight{background:#fff8db;border-color:#ece4c5}.prechat-card.tone-highlight h3{color:#76611a}
#prechatLinks{display:grid;gap:9px;margin:14px 0}#prechatLinks:empty{display:none}#prechatLinks a{padding:12px 14px;text-align:center;background:var(--accent);color:var(--accent-text);text-decoration:none;font-size:13px;font-weight:700;border-radius:8px}#prechatLinks a:nth-child(2){background:#26292e;color:#fff}
.required-note{font-size:10px;color:#757b80;margin:24px 0 12px}.required-star{color:#b53c46;margin-left:3px}
body[data-mode=visitor] #entry label{font-size:12px;font-weight:500;margin-bottom:20px;color:#23262a}body[data-layout=reference][data-mode=visitor] #entry input{height:40px;min-height:40px;margin-top:6px;padding:9px 11px;border-radius:8px;border-color:#dadbdf;font-size:13px}body[data-layout=reference][data-mode=visitor] #entry button{min-height:40px;padding:10px;border-radius:8px;font-size:13px}.card-editor,.link-editor{border-top:1px solid #354159;margin-top:16px;padding-top:10px}.card-editor h3{font-size:12px;color:#bac7e2}.card-editor textarea{margin-top:7px}#reopenWidget{position:fixed;bottom:18px;right:18px}
body[data-layout=reference][data-chat-state=chat] .support-banner{display:none}
.editor-switch{display:none}.admin header h1{font-size:22px}.admin .settings-save{bottom:0}
#themePreview{max-height:calc(100dvh - 340px);min-height:340px}.settings-transfer{display:flex;flex-wrap:wrap;gap:12px;align-items:center}.settings-transfer .import-theme{flex:1}
@media(max-width:1000px){.editor-switch{display:flex;gap:8px;margin:0 0 18px;position:sticky;top:0;z-index:2;background:#151b29;padding:8px 0}.editor-switch button{background:#24314a;color:#c5d3ed}.editor-switch button[aria-pressed=true]{background:var(--accent);color:var(--accent-text)}.settings-layout[data-pane=editor] .preview-area{display:none}.settings-layout[data-pane=preview] #settingsForm{display:none}.settings-save{position:static}.preview-tools{justify-content:flex-start}#themePreview{max-height:calc(100dvh - 390px);min-height:340px}}
@media(max-width:650px){.admin header h1{font-size:18px}.admin header{padding:12px 16px}.admin header p{margin:4px 0}.admin .header-actions{margin-top:10px}.admin .eyebrow{font-size:9px}.settings-header h2{font-size:19px}.settings-header{margin-bottom:10px;gap:10px}.settings-header p{font-size:12px}.settings-header button{padding:8px 10px}}

.reply-tools{display:flex;align-items:center;gap:12px;padding:8px 14px;background:#182335}.reply-tools span{font-size:11px;color:#afbbce}.reply-tools button{padding:7px 10px;font-size:12px}#repliesDialog{width:min(760px,calc(100vw - 24px));max-height:90dvh;overflow:auto}.reply-heading{display:flex;justify-content:space-between;align-items:center}.saved-reply{border:1px solid #ccd6df;border-radius:8px;margin:10px 0;padding:12px}.saved-reply p{white-space:pre-wrap;overflow-wrap:anywhere;max-height:120px;overflow:auto}.saved-reply>div{display:flex;gap:8px}.saved-reply button{font-size:12px;padding:7px 10px}#replyEditor{border-top:1px solid #ccd6df;margin-top:20px;padding-top:12px}

.component-editor{border:1px solid #354159;border-radius:8px;padding:12px;margin:12px 0}#visitorAnswers{padding:10px 18px;background:#182335;color:#c7d2e6;max-height:180px;overflow:auto}#visitorAnswerList{font-size:13px}#visitorAnswerList dt{font-weight:700}#visitorAnswerList dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:3px 0 10px}
.message .message-link{display:inline;color:#337ab7;text-decoration:underline;overflow-wrap:anywhere}
.message.self .message-link{color:inherit}
#imageDownload{color:#2158e6;font-size:14px;white-space:nowrap}

.honeypot{position:absolute!important;left:-10000px!important;top:auto!important;width:1px!important;height:1px!important;overflow:hidden!important;opacity:0!important;pointer-events:none!important}
