/* Casca das telas internas do APP COMERCIAL.
   Segue o KIT-IDENTIDADE-AMF (IDENTIDADE-AMF.md) — o mesmo desenho da Sala de
   Guerra, do App Geral e do App de Marketing. Os tokens abaixo são os do kit;
   o tema escuro vem do identidade.css, que entra DEPOIS deste arquivo e troca
   os valores dos mesmos nomes. Nenhuma cor solta nas regras: só tokens. */

:root{
  color-scheme:light;

  /* marca */
  --brand:#055FFB; --brand-600:#0a4fd8; --brand-50:#EAF1FE; --brand-rgb:5,95,251; --on-brand:#ffffff;

  /* neutros */
  --ink:#1B1E22; --navy:#040D1B; --mist:#F3F4F6; --line:#E7E9EE; --muted:#5B6472;
  --ring:#E1E4EA; --ring-hover:#c7cdd8;

  /* papéis */
  --bg:#ffffff; --bg-2:#F3F4F6; --card:#ffffff; --card-2:#F7F8FA;
  --border:#E7E9EE; --text:#1B1E22; --text-dim:#5B6472; --ink-muted:#6b7383; --grid:#E7E9EE;

  /* nomes antigos deste app, apontando para os do kit */
  --accent:var(--brand); --accent-2:var(--brand-600); --accent-rgb:var(--brand-rgb);

  /* sombras tingidas de azul */
  --shadow-card:0 1px 2px rgba(16,24,40,.05), 0 18px 34px -20px rgba(5,95,251,.20);
  --shadow-float:0 10px 22px -8px rgba(16,24,40,.12), 0 34px 60px -26px rgba(5,95,251,.28);
  --shadow:var(--shadow-card);
  --hairline:0 0 0 1px rgba(16,24,40,.06);

  --ease:cubic-bezier(.22,1,.36,1);

  /* status — sempre com ícone + rótulo */
  --st-good:#0ca30c; --st-warn:#fab219; --st-crit:#d03b3b;
  --good-ink:#0a7a0a; --warn-ink:#8a5a00; --crit-ink:#b42323;
  --good-bg:#ebf7eb; --warn-bg:#fff6e0; --crit-bg:#fdeeee;
  --green:var(--good-ink); --yellow:var(--warn-ink); --red:var(--crit-ink);
  --green-wash:var(--good-bg); --amber-wash:var(--warn-bg); --red-wash:var(--crit-bg);

  /* rampa sequencial (funil, mapa) e categóricas */
  --r1:#94b8f8; --r2:#5f95fa; --r3:#055ffb; --r4:#0e43a8;

  --radius:24px;
}

*{box-sizing:border-box;}
/* `hidden` tem de vencer o display das classes (label.campo é block, .linha é
   flex): sem isto, o atributo some em silêncio e o elemento continua lá. */
[hidden]{display:none !important;}
body{margin:0;color:var(--text);font-size:15px;line-height:1.55;min-height:100vh;background:var(--bg);
  font-family:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;}
.wrap{max-width:1200px;margin:0 auto;padding-block:0 64px;padding-inline:24px;}
.wrap.largo{max-width:none;}

/* ---------- faixa azul do topo ---------- */
.topbar{background:var(--brand);color:var(--on-brand);font-size:13px;}
.topbar-in{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:4px 20px;padding:11px 24px;}
.topbar b{font-weight:700;letter-spacing:.04em;}
.topbar span{opacity:.88;}
.topbar .sep{display:inline-block;width:4px;height:4px;border-radius:50%;background:currentColor;opacity:.6;margin:0 10px;vertical-align:middle;}
.topbar .hoje::first-letter{text-transform:uppercase;}

/* ---------- cabeçalho: selo · trilho · tema ---------- */
header.top{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding-top:20px;margin-bottom:26px;}
header.top .spacer{flex:1;}
.brand{display:flex;align-items:center;gap:12px;color:inherit;text-decoration:none;border-radius:999px;}
.brand img{width:44px;height:44px;border-radius:50%;flex:none;}
.brand b{display:block;font-size:14.5px;font-weight:600;letter-spacing:-.02em;line-height:1.2;}
.brand i{display:block;font-style:normal;font-size:12px;color:var(--text-dim);line-height:1.3;}
@media (max-width:520px){ .brand .nome{display:none;} }

/* ---------- dentro de um projeto ---------- */
.projeto-cab{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:-6px 0 22px;}
.projeto-cab .voltar{display:inline-flex;align-items:center;gap:6px;color:var(--ink);text-decoration:none;font-size:13.5px;font-weight:600;
  padding:7px 14px;border-radius:999px;background:var(--card);box-shadow:inset 0 0 0 1px var(--ring);
  transition:transform .28s var(--ease),box-shadow .25s ease;}
.projeto-cab .voltar:hover{box-shadow:inset 0 0 0 1px var(--ring-hover);transform:translateY(-2px);}
.projeto-cab .pj .olho{margin:0;}
.projeto-cab .pj b{display:block;font-size:clamp(22px,2.6vw,28px);font-weight:600;letter-spacing:-.03em;line-height:1.15;}

/* ---------- avisos de estado do app ---------- */
.faixa{display:flex;align-items:center;gap:10px;flex-wrap:wrap;border-radius:18px;
  padding:12px 16px;margin-bottom:20px;font-size:14px;}
.faixa.seco{background:var(--warn-bg);color:var(--warn-ink);}
.faixa.ruim{background:var(--crit-bg);color:var(--crit-ink);}
.faixa.bom{background:var(--good-bg);color:var(--good-ink);}
.faixa b{font-weight:700;}

h1,h2,h3,h4{letter-spacing:-.04em;}
h1{font-size:clamp(34px,4.6vw,52px);font-weight:500;letter-spacing:-.035em;line-height:1.04;margin:0 0 8px;}
/* palavra de destaque: Times itálico, 1,2× maior — uma por título */
.em,.serif{font-family:'Times New Roman',Times,serif;font-style:italic;font-weight:400;font-size:1.2em;letter-spacing:-.04em;}
.sub{color:var(--text-dim);font-size:14.5px;margin:0 0 24px;}
h2{font-size:19px;font-weight:600;letter-spacing:-.02em;line-height:1.25;margin:0 0 4px;}
h3{font-size:16px;font-weight:600;letter-spacing:-.015em;}

/* ---------- painéis ---------- */
.painel{background:var(--card);border-radius:24px;padding:24px 26px;box-shadow:var(--shadow-card),var(--hairline);margin-bottom:18px;}
.painel .cap{color:var(--text-dim);font-size:13.5px;margin:0 0 16px;line-height:1.55;}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;}
.olho,.eyebrow{display:block;font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--brand);margin:0 0 4px;}

/* ---------- números ---------- */
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin-top:16px;}
.kpi{background:var(--mist);border-radius:18px;padding:16px 18px;}
.kpi .k{font-size:12.5px;color:var(--text-dim);font-weight:500;}
.kpi .v{font-size:28px;font-weight:600;margin-top:6px;line-height:1.05;letter-spacing:-.03em;font-variant-numeric:tabular-nums;}
.kpi .d{font-size:12.5px;color:var(--text-dim);margin-top:5px;}
.kpi.bom .v{color:var(--good-ink);} .kpi.ruim .v{color:var(--crit-ink);} .kpi.aviso .v{color:var(--warn-ink);}

/* ---------- botões: pílula branca de contorno; primário azul cheio ---------- */
.btn{display:inline-flex;align-items:center;gap:7px;border:0;border-radius:999px;padding:9px 16px;
  background:var(--card);color:var(--ink);box-shadow:inset 0 0 0 1px var(--ring);
  font:inherit;font-size:13.5px;font-weight:600;cursor:pointer;text-decoration:none;white-space:nowrap;
  transition:transform .28s var(--ease),box-shadow .25s ease,background-color .25s ease,color .25s ease;}
.btn:hover{box-shadow:inset 0 0 0 1px var(--ring-hover);transform:translateY(-2px);}
.btn:active{transform:translateY(1px);}
.btn.pri{background:var(--brand);color:var(--on-brand);box-shadow:0 8px 18px -8px rgba(var(--brand-rgb),.6);}
.btn.pri:hover{background:var(--brand-600);}
.btn.perigo{color:var(--crit-ink);}
.btn:disabled{background:var(--mist);color:var(--text-dim);cursor:not-allowed;box-shadow:none;transform:none;}
.btn.pq{padding:6px 12px;font-size:12.5px;}
.linha{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}

/* ---------- campos ---------- */
label.campo,div.campo{display:block;margin-bottom:14px;}
label.campo>span,div.campo>span{display:block;font-size:12.5px;font-weight:600;color:var(--text-dim);margin-bottom:5px;}
/* Painel minimizável (aba Edição do CRM): fechado, sobra só o título. */
.painel.minimizavel>h2{cursor:pointer;user-select:none;display:flex;align-items:center;gap:8px;}
.painel.minimizavel>h2 .seta{display:inline-block;font-size:.8em;color:var(--text-dim);transition:transform .15s ease;}
.painel.minimizado>h2{margin-bottom:0;}
.painel.minimizado>h2 .seta{transform:rotate(-90deg);}
.painel.minimizado>:not(h2){display:none !important;}
/* Campo checklist do CRM (tentativas de contato, follow-up). */
.chk-lista{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:13.5px;}
.chk-lista label{display:inline-flex;gap:6px;align-items:center;cursor:pointer;}
.campo.falta .chk-lista{box-shadow:inset 0 0 0 1px var(--st-crit),0 0 0 3px var(--crit-bg);border-radius:12px;padding:6px 10px;}
input[type=text],input[type=tel],input[type=email],input[type=number],input[type=datetime-local],input[type=date],input[type=search],input[type=password],
select,textarea{
  width:100%;padding:10px 12px;border-radius:12px;border:0;box-shadow:inset 0 0 0 1px var(--ring);
  background-color:var(--card);color:var(--text);font:inherit;font-size:14px;transition:box-shadow .2s ease;}
input:hover,select:hover,textarea:hover{box-shadow:inset 0 0 0 1px var(--ring-hover);}
select{appearance:none;border-radius:999px;padding:9px 34px 9px 14px;font-size:13.5px;font-weight:500;cursor:pointer;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%235B6472' stroke-width='2.5'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
  background-repeat:no-repeat;background-position:right 13px center;}
input[type=search]{border-radius:999px;padding:10px 15px;}
textarea{resize:vertical;min-height:90px;line-height:1.5;}
input:focus,select:focus,textarea:focus{outline:none;box-shadow:inset 0 0 0 1px var(--brand),0 0 0 3px rgba(var(--brand-rgb),.2);}
input[type=checkbox],input[type=radio]{accent-color:var(--brand);}

/* ---------- foco visível ---------- */
a:focus-visible,button:focus-visible,[tabindex]:focus-visible{outline:none;box-shadow:0 0 0 3px rgba(var(--brand-rgb),.35);}

/* ---------- tabelas ---------- */
.rolagem{overflow-x:auto;border-radius:18px;background:var(--card);box-shadow:var(--hairline);}
table{border-collapse:collapse;width:100%;min-width:560px;font-size:13.5px;}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:top;}
thead th{font-size:11.5px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;
  color:var(--text-dim);white-space:nowrap;border-bottom-color:var(--ink);}
tbody tr:hover{background:var(--brand-50);}
tbody tr:last-child td{border-bottom:0;}
td.num,th.num{text-align:right;font-variant-numeric:tabular-nums;}
tfoot td{border-bottom:0;background:var(--mist);font-weight:700;}
tfoot td:first-child{border-radius:12px 0 0 12px;} tfoot td:last-child{border-radius:0 12px 12px 0;}

/* ---------- selos (chips de status) ---------- */
.selo{display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600;
  white-space:nowrap;background:var(--card);color:var(--text);box-shadow:inset 0 0 0 1px var(--ring);}
.selo.ok{background:var(--good-bg);color:var(--good-ink);box-shadow:inset 0 0 0 1px rgba(12,163,12,.35);}
.selo.nao{background:var(--mist);color:var(--text-dim);box-shadow:none;}
.selo.alerta{background:var(--warn-bg);color:var(--warn-ink);box-shadow:inset 0 0 0 1px rgba(250,178,25,.55);}
.selo.ruim{background:var(--crit-bg);color:var(--crit-ink);box-shadow:inset 0 0 0 1px rgba(208,59,59,.35);}

