:root{--grafite:#252c33;--grafite-2:#313a43;--texto-2:#4b5660;--linha:#d9dde1;--papel:#f5f6f7;--branco:#fff;--laranja:#ff9800;--laranja-escuro:#b86e00;--verde:#1e9e4a;--vermelho:#c62828}
*{box-sizing:border-box}
body{margin:0;background:var(--papel);color:var(--grafite);font:16px/1.45 system-ui,-apple-system,"Segoe UI",Roboto,Arial,sans-serif}
a{color:inherit}
:focus-visible{outline:3px solid var(--laranja);outline-offset:2px}

h1{font-size:1.6rem;margin:.2rem 0 1rem}
h2{font-size:1.1rem;margin:0 0 .7rem}
.cartao{background:var(--branco);border:1px solid var(--linha);border-radius:8px;padding:1.1rem;margin:0 0 1rem}
.botao{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;font-weight:600;font-size:1rem;line-height:1.2;font-family:inherit;text-decoration:none;border-radius:6px;padding:.62rem 1rem;border:2px solid var(--grafite);background:transparent;color:var(--grafite);cursor:pointer;min-height:44px}
.botao.cheio{background:var(--laranja);border-color:var(--laranja)}
.botao.cheio:hover{background:#ffab33;border-color:#ffab33}
.botao.perigo{border-color:var(--vermelho);color:var(--vermelho)}
.botao:disabled{opacity:.55;cursor:default}
label{display:block;font-size:.85rem;color:var(--texto-2);margin:0 0 .6rem;font-weight:600}
input,select,textarea{font:inherit;color:var(--grafite);background:#fff;border:1px solid #b9c1c9;border-radius:6px;padding:.55rem .6rem;min-height:44px;width:100%;margin-top:.25rem;font-weight:400}
input:focus,select:focus,textarea:focus{outline:none;border-color:var(--laranja);box-shadow:0 0 0 3px rgba(255,152,0,.25)}
input[type=checkbox]{width:22px;height:22px;min-height:0;margin:0;accent-color:var(--laranja)}
textarea{resize:vertical}
.msg{padding:.6rem .8rem;border-radius:6px;margin:0 0 1rem;font-weight:600}
.msg.erro{background:#fdecea;color:var(--vermelho)}
.msg.ok{background:#e6f4ea;color:#17703a}
.msg.aviso{background:#fff3e0;color:var(--laranja-escuro)}
.grade{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:0 .9rem}
table.lista{width:100%;border-collapse:collapse;background:#fff}
table.lista th,table.lista td{text-align:left;padding:.6rem .7rem;border-bottom:1px solid var(--linha);vertical-align:middle}
table.lista th{font-size:.82rem;color:var(--texto-2);text-transform:uppercase;letter-spacing:.04em}
table.lista tr.clica{cursor:pointer}
table.lista tr.clica:hover td{background:#fff7eb}
.num{text-align:right;font-variant-numeric:tabular-nums}
.vazio{color:var(--texto-2);padding:1.2rem;text-align:center}
.rolagem{overflow-x:auto;border:1px solid var(--linha);border-radius:8px}
.modulos{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1rem}
.modulo{display:block;text-decoration:none;background:#fff;border:1px solid var(--linha);border-top:4px solid var(--laranja);border-radius:8px;padding:1.2rem}
.modulo:hover{box-shadow:0 4px 14px rgba(0,0,0,.08)}
.modulo h2{margin:.6rem 0 .3rem;font-size:1.2rem}
.modulo p{margin:0;color:var(--texto-2)}
.modulo.breve{border-top-color:var(--linha);opacity:.7}
.ico{width:40px;height:40px;color:var(--grafite)}
.ico .l{stroke:var(--laranja)}
.etiqueta{display:inline-block;font-size:.75rem;font-weight:700;padding:.1rem .45rem;border-radius:3px;background:#eceff1;color:var(--texto-2)}
.etiqueta.lj{background:#fff3e0;color:var(--laranja-escuro)}
[hidden]{display:none!important}
/* layout com menu lateral (mesmo visual do MohrsMES) */
body.com-menu{display:flex;min-height:100vh}
.menu{width:220px;flex-shrink:0;background:var(--grafite);color:#fff;padding:18px 0;border-right:4px solid var(--laranja);position:sticky;top:0;height:100vh;overflow-y:auto}
.menu .marca{display:block;font-size:22px;font-weight:800;padding:0 20px 18px;letter-spacing:.5px;text-decoration:none;color:#fff}
.menu .marca span{color:var(--laranja)}
.menu nav a{display:block;color:#d6dbe0;padding:10px 20px;text-decoration:none;border-left:4px solid transparent}
.menu nav a:hover{background:var(--grafite-2);color:#fff}
.menu nav a.ativo{background:var(--grafite-2);color:#fff;border-left-color:var(--laranja)}
.menu .grupo{color:#8e99a4;font-size:12px;text-transform:uppercase;letter-spacing:1px;padding:18px 20px 6px}
.principal{flex:1;min-width:0;display:flex;flex-direction:column}
.barra-topo{display:flex;justify-content:flex-end;align-items:center;gap:14px;background:#fff;border-bottom:1px solid var(--linha);padding:10px 24px;color:var(--texto-2)}
.barra-topo a{color:var(--grafite);font-weight:600;text-decoration:none}
.barra-topo a:hover{text-decoration:underline}
main{padding:24px;max-width:1200px;width:100%;padding-bottom:6rem}
.secao{margin:0 0 1.6rem}
.secao>h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--texto-2);margin:0 0 .7rem}
@media (max-width:800px){
  body.com-menu{display:block}
  .menu{width:auto;height:auto;position:static;border-right:0;border-bottom:4px solid var(--laranja);padding:10px 0}
  .menu .marca{padding:0 16px 8px}
  .menu nav{display:flex;flex-wrap:wrap}
  .menu nav a{padding:8px 14px;border-left:0;border-bottom:3px solid transparent}
  .menu nav a.ativo{border-bottom-color:var(--laranja)}
  .menu .grupo{display:none}
  .barra-topo{padding:8px 16px}
  main{padding:16px 16px 6rem}
}
