/* Mesma paleta, tipografia, superfícies e marca do painel principal. */
:root { --bg:#03121f;--line:rgba(0,174,255,.34);--muted:rgba(255,255,255,.74);--cyan:#00aeff;--blue:#005799;--text:#e8f6ff;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
body { min-height:100vh;background:linear-gradient(rgba(0,174,255,.06) 1px,transparent 1px),linear-gradient(90deg,rgba(0,174,255,.06) 1px,transparent 1px),radial-gradient(circle at 20% 10%,rgba(0,174,255,.22),transparent 30rem),linear-gradient(135deg,rgba(0,87,153,.44),transparent 65%),var(--bg);background-size:42px 42px,42px 42px,auto,auto,auto; }
.topbar,.brief,.answer-bar,.log-panel,.filter-panel { background:rgba(255,255,255,.10);backdrop-filter:blur(10px);border:1px solid var(--line);border-radius:12px;box-shadow:0 4px 32px rgba(0,0,0,.25); }
.topbar { margin:28px 28px 0;padding:18px 24px;flex-wrap:wrap;gap:24px; }
.brand { display:flex;align-items:center;gap:20px; }
.brand img { width:180px;height:70px;object-fit:contain; }
.brand span { margin:0;color:var(--muted); }
.topbar nav a { color:var(--text);font-weight:700; }
.brief { padding:24px; }
.brief p,summary,.filter-panel>p,label { color:var(--text); }
.primary { background:var(--blue);border-color:var(--cyan);border-radius:8px;font-weight:800; }
.primary:hover { background:#087ac2; }
button,input,select { border-color:var(--line);border-radius:8px; }
input,select,.filter-group,.filter-preview { background:#082842;color:var(--text); }
.badge { background:rgba(0,174,255,.10);border-color:var(--line);color:var(--cyan); }
.trail-help { margin-top:18px;padding:18px 24px;border:1px solid var(--cyan);border-radius:10px;background:rgba(0,87,153,.35);line-height:1.6; }
.trail-help[hidden] { display:none; }
.trail-help p { margin:8px 0; }
#promotionDialog { text-align:center;max-width:720px;background:#082842;border-color:var(--cyan); }
#promotionImage { display:block;width:100%;max-height:65vh;object-fit:contain;margin:16px auto; }
#promotionDialog::backdrop { background:rgba(0,0,0,.8); }
@media(max-width:600px) { .topbar { margin:12px 12px 0;padding:14px;gap:14px; } .brand { gap:10px; } .brand img { width:130px;height:52px; } .brief { padding:16px; } .topbar #score { margin-left:0; } }

.threat-chain {width:100%;font-size:12px;border-top:1px solid var(--line);padding-top:10px;}
.threat-chain ol {display:flex;flex-wrap:wrap;gap:8px;padding-left:20px;}
.threat-chain li {padding:6px;background:rgba(0,87,153,.2);border-radius:6px;}
.threat-chain code {margin-right:6px;}
.threat-chain button {padding:3px 6px;margin-left:3px;}
tr.chain-selected {background:#16485b!important;}