.vazio{color:var(--text-dim);font-size:14px;padding:26px 0;text-align:center;}
.erro{color:var(--crit-ink);font-size:13.5px;margin-top:10px;}
.dica{color:var(--text-dim);font-size:12.5px;margin-top:8px;line-height:1.5;}

/* ---------- a prévia das travas ---------- */
.previa .conta{display:flex;align-items:baseline;gap:12px;flex-wrap:wrap;margin-bottom:14px;}
.previa .conta .n{font-size:42px;font-weight:700;letter-spacing:-.04em;color:var(--green);
  font-variant-numeric:tabular-nums;line-height:1;}
.previa .conta .de{color:var(--text-dim);font-size:15px;}
.previa ul{list-style:none;margin:0;padding:0;display:grid;gap:8px;}
.previa li{display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px;align-items:baseline;
  font-size:14px;padding:10px 14px;border-radius:13px;background:var(--bg-2);}
.previa li b{font-variant-numeric:tabular-nums;font-size:16px;}
.previa li i{font-style:normal;color:var(--text-dim);font-size:13px;display:block;}

/* ---------- CRM: quadro à moda do Pipefy ---------- */
.seg{display:inline-flex;gap:4px;padding:4px;border-radius:999px;background:var(--mist);flex-wrap:wrap;max-width:100%;}
.seg button{display:inline-flex;align-items:center;gap:7px;border:0;background:none;color:var(--text-dim);font:inherit;font-size:14px;font-weight:600;
  padding:9px 16px;border-radius:999px;cursor:pointer;white-space:nowrap;
  transition:color .2s ease,background-color .2s ease,box-shadow .2s ease;}
.seg button:hover{color:var(--ink);background:var(--card);}
.seg button[aria-pressed="true"]{background:var(--brand);color:var(--on-brand);box-shadow:0 8px 18px -8px rgba(var(--brand-rgb),.6);}
.chk{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--text-dim);cursor:pointer;}

.kb{display:flex;gap:12px;overflow-x:auto;padding-bottom:12px;align-items:flex-start;
  scroll-snap-type:x proximity;min-height:60vh;}
.kb-grupo{display:flex;flex-direction:column;gap:8px;flex:none;}
.kb-grupo>.nome{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;
  color:var(--text-dim);padding:0 4px;border-bottom:2px solid var(--border);padding-bottom:4px;}
.kb-grupo>.cols{display:flex;gap:12px;align-items:flex-start;}
.kb-col{width:256px;flex:none;background:var(--mist);border-radius:18px;display:flex;flex-direction:column;
  max-height:78vh;scroll-snap-align:start;border-top:4px solid var(--cor,var(--border));}
.kb-col.alvo{outline:2px dashed var(--accent);outline-offset:-2px;}
.kb-col>header{display:flex;align-items:center;gap:8px;padding:10px 12px 8px;}
.kb-col>header b{font-size:13.5px;line-height:1.25;flex:1;}
.kb-col>header .n{font-size:12px;font-weight:700;color:var(--text-dim);background:var(--card);
  border-radius:999px;padding:1px 8px;font-variant-numeric:tabular-nums;}
.kb-col>header button{border:0;background:transparent;color:var(--text-dim);font-size:18px;line-height:1;
  cursor:pointer;padding:2px 6px;border-radius:8px;}
.kb-col>header button:hover{background:var(--card);color:var(--text);}
.kb-col .sla{font-size:11.5px;color:var(--text-dim);padding:0 12px 6px;}
.kb-lista{overflow-y:auto;padding:4px 8px 10px;display:flex;flex-direction:column;gap:6px;min-height:40px;}
.kb-card{display:block;width:100%;text-align:left;font:inherit;color:inherit;cursor:pointer;
  background:var(--card);border:0;border-left:4px solid var(--camp,transparent);border-radius:14px;
  padding:8px 10px 7px;box-shadow:var(--hairline),0 1px 2px rgba(16,24,40,.05);
  transition:transform .32s var(--ease),box-shadow .32s ease;}
