| .sidePane {
|
| position: fixed;
|
| left: 0;
|
| top: 0;
|
| height: 100vh;
|
| background: linear-gradient(180deg, #ffffff 0%, #f8f9fa 100%);
|
| box-shadow: 0 0 20px rgba(0, 0, 0, 0.08);
|
| z-index: 1000;
|
| display: flex;
|
| flex-direction: column;
|
| border-right: 1px solid rgba(0, 0, 0, 0.05);
|
| transition: width 0.3s cubic-bezier(0.4, 0, 0.2, 1);
|
| }
|
|
|
| .expanded {
|
| width: 260px;
|
| }
|
|
|
| .collapsed {
|
| width: 70px;
|
| }
|
|
|
| .toggleButton {
|
| position: absolute;
|
| right: -12px;
|
| top: 20px;
|
| width: 28px;
|
| height: 28px;
|
| background: #fff;
|
| border: 1px solid #e0e0e0;
|
| border-radius: 50%;
|
| cursor: pointer;
|
| display: flex;
|
| align-items: center;
|
| justify-content: center;
|
| box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
|
| z-index: 1001;
|
| transition: background 0.2s, transform 0.2s;
|
| }
|
|
|
| .toggleButton:hover {
|
| background: #f0f4fa;
|
| transform: scale(1.08);
|
| }
|
|
|
| .menuItems {
|
| padding: 24px 0 0 0;
|
| flex-grow: 1;
|
| overflow-y: auto;
|
| display: flex;
|
| flex-direction: column;
|
| gap: 4px;
|
| }
|
|
|
| .menuItem {
|
| display: flex;
|
| align-items: center;
|
| padding: 12px 20px;
|
| color: #2c3e50;
|
| text-decoration: none;
|
| border-radius: 0 12px 12px 0;
|
| margin-right: 12px;
|
| transition: background 0.2s, color 0.2s;
|
| font-size: 1rem;
|
| font-weight: 500;
|
| }
|
|
|
| .menuItem:hover {
|
| background: #f0f4fa;
|
| color: #007bff;
|
| }
|
|
|
| .menuItem.active {
|
| background: #eaf4ff;
|
| color: #007bff;
|
| border-left: 3px solid #007bff;
|
| }
|
|
|
| .icon {
|
| width: 24px;
|
| height: 24px;
|
| display: flex;
|
| align-items: center;
|
| justify-content: center;
|
| margin-right: 16px;
|
| }
|
|
|
| .label {
|
| white-space: nowrap;
|
| overflow: hidden;
|
| font-weight: 500;
|
| font-size: 1rem;
|
| }
|
|
|
| .collapsed .label {
|
| display: none;
|
| }
|
|
|
| .logoutButton {
|
| margin-top: auto;
|
| padding: 20px 16px;
|
| border-top: 1px solid #f0f0f0;
|
| background: #fff;
|
| }
|
|
|
| .logoutButton button {
|
| width: 100%;
|
| padding: 12px;
|
| background: #dc3545;
|
| color: white;
|
| border: none;
|
| border-radius: 8px;
|
| cursor: pointer;
|
| font-weight: 500;
|
| box-shadow: 0 2px 8px rgba(220, 53, 69, 0.12);
|
| transition: background 0.2s, transform 0.2s;
|
| }
|
|
|
| .logoutButton button:hover {
|
| background: #c82333;
|
| transform: translateY(-1px);
|
| }
|
|
|
| .logoutButton.collapsed button {
|
| padding: 12px;
|
| }
|
|
|
| .logoutButton.collapsed span {
|
| display: none;
|
| }
|
|
|
| @media (max-width: 600px) {
|
| .sidePane {
|
| width: 100vw !important;
|
| min-width: 0;
|
| max-width: 100vw;
|
| border-radius: 0;
|
| left: 0;
|
| top: 0;
|
| height: 60px;
|
| flex-direction: row;
|
| align-items: center;
|
| border-right: none;
|
| border-bottom: 1px solid #e0e0e0;
|
| }
|
| .expanded, .collapsed {
|
| width: 100vw !important;
|
| }
|
| .menuItems {
|
| flex-direction: row;
|
| padding: 0 8px;
|
| gap: 0;
|
| }
|
| .logoutButton {
|
| padding: 8px;
|
| border-top: none;
|
| border-left: 1px solid #e0e0e0;
|
| margin-top: 0;
|
| }
|
| } |