.journalist-ai-toggle{position:fixed;right:1rem;bottom:1rem;z-index:40;border:0;border-radius:999px;background:#102f2b;color:#fff;padding:.8rem 1.1rem;font:700 .86rem/1 system-ui;box-shadow:0 8px 30px #102f2b33;cursor:pointer}
.journalist-ai-panel{position:fixed;z-index:39;inset:0 0 0 auto;width:min(520px,92vw);background:#f8f5ed;border-left:1px solid var(--line,#d8d2c5);box-shadow:-14px 0 34px #102f2b18;display:grid;grid-template-rows:auto auto 1fr auto;transform:translateX(102%);transition:transform .22s ease;padding:1rem}
.journalist-ai-open .journalist-ai-panel{transform:none}.journalist-ai-open .journalist-ai-toggle{right:calc(min(520px,92vw) + 1rem)}
@media(min-width:1000px){body.journalist-ai-open{padding-right:520px;transition:padding-right .22s ease}.journalist-ai-open .journalist-ai-toggle{right:536px}}
.journalist-ai-head{display:flex;align-items:start;justify-content:space-between;gap:1rem}.journalist-ai-head h2{margin:.2rem 0;font:700 1.2rem/1.2 Georgia,serif}.journalist-ai-head p{margin:0;color:var(--text-dim);font-size:.78rem}.journalist-ai-close{border:0;background:transparent;font-size:1.4rem;cursor:pointer}
.journalist-ai-scope{display:flex;gap:.5rem;align-items:center;margin:.8rem 0;padding:.65rem;border-radius:10px;background:#fff;border:1px solid var(--line)}.journalist-ai-scope input{min-width:0;flex:1;border:0;font:inherit}.journalist-ai-scope button,.journalist-ai-form button{border:0;border-radius:8px;background:var(--teal,#0f7c72);color:#fff;padding:.65rem .8rem;font-weight:700;cursor:pointer}
.journalist-ai-scope[hidden]{display:none}
.journalist-ai-messages{overflow:auto;display:grid;align-content:start;gap:.7rem;padding:.35rem 0}.journalist-ai-message{max-width:92%;padding:.75rem .85rem;border-radius:12px;background:#fff;border:1px solid var(--line);white-space:pre-wrap;font-size:.9rem;line-height:1.45}.journalist-ai-message.user{justify-self:end;background:#102f2b;color:#fff}.journalist-ai-message.status{font-style:italic;color:var(--text-dim);background:transparent;border:0;padding:.25rem}.journalist-ai-cites{display:grid;gap:.3rem;margin-top:.6rem}.journalist-ai-cites a{font-size:.78rem;color:var(--teal)}
.journalist-ai-form{display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;align-self:end;gap:.5rem;padding-top:.7rem;border-top:1px solid var(--line)}.journalist-ai-form textarea{width:100%;box-sizing:border-box;resize:none;border:1px solid var(--line);border-radius:9px;padding:.7rem;font:inherit}.journalist-ai-form button{align-self:start;justify-self:end;min-width:5.5rem;padding:.55rem 1rem}
.journalist-ai-copy p{margin:0 0 .65rem}.journalist-ai-copy p:last-child{margin-bottom:0}.journalist-ai-copy ul,.journalist-ai-copy ol{margin:.15rem 0 .7rem;padding-left:1.3rem}.journalist-ai-copy li{margin:.28rem 0}
.research-table-wrap{overflow:auto;margin-top:1.35rem}.research-table{width:100%;border-collapse:collapse;font-size:.86rem}.research-table th{text-align:left;white-space:nowrap;border-bottom:2px solid var(--ink);padding:.65rem}.research-table td{padding:.72rem .65rem;border-bottom:1px solid var(--line);vertical-align:top}.research-table th button{border:0;background:none;font:700 inherit;cursor:pointer}.metric-missing{color:var(--text-dim)}
.research-controls{display:grid;grid-template-columns:minmax(12rem,1fr) minmax(20rem,3fr) auto auto auto;gap:.7rem;margin:1rem 0}.research-controls input,.research-controls select{min-width:0;border:1px solid var(--line);border-radius:8px;padding:.7rem;background:#fff}.research-document-list{display:grid;gap:.65rem}.research-document{padding:.85rem;border:1px solid var(--line);border-radius:10px;background:#fff}.research-document h3{font-size:1rem;margin:0 0 .35rem}.research-document p{margin:.25rem 0;color:var(--text-dim);font-size:.86rem}.research-document-meta{display:flex;gap:.5rem;flex-wrap:wrap;font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;color:var(--text-dim)}
.data-content{margin-top:1.5rem}.research-snippet{line-height:1.55}.research-snippet mark{background:#fff0a8;border-radius:2px;padding:0 .08em}
@media(max-width:850px){.research-controls{grid-template-columns:1fr 1fr}.research-controls #research-query{grid-column:1/-1;grid-row:1}.research-controls button{grid-column:1/-1}}
