/* Premium Side Navigation Styles */

vaadin-side-nav {
    --vaadin-side-nav-item-active-background: var(--lumo-primary-color-10pct);
    --vaadin-side-nav-item-active-text-color: var(--lumo-primary-color);
}

vaadin-side-nav-item {
    font-weight: 500;
    border-radius: var(--lumo-border-radius-m);
    transition: all 0.2s cubic-bezier(0.4, 0, 0.2, 1);
    margin: 1px 0;
    /* Compact margin */
    color: var(--lumo-body-text-color);
    /* Darker text for readability */
}

vaadin-side-nav-item:hover {
    background-color: var(--lumo-contrast-5pct);
    transform: translateX(4px);
    color: var(--lumo-header-text-color);
    /* Darkest on hover */
}

vaadin-side-nav-item[selected] {
    background: linear-gradient(90deg, #334155 0%, #1e293b 100%) !important;
    box-shadow: 0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1);
}

vaadin-side-nav-item[selected] span,
vaadin-side-nav-item[selected] iron-icon {
    color: #ffffff !important;
    font-weight: 600;
}

vaadin-side-nav-item iron-icon {
    color: #475569;
    /* Slate-600 - Darker for better visibility */
    transition: color 0.2s ease;
}

vaadin-side-nav-item:hover iron-icon {
    color: #1e293b;
    /* Slate-800 */
}

/* Section Headers */
vaadin-side-nav>[slot="label"] {
    font-size: var(--lumo-font-size-xs);
    font-weight: 800;
    text-transform: uppercase;
    letter-spacing: 0.05em;
    color: var(--lumo-contrast-80pct);
    /* High contrast header */
    padding: var(--lumo-space-xs) var(--lumo-space-m);
    /* Compact padding */
    margin-top: var(--lumo-space-m);
    /* Reduced top margin */
    display: block;
}

vaadin-side-nav:first-child>[slot="label"] {
    margin-top: var(--lumo-space-xs);
}