@import url("https://cdn.jsdelivr.net/npm/@tabler/icons-webfont@3.3.0/dist/tabler-icons.min.css");

:root{
  /* base escura coesa com os módulos (perfil usa #0f1720) */
  --bg:#0f1720; --painel:#16212e; --card:#1c2a3a; --linha:#26374b;
  --txt:#e6edf3; --sub:#93a4b8;
  /* marca TIG */
  --tig:#44C504; --tig-vivo:#49EF00; --tig-esc:#2E7A08; --tig-bg:#15300a;
  --grafite:#31322E;
  --ok:#22c55e; --warn:#f59e0b; --err:#ef4444;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,Segoe UI,Roboto,sans-serif;
  background:var(--bg);color:var(--txt);font-size:14px}
a{color:var(--tig);text-decoration:none}
.ti{font-family:"tabler-icons"!important;font-style:normal;line-height:1}

/* ---------------- layout ---------------- */
.layout{display:flex;min-height:100vh}
.menu{width:262px;background:var(--painel);border-right:1px solid var(--linha);
  display:flex;flex-direction:column}
.conteudo{flex:1;padding:26px 32px;max-width:1200px}

/* ---------------- marca ---------------- */
.marca{display:flex;align-items:center;gap:11px;padding:16px;
  border-bottom:1px solid var(--linha)}
.marca-logo{width:40px;height:40px;border-radius:50%;background:var(--grafite);
  display:flex;align-items:center;justify-content:center;position:relative;
  overflow:hidden;flex:0 0 auto}
.marca-logo .ti{position:relative;font-size:19px;color:#fff}
.marca-bola{position:absolute;right:3px;top:3px;width:26px;height:26px;
  border-radius:50%;background:var(--tig-vivo);opacity:.92}
.marca-nome{font-size:16px;font-weight:700;line-height:1.15}
.marca-nome span{color:var(--tig)}
.marca-sub{font-size:11px;color:var(--sub)}

/* ---------------- nav / acordeão ---------------- */
.nav{flex:1;padding:10px;overflow-y:auto;display:flex;flex-direction:column;gap:2px}
.mod{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;
  border:none;background:transparent;color:var(--txt);font-size:14px;
  cursor:pointer;border-radius:8px;text-align:left;font-family:inherit;
  border-left:3px solid transparent}
.mod:hover{background:var(--card)}
.mod[data-ativo="1"]{border-left-color:var(--tig-vivo)}
.mod.travado{color:var(--sub);cursor:default}
.mod.travado:hover{background:transparent}
.mi{font-size:18px;color:var(--sub)}
.mod-tit{flex:1}
.chev{font-size:16px;color:var(--sub);transition:transform .18s}
.chev.r{transform:rotate(-90deg)}
.grp{overflow:hidden;transition:height .2s ease;display:flex;flex-direction:column}
.sub{display:flex;align-items:center;gap:8px;padding:8px 10px 8px 40px;
  color:var(--sub);border-radius:8px;font-size:13.5px}
.sub:hover{background:var(--card);color:var(--txt)}
.sub.ativo{background:var(--tig-bg);color:#bff29a}
.sub.adm{padding-left:10px}
.badge-adm{font-size:10px;background:#3a2f12;color:#f4c66b;padding:2px 7px;
  border-radius:20px}
.nav-secao{margin:14px 10px 6px;font-size:11px;letter-spacing:.06em;
  color:var(--sub);text-transform:uppercase}

/* ---------------- rodapé menu ---------------- */
.rodape-menu{padding:12px 14px;border-top:1px solid var(--linha);
  display:flex;align-items:center;gap:10px}
.avatar{width:32px;height:32px;border-radius:50%;background:var(--tig-bg);
  color:#bff29a;display:flex;align-items:center;justify-content:center;
  font-size:13px;font-weight:700;flex:0 0 auto}
.rodape-info{flex:1;line-height:1.2;min-width:0}
.rodape-nome{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rodape-papel{font-size:11px;color:var(--sub)}
.sair{color:var(--sub);font-size:18px}
.sair:hover{color:var(--err)}

/* ---------------- tipografia / conteúdo ---------------- */
h1{font-size:22px;margin:0 0 4px} h2{font-size:16px;margin:24px 0 12px}
.crumb{font-size:12px;color:var(--sub);margin-bottom:4px}
.mut{color:var(--sub);font-size:12px}

/* ---------------- cards ---------------- */
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));
  gap:14px;margin:18px 0}
.card{background:var(--card);border:1px solid var(--linha);border-radius:12px;
  padding:18px}
.card .rot{color:var(--sub);font-size:12px}
.card .val{font-size:26px;font-weight:700;margin-top:6px}
.card-mod{display:flex;align-items:center;gap:14px;cursor:pointer;
  text-decoration:none;color:var(--txt)}
.card-mod:hover{border-color:var(--tig)}
.card-mod .ic{width:44px;height:44px;border-radius:10px;background:var(--tig-bg);
  color:var(--tig-vivo);display:flex;align-items:center;justify-content:center;
  font-size:22px;flex:0 0 auto}
.card-mod .txt .t{font-weight:600}
.card-mod .txt .d{font-size:12px;color:var(--sub);margin-top:2px}

/* ---------------- tabela ---------------- */
table{width:100%;border-collapse:collapse;background:var(--card);
  border:1px solid var(--linha);border-radius:12px;overflow:hidden}
th,td{padding:10px 12px;text-align:left;border-bottom:1px solid var(--linha);
  font-size:13px}
th{color:var(--sub);font-size:11px;text-transform:uppercase;background:var(--painel)}
tr:last-child td{border-bottom:none}
code{font-family:ui-monospace,Menlo,Consolas,monospace;background:var(--painel);
  padding:1px 5px;border-radius:4px;font-size:12px}

/* ---------------- botões / form ---------------- */
.btn{display:inline-flex;align-items:center;gap:6px;padding:9px 16px;
  background:var(--tig);color:#08260a;border:none;border-radius:8px;
  cursor:pointer;font-size:14px;font-weight:600;font-family:inherit}
.btn:hover{background:var(--tig-vivo)}
.btn.sec{background:var(--linha);color:var(--txt)}
.btn.perigo{background:#3a1620;color:#fca5a5}
.linha-btn{display:flex;gap:10px;margin-top:16px;flex-wrap:wrap}
label{display:block;margin:12px 0 4px;color:var(--sub);font-size:13px}
input,select{width:100%;padding:10px 12px;background:var(--bg);
  border:1px solid var(--linha);border-radius:8px;color:var(--txt);
  font-size:14px;font-family:inherit}
input:focus,select:focus{outline:none;border-color:var(--tig)}
.pill{padding:2px 9px;border-radius:20px;font-size:11px;background:var(--linha)}
.pill.ok{background:#12331f;color:#86efac}
.pill.err{background:#3a1620;color:#fca5a5}
.pill.warn{background:#3a2f12;color:#f4c66b}

/* ---------------- aviso ---------------- */
.aviso{margin-top:18px;padding:13px 15px;border-radius:8px;font-size:13px;
  display:flex;gap:9px;align-items:flex-start;background:var(--tig-bg);color:#bff29a}
.aviso.err{background:#2a1015;color:#fca5a5}

/* ---------------- login / setup ---------------- */
.centro{min-height:100vh;display:flex;align-items:center;justify-content:center;
  background:var(--bg)}
.box{background:var(--painel);border:1px solid var(--linha);border-radius:14px;
  padding:34px;width:370px}
.box .marca{border:none;justify-content:center;padding:0 0 18px}
.box h1{text-align:center;font-size:18px;margin:0 0 18px}
