/* ============================================================
   PAINEL DO SITE — Firmados em Cristo

   Herda de style.css só as variáveis e as fontes; nenhuma classe do
   site é reaproveitada aqui, para uma mexida no painel nunca chegar
   à página pública sem querer.

   As quatro cores da marca continuam valendo: verde-900, verde-950,
   butter e creme. Nada de um quinto tom — o resto é mistura.
   ============================================================ */

.painel{
  background:var(--creme); color:var(--verde-950);
  font-family:var(--sans); font-size:1rem; line-height:1.5;
  padding-bottom:5rem;
  -webkit-font-smoothing:antialiased;
}
.painel *{box-sizing:border-box}

/* ---------- cabeçalho ---------- */
.pcabeca{
  position:sticky; top:0; z-index:20;
  background:var(--verde-900); color:var(--creme);
  padding:env(safe-area-inset-top) 0 0;
}
.pcabeca__interno{
  display:flex; flex-wrap:wrap; align-items:center; gap:.75rem 1rem;
  padding:.9rem clamp(1rem,4vw,2rem);
}
.pcabeca__marca{display:flex; align-items:center; gap:.7rem; margin-inline-end:auto}
.pcabeca__marca strong{display:block; font-weight:500; letter-spacing:var(--tk-titulo); font-size:1.05rem}
.pcabeca__marca small{display:block; font-size:.78rem; color:var(--tinta-2); opacity:.8}
.pcabeca__logo{
  width:1.9rem; height:1.9rem; flex:0 0 auto;
  background:var(--butter);
  -webkit-mask:url(/assets/img/simbolo.svg) center/contain no-repeat;
  mask:url(/assets/img/simbolo.svg) center/contain no-repeat;
}
.pcabeca__acoes{display:flex; align-items:center; gap:.5rem}

.pestado{
  margin:0; font-size:.82rem; color:var(--tinta-2);
  display:flex; align-items:center; gap:.45rem; white-space:nowrap;
}
.pestado::before{
  content:""; width:.5rem; height:.5rem; border-radius:50%;
  background:var(--tinta-2); opacity:.5;
}
.pestado[data-cor="salvo"]::before{background:var(--butter); opacity:1}
.pestado[data-cor="pendente"]::before{background:var(--butter); opacity:1; animation:ppulso 1.8s infinite}
.pestado[data-cor="erro"]{color:var(--butter)}
.pestado[data-cor="erro"]::before{background:var(--butter); opacity:1}
@keyframes ppulso{50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.pestado::before{animation:none}}

/* ---------- botões ---------- */
.pbotao{
  font:inherit; font-size:.92rem; font-weight:500; letter-spacing:.01em;
  border-radius:var(--r-pill); padding:.55rem 1.1rem; cursor:pointer;
  border:var(--fio) solid transparent; text-decoration:none; white-space:nowrap;
  transition:background .25s var(--saida),color .25s var(--saida),border-color .25s var(--saida),opacity .25s var(--saida);
}
.pbotao--forte{background:var(--butter); color:var(--verde-950); border-color:var(--butter)}
.pbotao--forte:hover:not(:disabled){background:var(--butter-alto); border-color:var(--butter-alto)}
.pbotao--forte:disabled{opacity:.32; cursor:default}
.pbotao--fantasma{background:transparent; color:var(--creme); border-color:var(--fio-claro)}
.pbotao--fantasma:hover{border-color:var(--butter); color:var(--butter)}

/* ---------- atalhos ---------- */
.patalhos{
  display:flex; gap:.4rem; overflow-x:auto; scrollbar-width:none;
  padding:0 clamp(1rem,4vw,2rem) .8rem;
  border-top:var(--fio) solid var(--fio-claro);
  padding-top:.8rem;
}
.patalhos::-webkit-scrollbar{display:none}
.patalhos a{
  flex:0 0 auto; font-size:.85rem; color:var(--tinta-2); text-decoration:none;
  padding:.35rem .8rem; border-radius:var(--r-pill);
  border:var(--fio) solid var(--fio-claro);
  transition:color .25s var(--saida),border-color .25s var(--saida);
}
.patalhos a:hover{color:var(--butter); border-color:var(--fio-butter)}

