/* Painel administrativo — BethLechem */
:root {
  --noite: #0f1d33; --noite-2: #16294a; --ouro: #c9a24b; --ouro-claro: #e8cf95;
  --ouro-escuro: #a5813a; --pergaminho: #f7f1e3; --tinta: #232a3b; --tinta-suave: #5a6172;
  --ok: #2e7d43; --erro: #a53a3a;
  --fonte-titulo: "Frank Ruhl Libre", Georgia, serif;
  --fonte-texto: "Assistant", system-ui, sans-serif;
}
* { box-sizing: border-box; }
body.admin {
  margin: 0; font-family: var(--fonte-texto); font-size: 16px; line-height: 1.55;
  color: var(--tinta); background: #f1ecdf;
}
a { color: var(--noite-2); }
img { max-width: 100%; }

.adm-topo {
  background: var(--noite); color: var(--pergaminho);
  display: flex; align-items: center; gap: 20px; flex-wrap: wrap;
  padding: 10px 22px; border-bottom: 3px solid var(--ouro);
  position: sticky; top: 0; z-index: 20;
}
.adm-marca { display: flex; align-items: center; gap: 10px; color: var(--ouro-claro); text-decoration: none; font-size: 1.05rem; }
.adm-marca svg { color: var(--ouro); }
.adm-menu { margin-left: auto; display: flex; gap: 2px; flex-wrap: wrap; }
.adm-menu a {
  color: var(--pergaminho); text-decoration: none; font-weight: 600; font-size: 0.92rem;
  padding: 8px 11px; border-radius: 6px;
}
.adm-menu a:hover { background: rgba(201,162,75,0.2); }
.adm-menu a.ativo { background: var(--ouro); color: var(--noite); }
.adm-menu a.sair { color: #f0b9b9; }

.adm-main { max-width: 1040px; margin: 0 auto; padding: 30px 22px 60px; }
.adm-rodape { text-align: center; color: var(--tinta-suave); font-size: 0.85rem; padding: 20px; }

h1.adm-titulo { font-family: var(--fonte-titulo); font-weight: 900; color: var(--noite); font-size: 1.9rem; margin: 0 0 6px; }
p.adm-sub { color: var(--tinta-suave); margin: 0 0 26px; }
h2.adm-secao { font-family: var(--fonte-titulo); color: var(--noite); font-size: 1.3rem; margin: 34px 0 14px; border-bottom: 2px solid var(--ouro); padding-bottom: 6px; }

.adm-flash { padding: 13px 18px; border-radius: 8px; margin-bottom: 22px; font-weight: 600; }
.flash-ok { background: #e4f2e7; color: var(--ok); border: 1px solid #bcd9c3; }
.flash-erro { background: #f7e4e4; color: var(--erro); border: 1px solid #e0bcbc; }

.adm-cartao {
  background: #fffdf7; border: 1px solid rgba(201,162,75,0.4); border-radius: 12px;
  padding: 26px 28px; box-shadow: 0 6px 18px rgba(15,29,51,0.08); margin-bottom: 24px;
}

label.adm-label { display: block; font-weight: 700; margin: 18px 0 6px; color: var(--noite); }
label.adm-label small { font-weight: 400; color: var(--tinta-suave); }
.adm-input, .adm-textarea, .adm-select {
  width: 100%; padding: 11px 13px; border: 1px solid #cfc6ae; border-radius: 8px;
  font-family: var(--fonte-texto); font-size: 1rem; background: #fff; color: var(--tinta);
}
.adm-input:focus, .adm-textarea:focus, .editor-area:focus { outline: 3px solid rgba(201,162,75,0.5); border-color: var(--ouro); }
.adm-textarea { min-height: 110px; resize: vertical; }
.adm-linha { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.adm-check { display: flex; align-items: center; gap: 9px; margin: 16px 0; font-weight: 600; }
.adm-check input { width: 18px; height: 18px; accent-color: var(--ouro-escuro); }

.adm-botao {
  display: inline-flex; align-items: center; gap: 8px; cursor: pointer;
  background: var(--noite); color: var(--pergaminho); border: none;
  padding: 12px 26px; border-radius: 999px; font-weight: 700; font-size: 1rem;
  font-family: var(--fonte-texto); text-decoration: none;
}
.adm-botao:hover { background: var(--noite-2); }
.adm-botao-ouro { background: var(--ouro); color: var(--noite); }
.adm-botao-ouro:hover { background: var(--ouro-claro); }
.adm-botao-perigo { background: #fff; color: var(--erro); border: 2px solid var(--erro); padding: 10px 20px; }
.adm-botao-perigo:hover { background: #f7e4e4; }
.adm-botao-mini { padding: 7px 14px; font-size: 0.88rem; }

/* Tabelas de listagem */
.adm-tabela { width: 100%; border-collapse: collapse; background: #fffdf7; border-radius: 10px; overflow: hidden; box-shadow: 0 6px 18px rgba(15,29,51,0.08); }
.adm-tabela th { background: var(--noite); color: var(--ouro-claro); text-align: left; padding: 12px 16px; font-size: 0.85rem; letter-spacing: 0.06em; text-transform: uppercase; }
.adm-tabela td { padding: 13px 16px; border-bottom: 1px solid #eee4cc; vertical-align: middle; }
.adm-tabela tr:last-child td { border-bottom: none; }
.adm-tabela .acoes { white-space: nowrap; text-align: right; }
.adm-tabela .acoes form { display: inline; }
.badge { display: inline-block; padding: 3px 10px; border-radius: 999px; font-size: 0.78rem; font-weight: 700; }
.badge-on { background: #e4f2e7; color: var(--ok); }
.badge-off { background: #eee; color: #777; }
.badge-destaque { background: #f7ecd4; color: var(--ouro-escuro); }
.miniatura { width: 74px; height: 46px; object-fit: cover; border-radius: 6px; border: 1px solid #ddd0ae; }
.miniatura-vazia { width: 74px; height: 46px; border-radius: 6px; background: var(--noite-2); display: inline-block; }

/* Editor de texto rico */
.editor-envoltorio { border: 1px solid #cfc6ae; border-radius: 8px; overflow: hidden; background: #fff; }
.editor-barra { display: flex; flex-wrap: wrap; gap: 2px; background: #f3edda; border-bottom: 1px solid #ddd0ae; padding: 6px; }
.editor-barra button {
  border: none; background: transparent; cursor: pointer; border-radius: 6px;
  padding: 7px 11px; font-weight: 700; font-size: 0.92rem; color: var(--noite); font-family: var(--fonte-texto);
}
.editor-barra button:hover { background: var(--ouro-claro); }
.editor-area { min-height: 260px; padding: 16px 18px; font-size: 1.02rem; }
.editor-area:focus { outline-offset: -3px; }
.editor-area h2 { font-family: var(--fonte-titulo); font-size: 1.4rem; }
.editor-area h3 { font-family: var(--fonte-titulo); font-size: 1.15rem; }
.editor-area blockquote { border-left: 3px solid var(--ouro); margin-left: 0; padding-left: 16px; font-style: italic; }
.editor-area img { max-width: 100%; border-radius: 8px; }
.editor-area .video-embed { position: relative; aspect-ratio: 16/9; margin: 12px 0; border-radius: 8px; overflow: hidden; background: #16294a; }
.editor-area .video-embed iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; pointer-events: none; }
.editor-area video { max-width: 100%; border-radius: 8px; }

/* Dashboard */
.adm-grade-resumo { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 18px; margin: 24px 0; }
.adm-resumo {
  background: #fffdf7; border: 1px solid rgba(201,162,75,0.4); border-top: 4px solid var(--ouro);
  border-radius: 12px; padding: 22px; text-align: center; box-shadow: 0 6px 18px rgba(15,29,51,0.08);
  text-decoration: none; color: var(--tinta); display: block;
}
.adm-resumo:hover { border-top-color: var(--noite); }
.adm-resumo strong { display: block; font-family: var(--fonte-titulo); font-size: 2.2rem; color: var(--noite); }
.adm-resumo span { color: var(--tinta-suave); font-weight: 600; }

.imagem-atual { display: flex; align-items: center; gap: 16px; margin-top: 8px; }
.imagem-atual img { width: 160px; border-radius: 8px; border: 1px solid #ddd0ae; }

/* Login */
.login-caixa {
  max-width: 420px; margin: 8vh auto; background: #fffdf7;
  border: 1px solid rgba(201,162,75,0.5); border-top: 5px solid var(--ouro);
  border-radius: 14px; padding: 38px 36px; box-shadow: 0 16px 40px rgba(15,29,51,0.18);
}
.login-caixa h1 { font-family: var(--fonte-titulo); font-weight: 900; color: var(--noite); text-align: center; margin: 12px 0 4px; }
.login-caixa p.login-sub { text-align: center; color: var(--tinta-suave); margin: 0 0 10px; }
.login-menora { display: block; margin: 0 auto; color: var(--ouro-escuro); }
.login-caixa .adm-botao { width: 100%; justify-content: center; margin-top: 22px; }

@media (max-width: 720px) {
  .adm-linha { grid-template-columns: 1fr; }
  .adm-tabela { display: block; overflow-x: auto; }
}
