.msg { max-width: 80ch; padding: .6rem .9rem; border-radius: .75rem; margin-bottom: .6rem; white-space: pre-wrap; }
.msg-user { background: #0d6efd; color: #fff; margin-left: auto; }
.msg-assistant { background: #fff; border: 1px solid #dee2e6; }
#transcript { display: flex; flex-direction: column; }
.portal-main { min-height: calc(100vh - 56px); }
.login-box { max-width: 420px; }
