170 lines
2.7 KiB
CSS
170 lines
2.7 KiB
CSS
/*
|
||
Sidebar styles for OnlyPrompt
|
||
- modern soft card look
|
||
- responsive: full sidebar on desktop, icon-only on smaller screens
|
||
- logout button appears directly after the last menu item with separator line
|
||
*/
|
||
|
||
.sidebar-shell {
|
||
width: 100%;
|
||
height: 100%;
|
||
background: #ffffff;
|
||
border-right: 1px solid #eef2f7;
|
||
padding: 24px 16px;
|
||
display: flex;
|
||
flex-direction: column;
|
||
}
|
||
|
||
/* Logo */
|
||
.sidebar-logo {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
min-height: 72px;
|
||
margin-bottom: 32px;
|
||
padding: 6px 8px;
|
||
}
|
||
|
||
.sidebar-logo-full {
|
||
max-width: 170px;
|
||
width: 100%;
|
||
height: auto;
|
||
display: block;
|
||
}
|
||
|
||
.sidebar-logo-icon {
|
||
width: 36px;
|
||
height: 36px;
|
||
display: none;
|
||
}
|
||
|
||
/* Navigation – normal block layout, no flex grow */
|
||
.sidebar {
|
||
/* No flex:1 – keeps navigation at its natural height */
|
||
}
|
||
|
||
.sidebar ul {
|
||
list-style: none;
|
||
margin: 0;
|
||
padding: 0;
|
||
}
|
||
|
||
.sidebar li {
|
||
margin-bottom: 8px;
|
||
}
|
||
|
||
.sidebar a {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 14px;
|
||
text-decoration: none;
|
||
color: #475569;
|
||
font-size: 1rem;
|
||
font-weight: 600;
|
||
padding: 12px 16px;
|
||
transition: background 0.2s ease, color 0.2s ease;
|
||
}
|
||
|
||
.sidebar a:hover {
|
||
background: #f1f5f9;
|
||
}
|
||
|
||
.sidebar i {
|
||
font-size: 1.3rem;
|
||
flex-shrink: 0;
|
||
}
|
||
|
||
.icon-blue {
|
||
color: #3b82f6 !important;
|
||
}
|
||
|
||
.icon-purple {
|
||
color: #8b5cf6 !important;
|
||
}
|
||
|
||
.icon-pink {
|
||
color: #ec4899 !important;
|
||
}
|
||
|
||
/* Active item */
|
||
.sidebar a.active {
|
||
background: #eef2ff;
|
||
color: #2563eb;
|
||
border-left: 3px solid #3b82f6;
|
||
}
|
||
|
||
/* Bottom logout area – directly after the menu, with separator line */
|
||
.sidebar-bottom {
|
||
margin-top: 16px; /* Small gap above the separator */
|
||
border-top: 1px solid #eef2f7;
|
||
padding-top: 16px;
|
||
}
|
||
|
||
.sidebar-logout {
|
||
display: flex;
|
||
align-items: center;
|
||
justify-content: space-between;
|
||
padding: 12px 16px;
|
||
text-decoration: none;
|
||
color: #64748b;
|
||
font-weight: 600;
|
||
transition: background 0.2s ease;
|
||
}
|
||
|
||
.sidebar-logout:hover {
|
||
background: #f1f5f9;
|
||
}
|
||
|
||
.logout-left {
|
||
display: flex;
|
||
align-items: center;
|
||
gap: 12px;
|
||
}
|
||
|
||
.sidebar-logout i {
|
||
font-size: 1.2rem;
|
||
}
|
||
|
||
.logout-arrow {
|
||
color: #cbd5e1;
|
||
}
|
||
|
||
/* Responsive: icon-only sidebar */
|
||
@media (max-width: 900px) {
|
||
.sidebar-shell {
|
||
padding-left: 12px;
|
||
padding-right: 12px;
|
||
}
|
||
|
||
.sidebar-logo-full {
|
||
display: none;
|
||
}
|
||
|
||
.sidebar-logo-icon {
|
||
display: block;
|
||
}
|
||
|
||
.sidebar .nav-text,
|
||
.sidebar-logout .nav-text,
|
||
.logout-arrow {
|
||
display: none;
|
||
}
|
||
|
||
.sidebar a,
|
||
.sidebar-logout {
|
||
justify-content: center;
|
||
padding: 12px;
|
||
}
|
||
|
||
.sidebar a.active {
|
||
border-left: none;
|
||
border-right: 3px solid #3b82f6;
|
||
}
|
||
}
|
||
|
||
@media (max-width: 700px) {
|
||
.sidebar a,
|
||
.sidebar-logout {
|
||
padding: 10px;
|
||
}
|
||
} |