:root{--cor-primaria:#0d6efd;--cor-secundaria:#212529;--bg:#f4f6f8;--card:#fff;--txt:#212529;--mut:#6c757d;--bd:#dee2e6}
*{box-sizing:border-box}
body{font-family:system-ui,Segoe UI,Arial,sans-serif;margin:0;background:var(--bg);color:var(--txt);line-height:1.45}
a{color:var(--cor-primaria)}
.topo{background:var(--cor-secundaria);color:#fff;display:flex;flex-wrap:wrap;align-items:center;gap:8px 20px;padding:10px 18px}
.topo .marca{color:#fff;font-weight:700;text-decoration:none;font-size:1.05rem}
.topo nav{display:flex;flex-wrap:wrap;gap:4px 14px;margin-left:auto}
.topo nav a{color:#dfe6ee;text-decoration:none;font-size:.92rem;padding:4px 2px}
.topo nav a:hover{color:#fff;text-decoration:underline}
.conteudo{max-width:1100px;margin:22px auto;padding:0 16px}
h1{font-size:1.5rem;margin:.2em 0 .8em}
h2{font-size:1.15rem;margin:1.2em 0 .5em}
.card{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:18px;margin-bottom:16px}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px}
.kpi{background:var(--card);border:1px solid var(--bd);border-radius:10px;padding:14px}
.kpi b{display:block;font-size:1.8rem;color:var(--cor-primaria)}
.kpi span{color:var(--mut);font-size:.88rem}
table{width:100%;border-collapse:collapse;background:var(--card);border:1px solid var(--bd);border-radius:8px;overflow:hidden}
th,td{padding:9px 11px;text-align:left;border-bottom:1px solid var(--bd);font-size:.92rem;vertical-align:top}
th{background:#eef1f4;font-weight:600}
.tabela-scroll{overflow-x:auto}
label{display:block;font-weight:600;font-size:.88rem;margin:10px 0 3px}
input[type=text],input[type=email],input[type=password],input[type=date],input[type=number],select,textarea{width:100%;padding:9px 10px;border:1px solid #b9c0c7;border-radius:6px;font-size:1rem;background:#fff}
.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0 16px}
.chk{display:flex;align-items:center;gap:8px;font-weight:400;margin:4px 0}
.chk input{width:auto}
.btn{display:inline-block;background:var(--cor-primaria);color:#fff;border:0;padding:9px 16px;border-radius:6px;cursor:pointer;font-size:.95rem;text-decoration:none}
.btn-sec{background:#6c757d}.btn-perigo{background:#dc3545}.btn-peq{padding:5px 10px;font-size:.82rem}
.alerta{padding:10px 14px;border-radius:6px;margin-bottom:12px;border:1px solid}
.alerta-ok{background:#d1e7dd;border-color:#a3cfbb}.alerta-erro{background:#f8d7da;border-color:#f1aeb5}.alerta-info{background:#cff4fc;border-color:#9eeaf9}
.selo{display:inline-block;padding:2px 8px;border-radius:12px;font-size:.78rem;font-weight:600;background:#e9ecef}
.selo-ATIVA,.selo-ATIVO{background:#d1e7dd;color:#0a3622}.selo-EM_TESTE{background:#fff3cd;color:#664d03}
.selo-SUSPENSA,.selo-BLOQUEADA,.selo-BLOQUEADO,.selo-CANCELADA,.selo-INATIVO{background:#f8d7da;color:#58151c}
.rodape{text-align:center;color:var(--mut);font-size:.82rem;padding:24px 10px}
.login{max-width:420px;margin:8vh auto}
.senha-temp{font-family:monospace;font-size:1.3rem;background:#111;color:#7CFC00;padding:10px 14px;border-radius:6px;display:inline-block;user-select:all}
.mut{color:var(--mut);font-size:.85rem}
.acoes{display:flex;gap:6px;flex-wrap:wrap}
.perm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:2px 14px}
@media(max-width:640px){.topo nav{margin-left:0}th,td{font-size:.85rem}}
