/* A persistent, shared consultation rail; the four entries keep their identity. */
.support-dock {
  position: fixed;
  right: 20px;
  bottom: 28px;
  z-index: 58;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 4px;
  width: 76px;
  padding: 6px;
  isolation: isolate;
  border: 1px solid #d3e0f1;
  border-radius: 24px;
  background: #ffffffed;
  box-shadow: 0 12px 36px #244c7f18, 0 2px 6px #244c7f08;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.support-dock button {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: 100%;
  min-width: 0;
  min-height: 64px;
  padding: 8px 4px;
  border: 1px solid transparent;
  border-radius: 16px;
  background: transparent;
  color: #45617f;
  font-size: 12px;
  line-height: 1.5;
  font-weight: 500;
  transition: background .16s, color .16s, border-color .16s, box-shadow .16s;
}
.support-dock button > span { max-width: 100%; overflow-wrap: anywhere; }
.support-dock button:hover { background: #f3f7fd; color: #0f54d4; }
.support-dock button[aria-expanded=true] { background: #eaf2ff; border-color: #c7dafa; color: #0f54d4; }
.support-dock button:focus-visible { outline: 2px solid #3d8cf1; outline-offset: 2px; }
.support-dock .support-dock-ai {
  border-color: #0f54d4;
  background: linear-gradient(155deg, #2368da, #0f54d4);
  color: white;
  box-shadow: 0 4px 10px #0f54d41f, inset 0 1px 0 #ffffff26;
}
.support-dock .support-dock-ai:hover,
.support-dock .support-dock-ai[aria-expanded=true] { background: #124bb6; border-color: #124bb6; color: white; }
.support-dock .support-dock-top { color: #546984; }
html.has-support-dock { scroll-padding-bottom: var(--support-clearance, 0px); }
html.has-support-dock .site-footer { padding-bottom: var(--support-clearance, 0px); }
.support-icon{display:block;flex-shrink:0;width:22px;height:22px;max-width:none;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.support-dock .support-icon{width:22px;height:22px;stroke-width:1.7}
.support-panel{position:fixed;inset:auto 108px 28px auto;width:380px;max-width:calc(100vw - 32px);max-height:calc(100dvh - 120px);margin:0;padding:0;overflow:hidden;border:1px solid #dce5ee;border-radius:23px;background:#fff;color:#234154;box-shadow:0 20px 80px #0b233a30;font:14px/1.7 var(--font,'Noto Sans SC','Noto Sans SC Fallback',sans-serif)}
.support-panel::backdrop{background:#0c27341a}
.support-panel [hidden],.support-dock[hidden]{display:none!important}
.support-panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:83px;padding:17px 16px 15px 21px;border-bottom:1px solid #edf1f6;background:#fbfdff}
.support-panel-heading{display:flex;align-items:center;gap:12px;min-width:0}
.support-panel-mark{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:38px;height:38px;border:1px solid #dce9fc;border-radius:12px;background:#edf5ff;color:#2469c5}
.support-panel-head h2{margin:0;color:#183950;font-size:16px;font-weight:600;line-height:25px;letter-spacing:0}
.support-panel-head p{margin:1px 0 0;color:#7c8b9a;font-size:11px;line-height:17px}
.support-panel button{font-family:inherit}
.support-panel-close{display:flex;flex-shrink:0;align-items:center;justify-content:center;width:44px;height:44px;padding:12px;border-radius:12px;background:transparent;color:#637889}
.support-panel-close:hover{background:#edf2f7;color:#23445e}
.support-panel-close .support-icon{width:18px;height:18px}
.support-assistant{display:flex;flex-direction:column;height:min(530px,calc(100dvh - 215px));min-height:300px}
.support-transcript{flex:1;min-height:0;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#d4deea transparent;padding:20px 20px 15px}
.support-message{margin:0 0 16px;overflow-wrap:anywhere}
.support-message:last-child{margin-bottom:0}
.support-message-label{display:block;margin-bottom:5px;color:#8795a3;font-size:10px;line-height:16px}
.support-message p{margin:0;font-size:13px;line-height:1.9;white-space:pre-wrap}
.support-message--user{max-width:92%;margin-left:auto;padding:10px 13px;border-radius:14px 14px 3px 14px;background:#edf5ff;color:#214d7a}
.support-message--user .support-message-label{color:#6c8baa}
.support-answer-actions{display:flex;flex-wrap:wrap;gap:5px 14px;margin-top:9px}
.support-answer-actions a,.support-answer-actions button{display:inline-flex;align-items:center;gap:5px;min-height:33px;margin:0;padding:2px 0;background:transparent;color:#2463ae;font-size:12px;line-height:20px;text-decoration:none}
.support-answer-actions .support-icon{width:14px;height:14px}
.support-answer-actions a:hover,.support-answer-actions button:hover{color:#0b4191;text-decoration:underline;text-underline-offset:4px}
.support-topics{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin:14px 0 2px}
.support-topics button{display:flex;flex-direction:column;gap:3px;align-items:flex-start;min-width:0;min-height:63px;margin:0;padding:10px 11px;border:1px solid #e4ebf3;border-radius:12px;background:#fcfdff;color:#35546a;text-align:left;line-height:20px}
.support-topics button strong{font-size:12px;font-weight:500}
.support-topics button span{color:#8592a1;font-size:10px;line-height:17px}
.support-topics button:hover{border-color:#bdd2f1;background:#f3f8ff;color:#1757ab}
.support-assistant-links{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 19px 6px;border-top:1px solid #edf1f6}
.support-assistant-links button{min-height:32px;padding:3px 0;background:transparent;color:#5b7b96;font-size:11px;line-height:20px}
.support-assistant-links button:first-child{color:#2463ae}
.support-assistant-links button:hover{color:#104784}
.support-composer{display:flex;flex-shrink:0;align-items:flex-end;gap:7px;margin:0 15px;padding:9px 9px 9px 12px;border:1px solid #d9e3ef;border-radius:13px;background:#fff}
.support-composer:focus-within{border-color:#82a9de;box-shadow:0 0 0 3px #1b65c309}
.support-composer textarea{display:block;flex:1;min-width:0;width:100%;height:40px;margin:0;padding:3px 0;border:0;outline:0!important;box-shadow:none;background:transparent;color:#234154;font:12px/20px var(--font,'Noto Sans SC','Noto Sans SC Fallback',sans-serif);resize:none}
.support-composer textarea::placeholder{color:#98a5b2}
.support-composer button{display:flex;align-items:center;justify-content:center;flex-shrink:0;width:36px;height:36px;margin:0;padding:10px;border-radius:10px;background:#2466bc;color:white}
.support-composer button:disabled{background:#edf2f8;color:#a9b9cd;cursor:default}
.support-composer button:not(:disabled):hover{background:#1550a0}
.support-composer .support-icon{width:18px;height:18px}
.support-assistant-note{margin:0;padding:8px 15px 10px;color:#8a98a5;text-align:center;font-size:10px;line-height:17px}
.support-contact-body{max-height:calc(100dvh - 215px);overflow:auto;padding:22px}
.support-contact-intro{margin:0 0 17px;color:#637b8c;font-size:13px;line-height:1.9}
.support-wecom-card{padding:23px 18px;border:1px solid #e4ebf1;border-radius:16px;background:#f8fbfd;text-align:center}
.support-wecom-placeholder{display:flex;align-items:center;justify-content:center;width:58px;height:58px;margin:0 auto 12px;border:1px solid #dcebe7;border-radius:18px;background:#eef7f3;color:#38876c}
.support-wecom-placeholder .support-icon{width:29px;height:29px}
.support-wecom-card h3{margin:0 0 8px;color:#24495b;font-size:14px;line-height:24px;font-weight:500}
.support-wecom-card p{margin:0;color:#7c8e9d;font-size:12px;line-height:1.9}
.support-wecom-image{display:block;width:168px;height:168px;margin:0 auto 12px;padding:7px;border:1px solid #e1e9ef;border-radius:10px;object-fit:contain;background:#fff}
.support-wecom-test-label{display:inline-block;margin:0 auto 13px!important;padding:4px 8px;border:1px solid #ecdfbe;border-radius:7px;background:#fff9ec;color:#8b723e!important;font-size:10px!important;line-height:18px!important}
.support-contact-link{display:inline-flex;align-items:center;justify-content:center;min-height:40px;margin-top:14px;padding:8px 16px;border:1px solid #d4e7df;border-radius:10px;background:#f6fffa;color:#2b795f;font-size:12px}
.support-contact-link:hover{background:#ebf8f1}
.support-phone-card{margin-top:17px;padding:16px 0 1px;border-top:1px solid #edf1f6}
.support-phone-card h3{margin:0 0 7px;color:#677e91;font-size:11px;line-height:20px;font-weight:400}
.support-phone-number{display:block;color:#214d73;font-family:'Manrope',var(--font,sans-serif);font-size:24px;line-height:36px;font-weight:600;letter-spacing:-.035em;white-space:nowrap}
.support-phone-card p{margin:6px 0 0;color:#8795a3;font-size:11px;line-height:19px}
.support-phone-actions{display:flex;gap:8px;margin-top:12px}
.support-phone-actions a,.support-phone-actions button,.support-contact-cta{display:flex;align-items:center;justify-content:center;gap:7px;min-height:41px;padding:9px 13px;border:1px solid #d9e4ef;border-radius:10px;background:white;color:#436b91;font-size:12px;line-height:21px}
.support-phone-actions a{background:#eef5fe;border-color:#dce9fa;color:#1e5ca7}
.support-phone-actions a:hover,.support-phone-actions button:hover{background:#eaf3fe;color:#174a8b}
.support-contact-cta{width:100%;margin-top:16px;border-color:#cbdcf2;background:#f4f8ff;color:#245b9f}
.support-contact-cta:hover{background:#eaf2ff}
.support-contact-about{display:block;min-height:36px;margin:8px 0 0;padding:7px 0 0;color:#8a9aaa;font-size:11px;text-align:center}
.support-contact-about:hover{color:#3a658c}
.support-contact-body[data-contact-kind=phone] .support-phone-card{margin:0;padding:0;border:0}
.support-copy-status{min-height:20px;margin:5px 0 0;color:#397a65;font-size:11px;line-height:20px}
.support-sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}

/* Switch to a bottom rail before a vertical rail would intrude on the content. */
@media (max-width: 1439px) {
  .support-dock {
    left: 50%;
    right: auto;
    bottom: max(12px, env(safe-area-inset-bottom));
    transform: translateX(-50%);
    grid-template-columns: repeat(4, minmax(0, 1fr));
    width: min(420px, calc(100% - 32px));
    border-radius: 22px;
  }
  .support-dock button { min-height: 54px; gap: 4px; padding-block: 6px; }
  .support-dock .support-icon { width: 20px; height: 20px; }
  .support-panel {
    inset: auto max(16px, calc((100vw - 420px) / 2)) var(--support-clearance, 96px) auto;
    max-height: calc(100dvh - var(--support-clearance, 96px) - 16px);
  }
  .support-assistant { height: min(530px, calc(100dvh - var(--support-clearance, 96px) - 105px)); min-height: 0; }
  .support-contact-body { max-height: calc(100dvh - var(--support-clearance, 96px) - 105px); }
}
@media (max-width: 640px) {
  .support-dock { width: min(360px, calc(100% - 24px)); }
  .support-panel {
    inset: auto 12px var(--support-clearance, 96px) 12px;
    width: auto;
    max-width: none;
    border-radius: 24px;
  }
  .support-panel-head { min-height: 77px; padding: 14px 13px 13px 18px; }
  .support-panel-head h2 { font-size: 15px; }
  .support-transcript { padding: 17px 17px 13px; }
  .support-contact-body { padding: 20px; }
  .support-phone-number { font-size: 25px; }
}
@media (max-height: 550px) {
  .support-panel { inset: 12px 12px auto auto; max-height: calc(100dvh - 24px); }
  .support-assistant { height: calc(100dvh - 112px); min-height: 0; }
  .support-contact-body { max-height: calc(100dvh - 112px); }
}
@media (max-height: 550px) and (max-width: 640px) {
  .support-panel { left: 12px; }
}
@media (prefers-reduced-motion: reduce) { .support-dock button { transition: none; } }
