/* Marketing-owned support panel. Shared palette and type remain token-driven. */
.support-chat { --support-chat-bottom:16px; --support-chat-viewport-height:100dvh; --support-chat-keyboard-gap:0px; font-family:var(--ts-font-sans); color:var(--ts-ink); }
.support-chat [hidden] { display:none !important; }
.support-chat button, .support-chat a, .support-chat textarea { -webkit-tap-highlight-color:transparent; }
.support-chat button { cursor:pointer; font:inherit; }
.support-chat button:disabled { cursor:default; opacity:.55; }
.support-chat :is(button,a,textarea):focus-visible { outline:3px solid var(--ts-accent); outline-offset:3px; }
.support-chat__launcher { position:fixed; z-index:var(--ts-z-overlay,200); right:max(16px,env(safe-area-inset-right)); bottom:calc(var(--support-chat-bottom) + env(safe-area-inset-bottom)); display:inline-flex; align-items:center; justify-content:center; gap:10px; max-width:calc(100vw - 32px); min-height:50px; padding:12px 19px; border:1px solid var(--ts-rule); border-radius:999px; background:var(--ts-surface); color:var(--ts-ink); box-shadow:var(--ts-shadow-md); font-size:14px; font-weight:700; line-height:1.25; text-decoration:none; transition:background .15s ease,box-shadow .15s ease; }
.support-chat__launcher svg { flex:none; color:var(--ts-accent); }
.support-chat__launcher:hover { background:var(--ts-surface-raised); text-decoration:none; box-shadow:var(--ts-shadow-md),0 0 0 2px var(--ts-accent-a10); }
.support-chat__panel { position:fixed; inset:auto 24px calc(24px + var(--support-chat-keyboard-gap)) auto; box-sizing:border-box; width:440px; max-width:calc(100vw - 32px); height:min(730px,calc(var(--support-chat-viewport-height) - 48px)); max-height:calc(var(--support-chat-viewport-height) - 48px); margin:0; padding:0; border:1px solid var(--ts-rule); border-radius:22px; background:var(--ts-surface); color:var(--ts-ink); box-shadow:0 24px 70px var(--ts-black-a22),var(--ts-shadow-md); overflow:hidden; }
.support-chat__panel[open] { display:grid; grid-template-rows:auto minmax(0,1fr) auto auto auto; }
.support-chat__panel::backdrop { background:rgb(0 0 0 / 14%); }
.support-chat__header { display:flex; align-items:center; gap:12px; padding:18px 18px 16px; border-bottom:1px solid var(--ts-rule-soft); }
.support-chat__brand { display:grid; place-items:center; flex:none; width:42px; height:42px; border:1px solid var(--ts-rule-soft); border-radius:13px; background:var(--ts-surface-raised); }
.support-chat__brand img { display:block; width:26px; height:26px; }
.support-chat__heading { flex:1; min-width:0; }
.support-chat__heading h2 { margin:0; font-size:16px; line-height:1.3; font-weight:750; letter-spacing:-.02em; }
.support-chat__heading p { margin:3px 0 0; color:var(--ts-ink-soft); font-size:11px; line-height:1.4; }
.support-chat__icon-button { display:grid; place-items:center; flex:none; width:44px; height:44px; padding:0; color:var(--ts-ink-soft); background:transparent; border:0; border-radius:12px; }
.support-chat__icon-button:hover { background:var(--ts-surface-raised); }
.support-chat__body { min-height:0; padding:18px 20px 8px; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.support-chat__welcome { padding:0; }
.support-chat__welcome h3 { margin:6px 0 9px; font-size:27px; font-weight:650; line-height:1.12; letter-spacing:-.035em; }
.support-chat__welcome > p:not(.support-chat__eyebrow) { margin:0; color:var(--ts-ink-soft); font-size:13px; line-height:1.55; }
.support-chat__eyebrow { margin:0; color:var(--ts-ink-soft); font-size:10px; letter-spacing:.1em; text-transform:uppercase; font-weight:700; }
.support-chat__prompts { display:grid; gap:6px; margin-top:12px; }
.support-chat__prompts button { display:flex; align-items:center; justify-content:space-between; gap:12px; min-height:44px; padding:10px 13px; border:1px solid var(--ts-rule); border-radius:11px; background:var(--ts-surface); color:var(--ts-ink); font-size:12px; line-height:1.4; text-align:left; }
.support-chat__prompts button:hover { border-color:var(--ts-accent); background:var(--ts-accent-a05); }
.support-chat__prompts button span { color:var(--ts-ink-soft); }
.support-chat__messages { display:grid; gap:18px; margin:0; padding:0; list-style:none; }
.support-chat__message { min-width:0; max-width:100%; padding:0; font-size:13px; line-height:1.65; overflow-wrap:anywhere; }
.support-chat__message p { margin:4px 0 0; white-space:pre-wrap; }
.support-chat__speaker { display:block; font-size:10px; line-height:1.35; color:var(--ts-ink-soft); font-weight:750; letter-spacing:.02em; }
.support-chat__message--user { justify-self:end; max-width:92%; padding:10px 13px; border:1px solid var(--ts-rule-soft); border-radius:14px 14px 4px 14px; background:var(--ts-surface-raised); }
.support-chat__message--assistant { padding:0 4px; }
.support-chat__sources { display:flex; flex-wrap:wrap; gap:6px; list-style:none; margin:12px 0 0; padding:0; }
.support-chat__sources a { display:inline-flex; align-items:center; min-height:38px; padding:7px 10px; border:1px solid var(--ts-rule); border-radius:9px; background:var(--ts-surface); color:var(--ts-ink); font-size:11px; line-height:1.4; text-decoration:none; }
.support-chat__sources a:hover { border-color:var(--ts-accent); text-decoration:underline; }
.support-chat__status-row { display:flex; align-items:center; gap:8px; min-height:32px; padding:0 20px 4px; }
.support-chat__status { flex:1; min-width:0; margin:0; color:var(--ts-ink-soft); font-size:11px; line-height:1.45; }
.support-chat--busy .support-chat__status::before { content:""; display:inline-block; width:6px; height:6px; margin-right:7px; border-radius:50%; background:var(--ts-accent); }
.support-chat__text-button { min-height:38px; padding:5px 0; border:0; background:transparent; color:var(--ts-ink); font-size:11px !important; font-weight:650 !important; line-height:1.35; text-align:left; text-decoration:underline; text-decoration-color:var(--ts-rule); text-underline-offset:3px; }
.support-chat__text-button:hover { text-decoration-color:currentColor; }
.support-chat__form { margin:0; padding:0 20px 12px; }
.support-chat__input-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.support-chat__composer { display:flex; align-items:flex-end; gap:8px; padding:8px; border:1px solid var(--ts-rule); border-radius:14px; background:var(--ts-surface); transition:border-color .15s; }
.support-chat__composer:focus-within { border-color:var(--ts-accent); box-shadow:0 0 0 2px var(--ts-accent-a10); }
.support-chat__composer textarea { flex:1; min-width:0; min-height:42px; max-height:110px; margin:0; padding:3px 3px 0; border:0; background:transparent; color:var(--ts-ink); font:400 14px/1.45 var(--ts-font-sans); resize:none; outline:none; }
.support-chat__composer textarea:focus-visible { outline:none; }
.support-chat__composer textarea::placeholder { color:var(--ts-muted); opacity:1; }
.support-chat__send { display:grid; place-items:center; flex:none; width:44px; height:44px; padding:0; border:0; border-radius:10px; background:var(--ts-green,#047e3d); color:#fff; }
.support-chat__disclosure { margin:9px 0 0; color:var(--ts-ink-soft); font-size:11px; line-height:1.5; }
.support-chat__session { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-top:2px; color:var(--ts-ink-soft); font-size:10px; line-height:1.4; }
.support-chat__session .support-chat__text-button { flex:none; }
.support-chat__human { padding:12px 20px 13px; border-top:1px solid var(--ts-rule); background:var(--ts-surface-raised); }
.support-chat__human-heading { display:flex; align-items:center; justify-content:space-between; gap:8px; margin-bottom:7px; font-size:11px; line-height:1.4; }
.support-chat__human-heading > span { font-weight:700; }
.support-chat__human-heading .support-chat__text-button { min-height:28px; }
.support-chat .support-chat__whatsapp { display:flex; justify-content:space-between; align-items:center; gap:10px; width:100%; min-height:44px; padding:10px 13px; border:1px solid var(--ts-rule); border-radius:11px; background:var(--ts-surface); color:var(--ts-ink); font-size:12px; font-weight:700; line-height:1.4; text-align:left; text-decoration:none; box-sizing:border-box; }
.support-chat__whatsapp:hover { border-color:var(--ts-accent); text-decoration:none; }
.support-chat__human-note { margin:6px 0 0; color:var(--ts-ink-soft); font-size:10px; line-height:1.4; }
.support-chat__summary-box { margin:8px 0 12px; }
.support-chat__summary-box label { display:block; margin-bottom:7px; font-size:12px; font-weight:650; }
.support-chat__summary-box textarea { display:block; width:100%; min-height:85px; max-height:145px; padding:10px 12px; border:1px solid var(--ts-rule); border-radius:10px; background:var(--ts-surface); color:var(--ts-ink); font:400 14px/1.5 var(--ts-font-sans); resize:vertical; box-sizing:border-box; }
.support-chat__summary-box p { margin:7px 0 0; color:var(--ts-ink-soft); font-size:11px; line-height:1.5; }
.support-chat--handoff .support-chat__panel[open] { height:auto; grid-template-rows:auto minmax(0,1fr); }
.support-chat--handoff :is(.support-chat__body,.support-chat__status-row,.support-chat__form) { display:none; }
.support-chat--handoff .support-chat__human { overflow:auto; }
.support-contact__actions { display:flex; flex-wrap:wrap; align-items:center; gap:9px; min-width:0; max-width:100%; }
.support-contact__actions .btn { min-height:44px; min-width:0; max-width:100%; white-space:normal; line-height:1.4; text-align:center; }
.support-contact__actions .btn::after { content:none; }
@media (max-width:600px) {
  /* Long localized route labels must not expand the mobile layout viewport. */
  .support-page .support-route-grid { grid-template-columns:minmax(0,1fr); }
  .support-page .support-route { min-width:0; }
  .support-page .support-route :is(strong,p) { max-width:100%; overflow-wrap:anywhere; }
  .support-chat__launcher { right:max(12px,env(safe-area-inset-right)); font-size:13px; min-height:48px; padding:11px 15px; }
  .support-chat__panel { inset:auto 0 var(--support-chat-keyboard-gap) 0; width:100%; max-width:100%; height:calc(var(--support-chat-viewport-height) - 12px); max-height:calc(var(--support-chat-viewport-height) - 12px); border-radius:20px 20px 0 0; }
  .support-chat__header { padding:12px 14px 11px; }
  .support-chat__heading h2 { font-size:15px; }
  .support-chat__heading p { font-size:10px; }
  .support-chat__brand { width:37px; height:37px; }
  .support-chat__body { padding:20px 16px 10px; }
  .support-chat__status-row { padding-inline:16px; }
  .support-chat__form { padding:0 16px 8px; }
  .support-chat__composer textarea,.support-chat__summary-box textarea { font-size:16px; }
  .support-chat__human { padding:9px 16px max(10px,env(safe-area-inset-bottom)); }
  .support-chat__human-heading { margin-bottom:4px; }
  .support-chat__disclosure { font-size:11px; }
  .support-chat__human-note { font-size:10px; }
  .support-chat__session { font-size:10px; }
  .support-contact__actions { width:100%; }
  .support-contact__actions .btn { justify-content:center; }
}
@media (prefers-reduced-motion:reduce) { .support-chat * { transition:none !important; scroll-behavior:auto !important; } }
@media print { .support-chat { display:none; } }
