/* Vigília · painel de operações. Sala de controle calma, alta densidade de dados.
   Duas faixas de cor independentes: estado (status) e identidade (ator).
   Cor nunca é o único sinal: estado sempre traz ícone + rótulo textual. */

:root{
  color-scheme: dark;
  --font-ui: system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  --font-mono: ui-monospace, "Cascadia Code", "Cascadia Mono", Consolas, "Liberation Mono", monospace;

  --bg:#0b0e14; --bg-2:#11151d; --bg-3:#161c26; --bg-hover:#1b2230;
  --text:#e6eaf2; --dim:#9aa4b5; --faint:#8b95a7;
  --line:#222a36; --line-2:#2c3546;
  --focus:#5b9dff;

  /* faixa de estado */
  --ok:#4ade80; --warn:#f5a623; --err:#f2555a; --stale:#93a0b5; --unknown:#93a0b5; --curso:#58c6f0;
  /* faixa de identidade (ator) */
  --a-claude:#b98cff; --a-codex:#35c9e6; --a-hermes:#f0a63a;
  --a-airc:#37c98d; --a-system:#8aa0c0; --a-unknown:#93a0b5;

  --radius:8px; --radius-sm:6px;
  --row-h:34px;
  --cols: 84px 112px 108px minmax(96px,1fr) minmax(90px,1fr) minmax(200px,2.6fr);
}

/* tema claro: automático quando o SO pede e não há override manual */
@media (prefers-color-scheme: light){
  :root:not([data-theme]){
    color-scheme: light;
    --bg:#f4f6fa; --bg-2:#ffffff; --bg-3:#eef1f6; --bg-hover:#e7ecf4;
    --text:#141922; --dim:#45506a; --faint:#5a6472;
    --line:#dce1ea; --line-2:#c7cfdc; --focus:#1557b0;
    --ok:#075f32; --warn:#6f4500; --err:#8f111c; --stale:#424b58; --unknown:#424b58; --curso:#064e75;
    --a-claude:#7c3aed; --a-codex:#0e7490; --a-hermes:#b45309;
    --a-airc:#047857; --a-system:#475569; --a-unknown:#566172;
  }
}
/* override manual pelo botão de tema */
:root[data-theme="dark"]{ color-scheme: dark; }
:root[data-theme="light"]{
  color-scheme: light;
  --bg:#f4f6fa; --bg-2:#ffffff; --bg-3:#eef1f6; --bg-hover:#e7ecf4;
  --text:#141922; --dim:#45506a; --faint:#5a6472;
  --line:#dce1ea; --line-2:#c7cfdc; --focus:#1557b0;
  --ok:#075f32; --warn:#6f4500; --err:#8f111c; --stale:#424b58; --unknown:#424b58; --curso:#064e75;
  --a-claude:#7c3aed; --a-codex:#0e7490; --a-hermes:#b45309;
  --a-airc:#047857; --a-system:#475569; --a-unknown:#566172;
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0; font-family:var(--font-ui); background:var(--bg); color:var(--text);
  display:flex; flex-direction:column; min-height:100dvh; font-size:14px; line-height:1.4;
}
h1,h2,h3,p,ul,dl,dd{margin:0}
.num{font-family:var(--font-mono); font-variant-numeric:tabular-nums; letter-spacing:-.01em}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}
/* contrato de ocultacao robusto: o atributo hidden vence qualquer display de autor */
[hidden]{display:none!important}

a{color:var(--focus)}
button{font-family:inherit; font-size:inherit; color:inherit; cursor:pointer}
:focus-visible{outline:2px solid var(--focus); outline-offset:2px; border-radius:4px}

.skip-link{position:absolute; left:8px; top:-44px; background:var(--bg-2); color:var(--text);
  border:1px solid var(--line-2); padding:8px 12px; border-radius:6px; z-index:60; transition:top .15s}
.skip-link:focus{top:8px}

/* ---------- Zona A: sinais vitais ---------- */
.vitals{
  position:sticky; top:0; z-index:30; display:flex; align-items:center; gap:18px;
  padding:10px clamp(12px,2.4vw,22px); background:var(--bg-2); border-bottom:1px solid var(--line);
  flex-wrap:wrap;
}
.vitals-brand{display:flex; align-items:center; gap:9px; min-width:0}
.brand-mark{width:16px; height:16px; border-radius:4px; background:
  conic-gradient(from 210deg, var(--a-hermes), var(--a-claude), var(--a-codex), var(--a-airc), var(--a-hermes));
  box-shadow:inset 0 0 0 3px var(--bg-2)}
.brand-name{font-weight:800; letter-spacing:.02em}
.brand-sub{color:var(--dim); font-size:12px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}

.view-tabs{display:inline-flex; padding:3px; gap:3px; border:1px solid var(--line); border-radius:8px; background:var(--bg)}
.view-tab{border:0; border-radius:5px; padding:5px 11px; color:var(--dim); background:transparent; font-size:12px; font-weight:700}
.view-tab:hover{color:var(--text); background:var(--bg-hover)}
.view-tab.is-active{color:var(--text); background:var(--bg-3); box-shadow:inset 0 0 0 1px var(--line-2)}

.vitals-signals{display:flex; align-items:center; gap:14px; margin-left:auto; flex-wrap:wrap}

.conn{display:inline-flex; align-items:center; gap:8px; padding:5px 11px; border-radius:999px;
  border:1px solid var(--line-2); background:var(--bg-3); white-space:nowrap; font-weight:600}
.conn-icon{width:9px; height:9px; border-radius:50%; background:var(--dim); flex:none}
.conn-fresh{color:var(--faint); font-weight:500; font-size:12px}
.conn-live{border-color:color-mix(in srgb,var(--ok) 55%,var(--line-2)); background:color-mix(in srgb,var(--ok) 12%,var(--bg-3))}
.conn-live .conn-icon{background:var(--ok); box-shadow:0 0 0 3px color-mix(in srgb,var(--ok) 30%,transparent); animation:pulse 2.4s ease-in-out infinite}
.conn-paused{border-color:color-mix(in srgb,var(--warn) 50%,var(--line-2))}
.conn-paused .conn-icon{background:var(--warn)}
.conn-reconnecting .conn-icon{background:var(--warn); animation:blink 1s steps(2) infinite}
.conn-offline{border-color:color-mix(in srgb,var(--err) 55%,var(--line-2)); background:color-mix(in srgb,var(--err) 12%,var(--bg-3))}
.conn-offline .conn-icon{background:var(--err)}
@keyframes pulse{0%,100%{box-shadow:0 0 0 2px color-mix(in srgb,var(--ok) 30%,transparent)}50%{box-shadow:0 0 0 5px color-mix(in srgb,var(--ok) 8%,transparent)}}
@keyframes blink{50%{opacity:.25}}

