:root{--azul:#0A4A94;--azul2:#2F6096;--fundo:#eef3f9;--texto:#1c2733;--suave:#5b6b7c;--borda:#d5dfea;--ok:#1d7a46;--erro:#b3261e;--card:#fff}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Noto Sans",sans-serif;background:var(--fundo);color:var(--texto);line-height:1.45}
a{color:var(--azul)}
.centro{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:24px 16px}
.cartao{background:var(--card);border-radius:16px;box-shadow:0 8px 30px rgba(10,74,148,.12);padding:28px 24px;width:100%;max-width:440px}
.logo{display:block;margin:0 auto 18px;max-width:260px;width:80%;height:auto}
h1{font-size:1.35rem;margin:0 0 4px;text-align:center}
.sub{color:var(--suave);text-align:center;margin:0 0 20px;font-size:.95rem}
label{display:block;font-weight:600;margin:14px 0 6px;font-size:.92rem}
input[type=text],input[type=password],input[type=search]{width:100%;padding:12px 14px;border:1px solid var(--borda);border-radius:10px;font-size:1rem;background:#fff;color:var(--texto)}
input:focus{outline:2px solid var(--azul2);border-color:var(--azul2)}
.btn{display:inline-block;border:0;border-radius:10px;padding:12px 18px;font-size:1rem;font-weight:600;cursor:pointer;background:var(--azul);color:#fff;text-decoration:none;text-align:center}
.btn.bloco{width:100%;margin-top:20px}
.btn.sec{background:#e3ecf7;color:var(--azul)}
.btn.perigo{background:#fbe9e7;color:var(--erro)}
.btn.peq{padding:8px 12px;font-size:.88rem}
.erro{background:#fbe9e7;color:var(--erro);padding:10px 12px;border-radius:10px;margin:0 0 12px;font-size:.93rem}
.aviso{background:#e8f1fb;color:var(--azul);padding:10px 12px;border-radius:10px;margin:0 0 12px;font-size:.93rem}
.dica{color:var(--suave);font-size:.85rem;margin-top:16px;text-align:center}
.idiomas{text-align:center;margin-top:18px;font-size:.88rem}
.idiomas a{margin:0 6px;text-decoration:none}
.idiomas a.atual{font-weight:700;text-decoration:underline}
.spin{width:44px;height:44px;border:4px solid #d5e3f3;border-top-color:var(--azul);border-radius:50%;margin:18px auto;animation:g 1s linear infinite}
@keyframes g{to{transform:rotate(360deg)}}
/* painel */
.topo{background:var(--azul);color:#fff;padding:10px 20px;display:flex;align-items:center;gap:18px;flex-wrap:wrap}
.topo img{height:34px;background:#fff;border-radius:50%;padding:2px}
.topo b{font-size:1.05rem}
.topo nav{margin-left:auto;display:flex;gap:14px;align-items:center}
.topo nav a,.topo nav button{color:#fff;text-decoration:none;background:none;border:0;font-size:.95rem;cursor:pointer;padding:0}
.pagina{max-width:1000px;margin:0 auto;padding:20px 16px 60px}
.caixa{background:#fff;border-radius:14px;box-shadow:0 2px 10px rgba(10,74,148,.08);padding:18px;margin-bottom:16px}
.linha{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.linha input[type=text]{flex:1;min-width:200px}
.selo{display:inline-block;border-radius:99px;padding:3px 10px;font-size:.8rem;font-weight:600}
.selo.on{background:#e3f4ea;color:var(--ok)}
.selo.off{background:#eef1f4;color:var(--suave)}
.campo-link{display:flex;gap:8px;margin:6px 0 2px}
.campo-link input{flex:1;font-size:.88rem;padding:8px 10px}
.nota{font-size:.85rem;color:var(--suave)}
table{width:100%;border-collapse:collapse;font-size:.92rem}
th,td{text-align:left;padding:8px 6px;border-bottom:1px solid var(--borda);vertical-align:top}
th{color:var(--suave);font-weight:600}
h2{font-size:1.1rem;margin:0 0 12px}
@media (max-width:600px){.topo nav{margin-left:0}.acoes .btn{margin-top:6px}}
select{padding:8px 10px;border:1px solid var(--borda);border-radius:10px;font-size:.95rem;background:#fff;color:var(--texto)}
.legenda-cfg{flex-basis:100%;gap:8px;margin-top:6px}
.campo-link.narrador{margin-bottom:8px}
.campo-link form{display:contents}
.campo-link .num{min-width:26px;height:26px;border-radius:50%;background:#e8f1fb;color:var(--azul);font-weight:700;font-size:.85rem;display:inline-flex;align-items:center;justify-content:center;flex:none}
@media (max-width:600px){.campo-link.narrador{flex-wrap:wrap}.campo-link.narrador input{flex-basis:calc(100% - 34px)}}
.descricao-publica{white-space:pre-line;color:var(--texto);background:#f4f8fc;border-radius:10px;padding:10px 12px;font-size:.93rem;margin:0 0 16px}
.quando-publico{text-align:center;color:var(--azul);font-weight:600;margin:-12px 0 16px}
