.t2ai-widget{
position:fixed;
z-index:999999;
bottom:24px;
font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Arial,sans-serif;
color:#0f172a;
-webkit-font-smoothing:antialiased
}
.t2ai-widget.t2ai-right{right:24px}
.t2ai-widget.t2ai-left{left:24px}
.t2ai-launcher{
position:relative;
display:grid;
place-items:center;
width:62px;
height:62px;
margin-left:auto;
padding:0;
border:0;
border-radius:21px;
background:linear-gradient(135deg,var(--t2ai-primary),var(--t2ai-accent));
box-shadow:0 18px 40px rgba(37,99,235,.32);
cursor:pointer;
transition:transform .2s ease,box-shadow .2s ease
}
.t2ai-left .t2ai-launcher{margin-left:0}
.t2ai-launcher:hover{transform:translateY(-2px);box-shadow:0 22px 48px rgba(37,99,235,.38)}
.t2ai-launcher svg{width:28px;height:28px;fill:#fff}
.t2ai-icon-close{display:none}
.t2ai-widget.is-open .t2ai-icon-chat{display:none}
.t2ai-widget.is-open .t2ai-icon-close{display:block}
.t2ai-launcher-pulse{
position:absolute;
inset:-5px;
border:2px solid rgba(56,189,248,.42);
border-radius:25px;
animation:t2aiPulse 2.2s infinite;
pointer-events:none
}
.t2ai-panel{
position:absolute;
bottom:78px;
display:flex;
flex-direction:column;
width:400px;
height:620px;
max-height:calc(100vh - 120px);
overflow:hidden;
border:1px solid rgba(148,163,184,.22);
border-radius:24px;
background:#fff;
box-shadow:0 30px 80px rgba(15,23,42,.22);
opacity:0;
visibility:hidden;
transform:translateY(18px) scale(.97);
transform-origin:bottom right;
transition:opacity .22s ease,visibility .22s ease,transform .22s ease
}
.t2ai-right .t2ai-panel{right:0}
.t2ai-left .t2ai-panel{left:0;transform-origin:bottom left}
.t2ai-widget.is-open .t2ai-panel{opacity:1;visibility:visible;transform:translateY(0) scale(1)}
.t2ai-header{
flex:0 0 auto;
display:flex;
align-items:center;
gap:12px;
min-height:78px;
padding:16px 18px;
color:#fff;
background:linear-gradient(135deg,var(--t2ai-primary),var(--t2ai-accent))
}
.t2ai-avatar{
flex:0 0 46px;
display:grid;
place-items:center;
width:46px;
height:46px;
border-radius:15px;
background:rgba(255,255,255,.18);
font-size:15px;
font-weight:800;
box-shadow:inset 0 0 0 1px rgba(255,255,255,.16)
}
.t2ai-identity{min-width:0;flex:1}
.t2ai-identity strong{
display:block;
overflow:hidden;
font-size:16px;
line-height:1.25;
text-overflow:ellipsis;
white-space:nowrap
}
.t2ai-identity span{
display:flex;
align-items:center;
gap:6px;
min-width:0;
margin-top:4px;
overflow:hidden;
font-size:12px;
line-height:1.25;
text-overflow:ellipsis;
white-space:nowrap;
opacity:.92
}
.t2ai-identity i{
flex:0 0 7px;
width:7px;
height:7px;
border-radius:50%;
background:#86efac;
box-shadow:0 0 0 4px rgba(134,239,172,.15)
}
.t2ai-close{
flex:0 0 36px;
display:grid;
place-items:center;
width:36px;
height:36px;
padding:0;
border:0;
border-radius:10px;
background:rgba(255,255,255,.08);
color:#fff;
font-size:27px;
line-height:1;
cursor:pointer;
transition:background .18s ease
}
.t2ai-close:hover{background:rgba(255,255,255,.16)}
.t2ai-messages{
flex:1 1 auto;
min-height:0;
overflow-x:hidden;
overflow-y:auto;
padding:20px 18px;
background:#f8fafc;
scroll-behavior:smooth
}
.t2ai-message{display:flex;width:100%;margin-bottom:12px}
.t2ai-message-user{justify-content:flex-end}
.t2ai-bubble{
max-width:84%;
padding:11px 14px;
border-radius:16px;
font-size:14px;
line-height:1.5;
overflow-wrap:anywhere;
white-space:pre-wrap
}
.t2ai-message-bot .t2ai-bubble{
border:1px solid #e2e8f0;
border-bottom-left-radius:5px;
background:#fff;
color:#0f172a;
box-shadow:0 4px 14px rgba(15,23,42,.04)
}
.t2ai-message-user .t2ai-bubble{
border-bottom-right-radius:5px;
background:linear-gradient(135deg,var(--t2ai-primary),var(--t2ai-accent));
color:#fff
}
.t2ai-typing .t2ai-bubble{display:flex;align-items:center;gap:5px}
.t2ai-typing span{width:7px;height:7px;border-radius:50%;background:#94a3b8;animation:t2aiDot 1.2s infinite}
.t2ai-typing span:nth-child(2){animation-delay:.15s}
.t2ai-typing span:nth-child(3){animation-delay:.3s}
.t2ai-quick-actions{
flex:0 0 auto;
display:grid;
grid-template-columns:repeat(2,minmax(0,1fr));
gap:8px;
max-height:162px;
overflow-x:hidden;
overflow-y:auto;
padding:12px 14px;
border-top:1px solid #eef2f7;
background:#fff
}
.t2ai-quick-actions button{
display:flex;
align-items:center;
justify-content:flex-start;
min-width:0;
min-height:46px;
padding:9px 11px;
border:1px solid #dbe3ef;
border-radius:12px;
background:#fff;
color:#334155;
font-size:11.5px;
font-weight:650;
line-height:1.35;
text-align:left;
white-space:normal;
overflow-wrap:anywhere;
cursor:pointer;
transition:border-color .18s ease,background .18s ease,transform .18s ease
}
.t2ai-quick-actions button:hover{
border-color:var(--t2ai-primary);
background:#f8fbff;
transform:translateY(-1px)
}
.t2ai-compose{
flex:0 0 auto;
display:grid;
grid-template-columns:1fr;
gap:8px;
padding:12px 14px;
border-top:1px solid #eef2f7;
background:#fff
}
.t2ai-compose textarea{
display:block;
width:100%;
height:42px;
min-height:42px;
max-height:96px;
box-sizing:border-box;
resize:none;
overflow-y:auto;
border:1px solid #cbd5e1;
border-radius:13px;
padding:10px 12px;
outline:none;
background:#fff;
color:#0f172a;
font:inherit;
font-size:13.5px;
line-height:20px
}
.t2ai-compose textarea:focus{
border-color:var(--t2ai-primary);
box-shadow:0 0 0 3px rgba(37,99,235,.1)
}
.t2ai-compose button{
justify-self:end;
display:grid;
place-items:center;
width:42px;
height:42px;
padding:0;
border:0;
border-radius:13px;
background:linear-gradient(135deg,var(--t2ai-primary),var(--t2ai-accent));
box-shadow:0 8px 18px rgba(37,99,235,.22);
cursor:pointer;
transition:transform .18s ease,box-shadow .18s ease
}
.t2ai-compose button:hover{transform:translateY(-1px);box-shadow:0 10px 22px rgba(37,99,235,.28)}
.t2ai-compose button svg{width:21px;height:21px;fill:#fff}
.t2ai-compose button:disabled{opacity:.55;cursor:not-allowed;transform:none}
.t2ai-footer{
flex:0 0 auto;
padding:9px;
border-top:1px solid #f1f5f9;
background:#fff;
color:#94a3b8;
font-size:11px;
text-align:center
}
.t2ai-footer strong{color:#64748b}
@keyframes t2aiPulse{0%,100%{opacity:.25;transform:scale(.95)}50%{opacity:.65;transform:scale(1.08)}}
@keyframes t2aiDot{0%,80%,100%{transform:translateY(0);opacity:.4}40%{transform:translateY(-4px);opacity:1}}
@media(max-width:600px){
.t2ai-widget{left:10px!important;right:10px!important;bottom:10px}
.t2ai-launcher{margin-left:auto}
.t2ai-panel{
position:fixed;
top:auto;
right:10px!important;
bottom:84px;
left:10px!important;
width:auto;
height:calc(100vh - 104px);
max-height:none;
border-radius:20px
}
.admin-bar .t2ai-panel{top:46px;bottom:84px;height:auto}
.t2ai-header{min-height:70px;padding:13px 14px}
.t2ai-messages{padding:16px 14px}
.t2ai-quick-actions{gap:7px;padding:10px}
.t2ai-quick-actions button{min-height:44px;padding:8px 9px;font-size:11px}
.t2ai-compose{padding:10px}
} .t2ai-prechat{
flex:1 1 auto;
min-height:0;
overflow-y:auto;
padding:22px 18px;
background:#fff
}
.t2ai-prechat-intro{text-align:center;margin-bottom:20px}
.t2ai-prechat-intro h3{margin:0 0 8px;color:#0f172a;font-size:19px;line-height:1.35}
.t2ai-prechat-intro p{margin:0;color:#64748b;font-size:12.5px;line-height:1.5}
.t2ai-lead-form{display:grid;gap:13px}
.t2ai-lead-form label{display:grid;gap:7px}
.t2ai-lead-form label>span{color:#1e293b;font-size:12.5px;font-weight:750}
.t2ai-lead-form label b{color:#ef4444}
.t2ai-lead-form input{
width:100%;
height:44px;
box-sizing:border-box;
border:1px solid #cbd5e1;
border-radius:11px;
padding:0 12px;
background:#fff;
color:#0f172a;
font:inherit;
font-size:13.5px;
outline:none;
transition:border-color .18s ease,box-shadow .18s ease
}
.t2ai-lead-form input:focus{border-color:var(--t2ai-primary);box-shadow:0 0 0 3px rgba(37,99,235,.1)}
.t2ai-lead-form input::placeholder{color:#94a3b8}
.t2ai-lead-error{min-height:18px;color:#dc2626;font-size:12px;line-height:1.4}
.t2ai-start-chat{
display:flex;
align-items:center;
justify-content:center;
gap:9px;
width:100%;
min-height:46px;
padding:0 16px;
border:0;
border-radius:12px;
background:linear-gradient(135deg,var(--t2ai-primary),var(--t2ai-accent));
color:#fff;
font-size:13.5px;
font-weight:800;
cursor:pointer;
box-shadow:0 10px 22px rgba(37,99,235,.22)
}
.t2ai-start-chat svg{width:18px;height:18px;fill:#fff}
.t2ai-start-chat:disabled{opacity:.65;cursor:not-allowed}
.t2ai-start-chat.is-loading svg{animation:t2aiSpin 1s linear infinite}
.t2ai-chat-screen{flex:1 1 auto;min-height:0;display:flex;flex-direction:column}
.t2ai-chat-screen[hidden]{display:none!important}
@keyframes t2aiSpin{to{transform:rotate(360deg)}}
@media(max-width:600px){
.t2ai-prechat{padding:18px 14px}
.t2ai-prechat-intro h3{font-size:17px}
} #t2ai-widget .t2ai-compose {
display: grid;
grid-template-columns: minmax(0, 1fr) 48px;
gap: 10px;
align-items: end;
padding: 12px 14px 10px;
border-top: 1px solid rgba(148, 163, 184, .22);
background: #fff;
}
#t2ai-widget .t2ai-compose textarea {
width: 100%;
min-height: 48px;
max-height: 110px;
margin: 0;
padding: 12px 14px;
border: 1px solid #cbd5e1;
border-radius: 14px;
font-size: 15px;
line-height: 1.45;
resize: none;
box-shadow: none;
}
#t2ai-widget .t2ai-compose button[type="submit"] {
width: 48px;
height: 48px;
min-width: 48px;
min-height: 48px;
margin: 0;
padding: 0;
border-radius: 14px;
align-self: end;
}
#t2ai-widget .t2ai-powered {
min-height: 34px;
padding: 7px 12px 9px;
font-size: 12px;
line-height: 1.3;
}
#t2ai-widget .t2ai-screen-chat {
grid-template-rows: minmax(0, 1fr) auto auto;
}
#t2ai-widget .t2ai-quick-actions {
padding: 10px 12px;
gap: 8px;
}
#t2ai-widget .t2ai-quick-actions button {
min-height: 42px;
padding: 9px 12px;
}
@media (max-width: 480px) {
#t2ai-widget .t2ai-compose {
grid-template-columns: minmax(0, 1fr) 44px;
padding: 10px 10px 8px;
gap: 8px;
}
#t2ai-widget .t2ai-compose textarea {
min-height: 44px;
padding: 10px 12px;
border-radius: 12px;
}
#t2ai-widget .t2ai-compose button[type="submit"] {
width: 44px;
height: 44px;
min-width: 44px;
min-height: 44px;
border-radius: 12px;
}
#t2ai-widget .t2ai-powered {
min-height: 28px;
padding: 5px 10px 7px;
}
} #t2ai-widget .t2ai-header {
min-height: 88px;
padding: 14px 16px;
gap: 12px;
}
#t2ai-widget .t2ai-avatar {
width: 52px;
height: 52px;
min-width: 52px;
border-radius: 15px;
font-size: 20px;
}
#t2ai-widget .t2ai-header-copy {
gap: 2px;
}
#t2ai-widget .t2ai-header-title {
font-size: 20px;
line-height: 1.2;
}
#t2ai-widget .t2ai-header-status {
font-size: 14px;
line-height: 1.35;
}
#t2ai-widget .t2ai-close {
width: 44px;
height: 44px;
min-width: 44px;
min-height: 44px;
border-radius: 13px;
font-size: 25px;
}
#t2ai-widget .t2ai-panel {
grid-template-rows: auto minmax(0,1fr);
}
@media (max-width: 480px) {
#t2ai-widget .t2ai-header {
min-height: 76px;
padding: 10px 12px;
gap: 10px;
}
#t2ai-widget .t2ai-avatar {
width: 46px;
height: 46px;
min-width: 46px;
border-radius: 13px;
font-size: 18px;
}
#t2ai-widget .t2ai-header-title {
font-size: 18px;
}
#t2ai-widget .t2ai-header-status {
font-size: 13px;
}
#t2ai-widget .t2ai-close {
width: 40px;
height: 40px;
min-width: 40px;
min-height: 40px;
}
} #t2ai-widget .t2ai-header {
min-height: 56px !important;
height: auto !important;
padding: 6px 10px !important;
gap: 9px !important;
}
#t2ai-widget .t2ai-avatar {
flex: 0 0 36px !important;
width: 36px !important;
height: 36px !important;
min-width: 36px !important;
min-height: 36px !important;
border-radius: 11px !important;
font-size: 14px !important;
}
#t2ai-widget .t2ai-identity,
#t2ai-widget .t2ai-header-copy {
min-width: 0 !important;
gap: 0 !important;
}
#t2ai-widget .t2ai-identity strong,
#t2ai-widget .t2ai-header-title {
font-size: 16px !important;
line-height: 1.1 !important;
}
#t2ai-widget .t2ai-identity span,
#t2ai-widget .t2ai-header-status {
margin-top: 2px !important;
font-size: 11px !important;
line-height: 1.15 !important;
}
#t2ai-widget .t2ai-identity i {
flex-basis: 6px !important;
width: 6px !important;
height: 6px !important;
box-shadow: 0 0 0 3px rgba(134,239,172,.14) !important;
}
#t2ai-widget .t2ai-close {
flex: 0 0 32px !important;
width: 32px !important;
height: 32px !important;
min-width: 32px !important;
min-height: 32px !important;
padding: 0 !important;
border-radius: 9px !important;
font-size: 21px !important;
}
@media (max-width: 480px) {
#t2ai-widget .t2ai-header {
min-height: 54px !important;
padding: 6px 9px !important;
gap: 8px !important;
}
#t2ai-widget .t2ai-avatar {
flex-basis: 34px !important;
width: 34px !important;
height: 34px !important;
min-width: 34px !important;
min-height: 34px !important;
font-size: 13px !important;
}
#t2ai-widget .t2ai-identity strong,
#t2ai-widget .t2ai-header-title {
font-size: 15px !important;
}
#t2ai-widget .t2ai-identity span,
#t2ai-widget .t2ai-header-status {
font-size: 10.5px !important;
}
#t2ai-widget .t2ai-close {
flex-basis: 30px !important;
width: 30px !important;
height: 30px !important;
min-width: 30px !important;
min-height: 30px !important;
font-size: 20px !important;
}
} #t2ai-widget .t2ai-prechat {
flex: 1 1 auto;
min-height: 0;
overflow: hidden;
display: flex;
flex-direction: column;
padding: 16px;
background: #fff;
}
#t2ai-widget .t2ai-prechat-intro {
flex: 0 0 auto;
margin: 0 0 14px;
padding: 0 4px;
text-align: center;
}
#t2ai-widget .t2ai-prechat-intro h3 {
margin: 0 0 5px;
font-size: 17px;
line-height: 1.25;
letter-spacing: -.015em;
}
#t2ai-widget .t2ai-prechat-intro p {
max-width: 340px;
margin: 0 auto;
font-size: 11.5px;
line-height: 1.4;
}
#t2ai-widget .t2ai-lead-form {
flex: 1 1 auto;
min-height: 0;
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
grid-auto-rows: min-content;
align-content: center;
gap: 11px 12px;
}
#t2ai-widget .t2ai-lead-form label {
min-width: 0;
display: grid;
gap: 5px;
margin: 0;
}
#t2ai-widget .t2ai-lead-form label > span {
font-size: 11.5px;
line-height: 1.25;
font-weight: 750;
}
#t2ai-widget .t2ai-lead-form input {
width: 100%;
height: 42px;
min-width: 0;
margin: 0;
padding: 0 11px;
border-radius: 10px;
font-size: 13px;
line-height: 42px;
}
#t2ai-widget .t2ai-lead-error {
grid-column: 1 / -1;
min-height: 0;
margin: -2px 0 0;
font-size: 11px;
line-height: 1.35;
}
#t2ai-widget .t2ai-lead-error:empty {
display: none;
}
#t2ai-widget .t2ai-start-chat {
grid-column: 1 / -1;
min-height: 44px;
margin-top: 1px;
border-radius: 11px;
font-size: 13px;
} #t2ai-widget:not(.has-session) .t2ai-panel {
height: min(590px, calc(100vh - 112px));
}
@media (max-width: 600px) {
#t2ai-widget .t2ai-panel {
top: max(8px, env(safe-area-inset-top));
right: max(8px, env(safe-area-inset-right)) !important;
bottom: max(8px, env(safe-area-inset-bottom));
left: max(8px, env(safe-area-inset-left)) !important;
width: auto;
height: auto;
max-height: none;
border-radius: 18px;
}
#t2ai-widget:not(.has-session) .t2ai-panel {
height: auto;
}
#t2ai-widget .t2ai-prechat {
padding: 13px 12px 12px;
}
#t2ai-widget .t2ai-prechat-intro {
margin-bottom: 11px;
}
#t2ai-widget .t2ai-prechat-intro h3 {
font-size: 16px;
}
#t2ai-widget .t2ai-prechat-intro p {
font-size: 11px;
line-height: 1.35;
}
#t2ai-widget .t2ai-lead-form {
gap: 9px 10px;
align-content: center;
}
#t2ai-widget .t2ai-lead-form input {
height: 40px;
padding: 0 10px;
font-size: 12.5px;
line-height: 40px;
}
#t2ai-widget .t2ai-start-chat {
min-height: 42px;
}
} @media (max-width: 380px) {
#t2ai-widget .t2ai-prechat {
padding: 10px;
}
#t2ai-widget .t2ai-prechat-intro {
margin-bottom: 8px;
}
#t2ai-widget .t2ai-prechat-intro h3 {
font-size: 14px;
margin-bottom: 3px;
}
#t2ai-widget .t2ai-prechat-intro p {
font-size: 10px;
}
#t2ai-widget .t2ai-lead-form {
grid-template-columns: 1fr;
gap: 7px;
align-content: center;
}
#t2ai-widget .t2ai-lead-form label > span {
font-size: 10.5px;
}
#t2ai-widget .t2ai-lead-form input {
height: 36px;
font-size: 12px;
line-height: 36px;
}
#t2ai-widget .t2ai-lead-error,
#t2ai-widget .t2ai-start-chat {
grid-column: 1;
}
#t2ai-widget .t2ai-start-chat {
min-height: 38px;
}
} @media (max-height: 540px) {
#t2ai-widget .t2ai-prechat-intro {
display: none;
}
#t2ai-widget .t2ai-prechat {
padding: 10px 12px;
}
#t2ai-widget .t2ai-lead-form {
gap: 7px 10px;
}
#t2ai-widget .t2ai-lead-form input {
height: 36px;
line-height: 36px;
}
#t2ai-widget .t2ai-start-chat {
min-height: 38px;
}
} #t2ai-widget [data-t2ai-screen][hidden],
#t2ai-widget [data-t2ai-screen][aria-hidden="true"] {
display: none !important;
visibility: hidden !important;
pointer-events: none !important;
}
#t2ai-widget [data-t2ai-screen].is-active-screen {
visibility: visible;
pointer-events: auto;
}
#t2ai-widget:not(.has-session) .t2ai-chat-screen,
#t2ai-widget.has-session .t2ai-prechat {
display: none !important;
}
#t2ai-widget.has-session .t2ai-chat-screen {
display: flex;
flex: 1 1 auto;
min-height: 0;
}.attachment svg,.widget_media_image svg{max-width:100%;height:auto}