/* TCI AI Assistant – all selectors scoped to #tci-ai-root to avoid colliding with theme CSS. */
#tci-ai-root { --tci-ai-accent:#006b3b; --tci-ai-dark:#073d31; --tci-ai-orange:#f47c30; --tci-ai-border:#dce7e1; position:fixed; z-index:2147482000; right:clamp(14px,2.2vw,30px); bottom:clamp(16px,3vh,34px); box-sizing:border-box; font-family:'Be Vietnam Pro','Segoe UI',Arial,sans-serif; font-size:14px; line-height:1.55; -webkit-font-smoothing:antialiased; font-feature-settings:'kern'; color:#193f32; }
#tci-ai-root *, #tci-ai-root *::before, #tci-ai-root *::after { box-sizing:border-box; }
#tci-ai-root [hidden] { display:none !important; }
#tci-ai-root button, #tci-ai-root input, #tci-ai-root textarea { font:inherit; letter-spacing:normal; }
#tci-ai-root button { cursor:pointer; }
#tci-ai-root button:disabled { opacity:.55; cursor:not-allowed; }
#tci-ai-root button:focus-visible,#tci-ai-root input:focus-visible,#tci-ai-root textarea:focus-visible,#tci-ai-root a:focus-visible { outline:3px solid #e38b4d; outline-offset:2px; }
#tci-ai-root .tci-ai-launcher { display:flex; align-items:center; gap:11px; border:0; border-radius:60px; padding:12px 19px 12px 14px; background:var(--tci-ai-accent); box-shadow:0 13px 38px #05261a55,0 3px 10px #03170d22; color:#fff; font-weight:700; font-size:13px; min-height:56px; transition:transform .2s,box-shadow .2s; }
#tci-ai-root .tci-ai-launcher:hover { transform:translateY(-3px); box-shadow:0 18px 40px #05261a66; }
#tci-ai-root .tci-ai-launcher svg { width:24px; height:24px; flex:0 0 auto; }
#tci-ai-root .tci-ai-panel { width:min(410px,calc(100vw - 30px)); height:min(650px,calc(100dvh - 36px)); background:#fff; border-radius:20px; border:1px solid #e2eae4; box-shadow:0 23px 65px #001f173f,0 3px 16px #02160f28; display:flex; flex-direction:column; overflow:hidden; overscroll-behavior:contain; -webkit-tap-highlight-color:transparent; animation:tci-ai-enter .24s ease-out; }
@keyframes tci-ai-enter { from { opacity:0; transform:translateY(12px) scale(.98); } to { opacity:1;transform:translateY(0) scale(1); } }
#tci-ai-root .tci-ai-header { padding:15px 15px 14px; display:flex; gap:11px; align-items:center; background:linear-gradient(115deg,#073e31 0%,var(--tci-ai-accent) 110%); color:#fff; flex:0 0 auto; }
#tci-ai-root .tci-ai-brand { width:43px;height:43px; border:1px solid #ffffff70; border-radius:12px; position:relative; background:#ffffff16;display:grid;place-items:center; flex:0 0 auto; }
#tci-ai-root .tci-ai-brand-box { font-weight:800;letter-spacing:-.04em;color:#fff;font-size:17px; }
#tci-ai-root .tci-ai-brand-spark { position:absolute;bottom:5px;right:5px;width:7px;height:7px;border-radius:50%;background:var(--tci-ai-orange); }
#tci-ai-root .tci-ai-heading { min-width:0; flex:1; display:flex; flex-direction:column; gap:1px; }
#tci-ai-root .tci-ai-heading strong { font-size:15px;font-weight:800;line-height:1.4;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis; }
#tci-ai-root .tci-ai-heading small { font-size:10px;letter-spacing:0; color:#e2f4e9; }
#tci-ai-root .tci-ai-online-dot { width:7px;height:7px;display:inline-block;background:#8beeac;border-radius:100%;margin-right:4px;box-shadow:0 0 0 3px #a5f5b91c; }
#tci-ai-root .tci-ai-icon-button { display:grid;place-items:center; width:31px;height:31px; border:1px solid #ffffff55;background:transparent;color:#fff;border-radius:9px;font-size:24px;line-height:1;flex:0 0 auto;padding:0; }
#tci-ai-root .tci-ai-content { padding:16px 15px 8px; background:#f7faf8; flex:1; min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#cbdcd2 transparent; }
#tci-ai-root .tci-ai-thread { display:flex;flex-direction:column;gap:12px; }
#tci-ai-root .tci-ai-bubble { width:fit-content;max-width:94%;padding:11px 13px;white-space:pre-wrap;word-wrap:break-word;overflow-wrap:anywhere;border-radius:13px;font-size:13px;line-height:1.7; font-weight:400; }
#tci-ai-root .tci-ai-bubble-bot { background:#fff;border:1px solid #e1ebe5;color:#244537;border-top-left-radius:4px; }
#tci-ai-root .tci-ai-bubble-user { background:var(--tci-ai-accent);color:#fff;align-self:flex-end;border-top-right-radius:4px; }
#tci-ai-root .tci-ai-bubble-notice { color:#6c5b3c;background:#fffaec;border:1px solid #f6e9bd; font-size:12px; }
#tci-ai-root .tci-ai-bubble-typing { background:#eaf1ed;color:#5c7568; font-size:12px; }
#tci-ai-root .tci-ai-quick { margin:16px 0;display:grid;grid-template-columns:1fr 1fr;gap:8px; }
#tci-ai-root .tci-ai-quick button { padding:11px 8px; background:#fff;border:1px solid #d9e8df;border-radius:11px;color:#134f37;line-height:1.55;text-align:left; font-size:12px; font-weight:600; }
#tci-ai-root .tci-ai-quick button:hover { border-color:var(--tci-ai-accent); background:#f1faf5; }
#tci-ai-root .tci-ai-sources { display:flex;flex-direction:column;gap:6px;background:#eff6f1;border:1px solid #dae9de;padding:11px 12px;border-radius:12px;margin-bottom:6px; }
#tci-ai-root .tci-ai-sources small { font-size:11px;color:#557464;font-weight:600; }
#tci-ai-root .tci-ai-sources a { color:#00643e;font-size:12px; font-weight:600; text-decoration:underline;text-underline-offset:3px; }
#tci-ai-root .tci-ai-compose { padding:12px 12px 9px;display:flex;align-items:flex-end;gap:8px;border-top:1px solid #e6ede8;background:#fff;flex:0 0 auto; }
#tci-ai-root .tci-ai-compose textarea { resize:none;overflow-y:auto; max-height:110px;min-height:40px;flex:1;padding:10px 12px;border:1px solid #dce6df;border-radius:12px;background:#f7faf8;color:#193e2d;line-height:1.55;font-size:12px; outline:none; }
#tci-ai-root .tci-ai-compose textarea:focus { border-color:#3e9468;box-shadow:0 0 0 2px #268c5323; }
#tci-ai-root .tci-ai-compose button { border:0;border-radius:12px;background:var(--tci-ai-accent);color:#fff;font-size:20px;min-width:40px;height:40px;padding:0; }
#tci-ai-root .tci-ai-footer { background:#fff;text-align:center;color:#8b9990;font-size:10px;padding:1px 9px 9px;flex:0 0 auto; }
#tci-ai-root .tci-ai-lead { padding:0 1px 12px; }
#tci-ai-root .tci-ai-form-title {display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:9px;color:#153e2b;font-size:13px;}
#tci-ai-root .tci-ai-back {border:0;background:transparent;color:#12774d;font-size:11px;font-weight:600;padding:4px; }
#tci-ai-root .tci-ai-lead-form { display:flex;flex-direction:column;gap:9px; }
#tci-ai-root .tci-ai-lead-form label {display:flex;flex-direction:column;gap:4px;color:#375448;font-size:11px;font-weight:600;}
#tci-ai-root .tci-ai-lead-form label em {color:#e0503b;font-style:normal;}
#tci-ai-root .tci-ai-lead-form input:not([type=checkbox]),#tci-ai-root .tci-ai-lead-form textarea {width:100%;min-width:0;border-radius:9px;padding:9px 10px;border:1px solid #d3e1d8;background:white;color:#1a3e2f;font-size:12px;line-height:1.5;}
#tci-ai-root .tci-ai-lead-form input:focus,#tci-ai-root .tci-ai-lead-form textarea:focus {border-color:#18834e;}
#tci-ai-root .tci-ai-form-two {display:grid;grid-template-columns:1fr 1fr;gap:8px;}
#tci-ai-root .tci-ai-lead-form .tci-ai-consent {flex-direction:row;align-items:flex-start;gap:7px;font-weight:400;font-size:10px;line-height:1.5;color:#587267;}
#tci-ai-root .tci-ai-consent input {margin-top:3px;flex:0 0 auto;}
#tci-ai-root .tci-ai-consent a {color:#036c43;text-decoration:underline;}
#tci-ai-root .tci-ai-trap {position:absolute !important;left:-20000px !important;opacity:0;pointer-events:none;}
#tci-ai-root .tci-ai-submit {display:flex;justify-content:space-between;align-items:center;border:0;background:var(--tci-ai-accent);border-radius:10px;padding:11px 15px;color:white;font-weight:700;font-size:12px;}
#tci-ai-root .tci-ai-submit span {font-size:18px;}
#tci-ai-root .tci-ai-form-status { color:#944f1a;font-size:12px;margin:8px 0; }
@media(max-width:600px) {
  #tci-ai-root {right:12px;bottom:max(12px,env(safe-area-inset-bottom));}
  #tci-ai-root .tci-ai-launcher { min-width:52px;min-height:52px;padding:12px;justify-content:center; }
  #tci-ai-root .tci-ai-launcher-label {display:none;}
  #tci-ai-root .tci-ai-panel { position:fixed;inset:0 0 0 0;width:100vw;height:100dvh;max-height:none;border-radius:0;border:0; }
  #tci-ai-root .tci-ai-header {padding:14px 16px; padding-top:max(14px,env(safe-area-inset-top));}
  #tci-ai-root .tci-ai-content {padding:14px;}
  #tci-ai-root .tci-ai-compose { padding-bottom:max(10px,env(safe-area-inset-bottom)); }
  #tci-ai-root .tci-ai-footer {padding-bottom:max(7px,env(safe-area-inset-bottom));}
}
@media(prefers-reduced-motion:reduce) { #tci-ai-root *,#tci-ai-root *::before,#tci-ai-root *::after {animation:none!important;transition:none!important;} }
/* Defensive reset against global theme rules such as header{position:fixed}. */
#tci-ai-root .tci-ai-header { position:relative; inset:auto; top:auto; right:auto; bottom:auto; left:auto; width:100%; height:auto; min-height:0; pointer-events:auto; justify-content:flex-start; transition:none; }
#tci-ai-root .tci-ai-header::before { content:none !important; display:none !important; }
#tci-ai-root .tci-ai-header > * { pointer-events:auto; }

/* v1.1: preserve chat scrolling inside fullPage.js and CSS scroll-snap pages. */
#tci-ai-root .tci-ai-content, #tci-ai-root .tci-ai-lead { touch-action: pan-y; }
#tci-ai-root .tci-ai-panel { isolation: isolate; }
#tci-ai-root { -webkit-text-size-adjust: 100%; text-size-adjust: 100%; }
#tci-ai-root .tci-ai-bubble { letter-spacing: normal; line-height: 1.75; }
@media (max-width:600px) {
  html.tci-ai-chat-open { overflow:hidden !important; }
  #tci-ai-root .tci-ai-panel { overscroll-behavior: contain; }
}