.rollup{display:inline-flex; align-items:center; gap:7px; color:var(--dim); font-size:13px}
.rollup b{color:var(--text); font-family:var(--font-mono); font-variant-numeric:tabular-nums}
.rollup-sep{color:var(--faint)}
.rollup-err.is-hot b{color:var(--err)}

.quota{display:inline-flex; align-items:center; gap:10px; position:relative}
.quota-strip{display:inline-flex; align-items:center; gap:14px}
.qmeter{display:inline-flex; align-items:center; gap:7px; font-size:12px; color:var(--dim)}
.qmeter-name{font-weight:700; color:var(--text)}
.qmeter-val{font-family:var(--font-mono); font-variant-numeric:tabular-nums}
.qmeter-bar{width:52px; height:6px; border-radius:3px; background:var(--bg-3); overflow:hidden; border:1px solid var(--line)}
.qmeter-bar>i{display:block; height:100%}
.tone-ok>i,.qbar.tone-ok>i{background:var(--ok)} .tone-ok{color:var(--ok)}
.tone-warn>i,.qbar.tone-warn>i{background:var(--warn)} .tone-warn{color:var(--warn)}
.tone-danger>i,.qbar.tone-danger>i{background:var(--err)} .tone-danger{color:var(--err)}
.tone-unknown>i,.qbar.tone-unknown>i{background:var(--stale)}
.quota-unavailable{color:var(--warn); font-size:12px; display:inline-flex; gap:6px; align-items:center}

.disclosure-btn{background:var(--bg-3); border:1px solid var(--line-2); border-radius:6px;
  padding:5px 10px; color:var(--text); font-weight:600; font-size:13px}
.disclosure-btn::after{content:"▾"; margin-left:6px; color:var(--dim); font-size:11px; display:inline-block}
.disclosure-btn[aria-expanded="true"]::after{transform:rotate(180deg)}
.quota-notion{font-size:12px; text-decoration:none; border:1px solid color-mix(in srgb,var(--focus) 45%,var(--line-2));
  border-radius:6px; padding:5px 9px; font-weight:600}

.quota-detail{position:absolute; top:calc(100% + 8px); right:0; z-index:40; width:min(360px,86vw);
  background:var(--bg-2); border:1px solid var(--line-2); border-radius:10px; padding:14px;
  box-shadow:0 12px 40px rgba(0,0,0,.35); max-height:70vh; overflow:auto}
.qprov{padding:10px 0; border-top:1px solid var(--line)}
.qprov:first-child{border-top:0; padding-top:0}
.qprov-head{display:flex; justify-content:space-between; align-items:baseline; gap:10px; margin-bottom:8px}
.qprov-head strong{font-size:15px}
.qprov-head span{color:var(--dim); font-size:12px}
.qwin{display:grid; gap:4px; margin-top:9px}
.qwin-top{display:flex; justify-content:space-between; font-size:12px; font-weight:600}
.qbar{height:8px; border-radius:4px; background:var(--bg-3); overflow:hidden; border:1px solid var(--line)}
.qbar>i{display:block; height:100%; transition:width .4s ease}
.qwin small{color:var(--dim); font-size:11px}
.qnotes{margin:10px 0 0; padding-left:16px; color:var(--dim); font-size:12px; display:grid; gap:3px}
.qmeta{color:var(--faint); font-size:11px; margin-top:10px}
.qprov-error{color:var(--err); font-size:12px}

.theme-toggle{background:transparent; border:1px solid var(--line-2); border-radius:6px; padding:5px 10px;
  color:var(--dim); font-size:12px; font-weight:600}

/* ---------- Banner ---------- */
.banner{display:flex; align-items:center; gap:12px; padding:9px clamp(12px,2.4vw,22px);
  background:color-mix(in srgb,var(--err) 14%,var(--bg-2)); border-bottom:1px solid color-mix(in srgb,var(--err) 40%,var(--line));
  color:var(--text); font-size:13px}
.banner.warn{background:color-mix(in srgb,var(--warn) 14%,var(--bg-2)); border-bottom-color:color-mix(in srgb,var(--warn) 40%,var(--line))}
.banner button{margin-left:auto; background:var(--bg-2); border:1px solid var(--line-2); border-radius:6px; padding:4px 10px; font-weight:600}

/* ---------- Desk (3 zonas) ---------- */
.desk{flex:1; min-height:0; display:grid;
  grid-template-columns:284px minmax(0,1fr) minmax(320px,360px);
  grid-template-areas:"board events inspector"}
body[data-inspector="collapsed"] .desk{grid-template-columns:284px minmax(0,1fr); grid-template-areas:"board events"}
body[data-inspector="collapsed"] .inspector{display:none}

/* ---------- Zona B: board ---------- */
.board{grid-area:board; overflow:auto; border-right:1px solid var(--line); padding:12px; display:flex; flex-direction:column; gap:10px}
.board-head{display:flex; align-items:center; justify-content:space-between; gap:10px}
.board-head h2{font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:var(--dim)}
.chip-btn{background:var(--bg-3); border:1px solid var(--line-2); border-radius:999px; padding:4px 12px; font-size:12px; font-weight:600}
.chip-btn.is-active{background:color-mix(in srgb,var(--focus) 20%,var(--bg-3)); border-color:color-mix(in srgb,var(--focus) 55%,var(--line-2))}
.stream-list{list-style:none; padding:0; display:flex; flex-direction:column; gap:6px}
.stream{display:grid; grid-template-columns:auto 1fr auto; grid-template-areas:"state label spark" "state meta meta";
  gap:2px 9px; align-items:center; padding:8px 10px; border:1px solid var(--line); border-radius:var(--radius);
  background:var(--bg-2); text-align:left; width:100%; color:inherit}
