/* iHayz assistant — shell v5 (WIDGET-SHELL-SPEC). Home / Chat / Chats, tab bar, flat header, pinned request. Tokens with fallbacks. */
#ihz-chat{position:fixed;right:22px;bottom:22px;z-index:2147483000;font:15px/22px -apple-system,BlinkMacSystemFont,"Segoe UI",system-ui,sans-serif;-webkit-font-smoothing:antialiased;color:var(--n800,#292524)}
#ihz-chat *{box-sizing:border-box}
#ihz-chat svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}

/* ============================ TOKENS (2026-09-05 polish) ============================
   Every token the widget uses is DECLARED HERE, on the widget root. Before this block the rules
   read var(--n200,#e7e3dd) and inherited whatever the host page happened to call --n200, so the
   widget's look depended on the page it sat on. Declaring them locally makes the widget render
   identically on every page and makes the dark palette a single token swap at the bottom. */
#ihz-chat{
  color-scheme:light;
  --n0:#fff;--n25:#fdfcfb;--n100:#f5f3f0;--n200:#e7e3dd;--n300:#d6d1c9;
  --n400:#8a837b;                 /* muted UI (dots, chevrons, typing) - >=3:1 on --n25 */
  --n500:#78716a;                 /* secondary text - >=4.5:1 on --n0 and --n25 */
  --n600:#57534e;--n700:#44403a;--n800:#292524;--ink:#0f1c33;
  --acc:#4b3fcf;                  /* accent as a FILL (white sits on it) */
  --acc-ink:#4b3fcf;              /* accent as TEXT/ICON on a light surface */
  --acc-hover:#3d33ad;--acc-bd:#ddd8f6;--acc-soft:#f1effb;--violet-deep:#3a2fb3;--violet-ink:#4b3fcf;
  --s-violet:#efedfb;
  --mint-ink:#0f7b5f;--s-mint:#e6f6f0;--mint-bd:#bfe9d8;
  --amber-ink:#a35d00;--s-amber:#fff3df;
  --muted:#78716a;                /* placeholder text */
  --disabled-bg:#6f6862;          /* disabled control: its glyph still clears 4.5:1 */
  --ring:#f1effb;                 /* focus halo behind the composer */
}
/* ---- link scope reset ----------------------------------------------------------------
   The host page's own a{} rules (colour, underline, :visited, hover) were reaching into chat
   bubbles, source chips and quick cards. :where() keeps this at (1,0,0) so it beats any page
   rule but loses to every component rule below, which re-states its own colour. */
#ihz-chat :where(a,a:link,a:visited,a:hover,a:focus,a:active){
  color:inherit;text-decoration:none;text-decoration-color:currentColor;background-color:transparent;
  background-image:none;text-shadow:none;font-weight:inherit;font-style:normal;text-transform:none;
  letter-spacing:inherit;border-bottom:0;box-shadow:none;opacity:1}
