/* =============================================================
   Portal do PPE · kit v2 aplicado ao portal (aprovado em 21/10/2026)
   Carregado DEPOIS de selem.css e ppe.css: reaproveita o markup das páginas e troca a forma.
   Regras: Archivo em tudo (sem serifa na interface) · cartões largos sem borda (22px) · moldura com
   barra lateral navy em degradê flutuante · herói navy com brilho dourado e ripas · progresso em
   trilha hachurada · chips e botões em pílula · números grandes em peso leve.
   Os componentes novos (v2-*) vêm de v2.css.
   ============================================================= */
@import url("v2.css?v=202610280626");

:root { --fio: rgba(16,26,38,.07); --mudo: #8a7c6c; --linha: rgba(16,26,38,.08); --sombra: 0 1px 0 rgba(16,26,38,.04), 0 18px 40px -30px rgba(16,26,38,.35); }
body { background: radial-gradient(1200px 700px at 10% -10%, var(--fundo-2), transparent 60%), radial-gradient(900px 600px at 110% 110%, var(--fundo-2), transparent 55%), var(--fundo); font-size: 15px; color: var(--texto); }

/* ---------- tipografia: sem serifa ---------- */
h1, h2, h3, h4, .serif, .kpi .n, .lista .quando, .tabela td.semana, .rg-cod, .rx-cartao-rot, .rx-area-nome, .rx-conta b, .rx-mapa-item b, .rx-lic b, .sem-data b, .tq-cli, .anel text, .pt-sec h2, .pt-anx-n, .rx-passo .n, .data-badge b, .v2-data b, .voz b, .cart h3, .card-prot h3, .prot-hero h1, .hero-ciclo h2, .hero-home h2, .termo-txt, .ph-anel small, .gauge + .termo-txt, .resumo-linha b, .mini-kpis b, .cart-kpis b, .tile-num, .rx-grupo-total b, .pt-etapa b, .medalha, .conq .medalha { font-family: "Archivo", sans-serif !important; }
h1 { font-size: clamp(1.6rem, 2.4vw, 2rem); font-weight: 500; letter-spacing: -.02em; color: var(--texto); line-height: 1.15; }
h2 { font-weight: 500; letter-spacing: -.01em; }
h3 { font-size: 1.05rem; font-weight: 500; letter-spacing: -.01em; color: var(--texto); }
.conteudo h2 { font-size: .68rem; font-weight: 600; letter-spacing: .22em; text-transform: uppercase; color: var(--texto); }
.conteudo h2::after { background: var(--ouro); }
.kicker, .selo, .cod, .area-tag, .status-chip, .kpi .l, .tabela th, .lista .quando small, .passo .et, .cal-sem, .doc-lista .cat, .lateral .marca small, .prog-lbl, .tile small { font-weight: 600; letter-spacing: .18em; }
.kpi .n, .resumo-linha b, .mini-kpis b, .cart-kpis b, .tile-num { font-weight: 300 !important; letter-spacing: -.03em; }
.kpi .n { font-size: 2.8rem; }
.lista .quando { font-weight: 500; font-size: 1.05rem; }
.tabela td.semana { font-weight: 500; font-size: .95rem; }
.prot-hero h1, .hero-ciclo h2, .hero-home h2 { font-weight: 500; letter-spacing: -.02em; }
.hero-home h2 { font-size: clamp(1.4rem, 2vw, 1.85rem); }
.prot-hero h1 { font-size: clamp(1.5rem, 2.2vw, 2rem); }
.anel text { font-weight: 400; }

/* ---------- moldura ---------- */
.layout { gap: 18px; padding: 18px; grid-template-columns: 252px minmax(0, 1fr); }
.lateral { position: sticky; top: 18px; height: calc(100vh - 36px); border-radius: var(--raio); padding: 28px 20px 22px; overflow: hidden; box-shadow: var(--sombra);
  background: radial-gradient(420px 260px at 110% -10%, rgba(184,151,63,.28), transparent 60%), radial-gradient(360px 300px at -20% 110%, rgba(92,26,34,.35), transparent 60%), linear-gradient(170deg, var(--navy-2), var(--navy) 45%, var(--navy-0)); }
.lateral::before { content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .09; background-image: repeating-linear-gradient(to bottom, var(--ouro) 0 1.5px, transparent 1.5px 6px); mask-image: linear-gradient(to bottom, transparent, #000 30%, transparent 90%); }
.lateral > * { position: relative; }
.lateral .marca img { height: 26px !important; width: auto !important; }
.lateral .escr { font-family: "Archivo", sans-serif; font-size: 1.02rem; font-weight: 500; color: var(--areia); margin: 26px 0 18px; padding-bottom: 18px; border-bottom: 1px solid rgba(230,219,196,.12); line-height: 1.3; }
.lateral nav a, .lateral nav button { border-radius: 12px; border-left: 0; margin: 0; padding: 10px 12px !important; font: 400 .88rem/1.2 "Archivo", sans-serif !important; letter-spacing: 0 !important; text-transform: none !important; color: rgba(230,219,196,.72); transition: background .15s, color .15s; width: 100%; }
.lateral nav a:hover, .lateral nav button:hover { color: var(--areia); background: rgba(255,255,255,.05); }
.lateral nav .sel { color: var(--navy) !important; background: var(--areia); font-weight: 500 !important; border-left-color: transparent; }
.lateral nav .sep { margin: 12px 0; }
.lateral nav .ico { display: none; }
.lateral .rodape-lat { border-top: 1px solid rgba(230,219,196,.12); padding-top: 16px; }
.lateral .rodape-lat b { font-size: .9rem; }
.lateral .btn-linha { border-radius: 999px; }
.conteudo { background: transparent; border-radius: 0; }
.conteudo .wrap { padding: 10px 6px 60px; max-width: none; }
.conteudo .wrap-lg { max-width: none; }
.rodape { background: transparent; border: 0; color: var(--mudo); font-size: .74rem; text-align: center; padding: 10px 0; }
.rodape-selem { display: none; }
.ripas { display: none; }
.voltar { font: 500 .78rem "Archivo", sans-serif; letter-spacing: .04em; text-transform: none; color: var(--ouro); text-decoration: none; margin-bottom: 14px; }
.nota-fase { color: var(--mudo); font-size: .8rem; }

/* ---------- cartões, chips, botões ---------- */
.card, .conteudo section.card, .conteudo .card, .cart, .rg, .voz, .rx-area, .rx-anexo, .pt-anexo, .pt-ben, .pt-outras, .rx-contas, .rx-mapa, .rx-res, .pt-porte, .exp-cond, .reservado, .rx-como-notas > div, .dossie > div, .al-grupo, .rx-cartao { background: var(--cartao); border: 0 !important; border-radius: var(--raio); box-shadow: var(--sombra); }
.card, .conteudo section.card, .conteudo .card { padding: 24px 26px; margin-bottom: 18px; }
.card-cab h3 { font-size: 1.05rem; }
.rx-area, .rx-anexo, .pt-anexo, .pt-porte, .rx-cartao, .dossie > div, .rx-como-notas > div { border-radius: var(--raio-sm); background: var(--cartao-2); box-shadow: none; }
.al-grupo { border-radius: var(--raio-sm); background: var(--cartao-2); box-shadow: none; overflow: hidden; }
.al-grupo.risco { border-top: 3px solid var(--bordo) !important; } .al-grupo.fim, .al-grupo.trimestre { border-top: 3px solid var(--ouro) !important; }
.alerta { border-radius: 12px; }
.vazio { background: var(--cartao-2); border: 0; border-radius: var(--raio-sm); color: var(--mudo); padding: 18px 20px; }
.status-chip { padding: 6px 11px; border-radius: 999px; background: rgba(16,26,38,.07); color: var(--texto); font-weight: 500; letter-spacing: .08em; font-size: .64rem; }
.status-chip::before { width: 6px; height: 6px; margin-right: 6px; }
.status-chip.ok { background: rgba(184,151,63,.18); color: #7d6420; } .status-chip.ok::before { background: var(--ouro); }
.status-chip.andamento { background: rgba(16,26,38,.09); color: var(--navy); }
.status-chip.atraso, .status-chip.risco { background: rgba(92,26,34,.12); color: var(--bordo); }
.status-chip.cond { background: rgba(16,26,38,.05); color: var(--mudo); }
.btn { border-radius: 999px; padding: 11px 18px; font: 500 .84rem "Archivo", sans-serif; letter-spacing: 0; text-transform: none; box-shadow: 0 10px 24px -14px rgba(16,26,38,.8); }
.btn-sm { padding: 8px 14px; font-size: .76rem; }
.btn-linha { background: transparent; border: 1px solid rgba(16,26,38,.25); color: var(--texto); box-shadow: none; }
.btn-linha:hover { background: rgba(16,26,38,.05); color: var(--texto); }
.filtros button, .modo button { border-radius: 999px; padding: 7px 14px; font-size: .76rem; }
.filtros button.sel, .modo button.sel { background: var(--navy); color: var(--areia); }
.ferramentas select, input[type=text], input[type=email], input[type=password], input[type=number], input[type=url], input[type=date], textarea, select { border-radius: 12px; border: 1px solid rgba(16,26,38,.18); background: var(--cartao); font-family: "Archivo", sans-serif; }
.quem-pill { border-radius: 999px; padding: 6px 10px 5px; }
.area-pill { border-radius: 999px; }
.cod { font-weight: 600; }

/* ---------- progresso ---------- */
.prog-track { height: 6px; border-radius: 999px; background: var(--hachura); }
.prog-fill { border-radius: 999px; }
.regua .prog-track { height: 8px; } .marco70 { background: var(--navy); }
.rr-track { height: 2px; }
.prog-lbl { font-size: .72rem; letter-spacing: .06em; text-transform: none; }
.rx-lat-track { border-radius: 999px; }

/* ---------- heróis ---------- */
.hero-home, .hero-ciclo, .prot-hero, .termo-sem, .aula .thumb, .ad-thumb, .rx-cab-navy { position: relative; overflow: hidden; border-radius: var(--raio); color: var(--bege);
  background: radial-gradient(640px 360px at 100% 0%, rgba(184,151,63,.32), transparent 60%), radial-gradient(520px 420px at 0% 120%, rgba(92,26,34,.45), transparent 60%), linear-gradient(160deg, #1a2b42, var(--navy) 50%, var(--navy-0)) !important; box-shadow: 0 30px 60px -36px rgba(16,26,38,.9); }
.hero-home::after, .hero-ciclo::before, .prot-hero::after, .aula .thumb::before, .ad-thumb::before { display: block !important; left: auto !important; right: 0 !important; top: 0 !important; width: 100% !important; height: 100% !important; opacity: .1 !important; border-radius: inherit; mask-image: radial-gradient(520px 320px at 85% 50%, #000, transparent 70%); background-image: repeating-linear-gradient(to bottom, var(--ouro) 0 1.5px, transparent 1.5px 6px) !important; pointer-events: none; }
.hero-home, .hero-ciclo { margin-bottom: 18px; padding: 32px 36px; }
.prot-hero { margin-bottom: 18px; }
.termo-sem { padding: 22px 24px; }
.hero-meta span, .ph-top .status-chip { background: rgba(255,255,255,.08); color: var(--areia); border: 1px solid rgba(230,219,196,.14); border-radius: 999px; padding: 7px 13px; }

/* ---------- blocos da home antiga (tiles) ---------- */
.tiles { gap: 14px; margin-bottom: 18px; }
.tile { background: var(--cartao); border: 0; border-radius: var(--raio); box-shadow: var(--sombra); padding: 18px 20px; }
.tile:hover { transform: translateY(-2px); }
.tile-ico { display: none; }
.tile-num { font-size: 2.2rem; }

/* ---------- indicadores e listas ---------- */
.resumo-linha { background: var(--cartao); border: 0; border-radius: var(--raio); box-shadow: var(--sombra); padding: 20px 26px; margin-bottom: 18px; }
.resumo-linha b { font-size: 2.4rem; }
.cart-kpis { background: var(--cartao-2); border-radius: var(--raio-sm); padding: 12px 14px; }
.kpis { gap: 18px; }
.kpi { background: var(--cartao-2); border-radius: var(--raio-sm); padding: 16px 18px; }
.mini-kpis { gap: 22px; }
.data-badge { border-radius: 14px; background: var(--navy); color: var(--areia); }
.data-badge b { font-weight: 500; }
.compromisso, .registro, .tq { border-radius: var(--raio-sm); }
.lista li { border-bottom: 1px solid var(--fio); }
.timeline .tl-dot { box-shadow: 0 0 0 4px var(--cartao); }
.tabela th { background: transparent; color: var(--mudo); border-bottom: 1px solid var(--fio); }
.tabela.ren thead tr, .tabela.rx-adm thead tr { background: transparent; }
.tabela.ren th, .tabela.rx-adm th { color: var(--mudo) !important; background: transparent !important; }
.gauge span { border-radius: 999px; }
.insig-img { border-radius: 50%; }

/* ---------- login ---------- */
.split { padding: 18px; gap: 18px; background: var(--fundo); }
.split-carta, .split-login { border-radius: var(--raio); }
.split-login { background: radial-gradient(640px 360px at 100% 0%, rgba(184,151,63,.32), transparent 60%), radial-gradient(520px 420px at 0% 120%, rgba(92,26,34,.45), transparent 60%), linear-gradient(160deg, #1a2b42, var(--navy) 50%, var(--navy-0)) !important; }
.split-carta { background: var(--cartao); box-shadow: var(--sombra); }
.carta h1 { font-size: clamp(1.8rem, 3vw, 2.4rem); font-weight: 500; }
.split-login h2 { font-weight: 500; color: var(--areia); }
.split-login input { border-radius: 12px; }
.btn-ouro { border-radius: 999px; box-shadow: none; }

/* ---------- formulário do Raio-X e página do protocolo (ajustes de raio) ---------- */
.rx-op, .rx-q input, .rx-q textarea, .rx-esc-op i, .rx-arquivo, .rx-nota, .rx-abre { border-radius: 12px; }
.rx-op.on { background: var(--cartao-2); }
.rx-layout .lateral { padding-bottom: 16px; }
.rx-passo { border-radius: 10px; border-left: 0 !important; }
.pt-tbl th { background: var(--navy); border-radius: 0; }
.pt-tbl-rol { border-radius: 12px; overflow: hidden; border: 1px solid var(--fio); }
.pt-tbl td { border-left: 0; border-right: 0; }
.pt-crono { border-top: 0; }
.pt-etapa::before { top: 0; }
.pt-etapa { border-top: 2px solid var(--navy); }
.pt-sem-rot { letter-spacing: .18em; }
.tarefa .check { border-radius: 50%; }

@media (max-width: 860px) { .layout { padding: 12px; gap: 12px; } .lateral { position: static; height: auto; border-radius: 18px; padding: 16px 16px 14px; } .conteudo .wrap { padding: 6px 0 50px; } .card, .conteudo section.card, .conteudo .card { padding: 18px 18px 16px; } .hero-home, .hero-ciclo { padding: 22px 20px; } }

/* o herói v2 dentro do hub não herda o h2-kicker das seções */
.conteudo .v2-hero h2, .conteudo .v2-card-cab h3, .conteudo .v2-aula h3 { font-size: inherit; letter-spacing: -.02em; text-transform: none; color: inherit; margin: 0; }
.conteudo .v2-hero h2 { font-size: clamp(1.4rem, 2vw, 1.85rem); color: var(--areia); }
.conteudo .v2-hero h2::after, .conteudo .v2-card-cab h3::after { display: none; }
.conteudo .v2-card-cab h3 { font-size: 1.05rem; color: var(--texto); }
.conteudo .v2-top h1 { margin: 0; }
/* restos de serifa em títulos de blocos */
.al-cab b, .registro h3, .rg > b, .cart h3, .exp-cab b, .sem-data b, .rx-area-nome, .pt-anx-n, .tq-cli, .conq b, .card-prot h3, .prot-mini b, .aula h3, .ad-txt h3, .voz b, .rx-arc .n b, .rx-mapa-item b { font-family: "Archivo", sans-serif !important; font-weight: 500 !important; }
.al-cab b { font-size: .98rem; }
/* respiro entre os blocos do Meu programa (no hub eles não ficam dentro de .v2-main) */
#painel .v2-top { margin-bottom: 22px; }
#painel .v2-hero, #painel .v2-kpis, #painel .v2-grid { margin-bottom: 20px; }
#painel .v2-col { gap: 20px; }
#painel .v2-card { margin: 0; }

/* Plano de ação = mapa dos trimestres */
.plano-kpis { margin-bottom: 18px; }
.pl-ciclo { margin-bottom: 18px; }
.pl-ciclo.atual { box-shadow: 0 0 0 2px var(--ouro), var(--sombra); }
.pl-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 20px; margin-bottom: 16px; }
.pl-cab h3 { font-size: 1.1rem; margin: 6px 0 4px; line-height: 1.35; }
.pl-cab p { margin: 0; color: var(--mudo); font-size: .9rem; max-width: 720px; }
.pl-dir { text-align: right; flex: 0 0 auto; } .pl-dir small { display: block; color: var(--mudo); font-size: .76rem; margin-top: 8px; }
.pl-lista { display: flex; flex-direction: column; gap: 8px; }
.pl-prot { display: grid; grid-template-columns: 4px minmax(0, 1fr) auto 150px; gap: 16px; align-items: center; padding: 12px 16px 12px 12px; border-radius: var(--raio-sm); background: var(--cartao-2); text-decoration: none; transition: transform .15s; }
.pl-prot:hover { transform: translateY(-1px); }
.pl-area { width: 4px; height: 100%; min-height: 40px; border-radius: 4px; background: var(--cor); }
.pl-txt .v2-kicker { font-size: .56rem; margin-bottom: 4px; } .pl-txt b { display: block; font-weight: 500; font-size: .95rem; color: var(--texto); } .pl-txt small { color: var(--mudo); font-size: .76rem; }
.pl-prog { display: flex; align-items: center; gap: 10px; } .pl-prog .prog-track { flex: 1; } .pl-prog small { font-size: .74rem; color: var(--mudo); min-width: 32px; text-align: right; }
.pl-ciclo.feito .pl-cab h3 { color: var(--mudo); }
@media (max-width: 760px) { .pl-prot { grid-template-columns: 4px 1fr; } .pl-prot .status-chip, .pl-prog { grid-column: 2; } .pl-cab { flex-direction: column; } .pl-dir { text-align: left; } }

/* Implantação: cartão do protocolo com as próximas tarefas */
.card-prot { background: var(--cartao); border-radius: var(--raio); box-shadow: var(--sombra); padding: 20px 22px; border-top: 0 !important; }
.card-prot h3 { font-size: 1.02rem; margin: 10px 0 12px; }
.card-prot .cp-rodape { display: flex; align-items: center; gap: 12px; }
.cp-prox { margin-top: 14px; padding-top: 12px; border-top: 1px solid var(--fio); }
.cp-prox .v2-kicker { font-size: .56rem; margin-bottom: 8px; }
.cp-tarefa { display: flex; gap: 10px; align-items: flex-start; padding: 5px 0; }
.cp-tarefa .check { flex: 0 0 14px; width: 14px; height: 14px; margin-top: 3px; }
.cp-tarefa b { display: block; font-weight: 500; font-size: .86rem; color: var(--texto); line-height: 1.3; } .cp-tarefa small { color: var(--mudo); font-size: .72rem; }
#painel .pl-ciclo { margin: 0 0 20px; }
#painel .plano-kpis { margin-bottom: 20px; }
#painel .secao-ciclo { margin-bottom: 28px; }
#painel .grid-prot { gap: 16px; }

/* Implantação: três grupos por status */
#painel .im-grupo { margin: 0 0 18px; }
.im-grupo .v2-card-cab small { display: block; font-size: .8rem; margin-top: 2px; }
.im-prot { grid-template-columns: 4px minmax(0, 1fr) 150px auto; }
.im-abrir { font: 500 .62rem "Archivo", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--ouro); }
@media (max-width: 760px) { .im-prot { grid-template-columns: 4px 1fr; } .im-prot .pl-prog, .im-abrir { grid-column: 2; } }

/* tarefa com três estados */
.tarefa { align-items: center; gap: 14px; }
.tarefa .tf-txt { flex: 1; min-width: 0; }
.tf-estados { display: inline-flex; background: rgba(16,26,38,.06); border-radius: 999px; padding: 3px; flex: 0 0 auto; }
.tf-estados button { border: 0; background: transparent; padding: 6px 12px; border-radius: 999px; font: 500 .7rem "Archivo", sans-serif; letter-spacing: .04em; color: var(--mudo); cursor: pointer; }
.tf-estados button:hover { color: var(--texto); }
.tf-estados button.on { background: var(--cartao); color: var(--texto); box-shadow: 0 1px 2px rgba(16,26,38,.12); }
.tf-estados button.on.em_progresso { background: var(--navy); color: var(--areia); }
.tf-estados button.on.concluida { background: var(--ouro); color: var(--navy); }
.tf-estados button:disabled { cursor: default; opacity: .7; }
.tarefa.em_progresso .tf-txt b { color: var(--texto); }
@media (max-width: 700px) { .tarefa { flex-wrap: wrap; } .tf-estados { margin-left: 30px; } }

/* Trilha PPE: abas dos cursos */
.cursos-abas { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; margin: 0 0 20px; }
.cursos-abas button { border: 0; border-radius: var(--raio-sm); background: var(--cartao); box-shadow: var(--sombra); padding: 14px 18px; text-align: left; cursor: pointer; font-family: "Archivo", sans-serif; transition: transform .15s; }
.cursos-abas button:hover { transform: translateY(-1px); }
.cursos-abas button b { display: block; font-weight: 500; font-size: .98rem; color: var(--texto); }
.cursos-abas button small { display: block; color: var(--mudo); font-size: .76rem; margin-top: 3px; }
.cursos-abas button.sel { background: var(--navy); } .cursos-abas button.sel b { color: var(--areia); } .cursos-abas button.sel small { color: var(--ouro-2); }
@media (max-width: 760px) { .cursos-abas { grid-template-columns: 1fr; } }

/* cabeçalho das abas do hub e vazio da trilha */
#cab-hub { margin-bottom: 18px; } #cab-hub h1 { margin: 4px 0 4px; } .cab-sub { margin: 0; color: var(--mudo); font-size: .95rem; }
.trilha-vazia { display: grid; grid-template-columns: 220px 1fr; gap: 22px; align-items: center; background: var(--cartao); border-radius: var(--raio); box-shadow: var(--sombra); padding: 22px 26px; }
.trilha-vazia h3 { margin: 6px 0 8px; } .trilha-vazia p { color: var(--mudo); font-size: .92rem; margin: 0 0 14px; }
@media (max-width: 700px) { .trilha-vazia { grid-template-columns: 1fr; } }
/* abas dos cursos: barra de pílulas, não caixas */
.cursos-abas { display: inline-flex; grid-template-columns: none; gap: 4px; padding: 5px; border-radius: 999px; background: var(--cartao); box-shadow: var(--sombra); margin: 0 0 20px; }
.cursos-abas button { border-radius: 999px; box-shadow: none; background: transparent; padding: 9px 18px; display: flex; align-items: baseline; gap: 8px; }
.cursos-abas button:hover { background: rgba(16,26,38,.05); transform: none; }
.cursos-abas button b { font-size: .88rem; } .cursos-abas button small { margin: 0; font-size: .7rem; }
.cursos-abas button.sel { background: var(--navy); } .cursos-abas button.sel small { color: var(--ouro-2); }
/* o item ativo da barra lateral também em pílula */
.lateral nav .sel, .lateral nav a, .lateral nav button { border-radius: 999px; }
.lateral nav a, .lateral nav button { padding: 9px 16px !important; }
@media (max-width: 760px) { .cursos-abas { display: flex; flex-wrap: wrap; border-radius: 18px; } }

/* painel: carteira e ficha no kit */
.adm-kpis { grid-template-columns: repeat(5, 1fr); margin-bottom: 20px; }
.al-n { font-family: "Archivo", sans-serif !important; font-weight: 300 !important; font-size: 1.8rem; }
.al-grupo { background: var(--cartao); box-shadow: var(--sombra); border-radius: var(--raio); }
.cart-grid { gap: 18px; }
.cart.v2-card { padding: 22px 24px; }
.cart-cab { display: flex; justify-content: space-between; align-items: flex-start; gap: 14px; margin-bottom: 12px; }
.cart-cab h3 { font-size: 1.1rem; margin: 0 0 2px; } .cart-cab small { color: var(--mudo); font-size: .8rem; }
.cart-sem { display: flex; gap: 10px; align-items: center; margin-bottom: 14px; } .cart-sem small { color: var(--tinta); font-size: .82rem; line-height: 1.4; }
.cart-kpis { display: grid; grid-template-columns: 1fr 1fr; gap: 10px 14px; background: var(--cartao-2); border-radius: var(--raio-sm); padding: 14px 16px; margin-bottom: 14px; }
.cart-kpis b { display: block; font-size: 1.5rem !important; font-weight: 300 !important; letter-spacing: -.02em; color: var(--texto); line-height: 1; } .cart-kpis b span { font-size: .9rem; color: var(--mudo); }
.cart-kpis small { display: block; font: 500 .62rem/1.3 "Archivo", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--ouro); margin-top: 5px; }
.cart-rodape { margin: 10px 0 14px; color: var(--mudo); font-size: .78rem; }
.cart-acoes { display: flex; gap: 10px; } .cart-acoes .v2-btn { padding: 9px 14px; font-size: .78rem; }
.adm-hero { padding: 30px 34px; margin-bottom: 18px; }
.adm-sem { display: flex; align-items: center; gap: 12px; margin: 6px 0 8px; } .adm-luz { width: 16px; height: 16px; border-radius: 50%; box-shadow: 0 0 0 5px rgba(255,255,255,.08); flex: 0 0 16px; }
.conteudo .adm-hero h2 { font-size: 1.9rem; margin: 0; color: var(--areia); } .conteudo .adm-hero h2::after { display: none; }
.adm-hero p { color: rgba(230,219,196,.8); margin: 4px 0 0; max-width: 560px; }
.adm-stats .v2-jor { display: block; min-width: 170px; } .adm-stats .v2-jor b { display: block; font-size: 1.4rem; font-weight: 300; letter-spacing: -.02em; } .adm-stats .v2-jor small { display: block; margin: 2px 0 0; font: 500 .6rem/1.3 "Archivo", sans-serif; letter-spacing: .14em; text-transform: uppercase; color: var(--ouro-2); }
.conteudo .v2-top h1 { font-size: 1.7rem; }
@media (max-width: 1100px) { .adm-kpis { grid-template-columns: repeat(3, 1fr); } } @media (max-width: 700px) { .adm-kpis { grid-template-columns: 1fr 1fr; } .adm-hero { grid-template-columns: 1fr; } }
.v2-btn { white-space: nowrap; }
.adm-kpis .v2-num { font-size: 2.6rem; }

.al-grupos-1col { grid-template-columns: 1fr !important; }
.al-grupos-1col .toques li.tq { padding: 12px 16px; }

/* Por escritório: cartões */
.ren-cards { display: grid; grid-template-columns: 1fr 1fr; gap: 14px; }
.ren-card { display: block; background: var(--cartao-2); border-radius: var(--raio-sm); padding: 18px 20px; text-decoration: none; color: var(--texto); transition: transform .15s; }
.ren-card:hover { transform: translateY(-2px); }
.ren-card.perto { box-shadow: inset 0 0 0 2px var(--ouro); }
.ren-cab { display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.ren-cab b { display: block; font-size: 1.05rem; font-weight: 500; } .ren-cab small { display: block; color: var(--mudo); font-size: .78rem; margin-top: 2px; max-width: 320px; }
.ren-vence { text-align: right; flex: 0 0 auto; } .ren-vence .v2-num { font-size: 2.2rem; display: block; } .ren-vence small { color: var(--mudo); font-size: .72rem; white-space: nowrap; }
.ren-tags { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 0; }
.ren-prox { display: flex; align-items: center; gap: 10px; padding: 10px 12px; background: var(--cartao); border-radius: 10px; margin-bottom: 12px; flex-wrap: wrap; }
.ren-prox b { font-weight: 500; font-size: .9rem; } .ren-prox small { color: var(--mudo); font-size: .76rem; }
.ren-marcos { display: grid; grid-template-columns: repeat(4, 1fr); gap: 6px; }
.ren-marco { position: relative; padding-top: 12px; }
.ren-marco::before { content: ""; position: absolute; top: 4px; left: 0; right: 0; height: 2px; background: rgba(16,26,38,.12); }
.ren-marco i { position: absolute; top: 0; left: 0; width: 10px; height: 10px; border-radius: 50%; background: var(--cartao-2); border: 2px solid var(--navy); }
.ren-marco.ok i { background: var(--ouro); border-color: var(--ouro); } .ren-marco.ok::before { background: var(--ouro); }
.ren-marco.atr i { background: var(--bordo); border-color: var(--bordo); }
.ren-marco small { display: block; font: 500 .56rem/1.2 "Archivo", sans-serif; letter-spacing: .12em; text-transform: uppercase; color: var(--mudo); }
.ren-marco b { display: block; font-weight: 500; font-size: .84rem; margin-top: 2px; }
.ren-marco.atr b { color: var(--bordo); }
@media (max-width: 900px) { .ren-cards { grid-template-columns: 1fr; } }

/* Por escritório: uma linha por escritório */
.ren-cards { grid-template-columns: 1fr; gap: 10px; }
.ren-card { display: grid; grid-template-columns: minmax(220px, 1.1fr) minmax(200px, 1.2fr) minmax(300px, 1.6fr); gap: 20px; align-items: center; padding: 14px 20px; }
.ren-cab { display: flex; gap: 14px; align-items: center; }
.ren-vence { text-align: center; flex: 0 0 64px; } .ren-vence .v2-num { font-size: 2rem; line-height: 1; } .ren-vence small { display: block; font: 500 .56rem/1 "Archivo", sans-serif; letter-spacing: .16em; text-transform: uppercase; color: var(--ouro); margin-top: 3px; }
.ren-cab b { font-size: .98rem; } .ren-cab small { max-width: none; }
.ren-tags { margin: 6px 0 0; gap: 6px; }
.ren-prox { margin: 0; padding: 8px 12px; } .ren-prox b { font-size: .86rem; }
.ren-marcos { gap: 10px; }
@media (max-width: 1000px) { .ren-card { grid-template-columns: 1fr 1fr; } .ren-marcos { grid-column: 1 / -1; } }
@media (max-width: 700px) { .ren-card { grid-template-columns: 1fr; } }