.kb-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-float),var(--hairline);}
.kb-card.arrastando{opacity:.5;}
.kb-card .t{font-weight:600;font-size:13.5px;line-height:1.25;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.kb-card .sub{font-size:12px;color:var(--text-dim);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-variant-numeric:tabular-nums;}
.kb-card .sub .rot{opacity:.75;}
.kb-card .tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;}
.tag{display:inline-flex;align-items:center;gap:3px;max-width:100%;font-size:10.5px;font-weight:600;line-height:1.5;
  padding:0 7px;border-radius:999px;background:var(--bg-2);color:var(--text-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tag.utm{background:rgba(var(--accent-rgb),.10);color:var(--accent);}
.tag.online{background:rgba(var(--accent-rgb),.12);color:var(--accent);}
.tag.canal{background:var(--good-bg);color:var(--good-ink);}
.tag.atraso{background:var(--amber-wash);color:var(--yellow);}
.tag.ruim{background:var(--red-wash);color:var(--red);}
.tag.ok{background:var(--green-wash);color:var(--green);}
/* Etiqueta do card (curso/turma, temperatura) — contorno, para não competir com os selos de estado. */
.tag.etq{background:transparent;color:var(--text);box-shadow:inset 0 0 0 1px var(--ring);}
.kb-card .pe{display:flex;align-items:center;gap:8px;margin-top:6px;font-size:11px;color:var(--text-dim);font-variant-numeric:tabular-nums;}
.kb-card .resp{margin-left:auto;width:22px;height:22px;border-radius:50%;display:inline-grid;place-items:center;
  background:var(--accent);color:var(--on-brand);font-size:9.5px;font-weight:700;letter-spacing:.02em;
  background-size:cover;background-position:center;flex:0 0 auto;}
/* com foto, o anel de superfície separa a bolinha do cartão quando a foto é clara */
.kb-card .resp.foto{box-shadow:0 0 0 1.5px var(--card);}
.kb-mais{margin:2px 8px 10px;}

/* ---------- modal (dialog) ---------- */
dialog.modal{border:0;padding:0;border-radius:24px;background:var(--card);color:var(--text);
  width:min(980px,calc(100vw - 32px));max-height:calc(100vh - 32px);box-shadow:var(--shadow-float),var(--hairline);}
dialog.modal.estreito{width:min(480px,calc(100vw - 32px));}
dialog.modal::backdrop{background:rgba(4,13,27,.45);backdrop-filter:blur(2px);}
.modal-topo{display:flex;align-items:flex-start;gap:12px;padding:20px 24px 12px;border-bottom:1px solid var(--border);
  position:sticky;top:0;background:var(--card);z-index:1;}
.modal-topo h2{flex:1;font-size:20px;margin:0;overflow-wrap:anywhere;}
.modal-corpo{padding:18px 24px 24px;display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:24px;}
.modal-corpo.um{grid-template-columns:minmax(0,1fr);}
.fechar{border:0;background:var(--mist);color:var(--text);width:36px;height:36px;border-radius:999px;
  font-size:18px;cursor:pointer;flex:none;transition:background-color .2s ease;}
.fechar:hover{background:var(--ring);}
.campo.falta input,.campo.falta select,.campo.falta textarea{box-shadow:inset 0 0 0 1px var(--st-crit),0 0 0 3px var(--crit-bg);}
.bloco{background:var(--mist);border-radius:14px;padding:12px 14px;margin-bottom:12px;font-size:13.5px;}
.bloco h3{font-size:12px;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);margin:0 0 6px;}
/* Bloco do card aberto que abre e fecha (Contato, Origem, Matrícula, Histórico). */
.bloco.minimizavel>h3{cursor:pointer;user-select:none;display:flex;align-items:center;gap:6px;}
.bloco.minimizavel>h3 .seta{transition:transform .15s ease;}
.bloco.minimizado>h3{margin:0;}
.bloco.minimizado>h3 .seta{transform:rotate(-90deg);}
.bloco.minimizado>:not(h3){display:none !important;}
/* Tópicos de campos do card aberto. */
details.topico{border:1px solid var(--border);border-radius:14px;margin:0 0 10px;background:var(--card);}
details.topico>summary{cursor:pointer;list-style:none;display:flex;align-items:center;gap:8px;padding:10px 14px;
  font-size:13px;font-weight:600;user-select:none;}
details.topico>summary::-webkit-details-marker{display:none;}
details.topico>summary::before{content:"▸";color:var(--text-dim);transition:transform .15s ease;}
details.topico[open]>summary::before{transform:rotate(90deg);}
details.topico>summary .nome{flex:1;}
details.topico>summary .conta{font-size:12px;font-weight:500;color:var(--text-dim);font-variant-numeric:tabular-nums;}
details.topico.tem-falta{border-color:var(--st-crit);}
details.topico.tem-falta>summary .conta::after{content:" · falta campo";color:var(--crit-ink);}
details.topico>.grade{padding:4px 14px 2px;}
.linha-tempo{list-style:none;margin:0;padding:0;display:grid;gap:10px;max-height:52vh;overflow-y:auto;}
.linha-tempo li{font-size:13.5px;border-left:2px solid var(--border);padding-left:10px;}
.linha-tempo li.comentario{border-left-color:var(--accent);}
.linha-tempo li.comentario p{white-space:pre-line;}
.linha-tempo li small{display:block;color:var(--text-dim);font-size:12px;}
.linha-tempo li p{margin:3px 0 0;white-space:pre-wrap;overflow-wrap:anywhere;}

/* ---------- relatórios ---------- */
.barras{display:grid;gap:6px;}
.barra{display:grid;grid-template-columns:minmax(120px,220px) minmax(0,1fr) auto;gap:10px;align-items:center;font-size:13.5px;}
.barra .rot{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.barra .trilho{height:14px;border-radius:0 4px 4px 0;background:transparent;position:relative;}
.barra .trilho i{display:block;height:100%;border-radius:0 4px 4px 0;background:var(--accent);min-width:2px;}
.barra:hover .trilho i{filter:brightness(1.12);}
.barra .val{font-variant-numeric:tabular-nums;color:var(--text);min-width:3ch;text-align:right;}
.colunas{display:flex;align-items:flex-end;gap:4px;height:140px;padding-top:8px;border-bottom:1px solid var(--border);}
.colunas div{flex:1;max-width:44px;margin:0 auto;background:var(--accent);border-radius:4px 4px 0 0;min-height:2px;position:relative;}
.colunas div.zero{background:var(--border);}
.colunas div:hover{filter:brightness(1.12);}
.colunas-rot{display:flex;gap:4px;font-size:11px;color:var(--text-dim);margin-top:4px;}
.colunas-rot span{flex:1;max-width:44px;margin:0 auto;text-align:center;overflow:hidden;white-space:nowrap;}

/* ---------- home do gestor: um card por CRM (mesmo desenho do Painel de Projetos) ---------- */
.hero{text-align:center;padding:26px 0 38px;}
.hero-logo{margin:0 auto;}
.hero-logo img{width:120px;height:auto;display:block;margin:0 auto;}
.hero h1{margin:22px auto 30px;max-width:900px;text-align:center;text-wrap:balance;
  font-size:clamp(32px,5.6vw,56px);font-weight:500;line-height:1.1;letter-spacing:-.035em;color:var(--text);}
.hero h1 span{display:block;}
/* Vestibular (17/10/2026): a faculdade vira a linha fina de cima e o nome do
   app é o título — azul no claro, dourado no escuro (o --brand do tema). */
.hero h1 .l1{font-size:13px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--text-dim);line-height:1.4;}
.hero h1 .l2{font-family:'Times New Roman',Times,serif;font-style:italic;font-weight:400;font-size:clamp(64px,10vw,104px);
  line-height:1;letter-spacing:-.03em;color:var(--brand);margin-top:8px;}
.hero-traco{width:64px;height:2px;margin:18px auto 12px;background:#b8892c;border-radius:2px;}
.hero-frase{font-size:16px;font-weight:400;letter-spacing:0;color:var(--text-dim);line-height:1.4;}
@media (prefers-reduced-motion:no-preference){
  .hero-logo,.hero h1>span{animation:sobe .6s var(--ease) both;}
  .hero h1 .l1{animation-delay:.08s;} .hero h1 .l2{animation-delay:.18s;}
  .hero h1 .hero-traco,.hero h1 .hero-frase{animation-delay:.28s;}
  @keyframes sobe{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
}
.hero .sub{margin:0 0 20px;}
.hero .busca{max-width:560px;margin:0 auto;position:relative;}
.hero .busca input{padding:14px 18px 14px 46px;border-radius:999px;font-size:15px;}
.hero .busca span{position:absolute;left:18px;top:50%;transform:translateY(-50%);opacity:.6;pointer-events:none;}
.rotulo-secao{font-size:11.5px;text-transform:uppercase;letter-spacing:.09em;color:var(--brand);font-weight:600;margin:0;}
.grade-crm{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;margin-top:14px;}
.crm-card{position:relative;overflow:hidden;display:flex;flex-direction:column;gap:4px;text-decoration:none;color:var(--text);
  background:var(--card);border:0;border-left:4px solid var(--brand);border-radius:18px;padding:20px 20px 18px;
  box-shadow:var(--shadow-card),var(--hairline);transition:transform .32s var(--ease),box-shadow .32s ease;min-height:170px;}
.crm-card:hover{transform:translateY(-3px);box-shadow:var(--shadow-float),var(--hairline);}
.crm-card:focus-within{box-shadow:var(--shadow-float),0 0 0 3px rgba(var(--brand-rgb),.35);}
/* O link do título cobre o card inteiro; o "Editar" fica por cima dele. */
.crm-card a.cobre{color:inherit;text-decoration:none;}
.crm-card a.cobre::after{content:"";position:absolute;inset:0;}
.crm-card a.cobre:focus-visible{outline:none;}
.crm-card a.cobre:focus-visible::after{outline:2px solid var(--accent);outline-offset:-2px;border-radius:18px;}
.crm-card .ico{font-size:30px;line-height:1;margin-bottom:6px;}
/* O ícone em imagem (SVG/PNG) no lugar do emoji: o mesmo tamanho dele. */
.crm-card .ico img{width:36px;height:36px;object-fit:contain;display:block;}
.projeto-cab .pj .ico img{width:1.15em;height:1.15em;object-fit:contain;vertical-align:-.2em;}
.icone-img-ver{display:inline-grid;place-items:center;width:44px;height:44px;border-radius:12px;background:var(--mist,#F3F4F6);}
.icone-img-ver[hidden]{display:none;}
.icone-img-ver img{width:34px;height:34px;object-fit:contain;}
.crm-card h2{font-size:16.5px;margin:0;line-height:1.3;}
/* O ícone à esquerda e o nome do projeto ao lado, centrados na altura. */
.crm-card .cab{display:flex;align-items:center;gap:12px;margin-bottom:4px;}
.crm-card .cab .ico{flex:none;margin-bottom:0;}
.crm-card .cab h2{min-width:0;}
.crm-card .desc{font-size:12.5px;color:var(--text-dim);margin:0;}
.crm-card .nums{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.crm-card .pe{display:flex;align-items:center;gap:10px;margin-top:auto;padding-top:12px;}
.crm-card .abrir{font-size:13px;font-weight:600;color:var(--accent);white-space:nowrap;}
.crm-card .editar{position:relative;z-index:1;margin-left:auto;white-space:nowrap;font-size:12.5px;font-weight:600;color:var(--ink);text-decoration:none;padding:5px 12px;border-radius:999px;background:var(--card);box-shadow:inset 0 0 0 1px var(--ring);}
.crm-card .editar:hover{color:var(--text);}
.crm-card.sem-match{display:none;}
.crm-novo{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:170px;cursor:pointer;
  border:2px dashed var(--ring);border-radius:18px;transition:border-color .25s ease,color .25s ease;background:transparent;color:var(--text-dim);font:inherit;font-weight:600;}
.crm-novo:hover{border-color:var(--accent);color:var(--accent);}
.crm-novo b{font-size:28px;line-height:1;}
.modelos{display:grid;gap:8px;}
.modelos label{display:flex;gap:10px;align-items:flex-start;border:1px solid var(--border);border-radius:14px;padding:12px 14px;cursor:pointer;}
.modelos label:has(input:checked){border-color:var(--accent);box-shadow:0 0 0 3px rgba(var(--accent-rgb),.15);}
.modelos input{margin-top:4px;}
.modelos b{display:block;font-size:14px;}
.modelos small{color:var(--text-dim);font-size:12.5px;}
.emojis{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
.emojis button{border:1px solid var(--border);background:var(--card);border-radius:10px;font-size:18px;width:38px;height:38px;cursor:pointer;}
.emojis button[aria-pressed="true"]{border-color:var(--accent);box-shadow:0 0 0 2px rgba(var(--accent-rgb),.25);}

/* ---------- topo de dentro do CRM ---------- */
.topo-crm{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:6px;}
.topo-crm .voltar{display:inline-flex;align-items:center;gap:6px;color:var(--ink);text-decoration:none;font-size:13.5px;font-weight:600;
  padding:7px 14px;border-radius:999px;background:var(--card);box-shadow:inset 0 0 0 1px var(--ring);
  transition:transform .28s var(--ease),box-shadow .25s ease;}
.topo-crm .voltar:hover{box-shadow:inset 0 0 0 1px var(--ring-hover);transform:translateY(-2px);}
.topo-crm h1{margin:0;display:flex;align-items:center;gap:12px;font-size:clamp(28px,3.6vw,40px);}

/* ---------- aba Edição (campos e fases) ---------- */
  .lin-campo,.lin-fase{display:grid;gap:8px;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);}
/* Larguras fixas nas colunas estreitas: cada linha é um grid próprio, e com
   `auto` a coluna de uma linha não alinha com a da outra. */
.lin-campo{grid-template-columns:30px minmax(140px,1.4fr) minmax(110px,.9fr) minmax(120px,1.2fr) 68px 68px 68px 72px 40px;}
.lin-fase{grid-template-columns:30px minmax(140px,1.4fr) minmax(90px,.8fr) 46px minmax(100px,.8fr) 80px 86px 40px;}
.lin-fase.sujo{background:var(--amber-wash);border-radius:12px;}
.lin-fase .pendente{font-size:12px;font-weight:600;color:var(--yellow);white-space:nowrap;}
.lin-campo:last-child,.lin-fase:last-child{border-bottom:0;}
.lin-campo input,.lin-campo select,.lin-fase input,.lin-fase select{padding:8px 10px;font-size:13.5px;}
.lin-fase input[type=color]{padding:2px;height:38px;width:46px;border-radius:10px;border:1px solid var(--border);background:var(--card);}
.cabec{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);}
.obrig{grid-column:2 / -1;font-size:13px;}
.obrig summary{cursor:pointer;color:var(--text-dim);}
.obrig label{display:inline-flex;gap:5px;align-items:center;margin:6px 12px 0 0;}
.setas{display:flex;flex-direction:column;gap:2px;}
.setas button{border:0;background:var(--bg-2);color:var(--text);border-radius:6px;font-size:11px;line-height:1;padding:3px 6px;cursor:pointer;}
.link-form{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.link-form code{background:var(--bg-2);padding:6px 10px;border-radius:10px;font-size:13px;overflow-wrap:anywhere;}
@media (max-width:860px){
  .lin-campo,.lin-fase{grid-template-columns:1fr 1fr;}
  .cabec-linha{display:none !important;}
}
/* ---------- páginas de painel (Campanhas, Mapa, Funil) — convenções da Sala de Guerra ---------- */
.titulo-sec{font-size:clamp(26px,3.4vw,36px);font-weight:500;letter-spacing:-.035em;line-height:1.1;margin:0 0 6px;}
.nota-pe{font-size:12.5px;color:var(--text-dim);margin-top:14px;line-height:1.55;}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:12px;margin:16px 0;}
.stat{background:var(--mist);border-radius:18px;padding:16px 18px;}
.stat b{display:block;font-size:28px;font-weight:600;color:var(--accent);letter-spacing:-.03em;line-height:1.1;font-variant-numeric:tabular-nums;}
.stat span{font-size:12.5px;color:var(--text-dim);}
.stat.ruim b{color:var(--crit-ink);} .stat.bom b{color:var(--good-ink);}
.tip{position:fixed;z-index:200;pointer-events:none;background:var(--navy);color:var(--bg);border-radius:12px;padding:10px 13px;
  font-size:12.5px;line-height:1.45;max-width:280px;box-shadow:0 10px 22px -8px rgba(16,24,40,.35);}
.tip b{display:block;font-size:13px;margin-bottom:2px;}
.ponto{display:inline-block;width:10px;height:10px;border-radius:50%;margin-right:6px;vertical-align:baseline;}

/* Quadro das campanhas — o mesmo da Sala de Guerra do marketing
   (APP MKT/marketing/dashboard-guerra.html). */
.filters{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin:0 0 4px;min-height:40px;}
.filters label{display:flex;align-items:center;gap:8px;font-size:12.5px;color:var(--text-dim);font-weight:600;}
.filters select{width:auto;}
.fspacer{flex:1;}
.tgl{display:inline-flex;align-items:center;gap:7px;background:var(--card);border:0;
  box-shadow:inset 0 0 0 1px var(--ring);color:var(--ink);border-radius:999px;
  padding:9px 15px;font:inherit;font-size:13px;font-weight:600;cursor:pointer;line-height:1.2;
  transition:transform .28s var(--ease),box-shadow .25s ease,background-color .25s ease,color .25s ease;}
.tgl:hover{box-shadow:inset 0 0 0 1px var(--ring-hover);transform:translateY(-1px);}
.tgl:active{transform:translateY(1px);}
.tgl.on{background:var(--brand);color:var(--on-brand);box-shadow:0 8px 18px -8px rgba(var(--brand-rgb),.6);}
.tgl.on:hover{background:var(--brand-600);}
.tgl svg{flex:none;}
.panel-hd{display:flex;align-items:flex-start;gap:12px;flex-wrap:wrap;margin-bottom:18px;}
.panel-hd h2{margin:0;}
.panel-hd .cap{font-size:13.5px;color:var(--text-dim);margin:4px 0 0;line-height:1.55;}
.cap strong{color:var(--text);font-weight:600;}
.legend{display:flex;gap:8px 16px;flex-wrap:wrap;align-items:center;}
.lg{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--text-dim);font-weight:500;}
.lg i{width:10px;height:10px;border-radius:3px;flex:none;}
.tl-scroll{overflow-x:auto;}
.tl{min-width:680px;position:relative;}
.tl-mrow{display:grid;gap:4px;}
.tl-mhead{font-size:13px;font-weight:600;text-align:center;padding:9px 4px;color:var(--text);
  background:var(--mist);border-radius:999px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tl-mhead.now{background:var(--brand-50);color:var(--brand-600);box-shadow:inset 0 0 0 1px rgba(var(--brand-rgb),.3);}
.tl-mhead.abre{font:inherit;font-size:13px;font-weight:600;border:0;cursor:pointer;width:100%;
  transition:box-shadow .2s ease,background-color .2s ease;}
.tl-mhead.abre:hover{box-shadow:inset 0 0 0 1px var(--brand);}
.tl-sub{display:block;font-size:10.5px;font-weight:500;color:var(--text-dim);margin-top:1px;}
.tl-bar.corta-i{border-top-left-radius:0;border-bottom-left-radius:0;box-shadow:inset 3px 0 0 rgba(255,255,255,.7);}
.tl-bar.corta-f{border-top-right-radius:0;border-bottom-right-radius:0;box-shadow:inset -3px 0 0 rgba(255,255,255,.7);}
.tl-bar.corta-i.corta-f{box-shadow:inset 3px 0 0 rgba(255,255,255,.7),inset -3px 0 0 rgba(255,255,255,.7);}
.tl-zoom{display:flex;align-items:center;gap:10px 12px;flex-wrap:wrap;margin-bottom:16px;}
.tl-zoom .cap{font-size:13px;color:var(--text-dim);}
.lg-cheia{background:var(--brand);}
.lg-fraca{background:color-mix(in srgb, var(--brand) 40%, var(--card));}
.tl-row.dia{align-items:start;padding:9px 0;}
.tl-area.dia{height:auto;min-height:26px;}
.tl-bar.fina{height:7px;border-radius:4px;}
.tl-rows{margin-top:28px;position:relative;}
.tl-row{display:grid;align-items:center;padding:5px 0;}
.tl-lbl{font-size:13px;color:var(--text);font-weight:500;padding-right:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.tl-area{position:relative;height:26px;}
.tl-bar{position:absolute;top:0;height:26px;border-radius:6px;display:flex;align-items:center;
  justify-content:center;overflow:hidden;transition:filter .15s;}
.tl-bar:hover{filter:brightness(1.08);}
/* o nome sempre dentro da barra; não coube, reticências */
.tl-in{font-size:12px;font-weight:600;padding:0 10px;white-space:nowrap;min-width:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;}
.tl-row.alvo{cursor:pointer;border-radius:10px;transition:background-color .15s;}
.tl-row.alvo:hover{background:rgba(var(--brand-rgb),.045);}
.sem-per{margin-top:20px;padding-top:18px;border-top:1px solid var(--line);}
.sem-lista{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px;}
.sem-lista .sw{width:9px;height:9px;border-radius:3px;display:inline-block;}
.tl-lines{position:absolute;top:0;bottom:0;pointer-events:none;}
.tl-vline{position:absolute;top:0;bottom:0;width:1px;background:var(--grid);}
.tl-today{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--navy);}
.tl-today span{position:absolute;top:-24px;left:50%;transform:translateX(-50%);font-size:10.5px;
  font-weight:700;color:var(--on-brand);background:var(--navy);border-radius:999px;padding:2px 8px;white-space:nowrap;}
.paleta{display:flex;flex-wrap:wrap;gap:6px;}
.paleta button{width:28px;height:28px;border-radius:8px;border:2px solid transparent;cursor:pointer;}
.paleta button[aria-pressed="true"]{border-color:var(--text);}

/* Colaboradores — o desenho do APP COLABORADORES na identidade AMF */
:root{--serie-equipe:#d95926;}
:root[data-tema="escuro"]{--serie-equipe:#F4855A;}
.grade-pessoas{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px;}
/* O flex-column não é enfeite: <button> centraliza o conteúdo na vertical, e
   no grid todos os cards da linha têm a mesma altura. Quem tem cargo de uma
   linha só sobrava espaço, o botão dividia a sobra em cima e embaixo, a capa
   descia e aparecia uma faixa branca no topo. Empilhando a partir do topo, a
   sobra vai toda para o rodapé e a capa fica colada na borda. */
.pessoa{background:var(--card);border:0;border-radius:18px;padding:0;overflow:hidden;cursor:pointer;text-align:left;
  display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;
  font:inherit;color:inherit;width:100%;box-shadow:var(--shadow-card),var(--hairline);transition:transform .32s var(--ease),box-shadow .32s ease;}
.pessoa:hover{transform:translateY(-3px);box-shadow:var(--shadow-float),var(--hairline);}
.pessoa-capa{height:64px;flex:0 0 64px;}   /* não encolhe quando o card estica */
.pessoa-corpo{padding:0 18px 18px;}
.pessoa-av{width:62px;height:62px;border-radius:50%;border:3px solid var(--card);margin-top:-32px;display:grid;place-items:center;
  font-size:22px;font-weight:700;color:#fff;background-size:cover;background-position:center;}
.pessoa-nome{font-size:15.5px;font-weight:600;letter-spacing:-.02em;margin-top:9px;}
/* o @usuario (login): logo abaixo do nome, discreto e em cor de marca */
.usuario{font-size:12.5px;font-weight:500;color:var(--brand-600,var(--brand));margin-top:2px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.perfil .usuario{font-size:14px;margin-top:4px;}
.pessoa-cargo{font-size:12.5px;color:var(--text-dim);margin-top:2px;}
.pessoa-nums{display:flex;gap:16px;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);}
.pessoa-num b{display:block;font-size:17px;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums;}
.pessoa-num span{font-size:10.5px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;}
.pessoa-nova{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:200px;
  background:transparent;border:2px dashed var(--ring);box-shadow:none;color:var(--text-dim);font-weight:600;}
.pessoa-nova:hover{border-color:var(--brand);color:var(--brand);box-shadow:none;}
.pessoa-nova b{font-size:28px;line-height:1;}
.capa{height:170px;position:relative;border-radius:24px 24px 0 0;display:grid;place-items:end center;}
.capa-av{width:108px;height:108px;border-radius:50%;border:4px solid var(--card);margin-bottom:-54px;display:grid;place-items:center;
  font-size:38px;font-weight:700;color:#fff;background-size:cover;background-position:center;position:relative;cursor:pointer;
  box-shadow:0 8px 24px rgba(16,24,40,.25);}
.capa-av input,.capa-btn input{display:none;}
.av-cam{position:absolute;right:2px;bottom:2px;width:30px;height:30px;border-radius:50%;background:var(--brand);
  border:3px solid var(--card);display:grid;place-items:center;font-size:13px;transition:transform .2s var(--ease);}
.capa-av:hover .av-cam{transform:scale(1.1);}
.capa-acoes{position:absolute;top:12px;right:12px;display:flex;gap:8px;}
.capa-btn{background:rgba(4,13,27,.5);color:#fff;border:1px solid rgba(255,255,255,.3);border-radius:999px;padding:7px 13px;
  font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);}
.capa-btn:hover{background:rgba(4,13,27,.75);border-color:#fff;}
.perfil{background:var(--card);border-radius:0 0 24px 24px;padding:66px 22px 24px;text-align:center;box-shadow:var(--shadow-card),var(--hairline);}
.perfil h2{font-size:24px;font-weight:600;letter-spacing:-.03em;margin:0;}
.perfil .id{font-size:12px;color:var(--brand);text-transform:uppercase;letter-spacing:.09em;margin-top:6px;font-weight:600;}
.perfil-nums{display:flex;justify-content:center;gap:34px;margin-top:18px;flex-wrap:wrap;}
.perfil-num b{display:block;font-size:24px;font-weight:600;line-height:1.1;letter-spacing:-.03em;font-variant-numeric:tabular-nums;}
.perfil-num span{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;}
.secao{margin-top:22px;}
.secao-tit{font-size:11.5px;font-weight:600;letter-spacing:.09em;text-transform:uppercase;color:var(--brand);margin-bottom:10px;}
.gwrap{position:relative;margin-top:10px;}
svg.chart{display:block;width:100%;height:auto;overflow:visible;touch-action:none;}
.g-grid{stroke:var(--grid);stroke-width:1;}
.g-eixo{fill:var(--text-dim);font-size:11px;font-weight:600;}
.g-linha{fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;}
.g-ponto{stroke:var(--card);stroke-width:2;}
.g-cross{stroke:var(--ring-hover);stroke-width:1;stroke-dasharray:3 3;}
.g-tip{position:absolute;pointer-events:none;background:var(--navy);color:var(--bg);border-radius:12px;padding:9px 12px;font-size:12.5px;
  box-shadow:0 10px 22px -8px rgba(16,24,40,.35);transform:translate(-50%,-115%);white-space:nowrap;opacity:0;transition:opacity .12s;}
.tip-linha{display:flex;align-items:center;gap:7px;margin-top:5px;opacity:.9;}
.tip-dot{width:9px;height:9px;border-radius:50%;flex:none;}
.tip-val{margin-left:auto;font-weight:700;padding-left:14px;}
.legenda{display:flex;flex-direction:column;gap:9px;margin-top:16px;padding-top:14px;border-top:1px solid var(--line);}
.leg{display:flex;align-items:center;gap:10px;font-size:14px;}
.leg-dot{width:12px;height:12px;border-radius:50%;flex:none;}
.leg-val{margin-left:auto;font-weight:600;font-variant-numeric:tabular-nums;}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;}
.tile{background:var(--mist);border-radius:18px;padding:14px 16px;display:flex;align-items:center;gap:12px;}
.tile-ico{font-size:24px;flex:none;}
.tile b{display:block;font-size:20px;font-weight:600;line-height:1.15;font-variant-numeric:tabular-nums;}
.tile span{font-size:12px;color:var(--text-dim);}
.meter{height:8px;border-radius:999px;background:var(--mist);position:relative;}
.meter i{display:block;height:100%;border-radius:999px;background:var(--brand);}
.seg button:disabled{opacity:.35;cursor:default;}
.dem-lista{display:flex;flex-direction:column;gap:8px;}
.dem-item{display:block;text-decoration:none;color:var(--text);background:var(--card-2);border-left:4px solid var(--brand);
  border-radius:12px;padding:10px 14px;box-shadow:inset 0 0 0 1px var(--line);transition:transform .28s var(--ease),box-shadow .25s ease;}
.dem-item:hover{transform:translateY(-2px);box-shadow:var(--shadow-card),var(--hairline);}
.dem-item .t{font-size:14px;font-weight:600;}
.dem-item.done .t{text-decoration:line-through;opacity:.65;}
.dem-item .m{display:flex;gap:8px 12px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--text-dim);margin-top:5px;}
@media (max-width:560px){ .perfil-nums{gap:22px;} .capa{height:130px;} }

/* Calendário — o mesmo Calendário Geral do APP MKT (dashboard-todos.html) */
.row-flex{display:flex;align-items:center;gap:10px;flex-wrap:wrap;}
.row-flex > select{width:auto;flex:0 1 220px;min-width:0;}
.kpis-c{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:18px;}
.kpi-c{background:var(--card);border-left:4px solid var(--brand);border-radius:18px;padding:15px 18px;box-shadow:var(--shadow-card),var(--hairline);}
.kpi-c .n{font-size:28px;font-weight:600;line-height:1.05;letter-spacing:-.03em;font-variant-numeric:tabular-nums;}
.kpi-c .l{font-size:12.5px;color:var(--text-dim);margin-top:4px;}
.cal-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:8px;}
.cal-head-cell{text-align:center;font-size:11.5px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.08em;
  padding:9px 0;background:var(--mist);border-radius:999px;}
.cal-cell{position:relative;min-height:116px;max-height:220px;overflow-y:auto;background:var(--card-2);
  border-radius:14px;padding:8px;box-shadow:inset 0 0 0 1px var(--line);}
.cal-cell::-webkit-scrollbar{width:6px;}
.cal-cell::-webkit-scrollbar-thumb{background:var(--ring-hover);border-radius:99px;}
.cal-cell.empty{background:transparent;box-shadow:none;}
.cal-cell.today{background:var(--brand-50);box-shadow:inset 0 0 0 2px var(--brand);}
.cal-daynum{font-size:12.5px;color:var(--text-dim);font-weight:600;}
.cal-cell.today .cal-daynum{display:inline-block;color:var(--on-brand);background:var(--brand);border-radius:999px;padding:1px 8px;font-weight:700;}
.cal-events{display:flex;flex-direction:column;gap:4px;margin-top:6px;}
.cal-event{display:block;text-decoration:none;font-size:11.5px;font-weight:600;padding:3px 7px;border-radius:7px;cursor:pointer;
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;
  box-shadow:0 1px 2px rgba(16,24,40,.08), inset 0 0 0 1px rgba(16,24,40,.12);border-left:3px solid rgba(0,0,0,.28);}
.cal-event:hover{filter:brightness(1.06);}
.cal-event .cal-ev-meta{opacity:.85;font-weight:500;}
.cal-event.done{box-shadow:0 1px 2px rgba(16,24,40,.08), inset 0 0 0 1.5px rgba(255,255,255,.6);}
.cal-event.atrasada{background-image:repeating-linear-gradient(135deg,rgba(0,0,0,.26) 0 5px,transparent 5px 11px);
  box-shadow:0 1px 2px rgba(16,24,40,.08), inset 0 0 0 1.5px rgba(0,0,0,.5);}
.cal-event.ag{border-left-style:dotted;border-left-width:4px;}
.legend-c{display:flex;gap:8px 16px;flex-wrap:wrap;font-size:12.5px;color:var(--text-dim);margin-top:14px;}
.legend-c strong{color:var(--text);font-weight:600;}
.legend-c i{display:inline-block;width:11px;height:11px;border-radius:3px;margin-right:5px;vertical-align:middle;}
.legend-c i.atraso{background:#7f8c9b;background-image:repeating-linear-gradient(135deg,rgba(0,0,0,.34) 0 3px,transparent 3px 6px);}
@media (max-width:700px){
  .cal-grid{gap:4px;} .cal-cell{min-height:76px;padding:5px;border-radius:10px;}
  .cal-head-cell{font-size:9px;letter-spacing:.02em;} .cal-event{font-size:9.5px;padding:2px 4px;}
}
.kb-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;margin-top:16px;}
.kb-dcol{background:var(--card-2);border-top:3px solid var(--line);border-radius:18px;padding:14px;
  box-shadow:inset 0 0 0 1px var(--line);transition:box-shadow .15s ease;}
.kb-head{display:flex;align-items:center;gap:8px;margin-bottom:10px;}
.kb-title{font-size:14.5px;font-weight:600;}
.kb-count{margin-left:auto;background:var(--card);box-shadow:inset 0 0 0 1px var(--ring);color:var(--text-dim);
  font-size:12px;font-weight:600;border-radius:999px;padding:2px 10px;}
.kb-cards{display:flex;flex-direction:column;gap:8px;max-height:520px;overflow-y:auto;padding:2px;}
.kb-dem{display:block;text-decoration:none;color:var(--text);background:var(--card);cursor:grab;
  border-left:3px solid var(--brand);border-radius:12px;padding:10px 12px;
  box-shadow:0 1px 2px rgba(16,24,40,.05), 0 0 0 1px rgba(16,24,40,.06);transition:transform .28s var(--ease),box-shadow .25s ease;}
.kb-dem:hover{transform:translateY(-2px);box-shadow:var(--shadow-card),0 0 0 1px rgba(16,24,40,.08);}
.kb-dem .t{font-size:13.5px;font-weight:600;line-height:1.35;}
.kb-dem.done .t{text-decoration:line-through;opacity:.65;}
.kb-dem .m{font-size:11.5px;color:var(--text-dim);margin-top:5px;display:flex;gap:8px;flex-wrap:wrap;align-items:center;}
.kb-dem.dragging{opacity:.45;cursor:grabbing;}
.kb-dcol.drag-over{box-shadow:inset 0 0 0 2px var(--brand);background:var(--brand-50);}
.kb-proj{display:inline-flex;align-items:center;gap:5px;font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.04em;
  padding:1px 8px;border-radius:999px;background:var(--mist);color:var(--text);}
.kb-proj::before{content:"";width:7px;height:7px;border-radius:50%;flex:none;background:var(--c, var(--muted));box-shadow:inset 0 0 0 1px rgba(16,24,40,.15);}
.kb-empty{font-size:12.5px;color:var(--text-dim);padding:10px 0;border:1px dashed var(--ring-hover);border-radius:12px;text-align:center;}
.kb-moves{display:flex;justify-content:flex-end;gap:5px;margin-top:8px;}
.kb-move{border:0;box-shadow:inset 0 0 0 1px var(--ring);background:var(--card);color:var(--text-dim);border-radius:999px;
  padding:1px 9px;font-size:14px;line-height:1.2;cursor:pointer;opacity:.7;transition:.12s;}
.kb-move:hover{opacity:1;box-shadow:inset 0 0 0 1px var(--brand);color:var(--brand);}
.modal-overlay{position:fixed;inset:0;z-index:300;padding:18px;display:flex;align-items:center;justify-content:center;
  background:rgba(4,13,27,.45);backdrop-filter:blur(3px);-webkit-backdrop-filter:blur(3px);}
.modal-overlay .modal-box{background:var(--card);border-radius:24px;padding:26px;width:min(640px,94vw);max-height:90vh;overflow-y:auto;
  box-shadow:var(--shadow-float),var(--hairline);animation:dem-pop .18s ease-out;}
@keyframes dem-pop{from{transform:scale(.96) translateY(10px);opacity:0;} to{transform:none;opacity:1;}}
.modal-overlay .modal-box h2{font-size:21px;font-weight:600;letter-spacing:-.02em;}
.det-grid{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:13px;color:var(--text-dim);margin-bottom:16px;}
.det-grid b{color:var(--text);font-weight:600;}
.det-st{font-size:11.5px;font-weight:700;border-radius:999px;padding:2px 10px;}
.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:0 14px;}
.lbl-dim{color:var(--text-dim);font-weight:400;font-style:normal;}
.resp-pick{display:flex;flex-wrap:wrap;gap:8px;}
.resp-chip{display:inline-flex;align-items:center;gap:7px;font:inherit;font-weight:600;font-size:12.5px;cursor:pointer;
  background:var(--card);color:var(--text-dim);border:0;box-shadow:inset 0 0 0 1px var(--ring);border-radius:999px;padding:7px 13px;
  transition:box-shadow .15s,background-color .15s,color .15s;}
.resp-chip:hover{color:var(--text);box-shadow:inset 0 0 0 1px var(--ring-hover);}
.resp-chip.on{background:var(--brand-50);color:var(--brand-600);box-shadow:inset 0 0 0 1px rgba(var(--brand-rgb),.45);}
.resp-chip .rc-dot{width:11px;height:11px;border-radius:50%;flex:none;box-shadow:inset 0 0 0 1px rgba(16,24,40,.12);}
.chk-block{background:var(--card-2);box-shadow:inset 0 0 0 1px var(--line);border-radius:16px;padding:14px;margin-bottom:14px;}
.chk-head{font-size:12.5px;font-weight:600;color:var(--text-dim);margin-bottom:10px;}
.chk-prog{color:var(--good-ink);font-weight:700;margin-left:6px;}
.chk-edit-row{display:grid;grid-template-columns:34px 1fr 36px;gap:8px;align-items:center;margin-bottom:8px;}
.chk-box{width:34px;height:38px;border-radius:10px;cursor:pointer;border:0;box-shadow:inset 0 0 0 1px var(--ring);background:var(--card);
  color:var(--good-ink);font-size:16px;font-weight:700;display:grid;place-items:center;transition:.15s;}
.chk-box.done{background:var(--good-bg);box-shadow:inset 0 0 0 1px rgba(12,163,12,.45);}
.chk-box:hover{box-shadow:inset 0 0 0 1px var(--brand);}
.btn-add-chk{background:var(--card);color:var(--text-dim);border:1px dashed var(--ring-hover);border-radius:999px;
  padding:8px 14px;font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;transition:.15s;}
.btn-add-chk:hover{color:var(--brand);border-color:var(--brand);}
.mini-btn{width:34px;height:38px;border-radius:10px;cursor:pointer;font-size:14px;border:0;box-shadow:inset 0 0 0 1px var(--ring);background:var(--card);color:var(--text-dim);}
.mini-btn.del{background:var(--crit-bg);color:var(--crit-ink);box-shadow:inset 0 0 0 1px rgba(208,59,59,.35);}
.modal-foot{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:6px;padding-top:14px;border-top:1px solid var(--line);}

/* Funil */
.fn{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,520px) minmax(0,1fr);column-gap:22px;align-items:center;}
.fn-lab{text-align:right;}
.fn-lab small{display:block;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--accent);}
.fn-lab h3{margin:2px 0;font-size:17px;}
.fn-lab p{margin:0;font-size:12.5px;color:var(--text-dim);}
.fn-plot{display:flex;justify-content:center;}
.fn-faixa{position:relative;height:58px;border-radius:10px;overflow:hidden;min-width:6px;background:var(--fx,var(--r1));}
.fn-faixa.com-meta{background:var(--bg-2);box-shadow:inset 0 0 0 2px var(--fx,var(--r1));}
.fn-real{position:absolute;left:0;top:0;bottom:0;background:var(--fx,var(--r1));border-right:2px solid var(--r4);}
.fn-val b{font-size:32px;font-weight:600;letter-spacing:-.03em;line-height:1;font-variant-numeric:tabular-nums;}
.fn-val span{display:block;font-size:12.5px;color:var(--text-dim);}
.fn-cone{height:40px;margin:0 auto;background:linear-gradient(180deg,rgba(var(--brand-rgb),.16),rgba(var(--brand-rgb),.05));}
.fn-pill{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;background:var(--mist);border-radius:999px;padding:4px 10px;}
.fn-cai{font-size:12.5px;color:var(--text-dim);text-align:right;}
.etapa-ed{border:1px solid var(--border);border-radius:16px;padding:12px 14px;margin-bottom:10px;}
.etapa-ed .fases{display:flex;flex-wrap:wrap;gap:4px 14px;font-size:13px;margin-top:6px;}
.etapa-ed .fases label{display:inline-flex;gap:5px;align-items:center;}

/* Mapa */
.mp-cols{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:22px;align-items:start;}
.mp-wrap{position:relative;}
.mp-svg{width:100%;height:auto;display:block;}
.mp-m{fill:var(--bg-2);stroke:var(--card);stroke-width:.6;stroke-linejoin:round;}
.mp-m.tem{cursor:pointer;}
.mp-m:hover,.mp-m:focus-visible{fill:#0a4fd8;outline:none;}
.mp-m.f1{fill:#DCE8FE;} .mp-m.f2{fill:#A9C7FD;} .mp-m.f3{fill:#6E9EFC;} .mp-m.f4{fill:#2C74FC;} .mp-m.f5{fill:#0546C0;}
.mp-borda{fill:none;stroke:var(--text);stroke-width:2;stroke-linejoin:round;pointer-events:none;}
.mp-sede{fill:none;stroke:#040D1B;stroke-width:3.5;stroke-linejoin:round;pointer-events:none;}
:root[data-tema="escuro"] .mp-sede{stroke:#fff;}
.mp-br{position:absolute;right:0;bottom:0;width:92px;height:auto;}
.mp-br-uf{fill:var(--bg-2);stroke:var(--border);stroke-width:1;}
.mp-br-rs{fill:var(--accent);}
.mp-rank{list-style:none;margin:0;padding:0;display:grid;gap:6px;}
.mp-rank li{display:grid;grid-template-columns:minmax(0,1fr) 60px 30px;gap:8px;align-items:center;font-size:13px;}
.mp-rank li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.mp-rank i{display:block;height:8px;border-radius:0 4px 4px 0;background:var(--accent);}
.mp-rank b{text-align:right;font-variant-numeric:tabular-nums;}
.mp-legenda{display:flex;flex-wrap:wrap;gap:8px 14px;font-size:12px;color:var(--text-dim);margin-top:14px;}
.mp-legenda span{display:inline-flex;align-items:center;gap:6px;}
.mp-key{width:12px;height:12px;border-radius:3px;display:inline-block;}

@media (max-width:860px){
  .mp-cols{grid-template-columns:minmax(0,1fr);}
  .fn{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);}
  .fn-lab{display:none;}
  .tl-cab,.tl-linha{grid-template-columns:120px 1fr;}
}

@media (max-width:760px){
  .modal-corpo{grid-template-columns:minmax(0,1fr);}
  .barra{grid-template-columns:minmax(90px,130px) minmax(0,1fr) auto;}
  .kb-col{width:250px;}
}

@media (max-width:640px){
  .wrap{padding-inline:16px;}
}
@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.01ms!important;transition-duration:.01ms!important;}
}

/* ───────────────────────── Meta diária e foguinho ─────────────────────────
   O laranja do fogo e o verde do "bateu" são fixos nos dois temas: são
   semáforo, não cor de marca. O resto usa os tokens, para acompanhar o tema. */
.fogo{display:inline-flex;align-items:center;gap:3px;font-size:11.5px;font-weight:700;
  margin-left:7px;padding:1px 7px;border-radius:999px;vertical-align:middle;
  background:var(--mist);color:var(--text-dim);}
.fogo.on{background:#FFF1E6;color:#C2410C;}
:root[data-tema="escuro"] .fogo.on{background:#43200c;color:#FDBA74;}

.metas{margin-bottom:18px;}
.metas-topo{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start;}
/* o texto cede espaço; sem isto o parágrafo longo empurra os números para a linha de baixo */
.metas-topo>div:first-child{flex:1 1 320px;min-width:0;}
.metas-topo .cap{max-width:62ch;}
.metas-topo h2{font-size:16px;font-weight:600;}
.metas-nums{display:flex;gap:22px;margin-left:auto;flex:0 0 auto;}
.metas-nums b{display:block;font-size:24px;font-weight:600;line-height:1.1;font-variant-numeric:tabular-nums;}
.metas-nums span{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;}
.rk-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:18px;margin-top:18px;}
.rk-tit{font-size:11.5px;font-weight:700;color:var(--text-dim);text-transform:uppercase;
  letter-spacing:.06em;margin-bottom:8px;}
.rk-linha{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;
  padding:7px 8px;border-radius:10px;cursor:pointer;font:inherit;color:inherit;text-align:left;
  text-decoration:none;}   /* é <a> para dar clique-do-meio e "abrir em nova aba" */
.rk-linha:hover{background:var(--mist);}
.rk-linha.eu{background:var(--brand-50);box-shadow:inset 3px 0 0 var(--brand);}
.rk-voce{font-size:10.5px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:var(--brand-600,var(--brand));margin-left:4px;}
.rk-pos{width:22px;text-align:center;font-size:14px;flex:0 0 auto;}
.rk-pos .pos{font-size:12px;font-weight:700;color:var(--text-dim);font-variant-numeric:tabular-nums;}
.rk-av{width:28px;height:28px;border-radius:50%;flex:0 0 auto;display:grid;place-items:center;
  font-size:11.5px;font-weight:700;color:#fff;background-size:cover;background-position:center;}
.rk-nome{flex:1;min-width:0;font-size:13.5px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.rk-val{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap;}
.rk-val i{font-style:normal;font-size:11.5px;font-weight:400;color:var(--text-dim);}

.meta-perfil{display:flex;gap:22px;flex-wrap:wrap;align-items:center;}
.mp-fogo{text-align:center;padding:4px 18px 4px 0;border-right:1px solid var(--line);flex:0 0 auto;}
.mp-fogo b{display:block;font-size:30px;font-weight:600;line-height:1.1;color:var(--text-dim);}
.mp-fogo.on b{color:#C2410C;}
:root[data-tema="escuro"] .mp-fogo.on b{color:#FDBA74;}
.mp-fogo span{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;}
.mp-hoje{flex:1;min-width:220px;}
.mp-hoje-top{display:flex;justify-content:space-between;align-items:baseline;gap:12px;font-size:13.5px;}
.mp-hoje-top span{font-variant-numeric:tabular-nums;color:var(--text-dim);}
.mp-barra{height:8px;border-radius:999px;background:var(--mist);margin-top:8px;overflow:hidden;}
.mp-barra i{display:block;height:100%;border-radius:999px;background:var(--brand);transition:width .4s var(--ease);}
.mp-barra i.on{background:#15803D;}
:root[data-tema="escuro"] .mp-barra i.on{background:#4ADE80;}
.mp-pe{display:flex;gap:18px;flex-wrap:wrap;margin-top:10px;font-size:12px;color:var(--text-dim);}

.metas-cfg{margin-top:16px;padding-top:14px;border-top:1px solid var(--line);}
.metas-cfg summary{cursor:pointer;font-size:13px;font-weight:600;color:var(--text-dim);}
.metas-cfg summary:hover{color:var(--text);}
.metas-cfg-corpo{margin-top:12px;}
.metas-cfg-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin-top:10px;}
.metas-cfg-grade input{width:100%;}

/* a tirinha de dias: quadrado cheio = bateu, meio = mexeu mas não bateu */
.tira{display:flex;gap:5px;margin-top:14px;flex-wrap:wrap;}
.tira-d{width:30px;height:30px;border-radius:8px;display:grid;place-items:center;
  background:var(--mist);color:var(--text-dim);font-size:11px;font-weight:600;
  border:1px solid var(--line);}
.tira-d i{font-style:normal;}
.tira-d.meio{background:#FFF1E6;color:#C2410C;border-color:#FDBA74;}
.tira-d.on{background:#15803D;color:#fff;border-color:transparent;}
:root[data-tema="escuro"] .tira-d.meio{background:#43200c;color:#FDBA74;border-color:#7c3a12;}
:root[data-tema="escuro"] .tira-d.on{background:#166534;color:#DCFCE7;}

/* ───────────────────────── As casas (aba Casas e selos) ───────────────────
   Uma cor por casa, nos dois temas. O selo é a logo BRANCA da casa num
   redondo da cor dela (pedido de 03/10/2026).
   A capa da casa é o gradiente da cor com a logo branca grande e desfocada
   atrás e a mesma, nítida e apagada, à direita; a grega (meandro) no pé. */
/* Os clãs nórdicos do Vestibular (17/10/2026): Corvo, Urso, Lobo, Javali,
   Cavalo (a Raposa saiu em 17/10/2026). A faixa do pé da capa, que no Comercial era a grega
   (meandro), aqui é um ENTRELAÇADO celta: duas fitas de contorno duplo que se
   cruzam por cima e por baixo, como nos nós nórdicos (17/10/2026). A variável
   continua se chamando --meandro para o resto do CSS não mudar. */
/* Cores dos clãs (18/10/2026): Corvo ciano, Urso azul, Lobo vermelho, Javali
   verde; o Cavalo segue dourado. Escuras o bastante para a logo branca. */
:root{--crv:#0B7F94;--urs:#1F4FB8;--lob:#B3261E;--jav:#2E7D32;--cav:#B8860B;--sec:#8E2C6E;--fin:#B8950B;
  --meandro:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 12'%3E%3Cpath d='M-1 1.67L-0.5 1.58L0 1.55L0.5 1.58L1 1.67L1.5 1.81L2 2.01L2.5 2.25L3 2.55L3.5 2.88L4 3.25L4.5 3.65L5 4.07L5.5 4.51L6 4.95L6.5 5.39L7 5.83L7.5 6.25L8 6.65L8.5 7.02L9 7.35L9.5 7.65L10 7.89L10.5 8.09L11 8.23L11.5 8.32L12 8.35L12.5 8.32L13 8.23L13.5 8.09L14 7.89L14.5 7.65L15 7.35L15.5 7.02M20.5 2.88L21 2.55L21.5 2.25L22 2.01L22.5 1.81L23 1.67L23.5 1.58L24 1.55L24.5 1.58L25 1.67M-1 3.77L-0.5 3.68L0 3.65L0.5 3.68L1 3.77L1.5 3.91L2 4.11L2.5 4.35L3 4.65L3.5 4.98L4 5.35L4.5 5.75L5 6.17L5.5 6.61L6 7.05L6.5 7.49L7 7.93L7.5 8.35L8 8.75L8.5 9.12L9 9.45L9.5 9.75L10 9.99L10.5 10.19L11 10.33L11.5 10.42L12 10.45L12.5 10.42L13 10.33L13.5 10.19L14 9.99L14.5 9.75L15 9.45L15.5 9.12M20.5 4.98L21 4.65L21.5 4.35L22 4.11L22.5 3.91L23 3.77L23.5 3.68L24 3.65L24.5 3.68L25 3.77M-1 8.23L-0.5 8.32L0 8.35L0.5 8.32L1 8.23L1.5 8.09L2 7.89L2.5 7.65L3 7.35L3.5 7.02M8.5 2.88L9 2.55L9.5 2.25L10 2.01L10.5 1.81L11 1.67L11.5 1.58L12 1.55L12.5 1.58L13 1.67L13.5 1.81L14 2.01L14.5 2.25L15 2.55L15.5 2.88L16 3.25L16.5 3.65L17 4.07L17.5 4.51L18 4.95L18.5 5.39L19 5.83L19.5 6.25L20 6.65L20.5 7.02L21 7.35L21.5 7.65L22 7.89L22.5 8.09L23 8.23L23.5 8.32L24 8.35L24.5 8.32L25 8.23M-1 10.33L-0.5 10.42L0 10.45L0.5 10.42L1 10.33L1.5 10.19L2 9.99L2.5 9.75L3 9.45L3.5 9.12M8.5 4.98L9 4.65L9.5 4.35L10 4.11L10.5 3.91L11 3.77L11.5 3.68L12 3.65L12.5 3.68L13 3.77L13.5 3.91L14 4.11L14.5 4.35L15 4.65L15.5 4.98L16 5.35L16.5 5.75L17 6.17L17.5 6.61L18 7.05L18.5 7.49L19 7.93L19.5 8.35L20 8.75L20.5 9.12L21 9.45L21.5 9.75L22 9.99L22.5 10.19L23 10.33L23.5 10.42L24 10.45L24.5 10.42L25 10.33' fill='none' stroke='white' stroke-width='.8' stroke-linecap='round'/%3E%3C/svg%3E");}
:root[data-tema="escuro"]{--crv:#3FB8CC;--urs:#6E9BF0;--lob:#E8605A;--jav:#5DB863;--cav:#E2B23A;--sec:#D06AAE;--fin:#E2BE3A;}
.casa-crv{--c:var(--crv);} .casa-urs{--c:var(--urs);} .casa-lob{--c:var(--lob);}
.casa-jav{--c:var(--jav);} .casa-cav{--c:var(--cav);}
.casa-sec{--c:var(--sec);} .casa-fin{--c:var(--fin);}

.moeda{position:relative;display:inline-grid;place-items:center;border-radius:50%;flex:none;vertical-align:middle;
  background:radial-gradient(circle at 35% 28%,color-mix(in srgb,var(--c) 72%,#fff) 0,var(--c) 55%,color-mix(in srgb,var(--c) 78%,#000) 100%);
  box-sizing:border-box;
  box-shadow:0 0 0 2px var(--card),0 4px 10px -3px rgba(0,0,0,.3);}
.moeda img{width:66%;height:66%;object-fit:contain;display:block;}
/* preso na foto: no canto de baixo, à direita (a câmera foi para a esquerda) */
.selo-na-foto{position:absolute;right:-6px;bottom:-4px;}
.capa-av .selo-na-foto{right:-10px;bottom:-2px;}
.capa-av .av-cam{right:auto;left:2px;}
.pessoa-av{position:relative;}
.chip-casa{text-decoration:none;display:inline-flex;align-items:center;gap:6px;margin-top:8px;font-size:11px;font-weight:700;letter-spacing:.06em;
  text-transform:uppercase;padding:3px 10px;border-radius:999px;color:var(--c);background:color-mix(in srgb,var(--c) 13%,transparent);}
.lema-casa{font-family:'Times New Roman',Times,Georgia,serif;font-style:italic;color:var(--text-dim);margin:8px 0 0;font-size:15.5px;}

/* a capa da casa */
.capa-da-casa{position:relative;
  background:radial-gradient(120% 160% at 85% 0%,color-mix(in srgb,var(--c) 55%,#fff) 0,var(--c) 50%,color-mix(in srgb,var(--c) 72%,#000) 100%)!important;}
.capa-deco{position:absolute;inset:0;overflow:hidden;border-radius:inherit;pointer-events:none;}
.capa-deco::after{content:"";position:absolute;left:0;right:0;bottom:0;height:18px;opacity:.4;background:var(--meandro) repeat-x;background-size:36px 18px;}
.cd-borrado{position:absolute;left:-4%;top:50%;height:190%;transform:translateY(-50%);filter:blur(16px);opacity:.30;}
.cd-marca{position:absolute;right:4%;top:50%;height:80%;transform:translateY(-50%);opacity:.20;}
.pessoa-capa .cd-borrado{filter:blur(9px);}
.pessoa-capa .capa-deco::after{height:12px;background-size:24px 12px;}
@media (prefers-reduced-transparency: reduce){ .cd-borrado{display:none;} }

/* o torneio */
.torneio{margin-bottom:6px;}
.torneio-topo{display:flex;gap:18px;flex-wrap:wrap;align-items:flex-start;}
.torneio-topo>div:first-child{flex:1 1 320px;min-width:0;}
.torneio-topo h2{font-size:16px;font-weight:600;}
.torneio-lider{display:flex;align-items:center;gap:12px;margin-left:auto;padding:8px 16px 8px 8px;border-radius:999px;background:var(--mist);}
.torneio-lider span{display:block;font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.06em;}
.torneio-lider b{font-size:16px;}
.placar{display:grid;gap:12px;margin-top:16px;}
.pl-linha{display:grid;grid-template-columns:26px 30px minmax(0,1fr) auto;gap:12px;align-items:center;}
.pl-pos{text-align:center;font-weight:700;color:var(--text-dim);font-variant-numeric:tabular-nums;}
.pl-nome{font-size:14px;font-weight:600;display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;}
.pl-nome i{font-style:normal;color:var(--text-dim);font-weight:500;font-size:12px;}
.pl-barra{height:9px;border-radius:999px;background:var(--mist);margin-top:6px;overflow:hidden;}
.pl-barra span{display:block;height:100%;background:var(--c);border-radius:999px;transition:width .5s var(--ease);}
.pl-val{text-align:right;font-weight:700;font-size:18px;font-variant-numeric:tabular-nums;line-height:1.1;}
.pl-val i{display:block;font-style:normal;font-size:10.5px;font-weight:500;color:var(--text-dim);text-transform:uppercase;letter-spacing:.05em;}

/* os cartões das casas */
.casas-grade{display:grid;grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:16px;}
.casa{background:var(--card);border-radius:24px;box-shadow:var(--shadow-card),var(--hairline);overflow:hidden;display:flex;flex-direction:column;}
.casa-capa{height:96px;}
.casa-corpo{padding:0 20px 20px;display:flex;flex-direction:column;gap:5px;flex:1;position:relative;}
.casa-selo{margin-top:-34px;}
.casa h3{margin:6px 0 0;font-size:19px;font-weight:600;letter-spacing:-.02em;}
.casa-cargo{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--c);}
/* O que a casa representa e o ícone dela (casas nórdicas, 17/10/2026). */
.casa-signif{display:block;font-size:13px;font-weight:600;color:var(--text);margin:2px 0 4px;}
.casa-lema{font-family:'Times New Roman',Times,Georgia,serif;font-style:italic;font-size:16.5px;margin:4px 0 0;}
.casa-porque{color:var(--text-dim);font-size:13px;margin:0;}
.casa-gente{display:flex;flex-wrap:wrap;gap:10px;margin-top:auto;padding-top:14px;border-top:1px solid var(--line);}
.casa-pessoa{display:flex;flex-direction:column;align-items:center;gap:4px;text-decoration:none;color:inherit;width:56px;}
.casa-pessoa:hover .casa-av{transform:translateY(-2px);}
.casa-av{width:42px;height:42px;border-radius:50%;display:grid;place-items:center;color:#fff;font-weight:700;font-size:15px;
  background-size:cover;background-position:center;box-shadow:0 0 0 2px var(--card),0 0 0 3.5px var(--c);transition:transform .2s var(--ease);}
.casa-pessoa.eu .casa-pnome{color:var(--brand);font-weight:700;}
.casa-pnome{font-size:11.5px;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
@media (max-width:560px){ .pl-linha{grid-template-columns:22px 30px minmax(0,1fr) auto;gap:10px;} }

/* ─── O painel de uma campanha (19/10/2026, campanha-painel.js) ───────────────
   Tudo na cor da campanha (--cp, posta na janela). Texto nas cores de texto;
   a cor fica nas marcas. */
.cp-corpo{padding:16px 24px 24px;display:grid;gap:18px;overflow:auto;max-height:calc(100vh - 110px);}
.cp-cab{display:flex;align-items:center;gap:10px;flex-wrap:wrap;color:var(--text-dim);font-size:13.5px;}
.cp-ponto{width:12px;height:12px;border-radius:50%;background:var(--cp);flex:none;}
.cp-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;}
.cp-kpis.cp-custo{grid-template-columns:repeat(3,minmax(0,1fr));}
.cp-kpi{padding:12px 14px;border-radius:16px;background:var(--mist);display:flex;flex-direction:column;gap:2px;}
.cp-kpi span{font-size:11.5px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--text-dim);}
.cp-kpi b{font-size:24px;font-weight:700;letter-spacing:-.02em;font-variant-numeric:tabular-nums;}
.cp-kpis:first-of-type .cp-kpi:first-child{box-shadow:inset 3px 0 0 var(--cp);}
.cp-kpi small{font-size:12px;color:var(--text-dim);}
.cp-graf{padding:14px 16px;border-radius:18px;box-shadow:var(--hairline);min-width:0;}
.cp-graf h3{margin:0 0 4px;font-size:15px;font-weight:600;}
.cp-graf .cap{margin:0 0 10px;}
.cp-duas{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
.cp-svg{width:100%;height:auto;display:block;}
.cp-grade{stroke:var(--line);stroke-width:1;}
.cp-eixo{font-size:11px;fill:var(--text-dim);}
.cp-alvo{fill:transparent;}
.cp-barra{fill:var(--cp);}
g[data-dica]:hover .cp-barra{opacity:.8;}
.cp-mat{fill:var(--card);stroke:var(--cp);stroke-width:2;}
.cp-leg{display:flex;gap:16px;font-size:12px;color:var(--text-dim);margin-top:4px;}
.cp-leg i{display:inline-block;width:10px;height:10px;border-radius:3px;background:var(--cp);margin-right:6px;vertical-align:-1px;}
.cp-leg i.m{border-radius:50%;background:var(--card);box-shadow:inset 0 0 0 2px var(--cp);}
.cp-tabela{margin-top:8px;font-size:13px;}
.cp-tabela summary{cursor:pointer;color:var(--text-dim);}
.cp-tab{width:100%;border-collapse:collapse;margin-top:8px;font-variant-numeric:tabular-nums;}
.cp-tab th,.cp-tab td{padding:4px 8px;text-align:right;border-bottom:1px solid var(--line);}
.cp-tab th:first-child,.cp-tab td:first-child{text-align:left;}
.cp-funil{display:grid;gap:2px;}
.cp-etapa{font-size:14px;}
.cp-etapa .cp-hl-trilho{height:22px;border-radius:8px;}
.cp-etapa .cp-hl-trilho i{border-radius:8px;}
.cp-etapa .cp-hl-n{font-size:17px;}
.cp-passa{font-size:12px;color:var(--text-dim);padding-left:2px;}
.cp-hbarras{display:grid;gap:6px;}
.cp-hl{display:grid;grid-template-columns:minmax(90px,38%) minmax(0,1fr) auto;align-items:center;gap:10px;font-size:13px;padding:2px 0;}
.cp-hl-nome{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.cp-hl-trilho{height:12px;border-radius:999px;background:var(--mist);overflow:hidden;}
.cp-hl-trilho i{display:block;height:100%;border-radius:999px;background:var(--cp);}
.cp-hl-n{font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;}
.cp-hl-n small{font-weight:500;color:var(--text-dim);}
.cp-hl:hover .cp-hl-trilho i{opacity:.8;}
.cp-comp .cp-hl-trilho i{background:color-mix(in srgb,var(--cc) 45%,transparent);}
.cp-comp.esta .cp-hl-trilho i{background:var(--cc);}
.cp-comp.esta .cp-hl-nome{font-weight:700;}
.cp-tip{position:fixed;z-index:10;pointer-events:none;padding:8px 10px;border-radius:10px;font-size:12.5px;line-height:1.45;
  background:var(--text);color:var(--card);box-shadow:var(--shadow-float);max-width:260px;}
@media (max-width:760px){ .cp-kpis,.cp-kpis.cp-custo{grid-template-columns:repeat(2,minmax(0,1fr));} .cp-duas{grid-template-columns:1fr;}
  .cp-corpo{padding:14px 16px 20px;} }

/* ─── Os enfeites vikings da aba Clãs (18/10/2026) ───────────────────────────
   As runas (futhark antigo), o aro de escudo com rebites no selo e o drakkar
   do topo. A fonte das runas vem do Google Fonts na própria casas.html; o
   Windows tem o Segoe UI Historic como reserva. */
.runa{font-family:"Noto Sans Runic","Segoe UI Historic",serif;font-style:normal;letter-spacing:.14em;}
.casa-runas{display:flex;align-items:baseline;gap:8px;color:var(--c);margin-top:-2px;}
.casa-runas .runa{font-size:17px;}
.casa-runas i{font-family:'Times New Roman',Times,Georgia,serif;font-size:13.5px;color:var(--text-dim);}
/* o selo vira escudo: aro na cor do clã e uma volta de rebites */
.casa .casa-selo{box-shadow:0 0 0 3px var(--card),0 0 0 5.5px var(--c),0 6px 14px -4px rgba(0,0,0,.35);}
.casa .casa-selo::after{content:"";position:absolute;inset:4px;border-radius:50%;border:2px dotted rgba(255,255,255,.6);pointer-events:none;}
.runas-friso{display:flex;align-items:center;gap:14px;margin:22px 0 18px;color:var(--text-dim);opacity:.7;}
.runas-friso::before,.runas-friso::after{content:"";flex:1;height:1px;background:var(--line);}
.runas-friso .runa{font-size:14px;white-space:nowrap;overflow:hidden;max-width:calc(100% - 60px);}
/* o barco no azul da marca (18/10/2026), que acompanha o tema claro e o escuro */
.drakkar{--madeira:var(--brand);
  display:grid;grid-template-columns:minmax(0,1.7fr) minmax(200px,1fr);gap:8px 22px;align-items:center;overflow:hidden;}
/* a arte oficial (assets/casas/drakkar.svg, viewBox 3700×1560) como máscara */
.dk-arte{position:relative;aspect-ratio:3700/1560;}
.dk-barco{position:absolute;inset:0;background:var(--madeira);
  -webkit-mask:url("casas/drakkar.svg") center/100% 100% no-repeat;mask:url("casas/drakkar.svg") center/100% 100% no-repeat;}
/* o escudo do clã por cima do escudo da arte (raio 62 de 3700 de largura) */
.dk-escudo{position:absolute;width:3.5%;aspect-ratio:1;transform:translate(-50%,-50%);border-radius:50%;display:grid;place-items:center;
  background:var(--c);box-shadow:0 0 0 1.5px var(--madeira);cursor:default;transition:transform .2s var(--ease);}
.dk-escudo img{width:68%;height:68%;object-fit:contain;}
.dk-escudo:hover{transform:translate(-50%,-50%) scale(1.5);z-index:1;}
.dk-texto .runa{display:block;font-size:26px;color:var(--brand);margin-bottom:6px;}
.dk-texto p{margin:0;color:var(--text-dim);font-size:14px;}
@media (max-width:700px){ .drakkar{grid-template-columns:1fr;} }
@media (prefers-reduced-motion:reduce){ .dk-escudo{transition:none;} }

/* ───────────────────────── A porta do app (entrar.html) ───────────────────
   Uma coluna centralizada, no desenho da home de Projetos: o brasão, o nome
   da faculdade em Inter e "Formações Empresariais" em Times itálico; logo
   abaixo o login num cartão, com o título um pouco MENOR que essa chamada; e
   as seis casas por último. Fundo da página (branco no claro), como manda o
   kit; a grega corre no pé em azul. */
.entrar{position:relative;min-height:100vh;min-height:100dvh;display:flex;justify-content:center;align-items:center;background:var(--bg);
  background-image:radial-gradient(80% 50% at 50% 0%,var(--brand-50),transparent 70%);padding-inline:16px;}
.entrar::after{content:"";position:absolute;left:0;right:0;bottom:0;height:16px;opacity:.22;background:var(--brand);
  -webkit-mask:var(--meandro) repeat-x;-webkit-mask-size:32px 16px;mask:var(--meandro) repeat-x;mask-size:32px 16px;}
.entrar .serif{font-family:'Times New Roman',Times,serif;font-style:italic;font-weight:400;font-size:1.2em;letter-spacing:-.04em;}
.entrar-tema{position:absolute;top:20px;right:20px;}
.entrar-col{width:100%;max-width:980px;display:flex;flex-direction:column;align-items:center;text-align:center;padding-block:44px 64px;}
.entrar-logo{width:120px;height:auto;display:block;animation:entrarSobe .6s var(--ease) both;}
.entrar-titulo{margin:20px 0 30px;font-size:clamp(28px,4.4vw,52px);font-weight:500;line-height:1.1;letter-spacing:-.035em;color:var(--text);text-wrap:balance;}
.entrar-titulo span{display:block;animation:entrarSobe .6s var(--ease) both;}
/* A mesma hierarquia da home, mais enxuta (17/10/2026): a faculdade em linha
   fina, azul; o nome do app grande. Secretaria e Financeiro trocam a .l2. */
.entrar-titulo .l1{animation-delay:.08s;font-size:13px;font-weight:600;letter-spacing:.22em;text-transform:uppercase;color:var(--brand);line-height:1.4;}
.entrar-titulo .l2{animation-delay:.18s;font-family:'Times New Roman',Times,serif;font-style:italic;font-weight:400;
  font-size:clamp(56px,8vw,96px);line-height:1;letter-spacing:-.03em;margin-top:6px;}
@keyframes entrarSobe{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

.entrar-cartao{width:100%;max-width:420px;text-align:left;background:var(--card);border-radius:24px;padding:28px 28px 22px;
  box-shadow:var(--shadow-float),var(--hairline);display:flex;flex-direction:column;gap:6px;animation:entrarSobe .6s .26s var(--ease) both;}
.entrar-h2{margin:2px 0 0;font-size:clamp(22px,2.4vw,27px);font-weight:500;letter-spacing:-.035em;line-height:1.1;}
.entrar-cartao .sub{margin:2px 0 16px;}
.entrar-form{display:grid;gap:12px;}
.entrar-form .campo{margin:0;}
.entrar-form .erro:empty{display:none;}
.entrar-senha{position:relative;display:block;}
.entrar-senha input{width:100%;padding-right:92px;}
.entrar-olhar{position:absolute;right:6px;top:50%;transform:translateY(-50%);border:0;border-radius:999px;padding:6px 12px;
  background:var(--mist);color:var(--text-dim);font:inherit;font-size:12.5px;font-weight:600;cursor:pointer;}
.entrar-olhar:hover{color:var(--text);}
.entrar-btn{width:100%;justify-content:center;padding-block:13px;margin-top:4px;font-size:15px;}
.entrar-ajuda{margin-top:12px;font-size:13.5px;color:var(--text-dim);}
.entrar-ajuda summary{cursor:pointer;font-weight:600;color:var(--brand);width:max-content;max-width:100%;}
.entrar-ajuda p{margin:8px 0 0;line-height:1.55;}
.entrar-mestra{align-self:flex-start;margin-top:6px;border:0;background:none;padding:0;font:inherit;font-size:12.5px;color:var(--text-dim);
  text-decoration:underline;text-underline-offset:3px;cursor:pointer;}
.entrar-mestra:hover{color:var(--text);}

.entrar-casas{display:flex;flex-wrap:wrap;justify-content:center;gap:14px 18px;margin-top:36px;}
.entrar-casa{display:flex;flex-direction:column;align-items:center;gap:7px;width:66px;animation:entrarSobe .6s var(--ease) both;}
.entrar-casa:nth-child(1){animation-delay:.34s} .entrar-casa:nth-child(2){animation-delay:.38s} .entrar-casa:nth-child(3){animation-delay:.42s}
.entrar-casa:nth-child(4){animation-delay:.46s} .entrar-casa:nth-child(5){animation-delay:.5s} .entrar-casa:nth-child(6){animation-delay:.54s}
.entrar-casa i{font-style:normal;font-size:11px;font-weight:600;color:var(--text-dim);white-space:nowrap;}
/* Os setores têm nome comprido ("Secretaria Acadêmica"): a bolinha ganha mais largura. */
.entrar-casa:has(.casa-sec),.entrar-casa:has(.casa-fin){width:auto;min-width:66px;}
.entrar-pe{margin:22px 0 0;font-size:12px;color:var(--text-dim);}

@media (max-width:560px){
  .entrar-col{padding-block:56px 48px;}
  .entrar-logo{width:84px;}
  .entrar-titulo{margin:14px 0 22px;}
  .entrar-cartao{padding:22px 18px 18px;}
  .entrar-casas{gap:10px 8px;}
  .entrar-casa{width:52px;} .entrar-casa .moeda{width:36px!important;height:36px!important;}
  .entrar-casa i{font-size:10px;}
  .entrar-tema{top:12px;right:12px;}
}
@media (prefers-reduced-motion:reduce){ .entrar-logo,.entrar-titulo span,.entrar-cartao,.entrar-casa{animation:none;} }

/* Sala de Guerra: o Quadro das campanhas no topo, com o filtro em cima */
.sala-camp-filtro{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:10px;margin-bottom:10px;}
.sala-quadro{margin-bottom:18px;}
.sala-quadro .tl-row.alvo{cursor:pointer;}

/* 05/10/2026 — Os CRMs do projeto (SDR → Closer) no topo da tela do CRM. */
.crms-proj{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;}
.crms-proj a{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;text-decoration:none;
  font-size:14px;font-weight:700;color:var(--text-dim);background:var(--card);border:1px solid var(--border);}
.crms-proj a:hover{color:var(--ink);border-color:var(--brand);}
.crms-proj a[aria-current="page"]{background:var(--brand);color:var(--on-brand);border-color:var(--brand);
  box-shadow:0 8px 18px -8px rgba(var(--brand-rgb),.6);}
.crms-proj .n{font-size:12px;font-weight:600;opacity:.8;}
.crms-proj .seta{color:var(--text-dim);font-weight:700;}
.passa{grid-column:2 / -1;display:flex;align-items:center;gap:8px;font-size:13px;color:var(--text-dim);}
.passa select{max-width:260px;}
.passa[hidden]{display:none;}
.tag.passou{background:rgba(var(--brand-rgb),.10);color:var(--brand);}

/* ─── Follow-up (07/10/2026): bloco do card, avisos e a tela Follow-ups ─── */
.tag.fu{background:rgba(var(--brand-rgb),.10);color:var(--brand);}
.fu-item{padding:10px 12px;border-radius:12px;background:var(--mist,#F3F4F6);margin-top:6px;}
.fu-item.atrasado{background:var(--amber-wash);box-shadow:inset 3px 0 0 var(--yellow);}
.fu-quando{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.fu-det{font-size:12.5px;color:var(--text-dim);margin-top:3px;}
.fu-nota{margin-top:4px;}
.fu-acoes{gap:6px;margin-top:8px;flex-wrap:wrap;}
.fu-vazio{padding:10px 12px;border-radius:12px;background:var(--amber-wash);font-size:13.5px;}
.fu-mais{margin-top:8px;font-size:13px;}
.fu-mais summary{cursor:pointer;color:var(--text-dim);font-weight:600;}
.fu-feito{padding:6px 0;border-bottom:1px solid var(--ring,#E1E4EA);}
.fu-form{margin-top:10px;padding:12px;border-radius:12px;box-shadow:inset 0 0 0 1px var(--ring,#E1E4EA);display:flex;flex-direction:column;gap:8px;}
.fu-form .campo{margin:0;}
.fu-rapido{display:flex;gap:6px;flex-wrap:wrap;}
.fu-grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:0 10px;}
.fu-avisos{position:fixed;right:16px;bottom:16px;z-index:60;display:flex;flex-direction:column;gap:10px;max-width:min(340px,calc(100vw - 32px));}
.fu-aviso{padding:14px 16px;border-radius:16px;background:var(--card,#fff);color:var(--text);
  box-shadow:0 14px 30px -10px rgba(16,24,40,.28),0 0 0 1px var(--ring,#E1E4EA);border-left:4px solid var(--brand);}
.fu-aviso.atrasado{border-left-color:var(--yellow);}
.fu-aviso-t{font-weight:700;}
.fu-aviso-n{font-size:15px;margin-top:2px;}
.fu-aviso-m{font-size:13px;color:var(--text-dim);margin-top:2px;}
.fu-lista{display:flex;flex-direction:column;gap:8px;}
.fu-linha{display:grid;grid-template-columns:120px 1fr auto;gap:12px;align-items:center;padding:12px 14px;border-radius:14px;
  background:var(--card,#fff);box-shadow:inset 0 0 0 1px var(--ring,#E1E4EA);}
.fu-linha.atrasado{box-shadow:inset 3px 0 0 var(--yellow),inset 0 0 0 1px var(--ring,#E1E4EA);}
.fu-linha .q{font-weight:700;font-variant-numeric:tabular-nums;}
.fu-linha .q small{display:block;font-weight:500;color:var(--text-dim);}
.fu-linha .acoes{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end;}
@media (max-width:640px){ .fu-linha{grid-template-columns:1fr;} .fu-linha .acoes{justify-content:flex-start;} }
.ligados a{color:inherit;font-weight:600;}
.ligados div+div{margin-top:6px;}
.aviso-rapido{position:fixed;left:50%;bottom:24px;transform:translateX(-50%);z-index:50;max-width:calc(100% - 32px);
  padding:12px 18px;border-radius:14px;background:var(--ink);color:var(--card);font-size:14px;font-weight:600;
  box-shadow:0 12px 30px -12px rgba(0,0,0,.45);}

/* Sala de Guerra (07/10/2026): os atalhos das telas que moram nela e o
   quadro de Secretaria e Financeiro, com cada número levando à fila. */
.sala-abas{display:flex;flex-wrap:wrap;gap:4px;margin:-8px 0 22px;padding:4px;border-radius:16px;background:var(--mist,#F3F4F6);width:fit-content;max-width:100%;}
.sala-abas a{padding:8px 14px;border-radius:12px;color:var(--text-dim,#3a4150);font-size:14px;font-weight:600;text-decoration:none;white-space:nowrap;}
.sala-abas a:hover{color:var(--text);background:var(--card,#fff);}
.sala-abas a[aria-current="page"]{color:var(--text);background:var(--card,#fff);box-shadow:0 1px 2px rgba(16,24,40,.08),inset 0 0 0 1px var(--ring,#E1E4EA);}
.sala-abas .selo{margin-left:2px;}
.sala-pos{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:8px 22px;}
.sala-pos h3{margin:6px 0 0;font-size:15px;}
.sala-pos .kpis{margin-top:10px;}
a.kpi{display:block;color:var(--text);text-decoration:none;transition:box-shadow .15s ease,transform .15s ease;}
a.kpi:hover,a.kpi:focus-visible{box-shadow:inset 0 0 0 1px var(--accent);transform:translateY(-1px);}

/* 08/10/2026 — etiquetas com cor, campos de fases passadas e o trabalho do SDR. */
.etq-nova{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:10px;}
.etq-nova input[type=text]{flex:1;min-width:180px;}
.etq-paleta button{width:22px;height:22px;border-radius:6px;}
.etq-lista{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px;}
.etq-lista li{border:1px solid var(--border);border-radius:12px;padding:8px 10px;}
.etq-linha{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.etq-edicao{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px;}
.etq-edicao input[type=text]{flex:1;min-width:160px;}
.chk-lista label .tag.etq{font-size:11.5px;}
.campo.travado input,.campo.travado select,.campo.travado textarea{background:var(--mist);border-color:transparent;color:var(--text);cursor:default;}
details.topico>summary [data-soltar]{margin-left:6px;padding:1px 8px;font-size:11.5px;}
.sdr-trabalho .sdr-topico{margin:8px 0;}
.sdr-trabalho .sdr-topico>b{font-size:12px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;}
.sdr-trabalho dl{margin:4px 0 0;display:grid;grid-template-columns:minmax(0,40%) minmax(0,1fr);gap:3px 10px;font-size:13px;}
.sdr-trabalho dt{color:var(--text-dim);}
.sdr-trabalho dd{margin:0;white-space:pre-wrap;overflow-wrap:anywhere;}
.sdr-hist summary{cursor:pointer;font-size:13px;font-weight:600;margin-top:6px;}

/* 08/10/2026 — a home do CRM único: SDR e Closer grandes, cursos embaixo. */
.grade-dois{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));}
.crm-card.crm-grande h2{font-size:22px;}
.crm-card.curso h2{font-size:16px;}
.crm-card .pe button.editar{border:0;font-family:inherit;cursor:pointer;}

/* 08/10/2026 — o aviso do app (popup.js), no lugar do alert() do navegador. */
.popup-aviso{max-width:420px;}
.popup-corpo{padding:26px 26px 22px;text-align:center;}
.popup-ico{font-size:30px;line-height:1;margin-bottom:10px;}
.popup-corpo h2{margin:0 0 8px;font-size:18px;}
.popup-texto{color:var(--text-dim);font-size:14px;line-height:1.5;}
.popup-texto p{margin:0 0 8px;}
.popup-texto b{color:var(--text);}
.popup-fases{display:flex;flex-wrap:wrap;justify-content:center;gap:6px;margin:4px 0 6px;}
.popup-fase{font-size:12px;font-weight:600;padding:4px 10px;border-radius:999px;color:var(--text);
  background:color-mix(in srgb,var(--cor) 14%,transparent);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--cor) 45%,transparent);}
.ajuda-campo{display:block;font-size:12px;font-weight:400;color:var(--text-dim);margin:-2px 0 6px;}
.desc-calc{padding:8px 12px;border-radius:12px;background:var(--bg-2);font-size:13px;font-variant-numeric:tabular-nums;}
.desc-calc>div{display:flex;justify-content:space-between;gap:12px;padding:2px 0;}
.desc-calc>div span{color:var(--text-dim);}
.fase-ver{display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-height:38px;}
.mover-para{margin:0 0 12px;padding:10px 12px;border-radius:12px;background:var(--bg-2);}
button.popup-fase{border:0;cursor:pointer;font-family:inherit;}
button.popup-fase:hover{background:color-mix(in srgb,var(--cor) 28%,transparent);}
.popup-corpo .btn{margin-top:14px;min-width:140px;}
