:root { color-scheme: light; font-family: system-ui, sans-serif; color: #223247; background: #f4f6f8; }
body { margin: 0; line-height: 1.6; }
.container { max-width: 900px; margin: auto; padding: 24px; }
.cabecalho { background: #233d57; color: white; font-weight: 600; }
main.container { margin-top: 40px; background: white; border: 1px solid #dce2e8; border-radius: 8px; }
h1 { line-height: 1.2; }
.etapa { color: #51667d; font-size: .9rem; }
.rodape { font-size: .85rem; color: #526477; }
a { color: #245e8c; }

/* Administração E04.A: formulários simples sobre a base atual, sem pilha de modais. */
main.container.admin { max-width: 1200px; box-shadow: 0 10px 25px rgba(25,75,105,.10); }
.admin-nav { display:flex; flex-wrap:wrap; gap:16px; border-bottom:1px solid #dce2e8; padding-bottom:16px; }
.admin-titulo { display:flex; flex-wrap:wrap; align-items:center; justify-content:space-between; gap:16px; margin:20px 0; }
.admin-titulo h1 { margin:4px 0; } .admin-titulo .etapa { margin:0; }
.botao { display:inline-block; border:1px solid #bdd0db; border-radius:7px; padding:9px 16px; font:inherit; text-decoration:none; cursor:pointer; background:#edf5f9; color:#245b78; transition:background .15s,box-shadow .15s; }
.botao.principal { background:#287eaa; color:white; border-color:#287eaa; }
.botao:hover { box-shadow:0 4px 10px rgba(25,75,105,.16); } .botao.principal:hover { background:#17688f; }
.admin :focus-visible { outline:2px solid #68aeca; outline-offset:2px; }
.filtros,.campos { display:grid; grid-template-columns:repeat(auto-fit,minmax(190px,1fr)); gap:16px; margin:24px 0; align-items:end; }
.admin label { display:flex; flex-direction:column; gap:6px; font-weight:600; }
.admin input,.admin select,.admin textarea { box-sizing:border-box; width:100%; padding:10px; border:1px solid #bccbd6; border-radius:6px; background:white; color:#223247; font:inherit; }
.admin small { display:block; color:#526477; font-size:.85rem; font-weight:400; }
.campo-largo { grid-column:1/-1; } .form-acoes,.paginacao { display:flex; flex-wrap:wrap; gap:18px; align-items:center; margin-top:24px; }
.tabela-scroll { overflow-x:auto; } .admin table { border-collapse:collapse; width:100%; } .admin th,.admin td { padding:12px; border-bottom:1px solid #dce2e8; text-align:left; vertical-align:top; }
.admin th { background:#edf5f9; color:#245b78; } .acoes { min-width:150px; } .acoes a { display:inline-block; margin-right:10px; }
.etiqueta { display:inline-block; padding:2px 8px; background:#edf5f9; color:#245b78; border-radius:10px; margin:2px; font-size:.85rem; }
.aviso { padding:12px 18px; border-radius:7px; border:1px solid #bdd0db; } .aviso.erro { background:#fff2f1; border-color:#e4b8b3; color:#812d27; } .aviso.sucesso { background:#edf8f1; color:#187149; }
.aviso h2 { margin:0; font-size:1rem; } .detalhes { display:grid; grid-template-columns:minmax(120px,220px) 1fr; gap:10px 18px; } .detalhes dt { font-weight:600; } .detalhes dd { margin:0; overflow-wrap:anywhere; } .vazio { text-align:center; color:#526477; }
@media(max-width:600px){.container{padding:16px;} .detalhes{grid-template-columns:1fr;} .detalhes dd{margin-bottom:10px;} main.container{margin-top:16px;}}
.dev-ui { background: #fff3cd; color: #503c00; border: 2px solid #d6a000; margin: 1rem auto; max-width: 1180px; padding: 1rem; } .dev-ui p { margin: .5rem 0; }
