/**
 * menu-lateral.css — PROJETOS JURÍDICOS (DESIGN-PADRÃO-PJ)
 * Estilos consolidados do Menu Lateral (Sidebar) com largura compacta de 224px (64px recolhido)
 */

:root, body.docs-app-body {
  --sidebar-width: 224px;
  --border-color: #dedbd5;
  --calc-margin-left: 3%;
  --calc-margin-right: 7%;
}

body:has(.calc-sidebar) {
  padding-left: var(--sidebar-width);
}

body.calc-collapsed {
  --sidebar-width: 64px;
}

/* MENU LATERAL */
.calc-sidebar,
body.docs-app-body .docs-navigation {
  position: fixed;
  inset: 0 auto 0 0;
  width: var(--sidebar-width);
  z-index: 60;
  box-sizing: border-box;
  background:
    radial-gradient(ellipse at 50% 0%, #385b6b55, transparent 60%),
    linear-gradient(155deg, #102f46, #173850);
  color: #f2ede5;
  display: flex;
  flex-direction: column;
  padding: 10px 8px 10px 10px;
  overflow-y: auto;
  border-right: 1px solid var(--border-color);
  font-family: "Aptos", "Segoe UI", sans-serif;
}

/* CABEÇALHO */
.pj-interface .calc-sidebar .calc-sidebar-header {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 32px;
  margin-bottom: 12px;
  justify-content:flex-end;
}

.calc-brand {
  display: flex;
  align-items: center;
  gap: 6px;
  margin-left: 0;
  font-size: 14px;
  font-weight: 650;
  color: inherit;
  text-decoration: none;
}

.pj-brand-words {
  font-size: 16px;
  line-height: .9;
  letter-spacing: -.5px;
  color: #F2EDE5;
}

.pj-brand-words > span:first-child {
  font-weight: 650;
}

.pj-brand-words > span:last-child {
  font-weight: 300;
  letter-spacing: -.7px;
}

/* NAVEGAÇÃO */
.calc-sidebar nav {
  display: grid;
  gap: 6px;
}

.calc-sidebar nav a {
  box-sizing: border-box;
  display: flex;
  align-items: center;
  min-height: 44px;
  gap: 6px;
  color: inherit;
  text-decoration: none;
  font-size: 13px;
  font-weight: 500;
  line-height: 1.2;
  padding: 6px 6px;
  border: 1.8px solid #f2ede599;
  border-radius: 14px;
  white-space: nowrap;
}

.calc-sidebar nav a:is(:hover, :focus-visible, [aria-current]) {
  border-width: 2.2px;
  font-weight: 650;
  background: #ffffff12;
}

/* ÍCONES */
.calc-sidebar svg {
  width: 28px;
  height: 28px;
  flex: none;
  stroke-width: 1.8;
}

/* BOTÃO DE RECOLHIMENTO */
.pj-interface .calc-sidebar-header .calc-collapse svg {
  width: 20px;
  height: 20px;
}
.calc-sidebar .calc-collapse { display:flex;align-items:center;justify-content:center;width:28px;height:28px;min-width:28px;padding:0;margin:0;flex:none; }

/* SETA DO MENU */
.calc-sidebar .calc-menu-arrow {
  width: 12px;
  height: 16px;
  margin-left: auto;
  opacity: 0;
  visibility: hidden;
  transition: opacity .12s ease;
}

.calc-sidebar nav a:is(:hover, :focus-visible, [aria-current])
.calc-menu-arrow {
  opacity: 1;
  visibility: visible;
}

/* PERFIL INFERIOR */
.calc-profile {
  margin-top: auto;
  border-top: 1px solid #60717e;
  padding: 8px 0 0;
  display: grid;
  gap: 4px;
  font-size: 12px;
}

.calc-user-trigger {
  display: flex;
  align-items: center;
  gap: 6px;
  width: 100%;
  padding: 6px 4px;
  font-weight: 650;
}

.calc-user-avatar {
  width: 28px;
  height: 28px;
  border: 1px solid currentColor;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
}

/* Estados nativos dos dois aplicativos. */
body.docs-collapsed { --sidebar-width:64px; }
body.docs-app-body .docs-layout { display:block; }
body.docs-app-body .docs-content { margin-left:0; width:auto; min-width:0; }
body.docs-app-body .docs-navigation { width:var(--sidebar-width); }
body:is(.calc-collapsed,.docs-collapsed) .calc-sidebar :is(.pj-brand-words,.docs-nav-label,.calc-user-name),
body.calc-collapsed .calc-sidebar nav a > span { display:none; }
body:is(.calc-collapsed,.docs-collapsed) .calc-sidebar .calc-menu-arrow { display:none; }
body:is(.calc-collapsed,.docs-collapsed) .calc-sidebar-header { flex-wrap:nowrap;justify-content:center; }
body:is(.calc-collapsed,.docs-collapsed) .calc-sidebar nav a { justify-content:center; }
@media(max-width:700px) {
 body:has(.calc-sidebar) { padding-left:0; }
 body .calc-sidebar,body.docs-app-body .docs-navigation { width:224px; transform:translateX(-100%); visibility:hidden;pointer-events:none; }
 body:is(.calc-menu-open,.docs-menu-open) .calc-sidebar { display:flex;transform:none;visibility:visible;pointer-events:auto; }
}
