#ask-brokerhub-button { min-height:44px; padding:8px 12px; border:1px solid #ffffff66; border-radius:20px; color:#fff; background:#ffffff20; font-family:inherit; font-size:13px; font-weight:600; line-height:1.2; cursor:pointer; }
#ask-brokerhub-button:focus-visible { outline:3px solid #fff; outline-offset:3px; }
#brokerhub-qa-dialog { position:fixed; inset:0; margin:auto; box-sizing:border-box; width:min(680px, calc(100vw - 24px)); max-height:calc(100dvh - 24px); padding:0; border:1px solid var(--border, #dedbd5); border-radius:16px; background:var(--surface, #fff); color:var(--text, #202820); box-shadow:0 20px 80px #0005; overflow:auto; }
#brokerhub-qa-dialog::backdrop { background:#15251bb3; }
.qa-panel { padding:24px; }
.qa-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.qa-heading h2 { margin:0 0 6px; font-size:24px; }
.qa-heading p { margin:0; }
#brokerhub-qa-dialog button { min-width:44px; min-height:44px; padding:10px 14px; border:1px solid var(--border, #ccc); border-radius:8px; font:inherit; cursor:pointer; }
#brokerhub-qa-close { background:var(--surface2, #f4f4ef); color:inherit; }
#brokerhub-qa-dialog label { display:block; font-weight:600; margin:18px 0 8px; }
#brokerhub-qa-question { box-sizing:border-box; width:100%; min-height:100px; max-height:200px; padding:12px; resize:vertical; font-family:inherit; font-size:16px; line-height:1.5; border:1px solid var(--border2, #aaa); border-radius:8px; color:inherit; background:var(--surface2, #fafaf8); }
#brokerhub-qa-dialog :focus-visible { outline:3px solid #21825b; outline-offset:3px; }
.qa-actions { display:flex; gap:10px; align-items:center; margin-top:12px; flex-wrap:wrap; }
#brokerhub-qa-submit { color:white; background:#046a38; }
#brokerhub-qa-submit:disabled { opacity:.6; cursor:wait; }
#brokerhub-qa-retry { background:var(--surface2, #f5f5ef); color:inherit; }
#brokerhub-qa-status { min-height:1.5em; margin:16px 0 0; font-size:14px; }
.qa-answer { font-size:16px; font-weight:600; line-height:1.5; }
.qa-source, .qa-hint { font-size:12px; line-height:1.55; opacity:.85; }
.qa-hint { margin:8px 0; }
.qa-citation { border-left:3px solid #21825b; padding:4px 14px; margin:14px 0; background:var(--surface2, #f7f8f3); border-radius:0 8px 8px 0; }
.qa-excerpt { font-size:14px; line-height:1.6; white-space:pre-wrap; }
.qa-limitation { font-size:13px; line-height:1.5; padding:10px 12px; border:1px solid #a58134; border-radius:6px; }
#brokerhub-qa-result { overflow-wrap:anywhere; }
@media (max-width:560px) { .qa-panel { padding:18px; } .qa-heading h2 { font-size:21px; } #ask-brokerhub-button { font-size:12px; padding:6px 9px; } }
