/* =====================================================================
   ADM · Hard Copy — design system "central de inteligência"
   ===================================================================== */
:root {
  --bg: #090b10;
  --bg-2: #0e1119;
  --panel: #141821;
  --panel-2: #1b212c;
  --panel-3: #222a37;
  --line: #29313f;
  --line-soft: rgba(255,255,255,0.055);
  --text: #eef1f7;
  --text-2: #c3cad8;
  --muted: #828da0;
  --accent: #ee1c24;
  --accent-2: #ff5a5a;
  --green: #34d399;
  --yellow: #f5c04a;
  --red: #f2555a;
  --blue: #4fa3ff;
  --violet: #b98cff;
  --sec: var(--accent);            /* cor da seção (sobrescrita por view) */
  --r: 16px;
  --r-sm: 11px;
  --shadow: 0 14px 40px -14px rgba(0,0,0,0.7);
  --font: 'Inter', -apple-system, 'Segoe UI', Roboto, sans-serif;
  --display: 'Space Grotesk', 'Inter', sans-serif;
  --mono: ui-monospace, 'SF Mono', 'Cascadia Code', Consolas, monospace;
}

* { box-sizing: border-box; }
html, body { margin: 0; padding: 0; }
body {
  background:
    radial-gradient(1100px 520px at 88% -8%, rgba(238,28,36,0.10), transparent 60%),
    radial-gradient(900px 500px at 5% -5%, rgba(79,163,255,0.07), transparent 55%),
    var(--bg);
  color: var(--text);
  font-family: var(--font);
  font-size: 14px;
  line-height: 1.55;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
}
h1, h2, h3, h4 { margin: 0; font-family: var(--display); font-weight: 600; letter-spacing: -0.01em; }
a { color: inherit; }
button { font-family: inherit; }
.muted { color: var(--muted); font-size: 12px; }
.muted code, code { background: rgba(255,255,255,0.06); padding: 1px 6px; border-radius: 5px; font-family: var(--mono); font-size: 11px; color: var(--accent-2); }

/* label micro (estilo console) */
.diss-lbl, .col-sub, .pontos-lbl, .offer-rec-l, .resumo-tit, .ads-links-titulo {
  font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.08em;
}

