/* Backoffice: formularios, tabelas e cartoes sobre os tokens de tema (28.8). */
.admin-palco { flex: 1; width: 100%; max-width: 72rem; margin: 0 auto; padding: var(--espaco-4) var(--espaco-3) var(--espaco-6); display: grid; gap: var(--espaco-4); }
.cartao { background: var(--cor-superficie); border: 1px solid var(--cor-borda); border-radius: var(--raio); padding: var(--espaco-4); display: grid; gap: var(--espaco-3); }
.cartao h1, .cartao h2 { font-size: 1.35rem; }
.numero-grande { font-family: var(--fonte-titulo); font-size: 2rem; line-height: 1.2; }
.numero-grande + p { font-weight: 600; }
.grade-3 { display: grid; gap: var(--espaco-3); grid-template-columns: repeat(auto-fit, minmax(14rem, 1fr)); }
.campo { display: grid; gap: var(--espaco-1); }
.campo label { font-weight: 700; }
.campo input, .campo select, .campo textarea { font: inherit; min-height: var(--alvo-min); padding: var(--espaco-2) var(--espaco-3); border: 2px solid var(--cor-texto); border-radius: var(--raio); background: var(--cor-superficie); color: var(--cor-texto); }
.campo .ajuda { color: var(--cor-texto-apoio); font-size: 0.95rem; }
.acoes { display: flex; flex-wrap: wrap; gap: var(--espaco-2); align-items: center; }
form.inline { display: inline; }
table.dados { width: 100%; border-collapse: collapse; }
table.dados th, table.dados td { text-align: left; padding: var(--espaco-2) var(--espaco-2); border-bottom: 1px solid var(--cor-borda); vertical-align: top; }
table.dados th { position: sticky; top: 0; background: var(--cor-superficie); }
table.dados td.num, table.dados th.num { text-align: right; }
.rotulo { display: inline-flex; align-items: center; gap: var(--espaco-1); font-weight: 700; }
.rotulo--ok { color: var(--cor-sucesso); } .rotulo--atencao { color: var(--cor-atencao); } .rotulo--erro { color: var(--cor-erro); }
.flash { padding: var(--espaco-3); border-radius: var(--raio); border: 2px solid; font-weight: 600; background: var(--cor-superficie); }
.flash--sucesso { border-color: var(--cor-sucesso); } .flash--erro { border-color: var(--cor-erro); } .flash--atencao { border-color: var(--cor-atencao); } .flash--info { border-color: var(--cor-info); }
.qr { width: 220px; height: 220px; }
.segredo { font-family: var(--fonte-titulo); font-size: 0.9rem; letter-spacing: 0.1em; user-select: all; }
.link-unico { word-break: break-all; padding: var(--espaco-3); border: 2px dashed var(--cor-texto); border-radius: var(--raio); user-select: all; }
.nav-admin { display: flex; gap: var(--espaco-2); flex-wrap: wrap; align-items: center; padding-right: var(--espaco-3); }
.nav-admin a, .nav-admin button { color: inherit; font-weight: 700; text-decoration: none; min-height: var(--alvo-min); display: inline-flex; align-items: center; gap: var(--espaco-1); padding: 0 var(--espaco-2); background: transparent; border: 0; cursor: pointer; }
.nav-admin a[aria-current="page"] { text-decoration: underline; text-underline-offset: 6px; text-decoration-color: var(--cor-marca); text-decoration-thickness: 3px; }
.vazio { color: var(--cor-texto-apoio); font-weight: 600; }
.cartao form { max-width: 34rem; display: grid; gap: var(--espaco-3); }
.campo-hex { width: 8rem; } .campo-curto { width: 6rem; } .seletor-cor { width: 3rem; height: var(--alvo-min); padding: 0; border: 2px solid var(--cor-texto); border-radius: var(--raio); }
.marcos{list-style:none;padding:0;margin:0;display:grid;gap:var(--espaco-3)}.marco{border:2px solid var(--cor-borda);border-radius:var(--raio);padding:var(--espaco-3)}.marco--ok{border-color:var(--cor-sucesso);background:color-mix(in srgb,var(--cor-sucesso) 8%,transparent)}.marco--ativo{border-color:var(--cor-marca);box-shadow:0 0 0 3px color-mix(in srgb,var(--cor-marca) 30%,transparent)}.marco--espera{opacity:.55}.marco__cabec{display:flex;gap:var(--espaco-2);align-items:baseline}.marco__estado{font-family:var(--fonte-titulo);font-size:.8rem;min-width:9ch;color:var(--cor-texto-apoio)}.marco--ok .marco__estado{color:var(--cor-sucesso)}.marco--ativo .marco__estado{color:var(--cor-marca)}

