|
|
|
.sidebar { |
|
width: 250px; |
|
background: white; |
|
border-right: 1px solid var(--color-secondary-200); |
|
height: calc(100vh - 4rem); |
|
position: fixed; |
|
top: 4rem; |
|
left: 0; |
|
overflow-y: auto; |
|
transition: all var(--transition-slow); |
|
z-index: var(--z-60); |
|
} |
|
|
|
|
|
.sidebar.collapsed { |
|
width: 104px !important; |
|
} |
|
|
|
|
|
@media (max-width: 1023px) { |
|
.sidebar { |
|
transform: translateX(-100%); |
|
} |
|
|
|
.sidebar.active { |
|
transform: translateX(0); |
|
} |
|
} |
|
|
|
.sidebar-nav { |
|
padding: var(--spacing-4) 0; |
|
} |
|
|
|
.sidebar-item { |
|
display: flex; |
|
align-items: center; |
|
padding: var(--spacing-3) var(--spacing-4); |
|
color: var(--color-secondary-600); |
|
text-decoration: none; |
|
transition: all var(--transition-normal); |
|
position: relative; |
|
} |
|
|
|
.sidebar-item:hover { |
|
background: var(--color-accent-50); |
|
color: var(--color-secondary-900); |
|
} |
|
|
|
.sidebar-item.active { |
|
background: var(--color-primary-50); |
|
color: var(--color-primary-700); |
|
} |
|
|
|
.sidebar-item.active::before { |
|
content: ''; |
|
position: absolute; |
|
left: 0; |
|
top: 0; |
|
bottom: 0; |
|
width: 3px; |
|
background: var(--color-primary-600); |
|
} |
|
|
|
.sidebar-icon { |
|
width: 20px; |
|
height: 20px; |
|
margin-right: var(--spacing-3); |
|
flex-shrink: 0; |
|
} |
|
|
|
.sidebar-text { |
|
white-space: nowrap; |
|
overflow: hidden; |
|
text-overflow: ellipsis; |
|
} |
|
|
|
.sidebar.collapsed .sidebar-text { |
|
display: none; |
|
} |
|
|
|
|
|
.sidebar.collapsed .nav-item:hover .nav-label { |
|
display: block; |
|
position: absolute; |
|
left: 100%; |
|
top: 50%; |
|
transform: translateY(-50%); |
|
background: white; |
|
padding: 8px 12px; |
|
border-radius: 6px; |
|
box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1), 0 2px 4px -1px rgba(0, 0, 0, 0.06); |
|
white-space: nowrap; |
|
z-index: 100; |
|
margin-left: 8px; |
|
font-size: 14px; |
|
font-weight: 500; |
|
color: #1f2937; |
|
border: 1px solid #e5e7eb; |
|
} |
|
|
|
|
|
.sidebar .nav-item { |
|
position: relative; |
|
} |
|
|
|
@media (max-width: 1023px) { |
|
.sidebar { |
|
position: fixed; |
|
top: 4rem; |
|
left: 0; |
|
height: calc(100vh - 4rem); |
|
transform: translateX(-100%); |
|
z-index: var(--z-50); |
|
} |
|
|
|
.sidebar.active { |
|
transform: translateX(0); |
|
} |
|
|
|
.sidebar-overlay { |
|
position: fixed; |
|
top: 0; |
|
left: 0; |
|
width: 100%; |
|
height: 100vh; |
|
background: rgba(0, 0, 0, 0.5); |
|
z-index: var(--z-20); |
|
display: none; |
|
} |
|
|
|
.sidebar-overlay.active { |
|
display: block; |
|
} |
|
} |
|
|
|
@media (max-width: 767px) { |
|
.sidebar { |
|
width: 100%; |
|
max-width: 300px; |
|
} |
|
} |