/* =========================================================
   Sistema do Seminário · painel interno
   Reaproveita as variáveis de styles.css
   ========================================================= */

body.app { padding:0; background:var(--bg); }

/* ---------- Topo ---------- */
.admin-top { border-bottom:1px solid var(--line-soft); background:#070f1b; position:sticky; top:0; z-index:40; }
.admin-top .wrap { display:flex; align-items:center; justify-content:space-between; height:70px; gap:16px; }
.admin-top .l { display:flex; align-items:center; gap:12px; }
.admin-top img { height:40px; }
.admin-top .ttl { display:flex; flex-direction:column; line-height:1.15; }
.admin-top .ttl b { font-family:"Oswald",sans-serif; text-transform:uppercase; font-size:.95rem; letter-spacing:.07em; color:#fff; font-weight:600; }
.admin-top .ttl span { font-size:.72rem; color:var(--muted); letter-spacing:.06em; }
.admin-top .me { display:flex; align-items:center; gap:14px; }
.admin-top .nome { display:flex; flex-direction:column; text-align:right; font-size:.85rem; color:var(--cream); line-height:1.2; }
.admin-top .nome em { font-style:normal; font-size:.66rem; text-transform:uppercase; letter-spacing:.14em; color:var(--gold); }
.admin-top .btn { --pad:9px 16px; font-size:.74rem; }
@media(max-width:640px){ .admin-top .ttl, .admin-top .nome{ display:none; } }

/* ---------- Navegação ---------- */
.admin-nav { background:var(--bg-2); border-bottom:1px solid var(--line-soft); position:sticky; top:70px; z-index:35; }
.admin-nav .wrap { display:flex; gap:4px; overflow-x:auto; scrollbar-width:none; }
.admin-nav .wrap::-webkit-scrollbar { display:none; }
.admin-nav a { font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.1em; font-size:.74rem;
  color:var(--muted); padding:15px 16px; white-space:nowrap; border-bottom:2px solid transparent; transition:.15s; }
.admin-nav a:hover { color:var(--cream); }
.admin-nav a.on { color:var(--gold-br); border-bottom-color:var(--gold); }

.panel { padding:30px 0 80px; min-height:60vh; }
.admin-foot { border-top:1px solid var(--line-soft); padding:22px 0; color:var(--muted); font-size:.78rem; text-align:center; }

/* ---------- Cabeçalho de página ---------- */
.ph { display:flex; align-items:flex-end; justify-content:space-between; gap:16px; flex-wrap:wrap; margin-bottom:24px; }
.ph h1 { font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.05em; color:#fff; font-size:1.5rem; margin:0 0 4px; font-weight:600; }
.ph p { margin:0; color:var(--muted); font-size:.9rem; }
.ph .acoes { display:flex; gap:10px; flex-wrap:wrap; }
.ph .btn { --pad:11px 20px; font-size:.76rem; }

/* ---------- Avisos ---------- */
.flash { border-radius:10px; padding:13px 18px; margin-bottom:20px; font-size:.92rem;
  background:rgba(201,162,95,.12); border:1px solid var(--line); color:var(--cream); }
.flash.erro { background:rgba(177,34,44,.16); border-color:rgba(230,120,120,.4); color:#ffd7da; }
.flash.ok   { background:rgba(46,120,72,.16); border-color:rgba(120,200,150,.35); color:#d6f5e2; }

/* ---------- Cards ---------- */
.cards { display:grid; grid-template-columns:repeat(auto-fill,minmax(260px,1fr)); gap:16px; }
.card { background:linear-gradient(180deg,var(--panel),var(--bg-2)); border:1px solid var(--line-soft);
  border-radius:14px; padding:20px 22px; }
.card h3 { font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.06em; font-size:.95rem;
  color:#fff; margin:0 0 8px; font-weight:600; }
.card p { margin:0; color:var(--muted); font-size:.88rem; }

/* Aula em destaque (hoje) */
.hoje { border:1px solid var(--line); border-radius:16px; padding:26px 28px; margin-bottom:26px;
  background:linear-gradient(180deg,var(--panel-2),var(--panel)); box-shadow:var(--shadow); }
.hoje .tag { font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.28em; font-size:.68rem; color:var(--gold); }
.hoje h2 { font-family:"Oswald",sans-serif; text-transform:uppercase; color:#fff; font-size:1.7rem;
  margin:8px 0 2px; letter-spacing:.02em; font-weight:600; }
.hoje .meta { color:var(--muted); font-size:.92rem; margin-bottom:18px; }
.hoje .btn { --pad:15px 34px; font-size:.9rem; }
.hoje.vazio h2 { font-size:1.2rem; color:var(--cream); }

/* ---------- Estatísticas ---------- */
.statbar { display:flex; gap:14px; flex-wrap:wrap; margin-bottom:26px; }
.stat { flex:1 1 150px; background:linear-gradient(180deg,var(--panel),var(--bg-2));
  border:1px solid var(--line); border-radius:12px; padding:16px 22px; }
.stat .n { font-family:"Oswald",sans-serif; font-size:1.9rem; color:var(--gold-br); line-height:1; }
.stat .t { font-size:.72rem; color:var(--muted); text-transform:uppercase; letter-spacing:.12em; margin-top:6px; }

/* ---------- Tabelas ---------- */
.tablewrap { overflow-x:auto; border:1px solid var(--line-soft); border-radius:12px; background:rgba(17,32,58,.4); margin-bottom:26px; }
table { width:100%; border-collapse:collapse; font-size:.9rem; min-width:620px; }
th { font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.1em; font-size:.68rem;
  color:var(--gold); text-align:left; padding:13px 16px; border-bottom:1px solid var(--line); white-space:nowrap; }
td { padding:12px 16px; border-bottom:1px solid var(--line-soft); color:var(--cream); vertical-align:middle; }
tr:last-child td { border-bottom:none; }
td .em { color:var(--muted); font-size:.82rem; display:block; }
.empty { text-align:center; color:var(--muted); padding:52px 20px; }
.acoes-col { text-align:right; white-space:nowrap; }

/* ---------- Etiquetas ---------- */
.tag-st { display:inline-block; font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.1em;
  font-size:.64rem; padding:5px 10px; border-radius:20px; border:1px solid var(--line-soft); color:var(--muted); }
.tag-st.ok    { background:rgba(46,120,72,.18); border-color:rgba(120,200,150,.4); color:#a8e6c2; }
.tag-st.pend  { background:rgba(201,162,95,.14); border-color:var(--line); color:var(--gold-br); }
.tag-st.off   { background:rgba(177,34,44,.16); border-color:rgba(230,120,120,.35); color:#f0a6ab; }

/* ---------- Botões auxiliares ---------- */
.btn-sm { --pad:8px 14px; font-size:.72rem; }
.btn-linha { display:inline-flex; align-items:center; gap:6px; cursor:pointer; font-family:"Oswald",sans-serif;
  text-transform:uppercase; letter-spacing:.06em; font-size:.68rem; background:rgba(201,162,95,.1);
  color:var(--gold-br); border:1px solid var(--line); border-radius:8px; padding:8px 12px; transition:.15s; }
.btn-linha:hover { background:rgba(201,162,95,.24); color:#fff; }
.btn-danger { display:inline-flex; align-items:center; gap:6px; cursor:pointer; font-family:"Oswald",sans-serif;
  text-transform:uppercase; letter-spacing:.06em; font-size:.68rem; background:rgba(177,34,44,.12);
  color:#f0a6ab; border:1px solid rgba(230,120,120,.4); border-radius:8px; padding:8px 12px; transition:.15s; }
.btn-danger:hover { background:rgba(177,34,44,.3); color:#fff; }

/* ---------- Formulários ---------- */
.formcard { background:linear-gradient(180deg,var(--panel),var(--bg-2)); border:1px solid var(--line);
  border-radius:14px; padding:26px 28px; margin-bottom:26px; }
.formcard h2 { font-family:"Oswald",sans-serif; text-transform:uppercase; color:#fff; font-size:1.05rem;
  letter-spacing:.05em; margin:0 0 18px; font-weight:600; }
.grid2 { display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:16px; }
.field { display:flex; flex-direction:column; gap:7px; }
.field.full { grid-column:1 / -1; }
.field label { font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.1em; font-size:.7rem; color:var(--gold); }
.field input, .field select, .field textarea {
  background:#0b1728; border:1px solid var(--line-soft); border-radius:10px; padding:12px 14px;
  color:var(--cream); font-family:inherit; font-size:.95rem; width:100%; }
.field textarea { resize:vertical; min-height:110px; }
.field input:focus, .field select:focus, .field textarea:focus {
  outline:none; border-color:var(--gold); box-shadow:0 0 0 3px rgba(201,162,95,.14); }
.field .dica { font-size:.76rem; color:var(--muted); }
.form-acoes { margin-top:20px; display:flex; gap:12px; flex-wrap:wrap; }

/* ---------- Login ---------- */
.login { min-height:100vh; display:grid; place-items:center; padding:24px; }
.login .formcard { max-width:390px; width:100%; }
.login img { height:76px; margin:0 auto 18px; }
.login h2 { text-align:center; margin-bottom:4px; }
.login p.sub { text-align:center; color:var(--muted); font-size:.85rem; margin:0 0 22px; }
.login .btn { width:100%; justify-content:center; margin-top:8px; }

/* ---------- Chamada ---------- */
.chamada-topo { border:1px solid var(--line); border-radius:14px; padding:20px 24px; margin-bottom:20px;
  background:linear-gradient(180deg,var(--panel-2),var(--panel)); }
.chamada-topo h1 { font-family:"Oswald",sans-serif; text-transform:uppercase; color:#fff; font-size:1.4rem; margin:0 0 4px; font-weight:600; }
.chamada-topo .meta { color:var(--muted); font-size:.9rem; }

.resumo { display:flex; gap:10px; flex-wrap:wrap; margin:16px 0 18px; }
.resumo span { font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.1em; font-size:.72rem;
  padding:9px 16px; border-radius:10px; border:1px solid var(--line-soft); color:var(--cream); background:rgba(17,32,58,.6); }
.resumo b { color:var(--gold-br); font-size:.95rem; }

.lista-alunos { border:1px solid var(--line-soft); border-radius:12px; overflow:hidden; background:rgba(17,32,58,.4); }
.aluno-linha { display:flex; align-items:center; justify-content:space-between; gap:14px;
  padding:13px 18px; border-bottom:1px solid var(--line-soft); }
.aluno-linha:last-child { border-bottom:none; }
.aluno-linha .nm { font-size:.95rem; color:var(--cream); }
.seg { display:flex; gap:0; border:1px solid var(--line-soft); border-radius:10px; overflow:hidden; flex:none; }
.seg input { position:absolute; opacity:0; pointer-events:none; }
.seg label { cursor:pointer; font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.08em;
  font-size:.7rem; padding:9px 14px; color:var(--muted); background:#0b1728; transition:.15s;
  border-right:1px solid var(--line-soft); user-select:none; }
.seg label:last-of-type { border-right:none; }
.seg input:checked + label.p { background:rgba(46,120,72,.55); color:#fff; }
.seg input:checked + label.f { background:rgba(177,34,44,.6); color:#fff; }
.seg input:checked + label.j { background:rgba(201,162,95,.5); color:#1a1205; }
.barra-fixa { position:sticky; bottom:0; background:linear-gradient(180deg,rgba(10,20,34,.4),var(--bg));
  padding:18px 0 22px; margin-top:18px; display:flex; gap:12px; flex-wrap:wrap; align-items:center; }
.barra-fixa .btn { --pad:14px 34px; font-size:.85rem; }

/* ---------- Frequência ---------- */
.freq { font-family:"Oswald",sans-serif; font-size:1rem; }
.freq.bom { color:#a8e6c2; }
.freq.alerta { color:var(--gold-br); }
.freq.ruim { color:#f0a6ab; }

/* ---------- Público (anúncios) ---------- */
.anuncio { border:1px solid var(--line-soft); border-radius:14px; padding:24px 26px; margin-bottom:18px;
  background:linear-gradient(180deg,var(--panel),var(--bg-2)); }
.anuncio.destaque { border-color:var(--line); box-shadow:var(--shadow); }
.anuncio .quando { font-family:"Oswald",sans-serif; text-transform:uppercase; letter-spacing:.2em;
  font-size:.66rem; color:var(--gold); }
.anuncio h3 { font-family:"Oswald",sans-serif; text-transform:uppercase; color:#fff; font-size:1.25rem;
  margin:8px 0 10px; letter-spacing:.02em; font-weight:600; }
.anuncio .corpo { color:var(--cream); font-size:.98rem; line-height:1.7; white-space:pre-line; }
