/* Tevos chat - shared styles for /assistant and the floating widget. Scoped to .tc */
.tc{--tc-em:var(--emerald,#11D389);--tc-am:var(--amber,#FF9F0A);--tc-bg:var(--bg,#0b0c0f);--tc-ink:var(--ink,#fff);--tc-sub:var(--ink-sub,#a8acb4);--tc-mute:var(--ink-mute,#8a8f98);--tc-soft:var(--tvx-soft,#14161a);--tc-line:var(--line,rgba(128,128,128,.28));--tc-f:var(--font,system-ui,sans-serif);--tc-m:var(--mono,ui-monospace,monospace);--tc-surf:var(--tc-soft);--tc-bub:var(--tc-bg);
  display:flex;flex-direction:column;min-height:0;font-family:var(--tc-f);color:var(--tc-ink);font-size:15px;line-height:1.55;background:var(--tc-surf);border:1px solid var(--tc-line);border-radius:var(--r-card,20px);overflow:hidden}
.tc *,.tc *::before,.tc *::after{box-sizing:border-box}
.tc-w{--tc-surf:var(--tc-bg);--tc-bub:var(--tc-soft);border:0;border-radius:0;height:100%}
.tc button,.tc textarea{font-family:inherit}
.tc button:focus-visible,.tc textarea:focus-visible,.tc a:focus-visible{outline:2px solid var(--tc-em);outline-offset:2px}

/* header */
.tc-h{display:flex;align-items:center;gap:.7rem;padding:.7rem 1rem;border-bottom:1px solid var(--tc-line);flex:none}
.tc-av{flex:none;width:32px;height:32px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:linear-gradient(135deg,var(--tc-em),#0aa468);color:#06150e}
.tc-av-l{width:52px;height:52px}
.tc-ht{flex:1;min-width:0;display:flex;flex-direction:column;line-height:1.25}
.tc-ht b{font-size:15px}
.tc-live{display:inline-flex;align-items:center;gap:.4rem;font-size:13px;color:var(--tc-sub)}
.tc-live i{width:7px;height:7px;border-radius:50%;background:var(--tc-em);box-shadow:0 0 0 0 color-mix(in srgb,var(--tc-em) 60%,transparent);animation:tc-pulse 2.4s infinite}
.tc-full{font-size:13px;color:var(--tc-sub);text-decoration:underline;padding:.6rem .3rem;min-height:44px;display:inline-flex;align-items:center}
.tc-x{background:none;border:0;color:var(--tc-sub);font-size:1.6rem;line-height:1;cursor:pointer;width:44px;height:44px;border-radius:50%}
.tc-x:hover{background:var(--tc-line)}

/* log */
.tc-logw{position:relative;flex:1 1 0;min-height:0;display:flex;flex-direction:column}
.tc-log{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;overflow-anchor:none;padding:1rem}
.tc-inner{width:100%;max-width:760px;margin:0 auto;display:flex;flex-direction:column;gap:1rem;min-height:100%}
.tc-jump{position:absolute;left:50%;bottom:.7rem;transform:translateX(-50%);z-index:2;min-height:36px;padding:0 1rem;border-radius:999px;border:1px solid var(--tc-line);background:var(--tc-ink);color:var(--tc-bg);font-size:13.5px;font-weight:600;cursor:pointer;box-shadow:0 4px 14px rgba(0,0,0,.25)}
.tc-jump[hidden]{display:none}
.tc-skip{background:none;border:0;color:var(--tc-sub);font-size:13px;text-decoration:underline;cursor:pointer;min-height:32px;padding:0;margin-top:.2rem}
.tc-fw{animation:tc-fw .12s ease-out both}
.tc-prose{transition:opacity .11s}.tc-xf{opacity:0}
.tc-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.tc-in2{animation:tc-rise .25s ease-out both}
@keyframes tc-fw{from{opacity:0}to{opacity:1}}
.tc-row{display:flex;gap:.65rem;max-width:100%;width:100%;animation:tc-rowin .22s ease-out both}
.tc-ru{justify-content:flex-end}

.tc-ub{max-width:85%;background:var(--tc-em);color:#06150e;padding:.6rem .95rem;border-radius:18px 18px 4px 18px;font-weight:500;overflow-wrap:anywhere}
.tc-ra .tc-av{margin-top:2px}
.tc-body{flex:1 1 0;min-width:0;background:var(--tc-bub);border:1px solid var(--tc-line);border-radius:4px 18px 18px 18px;padding:.8rem 1rem;overflow-wrap:anywhere}
.tc-body.tc-decline{border-color:color-mix(in srgb,var(--tc-am) 55%,var(--tc-line))}

/* stage list */
.tc-steps{margin-bottom:.1rem}
.tc-sl{list-style:none;margin:0;padding:0;display:grid;gap:.4rem;font-size:14px;color:var(--tc-sub)}
.tc-sl[hidden]{display:none}
.tc-sl li{display:flex;align-items:center;gap:.6rem;min-height:22px}
.tc-sl li.on{color:var(--tc-ink)}
.tc-sd{color:var(--tc-mute);font-size:13px}
.tc-sd::before{content:"\00b7";margin-right:.5rem}
.tc-ic{flex:none;width:16px;height:16px;border-radius:50%;position:relative}
.on>.tc-ic{border:2px solid var(--tc-line);border-top-color:var(--tc-em);animation:tc-spin .8s linear infinite}
.ok>.tc-ic{background:var(--tc-em)}
.ok>.tc-ic::after{content:"";position:absolute;left:5px;top:2.5px;width:4px;height:7px;border:solid #06150e;border-width:0 2px 2px 0;transform:rotate(45deg)}
.tc-sum{background:none;border:0;color:var(--tc-sub);font-size:13px;padding:.35rem 0;margin-bottom:.35rem;cursor:pointer;display:inline-flex;align-items:center;gap:.4rem;min-height:32px}
.tc-sum[hidden]{display:none}
.tc-sum::before{content:"";width:16px;height:16px;border-radius:50%;background:var(--tc-em)}
.tc-sum::after{content:"\25BE";font-size:11px}
.tc-sum.on::after{content:"\25B4"}
.tc-sum:hover{color:var(--tc-ink)}
.tc-steps:has(.tc-sl[hidden]:not(:only-child)) .tc-sum{margin-bottom:.2rem}

/* cards */
.tc-cards{display:grid;gap:.7rem}
.tc-cards:not(:empty){margin:.5rem 0 .8rem}
.tc-card{border:1px solid var(--tc-line);border-radius:14px;padding:.8rem .9rem;background:var(--tc-surf);animation:tc-rise .28s ease-out both}
.tc-ctop{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem;margin-bottom:.6rem}
.tc-ct{margin:0;font-size:14px;font-weight:650}
.tc-tag{font:600 12px var(--tc-m);letter-spacing:.04em;text-transform:uppercase;padding:.12rem .5rem;border-radius:999px;color:var(--tc-ink);background:color-mix(in srgb,var(--tc-em) 20%,transparent);border:1px solid color-mix(in srgb,var(--tc-em) 50%,transparent)}
.tc-tag-n{background:color-mix(in srgb,var(--tc-am) 20%,transparent);border-color:color-mix(in srgb,var(--tc-am) 55%,transparent)}
.tc-badge{font-size:13px;color:var(--tc-ink);background:color-mix(in srgb,var(--tc-am) 14%,transparent);border-radius:8px;padding:.3rem .55rem;margin-bottom:.6rem;display:inline-block}
.tc-cn{font-size:13px;color:var(--tc-mute);margin-top:.6rem}
.tc-bars{display:grid;gap:.55rem}
.tc-bar{display:grid;grid-template-columns:minmax(80px,150px) 1fr auto;gap:.7rem;align-items:center;font-size:14px}
.tc-bn{display:flex;flex-direction:column;min-width:0;line-height:1.25}
.tc-bl{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:capitalize}
.tc-bs{font-size:12.5px;color:var(--tc-mute);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tc-bt{height:10px;background:var(--tc-line);border-radius:6px;overflow:hidden}
.tc-bf{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--tc-em),color-mix(in srgb,var(--tc-em) 70%,#fff));border-radius:6px;transition:width .7s cubic-bezier(.2,.7,.2,1)}
.tc-bv{font:600 13.5px var(--tc-m);font-variant-numeric:tabular-nums}
.tc-stats,.tc-cmp{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:.6rem}
.tc-stat,.tc-col{border:1px solid var(--tc-line);border-radius:12px;padding:.65rem .8rem;background:var(--tc-bub)}
.tc-sv{font:700 1.5rem/1.15 var(--tc-f);font-variant-numeric:tabular-nums;letter-spacing:-.01em}
.tc-sl2,.tc-cl{font-size:13.5px;color:var(--tc-sub)}
.tc-cl{font-weight:650;color:var(--tc-ink);margin-bottom:.15rem}
.tc-ss{font-size:13px;color:var(--tc-mute)}
.tc-news{list-style:none;margin:0;padding:0;display:grid;gap:.6rem}
.tc-news li{padding-left:.75rem;border-left:3px solid color-mix(in srgb,var(--tc-am) 70%,transparent)}
.tc-nt{color:var(--tc-ink);font-weight:550;text-decoration:none;display:inline}
a.tc-nt{text-decoration:underline;text-decoration-color:var(--tc-line);text-underline-offset:3px}
a.tc-nt:hover{text-decoration-color:var(--tc-ink)}
.tc-nm{font-size:13px;color:var(--tc-mute)}

/* skeleton */
.tc-sk{display:grid;gap:.6rem}
.tc-sk-l,.tc-sk-r i,.tc-sk-r b{background:linear-gradient(90deg,var(--tc-line) 25%,color-mix(in srgb,var(--tc-line) 40%,transparent) 50%,var(--tc-line) 75%);background-size:200% 100%;animation:tc-shim 1.3s linear infinite;border-radius:6px}
.tc-sk-t{height:14px;width:40%}
.tc-sk-r{display:grid;grid-template-columns:90px 1fr;gap:.7rem;align-items:center}
.tc-sk-r i{height:12px}.tc-sk-r b{height:10px;display:block}

/* prose */
.tc-prose p,.tc-prose ul{margin:0}
.tc-prose>*+*{margin-top:.5rem}
.tc-head{font-size:16.5px;font-weight:650;line-height:1.4}
.tc-p{color:var(--tc-ink)}
.tc-ul{padding-left:1.15rem;display:grid;gap:.25rem}
.tc-ul li::marker{color:var(--tc-em)}
.tc-cav{font-size:14px;color:var(--tc-mute)}
.tc-caret{display:inline-block;width:2px;height:1.05em;margin-left:2px;vertical-align:-.15em;background:var(--tc-em);animation:tc-blink 1s steps(1) infinite}
.tc-prose:empty{display:none}

/* footer: trust, chips, actions */
.tc-trust{font-size:13.5px;color:var(--tc-sub);margin-top:.8rem}
.tc-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.5rem}
.tc-chip{font:13px var(--tc-m);color:var(--tc-sub);border:1px solid var(--tc-line);border-radius:999px;padding:.1rem .6rem}
.tc-chip-n{border-color:color-mix(in srgb,var(--tc-am) 60%,var(--tc-line))}
.tc-lab{font-size:13.5px;color:var(--tc-mute);margin-top:.5rem}
.tc-acts{display:flex;gap:.25rem;margin:.55rem 0 0 -.4rem}
.tc-act{display:inline-flex;align-items:center;gap:.4rem;background:none;border:0;color:var(--tc-sub);font-size:13.5px;padding:0 .6rem;min-height:36px;border-radius:10px;cursor:pointer}
.tc-act:hover{background:var(--tc-line);color:var(--tc-ink)}
.tc-act[aria-pressed=true]{color:var(--tc-ink);background:color-mix(in srgb,var(--tc-em) 22%,transparent)}
.tc-dn svg{transform:rotate(180deg)}
.tc-retry{margin-top:.7rem;background:var(--tc-em);color:#06150e;border:0;border-radius:999px;font-weight:700;padding:0 1.2rem;min-height:44px;cursor:pointer}
.tc-fus{margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--tc-line);display:grid;gap:.45rem}
.tc-fh{font:600 12.5px var(--tc-m);letter-spacing:.06em;text-transform:uppercase;color:var(--tc-mute)}
.tc-fc{display:flex;align-items:center;justify-content:space-between;gap:.8rem;text-align:left;min-height:44px;padding:.55rem .85rem;border-radius:12px;border:1px solid var(--tc-line);background:var(--tc-surf);color:var(--tc-ink);font-size:14.5px;cursor:pointer;transition:border-color .12s,transform .12s}
.tc-fc svg{flex:none;color:var(--tc-em)}
.tc-fc:hover{border-color:var(--tc-em);transform:translateY(-1px)}

/* welcome */
.tc-welcome{margin:auto 0;width:100%;text-align:center;display:flex;flex-direction:column;align-items:center;gap:.4rem;padding:.4rem 0}
.tc-welcome h2{margin:.5rem 0 0;font-size:1.3rem;letter-spacing:-.01em}
.tc-welcome p{margin:0 0 .8rem;color:var(--tc-sub);max-width:46ch}
.tc-pg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;width:100%;max-width:700px}
.tc-pc{display:flex;flex-direction:column;gap:.15rem;text-align:left;min-height:64px;padding:.7rem .9rem;border-radius:14px;border:1px solid var(--tc-line);background:var(--tc-bub);color:var(--tc-ink);cursor:pointer;transition:border-color .12s,transform .12s,box-shadow .12s}
.tc-pc:hover,.tc-pc:focus-visible{border-color:var(--tc-em);transform:translateY(-2px);box-shadow:0 6px 18px rgba(0,0,0,.14)}
.tc-pt{font-weight:650;font-size:14.5px}
.tc-pe{font-size:13.5px;color:var(--tc-sub);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tc-w .tc-pg{grid-template-columns:1fr}
.tc-w .tc-pc{min-height:56px;padding:.55rem .8rem}
.tc-w .tc-welcome{margin:0;align-items:stretch;text-align:left;gap:.3rem}
.tc-w .tc-welcome h2{font-size:1.1rem}
.tc-w .tc-av-l{width:40px;height:40px}

/* composer */
.tc-form{flex:none;display:flex;align-items:flex-end;gap:.5rem;padding:.7rem max(.9rem,calc((100% - 760px)/2)) .3rem;border-top:1px solid var(--tc-line);background:var(--tc-surf)}
.tc-in{flex:1;min-width:0;resize:none;overflow-y:auto;background:var(--tc-bub);color:var(--tc-ink);border:1px solid var(--tc-line);border-radius:23px;padding:.7rem 1.05rem;font-size:15px;line-height:1.4;min-height:46px;max-height:140px}
.tc-in:focus{outline:2px solid color-mix(in srgb,var(--tc-em) 60%,transparent);border-color:var(--tc-em)}
.tc-in::placeholder{color:var(--tc-mute)}
.tc-go{flex:none;width:46px;height:46px;border-radius:50%;border:0;background:var(--tc-em);color:#06150e;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .12s}
.tc-go:hover{transform:scale(1.06)}
.tc-go.tc-stop{background:var(--tc-ink);color:var(--tc-bg)}
.tc-hint{flex:none;font-size:12.5px;color:var(--tc-mute);text-align:center;padding:.15rem .9rem .6rem;background:var(--tc-surf)}

@keyframes tc-spin{to{transform:rotate(360deg)}}
@keyframes tc-blink{50%{opacity:0}}
@keyframes tc-shim{to{background-position:-200% 0}}
@keyframes tc-rise{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
@keyframes tc-pulse{70%{box-shadow:0 0 0 7px transparent}100%{box-shadow:0 0 0 0 transparent}}
@media(max-width:560px){
  .tc-pg{grid-template-columns:1fr}
  .tc-bar{grid-template-columns:90px 1fr auto;gap:.5rem}
  .tc-ub{max-width:92%}
  .tc-log{padding:.75rem .65rem}
  .tc-row{gap:.5rem}
  .tc-ra>.tc-av{width:28px;height:28px}
  .tc-hint{display:none}
}
@media(pointer:coarse){.tc-hint{display:none}.tc-act{min-height:44px}}
@media(prefers-reduced-motion:reduce){
  .tc *,.tc *::before,.tc *::after{animation:none!important;transition:none!important}
  .tc-caret{opacity:1}
  .on>.tc-ic{border-top-color:var(--tc-em);border-right-color:var(--tc-em)}
}
@media print{.tc{display:none}}
@media(max-height:820px){.tc-welcome{gap:.15rem}.tc-welcome h2{font-size:1.1rem;margin-top:.3rem}.tc-welcome p{margin-bottom:.5rem;font-size:14px}.tc-av-l{width:40px;height:40px}.tc-pc{min-height:54px;padding:.5rem .8rem}.tc-pg{gap:.5rem}}
@keyframes tc-rowin{from{opacity:.45;transform:translateY(6px)}to{opacity:1;transform:none}}
