@import "bootstrap/scss/functions"; @import "variables"; @import "bootstrap/scss/bootstrap"; // ========================================= // Custom Styling untuk Navbar dan Sidebar // ========================================= body { background-color: map-get($grays, "light"); } .sidebar { width: 240px; position: fixed; top: 0; bottom: 0; z-index: 1050; transition: all 0.3s ease; } .main-wrapper { transition: margin-left 0.3s ease; } .overlay { position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 1049; display: none; } .overlay.active { display: block; } @media (min-width: 992px) { .sidebar { left: 0; } .main-wrapper { margin-left: 250px; } .sidebar.minimized { width: 70px; } .sidebar.minimized .nav-text, .sidebar.minimized .sidebar-title { display: none; } .sidebar.minimized .nav-link { justify-content: center; } .main-wrapper.sidebar-minimized { margin-left: 80px; } } @media (max-width: 991.98px) { .sidebar { left: -250px; } .sidebar.active { left: 0; } } .sidebar .nav-link { font-weight: 500; color: #555; margin: 0.3rem 0; border-radius: 0.5rem; display: flex; align-items: center; } .sidebar .nav-link.active { background: rgba(67, 94, 190, 0.1); color: #435ebe; font-weight: 600; } .sidebar .nav-link:hover:not(.active) { background: #f8f9fa; } .sidebar.minimized .nav-link .ms-auto { display: none; } // =================================== // NAVBAR & NOTIFICATIONS // =================================== nav { border-bottom-left-radius: 5px; border-bottom-right-radius: 5px; } .navbar { border-bottom: none; } .navbar-brand { color: var(--bs-dark-text-emphasis) !important; } .navbar .nav-link, .navbar .btn-light { display: flex; align-items: center; justify-content: center; width: 40px; height: 40px; border-radius: 50%; background-color: transparent; border: none; transition: background-color 0.2s ease-in-out; &:hover, &:focus { background-color: var(--bs-light-bg-subtle); } } .profile-avatar { width: 38px; height: 38px; border-radius: 50%; object-fit: cover; cursor: pointer; } .dropdown-item { display: flex; align-items: center; gap: 0.75rem; padding: 0.5rem 1rem; } .dropdown-item i { width: 1.25em; } .notification-dropdown .dropdown-menu { width: 390px; border-radius: 0.75rem; padding: 0.5rem !important; box-shadow: 0 0.5rem 1.5rem rgba(0, 0, 0, 0.12); } .notification-wrapper { max-height: 450px; } .notification-item { display: flex; align-items: center; gap: 0.8rem; padding: 0.8rem 1rem; transition: background-color 0.2s ease; text-decoration: none !important; } .notification-item:hover { background-color: var(--bs-tertiary-bg); } .notification-item.unread { background-color: rgba(var(--bs-primary-rgb), 0.1); } .notification-icon { width: 42px; height: 42px; flex-shrink: 0; display: flex; align-items: center; justify-content: center; border-radius: 50%; } .notification-icon i { text-align: center; font-size: 1.25rem; } .notification-content p { margin-bottom: 0.1rem; font-weight: 600; color: var(--bs-body-color); font-size: 0.925rem; line-height: 1.4; } .notification-content small { color: var(--bs-secondary-color); font-size: 0.8rem; } .unread-dot { width: 8px; height: 8px; border-radius: 50%; background-color: var(--bs-primary); margin-left: auto; }