:root{
  --cor-base:#2f3e4f; --cor-hover:#44576a; --cor-primaria:#007bff;
  --cor-secundaria:#5aa9e6; --cor-sucesso:#2ecc71; --cor-alerta:#9b59b6;
  --cor-texto:#333; --bg-body:#e9edf2; --transicao:.25s ease;
  --radius:10px; --sombra:0 1px 3px rgba(0,0,0,0.1);
  --sombra-card:0 2px 8px rgba(0,0,0,0.12);
}
*{margin:0;padding:0;box-sizing:border-box;font-family:'Segoe UI',Arial,sans-serif;}
body{background:var(--bg-body);color:var(--cor-texto);overflow-y:scroll;
  scrollbar-width:thin;scrollbar-color:#a8b4c5 var(--bg-body);}
::-webkit-scrollbar{width:10px;height:10px;}
::-webkit-scrollbar-track{background:var(--bg-body);}
::-webkit-scrollbar-thumb{background:#a8b4c5;border-radius:10px;}
::-webkit-scrollbar-thumb:hover{background:#7d8aa0;}

header{background:#fff;height:60px;display:flex;align-items:center;padding:0 20px;
  border-bottom:1px solid #ccc;position:fixed;top:0;left:0;width:100%;z-index:1000;box-shadow:var(--sombra);}
header img{height:36px;margin-right:10px;}
header h1{font-size:18px;font-weight:500;color:#555;}

nav{background:var(--cor-base);color:#fff;display:flex;align-items:center;height:45px;
  padding-left:20px;position:fixed;top:60px;left:0;width:100%;z-index:999;box-shadow:0 2px 5px rgba(0,0,0,0.15);}
nav ul{list-style:none;display:flex;gap:25px;}
nav li{cursor:pointer;font-size:14px;padding:10px 14px;border-radius:6px;
  transition:background var(--transicao),transform .1s;}
nav li:hover{background:var(--cor-hover);}
nav li.active{background:var(--cor-primaria);transform:scale(1.05);}

.submenu{display:none;}

.filtros{background:#fff;border-radius:var(--radius);margin:10px auto;padding:12px 20px;width:96%;
  display:flex;align-items:center;gap:10px;flex-wrap:wrap;box-shadow:var(--sombra-card);
  position:fixed;top:145px;left:2%;z-index:900;opacity:0;transform:translateY(-10px);
  transition:opacity var(--transicao),transform var(--transicao);}
.filtros.mostrar{opacity:1;transform:translateY(0);}
.filtros input,.filtros select{padding:6px 10px;border:1px solid #ccc;border-radius:6px;}
.filtros button{border:none;border-radius:6px;padding:6px 15px;cursor:pointer;
  transition:background var(--transicao), transform .1s;}
.filtros button:hover{transform:scale(1.03);}
.filtros button:focus,.filtros button:active{outline:none!important;box-shadow:none!important;}
#btnBuscar{background:var(--cor-primaria);color:#fff;}
#btnLimpar{background:var(--cor-secundaria);color:#fff;}
#btnNovo{background:var(--cor-alerta);color:#fff;}
#btnNotificarSetores{background:var(--cor-sucesso);color:#fff;}

#conteudo{width:96%;margin:0 auto;padding-top:220px;}
.card{background:#fff;border-radius:var(--radius);box-shadow:var(--sombra-card);
  padding:15px 20px;margin-bottom:25px;animation:fadeIn .4s ease;}
@keyframes fadeIn{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:translateY(0);}}

.tabela-container{overflow-y:auto;max-height:calc(100vh - 280px);width:100%;padding-bottom:60px;}
table{width:100%;border-collapse:collapse;font-size:13px;min-width:900px;}
thead th{background:#dbe3ef;color:#333;text-align:left;padding:6px;font-weight:500;position:sticky;top:0;z-index:10;}
tbody td{padding:5px 6px;vertical-align:top;}
tbody tr:nth-child(even){background:#f8f9fb;}
tbody tr:hover{background:#e2ebf7;}
.divisor{border-left:2px solid #ccc;}

.modalFT{
  position:fixed;top:0;left:0;width:100%;height:100%;
  background:rgba(0,0,0,0.35);display:flex;align-items:center;justify-content:center;
  z-index:5000;opacity:0;animation:fadeModal .25s forwards;
}
@keyframes fadeModal{to{opacity:1;}}
.modalFT .content{
  background:#fff;border-radius:12px;padding:25px 30px;width:95%;
  max-width:1100px;max-height:95vh;overflow-y:auto;
  box-shadow:0 4px 15px rgba(0,0,0,0.25);animation:slideIn .25s ease;
}
@keyframes slideIn{from{transform:translateY(-30px);opacity:0;}to{transform:translateY(0);opacity:1;}}

.modalFT .cols{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;}
.bloco{border-radius:10px;padding:15px;box-shadow:var(--sombra-card);}
.bloco h4{margin-bottom:10px;font-size:15px;text-align:center;}
.bloco textarea{width:100%;height:70px;margin-top:5px;border:1px solid #ccc;border-radius:6px;padding:5px;resize:none;}
.bloco input, .bloco select{width:100%;margin-bottom:5px;border:1px solid #ccc;border-radius:6px;padding:5px;}
.bloco .linha-codigos{display:flex;gap:5px;margin-bottom:5px;}
.bloco.entrada{background:#eaf1ff;}
.bloco.entrada h4{color:#0045a3;}
.bloco.dentroUF{background:#ecfff1;}
.bloco.dentroUF h4{color:#0a7030;}
.bloco.foraUF{background:#fff5e6;}
.bloco.foraUF h4{color:#d36e00;}

.botoesModal{display:flex;gap:10px;margin-top:20px;justify-content:flex-end;}
.botoesModal button{border:none;border-radius:6px;padding:6px 14px;cursor:pointer;
  transition:background var(--transicao),transform .1s;}
.botoesModal button:hover{transform:scale(1.05);}
.btnSalvar{background:var(--cor-primaria);color:#fff;}
.btnNovo{background:#adb5bd;color:#fff;}
.btnSair{background:#6c757d;color:#fff;}
.btnExcluir{background:#ff6b6b;color:#fff;}

footer{position:fixed;bottom:0;left:0;width:100%;height:25px;background:var(--cor-base);
  color:#ccc;font-size:12px;display:flex;justify-content:space-between;align-items:center;padding:0 15px;}