/* ---------- corpo ---------- */
.pcorpo{max-width:56rem; margin-inline:auto; padding:clamp(1.25rem,4vw,2.5rem) clamp(1rem,4vw,2rem)}
.pvazio{color:var(--tinta-esc); font-size:.95rem}

.psecao{margin-bottom:clamp(2.5rem,6vw,4rem); scroll-margin-top:9.5rem}
.psecao__cabeca{display:flex; align-items:baseline; gap:.6rem; flex-wrap:wrap; margin-bottom:.35rem}
.psecao__titulo{
  margin:0; font-size:clamp(1.35rem,1.1rem + 1vw,1.8rem); font-weight:500;
  letter-spacing:var(--tk-titulo);
}
.psecao__conta{
  font-size:.75rem; letter-spacing:.1em; text-transform:uppercase;
  color:var(--tinta-esc-2); font-weight:500;
}
.psecao__nota{margin:0 0 1.1rem; font-size:.9rem; color:var(--tinta-esc); max-width:60ch}

/* ---------- lista de itens ---------- */
.plista{list-style:none; margin:0; padding:0; display:grid; gap:.6rem}

.pitem{
  background:var(--creme-off); border:var(--fio) solid var(--fio-escuro);
  border-radius:var(--r-md); overflow:hidden;
  transition:border-color .25s var(--saida);
}
.pitem[data-aberto]{border-color:var(--oliva)}
.pitem[data-oculto] .pitem__resumo{opacity:.42}

.pitem__linha{
  display:flex; align-items:center; gap:.75rem;
  padding:.7rem .8rem;
}
.pitem__mover{display:grid; gap:2px; flex:0 0 auto}
.pmini{
  width:1.55rem; height:1.15rem; display:grid; place-items:center;
  border:var(--fio) solid var(--fio-escuro); border-radius:6px;
  background:transparent; cursor:pointer; color:var(--tinta-esc);
  transition:border-color .2s var(--saida),color .2s var(--saida),background .2s var(--saida);
}
.pmini:hover:not(:disabled){border-color:var(--verde-900); color:var(--verde-900)}
.pmini:disabled{opacity:.25; cursor:default}
.pmini svg{width:.7rem; height:.7rem; fill:none; stroke:currentColor; stroke-width:2.4; stroke-linecap:round; stroke-linejoin:round}

.pitem__capa{
  flex:0 0 auto; width:4.2rem; aspect-ratio:16/9; border-radius:8px; overflow:hidden;
  background:var(--verde-900); display:grid; place-items:center;
}
.pitem__capa img{width:100%; height:100%; object-fit:cover; display:block}

