:root{
  --primary-2:#0d6efd;
  --chat-bg:#e5ddd5;
}

html, body{
  height:100%;
  margin:0;
  background:#f4f6f8;
}

/* Topbar */
.topbar-logout{
  position:fixed;
  top:0; left:0; right:0;
  height:56px;
  background:#0c2d52;
  display:flex;
  justify-content:flex-end;
  align-items:center;
  padding:0 1rem;
  z-index:1050;
  box-shadow:0 2px 5px rgba(0,0,0,.15);
}

/* Sidebar */
.sidebar{
  background:#0c2d52;
  color:#fff;
  position:fixed;
  top:56px; bottom:0; left:0;
  width:220px;
  padding:1rem;
  overflow-y:auto;
  z-index:1040;
}
.sidebar .nav-link{
  color:#fff;
  cursor:pointer;
  display:flex;
  align-items:center;
  gap:.65rem;
}
.sidebar .nav-link i{
  width:1rem;
  margin-right:.45rem;
  text-align:center;
  flex:0 0 1rem;
}
.sidebar .nav-link[data-tab="cadastro-usuario"]::before{
  content:"\F4DA";
  font-family:"bootstrap-icons";
  width:1rem;
  margin-right:.45rem;
  text-align:center;
  flex:0 0 1rem;
}
.sidebar .nav-link.active{ background:#1b4b7a; }
.sidebar hr{ border-color:#0c2d52; margin:1rem 0; }

#lista-abertas{ list-style:none; padding:0; margin:0; }
#lista-abertas li{ margin:10px 0; }
#lista-abertas li a{ color:#fff; text-decoration:none; }
.sublinhado{ text-decoration:underline !important; }

#notificacoes-msg{ color:#fff !important; font-weight:normal !important; }

/* Layout principal */
.app-main{
  margin-left:220px;
  padding-top:56px;
}
.workspace{
  height:calc(100vh - 56px);
  overflow:auto;
  background:#f4f6f8;
}
.workspace-inner{
  padding:1.5rem;
}

.form-container{
  max-width:600px;
  margin:auto;
  padding:2rem;
  background:#fff;
  border-radius:10px;
  box-shadow:0 0 10px rgba(0,0,0,.1);
}

/* Responsivo */
@media(max-width:991.98px){
  .sidebar{ left:-220px; transition:left .3s ease; height:calc(100vh - 56px); }
  .sidebar.active{ left:0; }
  .app-main{ margin-left:0; }
  .menu-toggle{
    display:block;
    position:fixed;
    top:12px;
    left:1rem;
    font-size:1.7rem;
    color:#fff;
    cursor:pointer;
    z-index:1060;
  }
}
@media(min-width:992px){
  .menu-toggle{ display:none; }
}

/* ===== Chat ===== */
#nova{
  padding:1rem;
  background:#d1d7db;
}

#chat-container{
  display:flex;
  flex-direction:column;
  height:calc(100vh - 120px);
  width:100%;
  background:#fff;
  border-radius:8px;
  box-shadow:0 4px 12px rgba(0,0,0,.15);
  overflow:hidden;
}

#chat-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  flex-wrap:wrap;
  gap:1rem;
  padding:1rem;
  background:#f0f2f5;
  border-bottom:1px solid #e9edef;
  flex-shrink:0;
}
#chat-title{
  font-weight:600;
  font-size:1.1rem;
  color:#4a4a4a;
}
#form-chat-selectors{
  display:flex;
  gap:1rem;
  flex:0 1 550px;
  min-width:250px;
}

#chat{
  flex:1;
  overflow-y:auto;
  padding:1rem;
  background:var(--chat-bg);
  display:flex;
  flex-direction:column;
}

.msg{
  padding:8px 12px;
  border-radius:12px;
  margin:4px 0;
  max-width:75%;
  word-break:break-word;
  font-size:.95rem;
  line-height:1.4;
}
.msg.enviada{ background:#dcf8c6; align-self:flex-end; }
.msg.recebida{ background:#fff; align-self:flex-start; }
.msg .meta{
  font-size:.75rem;
  color:#667781;
  margin-top:4px;
  text-align:right;
  display:block;
}

#chat-controls-footer{
  padding:8px 0;
  background:#f0f2f5;
  border-top:1px solid #e9edef;
  flex-shrink:0;
}
#chat-footer{
  padding:0 16px;
  display:flex;
  align-items:center;
}

#mensagem-input{
  flex:1;
  border-radius:21px;
  padding:8px 16px;
  background:#fff;
  border:1px solid #dde1e3;
}
#mensagem-input:focus{
  outline:none;
  border-color:var(--primary-2);
  box-shadow:0 0 0 3px rgba(12,45,82,.1);
}

#chat-footer .btn{
  border-radius:50%;
  width:42px;
  height:42px;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border:none;
  flex-shrink:0;
}
#chat-footer .btn-light{
  background:transparent;
  color:#555;
  font-size:1.2rem;
}
#chat-footer .btn-light:hover{
  background:rgba(0,0,0,.05);
}

#chat-toggles{
  padding:8px 16px 0;
  display:flex;
  justify-content:center;
  align-items:center;
  gap:1.5rem;
}
#chat-toggles .form-check{
  display:flex;
  align-items:center;
  gap:.5rem;
}

#classificacao-bandeiras{
  background:#fff;
  border:1px solid #dde1e3;
  border-radius:999px;
  padding:6px 10px;
}

.btn-bandeira,
.bandeira-badge{
  width:14px;
  height:14px;
  border-radius:50%;
  display:inline-block;
}

.btn-bandeira{
  border:2px solid transparent;
  padding:0;
  box-shadow:none;
  transition:transform .15s ease, border-color .15s ease, box-shadow .15s ease;
}

.btn-bandeira:hover{
  transform:scale(1.08);
}

.btn-bandeira.ativo{
  border-color:#0c2d52;
  box-shadow:0 0 0 2px rgba(12,45,82,.12);
}

.bandeira-verde{ background:#16a34a; }
.bandeira-amarela{ background:#facc15; }
.bandeira-vermelha{ background:#dc2626; }
.bandeira-sem-classificacao{ background:#cbd5e1; }

#lista-abertas li a{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
}

.conteudo-msg a{
  color:#0645ad;
  text-decoration:underline;
  cursor:pointer;
}

#audio-btn.gravando{
  background:#ff4d4d;
  color:#fff;
}
.hr-multiadv {
  border: 0;
  border-top: 2px solid var(--multiadv-blue);
  opacity: 1;
}
