/* =========================================================
   .Gab — Painel admin · 15 anos
   ========================================================= */
.adm{background:#efe9e3}

/* o atributo hidden deve sempre esconder, mesmo com display:grid.
   Sem isto, .adm-app (display:grid) aparece por baixo do login. */
[hidden]{display:none !important}

/* ---------- LOGIN ---------- */
.adm-login{min-height:100svh;display:grid;place-items:center;padding:20px;
  background:radial-gradient(120% 120% at 50% 0%, var(--terra), var(--escuro))}
.adm-login__card{
  background:var(--claro);width:min(400px,100%);border-radius:var(--r);
  padding:clamp(30px,6vw,48px);box-shadow:var(--shadow);text-align:center;
}
.adm-login__mono{width:64px;margin:0 auto 1.2rem}
.adm-login__card h1{font-size:2.4rem;color:var(--escuro)}
.adm-login__card p{color:var(--taupe);font-size:.9rem;margin-bottom:1.4rem}
.adm-login .field{text-align:left}

/* ---------- LAYOUT APP ---------- */
.adm-app{display:grid;grid-template-columns:230px 1fr;min-height:100svh}

.adm-side{
  background:var(--escuro);color:var(--claro);
  display:flex;flex-direction:column;padding:1.6rem 1.1rem;position:sticky;top:0;height:100svh;
}
.adm-side__mono{width:52px;margin-bottom:2rem}
.adm-side__mono img{filter:brightness(0) invert(1);opacity:.9}
.adm-nav{display:flex;flex-direction:column;gap:.4rem;flex:1}
.adm-nav__btn{
  text-align:left;color:var(--cinza);padding:.7rem .9rem;border-radius:var(--r);
  font-family:var(--tit);text-transform:lowercase;font-size:1.15rem;font-weight:300;
  display:flex;justify-content:space-between;align-items:center;transition:all .25s;
}
.adm-nav__btn:hover{background:rgba(255,255,255,.08);color:var(--claro)}
.adm-nav__btn.is-active{background:var(--terra);color:var(--claro);font-weight:700}
.badge{background:var(--coral);color:var(--escuro);font-family:var(--corpo);font-weight:600;
  font-size:.72rem;min-width:20px;height:20px;border-radius:100px;display:grid;place-items:center;padding:0 .4rem}
.badge:empty,.badge[data-zero="1"]{display:none}
.adm-side__foot{display:flex;flex-direction:column;gap:.7rem;font-size:.85rem;border-top:1px solid rgba(255,255,255,.12);padding-top:1rem}
.adm-side__foot a{color:var(--coral)}
.adm-side__foot button{color:var(--cinza);text-align:left}
.adm-side__foot button:hover{color:var(--claro)}

.adm-main{padding:clamp(24px,4vw,48px);overflow:auto}
.adm-head{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem;margin-bottom:1.8rem}
.adm-head h2{font-size:clamp(2rem,5vw,3rem);color:var(--escuro)}

.adm-tab{display:none}
.adm-tab.is-active{display:block;animation:fade .4s var(--ease)}
@keyframes fade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

/* ---------- FILTROS / CHIPS ---------- */
.adm-filter{display:flex;gap:.5rem}
.chip{padding:.45rem 1rem;border-radius:100px;border:1px solid var(--taupe);
  color:var(--marrom);font-size:.85rem;text-transform:lowercase;transition:all .25s}
.chip.is-on{background:var(--escuro);color:var(--claro);border-color:var(--escuro)}

/* ---------- DEPOIMENTOS LISTA ---------- */
.depo-list{display:grid;gap:1rem}
.depo-card{
  background:var(--claro);border-radius:var(--r);padding:1.3rem 1.5rem;
  box-shadow:0 4px 20px -14px rgba(89,38,27,.4);
  display:grid;grid-template-columns:auto 1fr auto;gap:1.2rem;align-items:start;
  border-left:4px solid var(--cinza);
}
.depo-card[data-status=pendente]{border-left-color:var(--coral)}
.depo-card[data-status=aprovado]{border-left-color:#5a8f5a}
.depo-card__foto{width:56px;height:56px;border-radius:50%;object-fit:cover;background:var(--cinza)}
.depo-card__foto--none{display:grid;place-items:center;font-family:var(--tit);color:var(--marrom);font-size:1.3rem}
.depo-card__body h4{font-family:var(--tit);text-transform:lowercase;font-size:1.2rem;color:var(--escuro)}
.depo-card__body .status-lab{font-size:.7rem;text-transform:uppercase;letter-spacing:.1em;color:var(--terra)}
.depo-card__body p{color:var(--marrom);margin-top:.4rem;font-size:.96rem}
.depo-card__actions{display:flex;flex-direction:column;gap:.5rem}
.mini{padding:.5rem .9rem;border-radius:var(--r);font-size:.82rem;text-transform:lowercase;
  font-family:var(--tit);transition:all .25s;white-space:nowrap}
.mini--ok{background:#5a8f5a;color:#fff}
.mini--ok:hover{background:#4a7a4a}
.mini--undo{background:var(--taupe);color:#fff}
.mini--del{background:transparent;color:#b3261e;border:1px solid #b3261e}
.mini--del:hover{background:#b3261e;color:#fff}
.adm-empty{text-align:center;color:var(--taupe);font-family:var(--tit);font-style:italic;padding:3rem}

/* ---------- FOTOS ---------- */
.upload-box{background:var(--claro);border-radius:var(--r);padding:1.5rem;margin-bottom:2rem;
  display:flex;gap:1.2rem;align-items:flex-end;flex-wrap:wrap;box-shadow:0 4px 20px -14px rgba(89,38,27,.4)}
.upload-box .field{flex:1;min-width:180px;margin:0}
.foto-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:1rem}
.foto-item{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:0 6px 20px -12px rgba(89,38,27,.5);aspect-ratio:1}
.foto-item img{width:100%;height:100%;object-fit:cover}
.foto-item__del{position:absolute;top:8px;right:8px;width:32px;height:32px;border-radius:50%;
  background:rgba(89,38,27,.8);color:#fff;font-size:1.1rem;display:grid;place-items:center;opacity:0;transition:.25s}
.foto-item:hover .foto-item__del{opacity:1}
.foto-item__cap{position:absolute;inset:auto 0 0 0;padding:.5rem .7rem;font-size:.78rem;color:#fff;
  background:linear-gradient(0deg,rgba(89,38,27,.85),transparent)}

/* ---------- TEXTOS ---------- */
.textos-form{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:1.5rem;align-items:start}
.card{background:var(--claro);border:none;border-radius:var(--r);padding:1.5rem;box-shadow:0 4px 20px -14px rgba(89,38,27,.4)}
.card legend{font-family:var(--tit);text-transform:lowercase;font-size:1.4rem;color:var(--escuro);padding:0 .5rem;margin-left:-.5rem}
.card .field{margin-top:.9rem}
.card .field:first-of-type{margin-top:.4rem}
.textos-actions{grid-column:1/-1;display:flex;align-items:center;gap:1rem}

/* ---------- RESPONSIVO ---------- */
@media(max-width:720px){
  .adm-app{grid-template-columns:1fr}
  .adm-side{position:static;height:auto;flex-direction:row;align-items:center;flex-wrap:wrap;gap:.6rem}
  .adm-side__mono{width:40px;margin:0 1rem 0 0}
  .adm-nav{flex-direction:row;flex-wrap:wrap;flex:1 1 100%;order:3}
  .adm-side__foot{flex-direction:row;border:none;padding:0;margin-left:auto}
  .depo-card{grid-template-columns:auto 1fr;grid-template-areas:'foto body' 'actions actions'}
  .depo-card__foto{grid-area:foto}.depo-card__body{grid-area:body}
  .depo-card__actions{grid-area:actions;flex-direction:row}
}

/* ---------- SLOTS DE IMAGEM (aba textos) ---------- */
.foto-slot{margin-top:1rem}
.foto-slot > label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:.1em;margin-bottom:.4rem;color:var(--rosa,#db7c7c)}
.foto-slot__preview{width:100%;aspect-ratio:3/4;max-width:150px;border-radius:var(--r);overflow:hidden;
  background:#efe3e0;border:1px dashed #d8c2be;display:grid;place-items:center;margin-bottom:.6rem}
.foto-slot__preview img{width:100%;height:100%;object-fit:cover}
.foto-slot__empty{font-size:.8rem;color:#b79b96;font-style:italic}
.slot-file{font-size:.85rem}

/* ---------- CARD DO TOPO/HEADER (imagem de fundo) ---------- */
.card--wide{grid-column:1 / -1}  /* ocupa a linha toda na grade de textos */
.foto-slot--wide{width:100%}
.foto-slot__preview--wide{aspect-ratio:16/10;max-width:none;width:100%}
.slot-note{font-size:.8rem;color:var(--taupe);margin-top:.7rem;line-height:1.5}
