:root{--bg:#0b1118;--panel:#121c27;--line:#2a4156;--text:#e7eef6;--muted:#a0b3c5;--green:#2cd382;--amber:#d0a24d;--red:#d05a5a}
*{box-sizing:border-box}body{margin:0;font-family:Rubik,Heebo,system-ui;background:radial-gradient(circle at top right,#163027 0%,var(--bg) 40%);color:var(--text)}
.hero{display:flex;justify-content:space-between;gap:16px;padding:16px 20px;border-bottom:1px solid var(--line);background:rgba(11,17,24,.95);position:sticky;top:0}
.kicker{margin:0;color:var(--green);font-size:12px;letter-spacing:.1em;text-transform:uppercase}h1{margin:6px 0}.subtitle{margin:0;color:var(--amber)}.demo-note{margin:6px 0 0;color:var(--muted);font-size:12px}
.status-stack{display:grid;gap:6px;justify-items:end}
.badge{padding:6px 10px;border-radius:999px;border:1px solid var(--line);font-size:12px}.neutral{background:#1b2734;color:#d4e0ed}.pass{background:#133226;border-color:#2f8f5f;color:#b4f3d4}.partial{background:#3a2d12;border-color:#8f6a2f;color:#f0dca8}.fail{background:#3a1a1a;border-color:#8f3a3a;color:#f3b5b5}
.score,.timestamp{color:var(--muted);font-size:13px}
.timestamp{max-width:560px;text-align:right}
.page{padding:16px;display:grid;gap:14px}.card{background:linear-gradient(180deg,var(--panel),#101923);border:1px solid var(--line);border-radius:12px;padding:14px}
.mode-tabs{display:flex;gap:8px;margin-top:10px}.tab{background:#1a2b3b;border:1px solid #36546d;color:#d7e4f0;border-radius:9px;padding:8px 12px;cursor:pointer}.tab.active{border-color:var(--green);color:#c4f6dd}
.mode{display:none}.mode.active{display:block}
pre{white-space:pre-wrap;background:#0f1720;border:1px solid #2d4358;border-radius:10px;padding:10px;overflow:auto}
.actions{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}button{background:#1a2a3b;border:1px solid #36546d;color:#dce7f3;border-radius:8px;padding:7px 11px;cursor:pointer}button:disabled{opacity:.55;cursor:not-allowed}
.hint{color:var(--muted);font-size:12px}.panel-muted{border:1px dashed #3a556c;border-radius:10px;padding:10px;color:#c7d5e2;background:#111c27}
.two-col{display:grid;grid-template-columns:1.3fr 1fr;gap:10px}.inner{padding:10px}
.validation-layout{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.conversation-stream{display:grid;gap:8px;max-height:320px;overflow:auto}
.conversation-stream{background:#000}
.msg{padding:8px 10px;border-radius:10px;max-width:85%}.buyer-agent{background:#173044;justify-self:start}.seller{background:#203527;justify-self:end}.buyer{background:#332920;justify-self:start}.system{background:#2a2a2a;justify-self:center;color:#b9c7d5}
.msg.idx-seller-agent{background:#203527;justify-self:end;border:1px solid #2f8f5f}.msg.adcp-tool{background:#101a24;justify-self:center;max-width:92%;border:1px solid #24405a;color:#cfe0f0;font-size:13px}.msg.adcp-tool code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#9fd0ff}.msg.error{background:#3a1518;justify-self:center;border:1px solid #8f3a3a;color:#f3c4c4}
.adcp-tool-detail{margin-top:6px}.adcp-tool-detail summary{cursor:pointer;color:#9fd0ff;font-size:12px}
.seller-flow-summary{margin-bottom:10px;padding:8px 10px;border:1px solid #2f8f5f;border-radius:10px;background:#13261c}.seller-flow-summary b{display:block;color:#b4f3d4;margin-bottom:6px}
.progress{height:8px;border-radius:999px;background:#1a2b3a;overflow:hidden}.progress span{display:block;height:100%;width:0;background:linear-gradient(90deg,#2cd382,#b9f3d3);transition:width .25s}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin-top:10px}.stat{border:1px solid #2d455a;border-radius:10px;padding:10px;background:#131f2b}.stat b{display:block;color:var(--amber);margin-bottom:4px}
.hidden{display:none}.row{display:flex;gap:8px;align-items:center}.spread{justify-content:space-between}
.detail-table{width:100%;border-collapse:collapse}.detail-table th,.detail-table td{border-bottom:1px solid #2a4156;padding:8px;text-align:left;vertical-align:top}.detail-table th{color:var(--amber)}
.relevant-options{margin:10px 0 4px}.relevant-options .hint{margin:0 0 6px}.relevant-options .detail-table{font-size:12px}.relevant-options .detail-table th,.relevant-options .detail-table td{padding:6px}
.list-chip{display:inline-block;padding:3px 7px;border:1px solid #3a556c;border-radius:999px;font-size:12px;margin:2px 4px 2px 0;background:#122334}
.target{border:1px solid #2d455a;border-radius:10px;padding:10px;margin-bottom:8px;background:#13202b}.target h4{margin:0 0 6px}.target .meta{color:var(--muted);font-size:12px}
.coverage-table{width:100%;border-collapse:collapse}.coverage-table th,.coverage-table td{border-bottom:1px solid #2a4156;padding:8px;text-align:left;vertical-align:top}.coverage-table th{color:var(--amber)}
.status-pill{display:inline-block;padding:2px 8px;border-radius:999px;border:1px solid #3a556c;font-size:12px}.pill-pass{background:#143326;color:#b4f3d4;border-color:#2f8f5f}.pill-wait{background:#1b2734;color:#d4e0ed}.pill-warn{background:#3a2d12;color:#f0dca8}.pill-fail{background:#3a1518;color:#f3c4c4;border-color:#8f3a3a}
@media (max-width:980px){.hero{position:static;display:grid}.two-col,.validation-layout{grid-template-columns:1fr}}

.helper-offline{background:#2b2f36;border-color:#4a5565;color:#d4d8df}.helper-running{background:#2d2a12;border-color:#8f7a2f;color:#efe1a6}.helper-online{background:#143326;border-color:#2f8f5f;color:#b4f3d4}.helper-error{background:#3a1a1a;border-color:#8f3a3a;color:#f3b5b5}

.target.roadmap{border-color:#8f6a2f;background:linear-gradient(180deg,#2a2413,#1f1a10)}
.target.roadmap h4{color:#f0dca8}
.target.roadmap .meta{color:#d7c48e}

.primary-run{width:100%;margin-top:10px;padding:12px 14px;font-weight:700;border-color:#2f8f5f;background:linear-gradient(180deg,#1d3b2c,#173123)}
.primary-run:disabled{border-color:#4a5565;background:#222a33}
.advanced-box{margin-top:12px;border:1px solid #2d455a;border-radius:10px;padding:10px;background:#121d29}
.advanced-box summary{cursor:pointer;color:#cfe0f1;font-weight:600}
.selected-target{border:1px solid #2d455a;border-radius:10px;padding:10px;background:#13202b;margin-bottom:10px}
.target.current{border-color:#2f8f5f;background:linear-gradient(180deg,#173126,#11261f)}
.target.current h4{color:#b7f3d7}
.target.future{border-color:#6b5a38;background:linear-gradient(180deg,#2b2618,#201c12)}
.target.future h4{color:#ecd9a4}

.info-dot{margin-left:6px;width:16px;height:16px;border-radius:999px;border:1px solid #4f6780;background:#172838;color:#cfe2f6;font-size:11px;line-height:14px;cursor:help;padding:0;position:relative}
.info-dot:hover,.info-dot:focus{outline:none;border-color:#7aa7d1;color:#fff}
.info-dot::after{content:attr(data-tip);position:absolute;left:50%;transform:translateX(-50%);bottom:130%;min-width:260px;max-width:340px;background:#0e1822;border:1px solid #35516b;color:#d8e6f3;padding:8px 10px;border-radius:8px;font-size:12px;line-height:1.35;white-space:normal;opacity:0;pointer-events:none;transition:opacity .12s ease;z-index:20;text-align:left}
.info-dot:hover::after,.info-dot:focus::after{opacity:1}

.actions.slim{margin-top:8px}
.secondary{background:#1b2532;border-color:#3b5068;color:#ccdaea}
.secondary-link{display:inline-block;text-decoration:none;background:#1b2532;border:1px solid #3b5068;color:#ccdaea;border-radius:8px;padding:7px 11px;font-size:14px}
.secondary-link:hover{border-color:#5f7a98;color:#e5eef8}
.secondary-link.log-out{background:#1c2b3a;border-color:#4a6f93;color:#cfe6ff}
.secondary-link.log-out:hover{border-color:#78a5d6;color:#e8f4ff}
.secondary-link[href*="stderr"]{background:#3a2020;border-color:#8f4a4a;color:#f2c3c3}
.secondary-link[href*="stderr"]:hover{border-color:#c66f6f;color:#ffe2e2}

.scenario-grid{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.scenario-option{border:1px solid #2d455a;border-radius:10px;padding:10px;background:#13202b}
.scenario-option.active{border-color:#2f8f5f;background:linear-gradient(180deg,#173126,#11261f)}
.scenario-option.publisher-blue{border-color:#3b6fa6;background:linear-gradient(180deg,#16293d,#112235)}
.scenario-option.publisher-blue b{color:#a8d0ff}
.scenario-option.publisher-blue.active{border-color:#5ca0e6;background:linear-gradient(180deg,#1a3350,#132b44)}
.scenario-option.network-amber{border-color:#9a6a1a;background:linear-gradient(180deg,#3a2b10,#281e0f)}
.scenario-option.network-amber b{color:#ffd58a}
.scenario-option.network-amber.active{border-color:#f0ae45;background:linear-gradient(180deg,#4b3510,#32240c)}
.scenario-option.disabled{opacity:.7;border-color:#6a5f4a;background:linear-gradient(180deg,#282317,#201c12)}
.scenario-option input{margin-right:6px}

.speed-wrap{display:inline-flex;align-items:center;gap:6px;color:#cbd8e6;font-size:13px}
.speed-wrap select{background:#162534;border:1px solid #3a556c;color:#dce7f3;border-radius:8px;padding:6px 8px}
.spin-dot{display:inline-block;width:8px;height:8px;border-radius:999px;background:#2cd382;animation:pulse 1s infinite ease-in-out;margin-right:6px}
@keyframes pulse{0%{opacity:.25}50%{opacity:1}100%{opacity:.25}}

.two-col{align-items:stretch}
.conversation-panel,.current-call-panel{min-height:380px;max-height:380px;overflow:hidden;display:flex;flex-direction:column}
.conversation-panel h3,.current-call-panel h3{flex:0 0 auto}
.conversation-stream,.current-call-content{flex:1 1 auto;overflow-y:auto;min-height:0}
.current-call-content pre{max-height:300px;overflow:auto}
.msg .tool-request{display:inline-flex;align-items:center;gap:6px;flex-wrap:wrap}
.msg .tool-request-name{font-family:ui-monospace,SFMono-Regular,Menlo,monospace}
.tool-info-badge{display:inline-flex;align-items:center;justify-content:center;width:16px;height:16px;border-radius:999px;border:1px solid #4d657c;background:#162534;color:#b7c8d8;font-size:11px;line-height:1;cursor:help;vertical-align:middle}
.tool-info-badge:focus{outline:2px solid #5ca0e6;outline-offset:1px}
.tool-meaning-inline{margin:4px 0 6px;color:var(--muted);font-size:12px}
.tool-glossary{margin-top:8px}
.tool-glossary-list{display:grid;gap:8px;margin-top:8px}
.tool-glossary-row{display:grid;grid-template-columns:minmax(170px,220px) 1fr;gap:10px;padding:8px 0;border-top:1px solid #2a4156}
.tool-glossary-row:first-child{border-top:none}
.tool-glossary-row code{color:#9fd0ff}
.business-summary{border:1px solid #2d455a;border-radius:10px;background:#13202b;padding:10px;line-height:1.45}
.business-summary h1,.business-summary h2,.business-summary h3,.business-summary h4{margin:8px 0 6px;color:#9fd0ff}
.business-summary p{margin:6px 0}
.business-summary ul,.business-summary ol{margin:6px 0 6px 20px}
.business-summary li{margin:4px 0}

.info-note{margin-top:10px;border:1px solid #3a556c;background:#122334;border-radius:10px;padding:10px;color:#d7e6f4}
.info-note b{color:#9fd0ff;display:block;margin-bottom:4px}
.info-note p{margin:0;font-size:13px;line-height:1.4}
.diag-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:8px;margin:10px 0}
.diag-card{border:1px solid #2d455a;border-radius:10px;padding:10px;background:#13202b}
.diag-card .title{font-weight:700}
.diag-card .status{display:inline-block;margin-top:6px;padding:2px 8px;border-radius:999px;font-size:12px;border:1px solid #3a556c}
.diag-card .status.partial{background:#3a2d12;color:#f0dca8;border-color:#8f6a2f}
.diag-card .status.skipped{background:#2a2a2a;color:#cfd8e3}
.diag-card .status.pass{background:#143326;color:#b4f3d4;border-color:#2f8f5f}
.diag-card .status.fail{background:#3a1a1a;color:#f3b5b5;border-color:#8f3a3a}
.step-strip{border:1px solid #3a556c;background:#122334}
.step-strip b{color:#9fd0ff}
.blocker{border-color:#8f3a3a;background:linear-gradient(180deg,#3a1a1a,#251414)}
.blocker h3{margin:0 0 8px;color:#ffd0d0}
.scenario-groups{display:grid;gap:10px;margin-top:8px}
.scenario-group{border:1px solid #2d455a;border-radius:10px;padding:8px;background:#13202b}
.scenario-row{border-top:1px solid #2a4156;padding:8px 0}
.scenario-row:first-child{border-top:none}
#sellerComparisonWrap h3{color:#a8d0ff}
.flow-strip{display:flex;gap:8px;flex-wrap:wrap}
.flow-step{padding:6px 8px;border:1px solid #2d455a;border-radius:999px;background:#131f2b;color:#c7d5e2;font-size:12px}
.flow-step.done{border-color:#2f8f5f;background:#143326;color:#b4f3d4}
.flow-step.current{border-color:#8f6a2f;background:#3a2d12;color:#f0dca8}
.flow-step.pending{opacity:.8}
.flow-legend{margin-top:8px;color:var(--muted);font-size:12px}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.55);display:grid;place-items:center;z-index:1000}
.modal.hidden{display:none}
.modal-card{width:min(980px,94vw);max-height:86vh;overflow:auto;background:linear-gradient(180deg,var(--panel),#101923);border:1px solid var(--line);border-radius:12px;padding:14px}
.review-controls{border:1px solid #2d455a;border-radius:10px;padding:8px 10px;background:#111c27;margin:4px 0 8px}
.buyer-agent-layout{display:grid;grid-template-columns:minmax(0,1.45fr) minmax(320px,.95fr);gap:12px;align-items:start}
.buyer-agent-main{display:grid;gap:10px}
.buyer-agent-side{display:grid;gap:10px}
.buyer-agent-header{align-items:flex-start}
.buyer-agent-controls-compact{display:grid;grid-template-columns:140px minmax(220px,1fr);gap:12px;align-items:start;min-width:420px}
.meta-label{font-size:12px;color:var(--muted);margin-bottom:4px}
.buyer-agent-input{width:100%;min-height:110px;border-radius:10px;border:1px solid #36546d;background:#0f1720;color:var(--text);padding:10px;font:inherit;resize:vertical;text-align:start;unicode-bidi:plaintext}
.buyer-agent-chat{min-height:360px;max-height:540px;background:#091018;border:1px solid #1f3345;border-radius:12px;padding:12px}
.msg-text{unicode-bidi:plaintext;text-align:start;white-space:pre-wrap;word-break:break-word}
.buyer-agent-followups{margin:10px 0 2px;padding:0}
.buyer-agent-followups h3{font-size:13px;margin:0 0 7px;color:#b9cfe1}
.buyer-agent-quick-replies{display:flex;flex-wrap:wrap;gap:6px}
.quick-reply-btn{border:1px solid #35516b;background:#102133;color:#d8e6f3;border-radius:6px;padding:6px 9px;font:inherit;font-size:12px;cursor:pointer}
.quick-reply-btn:hover{background:#17324a}
.telegram-choice-group{width:100%;margin:8px 0 3px;font-size:12px;font-weight:700;color:#9db7cf}
.msg-block{display:grid;gap:8px}
.msg-trace{margin-top:4px;border:1px solid #24405a;border-radius:12px;background:#0a141d;padding:8px 10px}
.msg-trace summary{cursor:pointer;color:#9fd0ff;font-size:12px}
.msg-trace-summary{color:#cbd8e6}
.msg-trace-list{display:grid;gap:6px;margin-top:8px}
.msg-trace-item{display:flex;gap:8px;align-items:flex-start;font-size:13px;line-height:1.4;color:#cbd8e6}
.msg-trace-item b{color:#dbe8f5}
.trace-pill{display:inline-flex;align-items:center;justify-content:center;min-width:64px;border-radius:999px;padding:2px 8px;font-size:11px;text-transform:uppercase}
.trace-pill.info{background:#1b2734;color:#d4e0ed;border:1px solid #35506d}
.trace-pill.success{background:#143326;color:#b4f3d4;border:1px solid #2f8f5f}
.trace-pill.warning{background:#3a2d12;color:#f0dca8;border:1px solid #8f6a2f}
.trace-pill.blocker{background:#3a1717;color:#f6b8b8;border:1px solid #a94e4e}
/* Compact, always-visible ADCP/protocol-call evidence under a booking reply --
   demo-visible without opening Debug / Prompts. */
.protocol-calls-panel{margin-top:4px;border:1px solid #24405a;border-radius:12px;background:#0a141d;padding:8px 10px;display:grid;gap:6px}
.protocol-calls-title{color:#9fd0ff;font-size:12px;font-weight:600;letter-spacing:.02em}
.protocol-call-row{display:flex;gap:6px;align-items:baseline;font-size:13px;line-height:1.4;color:#cbd8e6}
.protocol-call-row code{color:#dbe8f5;background:transparent;padding:0}
.protocol-call-mark{flex:0 0 auto;font-weight:700}
.protocol-call-row.ok .protocol-call-mark{color:#4fd68f}
.protocol-call-row.fail .protocol-call-mark{color:#f38a8a}
.protocol-call-summary{color:#9fb0c2}
/* Internal-only Debug / Prompts panel (muted, dev-tool look). */
.msg-debug{margin-top:4px;border:1px dashed #2c3a47;border-radius:12px;background:#0a0f15;padding:6px 10px}
.msg-debug summary{cursor:pointer;color:#7f93a6;font-size:12px}
.msg-debug-summary{color:#8aa0b4;letter-spacing:.02em}
.msg-debug-body{display:grid;gap:6px;margin-top:8px}
.msg-debug-kv{display:flex;gap:8px;font-size:12px;line-height:1.4;color:#9fb0c2}
.msg-debug-key{flex:0 0 130px;color:#6f8499}
.msg-debug-val{flex:1;color:#c2d0de;word-break:break-word}
.msg-debug-sub{border:1px solid #1c2731;border-radius:8px;background:#0c131b;padding:6px 8px}
.msg-debug-sub summary{color:#7f93a6;font-size:11px}
.msg-debug-promptlabel{margin-top:6px;font-size:10px;text-transform:uppercase;letter-spacing:.05em;color:#5f7589}
.msg-debug-pre{max-height:240px;overflow:auto;margin:4px 0 0;padding:8px;background:#070b10;border:1px solid #18232d;border-radius:6px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:11px;line-height:1.45;color:#aebccb;white-space:pre-wrap;word-break:break-word}
.msg-debug-hint{color:#5f7589;font-size:11px}
/* Raw-prompt-first layout: one block per LLM call, shown expanded. */
.msg-debug-prompts{display:grid;gap:10px}
.msg-debug-call{border:1px solid #24405a;border-radius:8px;background:#0c131b;padding:8px 10px}
.msg-debug-callhead{color:#9fd0ff;font-size:12px;font-weight:600}
.msg-debug-callmeta{color:#8aa0b4;font-size:11px;margin:2px 0 4px;font-variant-numeric:tabular-nums}
.msg-debug-pre-prompt{max-height:420px;font-size:12px}
.msg-debug-more{margin-top:10px}
.msg-debug-toolbar{display:flex;justify-content:flex-end;margin-bottom:6px}
.msg-debug-copy{cursor:pointer;font-size:11px;padding:3px 10px;border-radius:6px;border:1px solid #2d455a;background:#13202b;color:#9fd0ff}
.msg-debug-copy:hover{background:#1a2b3a}
.msg-debug-copy.copied{border-color:#2f8f5f;background:#143326;color:#b4f3d4}
.model-options{display:grid;gap:6px}
.model-options.compact{max-height:160px;overflow:auto;padding-right:2px}
.model-option{display:flex;gap:8px;align-items:flex-start;border:1px solid #2d455a;border-radius:10px;padding:8px;background:#13202b}
.model-option input{margin-top:3px}
.model-option .meta{font-size:12px;color:var(--muted)}
.scenario-prompt-btn{width:100%;text-align:left;border:1px solid #2d455a;border-radius:10px;padding:10px;background:#13202b}
.scenario-prompt-btn .meta{display:block;color:var(--muted);font-size:12px;margin-top:4px}
.scenario-prompt-btn:hover{border-color:#5ca0e6}
.buyer-agent-scenarios-drawer{margin-top:2px}
.buyer-agent-scenarios-drawer summary{cursor:pointer;color:#cfe0f1;font-weight:600}
.buyer-agent-side-box{margin-top:0}
.buyer-agent-input-actions{margin-top:0}
.buyer-agent-input-actions .primary-run,.buyer-agent-input-actions .planner-run{width:auto;margin-top:0;flex:1 1 220px}
.planner-run{padding:12px 14px;font-weight:700;border-color:#5c89b7;background:linear-gradient(180deg,#18324a,#122739)}
.planner-run:disabled{border-color:#4a5565;background:#222a33}
.usage-box{margin-top:10px}
.usage-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:8px}
.usage-card{border:1px solid #2d455a;border-radius:10px;padding:10px;background:#13202b}
.usage-card b{display:block;color:#9fd0ff;margin-bottom:4px}
.action-note{margin-top:8px;font-size:12px;color:var(--muted)}
.planner-section{display:grid;gap:10px}
.planner-summary-card{border:1px solid #2d455a;border-radius:10px;padding:10px;background:#13202b}
.planner-summary-card h4,.planner-product h4,.planner-trace-step h4{margin:0 0 6px;color:#9fd0ff}
.planner-meta{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0}
.planner-meta .status-pill{align-self:flex-start}
.planner-product-list{display:grid;gap:8px}
.planner-product{border:1px solid #2d455a;border-radius:10px;padding:10px;background:#13202b}
.planner-product-head{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.planner-product-id{color:var(--muted);font-size:12px;margin-top:4px}
.planner-line{margin-top:6px;font-size:13px;line-height:1.4}
.planner-line b{color:#cfe0f1}
.planner-chip-row{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.planner-empty{color:var(--muted);font-size:13px}
.planner-trace{display:grid;gap:8px}
.planner-trace-step{border:1px solid #2d455a;border-radius:10px;padding:10px;background:#13202b}
.planner-raw-grid{display:grid;gap:10px}
.planner-raw-grid h4{margin:0 0 6px;color:#9fd0ff}
@media (max-width:980px){
  .buyer-agent-layout{grid-template-columns:1fr}
  .buyer-agent-controls-compact{grid-template-columns:1fr;min-width:0}
  .buyer-agent-chat{min-height:300px;max-height:420px}
}

/* ====================================================================== */
/* Buyer Agent Demo — chat-first layout (scoped under .ba-room so it never */
/* affects the Validation or Agent Conversation tabs). Visual target:      */
/* buyer_agent_ui_mock.{html,css}.                                         */
/* ====================================================================== */
.ba-room{display:grid;gap:14px}
.ba-intro h2{margin:0 0 4px}
.ba-subtitle{color:var(--amber);font-size:14px;max-width:90ch}

.ba-hero-chat{display:grid;gap:12px}
.ba-chat-toolbar{display:flex;justify-content:space-between;gap:12px;align-items:end}
.ba-scenario-strip{display:grid;grid-template-columns:minmax(200px,1fr) minmax(240px,1.5fr);gap:12px;flex:1}
.ba-field{display:grid;gap:5px;color:var(--muted);font-size:12px}
.ba-field>span{font-weight:600}
.ba-field select{border-radius:10px;border:1px solid #36546d;background:#0f1720;color:var(--text);font:inherit;padding:9px}
.ba-field .status-pill{justify-self:start}
.ba-field-model .model-options.compact{max-height:120px}

/* Conversation window: taller, chat-first focus (matches mock). */
.ba-conversation{min-height:380px;max-height:520px;background:#050b11;border:1px solid #1f3345;border-radius:14px}

.ba-ask-box{display:grid;gap:8px}
.ba-ask-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ba-ask-actions .primary-run,.ba-ask-actions .planner-run{width:auto;margin-top:0;flex:0 0 auto}
.ba-status{color:var(--muted);font-size:13px;margin-left:auto}

/* Four-brain strip. */
.ba-brain-strip{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.ba-brain-card{background:#13202b;border:1px solid #2d455a;border-radius:16px;padding:14px}
.ba-brain-card .emoji{font-size:24px}
.ba-brain-card h3{margin:6px 0 10px;color:#9fd0ff;font-size:15px}
.ba-brain-card .ba-brain-body{color:#d6e4f2;font-size:13px;display:grid;gap:5px}
.ba-brain-card .ba-brain-body p{margin:0}
.ba-brain-card .ba-brain-body b{color:#9fd0ff}
.ba-brain-card.review{border-color:#8f6a2f;background:linear-gradient(180deg,#2b2618,#171a20)}
.ba-brain-card.review h3{color:#f0dca8}
.ba-brain-card.brain-warn{border-color:#8f6a2f}

/* Recommendation + AdCP evidence. */
.ba-content-grid{display:grid;grid-template-columns:1.1fr .9fr;gap:12px;align-items:start}
.ba-room .section-head{display:flex;justify-content:space-between;gap:12px;align-items:start;margin-bottom:10px}
.ba-room .section-head h3{margin:0}
.ba-pill{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:999px;padding:5px 10px;font-size:12px;white-space:nowrap}
.ba-pill.ok{background:#143326;border-color:#2f8f5f;color:#b4f3d4}
.ba-pill.neutral{background:#1b2734;color:#d4e0ed}
.ba-pill.warn{background:#3a2d12;color:#f0dca8;border-color:#8f6a2f}
.ba-idx-status{margin-top:10px}
.ba-idx-status h4,.ba-current-call h4{margin:0 0 6px;color:#9fd0ff;font-size:14px}
.ba-current-call{margin-top:10px}

.ba-adcp-timeline{display:grid;gap:8px}
.ba-adcp-step{display:grid;grid-template-columns:30px 1fr;gap:8px;align-items:center;border:1px solid #2d455a;background:#13202b;border-radius:12px;padding:9px 10px}
.ba-adcp-step .ba-adcp-num{width:26px;height:26px;border-radius:999px;display:grid;place-items:center;border:1px solid #3a556c;background:#0f1720;font-size:13px}
.ba-adcp-step b{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;color:#cfe0f1}
.ba-adcp-step small{color:var(--muted);display:block}
.ba-adcp-step.done{border-color:#2f8f5f}
.ba-adcp-step.done .ba-adcp-num{background:#143326;color:#b4f3d4;border-color:#2f8f5f}
.ba-adcp-step.muted{opacity:.7}

.ba-side-box{border:1px solid #2d455a;border-radius:10px;padding:8px 10px;background:#111c27;margin-top:10px}
.ba-side-box summary{cursor:pointer;color:#cfe0f1;font-weight:600}
.ba-side-box>div{margin-top:8px}

.ba-advanced summary{cursor:pointer;font-weight:700;color:#cfe0f1}
.ba-diagnostics-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;margin-top:12px}
.ba-diag-block h4{margin:0 0 6px;color:#9fd0ff;font-size:14px}

/* Progressive disclosure: demoted plan button, loading strip, reveal hint. */
/* Scoped .hidden must beat the new .ba-* display rules below (equal single-class
   specificity would otherwise let .ba-loading/.ba-adcp-note/.ba-side-box win by
   source order). 0,2,0 > 0,1,0. */
.ba-room .hidden{display:none}
.ba-ask-secondary{display:flex;justify-content:flex-end;margin-top:-2px}
.ba-link-btn{background:none;border:none;color:var(--muted);text-decoration:underline;font-weight:500;cursor:pointer;padding:2px 4px;font-size:13px}
.ba-link-btn:hover{color:#cfe0f1}
.ba-link-btn:disabled{opacity:.5;cursor:default;text-decoration:none}
.ba-reveal-hint{margin:8px 0 0;color:var(--muted)}
.ba-loading{display:flex;flex-wrap:wrap;gap:14px;align-items:center;margin:8px 0 2px;border:1px solid #2d455a;border-radius:10px;padding:9px 12px;background:#101b26}
.ba-load-step{position:relative;padding-left:18px;color:#cbd8e6;font-size:13px}
.ba-load-step::before{content:'';position:absolute;left:0;top:50%;transform:translateY(-50%);width:8px;height:8px;border-radius:999px;background:var(--green);animation:pulse 1s infinite ease-in-out}
.ba-load-step:nth-child(2)::before{animation-delay:.2s}
.ba-load-step:nth-child(3)::before{animation-delay:.4s}
.ba-adcp-note{margin:8px 0 0;color:var(--muted)}
.ba-advanced-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:4px 0 12px}

/* Chat composer: follow-up chips, input, then Send/Clear pinned at the bottom. */
.ba-composer{display:grid;gap:8px;border:1px solid #24405a;border-radius:14px;padding:12px;background:#0c151e}
.ba-followups{display:grid;gap:6px}
.ba-followups h4{margin:0}
.ba-composer .buyer-agent-input{min-height:84px}
.ba-composer-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.ba-composer-actions .primary-run{width:auto;margin-top:0;flex:0 0 auto}
.ba-composer-actions .ba-status{margin-left:auto}
.ba-mic-btn{min-width:40px;padding:7px 10px;border:1px solid #3b5068;border-radius:8px;background:#1b2532;color:#ccdaea;cursor:pointer}
.ba-mic-btn:disabled{opacity:.55;cursor:not-allowed}
.ba-mic-btn.recording{background:#742626;border-color:#a33d3d;color:#fff}
.ba-lang-toggle{display:inline-flex;border:1px solid #24405a;border-radius:8px;overflow:hidden;background:#0a141d}
.ba-lang-toggle button{border:0;border-right:1px solid #24405a;border-radius:0;background:transparent;color:#aebccb;padding:7px 9px;font-size:12px;cursor:pointer}
.ba-lang-toggle button:last-child{border-right:0}
.ba-lang-toggle button.active{background:#204763;color:#e9f6ff}
.ba-lang-toggle button:disabled{opacity:.5;cursor:not-allowed}
/* Compact session cost/token summary next to the Clear button. */
.ba-cost-summary{display:inline-flex;flex-direction:column;gap:1px;padding:4px 10px;border:1px solid #24405a;border-radius:10px;background:#0a141d;font-size:11px;line-height:1.35;color:#aebccb;white-space:nowrap}
.ba-cost-summary .ba-cost-line{font-variant-numeric:tabular-nums}
.ba-cost-summary .ba-cost-line b{color:#9fd0ff;font-weight:600}
.ba-cost-summary:empty{display:none}

.ads-ui-block{margin:8px 0 2px;max-width:100%;overflow-x:auto}
.ads-ui-table{width:100%;border-collapse:collapse;font-size:13px}
.ads-ui-table th{color:var(--amber);text-align:start;padding:8px;border-bottom:1px solid var(--line);white-space:nowrap;font-weight:600}
.ads-ui-table td{padding:8px;border-bottom:1px solid var(--line);vertical-align:top;text-align:start}
.ads-ui-table tbody tr:hover{background:rgba(255,255,255,.03)}
.ads-ui-table td .hint{margin-top:2px}
.ads-ui-warnings{margin-top:4px;font-size:11px;color:var(--red)}

@media (max-width:640px){
  .ads-ui-table thead{display:none}
  .ads-ui-table,.ads-ui-table tbody,.ads-ui-table tr,.ads-ui-table td{display:block;width:100%}
  .ads-ui-table tr{border:1px solid var(--line);border-radius:10px;margin-bottom:10px;padding:8px 10px;background:var(--panel)}
  .ads-ui-table td{border-bottom:none;padding:5px 0;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
  .ads-ui-table td[data-label]::before{content:attr(data-label);color:var(--muted);font-size:11px;flex:0 0 auto}
}

@media (max-width:980px){
  .ba-scenario-strip,.ba-brain-strip,.ba-content-grid,.ba-diagnostics-grid{grid-template-columns:1fr}
  .ba-chat-toolbar{display:grid}
  .ba-status{margin-left:0}
  .ba-conversation{min-height:320px;max-height:440px}
}

/* ====================================================================== */
/* Buyer Agent Demo — Concept B visual integration.                        */
/* Everything below is scoped under #modeBuyerAgent so the Validation and  */
/* Agent Conversation tabs (and #conversationStream's own .msg/.card use)  */
/* are completely unaffected. This is a visual/layout pass only — it does  */
/* not change any element's id, remove any control, or alter app.js logic  */
/* beyond the campaign-rail renderer and the two ads-table header labels.  */
/* Reference: buyer_agent_redesign_concept_b.html (design mock, not wired  */
/* to real data).                                                          */
/* ====================================================================== */
#modeBuyerAgent{
  --ba-bg:#f7f3ec;--ba-surface:#fffdfa;--ba-surface-2:#fbf7f0;
  --ba-border:#e6ddcd;--ba-border-soft:#efe8db;
  --ba-ink:#2b2620;--ba-muted:#7a7160;--ba-muted-2:#a89d88;
  --ba-accent:#3f6e64;--ba-accent-ink:#2c5049;--ba-accent-soft:#e6efec;
  --ba-buyer-surface:#efe6d8;
  --ba-ok:#2f6e3f;--ba-ok-soft:#e7f1e6;
  --ba-warn:#93631a;--ba-warn-soft:#f5ebd8;
  --ba-fail:#a23f3a;--ba-fail-soft:#f6e6e3;
  background:var(--ba-bg);border-color:var(--ba-border);color:var(--ba-ink);
}
#modeBuyerAgent .card{background:var(--ba-surface);border-color:var(--ba-border);color:var(--ba-ink)}
#modeBuyerAgent .inner{background:var(--ba-surface-2)}
#modeBuyerAgent h2,#modeBuyerAgent h3,#modeBuyerAgent h4{color:var(--ba-ink)}
#modeBuyerAgent .ba-subtitle{color:var(--ba-muted)}
#modeBuyerAgent .hint{color:var(--ba-muted)}
#modeBuyerAgent .panel-muted{border-color:var(--ba-border);background:var(--ba-surface-2);color:var(--ba-ink)}
#modeBuyerAgent button{background:var(--ba-surface);border-color:var(--ba-border);color:var(--ba-ink)}
#modeBuyerAgent button:hover{border-color:var(--ba-muted-2)}
#modeBuyerAgent .secondary{background:var(--ba-surface);border-color:var(--ba-border);color:var(--ba-ink)}
#modeBuyerAgent .secondary-link{background:var(--ba-surface);border-color:var(--ba-border);color:var(--ba-accent-ink)}
#modeBuyerAgent .primary-run{background:var(--ba-accent);border-color:var(--ba-accent-ink);color:#fdfbf7}
#modeBuyerAgent .primary-run:disabled{background:var(--ba-border-soft);border-color:var(--ba-border);color:var(--ba-muted-2)}
#modeBuyerAgent select,#modeBuyerAgent input[type="url"],#modeBuyerAgent input[type="file"]{background:var(--ba-surface);border-color:var(--ba-border);color:var(--ba-ink)}
#modeBuyerAgent code{color:var(--ba-accent-ink);background:var(--ba-border-soft)}
#modeBuyerAgent .status-pill{border-color:var(--ba-border);color:var(--ba-ink)}
#modeBuyerAgent .status-pill.pill-pass{background:var(--ba-ok-soft);border-color:var(--ba-ok);color:var(--ba-ok)}
#modeBuyerAgent .status-pill.pill-wait{background:var(--ba-surface-2);color:var(--ba-muted)}
#modeBuyerAgent .status-pill.pill-warn{background:var(--ba-warn-soft);border-color:var(--ba-warn);color:var(--ba-warn)}
#modeBuyerAgent .status-pill.pill-fail{background:var(--ba-fail-soft);border-color:var(--ba-fail);color:var(--ba-fail)}
#modeBuyerAgent .model-option,#modeBuyerAgent .scenario-prompt-btn{background:var(--ba-surface);border-color:var(--ba-border)}
#modeBuyerAgent .model-option .meta{color:var(--ba-muted)}

/* Chat + persistent campaign rail, side by side on desktop. */
#modeBuyerAgent .ba-chat-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(260px,320px);gap:12px;align-items:start}
#modeBuyerAgent .ba-campaign-panel{max-height:640px;overflow-y:auto}
#modeBuyerAgent .ba-campaign-panel-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:10px}
#modeBuyerAgent .ba-campaign-panel-head h3{margin:0;font-size:15px}
#modeBuyerAgent .ba-campaign-body{display:grid;gap:4px}
#modeBuyerAgent .ba-campaign-meta{display:grid;gap:6px;margin-bottom:4px}
#modeBuyerAgent .ba-campaign-row{display:flex;justify-content:space-between;gap:10px;padding:5px 0;border-top:1px solid var(--ba-border-soft);font-size:12.5px}
#modeBuyerAgent .ba-campaign-row:first-child{border-top:none}
#modeBuyerAgent .ba-campaign-row .k{color:var(--ba-muted)}
#modeBuyerAgent .ba-campaign-row .v{font-weight:600;text-align:end;unicode-bidi:plaintext}
#modeBuyerAgent .ba-campaign-missing{margin:2px 0 0}
#modeBuyerAgent .ba-campaign-ads-head{font-size:10.5px;letter-spacing:.06em;text-transform:uppercase;color:var(--ba-muted-2);font-weight:600;margin:10px 0 6px;padding-top:8px;border-top:1px solid var(--ba-border-soft)}
#modeBuyerAgent .ba-campaign-ad{border:1px solid var(--ba-border);border-radius:10px;background:var(--ba-surface-2);padding:8px 10px;margin-bottom:8px;font-size:12.5px}
#modeBuyerAgent .ba-campaign-ad:last-child{margin-bottom:0}
#modeBuyerAgent .ba-campaign-ad-head{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px;color:var(--ba-accent-ink)}
#modeBuyerAgent .ba-campaign-ad-head span{color:var(--ba-muted);font-weight:400}
#modeBuyerAgent .ba-campaign-ad-field{display:flex;justify-content:space-between;gap:8px;padding:2px 0;unicode-bidi:plaintext}
#modeBuyerAgent .ba-campaign-ad-field .k{color:var(--ba-muted);flex:0 0 auto}
#modeBuyerAgent .ba-campaign-ad-field .v{text-align:end}

/* Conversation: lightweight for normal turns, cards reserved for structured
   data (ads-ui-table) and progressive disclosure (debug/trace/protocol). */
#modeBuyerAgent .ba-conversation{background:var(--ba-surface);border-color:var(--ba-border-soft)}
#modeBuyerAgent .msg{background:transparent;border-radius:14px;max-width:100%;padding:2px 4px}
#modeBuyerAgent .msg .msg-block{display:grid;gap:6px}
#modeBuyerAgent .msg-text{line-height:1.65}
#modeBuyerAgent .msg.buyer{background:var(--ba-buyer-surface);justify-self:end;max-width:78%;padding:9px 14px;border-radius:14px}
#modeBuyerAgent .msg.buyer-agent{justify-self:stretch;color:var(--ba-ink)}
#modeBuyerAgent .msg.system{background:var(--ba-surface-2);color:var(--ba-muted);justify-self:center}
#modeBuyerAgent .msg.error{background:var(--ba-fail-soft);border-color:var(--ba-fail);color:var(--ba-fail);justify-self:center}
#modeBuyerAgent .msg.idx-seller-agent{background:var(--ba-accent-soft);border-color:var(--ba-accent);color:var(--ba-ink)}
#modeBuyerAgent .msg.adcp-tool{background:var(--ba-surface-2);border-color:var(--ba-border);color:var(--ba-ink)}
#modeBuyerAgent .msg.adcp-tool code{color:var(--ba-accent-ink)}

/* Structured campaign/Ad info stays a card (readable table, unlike the
   surrounding lightweight conversation). */
#modeBuyerAgent .ads-ui-block{background:var(--ba-surface-2);border:1px solid var(--ba-border);border-radius:12px;padding:4px 8px}
#modeBuyerAgent .ads-ui-table th{color:var(--ba-accent-ink);border-color:var(--ba-border)}
#modeBuyerAgent .ads-ui-table td{border-color:var(--ba-border-soft)}
#modeBuyerAgent .ads-ui-table tbody tr:hover{background:rgba(63,110,100,.06)}
#modeBuyerAgent .ads-ui-warnings{color:var(--ba-fail)}

/* Technical/debug information: demoted, muted, collapsed by default (kept
   fully intact — just restyled to match the light palette). */
#modeBuyerAgent .protocol-calls-panel{background:var(--ba-surface-2);border-color:var(--ba-border-soft)}
#modeBuyerAgent .protocol-calls-title{color:var(--ba-muted)}
#modeBuyerAgent .protocol-call-row{color:var(--ba-muted)}
#modeBuyerAgent .protocol-call-row code{color:var(--ba-ink)}
#modeBuyerAgent .protocol-call-row.ok .protocol-call-mark{color:var(--ba-ok)}
#modeBuyerAgent .protocol-call-row.fail .protocol-call-mark{color:var(--ba-fail)}
#modeBuyerAgent .msg-debug{background:var(--ba-surface-2);border-color:var(--ba-border-soft)}
#modeBuyerAgent .msg-debug summary{color:var(--ba-muted-2)}
#modeBuyerAgent .msg-debug-summary{color:var(--ba-muted)}
#modeBuyerAgent .msg-debug-kv{color:var(--ba-muted)}
#modeBuyerAgent .msg-debug-key{color:var(--ba-muted-2)}
#modeBuyerAgent .msg-debug-val{color:var(--ba-ink)}
#modeBuyerAgent .msg-debug-sub{background:var(--ba-surface);border-color:var(--ba-border-soft)}
#modeBuyerAgent .msg-debug-sub summary{color:var(--ba-muted-2)}
#modeBuyerAgent .msg-debug-pre,#modeBuyerAgent .msg-debug-pre-prompt{background:#f4f0e6;border-color:var(--ba-border);color:#4a4436}
#modeBuyerAgent .msg-debug-call{background:var(--ba-surface);border-color:var(--ba-border-soft)}
#modeBuyerAgent .msg-debug-callhead{color:var(--ba-accent-ink)}
#modeBuyerAgent .msg-debug-callmeta,#modeBuyerAgent .msg-debug-hint,#modeBuyerAgent .msg-debug-promptlabel{color:var(--ba-muted-2)}
#modeBuyerAgent .msg-debug-copy{background:var(--ba-surface);border-color:var(--ba-border);color:var(--ba-accent-ink)}
#modeBuyerAgent .msg-debug-copy.copied{background:var(--ba-ok-soft);border-color:var(--ba-ok);color:var(--ba-ok)}
#modeBuyerAgent .msg-trace,#modeBuyerAgent .ba-side-box{background:var(--ba-surface-2);border-color:var(--ba-border-soft)}
#modeBuyerAgent .msg-trace summary,#modeBuyerAgent .ba-side-box summary{color:var(--ba-accent-ink)}
#modeBuyerAgent .msg-trace-summary,#modeBuyerAgent .msg-trace-item{color:var(--ba-muted)}
#modeBuyerAgent .trace-pill.info{background:var(--ba-surface);color:var(--ba-muted);border-color:var(--ba-border)}
#modeBuyerAgent .trace-pill.success{background:var(--ba-ok-soft);color:var(--ba-ok);border-color:var(--ba-ok)}
#modeBuyerAgent .trace-pill.warning{background:var(--ba-warn-soft);color:var(--ba-warn);border-color:var(--ba-warn)}
#modeBuyerAgent .trace-pill.blocker{background:var(--ba-fail-soft);color:var(--ba-fail);border-color:var(--ba-fail)}
#modeBuyerAgent .ba-advanced summary{color:var(--ba-accent-ink)}
#modeBuyerAgent .diag-card,#modeBuyerAgent .usage-card,#modeBuyerAgent .planner-summary-card,#modeBuyerAgent .planner-product,#modeBuyerAgent .planner-trace-step{background:var(--ba-surface-2);border-color:var(--ba-border)}
#modeBuyerAgent .usage-card b,#modeBuyerAgent .planner-summary-card h4,#modeBuyerAgent .planner-product h4,#modeBuyerAgent .planner-trace-step h4{color:var(--ba-accent-ink)}

/* Brain strip / recommendation / AdCP evidence (unchanged structure). */
#modeBuyerAgent .ba-brain-card{background:var(--ba-surface-2);border-color:var(--ba-border)}
#modeBuyerAgent .ba-brain-card h3{color:var(--ba-accent-ink)}
#modeBuyerAgent .ba-brain-card .ba-brain-body{color:var(--ba-ink)}
#modeBuyerAgent .ba-brain-card .ba-brain-body b{color:var(--ba-accent-ink)}
#modeBuyerAgent .ba-brain-card.review{background:var(--ba-warn-soft);border-color:var(--ba-warn)}
#modeBuyerAgent .ba-pill{border-color:var(--ba-border);color:var(--ba-ink)}
#modeBuyerAgent .ba-pill.ok{background:var(--ba-ok-soft);border-color:var(--ba-ok);color:var(--ba-ok)}
#modeBuyerAgent .ba-pill.neutral{background:var(--ba-surface-2);color:var(--ba-muted)}
#modeBuyerAgent .ba-pill.warn{background:var(--ba-warn-soft);border-color:var(--ba-warn);color:var(--ba-warn)}
#modeBuyerAgent .ba-adcp-step{background:var(--ba-surface-2);border-color:var(--ba-border)}
#modeBuyerAgent .ba-adcp-step b{color:var(--ba-accent-ink)}
#modeBuyerAgent .ba-adcp-step.done{border-color:var(--ba-ok)}
#modeBuyerAgent .ba-adcp-step.done .ba-adcp-num{background:var(--ba-ok-soft);border-color:var(--ba-ok);color:var(--ba-ok)}
#modeBuyerAgent .ba-adcp-num{background:var(--ba-surface);border-color:var(--ba-border)}

/* Composer: modern rounded input, existing controls (mic/lang/clear/cost/
   quick-replies) restyled in place, none removed. */
#modeBuyerAgent .ba-composer{background:var(--ba-surface);border-color:var(--ba-border);border-radius:16px}
#modeBuyerAgent .buyer-agent-input{background:var(--ba-surface);border-color:var(--ba-border);color:var(--ba-ink);border-radius:12px}
#modeBuyerAgent .ba-mic-btn{background:var(--ba-surface);border-color:var(--ba-border);color:var(--ba-muted);border-radius:10px}
#modeBuyerAgent .ba-mic-btn.recording{background:var(--ba-fail-soft);border-color:var(--ba-fail);color:var(--ba-fail)}
#modeBuyerAgent .ba-lang-toggle{background:var(--ba-surface);border-color:var(--ba-border)}
#modeBuyerAgent .ba-lang-toggle button{color:var(--ba-muted);border-color:var(--ba-border)}
#modeBuyerAgent .ba-lang-toggle button.active{background:var(--ba-accent-soft);color:var(--ba-accent-ink)}
#modeBuyerAgent .ba-cost-summary{background:var(--ba-surface-2);border-color:var(--ba-border);color:var(--ba-muted)}
#modeBuyerAgent .ba-cost-summary .ba-cost-line b{color:var(--ba-accent-ink)}
#modeBuyerAgent .ba-status{color:var(--ba-muted)}
#modeBuyerAgent .buyer-agent-followups h3{color:var(--ba-muted)}
#modeBuyerAgent .quick-reply-btn{background:var(--ba-accent-soft);border-color:transparent;color:var(--ba-accent-ink);border-radius:10px}
#modeBuyerAgent .quick-reply-btn:hover{background:#dceae4}
#modeBuyerAgent .quick-reply-btn.secondary-choice{background:var(--ba-surface);border-color:var(--ba-border);color:var(--ba-muted)}
#modeBuyerAgent .telegram-choice-group{color:var(--ba-muted-2)}
#modeBuyerAgent .ba-link-btn{color:var(--ba-muted)}
#modeBuyerAgent .ba-link-btn:hover{color:var(--ba-ink)}
#modeBuyerAgent .ba-loading{background:var(--ba-surface-2);border-color:var(--ba-border)}
#modeBuyerAgent .ba-load-step{color:var(--ba-muted)}

@media (max-width:980px){
  #modeBuyerAgent .ba-chat-grid{grid-template-columns:1fr}
  #modeBuyerAgent .ba-campaign-panel{position:static;max-height:none}
}
