.tt-hidden { display: none !important; }
.tt-floating-button {
  position: fixed; right: 20px; bottom: 20px; z-index: 9000;
  border: 0; border-radius: 999px; padding: 13px 19px;
  background: #101328; color: #fff; box-shadow: 0 12px 30px #10132840;
  font: 700 14px/1.2 Arial, sans-serif; cursor: pointer;
}
.tt-floating-button span { color: #ff6a86; }
.tt-dialog {
  width: min(720px, calc(100vw - 28px)); max-height: min(760px, calc(100vh - 40px));
  border: 0; border-radius: 22px; padding: 0; color: #101328;
  box-shadow: 0 24px 80px #10132855; overflow: hidden;
}
.tt-dialog::backdrop { background: #10132899; backdrop-filter: blur(3px); }
.tt-dialog-head { display:flex; align-items:center; justify-content:space-between; padding:18px 20px; background:#101328; color:white; }
.tt-dialog-head h2 { margin:0; font:800 20px/1.2 Arial,sans-serif; }
.tt-close { border:0; background:#ffffff18; color:white; width:34px; height:34px; border-radius:50%; font-size:22px; cursor:pointer; }
.tt-tabs { display:flex; gap:6px; padding:12px 16px 0; background:#f6f7fb; }
.tt-tab { border:0; background:transparent; padding:10px 14px; border-radius:12px 12px 0 0; font-weight:700; cursor:pointer; }
.tt-tab[aria-selected="true"] { background:white; color:#d92c55; }
.tt-panel { padding:18px; overflow:auto; max-height:600px; font:14px/1.45 Arial,sans-serif; }
.tt-list { display:grid; gap:10px; }
.tt-card { border:1px solid #e3e5ee; border-radius:14px; padding:14px; background:white; }
.tt-card h3,.tt-card p { margin:0 0 8px; }
.tt-card button,.tt-primary { border:0; border-radius:999px; padding:10px 15px; background:#ff4f70; color:white; font-weight:700; cursor:pointer; }
.tt-card button:disabled,.tt-primary:disabled { opacity:.55; cursor:not-allowed; }
.tt-muted { color:#646a7c; font-size:13px; }
.tt-success { color:#137d57; font-weight:700; }
.tt-warning { color:#9b5b00; background:#fff4d8; border:1px solid #f3d890; padding:12px 14px; border-radius:12px; }
.tt-banner { margin:16px auto; max-width:1120px; padding:14px 18px; border-radius:14px; background:#fff4d8; border:1px solid #f0d383; color:#543900; font:14px/1.4 Arial,sans-serif; }
.tt-thread-button { width:100%; text-align:left; background:#f6f7fb !important; color:#101328 !important; border-radius:12px !important; }
.tt-messages { display:flex; flex-direction:column; gap:9px; min-height:220px; max-height:390px; overflow:auto; padding:10px 0; }
.tt-message { max-width:82%; padding:10px 12px; border-radius:14px; background:#f0f1f6; white-space:pre-wrap; overflow-wrap:anywhere; }
.tt-message.mine { margin-left:auto; background:#ffe2e9; }
.tt-message.system { margin:auto; max-width:95%; background:#eef7ff; color:#42526b; font-size:12px; }
.tt-compose { display:flex; gap:8px; }
.tt-compose textarea { flex:1; min-height:46px; max-height:120px; border:1px solid #cdd1dc; border-radius:12px; padding:10px; resize:vertical; }
.tt-reset-shell { position:fixed; inset:0; z-index:10000; background:#f7f7fb; display:grid; place-items:center; padding:18px; }
.tt-reset-card { width:min(520px,100%); background:white; border-radius:22px; box-shadow:0 20px 70px #1013282b; padding:28px; font:14px/1.5 Arial,sans-serif; }
.tt-reset-card h1 { margin:0 0 8px; color:#101328; }
.tt-reset-card label { display:grid; gap:6px; margin:14px 0; font-weight:700; }
.tt-reset-card input { border:1px solid #cdd1dc; border-radius:10px; padding:12px; font:inherit; }
.tt-panel .tt-reset-card { box-sizing:border-box; margin:16px auto; }
.tt-tabs { flex-wrap:wrap; }
.tt-money { display:grid; grid-template-columns:1fr auto; gap:6px 16px; margin:12px 0; }
.tt-task-link { color:#b51f48; font-weight:700; }
@media (max-width:600px) {
  .tt-floating-button { right:12px; bottom:12px; }
  .tt-panel { padding:14px; }
  .tt-dialog { max-height:calc(100vh - 16px); }
}
.tt-preserve{white-space:pre-wrap;overflow-wrap:anywhere}.tt-chat-context,.tt-chat-quote,.tt-chat-quote-form{padding:16px;border:1px solid #d7d9e2;border-radius:12px;margin:14px 0;background:#fff}.tt-chat-context summary{font-weight:700;cursor:pointer}.tt-chat-quote strong,.tt-chat-quote small,.tt-thread-button span,.tt-thread-button small{display:block}.tt-chat-quote button{display:block;margin-top:12px}.tt-thread-button{text-align:left}.tt-thread-button small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.tt-message p{margin:0 0 6px}.tt-message small{font-size:11px;opacity:.8}.tt-chat-feedback{font-size:13px;min-height:20px;overflow-wrap:anywhere}.tt-chat-quote-form label{display:block;margin:10px 0}.tt-chat-quote-form input,.tt-chat-quote-form textarea{display:block;width:100%;box-sizing:border-box;border:1px solid #adb3c2;border-radius:8px;padding:10px;font:inherit}.tt-chat-quote-form textarea{min-height:100px}.tt-compose textarea{min-height:80px}.tt-ceo-communications{padding:22px;margin:20px 0;border:1px solid #d7d9e2;border-radius:16px;background:#f8f9fc}.tt-ceo-communications li{margin:10px 0;overflow-wrap:anywhere}@media(max-width:600px){.tt-compose{display:block}.tt-compose textarea{display:block;width:100%;box-sizing:border-box}.tt-compose button{margin-top:8px;width:100%}.tt-messages{max-height:45svh}.tt-chat-context,.tt-chat-quote,.tt-chat-quote-form{padding:12px}}
