/* DICABON Alpha55 — faithfully proportioned ChatGPT-reference composer, distinct DICABON branding. */
.ai-chat{margin-bottom:16px;padding:0;overflow:hidden;--ai-border:#e4e8ed;--ai-blue:#3868c9;background:#f8faff;color:#242a35}
.ai-chat-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px 18px;border-bottom:1px solid var(--ai-border);background:#edf4ff}
.ai-chat-heading{display:flex;align-items:center;gap:11px;min-width:0}
.ai-avatar,.ai-orb{display:grid;place-items:center;flex:none;background:#315fc2;color:#fff;border-radius:14px;font-size:22px;width:44px;height:44px}
.ai-chat-heading h2{margin:0 0 3px;font-size:18px}.ai-chat-sub{font-size:12px;color:#788397}
.ai-chat-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}.ai-chat-actions .btn{min-height:36px;padding:7px 10px;font-size:12px}.ai-chat-status{font-size:11px;color:#315fc2;font-weight:700;white-space:nowrap}
.ai-chat-log{min-height:260px;max-height:520px;overflow-y:auto;padding:18px;display:flex;flex-direction:column;gap:13px;overscroll-behavior:contain;background:#f8faff}
.ai-message{max-width:85%;align-self:flex-start;min-width:0;overflow-wrap:anywhere}.ai-message-user{align-self:flex-end}
.ai-message-author{display:block;color:#6c7688;font-weight:750;font-size:11px;margin:0 5px 5px}.ai-message-user .ai-message-author{text-align:right}
.ai-message-text{padding:13px 16px;border-radius:20px;background:#eaf2fd;font-size:14px;line-height:1.65;overflow-wrap:anywhere;color:#2b3547}
.ai-message-user .ai-message-text{background:#315fc2;color:#fff;border-bottom-right-radius:6px}.ai-message-assistant .ai-message-text{border-bottom-left-radius:6px}
.ai-message-file{display:flex;align-items:center;gap:5px;border-top:1px solid currentColor;margin-top:8px;padding-top:6px;font-size:11px;opacity:.82}.ai-message-file svg{height:16px;width:16px}
.ai-empty{margin:auto;max-width:390px;text-align:center;color:#333b48;padding:12px 6px}.ai-orb{margin:0 auto 12px;border-radius:50%;width:52px;height:52px;font-size:28px}.ai-empty strong{font-size:19px}.ai-empty p{margin:8px 0 14px}.ai-suggest{display:flex;gap:8px;flex-wrap:wrap;justify-content:center}.ai-suggest button{border:1px solid #e0e4ed;color:#315fc2;background:#fff;border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700;cursor:pointer}
.ai-thinking{color:#315fc2;font-size:13px;font-weight:700;padding:4px 10px;align-self:flex-start}
.ai-chat-error{margin:8px 22px!important;color:#a12a3d!important;font-weight:700;font-size:12px!important;overflow-wrap:anywhere}
.ai-chat-form{padding:17px 22px 9px;border-top:1px solid var(--ai-border);background:#f8faff}
/* ChatGPT-style wide, single rounded container with expanding text on top, tools below. */
.ai-composer{background:#fff;border:1px solid #e0e3e7;border-radius:34px;padding:13px 14px 11px;min-height:82px;box-shadow:0 5px 22px rgba(30,40,57,.055);display:flex;flex-direction:column;gap:11px;transition:border-color .15s,box-shadow .15s}
.ai-composer:focus-within{border-color:#cfd7e2;box-shadow:0 6px 27px rgba(30,40,57,.085)}
.ai-composer #ai-chat-input{display:block;width:100%;box-sizing:border-box;min-height:28px;max-height:184px;overflow-y:auto;border:0;box-shadow:none;resize:none;outline:0;padding:2px 6px 0;margin:0;background:transparent;color:#171b24;font-family:inherit;font-size:17px;font-weight:400;line-height:1.45;border-radius:0}
.ai-composer #ai-chat-input::placeholder{color:#8c929b;opacity:1}
.ai-composer-toolbar,.ai-composer-left,.ai-composer-right{display:flex;align-items:center;gap:9px}.ai-composer-toolbar{justify-content:space-between}.ai-composer-right{margin-left:auto}
.ai-round-tool{border:0;background:transparent;box-shadow:none;display:grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#161a20;cursor:pointer;flex:none;padding:0}
.ai-round-tool:hover{background:#f0f1f4}.ai-round-tool:disabled{opacity:.4;cursor:not-allowed}.ai-round-tool:focus-visible,.ai-send:focus-visible,.ai-mode-picker:focus-within{outline:2px solid #316bd6;outline-offset:2px}
.ai-plus svg{width:29px;height:29px;stroke-width:1.8}.ai-mic-btn svg{width:23px;height:23px}
.ai-send{background:#3869c8!important;color:#fff!important;width:46px;height:46px;border-radius:50%;border:0;display:grid;place-items:center;flex:none;cursor:pointer;padding:0;box-shadow:none}
.ai-send:hover{background:#2757b4!important}.ai-send:disabled{background:#9ca9c3!important;cursor:not-allowed}.ai-send svg{width:25px;height:25px;stroke-width:2}
.ai-mode-picker{display:flex;gap:5px;align-items:center;color:#8b929f;font-size:15px;border-radius:10px;padding:4px;cursor:pointer}
.ai-mode-picker select{appearance:none;-webkit-appearance:none;background:transparent;border:0;box-shadow:none;font:inherit;font-size:15px;color:#818a98;padding:5px 0 5px 5px;outline:0;cursor:pointer;min-width:44px}
.ai-mode-picker span[aria-hidden]{font-size:20px;line-height:1;transform:translateY(-2px)}
.ai-file-input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;overflow:hidden}
.ai-attachment-chip{max-width:100%;display:flex;align-items:center;gap:8px;background:#f2f5fa;border:1px solid #dce4ed;border-radius:17px;color:#35435d;padding:8px 11px;font-size:12px;align-self:flex-start}
.ai-attachment-chip>svg{width:16px;height:16px;flex:none}.ai-attachment-chip span{max-width:min(65vw,430px);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}
.ai-attachment-chip button{display:grid;place-items:center;background:transparent;border:0;color:#526075;padding:2px;cursor:pointer}.ai-attachment-chip button svg{width:15px;height:15px}
/* Actual microphone-level history, updated from Web Audio or native speech recognizers. */
.ai-voice-strip{display:flex;align-items:center;gap:12px;height:64px;width:100%;min-width:0}
.ai-waveform{height:54px;flex:1;display:flex;align-items:center;justify-content:center;gap:3px;min-width:0;overflow:hidden}
.ai-wave-bar{display:block;width:3px;min-width:2px;max-width:4px;flex:1;background:#8e949d;border-radius:3px;height:4px;transition:height 70ms linear}
.ai-recording-label{font-size:12px;color:#727b89;white-space:nowrap}
.ai-stop{background:#f2f2f2!important;border:1px solid #d7dbe0!important;color:#0d1118!important;width:44px;height:44px}.ai-stop svg{width:24px;height:24px}
.ai-chat-disclaimer{font-size:10.5px!important;color:#8892a2;line-height:1.5;margin:9px 24px 13px!important}
.ai-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@media(max-width:700px){.ai-chat-head{padding:12px;align-items:flex-start}.ai-chat-actions{justify-content:flex-end}.ai-chat-status{display:none}.ai-chat-log{padding:12px;min-height:220px;max-height:50vh}.ai-message{max-width:95%}.ai-chat-form{padding:12px 9px 7px}.ai-composer{border-radius:26px;padding:10px 10px 8px}.ai-composer #ai-chat-input{font-size:16px}.ai-chat-disclaimer{margin:8px 12px 13px!important}.ai-waveform{gap:2px}.ai-wave-bar{min-width:1px}.ai-recording-label{display:none}}
@media(max-width:390px){.ai-mode-picker select{font-size:13px}.ai-composer-right{gap:4px}.ai-send{width:43px;height:43px}.ai-round-tool{width:37px;height:37px}}
@media(prefers-reduced-motion:reduce){.ai-wave-bar,.ai-composer{transition:none}}

/* Alpha63 · AI Rate Confirmation preview, no silent write */
.ai-ratecon-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;padding:2px 6px;font-size:12px;color:#66768f}
.ai-ratecon-action{border:1px solid #bfd0f2;border-radius:999px;color:#204caa;background:#eef4ff;padding:8px 12px;font-weight:700;cursor:pointer}
.ai-ratecon-action:hover{background:#dae8ff}.ai-ratecon-action:disabled{opacity:.5;cursor:not-allowed}

/* Alpha 68: explicit server-only OpenAI API diagnostics, responsive on phones. */
.ai-api-health{margin:0;padding:9px 16px;background:#e8f1ff;color:#173b71;font-size:12px;line-height:1.5;overflow-wrap:anywhere;border-bottom:1px solid var(--ai-border);}
.ai-chat-actions [data-ai-openai-check]{white-space:normal;line-height:1.15;min-height:36px;}
@media(max-width:700px){.ai-chat-actions [data-ai-openai-check]{font-size:11px;padding:5px 7px;max-width:116px}.ai-api-health{padding:9px 12px}}

/* Alpha71: local-only, searchable business records in SuperChat */
.ai-local-results{display:flex;flex-direction:column;gap:7px;margin-top:9px;max-height:370px;overflow-y:auto}
.ai-search-item{display:flex;flex-direction:column;gap:3px;text-align:left;background:#fff;color:#243959;border:1px solid #cad7e8;border-radius:12px;padding:10px 12px;cursor:pointer;font:inherit;max-width:100%;overflow-wrap:anywhere}
.ai-search-item:hover,.ai-search-item:focus-visible{background:#e9f2ff;outline:2px solid #acc5f1;outline-offset:1px}
.ai-search-item strong{font-size:13px}.ai-search-item span{font-size:11px;color:#64748b;line-height:1.4}
.ai-chat-actions [data-ai-search]{background:#fff;border-color:#bfd0f2;color:#2454a1}
@media(max-width:550px){.ai-chat-actions [data-ai-search]{font-size:11px;padding:5px 7px}}
