.vish-chat{max-width:900px;margin-top:2rem;border:1px solid rgba(79,168,255,.22);border-radius:1.25rem;background:linear-gradient(145deg,rgba(7,16,46,.76),rgba(3,6,17,.96));overflow:hidden}
.vish-chat-disclosure{display:flex;justify-content:space-between;gap:1rem;padding:1rem 1.2rem;border-bottom:1px solid rgba(178,185,210,.12);background:rgba(79,168,255,.045)}
.vish-chat-disclosure strong{font-size:.82rem;letter-spacing:.08em;text-transform:uppercase;color:var(--gobs-accretion-blue)}
.vish-chat-disclosure span{font-size:.8rem;color:var(--g10-secondary);text-align:right}
.vish-chat-starters{display:flex;flex-wrap:wrap;gap:.55rem;padding:1rem 1.2rem 0}
.vish-chat-starters button{border:1px solid rgba(178,185,210,.2);border-radius:999px;background:rgba(7,16,46,.52);color:var(--g10-support);padding:.55rem .75rem;font:inherit;font-size:.78rem;cursor:pointer}
.vish-chat-starters button:hover,.vish-chat-starters button:focus-visible{border-color:rgba(79,168,255,.58);color:var(--gobs-stellar-white)}
.vish-chat-transcript{min-height:250px;max-height:560px;overflow:auto;padding:1rem 1.2rem;display:flex;flex-direction:column;gap:.8rem;scroll-behavior:smooth}
.vish-chat-suggestions{display:flex;flex-wrap:wrap;gap:.5rem;padding:0 1.2rem 1rem}
.vish-chat-suggestions[hidden]{display:none}
.vish-chat-suggestions button{border:1px solid rgba(79,168,255,.2);border-radius:999px;background:rgba(79,168,255,.055);color:var(--g10-support);padding:.5rem .7rem;font:inherit;font-size:.76rem;cursor:pointer}
.vish-chat-suggestions button:hover,.vish-chat-suggestions button:focus-visible{border-color:rgba(79,168,255,.58);color:var(--gobs-stellar-white)}
.vish-message{max-width:min(82%,680px);padding:.85rem 1rem;border-radius:1rem;line-height:1.55;color:var(--g10-reading);white-space:pre-wrap;overflow-wrap:anywhere}
.vish-message[data-role="assistant"]{align-self:flex-start;border:1px solid rgba(79,168,255,.16);background:rgba(7,16,46,.62)}
.vish-message[data-role="user"]{align-self:flex-end;border:1px solid rgba(193,178,255,.18);background:rgba(122,92,255,.12)}
.vish-message-label{display:block;margin-bottom:.35rem;font-size:.66rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:var(--gobs-accretion-blue)}
.vish-message[data-role="user"] .vish-message-label{color:var(--gobs-lens-lavender)}
.vish-citations{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.65rem}
.vish-citations a,.vish-citations span{font-size:.7rem;color:var(--gobs-accretion-blue)}
.vish-chat-form{padding:1rem 1.2rem 1.2rem;border-top:1px solid rgba(178,185,210,.12)}
.vish-chat-form label{display:block;margin-bottom:.55rem;font-size:.82rem;font-weight:700;color:var(--g10-reading)}
.vish-chat-form textarea{width:100%;min-height:54px;max-height:184px;resize:none;overflow-y:auto;border:1px solid rgba(178,185,210,.22);border-radius:.8rem;background:rgba(3,6,17,.76);color:var(--gobs-stellar-white);padding:.82rem .95rem;line-height:1.45;outline:none}
.vish-chat-form textarea::placeholder{color:rgba(241,245,251,.56)}
.vish-chat-form textarea:focus{border-color:rgba(79,168,255,.7);box-shadow:0 0 0 3px rgba(79,168,255,.08)}
.vish-chat-form textarea[readonly]{cursor:default}
.vish-chat-composer-meta{display:flex;justify-content:space-between;gap:1rem;margin-top:.4rem;color:var(--g10-secondary);font-size:.7rem;line-height:1.35}
.vish-chat-composer-meta #vish-chat-char-count{white-space:nowrap}
.vish-chat-composer-meta #vish-chat-char-count.is-near-limit{color:#ffbe78}
.vish-chat-actions{display:flex;flex-wrap:wrap;gap:.6rem;align-items:center;margin-top:.75rem}
.vish-chat-actions .button{min-width:110px;touch-action:manipulation}
.vish-chat-actions .button:disabled{opacity:.48;cursor:not-allowed}
.vish-chat-text-action{border:0;background:transparent;color:var(--g10-secondary);padding:.55rem .35rem;font:inherit;font-size:.78rem;cursor:pointer;text-decoration:underline;text-underline-offset:.2em;touch-action:manipulation}
.vish-chat-text-action:hover,.vish-chat-text-action:focus-visible{color:var(--gobs-stellar-white)}
.vish-chat-text-action:disabled{opacity:.48;cursor:not-allowed}
.vish-dictate-button[aria-pressed="true"]{border-color:rgba(79,168,255,.72);background:rgba(79,168,255,.12);color:var(--gobs-stellar-white)}
.vish-chat.is-listening .vish-chat-form textarea{border-color:rgba(79,168,255,.72);box-shadow:0 0 0 3px rgba(79,168,255,.08)}
.vish-chat-privacy,.vish-chat-status{max-width:none!important;margin:.2rem 1.2rem 1rem!important;font-size:.78rem!important;line-height:1.5!important}
.vish-chat-privacy{color:var(--g10-secondary)!important}
.vish-chat-status{min-height:1.2rem;color:var(--gobs-accretion-blue)!important}
.vish-handoff-notice{max-width:900px;margin:1.4rem 0 .4rem;padding:1rem 1.1rem;border-left:3px solid var(--gobs-event-violet);border-radius:.4rem;background:rgba(122,92,255,.08)}
.vish-handoff-notice strong,.vish-handoff-notice span{display:block}
.vish-handoff-notice strong{margin-bottom:.25rem;color:var(--gobs-stellar-white)}
.vish-handoff-notice span{color:var(--g10-support)}
.vish-chat.is-busy .vish-chat-form button[type="submit"]{opacity:.55;cursor:wait}
.vish-chat.is-terminated{border-color:rgba(255,255,255,.16)}
.vish-chat.is-terminated .vish-chat-starters,.vish-chat.is-terminated .vish-chat-suggestions{display:none}
.vish-chat.is-terminated .vish-chat-form textarea{opacity:.58;cursor:not-allowed}
.vish-chat.is-terminated .vish-chat-form button{opacity:.5;cursor:not-allowed}
@media(max-width:700px){
  .vish-chat{margin-top:1.5rem;border-radius:1rem}
  .vish-chat-disclosure{flex-direction:column;gap:.35rem}
  .vish-chat-disclosure span{text-align:left}
  .vish-chat-starters{display:grid;grid-template-columns:1fr}
  .vish-chat-starters button{text-align:left;border-radius:.75rem}
  .vish-chat-transcript{min-height:220px;max-height:480px;padding:1rem}
  .vish-chat-suggestions{display:grid;grid-template-columns:1fr;padding:0 1rem 1rem}
  .vish-chat-suggestions button{text-align:left;border-radius:.75rem}
  .vish-message{max-width:92%}
  .vish-chat-form{padding:1rem}
  .vish-chat-composer-meta{align-items:flex-start}
  .vish-chat-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}
  .vish-chat-actions .button{width:100%;min-width:0}
  .vish-chat-text-action{min-height:44px}
  #vish-chat-keyboard-hint{display:none}
  .vish-chat-composer-meta{justify-content:flex-end}
  .vish-chat-privacy,.vish-chat-status{margin-left:1rem!important;margin-right:1rem!important}
}

