.ask-bsn{
  --ab-navy:#071d3d;
  --ab-blue:#0a5aa8;
  --ab-orange:#f26a21;
  --ab-red:#d92d20;
  --ab-line:#dfe7f0;
  --ab-muted:#66758a;
  font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}

.ask-bsn,.ask-bsn *{box-sizing:border-box}

.ask-bsn-launcher{
  position:fixed;
  right:22px;
  bottom:22px;
  z-index:9998;
  border:0;
  border-radius:999px;
  padding:13px 18px;
  display:flex;
  align-items:center;
  gap:9px;
  background:linear-gradient(135deg,var(--ab-orange),var(--ab-red));
  color:#fff;
  font:inherit;
  font-weight:850;
  cursor:pointer;
  box-shadow:0 14px 34px rgba(7,29,61,.25);
}
.ask-bsn-launcher-mark{font-size:18px}

.ask-bsn-panel{
  position:fixed !important;
  top:auto !important;
  right:22px !important;
  bottom:82px !important;
  left:auto !important;
  z-index:9999 !important;
  width:min(410px,calc(100vw - 28px)) !important;
  height:min(590px,calc(100vh - 118px)) !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  background:#fff !important;
  border:1px solid var(--ab-line) !important;
  border-radius:20px !important;
  box-shadow:0 24px 70px rgba(7,29,61,.24) !important;
  overflow:hidden !important;
  display:flex !important;
  flex-direction:column !important;
}
.ask-bsn-panel[hidden]{display:none !important}