.pitem__resumo{min-width:0; flex:1; transition:opacity .25s var(--saida)}
.pitem__titulo{
  display:block; font-weight:500; letter-spacing:var(--tk-titulo);
  font-size:1.02rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.pitem__sub{
  display:block; font-size:.83rem; color:var(--tinta-esc);
  overflow:hidden; text-overflow:ellipsis; white-space:nowrap;
}
.pmarca{
  display:inline-block; margin-inline-start:.4rem; vertical-align:.06em;
  font-size:.66rem; letter-spacing:.08em; text-transform:uppercase; font-weight:500;
  padding:.1rem .42rem; border-radius:var(--r-pill);
  background:var(--oliva); color:var(--verde-950);
}
.pmarca--fria{background:transparent; border:var(--fio) solid var(--fio-escuro); color:var(--tinta-esc-2)}

.pitem__acoes{display:flex; align-items:center; gap:.3rem; flex:0 0 auto}
.picone{
  width:2.1rem; height:2.1rem; display:grid; place-items:center;
  border:var(--fio) solid transparent; border-radius:50%; background:transparent;
  cursor:pointer; color:var(--tinta-esc);
  transition:background .2s var(--saida),color .2s var(--saida);
}
.picone:hover{background:color-mix(in srgb,var(--verde-950) 7%,transparent); color:var(--verde-900)}
.picone[aria-pressed="true"]{color:var(--verde-900)}
.picone svg{width:1.15rem; height:1.15rem; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round}

/* ---------- formulário do item ---------- */
.pforma{
  display:none; gap:1rem 1.25rem; padding:.2rem .8rem 1.1rem;
  border-top:var(--fio) solid var(--fio-escuro); margin-top:-.1rem;
  grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));
}
.pitem[data-aberto] .pforma{display:grid}
.psolta{display:grid; gap:1rem 1.25rem; grid-template-columns:repeat(auto-fit,minmax(13rem,1fr));
  background:var(--creme-off); border:var(--fio) solid var(--fio-escuro);
  border-radius:var(--r-md); padding:1.1rem}

