/* =============================================================
   Portal do PPE · complementos à identidade SELEM (selem.css)
   Direção: chique e minimalista, conforme o Manual de Marca.
   Navy domina (barra lateral), areia é a superfície de leitura,
   dourado só como fio, número e rótulo (≤10%). Sem cartão branco
   flutuante: as seções se separam por fio fino e respiro.
   ============================================================= */

:root { --fio: rgba(16,26,38,.12); --mudo: #8a7c6c; }

/* ---------- Login ---------- */
.logo-login { height: 44px; width: auto; display: block; margin: 0 auto; }

/* ---------- Estrutura: barra lateral navy + leitura em areia ---------- */
.layout { display: grid; grid-template-columns: 264px minmax(0, 1fr); min-height: 100vh; }
.lateral { background: var(--navy); color: var(--bege); padding: 36px 28px 28px; position: sticky; top: 0; height: 100vh;
  display: flex; flex-direction: column; }
.lateral .marca { padding-bottom: 26px; }
.lateral .marca img { height: 24px !important; width: auto !important; max-width: 150px; display: block; }
.lateral .marca small { display: block; font: 500 .62rem/1 "Archivo", sans-serif; letter-spacing: .22em; text-transform: uppercase; color: var(--ouro-2); margin-top: 12px; }
.lateral .escr { font-family: "Cormorant Garamond", serif; font-size: 1.45rem; font-weight: 600; color: var(--areia); line-height: 1.12;
  padding: 22px 0 26px; border-top: 1px solid rgba(230,219,196,.14); }
.lateral nav { display: flex; flex-direction: column; }
.lateral nav a, .lateral nav button { display: block; width: 100%; text-align: left; background: none; border: 0; border-left: 1px solid transparent;
  color: rgba(230,219,196,.72); padding: 11px 0 11px 16px; margin-left: -1px; cursor: pointer; text-decoration: none;
  font: 500 .78rem/1.2 "Archivo", sans-serif; letter-spacing: .14em; text-transform: uppercase; transition: color .15s, border-color .15s; }
.lateral nav a:hover, .lateral nav button:hover { color: var(--areia); }
.lateral nav .sel { color: var(--ouro-2); border-left-color: var(--ouro); }
.lateral nav .ico { display: none; }
.lateral .sep { height: 1px; background: rgba(230,219,196,.14); margin: 16px 0; }
.lateral .rodape-lat { margin-top: auto; padding-top: 22px; border-top: 1px solid rgba(230,219,196,.14); font-size: .82rem; color: rgba(230,219,196,.75); }
.lateral .rodape-lat b { display: block; color: var(--areia); font-weight: 500; margin-bottom: 10px; }
.lateral .btn-linha { color: var(--areia); border-color: rgba(230,219,196,.35); background: transparent; box-shadow: none; }
.lateral .btn-linha:hover { border-color: var(--ouro); color: #fff; background: transparent; }
.conteudo { min-width: 0; background: var(--areia); }
.conteudo .wrap { padding: 56px 56px 96px; max-width: 1080px; }
.conteudo .wrap-lg { max-width: 1180px; }
.conteudo h1 { font-size: clamp(2.3rem, 3.6vw, 3rem); margin-bottom: 14px; }
.conteudo .ripas { margin-bottom: 40px; }
.abas-ppe { display: none; }
.rodape, .rodape-selem { background: transparent; }

/* ---------- Seções em vez de cartões ---------- */
.conteudo .card { background: transparent; border: 0; border-top: 1px solid var(--fio); border-radius: 0; box-shadow: none; padding: 26px 0 8px; margin: 0; }
.conteudo h3 { font-size: 1.45rem; margin-bottom: 14px; }
.grid { display: grid; gap: 0 40px; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); }
.grid-2 { display: grid; gap: 0 56px; grid-template-columns: 1fr 1fr; }
@media (max-width: 1100px) { .grid-2 { grid-template-columns: 1fr; } }
.vazio { padding: 28px 0; color: var(--mudo); border-top: 1px solid var(--fio); font-size: .95rem; }
.nota-fase { font-size: .8rem; color: var(--mudo); margin-top: 14px; }

/* ---------- Rótulos e estados (texto, não etiqueta colorida) ---------- */
.cod { font: 600 .66rem/1 "Archivo", sans-serif; letter-spacing: .18em; text-transform: uppercase; color: var(--ouro); }
.area-tag { font: 500 .66rem/1 "Archivo", sans-serif; letter-spacing: .18em; text-transform: uppercase; color: var(--navy); }
.area-tag::after { content: "·"; margin: 0 6px; color: var(--ouro); }
.status-chip { display: inline-block; font: 500 .66rem/1 "Archivo", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--mudo); padding: 0; border: 0; background: none; }
.status-chip::before { content: ""; display: inline-block; width: 6px; height: 6px; border-radius: 50%; background: var(--linha); margin-right: 7px; vertical-align: 1px; }
.status-chip.ok { color: var(--navy); } .status-chip.ok::before { background: var(--ouro); }
.status-chip.andamento { color: var(--navy); } .status-chip.andamento::before { background: var(--navy); }
.status-chip.atraso, .status-chip.risco { color: var(--bordo); } .status-chip.atraso::before, .status-chip.risco::before { background: var(--bordo); }

/* ---------- Progresso: fio fino ---------- */
.prog { margin: 12px 0 2px; }
.prog-track { height: 2px; border-radius: 0; background: var(--fio); overflow: hidden; }
.prog-fill { height: 100%; background: var(--ouro); border-radius: 0; transition: width .45s ease; }
.prog-lbl { font: 500 .7rem/1.3 "Archivo", sans-serif; letter-spacing: .06em; color: var(--mudo); margin-top: 8px; }
.prog.completo .prog-lbl { color: var(--ouro); }

/* ---------- Abertura do ciclo (bloco navy com ripas) ---------- */
.hero-ciclo { position: relative; background: var(--navy); color: var(--bege); padding: 44px 48px; margin-bottom: 44px; overflow: hidden; }
.hero-ciclo::before { content: ""; position: absolute; right: 48px; top: 44px; width: 120px; height: 14px; opacity: .55;
  background-image: repeating-linear-gradient(to bottom, var(--ouro) 0, var(--ouro) 1.5px, transparent 1.5px, transparent 4.5px); }
.hero-ciclo .kicker { color: var(--ouro-2); margin-bottom: 14px; }
.hero-ciclo h2 { color: var(--areia); font-family: "Cormorant Garamond", serif; font-weight: 600; letter-spacing: 0; text-transform: none; font-size: clamp(1.5rem, 2.2vw, 1.95rem); line-height: 1.22; margin-bottom: 10px; max-width: 780px; }
.hero-ciclo h2::after { display: none; }
.hero-ciclo p { margin: 10px 0 0; font-size: .95rem; color: rgba(230,219,196,.85); max-width: 780px; }
.hero-ciclo .prog { margin-top: 26px; max-width: 420px; }
.hero-ciclo .prog-track { background: rgba(230,219,196,.18); }
.hero-ciclo .prog-lbl { color: rgba(230,219,196,.8); }

/* ---------- Números grandes (sem caixa) ---------- */
.kpis { display: grid; gap: 0 40px; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); margin: 0 0 52px; border-top: 1px solid var(--fio); border-bottom: 1px solid var(--fio); padding: 24px 0; }
.kpi { background: none; border: 0; border-radius: 0; padding: 0; }
.kpi .n { font-family: "Cormorant Garamond", serif; font-size: 2.9rem; font-weight: 600; color: var(--navy); line-height: 1; }
.kpi .l { font: 500 .66rem/1.3 "Archivo", sans-serif; letter-spacing: .18em; text-transform: uppercase; color: var(--ouro); margin-top: 8px; }

/* ---------- Listas em fio ---------- */
.lista { list-style: none; margin: 0; padding: 0; }
.lista li { display: flex; gap: 22px; align-items: flex-start; padding: 16px 0; border-bottom: 1px solid var(--fio); }
.lista li:last-child { border-bottom: 0; }
.lista .quando { flex: 0 0 96px; font-family: "Cormorant Garamond", serif; font-weight: 600; font-size: 1.35rem; color: var(--navy); line-height: 1; }
.lista .quando small { display: block; font: 500 .62rem/1 "Archivo", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--ouro); margin-top: 6px; }
.lista .oque { flex: 1; }
.lista .oque b { display: block; color: var(--navy); font-weight: 500; font-size: 1rem; }
.lista .oque small { display: block; color: var(--tinta); font-size: .88rem; margin: 2px 0 6px; }

/* ---------- Títulos de seção e linhas editoriais ---------- */
.conteudo h2 { font-size: .78rem; font-family: "Archivo", sans-serif; font-weight: 500; letter-spacing: .2em; text-transform: uppercase; color: var(--navy); margin: 8px 0 6px; }
.conteudo h2::after { content: ""; display: block; width: 36px; height: 1px; background: var(--ouro); margin-top: 10px; }
.card-prot { display: block; border-top: 1px solid var(--fio); padding: 24px 0 26px; text-decoration: none; transition: none; }
.card-prot:hover { transform: none; box-shadow: none; }
.card-prot:hover h3 { color: var(--bordo); }
.card-prot h3 { margin: 10px 0 8px; font-size: 1.5rem; line-height: 1.12; transition: color .15s; }
.card-prot .desc { font-size: .9rem; color: var(--tinta); display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; overflow: hidden; }
.card-prot > div:last-child { margin-top: 10px; }

/* ---------- Tabela do plano ---------- */
.tabela { width: 100%; border-collapse: collapse; font-size: .92rem; }
.tabela th { text-align: left; font: 500 .64rem/1 "Archivo", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--ouro); padding: 10px 12px 10px 0; border-bottom: 1px solid var(--fio); }
.tabela td { padding: 14px 12px 14px 0; border-bottom: 1px solid var(--fio); vertical-align: top; }
.tabela td.semana { white-space: nowrap; font-family: "Cormorant Garamond", serif; font-weight: 600; font-size: 1.1rem; color: var(--navy); }
.tabela td.titulo b { font-weight: 500; color: var(--navy); }
.tabela td.titulo small { color: var(--tinta); }
.tabela tr.feita td { opacity: .55; }
.tabela tr.feita td.titulo b { text-decoration: line-through; text-decoration-color: var(--ouro); }
.check { width: 14px; height: 14px; border-radius: 50%; border: 1px solid var(--navy); display: inline-block; vertical-align: middle; }
.check.on { background: var(--ouro); border-color: var(--ouro); }

/* ---------- Primeiros passos ---------- */
.passos { display: grid; gap: 0 40px; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); }
.passo { border: 0; border-top: 1px solid var(--fio); border-radius: 0; padding: 16px 0 18px; background: none; }
.passo .et { font: 500 .62rem/1 "Archivo", sans-serif; letter-spacing: .18em; text-transform: uppercase; color: var(--ouro); }
.passo b { display: block; color: var(--navy); font-weight: 500; margin: 8px 0 4px; font-size: 1.02rem; }
.passo small { color: var(--tinta); font-size: .84rem; }

/* ---------- Conquistas ---------- */
.conq { display: flex; gap: 18px; align-items: flex-start; padding: 18px 0; border: 0; border-top: 1px solid var(--fio); border-radius: 0; background: none; }
.conq.falta { opacity: .4; }
.conq .medalha { width: 36px; height: 36px; border-radius: 50%; border: 1px solid var(--ouro); background: none; color: var(--ouro); display: flex; align-items: center; justify-content: center; font-family: "Cormorant Garamond", serif; font-size: 1.1rem; flex: 0 0 36px; }
.conq:not(.falta) .medalha { background: var(--ouro); color: var(--navy); }
.conq.falta .medalha { border-color: var(--fio); color: var(--mudo); }
.conq b { display: block; color: var(--navy); font-weight: 500; }
.conq small { font-size: .84rem; color: var(--tinta); }

/* ---------- Aulas ---------- */
.aula { display: flex; flex-direction: column; gap: 8px; border-top: 1px solid var(--fio); padding: 22px 0 26px; }
.aula .thumb { aspect-ratio: 16/9; background: var(--navy); display: flex; align-items: flex-end; padding: 18px 20px; color: var(--ouro-2); font: 500 .66rem/1 "Archivo", sans-serif; letter-spacing: .18em; text-transform: uppercase; position: relative; }
.aula .thumb::before { content: ""; position: absolute; left: 20px; top: 18px; width: 54px; height: 10px; opacity: .6;
  background-image: repeating-linear-gradient(to bottom, var(--ouro) 0, var(--ouro) 1.5px, transparent 1.5px, transparent 4.5px); }
.aula iframe { width: 100%; aspect-ratio: 16/9; border: 0; }
.aula h3 { font-size: 1.4rem; margin: 6px 0 0; }
.aula p { font-size: .88rem; color: var(--tinta); }

