/* Minha conta. Uma janela só, aberta pelo nome na barra lateral. */
.perfil-veu{
  position:fixed; inset:0; z-index:130; background:var(--cor-veu);
  display:flex; align-items:flex-start; justify-content:center;
  padding:clamp(12px,4vh,48px) var(--esp-4); overflow:auto;
}
.perfil-caixa{
  width:min(560px,100%); background:var(--cor-superficie); color:var(--cor-tinta);
  border-radius:var(--raio-g); box-shadow:var(--sombra-janela); overflow:hidden;
}
.perfil-topo{
  display:flex; align-items:flex-start; justify-content:space-between; gap:var(--esp-3);
  padding:18px var(--esp-5); background:var(--cor-banda); color:var(--cor-banda-tinta);
}
.perfil-topo h2{margin:0; font-size:19px; font-weight:700; letter-spacing:-.01em}
.perfil-topo p{margin:4px 0 0; font-size:12.5px; color:var(--cor-banda-suave); overflow-wrap:anywhere}
.perfil-topo .btn{background:transparent; border-color:rgba(255,255,255,.28); color:var(--cor-banda-tinta)}
.perfil-topo .btn:hover{background:rgba(255,255,255,.12); border-color:rgba(255,255,255,.5)}

.perfil-corpo{padding:var(--esp-5); display:flex; flex-direction:column; gap:var(--esp-5)}
.perfil-bloco{display:flex; flex-direction:column; gap:var(--esp-3)}
.perfil-bloco + .perfil-bloco{border-top:1px solid var(--cor-linha); padding-top:var(--esp-5)}
.perfil-bloco h3{margin:0; font-size:16px; font-weight:700; letter-spacing:-.01em}
.perfil-nota{margin:0; color:var(--cor-tinta-media); font-size:12.5px; line-height:1.5}
.perfil-erro{margin:0; min-height:17px; color:var(--cor-critico); font-size:12.5px; font-weight:600}
.perfil-bloco .btn{align-self:flex-start; min-height:42px}

/* quem entra: uma linha por pessoa */
.perfil-lista{display:flex; flex-direction:column; gap:6px}
.conta-linha{
  display:flex; align-items:center; gap:9px; flex-wrap:wrap;
  padding:9px 11px; background:var(--cor-superficie-alt);
  border:1px solid var(--cor-linha); border-radius:var(--raio-p);
}
.conta-linha > div{display:flex; flex-direction:column; min-width:0; flex:1}
.conta-linha strong{font-size:13.5px; font-weight:650}
.conta-linha small{color:var(--cor-tinta-media); font-size:11.5px; overflow-wrap:anywhere}
.conta-linha .chip.neutro{background:var(--cor-superficie); color:var(--cor-tinta-media); box-shadow:inset 0 0 0 1px var(--cor-linha)}
.perfil-nova{display:grid; grid-template-columns:1fr 1fr; gap:10px; align-items:end}
.perfil-nova .btn{grid-column:1/-1}
@media (max-width:520px){ .perfil-nova{grid-template-columns:1fr} }

/* ---------------------------------------------- token do agente (MCP)
   Dois blocos para copiar: o token e a configuração inteira. O texto vive num
   <pre> que rola na horizontal em vez de quebrar — um token quebrado em duas
   linhas volta com um "\n" no meio quando a pessoa seleciona à mão, e o agente
   recusa a credencial sem dizer por quê. */
.perfil-token{display:flex; flex-direction:column; gap:var(--esp-3)}
.perfil-token-acoes{display:flex; gap:var(--esp-2); flex-wrap:wrap}
.perfil-token-acoes .btn{align-self:auto}
.perfil-token-aviso{color:var(--cor-critico)}
.perfil-token code{font-family:var(--fonte-mono); font-size:12px}

.perfil-copia{border:1px solid var(--cor-linha); border-radius:var(--raio-p); overflow:hidden}
.perfil-copia-topo{
  display:flex; align-items:center; justify-content:space-between; gap:var(--esp-2);
  padding:8px 10px; background:var(--cor-superficie-alt); border-bottom:1px solid var(--cor-linha);
  font-size:12px; font-weight:600; color:var(--cor-tinta-media);
}
.perfil-copia-topo .btn{min-height:30px; padding:4px 12px; font-size:12px}
.perfil-copia-valor{
  margin:0; padding:10px; background:var(--cor-papel);
  font-family:var(--fonte-mono); font-size:11.5px; line-height:1.55; color:var(--cor-tinta);
  overflow-x:auto; white-space:pre; -webkit-user-select:all; user-select:all;
}
