/* SIDEBAR */
.sidebar { position:fixed; top:0; left:0; width:var(--sidebar-width); height:100vh; background:linear-gradient(180deg,#1e3a5f 0%,#0a1929 100%); color:white; z-index:200; display:flex; flex-direction:column; transition:transform 0.3s cubic-bezier(0.4,0,0.2,1); isolation:isolate; }

/* Profundidade no proprio navy, sem imagem: brilho dourado no alto, azul frio
   no pe e diagonal de luz, com presenca uniforme em toda a barra. O filete
   dourado na borda fecha a assinatura institucional. */
.sidebar::before { content:''; position:absolute; inset:0; z-index:-1; pointer-events:none;
  background:
    radial-gradient(120% 70% at 8% 0%, rgba(197,165,90,0.10) 0%, transparent 58%),
    radial-gradient(90% 60% at 100% 100%, rgba(90,130,190,0.14) 0%, transparent 62%),
    linear-gradient(145deg, rgba(255,255,255,0.05) 0%, transparent 42%, rgba(0,0,0,0.14) 100%); }
.sidebar::after { content:''; position:absolute; top:0; bottom:0; right:0; width:2px; z-index:0; pointer-events:none;
  background:linear-gradient(180deg, transparent 0%, #C5A55A 22%, #E8D5A0 50%, #C5A55A 78%, transparent 100%); opacity:0.5; }
.sidebar > * { position:relative; z-index:1; }
/* Cabecalho no padrao do Gabinete: marca centralizada em cartao branco, nome do
   sistema abaixo em dourado e filete inferior. Antes o logo ia pequeno ao lado
   do nome, sem a mesma presenca institucional. */
.sidebar-header { padding:18px 20px; border-bottom:1px solid rgba(197,165,90,0.15); display:block; text-align:center;
  background:linear-gradient(180deg, rgba(197,165,90,0.06) 0%, transparent 100%); }
.sidebar-header img { width:200px !important; height:auto !important; max-width:100%; display:block; margin:0 auto 8px;
  background:white; border-radius:6px; padding:6px 12px; object-fit:contain; }
.sidebar-brand h2 { font-size:18px; font-weight:700; letter-spacing:0.5px;
  background:linear-gradient(135deg, #C5A55A, #E8D5A0); -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text; }
.sidebar-brand small { display:block; font-size:11px; opacity:0.7; font-weight:400; letter-spacing:0.06em; margin-top:2px; }
.sidebar-nav { flex:1; padding:0.5rem 0; overflow-y:auto; }
.nav-section { padding:0.75rem 1rem 0.25rem; font-size:0.69rem; text-transform:uppercase; letter-spacing:0.1em; color:rgba(255,255,255,0.35); font-weight:600; }
.nav-item { display:flex; align-items:center; gap:0.75rem; padding:0.7rem 1rem; margin:0.125rem 0.5rem; border-radius:8px; cursor:pointer; font-size:0.85rem; font-weight:500; color:rgba(255,255,255,0.7); transition:all 0.15s ease; border:none; background:none; width:calc(100% - 1rem); text-align:left; }
.nav-item:hover { background:rgba(255,255,255,0.08); color:white; }
.nav-item.active { background:rgba(30,58,95,0.3); color:white; font-weight:600; }
.nav-item .nav-badge { margin-left:auto; background:rgba(255,255,255,0.15); padding:0.1rem 0.5rem; border-radius:10px; font-size:0.69rem; font-weight:600; }
.sidebar-footer { padding:0.75rem 1rem; border-top:1px solid rgba(255,255,255,0.08); font-size:0.69rem; color:rgba(255,255,255,0.35); text-align:center; flex-shrink:0; }
.btn-trocar-perfil { background:rgba(255,255,255,0.08); border:1px solid rgba(255,255,255,0.12); color:rgba(255,255,255,0.6); padding:0.4rem 0.75rem; border-radius:6px; font-size:0.7rem; font-weight:500; font-family:inherit; cursor:pointer; transition:all 0.15s ease; }
.btn-trocar-perfil:hover { background:rgba(255,255,255,0.15); color:white; }

