.navbar-toggler { appearance: none; cursor: pointer; width: 3.5rem; height: 2.5rem; color: turquoise; position: absolute; top: 0.5rem; right: 1rem; border: 1px solid rgba(255, 255, 255, 0.1); background: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.55%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e") no-repeat center/1.75rem rgba(255, 255, 255, 0.1); } .navbar-toggler:checked { background-color: rgba(255, 255, 255, 0.5); } .top-row { min-height: 3.5rem; background-color: rgba(0,0,0,0.1); border-radius: 15px 15px 0 0; box-shadow: 0 2px 4px rgba(0,0,0,0.1); } .navbar-brand { font-size: 1.1rem; } .mdi { display: inline-block; position: relative; font-size: 26px; background-size: cover; } .nav-item { font-size: 1.05rem; padding-bottom: 0.5rem; } .nav-item:first-of-type { padding-top: 0.5rem; } .nav-item:last-of-type { padding-bottom: 1rem; } .nav-item ::deep .nav-link { color: #4a5568; background: none; border: none; border-radius: 4px; height: 3rem; display: flex; align-items: center; line-height: 3rem; width: 100%; transition: all 0.2s ease; } .nav-item ::deep a.active { background-color: rgba(79, 70, 229, 0.2); color: #4338ca; } .nav-item ::deep .nav-link:hover { background-color: rgba(79, 70, 229, 0.1); color: #4338ca; } .text-nav { margin-left: 1rem; } .nav-scrollable { display: none; display: flex; flex-direction: column; height: calc(100% - 3.5rem); background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); } .navbar-toggler:checked ~ .nav-scrollable { display: block; } .user-profile { margin-top: auto; padding: 1rem; border-top: 1px solid rgba(0, 0, 0, 0.1); background-color: #e8f0fe; border-radius: 0 0 15px 15px; } .user-profile-inner { display: flex; align-items: center; padding: 0.5rem; position: relative; } .avatar { width: 40px; height: 40px; min-width: 40px; min-height: 40px; max-width: 40px; max-height: 40px; border-radius: 50%; overflow: hidden; margin-right: 0.75rem; background-color: rgba(79, 70, 229, 0.1); display: flex; align-items: center; justify-content: center; box-shadow: 0 2px 4px rgba(0,0,0,0.1); flex-shrink: 0; } .avatar-placeholder { width: 100%; height: 100%; display: flex; align-items: center; justify-content: center; color: #4a5568; } .avatar-image { width: 100%; height: 100%; object-fit: cover; object-position: center; } .user-info { display: flex; flex-direction: column; justify-content: center; flex: 1; min-width: 0; } .username { color: #4a5568; font-weight: 500; font-size: 0.9rem; line-height: 1.2; } .user-email { color: #718096; font-size: 0.75rem; line-height: 1.2; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 150px; } .logout-form { margin-left: auto; } .logout-button { background: none; border: none; color: #718096; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; cursor: pointer; transition: all 0.2s ease; } .logout-button:hover { background-color: rgba(79, 70, 229, 0.1); color: #4338ca; } @media (min-width: 641px) { .navbar-toggler { display: none; } .nav-scrollable { /* Never collapse the sidebar for wide screens */ display: flex; flex-direction: column; /* Allow sidebar to scroll for tall menus */ height: calc(100% - 3.5rem); overflow-y: auto; border-radius: 0 0 15px 15px; background: #e8f0fe; } }