/* ============================================================
   ALTUS Office v2 — Sidebar Styles
   Collapsible navigation (48px / 220px)
   ============================================================ */

.sidebar {
  position: fixed;
  top: var(--topbar-height);
  left: 0;
  bottom: 0;
  width: var(--sidebar-collapsed);
  background: var(--bg-panel);
  border-right: 1px solid var(--border);
  z-index: 90;
  display: flex;
  flex-direction: column;
  transition: width 0.2s ease;
  overflow: hidden;
  user-select: none;
}

.sidebar.expanded {
  width: var(--sidebar-expanded);
}

/* Toggle button */
.sidebar-toggle {
  width: 100%;
  height: 40px;
  background: none;
  border: none;
  border-bottom: 1px solid var(--border);
  color: var(--text-secondary);
  font-size: var(--font-size-lg);
  cursor: pointer;
  display: flex;
  align-items: center;
  justify-content: center;
  transition: color 0.15s, background 0.15s;
  flex-shrink: 0;
}

.sidebar-toggle:hover {
  color: var(--accent);
  background: rgba(233, 69, 96, 0.1);
}

/* Nav container */
.sidebar-nav {
  flex: 1;
  overflow-y: auto;
  overflow-x: hidden;
  padding: var(--sp-2) 0;
}

/* Sidebar items */
.sidebar-item {
  display: flex;
  align-items: center;
  gap: var(--sp-3);
  padding: var(--sp-2) var(--sp-3);
  cursor: pointer;
  color: var(--text-secondary);
  font-size: var(--font-size-sm);
  white-space: nowrap;
  overflow: hidden;
  transition: background 0.15s, color 0.15s;
  border-left: 3px solid transparent;
  min-height: 36px;
}

.sidebar-item:hover {
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-primary);
}

.sidebar-item.active {
  background: rgba(233, 69, 96, 0.1);
  color: var(--accent);
  border-left-color: var(--accent);
}

.sidebar-item .sidebar-icon {
  flex-shrink: 0;
  width: 20px;
  text-align: center;
  font-size: var(--font-size-md);
}

.sidebar-item .sidebar-label {
  flex: 1;
  overflow: hidden;
  text-overflow: ellipsis;
}

.sidebar-item .sidebar-count {
  color: var(--text-muted);
  font-size: var(--font-size-xs);
  flex-shrink: 0;
}

/* Collapsed: hide labels */
.sidebar.collapsed .sidebar-label,
.sidebar.collapsed .sidebar-count {
  display: none;
}

.sidebar.collapsed .sidebar-item {
  justify-content: center;
  padding-left: 0;
  padding-right: 0;
}

/* Header items (non-clickable) */
.sidebar-header {
  padding: var(--sp-3) var(--sp-3) var(--sp-1);
  color: var(--text-muted);
  font-size: var(--font-size-xs);
  letter-spacing: 1px;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
  cursor: default;
}

.sidebar.collapsed .sidebar-header {
  display: none;
}

/* Separator */
.sidebar-separator {
  height: 1px;
  background: var(--border);
  margin: var(--sp-2) var(--sp-3);
}

/* Grayed items (dept not created yet) */
.sidebar-item.grayed {
  color: var(--text-muted);
  opacity: 0.6;
}

.sidebar-item.grayed .sidebar-label::after {
  content: ' (criar)';
  font-size: var(--font-size-xs);
  color: var(--text-muted);
}

/* Create button */
.sidebar-item.create-btn {
  color: var(--success);
}

.sidebar-item.create-btn:hover {
  color: #00ff66;
  background: rgba(0, 204, 102, 0.1);
}

/* Logout button */
.sidebar-item.logout-btn {
  color: var(--error);
}

.sidebar-item.logout-btn:hover {
  color: #ff6666;
  background: rgba(255, 68, 68, 0.1);
}