.stream:hover{background:var(--bg-hover)}
.stream.is-selected{border-color:color-mix(in srgb,var(--focus) 60%,var(--line-2)); background:color-mix(in srgb,var(--focus) 12%,var(--bg-2))}
.stream .st-state{grid-area:state}
.stream .st-label{grid-area:label; font-weight:600; font-size:13px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap}
.stream .st-meta{grid-area:meta; color:var(--dim); font-size:11px; display:flex; gap:6px; align-items:center; flex-wrap:wrap}
.stream .st-spark{grid-area:spark}
.spark{display:inline-flex; align-items:flex-end; gap:1px; height:16px}
.spark i{width:3px; background:color-mix(in srgb,var(--dim) 60%,transparent); border-radius:1px; min-height:1px}
.stream.st-erro .spark i{background:color-mix(in srgb,var(--err) 65%,transparent)}

.board-sources .disclosure-btn{width:100%; text-align:left; margin-top:2px}
.sources-region{list-style:none; padding:8px; margin-top:6px; display:grid; gap:5px; background:var(--bg-2);
  border:1px solid var(--line); border-radius:var(--radius); max-height:220px; overflow:auto}
.sources-region li{font-size:11px; color:var(--dim); font-family:var(--font-mono); word-break:break-all}

/* ---------- Zona C: eventos ---------- */
.events{grid-area:events; display:flex; flex-direction:column; min-height:0; min-width:0}
.toolbar{display:flex; align-items:center; gap:8px; padding:9px 12px; border-bottom:1px solid var(--line); flex-wrap:wrap}
.filter{position:relative}
.filter-btn{background:var(--bg-3); border:1px solid var(--line-2); border-radius:6px; padding:6px 11px; font-weight:600; font-size:13px}
.filter-btn[aria-expanded="true"]{border-color:var(--focus)}
.filter-count{color:var(--focus); font-family:var(--font-mono); font-size:12px}
.filter-menu{position:absolute; top:calc(100% + 6px); left:0; z-index:35; min-width:180px; max-height:50vh; overflow:auto;
  background:var(--bg-2); border:1px solid var(--line-2); border-radius:8px; padding:6px; box-shadow:0 12px 40px rgba(0,0,0,.35)}
.filter-opt{display:flex; align-items:center; gap:8px; padding:6px 8px; border-radius:6px; font-size:13px; cursor:pointer}
.filter-opt:hover{background:var(--bg-hover)}
.filter-opt input{width:15px; height:15px; accent-color:var(--focus)}
.filter-opt .opt-count{margin-left:auto; color:var(--faint); font-family:var(--font-mono); font-size:12px}
.filter-empty{color:var(--faint); font-size:12px; padding:8px}

.search{flex:1 1 220px; min-width:160px}
.search input{width:100%; background:var(--bg-3); border:1px solid var(--line-2); border-radius:6px;
  padding:7px 11px; color:var(--text); font-size:13px}
.search input::placeholder{color:var(--faint)}
.toolbar-spacer{flex:1}
.ctl-btn{background:var(--bg-3); border:1px solid var(--line-2); border-radius:6px; padding:6px 12px; font-weight:600; font-size:13px}
.ctl-btn[aria-pressed="true"]{border-color:color-mix(in srgb,var(--focus) 55%,var(--line-2)); background:color-mix(in srgb,var(--focus) 14%,var(--bg-3))}
#pauseBtn[aria-pressed="true"]{border-color:color-mix(in srgb,var(--warn) 55%,var(--line-2)); background:color-mix(in srgb,var(--warn) 14%,var(--bg-3))}

.stream-strip{display:none; gap:7px; overflow-x:auto; padding:8px 12px; border-bottom:1px solid var(--line)}
.stream-strip .schip{flex:none; display:inline-flex; align-items:center; gap:6px; padding:6px 10px; border:1px solid var(--line-2);
  border-radius:999px; background:var(--bg-2); font-size:12px; font-weight:600; white-space:nowrap}
.stream-strip .schip.is-selected{border-color:var(--focus); background:color-mix(in srgb,var(--focus) 14%,var(--bg-2))}

.active-filters{display:flex; gap:6px; flex-wrap:wrap; padding:8px 12px; min-height:0}
.active-filters:empty{display:none}
.fchip{display:inline-flex; align-items:center; gap:6px; padding:3px 6px 3px 10px; border-radius:999px;
  background:var(--bg-3); border:1px solid var(--line-2); font-size:12px}
.fchip button{background:none; border:0; color:var(--dim); font-size:14px; line-height:1; padding:0 2px}
.fchip button:hover{color:var(--err)}
.fchip-clear{background:none; border:0; color:var(--focus); font-weight:600; font-size:12px; text-decoration:underline}

.grid-wrap{position:relative; flex:1; min-height:0}
.grid{height:100%; overflow:auto; scrollbar-gutter:stable}
.grid-head{position:sticky; top:0; z-index:2; display:grid; grid-template-columns:var(--cols); gap:0;
  background:var(--bg-2); border-bottom:1px solid var(--line-2)}
.gh{padding:8px 10px; font-size:11px; text-transform:uppercase; letter-spacing:.08em; color:var(--dim); font-weight:700}
.grid-body{display:flex; flex-direction:column}

.row{display:grid; grid-template-columns:var(--cols); align-items:center; border-bottom:1px solid var(--line);
  min-height:var(--row-h); background:var(--bg)}
.row:nth-child(even){background:color-mix(in srgb,var(--bg-2) 45%,var(--bg))}
.row:hover{background:var(--bg-hover)}
.row.is-selected{background:color-mix(in srgb,var(--focus) 14%,var(--bg)); box-shadow:inset 3px 0 0 var(--focus)}
.row.is-new{animation:rowin .28s ease}
@keyframes rowin{from{opacity:0; transform:translateY(-4px)}to{opacity:1; transform:none}}
.cell{padding:6px 10px; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:13px}
.cell:focus-visible{outline:2px solid var(--focus); outline-offset:-2px; border-radius:3px}
.c-hora{color:var(--dim)}
.c-msg{white-space:nowrap; color:var(--text)}
.cell.c-acao,.cell.c-canal{color:var(--dim)}

/* faixa de identidade: ator */
.actor-tag{display:inline-flex; align-items:center; gap:6px; font-weight:600}
.tick{width:3px; height:14px; border-radius:2px; background:var(--a-unknown); flex:none}
.atag{font-family:var(--font-mono); font-size:12px; letter-spacing:.02em}
.a-claude{--ac:var(--a-claude)} .a-codex{--ac:var(--a-codex)} .a-hermes{--ac:var(--a-hermes)}
.a-airc{--ac:var(--a-airc)} .a-system{--ac:var(--a-system)} .a-unknown{--ac:var(--a-unknown)}
.actor-tag .tick{background:var(--ac,var(--a-unknown))}
.actor-tag .atag{color:var(--ac,var(--text))}