/* ---------- Documentos ---------- */
.doc-lista a { display: flex; gap: 18px; align-items: baseline; padding: 12px 0; border-bottom: 1px solid var(--fio); text-decoration: none; color: var(--navy); font-size: .96rem; }
.doc-lista a:hover { color: var(--bordo); }
.doc-lista .cat { font: 500 .62rem/1 "Archivo", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--ouro); min-width: 92px; }
.voltar { display: inline-block; font: 500 .7rem/1 "Archivo", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--mudo); text-decoration: none; margin-bottom: 26px; }
.voltar:hover { color: var(--bordo); }

/* ---------- Botões no conteúdo: discretos ---------- */
.conteudo .btn { box-shadow: none; }
.conteudo .btn-sm { padding: 10px 18px; font-size: .74rem; letter-spacing: .12em; text-transform: uppercase; font-weight: 500; }
.filtros { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 16px; }

/* ---------- Responsivo ---------- */
@media (max-width: 860px) {
  .layout { grid-template-columns: 1fr; }
  .lateral { position: relative; height: auto; padding: 22px 20px 18px; }
  .lateral .escr { padding: 16px 0; }
  .lateral nav { flex-direction: row; flex-wrap: wrap; gap: 2px 18px; }
  .lateral nav a, .lateral nav button { width: auto; padding: 8px 0; border-left: 0; border-bottom: 1px solid transparent; margin: 0; font-size: .7rem; }
  .lateral nav .sel { border-left: 0; border-bottom-color: var(--ouro); }
  .lateral .sep { display: none; }
  .lateral .rodape-lat { margin-top: 12px; padding-top: 14px; display: flex; align-items: center; justify-content: space-between; gap: 10px; }
  .lateral .rodape-lat b { margin: 0; }
  .conteudo .wrap { padding: 36px 20px 72px; }
  .hero-ciclo { padding: 30px 24px; }
  .hero-ciclo::before { display: none; }
  .kpis { gap: 18px 24px; }
  .kpi .n { font-size: 2.2rem; }
  .lista .quando { flex-basis: 74px; font-size: 1.15rem; }
}

/* =============================================================
   Passo 2 (pedido da Lara, 20/10): mais limpo, escala menor,
   informação mais fácil de achar. Sobrescreve o que está acima.
   ============================================================= */
.conteudo { font-size: 15px; line-height: 1.55; }
.conteudo .wrap { padding: 44px 48px 80px; max-width: 980px; }
.conteudo h1 { font-size: clamp(1.9rem, 2.8vw, 2.4rem); margin-bottom: 10px; }
.conteudo .ripas { margin-bottom: 30px; height: 10px; width: 56px; }
.conteudo h3 { font-size: 1.2rem; margin-bottom: 10px; }
.conteudo .kicker { font-size: .62rem; letter-spacing: .18em; }

/* Barra lateral: itens menores, menos "botão" */
.layout { grid-template-columns: 232px minmax(0, 1fr); }
.lateral { padding: 30px 24px 24px; }
.lateral .marca img { height: 20px !important; }
.lateral .marca small { font-size: .56rem; margin-top: 10px; }
.lateral .escr { font-size: 1.2rem; padding: 18px 0 20px; }
.lateral nav a, .lateral nav button { font-size: .68rem; letter-spacing: .12em; padding: 8px 0 8px 14px; }
.lateral .rodape-lat { font-size: .76rem; padding-top: 16px; }
.lateral .rodape-lat b { margin-bottom: 8px; }
.lateral .btn-linha.btn-sm { padding: 6px 12px; font-size: .66rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 500; }

/* Botões: discretos em toda parte */
.btn { padding: 10px 18px; font-size: .76rem; letter-spacing: .1em; text-transform: uppercase; font-weight: 500; border-radius: 3px; }
.btn-sm, .conteudo .btn-sm { padding: 7px 14px; font-size: .66rem; letter-spacing: .12em; }
.split-login .btn-ouro { width: auto !important; margin-top: 18px; padding: 11px 26px; }
.split-login input { font-size: .95rem; padding: 10px 12px; }

/* Abertura do ciclo: bloco claro, fio dourado à esquerda, texto legível */
.conteudo .hero-ciclo { background: transparent; color: var(--tinta); padding: 4px 0 22px 22px; margin-bottom: 30px; border-left: 2px solid var(--ouro); border-top: 0; overflow: visible; }
.conteudo .hero-ciclo::before { display: none; }
.conteudo .hero-ciclo .kicker { color: var(--ouro); margin-bottom: 8px; }
.conteudo .hero-ciclo h2 { color: var(--navy); font-family: "Cormorant Garamond", serif; font-weight: 600; letter-spacing: 0; text-transform: none; font-size: 1.35rem; line-height: 1.3; margin: 0 0 6px; max-width: 720px; }
.conteudo .hero-ciclo h2::after { display: none; }
.conteudo .hero-ciclo p { color: var(--tinta); font-size: .9rem; margin: 6px 0 0; max-width: 720px; }
.conteudo .hero-ciclo .prog { margin-top: 16px; max-width: 360px; }
.conteudo .hero-ciclo .prog-track { background: var(--fio); }
.conteudo .hero-ciclo .prog-lbl { color: var(--mudo); }

/* Números: menores, em linha */
.kpis { margin: 0 0 36px; padding: 18px 0; gap: 0 28px; }
.kpi .n { font-size: 2.1rem; }
.kpi .l { font-size: .6rem; letter-spacing: .16em; margin-top: 6px; }

/* Seções e listas mais compactas */
.conteudo .card { padding: 20px 0 6px; }
.grid-2 { gap: 0 44px; }
.lista li { padding: 12px 0; gap: 18px; }
.lista .quando { flex-basis: 84px; font-size: 1.15rem; }
.lista .quando small { font-size: .58rem; margin-top: 5px; }
.lista .oque b { font-size: .95rem; }
.lista .oque small { font-size: .84rem; }
.conteudo h2 { font-size: .68rem; letter-spacing: .18em; }
.conteudo h2::after { width: 28px; margin-top: 8px; }
.card-prot { padding: 18px 0 20px; }
.card-prot h3 { font-size: 1.25rem; margin: 8px 0 6px; }
.card-prot .desc { font-size: .86rem; -webkit-line-clamp: 2; }
.cod, .area-tag, .status-chip { font-size: .6rem; letter-spacing: .16em; }
.prog-lbl { font-size: .64rem; }
.tabela { font-size: .88rem; }
.tabela td { padding: 11px 12px 11px 0; }
.tabela td.semana { font-size: 1rem; }
.passo { padding: 12px 0 14px; }
.passo b { font-size: .95rem; margin: 6px 0 3px; }
.passo small { font-size: .8rem; }
.conq { padding: 14px 0; gap: 14px; }
.conq .medalha { width: 30px; height: 30px; flex-basis: 30px; font-size: .95rem; }
.conq small { font-size: .8rem; }
.aula { padding: 16px 0 20px; }
.aula h3 { font-size: 1.15rem; }
.aula p { font-size: .84rem; }
.doc-lista a { font-size: .92rem; padding: 10px 0; }
.nota-fase { font-size: .74rem; }
@media (max-width: 860px) { .conteudo .wrap { padding: 28px 18px 60px; } }

