/* Entrada do portal: as cores vêm de radar/nucleo/paleta.py (harmonia no OKLCH e contraste WCAG 2.1 AA), postas em variáveis --pl-* pela página. */
/* Portal do cliente. Mesma paleta e mesmos componentes (radar_ui.css) do sistema da equipe; a cor da marca vem da Identidade visual.
   Pensado primeiro para o celular: nada tem largura fixa maior que a tela, e a lista de chamados vira cartões abaixo de 720 px. */
:root {
  --navy:#0D2D52; --navy-light:#163E70; --blue:#1A6BB5; --blue-light:#2E8DE8; --accent:#00C2FF;
  --surface:#F4F7FC; --surface2:#FFFFFF; --border:#D8E3F0; --text:#1A2332; --text-2:#4A5D75; --text-3:#5F7089;
  --green:#16A34A; --red:#DC2626; --yellow:#D97706; --brand-nav:#0D2D52; --radius:10px;
  --shadow:0 1px 3px rgba(13,45,82,.08), 0 4px 16px rgba(13,45,82,.06); --shadow-lg:0 8px 32px rgba(13,45,82,.14);
}
*, *::before, *::after { box-sizing:border-box; margin:0; padding:0; }
html, body { min-height:100%; }
body.pt { font-family:'Sora', system-ui, sans-serif; background:var(--surface); color:var(--text); font-size:14px; line-height:1.5; -webkit-font-smoothing:antialiased; }
.pt a { color:var(--blue); }
.pt button { font-family:inherit; }
.pt :focus-visible { outline:2px solid var(--blue); outline-offset:2px; }

/* ── Telas de acesso (09/11/2026): o mesmo conceito da entrada do sistema da equipe (login.html). Fundo escuro com esferas que se movem
   devagar, cartão de vidro no centro, título espaçado com a linha de destaque e a borda que acende onde o mouse passa. As cores saem da
   Identidade visual (--navy e --accent do _base): o portal é a cara da empresa para o cliente. ── */