/* ===== Bloco A.2 — acabamento estético do admin (só aparência) ===== */
/* Menu superior no estilo do print: aba ativa em laranja claro, hover suave. */
.nav-admin a, .nav-admin button { border-radius: 10px; transition: background .16s, color .16s; }
.nav-admin a:hover, .nav-admin button:hover { background: color-mix(in srgb, var(--cor-marca) 10%, transparent); color: var(--cor-marca); }
.nav-admin a[aria-current="page"] { background: color-mix(in srgb, var(--cor-marca) 14%, transparent); color: var(--cor-marca); text-decoration: none; }
.nav-admin a[aria-current="page"]::after { content: ""; position: absolute; }
.cabecalho { border-bottom: 1px solid var(--cor-borda); box-shadow: 0 1px 0 color-mix(in srgb, var(--cor-marca) 20%, transparent); }

/* Cards da home com leve giro/elevação no hover (respeitando quem prefere menos movimento). */
@media (hover: hover) and (prefers-reduced-motion: no-preference) {
  .admin-palco .grade-3 > .cartao { transition: transform .18s ease, box-shadow .18s ease; transform-origin: center; will-change: transform; }
  .admin-palco .grade-3 > .cartao:hover { transform: perspective(900px) rotateY(3deg) translateY(-3px); box-shadow: -6px 8px 22px color-mix(in srgb, var(--cor-texto) 12%, transparent); }
  .admin-palco .grade-3 > .cartao:nth-child(even):hover { transform: perspective(900px) rotateY(-3deg) translateY(-3px); box-shadow: 6px 8px 22px color-mix(in srgb, var(--cor-texto) 12%, transparent); }
}
/* Faixa colorida no topo do card, como no print. */
.admin-palco .grade-3 > .cartao { position: relative; overflow: hidden; }
.admin-palco .grade-3 > .cartao::before { content: ""; position: absolute; left: 0; top: 0; height: 4px; width: 54px; background: var(--cor-marca); border-radius: 0 0 6px 0; }

/* login por chave: botao unico centralizado */
.acoes--centro{justify-content:center}
.botao--grande{font-size:1.15rem;padding:var(--espaco-3) var(--espaco-5);min-height:3.4rem}
.cartao--login{max-width:32rem;margin:6vh auto 0}
.login-chave{display:grid;gap:var(--espaco-3);justify-items:center}

.botao.exige-pdf:disabled{opacity:.5;cursor:not-allowed}

/* páginas limpas de conferência (comissão) */
.grade-cand{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--espaco-3)}
.cand-cartao{text-align:center;border:1px solid var(--cor-borda);border-radius:var(--raio);padding:var(--espaco-3);background:var(--cor-superficie)}
.cand-foto{width:100%;aspect-ratio:3/4;object-fit:cover;object-position:center 15%;border-radius:8px;background:var(--cor-fundo)}
.cand-foto--vazia{display:grid;place-items:center;font-family:var(--fonte-titulo);font-size:1.6rem;color:var(--cor-texto-apoio)}
.cand-numero{font-family:var(--fonte-titulo);font-size:1.4rem;color:var(--cor-marca);margin:.4rem 0 .1rem}
.cand-apelido{font-weight:800;margin:0}
.cand-nome{color:var(--cor-texto-apoio);font-size:.9rem;margin:.15rem 0 0}
