/* 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; } }