#ihz-chat :where(button,input,textarea,select){font-family:inherit;letter-spacing:inherit}
/* iOS Safari zooms the page on focus for any field under 16px. Every field in the widget is 16px. */
#ihz-chat input,#ihz-chat textarea,#ihz-chat select{font-size:16px}
#ihz-chat ::placeholder{color:var(--muted);opacity:1}
/* launcher */
#ihz-chat .ihz-l{display:inline-flex;align-items:center;gap:9px;height:50px;padding:0 20px 0 16px;border-radius:999px;border:0;background:linear-gradient(135deg,var(--acc,#4b3fcf),var(--violet-deep,#3a2fb3));color:#fff;font:inherit;font-weight:620;font-size:14px;cursor:pointer;box-shadow:0 10px 28px -8px rgba(75,63,207,.55),0 2px 6px rgba(15,28,51,.12)}
#ihz-chat .ihz-l svg{width:19px;height:19px}
#ihz-chat.ihz-open .ihz-l{display:none}
/* panel */
#ihz-chat .ihz-p{position:absolute;right:0;bottom:0;width:400px;max-width:calc(100vw - 28px);height:620px;max-height:calc(100vh - 44px);display:flex;flex-direction:column;background:var(--n0,#fff);border:1px solid var(--n200,#e7e3dd);border-radius:20px;overflow:hidden;box-shadow:0 40px 80px -28px rgba(15,28,51,.45),0 6px 18px -8px rgba(15,28,51,.2)}
#ihz-chat .ihz-p[hidden]{display:none!important}
#ihz-chat .ihz-v[hidden]{display:none!important}
#ihz-chat .ihz-v{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
/* shared header (Chat, Chats) */
#ihz-chat .ihz-h{flex:0 0 auto;display:flex;align-items:center;gap:8px;height:56px;padding:8px 12px;background:var(--n0,#fff);border-bottom:1px solid var(--n200,#e7e3dd)}
#ihz-chat .ihz-ib{width:32px;height:32px;display:grid;place-items:center;border-radius:10px;border:0;background:none;color:var(--n600,#57534e);cursor:pointer}
#ihz-chat .ihz-ib.ihz-min{width:36px;height:36px;border-radius:999px;background:var(--n0,#fff);border:1px solid var(--n200,#e7e3dd);color:var(--ink,#0f1c33);box-shadow:0 2px 6px rgba(15,28,51,.08)}
#ihz-chat .ihz-ib.ihz-min svg{width:18px;height:18px;stroke-width:2.4}
#ihz-chat .ihz-ib.ihz-min:hover{background:var(--n100,#f5f3f0)}
#ihz-chat .ihz-hero .ihz-ib.ihz-min{margin-left:auto}
#ihz-chat .ihz-ib:hover{background:var(--n100,#f5f3f0)}
#ihz-chat .ihz-ib:focus-visible,#ihz-chat .ihz-btn:focus-visible,#ihz-chat .ihz-tab:focus-visible,#ihz-chat .ihz-qc:focus-visible{outline:2px solid var(--acc,#4b3fcf);outline-offset:2px}
#ihz-chat .ihz-id{display:flex;align-items:center;gap:10px;min-width:0;flex:1 1 auto}
#ihz-chat .ihz-ava{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;background:var(--acc-soft,#f1effb);border:1px solid var(--acc-bd,#ddd8f6);color:var(--acc-ink,#4b3fcf)}
#ihz-chat .ihz-ava svg{width:14px;height:14px}
#ihz-chat .ihz-id b{display:block;font-size:14.5px;line-height:19px;font-weight:640;color:var(--ink,#0f1c33);letter-spacing:-.005em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#ihz-chat .ihz-id small{display:block;font-size:12px;line-height:16px;font-weight:500;color:var(--n500,#78716a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#ihz-chat .ihz-h .ihz-sp{flex:1}
#ihz-chat .ihz-h .ihz-title{font-size:15px;line-height:20px;font-weight:640;color:var(--ink,#0f1c33);flex:1 1 auto}
/* overflow menu */
#ihz-chat .ihz-menu{position:absolute;right:12px;top:52px;z-index:5;min-width:232px;padding:6px;background:var(--n0,#fff);border:1px solid var(--n200,#e7e3dd);border-radius:12px;box-shadow:0 18px 40px -18px rgba(15,28,51,.35)}
#ihz-chat .ihz-menu[hidden]{display:none!important}
#ihz-chat .ihz-menu button{display:flex;align-items:center;gap:10px;width:100%;min-height:40px;padding:0 10px;border:0;background:none;border-radius:8px;font:inherit;font-size:14px;color:var(--n800,#292524);cursor:pointer;text-align:left}
#ihz-chat .ihz-menu button:hover{background:var(--n100,#f5f3f0)}
#ihz-chat .ihz-menu button svg{color:var(--n500,#78716a)}
/* HOME */
#ihz-chat .ihz-hero{flex:0 0 auto;padding:20px 20px 32px;background:var(--s-violet,#efedfb)}
#ihz-chat .ihz-hero .ihz-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}
#ihz-chat .ihz-logo{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;background:var(--acc,#4b3fcf);color:#fff}
#ihz-chat .ihz-logo svg{width:20px;height:20px;stroke-width:2.2}
#ihz-chat .ihz-hero .ihz-g1,#ihz-chat .ihz-hero .ihz-g2{font-size:22px;line-height:28px;font-weight:640;letter-spacing:-.02em}
#ihz-chat .ihz-hero .ihz-g1{color:var(--n600,#57534e)}#ihz-chat .ihz-hero .ihz-g2{color:var(--ink,#0f1c33)}
#ihz-chat .ihz-stack{flex:1 1 auto;min-height:0;overflow-y:auto;padding:0 16px 16px;margin-top:-16px;display:flex;flex-direction:column;gap:12px;background:var(--n0,#fff)}
#ihz-chat .ihz-stack::before{content:"";display:block;height:0}
#ihz-chat .ihz-card{background:var(--n0,#fff);border:1px solid var(--n200,#e7e3dd);border-radius:14px;padding:12px 14px}
#ihz-chat .ihz-card.ihz-idc{box-shadow:0 12px 30px -18px rgba(15,28,51,.25)}
#ihz-chat .ihz-idc .ihz-row{display:flex;align-items:center;justify-content:flex-start;gap:12px;padding-bottom:12px;border-bottom:1px solid var(--n200,#e7e3dd);margin-bottom:12px}
#ihz-chat .ihz-idc .ihz-row>div{flex:1 1 auto;min-width:0;text-align:left}
#ihz-chat .ihz-idc .ihz-ava{width:40px;height:40px;border-radius:12px}#ihz-chat .ihz-idc .ihz-ava svg{width:18px;height:18px}
#ihz-chat .ihz-idc .ihz-row b{display:block;font-size:15px;line-height:20px;font-weight:640;color:var(--ink,#0f1c33)}
#ihz-chat .ihz-idc .ihz-row small{display:block;font-size:12px;line-height:16px;font-weight:500;color:var(--n500,#78716a)}
#ihz-chat .ihz-btn{display:flex;align-items:center;justify-content:space-between;width:100%;height:48px;padding:0 16px;border:0;border-radius:12px;background:var(--acc,#4b3fcf);color:#fff;font:inherit;font-size:15px;font-weight:620;cursor:pointer}
#ihz-chat .ihz-btn:hover{background:var(--acc-hover,#3d33ad)}
#ihz-chat .ihz-eb{font-size:11px;line-height:14px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--n500,#78716a);margin-bottom:8px}
#ihz-chat .ihz-req{display:flex;align-items:center;flex-wrap:wrap;gap:6px 10px;padding:8px 0}
#ihz-chat .ihz-req+.ihz-req{border-top:1px solid var(--n200,#e7e3dd)}
#ihz-chat .ihz-dot{width:8px;height:8px;border-radius:999px;background:var(--n400,#a8a29a);flex:none}
#ihz-chat .ihz-dot.ihz-prog{background:var(--amber-ink,#a35d00)}#ihz-chat .ihz-dot.ihz-rep{background:var(--mint-ink,#0f7b5f)}
#ihz-chat .ihz-req .ihz-t{flex:1;min-width:0}
#ihz-chat .ihz-req b{display:block;font-size:14px;line-height:20px;font-weight:600;color:var(--ink,#0f1c33);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#ihz-chat .ihz-req small{display:block;font-size:12px;line-height:16px;color:var(--n500,#78716a)}
#ihz-chat .ihz-req a{font-size:13px;font-weight:600;color:var(--acc-ink,#4b3fcf);text-decoration:none;white-space:nowrap;margin-left:18px;flex:0 0 100%}
@media(min-width:641px){#ihz-chat .ihz-req a{flex:0 0 auto;margin-left:auto}}
#ihz-chat .ihz-mono{font-family:ui-monospace,Menlo,monospace;font-variant-numeric:tabular-nums}
#ihz-chat .ihz-qc{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 14px;border:1px solid var(--n200,#e7e3dd);border-radius:12px;background:var(--n0,#fff);font:inherit;color:var(--n800,#292524);text-decoration:none;cursor:pointer}
#ihz-chat .ihz-qc:hover{border-color:var(--acc-bd,#ddd8f6)}
#ihz-chat .ihz-qc b{display:block;font-size:14px;line-height:20px;font-weight:600;color:var(--ink,#0f1c33)}
#ihz-chat .ihz-qc small{display:block;font-size:12px;line-height:16px;color:var(--n500,#78716a)}
#ihz-chat .ihz-qc .ihz-t{flex:1}#ihz-chat .ihz-qc svg{color:var(--n500,#78716a)}
#ihz-chat .ihz-notice{background:var(--s-amber,#fff3df);border-color:transparent;color:var(--amber-ink,#a35d00);font-size:13px;line-height:20px}
/* tab bar */
#ihz-chat .ihz-tabs{flex:0 0 auto;display:flex;height:56px;border-top:1px solid var(--n200,#e7e3dd);background:var(--n0,#fff)}
#ihz-chat .ihz-tab{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;border:0;background:none;font:inherit;font-size:11px;line-height:14px;font-weight:500;color:var(--n500,#78716a);cursor:pointer}
#ihz-chat .ihz-tab.ihz-on{color:var(--acc-ink,#4b3fcf);font-weight:640}
#ihz-chat .ihz-tab.ihz-on::before{content:"";position:absolute;top:-1px;left:24%;right:24%;height:2px;background:var(--acc,#4b3fcf);border-radius:0 0 2px 2px}
#ihz-chat .ihz-tab .ihz-bd{position:absolute;top:8px;right:calc(50% - 18px);min-width:16px;height:16px;padding:0 4px;border-radius:999px;background:var(--acc,#4b3fcf);color:#fff;font-size:10px;line-height:16px;font-weight:700}
/* CHAT */
#ihz-chat .ihz-log{flex:1 1 auto;min-height:0;overflow-y:auto;padding:16px 14px 8px;display:flex;flex-direction:column;gap:16px;background:var(--n25,#fdfcfb);position:relative}
#ihz-chat .ihz-pin{position:sticky;top:-16px;z-index:2;margin:-16px -14px 0;padding:8px 14px;background:var(--n25,#fdfcfb);border-bottom:1px solid var(--n200,#e7e3dd)}
#ihz-chat .ihz-pin .ihz-hd{display:flex;align-items:center;gap:8px;min-height:28px;cursor:pointer}
#ihz-chat .ihz-pin .ihz-hd b{font-size:12px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--n500,#78716a)}
#ihz-chat .ihz-pin .ihz-hd .ihz-mono{font-size:13px;font-weight:600;color:var(--ink,#0f1c33)}
#ihz-chat .ihz-pin .ihz-hd svg{margin-left:auto;color:var(--n400,#a8a29a)}
#ihz-chat .ihz-pin .ihz-bd{padding:6px 0 4px 16px;font-size:13px;line-height:20px;color:var(--n700,#44403a)}
#ihz-chat .ihz-pin .ihz-bd div{display:flex;gap:8px}
#ihz-chat .ihz-pin .ihz-cp{margin-left:auto;font:inherit;font-size:11px;font-weight:600;padding:2px 10px;border-radius:999px;border:1px solid var(--n200,#e7e3dd);background:var(--n0,#fff);color:var(--n700,#44403a);cursor:pointer}
#ihz-chat .ihz-day{display:flex;align-items:center;gap:10px;font-size:12px;line-height:16px;color:var(--n500,#78716a)}
#ihz-chat .ihz-day::before,#ihz-chat .ihz-day::after{content:"";flex:1;height:1px;background:var(--n200,#e7e3dd)}
#ihz-chat .ihz-sys{position:relative;text-align:center;margin:4px 0;font-size:12px;line-height:16px;color:var(--n500,#78716a)}
#ihz-chat .ihz-sys::before{content:"";position:absolute;left:0;right:0;top:50%;height:1px;background:var(--n200,#e7e3dd)}
#ihz-chat .ihz-sys span{position:relative;padding:0 10px;background:var(--n25,#fdfcfb)}
#ihz-chat .ihz-sys a{color:var(--acc-ink,#4b3fcf);font-weight:600;text-decoration:none;margin-left:6px}
#ihz-chat .ihz-grp{display:flex;flex-direction:column;gap:4px;max-width:86%}
#ihz-chat .ihz-grp.ihz-me{align-self:flex-end;align-items:flex-end}
#ihz-chat .ihz-grp .ihz-who{font-size:12px;line-height:16px;color:var(--n500,#78716a);margin:0 0 2px 2px}
#ihz-chat .ihz-b{padding:11px 14px;border-radius:16px;border:1px solid var(--n200,#e7e3dd);background:var(--n0,#fff);color:var(--n800,#292524);font-size:15px;line-height:22px;overflow-wrap:anywhere}
#ihz-chat .ihz-grp.ihz-bot .ihz-b+.ihz-b{border-top-left-radius:6px}#ihz-chat .ihz-grp.ihz-bot .ihz-b:has(+.ihz-b){border-bottom-left-radius:6px}
#ihz-chat .ihz-grp.ihz-me .ihz-b{background:var(--acc,#4b3fcf);border-color:var(--acc,#4b3fcf);color:#fff}
#ihz-chat .ihz-grp.ihz-me .ihz-b+.ihz-b{border-top-right-radius:6px}#ihz-chat .ihz-grp.ihz-me .ihz-b:has(+.ihz-b){border-bottom-right-radius:6px}
#ihz-chat .ihz-meta{font-size:12px;line-height:16px;color:var(--n500,#78716a);margin:2px 0 0 2px}
#ihz-chat .ihz-src{display:inline-flex;align-items:center;gap:6px;padding:3px 10px;border-radius:999px;font-size:12px;font-weight:600;background:var(--s-mint,#e6f6f0);color:var(--mint-ink,#0f7b5f);border:1px solid var(--mint-bd,#bfe9d8);text-decoration:none;align-self:flex-start}
#ihz-chat .ihz-src::before{content:"";width:6px;height:6px;border-radius:999px;background:var(--mint-ink,#0f7b5f)}
#ihz-chat .ihz-rec{display:block;padding:12px 14px;border-radius:14px;border:1px solid var(--acc-bd,#ddd8f6);background:var(--s-violet,#efedfb);text-decoration:none}
#ihz-chat .ihz-rec .ihz-eb{color:var(--acc-ink,#4b3fcf);margin-bottom:2px}
#ihz-chat .ihz-rec b{display:block;font-size:15px;line-height:20px;color:var(--ink,#0f1c33)}
#ihz-chat .ihz-rec i{font-style:normal;font-size:12px;line-height:16px;color:var(--n600,#57534e);font-variant-numeric:tabular-nums}
#ihz-chat .ihz-chips{display:flex;flex-wrap:wrap;gap:6px}
#ihz-chat .ihz-chips a{font-size:12.5px;font-weight:600;padding:6px 12px;border-radius:999px;background:var(--n0,#fff);color:var(--acc-ink,#4b3fcf);text-decoration:none;border:1px solid var(--acc-bd,#ddd8f6)}
#ihz-chat .ihz-quote{align-self:stretch;padding:10px 12px;border-left:3px solid var(--acc,#4b3fcf);border-radius:0 10px 10px 0;background:var(--s-violet,#efedfb);color:var(--n700,#44403a);font-size:13px;line-height:20px}
#ihz-chat .ihz-quote .ihz-eb{color:var(--acc-ink,#4b3fcf);margin-bottom:2px}
/* was an inline style="...color:var(--acc)..." in chat.js, which no stylesheet could re-colour for dark */
#ihz-chat .ihz-qedit{font:inherit;font-size:12px;font-weight:600;background:none;border:0;padding:0;color:var(--acc-ink,#4b3fcf);cursor:pointer;text-decoration:underline}
#ihz-chat .ihz-pv{align-self:stretch;padding:12px 14px;border-radius:14px;border:1px solid var(--acc-bd,#ddd8f6);background:var(--n0,#fff)}
#ihz-chat .ihz-pv .ihz-eb{color:var(--acc-ink,#4b3fcf)}
#ihz-chat .ihz-pv textarea{width:100%;font:inherit;font-size:16px;line-height:22px;padding:10px 12px;border:1px solid var(--n200,#e7e3dd);border-radius:10px;background:var(--n25,#fdfcfb);resize:none;color:var(--n800,#292524)}
#ihz-chat .ihz-pv dl{display:grid;grid-template-columns:auto 1fr;gap:4px 12px;margin:10px 0 0;font-size:12.5px;line-height:18px}
#ihz-chat .ihz-pv dt{color:var(--n500,#78716a)}#ihz-chat .ihz-pv dd{margin:0;color:var(--n800,#292524)}
#ihz-chat .ihz-pv .ihz-btn{height:44px;justify-content:center;margin-top:12px}
#ihz-chat .ihz-typing{display:inline-flex;gap:4px;align-items:center;height:10px}
#ihz-chat .ihz-typing i{width:6px;height:6px;border-radius:999px;background:var(--n400,#a8a29a);animation:bl 1.1s infinite}
#ihz-chat .ihz-typing i:nth-child(2){animation-delay:.18s}#ihz-chat .ihz-typing i:nth-child(3){animation-delay:.36s}
@keyframes bl{0%,100%{opacity:.25;transform:translateY(0)}50%{opacity:1;transform:translateY(-2px)}}
#ihz-chat .ihz-vh{position:absolute;clip:rect(1px,1px,1px,1px);width:1px;height:1px;overflow:hidden}
/* suggestions + composer */
#ihz-chat .ihz-sugg{flex:0 0 auto;display:flex;gap:6px;padding:6px 14px 8px;background:var(--n25,#fdfcfb);overflow-x:auto;scrollbar-width:none}
#ihz-chat .ihz-sugg::-webkit-scrollbar{display:none}
#ihz-chat .ihz-sugg button{flex:none;font:inherit;font-size:12.5px;padding:7px 12px;border-radius:999px;border:1px solid var(--n200,#e7e3dd);background:var(--n0,#fff);color:var(--n700,#44403a);cursor:pointer}
#ihz-chat .ihz-comp{flex:0 0 auto;display:flex;align-items:flex-end;gap:8px;padding:10px 12px;background:var(--n0,#fff);border-top:1px solid var(--n200,#e7e3dd)}
#ihz-chat .ihz-comp .ihz-fld{flex:1;display:flex;align-items:flex-end;min-height:44px;padding:4px 4px 4px 14px;border:1px solid var(--n200,#e7e3dd);border-radius:14px;background:var(--n25,#fdfcfb)}
#ihz-chat .ihz-comp .ihz-fld:focus-within{border-color:var(--acc,#4b3fcf);box-shadow:0 0 0 3px var(--ring,#f1effb);background:var(--n0,#fff)}
#ihz-chat .ihz-comp textarea{flex:1;font:inherit;font-size:16px;line-height:22px;padding:7px 0;border:0;background:none;outline:none;min-width:0;color:var(--n800,#292524);resize:none;max-height:120px;overflow-y:auto;overflow-wrap:anywhere}
#ihz-chat .ihz-send{width:36px;height:36px;border-radius:10px;border:0;background:var(--acc,#4b3fcf);color:#fff;display:grid;place-items:center;cursor:pointer}
#ihz-chat .ihz-send:disabled{background:var(--disabled-bg,#6f6862);cursor:not-allowed}
#ihz-chat .ihz-foot{flex:0 0 auto;padding:6px 14px 8px;font-size:11px;line-height:14px;color:var(--n500,#78716a);text-align:center;background:var(--n0,#fff)}
#ihz-chat .ihz-foot a{color:var(--acc-ink,#4b3fcf);font-weight:600;text-decoration:none}
/* CHATS */
#ihz-chat .ihz-seg{display:inline-flex;padding:3px;border-radius:999px;background:var(--n100,#f5f3f0);margin:12px 16px 0}
#ihz-chat .ihz-seg button{font:inherit;font-size:12.5px;font-weight:600;padding:6px 14px;border:0;border-radius:999px;background:none;color:var(--n500,#78716a);cursor:pointer}
#ihz-chat .ihz-seg button.ihz-on{background:var(--n0,#fff);color:var(--ink,#0f1c33);box-shadow:0 1px 3px rgba(15,28,51,.12)}
#ihz-chat .ihz-list{flex:1 1 auto;min-height:0;overflow-y:auto;padding:12px 16px 16px;display:flex;flex-direction:column;gap:8px}
#ihz-chat .ihz-th{display:flex;gap:12px;width:100%;text-align:left;padding:12px 14px;border:1px solid var(--n200,#e7e3dd);border-radius:14px;background:var(--n0,#fff);font:inherit;cursor:pointer}
#ihz-chat .ihz-th:hover{border-color:var(--acc-bd,#ddd8f6)}
#ihz-chat .ihz-th.ihz-cur{background:var(--s-violet,#efedfb);border-color:var(--acc-bd,#ddd8f6)}
#ihz-chat .ihz-th .ihz-ava{width:32px;height:32px}
#ihz-chat .ihz-th .ihz-t{flex:1;min-width:0}
#ihz-chat .ihz-th b{display:block;font-size:14.5px;line-height:20px;font-weight:600;color:var(--ink,#0f1c33);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#ihz-chat .ihz-th p{margin:1px 0 0;font-size:13px;line-height:18px;color:var(--n600,#57534e);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#ihz-chat .ihz-th small{display:flex;gap:8px;align-items:center;margin-top:4px;font-size:12px;line-height:16px;color:var(--n500,#78716a)}
#ihz-chat .ihz-th small em{font-style:normal;padding:0 7px;border-radius:999px;background:var(--s-mint,#e6f6f0);color:var(--mint-ink,#0f7b5f);border:1px solid var(--mint-bd,#bfe9d8);font-size:11px;font-weight:600}
#ihz-chat .ihz-th .ihz-when{font-size:12px;color:var(--n500,#78716a);white-space:nowrap}
#ihz-chat .ihz-cnew{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px 12px 12px 14px;border:1px solid var(--acc-bd,#ddd8f6);border-radius:14px;background:var(--n0,#fff);font:inherit;cursor:pointer;box-shadow:0 12px 30px -18px rgba(15,28,51,.25);transition:border-color .15s,transform .15s}
#ihz-chat .ihz-cnew:hover{border-color:var(--acc,#4b3fcf);transform:translateY(-1px)}
#ihz-chat .ihz-cnew .ihz-ava{width:36px;height:36px;border-radius:12px}#ihz-chat .ihz-cnew .ihz-ava svg{width:16px;height:16px}
#ihz-chat .ihz-cnew .ihz-t{flex:1;min-width:0}
#ihz-chat .ihz-cnew b{display:block;font-size:15px;line-height:20px;font-weight:640;color:var(--ink,#0f1c33)}
#ihz-chat .ihz-cnew small{display:block;font-size:12px;line-height:16px;color:var(--n500,#78716a);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#ihz-chat .ihz-cnew .ihz-go{width:36px;height:36px;border-radius:999px;display:grid;place-items:center;background:var(--acc,#4b3fcf);color:#fff;flex:none}
#ihz-chat .ihz-empty{margin:auto 0;padding:24px 20px;text-align:center}
#ihz-chat .ihz-empty .ihz-gl{display:grid;place-items:center;width:52px;height:52px;margin:0 auto 12px;border-radius:16px;background:var(--n100,#f5f3f0);color:var(--n300,#d6d1c9)}
#ihz-chat .ihz-empty .ihz-gl svg{width:24px;height:24px}
#ihz-chat .ihz-empty b{display:block;font-size:15px;line-height:20px;font-weight:640;color:var(--ink,#0f1c33)}
#ihz-chat .ihz-empty p{margin:6px auto 16px;max-width:30ch;font-size:13px;line-height:20px;color:var(--n600,#57534e)}
/* ---- launcher clearance ---------------------------------------------------------------
   The launcher is fixed to the bottom-right corner, so on a phone it used to sit on top of
   whatever the page ended with: footer links, nav pills, the last offer card. chat.js stamps
   .ihz-launcher-room on <body> once the widget has actually mounted, and the page then reserves
   the strip the launcher occupies (safe-area included) so nothing terminal is ever trapped under it. */
body.ihz-launcher-room{padding-bottom:calc(84px + env(safe-area-inset-bottom))}
/* mobile */
@media(max-width:640px){
  #ihz-chat{right:12px;bottom:calc(16px + env(safe-area-inset-bottom))}
  /* smaller pill on a 390px screen: 89x50 -> 78x44, which is what shrinks the collision zone */
  #ihz-chat .ihz-l{height:44px;padding:0 16px 0 13px;font-size:13.5px;gap:8px}
  #ihz-chat .ihz-l svg{width:18px;height:18px}
  #ihz-chat .ihz-nudge{bottom:54px}
  body.ihz-launcher-room{padding-bottom:calc(76px + env(safe-area-inset-bottom))}
  #ihz-chat .ihz-p{position:fixed;inset:0;width:auto;max-width:none;height:100dvh;max-height:none;border:0;border-radius:0}
  #ihz-chat .ihz-h{padding-top:max(8px,env(safe-area-inset-top))}
  #ihz-chat .ihz-hero{padding-top:max(20px,env(safe-area-inset-top))}
  #ihz-chat .ihz-tabs{height:calc(56px + env(safe-area-inset-bottom));padding-bottom:env(safe-area-inset-bottom)}
  #ihz-chat .ihz-foot{display:none}
  #ihz-chat .ihz-chips,#ihz-chat .ihz-sugg{flex-wrap:nowrap;overflow-x:auto}
  #ihz-chat .ihz-chips a{flex:none;white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){#ihz-chat .ihz-typing i{animation:none}}

/* outage card (the only form card) */
#ihz-chat .ihz-lead{align-self:stretch;padding:14px;border-radius:14px;border:1px solid var(--acc-bd,#ddd8f6);background:var(--n0,#fff)}
#ihz-chat .ihz-lead b{display:block;font-size:15px;line-height:20px;font-weight:640;color:var(--ink,#0f1c33)}
#ihz-chat .ihz-lead p{margin:4px 0 10px;font-size:13px;line-height:20px;color:var(--n600,#57534e)}
#ihz-chat .ihz-lead form{display:flex;flex-direction:column;gap:8px}
#ihz-chat .ihz-lead textarea,#ihz-chat .ihz-lead input{font:inherit;font-size:16px;padding:10px 12px;border:1px solid var(--n200,#e7e3dd);border-radius:10px;background:var(--n25,#fdfcfb);color:var(--n800,#292524);outline:none}
#ihz-chat .ihz-lead textarea:focus,#ihz-chat .ihz-lead input:focus{border-color:var(--acc,#4b3fcf)}
#ihz-chat .ihz-lead .ihz-hp{position:absolute;left:-9999px;opacity:0;height:0}
#ihz-chat .ihz-lead .ihz-btn{height:44px;justify-content:center}
/* nudge */
#ihz-chat .ihz-nudge{position:absolute;right:0;bottom:62px;width:max-content;max-width:min(320px,calc(100vw - 32px));display:flex;gap:10px;align-items:flex-start;text-align:left;padding:12px 12px 12px 14px;border-radius:14px;border:1px solid var(--n200,#e7e3dd);background:var(--n0,#fff);color:var(--n800,#292524);font:inherit;font-size:13px;line-height:20px;cursor:pointer;box-shadow:0 18px 40px -18px rgba(15,28,51,.35)}
#ihz-chat .ihz-nudge span{flex:1 1 auto;min-width:0}#ihz-chat .ihz-nudge i{flex:none;font-style:normal;color:var(--n500,#78716a);font-size:16px;line-height:1;padding:0 2px}
#ihz-chat .ihz-l .ihz-bd{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--mint-ink,#0f7b5f);color:var(--n0,#fff);font-size:11px;line-height:18px;font-weight:700;border:2px solid #fff}
#ihz-chat .ihz-l{position:relative}
#ihz-chat .ihz-sys[hidden],#ihz-chat .ihz-sugg[hidden],#ihz-chat .ihz-pin .ihz-bd[hidden]{display:none!important}
#ihz-chat .ihz-pin .ihz-hd svg{transition:transform .18s}
#ihz-chat .ihz-pin.ihz-flash{box-shadow:0 0 0 2px var(--acc,#4b3fcf) inset}
#ihz-chat .ihz-grp{animation:msg .2s ease both}@keyframes msg{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
#ihz-chat .ihz-p{animation:pin .22s cubic-bezier(.2,.8,.2,1)}@keyframes pin{from{opacity:0;transform:translateY(10px) scale(.97)}to{opacity:1;transform:none}}
@media(max-width:640px){#ihz-chat .ihz-p{animation:none}}
@media(prefers-reduced-motion:reduce){#ihz-chat .ihz-grp,#ihz-chat .ihz-p{animation:none}}

/* ======================= DARK (2026-09-05 polish) =======================
   Before this block the widget had no dark treatment at all: under prefers-color-scheme:dark it
   painted the same near-white palette, and the elements that were already thin in light (12px
   timestamps and the disabled send button on --n400) failed AA there too. The panel is a
   self-contained overlay with its own token set, so dark is one token swap plus the handful of
   places that hard-coded a light value. A page can opt out with <html data-theme="light">.
   Measured (see the polish run): body text 14.4:1 · secondary 7.6:1 · timestamps 8.2:1 ·
   source chip 7.7:1 · accent text 8.3:1 · placeholder 8.2:1 · disabled send glyph 5.5:1. */
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]) #ihz-chat{
    color-scheme:dark;
    --n0:#1e1b1a;--n25:#161413;--n100:#2b2724;--n200:#3b3633;--n300:#4d4744;
    --n400:#9a938b;--n500:#b3aca4;--n600:#cdc6be;--n700:#ded8d1;--n800:#efebe6;--ink:#faf8f5;
    --acc:#6d5df0;--acc-ink:#b5aaff;--acc-hover:#7f70f5;--acc-bd:#3f3a6b;--acc-soft:#26233a;
    --violet-deep:#5849d6;--violet-ink:#b5aaff;--s-violet:#232041;
    --mint-ink:#6fd8ae;--s-mint:#10352b;--mint-bd:#1e5c47;
    --amber-ink:#f0c078;--s-amber:#3a2a12;
    --muted:#b3aca4;--disabled-bg:#6f6862;--ring:rgba(109,93,240,.35);
  }
  /* the few values that never went through a token */
  :root:not([data-theme="light"]) #ihz-chat .ihz-logo,
  :root:not([data-theme="light"]) #ihz-chat .ihz-btn,
  :root:not([data-theme="light"]) #ihz-chat .ihz-send,
  :root:not([data-theme="light"]) #ihz-chat .ihz-cnew .ihz-go,
  :root:not([data-theme="light"]) #ihz-chat .ihz-tab .ihz-bd,
  :root:not([data-theme="light"]) #ihz-chat .ihz-grp.ihz-me .ihz-b{color:#fff}
  :root:not([data-theme="light"]) #ihz-chat .ihz-seg button.ihz-on{box-shadow:0 1px 3px rgba(0,0,0,.5)}
  :root:not([data-theme="light"]) #ihz-chat .ihz-card.ihz-idc,
  :root:not([data-theme="light"]) #ihz-chat .ihz-cnew{box-shadow:0 12px 30px -18px rgba(0,0,0,.7)}
  :root:not([data-theme="light"]) #ihz-chat .ihz-p{box-shadow:0 40px 80px -28px rgba(0,0,0,.8),0 6px 18px -8px rgba(0,0,0,.6)}
  :root:not([data-theme="light"]) #ihz-chat .ihz-ib.ihz-min{box-shadow:0 2px 6px rgba(0,0,0,.5)}
}