.ask-bsn-header{
  position:static !important;
  top:auto !important;
  z-index:auto !important;
  flex:0 0 auto;
  margin:0 !important;
  padding:15px 17px !important;
  min-height:78px;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  backdrop-filter:none !important;
  background:linear-gradient(145deg,var(--ab-navy),#0c2f5f) !important;
  color:#fff !important;
  display:flex !important;
  justify-content:space-between !important;
  align-items:center !important;
}
.ask-bsn-header strong{font-size:20px;color:#fff}
.ask-bsn-kicker{font-size:10px;text-transform:uppercase;letter-spacing:.13em;color:#c9d9eb;font-weight:800}
.ask-bsn-close{
  border:0 !important;
  background:rgba(255,255,255,.12) !important;
  color:#fff !important;
  width:34px !important;
  height:34px !important;
  padding:0 !important;
  border-radius:50% !important;
  font-size:24px !important;
  line-height:1 !important;
  cursor:pointer;
  box-shadow:none !important;
}

.ask-bsn-messages{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:16px !important;
  margin:0 !important;
  background:#f7f9fc !important;
}
.ask-bsn-message{display:flex;margin:0 0 12px !important;padding:0 !important}
.ask-bsn-message.user{justify-content:flex-end}
.ask-bsn-bubble{
  max-width:88%;
  padding:11px 13px;
  border-radius:16px;
  background:#fff;
  border:1px solid var(--ab-line);
  color:#24364d;
  font-size:14px;
  line-height:1.45;
}
.ask-bsn-message.user .ask-bsn-bubble{background:var(--ab-navy);border-color:var(--ab-navy);color:#fff;border-bottom-right-radius:5px}
.ask-bsn-message.assistant .ask-bsn-bubble{border-bottom-left-radius:5px}

.ask-bsn-suggestions{display:flex;gap:7px;flex-wrap:wrap;margin:4px 0 14px;padding:0}
.ask-bsn-suggestions button{
  width:auto !important;
  min-height:0 !important;
  border:1px solid #cfdeed !important;
  background:#fff !important;
  color:var(--ab-blue) !important;
  border-radius:999px !important;
  padding:7px 10px !important;
  font:inherit !important;
  font-size:11px !important;
  font-weight:800 !important;
  cursor:pointer;
  box-shadow:none !important;
}

.ask-bsn-results{display:grid;gap:9px;margin:4px 0 14px}
.ask-bsn-card{display:block;text-decoration:none;background:#fff;border:1px solid var(--ab-line);border-radius:14px;padding:12px;color:#24364d}
.ask-bsn-card:hover{border-color:#b9cde0}
.ask-bsn-card strong{display:block;color:var(--ab-navy);font-size:14px}
.ask-bsn-card small{display:block;color:var(--ab-muted);margin-top:3px}
.ask-bsn-card p{margin:7px 0 0;font-size:12px;line-height:1.4;color:#4f6177}
.ask-bsn-card .ask-bsn-program{margin-top:8px;padding-top:7px;border-top:1px solid #edf1f5;color:var(--ab-blue);font-size:11px;font-weight:800}

/* Crisis Support Mode v7 */
.ask-bsn-crisis{
  flex:0 0 auto;
  margin:0 !important;
  padding:13px 14px !important;
  border-top:1px solid #f1d6c6 !important;
  border-bottom:1px solid #f1d6c6 !important;
  background:#fff8f3 !important;
  color:#24364d !important;
  max-height:52%;
  overflow-y:auto;
}
.ask-bsn-crisis[hidden]{display:none !important}
.ask-bsn-crisis-heading{
  display:flex;
  align-items:flex-start;
  gap:10px;
}
.ask-bsn-crisis-mark{
  flex:0 0 auto;
  width:30px;
  height:30px;
  border-radius:50%;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff0e7;
  color:var(--ab-orange);
  font-size:15px;
  font-weight:900;
}
.ask-bsn-crisis-heading strong{
  display:block;
  color:var(--ab-navy);
  font-size:14px;
  line-height:1.25;
}
.ask-bsn-crisis-heading p{
  margin:5px 0 0 !important;
  color:#4f6177 !important;
  font-size:11px !important;
  line-height:1.45 !important;
}
.ask-bsn-crisis-actions{
  display:grid;
  gap:7px;
  margin-top:11px;
}
.ask-bsn-crisis-action{
  display:flex;
  align-items:center;
  gap:9px;
  min-height:48px;
  padding:8px 10px;
  border:1px solid #ead8cd;
  border-radius:12px;
  background:#fff;
  color:var(--ab-navy);
  text-decoration:none;
  box-shadow:none;
}
.ask-bsn-crisis-action:hover{
  border-color:#e4b89e;
  background:#fffdfb;
}
.ask-bsn-crisis-action:focus-visible{
  outline:3px solid rgba(10,90,168,.18);
  outline-offset:1px;
}
.ask-bsn-crisis-action-icon{
  flex:0 0 auto;
  width:30px;
  height:30px;
  border-radius:9px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  background:#fff0e7;
  color:var(--ab-orange);
  font-size:14px;
  font-weight:900;
}
.ask-bsn-crisis-action-copy{
  min-width:0;
  display:block;
}
.ask-bsn-crisis-action-copy strong{
  display:block;
  color:var(--ab-navy);
  font-size:12px;
  line-height:1.2;
}
.ask-bsn-crisis-action-copy small{
  display:block;
  margin-top:2px;
  color:var(--ab-muted);
  font-size:10px;
  line-height:1.25;
}
.ask-bsn-crisis-action-arrow{
  margin-left:auto;
  color:var(--ab-orange);
  font-size:21px;
  line-height:1;
}
.ask-bsn-crisis-continue{
  margin:10px 0 0 !important;
  color:#4f6177 !important;
  font-size:10px !important;
  line-height:1.4 !important;
  font-weight:650 !important;
}

.ask-bsn-form{
  position:static !important;
  flex:0 0 auto;
  width:100% !important;
  margin:0 !important;
  padding:11px !important;
  border:0 !important;
  border-top:1px solid var(--ab-line) !important;
  border-radius:0 !important;
  background:#fff !important;
  box-shadow:none !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  gap:8px !important;
  align-items:end !important;
}
.ask-bsn-form textarea{
  width:100% !important;
  min-width:0 !important;
  min-height:44px !important;
  max-height:104px !important;
  height:44px;
  margin:0 !important;
  resize:none;
  border:1px solid #ccd7e4 !important;
  border-radius:12px !important;
  padding:10px 11px !important;
  background:#fff !important;
  color:#24364d !important;
  font:inherit !important;
  font-size:14px !important;
  line-height:1.45 !important;
  outline:none;
  box-shadow:none !important;
}
.ask-bsn-form textarea:focus{border-color:var(--ab-blue) !important;box-shadow:0 0 0 3px rgba(10,90,168,.09) !important}
.ask-bsn-form button{
  width:auto !important;
  height:44px !important;
  min-height:44px !important;
  margin:0 !important;
  border:0 !important;
  border-radius:11px !important;
  padding:0 15px !important;
  background:var(--ab-navy) !important;
  color:#fff !important;
  font:inherit !important;
  font-weight:850 !important;
  cursor:pointer;
  box-shadow:none !important;
}
.ask-bsn-form button:disabled{opacity:.55;cursor:wait}
.ask-bsn-disclaimer{
  flex:0 0 auto;
  margin:0 !important;
  padding:0 12px 10px !important;
  background:#fff !important;
  color:var(--ab-muted) !important;
  font-size:10px !important;
  line-height:1.35 !important;
}
.ask-bsn-typing{color:var(--ab-muted);font-size:12px;padding:4px 2px 10px}
.ask-bsn-sr-only{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}

@media(max-width:600px){
  .ask-bsn-launcher{right:14px;bottom:14px}
  .ask-bsn-panel{
    right:7px !important;
    bottom:70px !important;
    width:calc(100vw - 14px) !important;
    height:min(74vh,620px) !important;
    border-radius:18px !important;
  }
  .ask-bsn-crisis{max-height:48%}
}

/* Voice conversation controls v5 */
.ask-bsn-header-actions{display:flex;align-items:center;gap:8px}
.ask-bsn-voice-toggle,
.ask-bsn-replay,
.ask-bsn-mic{
  appearance:none;
  -webkit-appearance:none;
  border:0;
  cursor:pointer;
  font:inherit;
}
.ask-bsn-voice-toggle{
  width:34px!important;
  height:34px!important;
  padding:0!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.12)!important;
  color:#fff!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:none!important;
}
.ask-bsn-message.assistant{align-items:flex-end;gap:6px}
.ask-bsn-replay{
  flex:0 0 auto;
  width:28px!important;
  height:28px!important;
  padding:0!important;
  border-radius:50%!important;
  background:#eaf3fb!important;
  color:var(--ab-blue)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:none!important;
  font-size:13px!important;
}
.ask-bsn-form{
  grid-template-columns:auto minmax(0,1fr) auto!important;
}
.ask-bsn-mic{
  width:44px!important;
  height:44px!important;
  min-height:44px!important;
  padding:0!important;
  border-radius:11px!important;
  background:#edf3f8!important;
  color:var(--ab-navy)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  box-shadow:none!important;
  font-size:18px!important;
}
.ask-bsn-mic.is-listening{
  background:#fff0ed!important;
  color:var(--ab-red)!important;
  box-shadow:0 0 0 3px rgba(217,45,32,.10)!important;
}
.ask-bsn-voice-status{
  flex:0 0 auto;
  min-height:18px;
  margin:0!important;
  padding:3px 12px 0!important;
  background:#fff!important;
  color:var(--ab-blue)!important;
  font-size:10px!important;
  font-weight:750!important;
  line-height:1.3!important;
}

/* Hands-free voice session v5 */
.ask-bsn-voice-session{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  gap:8px;
  margin:0!important;
  padding:8px 12px!important;
  border-top:1px solid #dce7f1;
  background:#eef6fc!important;
  color:var(--ab-navy)!important;
  font-size:11px!important;
  font-weight:800!important;
}
.ask-bsn-voice-session[hidden]{display:none!important}
.ask-bsn-voice-session button{
  margin-left:auto!important;
  padding:5px 9px!important;
  min-height:0!important;
  height:auto!important;
  width:auto!important;
  border:1px solid #c8dceb!important;
  border-radius:999px!important;
  background:#fff!important;
  color:var(--ab-navy)!important;
  font:inherit!important;
  font-size:10px!important;
  font-weight:850!important;
  cursor:pointer;
  box-shadow:none!important;
}
.ask-bsn-voice-dot{
  width:8px;
  height:8px;
  border-radius:50%;
  background:#17834a;
  box-shadow:0 0 0 4px rgba(23,131,74,.10);
  flex:0 0 auto;
}
.ask-bsn-voice-session.is-listening .ask-bsn-voice-dot{
  animation:askBsnPulse 1.25s ease-in-out infinite;
}
.ask-bsn-voice-session.is-speaking .ask-bsn-voice-dot{background:var(--ab-blue)}
.ask-bsn-voice-session.is-thinking .ask-bsn-voice-dot{background:#b36a00}
@keyframes askBsnPulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.35);opacity:.55}}
@media (prefers-reduced-motion:reduce){.ask-bsn-voice-session.is-listening .ask-bsn-voice-dot{animation:none}}
.ask-bsn-mic.is-session-active{
  background:#e7f5ed!important;
  color:#11683c!important;
  box-shadow:0 0 0 3px rgba(17,104,60,.10)!important;
}