:host { display: block; background: #f8f9fa; border-right: 1px solid #e9ecef; min-height: 100vh; padding: 1rem; } .menu-header { margin-bottom: 2rem; padding-bottom: 1rem; border-bottom: 2px solid #3498db; h1 { color: #2c3e50; margin: 0; font-size: 1.5rem; font-weight: 700; } } .nav { display: flex; flex-direction: column; gap: 2rem; } .nav-section { h3 { color: #6c757d; font-size: 0.9rem; font-weight: 600; text-transform: uppercase; letter-spacing: 0.5px; margin-bottom: 0.75rem; padding-left: 0.5rem; border-left: 3px solid #3498db; } &.quick-tools { background: linear-gradient(135deg, #3498db, #2980b9); border-radius: 8px; padding: 1rem; margin-bottom: 1rem; h3 { color: white; border-left: 3px solid white; margin-bottom: 1rem; } .link.highlight { background: rgba(255, 255, 255, 0.1); color: white; font-weight: 600; border: 1px solid rgba(255, 255, 255, 0.2); margin-bottom: 0.5rem; &:hover { background: rgba(255, 255, 255, 0.2); transform: translateX(4px); border-color: rgba(255, 255, 255, 0.4); } &.router-link-active { background: rgba(255, 255, 255, 0.3); border-color: rgba(255, 255, 255, 0.5); } } } } .link, .link-button { display: block; padding: 0.75rem 1rem; color: #2c3e50; text-decoration: none; border-radius: 6px; transition: all 0.3s ease; margin-bottom: 0.25rem; font-weight: 500; border: none; background: none; width: 100%; text-align: left; cursor: pointer; font-size: 0.95rem; &:hover { background: #3498db; color: white; transform: translateX(4px); } &.router-link-active { background: #2980b9; color: white; font-weight: 600; } } .link-button { &:hover { background: #e74c3c; color: white; } } #what_categories { display: grid; grid-template-columns: 1fr; gap: 8px; } .category { background: #ffffff; border-radius: 10px; padding: 10px; border: 1px solid rgba(0,0,0,0.08); display: grid; grid-template-columns: 28px 1fr; gap: 10px; align-items: center; } .emoji { font-size: 20px; } .label { font-weight: 600; }