/* NavRail */
.rail {
  width: var(--nav-rail-width);
  height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--space-2);
  padding: var(--space-4) 0;
  background: var(--color-base-surface);
  border-right: var(--glass-border);
  z-index: var(--z-nav);
  flex-shrink: 0;
}
.brand { padding: var(--space-2) 0 var(--space-4); }
.pillars { display: flex; flex-direction: column; gap: var(--space-1); flex: 1; width: 100%; align-items: center; }
.pillarLink {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
  width: 44px;
  padding: var(--space-2) 0;
  color: var(--color-text-tertiary);
  text-decoration: none;
  border-radius: var(--radius-lg);
  transition: color var(--duration-fast) var(--ease-standard);
}
.pillarLink:hover { color: var(--color-text-secondary); background: var(--glass-bg); }
.active { color: var(--color-violet-light) !important; }
.activePill {
  position: absolute;
  inset: 0;
  background: rgba(124, 58, 237, 0.15);
  border-radius: var(--radius-lg);
  border: 1px solid rgba(124, 58, 237, 0.25);
}
.iconWrap { position: relative; z-index: 1; }
.labelWrap { display: flex; flex-direction: column; align-items: center; z-index: 1; }
.label { font-size: 9px; font-weight: var(--font-semibold); letter-spacing: 0.04em; }
.sublabel { font-size: 7px; opacity: 0.6; display: none; }
.bottom { display: flex; flex-direction: column; align-items: center; gap: var(--space-3); padding-bottom: var(--space-2); }
.adminLink {
  width: 36px; height: 36px;
  display: flex; align-items: center; justify-content: center;
  border-radius: var(--radius-md);
  color: var(--color-text-tertiary);
  background: transparent;
  border: none; cursor: pointer;
  transition: all var(--duration-fast) var(--ease-standard);
}
.adminLink:hover { color: var(--color-text-secondary); background: var(--glass-bg); }
.avatarBtn {
  width: 32px; height: 32px;
  border-radius: var(--radius-full);
  background: var(--color-violet-glow);
  border: 2px solid var(--color-violet);
  cursor: pointer;
  display: flex; align-items: center; justify-content: center;
  color: var(--color-text-primary);
  font-size: var(--text-sm);
  font-weight: var(--font-bold);
  overflow: hidden;
}
.avatarBtn img { width: 100%; height: 100%; object-fit: cover; }