.pcampo{display:grid; gap:.3rem; align-content:start; min-width:0}
.pcampo--largo{grid-column:1/-1}
.pcampo > label,.pgrupo__rotulo{
  font-size:.72rem; letter-spacing:.11em; text-transform:uppercase; font-weight:500;
  color:var(--tinta-esc-2);
}
.pcampo input[type=text],.pcampo input[type=url],.pcampo input[type=date],
.pcampo input[type=time],.pcampo select,.pcampo textarea{
  font:inherit; font-size:.95rem; color:var(--verde-950);
  background:color-mix(in srgb,var(--creme) 55%,#fff);
  border:var(--fio) solid var(--fio-escuro); border-radius:var(--r-sm);
  padding:.55rem .7rem; width:100%; min-width:0;
  transition:border-color .2s var(--saida),background .2s var(--saida);
}
.pcampo textarea{resize:vertical; min-height:4.2rem; line-height:1.45}
.pcampo :is(input,select,textarea):focus-visible{
  outline:none; border-color:var(--verde-900);
  background:#fff;
}
.pcampo__dica{font-size:.78rem; color:var(--tinta-esc-2); margin:0}
.pcampo__erro{font-size:.78rem; color:var(--alerta); margin:0; font-weight:500}
.pcampo[data-erro] input,.pcampo[data-erro] textarea{border-color:var(--alerta)}

.pchave{display:flex; align-items:center; gap:.6rem; cursor:pointer; font-size:.92rem; align-self:end; padding-block:.4rem}
.pchave input{position:absolute; opacity:0; width:0; height:0}
.pchave__trilho{
  width:2.6rem; height:1.5rem; border-radius:var(--r-pill); flex:0 0 auto;
  background:color-mix(in srgb,var(--verde-950) 16%,transparent);
  position:relative; transition:background .25s var(--saida);
}
.pchave__trilho::after{
  content:""; position:absolute; top:.19rem; left:.19rem;
  width:1.12rem; height:1.12rem; border-radius:50%; background:var(--creme);
  transition:translate .25s var(--saida);
}
.pchave input:checked + .pchave__trilho{background:var(--verde-900)}
.pchave input:checked + .pchave__trilho::after{translate:1.1rem 0}
.pchave input:focus-visible + .pchave__trilho{outline:2px solid var(--verde-900); outline-offset:2px}

/* ---------- imagem ---------- */
.pimagem{grid-column:1/-1; display:flex; gap:.9rem; align-items:flex-start; flex-wrap:wrap}
.pimagem__vista{
  width:11rem; aspect-ratio:16/9; border-radius:var(--r-sm); overflow:hidden;
  background:var(--verde-900); flex:0 0 auto; display:grid; place-items:center;
  color:var(--tinta-2); font-size:.8rem;
}
.pimagem__vista img{width:100%; height:100%; object-fit:cover; display:block}
.pimagem__lado{display:grid; gap:.4rem; align-content:start; flex:1; min-width:12rem}
.pimagem input[type=file]{position:absolute; opacity:0; width:0; height:0}
.parquivo{
  display:inline-block; font-size:.88rem; font-weight:500; cursor:pointer;
  padding:.5rem 1rem; border-radius:var(--r-pill); justify-self:start;
  border:var(--fio) solid var(--verde-900); color:var(--verde-900);
  transition:background .2s var(--saida),color .2s var(--saida);
}
.parquivo:hover{background:var(--verde-900); color:var(--creme)}
.pimagem__estado{font-size:.8rem; color:var(--tinta-esc-2); margin:0}
.pimagem__estado[data-alerta]{color:var(--alerta)}

/* ---------- acrescentar ---------- */
.pmais{
  margin-top:.7rem; width:100%; font:inherit; font-size:.92rem; font-weight:500;
  padding:.75rem 1rem; cursor:pointer; color:var(--verde-900);
  background:transparent; border:var(--fio) solid var(--fio-escuro);
  border-radius:var(--r-md);
  transition:border-color .25s var(--saida),background .25s var(--saida);
}
.pmais:hover{border-color:var(--verde-900); background:color-mix(in srgb,var(--verde-900) 5%,transparent)}

/* ---------- prévia da faixa ---------- */
.pfaixa{
  grid-column:1/-1; border-radius:var(--r-sm); overflow:hidden;
  background:var(--verde-950); color:var(--tinta-2);
  padding:.75rem 1rem; font-size:.9rem; text-align:center;
}
.pfaixa strong{color:var(--butter); font-weight:500}
.pfaixa a{color:var(--butter); text-decoration:underline; text-underline-offset:.2em}
.pfaixa[data-fora]{opacity:.4}

/* ---------- recado do rodapé ---------- */
.precado{
  position:fixed; left:50%; bottom:1.25rem; translate:-50% 0; z-index:40;
  background:var(--verde-950); color:var(--creme);
  padding:.7rem 1.2rem; border-radius:var(--r-pill);
  font-size:.9rem; box-shadow:0 10px 30px color-mix(in srgb,var(--verde-950) 35%,transparent);
  max-width:calc(100vw - 2rem);
}
.precado[data-tipo="erro"]{background:var(--alerta)}

.paviso-js{display:none; padding:3rem 1.5rem; text-align:center; color:var(--tinta-esc)}

/* ---------- a porta: entrar e criar senha ---------- */
.pporta{
  min-height:100svh; display:grid; place-items:center;
  padding:clamp(1rem,5vw,3rem) 1rem;
  background:var(--verde-900);
}
.pporta__cartao{
  width:min(100%,24rem); display:grid; gap:1rem;
  background:var(--creme); color:var(--verde-950);
  border-radius:var(--r-md); padding:clamp(1.5rem,5vw,2.25rem);
  box-shadow:0 24px 60px color-mix(in srgb,var(--verde-950) 45%,transparent);
}
.pporta__logo{
  width:2.6rem; height:2.6rem; background:var(--verde-900);
  -webkit-mask:url(/assets/img/simbolo.svg) center/contain no-repeat;
  mask:url(/assets/img/simbolo.svg) center/contain no-repeat;
}
.pporta__titulo{margin:0; font-size:1.6rem; font-weight:500; letter-spacing:var(--tk-titulo); line-height:1.1}
.pporta__sub{margin:-.6rem 0 .2rem; color:var(--tinta-esc); font-size:.95rem}
.pporta__erro{margin:0; min-height:1.2em; font-size:.85rem; font-weight:500; color:var(--alerta)}
.pporta__erro:empty{min-height:0}
.pporta__nota{margin:0; font-size:.8rem; color:var(--tinta-esc-2); text-align:center}
.pcampo input[readonly]{background:transparent; color:var(--tinta-esc)}
.pcampo input[type=password]{
  font:inherit; font-size:.95rem; color:var(--verde-950);
  background:color-mix(in srgb,var(--creme) 55%,#fff);
  border:var(--fio) solid var(--fio-escuro); border-radius:var(--r-sm);
  padding:.55rem .7rem; width:100%; min-width:0;
}
.pcampo input[type=password]:focus-visible{outline:none; border-color:var(--verde-900); background:#fff}

.psenha{position:relative}
.psenha input{padding-right:5rem !important}
.psenha__olho{
  position:absolute; right:.35rem; top:50%; translate:0 -50%;
  font:inherit; font-size:.78rem; font-weight:500; color:var(--verde-900);
  background:transparent; border:0; padding:.35rem .5rem; cursor:pointer; border-radius:6px;
}
.psenha__olho:hover{background:color-mix(in srgb,var(--verde-900) 8%,transparent)}

/* ---------- mais botões ---------- */
.pbotao--cheio{background:var(--verde-900); color:var(--creme); border-color:var(--verde-900); padding-block:.75rem; font-size:1rem}
.pbotao--cheio:hover:not(:disabled){background:var(--verde-950); border-color:var(--verde-950)}
.pbotao--cheio:disabled{opacity:.6; cursor:default}
.pbotao--verde{background:var(--verde-900); color:var(--creme); border-color:var(--verde-900)}
.pbotao--verde:hover{background:var(--verde-950); border-color:var(--verde-950)}
.pbotao--contorno{background:transparent; color:var(--verde-900); border-color:var(--verde-900)}
.pbotao--contorno:hover{background:var(--verde-900); color:var(--creme)}
.pbotao--leve{background:transparent; color:var(--tinta-esc); border-color:var(--fio-escuro)}
.pbotao--leve:hover{border-color:var(--verde-900); color:var(--verde-900)}
.pbotao--mini{font-size:.82rem; padding:.38rem .8rem}
.plink-botao{
  justify-self:start; font:inherit; font-size:.82rem; color:var(--verde-900);
  background:none; border:0; padding:0; cursor:pointer;
  text-decoration:underline; text-underline-offset:.2em;
}

/* ---------- a conta ---------- */
.pconta{position:relative}
.pconta__botao{
  display:grid; place-items:center; width:2.4rem; height:2.4rem; padding:0;
  border-radius:50%; border:var(--fio) solid var(--fio-claro); background:transparent; cursor:pointer;
  transition:border-color .2s var(--saida);
}
.pconta__botao:hover,.pconta__botao[aria-expanded="true"]{border-color:var(--butter)}
.pconta__inicial{
  display:grid; place-items:center; width:1.85rem; height:1.85rem; border-radius:50%;
  background:var(--butter); color:var(--verde-950); font-weight:500; font-size:.9rem; flex:0 0 auto;
}
.pconta__inicial--claro{background:var(--verde-900); color:var(--creme); width:2.2rem; height:2.2rem}
.pconta__menu{
  position:absolute; right:0; top:calc(100% + .5rem); z-index:30; min-width:14rem;
  background:var(--creme); color:var(--verde-950); border-radius:var(--r-md);
  padding:.4rem; box-shadow:0 14px 40px color-mix(in srgb,var(--verde-950) 35%,transparent);
  display:grid;
}
.pconta__menu[hidden]{display:none}
.pconta__nome{margin:0; padding:.55rem .7rem .45rem; font-size:.8rem; color:var(--tinta-esc-2);
  border-bottom:var(--fio) solid var(--fio-escuro); margin-bottom:.3rem}
.pconta__item{
  font:inherit; font-size:.92rem; text-align:left; color:var(--verde-950); text-decoration:none;
  background:none; border:0; padding:.55rem .7rem; border-radius:8px; cursor:pointer;
}
.pconta__item:hover{background:color-mix(in srgb,var(--verde-900) 8%,transparent)}

/* ---------- abas ---------- */
.pabas{
  display:flex; gap:1.4rem; padding:0 clamp(1rem,4vw,2rem);
  border-top:var(--fio) solid var(--fio-claro);
}
.pabas button{
  font:inherit; font-size:.92rem; font-weight:500; color:var(--tinta-2);
  background:none; border:0; padding:.75rem 0 .65rem; cursor:pointer;
  border-bottom:2px solid transparent;
}
.pabas button[hidden]{display:none}
.pabas button:hover{color:var(--creme)}
.pabas button[aria-current="page"]{color:var(--butter); border-bottom-color:var(--butter)}
.patalhos[hidden]{display:none}

/* ---------- seção desligada ---------- */
.pliga{margin:-.3rem 0 1rem; align-self:auto}
.psecao[data-escondida] .psecao__titulo,.psecao[data-escondida] .psecao__nota{opacity:.45}
.pchave--largo{grid-column:1/-1; align-self:start}

/* ---------- o resumo do item vira botão (toque para abrir) ---------- */
button.pitem__resumo{font:inherit; color:inherit; text-align:left; background:none; border:0; padding:0; cursor:pointer}

/* ---------- imagem com rótulo ---------- */
.pimagem{display:grid; gap:.4rem}
.pimagem__linha{display:flex; gap:.9rem; align-items:flex-start; flex-wrap:wrap}
.pimagem__rotulo{margin:0}

/* ---------- pessoas ---------- */
.ppessoa__linha{flex-wrap:wrap}
.ppessoa__acoes{display:flex; align-items:center; gap:.4rem; flex-wrap:wrap; margin-inline-start:auto}
.ppapel{
  font:inherit; font-size:.85rem; color:var(--verde-950);
  background:color-mix(in srgb,var(--creme) 55%,#fff);
  border:var(--fio) solid var(--fio-escuro); border-radius:var(--r-pill); padding:.38rem .7rem;
}
.ppapel:disabled{opacity:.55}
.pnova__fim{grid-column:1/-1; display:flex; align-items:center; justify-content:space-between; gap:1rem; flex-wrap:wrap}

/* ---------- janelas ---------- */
.pjanela{
  width:min(calc(100vw - 2rem),30rem); border:0; padding:0; border-radius:var(--r-md);
  background:var(--creme); color:var(--verde-950);
  box-shadow:0 24px 70px color-mix(in srgb,var(--verde-950) 45%,transparent);
}
.pjanela::backdrop{background:color-mix(in srgb,var(--verde-950) 55%,transparent)}
.pjanela__miolo{display:grid; gap:1rem; padding:clamp(1.25rem,4vw,1.75rem)}
.pjanela__titulo{margin:0; font-size:1.3rem; font-weight:500; letter-spacing:var(--tk-titulo)}
.pjanela__texto{margin:0; font-size:.93rem; color:var(--tinta-esc)}
.pjanela__acoes{display:flex; gap:.5rem; flex-wrap:wrap}
.plink input{
  width:100%; font:inherit; font-size:.85rem; color:var(--verde-950);
  background:var(--creme-off); border:var(--fio) solid var(--fio-escuro); border-radius:var(--r-sm);
  padding:.6rem .7rem;
}

@media (max-width:560px){
  .pcabeca__interno{padding-block:.75rem}
  .pestado{order:3; width:100%}
  .pestado[hidden]{display:none}
  .pcabeca__acoes{width:100%; order:4}
  .pcabeca__acoes[hidden]{display:none}
  .ppessoa__acoes{width:100%; margin-inline-start:0}
  .pjanela__acoes .pbotao{flex:1; text-align:center}
  .pcabeca__acoes .pbotao{flex:1; text-align:center}
  .pitem__capa{width:3.4rem}
  .pforma,.psolta{grid-template-columns:1fr}
}

/* atributo hidden sempre vence (vários blocos aqui têm display próprio) */
.painel [hidden]{display:none !important}