/* faixa de estado: sempre ícone + texto */
.state{display:inline-flex; align-items:center; gap:6px; padding:2px 8px; border-radius:999px; font-size:12px; font-weight:600;
  border:1px solid transparent}
.state-icon{width:12px; height:12px; flex:none; display:inline-grid; place-items:center; font-size:10px; line-height:1}
.state-text{}
.state-ok{color:var(--ok); background:color-mix(in srgb,var(--ok) 12%,transparent); border-color:color-mix(in srgb,var(--ok) 30%,transparent)}
.state-alerta{color:var(--warn); background:color-mix(in srgb,var(--warn) 14%,transparent); border-color:color-mix(in srgb,var(--warn) 34%,transparent)}
.state-erro{color:var(--err); background:color-mix(in srgb,var(--err) 15%,transparent); border-color:color-mix(in srgb,var(--err) 40%,transparent)}
.state-stale{color:var(--stale); background:color-mix(in srgb,var(--stale) 14%,transparent); border-color:color-mix(in srgb,var(--stale) 34%,transparent)}
.state-desconhecido{color:var(--unknown); background:color-mix(in srgb,var(--unknown) 12%,transparent); border-color:color-mix(in srgb,var(--unknown) 30%,transparent)}
.state-curso{color:var(--curso); background:color-mix(in srgb,var(--curso) 14%,transparent); border-color:color-mix(in srgb,var(--curso) 34%,transparent)}
.state-inferred{border-bottom:1px dotted currentColor}
.st-state .state{padding:1px 6px; font-size:11px}

/* ponto de tom compacto no botao Cotas (fato de saturacao sem os medidores largos) */
.quota-toggle::before{content:""; display:inline-block; width:8px; height:8px; border-radius:50%;
  margin-right:7px; background:var(--dim); vertical-align:middle}
.quota-toggle.qtone-ok::before{background:var(--ok)}
.quota-toggle.qtone-warn::before{background:var(--warn)}
.quota-toggle.qtone-danger::before{background:var(--err)}
.quota-toggle.qtone-unknown::before{background:var(--stale)}

/* pill de novos eventos */
.live-pill{position:absolute; top:10px; left:50%; transform:translateX(-50%); z-index:6;
  background:var(--focus); color:#fff; border:0; border-radius:999px; padding:7px 14px; font-weight:700; font-size:13px;
  box-shadow:0 6px 20px rgba(0,0,0,.35)}