@media(prefers-reduced-motion:reduce){
  .vish-chat-transcript{scroll-behavior:auto}
}

.vish-inline-action{margin:0 1.2rem 1rem;padding:1rem;border:1px solid rgba(79,168,255,.2);border-radius:.9rem;background:rgba(79,168,255,.05)}
.vish-inline-action[hidden]{display:none}
.vish-inline-action h3{margin:0 0 .35rem;font-size:1rem;color:var(--gobs-stellar-white)}
.vish-inline-action p{margin:.25rem 0 .8rem!important;max-width:none!important;color:var(--g10-support)!important;font-size:.8rem!important;line-height:1.5!important}
.vish-inline-grid{display:grid;grid-template-columns:1fr 1fr;gap:.7rem}
.vish-inline-field{display:flex;flex-direction:column;gap:.35rem}
.vish-inline-field-wide{grid-column:1/-1}
.vish-inline-field label{font-size:.76rem;font-weight:700;color:var(--g10-reading)}
.vish-inline-field input,.vish-inline-field textarea{width:100%;border:1px solid rgba(178,185,210,.22);border-radius:.7rem;background:rgba(3,6,17,.76);color:var(--gobs-stellar-white);padding:.7rem .8rem;font:inherit;line-height:1.45;outline:none}
.vish-inline-field textarea{min-height:110px;resize:vertical}
.vish-inline-field input:focus,.vish-inline-field textarea:focus{border-color:rgba(79,168,255,.7);box-shadow:0 0 0 3px rgba(79,168,255,.08)}
.vish-inline-actions{display:flex;flex-wrap:wrap;gap:.6rem;margin-top:.8rem}
.vish-inline-note{font-size:.72rem!important;color:var(--g10-secondary)!important}
.vish-inline-error{min-height:1rem;margin-top:.55rem!important;color:#ffb8c4!important}
@media(max-width:700px){.vish-inline-action{margin:0 1rem 1rem}.vish-inline-grid{grid-template-columns:1fr}.vish-inline-field-wide{grid-column:auto}.vish-inline-actions{display:grid;grid-template-columns:1fr}.vish-inline-actions .button{width:100%}}

.vish-mic-help{margin-top:.8rem;padding:.85rem .9rem;border:1px solid rgba(255,190,120,.28);border-radius:.8rem;background:rgba(255,190,120,.06)}
.vish-mic-help[hidden]{display:none}
.vish-mic-help strong{display:block;margin-bottom:.25rem;color:var(--gobs-stellar-white);font-size:.82rem}
.vish-mic-help p{margin:0!important;max-width:none!important;color:var(--g10-support)!important;font-size:.76rem!important;line-height:1.5!important}
.vish-mic-help-actions{display:flex;align-items:center;gap:.65rem;margin-top:.65rem}
.vish-mic-help-actions .button{min-width:100px}
@media(max-width:700px){.vish-mic-help-actions{display:grid;grid-template-columns:1fr 1fr}.vish-mic-help-actions .button,.vish-mic-help-actions .vish-chat-text-action{width:100%;min-height:44px}}

.vish-handoff-review{display:grid;gap:.65rem;margin:.8rem 0}
.vish-handoff-review-row{display:grid;grid-template-columns:82px minmax(0,1fr);gap:.75rem;align-items:start;padding:.65rem .7rem;border:1px solid rgba(178,185,210,.14);border-radius:.65rem;background:rgba(3,6,17,.45)}
.vish-handoff-review-row strong{font-size:.74rem;color:var(--g10-secondary);text-transform:uppercase;letter-spacing:.06em}
.vish-handoff-review-row span{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--g10-reading);font-size:.82rem;line-height:1.5}
@media(max-width:700px){.vish-handoff-review-row{grid-template-columns:1fr;gap:.2rem}}