::-webkit-scrollbar { width: 10px; height: 10px; }
::-webkit-scrollbar-thumb { background: #2b3444; border-radius: 10px; border: 2px solid transparent; background-clip: padding-box; }
::-webkit-scrollbar-thumb:hover { background: #3a4658; background-clip: padding-box; }

/* ---------- Topbar ---------- */
.topbar {
  display: flex; align-items: center; justify-content: space-between; gap: 14px 18px; flex-wrap: wrap;
  padding: 12px 22px; position: sticky; top: 0; z-index: 30;
  background: linear-gradient(180deg, rgba(10,12,17,0.92), rgba(10,12,17,0.78));
  backdrop-filter: blur(14px);
  border-bottom: 1px solid var(--line);
  box-shadow: 0 1px 0 var(--line-soft), 0 10px 30px -20px rgba(0,0,0,0.9);
}
.brand { display: flex; align-items: center; gap: 12px; flex: 0 1 auto; min-width: 0; }
.brand-img { height: 46px; width: auto; max-width: 220px; object-fit: contain; background: none; padding: 0; border: none; box-shadow: none; }
.brand-fb { display: flex; align-items: center; gap: 11px; }
.cam-logo { width: 60px; height: auto; filter: drop-shadow(0 2px 6px rgba(0,0,0,0.5)); }
.adm { font-family: var(--display); font-size: 30px; font-weight: 700; letter-spacing: 3px; color: #eef1f7; }

.tabs { display: flex; gap: 4px; background: rgba(0,0,0,0.28); padding: 5px; border-radius: 13px; border: 1px solid var(--line); flex: 0 0 auto; margin: 0 auto; }
.tab {
  display: inline-flex; align-items: center; gap: 7px; background: transparent; border: none;
  color: var(--muted); padding: 8px 15px; border-radius: 9px; cursor: pointer;
  font-size: 13px; font-weight: 600; transition: 0.18s; white-space: nowrap;
}
.tab .tab-ic { font-size: 14px; filter: grayscale(0.4); transition: 0.18s; }
.tab:hover { color: var(--text); background: rgba(255,255,255,0.04); }
.tab.active { color: #fff; background: var(--panel-2); box-shadow: 0 2px 10px -2px rgba(0,0,0,0.6), inset 0 0 0 1px var(--line-soft); }
.tab.active .tab-ic { filter: none; }
.tab.active { box-shadow: inset 0 -2px 0 var(--accent), 0 2px 10px -2px rgba(0,0,0,0.6); }
.tab[data-view="radar"].active         { box-shadow: inset 0 -2px 0 #ee1c24, 0 2px 10px -2px rgba(0,0,0,0.6); }
.tab[data-view="clientes"].active      { box-shadow: inset 0 -2px 0 #f5b13d, 0 2px 10px -2px rgba(0,0,0,0.6); }
.tab[data-view="mercados"].active      { box-shadow: inset 0 -2px 0 #4fa3ff, 0 2px 10px -2px rgba(0,0,0,0.6); }
.tab[data-view="benchmark"].active     { box-shadow: inset 0 -2px 0 #b98cff, 0 2px 10px -2px rgba(0,0,0,0.6); }
.tab[data-view="oportunidades"].active { box-shadow: inset 0 -2px 0 #34d399, 0 2px 10px -2px rgba(0,0,0,0.6); }
.tab[data-view="laboratorio"].active   { box-shadow: inset 0 -2px 0 #5ad1e0, 0 2px 10px -2px rgba(0,0,0,0.6); }
.tab[data-view="arsenal"].active       { box-shadow: inset 0 -2px 0 #b98cff, 0 2px 10px -2px rgba(0,0,0,0.6); }
.tab[data-view="minerar"].active       { box-shadow: inset 0 -2px 0 #f5b13d, 0 2px 10px -2px rgba(0,0,0,0.6); }
.tab[data-view="arsenal"].active { box-shadow: inset 0 -2px 0 #b98cff, 0 2px 10px -2px rgba(0,0,0,0.6); }

.top-actions { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.conn { display: flex; gap: 6px; }
.conn-pill {
  display: inline-flex; align-items: center; gap: 6px; font-size: 11.5px; font-weight: 600;
  padding: 5px 10px; border-radius: 20px; cursor: pointer; transition: 0.15s;
  background: var(--panel-2); border: 1px solid var(--line); color: var(--text-2);
}
.conn-pill:hover { border-color: #3a4658; }
.conn-pill .dot { width: 7px; height: 7px; border-radius: 50%; }
.conn-pill.on .dot { background: var(--green); box-shadow: 0 0 8px var(--green); }
.conn-pill.off .dot { background: #55606f; }
.conn-pill.off { color: var(--muted); }

/* ---------- Botões ---------- */
.btn {
  display: inline-flex; align-items: center; gap: 7px;
  background: var(--panel-2); color: var(--text); border: 1px solid var(--line);
  padding: 9px 15px; border-radius: 10px; cursor: pointer; font-size: 13px; font-weight: 600;
  transition: 0.16s;
}
.btn:hover { border-color: #3d4759; background: var(--panel-3); transform: translateY(-1px); }
.btn:active { transform: translateY(0); }
.btn-primary { background: linear-gradient(180deg, #ff2a2a, #c4121a); border-color: #ff2a2a; color: #fff; box-shadow: 0 6px 18px -6px rgba(238,28,36,0.6); }
.btn-primary:hover { background: linear-gradient(180deg, #ff4a44, #d81820); border-color: #ff4a44; }
.btn-ghost { background: transparent; }
.btn-danger { background: transparent; border-color: #5a2b2e; color: #ee9091; }
.btn-danger:hover { background: rgba(242,85,90,0.1); border-color: #7a3a3d; }

.btn-mini {
  display: inline-flex; align-items: center; gap: 5px; font-size: 11px; padding: 5px 10px; border-radius: 8px;
  background: rgba(255,255,255,0.03); border: 1px solid var(--line); color: var(--accent-2); cursor: pointer; font-weight: 600; text-decoration: none; transition: 0.15s;
}
.btn-mini:hover { background: rgba(238,28,36,0.12); border-color: var(--accent); }

.chip { font-size: 11px; padding: 4px 10px; border-radius: 20px; font-weight: 700; }
.chip-muted { background: var(--panel-2); color: var(--muted); border: 1px solid var(--line); }
.chip-ok { background: rgba(52,211,153,0.14); color: var(--green); }
.chip-off { background: rgba(242,85,90,0.14); color: var(--red); }

main { padding: 24px 22px 60px; max-width: 1560px; margin: 0 auto; }

/* ---------- Barra de briefing ---------- */
.briefing {
  background: linear-gradient(135deg, rgba(238,28,36,0.13), rgba(79,163,255,0.08) 70%, var(--panel));
  border: 1px solid var(--line); border-radius: var(--r);
  padding: 18px 20px; margin-bottom: 20px;
  box-shadow: var(--shadow), inset 0 1px 0 var(--line-soft);
}
.briefing-greet { font-family: var(--display); font-size: 19px; font-weight: 700; margin-bottom: 12px; }
.briefing-row { display: flex; gap: 10px; }
.briefing-row input { flex: 1; font-size: 14px; padding: 13px 15px; }
.briefing-row .btn-primary { padding: 13px 20px; white-space: nowrap; }
.briefing-matches:not(:empty) { margin-top: 12px; display: flex; flex-direction: column; gap: 6px; }
.bm-tit { font-size: 10px; font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted); }
.bm-vazio { font-size: 12.5px; color: var(--muted); padding: 6px 2px; }
.bm-item { display: flex; align-items: center; gap: 10px; text-align: left; background: rgba(0,0,0,0.25); border: 1px solid var(--line); border-radius: 9px; padding: 9px 12px; cursor: pointer; transition: 0.15s; color: var(--text); }
.bm-item:hover { border-color: var(--accent); background: rgba(238,28,36,0.08); }
.bm-nome { font-weight: 700; font-size: 13px; }
.bm-meta { margin-left: auto; font-size: 11px; color: var(--muted); font-family: var(--mono); }
.briefing-hint { margin-top: 10px; font-size: 12px; color: var(--muted); }
.briefing-hint b { color: var(--text-2); }
@media (max-width: 600px) { .briefing-row { flex-direction: column; } }

/* ---------- Início (home): atalhos ---------- */
.home-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 12px; margin-bottom: 22px; }
@media (max-width: 680px) { .home-cards { grid-template-columns: 1fr 1fr; } }
.home-card { display: flex; align-items: center; gap: 12px; text-align: left; cursor: pointer; padding: 15px 16px; border-radius: 14px; background: linear-gradient(180deg, var(--panel), #12161e); border: 1px solid var(--line); box-shadow: var(--shadow), inset 0 1px 0 var(--line-soft); transition: 0.16s; color: var(--text); }
.home-card:hover { transform: translateY(-3px); }
.hc-ic { width: 46px; height: 46px; flex: none; display: flex; align-items: center; justify-content: center; font-size: 22px; border-radius: 12px; background: rgba(255,255,255,0.045); border: 1px solid var(--line); }
.hc-main { display: flex; flex-direction: column; line-height: 1.2; }
.hc-main b { font-size: 15px; font-family: var(--display); }
.hc-main small { font-size: 11px; color: var(--muted); margin-top: 2px; }
.hc-arsenal:hover { border-color: #b98cff; } .hc-arsenal .hc-ic { color: #cbb2ff; }
.hc-minerar:hover { border-color: #f5b13d; } .hc-minerar .hc-ic { color: #f5c877; }
.hc-ideias:hover  { border-color: #34d399; } .hc-ideias .hc-ic  { color: #7fe9c4; }
.hc-docs:hover    { border-color: #4fa3ff; } .hc-docs .hc-ic    { color: #a9ccff; }
.home-sec-tit { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 6px 0 14px; font-family: var(--display); font-weight: 600; font-size: 16px; }
.home-sec-tit .muted { font-family: var(--font); font-weight: 400; }

/* ========== HOME / Briefing executivo ========== */
.home-hero { display: grid; grid-template-columns: 1fr 400px; gap: 18px; margin-bottom: 18px; }
@media (max-width: 900px) { .home-hero { grid-template-columns: 1fr; } }
.hh-left { display: flex; flex-direction: column; justify-content: center; padding: 6px 4px; }
.hh-greet { display: flex; align-items: center; gap: 12px; font-family: var(--display); font-size: 30px; font-weight: 700; letter-spacing: -0.02em; line-height: 1.15; }
.hh-greet b { background: linear-gradient(90deg, #ff5a5a, #ee1c24); -webkit-background-clip: text; background-clip: text; color: transparent; }
.hh-icon { width: 46px; height: 46px; flex: none; display: flex; align-items: center; justify-content: center; font-size: 22px; border-radius: 13px; background: linear-gradient(135deg, #ff5a5a, #d81820); color: #fff; }
.hh-sub { color: var(--muted); font-size: 13.5px; margin-top: 10px; padding-left: 58px; }
.hh-search { background: linear-gradient(180deg, var(--panel), #12161e); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow); padding: 16px; }
.hh-search-tit { font-size: 13px; font-weight: 700; margin-bottom: 10px; }
.hh-search-row { display: flex; gap: 8px; }
.hh-search-row input { flex: 1; }
.hh-search-row .btn-primary { padding: 10px 14px; }
.hh-sugs { font-size: 10px; font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.05em; color: var(--muted); margin: 12px 0 7px; }
.hh-chips { display: flex; flex-wrap: wrap; gap: 6px; }
.sug-chip { font-size: 11.5px; padding: 5px 11px; border-radius: 20px; background: var(--panel-2); border: 1px solid var(--line); color: var(--text-2); cursor: pointer; transition: 0.15s; }
.sug-chip:hover { border-color: var(--accent); color: var(--accent-2); }
.hh-results:not(:empty) { margin-top: 12px; display: flex; flex-direction: column; gap: 6px; border-top: 1px solid var(--line); padding-top: 12px; }

.home-tiles { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin-bottom: 18px; }
@media (max-width: 1000px) { .home-tiles { grid-template-columns: repeat(2, 1fr); } }
.tile { display: flex; align-items: center; gap: 12px; background: linear-gradient(180deg, var(--panel), #12161e); border: 1px solid var(--line); border-radius: 14px; padding: 14px 15px; box-shadow: var(--shadow), inset 0 1px 0 var(--line-soft); }
.tile-ic { width: 40px; height: 40px; flex: none; display: flex; align-items: center; justify-content: center; font-size: 18px; border-radius: 11px; background: rgba(255,255,255,0.04); }
.tile-n { font-family: var(--display); font-size: 24px; font-weight: 800; line-height: 1; }
.tile-lbl { font-size: 12px; font-weight: 600; margin-top: 3px; }
.tile-sub { font-size: 10.5px; color: var(--muted); margin-top: 1px; }
.t-violet .tile-ic { color: #cbb2ff; } .t-violet .tile-n { color: #cbb2ff; }
.t-orange .tile-ic { color: #ff8f8f; } .t-orange .tile-n { color: #ff8f8f; }
.t-red .tile-ic { color: #ff9092; } .t-red .tile-n { color: #ff9092; }
.t-green .tile-ic { color: #7fe9c4; } .t-green .tile-n { color: #7fe9c4; }
.t-blue .tile-ic { color: #a9ccff; } .t-blue .tile-n { color: #a9ccff; }

.home-grid { display: grid; grid-template-columns: 1fr 340px; gap: 16px; }
@media (max-width: 1000px) { .home-grid { grid-template-columns: 1fr; } }
.home-main { display: flex; flex-direction: column; gap: 16px; }
.home-side { display: flex; flex-direction: column; gap: 16px; }
.home-block { background: linear-gradient(180deg, var(--panel), #12161e); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow), inset 0 1px 0 var(--line-soft); padding: 16px 18px; }
.home-block-tit { font-family: var(--display); font-size: 15px; font-weight: 600; margin-bottom: 12px; }
.hb-cards { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 10px; }
.hb-card { background: var(--panel-2); border: 1px solid var(--line); border-radius: 11px; padding: 12px; }
.hbc-tit { font-weight: 700; font-size: 13px; color: var(--accent-2); margin-bottom: 5px; }
.hbc-txt { font-size: 12.5px; color: var(--text-2); line-height: 1.5; }
.hbc-base { font-size: 10px; color: var(--muted); margin-top: 8px; font-family: var(--mono); }
.constr { font-size: 12.5px; color: var(--muted); line-height: 1.55; background: rgba(255,255,255,0.02); border: 1px dashed var(--line); border-radius: 10px; padding: 12px 14px; }
.constr b { color: var(--text-2); }

.hb-oport { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
@media (max-width: 620px) { .hb-oport { grid-template-columns: 1fr; } }
.op-card { background: var(--panel-2); border: 1px solid rgba(52,211,153,0.28); border-radius: 11px; padding: 13px; }
.op-tag { font-size: 9px; font-family: var(--mono); letter-spacing: 0.06em; color: var(--green); font-weight: 700; }
.op-nicho { font-weight: 700; font-size: 14px; margin: 5px 0 7px; }
.op-txt { font-size: 12.5px; color: var(--text-2); line-height: 1.5; }

/* donut validados vs não */
.hb-donut { display: flex; flex-direction: column; align-items: center; }
.donut-svg { width: 150px; height: 150px; }
.donut-center { fill: var(--text); font-family: var(--display); font-size: 22px; font-weight: 700; }
.donut-legend { display: flex; gap: 18px; margin: 10px 0 4px; font-size: 12px; color: var(--muted); }
.dl-num { font-family: var(--display); font-weight: 800; font-size: 16px; margin-right: 3px; }
.donut-sec { width: 100%; margin-top: 12px; }
.ds-tit { font-size: 10px; font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.04em; color: var(--green); font-weight: 700; margin-bottom: 5px; }
.ds-tit.ds-bad { color: #ff9092; }
.donut-sec ul { margin: 0; padding-left: 18px; }
.donut-sec li { font-size: 12px; color: var(--text-2); line-height: 1.45; margin-bottom: 4px; }
.donut-base { width: 100%; margin-top: 12px; text-align: center; }

.feeds-tend { margin-top: 18px; background: var(--panel); border: 1px solid var(--line); border-radius: var(--r); padding: 4px 16px; }
.feeds-tend > summary { cursor: pointer; padding: 12px 0; font-weight: 600; font-size: 14px; }
.feeds-tend .radar { margin-bottom: 12px; }

/* ---------- Clientes (Etapa 5) ---------- */
.area-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 12px; flex-wrap: wrap; margin-bottom: 18px; }
.area-head h2 { font-size: 22px; }
.area-sub { color: var(--muted); font-size: 13px; margin-top: 4px; }
.clientes-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
#clientes-lista.clientes-lista { display: block; }   /* com filtros, o grid vai pro #cli-grid */
.clientes-lista[hidden], #clientes-lista[hidden], .area-head[hidden] { display: none !important; } /* fecha a lista quando o cliente abre */
.cli-filtros { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 8px; }
.cli-filtros input { flex: 1; min-width: 200px; }
.cli-filtros input, .cli-filtros select { border: 1px solid var(--line); border-radius: 10px; padding: 10px 13px; font-size: 13px; background: var(--panel-2); color: var(--text); }
.cli-filtros input:focus, .cli-filtros select:focus { outline: none; border-color: var(--accent); }
.cli-count { font-size: 12px; margin-bottom: 12px; }
.cli-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 14px; }
.cli-card { background: linear-gradient(180deg, var(--panel), #12161e); border: 1px solid var(--line); border-radius: 14px; padding: 16px; cursor: pointer; transition: 0.16s; box-shadow: var(--shadow); }
.cli-card:hover { transform: translateY(-3px); border-color: var(--accent); }
/* VIP */
.cli-card.cli-vip { border-color: rgba(245,192,74,.55); box-shadow: 0 0 0 1px rgba(245,192,74,.25), var(--shadow); }
.vip-star { color: #f5c04a; }
.vip-badge { font-size: 10px; font-weight: 800; letter-spacing: .05em; color: #1a1206; background: #f5c04a; padding: 2px 7px; border-radius: 6px; vertical-align: middle; }
.btn.btn-vip-on { border-color: #f5c04a; color: #f5c04a; background: rgba(245,192,74,.1); }
.cli-vip-chk { display: inline-flex; align-items: center; gap: 6px; font-size: 12.5px; color: var(--text-2); cursor: pointer; padding: 0 6px; white-space: nowrap; }
/* nome do cliente clicável (abrir ficha) no detalhe da demanda */
.badge.cli-link { cursor: pointer; font: inherit; border: 1px solid transparent; transition: 0.15s; }
.badge.cli-link:hover { border-color: var(--accent); filter: brightness(1.2); }
.cli-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 8px; }
.cli-nome { font-family: var(--display); font-weight: 700; font-size: 15px; }
.cli-stats { font-size: 11.5px; color: var(--muted); margin-bottom: 9px; }
.cli-bar { height: 8px; background: var(--bg-2); border-radius: 5px; overflow: hidden; border: 1px solid var(--line); }
.cli-bar-fill { height: 100%; background: linear-gradient(90deg, var(--green), #7fe9c4); }
.cli-detalhe { display: flex; flex-direction: column; gap: 14px; }
.cli-det-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; }
.cli-det-head h2 { font-size: 22px; display: inline; margin-right: 10px; }
.cli-acoes { display: flex; gap: 8px; }
.cli-kpis { display: grid; grid-template-columns: repeat(auto-fit, minmax(110px, 1fr)); gap: 12px; }
.kpi { background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; padding: 14px; text-align: center; }
.kpi-n { font-family: var(--display); font-size: 26px; font-weight: 800; }
.kpi-l { font-size: 10.5px; color: var(--muted); margin-top: 2px; text-transform: uppercase; letter-spacing: 0.03em; font-family: var(--mono); }
.cli-ent { margin-bottom: 12px; }
.cli-ent-tit { font-size: 10px; font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.05em; color: var(--accent-2); font-weight: 700; margin-bottom: 6px; }
.cli-ent-item { display: inline-block; font-size: 12px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 20px; padding: 4px 11px; margin: 0 5px 5px 0; }
.cli-ent-item b { color: var(--green); }
.cli-insight { background: var(--panel-2); border: 1px solid var(--line); border-left: 3px solid #4fa3ff; border-radius: 10px; padding: 11px 13px; margin-bottom: 8px; }
.ci-txt { font-size: 13px; color: var(--text); line-height: 1.5; }
.ci-base { font-size: 10.5px; margin-top: 5px; font-family: var(--mono); }
.cli-pecas { display: flex; flex-direction: column; gap: 6px; }
.cli-peca { display: flex; justify-content: space-between; align-items: center; background: var(--panel-2); border: 1px solid var(--line); border-radius: 9px; padding: 9px 12px; font-size: 13px; }
.briefing-box { border-color: rgba(185,140,255,0.35) !important; background: linear-gradient(135deg, rgba(185,140,255,0.08), var(--panel)) !important; }
.br-resumo { font-size: 13.5px; color: var(--text-2); line-height: 1.55; margin-bottom: 12px; }
.br-sec { margin-bottom: 10px; }
.br-tit { font-size: 11px; font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.04em; font-weight: 700; margin-bottom: 4px; }
.br-sec ul { margin: 0; padding-left: 18px; } .br-sec li { font-size: 12.5px; color: var(--text-2); line-height: 1.5; margin-bottom: 4px; }
.br-ok .br-tit { color: var(--green); } .br-bad .br-tit { color: #ff9092; } .br-test .br-tit { color: var(--yellow); }
.br-foot { margin-top: 8px; font-size: 11.5px; }

/* ---------- Mercados (Etapa 6) ---------- */
.mkt-legenda { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 4px; }
.mkt-tipo { margin-bottom: 16px; }
.mkt-tipo-tit { font-size: 11px; font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.05em; color: var(--accent-2); font-weight: 700; margin-bottom: 8px; }
.mkt-items { display: flex; flex-wrap: wrap; gap: 7px; }
.mkt-item { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 20px; padding: 5px 11px; }
.mkt-item b { color: var(--green); }
.mkt-classe { font-size: 8.5px; font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.04em; padding: 1px 6px; border-radius: 20px; opacity: 0.9; }
.cls-vencedor { border-color: rgba(52,211,153,0.45); } .cls-vencedor .mkt-classe { background: rgba(52,211,153,0.18); color: var(--green); }
.cls-promissor { border-color: rgba(79,163,255,0.45); } .cls-promissor .mkt-classe { background: rgba(79,163,255,0.18); color: var(--blue); }
.cls-dominante .mkt-classe { background: rgba(255,255,255,0.06); color: var(--muted); }
.cls-saturado { border-color: rgba(245,192,74,0.4); } .cls-saturado .mkt-classe { background: rgba(245,192,74,0.16); color: var(--yellow); }
.cls-refutado { border-color: rgba(242,85,90,0.45); opacity: 0.7; } .cls-refutado .mkt-classe { background: rgba(242,85,90,0.18); color: #ff9092; }
.cls-neutro .mkt-classe { background: rgba(255,255,255,0.05); color: var(--muted); }

/* WIP (áreas em construção) */
.wip { padding: 40px 20px; }
.wip-box { max-width: 560px; margin: 40px auto; text-align: center; background: linear-gradient(180deg, var(--panel), #12161e); border: 1px solid var(--line); border-radius: var(--r); padding: 40px 30px; box-shadow: var(--shadow); }
.wip-ic { font-size: 44px; margin-bottom: 10px; }
.wip-box h2 { font-size: 22px; margin-bottom: 12px; }
.wip-box p { color: var(--muted); font-size: 14px; line-height: 1.6; }
.wip-box b { color: var(--accent-2); }

/* ---------- Views + cor por seção ---------- */
.view { display: none; animation: fade 0.25s ease; }
.view.active { display: block; }
@keyframes fade { from { opacity: 0; transform: translateY(6px); } to { opacity: 1; transform: none; } }
#view-radar   { --sec: #ee1c24; }
#view-minerar { --sec: #f5b13d; }
#view-ideias  { --sec: #34d399; }
#view-docs    { --sec: #4fa3ff; }
#view-arsenal { --sec: #b98cff; }

/* superfície padrão de painel */
.col, .ads-block, .mine-metodo, .mine-bloco, .arsenal, .docs-side, .docs-main, .feeds-status {
  background: linear-gradient(180deg, var(--panel), #12161e);
  border: 1px solid var(--line);
  border-radius: var(--r);
  box-shadow: var(--shadow), inset 0 1px 0 var(--line-soft);
}

/* ---------- Radar ---------- */
.radar { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; }
@media (max-width: 1000px) { .radar { grid-template-columns: 1fr; } }
.col { display: flex; flex-direction: column; overflow: hidden; }
.col-head { padding: 15px 16px 12px; border-bottom: 1px solid var(--line); background: linear-gradient(180deg, rgba(255,255,255,0.02), transparent); position: relative; }
.col-head::before { content: ''; position: absolute; left: 0; top: 12px; bottom: 12px; width: 3px; border-radius: 3px; background: var(--sec); }
.col-head h2 { font-size: 15px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; padding-left: 8px; }
.col-sub { color: var(--muted); font-size: 10px; padding-left: 8px; }
.tag-dor { font-size: 9px; background: rgba(242,85,90,0.16); color: #ff9a9d; padding: 2px 7px; border-radius: 6px; font-weight: 700; font-family: var(--mono); }
#col-ruins { --sec: #f2555a; }
.col-aviso:not(:empty) { margin: 10px 12px 0; padding: 8px 11px; font-size: 11.5px; background: rgba(245,192,74,0.09); border: 1px solid rgba(245,192,74,0.28); color: var(--yellow); border-radius: 9px; }
.cards { padding: 12px; display: flex; flex-direction: column; gap: 10px; overflow-y: auto; max-height: 64vh; }

.card { background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; padding: 13px; transition: 0.16s; }
.card:hover { border-color: color-mix(in srgb, var(--sec) 55%, var(--line)); transform: translateY(-2px); box-shadow: 0 10px 24px -14px rgba(0,0,0,0.8); }
.c-meta { display: flex; justify-content: space-between; gap: 8px; font-size: 10px; color: var(--muted); margin-bottom: 6px; }
.c-fonte { color: var(--sec); font-weight: 700; text-transform: uppercase; letter-spacing: 0.04em; font-family: var(--mono); }
a.c-titulo { color: var(--text); text-decoration: none; font-weight: 600; font-size: 13.5px; line-height: 1.4; display: block; }
a.c-titulo:hover { color: var(--accent-2); }
.c-porque { margin-top: 8px; font-size: 12px; color: var(--text-2); border-left: 2px solid var(--sec); padding-left: 9px; }
.c-porque.dor b { color: #ff9d84; }
.c-foot { margin-top: 10px; display: flex; justify-content: flex-end; }
.empty { color: var(--muted); font-size: 12.5px; text-align: center; padding: 26px 16px; border: 1px dashed var(--line); border-radius: 12px; }

/* ---------- Anúncios ---------- */
.ads-block { margin-top: 18px; padding: 16px 18px; }
.ads-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; margin-bottom: 4px; flex-wrap: wrap; }
.ads-head h2 { font-size: 16px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.ads-aviso:not(:empty) { margin: 10px 0; padding: 10px 12px; font-size: 12.5px; background: rgba(79,163,255,0.08); border: 1px solid rgba(79,163,255,0.25); color: #a9ccff; border-radius: 10px; }
.ads-links { display: flex; flex-wrap: wrap; gap: 8px; align-items: center; margin: 10px 0 4px; }
.ads-links-titulo { width: 100%; font-size: 10px; color: var(--muted); margin-bottom: 2px; }
.ad-link-btn { font-size: 12px; padding: 7px 12px; border-radius: 9px; background: var(--panel-2); border: 1px solid var(--line); color: var(--text); text-decoration: none; font-weight: 600; transition: 0.15s; }
.ad-link-btn:hover { border-color: var(--accent); color: var(--accent-2); transform: translateY(-1px); }
.ad-link-btn.geral { background: rgba(79,163,255,0.12); border-color: rgba(79,163,255,0.4); color: #a9ccff; }
.ads-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; margin-top: 10px; }
.ad-card { background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; padding: 13px; display: flex; flex-direction: column; gap: 6px; }
.ad-top { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.ad-page { font-weight: 700; font-size: 13px; color: var(--accent-2); }
.ad-plat { font-size: 10px; color: var(--muted); text-transform: capitalize; }
.ad-titulo { font-weight: 600; font-size: 13px; }
.ad-texto { font-size: 12px; color: var(--text-2); line-height: 1.45; }
.ad-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 2px; font-size: 10px; }

/* ---------- Feeds status ---------- */
.feeds-status { margin: 16px 0; padding: 4px 16px; }
.feeds-status summary { cursor: pointer; padding: 10px 0; font-size: 13px; font-weight: 600; }
#feeds-list { display: flex; flex-wrap: wrap; gap: 6px; padding: 6px 0 14px; }
.feed-item { font-size: 11px; padding: 4px 9px; border-radius: 7px; border: 1px solid var(--line); font-family: var(--mono); }
.feed-ok { color: var(--green); border-color: rgba(52,211,153,0.3); }
.feed-bad { color: var(--red); border-color: rgba(242,85,90,0.3); }

/* ---------- Minerar ---------- */
.mine-metodo { padding: 20px 22px; margin-bottom: 16px; background: linear-gradient(135deg, rgba(245,177,61,0.09), #12161e 55%); }
.mine-metodo h2 { font-size: 19px; }
.mine-sub { font-size: 13px; color: var(--text-2); line-height: 1.55; margin: 6px 0 0; }
.mine-sub code { background: rgba(255,255,255,0.06); }
.fluxo { display: flex; align-items: stretch; gap: 8px; margin-top: 18px; flex-wrap: wrap; }
.fluxo-passo { flex: 1; min-width: 150px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; padding: 13px; display: flex; flex-direction: column; gap: 3px; position: relative; }
.fluxo-passo b { font-size: 13px; }
.fluxo-passo small { color: var(--muted); font-size: 11px; line-height: 1.3; }
.fp-n { position: absolute; top: -10px; left: -10px; width: 24px; height: 24px; background: var(--sec); color: #1a1206; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 12px; font-weight: 800; box-shadow: 0 4px 10px -3px rgba(0,0,0,0.6); }
.fluxo-seta { display: flex; align-items: center; color: var(--sec); font-size: 20px; }
@media (max-width: 780px) { .fluxo-seta { display: none; } }

.mine-bloco { padding: 16px 18px; margin-bottom: 16px; }
.mine-head { display: flex; justify-content: space-between; align-items: center; gap: 10px; flex-wrap: wrap; margin-bottom: 12px; }
.mine-head h3 { font-size: 15px; display: flex; align-items: center; gap: 8px; }
.mine-acoes { display: flex; gap: 8px; }
.reclame-links { display: flex; flex-wrap: wrap; gap: 8px; }
.gw-btn { font-size: 12.5px; padding: 8px 13px; border-radius: 9px; background: var(--panel-2); border: 1px solid var(--line); color: var(--text); text-decoration: none; font-weight: 600; transition: 0.15s; }
.gw-btn:hover { border-color: var(--sec); color: var(--text); transform: translateY(-1px); }

.yt-busca { display: flex; gap: 8px; align-items: center; }
.yt-busca input { width: 320px; max-width: 52vw; }
@media (max-width: 620px) { .yt-busca { flex: 1; } .yt-busca input { width: auto; flex: 1; max-width: none; } }

.dissecar-result:not(:empty), .quadro-analise:not(:empty) { margin-top: 14px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; padding: 15px 16px; }
.quadro-analise:not(:empty) { background: linear-gradient(135deg, rgba(245,177,61,0.08), var(--panel-2)); border-color: rgba(245,177,61,0.3); margin-bottom: 14px; }
.diss-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-bottom: 12px; }
@media (max-width: 700px) { .diss-grid { grid-template-columns: 1fr; } }
.diss-item, .an-item { font-size: 12.5px; color: var(--text-2); line-height: 1.5; }
.an-item { margin-bottom: 10px; }
.diss-lbl { display: block; font-size: 9.5px; color: var(--sec); font-weight: 700; margin-bottom: 3px; }
.diss-angulos-tit { font-size: 12px; font-weight: 700; color: var(--sec); margin: 6px 0 10px; font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.06em; }
.dissecar-result .angulo, .quadro-analise .angulo { margin-bottom: 10px; }
.an-item ul, .diss-item ul { margin: 2px 0 0; padding-left: 18px; }
.an-item li { margin-bottom: 5px; }

.offers-lista { display: flex; flex-direction: column; gap: 10px; }
.offer-card { display: flex; justify-content: space-between; gap: 14px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; padding: 13px 15px; cursor: pointer; transition: 0.16s; }
.offer-card:hover { border-color: var(--sec); transform: translateY(-2px); }
.offer-nome { font-weight: 700; font-size: 14px; }
.offer-tags { display: flex; gap: 6px; align-items: center; margin-top: 6px; flex-wrap: wrap; }
.offer-nicho { font-size: 11px; color: var(--muted); }
.offer-mec { font-size: 12px; color: var(--text-2); margin-top: 8px; line-height: 1.45; }
.offer-side { display: flex; flex-direction: column; align-items: flex-end; gap: 8px; flex: none; }
.offer-rec { text-align: center; }
.offer-rec-n { display: block; font-size: 24px; font-weight: 800; color: var(--sec); line-height: 1; font-family: var(--display); }
.offer-rec-l { font-size: 8.5px; color: var(--muted); }
.offer-acoes { display: flex; gap: 6px; }

.youtube-resumo:not(:empty) { background: linear-gradient(135deg, rgba(79,163,255,0.09), var(--panel-2)); border: 1px solid rgba(79,163,255,0.28); border-radius: 14px; padding: 16px 18px; margin: 14px 0; }
.resumo-head { font-size: 14px; font-weight: 700; color: #a9ccff; margin-bottom: 12px; font-family: var(--display); }
.resumo-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
@media (max-width: 720px) { .resumo-cols { grid-template-columns: 1fr; } }
.resumo-tit { font-size: 10px; color: var(--accent-2); margin-bottom: 6px; font-weight: 700; }
.youtube-resumo ul { margin: 0; padding-left: 18px; }
.youtube-resumo li { font-size: 12.5px; color: var(--text-2); line-height: 1.5; margin-bottom: 6px; }
.resumo-publico { margin-bottom: 14px; }
.resumo-publico p { margin: 5px 0 0; font-size: 13px; color: #dbe2ee; line-height: 1.6; }
/* Produtos — cor distinta (âmbar/rosé), com iconezinho de produto */
.resumo-produtos { margin-top: 18px; padding: 16px; border-radius: 14px; background: linear-gradient(135deg, rgba(245,177,61,0.12), rgba(238,28,36,0.06)); border: 1px solid rgba(245,177,61,0.32); }
.resumo-produtos .resumo-tit { color: #f5c877; }
.prod-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; margin-top: 10px; }
.prod-card { background: linear-gradient(180deg, rgba(255,255,255,0.05), rgba(255,255,255,0.02)); border: 1px solid rgba(245,177,61,0.28); border-radius: 12px; padding: 13px; transition: 0.16s; }
.prod-card:hover { border-color: #f5b13d; transform: translateY(-2px); box-shadow: 0 10px 24px -14px rgba(245,177,61,0.5); }
.prod-top { display: flex; align-items: center; gap: 11px; margin-bottom: 8px; }
.prod-ic { flex: none; width: 40px; height: 40px; border-radius: 11px; display: flex; align-items: center; justify-content: center; font-size: 21px; background: linear-gradient(160deg, rgba(245,177,61,0.28), rgba(238,28,36,0.18)); border: 1px solid rgba(245,177,61,0.4); box-shadow: inset 0 1px 0 rgba(255,255,255,0.15); }
.prod-nome { display: block; font-weight: 700; font-size: 13.5px; color: #ffd591; line-height: 1.25; }
.prod-tipo { display: inline-block; margin-top: 3px; font-size: 9px; font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.04em; color: #d3b072; border: 1px solid rgba(245,177,61,0.35); border-radius: 6px; padding: 1px 6px; }
.prod-conceito { font-size: 12px; color: var(--text-2); line-height: 1.5; }
.prod-gancho { font-size: 11.5px; color: #d9c1a0; margin-top: 7px; font-style: italic; }
.prod-gancho b { color: #f5c877; font-style: normal; }
.prod-foot { margin-top: 9px; text-align: right; }

.youtube-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; margin-top: 12px; }
.yt-card { background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 8px; transition: 0.16s; }
.yt-card:hover { border-color: rgba(242,85,90,0.5); transform: translateY(-2px); }
.yt-dor { font-size: 12px; color: #ff9d84; border-left: 2px solid var(--accent); padding-left: 8px; }
/* Plano de mineração: intenção-alvo, alerta de semente ambígua, rivais excluídos */
.yt-plano { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 11px 14px; margin: 10px 0 4px; display: flex; flex-direction: column; gap: 4px; }
.yt-plano-l { font-size: 12.5px; color: var(--text-2); line-height: 1.45; }
.yt-plano-l b { color: var(--text); }
.yt-alerta { font-size: 12.5px; background: rgba(245,192,74,0.1); border: 1px solid rgba(245,192,74,0.35); border-radius: 9px; padding: 8px 11px; margin-bottom: 4px; color: var(--text); display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
/* Nota de aderência + motivo + relatório de ruído */
.yt-nota { display: inline-block; font-family: var(--mono); font-size: 10.5px; font-weight: 800; border-radius: 6px; padding: 1px 7px; margin-right: 7px; }
.yt-nota.n9 { background: rgba(52,211,153,0.18); color: var(--green); }
.yt-nota.n8 { background: rgba(79,163,255,0.18); color: #9ecbff; }
.yt-nota.n7 { background: rgba(245,192,74,0.18); color: var(--yellow); }
.yt-motivo { font-size: 11px; color: var(--muted); margin: 3px 0 0 10px; }
.yt-ruido { grid-column: 1 / -1; font-size: 12.5px; color: var(--text-2); background: var(--panel); border: 1px dashed var(--line); border-radius: 10px; padding: 9px 13px; margin-bottom: 4px; }
.yt-ruido b.ok { color: var(--green); }
.yt-dor b { color: #ff9d84; }
.yt-texto { font-size: 12.5px; color: var(--text-2); line-height: 1.5; font-style: italic; }
.yt-meta { display: flex; justify-content: space-between; align-items: center; gap: 8px; font-size: 10px; color: var(--muted); }
.yt-meta a { color: var(--accent-2); text-decoration: none; }

/* Bloco YouTube (topo do Minerar) — bem trabalhado, com a logo */
.yt-bloco { background: linear-gradient(135deg, rgba(255,0,0,0.10), #12161e 60%); border-color: rgba(255,60,60,0.25); }
.yt-header { display: flex; justify-content: space-between; align-items: center; gap: 14px; flex-wrap: wrap; margin-bottom: 6px; }
.yt-brand { display: flex; align-items: center; gap: 12px; }
.yt-logo { width: 44px; height: auto; flex: none; filter: drop-shadow(0 3px 8px rgba(255,0,0,0.4)); }
.yt-brand h3 { font-size: 17px; line-height: 1.1; }
.yt-sub { font-size: 11px; color: var(--muted); }
.mine-secao-tit { display: flex; align-items: center; gap: 12px; margin: 26px 0 14px; color: var(--muted); font-family: var(--display); font-weight: 600; font-size: 13px; }
.mine-secao-tit::before, .mine-secao-tit::after { content: ''; height: 1px; background: var(--line); flex: 1; }
.mine-secao-tit span { color: #f5b13d; }

/* ---------- Ideias / esboços ---------- */
.fab {
  position: fixed; right: 26px; bottom: 26px; z-index: 55;
  width: 58px; height: 58px; border-radius: 50%; border: none; cursor: pointer;
  font-size: 30px; font-weight: 300; line-height: 1; color: #fff;
  background: linear-gradient(180deg, #ff2a2a, #c4121a);
  box-shadow: 0 12px 30px -8px rgba(238,28,36,0.7), inset 0 1px 0 rgba(255,255,255,0.25);
  transition: 0.18s;
}
.fab:hover { transform: translateY(-3px) scale(1.05); box-shadow: 0 18px 40px -8px rgba(238,28,36,0.8); }
.fab:active { transform: translateY(0) scale(1); }

#view-ideias { --sec: #34d399; }
.ideias-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.idea-card { background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; padding: 14px; display: flex; flex-direction: column; gap: 8px; transition: 0.16s; }
.idea-card:hover { border-color: var(--sec); transform: translateY(-2px); }
.idea-texto { font-size: 13px; color: var(--text); line-height: 1.5; white-space: pre-wrap; }
.idea-link { font-size: 11px; color: var(--accent-2); text-decoration: none; word-break: break-all; }
.idea-foot { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-top: 2px; }
.idea-acoes { display: flex; gap: 6px; }
.idea-del { color: #ee9091 !important; border-color: #5a2b2e !important; }
.idea-del:hover { background: rgba(242,85,90,0.12) !important; }

/* ---------- Documentos ---------- */
.docs-layout { display: grid; grid-template-columns: 270px 1fr; gap: 16px; }
@media (max-width: 840px) { .docs-layout { grid-template-columns: 1fr; } }
.docs-side { padding: 14px; display: flex; flex-direction: column; gap: 12px; height: fit-content; }
.docs-lista { display: flex; flex-direction: column; gap: 6px; max-height: 66vh; overflow-y: auto; }
.doc-item { padding: 11px 12px; border-radius: 10px; cursor: pointer; border: 1px solid transparent; transition: 0.15s; }
.doc-item:hover { background: var(--panel-2); }
.doc-item.ativo { background: var(--panel-2); border-color: var(--sec); }
.doc-item-nome { font-weight: 600; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.doc-item-data { font-size: 10px; margin-top: 2px; }
.docs-main { min-height: 74vh; overflow: hidden; }
.doc-vazio { display: flex; flex-direction: column; align-items: center; justify-content: center; height: 74vh; color: var(--muted); text-align: center; gap: 10px; }
/* Editor estilo Google Docs (folha branca) */
.doc-editor { display: flex; flex-direction: column; height: 100%; background: #fff; color: #202124; border-radius: 12px; overflow: hidden; }
.doc-titulo { border: none; border-bottom: 1px solid #e6e6e6; border-radius: 0; background: #fff; color: #202124; font-family: 'Arial', sans-serif; font-size: 22px; font-weight: 600; padding: 16px 22px; }
.doc-titulo::placeholder { color: #9aa0a6; }
.doc-titulo:focus { border-color: #c9ccd1; box-shadow: none; }
.doc-toolbar { display: flex; align-items: center; gap: 3px; padding: 8px 16px; border-bottom: 1px solid #e6e6e6; background: #f8f9fa; flex-wrap: wrap; }
.doc-toolbar button { background: transparent; border: none; color: #444746; width: 30px; height: 30px; border-radius: 6px; cursor: pointer; font-size: 13px; display: inline-flex; align-items: center; justify-content: center; }
.doc-toolbar button:hover { background: #e2e5e9; }
.tb-sep { width: 1px; height: 20px; background: #dadce0; margin: 0 4px; }
.doc-status { margin-left: auto; font-size: 11px; color: #5f6368; font-family: var(--mono); }
.doc-canvas { flex: 1; overflow-y: auto; background: #f0f1f4; padding: 26px 20px; }
.doc-conteudo { background: #fff; color: #202124; max-width: 760px; margin: 0 auto; min-height: 62vh; padding: 56px 70px; border: 1px solid #e2e2e2; box-shadow: 0 1px 4px rgba(0,0,0,0.16); border-radius: 2px; font-family: 'Arial', 'Helvetica', sans-serif; font-size: 15px; line-height: 1.7; outline: none; }
.doc-conteudo:empty::before { content: 'Comece a escrever…'; color: #9aa0a6; }
.doc-conteudo h1 { font-size: 26px; margin: 14px 0; color: #202124; }
.doc-conteudo h2 { font-size: 20px; margin: 12px 0; color: #202124; }
.doc-conteudo p { margin: 0 0 10px; }
.doc-conteudo ul, .doc-conteudo ol { margin: 0 0 10px 26px; }
.doc-conteudo a { color: #1a73e8; }
@media (max-width: 700px) { .doc-conteudo { padding: 30px 24px; } }
.doc-foot { display: flex; align-items: center; gap: 10px; padding: 12px 18px; border-top: 1px solid #e6e6e6; background: #f8f9fa; }
.doc-foot .btn { background: #fff; color: #3c4043; border: 1px solid #dadce0; box-shadow: none; }
.doc-foot .btn:hover { background: #f1f3f4; border-color: #c6cacf; transform: none; }
.doc-foot .btn-primary { background: #1a73e8; color: #fff; border-color: #1a73e8; }
.doc-foot .btn-primary:hover { background: #1b66c9; }
.doc-foot .btn-danger { background: #fff; color: #d93025; border-color: #f3c0bd; }
.doc-foot .btn-danger:hover { background: #fce8e6; }

/* ---------- Arsenal ---------- */
.arsenal { }
.arsenal-head { display: flex; justify-content: space-between; align-items: center; padding: 17px 20px; border-bottom: 1px solid var(--line); flex-wrap: wrap; gap: 10px; }
.arsenal-head h2 { font-size: 17px; }
.arsenal-actions { display: flex; gap: 10px; }
.arsenal-body { display: grid; grid-template-columns: 1fr 330px; gap: 20px; padding: 20px; }
@media (max-width: 1000px) { .arsenal-body { grid-template-columns: 1fr; } }
.filtros { display: flex; gap: 8px; margin-bottom: 14px; flex-wrap: wrap; }
.filtros input, .filtros select { flex: 1; min-width: 130px; }
input, select, textarea {
  background: var(--bg-2); border: 1px solid var(--line); color: var(--text);
  border-radius: 10px; padding: 10px 12px; font-size: 13px; font-family: inherit; width: 100%;
  transition: 0.15s;
}
input::placeholder, textarea::placeholder { color: #5c6575; }
input:focus, select:focus, textarea:focus { outline: none; border-color: var(--sec); box-shadow: 0 0 0 3px color-mix(in srgb, var(--sec) 18%, transparent); }
textarea { resize: vertical; }

.arsenal-lista { display: flex; flex-direction: column; gap: 9px; max-height: 62vh; overflow-y: auto; }
.peca { background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; padding: 13px 15px; cursor: pointer; transition: 0.16s; }
.peca:hover { border-color: var(--sec); transform: translateY(-2px); }
.peca-top { display: flex; justify-content: space-between; align-items: flex-start; gap: 10px; }
.peca-nome { font-weight: 700; font-size: 14px; }
.peca-tags { display: flex; gap: 6px; align-items: center; margin-top: 6px; flex-wrap: wrap; }
.badge { font-size: 10px; padding: 2px 9px; border-radius: 20px; font-weight: 700; font-family: var(--mono); }
.b-tipo { background: rgba(255,255,255,0.04); border: 1px solid var(--line); color: var(--muted); }
.b-validado { background: rgba(52,211,153,0.15); color: var(--green); }
.b-teste { background: rgba(245,192,74,0.15); color: var(--yellow); }
.b-morto { background: rgba(130,141,160,0.15); color: var(--muted); }
.b-escala { background: rgba(79,163,255,0.15); color: var(--blue); }
.peca-pontos { text-align: right; }
.pontos-num { font-size: 24px; font-weight: 800; line-height: 1; font-family: var(--display); color: var(--sec); }
.pontos-lbl { font-size: 8.5px; color: var(--muted); }
.peca-dor { font-size: 12px; color: var(--muted); margin-top: 8px; }

.arsenal-right { }
.arsenal-right h3 { font-size: 13px; margin-bottom: 14px; }
.chart { display: flex; flex-direction: column; gap: 12px; }
.bar-row .bar-top { display: flex; justify-content: space-between; font-size: 12px; margin-bottom: 5px; }
.bar-lbl { font-weight: 600; }
.bar-val { color: var(--muted); font-family: var(--mono); font-size: 11px; }
.bar-track { height: 10px; background: var(--bg-2); border-radius: 6px; overflow: hidden; border: 1px solid var(--line); }
.bar-fill { height: 100%; background: linear-gradient(90deg, var(--sec), color-mix(in srgb, var(--sec) 55%, #fff)); border-radius: 6px; transition: width 0.5s; }
.stat-legenda { margin-top: 14px; }

/* ---------- Painel de inteligência ---------- */
.painel { background: linear-gradient(135deg, rgba(185,140,255,0.10), #12161e 55%); border: 1px solid var(--line); border-radius: var(--r); box-shadow: var(--shadow); padding: 18px 20px; margin-bottom: 18px; }
.painel-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; flex-wrap: wrap; margin-bottom: 12px; }
.painel-head h2 { font-size: 18px; }
.painel-assinatura:not(:empty) { margin-bottom: 14px; }
.ass-tit { font-size: 11px; color: var(--violet); font-weight: 700; font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.05em; margin-bottom: 7px; }
.ass-tags { display: flex; flex-wrap: wrap; gap: 7px; }
.ass-tag { font-size: 12px; padding: 5px 11px; border-radius: 20px; background: rgba(185,140,255,0.12); border: 1px solid rgba(185,140,255,0.3); color: #d9c6ff; }
.painel-cats { display: flex; flex-direction: column; gap: 20px; }
.painel-secao-tit { font-family: var(--display); font-size: 14px; font-weight: 600; color: var(--text); margin-bottom: 11px; padding-bottom: 8px; border-bottom: 1px solid var(--line); }
.painel-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(290px, 1fr)); gap: 14px; }
.pc-jogada { margin: 11px 15px 2px; padding: 9px 12px; font-size: 12.5px; line-height: 1.45; color: #fff2ea; background: color-mix(in srgb, var(--pc) 16%, transparent); border: 1px solid color-mix(in srgb, var(--pc) 35%, transparent); border-radius: 9px; font-weight: 500; }
.painel-card { background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; padding: 0 0 4px; overflow: hidden; --pc: var(--violet); }
.painel-card.pc-cliente { --pc: #f5b13d; }
.painel-card.pc-hardcopy { --pc: #ff3a34; }
.painel-card.pc-servico  { --pc: #4fa3ff; }
.painel-card.pc-livro    { --pc: #34d399; }
.painel-card.pc-cliente  { --pc: #f5b13d; }
.pc-head { padding: 13px 15px 11px; border-bottom: 1px solid var(--line); background: color-mix(in srgb, var(--pc) 10%, transparent); border-left: 3px solid var(--pc); }
.pc-nome { font-family: var(--display); font-size: 15px; font-weight: 700; color: var(--pc); }
.pc-topico { font-size: 9.5px; color: var(--muted); font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.05em; margin-top: 2px; }
.pc-tema { font-size: 12px; color: var(--muted); padding: 10px 15px 0; line-height: 1.4; }
.pc-tatica { padding: 10px 15px 0; }
.pc-tatica p { margin: 3px 0 0; font-size: 12.5px; color: var(--text-2); line-height: 1.5; }
.pc-lbl { display: inline-block; font-family: var(--mono); font-size: 9.5px; text-transform: uppercase; letter-spacing: 0.05em; font-weight: 700; color: var(--accent-2); padding: 2px 7px; border-radius: 5px; background: rgba(255,255,255,0.04); }
.pc-lbl.t-ini { color: #ff8f8f; } .pc-lbl.t-mec { color: #b9c9ff; } .pc-lbl.t-fim { color: #cbb2ff; }
.pc-vantagem .pc-lbl { color: var(--green); background: rgba(52,211,153,0.1); }
.pc-vantagem p { color: #bfeeda; }
.pc-evitar .pc-lbl { color: #ff8f92; background: rgba(242,85,90,0.12); }
.pc-evitar p { color: #f3c0c2; }
.pc-oport-box { margin: 12px 15px 0; padding: 12px 13px; background: linear-gradient(135deg, rgba(245,192,74,0.1), rgba(255,255,255,0.02)); border: 1px solid rgba(245,192,74,0.28); border-radius: 10px; }
.pc-oport-tit { font-size: 11px; font-weight: 700; color: var(--yellow); font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.04em; margin-bottom: 6px; }
.pc-oport-box ul { margin: 0; padding-left: 18px; }
.pc-oport-box li { font-size: 12px; color: #f0e2c0; line-height: 1.5; margin-bottom: 5px; }
.pc-refs { font-size: 10px; color: var(--muted); margin: 12px 15px 14px 15px; border-top: 1px solid var(--line); padding-top: 9px; font-family: var(--mono); }

/* Cor por status na lista do Arsenal */
.peca { border-left: 3px solid transparent; }
.peca-ok { border-left-color: var(--green); background: linear-gradient(90deg, rgba(52,211,153,0.07), var(--panel-2) 60%); }
.peca-morto { border-left-color: var(--red); background: linear-gradient(90deg, rgba(242,85,90,0.09), var(--panel-2) 60%); opacity: 0.82; }
.peca-teste { border-left-color: var(--yellow); }
.b-cat { background: rgba(185,140,255,0.15); color: #cbb2ff; border: 1px solid rgba(185,140,255,0.25); }
.peca-mec { font-size: 11.5px; color: var(--accent-2); margin-top: 8px; }

/* ---------- Modais ---------- */
.modal { position: fixed; inset: 0; background: rgba(4,6,10,0.7); backdrop-filter: blur(3px); display: flex; align-items: center; justify-content: center; z-index: 60; padding: 20px; }
.modal.hidden { display: none; }
.modal-box { background: linear-gradient(180deg, var(--panel), #12161e); border: 1px solid var(--line); border-radius: 16px; width: 100%; max-width: 560px; max-height: 90vh; overflow-y: auto; box-shadow: 0 30px 80px -20px rgba(0,0,0,0.8); }
.modal-head { display: flex; justify-content: space-between; align-items: center; padding: 17px 20px; border-bottom: 1px solid var(--line); position: sticky; top: 0; background: var(--panel); z-index: 2; }
.modal-head h3 { font-size: 16px; }
.modal-x { background: none; border: none; color: var(--muted); font-size: 18px; cursor: pointer; }
.modal-x:hover { color: var(--text); }
.form { padding: 18px 20px; display: flex; flex-direction: column; gap: 13px; }
.form label { display: flex; flex-direction: column; gap: 5px; font-size: 11px; color: var(--muted); font-weight: 600; text-transform: uppercase; letter-spacing: 0.03em; font-family: var(--mono); }
.form label input, .form label select, .form label textarea { color: var(--text); font-family: var(--font); text-transform: none; letter-spacing: 0; }
.row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
.row3 { display: grid; grid-template-columns: 1fr 1fr 1fr; gap: 10px; }
@media (max-width: 520px) { .row, .row3 { grid-template-columns: 1fr; } }
.metricas { border: 1px solid var(--line); border-radius: 12px; padding: 13px 14px; }
.metricas legend { font-size: 11px; color: var(--accent-2); padding: 0 6px; font-weight: 700; font-family: var(--mono); text-transform: uppercase; }
.checks { display: flex; gap: 18px; margin-top: 10px; flex-wrap: wrap; }
.chk { flex-direction: row !important; align-items: center; gap: 7px !important; color: var(--text) !important; cursor: pointer; text-transform: none !important; font-family: var(--font) !important; }
.chk input { width: auto; }
.preview-pontos { margin-top: 11px; font-size: 12px; color: var(--muted); min-height: 18px; }
.preview-pontos b { color: var(--text); }
.modal-foot { display: flex; align-items: center; gap: 10px; padding-top: 6px; }
.modal-foot .spacer { flex: 1; }

/* Ângulos */
.angulos-dor { padding: 14px 20px 0; font-size: 13px; color: var(--muted); }
.angulos-dor b { color: var(--text); }
.angulos-lista { padding: 14px 20px 20px; display: flex; flex-direction: column; gap: 12px; }
.angulo { background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; padding: 14px; }
.angulo h4 { margin: 0 0 8px; font-size: 14px; color: var(--accent-2); }
.a-mec { font-size: 12px; color: var(--muted); margin-bottom: 8px; }
.a-mec b { color: var(--text); }
.a-abre { font-size: 13px; line-height: 1.55; color: var(--text-2); font-style: italic; }
.a-foot { margin-top: 10px; text-align: right; }
.a-loading { text-align: center; color: var(--muted); padding: 30px; }

/* Settings */
.settings-tabs { display: flex; gap: 6px; padding: 14px 20px 0; flex-wrap: wrap; }
.stab { background: transparent; border: 1px solid var(--line); color: var(--muted); padding: 8px 14px; border-radius: 9px; cursor: pointer; font-size: 13px; font-weight: 600; }
.stab.active { background: var(--panel-2); color: var(--text); border-color: var(--accent); }
.settings-pane { display: none; padding: 16px 20px 22px; }
.settings-pane.active { display: block; }
.settings-desc { font-size: 13px; color: var(--text-2); line-height: 1.55; margin: 0 0 12px; }
.passos { margin: 0 0 16px; padding-left: 20px; font-size: 12.5px; color: var(--muted); line-height: 1.7; }
.passos li { margin-bottom: 4px; }
.passos a { color: var(--accent-2); }
.connect-row { display: flex; gap: 8px; }
.connect-row input { flex: 1; }
.connect-msg { margin-top: 10px; font-size: 12.5px; min-height: 16px; }
.connect-msg.ok { color: var(--green); }
.connect-msg.err { color: #ff9d9d; }

/* ---------- Raio-X da estrutura (VSL) ---------- */
.estrutura { border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; }
.estrutura legend { font-size: 11px; color: #a9ccff; padding: 0 6px; font-weight: 700; font-family: var(--mono); text-transform: uppercase; }
.estrutura-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.estrutura-lista { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
.estrutura-lista:empty { margin-top: 0; }
.parte { background: var(--panel-2); border: 1px solid var(--line); border-left: 3px solid var(--blue); border-radius: 10px; padding: 11px 13px; }
.parte-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 6px; }
.parte-nome { font-weight: 700; font-size: 13px; color: #a9ccff; }
.parte-status { width: auto; flex: none; padding: 5px 9px; font-size: 12px; }
.parte-resumo { font-size: 12px; color: var(--text-2); line-height: 1.5; }

/* ---------- Rascunho (briefing/ideia) ---------- */
.draft-body { padding: 16px 20px; max-height: 60vh; overflow-y: auto; font-size: 14px; line-height: 1.6; color: var(--text-2); }
.draft-body h2 { font-family: var(--display); font-size: 15px; color: var(--accent-2); margin: 14px 0 6px; }
.draft-body h2:first-child { margin-top: 0; }
.draft-body p { margin: 0 0 10px; }
.draft-body ul, .draft-body ol { margin: 0 0 10px 20px; }

/* ---------- Multi-anúncios (upload) ---------- */
.multi-top { padding: 14px 20px 6px; }
.multi-top .muted { margin: 0 0 10px; }
.multi-cat { display: flex; flex-direction: column; gap: 5px; font-size: 11px; color: var(--muted); font-family: var(--mono); text-transform: uppercase; letter-spacing: 0.03em; }
.multi-cat select { text-transform: none; font-family: var(--font); }
.multi-lista { padding: 6px 20px 4px; display: flex; flex-direction: column; gap: 8px; max-height: 52vh; overflow-y: auto; }
.multi-item { display: flex; align-items: center; gap: 12px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 10px; padding: 11px 13px; }
.multi-chk input { width: 18px; height: 18px; }
.multi-info { flex: 1; min-width: 0; }
.multi-nome { font-weight: 700; font-size: 13px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.multi-dor { font-size: 11.5px; color: var(--muted); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.multi-status { width: auto; flex: none; padding: 7px 10px; }

/* ---------- Toast ---------- */
.toast { position: fixed; bottom: 24px; left: 50%; transform: translateX(-50%); background: var(--panel-2); border: 1px solid var(--line); padding: 12px 18px; border-radius: 12px; font-size: 13px; z-index: 100; box-shadow: var(--shadow); }
.toast.hidden { display: none; }
.toast.ok { border-color: rgba(52,211,153,0.4); }
.toast.err { border-color: rgba(242,85,90,0.4); color: #ffb4b4; }

.spin { display: inline-block; animation: spin 0.8s linear infinite; }
@keyframes spin { to { transform: rotate(360deg); } }

/* ===== Benchmark (Etapa 7) ===== */
.bench-sel { background: var(--panel-2); color: var(--text); border: 1px solid var(--line); border-radius: 9px; padding: 8px 12px; font-size: 13px; }
.bench-bar { display: flex; height: 30px; border-radius: 8px; overflow: hidden; border: 1px solid var(--line); background: var(--panel-2); }
.bench-seg { display: flex; align-items: center; justify-content: center; font-size: 11px; font-weight: 700; color: #05130d; min-width: 0; transition: width .4s; }
.bench-seg.ok { background: var(--green); } .bench-seg.warn { background: #f5c04a; } .bench-seg.bad { background: var(--red); color: #fff; }
.bench-legend { display: flex; gap: 18px; margin: 10px 0 22px; font-size: 12px; color: var(--text-2); }
.bench-legend i.dot { display: inline-block; width: 9px; height: 9px; border-radius: 50%; margin-right: 6px; }
.dot.ok { background: var(--green); } .dot.warn { background: #f5c04a; } .dot.bad { background: var(--red); }
.bench-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 780px) { .bench-cols { grid-template-columns: 1fr; } }
.bench-col { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 16px 18px; }
.bench-col.ok { border-color: rgba(52,211,153,0.3); } .bench-col.bad { border-color: rgba(242,85,90,0.3); }
.bench-col h3 { font-size: 14px; margin-bottom: 12px; }
.bench-list { list-style: none; display: flex; flex-direction: column; gap: 9px; }
.bench-list li { font-size: 12.5px; color: var(--text-2); line-height: 1.4; }
.bench-list b.ok { color: var(--green); } .bench-list b.bad { color: var(--red); }
.bt-tipo { display: inline-block; font-size: 9px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .05em; color: var(--muted); background: var(--panel-3); border-radius: 5px; padding: 2px 6px; margin-right: 6px; }
.bench-concl-wrap { margin: 24px 0; }
.bench-concl-box { margin-top: 14px; background: linear-gradient(135deg, rgba(79,163,255,0.1), var(--panel)); border: 1px solid rgba(79,163,255,0.3); border-radius: 12px; padding: 16px 18px; font-size: 13.5px; line-height: 1.6; color: var(--text); white-space: pre-wrap; }
.bench-padroes-tit { font-size: 15px; font-weight: 700; margin: 8px 0 14px; }

/* ===== Oportunidades (Etapa 9) ===== */
.op-full { background: var(--panel); border: 1px solid rgba(52,211,153,0.25); border-radius: 13px; padding: 16px 18px; margin-bottom: 14px; }
.op-full-head { display: flex; align-items: center; gap: 12px; margin-bottom: 12px; }
.op-full .op-nicho { margin: 0; }
.of-row { display: grid; grid-template-columns: 130px 1fr; gap: 12px; padding: 7px 0; border-top: 1px solid var(--line-soft); font-size: 13px; color: var(--text-2); line-height: 1.5; }
.of-row b { color: var(--muted); font-size: 10.5px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .04em; padding-top: 2px; }
.of-row.bad { color: #ffb4b4; } .of-row.bad b { color: var(--red); }
@media (max-width: 620px) { .of-row { grid-template-columns: 1fr; gap: 2px; } }
.op-base { margin-top: 10px; font-size: 11px; }
.op-conf { font-size: 10px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .05em; padding: 3px 9px; border-radius: 20px; }
.op-conf.cf-alta { background: rgba(52,211,153,0.16); color: var(--green); }
.op-conf.cf-media { background: rgba(245,192,74,0.16); color: #f5c04a; }
.op-conf.cf-baixa { background: rgba(130,141,160,0.16); color: var(--muted); }
.op-ver { margin-top: 10px; font-size: 12px; }

/* ===== Home movimentos (Etapa 8) ===== */
.mv-line { display: flex; justify-content: space-between; gap: 12px; font-size: 12.5px; padding: 8px 0; border-top: 1px solid var(--line-soft); }
.mv-line:first-child { border-top: none; }
.mv-line span { color: var(--muted); }
.mv-up b { color: var(--green); } .mv-down b { color: var(--red); } .mv-flat b { color: #f5c04a; }

/* ===== Laboratório (Etapa 10) ===== */
.lab-tabs { display: flex; gap: 6px; margin-bottom: 18px; border-bottom: 1px solid var(--line); }
.lab-tab { background: none; border: none; color: var(--muted); font-size: 13px; font-weight: 600; padding: 10px 14px; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; transition: .15s; }
.lab-tab:hover { color: var(--text-2); }
.lab-tab.active { color: #fff; border-bottom-color: var(--accent-2, #4fa3ff); }
.lab-panel { display: none; } .lab-panel.active { display: block; }
.lab-panel-head { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; margin-bottom: 18px; flex-wrap: wrap; }
.lab-intro { font-size: 12.5px; color: var(--text-2); line-height: 1.55; max-width: 640px; margin-bottom: 14px; }
.lab-panel-head .lab-intro { margin-bottom: 0; }

.lei-card { background: var(--panel); border: 1px solid var(--line); border-left: 3px solid var(--line); border-radius: 12px; padding: 15px 17px; margin-bottom: 13px; }
.lei-card.st-confirmada { border-left-color: var(--green); }
.lei-card.st-refutada { border-left-color: var(--red); opacity: .7; }
.lei-card.st-candidata { border-left-color: #f5c04a; }
.lei-top { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; flex-wrap: wrap; }
.lei-nivel { font-size: 11px; font-family: var(--mono); color: var(--muted); }
.lei-status { margin-left: auto; font-size: 10px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .05em; padding: 3px 9px; border-radius: 20px; }
.lst-confirmada { background: rgba(52,211,153,0.16); color: var(--green); }
.lst-refutada { background: rgba(242,85,90,0.16); color: var(--red); }
.lst-candidata { background: rgba(245,192,74,0.16); color: #f5c04a; }
.lei-enun { font-size: 14.5px; line-height: 1.5; font-weight: 500; }
.lei-ev { margin: 11px 0; }
.lei-ev-btn { background: none; border: none; color: var(--accent-2, #4fa3ff); font-size: 12px; cursor: pointer; padding: 0; }
.lei-ev-list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 8px; }
.ev-item { font-size: 11px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 7px; padding: 4px 8px; }
.ev-item i { color: var(--muted); font-style: normal; margin-left: 4px; }
.lei-acoes { display: flex; gap: 7px; flex-wrap: wrap; margin-top: 10px; }
.btn-mini { background: var(--panel-2); border: 1px solid var(--line); color: var(--text-2); font-size: 11.5px; padding: 5px 11px; border-radius: 8px; cursor: pointer; transition: .15s; }
.btn-mini:hover { border-color: #3d4759; background: var(--panel-3); }
.btn-mini.ok:hover { border-color: var(--green); color: var(--green); }
.btn-mini.bad:hover { border-color: var(--red); color: var(--red); }
.btn-mini.del { margin-left: auto; opacity: .6; }

.exp-card { background: var(--panel); border: 1px solid var(--line); border-left: 3px solid var(--line); border-radius: 12px; padding: 15px 17px; margin-bottom: 13px; }
.exp-card.est-rodando { border-left-color: #4fa3ff; }
.exp-card.est-validado { border-left-color: var(--green); }
.exp-card.est-refutado { border-left-color: var(--red); opacity: .72; }
.exp-top { display: flex; align-items: center; gap: 10px; margin-bottom: 8px; }
.exp-status { font-size: 10px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .05em; padding: 3px 9px; border-radius: 20px; background: var(--panel-3); color: var(--muted); }
.xst-rodando { background: rgba(79,163,255,0.16); color: #4fa3ff; }
.xst-validado { background: rgba(52,211,153,0.16); color: var(--green); }
.xst-refutado { background: rgba(242,85,90,0.16); color: var(--red); }
.exp-escopo { font-size: 11px; color: var(--muted); font-family: var(--mono); }
.exp-hip { font-size: 14px; line-height: 1.5; font-weight: 500; }
.exp-teste, .exp-result { font-size: 12.5px; color: var(--text-2); margin-top: 7px; line-height: 1.45; }
.exp-teste b, .exp-result b { color: var(--muted); font-size: 10.5px; font-family: var(--mono); text-transform: uppercase; }

/* ===== Diretor Estratégico (Etapa 11) ===== */
.dir-cta { display: flex; flex-direction: column; gap: 12px; align-items: flex-start; }
.dir-cta-txt { font-size: 12.5px; color: var(--text-2); line-height: 1.55; }
.dir-scope { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 560px) { .dir-scope { grid-template-columns: 1fr; } }
.dir-scope select { width: 100%; }
#dir-result { margin-top: 6px; }
.dir-plano { border: 1px solid var(--line); border-radius: 12px; padding: 4px 0; }
.dir-conf { display: inline-block; margin: 4px 0 10px; }
.dir-sec { padding: 13px 0; border-top: 1px solid var(--line-soft); }
.dir-sec:first-of-type { border-top: none; }
.dir-sec-tit { font-size: 11px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .05em; color: var(--muted); margin-bottom: 8px; }
.dir-sec-tit.dir-bad { color: var(--red); }
.dir-diag { font-size: 13.5px; line-height: 1.6; color: var(--text-2); }
.dir-conversa { background: linear-gradient(135deg, rgba(238,28,36,0.1), var(--panel)); border-radius: 10px; padding: 14px 16px; border-top: none; }
.dir-conv-txt { font-size: 15.5px; font-weight: 600; line-height: 1.5; }
.dir-recs { display: flex; flex-direction: column; gap: 10px; }
.dir-rec { background: var(--panel-2); border: 1px solid var(--line); border-radius: 10px; padding: 11px 13px; }
.dir-rec-top { display: flex; align-items: center; gap: 8px; margin-bottom: 6px; }
.dir-rec-top .op-conf { margin-left: auto; }
.dir-rec-sug { font-size: 13.5px; font-weight: 600; line-height: 1.45; }
.dir-rec-pq { font-size: 12.5px; color: var(--text-2); margin-top: 4px; line-height: 1.45; }
.dir-rec-ev { font-size: 11.5px; color: var(--green); margin-top: 6px; font-family: var(--mono); }
.dir-estrutura { font-size: 13.5px; font-family: var(--mono); color: var(--accent-2); background: rgba(0,0,0,0.25); border-radius: 8px; padding: 10px 12px; line-height: 1.5; }
.dir-linha { font-size: 13.5px; font-style: italic; color: var(--text); background: var(--panel-2); border-left: 3px solid var(--accent); border-radius: 0 8px 8px 0; padding: 9px 13px; margin-top: 7px; line-height: 1.5; }
.dir-lacuna { font-size: 13px; color: var(--text-2); line-height: 1.5; }
.dir-evitar { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.dir-evitar li { font-size: 12.5px; line-height: 1.45; }
.dir-evitar b { color: #ffb4b4; }
.dir-ressalva { font-size: 12px; color: var(--muted); background: rgba(245,192,74,0.08); border: 1px solid rgba(245,192,74,0.25); border-radius: 8px; padding: 10px 12px; margin-top: 12px; line-height: 1.5; }
.dir-acoes { margin-top: 16px; display: flex; justify-content: flex-end; }
.bm-dir { display: block; width: 100%; text-align: left; margin-top: 8px; background: rgba(238,28,36,0.1); border: 1px solid rgba(238,28,36,0.3); color: var(--accent-2); font-size: 12.5px; font-weight: 600; padding: 9px 12px; border-radius: 9px; cursor: pointer; transition: .15s; }
.bm-dir:hover { background: rgba(238,28,36,0.18); }

/* ============================================================
   ETAPA 12 — Responsividade & polish
   ============================================================ */
html, body { overflow-x: hidden; max-width: 100%; }
img, svg, table { max-width: 100%; }
* { -webkit-tap-highlight-color: rgba(238,28,36,0.2); }

/* Tablet e abaixo: a nav de 8 abas vira uma faixa rolável (não empurra a página) */
@media (max-width: 900px) {
  .topbar { padding: 10px 15px; gap: 10px 12px; }
  .tabs {
    order: 3; width: 100%; margin: 0; justify-content: flex-start;
    overflow-x: auto; overflow-y: hidden; scrollbar-width: none; -webkit-overflow-scrolling: touch;
  }
  .tabs::-webkit-scrollbar { display: none; }
  .tab { padding: 8px 13px; flex: 0 0 auto; }
  .brand-img { height: 34px; max-width: 175px; }
  .top-actions { margin-left: auto; }
  main { padding: 18px 15px 56px; }
}

/* Celular */
@media (max-width: 560px) {
  main { padding: 14px 12px 48px; }
  .area-head { margin-bottom: 14px; }
  .area-head h2 { font-size: 19px; }
  .area-sub { font-size: 12px; }
  .home-tiles { grid-template-columns: 1fr 1fr; gap: 9px; }
  .tile { padding: 12px; }
  .tile-n { font-size: 22px; }
  .hh-greet { font-size: 15px; }
  .modal { padding: 10px; align-items: flex-start; }
  .modal-box { max-height: 94vh; margin-top: 8px; }
  .form { padding: 15px 15px; }
  .modal-foot { flex-wrap: wrap; }
  .lab-panel-head { flex-direction: column; }
  .lab-panel-head .btn { width: 100%; }
  .cli-acoes { flex-wrap: wrap; }
  .cli-acoes .btn { flex: 1 1 auto; }
  .bench-legend { gap: 12px; flex-wrap: wrap; }
  .dir-conv-txt { font-size: 14.5px; }
  .lab-tab { padding: 9px 10px; font-size: 12px; }
  .lei-status, .exp-status { margin-left: 0; }
}

/* Toque: alvos ≥ 40px de altura em telas pequenas */
@media (max-width: 560px) {
  .btn, .btn-mini, .lab-tab { min-height: 38px; }
}

/* ============================================================
   PÚBLICO 1 — Wizard de ingestão inteligente de cliente
   ============================================================ */
.wiz-steps { display: flex; gap: 4px; padding: 14px 20px; border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; }
.wiz-steps::-webkit-scrollbar { display: none; }
.wiz-step { display: flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 600; color: var(--muted); padding: 6px 12px; border-radius: 8px; white-space: nowrap; flex: 0 0 auto; }
.wiz-step .ws-n { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--panel-3); font-size: 11px; }
.wiz-step.active { color: #fff; background: rgba(238,28,36,0.12); }
.wiz-step.active .ws-n { background: var(--accent); color: #fff; }
.wiz-step.done { color: var(--green); }
.wiz-step.done .ws-n { background: rgba(52,211,153,0.2); color: var(--green); }
.wiz-body { padding: 20px; min-height: 240px; }
.wiz-panel { display: none; } .wiz-panel.active { display: block; animation: fade .2s ease; }
.wiz-foot { display: flex; gap: 10px; padding: 0 20px 18px; }

.ing-drop { border: 2px dashed var(--line); border-radius: 14px; padding: 34px 20px; text-align: center; transition: .18s; }
.ing-drop.drag { border-color: var(--accent); background: rgba(238,28,36,0.06); }
.ing-drop-ic { font-size: 34px; }
.ing-drop-tit { font-size: 16px; font-weight: 700; margin: 8px 0 6px; }
.ing-drop-sub { font-size: 12.5px; color: var(--text-2); line-height: 1.55; max-width: 520px; margin: 0 auto 14px; }
.ing-formats { font-size: 11px; color: var(--muted); font-family: var(--mono); margin-top: 12px; }
.ing-filelist { margin-top: 14px; display: flex; flex-direction: column; gap: 7px; }
.ing-file-row { display: flex; align-items: center; gap: 10px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 9px; padding: 9px 12px; }
.iff-nome { font-size: 13px; font-weight: 500; }
.iff-sz { margin-left: auto; font-size: 11px; color: var(--muted); font-family: var(--mono); }
.iff-x { background: none; border: none; color: var(--muted); cursor: pointer; font-size: 14px; }
.iff-x:hover { color: var(--red); }

.ing-progress { display: flex; flex-direction: column; gap: 12px; padding: 20px 0; }
.ing-fase { display: flex; align-items: center; gap: 12px; font-size: 13.5px; color: var(--muted); transition: .2s; }
.ing-fase .if-dot { width: 11px; height: 11px; border-radius: 50%; border: 2px solid var(--line); flex: 0 0 auto; }
.ing-fase.now { color: var(--text); }
.ing-fase.now .if-dot { border-color: var(--accent); background: var(--accent); animation: pulse 1s infinite; box-shadow: 0 0 10px var(--accent); }
.ing-fase.done { color: var(--green); }
.ing-fase.done .if-dot { border-color: var(--green); background: var(--green); }
@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: .4; } }

.rv-sec { border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; margin-bottom: 12px; }
.rv-sec-tit { font-size: 11px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .05em; color: var(--accent-2); margin-bottom: 12px; font-weight: 700; }
.rv-field { margin-bottom: 11px; }
.rv-lbl { font-size: 11px; color: var(--muted); font-weight: 600; margin-bottom: 5px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.rv-in { width: 100%; background: var(--panel-2); border: 1px solid var(--line); border-radius: 8px; padding: 9px 11px; color: var(--text); font-size: 13px; }
.rv-in:focus { border-color: var(--accent); outline: none; }
.rv-src { background: none; border: none; color: var(--accent-2); font-size: 11px; cursor: pointer; padding: 0; }
.rv-ent { margin-bottom: 14px; }
.rv-chips { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 7px; }
.rv-chip { display: inline-flex; align-items: center; gap: 6px; font-size: 12px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 20px; padding: 5px 10px; }
.rv-chip-x { background: none; border: none; color: var(--muted); cursor: pointer; font-size: 12px; }
.rv-chip-x:hover { color: var(--red); }
.rv-add-in { width: 100%; background: transparent; border: 1px dashed var(--line); border-radius: 8px; padding: 7px 10px; color: var(--text); font-size: 12px; }
.rv-add-in:focus { border-color: var(--accent); border-style: solid; outline: none; }

.ing-done { text-align: center; padding: 10px 0 18px; }
.ing-done-ic { display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; border-radius: 50%; background: rgba(52,211,153,0.16); color: var(--green); font-size: 28px; margin-bottom: 10px; }
.ing-done h3 { font-size: 19px; }
.ing-done-stats { font-size: 12.5px; color: var(--text-2); margin-top: 6px; }

/* ===== Mini-desk do cliente (Público 1) ===== */
.home-block-tit-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 12px; }
.home-block-tit-row .home-block-tit { margin-bottom: 0; }
.btn-mini-add { font-size: 12px; padding: 6px 12px; }
.md-docs { font-size: 11px; color: var(--muted); font-family: var(--mono); margin-left: 8px; }
.md-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.md-item { background: var(--panel-2); border: 1px solid var(--line); border-radius: 10px; padding: 11px 13px; }
.md-lbl { font-size: 10px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .04em; color: var(--muted); margin-bottom: 5px; display: flex; align-items: center; gap: 7px; flex-wrap: wrap; }
.md-val { font-size: 13px; line-height: 1.45; color: var(--text); }
.md-src { background: none; border: none; color: var(--accent-2); cursor: pointer; font-size: 11px; padding: 0; }
.md-prods { display: flex; flex-wrap: wrap; gap: 10px; }
.md-prod { background: linear-gradient(135deg, rgba(185,140,255,0.1), var(--panel-2)); border: 1px solid rgba(185,140,255,0.25); border-radius: 10px; padding: 11px 14px; min-width: 180px; }
.md-prod-nome { font-size: 13.5px; font-weight: 600; }
.md-prod-cat { font-size: 11.5px; color: var(--muted); margin-top: 3px; }
.clp-nome { font-weight: 500; }
.clp-tipo { font-size: 11px; margin: 0 6px; }
.cli-peca[data-pid] { cursor: pointer; transition: .15s; }
.cli-peca[data-pid]:hover { border-color: #3d4759; }
.cli-ideia { background: var(--panel-2); border: 1px solid var(--line); border-left: 3px solid var(--accent); border-radius: 10px; padding: 12px 14px; margin-bottom: 10px; }
.ci-formato { display: inline-block; font-size: 9px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .06em; color: var(--accent-2); background: rgba(238,28,36,0.12); border-radius: 5px; padding: 3px 8px; margin-bottom: 7px; }
.ci-ideia-txt { font-size: 13.5px; font-weight: 500; line-height: 1.5; }
.ci-pq { font-size: 12.5px; color: var(--text-2); margin-top: 5px; line-height: 1.45; }
.ci-base { margin-top: 6px; font-size: 11px; }

/* ============================================================
   MERCADOS — raio-x estratégico (reformulação)
   ============================================================ */
.st-tag { font-size: 9.5px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .05em; padding: 2px 8px; border-radius: 20px; white-space: nowrap; }
.st-vencedor { background: rgba(52,211,153,0.16); color: var(--green); }
.st-promissor { background: rgba(79,163,255,0.16); color: #4fa3ff; }
.st-dominante { background: rgba(185,140,255,0.16); color: #c9a9ff; }
.st-saturado { background: rgba(245,192,74,0.16); color: #f5c04a; }
.st-refutado { background: rgba(242,85,90,0.16); color: var(--red); }
.st-neutro { background: rgba(130,141,160,0.14); color: var(--muted); }

#mercados-lista { display: grid; grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)); gap: 16px; }
.mkt-card { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 18px 20px; cursor: pointer; transition: .16s; display: flex; flex-direction: column; }
.mkt-card:hover { border-color: #3d4759; transform: translateY(-2px); box-shadow: 0 12px 30px -18px rgba(0,0,0,0.9); }
.mkt-card-head h3 { font-size: 17px; line-height: 1.3; }
.mkt-card-stats { font-size: 12px; color: var(--muted); margin: 7px 0 14px; }
.mkt-card-stats b { color: var(--text); } .mkt-card-stats b.ok { color: var(--green); }
.mkt-card-sigs { display: flex; flex-direction: column; gap: 8px; flex: 1; }
.mc-sig { display: flex; flex-direction: column; gap: 1px; border-left: 2px solid var(--line); padding-left: 10px; }
.mc-sig.good { border-left-color: var(--green); } .mc-sig.warn { border-left-color: #f5c04a; } .mc-sig.opp { border-left-color: #4fa3ff; }
.mc-sig-lbl { font-size: 9.5px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.mc-sig-val { font-size: 12.5px; color: var(--text); line-height: 1.35; }
.mc-thin { font-size: 12px; padding-left: 2px; }
.mkt-card-foot { margin-top: 15px; }
.mkt-explorar { font-size: 12.5px; font-weight: 600; color: var(--accent-2); }

.mkt-head { display: flex; justify-content: space-between; align-items: flex-end; gap: 14px; margin: 14px 0 16px; flex-wrap: wrap; }
.mkt-head h2 { font-size: 24px; }
.mkt-head-sub { font-size: 12.5px; color: var(--muted); margin-top: 3px; }
.mkt-resumo { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 22px; }
.mkt-rk { background: var(--panel-2); border: 1px solid var(--line); border-radius: 10px; padding: 10px 16px; text-align: center; min-width: 82px; }
.mkt-rk b { display: block; font-size: 20px; font-family: var(--display); } .mkt-rk b.ok { color: var(--green); } .mkt-rk b.bad { color: var(--red); }
.mkt-rk span { font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; }

.mkt-sec { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 18px 20px; margin-bottom: 16px; }
.mkt-sec-tit { font-size: 15px; font-weight: 700; margin-bottom: 15px; display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.mkt-sinal-nota { font-size: 10px; font-family: var(--mono); color: var(--muted); background: var(--panel-3); padding: 2px 8px; border-radius: 6px; font-weight: 400; }
.mkt-nota { font-size: 11.5px; margin-top: 12px; line-height: 1.5; }

.mkt-leitura { background: linear-gradient(135deg, rgba(79,163,255,0.08), var(--panel)); border-color: rgba(79,163,255,0.25); }
.mkt-leitura-txt { font-size: 14.5px; line-height: 1.6; color: var(--text); }
.mkt-leitura-foot { display: flex; align-items: center; gap: 12px; margin-top: 12px; }

.mkt-insights { display: flex; flex-direction: column; gap: 11px; }
.mkt-insight { display: flex; gap: 14px; background: var(--panel-2); border: 1px solid var(--line); border-left: 3px solid var(--green); border-radius: 11px; padding: 13px 15px; }
.mi-rank { font-family: var(--display); font-size: 20px; color: var(--muted); flex: 0 0 auto; width: 24px; }
.mi-body { flex: 1; min-width: 0; }
.mi-tipo { font-size: 10px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .05em; color: var(--muted); display: flex; align-items: center; gap: 8px; }
.mi-valor { font-size: 15px; font-weight: 600; margin: 4px 0 6px; line-height: 1.4; }
.mi-metrics { font-size: 11.5px; color: var(--text-2); }
.mi-taxa { color: var(--green); font-weight: 700; }
.mi-ev { margin-top: 8px; }
.ev-btn { background: none; border: none; color: var(--accent-2); font-size: 11.5px; cursor: pointer; padding: 0; }
.ev-out { margin-top: 7px; }
.ev-list { display: flex; flex-wrap: wrap; gap: 6px; }
.ev-peca { font-size: 11px; background: var(--panel-3); border: 1px solid var(--line); border-radius: 7px; padding: 3px 8px; }
.ev-peca i { color: var(--muted); font-style: normal; margin-left: 5px; }

.mkt-rank { display: flex; flex-direction: column; gap: 8px; }
.mkt-rank-row { display: grid; grid-template-columns: 26px 1fr auto; grid-template-rows: auto auto; gap: 2px 12px; align-items: center; background: var(--panel-2); border: 1px solid var(--line); border-radius: 10px; padding: 10px 13px; }
.mr-pos { grid-row: 1 / 3; font-family: var(--display); font-size: 17px; color: var(--muted); }
.mr-valor { font-size: 13.5px; font-weight: 500; }
.mr-meta { font-size: 11.5px; color: var(--text-2); } .mr-meta b { color: var(--green); }
.mkt-rank-row .st-tag { grid-column: 3; grid-row: 1 / 3; }
.mr-bar { grid-column: 2 / 4; height: 4px; background: rgba(255,255,255,0.06); border-radius: 3px; overflow: hidden; }
.mr-bar-fill { height: 100%; background: linear-gradient(90deg, var(--accent), var(--accent-2)); }

.mkt-moves { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
@media (max-width: 820px) { .mkt-moves { grid-template-columns: 1fr 1fr; } }
@media (max-width: 480px) { .mkt-moves { grid-template-columns: 1fr; } }
.mkt-move-col { background: var(--panel-2); border: 1px solid var(--line); border-radius: 10px; padding: 12px; border-top: 2px solid var(--line); }
.mkt-move-col.mv-up { border-top-color: var(--green); } .mkt-move-col.mv-flat { border-top-color: #f5c04a; } .mkt-move-col.mv-down { border-top-color: var(--red); } .mkt-move-col.mv-opp { border-top-color: #4fa3ff; }
.mmc-tit { font-size: 11px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .04em; color: var(--text-2); margin-bottom: 9px; }
.mmc-item { font-size: 12px; padding: 5px 0; border-top: 1px solid var(--line-soft); line-height: 1.35; }
.mmc-item:first-of-type { border-top: none; }
.mmc-vazio { font-size: 12px; padding: 4px 0; }

.mkt-vs { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
@media (max-width: 700px) { .mkt-vs { grid-template-columns: 1fr; } }
.mkt-vs-col { border: 1px solid var(--line); border-radius: 11px; padding: 14px 16px; }
.mkt-vs-col.ok { border-color: rgba(52,211,153,0.3); } .mkt-vs-col.bad { border-color: rgba(242,85,90,0.3); }
.mkt-vs-col h4 { font-size: 12.5px; margin-bottom: 10px; }
.mkt-vs-col ul { list-style: none; display: flex; flex-direction: column; gap: 7px; }
.mkt-vs-col li { font-size: 12.5px; line-height: 1.35; }
.mkt-concl { margin-top: 14px; background: linear-gradient(135deg, rgba(245,192,74,0.1), var(--panel)); border: 1px solid rgba(245,192,74,0.28); border-radius: 10px; padding: 13px 15px; font-size: 13.5px; line-height: 1.55; }

.mkt-cv-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 14px; }
@media (max-width: 700px) { .mkt-cv-cols { grid-template-columns: 1fr; } }
.mkt-cv-col h4 { font-size: 12.5px; margin-bottom: 9px; }
.mkt-cv-col.ok h4 { color: var(--green); } .mkt-cv-col.bad h4 { color: var(--red); }
.mkt-cv-list { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.mkt-cv-list li { font-size: 12.5px; line-height: 1.4; color: var(--text-2); }
.mkt-cv-abre { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 700px) { .mkt-cv-abre { grid-template-columns: 1fr; } }
.cv-nao, .cv-sim { border-radius: 10px; padding: 12px 14px; }
.cv-nao { background: rgba(242,85,90,0.07); border: 1px solid rgba(242,85,90,0.2); }
.cv-sim { background: rgba(52,211,153,0.07); border: 1px solid rgba(52,211,153,0.22); }
.cv-lbl { font-size: 9.5px; font-family: var(--mono); letter-spacing: .06em; margin-bottom: 6px; } .cv-lbl.ok { color: var(--green); } .cv-lbl.bad { color: var(--red); }
.cv-ex { font-size: 13px; line-height: 1.5; font-style: italic; }
.cv-just { grid-column: 1 / -1; font-size: 12px; line-height: 1.5; margin-top: 2px; }

.mkt-map-tabs { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 15px; }
.mkt-map-tab { background: var(--panel-2); border: 1px solid var(--line); color: var(--muted); font-size: 12px; font-weight: 600; padding: 6px 12px; border-radius: 8px; cursor: pointer; transition: .15s; }
.mkt-map-tab:hover { color: var(--text-2); border-color: #3d4759; }
.mkt-map-tab.active { color: #fff; background: var(--panel-3); border-color: var(--accent); }

.mkt-decisao { background: linear-gradient(135deg, rgba(238,28,36,0.1), var(--panel)); border-color: rgba(238,28,36,0.3); }
.mkt-dec-txt { font-size: 14.5px; line-height: 1.6; margin-bottom: 12px; white-space: pre-wrap; }
.mkt-dec-conf { display: inline-block; margin-top: 12px; }

/* ===== Mercados: sanfona inline (expande no próprio card) ===== */
#mercados-lista { display: flex; flex-direction: column; gap: 12px; }
.mkt-card { padding: 0; overflow: hidden; cursor: default; }
.mkt-card:hover { transform: none; box-shadow: none; }
.mkt-card-summary { padding: 16px 20px; cursor: pointer; transition: background .15s; }
.mkt-card-summary:hover { background: rgba(255,255,255,0.025); }
.mkt-card.open { border-color: var(--accent); box-shadow: 0 14px 40px -22px rgba(0,0,0,0.9); }
.mkt-card.open .mkt-card-summary { background: rgba(238,28,36,0.06); }
.mkt-card-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.mkt-chevron { color: var(--muted); font-size: 12px; transition: transform .2s, color .2s; flex: 0 0 auto; }
.mkt-card.open .mkt-chevron { transform: rotate(180deg); color: var(--accent-2); }
.mkt-card.open .mkt-explorar { color: var(--muted); }
.mkt-detail { padding: 6px 18px 16px; border-top: 1px solid var(--line); animation: fade .2s ease; }
.mkt-detail .mkt-head { margin-top: 12px; }

/* ===== Abas internas do cliente (Benchmark por cliente) ===== */
.cli-tabs { display: flex; gap: 4px; margin: 18px 0 16px; border-bottom: 1px solid var(--line); overflow-x: auto; scrollbar-width: none; }
.cli-tabs::-webkit-scrollbar { display: none; }
.cli-tab { background: none; border: none; color: var(--muted); font-size: 13px; font-weight: 600; padding: 10px 14px; cursor: pointer; border-bottom: 2px solid transparent; margin-bottom: -1px; white-space: nowrap; flex: 0 0 auto; transition: color .15s; }
.cli-tab:hover { color: var(--text-2); }
.cli-tab.active { color: #fff; border-bottom-color: var(--accent); }
.bad-txt { color: var(--red); }

/* ===== Aprendizado acumulado do cliente ===== */
.cli-aprend { background: var(--panel-2); border: 1px solid var(--line); border-left: 3px solid var(--accent-2); border-radius: 10px; padding: 12px 14px; margin-bottom: 9px; }
.ca-txt { font-size: 13.5px; font-weight: 500; line-height: 1.45; }
.ca-meta { font-size: 11px; color: var(--muted); margin-top: 6px; display: flex; align-items: center; gap: 6px; flex-wrap: wrap; }
.ca-del { margin-left: auto; background: none; border: none; color: var(--muted); cursor: pointer; opacity: .6; }
.ca-del:hover { color: var(--red); opacity: 1; }

/* ===== Comparação entre produtos ===== */
.pc-wrap { overflow-x: auto; }
.pc-table { width: 100%; border-collapse: collapse; font-size: 12.5px; }
.pc-table th, .pc-table td { text-align: left; padding: 9px 12px; border-bottom: 1px solid var(--line-soft); vertical-align: top; }
.pc-table thead th { font-size: 13px; font-weight: 700; color: var(--text); border-bottom: 1px solid var(--line); }
.pc-table .pc-lbl { color: var(--muted); font-size: 10.5px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .04em; white-space: nowrap; }
.pc-table tbody tr:hover { background: rgba(255,255,255,0.02); }

/* ===== Voz do Mercado do cliente ===== */
.voz-bar { display: flex; gap: 8px; }
.voz-bar input { flex: 1; background: var(--panel-2); border: 1px solid var(--line); border-radius: 9px; padding: 9px 12px; color: var(--text); font-size: 13px; }
.voz-bar input:focus { border-color: var(--accent); outline: none; }
.voz-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 14px; }
@media (max-width: 700px) { .voz-cols { grid-template-columns: 1fr; } }
.voz-col { border: 1px solid var(--line); border-radius: 11px; padding: 13px 15px; }
.voz-col h4 { font-size: 12.5px; margin-bottom: 9px; }
.voz-col ul { list-style: none; display: flex; flex-direction: column; gap: 6px; }
.voz-col li { font-size: 12.5px; line-height: 1.4; color: var(--text-2); }
.voz-raw { margin-top: 14px; }
.voz-raw summary { cursor: pointer; font-size: 12.5px; color: var(--accent-2); }
.voz-raw ul { list-style: none; margin-top: 10px; display: flex; flex-direction: column; gap: 6px; }
.voz-raw li { font-size: 12px; color: var(--text-2); line-height: 1.4; padding-left: 12px; border-left: 2px solid var(--line); }

/* ===== Barra de filtros do benchmark do cliente ===== */
.bench-filtros { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 16px; }
.bench-filtros select { background: var(--panel-2); border: 1px solid var(--line); border-radius: 8px; padding: 7px 11px; color: var(--text); font-size: 12.5px; }
.bench-filtros select:focus { border-color: var(--accent); outline: none; }

/* ===== Laboratório — centro de descoberta ===== */
.lab-hero { background: linear-gradient(135deg, rgba(90,209,224,0.1), var(--panel)); border: 1px solid rgba(90,209,224,0.25); border-radius: 14px; padding: 20px 22px; margin-bottom: 18px; }
.lab-hero-tit { font-size: 19px; font-weight: 700; }
.lab-hero-sub { font-size: 13px; color: var(--text-2); margin-top: 6px; line-height: 1.5; max-width: 640px; }
.lab-chips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 14px; }
.lab-chip { background: var(--panel-2); border: 1px solid var(--line); border-radius: 20px; padding: 7px 14px; font-size: 12.5px; color: var(--text-2); cursor: pointer; transition: .15s; }
.lab-chip:hover { border-color: #5ad1e0; color: #fff; }
.lab-chip b { color: #5ad1e0; font-size: 14px; margin-right: 3px; }

.disc-card { background: var(--panel); border: 1px solid var(--line); border-left: 3px solid #5ad1e0; border-radius: 12px; padding: 16px 18px; margin-bottom: 13px; }
.disc-head { display: flex; align-items: center; gap: 10px; margin-bottom: 9px; }
.disc-n { font-size: 10px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .06em; color: #5ad1e0; font-weight: 700; }
.disc-concl { font-size: 15px; font-weight: 500; line-height: 1.5; }
.disc-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 8px 16px; margin-top: 12px; }
@media (max-width: 640px) { .disc-grid { grid-template-columns: 1fr; } }
.disc-item { font-size: 12.5px; color: var(--text-2); line-height: 1.5; }
.disc-item b { display: block; font-size: 10px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .04em; color: var(--muted); margin-bottom: 2px; }
.disc-item.warn b { color: #f5c04a; }
.disc-acoes { margin-top: 12px; }
.hip-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 12px 0; }
@media (max-width: 640px) { .hip-cols { grid-template-columns: 1fr; } }
.hip-col { border: 1px solid var(--line); border-radius: 10px; padding: 11px 13px; }
.hip-col.ok { border-color: rgba(52,211,153,0.28); } .hip-col.bad { border-color: rgba(242,85,90,0.28); }
.hip-col h4 { font-size: 11.5px; margin-bottom: 7px; }
.hip-col.ok h4 { color: var(--green); } .hip-col.bad h4 { color: var(--red); }
.hip-col ul { list-style: none; display: flex; flex-direction: column; gap: 5px; }
.hip-col li { font-size: 12px; line-height: 1.4; color: var(--text-2); }
.disc-card.prev-crescimento { border-left-color: var(--green); }
.disc-card.prev-declinio { border-left-color: var(--red); }
.disc-card.prev-saturacao { border-left-color: #f5c04a; }
.prev-pq { list-style: none; margin-top: 10px; display: flex; flex-direction: column; gap: 6px; }
.prev-pq li { font-size: 12.5px; color: var(--text-2); line-height: 1.45; padding-left: 14px; position: relative; }
.prev-pq li::before { content: '·'; position: absolute; left: 4px; color: var(--muted); }
.lac-vars { display: flex; flex-direction: column; gap: 6px; margin-top: 6px; }
.lac-var { font-size: 12.5px; color: var(--text-2); display: flex; gap: 8px; align-items: baseline; }
.lac-var span { font-family: var(--display); font-weight: 700; color: var(--accent-2); flex: 0 0 auto; }

/* ===== Laboratório Parte 2 ===== */
.lab-sec-tit { font-size: 14px; font-weight: 700; margin: 20px 0 12px; }
.lab-sec-tit:first-child { margin-top: 0; }
.lei-card.st-em-investigação { border-left-color: #4fa3ff; }
.lei-card.st-em-teste { border-left-color: #b98cff; }
.lei-card.st-arquivada { border-left-color: var(--line); opacity: .6; }
.lei-sel { display: inline-flex; align-items: center; gap: 6px; font-size: 10px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.lei-sel select { background: var(--panel-2); border: 1px solid var(--line); border-radius: 7px; padding: 5px 8px; color: var(--text); font-size: 11.5px; font-family: var(--font); text-transform: none; letter-spacing: 0; }
.lei-sel select:focus { border-color: var(--accent); outline: none; }
.hip-col p { font-size: 12.5px; color: var(--text-2); line-height: 1.4; }
.pat-del { background: none; border: none; color: var(--muted); cursor: pointer; font-size: 11px; margin-left: 4px; }
.pat-del:hover { color: var(--red); }

/* ===== Laboratório — avaliador de ideias (refeito) ===== */
.lab-form { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 20px 22px; display: flex; flex-direction: column; gap: 14px; margin-bottom: 20px; }
.lab-form label { display: flex; flex-direction: column; gap: 6px; font-size: 11px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.lab-form input, .lab-form select, .lab-form textarea { background: var(--panel-2); border: 1px solid var(--line); border-radius: 9px; padding: 10px 12px; color: var(--text); font-size: 13.5px; font-family: var(--font); text-transform: none; letter-spacing: 0; }
.lab-form input:focus, .lab-form select:focus, .lab-form textarea:focus { border-color: var(--accent); outline: none; }
.lf-row { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 640px) { .lf-row { grid-template-columns: 1fr; } }
.lf-doc { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.lf-go { align-self: flex-start; font-size: 14px; padding: 12px 20px; }

.lab-verd { display: flex; align-items: center; gap: 16px; border-radius: 14px; padding: 18px 22px; margin-bottom: 16px; border: 1px solid var(--line); }
.lab-verd.lv-ok { background: linear-gradient(135deg, rgba(52,211,153,0.14), var(--panel)); border-color: rgba(52,211,153,0.4); }
.lab-verd.lv-warn { background: linear-gradient(135deg, rgba(245,192,74,0.14), var(--panel)); border-color: rgba(245,192,74,0.4); }
.lab-verd.lv-bad { background: linear-gradient(135deg, rgba(242,85,90,0.14), var(--panel)); border-color: rgba(242,85,90,0.4); }
.lv-ic { width: 46px; height: 46px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 24px; flex: 0 0 auto; }
.lv-ok .lv-ic { background: rgba(52,211,153,0.2); color: var(--green); }
.lv-warn .lv-ic { background: rgba(245,192,74,0.2); color: #f5c04a; }
.lv-bad .lv-ic { background: rgba(242,85,90,0.2); color: var(--red); }
.lv-tit { font-size: 19px; font-weight: 700; margin-bottom: 4px; }

.lab-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-bottom: 16px; }
@media (max-width: 640px) { .lab-cols { grid-template-columns: 1fr; } }
.lab-col { border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; }
.lab-col.ok { border-color: rgba(52,211,153,0.28); } .lab-col.bad { border-color: rgba(242,85,90,0.28); }
.lab-col h4 { font-size: 12.5px; margin-bottom: 10px; }
.lab-col.ok h4 { color: var(--green); } .lab-col.bad h4 { color: var(--red); }
.lab-col ul { list-style: none; display: flex; flex-direction: column; gap: 7px; }
.lab-col li { font-size: 12.5px; line-height: 1.45; color: var(--text-2); }

.lab-coments { display: flex; flex-direction: column; gap: 9px; max-height: 460px; overflow-y: auto; padding-right: 4px; }
.lab-com { background: var(--panel-2); border: 1px solid var(--line); border-radius: 10px; padding: 11px 13px; }
.lc-txt { font-size: 13px; line-height: 1.5; color: var(--text); }
.lc-meta { font-size: 11px; color: var(--muted); margin-top: 6px; }
.lc-meta a { color: var(--accent-2); }

.lv-body { flex: 1; }
.lv-doc { flex: 0 0 auto; align-self: center; }

/* ===== Preencher copy com IA (modal Nova copy) ===== */
.peca-drop { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; background: linear-gradient(135deg, rgba(238,28,36,0.08), var(--panel-2)); border: 1px dashed rgba(238,28,36,0.4); border-radius: 12px; padding: 14px 16px; margin-bottom: 4px; transition: .15s; }
.peca-drop.drag { border-color: var(--accent); background: rgba(238,28,36,0.14); }
.pd-left { display: flex; align-items: center; gap: 12px; }
.pd-ic { font-size: 24px; }
.pd-tit { font-size: 13.5px; font-weight: 700; }
.pd-sub { font-size: 11.5px; color: var(--text-2); line-height: 1.4; max-width: 460px; margin-top: 2px; }
.pd-actions { display: flex; gap: 8px; flex-wrap: wrap; }
.pd-actions .btn { font-size: 12.5px; padding: 8px 13px; }

/* ===== Modo Admin (esconde ferramentas avançadas do fluxo de 3 passos) ===== */
body:not(.admin) .admin-tab { display: none; }
/* abas removidas do menu (Benchmark/Laboratório/Arsenal) — some da navegação, mas o código ainda pode abri-las */
.tab[data-view="benchmark"], .tab[data-view="laboratorio"], .tab[data-view="arsenal"] { display: none !important; }
/* menu por perfil */
body[data-role="admin"] .tab[data-view="jornada"] { display: none; }        /* admin usa a HardCopy, não a Nova jornada */
body[data-role="admin"] .tab[data-view="demandas"] { display: none; }       /* admin: Demandas foi unificada dentro do Início */
body[data-role="copywriter"] .tab[data-view="minerar"] { display: inline-flex; } /* copywriter pode minerar temas avulsos */
body[data-role="copywriter"] .tab[data-view="arsenal"],
body[data-role="pos-venda"] .tab[data-view="arsenal"],
body[data-role="admin"] .tab[data-view="arsenal"] { display: inline-flex !important; } /* Arsenal: copywriter, pós-venda e admin */
/* Arsenal do copywriter é só LEITURA (ver o que funciona) — nada de subir/criar copy (senão confunde com cliente) nem botões de IA/backup */
body:not(.admin) #btn-analisar-acervo, body:not(.admin) #btn-painel, body:not(.admin) #btn-export,
body:not(.admin) #btn-upload-copy, body:not(.admin) #btn-nova { display: none; }
/* chaves/configs (IA, YouTube, ⚙️, atualizar) só pro Admin — a equipe não vê nem mexe */
body:not(.admin) #conn-strip,
body:not(.admin) #btn-settings,
body:not(.admin) #btn-refresh,
body:not(.admin) #last-refresh { display: none !important; }
#btn-admin.on { color: var(--accent); border-color: rgba(238,28,36,0.45); background: rgba(238,28,36,0.08); }

/* ===== Jornada de 3 passos ===== */
.jorn-head { display: flex; align-items: center; justify-content: space-between; gap: 14px; margin-bottom: 18px; flex-wrap: wrap; }
.jorn-steps { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.jorn-step { display: flex; align-items: center; gap: 8px; font-size: 13px; font-weight: 600; color: var(--muted); background: var(--panel-2); border: 1px solid var(--line); border-radius: 22px; padding: 7px 15px; }
.jorn-step .js-n { display: inline-flex; align-items: center; justify-content: center; width: 20px; height: 20px; border-radius: 50%; background: var(--panel-3); font-size: 11px; }
.jorn-step.active { color: #fff; background: rgba(238,28,36,0.14); border-color: rgba(238,28,36,0.4); }
.jorn-step.active .js-n { background: var(--accent); color: #fff; }
.jorn-step.done { color: var(--green); border-color: rgba(52,211,153,0.3); }
.jorn-step.done .js-n { background: rgba(52,211,153,0.2); color: var(--green); }
.jorn-intro { font-size: 14px; color: var(--text-2); line-height: 1.55; margin-bottom: 16px; max-width: 720px; }
.jorn-card { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 18px 20px; margin-top: 16px; }
.jorn-card-tit { font-size: 14px; font-weight: 700; color: var(--green); margin-bottom: 14px; }
.jorn-card label { display: flex; flex-direction: column; gap: 6px; font-size: 11px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.jorn-card input { background: var(--panel-2); border: 1px solid var(--line); border-radius: 9px; padding: 10px 12px; color: var(--text); font-size: 13.5px; font-family: var(--font); text-transform: none; letter-spacing: 0; }
.jorn-card input:focus { border-color: var(--accent); outline: none; }
.jorn-dores { margin: 14px 0; display: flex; flex-wrap: wrap; gap: 6px; align-items: center; font-size: 12px; }
.jorn-chip { font-size: 12px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 20px; padding: 4px 11px; }
.jorn-next { margin-top: 16px; }
.jorn-foot { margin-top: 18px; display: flex; gap: 10px; flex-wrap: wrap; }
.jorn-analise-top { display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; margin-bottom: 16px; }
.jorn-done { text-align: center; padding: 24px 0; }
.jorn-done-ic { display: inline-flex; align-items: center; justify-content: center; width: 60px; height: 60px; border-radius: 50%; background: rgba(52,211,153,0.16); color: var(--green); font-size: 30px; margin-bottom: 12px; }
.jorn-done h2 { font-size: 21px; }
.jorn-done p { max-width: 480px; margin: 8px auto 0; line-height: 1.5; }
.jorn-done .jorn-foot { justify-content: center; }

/* ===== Quadro de Demandas ===== */
.dem-board { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
@media (max-width: 900px) { .dem-board { grid-template-columns: 1fr 1fr; } }
@media (max-width: 520px) { .dem-board { grid-template-columns: 1fr; } }
.dem-col { background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; padding: 12px; border-top: 2px solid var(--line); }
.dem-col.dem-anl { border-top-color: #4fa3ff; } .dem-col.dem-agu { border-top-color: #f5c04a; } .dem-col.dem-val { border-top-color: var(--green); } .dem-col.dem-ref { border-top-color: var(--red); }
.dem-col-tit { font-size: 12px; font-weight: 700; margin-bottom: 10px; }
.dem-col-body { display: flex; flex-direction: column; gap: 9px; min-height: 40px; }
.dem-empty { font-size: 12px; color: var(--muted); padding: 6px 2px; }
.dem-card { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: 11px 12px; cursor: pointer; transition: .15s; }
.dem-card:hover { border-color: #3d4759; transform: translateY(-1px); }
.dem-card-nome { font-size: 13.5px; font-weight: 600; }
.dem-card-nicho { font-size: 11.5px; color: var(--muted); margin: 3px 0 8px; }
.dem-card-acoes { display: flex; gap: 6px; flex-wrap: wrap; }

/* ===== Jornada: subtítulo de serviço ===== */
.jorn-sub { font-size: 11px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .04em; color: var(--muted); margin: 16px 0 8px; }

/* ===== Dashboard do Copywriter (aba Demandas) ===== */
.cw-hello { font-size: 24px; font-family: var(--display); }
.cw-edit { background: none; border: none; color: var(--muted); cursor: pointer; font-size: 14px; }
.cw-edit:hover { color: var(--accent-2); }
.cw-sub { font-size: 13px; color: var(--text-2); margin: 4px 0 18px; }
.cw-dash { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-bottom: 14px; }
@media (max-width: 640px) { .cw-dash { grid-template-columns: 1fr 1fr; } }
.cw-tile { background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; padding: 14px 16px; }
.cw-n { font-size: 26px; font-family: var(--display); font-weight: 700; }
.cw-l { font-size: 11px; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; margin-top: 2px; }
.cw-fmt { font-size: 12.5px; color: var(--text-2); margin-bottom: 16px; display: flex; flex-wrap: wrap; gap: 6px 14px; align-items: center; }
.cw-fmt-tit { color: var(--muted); font-size: 11px; text-transform: uppercase; letter-spacing: .04em; }
.cw-fmt-item b { color: var(--green); }
.cw-conv { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; margin-bottom: 24px; }
@media (max-width: 720px) { .cw-conv { grid-template-columns: 1fr; } }
.cw-conv-col { background: var(--panel); border: 1px solid var(--line); border-radius: 11px; padding: 13px 15px; }
.cw-conv-col h4 { font-size: 12px; margin-bottom: 10px; }
.cw-chip { display: inline-block; font-size: 12px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 20px; padding: 4px 11px; margin: 0 5px 5px 0; }
.cw-dem-tit { font-size: 16px; font-weight: 700; margin-bottom: 14px; }
.dem-card-serv { font-size: 11.5px; color: var(--accent-2); margin-top: 6px; }

/* ===== Serviço múltipla escolha (jornada) ===== */
.serv-chips { display: flex; flex-wrap: wrap; gap: 8px; }
.serv-chip { background: var(--panel-2); border: 1px solid var(--line); color: var(--text-2); font-size: 13px; padding: 8px 14px; border-radius: 20px; cursor: pointer; transition: .15s; }
.serv-chip:hover { border-color: #3d4759; }
.serv-chip.on { background: rgba(238,28,36,0.14); border-color: var(--accent); color: #fff; }
.jorn-det-lbl { display: flex; flex-direction: column; gap: 6px; font-size: 11px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .04em; color: var(--muted); margin-top: 14px; }
.jorn-det-lbl input { background: var(--panel-2); border: 1px solid var(--line); border-radius: 9px; padding: 10px 12px; color: var(--text); font-size: 13.5px; font-family: var(--font); text-transform: none; letter-spacing: 0; }
.jorn-det-lbl input:focus { border-color: var(--accent); outline: none; }

/* ===== Demandas: lista com dropdown de status ===== */
.dem-list { display: flex; flex-direction: column; gap: 9px; }
.dem-row { display: flex; align-items: center; justify-content: space-between; gap: 14px; background: var(--panel); border: 1px solid var(--line); border-radius: 11px; padding: 12px 15px; flex-wrap: wrap; }
.dem-row-main { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.dem-row-nome { font-size: 14px; font-weight: 600; }
.dem-row-nicho { font-size: 12px; color: var(--muted); }
.dem-row-serv { font-size: 12px; color: var(--accent-2); }
.dem-row-resp { font-size: 11.5px; color: var(--muted); }
.cw-role { font-size: 12px; font-weight: 600; color: var(--accent-2); text-transform: uppercase; letter-spacing: 0.5px; margin-left: 4px; background: var(--panel-2); border: 1px solid var(--line); padding: 2px 8px; border-radius: 10px; font-family: var(--sans, inherit); vertical-align: middle; }
.dem-row-acoes { display: flex; align-items: center; gap: 10px; }
.dem-abrir { background: none; border: none; color: var(--accent-2); font-size: 12.5px; cursor: pointer; }
.dem-sel { border: 1px solid var(--line); border-radius: 20px; padding: 6px 12px; font-size: 12px; font-weight: 600; cursor: pointer; background: var(--panel-2); color: var(--text); }
.dem-sel:focus { outline: none; }
.dem-sel.dem-blue { border-color: rgba(79,163,255,0.5); color: #4fa3ff; }
.dem-sel.dem-amber { border-color: rgba(245,192,74,0.5); color: #f5c04a; }
.dem-sel.dem-violet { border-color: rgba(185,140,255,0.5); color: #c9a9ff; }
.dem-sel.dem-green { border-color: rgba(52,211,153,0.5); color: var(--green); }
.dem-sel.dem-red { border-color: rgba(242,85,90,0.5); color: var(--red); }
.dem-sel option { background: var(--panel-2); color: var(--text); }
/* selo read-only de status (copywriter vê quando a demanda já está com o Pós-Venda) */
.dem-sel-ro { display: inline-flex; align-items: center; gap: 6px; border: 1px dashed var(--line); border-radius: 20px; padding: 6px 12px; font-size: 12px; font-weight: 600; background: var(--panel-2); }
.dem-sel-ro.dem-amber { border-color: rgba(245,192,74,0.5); color: #f5c04a; }
.dem-sel-ro.dem-violet { border-color: rgba(185,140,255,0.5); color: #c9a9ff; }
.dem-sel-ro.dem-green { border-color: rgba(52,211,153,0.5); color: var(--green); }
.dem-sel-ro.dem-red { border-color: rgba(242,85,90,0.5); color: var(--red); }
.dem-sel-ro .ro-lock { font-size: 11px; opacity: .8; }

/* status na ficha do cliente */
.cli-demanda-bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; background: var(--panel-2); border: 1px solid var(--line); border-radius: 11px; padding: 10px 15px; margin-bottom: 16px; }
.cdb-lbl { font-size: 11px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .04em; color: var(--muted); }
.cdb-serv { font-size: 12.5px; color: var(--accent-2); margin-left: auto; }

/* ===== Badge de tipo no comentário curado ===== */
.lab-com { position: relative; }
.com-tipo { display: inline-block; font-size: 9px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .05em; padding: 2px 8px; border-radius: 20px; margin-bottom: 6px; }
.com-tipo.ct-bad { background: rgba(242,85,90,0.16); color: var(--red); }
.com-tipo.ct-warn { background: rgba(245,192,74,0.16); color: #f5c04a; }
.com-tipo.ct-ok { background: rgba(52,211,153,0.16); color: var(--green); }
.com-tipo.ct-info { background: rgba(79,163,255,0.16); color: #4fa3ff; }

/* ===== Jornada: comentário selecionável + sugestões + itens julgados ===== */
.sel-com { display: flex; gap: 10px; align-items: flex-start; cursor: pointer; }
.sel-com input { margin-top: 3px; flex: 0 0 auto; accent-color: var(--accent); width: 16px; height: 16px; }
.sel-com .sc-body { flex: 1; min-width: 0; }
.sel-com:has(input:checked) { border-color: var(--accent); background: rgba(238,28,36,0.06); }
.sug-grupo { margin-bottom: 12px; }
.sug-grupo-tit { font-size: 11px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .04em; color: var(--muted); margin-bottom: 7px; }
.sug-chips { display: flex; flex-wrap: wrap; gap: 7px; }
.sug-chip { display: inline-flex; align-items: center; gap: 7px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 20px; padding: 6px 12px; font-size: 12.5px; cursor: pointer; transition: .15s; }
.sug-chip input { accent-color: var(--accent); }
.sug-chip:has(input:checked) { border-color: var(--accent); background: rgba(238,28,36,0.12); color: #fff; }
.jorn-selres { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; margin-bottom: 16px; font-size: 12px; }
.jorn-item { border: 1px solid var(--line); border-left: 3px solid var(--line); border-radius: 10px; padding: 11px 13px; margin-bottom: 8px; }
.jorn-item.keep { border-left-color: var(--green); }
.jorn-item.drop { border-left-color: var(--red); opacity: .85; }
.ji-top { display: flex; align-items: center; gap: 9px; font-size: 13.5px; }
.jorn-item.keep .ji-ic { color: var(--green); } .jorn-item.drop .ji-ic { color: var(--red); }
.ji-pq { font-size: 12.5px; color: var(--text-2); margin-top: 5px; line-height: 1.45; padding-left: 20px; }

/* ===== Serviço com quantidade (passo 1) ===== */
.serv-list { display: flex; flex-wrap: wrap; gap: 8px; }
.serv-item { display: flex; align-items: center; gap: 8px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 22px; padding: 4px 6px 4px 4px; transition: .15s; }
.serv-item.on { border-color: var(--accent); background: rgba(238,28,36,0.1); }
.serv-item .serv-chip { display: flex; align-items: center; gap: 7px; padding: 5px 10px; border: none; background: none; cursor: pointer; font-size: 13px; color: var(--text); }
.serv-item .serv-chk { accent-color: var(--accent); width: 15px; height: 15px; }
.serv-qtd { display: flex; align-items: center; gap: 5px; font-size: 10px; }
.serv-qtd input { width: 48px; background: var(--panel); border: 1px solid var(--line); border-radius: 8px; padding: 5px 7px; color: var(--text); font-size: 13px; text-align: center; }

/* ===== Entregáveis (validação peça por peça) ===== */
.ent-resumo { font-size: 11.5px; color: var(--muted); }
.ent-list { display: flex; flex-direction: column; gap: 7px; }
.ent-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; background: var(--panel-2); border: 1px solid var(--line); border-left: 3px solid var(--line); border-radius: 9px; padding: 9px 13px; }
.ent-row.ent-validado { border-left-color: var(--green); }
.ent-row.ent-reprovado { border-left-color: var(--red); }
.ent-rot { font-size: 13px; font-weight: 500; }
.ent-acoes { display: flex; align-items: center; gap: 6px; }
.ent-btn { background: var(--panel); border: 1px solid var(--line); color: var(--text-2); font-size: 11.5px; padding: 5px 10px; border-radius: 7px; cursor: pointer; transition: .15s; }
.ent-btn:hover { border-color: #3d4759; }
.ent-btn.on.ok { background: rgba(52,211,153,0.16); border-color: var(--green); color: var(--green); }
.ent-btn.on.bad { background: rgba(242,85,90,0.16); border-color: var(--red); color: var(--red); }
.ent-del { background: transparent; border: 1px solid #5a2b2e; color: #ee9091; font-size: 11.5px; padding: 5px 10px; border-radius: 7px; cursor: pointer; transition: .15s; }
.ent-del:hover { background: rgba(242,85,90,0.12); border-color: #7a3a3d; color: #f2555a; }
.cli-dem-del { background: transparent; border: 1px solid #5a2b2e; color: #ee9091; font-size: 12px; padding: 3px 9px; border-radius: 6px; cursor: pointer; transition: .15s; }
.cli-dem-del:hover { background: rgba(242,85,90,0.12); border-color: #7a3a3d; color: #f2555a; }
.acc-del { background: none; border: none; color: var(--muted); cursor: pointer; opacity: .6; font-size: 13px; padding: 2px 6px; }
.acc-del:hover { color: var(--red); opacity: 1; }
.ent-add { margin-top: 10px; }
.ent-add input { width: 100%; background: transparent; border: 1px dashed var(--line); border-radius: 8px; padding: 8px 11px; color: var(--text); font-size: 12.5px; }
.ent-add input:focus { border-color: var(--accent); border-style: solid; outline: none; }
.dem-row-ent { font-size: 11.5px; color: var(--green); }

/* ===== Análise por fonte (laboratório) ===== */
.jorn-fontes { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin-top: 12px; }
@media (max-width: 720px) { .jorn-fontes { grid-template-columns: 1fr; } }
.jf-item { background: var(--panel-2); border: 1px solid var(--line); border-radius: 10px; padding: 11px 13px; }
.jf-lbl { font-size: 10.5px; font-family: var(--mono); text-transform: uppercase; letter-spacing: .04em; color: var(--muted); margin-bottom: 5px; }
.jf-txt { font-size: 12.5px; color: var(--text-2); line-height: 1.45; }

/* ===== Seleção mais bonita (passo 2) — Parte C ===== */
.sug-grupo { margin-bottom: 16px; }
.sug-grupo-tit { font-size: 12px; font-weight: 700; color: var(--accent-2); margin-bottom: 9px; }
.sug-chip { position: relative; }
.sug-chip input { position: absolute; opacity: 0; pointer-events: none; }
.sug-chip { padding: 9px 15px; border-radius: 10px; border: 1.5px solid var(--line); background: var(--panel-2); transition: .15s; }
.sug-chip:hover { border-color: #3d4759; }
.sug-chip:has(input:checked) { border-color: var(--accent); background: rgba(238,28,36,0.12); color: #fff; box-shadow: 0 0 0 1px rgba(238,28,36,0.3); }
.sug-chip:has(input:checked) span::before { content: '✓ '; color: var(--accent); font-weight: 700; }
.lab-coments .sel-com { padding: 12px 14px; border-radius: 11px; }
.sel-com input { display: none; }
.sel-com::before { content: '○'; color: var(--muted); font-size: 16px; margin-top: 1px; flex: 0 0 auto; }
.sel-com:has(input:checked)::before { content: '✓'; color: var(--accent); font-weight: 700; }
.sel-com:has(input:checked) { border-color: var(--accent); background: rgba(238,28,36,0.07); }

/* ===== Entregáveis: ver copy ===== */
.ent-main { display: flex; align-items: center; justify-content: space-between; width: 100%; gap: 10px; }
.ent-left { display: flex; align-items: center; gap: 9px; flex-wrap: wrap; }
.ent-tipo { display: inline-flex; align-items: center; gap: 4px; font-size: 10.5px; font-weight: 700; text-transform: uppercase; letter-spacing: .03em; padding: 3px 8px; border-radius: 20px; background: var(--panel); border: 1px solid var(--line); color: var(--muted); white-space: nowrap; }
.ent-tipo-vsl { color: #4fa3ff; border-color: rgba(79,163,255,.45); }
.ent-tipo-ssl { color: #c9a9ff; border-color: rgba(185,140,255,.45); }
.ent-tipo-pgina { color: #34d399; border-color: rgba(52,211,153,.45); }
.ent-tipo-anncio { color: #f5c04a; border-color: rgba(245,192,74,.45); }
.ent-tipo-episdio { color: #ff8a5c; border-color: rgba(255,138,92,.45); }
.ent-tipo-email { color: #7dd3fc; border-color: rgba(125,211,252,.45); }
.ent-tipos-resumo { font-size: 12px; color: var(--text-2); margin: 4px 0 10px; padding: 8px 12px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 9px; }
/* Blocos (validação por parte da peça — início/desenvolvimento/…) */
.blk-wrap { flex-basis: 100%; margin-top: 10px; padding: 10px 12px; background: var(--panel); border: 1px dashed var(--line); border-radius: 9px; display: flex; flex-direction: column; gap: 7px; }
.blk-tit { font-size: 11.5px; color: var(--muted); margin-bottom: 2px; }
.blk-row { border: 1px solid var(--line); border-left: 3px solid var(--line); border-radius: 8px; padding: 8px 11px; background: var(--panel-2); }
.blk-row.blk-funcionou { border-left-color: var(--green); }
.blk-row.blk-nao_funcionou { border-left-color: var(--red); }
.blk-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.blk-tipo { display: inline-flex; align-items: center; gap: 5px; font-size: 11px; font-weight: 700; padding: 3px 9px; border-radius: 20px; background: var(--panel); border: 1px solid var(--line); color: var(--text-2); white-space: nowrap; }
/* Etapa Kishotenketsu — a espinha da copy (KI → SHO → TEN → KETSU) */
.blk-etapa { display: inline-flex; align-items: center; font-family: var(--mono); font-size: 10px; font-weight: 800; letter-spacing: .6px; padding: 3px 8px; border-radius: 6px; margin-right: 6px; flex: 0 0 auto; }
.blk-etapa.et-KI { background: rgba(238,28,36,0.16); color: #ff8f93; }
.blk-etapa.et-SHO { background: rgba(79,163,255,0.16); color: #9ecbff; }
.blk-etapa.et-TEN { background: rgba(245,192,74,0.16); color: var(--yellow); }
.blk-etapa.et-KETSU { background: rgba(52,211,153,0.16); color: var(--green); }
.blk-tipo-incio { color: #ff8a5c; border-color: rgba(255,138,92,.5); }
.blk-tipo-desenvolvimento { color: #4fa3ff; border-color: rgba(79,163,255,.45); }
.blk-tipo-virada { color: #c9a9ff; border-color: rgba(185,140,255,.45); }
.blk-tipo-oferta { color: #f5c04a; border-color: rgba(245,192,74,.45); }
.blk-tipo-conclusao, .blk-tipo-concluso { color: #34d399; border-color: rgba(52,211,153,.45); }
.blk-prev { font-size: 12px; color: var(--muted); line-height: 1.45; margin-top: 6px; }
.blk-acoes { display: flex; gap: 6px; }
.blk-btn { font-size: 11.5px; padding: 4px 10px; border-radius: 7px; border: 1px solid var(--line); background: var(--panel); color: var(--text-2); cursor: pointer; }
.blk-btn:hover { border-color: var(--accent-2); }
.blk-btn.on.ok { background: rgba(52,211,153,.16); border-color: var(--green); color: var(--green); }
.blk-btn.on.bad { background: rgba(242,85,90,.16); border-color: var(--red); color: var(--red); }
.blk-ro { font-size: 11px; font-weight: 600; padding: 3px 10px; border-radius: 20px; border: 1px dashed var(--line); color: var(--muted); }
.blk-ro.blk-funcionou { color: var(--green); border-color: rgba(52,211,153,.5); }
.blk-ro.blk-nao_funcionou { color: var(--red); border-color: rgba(242,85,90,.5); }
/* rascunho (marcado, ainda não salvo) */
.blk-row.staged, .ent-row.staged { outline: 1px dashed var(--accent-2); outline-offset: 1px; }
.staged-tag { font-size: 10px; font-weight: 700; text-transform: uppercase; letter-spacing: .04em; color: var(--accent-2); background: rgba(255,138,92,.12); border: 1px solid rgba(255,138,92,.4); padding: 2px 7px; border-radius: 20px; }
/* login / setup (deploy) */
.login-gate { position: fixed; inset: 0; z-index: 9999; display: flex; align-items: center; justify-content: center; padding: 20px;
  background:
    radial-gradient(1100px 520px at 50% -10%, rgba(238,28,36,0.20), transparent 60%),
    radial-gradient(700px 500px at 90% 110%, rgba(238,28,36,0.10), transparent 55%),
    #0a0b0e; }
.login-card { width: 100%; max-width: 380px; background: linear-gradient(180deg, rgba(28,30,36,0.96), rgba(18,20,25,0.96)); border: 1px solid var(--line); border-top: 2px solid var(--accent); border-radius: 18px; padding: 30px 28px; display: flex; flex-direction: column; gap: 13px; box-shadow: 0 30px 80px -20px rgba(0,0,0,0.7), 0 0 0 1px rgba(255,255,255,0.02) inset; }
.login-logo-img { height: 52px; width: auto; max-width: 240px; object-fit: contain; align-self: flex-start; margin-bottom: 4px; filter: drop-shadow(0 4px 14px rgba(238,28,36,0.35)); }
.login-logo { font-family: var(--display); font-size: 15px; color: var(--accent-2); }
.login-tit { font-family: var(--display); font-size: 26px; margin-top: 2px; }
/* wizard de novo cliente: passo escondido + campos opcionais */
.wiz-step[hidden] { display: none !important; }
.ing-opcional { margin-top: 12px; border: 1px solid var(--line); border-radius: 9px; padding: 9px 13px; }
.ing-opcional summary { cursor: pointer; font-size: 12.5px; color: var(--muted); list-style: none; }
.ing-opcional summary::-webkit-details-marker { display: none; }
.ing-opcional summary::before { content: '＋ '; color: var(--accent-2); }
.ing-opcional[open] summary::before { content: '－ '; }
.ing-opcional summary:hover { color: var(--text-2); }
.login-sub { font-size: 12.5px; color: var(--muted); line-height: 1.5; margin: -4px 0 4px; }
.login-card input { border: 1px solid var(--line); border-radius: 9px; padding: 11px 13px; font-size: 14px; background: var(--panel-2); color: var(--text); }
.login-card input:focus { outline: none; border-color: var(--accent-2); }
.login-card .btn { margin-top: 4px; padding: 11px; }
.login-erro { font-size: 12.5px; color: var(--red); min-height: 16px; }
.user-box { display: inline-flex; align-items: center; gap: 7px; font-size: 12.5px; }
.btn-linky { background: none; border: none; color: var(--accent-2); cursor: pointer; font-size: 12px; padding: 2px 4px; }
.btn-linky:hover { text-decoration: underline; }
/* resumo de demandas na ficha do cliente */
.cli-dem-resumo { margin: 4px 0 16px; padding: 12px 14px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; }
.cli-dem-tit { font-size: 13px; font-weight: 700; margin-bottom: 10px; }
.cli-dem-list { display: flex; flex-direction: column; gap: 7px; }
.cli-dem-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 12.5px; padding: 7px 10px; background: var(--panel); border: 1px solid var(--line); border-radius: 8px; }
.cli-dem-nome { font-weight: 600; }
.cli-dem-abrir { margin-left: auto; background: none; border: none; color: var(--accent-2); font-size: 12px; cursor: pointer; }
.dem-pend { font-size: 11px; color: #f5c04a; background: rgba(245,192,74,.12); border: 1px solid rgba(245,192,74,.35); padding: 2px 8px; border-radius: 20px; }
.pos-vazio { font-size: 12.5px; color: var(--muted); padding: 10px 14px; border: 1px dashed var(--line); border-radius: 10px; margin-bottom: 8px; }
/* equipe / usuários (deploy) */
.equipe { background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; padding: 14px; }
.equipe-list { display: flex; flex-direction: column; gap: 6px; margin: 8px 0 12px; }
.equipe-row { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; font-size: 12.5px; padding: 8px 11px; background: var(--panel); border: 1px solid var(--line); border-radius: 8px; }
.equipe-nome { font-weight: 600; }
.equipe-mail { font-size: 11.5px; }
.equipe-acoes { margin-left: auto; display: flex; gap: 8px; }
.equipe-add { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; }
.equipe-add input, .equipe-add select { border: 1px solid var(--line); border-radius: 8px; padding: 8px 10px; font-size: 12.5px; background: var(--panel); color: var(--text); }
.equipe-add input { flex: 1; min-width: 120px; }
.equipe-editrow input, .equipe-editrow select { border: 1px solid var(--accent-2); border-radius: 7px; padding: 6px 9px; font-size: 12.5px; background: var(--panel); color: var(--text); }
.equipe-editrow input { flex: 1; min-width: 110px; }
/* auditoria (Fase 7) */
.aud-resumo { display: flex; flex-wrap: wrap; gap: 8px; margin: 10px 0 14px; }
.aud-quem { font-size: 12px; padding: 5px 11px; border-radius: 20px; background: var(--panel-2); border: 1px solid var(--line); }
.aud-toolbar { display: flex; gap: 10px; align-items: center; margin-bottom: 12px; flex-wrap: wrap; }
.aud-toolbar select { border: 1px solid var(--line); border-radius: 8px; padding: 7px 12px; font-size: 12.5px; background: var(--panel-2); color: var(--text); }
.aud-list { display: flex; flex-direction: column; gap: 4px; }
.aud-row { display: flex; align-items: baseline; gap: 10px; padding: 8px 12px; border-radius: 8px; background: var(--panel-2); border: 1px solid var(--line); font-size: 12.5px; }
.aud-row:hover { border-color: var(--accent-2); }
.aud-quando { font-family: var(--mono); font-size: 11px; color: var(--muted); white-space: nowrap; min-width: 74px; }
.aud-ic { font-size: 14px; }
.aud-txt { line-height: 1.5; }
.aud-ent { font-family: var(--mono); font-size: 11px; color: var(--accent-2); background: var(--panel); padding: 1px 6px; border-radius: 5px; }
.aud-diff { font-size: 11.5px; }
.aud-de { color: var(--muted); text-decoration: line-through; }
.aud-para { color: var(--text); font-weight: 600; }
/* aprovação do cliente (Fase 5 — eixo separado da performance) */
.dem-aprov-bar { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; background: var(--panel-2); border: 1px solid var(--line); border-radius: 11px; padding: 10px 15px; margin: 4px 0 16px; }
.dab-lbl { font-size: 12px; font-weight: 700; }
.dab-hint { font-size: 11.5px; color: var(--muted); }
.aprov-sel { border: 1px solid var(--line); border-radius: 20px; padding: 6px 12px; font-size: 12px; font-weight: 600; cursor: pointer; background: var(--panel); color: var(--text); }
.aprov-sel:focus { outline: none; }
.aprov-pill { font-size: 11.5px; font-weight: 600; padding: 3px 10px; border-radius: 20px; border: 1px solid var(--line); background: var(--panel-2); }
.aprov-muted { color: var(--muted); }
.aprov-green, .aprov-sel.aprov-green { color: var(--green); border-color: rgba(52,211,153,.5); }
.aprov-amber, .aprov-sel.aprov-amber { color: #f5c04a; border-color: rgba(245,192,74,.5); }
.aprov-red, .aprov-sel.aprov-red { color: var(--red); border-color: rgba(242,85,90,.5); }
.aprov-sel option { background: var(--panel); color: var(--text); }
.cw-eixos { font-size: 12px; color: var(--text-2); background: var(--panel-2); border: 1px solid var(--line); border-radius: 10px; padding: 9px 13px; margin: 10px 0 4px; line-height: 1.5; }
/* edição de bloco (autor) */
.dem-sub-meta { font-size: 12px; color: var(--muted); margin-top: 5px; }
.blk-mini { font-size: 11px; padding: 3px 8px; border-radius: 6px; border: 1px solid var(--line); background: var(--panel); color: var(--muted); cursor: pointer; }
.blk-mini:hover { border-color: var(--accent-2); color: var(--text-2); }
.blk-add { margin-top: 4px; align-self: flex-start; font-size: 12px; padding: 6px 12px; border-radius: 8px; border: 1px dashed var(--line); background: transparent; color: var(--accent-2); cursor: pointer; }
.blk-add:hover { border-color: var(--accent-2); }
.blk-row.removed { opacity: .55; }
.blk-row.removed .blk-prev { text-decoration: line-through; }
.staged-tag.del { color: var(--red); background: rgba(242,85,90,.12); border-color: rgba(242,85,90,.4); }
.blk-editor { display: flex; flex-direction: column; gap: 8px; border-color: var(--accent-2) !important; }
.blk-ed-row { display: flex; gap: 8px; flex-wrap: wrap; }
.blk-ed-tipo { border: 1px solid var(--line); border-radius: 7px; padding: 6px 10px; font-size: 12px; font-weight: 600; background: var(--panel); color: var(--text); }
.blk-ed-rot { flex: 1; min-width: 160px; border: 1px solid var(--line); border-radius: 7px; padding: 6px 10px; font-size: 12px; background: var(--panel); color: var(--text); }
.blk-ed-txt { width: 100%; border: 1px solid var(--line); border-radius: 8px; padding: 9px 11px; font-size: 12.5px; line-height: 1.5; background: var(--panel); color: var(--text); resize: vertical; font-family: inherit; }
.blk-ed-acoes { display: flex; gap: 8px; justify-content: flex-end; }
/* Diretor — inteligência de blocos (Fase 6) */
.dir-blk { margin-top: 14px; padding: 14px; border: 1px solid var(--line); border-radius: 12px; background: var(--panel-2); }
.dir-blk-tit { font-size: 13.5px; font-weight: 700; margin-bottom: 10px; }
.dir-blk-empty { margin-top: 14px; padding: 12px 14px; border: 1px dashed var(--line); border-radius: 10px; font-size: 12.5px; color: var(--muted); }
.dbk-taxas { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 12px; }
.dbk-taxa { font-size: 12px; padding: 4px 10px; border-radius: 20px; background: var(--panel); border: 1px solid var(--line); }
.dbk-sec { margin-top: 10px; }
.dbk-sec-tit { font-size: 12.5px; font-weight: 600; margin-bottom: 7px; }
.dbk-sec-tit.ok { color: var(--green); }
.dbk-sec-tit.bad { color: var(--red); }
.dbk-list { display: flex; flex-direction: column; gap: 8px; }
.dbk-card { border: 1px solid var(--line); border-left: 3px solid var(--line); border-radius: 9px; padding: 9px 12px; background: var(--panel); }
.dbk-card.win { border-left-color: var(--green); }
.dbk-card.lose { border-left-color: var(--red); }
.dbk-card-top { display: flex; align-items: center; justify-content: space-between; gap: 10px; margin-bottom: 5px; flex-wrap: wrap; }
.dbk-fonte { font-size: 11px; color: var(--muted); }
.dbk-txt { font-size: 12.5px; color: var(--text-2); line-height: 1.5; white-space: pre-wrap; max-height: 130px; overflow-y: auto; }
/* barra de salvar (sticky) */
.val-savebar { position: sticky; bottom: 12px; margin-top: 16px; display: flex; align-items: center; justify-content: space-between; gap: 14px; flex-wrap: wrap; background: var(--panel-2); border: 1px solid var(--accent-2); border-radius: 12px; padding: 12px 16px; box-shadow: 0 8px 26px rgba(0,0,0,.35); z-index: 5; }
.vsb-txt { font-size: 13px; }
.vsb-acoes { display: flex; gap: 10px; align-items: center; }
/* dashboard: desempenho por bloco do copywriter */
.cw-blocos { margin: 14px 0 4px; }
.cw-blocos-tit { font-size: 13px; font-weight: 600; margin-bottom: 10px; }
.cw-blk-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; }
.cw-blk-item { background: var(--panel-2); border: 1px solid var(--line); border-radius: 11px; padding: 11px 13px; }
.cw-blk-item.forte { border-color: rgba(52,211,153,.45); }
.cw-blk-item.fraco { border-color: rgba(242,85,90,.45); }
.cw-blk-top { display: flex; align-items: center; justify-content: space-between; font-size: 12.5px; font-weight: 600; }
.cw-blk-top b { font-size: 15px; font-family: var(--display); }
.cw-blk-bar { height: 6px; background: var(--line); border-radius: 6px; overflow: hidden; margin: 8px 0 6px; }
.cw-blk-fill { height: 100%; background: linear-gradient(90deg, var(--red), var(--accent-2), var(--green)); }
.cw-blk-item.forte .cw-blk-fill { background: var(--green); }
.cw-blk-item.fraco .cw-blk-fill { background: var(--red); }
.cw-blk-sub { font-size: 11px; color: var(--muted); }
.ent-ver { background: none; border: none; color: var(--accent-2); font-size: 11px; cursor: pointer; padding: 0; }
.ent-copy { flex-basis: 100%; margin-top: 8px; background: var(--panel); border: 1px solid var(--line); border-radius: 8px; padding: 11px 13px; font-size: 12px; color: var(--text-2); line-height: 1.5; white-space: pre-wrap; max-height: 260px; overflow-y: auto; }
.ent-row { flex-wrap: wrap; }

/* ===== Perfis / seletor de usuário (Fase 1) ===== */
.user-switch { display: inline-flex; align-items: center; gap: 6px; background: var(--panel-2); border: 1px solid var(--line); border-radius: 10px; padding: 5px 10px; font-size: 12.5px; color: var(--text-2); }
.user-switch select { background: none; border: none; color: var(--text); font-size: 12.5px; font-weight: 600; cursor: pointer; }
.user-switch select:focus { outline: none; }
/* Pós-Venda não cria jornadas; foca na fila de validação */
body[data-role="pos-venda"] .tab[data-view="jornada"] { display: none; }
.ent-status-ro { text-transform: none; }
/* Minerar — download das dores do YouTube */
.resumo-head-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.resumo-tit-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.yt-grid-head { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 2px 2px 6px; }

/* ===== Cockpit do Admin (Início) + Hard Copy ===== */
.cockpit-hero { display: flex; justify-content: space-between; align-items: flex-start; gap: 16px; flex-wrap: wrap; margin-bottom: 16px; }
.cockpit-hero .btn { flex: none; }
.cockpit-demstats { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 12px; }
.cds-item { background: var(--panel); border: 1px solid var(--line); border-radius: 999px; padding: 6px 14px; font-size: 12.5px; color: var(--muted); }
.cds-item b { color: var(--text); font-family: var(--display); font-size: 15px; }
/* placar dos copywriters */
.cwr-wrap { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; margin-top: 12px; }
.cwr-card { background: linear-gradient(180deg, var(--panel), #12161e); border: 1px solid var(--line); border-radius: 14px; padding: 14px; }
.cwr-card.best { border-color: var(--accent); box-shadow: 0 0 0 1px var(--accent) inset, 0 6px 20px rgba(238,28,36,0.18); }
.cwr-card.alerta { border-color: #f5c04a55; }
.cwr-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 10px; }
.cwr-nome { font-weight: 700; font-size: 14px; }
.cwr-badge { font-size: 11px; font-weight: 700; color: var(--accent-2); background: rgba(238,28,36,0.12); border-radius: 999px; padding: 3px 9px; white-space: nowrap; }
.cwr-resultado { text-align: center; background: rgba(52,211,153,0.10); border: 1px solid rgba(52,211,153,0.25); border-radius: 10px; padding: 8px; margin-bottom: 8px; }
.cwr-resultado b { display: block; font-family: var(--display); font-size: 26px; line-height: 1; color: var(--green); }
.cwr-resultado span { font-size: 11px; color: var(--muted); }
.cwr-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; }
/* home do copywriter: hero da taxa de resultado */
.cw-hero-res { display: flex; align-items: center; justify-content: space-between; gap: 16px; flex-wrap: wrap; background: linear-gradient(135deg, rgba(52,211,153,0.12), rgba(238,28,36,0.06)); border: 1px solid rgba(52,211,153,0.25); border-radius: 16px; padding: 16px 20px; margin-bottom: 14px; }
.chr-big { display: flex; align-items: center; gap: 14px; }
.chr-big b { font-family: var(--display); font-size: 46px; font-weight: 800; line-height: 1; color: var(--green); }
.chr-big span { display: flex; flex-direction: column; font-weight: 700; font-size: 15px; }
.chr-big small { font-weight: 400; font-size: 12px; color: var(--muted); margin-top: 3px; }
.cw-ver-arsenal { flex: none; }
/* desempenho do pós-venda */
.pv-tiles { display: grid; grid-template-columns: repeat(auto-fill, minmax(170px, 1fr)); gap: 10px; margin-top: 10px; }
.pv-tile { display: flex; align-items: center; gap: 10px; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 12px 14px; }
.pv-ic { font-size: 18px; }
.pv-n { font-family: var(--display); font-size: 20px; font-weight: 800; line-height: 1; }
.pv-l { font-size: 11.5px; color: var(--muted); margin-top: 2px; }
.cwr-m { text-align: center; background: rgba(255,255,255,0.03); border-radius: 9px; padding: 8px 4px; }
.cwr-m b { display: block; font-family: var(--display); font-size: 18px; line-height: 1; }
.cwr-m span { font-size: 10px; color: var(--muted); }
.cwr-m.pend b { color: #f5c04a; }
.atencao-wrap { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
.atencao-row { display: flex; align-items: center; gap: 12px; background: rgba(245,192,74,0.08); border: 1px solid rgba(245,192,74,0.28); border-radius: 11px; padding: 10px 14px; }
.atencao-motivo { color: #f5c04a; font-size: 12.5px; font-weight: 600; }
/* nicho × copywriter — cards */
.nc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; margin-top: 12px; }
.nc-card { background: linear-gradient(180deg, var(--panel), #12161e); border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; }
.nc-card-top { display: flex; justify-content: space-between; align-items: baseline; }
.nc-card-nicho { font-weight: 700; font-size: 14px; }
.nc-card-taxa { font-family: var(--display); font-weight: 800; font-size: 22px; color: var(--green); }
.nc-card-copy { font-size: 13px; color: var(--muted); margin: 6px 0 8px; }
.nc-card-copy b { color: var(--accent-2); }
.nc-card-bar { height: 8px; background: rgba(255,255,255,0.06); border-radius: 999px; overflow: hidden; }
.nc-card-fill { height: 100%; background: linear-gradient(90deg, var(--accent), var(--green)); border-radius: 999px; }
.nc-card-sub { font-size: 11px; color: var(--muted); margin-top: 6px; }
/* nicho × copywriter (legado) */
.nc-wrap { display: flex; flex-direction: column; gap: 6px; margin-top: 10px; }
.nc-row { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; background: var(--panel); border: 1px solid var(--line); border-radius: 11px; padding: 10px 14px; }
.nc-nicho { font-weight: 700; font-size: 13.5px; }
.nc-copy { font-size: 12.5px; color: var(--muted); }
.nc-taxa { font-family: var(--display); font-weight: 800; color: var(--green); font-size: 15px; }
/* cards de cliente nos insights */
.ins-cli-wrap { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 10px; margin-top: 10px; }
.ins-cli-card { text-align: left; background: linear-gradient(180deg, var(--panel), #12161e); border: 1px solid var(--line); border-radius: 12px; padding: 12px 13px; cursor: pointer; transition: 0.15s; color: inherit; font: inherit; }
.ins-cli-card:hover { border-color: var(--accent); transform: translateY(-1px); }
.icc-top { display: flex; justify-content: space-between; align-items: center; gap: 8px; margin-bottom: 8px; }
.icc-nome { font-weight: 700; font-size: 13.5px; }
.icc-metrics { display: flex; gap: 12px; font-size: 12px; color: var(--muted); }
/* wizard: import de cópia do cliente (CRM) */
.wiz-copyresp { width: 100%; background: var(--panel); border: 1px solid var(--line); border-radius: 9px; padding: 9px 12px; color: var(--text); font: inherit; }
.wiz-simnao { display: flex; gap: 10px; margin-bottom: 10px; }
.wiz-import-done { font-size: 13px; margin-bottom: 10px; }
.wiz-pecas { display: flex; flex-direction: column; gap: 8px; }
.wiz-peca { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; background: var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: 9px 13px; }
.wiz-peca .wp-left { display: flex; align-items: center; gap: 8px; }
.wiz-peca .wp-rot { font-weight: 600; font-size: 13px; }
.wp-acoes { display: flex; gap: 6px; }
.wp-btn { background: none; border: 1px solid var(--line); border-radius: 8px; padding: 6px 12px; font-size: 12.5px; font-weight: 700; cursor: pointer; color: var(--muted); }
.wp-btn.on.ok { background: rgba(52,211,153,0.15); border-color: var(--green); color: var(--green); }
.wp-btn.on.bad { background: rgba(238,28,36,0.15); border-color: var(--accent); color: var(--accent-2); }
/* VSL no import: validação por bloco */
.wiz-peca-blk { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: 10px 13px; }
.wiz-peca-head { display: flex; align-items: center; gap: 8px; margin-bottom: 8px; }
.wiz-peca-head .wp-rot { font-weight: 700; font-size: 13.5px; }
.wiz-blks { display: flex; flex-direction: column; gap: 6px; }
.wiz-blk { display: flex; align-items: center; justify-content: space-between; gap: 10px; background: rgba(255,255,255,0.03); border: 1px solid var(--line); border-radius: 8px; padding: 7px 11px; }
.wiz-blk-tit { font-size: 12.5px; font-weight: 600; }
/* wizard: demandas pré-existentes */
.wiz-dem-list { display: flex; flex-direction: column; gap: 6px; margin-bottom: 10px; }
.wiz-dem-row { display: flex; align-items: center; gap: 10px; background: var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px; }
.wiz-dem-row .wdr-tit { font-weight: 600; font-size: 13px; flex: 1; }
.wiz-dem-row .wdr-copy { font-size: 12px; color: var(--muted); }
.wiz-dem-row .wdr-x { background: none; border: none; color: var(--muted); cursor: pointer; font-size: 14px; }
.wiz-dem-row .wdr-x:hover { color: var(--accent); }
.wiz-dem-add { display: flex; gap: 8px; }
.wiz-dem-add input { flex: 1; }
.wiz-dem-add input, .wiz-dem-add select { background: var(--panel); border: 1px solid var(--line); border-radius: 9px; padding: 8px 11px; color: var(--text); font: inherit; }
/* copywriter em destaque na ficha do cliente */
.cli-copy-head { font-size: 15px; font-weight: 700; margin-bottom: 12px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.cli-copy-chip { background: rgba(203,178,255,0.14); color: #cbb2ff; border: 1px solid rgba(203,178,255,0.35); border-radius: 999px; padding: 4px 14px; font-size: 14px; }
.cli-copy-strong { font-weight: 700 !important; color: #cbb2ff !important; }
.cli-copy-vazio { color: var(--muted); font-weight: 600; }
/* diretor estratégico — cliente identificado */
.dir-cli-chip { background: rgba(203,178,255,0.10); border: 1px solid rgba(203,178,255,0.28); border-radius: 10px; padding: 9px 13px; font-size: 13px; margin-bottom: 10px; }
/* timeline do processo da demanda */
.dem-timeline { display: flex; align-items: center; gap: 4px; margin: 14px 0; overflow-x: auto; padding: 4px 2px; }
.dt-step { display: flex; flex-direction: column; align-items: center; gap: 4px; flex: none; min-width: 84px; opacity: 0.45; }
.dt-step.done, .dt-step.now { opacity: 1; }
.dt-ic { width: 40px; height: 40px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-size: 18px; background: rgba(255,255,255,0.05); border: 2px solid var(--line); }
.dt-step.done .dt-ic { border-color: var(--green); background: rgba(52,211,153,0.14); }
.dt-step.now .dt-ic { border-color: var(--accent); background: rgba(238,28,36,0.16); box-shadow: 0 0 0 4px rgba(238,28,36,0.12); }
.dt-lbl { font-size: 11px; text-align: center; font-weight: 600; }
.dt-line { flex: 1; height: 3px; min-width: 20px; background: var(--line); border-radius: 2px; }
.dt-line.done { background: var(--green); }
/* CTA grande de subir copy */
.dem-upload-cta { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; background: rgba(238,28,36,0.07); border: 1px dashed rgba(238,28,36,0.4); border-radius: 14px; padding: 16px 18px; margin: 6px 0 14px; }
.dem-upload-cta .duc-txt { flex: 1; min-width: 240px; font-size: 13px; }
.dem-upload-cta .btn { flex: none; }
.pos-resolvidas { margin-top: 14px; }
.pos-resolvidas > summary { cursor: pointer; color: var(--muted); font-size: 13px; padding: 6px 0; }
/* confirmação de envio da copy */
.envio-confirm { max-width: 640px; margin: 30px auto; text-align: center; background: linear-gradient(180deg, var(--panel), #12161e); border: 1px solid var(--line); border-radius: 18px; padding: 30px 28px; }
.envio-confirm .ec-ic { font-size: 40px; }
.envio-confirm h2 { margin: 8px 0 4px; }
.ec-resumo { color: var(--accent-2); font-weight: 700; margin: 6px 0 14px; }
.ec-list { display: flex; flex-direction: column; gap: 6px; text-align: left; margin-bottom: 14px; }
.ec-item { display: flex; align-items: center; gap: 8px; background: rgba(255,255,255,0.03); border: 1px solid var(--line); border-radius: 10px; padding: 8px 12px; }
.ec-rot { font-weight: 600; font-size: 13.5px; }
.ec-acoes { display: flex; gap: 10px; justify-content: center; margin-top: 8px; }
.btn.btn-lg { font-size: 15px; padding: 12px 22px; }
/* dossiê no fim da jornada */
.jorn-dossie { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; justify-content: center; background: rgba(238,28,36,0.07); border: 1px dashed rgba(238,28,36,0.35); border-radius: 14px; padding: 16px 18px; margin: 14px 0; }
.jorn-dossie .jd-txt { flex: 1; min-width: 240px; text-align: left; font-size: 13px; }
/* copies de cliente dentro da lista do Arsenal */
.peca-baixar { background: var(--accent); color: #fff; border: none; border-radius: 8px; padding: 6px 12px; font-size: 12px; font-weight: 700; cursor: pointer; white-space: nowrap; flex: none; }
.peca-baixar:hover { filter: brightness(1.1); }
.peca-copy { white-space: pre-wrap; font-size: 12.5px; line-height: 1.5; color: var(--muted); background: rgba(0,0,0,0.25); border-radius: 9px; padding: 12px 14px; margin-top: 8px; max-height: 320px; overflow: auto; }
/* painel de inteligência em tempo real */
.painel-cats-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.prt-win { cursor: pointer; }
.prt-win:hover { color: var(--accent-2); }
/* ações destacadas na linha da demanda (upload / validar) */
.dem-abrir-cw, .dem-abrir-pos { background: var(--accent); color: #fff; border: none; border-radius: 9px; padding: 8px 14px; font-weight: 700; font-size: 12.5px; cursor: pointer; white-space: nowrap; }
.dem-abrir-cw:hover, .dem-abrir-pos:hover { filter: brightness(1.1); }
/* tarefa pendente: botão pulsando */
.dem-pulse { animation: demPulse 1.6s ease-in-out infinite; }
@keyframes demPulse { 0%, 100% { box-shadow: 0 0 0 0 rgba(238,28,36,0.55); } 50% { box-shadow: 0 0 0 7px rgba(238,28,36,0); } }
/* cliente separado da demanda na linha (clareza) */
.dem-row-cli { font-weight: 700; font-size: 13px; background: rgba(203,178,255,0.12); color: #cbb2ff; border-radius: 8px; padding: 2px 9px; }
.dem-row-main .dem-row-nome { font-weight: 600; }
/* aba Início do Pós-Venda (visão geral) — só ele vê; some pra todo mundo por padrão */
.pv-tab { display: none; }
body[data-role="pos-venda"] .pv-tab { display: inline-flex; }
/* ===== Vendedor (vitrine, só leitura): Início(vitrine) · Clientes · Mercados · Arsenal ===== */
.vend-tab { display: none; }
body[data-role="vendedor"] .vend-tab { display: inline-flex; }
body[data-role="vendedor"] .tab[data-view="demandas"],
body[data-role="vendedor"] .tab[data-view="jornada"] { display: none; }
body[data-role="vendedor"] .tab[data-view="mercados"],
body[data-role="vendedor"] .tab[data-view="arsenal"] { display: inline-flex !important; }
/* vendedor é só leitura: some com criar/editar/excluir */
body[data-role="vendedor"] #btn-novo-cliente,
body[data-role="vendedor"] .cli-acoes,
body[data-role="vendedor"] #btn-upload-copy,
body[data-role="vendedor"] #btn-nova,
body[data-role="vendedor"] .btn-mini-add,
body[data-role="vendedor"] #btn-cli-op { display: none !important; }
/* vitrine do vendedor */
.vs-hero { background: radial-gradient(120% 140% at 0% 0%, rgba(238,28,36,0.16), transparent 60%), linear-gradient(180deg, var(--panel), #12161e); border: 1px solid var(--line); border-radius: 20px; padding: 28px 26px; }
.vs-hero-tit { font-family: var(--display); font-size: 26px; font-weight: 800; }
.vs-hero-sub { color: var(--muted); margin: 4px 0 18px; }
.vend-busca { width: 100%; background: rgba(0,0,0,0.25); border: 1px solid var(--line); border-radius: 12px; padding: 13px 16px; color: var(--text); font: inherit; font-size: 15px; margin: 4px 0 16px; }
.vend-busca:focus { outline: none; border-color: var(--accent); }
.vs-big { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 14px; }
/* cards de resultado da busca (cliente + gráfico) */
.vs-cli-wrap { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px; margin-top: 10px; }
.vs-cli-busca { display: flex; align-items: center; gap: 14px; background: linear-gradient(180deg, var(--panel), #12161e); border: 1px solid var(--line); border-radius: 14px; padding: 14px; cursor: pointer; transition: 0.15s; }
.vs-cli-busca:hover { border-color: var(--accent); transform: translateY(-1px); }
.vs-cli-donut { flex: none; }
.vs-cli-nome { font-weight: 700; font-size: 15px; }
.vs-cli-nicho { font-size: 12.5px; color: var(--accent-2); font-weight: 600; margin: 2px 0; }
.vs-cli-sub { font-size: 11.5px; color: var(--muted); }
.vs-big-item { text-align: center; background: rgba(255,255,255,0.03); border: 1px solid var(--line); border-radius: 14px; padding: 16px 10px; }
.vs-big-n { font-family: var(--display); font-size: 38px; font-weight: 800; line-height: 1; color: var(--green); }
.vs-big-l { font-size: 12px; color: var(--muted); margin-top: 6px; }
.vs-merc-wrap { display: flex; flex-direction: column; gap: 12px; margin-top: 10px; }
.vs-merc { background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 12px 16px; }
.vs-merc-top { display: flex; justify-content: space-between; align-items: baseline; }
.vs-merc-nome { font-weight: 700; font-size: 15px; }
.vs-merc-taxa { font-family: var(--display); font-weight: 800; font-size: 20px; color: var(--green); }
.vs-bar { height: 10px; background: rgba(255,255,255,0.06); border-radius: 999px; overflow: hidden; margin: 8px 0 6px; }
.vs-bar-fill { height: 100%; background: linear-gradient(90deg, var(--accent), var(--green)); border-radius: 999px; }
.vs-merc-sub { font-size: 11.5px; color: var(--muted); }
.vs-cw-wrap { display: grid; grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)); gap: 12px; margin-top: 10px; }
.vs-cw { background: linear-gradient(180deg, var(--panel), #12161e); border: 1px solid var(--line); border-radius: 14px; padding: 14px; text-align: center; }
.vs-cw-donut { margin-bottom: 4px; }
.vs-cw-nome { font-weight: 700; font-size: 14px; }
.vs-cw-nicho { font-size: 12px; color: var(--muted); margin: 4px 0 0; }
/* gráficos por formato (donuts) */
.vs-fmt-wrap { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: 12px; margin-top: 10px; }
.vs-fmt { background: linear-gradient(180deg, var(--panel), #12161e); border: 1px solid var(--line); border-radius: 14px; padding: 16px 12px; text-align: center; }
.vs-fmt-nome { font-weight: 700; font-size: 13.5px; margin-top: 6px; }
.vs-fmt-sub { font-size: 11px; color: var(--muted); margin-top: 2px; }
.vs-donut { width: 84px; height: 84px; }
.vs-donut-txt { fill: var(--text); font-family: var(--display); font-size: 19px; font-weight: 800; }
/* Mercados: Pós-Venda tem as mesmas funções do admin; copywriter só vê pra estudar (sem renomear/excluir) */
body[data-role="pos-venda"] .tab[data-view="mercados"],
body[data-role="copywriter"] .tab[data-view="mercados"] { display: inline-flex !important; }
/* ações de mercado (renomear/excluir) — admin e pós-venda */
.mkt-card-head { display: flex; align-items: center; gap: 8px; }
.mkt-acoes { display: inline-flex; gap: 4px; margin-left: auto; }
.mkt-edit, .mkt-del { background: none; border: 1px solid var(--line); border-radius: 8px; padding: 3px 8px; cursor: pointer; font-size: 13px; color: var(--muted); }
.mkt-edit:hover { border-color: var(--accent-2); }
.mkt-del:hover { border-color: var(--accent); color: var(--accent); }
/* Hard Copy — botão verde + painel de status em tempo real */
.btn-green { background: var(--green); color: #08140e; border: none; font-weight: 700; }
.btn-green:hover { filter: brightness(1.08); }
.hc-hero-acoes { display: flex; gap: 10px; flex: none; }
.hc-status { display: flex; flex-direction: column; gap: 8px; margin-top: 10px; }
.hc-status-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; background: var(--panel); border: 1px solid var(--line); border-radius: 12px; padding: 12px 16px; }
.hc-st-tipo { font-weight: 700; font-size: 14px; }
.hc-st-badges { display: flex; gap: 8px; flex-wrap: wrap; }
.hc-st-b { font-size: 12.5px; font-weight: 700; border-radius: 999px; padding: 4px 12px; }
.hc-st-b.testando { background: rgba(245,192,74,0.12); color: #f5c04a; }
.hc-st-b.ok { background: rgba(52,211,153,0.12); color: var(--green); }
.hc-st-b.bad { background: rgba(238,28,36,0.12); color: var(--accent-2); }
/* Hard Copy — dash de assuntos (aprovado × reprovado) */
.hc-aprend { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; margin-top: 10px; }
@media (max-width: 720px) { .hc-aprend { grid-template-columns: 1fr; } }
.hc-aprend-col { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 14px; }
.hc-aprend-col.ok { border-color: rgba(52,211,153,0.3); background: linear-gradient(180deg, rgba(52,211,153,0.06), transparent); }
.hc-aprend-col.bad { border-color: rgba(238,28,36,0.3); background: linear-gradient(180deg, rgba(238,28,36,0.06), transparent); }
.hc-ap-h { font-weight: 700; font-size: 14px; margin-bottom: 10px; }
.hc-ap-card { background: rgba(255,255,255,0.03); border: 1px solid var(--line); border-radius: 10px; padding: 10px 12px; margin-bottom: 8px; }
.hc-ap-top { font-weight: 700; font-size: 12.5px; margin-bottom: 3px; }
.hc-ap-txt { font-size: 12px; color: var(--muted); line-height: 1.45; }
/* Hard Copy — biblioteca avulsa colorida */
.acc-item-head.hc-av-validado { border-color: rgba(52,211,153,0.4); }
.acc-item-head.hc-av-reprovado { border-color: rgba(238,28,36,0.4); }
.hc-av-dot { width: 9px; height: 9px; border-radius: 50%; flex: none; background: var(--muted); }
.hc-av-validado .hc-av-dot { background: var(--green); }
.hc-av-reprovado .hc-av-dot { background: var(--accent); }
/* Hard Copy */
.hc-banner { background: rgba(238,28,36,0.10); border: 1px solid rgba(238,28,36,0.30); border-radius: 12px; padding: 10px 14px; font-size: 13px; margin-bottom: 14px; }
.hc-upload { display: flex; align-items: center; gap: 16px; flex-wrap: wrap; margin-top: 16px; background: rgba(238,28,36,0.06); border: 1px dashed rgba(238,28,36,0.35); border-radius: 14px; padding: 16px 18px; }
.hc-up-txt { flex: 1; min-width: 240px; font-size: 13px; }
.hc-upload .btn { flex: none; }
.hc-cat { margin-top: 14px; background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; }
.hc-cat-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; flex-wrap: wrap; margin-bottom: 10px; }
.hc-cat-tit { font-weight: 700; font-size: 15px; }
.hc-perf { font-size: 12.5px; font-weight: 700; color: var(--muted); }
.hc-perf.ok { color: var(--green); }
.hc-perf.bad { color: var(--accent-2); }
.hc-cat-acoes { margin-top: 10px; }
.hc-cat-acoes .btn { font-size: 12.5px; }
.hc-cat-top { display: flex; align-items: center; gap: 18px; flex-wrap: wrap; margin-bottom: 12px; }
.hc-cat-donut { flex: none; }
.hc-cat-info { flex: 1; min-width: 220px; }
.hc-cat-info .hc-cat-tit { font-size: 17px; margin-bottom: 4px; }
.hc-cat-nums { font-size: 12.5px; color: var(--muted); }
.hc-cat-nums b { color: var(--text); }
.hc-cat-vered { font-size: 12.5px; margin: 6px 0 8px; }
.hc-cat-info .hc-cat-dir { font-size: 12.5px; }

/* Anúncios estáticos (imagem/carrossel): grid de cards com prévia + descrição + CTA */
.hc-img-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 12px; margin-top: 6px; }
.hc-img-card { background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; overflow: hidden; display: flex; flex-direction: column; cursor: pointer; transition: border-color .15s, transform .15s; }
.hc-img-card:hover { border-color: #3d4759; transform: translateY(-2px); }
.hc-img-card.hc-img-validado { border-color: var(--green); box-shadow: inset 0 0 0 1px rgba(52,211,153,0.35); }
.hc-img-card.hc-img-reprovado { border-color: var(--accent-2); box-shadow: inset 0 0 0 1px rgba(242,85,90,0.3); }
.hc-img-thumb { position: relative; background: #0c0e13; aspect-ratio: 1 / 1; display: flex; align-items: center; justify-content: center; overflow: hidden; }
.hc-img-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.hc-img-badge { position: absolute; top: 6px; right: 6px; font-size: 15px; background: rgba(0,0,0,0.55); border-radius: 8px; padding: 1px 5px; line-height: 1.4; }
.hc-img-carrossel { position: absolute; top: 6px; left: 6px; font-size: 11px; font-weight: 700; color: #fff; background: rgba(0,0,0,0.6); border-radius: 8px; padding: 2px 7px; }
.hc-img-body { padding: 8px 10px 4px; flex: 1; }
.hc-img-rot { font-size: 12.5px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hc-img-desc { font-size: 11px; color: var(--text-2); margin-top: 3px; line-height: 1.35; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
.hc-img-cta { display: inline-block; margin-top: 5px; font-size: 10.5px; font-weight: 700; color: var(--accent-2); background: rgba(79,163,255,0.12); border-radius: 6px; padding: 2px 7px; }
.hc-img-acoes { display: flex; align-items: center; gap: 5px; padding: 6px 8px 9px; flex-wrap: wrap; }
.hc-img-btn { flex: 1 1 auto; background: var(--panel); border: 1px solid var(--line); color: var(--text-2); font-size: 11px; font-weight: 600; padding: 5px 6px; border-radius: 7px; cursor: pointer; transition: .15s; white-space: nowrap; }
.hc-img-btn:hover { border-color: #3d4759; }
.hc-img-btn.on.ok { background: rgba(52,211,153,0.16); border-color: var(--green); color: var(--green); }
.hc-img-btn.on.bad { background: rgba(242,85,90,0.16); border-color: var(--accent-2); color: #ff9d9d; }
.hc-img-del { background: transparent; border: 1px solid #5a2b2e; color: #ee9091; font-size: 12px; padding: 5px 8px; border-radius: 7px; cursor: pointer; transition: .15s; }
.hc-img-del:hover { background: rgba(242,85,90,0.12); color: #f2555a; }

/* Biblioteca de descrições (texto + CTA) */
.hc-desc-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; margin-top: 6px; }
.hc-desc-card { background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; padding: 12px; cursor: pointer; display: flex; flex-direction: column; gap: 6px; transition: border-color .15s, transform .15s; }
.hc-desc-card:hover { border-color: #3d4759; transform: translateY(-2px); }
.hc-desc-card.hc-img-validado { border-color: var(--green); }
.hc-desc-card.hc-img-reprovado { border-color: var(--accent-2); }
.hc-desc-top { display: flex; align-items: center; gap: 7px; }
.hc-desc-rot { font-size: 12.5px; font-weight: 700; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.hc-desc-txt { font-size: 12px; color: var(--text-2); line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 4; -webkit-box-orient: vertical; overflow: hidden; }
.hc-desc-btn { flex: 1 1 auto; background: var(--panel); border: 1px solid var(--line); color: var(--text-2); font-size: 11px; font-weight: 600; padding: 5px 6px; border-radius: 7px; cursor: pointer; }
.hc-desc-btn.on.ok { background: rgba(52,211,153,0.16); border-color: var(--green); color: var(--green); }
.hc-desc-btn.on.bad { background: rgba(242,85,90,0.16); border-color: var(--accent-2); color: #ff9d9d; }

/* Modal de upload de anúncio */
.hc-modal-box { max-width: 560px; width: 100%; }
.hc-form { display: flex; flex-direction: column; }
.hc-lbl { font-size: 12px; font-weight: 700; color: var(--text-2); margin: 12px 0 5px; }
.hc-tipo-toggle { display: flex; gap: 8px; }
.hc-tipo-opt { flex: 1; background: var(--panel); border: 1px solid var(--line); color: var(--text-2); font-size: 12.5px; font-weight: 600; padding: 10px; border-radius: 9px; cursor: pointer; transition: .15s; }
.hc-tipo-opt.on { background: rgba(238,28,36,0.12); border-color: var(--accent); color: #fff; }
.hc-thumbs { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 8px; }
.hc-thumb { position: relative; width: 76px; height: 76px; border-radius: 8px; overflow: hidden; border: 1px solid var(--line); }
.hc-thumb img { width: 100%; height: 100%; object-fit: cover; }
.hc-thumb-x { position: absolute; top: 2px; right: 2px; width: 20px; height: 20px; border-radius: 50%; border: none; background: rgba(0,0,0,0.7); color: #fff; font-size: 11px; cursor: pointer; line-height: 1; }
.hc-thumb-n { position: absolute; bottom: 2px; left: 2px; font-size: 10px; font-weight: 700; background: rgba(0,0,0,0.7); color: #fff; border-radius: 5px; padding: 0 5px; }

/* Ficha-dashboard do anúncio */
.hc-modal-box:has(.hc-fic) { max-width: 820px; }
.hc-fic { display: flex; gap: 18px; padding: 4px; flex-wrap: wrap; }
.hc-fic-imgs { flex: 0 0 300px; display: flex; flex-direction: column; gap: 8px; max-height: 70vh; overflow-y: auto; }
.hc-fic-img { width: 100%; border-radius: 10px; border: 1px solid var(--line); display: block; }
.hc-fic-info { flex: 1; min-width: 260px; display: flex; flex-direction: column; gap: 12px; }
.hc-fic-status { display: flex; align-items: center; justify-content: space-between; gap: 10px; flex-wrap: wrap; }
.hc-fic-sec { background: var(--panel); border: 1px solid var(--line); border-radius: 10px; padding: 11px 13px; }
.hc-fic-h { font-size: 12.5px; font-weight: 700; margin-bottom: 6px; }
.hc-fic-resumo { font-size: 13px; color: var(--text); font-weight: 600; margin-bottom: 6px; }
.hc-fic-kv { font-size: 12.5px; color: var(--text-2); line-height: 1.5; }
.hc-fic-kv b { color: var(--text); }
.hc-fic-desc { font-size: 13px; color: var(--text); line-height: 1.5; white-space: pre-wrap; }
.badge.b-ok { background: rgba(52,211,153,0.16); color: var(--green); }
.badge.b-bad { background: rgba(242,85,90,0.16); color: #ff9d9d; }
@media (max-width: 640px) { .hc-fic-imgs { flex-basis: 100%; } }

/* Testar ideia */
.hc-testar { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 14px 16px; }
.hc-testar textarea { width: 100%; resize: vertical; }
.hc-testar-row { display: flex; gap: 8px; margin-top: 8px; flex-wrap: wrap; }
.hc-testar-row select { flex: 0 0 auto; }
.hc-testar-row .btn { flex: 0 0 auto; }
.hc-teste-res { margin-top: 12px; }
.hc-teste-vered { display: inline-block; font-weight: 700; font-size: 13px; padding: 4px 12px; border-radius: 20px; margin-bottom: 8px; }
.hc-teste-vered.ok { background: rgba(52,211,153,0.16); color: var(--green); }
.hc-teste-vered.bad { background: rgba(242,85,90,0.16); color: var(--accent-2); }
.hc-teste-vered.mid { background: rgba(245,192,74,0.16); color: var(--yellow); }
.hc-teste-resumo { font-size: 13.5px; color: var(--text); margin-bottom: 10px; line-height: 1.5; }
.hc-teste-sec { background: var(--panel-2); border: 1px solid var(--line); border-radius: 10px; padding: 10px 13px; margin-bottom: 8px; }
.hc-teste-sec > b { font-size: 12.5px; display: block; margin-bottom: 5px; }
.hc-teste-sec.ok { border-left: 3px solid var(--green); }
.hc-teste-sec.bad { border-left: 3px solid var(--accent); }
.hc-teste-sec ul { margin: 0; padding-left: 18px; }
.hc-teste-sec li { font-size: 12.5px; color: var(--text-2); line-height: 1.5; margin: 3px 0; }

/* Filtro de formato */
.hc-fmt-filtro { display: flex; gap: 7px; flex-wrap: wrap; margin: 4px 0 12px; }
.hc-fmt-chip { background: var(--panel-2); border: 1px solid var(--line); color: var(--text-2); font-size: 12px; font-weight: 600; padding: 5px 13px; border-radius: 20px; cursor: pointer; transition: .15s; }
.hc-fmt-chip:hover { border-color: #3d4759; }
.hc-fmt-chip.on { background: rgba(238,28,36,0.14); border-color: var(--accent); color: #fff; }
.hc-mini-btn { font-size: 11.5px; padding: 4px 10px; vertical-align: middle; margin-left: 6px; }

/* Conceitos — colunas pode usar / evitar */
.hc-conceitos-cols { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
@media (max-width: 720px) { .hc-conceitos-cols { grid-template-columns: 1fr; } }
.hc-conceitos-cols .col-h { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 13.5px; margin-bottom: 10px; }
.col.ok .col-h { color: var(--green); }
.col.bad .col-h { color: var(--accent-2); }
.concept { background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; padding: 13px 14px; margin-bottom: 11px; }
.col.ok .concept { border-left: 3px solid var(--green); }
.col.bad .concept { border-left: 3px solid var(--accent); }
.concept-t { font-size: 14px; font-weight: 700; line-height: 1.4; }
.concept-w { font-size: 12px; color: var(--muted); margin: 5px 0 9px; line-height: 1.45; }
.concept .tags { display: flex; flex-wrap: wrap; gap: 6px; margin-bottom: 9px; }
.concept .fmt { font-size: 11px; font-weight: 600; padding: 3px 9px; border-radius: 20px; background: var(--panel-3); color: var(--text-2); border: 1px solid var(--line); }
.concept .fmt.pos { background: rgba(79,163,255,0.14); color: #9ecbff; border-color: transparent; }
.concept .fmt.cat { background: rgba(185,140,255,0.14); color: #cbb2ff; border-color: transparent; }
.hc-cat-toggle { flex-wrap: wrap; }
.hc-cat-toggle .hc-tipo-opt { flex: 1 1 30%; font-size: 12px; padding: 9px 8px; }
.hc-fmt-toggle, .hc-parte-toggle { flex-wrap: wrap; }
.hc-fmt-toggle .hc-tipo-opt, .hc-parte-toggle .hc-tipo-opt { flex: 0 1 auto; font-size: 12px; padding: 8px 12px; }
.hc-img-chips { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 5px; }
.hc-img-cat { display: inline-block; font-size: 10.5px; font-weight: 700; color: #cbb2ff; background: rgba(185,140,255,0.14); border-radius: 6px; padding: 2px 7px; }
.concept-ex { display: flex; flex-direction: column; gap: 5px; margin-bottom: 10px; }
.ex-line { font-size: 12.5px; color: var(--text); line-height: 1.4; padding: 6px 10px; background: rgba(255,255,255,0.03); border-radius: 8px; border-left: 2px solid var(--line); }
.ex-line.nova { border-left-color: var(--blue); background: rgba(79,163,255,0.06); }
.concept-lbl { font-size: 10.5px; font-weight: 700; color: var(--muted); text-transform: uppercase; letter-spacing: .4px; margin: 8px 0 5px; }
.concept-lbl.ia { color: #9ecbff; }
.concept-op { font-size: 12.5px; color: var(--text-2); line-height: 1.5; margin-bottom: 8px; }
.concept-transf { font-size: 11.5px; font-weight: 600; color: #9ecbff; background: rgba(79,163,255,0.08); border: 1px dashed rgba(79,163,255,0.3); border-radius: 8px; padding: 5px 10px; margin: 6px 0 4px; }
/* Aplicação do conceito traduzida por formato */
.concept-apl { background: rgba(79,163,255,0.05); border: 1px solid rgba(79,163,255,0.18); border-radius: 9px; padding: 8px 11px; margin: 6px 0; }
.concept-apl.destaque { background: rgba(79,163,255,0.1); border-color: var(--blue); box-shadow: 0 0 0 1px rgba(79,163,255,0.2); }
.concept-apl-f { font-size: 11px; font-weight: 700; color: #9ecbff; text-transform: uppercase; letter-spacing: .3px; margin-bottom: 4px; }
.concept-apl-como { font-size: 12px; color: var(--text-2); line-height: 1.45; margin-bottom: 6px; }
.concept-apl .ex-line { margin-top: 4px; }
.fmt.aposta { background: rgba(245,192,74,0.14); color: var(--yellow); border-color: transparent; }
.hc-apostas { display: grid; grid-template-columns: repeat(auto-fit, minmax(260px, 1fr)); gap: 12px; }
.hc-aposta { background: var(--panel-2); border: 1px dashed rgba(245,192,74,0.45); border-radius: 12px; padding: 13px 14px; }
.aposta-dir { background: var(--accent); border-color: var(--accent); color: #fff; }
.aposta-dir:hover { filter: brightness(1.08); }
.concept .foot { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
.concept .ev { font-size: 11.5px; color: var(--muted); margin-right: auto; }
.btn-mini { font-size: 11.5px; font-weight: 600; border-radius: 8px; padding: 5px 11px; cursor: pointer; border: 1px solid var(--line); background: var(--panel-3); color: var(--text); transition: .15s; }
.btn-mini:hover { border-color: #3d4759; }
.concept-dir { background: var(--accent); border-color: var(--accent); color: #fff; }
.concept-dir:hover { filter: brightness(1.08); }

/* ===== Nova dash HC: hero com placar + sub-abas + pendências + frentes ===== */
.hc-hero { flex-wrap: wrap; gap: 14px 22px; }
.hc-stats { display: flex; gap: 9px; flex-wrap: wrap; margin-left: auto; }
.hc-stat { background: var(--panel-2); border: 1px solid var(--line); border-radius: 10px; padding: 7px 13px; text-align: center; min-width: 72px; }
.hc-stat .n { font-size: 17px; font-weight: 800; }
.hc-stat .l { font-size: 10px; color: var(--muted); text-transform: uppercase; letter-spacing: .4px; }
.hc-stat.ok .n { color: var(--green); }
.hc-stat.bad .n { color: var(--accent-2); }
.hc-stat.test .n { color: var(--yellow); }
.hc-subir-wrap { position: relative; }
.hc-subir-menu { position: absolute; top: calc(100% + 6px); right: 0; z-index: 40; background: var(--panel-2); border: 1px solid var(--line); border-radius: 11px; padding: 5px; min-width: 210px; box-shadow: 0 14px 34px -10px rgba(0,0,0,.7); display: flex; flex-direction: column; gap: 2px; }
/* o atributo [hidden] esconde via display:none da UA — qualquer display no CSS o anula. Por isso o menu
   ficava preso aberto mesmo com o JS certo. Regra explícita pra vencer o display:flex acima. */
.hc-subir-menu[hidden] { display: none; }
.hc-subir-menu button { background: transparent; border: none; color: var(--text); font-size: 13px; font-weight: 600; text-align: left; padding: 9px 12px; border-radius: 8px; cursor: pointer; }
.hc-subir-menu button:hover { background: var(--panel-3); }
.hc-subtabs { display: flex; gap: 6px; margin: 14px 0 16px; overflow-x: auto; scrollbar-width: none; padding-bottom: 2px; }
.hc-subtabs::-webkit-scrollbar { display: none; }
.hc-stab { font-size: 12.5px; font-weight: 700; padding: 9px 15px; border-radius: 22px; background: var(--panel-2); border: 1px solid var(--line); color: var(--text-2); cursor: pointer; white-space: nowrap; transition: .15s; flex: 0 0 auto; }
.hc-stab:hover { border-color: #3d4759; }
.hc-stab.on { background: rgba(238,28,36,.14); border-color: var(--accent); color: #fff; }
.hc-stab-b { display: inline-block; min-width: 17px; text-align: center; background: var(--accent); color: #fff; font-size: 10px; border-radius: 9px; padding: 1px 5px; margin-left: 6px; }
.hc-pane { display: none; }
.hc-pane.on { display: block; animation: fade .2s ease; }
.hc-card { background: var(--panel); border: 1px solid var(--line); border-radius: 14px; padding: 15px 17px; margin-bottom: 14px; }
.hc-card-h { font-size: 13.5px; font-weight: 700; margin-bottom: 10px; }
.hc-pend { display: flex; align-items: center; gap: 10px; background: var(--panel-2); border: 1px solid var(--line); border-left: 3px solid var(--yellow); border-radius: 10px; padding: 9px 13px; margin-bottom: 8px; }
.hc-pend-t { font-size: 13px; font-weight: 600; flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.hc-frentes { display: grid; grid-template-columns: repeat(auto-fit, minmax(155px, 1fr)); gap: 10px; }
.hc-frente { background: var(--panel-2); border: 1px solid var(--line); border-radius: 12px; padding: 12px 13px; cursor: pointer; transition: .15s; }
.hc-frente:hover { border-color: #3d4759; transform: translateY(-2px); }
.hc-fr-ic { font-size: 18px; }
.hc-fr-t { font-size: 12.5px; font-weight: 700; margin: 5px 0 2px; }
.hc-fr-n { font-size: 11px; color: var(--muted); }
.hc-fr-tx { font-size: 15px; font-weight: 800; margin-top: 6px; }
.hc-frente.g .hc-fr-tx { color: var(--green); }
.hc-frente.a .hc-fr-tx { color: var(--yellow); }
.hc-frente.r .hc-fr-tx { color: var(--accent-2); }
.hc-frente.mu .hc-fr-tx { color: var(--muted); }

/* Biblioteca estilo Arsenal */
.hc-lib { display: flex; flex-direction: column; gap: 10px; }
.hc-lib .peca-acoes { display: flex; gap: 6px; flex: 0 0 auto; }
.hc-lib .peca-copy { margin-top: 12px; padding-top: 12px; border-top: 1px solid var(--line); font-size: 13px; color: var(--text-2); line-height: 1.55; white-space: pre-wrap; }
.hc-lib .acc-baixar { background: var(--panel-3); border: 1px solid var(--line); color: var(--text-2); font-size: 11.5px; font-weight: 600; padding: 5px 10px; border-radius: 7px; cursor: pointer; }
.hc-lib .acc-del { background: transparent; border: 1px solid #5a2b2e; color: #ee9091; font-size: 12px; padding: 5px 9px; border-radius: 7px; cursor: pointer; }

/* ============================================================
   MOBILE APP — navegação inferior fixa (estilo aplicativo nativo / PWA)
   No celular a topbar fica só com a marca + ações, e as abas viram
   uma barra embaixo, como num app. Respeita a "safe area" do iPhone.
   Fica no FIM do arquivo de propósito: assim sobrepõe todos os
   componentes acima (mesma especificidade, vence quem vem depois).
   ============================================================ */
@media (max-width: 700px) {
  .topbar {
    flex-wrap: nowrap; padding: 8px 13px; gap: 10px;
    padding-top: calc(8px + env(safe-area-inset-top));
    /* backdrop-filter cria "containing block" e prenderia a .tabs fixa dentro da topbar.
       No mobile a nav é fixa embaixo (relativa à viewport), então tiramos o filtro daqui. */
    backdrop-filter: none; -webkit-backdrop-filter: none;
    background: rgba(9,11,16,0.98);
  }
  .brand { flex: 0 1 auto; min-width: 0; }
  .brand-img { height: 30px; max-width: 132px; }
  .adm { font-size: 22px; letter-spacing: 2px; }
  .top-actions { margin-left: auto; gap: 7px; flex-wrap: nowrap; align-items: center; }
  .top-actions .conn, .top-actions #last-refresh { display: none; } /* status fica no ⚙️ — economiza a linha */
  .user-box { font-size: 11.5px; max-width: 108px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  #btn-refresh { padding: 8px 11px; font-size: 12px; }
  #btn-settings { padding: 8px 10px; }

  /* barra de navegação inferior */
  .topbar .tabs {
    position: fixed; left: 0; right: 0; bottom: 0; z-index: 45;
    width: 100%; margin: 0; gap: 0; border-radius: 0; order: 0;
    padding: 5px 4px calc(5px + env(safe-area-inset-bottom));
    background: rgba(11,13,19,0.97); backdrop-filter: blur(18px); -webkit-backdrop-filter: blur(18px);
    border: none; border-top: 1px solid var(--line);
    box-shadow: 0 -10px 30px -14px rgba(0,0,0,0.95);
    overflow-x: auto; overflow-y: hidden; scrollbar-width: none;
    justify-content: flex-start; -webkit-overflow-scrolling: touch;
  }
  .topbar .tabs::-webkit-scrollbar { display: none; }
  .topbar .tabs .tab {
    flex: 1 0 auto; min-width: 58px; flex-direction: column; gap: 3px;
    padding: 6px 5px 4px; font-size: 10px; font-weight: 600; line-height: 1.15;
    border-radius: 11px; min-height: 50px; justify-content: center; text-align: center;
  }
  .topbar .tabs .tab .tab-ic { font-size: 19px; filter: none; }
  /* indicador ativo em CIMA (na barra de baixo, o traço embaixo sumiria na borda da tela) */
  .topbar .tabs .tab.active { background: rgba(255,255,255,0.06); box-shadow: inset 0 2px 0 var(--accent); color: #fff; }

  /* conteúdo não pode ficar escondido atrás da barra */
  main { padding-bottom: calc(76px + env(safe-area-inset-bottom)); }
  .fab { right: 15px; bottom: calc(82px + env(safe-area-inset-bottom)); width: 52px; height: 52px; }
  .toast { bottom: calc(86px + env(safe-area-inset-bottom)); width: max-content; max-width: calc(100vw - 32px); }
  /* barra de salvar validação não pode cobrir a nav */
  #dem-savebar .val-savebar { bottom: calc(76px + env(safe-area-inset-bottom)); }

  /* timeline da demanda compacta pra caber inteira no celular (sem rolar) */
  .dem-timeline { gap: 2px; margin: 12px 0; overflow-x: visible; }
  .dt-step { min-width: 0; flex: 1 1 0; }
  .dt-ic { width: 32px; height: 32px; font-size: 15px; }
  .dt-lbl { font-size: 9px; line-height: 1.12; }
  .dt-line { min-width: 6px; }

  /* cabeçalho de demanda/cliente empilha; ações ocupam a largura */
  .cli-det-head { flex-direction: column; align-items: flex-start; gap: 12px; }
  .cli-acoes { width: 100%; }
}

/* ============================================================
   BLINDAGEM: [hidden] tem que esconder, sempre.
   O atributo hidden esconde via display:none da UA stylesheet — e QUALQUER display no CSS
   (flex/grid/block) anula isso silenciosamente. Foi o que prendeu o menu "Subir" aberto.
   Fica no fim do arquivo e com !important pra vencer qualquer regra de componente.
   ============================================================ */
[hidden] { display: none !important; }