:root[data-theme="light"] .live-pill{color:#fff}

/* overlay de estados (loading/vazio/erro) */
.grid-overlay{position:absolute; inset:0; display:grid; place-items:center; text-align:center; padding:24px;
  background:color-mix(in srgb,var(--bg) 82%,transparent); color:var(--dim)}
.grid-overlay .ov-inner{max-width:420px; display:grid; gap:10px; justify-items:center}
.grid-overlay h3{font-size:15px; color:var(--text)}
.grid-overlay p{font-size:13px}
.skeleton{position:absolute; inset:0; padding:0; overflow:hidden}
.sk-row{display:grid; grid-template-columns:var(--cols); min-height:var(--row-h); border-bottom:1px solid var(--line); align-items:center}
.sk{height:11px; margin:0 10px; border-radius:4px; background:linear-gradient(90deg,var(--bg-3),var(--bg-hover),var(--bg-3));
  background-size:200% 100%; animation:shimmer 1.3s linear infinite}
@keyframes shimmer{from{background-position:200% 0}to{background-position:-200% 0}}

/* ---------- Zona D: inspetor ---------- */
.inspector{grid-area:inspector; overflow:auto; border-left:1px solid var(--line); background:var(--bg-2);
  display:flex; flex-direction:column}
.insp-head{display:flex; align-items:center; justify-content:space-between; padding:12px 14px; border-bottom:1px solid var(--line);
  position:sticky; top:0; background:var(--bg-2); z-index:2}
.insp-head h2{font-size:12px; text-transform:uppercase; letter-spacing:.12em; color:var(--dim)}
.icon-btn{background:var(--bg-3); border:1px solid var(--line-2); border-radius:6px; padding:5px 10px; font-size:12px; font-weight:600}
.insp-body{padding:14px; display:flex; flex-direction:column; gap:12px}
.insp-empty{color:var(--faint); font-size:13px}
.insp-actor{display:flex; align-items:center; gap:10px}
.insp-actor .atag{font-size:14px}
.insp-dl{display:grid; grid-template-columns:auto 1fr; gap:6px 12px; font-size:13px}
.insp-dl dt{color:var(--dim)}
.insp-dl dd{margin:0; word-break:break-word}
.insp-dl dd.mono, .insp-src{font-family:var(--font-mono); font-size:12px; word-break:break-all}
.insp-msg{background:var(--bg); border:1px solid var(--line); border-radius:var(--radius); padding:11px; font-size:13px;
  line-height:1.5; white-space:pre-wrap; word-break:break-word}
.disclosure{display:flex; flex-direction:column; gap:8px}
.raw-region{background:var(--bg); border:1px solid var(--line); border-radius:var(--radius); padding:11px; margin:0;
  font-family:var(--font-mono); font-size:12px; line-height:1.5; white-space:pre-wrap; word-break:break-word;
  max-height:360px; overflow:auto; color:var(--text)}
.insp-note{color:var(--faint); font-size:11px}

/* ---------- Kanban Hermes: projeção read-only ---------- */
.kanban-page{flex:1; min-height:0; padding:clamp(14px,2.4vw,26px); overflow:auto; display:flex; flex-direction:column; gap:18px}
.kanban-hero{display:flex; justify-content:space-between; align-items:flex-end; gap:20px}
.kanban-eyebrow{color:var(--a-hermes); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase}
.kanban-hero h1{font-size:clamp(24px,3vw,38px); line-height:1.05; letter-spacing:-.035em; margin-top:5px}
.kanban-sub{color:var(--dim); margin-top:7px; max-width:720px}
.kanban-controls{display:grid; grid-template-columns:auto minmax(180px,260px) auto; gap:8px; align-items:center}
.kanban-controls label{color:var(--dim); font-size:12px; font-weight:700}
.kanban-controls select{min-height:36px; color:var(--text); background:var(--bg-2); border:1px solid var(--line-2); border-radius:6px; padding:0 34px 0 10px}

.kanban-overview{display:grid; grid-template-columns:repeat(auto-fit,minmax(170px,1fr)); gap:9px}
.kb-overview-card{display:grid; grid-template-columns:1fr auto; gap:7px 12px; text-align:left; color:inherit; padding:12px;
  border:1px solid var(--line); border-radius:var(--radius); background:var(--bg-2)}
.kb-overview-card:hover{background:var(--bg-hover)}
.kb-overview-card.is-selected{border-color:color-mix(in srgb,var(--focus) 65%,var(--line)); box-shadow:inset 3px 0 0 var(--focus)}
.kb-overview-name{font-weight:750; white-space:nowrap; overflow:hidden; text-overflow:ellipsis}
.kb-overview-total{font-family:var(--font-mono); font-size:18px; font-weight:800}
.kb-overview-meta{grid-column:1/-1; display:flex; gap:9px; flex-wrap:wrap; color:var(--dim); font-size:11px}
.kb-attention{color:var(--err); font-weight:700}
.kb-running{color:var(--curso); font-weight:700}

.kanban-board-shell{min-height:280px; display:flex; flex-direction:column; gap:10px}
.kanban-board-meta{display:flex; gap:10px; align-items:baseline; min-height:24px}
.kanban-board-meta h2{font-size:17px}
.kanban-board-meta span{color:var(--dim); font-size:12px}
.kanban-state{padding:28px; border:1px dashed var(--line-2); border-radius:var(--radius); color:var(--dim); text-align:center}
.kanban-state.is-error{color:var(--err); border-color:color-mix(in srgb,var(--err) 45%,var(--line))}
.kanban-columns{display:grid; grid-auto-flow:column; grid-auto-columns:minmax(250px,1fr); gap:10px; overflow-x:auto; padding-bottom:10px; scrollbar-gutter:stable;
  /* Altura uniforme por coluna (kanban clássico): a lista de cards rola DENTRO
     da coluna; 72+ cards não esticam mais a página inteira. A linha auto do
     grid não cresce com conteúdo overflow (resolvia no min-height), então o
     teto vai na própria linha. */
  grid-auto-rows:min(72dvh,980px)}
.kb-column{min-height:230px; display:flex; flex-direction:column; background:color-mix(in srgb,var(--bg-2) 72%,var(--bg)); border:1px solid var(--line); border-radius:10px; overflow:hidden}
.kb-column-head{position:sticky; top:0; z-index:1; flex:none; display:flex; align-items:center; gap:8px; padding:10px 11px; background:var(--bg-2); border-bottom:1px solid var(--line)}
.kb-column-dot{width:8px; height:8px; border-radius:50%; background:var(--stale)}
.kb-column[data-status="running"] .kb-column-dot{background:var(--curso)}
.kb-column[data-status="blocked"] .kb-column-dot{background:var(--err)}
.kb-column[data-status="done"] .kb-column-dot{background:var(--ok)}
.kb-column[data-status="review"] .kb-column-dot,.kb-column[data-status="scheduled"] .kb-column-dot{background:var(--warn)}
.kb-column-title{font-size:12px; font-weight:800; letter-spacing:.04em; text-transform:uppercase}
.kb-column-count{margin-left:auto; min-width:23px; padding:1px 7px; border-radius:999px; background:var(--bg-3); color:var(--dim); font-family:var(--font-mono); text-align:center}
.kb-card-list{display:flex; flex-direction:column; gap:7px; padding:8px; min-height:0; flex:1 1 auto;
  overflow-y:auto; overscroll-behavior:contain; scrollbar-gutter:stable}
.kb-empty{color:var(--faint); font-size:12px; padding:10px 4px; text-align:center}
.kb-card{display:flex; flex-direction:column; gap:8px; padding:10px; border:1px solid var(--line); border-radius:8px; background:var(--bg-2)}
.kb-card:hover{border-color:var(--line-2); background:var(--bg-hover)}
.kb-card.is-entering{opacity:0; transform:translateY(7px) scale(.985)}
.kb-card.is-moving,.kb-card{transition:transform .32s cubic-bezier(.2,.8,.2,1),opacity .2s ease,border-color .2s ease,background-color .2s ease}
.kb-card[data-worker-state="working"]{border-left-color:var(--curso); box-shadow:inset 2px 0 0 color-mix(in srgb,var(--curso) 58%,transparent)}
.kb-identity{display:flex; align-items:center; justify-content:space-between; gap:8px; min-height:30px}
.kb-agent,.kb-worker{display:inline-flex; align-items:center; min-width:0}
.kb-agent{gap:6px; color:var(--dim); font-size:10px; font-weight:750}
.kb-agent-avatar{display:grid; place-items:center; width:26px; height:26px; flex:none; border:1px solid color-mix(in srgb,var(--a-hermes) 42%,var(--line)); border-radius:8px;
  background:color-mix(in srgb,var(--a-hermes) 12%,var(--bg)); color:var(--a-hermes); font-family:var(--font-mono); font-size:9px; letter-spacing:-.04em}
.kb-agent-name{overflow:hidden; text-overflow:ellipsis; white-space:nowrap; max-width:92px}
.kb-worker{gap:6px; margin-left:auto; color:var(--dim); font-size:9px; text-align:right}
.kb-worker-copy{display:flex; flex-direction:column; min-width:0; line-height:1.2}
.kb-worker-copy strong{color:var(--text); font-size:10px}
.kb-worker-copy small{max-width:105px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:var(--faint)}
.kb-worker-avatar{position:relative; display:grid; place-items:center; width:27px; height:27px; flex:none; border-radius:50%; border:1px solid var(--line-2); background:var(--bg)}
.kb-worker-core{position:relative; z-index:1; color:var(--stale); font-size:9px; line-height:1}
.kb-worker.is-working .kb-worker-avatar{border-color:color-mix(in srgb,var(--curso) 56%,var(--line)); background:color-mix(in srgb,var(--curso) 10%,var(--bg))}
.kb-worker.is-working .kb-worker-core{color:var(--curso); animation:kb-heartbeat 1.8s ease-in-out infinite}
.kb-worker.is-working .kb-worker-avatar::after{content:""; position:absolute; inset:3px; border:1px solid transparent; border-top-color:var(--curso); border-right-color:color-mix(in srgb,var(--curso) 35%,transparent); border-radius:50%; animation:kb-worker-orbit 1.8s linear infinite}
.kb-worker.is-stale .kb-worker-core,.kb-worker.is-failed .kb-worker-core,.kb-worker.is-blocked .kb-worker-core{color:var(--err)}
.kb-worker.is-review .kb-worker-core{color:var(--warn)}
.kb-worker.is-done .kb-worker-core{color:var(--ok)}
body.page-hidden .kb-worker-core,body.page-hidden .kb-worker-avatar::after{animation-play-state:paused !important}
@keyframes kb-worker-orbit{to{transform:rotate(360deg)}}
@keyframes kb-heartbeat{0%,100%{transform:scale(.82);opacity:.68}45%{transform:scale(1.18);opacity:1}}
.kb-card-title{font-size:13px; line-height:1.35; font-weight:700; overflow-wrap:anywhere}
.kb-card-id{color:var(--faint); font-family:var(--font-mono); font-size:10px}
.kb-card-refs{display:flex; align-items:center; justify-content:space-between; gap:8px}
.kb-jira-key{padding:1px 6px; border-radius:4px; background:color-mix(in srgb,#2684ff 14%,transparent); color:color-mix(in srgb,#2684ff 75%,var(--text)); font-family:var(--font-mono); font-size:9px; font-weight:800}
.kb-card-tags{display:flex; flex-wrap:wrap; gap:5px}
.kb-tag{display:inline-flex; align-items:center; min-height:21px; padding:2px 7px; border:1px solid var(--line-2); border-radius:999px; color:var(--dim); font-size:10px}
.kb-tag.priority{color:var(--warn)}
.kb-tag.sync-synced{color:var(--ok); border-color:color-mix(in srgb,var(--ok) 35%,var(--line))}
.kb-tag.sync-pending,.kb-tag.sync-syncing{color:var(--warn); border-color:color-mix(in srgb,var(--warn) 35%,var(--line))}
.kb-tag.sync-degraded,.kb-tag.sync-failed,.kb-tag.sync-conflict,.kb-tag.sync-blocked_auth{color:var(--err); border-color:color-mix(in srgb,var(--err) 42%,var(--line))}
.kb-block{padding:7px; border-radius:6px; color:var(--err); background:color-mix(in srgb,var(--err) 10%,transparent); font-size:11px; overflow-wrap:anywhere}
.kb-card-foot{display:flex; justify-content:space-between; gap:8px; color:var(--faint); font-size:10px}
.kb-heartbeat{color:var(--curso)}
.kb-log-peek{position:relative; border-radius:7px; outline:none; cursor:help}
.kb-log-peek:focus-visible{box-shadow:0 0 0 2px var(--focus)}
.kb-log-tooltip{position:fixed; z-index:70; top:0; left:0; display:flex; flex-direction:column; gap:4px;
  width:max-content; max-width:min(310px,76vw); padding:8px 10px; border:1px solid var(--line-2); border-radius:7px;
  background:var(--bg-3); color:var(--text); box-shadow:0 10px 28px rgba(0,0,0,.3); text-align:left;
  font-size:10px; line-height:1.4; opacity:0; visibility:hidden; transform:translateY(-3px); pointer-events:none;
  transition:opacity .14s ease,transform .14s ease,visibility .14s ease}
.kb-log-tooltip span{color:var(--dim); overflow-wrap:anywhere}
.kb-log-peek:hover .kb-log-tooltip,.kb-log-peek:focus .kb-log-tooltip{opacity:1; visibility:visible; transform:none}

.kb-log-panel{position:fixed; z-index:80; inset:0 0 0 auto; display:flex; flex-direction:column; width:min(900px,85vw);
  height:100dvh; overflow-y:auto; border-left:1px solid var(--line-2); background:var(--bg); color:var(--text);
  box-shadow:-18px 0 48px rgba(0,0,0,.34); animation:kb-log-enter .2s ease-out}
.kb-log-head{position:sticky; top:0; z-index:2; display:flex; align-items:flex-start; justify-content:space-between; gap:14px;
  padding:16px; border-bottom:1px solid var(--line); background:color-mix(in srgb,var(--bg-2) 94%,transparent); backdrop-filter:blur(10px)}
.kb-log-heading{min-width:0}
.kb-log-eyebrow{color:var(--curso); font-size:10px; font-weight:800; letter-spacing:.1em; text-transform:uppercase}
.kb-log-heading h2{margin-top:4px; font-size:18px; line-height:1.3; overflow-wrap:anywhere}
.kb-log-meta{margin-top:5px; color:var(--dim); font-family:var(--font-mono); font-size:10px; overflow-wrap:anywhere}
.kb-log-close{flex:none}
.kb-log-close-mobile{display:none}
.kb-log-state{margin:16px; padding:18px; border:1px dashed var(--line-2); border-radius:8px; color:var(--dim); text-align:center}
.kb-activity{display:flex; flex-direction:column; flex-shrink:0; min-height:100px; max-height:48vh; margin:12px 16px 0; border:1px solid var(--line); border-radius:8px; background:var(--bg-2); overflow:hidden}
.kb-activity-head{display:flex; align-items:center; justify-content:space-between; gap:8px; padding:8px 10px; border-bottom:1px solid var(--line)}
.kb-activity-title{color:var(--curso); font-family:var(--font-mono); font-size:9px; text-transform:uppercase; letter-spacing:.08em}
.kb-activity-actions{display:flex; align-items:center; gap:10px}
.kb-activity-meta{color:var(--faint); font-size:10px; overflow-wrap:anywhere}
.kb-activity-full{color:var(--curso); font-size:10px; text-decoration:none; border:1px solid color-mix(in srgb,var(--curso) 38%,var(--line)); border-radius:999px; padding:2px 8px; white-space:nowrap}
.kb-activity-full:hover{background:color-mix(in srgb,var(--curso) 12%,transparent)}
.kb-activity-tail{flex:1; min-height:0; margin:0; padding:10px; overflow-y:auto; color:var(--text); font-family:var(--font-mono); font-size:11px; line-height:1.45; white-space:pre-wrap; overflow-wrap:anywhere; scrollbar-gutter:stable}
.kb-log-timeline{display:flex; flex:1; min-height:240px; flex-direction:column; gap:10px; padding:14px 16px 24px; overflow-y:auto; scrollbar-gutter:stable}
.kb-log-entry{border:1px solid var(--line); border-radius:8px; background:var(--bg-2); overflow:hidden; flex-shrink:0}
.kb-log-entry-head{display:grid; grid-template-columns:auto minmax(0,1fr) auto; gap:7px; align-items:center; padding:8px 10px; border-bottom:1px solid var(--line)}
.kb-log-source{padding:2px 6px; border:1px solid var(--line-2); border-radius:999px; color:var(--dim); font-family:var(--font-mono); font-size:9px; text-transform:uppercase}
.kb-log-source.source-event{color:var(--curso); border-color:color-mix(in srgb,var(--curso) 38%,var(--line))}
.kb-log-source.source-comment{color:var(--a-hermes); border-color:color-mix(in srgb,var(--a-hermes) 38%,var(--line))}
.kb-log-source.source-run{color:var(--warn); border-color:color-mix(in srgb,var(--warn) 38%,var(--line))}
.kb-log-actor{min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:11px}
.kb-log-age{color:var(--faint); font-size:10px; overflow-wrap:anywhere}
.kb-log-text{padding:10px; color:var(--text); font-size:12px; line-height:1.5; white-space:pre-wrap; overflow-wrap:anywhere}
.kb-log-controls{display:flex; align-items:center; gap:10px; padding:12px 16px; flex-wrap:wrap; flex-shrink:0}
.kb-log-controls select,.kb-source-meta select{padding:6px; color:var(--text); background:var(--bg-2); border:1px solid var(--line-2); border-radius:5px; max-width:100%}
.kb-task-details{padding:4px 16px 10px; flex-shrink:0}
.kb-task-details summary,.kb-log-payload summary,.kb-activity-origin summary{color:var(--focus); cursor:pointer; font-size:12px}
.kb-task-details pre,.kb-log-payload pre,.kb-activity-origin pre{white-space:pre-wrap; overflow-wrap:anywhere; max-height:360px; overflow:auto; font-size:11px; font-family:var(--font-mono); background:var(--bg); padding:10px}
.kb-activity-origin{padding:5px 10px; flex-shrink:0}
.kb-log-payload{padding:8px 10px; border-top:1px solid var(--line)}
.kb-log-identity{padding:6px 10px; font-size:11px; color:var(--dim); font-family:var(--font-mono); overflow-wrap:anywhere}
.kb-source-meta{color:var(--dim); font-size:11px; overflow-wrap:anywhere}
.kb-activity>.kb-source-meta{padding:5px 10px}
.kb-load-older{align-self:flex-start; margin:4px 10px}
.kb-history-head{display:flex; padding:16px 16px 0; align-items:center; gap:10px; flex-wrap:wrap; flex-shrink:0}
.kb-history-head>strong{font-size:12px}
@keyframes kb-log-enter{from{opacity:0;transform:translateX(18px)}to{opacity:1;transform:none}}

/* ---------- Conversas entre agentes: projeção AIRC read-only ---------- */
.conversations-page{flex:1; min-height:0; padding:clamp(14px,2.4vw,26px); overflow:auto; display:flex; flex-direction:column; gap:18px}
.conversations-hero{display:flex; align-items:flex-end; justify-content:space-between; gap:20px}
.conversations-eyebrow{color:var(--a-airc); font-size:11px; font-weight:800; letter-spacing:.12em; text-transform:uppercase}
.conversations-hero h1{font-size:clamp(24px,3vw,38px); line-height:1.05; letter-spacing:-.035em; margin-top:5px}
.conversations-sub{color:var(--dim); margin-top:7px; max-width:720px}
.conversation-rollup{color:var(--dim); font-size:12px; white-space:nowrap}
.conversation-shell{display:grid; grid-template-columns:minmax(240px,320px) minmax(0,1fr); min-height:440px; flex:1; border:1px solid var(--line); border-radius:12px; overflow:hidden; background:var(--bg-2)}
.conversation-index{border-right:1px solid var(--line); min-height:0; overflow:auto}
.conversation-index-head{position:sticky; top:0; z-index:2; display:flex; align-items:center; justify-content:space-between; padding:12px; background:var(--bg-2); border-bottom:1px solid var(--line)}
.conversation-index-head h2{font-size:12px; text-transform:uppercase; letter-spacing:.1em; color:var(--dim)}
.conversation-list{display:flex; flex-direction:column}
.conversation-item{display:flex; flex-direction:column; gap:7px; width:100%; padding:12px; text-align:left; color:inherit; background:transparent; border:0; border-bottom:1px solid var(--line)}
.conversation-item:hover{background:var(--bg-hover)}
.conversation-item.is-selected{background:color-mix(in srgb,var(--focus) 12%,var(--bg)); box-shadow:inset 3px 0 0 var(--focus)}
.conversation-item-top{display:flex; align-items:flex-start; justify-content:space-between; gap:8px}
.conversation-item-top strong{font-size:13px; line-height:1.35; overflow-wrap:anywhere}
.conversation-item-top .state{flex:none; padding:1px 6px; font-size:10px}
.conversation-item-meta{color:var(--faint); font-size:11px}
.conversation-thread{min-width:0; min-height:0; display:flex; flex-direction:column; background:var(--bg)}
.conversation-meta{position:sticky; top:0; z-index:2; display:flex; align-items:flex-start; justify-content:space-between; gap:16px; padding:14px 16px; background:var(--bg-2); border-bottom:1px solid var(--line)}
.conversation-meta h2{font-size:17px; line-height:1.3}
.conversation-id{margin-top:4px; color:var(--faint); font-size:10px; word-break:break-all}
.conversation-badges{display:flex; flex-wrap:wrap; justify-content:flex-end; gap:5px}
.conversation-badge{padding:3px 7px; border:1px solid var(--line-2); border-radius:999px; color:var(--dim); font-size:10px}
.conversation-timeline{display:flex; flex:1; min-height:0; flex-direction:column; gap:9px; padding:14px; overflow:auto; scrollbar-gutter:stable}
.conversation-event{border:1px solid var(--line); border-radius:9px; background:var(--bg-2); overflow:hidden}
.conversation-event[data-action="conversation.failed"]{border-color:color-mix(in srgb,var(--err) 45%,var(--line))}
.conversation-event-head{display:flex; align-items:center; justify-content:space-between; gap:12px; padding:9px 11px; border-bottom:1px solid var(--line)}
.conversation-speaker{display:flex; align-items:center; gap:8px; min-width:0}
.conversation-speaker strong{overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:12px}
.conversation-where{color:var(--faint); font-family:var(--font-mono); font-size:10px; white-space:nowrap}
.conversation-message{padding:12px; white-space:pre-wrap; overflow-wrap:anywhere; line-height:1.55; font-size:13px}
.conversation-system{padding:9px 12px; color:var(--dim); font-size:12px; font-style:italic}
.conversation-event-foot{display:flex; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:7px 11px; color:var(--faint); border-top:1px solid var(--line); font-size:10px}
.conversation-empty{display:grid; place-items:center; flex:1; min-height:260px; padding:30px; color:var(--dim); text-align:center}

/* ---------- Tablet ---------- */
@media (max-width:1024px){
  .desk{grid-template-columns:1fr; grid-template-areas:"events"}
  .board{display:none}
  .stream-strip{display:flex}
  body[data-inspector="collapsed"] .desk{grid-template-columns:1fr; grid-template-areas:"events"}
  .inspector{position:fixed; top:0; right:0; height:100dvh; width:min(420px,92vw); z-index:50;
    border-left:1px solid var(--line-2); box-shadow:-12px 0 40px rgba(0,0,0,.35);
    transform:translateX(100%); transition:transform .25s ease; display:flex}
  body[data-inspector="collapsed"] .inspector{display:flex}
  body.inspector-open .inspector{transform:none}
  .kanban-columns{grid-auto-columns:minmax(240px,42vw)}
  .conversation-shell{grid-template-columns:minmax(210px,280px) minmax(0,1fr)}
}

/* ---------- Mobile ---------- */
@media (max-width:700px){
  body{font-size:14px}
  /* vitais compactos: marca + estado de conexao + rollup + cota (ponto de tom) em poucas linhas */
  .vitals{padding:8px 12px; gap:6px 10px; align-items:center}
  .brand-sub{display:none}
  .brand-mark{width:14px; height:14px}
  .brand-name{font-size:14px}
  .view-tabs{order:3; width:100%; display:grid; grid-template-columns:repeat(3,1fr)}
  .view-tab{min-height:38px}
  .vitals-signals{gap:6px 10px; width:100%; margin-left:0; justify-content:space-between; row-gap:6px}
  .quota-strip{display:none}         /* saturacao vira o ponto de tom do botao Cotas + o sheet de detalhe */
  .conn{padding:4px 9px; font-size:12px}
  .conn-fresh{font-size:11px}
  .rollup{font-size:12px}
  .theme-toggle{padding:6px 9px}
  .quota-detail{position:fixed; left:8px; right:8px; top:auto; bottom:8px; width:auto; max-height:64vh}
  .grid-head{display:none}
  .toolbar{gap:6px; padding:8px 10px}
  .toolbar-spacer{display:none}
  .search{order:-1; flex:1 1 100%}
  .row{grid-template-columns:auto 1fr auto; grid-template-areas:
    "hora ator estado"
    "msg msg msg"
    "acao acao canal"; gap:2px 8px; padding:8px 4px; min-height:44px}
  .cell{white-space:normal; padding:2px 8px}
  .cell.c-hora{grid-area:hora} .cell.c-estado{grid-area:estado; justify-self:end}
  .cell.c-ator{grid-area:ator} .cell.c-acao{grid-area:acao; font-size:12px}
  .cell.c-canal{grid-area:canal; justify-self:end; font-size:12px} .cell.c-msg{grid-area:msg}
  .sk-row{grid-template-columns:1fr}
  /* bottom sheet dimensionado pelo conteudo, rolavel se longo */
  .inspector{width:100%; height:auto; max-height:85dvh; top:auto; bottom:0; transform:translateY(100%);
    border-top:1px solid var(--line-2); border-left:0; border-radius:16px 16px 0 0}
  body.inspector-open .inspector{transform:none}
  .live-pill{top:auto; bottom:14px}
  /* alvos de toque >=44px em todos os controles visiveis */
  .filter-btn,.ctl-btn,.chip-btn,.disclosure-btn,.icon-btn,.theme-toggle,.quota-notion,
  .schip,.fchip,.fchip button,.fchip-clear,.live-pill{min-height:44px}
  .filter-btn,.ctl-btn{padding:0 10px}
  .fchip button{min-width:44px}
  .search input{min-height:44px}
  .kanban-page{padding:13px 10px}
  .kanban-hero{align-items:stretch; flex-direction:column}
  .kanban-controls{grid-template-columns:1fr auto}
  .kanban-controls label{grid-column:1/-1}
  .kanban-controls select,.kanban-controls .ctl-btn{min-height:44px}
  .kanban-overview{display:flex; overflow-x:auto; gap:8px}
  .kb-overview-card{min-width:190px}
  .kanban-columns{grid-auto-columns:minmax(270px,86vw)}
  .kb-log-panel{inset:0; width:100%; max-width:none; border-left:0; box-shadow:none}
  .kb-log-close-desktop{display:none}
  .kb-log-close-mobile{display:inline}
  .kb-log-close{min-height:44px}
  .kb-log-head{padding-top:max(14px,env(safe-area-inset-top))}
  .kb-log-timeline{padding-bottom:max(24px,env(safe-area-inset-bottom))}
  .conversations-page{padding:13px 10px}
  .conversations-hero{align-items:flex-start; flex-direction:column}
  .conversation-rollup{white-space:normal}
  .conversation-shell{display:flex; flex-direction:column; min-height:0; overflow:visible; border:0; background:transparent}
  .conversation-index{max-height:220px; border:1px solid var(--line); border-radius:10px; background:var(--bg-2)}
  .conversation-thread{margin-top:10px; border:1px solid var(--line); border-radius:10px; overflow:hidden}
  .conversation-meta{position:static; flex-direction:column}
  .conversation-badges{justify-content:flex-start}
  .conversation-event-head{align-items:flex-start; flex-direction:column; gap:5px}
  .conversation-where{white-space:normal}
  .conversation-item{min-height:44px}
}

/* ---------- Movimento reduzido ---------- */
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms !important; animation-iteration-count:1 !important; transition-duration:.001ms !important}
  .row.is-new{animation:none}
  .kb-worker.is-working .kb-worker-core,.kb-worker.is-working .kb-worker-avatar::after{animation:none}
  .kb-log-panel{animation:none}
  .kb-log-tooltip{transition:none}
}