body.pt:has(.pl) { background:var(--pl-f0, #06101e); color:#E8EFF8; min-height:100vh; min-height:100dvh; overflow-x:hidden; }
.pl-fundo { position:fixed; inset:0; overflow:hidden; pointer-events:none; z-index:0;
  background:linear-gradient(160deg, var(--pl-f0, #050E1A) 0%, var(--pl-f1, #0A1B33) 55%, var(--pl-f2, #0B2547) 100%); }
.pl-orb { position:absolute; border-radius:50%; will-change:transform;
  background:radial-gradient(circle at 35% 30%, var(--pl-esfera, rgba(58,126,205,.55)), var(--pl-esfera-fim, rgba(30,78,140,.2)) 58%, transparent 72%);
  opacity:.75; animation:pl-flutuar var(--t, 16s) ease-in-out infinite alternate; animation-delay:var(--d, 0s); }
.pl-orb.o1 { width:560px; height:560px; left:-160px; top:-140px; --t:14s; --x:1; --y:1; }
.pl-orb.o2 { width:360px; height:360px; right:8%; top:6%; --t:11s; --d:-5s; --x:-1; --y:1; opacity:.55; }
.pl-orb.o3 { width:700px; height:700px; right:-240px; bottom:-260px; --t:17s; --d:-11s; --x:-1; --y:-1; }
.pl-orb.o4 { width:260px; height:260px; left:10%; bottom:10%; --t:10s; --d:-3s; --x:1; --y:-1; opacity:.5; }
.pl-orb.o5 { width:200px; height:200px; left:46%; top:4%; --t:9s; --d:-8s; --x:1; --y:1; opacity:.45; }
/* as duas esferas pequenas levam a cor de destaque da marca (os 10% da regra 60-30-10); as grandes, a cor do fundo */
.pl-orb.o2, .pl-orb.o5 { background:radial-gradient(circle at 35% 30%, var(--pl-esfera-q, rgba(58,126,205,.45)), transparent 70%); }
.pl-anel { background:none !important; border:1.5px solid var(--pl-anel, rgba(120,170,230,.2)); opacity:1; }
.pl-anel.a1 { width:780px; height:780px; left:-280px; bottom:-320px; --t:20s; --x:1; --y:-1; }
.pl-anel.a2 { width:500px; height:500px; right:-130px; top:-170px; --t:18s; --d:-7s; --x:-1; --y:1; opacity:.7; }
@keyframes pl-flutuar {
  0% { transform:translate3d(0, 0, 0) scale(1); }
  50% { transform:translate3d(calc(var(--x, 1) * 150px), calc(var(--y, 1) * -110px), 0) scale(1.12); }
  100% { transform:translate3d(calc(var(--x, 1) * -130px), calc(var(--y, 1) * 120px), 0) scale(.94); }
}
@media (prefers-reduced-motion: reduce) { .pl-orb { animation-duration:calc(var(--t, 16s) * 1.8); } }
.pl { position:relative; z-index:1; min-height:100vh; min-height:100dvh; display:flex; align-items:center; justify-content:center; padding:28px 16px; }
.pl-cartao { position:relative; isolation:isolate; width:100%; max-width:420px; padding:36px 32px 22px; border-radius:30px; display:flex; flex-direction:column; gap:14px;
  background:linear-gradient(145deg, rgba(255,255,255,.17) 0%, rgba(255,255,255,.07) 42%, rgba(255,255,255,.11) 100%);
  -webkit-backdrop-filter:blur(34px) saturate(190%) brightness(1.06); backdrop-filter:blur(34px) saturate(190%) brightness(1.06);
  border:1px solid rgba(255,255,255,.24); transition:border-color .35s ease, box-shadow .35s ease;
  box-shadow:0 34px 80px -24px rgba(0,0,0,.6), inset 0 1.5px 1px rgba(255,255,255,.55), inset 0 -1px 1px rgba(255,255,255,.14), inset 0 0 28px rgba(255,255,255,.05); }
.pl-cartao::before { content:''; position:absolute; inset:0; z-index:-1; border-radius:inherit; pointer-events:none;
  background:linear-gradient(128deg, rgba(255,255,255,.30) 0%, rgba(255,255,255,.08) 24%, rgba(255,255,255,0) 46%), radial-gradient(420px 220px at 100% 100%, var(--pl-brilho-s, rgba(120,180,255,.16)), transparent 70%); }
.pl-cartao::after { content:''; position:absolute; inset:-1px; z-index:2; border-radius:inherit; padding:2px; pointer-events:none; opacity:0; transition:opacity .35s ease;
  background:radial-gradient(340px circle at var(--mx, 50%) var(--my, 0%), #fff, var(--pl-brilho, rgba(150,205,255,.7)) 40%, transparent 72%);
  -webkit-mask:linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0); -webkit-mask-composite:xor; mask:linear-gradient(#000 0 0) content-box exclude, linear-gradient(#000 0 0); }
.pl-cartao:hover { border-color:rgba(255,255,255,.42); box-shadow:0 34px 80px -24px rgba(0,0,0,.6), 0 0 46px -4px var(--pl-brilho, rgba(110,180,255,.5)), inset 0 1.5px 1px rgba(255,255,255,.7), inset 0 -1px 1px rgba(255,255,255,.2), inset 0 0 28px rgba(255,255,255,.07); }
.pl-cartao:hover::after { opacity:1; }
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) { .pl-cartao { background:var(--pl-f1, rgba(14,32,60,.9)); } }
@media (prefers-reduced-transparency: reduce) { .pl-cartao { background:var(--pl-f1, rgba(14,32,60,.95)); -webkit-backdrop-filter:none; backdrop-filter:none; } }
.pl-marca { text-align:center; margin-bottom:6px; }
.pl-logo { display:block; margin:0 auto 18px; max-height:56px; max-width:200px; object-fit:contain; }
.pl-titulo { font-size:13px; font-weight:600; letter-spacing:.3em; text-transform:uppercase; color:#fff; padding-left:.3em; }
.pl-titulo::after { content:''; display:block; width:36px; height:2px; margin:12px auto 0; border-radius:2px; background:var(--pl-link, #4DA3FF); opacity:.9; }
.pl-boas { margin-top:12px; font-size:12.5px; color:var(--pl-texto2, #9FB3CC); line-height:1.55; }
.pl-etapa { font-size:19px; font-weight:700; color:#fff; letter-spacing:-.01em; }
.pl-sub { font-size:13px; color:var(--pl-texto2, #B9C8DA); line-height:1.55; margin-top:-6px; }
.pl-sub b { color:#fff; }
.pl-f { gap:14px; }
.pl-campo { display:flex; flex-direction:column; gap:5px; }
.pl-campo label { font-size:11.5px; font-weight:600; color:var(--pl-texto2, #9FB3CC); letter-spacing:.04em; }
.pl .pl-campo input { width:100%; height:46px; padding:0 15px; border-radius:14px; outline:none; border:1px solid rgba(255,255,255,.2); background:rgba(255,255,255,.09); color:#fff;
  font-family:inherit; font-size:14px; box-shadow:inset 0 1px 1px rgba(255,255,255,.18), inset 0 -8px 16px -12px rgba(0,0,0,.35); transition:border-color .15s, background .15s; }
.pl .pl-campo input::placeholder { color:var(--pl-texto3, rgba(232,239,248,.38)); opacity:.72; }
.pl .pl-campo input:focus { border-color:rgba(255,255,255,.55); background:rgba(255,255,255,.14); box-shadow:0 0 0 3px var(--pl-foco, rgba(77,163,255,.28)), inset 0 1px 1px rgba(255,255,255,.22); }
.pl .pl-campo input.pt-codigo { font-size:22px; letter-spacing:.45em; text-align:center; padding-left:calc(15px + .45em); }
.pl-olho-w { position:relative; }
.pl .pl-olho-w input { padding-right:46px; }
.pl-olho { position:absolute; right:6px; top:50%; transform:translateY(-50%); width:34px; height:34px; border:0; border-radius:10px; background:none; color:var(--pl-texto3, #9FB3CC); display:flex; align-items:center; justify-content:center; cursor:pointer; }
.pl-olho:hover, .pl-olho.on { color:#fff; background:rgba(255,255,255,.1); }
.pl-esqueci { display:flex; justify-content:flex-end; margin:-6px 0 -2px; }
.pl-esqueci a, .pl-nota a { color:var(--pl-link, #4DA3FF); font-size:12.5px; text-decoration:none; }
.pl-esqueci a:hover, .pl-nota a:hover { text-decoration:underline; }
.pl-btn { width:100%; height:48px; border:1px solid rgba(255,255,255,.28); border-radius:16px; cursor:pointer; color:#fff; font-family:inherit; font-size:14px; font-weight:600; letter-spacing:.02em;
  background:linear-gradient(180deg, var(--pl-botao, rgba(92,160,240,.88)), var(--pl-botao-fim, rgba(31,95,168,.92))); box-shadow:0 10px 24px -12px var(--pl-botao-sombra, rgba(31,95,168,.9)), inset 0 1px 0 rgba(255,255,255,.4);
  display:flex; align-items:center; justify-content:center; gap:8px; transition:filter .15s, transform .15s; }
.pl-btn:hover { filter:brightness(1.08); transform:translateY(-1px); }
.pl-btn:focus-visible, .pl-olho:focus-visible, .pl-link-btn:focus-visible { outline:2px solid var(--pl-link, #4DA3FF); outline-offset:3px; }
.pl-reenviar { display:flex; justify-content:center; }
.pl-link-btn { border:0; background:none; color:var(--pl-texto2, #B9C8DA); font-family:inherit; font-size:12.5px; display:inline-flex; align-items:center; gap:6px; cursor:pointer; padding:6px 10px; border-radius:10px; }
.pl-link-btn:hover { color:#fff; background:rgba(255,255,255,.08); }
.pl-nota { font-size:11.5px; color:var(--pl-texto3, #8FA4BD); line-height:1.55; text-align:center; }
.pl .ui-msg { margin:0; border:1px solid transparent; }
.pl .ui-msg.err { background:rgba(220,38,38,.16); border-color:rgba(252,165,165,.35); color:#FEE2E2; }
.pl .ui-msg.ok { background:rgba(22,163,74,.16); border-color:rgba(134,239,172,.35); color:#DCFCE7; }
.pl .ui-msg.warn { background:rgba(217,119,6,.16); border-color:rgba(252,211,77,.35); color:#FEF3C7; }
.pl .ui-msg.info { background:rgba(59,130,246,.16); border-color:rgba(147,197,253,.35); color:#DBEAFE; }
.pl .pt-forca { background:rgba(255,255,255,.14); }
.pl .pt-regras { color:var(--pl-texto3, #8FA4BD); }
.pl .pt-regras li.ok { color:#86EFAC; }
.pl-rodape { margin-top:8px; padding-top:12px; border-top:1px solid rgba(255,255,255,.14); text-align:center; font-size:10.5px; letter-spacing:.06em; color:var(--pl-texto3, rgba(159,179,204,.8)); }
.pl-rodape:empty { display:none; }
@media (max-width:480px) { .pl-cartao { padding:28px 20px 18px; border-radius:26px; } .pl { align-items:flex-start; padding-top:22px; } }

/* usados também pelo aplicativo do portal */
.pt-f { display:flex; flex-direction:column; gap:14px; }
.pt-sub { color:var(--text-2); font-size:13px; line-height:1.55; }
.pt-codigo { font-family:'JetBrains Mono', ui-monospace, Consolas, monospace; }
.pt-rodape { font-size:11.5px; color:var(--text-3); text-align:center; padding:0 16px; }
.pt-forca { height:5px; border-radius:3px; background:var(--border); overflow:hidden; margin-top:6px; }
.pt-forca i { display:block; height:100%; width:0; transition:width .15s; }
.pt-regras { list-style:none; display:grid; grid-template-columns:1fr 1fr; gap:4px 12px; font-size:12px; color:var(--text-3); margin-top:-4px; }
.pt-regras li::before { content:"○ "; }
.pt-regras li.ok { color:var(--green); }
.pt-regras li.ok::before { content:"✓ "; }

/* ── Aplicativo ── */
.pt-app { min-height:100vh; display:flex; flex-direction:column; }
.pt-topo { position:sticky; top:0; z-index:50; }
.pt-topo::before, .pt-topo::after { height:80%; }
.pt-topo-in { max-width:1180px; margin:0 auto; padding:10px 20px; display:flex; align-items:center; gap:18px; }
.pt-marca-mini { display:flex; align-items:center; gap:11px; color:#fff !important; text-decoration:none; min-width:0; }
/* o logo da Identidade visual é feito para fundo escuro (o mesmo da entrada): vai direto na barra, sem a caixa branca que o apagava */
.pt-marca-mini img { height:32px; max-width:150px; object-fit:contain; flex-shrink:0; filter:drop-shadow(0 1px 2px rgba(0,0,0,.25)); }
.pt-marca-t { padding-left:12px; border-left:1px solid rgba(255,255,255,.22); }
.pt-marca-t { display:flex; flex-direction:column; min-width:0; line-height:1.25; }
.pt-marca-t b { font-size:13.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pt-marca-t span { font-size:11.5px; color:rgba(255,255,255,.72); white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pt-nav { display:flex; gap:4px; margin-left:auto; }
.pt-nav a { display:inline-flex; align-items:center; gap:7px; color:rgba(255,255,255,.8) !important; text-decoration:none; font-size:13px; font-weight:600; padding:8px 12px; border-radius:8px; white-space:nowrap; }
/* com cinco seções ou mais (Riscos e Contratos, 10/11/2026), o nome da pessoa sai da barra e fica na dica do avatar: o nome do portal não vira "P…" */
.pt-topo-in:has(.pt-nav a:nth-child(5)) .pt-eu-t { display:none; }
.pt-nav a:hover { background:rgba(255,255,255,.1); color:#fff !important; }
.pt-nav a.on { background:rgba(255,255,255,.18); color:#fff !important; }
.pt-eu { display:flex; align-items:center; gap:9px; padding-left:14px; border-left:1px solid rgba(255,255,255,.18); }
.pt-av { width:32px; height:32px; border-radius:50%; background:rgba(255,255,255,.2); color:#fff; display:flex; align-items:center; justify-content:center; font-weight:700; font-size:13px; flex-shrink:0; }
.pt-eu-t { display:flex; flex-direction:column; line-height:1.2; color:#fff; max-width:160px; }
.pt-eu-t b { font-size:12.5px; white-space:nowrap; overflow:hidden; text-overflow:ellipsis; }
.pt-eu-t span { font-size:11px; color:rgba(255,255,255,.7); }
.pt-sair { width:32px; height:32px; border:0; border-radius:8px; background:rgba(255,255,255,.12); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; }
.pt-sair:hover { background:rgba(255,255,255,.24); }
.pt-main { flex:1; width:100%; max-width:1180px; margin:0 auto; padding:24px 20px 40px; display:flex; flex-direction:column; gap:16px; outline:none; }
.pt-app > .pt-rodape { padding:14px 16px 22px; }
@media (max-width:980px) { .pt-eu-t { display:none; } .pt-nav a { padding:8px 10px; } }
/* celular: o menu vira a barra de baixo, com ícone e nome (o polegar alcança; o topo fica só com a marca, o tema e a conta) */
@media (max-width:760px) {
  .pt-topo-in { padding:10px 16px; gap:10px; }
  .pt-marca-t { display:none; }
  .pt-nav { display:none; }
  .pt-app > .pt-nav-m { display:flex; position:fixed; left:0; right:0; bottom:0; z-index:60; gap:0; justify-content:space-around; padding:6px 6px calc(6px + env(safe-area-inset-bottom));
    background:color-mix(in srgb, var(--brand-nav, #0D2D52) 96%, transparent); -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
    border-top:1px solid rgba(255,255,255,.14); box-shadow:0 -6px 20px rgba(0,0,0,.18); }
  .pt-nav-m a { flex:1; display:flex; flex-direction:column; align-items:center; gap:3px; padding:7px 4px; font-size:10.5px; font-weight:600; border-radius:10px; text-align:center; min-width:0;
    color:rgba(255,255,255,.78) !important; text-decoration:none; }
  .pt-nav-m a.on { background:rgba(255,255,255,.16); color:#fff !important; }
  .pt-nav-m a span { white-space:nowrap; overflow:hidden; text-overflow:ellipsis; max-width:100%; }
  .pt-eu { margin-left:auto; border-left:0; padding-left:0; }
  .pt-main { padding:18px 16px calc(88px + env(safe-area-inset-bottom)); }
  .pt-app > .pt-rodape { padding-bottom:calc(84px + env(safe-area-inset-bottom)); }
}

.pt-nav-m { display:none; }
/* cada tela é uma pilha de blocos com o mesmo respiro entre eles: nada encosta */
.pt-sec { display:flex; flex-direction:column; gap:20px; min-width:0; }
.pt-sec > .ui-card, .pt-sec > .ui-kpis, .pt-sec > section { margin:0; }
.pt-sec > .ui-kpis { margin-bottom:0; }
.pt-seg { margin-bottom:14px; }
.pt-cab { display:flex; justify-content:space-between; align-items:flex-end; gap:12px 16px; flex-wrap:wrap; padding-bottom:2px; }
.pt-cab h1 { font-size:24px; font-weight:800; color:var(--text); letter-spacing:-.01em; }
.pt-cab .pt-sub { margin-top:4px; max-width:720px; }
.pt-cab-a { display:flex; gap:8px; flex-wrap:wrap; }
.pt-pdf-msg:empty { display:none; }
.pt-card-t { padding:16px 18px 14px; }
.pt-card-t .pt-tools { display:flex; flex-wrap:wrap; gap:10px; margin-bottom:14px; }
.pt-tabela-h { min-width:0; }
.rt-tab tr.pt-voce td:first-child { box-shadow:inset 3px 0 0 var(--a, #B45309); }
.pt-t-a { font-size:13.5px; color:var(--text); }
.pt-vazio { display:flex; flex-direction:column; align-items:center; gap:8px; padding:28px 12px; color:var(--text-3); text-align:center; }
.pt-cve { font-family:'JetBrains Mono', ui-monospace, Consolas, monospace; font-size:12.5px; }
.pt-dd.largo { width:min(980px, 100vw); }
@media (max-width:760px) { .pt-cab h1 { font-size:21px; } .pt-card-t { padding:12px 12px 10px; } .pt-card-t .pt-tools .ui-seg { width:100%; overflow-x:auto; } }
.pt-carregando { display:flex; align-items:center; gap:10px; color:var(--text-3); padding:40px 0; justify-content:center; }
.pt-spin { width:16px; height:16px; border-radius:50%; border:2px solid var(--border); border-top-color:var(--blue); animation:ptgira .8s linear infinite; }
@keyframes ptgira { to { transform:rotate(360deg); } }
@media (prefers-reduced-motion: reduce) { .pt-spin { animation:none; } }
.pt-voltar { display:inline-flex; align-items:center; gap:4px; font-size:13px; font-weight:600; text-decoration:none; align-self:flex-start; }
.pt-faixa { display:flex; align-items:center; gap:10px; width:100%; border:1px solid rgba(217,119,6,.35); background:rgba(217,119,6,.08); color:var(--text); border-radius:10px; padding:11px 14px;
  font:inherit; font-size:13px; cursor:pointer; text-align:left; }
.pt-faixa .ic { color:var(--yellow); }
.pt-faixa-a { margin-left:auto; font-weight:700; color:var(--yellow); }
.pt-tools { gap:10px; }
.pt-tools .ui-search { flex:1 1 220px; }

/* lista de chamados */
.pt-lista { list-style:none; }
.pt-lista li + li { border-top:1px solid var(--border); }
.pt-item { display:grid; grid-template-columns:70px minmax(0, 1fr) 190px 130px; gap:14px; align-items:center; padding:13px 16px; text-decoration:none; color:var(--text) !important; }
.pt-item:hover { background:rgba(13,45,82,.035); }
.pt-item.voce { box-shadow:inset 3px 0 0 var(--yellow); }
.pt-item-n { font-variant-numeric:tabular-nums; color:var(--text-3); font-size:12.5px; font-weight:600; }
.pt-item-a { display:flex; flex-direction:column; min-width:0; }
.pt-item-a b { font-weight:600; font-size:13.5px; line-height:1.35; overflow-wrap:anywhere; }
.pt-item-s { font-size:11.5px; color:var(--text-3); margin-top:2px; overflow-wrap:anywhere; }
.pt-item-st { display:flex; flex-direction:column; align-items:flex-start; min-width:0; }
.pt-item-d { display:flex; flex-direction:column; font-size:12.5px; color:var(--text-2); text-align:right; }
.pt-pag { display:flex; align-items:center; justify-content:center; gap:12px; padding:12px; border-top:1px solid var(--border); font-size:12.5px; color:var(--text-2); flex-wrap:wrap; }
@media (max-width:720px) {
  .pt-item { grid-template-columns:minmax(0, 1fr) auto; grid-template-areas:"a n" "st d"; gap:6px 10px; padding:13px 14px; }
  .pt-item-a { grid-area:a; } .pt-item-n { grid-area:n; text-align:right; } .pt-item-st { grid-area:st; } .pt-item-d { grid-area:d; }
}

/* chamado */
.pt-chamado-cab { display:flex; flex-direction:column; gap:6px; }
.pt-eyebrow { font-size:11px; font-weight:700; letter-spacing:.1em; text-transform:uppercase; color:var(--text-3); }
.pt-chamado-cab h1 { font-size:21px; font-weight:800; line-height:1.3; overflow-wrap:anywhere; }
.pt-chamado-m { display:flex; flex-wrap:wrap; gap:6px 14px; align-items:center; font-size:12.5px; color:var(--text-2); margin-top:4px; }
.pt-passo { display:flex; gap:14px; align-items:flex-start; background:var(--surface2); border:1px solid var(--border); border-left:4px solid var(--blue); border-radius:12px; padding:16px 18px; box-shadow:var(--shadow); }
.pt-passo.voce { border-left-color:var(--yellow); background:rgba(217,119,6,.05); }
.pt-passo.fim { border-left-color:var(--green); }
.pt-passo-ic { width:36px; height:36px; border-radius:10px; display:flex; align-items:center; justify-content:center; background:rgba(26,107,181,.1); color:var(--blue); flex-shrink:0; }
.pt-passo.voce .pt-passo-ic { background:rgba(217,119,6,.13); color:var(--yellow); }
.pt-passo.fim .pt-passo-ic { background:rgba(22,163,74,.12); color:var(--green); }
.pt-passo-t { font-size:11px; font-weight:700; letter-spacing:.08em; text-transform:uppercase; color:var(--text-3); }
.pt-passo p { font-size:14.5px; color:var(--text); margin-top:3px; line-height:1.5; overflow-wrap:anywhere; }
.pt-passo-m { display:flex; flex-wrap:wrap; gap:6px 16px; margin-top:8px; font-size:12.5px; color:var(--text-2); }
.pt-passo-m span { display:inline-flex; gap:5px; align-items:center; }
.pt-passo-m .atraso { color:var(--yellow); }
.pt-conversa { list-style:none; display:flex; flex-direction:column; gap:14px; }
.pt-conversa li { display:flex; gap:10px; align-items:flex-start; }
.pt-conversa li .pt-av { background:rgba(26,107,181,.12); color:var(--blue); }
.pt-conversa li.cliente { flex-direction:row-reverse; }
.pt-conversa li.cliente .pt-av { background:rgba(13,45,82,.1); color:var(--navy); }
.pt-msg { max-width:min(680px, 86%); background:var(--surface); border:1px solid var(--border); border-radius:12px; padding:10px 13px; min-width:0; }
.pt-conversa li.equipe .pt-msg { background:rgba(26,107,181,.05); border-color:rgba(26,107,181,.2); border-top-left-radius:4px; }
.pt-conversa li.cliente .pt-msg { border-top-right-radius:4px; }
.pt-msg-c { display:flex; gap:8px; align-items:center; flex-wrap:wrap; font-size:11.5px; color:var(--text-3); margin-bottom:4px; }
.pt-msg-c b { color:var(--text-2); font-size:12px; }
.pt-msg-t { white-space:pre-wrap; overflow-wrap:anywhere; font-size:13.5px; line-height:1.55; color:var(--text); }
.pt-conversa li.marco { justify-content:center; }
.pt-conversa li.marco span { display:inline-flex; gap:6px; align-items:center; font-size:11.5px; color:var(--text-3); background:var(--surface); border:1px solid var(--border); border-radius:999px; padding:3px 11px; }
.pt-anexos { list-style:none; margin-top:8px; display:flex; flex-direction:column; gap:5px; }
.pt-anexos li { display:flex; gap:8px; align-items:center; flex-wrap:wrap; font-size:12.5px; }
.pt-anexos a { display:inline-flex; gap:5px; align-items:center; text-decoration:none; font-weight:600; overflow-wrap:anywhere; }
.pt-anexos span { color:var(--text-3); font-size:11.5px; }
.pt-responder { border-top:1px solid var(--border); margin-top:16px; padding-top:16px; display:flex; flex-direction:column; gap:10px; }
.pt-responder textarea, .pt-novo textarea { width:100%; min-height:110px; }
.pt-fim { border-top:1px solid var(--border); margin-top:16px; padding-top:14px; display:flex; flex-direction:column; gap:10px; align-items:flex-start; font-size:13px; color:var(--text-2); }
.pt-arq { display:flex; flex-direction:column; gap:6px; }
.pt-arq-input { display:none; }
.pt-arq-l { list-style:none; display:flex; flex-direction:column; gap:4px; }
.pt-arq-l li { display:flex; gap:8px; align-items:center; font-size:12.5px; color:var(--text-2); overflow-wrap:anywhere; }
.pt-arq-l .ui-ibtn { width:26px; height:26px; margin-left:auto; flex-shrink:0; }
.pt-avaliar { background:var(--surface2); border:1px solid var(--border); border-radius:12px; padding:14px 16px; box-shadow:var(--shadow); }
.pt-avaliar.feito { display:flex; gap:10px; align-items:center; font-size:13px; color:var(--text-2); }
.pt-avaliar.feito .ic { color:var(--yellow); }
.pt-avaliar-t { font-weight:700; font-size:13.5px; margin-bottom:10px; }
.pt-notas { display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:8px; }
.pt-nota { border:1px solid var(--border); background:var(--surface); border-radius:10px; padding:9px 4px; display:flex; flex-direction:column; align-items:center; gap:2px; cursor:pointer; color:var(--text-2); }
.pt-nota b { font-size:17px; color:var(--text); }
.pt-nota span { font-size:11px; text-align:center; line-height:1.2; }
.pt-nota:hover:not(:disabled) { border-color:var(--blue); color:var(--blue); }
.pt-nota.n4:hover:not(:disabled), .pt-nota.n5:hover:not(:disabled) { border-color:var(--green); color:var(--green); }
.pt-nota:disabled { opacity:.55; cursor:default; }

/* novo chamado */
.pt-novo { display:flex; flex-direction:column; gap:18px; max-width:760px; }
.pt-opcoes { display:flex; flex-wrap:wrap; gap:8px; }
.pt-opcoes.col { flex-direction:column; }
.pt-opcao { display:flex; gap:9px; align-items:flex-start; border:1px solid var(--border); border-radius:10px; padding:9px 12px; cursor:pointer; font-size:13px; color:var(--text);
  text-transform:none !important; letter-spacing:0 !important; font-weight:500 !important; background:var(--surface2); }
.pt-opcao:hover { border-color:var(--blue); }
.pt-opcao:has(input:checked) { border-color:var(--navy); box-shadow:0 0 0 1px var(--navy) inset; background:rgba(26,107,181,.05); }
.pt-opcao input { margin-top:3px; accent-color:var(--navy); }
.pt-opcao b { display:block; font-size:13px; }
.pt-opcao small { display:block; font-size:12px; color:var(--text-3); }
.pt-novo select { max-width:360px; }
.pt-novo .ui-f input[type=text] { max-width:560px; }

/* indicadores */
.pt-valor { display:flex; gap:12px; align-items:flex-start; background:rgba(22,163,74,.07); border:1px solid rgba(22,163,74,.22); border-radius:12px; padding:14px 16px; font-size:13.5px; line-height:1.55; }
.pt-valor .ic { color:var(--green); flex-shrink:0; margin-top:1px; }
.pt-graf { display:grid; grid-template-columns:minmax(0, 3fr) minmax(0, 2fr); gap:16px; }
.pt-graf .ui-card + .ui-card { margin-top:0; }
.pt-graf > .ui-card { margin:0; }
@media (max-width:860px) { .pt-graf { grid-template-columns:1fr; } }
.pt-legenda { display:flex; gap:14px; font-size:12px; color:var(--text-2); margin-bottom:10px; }
.pt-legenda span::before { content:""; display:inline-block; width:10px; height:10px; border-radius:3px; margin-right:6px; vertical-align:-1px; }
.pt-legenda .a::before, .pt-barra-par .a { background:var(--blue); }
.pt-legenda .r::before, .pt-barra-par .r { background:#7cc4a0; }
.pt-barras { display:grid; grid-template-columns:repeat(6, minmax(0, 1fr)); gap:10px; height:200px; align-items:end; }
.pt-barra-g { display:flex; flex-direction:column; align-items:center; gap:6px; height:100%; }
.pt-barra-par { flex:1; width:100%; display:flex; gap:3px; align-items:flex-end; justify-content:center; }
.pt-barra-par > span, .pt-barra-par > a { display:block; width:min(22px, 42%); border-radius:4px 4px 0 0; position:relative; min-height:2px; }
.pt-barra-par > a:hover, .pt-barra-par > a:focus-visible { filter:brightness(1.12); box-shadow:0 0 0 2px var(--surface2), 0 0 0 4px var(--blue); outline:none; }
.pt-barra-par i { position:absolute; top:-17px; left:50%; transform:translateX(-50%); font-style:normal; font-size:10.5px; color:var(--text-2); font-variant-numeric:tabular-nums; }
.pt-barra-m { font-size:11.5px; color:var(--text-3); text-transform:capitalize; }
.pt-cats { list-style:none; display:flex; flex-direction:column; gap:10px; }
.pt-cats li { font-size:12.5px; }
.pt-cats li > a { display:grid; grid-template-columns:minmax(0, 1fr) 90px 34px; gap:10px; align-items:center; color:var(--text) !important; text-decoration:none;
  padding:5px 8px; margin:-5px -8px; border-radius:8px; }
.pt-cats li > a:hover, .pt-cats li > a:focus-visible { background:var(--tint, rgba(13,45,82,.05)); }
.pt-cats .nm { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.pt-cats .tr { height:8px; background:var(--surface); border-radius:4px; overflow:hidden; }
.pt-cats .tr span { display:block; height:100%; background:var(--blue); border-radius:4px; }
.pt-cats b { text-align:right; font-variant-numeric:tabular-nums; }

/* meu acesso */
.pt-conta { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1fr); gap:16px; align-items:start; }
.pt-conta .ui-card + .ui-card { margin-top:0; }
.pt-conta > .ui-card:last-child { grid-column:1 / -1; }
@media (max-width:860px) { .pt-conta { grid-template-columns:1fr; } }
.pt-kv { display:grid; grid-template-columns:auto minmax(0, 1fr); gap:7px 14px; font-size:13px; }
.pt-kv dt { color:var(--text-3); }
.pt-kv dd { overflow-wrap:anywhere; }
.pt-form-c { display:flex; flex-direction:column; gap:14px; }
.pt-form-c input[type=password] { width:100%; }
.pt-checks { display:flex; flex-wrap:wrap; gap:8px 18px; font-size:13px; }
.pt-checks label { display:inline-flex; gap:7px; align-items:center; cursor:pointer; text-transform:none; letter-spacing:0; font-weight:500; color:var(--text); font-size:13px; }
.pt-quando[hidden], .pt-quando .ui-f[hidden], .pt-form-c [hidden] { display:none !important; }

/* ── Indicadores que abrem a lista dos chamados (10/11/2026) ── */
.pt-kpi-b { position:relative; text-decoration:none; color:inherit !important; }
.pt-kpi-ver { position:absolute; top:10px; right:10px; display:inline-flex; color:var(--text-3); opacity:.55; transition:opacity .15s, transform .15s, color .15s; }
.pt-kpi-b:hover .pt-kpi-ver, .pt-kpi-b:focus-visible .pt-kpi-ver { opacity:1; color:var(--blue); transform:translateX(2px); }
.pt-valor-a { font-weight:700; white-space:nowrap; }
.pt-dd { width:min(640px, 100vw); }
.pt-dd-b { gap:12px; }
.pt-dd-l { list-style:none; display:flex; flex-direction:column; gap:10px; }
.pt-dd-i { border:1px solid var(--border); border-radius:12px; padding:12px 14px; background:var(--surface2); display:flex; flex-direction:column; gap:6px; min-width:0; }
.pt-dd-i.voce { border-left:4px solid var(--a, #B45309); }
.pt-dd-c { display:flex; gap:8px; align-items:center; flex-wrap:wrap; }
.pt-dd-a { font-size:14px; color:var(--text); overflow-wrap:anywhere; }
.pt-dd-d { font-size:12.5px; color:var(--text-2); line-height:1.5; display:-webkit-box; -webkit-line-clamp:3; -webkit-box-orient:vertical; overflow:hidden; overflow-wrap:anywhere; }
.pt-dd-m { display:flex; gap:4px 12px; flex-wrap:wrap; font-size:11.5px; color:var(--text-3); }
.pt-dd-ac { display:flex; justify-content:flex-end; }
.pt-dd-tag { display:inline-flex; align-items:center; gap:4px; font-size:11.5px; font-weight:600; color:var(--text-2); }
.pt-dd-tag.nota .ic { color:var(--a, #B45309); }

/* ── Botão do tema ── */
.pt-tema { width:32px; height:32px; border:0; border-radius:8px; background:rgba(255,255,255,.12); color:#fff; display:flex; align-items:center; justify-content:center; cursor:pointer; flex-shrink:0; }
.pt-tema:hover { background:rgba(255,255,255,.24); }
.pt-tema .ic:last-child, body.dark-mode .pt-tema .ic:first-child { display:none; }
body.dark-mode .pt-tema .ic:last-child { display:block; }

/* ── Cores de situação no tema claro: os tons 700, que passam 4,5:1 no texto pequeno das pílulas (os 600 ficavam em 3,3:1) ── */
body.pt:not(.dark-mode) .ui { --g:#15803D; --a:#B45309; --r:#B91C1C; --b2:#1D5FA0; --v:#5B45C2; }

/* ── Tema escuro (10/11/2026): os fundos, o texto, o botão e os links vêm de paleta.portal_app, no <style> da página ── */
body.pt.dark-mode { color-scheme:dark; --shadow:0 1px 3px rgba(0,0,0,.4), 0 4px 16px rgba(0,0,0,.28); --shadow-lg:0 8px 32px rgba(0,0,0,.55); --tint:rgba(255,255,255,.05); }
body.pt.dark-mode .pt-item:hover { background:rgba(255,255,255,.04); }
body.pt.dark-mode .pt-conversa li .pt-av { background:color-mix(in srgb, var(--blue) 18%, transparent); }
body.pt.dark-mode .pt-conversa li.cliente .pt-av { background:rgba(255,255,255,.1); color:var(--text); }
body.pt.dark-mode .pt-conversa li.equipe .pt-msg { background:color-mix(in srgb, var(--blue) 9%, var(--surface2)); border-color:color-mix(in srgb, var(--blue) 30%, var(--border)); }
body.pt.dark-mode .pt-passo-ic { background:color-mix(in srgb, var(--blue) 16%, transparent); }
body.pt.dark-mode .pt-faixa { background:rgba(251,191,36,.1); border-color:rgba(251,191,36,.35); }
body.pt.dark-mode .pt-valor { background:rgba(74,222,128,.08); border-color:rgba(74,222,128,.25); }
body.pt.dark-mode .pt-opcao:has(input:checked) { background:color-mix(in srgb, var(--blue) 10%, transparent); border-color:var(--blue); box-shadow:0 0 0 1px var(--blue) inset; }
body.pt.dark-mode .pt-opcao input { accent-color:var(--blue); }
body.pt.dark-mode .ui-ov { background:rgba(0,0,0,.55); }


/* ── Ajuda (artigos da Base de conhecimento marcados para o portal) ── */
.pt-ajuda-busca { display:flex; align-items:center; gap:10px; height:52px; padding:0 18px; border:1px solid var(--border); border-radius:14px; background:var(--surface2); color:var(--text-3); box-shadow:var(--shadow); }
.pt-ajuda-busca:focus-within { border-color:var(--blue); box-shadow:0 0 0 3px color-mix(in srgb, var(--blue) 18%, transparent); }
.ui .pt-ajuda-busca input, .pt-ajuda-busca input { flex:1; min-width:0; height:100%; border:0; outline:0; background:none; font:inherit; font-size:15px; color:var(--text); padding:0; box-shadow:none; }
.pt-chips { display:flex; flex-wrap:wrap; gap:8px; }
.pt-chip { height:32px; padding:0 14px; border-radius:999px; border:1px solid var(--border); background:var(--surface2); color:var(--text-2); font:inherit; font-size:12.5px; cursor:pointer; }
.pt-chip:hover { border-color:var(--blue); color:var(--blue); }
.pt-chip.on { background:var(--navy); border-color:var(--navy); color:#fff; font-weight:600; }
.pt-artigos { display:grid; grid-template-columns:repeat(auto-fill, minmax(280px, 1fr)); gap:14px; }
.pt-artigo-c { display:flex; gap:14px; align-items:flex-start; padding:16px 18px; border:1px solid var(--border); border-radius:14px; background:var(--surface2); box-shadow:var(--shadow);
  text-decoration:none; color:var(--text) !important; transition:border-color .15s, transform .15s; min-width:0; }
.pt-artigo-c:hover, .pt-artigo-c:focus-visible { border-color:var(--blue); transform:translateY(-1px); }
.pt-artigo-ic { width:38px; height:38px; border-radius:10px; display:flex; align-items:center; justify-content:center; flex-shrink:0; background:color-mix(in srgb, var(--blue) 12%, transparent); color:var(--blue); }
.pt-artigo-t { display:flex; flex-direction:column; gap:3px; min-width:0; }
.pt-artigo-t small { font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--text-3); }
.pt-artigo-t b { font-size:14px; line-height:1.35; overflow-wrap:anywhere; }
.pt-artigo-t > span { font-size:12.5px; color:var(--text-2); line-height:1.45; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
.pt-artigo { padding:26px 30px 30px; max-width:860px; }
.pt-artigo-cab { display:flex; flex-direction:column; gap:6px; padding-bottom:18px; margin-bottom:20px; border-bottom:1px solid var(--border); }
.pt-artigo-cab h1 { font-size:24px; font-weight:800; line-height:1.25; color:var(--text); overflow-wrap:anywhere; }
.pt-artigo-corpo { font-size:14.5px; line-height:1.7; color:var(--text); overflow-wrap:anywhere; }
.pt-artigo-corpo > * + * { margin-top:12px; }
.pt-artigo-corpo h1, .pt-artigo-corpo h2 { font-size:19px; margin-top:24px; } .pt-artigo-corpo h3 { font-size:16px; margin-top:20px; }
.pt-artigo-corpo ul, .pt-artigo-corpo ol { padding-left:22px; }
.pt-artigo-corpo img { max-width:100%; height:auto; border-radius:10px; border:1px solid var(--border); }
.pt-artigo-corpo pre, .pt-artigo-corpo code { font-family:'JetBrains Mono', ui-monospace, Consolas, monospace; font-size:12.5px; background:var(--tint, rgba(13,45,82,.05)); border-radius:6px; }
.pt-artigo-corpo pre { padding:12px 14px; overflow-x:auto; white-space:pre-wrap; }
.pt-artigo-corpo code { padding:1px 5px; }
.pt-artigo-corpo blockquote { border-left:3px solid var(--blue); padding:4px 0 4px 14px; color:var(--text-2); }
.pt-artigo-corpo table { border-collapse:collapse; width:100%; font-size:13px; display:block; overflow-x:auto; }
.pt-artigo-corpo th, .pt-artigo-corpo td { border:1px solid var(--border); padding:6px 9px; text-align:left; }
.pt-ajuda-ler > * { width:100%; max-width:860px; }
.pt-ajuda-ler > .pt-voltar { width:auto; }
.pt-rel { list-style:none; display:flex; flex-direction:column; gap:2px; font-size:13.5px; }
.pt-rel a { display:block; padding:7px 10px; margin:0 -10px; border-radius:8px; text-decoration:none; font-weight:600; }
.pt-rel a:hover { background:var(--tint, rgba(13,45,82,.05)); }
.pt-ajuda-cta { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:16px 20px; border-radius:14px; max-width:860px;
  background:color-mix(in srgb, var(--blue) 8%, var(--surface2)); border:1px solid color-mix(in srgb, var(--blue) 25%, var(--border)); font-size:13.5px; color:var(--text); }
@media (max-width:760px) { .pt-artigo { padding:18px 16px 22px; } .pt-artigo-cab h1 { font-size:20px; } }

/* Contratos no portal: o gestor vê os da empresa; quem foi indicado assina aqui */
.pt-ct-pend { display:flex; flex-direction:column; gap:10px; }
.pt-ct-linha { display:flex; align-items:center; justify-content:space-between; gap:12px; flex-wrap:wrap; padding:10px 12px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.pt-ct-linha > div { display:flex; flex-direction:column; gap:2px; min-width:0; }
.pt-ct-grade { display:grid; grid-template-columns:repeat(auto-fill, minmax(320px, 1fr)); gap:16px; }
.pt-ct { padding:16px 18px; display:flex; flex-direction:column; gap:12px; }
.pt-ct-cab { display:flex; justify-content:space-between; align-items:flex-start; gap:10px; flex-wrap:wrap; }
.pt-ct-cab h3 { font-size:16px; margin:2px 0 0; }
.pt-ct-dl { display:grid; grid-template-columns:1fr 1fr; gap:10px 14px; margin:0; }
.pt-ct-dl dt { font-size:11px; font-weight:700; letter-spacing:.06em; text-transform:uppercase; color:var(--text-3); }
.pt-ct-dl dd { margin:2px 0 0; font-size:13.5px; }
.pt-ct-resumo, .pt-ct-doc, .pt-ct-assinar { padding:18px 20px; display:flex; flex-direction:column; gap:12px; }
.pt-ct-qa { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.pt-ct-qa-i { border-left:3px solid var(--blue); background:var(--tint); border-radius:10px; padding:10px 12px; }
.pt-ct-qa-i b { font-size:12.5px; color:var(--text); }
.pt-ct-qa-i p { margin:3px 0 0; font-size:14px; line-height:1.45; }
.pt-ct-texto { max-height:60vh; overflow:auto; border:1px solid var(--border); border-radius:12px; padding:16px 20px; }
.pt-ct-cod { font-family:ui-monospace, Consolas, monospace; font-size:18px; letter-spacing:.3em; }
.pt-ct-aceite { display:flex; gap:10px; align-items:flex-start; font-size:14px; margin:6px 0; cursor:pointer; }
.pt-ct-aceite input { width:17px; height:17px; margin-top:2px; }
.pt-link-recusa { border:0; background:none; color:var(--r, #DC2626); font:inherit; font-size:13px; text-decoration:underline; cursor:pointer; }
.pt-ct-recusa { border-top:1px dashed var(--border); padding-top:12px; display:flex; flex-direction:column; gap:10px; }
.pt-ct-recusa[hidden] { display:none; }
@media (max-width:760px) { .pt-ct-qa, .pt-ct-dl { grid-template-columns:1fr; } .pt-ct-grade { grid-template-columns:1fr; } }

/* o botão de entrar trava no primeiro envio (acesso.html): duplo clique mandava dois códigos */
.pl-btn.enviando { opacity:.72; cursor:progress; }
/* Riscos e continuidade (10/11/2026, só o gestor) */
.pt-rk-dec { border-left:4px solid #D97706; }
.pt-rk-dis { display:flex; flex-direction:column; gap:10px; }
.pt-rk-di { display:flex; justify-content:space-between; align-items:center; gap:10px 16px; flex-wrap:wrap; padding:10px 12px; border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.pt-rk-ds { display:flex; align-items:center; gap:6px; flex-wrap:wrap; margin-top:4px; font-size:13px; color:var(--text-2); }
.pt-rk-grid { display:grid; grid-template-columns:minmax(0, 1fr) minmax(0, 1.25fr); gap:14px; align-items:start; }
.pt-rk-grid .ui-card { margin:0; }
.pt-rk-lista { display:flex; flex-direction:column; gap:8px; }
.pt-rk-r { border:1px solid var(--border); border-radius:12px; background:var(--surface); }
.pt-rk-r > summary { display:flex; align-items:center; gap:8px; flex-wrap:wrap; padding:10px 12px; cursor:pointer; list-style:none; }
.pt-rk-r > summary::-webkit-details-marker { display:none; }
.pt-rk-cod { font-family:'JetBrains Mono', ui-monospace, monospace; font-size:11.5px; color:var(--text-2); }
.pt-rk-sp { flex:1; }
.pt-rk-rb { padding:0 12px 12px; display:flex; flex-direction:column; gap:8px; }
.pt-rk-p { margin:0; font-size:13.5px; line-height:1.55; color:var(--text); }
.pt-rk-dl { display:grid; grid-template-columns:max-content 1fr; gap:6px 14px; margin:0; font-size:13px; align-items:center; }
.pt-rk-dl dt { color:var(--text-2); }
.pt-rk-dl dd { margin:0; }
.pt-rk-ev { border-top:1px dashed var(--border); padding-top:8px; }
.pt-rk-ev > summary { display:inline-flex; align-items:center; gap:6px; cursor:pointer; font-size:13px; font-weight:600; color:var(--blue); list-style:none; }
.pt-rk-ev > summary::-webkit-details-marker { display:none; }
.pt-rk-ev[open] > summary { margin-bottom:8px; }
.pt-rk-evl { list-style:none; margin:6px 0 0; padding:0; display:flex; flex-direction:column; gap:6px; max-height:320px; overflow:auto; }
.pt-rk-evl li { display:flex; flex-direction:column; gap:2px; padding:8px 10px; border:1px solid var(--border); border-radius:10px; background:var(--surface); font-size:12.5px; }
.pt-rk-evl li span { color:var(--text-2); overflow-wrap:anywhere; }
.pt-rk-plano { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:4px; font-size:13px; }
.pt-rk-plano li { display:flex; gap:6px; align-items:flex-start; }
.pt-rk-plano li .ic { flex:none; margin-top:2px; color:var(--text-2); }
.pt-rk-plano li.feito .ic { color:#16A34A; }
.pt-rk-plano li.feito span { color:var(--text-2); text-decoration:line-through; }
.pt-rk-pcn { display:flex; flex-direction:column; gap:12px; }
.pt-rk-pcn .ui-pill, .pt-rk-di .ui-pill { white-space:normal; line-height:1.35; }       /* nome longo de quem aprovou não estica a página */
.pt-rk-procs { display:grid; grid-template-columns:repeat(auto-fit, minmax(min(260px, 100%), 1fr)); gap:10px; }
.pt-rk-proc { display:flex; flex-direction:column; gap:8px; padding:12px; border:1px solid var(--border); border-radius:12px; background:var(--surface); min-width:0; }
.pt-rk-proc .ui-hint { margin:0; }
.pt-rk-h4 { margin:2px 0 6px; font-size:14px; color:var(--text); }
.pt-rk-cont { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:6px; font-size:13px; }
.pt-rk-cont li { display:flex; flex-direction:column; }
.pt-rk-cont span { color:var(--text-2); }
.pt-rk-fase { margin:0 0 8px; font-size:13px; }
.pt-rk-fase ol { margin:4px 0 0 18px; padding:0; display:flex; flex-direction:column; gap:3px; }
.pt-rk-modal { max-width:620px; }
.pt-rk-conf { display:flex; gap:10px; align-items:flex-start; margin:14px 0 4px; padding:12px; border:1px solid var(--border); border-radius:10px; background:var(--surface); font-size:13.5px; line-height:1.5; cursor:pointer; }
.pt-rk-conf input { margin-top:3px; flex:none; width:18px; height:18px; }
.pt-rk-ac { display:flex; justify-content:flex-end; gap:8px; margin-top:12px; flex-wrap:wrap; }
@media (max-width:900px) { .pt-rk-grid { grid-template-columns:1fr; } }
/* Sua proteção (10/11/2026): camadas dos produtos RADAR */
.pt-cam-topo { display:flex; flex-direction:column; gap:8px; margin-bottom:12px; }
.pt-cam-barra { display:flex; gap:4px; height:10px; }
.pt-cam-seg { flex:1; border-radius:999px; background:var(--border); }
.pt-cam-seg.ativo { background:#16A34A; }
.pt-cam-seg.parcial { background:linear-gradient(90deg, #16A34A 50%, var(--border) 50%); }
.pt-cams { display:grid; grid-template-columns:repeat(auto-fill, minmax(min(280px, 100%), 1fr)); gap:12px; }
.pt-cam { display:flex; flex-direction:column; gap:8px; padding:14px; border:1px solid var(--border); border-radius:12px; background:var(--surface); min-width:0; }
.pt-cam.falta { border-style:dashed; }
.pt-cam.ativo { border-color:color-mix(in srgb, #16A34A 35%, var(--border)); }
.pt-cam-h { display:flex; align-items:center; gap:8px; flex-wrap:wrap; }
.pt-cam-h b { flex:1; min-width:0; color:var(--text); }
.pt-cam-ic { width:32px; height:32px; border-radius:9px; display:flex; align-items:center; justify-content:center; background:var(--surface2); color:var(--text-2); flex:none; }
.pt-cam.ativo .pt-cam-ic { background:color-mix(in srgb, #16A34A 14%, var(--surface2)); color:#16A34A; }
.pt-cam-b { margin:0; font-size:13px; line-height:1.5; color:var(--text); }
.pt-cam-e { margin:0; font-size:13px; line-height:1.45; color:var(--text); }
.pt-cam-r { margin:0; font-size:13px; line-height:1.5; color:var(--text-2); }
.pt-cam-f { margin:0; font-size:12px; line-height:1.45; color:var(--text-2); }
.pt-cam-f a { color:var(--pl-link, var(--blue)); }
.pt-cam-a { margin-top:auto; padding-top:4px; }
.pt-cam-ped { display:inline-flex; gap:6px; align-items:center; font-size:12.5px; color:var(--text-2); }
.pt-cam-ped .ic { color:#16A34A; }
.pt-cam-a .ui-msg { display:flex; align-items:flex-start; gap:8px; margin:0; }
.pt-cam-a .ui-msg .ic { flex:none; margin-top:2px; }
/* Confiar neste navegador (10/11/2026): a caixa na tela do código e a segurança em Meu acesso */
.pl-confiar { display:flex; gap:10px; align-items:flex-start; margin:2px 0 4px; cursor:pointer; text-align:left; }
.pl-confiar input { width:18px; height:18px; margin-top:2px; flex:none; accent-color:var(--pl-acento, #00C2FF); }
.pl-confiar b { display:block; font-size:13.5px; }
.pl-confiar small { display:block; font-size:12px; opacity:.78; line-height:1.4; margin-top:2px; }
.pt-navs { list-style:none; margin:0; padding:0; display:flex; flex-direction:column; gap:8px; }
.pt-nav-i { display:flex; gap:12px; align-items:center; padding:10px 12px; border:1px solid var(--border); border-radius:10px; background:var(--surface); }
.pt-nav-i .ic-w { width:34px; height:34px; border-radius:9px; display:flex; align-items:center; justify-content:center; background:var(--surface2); color:var(--text-2); flex:none; }
.pt-nav-i div { flex:1; min-width:0; }
.pt-nav-i b { display:block; font-size:13.5px; color:var(--text); }
.pt-nav-i small { display:block; font-size:12px; color:var(--text-2); line-height:1.45; }
.pt-acessos { width:100%; border-collapse:collapse; font-size:12.5px; }
.pt-acessos th { text-align:left; font-size:11px; text-transform:uppercase; letter-spacing:.5px; color:var(--text-2); padding:6px 8px; border-bottom:1px solid var(--border); }
.pt-acessos td { padding:7px 8px; border-bottom:1px solid var(--border); color:var(--text); vertical-align:top; }
.pt-cod { display:flex; flex-direction:column; gap:8px; margin-top:10px; padding:12px; border:1px solid var(--border); border-radius:10px; background:var(--surface2); }
.pt-cod input { font-family:Consolas, monospace; font-size:20px; letter-spacing:.3em; max-width:200px; }
@media (max-width:640px) { .pt-acessos th:nth-child(4), .pt-acessos td:nth-child(4) { display:none; } }
.pt-h3 { margin:0 0 8px; font-size:12px; font-weight:700; text-transform:uppercase; letter-spacing:.5px; color:var(--text-2); }
.pt-rodape a, .pl-rodape a { color:inherit; }
.pt-conta > #ptSeguranca { grid-column:1 / -1; }
