/* Tapu24 support dock v1.0.4: scoped controls and a fixed action footer. */
.t24-support {
  --support-accent:#1265ef; --support-ink:#1b2942; --support-muted:#718097;
  --support-line:#e6ebf3; --support-soft:#f5f8fd;
  position:fixed; inset-inline-end:22px; bottom:22px; z-index:1100;
  font-family:inherit; font-size:14px; line-height:1.5; color:var(--support-ink);
  text-align:start; isolation:isolate;
}
.t24-support *, .t24-support *::before, .t24-support *::after { box-sizing:border-box; }
.t24-support [hidden], .t24-support-start [hidden] { display:none!important; }
.t24-support button, .t24-support input, .t24-support textarea, .t24-support select { font:inherit; letter-spacing:normal; }
.t24-support button { cursor:pointer; }
.t24-support svg { width:20px; height:20px; flex-shrink:0; }
.t24-support-launcher, .t24-support-minibar {
  display:flex; align-items:center; gap:9px; border:0; border-radius:100px;
  background:var(--support-accent); color:#fff; padding:13px 18px;
  font-size:13px!important; font-weight:600!important; box-shadow:0 8px 24px #1265ef30;
}
.t24-support-launcher:hover { background:#0a54cf; }
.t24-support-launcher-icon { display:grid; place-items:center; }
.t24-support-panel {
  display:flex; flex-direction:column; width:410px; height:min(680px,calc(100dvh - 44px));
  min-height:0; background:#fff; border:1px solid #dfe7f3; border-radius:22px;
  box-shadow:0 18px 70px #0d24403b,0 2px 8px #0d244012; overflow:hidden;
}
.t24-support-header {
  display:flex; align-items:center; gap:10px; flex-shrink:0; min-height:80px;
  padding:16px 18px; border-bottom:1px solid var(--support-line); background:#fff;
}
.t24-support-avatar {
  display:grid; place-items:center; width:42px; height:42px; border-radius:14px;
  background:#edf4ff; color:var(--support-accent); flex-shrink:0;
}
.t24-support-avatar svg { width:24px; height:24px; }
.t24-support-heading { flex:1; min-width:0; }
.t24-support-heading h2 { margin:0; font-size:16px; line-height:1.5; font-weight:750; color:var(--support-ink); unicode-bidi:plaintext; }
.t24-support-heading p { margin:3px 0 0; font-size:11px; line-height:1.6; font-weight:400; color:var(--support-muted); }
.t24-support-icon-button {
  display:grid; place-items:center; width:30px; height:30px; padding:0;
  border:0; border-radius:9px; background:transparent; color:#68788e; flex-shrink:0;
}
.t24-support-icon-button:hover { background:#f0f4fa; color:var(--support-accent); }
.t24-support-icon-button svg { width:18px; height:18px; }
.t24-support-banner { margin:10px 16px 0; padding:10px 12px; background:#fff3f2; border:1px solid #f8dedb; border-radius:10px; color:#b24336; font-size:12px; line-height:1.65; }
.t24-support-loading, .t24-support-gate { padding:30px 24px; text-align:center; font-size:14px; }
.t24-support-spinner { display:inline-block; width:16px; height:16px; margin-inline-end:6px; border:2px solid #dbe8fd; border-top-color:var(--support-accent); border-radius:50%; animation:t24-support-spin 1s linear infinite; }
@keyframes t24-support-spin { to { transform:rotate(360deg); } }
.t24-support-start-panel { display:flex; flex:1; min-height:0; flex-direction:column; overflow:hidden; }
.t24-support-welcome { padding:18px 20px 14px; flex-shrink:0; }
.t24-support-eyebrow { font-size:10px; font-weight:600; color:#1265ef; letter-spacing:0; }
.t24-support-welcome h3 { font-size:18px; line-height:1.5; margin:5px 0 4px; font-weight:750; color:var(--support-ink); }
.t24-support-welcome p { font-size:12px; line-height:1.7; margin:0; color:var(--support-muted); }
.t24-support-start-panel .t24-support-start { display:flex; flex:1; flex-direction:column; min-height:0; margin:0; }
.t24-support-start-panel .t24-support-form-body { flex:1; min-height:0; overflow-y:auto; padding:0 20px 14px; overscroll-behavior:contain; }
.t24-support-form-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px 12px; }
.t24-support-field { display:flex; flex-direction:column; min-width:0; gap:6px; }
.t24-support-field--full { grid-column:1/-1; }
.t24-support-field label { display:flex; align-items:center; gap:5px; margin:0; font-size:12px; line-height:1.6; font-weight:600; color:#37455d; }
.t24-support-field label small { font-size:9px; font-weight:400; color:#8190a5; }
.t24-support-required { color:#1265ef; font-size:12px; }
.t24-support-field input, .t24-support-field textarea, .t24-support-field select {
  width:100%; max-width:100%; min-width:0; box-sizing:border-box; margin:0;
  padding:10px 12px; min-height:42px; border:1px solid #dae2ee; border-radius:10px;
  background:#fff; color:#1b2942; font-family:inherit; font-size:13px; line-height:1.55;
  transition:border-color .15s,box-shadow .15s;
}
.t24-support-field textarea { height:100px; min-height:100px; max-height:165px; resize:vertical; }
.t24-support-field input::placeholder, .t24-support-field textarea::placeholder { color:#93a0b2; opacity:1; }
.t24-support-field input:focus, .t24-support-field textarea:focus, .t24-support-field select:focus { outline:none; border-color:#94b8f9; box-shadow:0 0 0 3px #1265ef0d; }
.t24-support-verification { margin:14px 0 0; padding:12px; background:#f6f9fe; border:1px solid #e3ebf8; border-radius:12px; color:#37455d; }
.t24-support-verification-heading { display:flex; align-items:center; gap:6px; font-size:11px; font-weight:600; }
.t24-support-verification-heading svg { width:16px; height:16px; color:#547ba9; }
.t24-support-turnstile { width:100%; min-height:0; margin-top:8px; }
.t24-support-turnstile:empty { display:none; }
.t24-support-verification [data-support-verification-status] { font-size:11px; line-height:1.7; margin:6px 0 0; }
.t24-support-verification [data-state="error"] { color:#b24336; }
.t24-support-verification [data-state="ready"] { color:#177b54; }
.t24-support-verification-retry { display:inline-flex; align-items:center; min-height:32px; margin-top:8px; padding:6px 10px; border:1px solid #d6e3fa; border-radius:8px; background:#fff; color:#1265ef; font:inherit; font-size:11px; cursor:pointer; }
.t24-support-form-error { margin:10px 0 0; font-size:12px; line-height:1.6; color:#b24336; }
.t24-support-start-footer { padding:14px 20px 12px; background:#fff; flex-shrink:0; border-top:1px solid var(--support-line,#e6ebf3); }
.t24-support-primary {
  display:flex; justify-content:center; align-items:center; gap:9px; width:100%;
  min-height:44px; padding:11px 16px; margin:0; border:0; border-radius:11px;
  background:#1265ef; color:#fff!important; font:inherit; font-size:14px;
  line-height:1.5; font-weight:650; text-decoration:none; cursor:pointer;
}
.t24-support-primary:hover { background:#0a54cf; }
.t24-support-primary svg { width:19px; height:19px; }
.t24-support-primary:disabled { background:#c0d3f2; color:#fff; cursor:not-allowed; }
.t24-support-privacy-hint { display:flex; align-items:flex-start; justify-content:center; gap:5px; font-size:10px; line-height:1.7; color:#8490a2; margin:9px 0 0; }
.t24-support-privacy-hint svg { width:13px; height:13px; margin-top:2px; flex-shrink:0; }
.t24-support-conversation { display:flex; flex:1; min-height:0; flex-direction:column; position:relative; background:#fff; }
.t24-support-log { flex:1; min-height:0; overflow-y:auto; padding:8px 18px 14px; overscroll-behavior:contain; }
.t24-support-message { display:flex; flex-direction:column; align-items:flex-start; margin:14px 0; gap:4px; }
.t24-support-message.is-mine { align-items:flex-end; }
.t24-support-message small { font-size:10px; line-height:1.5; color:#8490a2; padding-inline:4px; }
.t24-support-bubble { max-width:86%; border-radius:15px; padding:10px 13px; background:#f0f4f9; color:#24314a; font-size:13px; line-height:1.7; white-space:pre-wrap; overflow-wrap:anywhere; }
.is-mine .t24-support-bubble { background:#1265ef; color:#fff; }
.t24-support-history { text-align:center; flex-shrink:0; }
.t24-support-history button, .t24-support-inbox-pages button { background:transparent; border:0; color:#1265ef; padding:9px; font-size:11px; }
.t24-support-jump { position:absolute; align-self:center; bottom:96px; display:flex; align-items:center; gap:6px; padding:7px 12px; border:1px solid #e3eaf5; border-radius:20px; background:#fff; color:#1265ef; font-size:11px; box-shadow:0 4px 15px #0d244019; }
.t24-support-composer { flex-shrink:0; padding:14px 16px; border-top:1px solid #e6ebf3; margin:0; background:#fff; }
.t24-support-composer-input { display:flex; align-items:center; gap:8px; }
.t24-support-composer textarea { flex:1; min-width:0; min-height:42px; max-height:130px; resize:vertical; border:1px solid #e6ebf3; background:#f5f8fd; color:#1b2942; border-radius:14px; padding:10px 12px; font-size:13px; line-height:1.6; }
.t24-support-send { display:grid; place-items:center; width:36px; height:36px; border:0; border-radius:11px; background:#edf4ff; color:#1265ef; }
.t24-support-composer-meta { display:flex; justify-content:space-between; margin-top:7px; gap:10px; font-size:9px; color:#93a0b2; }
.t24-support-inbox { flex:1; min-height:0; overflow-y:auto; }
.t24-support-search { display:flex; align-items:center; gap:8px; padding:16px; color:#8190a5; }
.t24-support-search input { min-width:0; width:100%; min-height:40px; border:1px solid #e6ebf3; background:#f5f8fd; border-radius:10px; color:#1b2942; padding:9px 12px; font-size:12px; }
.t24-support-inbox-item { display:flex; flex-direction:column; gap:6px; width:100%; padding:14px 18px; text-align:start; border:0; border-bottom:1px solid #edf1f7; background:#fff; color:#1b2942; }
.t24-support-inbox-item:hover { background:#f6f9fe; }
.t24-support-inbox-item strong { font-size:13px; }
.t24-support-inbox-item span { width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px; color:#718097; }
.t24-support-inbox-item small { font-size:10px; color:#1265ef; }
.t24-support-inbox-pages { display:flex; justify-content:space-around; align-items:center; padding:8px; font-size:11px; }
.t24-support-count { border-radius:20px; background:#ee465d; color:#fff; padding:2px 6px; font-size:10px; }
.t24-support-minibar { padding:9px 14px; }
.t24-support-minibar button { display:flex; align-items:center; gap:8px; border:0; background:transparent; color:#fff; padding:3px; }
.t24-support-sr-only, .t24-support-honeypot { position:absolute!important; width:1px; height:1px; padding:0; overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; }
.t24-support button:focus-visible, .t24-support a:focus-visible { outline:3px solid #98bffa; outline-offset:2px; }
.t24-support button:disabled { cursor:not-allowed; }
.t24-support :is(.t24-support-form-body,.t24-support-log,.t24-support-inbox) { scrollbar-width:thin; scrollbar-color:#c9d5e7 transparent; }
.t24-support :is(.t24-support-form-body,.t24-support-log,.t24-support-inbox)::-webkit-scrollbar { width:5px; }
.t24-support :is(.t24-support-form-body,.t24-support-log,.t24-support-inbox)::-webkit-scrollbar-thumb { background:#c9d5e7; border-radius:6px; }
/* The standalone contact page shares form controls, without dock scrolling. */
.t24-contact-page { max-width:1120px; margin:40px auto; padding:0 20px; }
.t24-contact-intro { text-align:center; margin-bottom:32px; }
.t24-contact-intro h1 { font-size:32px; margin:12px; }
.t24-contact-intro p { max-width:650px; margin:auto; line-height:1.9; }
.t24-contact-eyebrow { display:inline-flex; align-items:center; gap:8px; color:#1265ef; }
.t24-contact-grid { display:grid; grid-template-columns:1.65fr 1fr; gap:24px; }
.t24-contact-card { padding:28px; border:1px solid #dce3ed; border-radius:20px; background:#fff; color:#1b2942; }
.t24-contact-card-header,.t24-contact-team,.t24-contact-benefit { display:flex; align-items:center; gap:16px; margin-bottom:22px; }
.t24-contact-card-header h2 { margin:0; font-size:21px; }
.t24-contact-card-header p { color:#718097; }
.t24-contact-page svg { width:24px; height:24px; flex-shrink:0; }
.t24-contact-benefit { padding:18px; border:1px solid #dce3ed; border-radius:14px; }
.t24-contact-benefit h2 { font-size:16px; }
.t24-contact-benefit p { font-size:14px; line-height:1.8; }
.t24-contact-privacy { display:flex; gap:12px; align-items:center; }
.t24-support-login-card { padding:24px; text-align:center; }
.t24-contact-card .t24-support-start-footer { padding:18px 0 0; margin-top:18px; }
.t24-contact-card .t24-support-field label { font-size:13px; }
.t24-contact-card .t24-support-field input,.t24-contact-card .t24-support-field textarea,.t24-contact-card .t24-support-field select { font-size:14px; min-height:44px; }
.t24-contact-card .t24-support-field textarea { height:130px; }
.t24-support-resume { padding:12px; border:0; border-radius:10px; background:#1265ef; color:#fff; margin-top:12px; }
@media(max-width:700px) {
  .t24-contact-grid { grid-template-columns:1fr; }
  .t24-contact-card { padding:20px; }
  .t24-contact-intro h1 { font-size:26px; }
}
@media(max-width:600px) {
  .t24-support { bottom:calc(82px + env(safe-area-inset-bottom)); inset-inline-end:12px; }
  .t24-support-panel { position:fixed; bottom:8px; inset-inline:8px; width:auto; height:calc(100dvh - 16px); border-radius:20px; padding-bottom:env(safe-area-inset-bottom); }
  .t24-support-header { min-height:72px; padding:14px 16px; gap:8px; }
  .t24-support-welcome { padding:16px 18px 12px; }
  .t24-support-start-panel .t24-support-form-body { padding-inline:18px; }
  .t24-support-start-footer { padding:12px 18px; }
  .t24-support-launcher { padding:11px 14px; }
  /* 16px prevents the browser from zooming the form when focused on iOS. */
  .t24-support-field input,.t24-support-field textarea,.t24-support-field select,.t24-support-composer textarea { font-size:16px; }
}
@media(max-width:360px) {
  .t24-support-form-grid { grid-template-columns:1fr; }
  .t24-support-heading h2 { font-size:14px; }
  .t24-support-heading p { font-size:10px; }
}
@media(prefers-reduced-motion:reduce) { .t24-support-spinner { animation:none; } .t24-support-field input,.t24-support-field textarea,.t24-support-field select { transition:none; } }