/* ihayz.net (30 Sep 2026): the site has its own light/dark switch (html[data-theme]); the same dark tokens apply when it is set to dark. */

  html[data-theme="dark"] #ihz-chat{
    color-scheme:dark;
    --n0:#1e1b1a;--n25:#161413;--n100:#2b2724;--n200:#3b3633;--n300:#4d4744;
    --n400:#9a938b;--n500:#b3aca4;--n600:#cdc6be;--n700:#ded8d1;--n800:#efebe6;--ink:#faf8f5;
    --acc:#6d5df0;--acc-ink:#b5aaff;--acc-hover:#7f70f5;--acc-bd:#3f3a6b;--acc-soft:#26233a;
    --violet-deep:#5849d6;--violet-ink:#b5aaff;--s-violet:#232041;
    --mint-ink:#6fd8ae;--s-mint:#10352b;--mint-bd:#1e5c47;
    --amber-ink:#f0c078;--s-amber:#3a2a12;
    --muted:#b3aca4;--disabled-bg:#6f6862;--ring:rgba(109,93,240,.35);
  }
  /* the few values that never went through a token */
  html[data-theme="dark"] #ihz-chat .ihz-logo,
  html[data-theme="dark"] #ihz-chat .ihz-btn,
  html[data-theme="dark"] #ihz-chat .ihz-send,
  html[data-theme="dark"] #ihz-chat .ihz-cnew .ihz-go,
  html[data-theme="dark"] #ihz-chat .ihz-tab .ihz-bd,
  html[data-theme="dark"] #ihz-chat .ihz-grp.ihz-me .ihz-b{color:#fff}
  html[data-theme="dark"] #ihz-chat .ihz-seg button.ihz-on{box-shadow:0 1px 3px rgba(0,0,0,.5)}
  html[data-theme="dark"] #ihz-chat .ihz-card.ihz-idc,
  html[data-theme="dark"] #ihz-chat .ihz-cnew{box-shadow:0 12px 30px -18px rgba(0,0,0,.7)}
  html[data-theme="dark"] #ihz-chat .ihz-p{box-shadow:0 40px 80px -28px rgba(0,0,0,.8),0 6px 18px -8px rgba(0,0,0,.6)}
  html[data-theme="dark"] #ihz-chat .ihz-ib.ihz-min{box-shadow:0 2px 6px rgba(0,0,0,.5)}

