    /* Buttons Component */
/* Button Component - Modern & Clean */
@layer components.buttons {
    /* Base button styles */
    .btn {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        gap: var(--space-2);
        padding: var(--space-2) var(--space-4);
        border-radius: var(--radius-md);
        font-family: var(--font-sans);
        font-size: var(--text-sm);
        font-weight: 600;
        line-height: var(--leading-5);
        transition: all var(--transition-fast);
        cursor: pointer;
        border: 1px solid transparent;
        position: relative;
        white-space: nowrap;
        text-decoration: none;
        
        &:focus-visible {
            outline: none;
            box-shadow: 0 0 0 2px var(--bg-primary),
                        0 0 0 4px var(--primary-color);
        }
        
        &:disabled {
            opacity: 0.5;
            cursor: not-allowed;
            pointer-events: none;
        }
    }
    
    /* Primary button */
    .btn-primary,
    .login-btn {
        background: var(--primary-color);
        color: white;
        border-color: var(--primary-color);
        
        &:hover:not(:disabled) {
            background: var(--primary-hover);
            border-color: var(--primary-hover);
            transform: translateY(-1px);
            box-shadow: var(--shadow-md);
        }
        
        &:active:not(:disabled) {
            transform: translateY(0);
            box-shadow: var(--shadow-sm);
        }
    }
    
    /* Secondary button */
    .btn-secondary {
        background: var(--bg-secondary);
        color: var(--text-primary);
        border-color: var(--border-default);
        
        &:hover:not(:disabled) {
            background: var(--bg-tertiary);
            border-color: var(--border-strong);
        }
        
        &:active:not(:disabled) {
            background: var(--gray-200);
        }
    }
    
    /* Ghost button */
    .btn-ghost {
        background: transparent;
        color: var(--text-secondary);
        border-color: transparent;
        
        &:hover:not(:disabled) {
            background: var(--gray-100);
            color: var(--text-primary);
        }
        
        &:active:not(:disabled) {
            background: var(--gray-200);
        }
    }
    
    /* Danger button */
    .btn-danger {
        background: var(--danger);
        color: white;
        border-color: var(--danger);
        
        &:hover:not(:disabled) {
            background: light-dark(
                oklch(54% 0.20 25),
                oklch(68% 0.14 25)
            );
            border-color: light-dark(
                oklch(54% 0.20 25),
                oklch(68% 0.14 25)
            );
            transform: translateY(-1px);
            box-shadow: var(--shadow-md);
        }
        
        &:active:not(:disabled) {
            transform: translateY(0);
            box-shadow: var(--shadow-sm);
        }
    }
    
    /* Size variants */
    .btn-sm {
        padding: var(--space-1-5) var(--space-3);
        font-size: var(--text-xs);
    }
    
    .btn-lg {
        padding: var(--space-3) var(--space-5);
        font-size: var(--text-base);
    }
    
    /* Icon button */
    .btn-icon {
        inline-size: var(--space-9);
        block-size: var(--space-9);
        padding: 0;
    }
    
    .btn-icon.btn-sm {
        inline-size: var(--space-8);
        block-size: var(--space-8);
    }
    
    .btn-icon.btn-lg {
        inline-size: var(--space-10);
        block-size: var(--space-10);
    }
    
    /* Login button specific */
    .login-btn {
        margin-inline-start: var(--space-3);
        padding: var(--space-2) var(--space-4);
        font-size: var(--text-sm);
        font-weight: var(--font-medium);
        border-radius: var(--radius-md);
        transition: all var(--transition-fast);
    }
    
    /* Toggle switch */
    .toggle-switch {
        display: inline-flex;
        align-items: center;
        gap: var(--space-2);
        cursor: pointer;
        user-select: none;
        
        & input[type="checkbox"] {
            position: absolute;
            opacity: 0;
            pointer-events: none;
        }
        
        & .toggle-slider {
            position: relative;
            inline-size: var(--space-10);
            block-size: var(--space-6);
            background: var(--gray-200);
            border: 1px solid var(--border-default);
            border-radius: var(--radius-full);
            transition: all var(--transition-base);
            
            &::after {
                content: '';
                position: absolute;
                inset-block: 50%;
                transform: translateY(-50%);
                inset-inline-start: 0.1875rem;
                inline-size: 1.125rem;
                block-size: 1.125rem;
                background: white;
                border-radius: var(--radius-full);
                box-shadow: 0 1px 3px 0 rgb(0 0 0 / 0.1), 0 1px 2px -1px rgb(0 0 0 / 0.1);
                transition: all var(--transition-base);
            }
        }
        
        & input:checked + .toggle-slider {
            background: var(--primary-color);
            border-color: var(--primary-color);
            
            &::after {
                /* Use logical positioning instead of transform */
                inset-inline-start: calc(100% - 1.125rem - 0.1875rem);
            }
        }
        
        & input:focus-visible + .toggle-slider {
            box-shadow: 0 0 0 2px var(--bg-primary),
                        0 0 0 4px var(--primary-color);
        }
        
        & .toggle-label {
            font-size: var(--text-sm);
            font-weight: var(--font-medium);
            color: var(--text-primary);
        }
        
        &:hover .toggle-slider:not(:has(+ input:checked)) {
            background: var(--gray-300);
            border-color: var(--border-strong);
        }
        
        &:hover input:checked + .toggle-slider {
            background: var(--primary-hover);
            border-color: var(--primary-hover);
        }
    }
}