/* ---------- Agenda: calendário mensal + lista ---------- */
.agenda-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr); gap: 0 44px; align-items: start; }
@media (max-width: 1100px) { .agenda-grid { grid-template-columns: 1fr; } }
.cal-cab { display: flex; align-items: center; justify-content: space-between; margin-bottom: 10px; }
.cal-cab h3 { margin: 0; font-size: 1.3rem; text-transform: capitalize; }
.cal-cab h3 span { color: var(--mudo); font-weight: 500; }
.cal-nav { background: none; border: 1px solid var(--fio); color: var(--navy); width: 30px; height: 30px; border-radius: 50%; cursor: pointer; font-size: 1.1rem; line-height: 1; }
.cal-nav:hover { border-color: var(--ouro); color: var(--bordo); }
.cal-sem { display: grid; grid-template-columns: repeat(7, 1fr); font: 500 .58rem/1 "Archivo", sans-serif; letter-spacing: .14em; color: var(--ouro); text-align: center; padding: 6px 0; border-bottom: 1px solid var(--fio); }
.cal { display: grid; grid-template-columns: repeat(7, 1fr); border-left: 1px solid var(--fio); }
.cal-dia { min-height: 68px; border-right: 1px solid var(--fio); border-bottom: 1px solid var(--fio); padding: 6px 6px 4px; display: flex; flex-direction: column; gap: 3px; }
.cal-dia.vazio { background: rgba(16,26,38,.025); }
.cal-dia .n { font: 500 .7rem/1 "Archivo", sans-serif; color: var(--mudo); }
.cal-dia.tem .n { color: var(--navy); }
.cal-dia.hoje .n { color: var(--bordo); font-weight: 700; }
.cal-dia .ev { display: block; font: 500 .56rem/1.25 "Archivo", sans-serif; letter-spacing: .04em; text-transform: uppercase; color: var(--navy); padding: 2px 4px; border-left: 2px solid var(--navy); background: rgba(16,26,38,.05); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.cal-dia .ev.checkpoint, .cal-dia .ev.checkin { border-left-color: var(--ouro); background: rgba(184,151,63,.12); }
.cal-dia .ev.mastermind { border-left-color: var(--bordo); background: rgba(92,26,34,.07); }
@media (max-width: 860px) { .cal-dia { min-height: 46px; padding: 4px; } .cal-dia .ev { font-size: 0; padding: 0; height: 4px; border-left: 0; background: var(--navy); } .cal-dia .ev.checkpoint, .cal-dia .ev.checkin { background: var(--ouro); } }

/* calendário: colunas fixas, siglas de 3 letras */
.cal { grid-template-columns: repeat(7, minmax(0, 1fr)); }
.cal-dia { min-width: 0; }
.cal-dia .ev { width: fit-content; letter-spacing: .1em; font-size: .58rem; }

/* ---------- Ficha do escritório (painel) ---------- */
.termo { display: grid; grid-template-columns: minmax(220px, 1fr) 2fr; gap: 0 40px; align-items: start; padding: 4px 0 18px; border-bottom: 1px solid var(--fio); }
@media (max-width: 900px) { .termo { grid-template-columns: 1fr; } }
.termo-sem { border-left: 2px solid var(--linha); padding-left: 18px; }
.termo-sem.tudo_certo { border-left-color: var(--ouro); } .termo-sem.atencao { border-left-color: #b87a2b; } .termo-sem.em_risco { border-left-color: var(--bordo); }
.termo-sem .termo-txt { margin: 4px 0 6px; }
.termo-sem .termo-txt .status-chip { font-family: "Cormorant Garamond", serif; font-size: 1.6rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--navy); }
.termo-sem p { font-size: .9rem; margin: 0; }
.registro { border-top: 1px solid var(--fio); padding: 16px 0 18px; }
.registro .reg-cab { display: flex; gap: 14px; align-items: baseline; margin-bottom: 4px; }
.registro h3 { font-size: 1.15rem; margin: 2px 0 6px; }
.registro p { font-size: .9rem; margin: 0 0 8px; max-width: 820px; }
.registro .prox { color: var(--navy); }
.registro .prox b { font-weight: 500; }
.conteudo section.card { padding-top: 26px; margin-top: 10px; }
.conteudo section h2 { margin-bottom: 14px; }

/* =============================================================
   Passo 3 (Lara, 20/10): "ruim de ler". Mais corpo de texto,
   mais contraste entre seções (painéis brancos planos sobre a areia,
   sem sombra), rótulos maiores, títulos de seção em serifa.
   ============================================================= */
:root { --texto: #2b2420; --fio: rgba(16,26,38,.14); --mudo: #6f6257; }
.conteudo { font-size: 16px; line-height: 1.6; color: var(--texto); }
.conteudo .wrap { max-width: 1040px; padding: 40px 44px 80px; }
.conteudo p, .conteudo li, .conteudo td { color: var(--texto); }
.conteudo small, .lista .oque small, .passo small, .conq small, .aula p, .card-prot .desc, .tabela td.titulo small, .registro p { color: #4a3f36; }

/* Seções viram painéis brancos planos, com respiro interno */
.conteudo .card, .conteudo section.card { background: var(--branco); border: 1px solid var(--fio); border-radius: 4px; padding: 24px 28px 22px; margin: 0 0 20px; }
.conteudo section.card { margin-top: 0; }
.grid-2 > .card { margin-bottom: 20px; }
.grid-2 { gap: 20px 24px; }
.grid { gap: 0 32px; }
.vazio { background: var(--branco); border: 1px dashed var(--fio); border-radius: 4px; padding: 22px 24px; }

/* Títulos de seção: serifa, legíveis; o fio dourado curto fica como assinatura */
.conteudo h2 { font-family: "Cormorant Garamond", serif; font-weight: 600; font-size: 1.5rem; letter-spacing: 0; text-transform: none; color: var(--navy); margin: 0 0 14px; }
.conteudo h2::after { width: 36px; margin-top: 8px; }
.conteudo h3 { font-size: 1.35rem; margin: 0 0 12px; }
.conteudo .card > h3:first-child, .conteudo .card > h2:first-child { padding-bottom: 12px; border-bottom: 1px solid var(--fio); margin-bottom: 16px; }

/* Rótulos: maiores e menos espaçados */
.cod, .area-tag, .status-chip, .kpi .l, .tabela th, .lista .quando small, .passo .et, .cal-sem, .doc-lista .cat, .conteudo .kicker, .registro .reg-cab .cod, .lateral .marca small { font-size: .7rem; letter-spacing: .1em; }
.status-chip { font-size: .72rem; font-weight: 600; }
.status-chip.ok, .status-chip.andamento { color: var(--navy); }
.status-chip::before { width: 7px; height: 7px; }
.prog-lbl { font-size: .74rem; letter-spacing: .02em; color: var(--mudo); }
.nota-fase { font-size: .8rem; color: var(--mudo); }

/* Abertura do ciclo e números: dentro de painel, com peso */
.conteudo .hero-ciclo { background: var(--branco); border: 1px solid var(--fio); border-left: 3px solid var(--ouro); border-radius: 4px; padding: 22px 26px 22px 26px; margin-bottom: 20px; }
.conteudo .hero-ciclo h2 { font-size: 1.45rem; border: 0; padding: 0; margin-bottom: 8px; }
.conteudo .hero-ciclo h2::after { display: none; }
.conteudo .hero-ciclo p { font-size: .95rem; }
.kpis { background: var(--branco); border: 1px solid var(--fio); border-radius: 4px; padding: 18px 26px; margin: 0 0 20px; gap: 0 24px; }
.kpi .n { font-size: 2.3rem; }
.kpi .l { margin-top: 6px; color: var(--ouro); }

/* Listas e tabelas: linhas mais altas, texto principal em navy */
.lista li { padding: 13px 0; }
.lista .oque b { font-size: 1rem; color: var(--navy); font-weight: 600; }
.lista .quando { font-size: 1.2rem; }
.tabela { font-size: .93rem; }
.tabela th { color: var(--mudo); font-weight: 600; padding: 10px 14px 10px 0; }
.tabela td { padding: 13px 14px 13px 0; }
.tabela td.titulo b { font-weight: 600; }
.card-prot { background: var(--branco); border: 1px solid var(--fio); border-radius: 4px; padding: 20px 22px; margin-bottom: 18px; }
.card-prot h3 { font-size: 1.3rem; }
.card-prot .desc { font-size: .9rem; -webkit-line-clamp: 3; }
.passo, .conq, .aula { background: var(--branco); border: 1px solid var(--fio); border-radius: 4px; padding: 16px 18px; margin-bottom: 14px; }
.passos, .grid { gap: 0 16px; }
.registro { background: var(--branco); border: 1px solid var(--fio); border-radius: 4px; padding: 18px 22px; margin-bottom: 14px; }
.registro h3 { font-size: 1.2rem; }
.registro p { font-size: .93rem; }
.doc-lista a { font-size: .95rem; }
.termo { border-bottom: 0; padding-bottom: 0; }
.agenda-grid { gap: 20px 24px; }
#calendario, #mes-lista { background: var(--branco); border: 1px solid var(--fio); border-radius: 4px; padding: 18px 20px; }
.cal-dia .n { font-size: .78rem; }
.cal-dia .ev { font-size: .62rem; }

/* Barra lateral: itens um pouco maiores */
.lateral nav a, .lateral nav button { font-size: .74rem; letter-spacing: .1em; padding: 9px 0 9px 14px; color: rgba(230,219,196,.82); }
.lateral .escr { font-size: 1.3rem; }
@media (max-width: 860px) { .conteudo .wrap { padding: 24px 16px 60px; } .conteudo .card, .conteudo section.card { padding: 18px 18px 16px; } }
/* carteira: tabela dentro de painel branco, cabeçalho discreto */
#lista { background: var(--branco); border: 1px solid var(--fio); border-radius: 4px; padding: 6px 22px 10px; }
#lista .tabela th { background: transparent; color: var(--mudo); }
#lista .tabela td { font-size: .92rem; }
#lista .voltar { font-size: .72rem; }
/* cantos suaves (Lara, 20/10) */
.conteudo .card, .conteudo section.card, .conteudo .hero-ciclo, .kpis, .card-prot, .passo, .conq, .aula, .registro, .vazio, #lista, #calendario, #mes-lista { border-radius: 14px; }
.aula iframe, .aula .thumb { border-radius: 10px; }
.btn { border-radius: 8px; }
.cal { border-radius: 8px; overflow: hidden; }
.cal-dia .ev { border-radius: 4px; }

/* ---------- Termômetro com cor (Lara, 20/10) ---------- */
:root { --verde: #2f6b4f; --ambar: #c2851b; }
.termo-sem { border-left: 0; padding: 18px 20px; border-radius: 14px; background: var(--areia-2); border: 1px solid var(--fio); }
.termo-sem.tudo_certo { background: #e9f1ec; border-color: #c9ddd1; }
.termo-sem.atencao { background: #f8efdc; border-color: #ebd7a6; }
.termo-sem.em_risco { background: #f3e3e4; border-color: #e3c3c6; }
.termo-sem .kicker { margin-bottom: 10px; }
.gauge { display: flex; gap: 6px; margin: 4px 0 12px; }
.gauge .g { flex: 1; height: 10px; border-radius: 99px; opacity: .22; }
.gauge .g.tudo_certo { background: var(--verde); } .gauge .g.atencao { background: var(--ambar); } .gauge .g.em_risco { background: var(--bordo); }
.gauge .g.on { opacity: 1; box-shadow: 0 0 0 3px rgba(255,255,255,.7); }
.termo-sem .termo-txt { font-family: "Cormorant Garamond", serif; font-size: 1.9rem; font-weight: 600; line-height: 1; margin: 0 0 8px; }
.termo-sem.tudo_certo .termo-txt { color: var(--verde); } .termo-sem.atencao .termo-txt { color: var(--ambar); } .termo-sem.em_risco .termo-txt { color: var(--bordo); }
.termo-sem p { font-size: .92rem; color: var(--texto); margin: 0 0 6px; }
.termo-sem small { font-size: .78rem; }
/* mesmas cores nos pontos de status da carteira e das listas */
.status-chip.ok::before { background: var(--verde); } .status-chip.ok { color: var(--verde); }
.status-chip.atraso::before { background: var(--ambar); } .status-chip.atraso { color: var(--ambar); }
.status-chip.risco::before { background: var(--bordo); } .status-chip.risco { color: var(--bordo); }

/* ---------- Página central (Meu programa) ---------- */
.tiles { display: grid; grid-template-columns: repeat(5, 1fr); gap: 12px; margin: 0 0 20px; }
.tile { display: flex; flex-direction: column; align-items: flex-start; gap: 4px; background: var(--branco); border: 1px solid var(--fio); border-radius: 14px; padding: 16px 16px 14px; text-decoration: none; color: var(--navy); transition: border-color .15s, transform .15s; }
.tile:hover { border-color: var(--ouro); transform: translateY(-1px); }
.tile-ico { width: 34px; height: 34px; border-radius: 10px; background: var(--navy); display: flex; align-items: center; justify-content: center; margin-bottom: 6px; }
.tile-ico svg { width: 20px; height: 20px; fill: none; stroke: var(--ouro-2); stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.tile b { font-family: "Cormorant Garamond", serif; font-weight: 600; font-size: 1.15rem; line-height: 1.1; }
.tile small { font-size: .76rem; color: var(--mudo); }
.home { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(280px, 1fr); gap: 0 20px; align-items: start; }
@media (max-width: 1000px) { .tiles { grid-template-columns: repeat(3, 1fr); } .home { grid-template-columns: 1fr; } }
@media (max-width: 600px) { .tiles { grid-template-columns: repeat(2, 1fr); } }
.linha-prot { display: block; text-decoration: none; padding: 12px 0; border-bottom: 1px solid var(--fio); }
.linha-prot:last-of-type { border-bottom: 0; }
.linha-prot .cod { margin-left: 2px; }
.linha-prot b { display: block; color: var(--navy); font-size: 1rem; margin-top: 3px; }
.linha-prot:hover b { color: var(--bordo); }
.linha-prot .prog { margin: 8px 0 0; }
.mini-kpis { display: flex; gap: 22px; margin: 0 0 10px; }
.mini-kpis b { display: block; font-family: "Cormorant Garamond", serif; font-size: 1.7rem; font-weight: 600; color: var(--navy); line-height: 1; }
.mini-kpis small { font-size: .7rem; letter-spacing: .08em; text-transform: uppercase; color: var(--ouro); font-weight: 600; }
.lista.compacta li { padding: 8px 0; gap: 12px; }
.lista.compacta .quando { flex-basis: 44px; font-size: 1.05rem; }
.lista.compacta .oque small { margin: 0 0 3px; font-size: .82rem; }
.lista.links a { color: var(--navy); text-decoration: none; font-weight: 500; }
.lista.links a:hover { color: var(--bordo); }
.lista.links li { padding: 8px 0; }

/* ---------- Meu programa, versão premium (20/10) ---------- */
.hero-home { position: relative; display: grid; grid-template-columns: minmax(0, 1fr) auto; grid-template-areas: "txt aneis" "jor jor"; gap: 18px 36px; background: var(--navy); color: var(--bege); border-radius: 18px; padding: 30px 34px 26px; margin-bottom: 18px; overflow: hidden; }
.hero-home::before { content: ""; position: absolute; right: -40px; top: -40px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(184,151,63,.16), transparent 62%); pointer-events: none; }
.hero-home::after { content: ""; position: absolute; left: 34px; bottom: 22px; width: 86px; height: 12px; opacity: .5; background-image: repeating-linear-gradient(to bottom, var(--ouro) 0, var(--ouro) 1.5px, transparent 1.5px, transparent 4.5px); }
.hero-txt { grid-area: txt; }
.hero-home .kicker { color: var(--ouro-2); margin-bottom: 8px; }
.hero-home h2 { color: var(--areia); font-family: "Cormorant Garamond", serif; font-weight: 600; font-size: clamp(1.45rem, 2.1vw, 1.9rem); line-height: 1.22; letter-spacing: 0; text-transform: none; margin: 0 0 8px; max-width: 640px; border: 0; padding: 0; }
.hero-home h2::after { display: none; }
.hero-home p { color: rgba(230,219,196,.85); font-size: .95rem; margin: 0 0 12px; max-width: 640px; }
.hero-meta { display: flex; flex-wrap: wrap; gap: 8px; }
.hero-meta span { font: 500 .7rem/1 "Archivo", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--bege); border: 1px solid rgba(230,219,196,.3); border-radius: 99px; padding: 6px 11px; }
.hero-aneis { grid-area: aneis; display: flex; gap: 22px; align-items: flex-start; }
.anel-box { text-align: center; }
.anel-box small { display: block; font: 500 .62rem/1.3 "Archivo", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--ouro-2); margin-top: 6px; }
.anel text { font-family: "Cormorant Garamond", serif; font-size: 1.35rem; font-weight: 600; fill: var(--areia); }
.jornada { grid-area: jor; display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; padding-top: 16px; border-top: 1px solid rgba(230,219,196,.16); margin-left: 110px; }
.jor { position: relative; padding-top: 14px; }
.jor::before { content: ""; position: absolute; top: 3px; left: 0; right: 0; height: 2px; background: rgba(230,219,196,.18); }
.jor.feito::before, .jor.atual::before { background: var(--ouro); }
.jor.atraso::before { background: #c2851b; }
.jor-dot { position: absolute; top: -1px; left: 0; width: 10px; height: 10px; border-radius: 50%; background: var(--navy); border: 2px solid rgba(230,219,196,.4); }
.jor.feito .jor-dot, .jor.atual .jor-dot { border-color: var(--ouro); background: var(--ouro); }
.jor.atraso .jor-dot { border-color: #c2851b; background: #c2851b; }
.jor b { display: block; font-family: "Cormorant Garamond", serif; font-size: 1.1rem; font-weight: 600; color: var(--areia); line-height: 1.1; }
.jor.atual b { color: var(--ouro-2); }
.jor small { font-size: .74rem; color: rgba(230,219,196,.7); }

.tiles { display: grid; grid-template-columns: repeat(7, 1fr); gap: 10px; margin: 0 0 18px; }
.tile { display: flex; flex-direction: row; align-items: center; gap: 14px; padding: 14px 16px; }
.tile .tile-ico { margin: 0; width: 42px; height: 42px; flex: 0 0 42px; border-radius: 12px; background: var(--areia-2); border: 1px solid var(--fio); }
.tile .tile-ico svg { stroke: var(--navy); width: 22px; height: 22px; }
.tile:hover .tile-ico { background: var(--navy); border-color: var(--navy); }
.tile:hover .tile-ico svg { stroke: var(--ouro-2); }
.tile b { display: block; font-family: "Archivo", sans-serif; font-size: .7rem; font-weight: 600; letter-spacing: .12em; text-transform: uppercase; color: var(--mudo); }
.tile .tile-num { display: block; font-family: "Cormorant Garamond", serif; font-size: 1.55rem; font-weight: 600; color: var(--navy); line-height: 1.05; margin: 2px 0 1px; }
.tile .tile-num span { font-size: 1rem; color: var(--mudo); }
.tile small { font-size: .74rem; color: var(--mudo); display: block; }

.card-cab { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--fio); padding-bottom: 12px; margin-bottom: 16px; }
.card-cab h3 { margin: 0; border: 0; padding: 0; }
.conteudo .card > .card-cab + * { margin-top: 0; }
.conteudo .card > h3:first-child { padding-bottom: 12px; }
.card-cab .voltar { margin: 0; }
.prot-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 700px) { .prot-grid { grid-template-columns: 1fr; } }
.prot-mini { display: block; text-decoration: none; background: var(--areia-2); border: 1px solid var(--fio); border-left: 3px solid var(--navy); border-radius: 12px; padding: 14px 16px; }
.prot-mini:hover { border-color: var(--ouro); }
.prot-mini .pm-cab { display: flex; gap: 10px; align-items: baseline; margin-bottom: 6px; }
.prot-mini .area-tag::after { display: none; }
.prot-mini b { display: block; color: var(--navy); font-family: "Cormorant Garamond", serif; font-size: 1.25rem; font-weight: 600; line-height: 1.15; }
.prot-mini .prog { margin-top: 10px; }
.prot-mini.area-GOV { border-left-color: var(--navy); } .prot-mini.area-FIN { border-left-color: var(--ouro); } .prot-mini.area-OPE { border-left-color: #2f6b4f; }
.prot-mini.area-EST { border-left-color: var(--bordo); } .prot-mini.area-PES { border-left-color: #c2851b; } .prot-mini.area-COM, .prot-mini.area-CLI, .prot-mini.area-MKJ { border-left-color: #2F5E86; }
.compromissos { display: flex; flex-direction: column; }
.compromisso { display: flex; align-items: center; gap: 16px; padding: 12px 0; border-bottom: 1px solid var(--fio); }
.compromisso:last-child { border-bottom: 0; }
.data-badge { flex: 0 0 52px; height: 56px; border-radius: 12px; background: var(--navy); color: var(--areia); display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; }
.data-badge b { font-family: "Cormorant Garamond", serif; font-size: 1.5rem; font-weight: 600; }
.data-badge small { font-size: .6rem; letter-spacing: .12em; text-transform: uppercase; color: var(--ouro-2); margin-top: 3px; }
.cp-txt { flex: 1; min-width: 0; }
.cp-txt b { display: block; color: var(--navy); font-weight: 600; }
.cp-txt small { color: #4a3f36; font-size: .84rem; }
.aula-destaque { display: grid; grid-template-columns: 220px 1fr; gap: 20px; align-items: center; }
@media (max-width: 700px) { .aula-destaque { grid-template-columns: 1fr; } }
.ad-thumb { position: relative; aspect-ratio: 16/10; border-radius: 12px; background: var(--navy); display: flex; align-items: center; justify-content: center; }
.ad-thumb::before { content: ""; position: absolute; left: 16px; top: 14px; width: 48px; height: 10px; opacity: .6; background-image: repeating-linear-gradient(to bottom, var(--ouro) 0, var(--ouro) 1.5px, transparent 1.5px, transparent 4.5px); }
.ad-play svg { width: 44px; height: 44px; fill: none; stroke: var(--ouro-2); stroke-width: 1.4; }
.ad-curso { position: absolute; left: 16px; bottom: 12px; font: 500 .62rem/1 "Archivo", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--ouro-2); }
.ad-txt h3 { margin: 4px 0 6px; border: 0; padding: 0; }
.ad-txt p { font-size: .92rem; margin: 0 0 12px; }
.passos-lista { list-style: none; margin: 10px 0 0; padding: 0; }
.passos-lista li { display: flex; gap: 10px; align-items: center; padding: 7px 0; font-size: .92rem; color: var(--texto); border-bottom: 1px solid var(--fio); }
.passos-lista li:last-child { border-bottom: 0; }
.passos-lista li.concluido { color: var(--mudo); }
.passos-lista li.em_andamento { color: var(--navy); font-weight: 600; }
.medalhas { display: flex; gap: 8px; flex-wrap: wrap; margin-bottom: 12px; }
.medalha-mini { width: 34px; height: 34px; border-radius: 50%; border: 1px solid var(--fio); display: flex; align-items: center; justify-content: center; color: var(--mudo); font-size: .9rem; background: var(--areia-2); }
.medalha-mini.on { background: var(--ouro); border-color: var(--ouro); color: var(--navy); }
.equipe { list-style: none; margin: 0; padding: 0; }
.equipe li { display: flex; gap: 12px; align-items: center; padding: 8px 0; border-bottom: 1px solid var(--fio); }
.equipe li:last-child { border-bottom: 0; }
.avatar { width: 38px; height: 38px; border-radius: 50%; background: var(--navy); color: var(--ouro-2); display: flex; align-items: center; justify-content: center; font: 600 .78rem/1 "Archivo", sans-serif; letter-spacing: .06em; flex: 0 0 38px; }
.equipe b { display: block; color: var(--navy); font-weight: 600; font-size: .95rem; }
.equipe small { font-size: .8rem; color: var(--mudo); }
.lk-ico { display: inline-flex; width: 16px; height: 16px; margin-right: 8px; vertical-align: -3px; }
.lk-ico svg { width: 16px; height: 16px; fill: none; stroke: var(--ouro); stroke-width: 1.8; stroke-linecap: round; }
.suporte { font-size: .88rem; margin: 14px 0 0; padding-top: 12px; border-top: 1px solid var(--fio); }
.suporte b { display: block; font: 600 .66rem/1 "Archivo", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--ouro); margin-bottom: 6px; }
@media (max-width: 1000px) { .hero-home { grid-template-columns: 1fr; grid-template-areas: "txt" "aneis" "jor"; } .jornada { margin-left: 0; } .tiles { grid-template-columns: repeat(3, 1fr); } }
@media (max-width: 600px) { .tiles { grid-template-columns: repeat(2, 1fr); } .hero-home { padding: 22px 20px; } .jornada { grid-template-columns: repeat(2, 1fr); gap: 14px 10px; } .hero-home::after { display: none; } }

/* =============================================================
   Passo premium em todas as abas (20/10)
   ============================================================= */
.resumo-linha { display: flex; gap: 34px; align-items: center; background: var(--branco); border: 1px solid var(--fio); border-radius: 14px; padding: 16px 24px; margin-bottom: 16px; flex-wrap: wrap; }
.resumo-linha b { display: block; font-family: "Cormorant Garamond", serif; font-size: 1.9rem; font-weight: 600; color: var(--navy); line-height: 1; }
.resumo-linha b span { font-size: 1.05rem; color: var(--mudo); }
.resumo-linha small { font-size: .68rem; letter-spacing: .1em; text-transform: uppercase; color: var(--ouro); font-weight: 600; }
.resumo-linha .anel text { fill: var(--navy); font-size: 1rem; }
.filtros { display: flex; gap: 8px; flex-wrap: wrap; margin: 0 0 18px; }
.filtros button { border: 1px solid var(--fio); background: var(--branco); border-radius: 99px; padding: 7px 14px; font: 500 .74rem/1 "Archivo", sans-serif; letter-spacing: .04em; cursor: pointer; color: var(--texto); }
.filtros button:hover { border-color: var(--ouro); }
.filtros button.sel { background: var(--navy); color: var(--areia); border-color: var(--navy); }
.secao-ciclo { margin-bottom: 26px; }
.secao-cab { display: flex; align-items: baseline; justify-content: space-between; gap: 14px; margin-bottom: 4px; }
.secao-cab h2 { margin: 0; }
.secao-cab h2::after { display: none; }
.secao-sub { font-size: .92rem; color: #4a3f36; margin: 0 0 14px; max-width: 820px; }
.area-pill { display: inline-block; font: 600 .62rem/1 "Archivo", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--branco); background: var(--cor, var(--navy)); padding: 5px 9px; border-radius: 6px; }

/* Protocolos */
.grid-prot { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 14px; }
.card.card-prot { display: flex; flex-direction: column; gap: 8px; padding: 20px 22px 18px; margin: 0; border-top: 3px solid var(--cor, var(--navy)); border-radius: 14px; }
.card-prot .cp-top { display: flex; justify-content: space-between; align-items: center; gap: 10px; }
.card-prot h3 { font-size: 1.3rem; margin: 4px 0 2px; border: 0; padding: 0; }
.card-prot .desc { font-size: .88rem; -webkit-line-clamp: 3; }
.card-prot .cp-rodape { display: flex; align-items: center; gap: 12px; margin-top: auto; padding-top: 12px; border-top: 1px solid var(--fio); }
.card-prot .cp-rodape b { display: block; color: var(--navy); font-size: .92rem; }
.card-prot .cp-rodape small { font-size: .72rem; color: var(--mudo); }
.card-prot .cp-rodape .status-chip { margin-left: auto; }
.card-prot .anel text { fill: var(--navy); font-size: .7rem; font-family: "Archivo", sans-serif; font-weight: 600; }

/* Plano de ação */
.plano-prot { border-left: 3px solid var(--cor, var(--navy)); }
.plano-prot .card-cab { align-items: flex-start; }
.plano-prot h3 a { color: var(--navy); text-decoration: none; }
.plano-prot h3 a:hover { color: var(--bordo); }
.pp-prog { text-align: center; }
.pp-prog small { display: block; font-size: .7rem; color: var(--mudo); }
.pp-prog .anel text { fill: var(--navy); font-size: .78rem; font-family: "Archivo", sans-serif; font-weight: 600; }
.semanas { display: flex; flex-direction: column; }
.tarefa { display: flex; gap: 14px; padding: 12px 0; border-bottom: 1px solid var(--fio); }
.tarefa:last-child { border-bottom: 0; }
.tarefa .check { flex: 0 0 16px; margin-top: 4px; width: 16px; height: 16px; }
.tarefa .check.meio { background: linear-gradient(90deg, var(--ouro) 50%, transparent 50%); border-color: var(--ouro); }
.tf-txt { flex: 1; min-width: 0; }
.tf-cab { display: flex; gap: 12px; align-items: baseline; margin-bottom: 2px; }
.tf-cab .sem { font: 600 .66rem/1 "Archivo", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--ouro); }
.tarefa b { display: block; color: var(--navy); font-weight: 600; font-size: .98rem; }
.tarefa small { display: block; color: #4a3f36; font-size: .86rem; margin-top: 2px; }
.tarefa.concluida b { color: var(--mudo); text-decoration: line-through; text-decoration-color: var(--ouro); }
.tarefa.concluida small { color: var(--mudo); }

/* Agenda */
.legenda { display: flex; gap: 18px; flex-wrap: wrap; margin: 14px 0 0; font-size: .8rem; color: var(--mudo); }
.legenda .lg { display: inline-block; width: 10px; height: 10px; border-radius: 3px; margin-right: 6px; vertical-align: -1px; background: var(--navy); }
.legenda .lg.checkpoint { background: var(--ouro); } .legenda .lg.mastermind { background: var(--bordo); }
.data-badge.checkpoint, .data-badge.checkin { background: var(--ouro); color: var(--navy); } .data-badge.checkpoint small, .data-badge.checkin small { color: var(--navy); }
.data-badge.mastermind { background: var(--bordo); }

/* Aulas */
.grid-aulas { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 14px; }
.card.aula { padding: 0; overflow: hidden; margin: 0; gap: 0; border-radius: 14px; }
.card.aula .thumb { aspect-ratio: 16/9; border-radius: 0; background: var(--navy); position: relative; display: flex; align-items: center; justify-content: center; padding: 0; }
.card.aula .thumb::before { content: ""; position: absolute; left: 16px; top: 14px; width: 48px; height: 10px; opacity: .6; background-image: repeating-linear-gradient(to bottom, var(--ouro) 0, var(--ouro) 1.5px, transparent 1.5px, transparent 4.5px); }
.card.aula .ad-curso { position: absolute; left: 16px; bottom: 12px; }
.card.aula iframe { border-radius: 0; }
.aula-txt { padding: 16px 18px 18px; }
.aula-txt h3 { font-size: 1.2rem; margin: 0 0 4px; border: 0; padding: 0; }
.aula-txt p { font-size: .86rem; margin: 0 0 12px; }
.aula-acoes { display: flex; gap: 10px; align-items: center; }
.card.aula.vista { opacity: .85; }

/* Conquistas */
.grid-conq { display: grid; grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); gap: 12px; }
.card.conq { margin: 0; padding: 16px 18px; gap: 14px; border-radius: 14px; }
.card.conq .medalha { width: 44px; height: 44px; flex-basis: 44px; font-size: 1.2rem; }
.card.conq.falta { opacity: .55; background: var(--areia-2); }

/* Raio-X */
.rx-linha { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 12px; background: var(--navy); color: var(--bege); border-radius: 14px; padding: 22px 26px 18px; margin-bottom: 16px; }
.rx-etapa { position: relative; padding-top: 14px; }
.rx-etapa::before { content: ""; position: absolute; top: 3px; left: 0; right: 0; height: 2px; background: rgba(230,219,196,.18); }
.rx-etapa.feito::before { background: var(--ouro); }
.rx-etapa .jor-dot { position: absolute; top: -1px; left: 0; width: 10px; height: 10px; border-radius: 50%; background: var(--navy); border: 2px solid rgba(230,219,196,.4); }
.rx-etapa.feito .jor-dot { background: var(--ouro); border-color: var(--ouro); }
.rx-etapa b { display: block; font-family: "Cormorant Garamond", serif; font-size: 1.15rem; font-weight: 600; color: var(--areia); }
.rx-etapa.futuro b { color: rgba(230,219,196,.6); }
.rx-etapa small { font-size: .76rem; color: rgba(230,219,196,.7); }
.card.rx .card-cab { align-items: flex-start; }
.card.rx h3 { margin: 4px 0 0; }
.rx-resumo { font-size: .95rem; color: #4a3f36; margin: 0 0 16px; max-width: 820px; }
.rx-sec { border-top: 1px solid var(--fio); }
.rx-sec summary { cursor: pointer; list-style: none; display: flex; align-items: center; gap: 14px; padding: 13px 0; font-family: "Cormorant Garamond", serif; font-size: 1.2rem; font-weight: 600; color: var(--navy); }
.rx-sec summary::-webkit-details-marker { display: none; }
.rx-sec summary::after { content: "+"; margin-left: auto; color: var(--ouro); font-family: "Archivo", sans-serif; font-size: 1.1rem; }
.rx-sec[open] summary::after { content: "–"; }
.rx-n { font: 600 .66rem/1 "Archivo", sans-serif; letter-spacing: .14em; color: var(--ouro); width: 26px; }
.rx-corpo { padding: 0 0 18px 40px; }
.rx-campos { margin: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 10px 24px; }
.rx-campos dt { font: 600 .64rem/1 "Archivo", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--ouro); margin-bottom: 4px; }
.rx-campos dd { margin: 0; font-size: .92rem; color: var(--texto); }
.rx-listas { display: grid; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)); gap: 12px 24px; }
.rx-listas b { display: block; color: var(--navy); font-weight: 600; margin-bottom: 4px; }
.rx-listas ul { margin: 0; padding-left: 18px; font-size: .9rem; }
.rx-listas li { margin-bottom: 4px; }
.rx-leitura { margin-top: 14px; background: var(--areia-2); border-left: 3px solid var(--ouro); border-radius: 0 10px 10px 0; padding: 12px 16px; font-size: .92rem; }
.rx-leitura b { display: block; font: 600 .64rem/1 "Archivo", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--ouro); margin-bottom: 6px; }
.card.rx-futuro { background: var(--areia-2); border-style: dashed; }
.card.rx-futuro h3 { border: 0; padding: 0; }
@media (max-width: 700px) { .rx-corpo { padding-left: 0; } .resumo-linha { gap: 20px; } }

/* ---------- Página do protocolo ---------- */
.prot-hero { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: center; background: var(--navy); color: var(--bege); border-radius: 18px; padding: 30px 34px; margin-bottom: 18px; border-left: 6px solid var(--cor, var(--ouro)); position: relative; overflow: hidden; }
.prot-hero::after { content: ""; position: absolute; right: 150px; top: 26px; width: 70px; height: 12px; opacity: .45; background-image: repeating-linear-gradient(to bottom, var(--ouro) 0, var(--ouro) 1.5px, transparent 1.5px, transparent 4.5px); }
.prot-hero .ph-top { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin-bottom: 10px; }
.prot-hero .status-chip { color: var(--bege); }
.prot-hero h1 { color: var(--areia); font-size: clamp(1.6rem, 2.6vw, 2.2rem); margin: 0 0 8px; }
.prot-hero p { color: rgba(230,219,196,.85); font-size: .98rem; margin: 0; max-width: 720px; }
.prot-hero .ph-anel { text-align: center; }
.prot-hero .ph-anel small { display: block; font: 500 .62rem/1.3 "Archivo", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--ouro-2); margin-top: 6px; }
.prot-hero .anel text { font-family: "Cormorant Garamond", serif; font-size: 1.35rem; font-weight: 600; fill: var(--areia); }
.prot-grid2 { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(280px, 1fr); gap: 0 20px; align-items: start; }
@media (max-width: 1000px) { .prot-grid2 { grid-template-columns: 1fr; } .prot-hero { grid-template-columns: 1fr; } .prot-hero::after { display: none; } }
.doc-lista a { align-items: center; gap: 12px; padding: 10px 0; }
.doc-ico { flex: 0 0 40px; height: 40px; border-radius: 10px; background: var(--areia-2); border: 1px solid var(--fio); display: flex; align-items: center; justify-content: center; font: 700 .6rem/1 "Archivo", sans-serif; letter-spacing: .08em; color: var(--navy); }
.doc-lista a:hover .doc-ico { background: var(--navy); color: var(--ouro-2); border-color: var(--navy); }
.doc-txt b { display: block; font-weight: 600; font-size: .94rem; }
.doc-txt small { font-size: .74rem; color: var(--mudo); }

/* ---------- Carteira em cartões ---------- */
#lista { background: none; border: 0; padding: 0; }
.cart-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 14px; }
.card.cart { margin: 0; padding: 20px 22px 18px; border-top: 4px solid var(--linha); display: flex; flex-direction: column; gap: 12px; }
.card.cart.tudo_certo { border-top-color: var(--verde); } .card.cart.atencao { border-top-color: var(--ambar); } .card.cart.em_risco { border-top-color: var(--bordo); }
.cart-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.cart-cab h3 { margin: 0; border: 0; padding: 0; font-size: 1.35rem; }
.cart-cab small { font-size: .78rem; color: var(--mudo); }
.cart-cab .anel text { fill: var(--navy); font-size: .8rem; font-family: "Archivo", sans-serif; font-weight: 600; }
.cart-sem small { display: block; font-size: .84rem; color: #4a3f36; margin-top: 3px; }
.cart-kpis { display: grid; grid-template-columns: repeat(5, 1fr); gap: 6px; padding: 10px 0; border-top: 1px solid var(--fio); border-bottom: 1px solid var(--fio); }
.cart-kpis b { display: block; font-family: "Cormorant Garamond", serif; font-size: 1.25rem; font-weight: 600; color: var(--navy); line-height: 1; }
.cart-kpis b span { font-size: .85rem; color: var(--mudo); }
.cart-kpis small { font-size: .6rem; letter-spacing: .08em; text-transform: uppercase; color: var(--mudo); font-weight: 600; }
.cart-acoes { display: flex; gap: 8px; margin-top: auto; }
.cart .prog { margin: 0; }
/* responsivo: garante a barra lateral em cima no celular (regras finais vencem as anteriores) */
@media (max-width: 860px) {
  .layout { grid-template-columns: 1fr !important; }
  .lateral { position: relative; height: auto; padding: 18px 18px 14px; }
  .lateral .escr { padding: 12px 0; font-size: 1.1rem; }
  .lateral nav { flex-direction: row; flex-wrap: wrap; gap: 2px 16px; }
  .lateral nav a, .lateral nav button { width: auto; padding: 7px 0; border-left: 0; border-bottom: 1px solid transparent; margin: 0; font-size: .68rem; }
  .lateral nav .sel { border-left: 0; border-bottom-color: var(--ouro); }
  .lateral .sep { display: none; }
  .lateral .rodape-lat { margin-top: 10px; padding-top: 12px; display: flex; align-items: center; justify-content: space-between; }
  .lateral .rodape-lat b { margin: 0; }
  .conteudo .wrap { padding: 22px 16px 60px; }
  .conteudo h1 { font-size: 1.7rem; }
  .cart-kpis { grid-template-columns: repeat(3, 1fr); gap: 8px; }
}
.cart-kpis b { white-space: nowrap; }

/* ---------- Insígnias ---------- */
.card.conq-card { margin: 0; padding: 18px; border-radius: 14px; display: flex; gap: 16px; align-items: center; }
.card.conq-card.falta { background: var(--areia-2); }
.card.conq-card b { display: block; color: var(--navy); font-family: "Cormorant Garamond", serif; font-size: 1.25rem; font-weight: 600; line-height: 1.15; }
.card.conq-card small { display: block; font-size: .84rem; color: #4a3f36; margin: 4px 0 8px; }
.insig { flex: 0 0 auto; filter: drop-shadow(0 6px 10px rgba(16,26,38,.12)); }
.insig.off { filter: none; opacity: .75; }
.insig-img { border-radius: 50%; object-fit: cover; }
.insig-img.off { filter: grayscale(1); opacity: .45; }
.medalhas { gap: 6px; }
.medalhas .insig { filter: none; }

.insig { filter: drop-shadow(0 8px 14px rgba(16,26,38,.14)); }
.insig.off { filter: none; }
.insig.off g { opacity: 1; }

.tiles { grid-template-columns: repeat(7, 1fr); gap: 10px; }
.tile { padding: 12px 12px; gap: 10px; }
.tile .tile-ico { width: 36px; height: 36px; flex-basis: 36px; }
.tile .tile-num { font-size: 1.35rem; }
.tile b { font-size: .62rem; }
.tile small { font-size: .68rem; }
@media (max-width: 1200px) { .tiles { grid-template-columns: repeat(4, 1fr); } }
@media (max-width: 700px) { .tiles { grid-template-columns: repeat(2, 1fr); } }

/* ---------- Painel: alertas, ferramentas, régua ---------- */
.alertas { display: flex; flex-direction: column; }
.alerta { display: flex; gap: 14px; align-items: center; padding: 11px 0; border-bottom: 1px solid var(--fio); text-decoration: none; color: var(--texto); }
.alerta:last-child { border-bottom: 0; }
.alerta .al-dot { width: 10px; height: 10px; border-radius: 50%; background: var(--mudo); flex: 0 0 10px; }
.alerta.risco .al-dot { background: var(--bordo); } .alerta.atraso .al-dot { background: var(--ambar); } .alerta.fim .al-dot { background: var(--navy); } .alerta.agenda .al-dot { background: var(--ouro); } .alerta.acesso .al-dot { background: #8d9399; }
.alerta b { display: block; color: var(--navy); font-weight: 600; font-size: .95rem; }
.alerta small { display: block; color: #4a3f36; font-size: .84rem; }
.alerta .al-ir { margin-left: auto; font: 500 .66rem/1 "Archivo", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--ouro); }
.alerta:hover b { color: var(--bordo); }
.ferramentas { display: flex; justify-content: space-between; align-items: center; gap: 16px; flex-wrap: wrap; margin: 24px 0 14px; }
.ferramentas .filtros { margin: 0; }
.ferr-dir { display: flex; gap: 12px; align-items: center; }
.ferr-dir label { font-size: .8rem; color: var(--mudo); }
.ferr-dir select { font: 500 .8rem "Archivo", sans-serif; border: 1px solid var(--fio); border-radius: 8px; padding: 6px 10px; background: var(--branco); color: var(--navy); }
.modo { display: flex; border: 1px solid var(--fio); border-radius: 8px; overflow: hidden; }
.modo button { border: 0; background: var(--branco); padding: 6px 10px; cursor: pointer; color: var(--mudo); font-size: .9rem; }
.modo button.sel { background: var(--navy); color: var(--areia); }
.regua .prog-track { position: relative; overflow: visible; }
.regua .marco70 { position: absolute; left: 70%; top: -4px; width: 1px; height: 10px; background: var(--navy); }
.regua.ok .prog-fill { background: var(--verde); }
.regua.ok .prog-lbl { color: var(--verde); }
.cart-rodape small { font-size: .76rem; color: var(--mudo); }
#semana { margin-top: 0; }

/* ---------- Ficha: linha do tempo e engajamento ---------- */
.timeline { position: relative; padding-left: 0; }
.tl { display: grid; grid-template-columns: 70px 18px minmax(0, 1fr); gap: 0 12px; align-items: start; padding: 9px 0; border-bottom: 1px solid var(--fio); }
.tl:last-child { border-bottom: 0; }
.tl.futuro { opacity: .6; }
.tl-data { font-family: "Cormorant Garamond", serif; font-weight: 600; font-size: 1.05rem; color: var(--navy); line-height: 1; }
.tl-data small { display: block; font: 500 .6rem/1 "Archivo", sans-serif; letter-spacing: .1em; color: var(--mudo); margin-top: 4px; }
.tl-dot { width: 10px; height: 10px; border-radius: 50%; margin-top: 5px; background: var(--mudo); }
.tl-dot.navy { background: var(--navy); } .tl-dot.ouro { background: var(--ouro); } .tl-dot.verde { background: var(--verde); } .tl-dot.bordo { background: var(--bordo); } .tl-dot.cinza { background: #8d9399; }
.tl-txt b { display: block; color: var(--navy); font-weight: 600; font-size: .94rem; }
.tl-txt small { display: block; color: #4a3f36; font-size: .82rem; }
.engaj { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 24px; align-items: end; }
@media (max-width: 900px) { .engaj { grid-template-columns: 1fr; } }
.barras { display: flex; gap: 8px; align-items: flex-end; height: 70px; margin-top: 8px; }
.barra { flex: 1; display: flex; flex-direction: column; align-items: center; justify-content: flex-end; height: 100%; }
.barra i { display: block; width: 100%; min-height: 2px; background: var(--navy); border-radius: 3px 3px 0 0; opacity: .85; }
.barra small { font-size: .58rem; color: var(--mudo); margin-top: 4px; white-space: nowrap; }

.al-grupos { display: grid; grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); gap: 10px 28px; }
.al-grupo { padding: 6px 0 4px; }
.al-cab { display: flex; align-items: center; gap: 10px; padding-bottom: 6px; border-bottom: 1px solid var(--fio); margin-bottom: 2px; }
.al-cab b { font-family: "Cormorant Garamond", serif; font-size: 1.15rem; font-weight: 600; color: var(--navy); }
.al-cab .al-dot { width: 10px; height: 10px; border-radius: 50%; }
.al-dot.checkpoint { background: var(--ambar); } .al-dot.trimestre { background: #c2541b; }
.alerta .al-dot { display: none; }
.alerta { padding: 9px 0; }
.alerta b { font-size: .9rem; }

/* ---------- Blocos de alerta ---------- */
.al-grupos { gap: 14px; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); }
.al-grupo { --c: var(--navy); background: var(--areia-2); border: 1px solid var(--fio); border-top: 4px solid var(--c); border-radius: 12px; padding: 14px 16px 8px; }
.al-grupo.risco { --c: var(--bordo); } .al-grupo.checkpoint { --c: var(--ambar); } .al-grupo.trimestre { --c: #b8471b; } .al-grupo.fim { --c: var(--navy); } .al-grupo.agenda { --c: var(--ouro); } .al-grupo.acesso { --c: #6b7480; }
.al-cab { display: flex; align-items: center; gap: 12px; border-bottom: 1px solid var(--fio); padding-bottom: 10px; margin-bottom: 4px; }
.al-ico { width: 34px; height: 34px; border-radius: 10px; background: var(--c); display: flex; align-items: center; justify-content: center; flex: 0 0 34px; }
.al-ico svg { width: 18px; height: 18px; fill: none; stroke: #fff; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }
.al-cab b { display: block; font-family: "Cormorant Garamond", serif; font-size: 1.2rem; font-weight: 600; color: var(--navy); line-height: 1.1; }
.al-cab small { font-size: .72rem; color: var(--mudo); }
.al-n { margin-left: auto; font-family: "Cormorant Garamond", serif; font-size: 1.8rem; font-weight: 600; color: var(--c); line-height: 1; }
.al-grupo .alerta { padding: 9px 0; gap: 10px; }
.al-grupo .alerta b { display: inline; font-size: .9rem; }
.al-grupo .alerta b::after { content: " · "; color: var(--mudo); font-weight: 400; }
.al-grupo .alerta span { font-size: .88rem; color: var(--texto); }
.al-grupo .alerta small { display: block; }
.al-grupo .al-ir { font-size: 1.1rem; color: var(--c); letter-spacing: 0; }

/* ---------- Painel · experiência do cliente e renovação ---------- */
.intro { max-width: 820px; font-size: 1rem; line-height: 1.6; color: var(--tinta); margin: -10px 0 26px; }
.intro b { color: var(--navy); font-weight: 600; }
.quem-pill { display: inline-block; font: 600 .6rem/1 "Archivo", sans-serif; letter-spacing: .16em; text-transform: uppercase; padding: 5px 8px 4px; border: 1px solid var(--navy); color: var(--navy); border-radius: 4px; white-space: nowrap; }
.quem-pill.lara { background: var(--navy); color: var(--areia); }
.quem-pill.lara_claude { background: var(--navy); color: var(--ouro-2); border-color: var(--ouro); }
.status-chip.cond { color: var(--mudo); } .status-chip.cond::before { background: var(--mudo); }
.alerta-txt { color: var(--bordo); font-weight: 600; }
/* lista de toques */
.toques li.tq { align-items: flex-start; gap: 16px; }
.toques li.tq .quando { flex-basis: 74px; font-size: 1.2rem; }
.toques li.tq .oque { flex: 1; min-width: 0; }
.tq-cab { display: flex; align-items: center; gap: 10px; margin-bottom: 5px; flex-wrap: wrap; }
.tq-cli { font-family: "Cormorant Garamond", serif; font-size: 1.1rem; font-weight: 600; color: var(--navy); }
.toques li.tq .oque > b { font-size: .98rem; }
.toques li.tq .oque > small { color: var(--tinta); font-size: .84rem; }
.tq-dir { flex: 0 0 auto; display: flex; flex-direction: column; align-items: flex-end; gap: 8px; min-width: 150px; }
.tq-dir .btn { white-space: nowrap; }
.toques li.tq.atrasado { border-left: 3px solid var(--bordo); padding-left: 14px; margin-left: -17px; }
.toques li.tq.fechado .oque > b { color: var(--mudo); font-weight: 400; }
.toques li.tq.fechado .quando { color: var(--mudo); }
.toques.compacta li.tq { padding: 10px 0; }
.tq-txt { margin-top: 8px; }
.tq-txt summary { cursor: pointer; font: 500 .68rem/1 "Archivo", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--ouro); list-style: none; }
.tq-txt summary::-webkit-details-marker { display: none; }
.tq-txt summary::before { content: "+"; display: inline-block; width: 14px; }
.tq-txt[open] summary::before { content: "–"; }
.tq-txt pre { white-space: pre-wrap; font: 400 .92rem/1.55 "Archivo", sans-serif; color: var(--navy); background: #fff; border: 1px solid var(--fio); border-radius: 10px; padding: 14px 16px; margin: 10px 0 8px; max-width: 640px; }
/* régua de renovação (barra horizontal) */
.regua-ren { position: relative; height: 112px; margin: 38px 70px 10px 14px; }
.regua-ren.modelo { margin: 44px 90px 6px 24px; }
.rr-track { position: absolute; left: 0; right: 0; top: 50%; height: 2px; background: rgba(16,26,38,.16); }
.rr-feito { height: 100%; background: var(--ouro); }
.rr-hoje { position: absolute; top: 50%; transform: translate(-50%, -50%); text-align: center; }
.rr-hoje i { display: block; width: 2px; height: 34px; background: var(--bordo); margin: 0 auto; }
.rr-hoje small { position: absolute; top: 100%; left: 50%; transform: translateX(-50%); font: 600 .58rem/1 "Archivo", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--bordo); margin-top: 4px; }
.rr-mark, .rr-fim { position: absolute; top: 50%; transform: translate(-50%, -50%); text-align: center; width: 92px; }
.rr-mark i, .rr-fim i { display: block; width: 12px; height: 12px; border-radius: 50%; border: 2px solid var(--navy); background: var(--areia); margin: 0 auto; }
.rr-mark.ok i { background: var(--ouro); border-color: var(--ouro); }
.rr-mark.atr i { background: var(--bordo); border-color: var(--bordo); }
.rr-fim i { background: var(--navy); }
.rr-mark b, .rr-fim b { position: absolute; left: 0; right: 0; bottom: 100%; margin-bottom: 8px; font: 600 .66rem/1.2 "Archivo", sans-serif; letter-spacing: .1em; text-transform: uppercase; color: var(--navy); }
.rr-mark small, .rr-fim small { position: absolute; left: 0; right: 0; top: 100%; margin-top: 8px; font-size: .74rem; color: var(--tinta); }
.rr-mark.baixo b { bottom: auto; top: 100%; margin: 24px 0 0; }
.rr-mark.baixo small { top: auto; bottom: 100%; margin: 0 0 8px; }
.rr-mark.atr b { color: var(--bordo); }
/* tabela da linha de renovação */
.rolagem { overflow-x: auto; margin: 0 -4px; padding: 0 4px; }
.tabela.ren { min-width: 1180px; }
.tabela.ren td:last-child { max-width: 220px; }
.tabela.ren td:last-child small { display: block; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.tabela.ren td:first-child a b { white-space: nowrap; }
.tabela.ren .status-chip { white-space: nowrap; }
.tabela.ren th small { display: block; font-weight: 400; letter-spacing: .08em; color: var(--mudo); margin-top: 3px; }
.tabela.ren td { font-size: .86rem; vertical-align: top; }
.tabela.ren td.mk { white-space: nowrap; }
.tabela.ren td.mk i { display: inline-block; width: 8px; height: 8px; border-radius: 50%; border: 1.5px solid var(--navy); margin-right: 6px; vertical-align: 1px; }
.tabela.ren td.mk.ok i { background: var(--ouro); border-color: var(--ouro); }
.tabela.ren td.mk.atr { color: var(--bordo); font-weight: 600; } .tabela.ren td.mk.atr i { background: var(--bordo); border-color: var(--bordo); }
.tabela.ren td.mk.cond { color: var(--mudo); } .tabela.ren td.mk.cond i { border-style: dashed; }
.tabela.ren td.mk small { display: block; color: var(--mudo); font-size: .72rem; }
.tabela.ren a { text-decoration: none; }
/* 90 dias, semana a semana */
.sem-linha { display: grid; grid-template-columns: 110px 1fr 1fr; gap: 20px; padding: 14px 0; border-bottom: 1px solid var(--fio); }
.sem-linha.atual { background: #fff; margin: 0 -22px; padding: 14px 22px; border-radius: 10px; border-bottom: 0; }
.sem-data b { display: block; font-family: "Cormorant Garamond", serif; font-size: 1.35rem; font-weight: 600; color: var(--navy); line-height: 1; }
.sem-data small { display: block; color: var(--mudo); font-size: .76rem; margin-top: 4px; }
.sem-col .kicker { margin-bottom: 6px; }
.nv { display: grid; grid-template-columns: 44px 1fr; gap: 2px 10px; padding: 5px 0; align-items: baseline; }
.nv b { color: var(--navy); font-weight: 500; font-size: .92rem; }
.nv small { grid-column: 2; color: var(--tinta); font-size: .8rem; }
.nv.ok b, .nv.ok small { color: var(--mudo); text-decoration: line-through; text-decoration-color: var(--ouro); }
.nv.atr b { color: var(--bordo); }
.nv.cond b { color: var(--mudo); font-style: italic; }
/* cards da régua */
.rg-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(290px, 1fr)); gap: 14px; margin-top: 8px; }
.rg { background: #fff; border: 1px solid var(--fio); border-radius: 14px; padding: 18px 20px 16px; }
.rg.lara, .rg.lara_claude { border-top: 3px solid var(--navy); }
.rg.ceia { border-top: 3px solid var(--ouro); }
.rg-cab { display: flex; justify-content: space-between; align-items: center; margin-bottom: 10px; }
.rg-cod { font-family: "Cormorant Garamond", serif; font-size: 1.6rem; font-weight: 600; color: var(--navy); line-height: 1; }
.rg > b { display: block; color: var(--navy); font-size: 1rem; font-weight: 600; }
.rg-quando { display: block; color: var(--ouro); font: 500 .68rem/1.4 "Archivo", sans-serif; letter-spacing: .12em; text-transform: uppercase; margin: 4px 0 8px; }
.rg p { font-size: .88rem; color: var(--tinta); margin: 0 0 6px; }
.rg .tq-txt pre { max-width: none; }
/* quem fala o quê */
.vozes { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; margin: 12px 0 18px; }
.voz { background: #fff; border: 1px solid var(--fio); border-radius: 14px; padding: 20px 22px; }
.voz.lara { border-left: 4px solid var(--navy); } .voz.ceia { border-left: 4px solid var(--ouro); }
.voz b { display: block; font-family: "Cormorant Garamond", serif; font-size: 1.3rem; font-weight: 600; color: var(--navy); line-height: 1.25; margin: 6px 0 10px; }
.voz p { font-size: .9rem; color: var(--tinta); margin: 0 0 8px; }
.voz .nunca { color: var(--bordo); font-weight: 500; }
.gatilhos { margin-top: 14px; }
.gatilhos ul { margin: 6px 0 0; padding-left: 18px; }
.gatilhos li { font-size: .92rem; color: var(--tinta); margin-bottom: 6px; }
.gatilhos li b { color: var(--navy); font-weight: 600; }
/* ficha: experiência */
.exp-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; flex-wrap: wrap; margin-top: 8px; }
.exp-dest { display: flex; gap: 10px; flex-wrap: wrap; padding-top: 6px; }
.exp-cond { background: #fff; border: 1px solid var(--fio); border-left: 3px solid var(--bordo); border-radius: 10px; padding: 12px 16px; font-size: .92rem; color: var(--tinta); margin: 14px 0 4px; }
.exp-cond b { color: var(--navy); }
.exp-toques { margin-top: 14px; }
.exp-toques .kicker { margin-bottom: 4px; }
.dossie { display: grid; grid-template-columns: repeat(4, 1fr); gap: 16px; }
.dossie > div { background: #fff; border: 1px solid var(--fio); border-radius: 14px; padding: 16px 18px; }
.dossie > div > b { display: block; font: 500 .66rem/1 "Archivo", sans-serif; letter-spacing: .18em; text-transform: uppercase; color: var(--ouro); margin-bottom: 10px; }
.dossie-lista { margin: 0; padding-left: 16px; }
.dossie-lista li { font-size: .88rem; color: var(--tinta); margin-bottom: 7px; line-height: 1.45; }
.dossie p { font-size: .9rem; color: var(--navy); font-style: italic; margin: 0; line-height: 1.5; }
.reservado { margin-top: 16px; border: 1px solid var(--bordo); border-radius: 14px; padding: 16px 20px; background: rgba(92,26,34,.04); }
.reservado .kicker { color: var(--bordo); }
.reservado p { margin: 6px 0 0; font-size: .92rem; color: var(--navy); }
.pulso { padding-left: 18px; } .pulso li { font-size: .9rem; color: var(--tinta); margin-bottom: 6px; }
@media (max-width: 1100px) { .dossie { grid-template-columns: 1fr 1fr; } .tabela.ren { font-size: .8rem; } }
@media (max-width: 860px) { .vozes, .dossie, .exp-toques { grid-template-columns: 1fr; } .sem-linha { grid-template-columns: 1fr; gap: 8px; } .regua-ren { margin: 34px 50px 10px 10px; } .rr-mark b, .rr-fim b { font-size: .56rem; } .tq-dir { min-width: 0; } }

/* ---------- Raio-X · formulário ---------- */
.rx-layout .lateral { padding-bottom: 20px; }
.rx-lat-quem { color: var(--bege); font-size: .9rem; margin: -8px 0 16px; opacity: .85; }
.rx-lat-prog { margin-bottom: 18px; }
.rx-lat-track { height: 3px; background: rgba(230,219,196,.18); } .rx-lat-track div { height: 100%; background: var(--ouro); transition: width .4s; }
.rx-lat-prog small { display: block; color: var(--bege); opacity: .75; font-size: .72rem; margin-top: 8px; }
.rx-passos { display: flex; flex-direction: column; gap: 2px; }
.rx-passo { display: flex; gap: 12px; align-items: flex-start; padding: 7px 10px 7px 8px; border-left: 2px solid transparent; color: rgba(230,219,196,.7); font: 500 .8rem/1.3 "Archivo", sans-serif; cursor: pointer; text-decoration: none; }
.rx-passo .n { flex: 0 0 22px; font-family: "Cormorant Garamond", serif; font-size: 1.1rem; font-weight: 600; color: var(--ouro); line-height: 1.1; text-align: right; }
.rx-passo small { display: block; font-size: .64rem; letter-spacing: .08em; text-transform: uppercase; opacity: .6; margin-top: 2px; }
.rx-passo.sel { color: var(--areia); border-left-color: var(--ouro); background: rgba(255,255,255,.04); }
.rx-passo.feito { color: rgba(230,219,196,.9); } .rx-passo.feito .n { color: var(--areia); }
.rx-passo.oculto { opacity: .4; } .rx-passo.parcial .n { font-size: .8rem; padding-top: 3px; }
.rx-lat-outros { margin-top: 18px; } .rx-lat-outros .kicker { color: var(--ouro-2); }
.rx-outro { color: var(--bege); font-size: .84rem; margin-top: 4px; } .rx-outro small { opacity: .6; } .rx-outro a { color: var(--ouro-2); margin-left: 6px; }
.rx-layout .rodape-lat small { color: rgba(230,219,196,.55); font-size: .7rem; line-height: 1.45; display: block; }
.conteudo .rx-wrap { max-width: 1040px; }
.rx-cab { margin-bottom: 28px; }
.rx-cab h1 { margin: 8px 0 8px; }
.rx-sub { font-size: 1.05rem; color: var(--tinta); max-width: 720px; line-height: 1.55; margin: 0; }
.rx-nota { background: #fff; border: 1px solid var(--fio); border-left: 3px solid var(--ouro); border-radius: 10px; padding: 10px 14px; font-size: .9rem; color: var(--navy); margin: 14px 0 0; }
.rx-vira { display: block; font-size: .78rem; color: var(--mudo); margin-top: 8px; font-style: italic; }
.rx-cab .rx-vira { margin-top: 12px; }
.rx-corpo-form.com-contas { display: grid; grid-template-columns: minmax(0, 1fr) 280px; gap: 32px; align-items: start; }
.rx-contas { position: sticky; top: 24px; background: #fff; border: 1px solid var(--fio); border-radius: 14px; padding: 18px 20px; }
.rx-conta { padding: 9px 0; border-bottom: 1px solid var(--fio); } .rx-conta:last-of-type { border-bottom: 0; }
.rx-conta small { display: block; font: 500 .62rem/1 "Archivo", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--ouro); }
.rx-conta b { display: block; font-family: "Cormorant Garamond", serif; font-size: 1.55rem; font-weight: 600; color: var(--navy); line-height: 1.1; margin-top: 4px; }
.rx-conta span { display: block; font-size: .74rem; color: var(--mudo); }
.rx-revisar { margin-top: 14px; border-top: 2px solid var(--bordo); padding-top: 12px; }
.rx-revisar b { display: block; color: var(--bordo); font-size: .92rem; margin-bottom: 6px; }
.rx-revisar p { font-size: .84rem; color: var(--tinta); margin: 0 0 8px; } .rx-revisar small { color: var(--mudo); font-size: .74rem; }
.rx-q { padding: 22px 0; border-bottom: 1px solid var(--fio); }
.rx-q:last-child { border-bottom: 0; }
.rx-txt { display: block; font-size: 1.08rem; font-weight: 500; color: var(--navy); line-height: 1.4; }
.rx-ast { color: var(--bordo); } .rx-marca { font: 600 .6rem/1 "Archivo", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: #fff; background: var(--bordo); padding: 3px 6px; border-radius: 3px; margin-left: 8px; vertical-align: middle; }
.rx-ajuda { display: block; font-size: .84rem; color: var(--mudo); margin: 4px 0 0; line-height: 1.45; }
.rx-q input[type=text], .rx-q input[type=url], .rx-q input[type=number], .rx-q textarea { width: 100%; margin-top: 10px; padding: 11px 14px; border: 1px solid rgba(16,26,38,.22); border-radius: 10px; background: #fff; font: 400 1rem/1.5 "Archivo", sans-serif; color: var(--navy); }
.rx-q input:focus, .rx-q textarea:focus { outline: none; border-color: var(--navy); box-shadow: 0 0 0 3px rgba(16,26,38,.08); }
.rx-q input[readonly] { background: var(--bege); color: var(--tinta); }
.rx-opcoes { display: flex; flex-direction: column; gap: 6px; margin-top: 12px; }
.rx-op { display: flex; gap: 12px; align-items: flex-start; padding: 11px 14px; background: #fff; border: 1px solid var(--fio); border-radius: 10px; cursor: pointer; font-size: .96rem; color: var(--navy); line-height: 1.4; transition: border-color .15s; }
.rx-op:hover { border-color: rgba(16,26,38,.4); }
.rx-op input { margin: 4px 0 0; accent-color: var(--navy); flex: 0 0 auto; }
.rx-op.on { border-color: var(--navy); background: var(--areia); }
.rx-op.trav { opacity: .45; cursor: default; }
.rx-abre { margin: 2px 0 6px !important; }
.rx-aceite { display: flex; gap: 12px; align-items: flex-start; font-size: 1rem; color: var(--navy); line-height: 1.45; cursor: pointer; }
.rx-aceite input { margin-top: 5px; accent-color: var(--navy); width: 18px; height: 18px; }
.rx-escala { margin-top: 12px; }
.rx-esc-cab { display: grid; grid-template-columns: minmax(0, 1fr) repeat(var(--n, 5), 76px); gap: 0 4px; align-items: end; padding-bottom: 8px; }
.rx-esc-cab span { font: 500 .6rem/1.25 "Archivo", sans-serif; letter-spacing: .06em; text-transform: uppercase; color: var(--ouro); text-align: center; }
.rx-esc-linha { display: grid; grid-template-columns: minmax(0, 1fr) repeat(var(--n, 5), 76px); gap: 0 4px; align-items: center; padding: 10px 0; border-top: 1px solid var(--fio); }
.rx-esc-txt { font-size: .94rem; color: var(--navy); padding-right: 16px; line-height: 1.4; }
.rx-esc-op { display: flex; justify-content: center; cursor: pointer; } .rx-esc-op input { position: absolute; opacity: 0; width: 0; height: 0; }
.rx-esc-op i { width: 22px; height: 22px; border-radius: 50%; border: 1.5px solid rgba(16,26,38,.4); background: #fff; transition: all .12s; }
.rx-esc-op:hover i { border-color: var(--navy); } .rx-esc-op.on i { background: var(--navy); border-color: var(--navy); box-shadow: inset 0 0 0 4px var(--areia); }
.rx-escala.n4 .rx-esc-cab, .rx-escala.n4 .rx-esc-linha { --n: 4; }
.rx-grupo { display: grid; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); gap: 10px 16px; margin-top: 12px; }
.rx-grupo label span { display: block; font-size: .84rem; color: var(--tinta); } .rx-grupo input { margin-top: 4px !important; }
.rx-grupo-total { grid-column: 1 / -1; font-size: .9rem; color: var(--navy); } .rx-grupo-total b { font-family: "Cormorant Garamond", serif; font-size: 1.3rem; }
.rx-rep { padding: 10px 0 0; }
.rx-cartao { background: #fff; border: 1px solid var(--fio); border-radius: 14px; padding: 6px 22px 10px; margin: 12px 0; }
.rx-cartao-rot { font-family: "Cormorant Garamond", serif; font-size: 1.3rem; font-weight: 600; color: var(--navy); padding: 12px 0 4px; }
.rx-cartao .rx-q { padding: 14px 0; } .rx-cartao .rx-txt { font-size: 1rem; }
.rx-arquivo { margin-top: 10px; font-size: .92rem; color: var(--navy); display: flex; gap: 12px; align-items: center; }
.rx-q input[type=file] { margin-top: 10px; font-size: .9rem; }
.rx-nav { display: flex; justify-content: space-between; align-items: center; gap: 16px; margin-top: 34px; padding-top: 22px; border-top: 1px solid var(--fio); }
.rx-nav-dir { display: flex; gap: 14px; align-items: center; } .rx-obrig { color: var(--bordo); font-size: .84rem; max-width: 420px; text-align: right; }
.rx-erro { padding: 80px 40px; max-width: 560px; margin: 0 auto; } .rx-erro p { color: var(--tinta); }
/* entrega parcial e resumo */
.rx-mapa { background: #fff; border: 1px solid var(--fio); border-radius: 14px; padding: 22px 26px; }
.rx-mapa-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px 24px; margin-top: 12px; }
.rx-mapa-item small { display: block; font: 500 .62rem/1 "Archivo", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--ouro); }
.rx-mapa-item b { display: block; font-family: "Cormorant Garamond", serif; font-size: 1.9rem; font-weight: 600; color: var(--navy); line-height: 1.1; margin-top: 6px; }
.rx-mapa-item span { display: block; font-size: .78rem; color: var(--mudo); margin-top: 2px; }
.rx-acoes { display: flex; gap: 12px; margin-top: 18px; }
.rx-res { background: #fff; border: 1px solid var(--fio); border-radius: 14px; padding: 20px 26px; margin-bottom: 16px; }
.rx-res h2 { margin-top: 0; }
.rx-lic { display: grid; grid-template-columns: 90px 1fr 60px; gap: 14px; align-items: center; padding: 8px 0; }
.rx-lic span { font-weight: 500; color: var(--navy); } .rx-lic-track { height: 8px; background: rgba(16,26,38,.08); } .rx-lic-track div { height: 100%; background: var(--navy); }
.rx-lic b { font-family: "Cormorant Garamond", serif; font-size: 1.4rem; color: var(--navy); } .rx-lic b small { font-size: .8rem; color: var(--mudo); }
.rx-pa { padding-left: 20px; } .rx-pa li { margin-bottom: 10px; color: var(--navy); line-height: 1.5; } .rx-pa .cod { margin-right: 8px; }
.rx-rodape-pdf { font-size: .74rem; color: var(--mudo); margin-top: 20px; }
@media (max-width: 1000px) { .rx-corpo-form.com-contas { grid-template-columns: 1fr; } .rx-contas { position: static; } .rx-mapa-grid { grid-template-columns: 1fr 1fr; } }
@media (max-width: 860px) { .rx-layout .lateral { position: static; height: auto; padding: 18px 20px; } .rx-passos { flex-direction: row; flex-wrap: wrap; gap: 4px; } .rx-passo span:not(.n) { display: none; } .rx-passo .n { flex-basis: auto; } .rx-lat-outros, .rx-layout .rodape-lat { display: none; }
  .rx-esc-cab { display: none; } .rx-esc-linha { grid-template-columns: 1fr; gap: 8px; } .rx-esc-linha .rx-esc-op { display: inline-flex; margin-right: 10px; } .rx-esc-linha { display: block; } .rx-esc-txt { display: block; margin-bottom: 6px; }
  .rx-esc-op i { width: 28px; height: 28px; } .rx-esc-op::after { content: attr(title); font-size: .7rem; color: var(--mudo); margin-left: 4px; align-self: center; } }
@media print { .lateral, .rodape, .no-print, .rx-nav { display: none !important; } .layout { display: block; } .conteudo { background: #fff; } .conteudo .wrap { padding: 0; max-width: none; } .rx-res { break-inside: avoid; border: 0; border-top: 1px solid #ccc; border-radius: 0; padding: 14px 0; } body { color: #000; } }

/* Raio-X · painel */
.rx-novo { display: grid; grid-template-columns: 2fr 1fr 2fr; gap: 12px; margin-top: 6px; }
.rx-novo.socio { grid-template-columns: 2fr 2fr 1.4fr; margin-bottom: 8px; }
.rx-novo label { font-size: .78rem; color: var(--mudo); } .rx-novo input, .rx-novo select { display: block; width: 100%; margin-top: 4px; padding: 9px 12px; border: 1px solid rgba(16,26,38,.22); border-radius: 8px; background: #fff; font: 400 .95rem "Archivo", sans-serif; color: var(--navy); }
.tabela.rx-adm td { font-size: .86rem; vertical-align: top; } .rx-tq { color: var(--tinta); width: 40%; }
tr.rx-div td { color: var(--bordo); } tr.rx-div td.rx-tq { color: var(--bordo); font-weight: 500; }
.rx-rep-adm { font-size: .78rem; color: var(--tinta); margin-top: 4px; word-break: break-word; } .rx-rep-adm small { color: var(--ouro); font-weight: 600; }
@media (max-width: 860px) { .rx-novo, .rx-novo.socio { grid-template-columns: 1fr; } }
/* Raio-X · neutraliza o label global do selem.css e o estilo dos links da barra lateral */
.rx-q label, .rx-q .rx-txt, .rx-novo label { text-transform: none; letter-spacing: 0; margin: 0; }
.rx-q .rx-txt { font-size: 1.08rem; font-weight: 500; }
.rx-op, .rx-aceite, .rx-esc-op, .rx-grupo label { text-transform: none; letter-spacing: 0; margin: 0; font-weight: 400; }
.rx-grupo label { font-size: .84rem; }
.lateral nav .rx-passo { display: flex; gap: 12px; text-transform: none; letter-spacing: 0; font: 500 .82rem/1.3 "Archivo", sans-serif; padding: 7px 10px 7px 8px; width: auto; margin: 0; }
.lateral nav .rx-passo small { letter-spacing: .08em; text-transform: uppercase; }
.lateral nav .rx-passo.sel { color: var(--areia); }

/* Raio-X · como funciona */
.rx-como summary { display: flex; justify-content: space-between; align-items: center; cursor: pointer; list-style: none; }
.rx-como summary::-webkit-details-marker { display: none; }
.rx-como summary h3 { margin: 0; } .rx-como summary::after { content: "+"; font-family: "Cormorant Garamond", serif; font-size: 1.6rem; color: var(--ouro); margin-left: 14px; }
.rx-como[open] summary::after { content: "–"; }
.rx-como-lista { margin: 18px 0 0; padding-left: 0; list-style: none; counter-reset: passo; display: grid; grid-template-columns: 1fr 1fr; gap: 14px 22px; }
.rx-como-lista li { counter-increment: passo; position: relative; padding-left: 44px; font-size: .92rem; color: var(--tinta); line-height: 1.5; }
.rx-como-lista li::before { content: counter(passo); position: absolute; left: 0; top: -4px; font-family: "Cormorant Garamond", serif; font-size: 1.9rem; font-weight: 600; color: var(--ouro); line-height: 1; }
.rx-como-lista li b { color: var(--navy); font-weight: 600; }
.rx-como-notas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 16px; margin-top: 22px; }
.rx-como-notas > div { background: #fff; border: 1px solid var(--fio); border-radius: 14px; padding: 16px 18px; }
.rx-como-notas p { font-size: .86rem; color: var(--tinta); margin: 6px 0 0; line-height: 1.5; }
@media (max-width: 900px) { .rx-como-lista, .rx-como-notas { grid-template-columns: 1fr; } }

/* Raio-X · protocolos desejados, uma área por vez */
.rx-areas { display: flex; flex-direction: column; gap: 8px; margin-top: 12px; }
.rx-area { background: #fff; border: 1px solid var(--fio); border-radius: 12px; }
.rx-area summary { display: grid; grid-template-columns: 1fr auto; grid-template-areas: "nome n" "funcao n"; align-items: center; gap: 2px 14px; padding: 12px 16px; cursor: pointer; list-style: none; }
.rx-area summary::-webkit-details-marker { display: none; }
.rx-area-nome { grid-area: nome; font-family: "Cormorant Garamond", serif; font-size: 1.2rem; font-weight: 600; color: var(--navy); }
.rx-area summary small { grid-area: funcao; font-size: .8rem; color: var(--mudo); }
.rx-area-n { grid-area: n; font: 500 .64rem/1 "Archivo", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--ouro); white-space: nowrap; }
.rx-area[open] summary { border-bottom: 1px solid var(--fio); } .rx-area[open] .rx-area-n { color: var(--navy); }
.rx-area .rx-opcoes { padding: 10px 14px 14px; margin-top: 0; }
.rx-area .rx-op { background: var(--areia); border-color: transparent; } .rx-area .rx-op.on { border-color: var(--navy); background: #fff; }

/* ---------- Página do protocolo · conteúdo na tela ---------- */
.ph-ciclo { display: block; margin-top: 12px; color: var(--ouro-2); font: 500 .68rem/1 "Archivo", sans-serif; letter-spacing: .16em; text-transform: uppercase; }
.pt-sec { margin: 0 0 34px; }
.pt-sec h2 { font-family: "Cormorant Garamond", serif; font-size: 1.7rem; font-weight: 600; letter-spacing: 0; text-transform: none; color: var(--navy); margin: 0 0 12px; }
.pt-sec h2::after { content: ""; display: block; width: 36px; height: 1px; background: var(--ouro); margin-top: 8px; }
.pt-sec h2 small { font: 500 .66rem/1 "Archivo", sans-serif; letter-spacing: .18em; text-transform: uppercase; color: var(--ouro); margin-left: 12px; vertical-align: middle; }
.pt-sec h3 { font: 500 .78rem/1.3 "Archivo", sans-serif; letter-spacing: .2em; text-transform: uppercase; color: var(--navy); margin: 0 0 10px; }
.pt-texto { max-width: 820px; font-size: 1.02rem; line-height: 1.68; color: var(--tinta); }
.pt-texto p { margin: 0 0 14px; } .pt-texto p:last-child { margin-bottom: 0; }
.pt-texto b { color: var(--navy); font-weight: 600; }
.pt-texto ul { margin: 0 0 14px; padding-left: 20px; } .pt-texto li { margin-bottom: 8px; }
.pt-texto h4 { font: 600 .9rem/1.3 "Archivo", sans-serif; color: var(--navy); margin: 18px 0 8px; }
.pt-tbl-rol { overflow-x: auto; margin: 6px 0 16px; }
.pt-tbl { border-collapse: collapse; width: 100%; font-size: .9rem; background: #fff; }
.pt-tbl th { background: var(--navy); color: var(--areia); font: 500 .68rem/1.3 "Archivo", sans-serif; letter-spacing: .1em; text-transform: uppercase; text-align: left; padding: 10px 12px; }
.pt-tbl td { padding: 9px 12px; border: 1px solid var(--fio); vertical-align: top; color: var(--tinta); line-height: 1.45; }
.pt-tbl tr:nth-child(even) td { background: rgba(16,26,38,.025); }
.pt-portes { display: grid; grid-template-columns: repeat(4, 1fr); gap: 12px; margin-top: 18px; }
.pt-porte { background: #fff; border: 1px solid var(--fio); border-top: 3px solid var(--ouro); border-radius: 12px; padding: 14px 16px; }
.pt-porte .cod { display: block; margin-bottom: 8px; } .pt-porte p { font-size: .9rem; color: var(--tinta); line-height: 1.5; margin: 0; }
.pt-beneficios { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; margin-bottom: 34px; }
.pt-ben { background: #fff; border: 1px solid var(--fio); border-radius: 14px; padding: 22px 24px; margin: 0; }
.pt-ben .pt-texto { font-size: .96rem; }
.pt-crono { display: grid; grid-template-columns: repeat(auto-fit, minmax(170px, 1fr)); gap: 0; border-top: 2px solid var(--navy); margin-top: 6px; }
.pt-etapa { padding: 14px 16px 14px 0; position: relative; }
.pt-etapa::before { content: ""; position: absolute; top: -7px; left: 0; width: 12px; height: 12px; border-radius: 50%; background: var(--navy); }
.pt-etapa b { display: block; font: 600 .66rem/1 "Archivo", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--ouro); margin-bottom: 8px; }
.pt-etapa span { font-size: .9rem; color: var(--tinta); line-height: 1.45; display: block; overflow-wrap: anywhere; }
.pt-etapa { min-width: 0; }
.pt-outras { background: #fff; border: 1px solid var(--fio); border-radius: 14px; padding: 0 26px; margin-bottom: 34px; }
.pt-outras summary { display: flex; justify-content: space-between; align-items: center; gap: 16px; padding: 20px 0; cursor: pointer; list-style: none; }
.pt-outras summary::-webkit-details-marker { display: none; }
.pt-outras summary h2 { margin: 0; } .pt-outras summary h2::after { display: none; }
.pt-outras summary::after { content: "+"; font-family: "Cormorant Garamond", serif; font-size: 1.8rem; color: var(--ouro); margin-left: auto; }
.pt-outras[open] summary::after { content: "–"; }
.pt-outras[open] summary { border-bottom: 1px solid var(--fio); margin-bottom: 22px; }
.pt-outras .pt-sec { margin-bottom: 28px; } .pt-outras .pt-sec:last-child { padding-bottom: 8px; }
.pt-inter h4 { color: var(--ouro); font: 500 .66rem/1 "Archivo", sans-serif; letter-spacing: .18em; text-transform: uppercase; }
.pt-link { color: var(--navy); font-weight: 600; text-decoration: none; border-bottom: 1px solid var(--ouro); }
.pt-cod-ref { color: var(--navy); font-weight: 600; }
.pt-semana { margin-bottom: 8px; }
.pt-sem-rot { font: 600 .66rem/1 "Archivo", sans-serif; letter-spacing: .18em; text-transform: uppercase; color: var(--ouro); padding: 14px 0 4px; }
.tarefa.marcavel { cursor: pointer; } .tarefa input[type=checkbox] { position: absolute; opacity: 0; width: 0; height: 0; }
.tarefa { position: relative; } .tarefa.marcavel:hover .check { border-color: var(--ouro); }
.tarefa.concluida .tf-txt b { color: var(--mudo); text-decoration: line-through; text-decoration-color: var(--ouro); }
.pt-anexos { display: flex; flex-direction: column; gap: 8px; }
.pt-anexo { background: #fff; border: 1px solid var(--fio); border-radius: 12px; }
.pt-anexo summary { display: flex; align-items: center; gap: 14px; padding: 12px 16px; cursor: pointer; list-style: none; }
.pt-anexo summary::-webkit-details-marker { display: none; }
.pt-anx-n { flex: 0 0 34px; height: 34px; border-radius: 50%; border: 1px solid var(--ouro); color: var(--ouro); display: flex; align-items: center; justify-content: center; font-family: "Cormorant Garamond", serif; font-size: 1.1rem; font-weight: 600; }
.pt-anexo[open] .pt-anx-n { background: var(--ouro); color: var(--navy); }
.pt-anx-t { flex: 1; font-size: 1rem; font-weight: 500; color: var(--navy); }
.pt-anx-abrir { font: 500 .62rem/1 "Archivo", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--ouro); }
.pt-anexo[open] .pt-anx-abrir { display: none; }
.pt-anx-corpo { padding: 4px 18px 18px; border-top: 1px solid var(--fio); } .pt-anx-corpo .pt-texto { padding-top: 12px; font-size: .94rem; }
.pt-anx-corpo .pt-baixar { margin-top: 6px; }
.lateral nav .pt-indice { padding: 4px 0; } .pt-ind-rot { font: 500 .58rem/1 "Archivo", sans-serif; letter-spacing: .2em; text-transform: uppercase; color: var(--ouro-2); padding: 8px 0 6px 16px; }
.lateral nav .pt-ind { font-size: .7rem; padding: 6px 0 6px 16px; letter-spacing: .08em; }
@media (max-width: 1000px) { .pt-portes { grid-template-columns: 1fr 1fr; } }
@media (max-width: 760px) { .pt-portes, .pt-beneficios { grid-template-columns: 1fr; } .pt-outras { padding: 0 18px; } }

.tarefa, .tarefa .tf-txt b, .tarefa .tf-txt small { text-transform: none; letter-spacing: 0; margin: 0; }
.tarefa { margin: 0; font-weight: 400; } .tarefa .tf-txt b { font-weight: 500; }
